From cbb030f19f4d2650dd5c00dbf480e2b6f5e17a6f Mon Sep 17 00:00:00 2001 From: "sam.xiang" Date: Thu, 23 Feb 2023 11:39:27 +0800 Subject: [PATCH] [freertos] add freertos firmware Change-Id: I4158d66d9b5fc444e28287f55e79ac24e0a1666f --- freertos/cvitek/build_cv180x.sh | 24 + freertos/cvitek/build_cv181x.sh | 24 + freertos/cvitek/install/bin/cvirtos.bin | Bin 0 -> 78304 bytes freertos/cvitek/install/bin/cvirtos.dis | 28685 ++++++++++++++++ freertos/cvitek/install/bin/cvirtos.elf | Bin 0 -> 767560 bytes freertos/cvitek/install/bin/cvirtos.map | 3510 ++ .../cvitek/install/include/arch/arch_cpu.h | 14 + .../install/include/arch/arch_helpers.h | 12 + .../cvitek/install/include/arch/arch_sleep.h | 7 + .../cvitek/install/include/arch/arch_time.h | 12 + .../cvitek/install/include/arch/core_rv64.h | 1068 + .../cvitek/install/include/arch/csi_core.h | 54 + .../install/include/arch/csi_rv64_gcc.h | 2819 ++ freertos/cvitek/install/include/arch/csr.h | 83 + freertos/cvitek/install/include/arch/io.h | 47 + freertos/cvitek/install/include/arch/irq.h | 47 + freertos/cvitek/install/include/arch/ptrace.h | 106 + .../cvitek/install/include/arch/riscv-reg.h | 43 + .../cvitek/install/include/arch/riscv-virt.h | 60 + .../cvitek/install/include/common/cif_uapi.h | 399 + .../cvitek/install/include/common/cvi_ae.h | 100 + .../install/include/common/cvi_ae_comm.h | 152 + .../cvitek/install/include/common/cvi_af.h | 31 + .../install/include/common/cvi_af_comm.h | 29 + .../cvitek/install/include/common/cvi_awb.h | 54 + .../install/include/common/cvi_awb_comm.h | 80 + .../install/include/common/cvi_comm_3a.h | 481 + .../install/include/common/cvi_comm_inc.h | 47 + .../install/include/common/cvi_comm_isp.h | 2655 ++ .../install/include/common/cvi_comm_sns.h | 96 + .../install/include/common/cvi_comm_sys.h | 94 + .../install/include/common/cvi_comm_vi.h | 830 + .../install/include/common/cvi_comm_video.h | 535 + .../install/include/common/cvi_common.h | 93 + .../cvitek/install/include/common/cvi_debug.h | 143 + .../install/include/common/cvi_defines.h | 355 + .../cvitek/install/include/common/cvi_errno.h | 281 + .../cvitek/install/include/common/cvi_isp.h | 324 + .../cvitek/install/include/common/cvi_list.h | 344 + .../install/include/common/cvi_mailbox.h | 85 + .../cvitek/install/include/common/cvi_math.h | 329 + .../cvitek/install/include/common/cvi_mipi.h | 29 + .../install/include/common/cvi_sns_ctrl.h | 204 + .../cvitek/install/include/common/cvi_type.h | 89 + .../cvitek/install/include/common/delay.h | 26 + freertos/cvitek/install/include/common/fifo.h | 63 + .../cvitek/install/include/common/malloc.h | 47 + freertos/cvitek/install/include/common/mmio.h | 150 + .../cvitek/install/include/common/printf.h | 14 + .../install/include/common/reg_vip_sys.h | 1221 + .../install/include/common/sample_comm.h | 984 + .../cvitek/install/include/common/sleep.h | 7 + .../cvitek/install/include/common/types.h | 43 + .../cvitek/install/include/common/vi_isp.h | 226 + .../cvitek/install/include/common/vi_snsr.h | 151 + .../cvitek/install/include/common/vi_uapi.h | 103 + .../cvitek/install/include/common/vip_sys.h | 60 + .../cvitek/install/include/driver/cif/cif.h | 133 + .../install/include/driver/cif/irqreturn.h | 19 + .../include/driver/fast_image/fast_image.h | 155 + .../cvitek/install/include/driver/gpio/gpio.h | 19 + .../cvitek/install/include/driver/jenc/jenc.h | 23 + .../install/include/driver/pinmux/pinmux.h | 6 + .../install/include/driver/rgn/cmpr_canvas.h | 177 + .../include/driver/rgn/cvi_comm_osdc.h | 91 + .../install/include/driver/rgn/cvi_osdc.h | 56 + .../install/include/driver/rgn/osd_cmpr.h | 153 + .../include/driver/rtos_cmdqu/rtos_cmdqu.h | 90 + .../include/driver/sensor/gain_table.h | 6 + .../install/include/driver/sensor/sensor.h | 180 + .../include/driver/spinlock/cvi_spinlock.h | 44 + .../install/include/driver/uart/dump_uart.h | 23 + .../cvitek/install/include/driver/uart/uart.h | 14 + .../cvitek/install/include/driver/vi/cvi_vi.h | 29 + .../install/include/driver/vi/cvi_vi_ctx.h | 36 + .../install/include/driver/vi/isp_reg.h | 304 + .../cvitek/install/include/driver/vi/vi.h | 134 + .../install/include/driver/vi/vi_common.h | 117 + .../install/include/driver/vi/vi_core.h | 26 + .../install/include/driver/vi/vi_defines.h | 43 + .../cvitek/install/include/driver/vi/vi_drv.h | 659 + .../install/include/driver/vi/vi_inter_cmdq.h | 28 + .../install/include/driver/vi/vi_interfaces.h | 21 + .../install/include/driver/vi/vi_reg_blocks.h | 2146 ++ .../install/include/driver/vi/vi_reg_fields.h | 15304 +++++++++ .../install/include/driver/vi/vi_snsr.h | 164 + .../install/include/driver/vi/vi_tun_cfg.h | 1467 + .../cvitek/install/include/hal/cif/cif_drv.h | 531 + .../cvitek/install/include/hal/cif/cif_reg.h | 51 + .../include/hal/cif/reg_blocks_csi_mac.h | 174 + .../include/hal/cif/reg_blocks_csi_wrap.h | 222 + .../include/hal/cif/reg_fields_csi_mac.h | 1311 + .../include/hal/cif/reg_fields_csi_wrap.h | 1686 + .../hal/config/cv180x_pinlist_swconfig.h | 407 + .../include/hal/config/cv180x_pinmux.h | 51 + .../include/hal/config/cv180x_reg_fmux_gpio.h | 337 + .../install/include/hal/config/intr_conf.h | 140 + .../install/include/hal/config/memmap.h | 33 + .../install/include/hal/config/pinctrl.h | 34 + .../cvitek/install/include/hal/config/reg.h | 9 + .../install/include/hal/config/top_reg.h | 77 + .../install/include/hal/pinmux/hal_pinmux.h | 6 + .../install/include/hal/snsr_i2c/cvi_i2c.h | 148 + .../install/include/hal/uart/hal_uart_dw.h | 77 + .../cvitek/install/include/kernel/FreeRTOS.h | 1365 + .../install/include/kernel/FreeRTOSConfig.h | 148 + .../install/include/kernel/StackMacros.h | 34 + .../cvitek/install/include/kernel/atomic.h | 419 + .../include/kernel/aws_secure_sockets.tzext.h | 136 + .../install/include/kernel/aws_wifi.tzext.h | 135 + .../cvitek/install/include/kernel/croutine.h | 753 + .../include/kernel/deprecated_definitions.h | 281 + .../install/include/kernel/event_groups.h | 777 + ...freertos_risc_v_chip_specific_extensions.h | 148 + freertos/cvitek/install/include/kernel/list.h | 499 + .../install/include/kernel/message_buffer.h | 823 + .../install/include/kernel/mpu_prototypes.h | 260 + .../install/include/kernel/mpu_wrappers.h | 217 + .../cvitek/install/include/kernel/portable.h | 223 + .../cvitek/install/include/kernel/portmacro.h | 191 + .../cvitek/install/include/kernel/projdefs.h | 122 + .../cvitek/install/include/kernel/queue.h | 1722 + .../cvitek/install/include/kernel/semphr.h | 1189 + .../install/include/kernel/stack_macros.h | 137 + .../install/include/kernel/stream_buffer.h | 869 + freertos/cvitek/install/include/kernel/task.h | 3112 ++ .../cvitek/install/include/kernel/timers.h | 1355 + .../cvitek/install/include/kernel/trcAssert.h | 143 + .../cvitek/install/include/kernel/trcConfig.h | 320 + .../install/include/kernel/trcCounter.h | 210 + .../install/include/kernel/trcDefines.h | 183 + .../install/include/kernel/trcDiagnostics.h | 145 + .../install/include/kernel/trcEntryTable.h | 270 + .../cvitek/install/include/kernel/trcError.h | 99 + .../cvitek/install/include/kernel/trcEvent.h | 615 + .../install/include/kernel/trcEventBuffer.h | 132 + .../install/include/kernel/trcExtension.h | 95 + .../install/include/kernel/trcHardwarePort.h | 715 + .../cvitek/install/include/kernel/trcHeap.h | 172 + .../cvitek/install/include/kernel/trcISR.h | 226 + .../include/kernel/trcInternalEventBuffer.h | 107 + .../install/include/kernel/trcInterval.h | 130 + .../install/include/kernel/trcKernelPort.h | 2985 ++ .../include/kernel/trcKernelPortConfig.h | 116 + .../kernel/trcKernelPortSnapshotConfig.h | 69 + .../kernel/trcKernelPortStreamingConfig.h | 24 + .../include/kernel/trcMultiCoreEventBuffer.h | 143 + .../cvitek/install/include/kernel/trcObject.h | 202 + .../cvitek/install/include/kernel/trcPrint.h | 207 + .../install/include/kernel/trcRecorder.h | 1970 ++ .../include/kernel/trcSnapshotConfig.h | 245 + .../install/include/kernel/trcStackMonitor.h | 135 + .../install/include/kernel/trcStateMachine.h | 95 + .../install/include/kernel/trcStaticBuffer.h | 112 + .../include/kernel/trcStreamingConfig.h | 51 + .../cvitek/install/include/kernel/trcString.h | 76 + .../cvitek/install/include/kernel/trcTask.h | 243 + .../install/include/kernel/trcTimestamp.h | 253 + .../cvitek/install/include/kernel/trcTypes.h | 73 + .../install/include/kernel/trcUtility.h | 51 + freertos/cvitek/install/lib/libarch.a | Bin 0 -> 66432 bytes freertos/cvitek/install/lib/libaudio.a | Bin 0 -> 3191742 bytes freertos/cvitek/install/lib/libcomm.a | Bin 0 -> 78676 bytes freertos/cvitek/install/lib/libcommon.a | Bin 0 -> 141162 bytes freertos/cvitek/install/lib/libdriver.a | Bin 0 -> 8329108 bytes freertos/cvitek/install/lib/libhal.a | Bin 0 -> 1324766 bytes freertos/cvitek/install/lib/libkernel.a | Bin 0 -> 1300740 bytes freertos/cvitek/install/lib/librgn.a | Bin 0 -> 59688 bytes .../cvitek/scripts/ParseConfiguration.cmake | 29 + freertos/cvitek/scripts/checkpatch.pl | 6285 ++++ .../cvitek/scripts/const_structs.checkpatch | 64 + freertos/cvitek/scripts/cv180x_lscript.ld | 204 + freertos/cvitek/scripts/cv181x_lscript.ld | 204 + freertos/cvitek/scripts/cv1835_lscript.ld | 320 + freertos/cvitek/scripts/spelling.txt | 1072 + .../scripts/toolchain-aarch64-elf.cmake | 52 + .../scripts/toolchain-riscv64-elf.cmake | 59 + freertos/cvitek/task/CMakeLists.txt | 63 + freertos/cvitek/task/audio/CMakeLists.txt | 26 + .../cvitek/task/audio/include/cvi_comm_aio.h | 581 + .../cvitek/task/audio/include/cvi_common.h | 281 + .../cvitek/task/audio/include/cvi_defines.h | 350 + freertos/cvitek/task/audio/include/cvi_type.h | 69 + .../audio/include/cviaudio_algo_interface.h | 16 + .../task/audio/include/cviaudio_rtos_align.h | 91 + .../task/audio/include/cviaudio_rtos_cmd.h | 177 + .../audio/src/SSP_Algorithm_20220128/abs.c | 17 + .../audio/src/SSP_Algorithm_20220128/abs.h | 17 + .../audio/src/SSP_Algorithm_20220128/abs.o | Bin 0 -> 4776 bytes .../audio/src/SSP_Algorithm_20220128/agc.c | 183 + .../audio/src/SSP_Algorithm_20220128/agc.h | 18 + .../audio/src/SSP_Algorithm_20220128/agc.o | Bin 0 -> 9608 bytes .../src/SSP_Algorithm_20220128/agc_init.c | 110 + .../src/SSP_Algorithm_20220128/agc_init.h | 19 + .../src/SSP_Algorithm_20220128/agc_init.o | Bin 0 -> 10236 bytes .../src/SSP_Algorithm_20220128/agc_subfun.c | 68 + .../src/SSP_Algorithm_20220128/agc_subfun.h | 18 + .../src/SSP_Algorithm_20220128/agc_subfun.o | Bin 0 -> 6568 bytes .../audio/src/SSP_Algorithm_20220128/bessel.c | 98 + .../audio/src/SSP_Algorithm_20220128/bessel.h | 17 + .../audio/src/SSP_Algorithm_20220128/bessel.o | Bin 0 -> 9452 bytes .../cvi_ssp_interface.c | 732 + .../cvi_ssp_interface.h | 17 + .../cvi_ssp_interface.o | Bin 0 -> 54448 bytes .../cviaudio_algo_interface.c | 353 + .../cviaudio_algo_interface.o | Bin 0 -> 20344 bytes .../src/SSP_Algorithm_20220128/db2linear.c | 46 + .../src/SSP_Algorithm_20220128/db2linear.h | 15 + .../src/SSP_Algorithm_20220128/db2linear.o | Bin 0 -> 5292 bytes .../audio/src/SSP_Algorithm_20220128/dc.c | 52 + .../audio/src/SSP_Algorithm_20220128/dc.h | 15 + .../audio/src/SSP_Algorithm_20220128/dc.o | Bin 0 -> 5684 bytes .../audio/src/SSP_Algorithm_20220128/define.h | 79 + .../audio/src/SSP_Algorithm_20220128/delay.c | 86 + .../audio/src/SSP_Algorithm_20220128/delay.h | 17 + .../audio/src/SSP_Algorithm_20220128/delay.o | Bin 0 -> 10368 bytes .../audio/src/SSP_Algorithm_20220128/dg.c | 73 + .../audio/src/SSP_Algorithm_20220128/dg.h | 20 + .../audio/src/SSP_Algorithm_20220128/dg.o | Bin 0 -> 10056 bytes .../src/SSP_Algorithm_20220128/dr_detection.c | 67 + .../src/SSP_Algorithm_20220128/dr_detection.h | 16 + .../src/SSP_Algorithm_20220128/dr_detection.o | Bin 0 -> 6476 bytes .../audio/src/SSP_Algorithm_20220128/eq.c | 156 + .../audio/src/SSP_Algorithm_20220128/eq.h | 20 + .../audio/src/SSP_Algorithm_20220128/eq.o | Bin 0 -> 13756 bytes .../src/SSP_Algorithm_20220128/fftcore.c | 1242 + .../src/SSP_Algorithm_20220128/fftcore.h | 20 + .../src/SSP_Algorithm_20220128/fftcore.o | Bin 0 -> 83804 bytes .../src/SSP_Algorithm_20220128/functrl.h | 37 + .../audio/src/SSP_Algorithm_20220128/log.c | 43 + .../audio/src/SSP_Algorithm_20220128/log.h | 17 + .../audio/src/SSP_Algorithm_20220128/log.o | Bin 0 -> 4320 bytes .../audio/src/SSP_Algorithm_20220128/lpaec.c | 622 + .../audio/src/SSP_Algorithm_20220128/lpaec.h | 19 + .../audio/src/SSP_Algorithm_20220128/lpaec.o | Bin 0 -> 48352 bytes .../src/SSP_Algorithm_20220128/lpaec_subfun.c | 141 + .../src/SSP_Algorithm_20220128/lpaec_subfun.h | 28 + .../src/SSP_Algorithm_20220128/lpaec_subfun.o | Bin 0 -> 18460 bytes .../src/SSP_Algorithm_20220128/memalloc.h | 91 + .../audio/src/SSP_Algorithm_20220128/mmse.c | 408 + .../audio/src/SSP_Algorithm_20220128/mmse.h | 18 + .../audio/src/SSP_Algorithm_20220128/mmse.o | Bin 0 -> 22112 bytes .../src/SSP_Algorithm_20220128/mmse_init.c | 275 + .../src/SSP_Algorithm_20220128/mmse_init.h | 20 + .../src/SSP_Algorithm_20220128/mmse_init.o | Bin 0 -> 18484 bytes .../src/SSP_Algorithm_20220128/mmse_rtwutil.c | 101 + .../src/SSP_Algorithm_20220128/mmse_rtwutil.h | 16 + .../src/SSP_Algorithm_20220128/mmse_rtwutil.o | Bin 0 -> 6928 bytes .../audio/src/SSP_Algorithm_20220128/nlpaes.c | 464 + .../audio/src/SSP_Algorithm_20220128/nlpaes.h | 19 + .../audio/src/SSP_Algorithm_20220128/nlpaes.o | Bin 0 -> 39588 bytes .../SSP_Algorithm_20220128/nlpaes_subfun.c | 214 + .../SSP_Algorithm_20220128/nlpaes_subfun.h | 33 + .../SSP_Algorithm_20220128/nlpaes_subfun.o | Bin 0 -> 26440 bytes .../audio/src/SSP_Algorithm_20220128/notch.c | 135 + .../audio/src/SSP_Algorithm_20220128/notch.h | 20 + .../audio/src/SSP_Algorithm_20220128/notch.o | Bin 0 -> 14992 bytes .../src/SSP_Algorithm_20220128/packfft.c | 53 + .../src/SSP_Algorithm_20220128/packfft.h | 16 + .../src/SSP_Algorithm_20220128/packfft.o | Bin 0 -> 11136 bytes .../audio/src/SSP_Algorithm_20220128/power.c | 25 + .../audio/src/SSP_Algorithm_20220128/power.h | 18 + .../audio/src/SSP_Algorithm_20220128/power.o | Bin 0 -> 4844 bytes .../SSP_Algorithm_20220128/slope_detection.c | 47 + .../SSP_Algorithm_20220128/slope_detection.h | 18 + .../SSP_Algorithm_20220128/slope_detection.o | Bin 0 -> 6280 bytes .../src/SSP_Algorithm_20220128/ssp_main.c_org | 765 + .../src/SSP_Algorithm_20220128/ssp_main.o | Bin 0 -> 34936 bytes .../audio/src/SSP_Algorithm_20220128/struct.h | 283 + .../audio/src/SSP_Algorithm_20220128/sum.c | 37 + .../audio/src/SSP_Algorithm_20220128/sum.h | 18 + .../audio/src/SSP_Algorithm_20220128/sum.o | Bin 0 -> 5588 bytes .../src/SSP_Algorithm_20220128/tmwtypes.h | 825 + .../task/audio/src/riscv64/audio_main.c | 690 + .../cvitek/task/audio/src/unit_test/incbin.h | 19 + .../unit_test/pattern/FE_ht_s_ref_hw_8k_1.wav | Bin 0 -> 540738 bytes .../unit_test/pattern/NE_ht_s_ref_hw_8k_1.wav | Bin 0 -> 540738 bytes .../task/audio/src/unit_test/ssp_main.c | 788 + .../task/audio/src/unit_test/ssp_unit_test.h | 12 + .../task/audio/src/unit_test_arm.tar.gz | Bin 0 -> 4579232 bytes freertos/cvitek/task/camera/CMakeLists.txt | 20 + .../cvitek/task/camera/include/cam_rtos_cmd.h | 106 + .../cvitek/task/camera/include/cam_task.h | 4 + .../cvitek/task/camera/src/riscv64/cam_task.c | 196 + freertos/cvitek/task/comm/CMakeLists.txt | 19 + freertos/cvitek/task/comm/include/comm.h | 26 + freertos/cvitek/task/comm/include/comm_def.h | 21 + .../cvitek/task/comm/src/cv1835/comm_main.c | 175 + .../cvitek/task/comm/src/riscv64/comm_main.c | 442 + .../task/demo/Blinky_Demo/CMakeLists.txt | 13 + .../task/demo/Blinky_Demo/main_blinky.c | 187 + .../task/demo/Common/Minimal/AbortDelay.c | 760 + .../cvitek/task/demo/Common/Minimal/BlockQ.c | 297 + .../demo/Common/Minimal/EventGroupsDemo.c | 1014 + .../task/demo/Common/Minimal/GenQTest.c | 964 + .../task/demo/Common/Minimal/IntSemTest.c | 506 + .../demo/Common/Minimal/MessageBufferAMP.c | 320 + .../demo/Common/Minimal/MessageBufferDemo.c | 914 + .../cvitek/task/demo/Common/Minimal/PollQ.c | 216 + .../cvitek/task/demo/Common/Minimal/QPeek.c | 416 + .../task/demo/Common/Minimal/QueueOverwrite.c | 215 + .../task/demo/Common/Minimal/QueueSet.c | 1051 + .../demo/Common/Minimal/QueueSetPolling.c | 175 + .../demo/Common/Minimal/StaticAllocation.c | 1074 + .../demo/Common/Minimal/StreamBufferDemo.c | 1218 + .../Common/Minimal/StreamBufferInterrupt.c | 216 + .../task/demo/Common/Minimal/TaskNotify.c | 712 + .../task/demo/Common/Minimal/TimerDemo.c | 1012 + .../task/demo/Common/Minimal/blocktim.c | 524 + .../cvitek/task/demo/Common/Minimal/comtest.c | 255 + .../demo/Common/Minimal/comtest_strings.c | 301 + .../task/demo/Common/Minimal/countsem.c | 283 + .../cvitek/task/demo/Common/Minimal/crflash.c | 202 + .../cvitek/task/demo/Common/Minimal/crhook.c | 224 + .../cvitek/task/demo/Common/Minimal/death.c | 190 + .../cvitek/task/demo/Common/Minimal/dynamic.c | 484 + .../cvitek/task/demo/Common/Minimal/flash.c | 117 + .../task/demo/Common/Minimal/flash_timer.c | 97 + .../cvitek/task/demo/Common/Minimal/flop.c | 328 + .../cvitek/task/demo/Common/Minimal/integer.c | 161 + .../task/demo/Common/Minimal/readme.txt | 2 + .../task/demo/Common/Minimal/recmutex.c | 406 + .../cvitek/task/demo/Common/Minimal/semtest.c | 277 + .../cvitek/task/demo/Common/Minimal/sp_flop.c | 312 + .../task/demo/Common/include/AbortDelay.h | 34 + .../cvitek/task/demo/Common/include/BlockQ.h | 34 + .../demo/Common/include/EventGroupsDemo.h | 41 + .../task/demo/Common/include/GenQTest.h | 35 + .../task/demo/Common/include/IntSemTest.h | 35 + .../demo/Common/include/MessageBufferAMP.h | 35 + .../demo/Common/include/MessageBufferDemo.h | 34 + .../cvitek/task/demo/Common/include/PollQ.h | 34 + .../cvitek/task/demo/Common/include/QPeek.h | 34 + .../task/demo/Common/include/QueueOverwrite.h | 35 + .../task/demo/Common/include/QueueSet.h | 35 + .../demo/Common/include/QueueSetPolling.h | 35 + .../demo/Common/include/StaticAllocation.h | 34 + .../demo/Common/include/StreamBufferDemo.h | 35 + .../Common/include/StreamBufferInterrupt.h | 35 + .../task/demo/Common/include/TaskNotify.h | 35 + .../demo/Common/include/TaskNotifyArray.h | 35 + .../task/demo/Common/include/TimerDemo.h | 35 + .../task/demo/Common/include/blocktim.h | 34 + .../cvitek/task/demo/Common/include/comtest.h | 38 + .../task/demo/Common/include/comtest2.h | 35 + .../demo/Common/include/comtest_strings.h | 35 + .../task/demo/Common/include/countsem.h | 34 + .../cvitek/task/demo/Common/include/crflash.h | 46 + .../cvitek/task/demo/Common/include/crhook.h | 42 + .../cvitek/task/demo/Common/include/death.h | 34 + .../cvitek/task/demo/Common/include/dynamic.h | 34 + .../cvitek/task/demo/Common/include/fileIO.h | 35 + .../cvitek/task/demo/Common/include/flash.h | 33 + .../task/demo/Common/include/flash_timer.h | 41 + .../cvitek/task/demo/Common/include/flop.h | 34 + .../cvitek/task/demo/Common/include/integer.h | 34 + .../cvitek/task/demo/Common/include/mevents.h | 34 + .../cvitek/task/demo/Common/include/partest.h | 37 + .../cvitek/task/demo/Common/include/print.h | 35 + .../task/demo/Common/include/recmutex.h | 34 + .../cvitek/task/demo/Common/include/semtest.h | 34 + .../cvitek/task/demo/Common/include/serial.h | 92 + .../cvitek/task/demo/Full_Demo/CMakeLists.txt | 19 + .../task/demo/Full_Demo/RegTest_riscv.S | 276 + .../cvitek/task/demo/Full_Demo/main_full.c | 447 + .../cvitek/task/demo/Full_Demo/reg_test.S | 565 + .../task/demo/POSIX_Demo/CMakeLists.txt | 15 + .../cvitek/task/demo/POSIX_Demo/main_posix.c | 121 + .../cvitek/task/demo/POSIX_Demo/posix_demo.c | 374 + .../cvitek/task/demo/POSIX_Demo/posix_demo.h | 32 + freertos/cvitek/task/isp/CMakeLists.txt | 123 + freertos/cvitek/task/isp/src/cv1835/cvi_isp.c | 4284 +++ .../cvitek/task/isp/src/cv1835/isp_main.c | 38 + .../cvitek/task/isp/src/cv1835/sample_comm.h | 778 + .../task/isp/src/cv1835/sample_common_isp.c | 676 + .../task/isp/src/cv1835/sample_common_vi.c | 1942 ++ .../cvitek/task/isp/src/riscv64/isp_main.c | 222 + .../task/isp/src/riscv64/sample_common_isp.c | 693 + .../task/isp/src/riscv64/sample_common_vi.c | 1070 + freertos/cvitek/task/main/CMakeLists.txt | 51 + .../task/main/src/FreeRTOS_asm_vectors.S | 308 + .../task/main/src/FreeRTOS_tick_config.c | 143 + freertos/cvitek/task/main/src/main.c | 317 + freertos/cvitek/task/rgn/CMakeLists.txt | 14 + freertos/cvitek/task/rgn/include/rgn_main.h | 83 + .../cvitek/task/rgn/src/cv1835/display_main.c | 30 + .../cvitek/task/rgn/src/riscv64/rgn_main.c | 265 + freertos/cvitek/task/vcodec/CMakeLists.txt | 17 + .../cvitek/task/vcodec/include/h26x_enc.h | 8 + .../task/vcodec/src/cv1835/vcodec_main.c | 73 + .../task/vcodec/src/riscv64/vcodec_main.c | 143 + freertos/cvitek/task/vi/CMakeLists.txt | 18 + .../cvitek/task/vi/include/vi_task_main.h | 0 .../cvitek/task/vi/src/riscv64/vi_task_main.c | 82 + freertos/cvitek/task/vip/CMakeLists.txt | 27 + freertos/cvitek/task/vip/include/vip_main.h | 0 .../cvitek/task/vip/src/cv181x/vip_main.c | 37 + .../cvitek/task/vip/src/cv1835/vip_main.c | 30 + 398 files changed, 151104 insertions(+) create mode 100755 freertos/cvitek/build_cv180x.sh create mode 100755 freertos/cvitek/build_cv181x.sh create mode 100755 freertos/cvitek/install/bin/cvirtos.bin create mode 100644 freertos/cvitek/install/bin/cvirtos.dis create mode 100755 freertos/cvitek/install/bin/cvirtos.elf create mode 100644 freertos/cvitek/install/bin/cvirtos.map create mode 100644 freertos/cvitek/install/include/arch/arch_cpu.h create mode 100644 freertos/cvitek/install/include/arch/arch_helpers.h create mode 100644 freertos/cvitek/install/include/arch/arch_sleep.h create mode 100644 freertos/cvitek/install/include/arch/arch_time.h create mode 100644 freertos/cvitek/install/include/arch/core_rv64.h create mode 100644 freertos/cvitek/install/include/arch/csi_core.h create mode 100644 freertos/cvitek/install/include/arch/csi_rv64_gcc.h create mode 100644 freertos/cvitek/install/include/arch/csr.h create mode 100644 freertos/cvitek/install/include/arch/io.h create mode 100644 freertos/cvitek/install/include/arch/irq.h create mode 100644 freertos/cvitek/install/include/arch/ptrace.h create mode 100644 freertos/cvitek/install/include/arch/riscv-reg.h create mode 100644 freertos/cvitek/install/include/arch/riscv-virt.h create mode 100644 freertos/cvitek/install/include/common/cif_uapi.h create mode 100644 freertos/cvitek/install/include/common/cvi_ae.h create mode 100644 freertos/cvitek/install/include/common/cvi_ae_comm.h create mode 100644 freertos/cvitek/install/include/common/cvi_af.h create mode 100644 freertos/cvitek/install/include/common/cvi_af_comm.h create mode 100644 freertos/cvitek/install/include/common/cvi_awb.h create mode 100644 freertos/cvitek/install/include/common/cvi_awb_comm.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_3a.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_inc.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_isp.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_sns.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_sys.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_vi.h create mode 100644 freertos/cvitek/install/include/common/cvi_comm_video.h create mode 100644 freertos/cvitek/install/include/common/cvi_common.h create mode 100644 freertos/cvitek/install/include/common/cvi_debug.h create mode 100644 freertos/cvitek/install/include/common/cvi_defines.h create mode 100644 freertos/cvitek/install/include/common/cvi_errno.h create mode 100644 freertos/cvitek/install/include/common/cvi_isp.h create mode 100644 freertos/cvitek/install/include/common/cvi_list.h create mode 100644 freertos/cvitek/install/include/common/cvi_mailbox.h create mode 100644 freertos/cvitek/install/include/common/cvi_math.h create mode 100644 freertos/cvitek/install/include/common/cvi_mipi.h create mode 100644 freertos/cvitek/install/include/common/cvi_sns_ctrl.h create mode 100644 freertos/cvitek/install/include/common/cvi_type.h create mode 100644 freertos/cvitek/install/include/common/delay.h create mode 100644 freertos/cvitek/install/include/common/fifo.h create mode 100644 freertos/cvitek/install/include/common/malloc.h create mode 100644 freertos/cvitek/install/include/common/mmio.h create mode 100644 freertos/cvitek/install/include/common/printf.h create mode 100644 freertos/cvitek/install/include/common/reg_vip_sys.h create mode 100644 freertos/cvitek/install/include/common/sample_comm.h create mode 100644 freertos/cvitek/install/include/common/sleep.h create mode 100644 freertos/cvitek/install/include/common/types.h create mode 100644 freertos/cvitek/install/include/common/vi_isp.h create mode 100644 freertos/cvitek/install/include/common/vi_snsr.h create mode 100644 freertos/cvitek/install/include/common/vi_uapi.h create mode 100644 freertos/cvitek/install/include/common/vip_sys.h create mode 100644 freertos/cvitek/install/include/driver/cif/cif.h create mode 100644 freertos/cvitek/install/include/driver/cif/irqreturn.h create mode 100644 freertos/cvitek/install/include/driver/fast_image/fast_image.h create mode 100644 freertos/cvitek/install/include/driver/gpio/gpio.h create mode 100644 freertos/cvitek/install/include/driver/jenc/jenc.h create mode 100644 freertos/cvitek/install/include/driver/pinmux/pinmux.h create mode 100644 freertos/cvitek/install/include/driver/rgn/cmpr_canvas.h create mode 100644 freertos/cvitek/install/include/driver/rgn/cvi_comm_osdc.h create mode 100644 freertos/cvitek/install/include/driver/rgn/cvi_osdc.h create mode 100644 freertos/cvitek/install/include/driver/rgn/osd_cmpr.h create mode 100644 freertos/cvitek/install/include/driver/rtos_cmdqu/rtos_cmdqu.h create mode 100644 freertos/cvitek/install/include/driver/sensor/gain_table.h create mode 100644 freertos/cvitek/install/include/driver/sensor/sensor.h create mode 100644 freertos/cvitek/install/include/driver/spinlock/cvi_spinlock.h create mode 100644 freertos/cvitek/install/include/driver/uart/dump_uart.h create mode 100644 freertos/cvitek/install/include/driver/uart/uart.h create mode 100644 freertos/cvitek/install/include/driver/vi/cvi_vi.h create mode 100644 freertos/cvitek/install/include/driver/vi/cvi_vi_ctx.h create mode 100644 freertos/cvitek/install/include/driver/vi/isp_reg.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_common.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_core.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_defines.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_drv.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_inter_cmdq.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_interfaces.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_reg_blocks.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_reg_fields.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_snsr.h create mode 100644 freertos/cvitek/install/include/driver/vi/vi_tun_cfg.h create mode 100644 freertos/cvitek/install/include/hal/cif/cif_drv.h create mode 100644 freertos/cvitek/install/include/hal/cif/cif_reg.h create mode 100644 freertos/cvitek/install/include/hal/cif/reg_blocks_csi_mac.h create mode 100644 freertos/cvitek/install/include/hal/cif/reg_blocks_csi_wrap.h create mode 100644 freertos/cvitek/install/include/hal/cif/reg_fields_csi_mac.h create mode 100644 freertos/cvitek/install/include/hal/cif/reg_fields_csi_wrap.h create mode 100644 freertos/cvitek/install/include/hal/config/cv180x_pinlist_swconfig.h create mode 100644 freertos/cvitek/install/include/hal/config/cv180x_pinmux.h create mode 100644 freertos/cvitek/install/include/hal/config/cv180x_reg_fmux_gpio.h create mode 100644 freertos/cvitek/install/include/hal/config/intr_conf.h create mode 100644 freertos/cvitek/install/include/hal/config/memmap.h create mode 100644 freertos/cvitek/install/include/hal/config/pinctrl.h create mode 100644 freertos/cvitek/install/include/hal/config/reg.h create mode 100644 freertos/cvitek/install/include/hal/config/top_reg.h create mode 100644 freertos/cvitek/install/include/hal/pinmux/hal_pinmux.h create mode 100644 freertos/cvitek/install/include/hal/snsr_i2c/cvi_i2c.h create mode 100644 freertos/cvitek/install/include/hal/uart/hal_uart_dw.h create mode 100644 freertos/cvitek/install/include/kernel/FreeRTOS.h create mode 100644 freertos/cvitek/install/include/kernel/FreeRTOSConfig.h create mode 100644 freertos/cvitek/install/include/kernel/StackMacros.h create mode 100644 freertos/cvitek/install/include/kernel/atomic.h create mode 100644 freertos/cvitek/install/include/kernel/aws_secure_sockets.tzext.h create mode 100644 freertos/cvitek/install/include/kernel/aws_wifi.tzext.h create mode 100644 freertos/cvitek/install/include/kernel/croutine.h create mode 100644 freertos/cvitek/install/include/kernel/deprecated_definitions.h create mode 100644 freertos/cvitek/install/include/kernel/event_groups.h create mode 100644 freertos/cvitek/install/include/kernel/freertos_risc_v_chip_specific_extensions.h create mode 100644 freertos/cvitek/install/include/kernel/list.h create mode 100644 freertos/cvitek/install/include/kernel/message_buffer.h create mode 100644 freertos/cvitek/install/include/kernel/mpu_prototypes.h create mode 100644 freertos/cvitek/install/include/kernel/mpu_wrappers.h create mode 100644 freertos/cvitek/install/include/kernel/portable.h create mode 100644 freertos/cvitek/install/include/kernel/portmacro.h create mode 100644 freertos/cvitek/install/include/kernel/projdefs.h create mode 100644 freertos/cvitek/install/include/kernel/queue.h create mode 100644 freertos/cvitek/install/include/kernel/semphr.h create mode 100644 freertos/cvitek/install/include/kernel/stack_macros.h create mode 100644 freertos/cvitek/install/include/kernel/stream_buffer.h create mode 100644 freertos/cvitek/install/include/kernel/task.h create mode 100644 freertos/cvitek/install/include/kernel/timers.h create mode 100644 freertos/cvitek/install/include/kernel/trcAssert.h create mode 100644 freertos/cvitek/install/include/kernel/trcConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcCounter.h create mode 100644 freertos/cvitek/install/include/kernel/trcDefines.h create mode 100644 freertos/cvitek/install/include/kernel/trcDiagnostics.h create mode 100644 freertos/cvitek/install/include/kernel/trcEntryTable.h create mode 100644 freertos/cvitek/install/include/kernel/trcError.h create mode 100644 freertos/cvitek/install/include/kernel/trcEvent.h create mode 100644 freertos/cvitek/install/include/kernel/trcEventBuffer.h create mode 100644 freertos/cvitek/install/include/kernel/trcExtension.h create mode 100644 freertos/cvitek/install/include/kernel/trcHardwarePort.h create mode 100644 freertos/cvitek/install/include/kernel/trcHeap.h create mode 100644 freertos/cvitek/install/include/kernel/trcISR.h create mode 100644 freertos/cvitek/install/include/kernel/trcInternalEventBuffer.h create mode 100644 freertos/cvitek/install/include/kernel/trcInterval.h create mode 100644 freertos/cvitek/install/include/kernel/trcKernelPort.h create mode 100644 freertos/cvitek/install/include/kernel/trcKernelPortConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcKernelPortSnapshotConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcKernelPortStreamingConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcMultiCoreEventBuffer.h create mode 100644 freertos/cvitek/install/include/kernel/trcObject.h create mode 100644 freertos/cvitek/install/include/kernel/trcPrint.h create mode 100644 freertos/cvitek/install/include/kernel/trcRecorder.h create mode 100644 freertos/cvitek/install/include/kernel/trcSnapshotConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcStackMonitor.h create mode 100644 freertos/cvitek/install/include/kernel/trcStateMachine.h create mode 100644 freertos/cvitek/install/include/kernel/trcStaticBuffer.h create mode 100644 freertos/cvitek/install/include/kernel/trcStreamingConfig.h create mode 100644 freertos/cvitek/install/include/kernel/trcString.h create mode 100644 freertos/cvitek/install/include/kernel/trcTask.h create mode 100644 freertos/cvitek/install/include/kernel/trcTimestamp.h create mode 100644 freertos/cvitek/install/include/kernel/trcTypes.h create mode 100644 freertos/cvitek/install/include/kernel/trcUtility.h create mode 100644 freertos/cvitek/install/lib/libarch.a create mode 100644 freertos/cvitek/install/lib/libaudio.a create mode 100644 freertos/cvitek/install/lib/libcomm.a create mode 100644 freertos/cvitek/install/lib/libcommon.a create mode 100644 freertos/cvitek/install/lib/libdriver.a create mode 100644 freertos/cvitek/install/lib/libhal.a create mode 100644 freertos/cvitek/install/lib/libkernel.a create mode 100644 freertos/cvitek/install/lib/librgn.a create mode 100644 freertos/cvitek/scripts/ParseConfiguration.cmake create mode 100755 freertos/cvitek/scripts/checkpatch.pl create mode 100644 freertos/cvitek/scripts/const_structs.checkpatch create mode 100644 freertos/cvitek/scripts/cv180x_lscript.ld create mode 100644 freertos/cvitek/scripts/cv181x_lscript.ld create mode 100644 freertos/cvitek/scripts/cv1835_lscript.ld create mode 100644 freertos/cvitek/scripts/spelling.txt create mode 100644 freertos/cvitek/scripts/toolchain-aarch64-elf.cmake create mode 100644 freertos/cvitek/scripts/toolchain-riscv64-elf.cmake create mode 100644 freertos/cvitek/task/CMakeLists.txt create mode 100644 freertos/cvitek/task/audio/CMakeLists.txt create mode 100644 freertos/cvitek/task/audio/include/cvi_comm_aio.h create mode 100644 freertos/cvitek/task/audio/include/cvi_common.h create mode 100644 freertos/cvitek/task/audio/include/cvi_defines.h create mode 100644 freertos/cvitek/task/audio/include/cvi_type.h create mode 100644 freertos/cvitek/task/audio/include/cviaudio_algo_interface.h create mode 100644 freertos/cvitek/task/audio/include/cviaudio_rtos_align.h create mode 100644 freertos/cvitek/task/audio/include/cviaudio_rtos_cmd.h create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.o create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.c create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.o create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.c create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/define.h create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/functrl.h create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/memalloc.h create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.c_org create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/struct.h create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.c create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.h create mode 100644 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.o create mode 100755 freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/tmwtypes.h create mode 100644 freertos/cvitek/task/audio/src/riscv64/audio_main.c create mode 100755 freertos/cvitek/task/audio/src/unit_test/incbin.h create mode 100755 freertos/cvitek/task/audio/src/unit_test/pattern/FE_ht_s_ref_hw_8k_1.wav create mode 100755 freertos/cvitek/task/audio/src/unit_test/pattern/NE_ht_s_ref_hw_8k_1.wav create mode 100755 freertos/cvitek/task/audio/src/unit_test/ssp_main.c create mode 100644 freertos/cvitek/task/audio/src/unit_test/ssp_unit_test.h create mode 100644 freertos/cvitek/task/audio/src/unit_test_arm.tar.gz create mode 100644 freertos/cvitek/task/camera/CMakeLists.txt create mode 100644 freertos/cvitek/task/camera/include/cam_rtos_cmd.h create mode 100644 freertos/cvitek/task/camera/include/cam_task.h create mode 100644 freertos/cvitek/task/camera/src/riscv64/cam_task.c create mode 100644 freertos/cvitek/task/comm/CMakeLists.txt create mode 100644 freertos/cvitek/task/comm/include/comm.h create mode 100644 freertos/cvitek/task/comm/include/comm_def.h create mode 100644 freertos/cvitek/task/comm/src/cv1835/comm_main.c create mode 100644 freertos/cvitek/task/comm/src/riscv64/comm_main.c create mode 100644 freertos/cvitek/task/demo/Blinky_Demo/CMakeLists.txt create mode 100644 freertos/cvitek/task/demo/Blinky_Demo/main_blinky.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/AbortDelay.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/BlockQ.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/EventGroupsDemo.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/GenQTest.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/IntSemTest.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/MessageBufferAMP.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/MessageBufferDemo.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/PollQ.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/QPeek.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/QueueOverwrite.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/QueueSet.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/QueueSetPolling.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/StaticAllocation.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/StreamBufferDemo.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/StreamBufferInterrupt.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/TaskNotify.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/TimerDemo.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/blocktim.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/comtest.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/comtest_strings.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/countsem.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/crflash.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/crhook.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/death.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/dynamic.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/flash.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/flash_timer.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/flop.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/integer.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/readme.txt create mode 100644 freertos/cvitek/task/demo/Common/Minimal/recmutex.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/semtest.c create mode 100644 freertos/cvitek/task/demo/Common/Minimal/sp_flop.c create mode 100644 freertos/cvitek/task/demo/Common/include/AbortDelay.h create mode 100644 freertos/cvitek/task/demo/Common/include/BlockQ.h create mode 100644 freertos/cvitek/task/demo/Common/include/EventGroupsDemo.h create mode 100644 freertos/cvitek/task/demo/Common/include/GenQTest.h create mode 100644 freertos/cvitek/task/demo/Common/include/IntSemTest.h create mode 100644 freertos/cvitek/task/demo/Common/include/MessageBufferAMP.h create mode 100644 freertos/cvitek/task/demo/Common/include/MessageBufferDemo.h create mode 100644 freertos/cvitek/task/demo/Common/include/PollQ.h create mode 100644 freertos/cvitek/task/demo/Common/include/QPeek.h create mode 100644 freertos/cvitek/task/demo/Common/include/QueueOverwrite.h create mode 100644 freertos/cvitek/task/demo/Common/include/QueueSet.h create mode 100644 freertos/cvitek/task/demo/Common/include/QueueSetPolling.h create mode 100644 freertos/cvitek/task/demo/Common/include/StaticAllocation.h create mode 100644 freertos/cvitek/task/demo/Common/include/StreamBufferDemo.h create mode 100644 freertos/cvitek/task/demo/Common/include/StreamBufferInterrupt.h create mode 100644 freertos/cvitek/task/demo/Common/include/TaskNotify.h create mode 100644 freertos/cvitek/task/demo/Common/include/TaskNotifyArray.h create mode 100644 freertos/cvitek/task/demo/Common/include/TimerDemo.h create mode 100644 freertos/cvitek/task/demo/Common/include/blocktim.h create mode 100644 freertos/cvitek/task/demo/Common/include/comtest.h create mode 100644 freertos/cvitek/task/demo/Common/include/comtest2.h create mode 100644 freertos/cvitek/task/demo/Common/include/comtest_strings.h create mode 100644 freertos/cvitek/task/demo/Common/include/countsem.h create mode 100644 freertos/cvitek/task/demo/Common/include/crflash.h create mode 100644 freertos/cvitek/task/demo/Common/include/crhook.h create mode 100644 freertos/cvitek/task/demo/Common/include/death.h create mode 100644 freertos/cvitek/task/demo/Common/include/dynamic.h create mode 100644 freertos/cvitek/task/demo/Common/include/fileIO.h create mode 100644 freertos/cvitek/task/demo/Common/include/flash.h create mode 100644 freertos/cvitek/task/demo/Common/include/flash_timer.h create mode 100644 freertos/cvitek/task/demo/Common/include/flop.h create mode 100644 freertos/cvitek/task/demo/Common/include/integer.h create mode 100644 freertos/cvitek/task/demo/Common/include/mevents.h create mode 100644 freertos/cvitek/task/demo/Common/include/partest.h create mode 100644 freertos/cvitek/task/demo/Common/include/print.h create mode 100644 freertos/cvitek/task/demo/Common/include/recmutex.h create mode 100644 freertos/cvitek/task/demo/Common/include/semtest.h create mode 100644 freertos/cvitek/task/demo/Common/include/serial.h create mode 100644 freertos/cvitek/task/demo/Full_Demo/CMakeLists.txt create mode 100644 freertos/cvitek/task/demo/Full_Demo/RegTest_riscv.S create mode 100644 freertos/cvitek/task/demo/Full_Demo/main_full.c create mode 100644 freertos/cvitek/task/demo/Full_Demo/reg_test.S create mode 100644 freertos/cvitek/task/demo/POSIX_Demo/CMakeLists.txt create mode 100644 freertos/cvitek/task/demo/POSIX_Demo/main_posix.c create mode 100644 freertos/cvitek/task/demo/POSIX_Demo/posix_demo.c create mode 100644 freertos/cvitek/task/demo/POSIX_Demo/posix_demo.h create mode 100644 freertos/cvitek/task/isp/CMakeLists.txt create mode 100644 freertos/cvitek/task/isp/src/cv1835/cvi_isp.c create mode 100644 freertos/cvitek/task/isp/src/cv1835/isp_main.c create mode 100644 freertos/cvitek/task/isp/src/cv1835/sample_comm.h create mode 100644 freertos/cvitek/task/isp/src/cv1835/sample_common_isp.c create mode 100644 freertos/cvitek/task/isp/src/cv1835/sample_common_vi.c create mode 100644 freertos/cvitek/task/isp/src/riscv64/isp_main.c create mode 100644 freertos/cvitek/task/isp/src/riscv64/sample_common_isp.c create mode 100644 freertos/cvitek/task/isp/src/riscv64/sample_common_vi.c create mode 100644 freertos/cvitek/task/main/CMakeLists.txt create mode 100644 freertos/cvitek/task/main/src/FreeRTOS_asm_vectors.S create mode 100644 freertos/cvitek/task/main/src/FreeRTOS_tick_config.c create mode 100644 freertos/cvitek/task/main/src/main.c create mode 100644 freertos/cvitek/task/rgn/CMakeLists.txt create mode 100644 freertos/cvitek/task/rgn/include/rgn_main.h create mode 100644 freertos/cvitek/task/rgn/src/cv1835/display_main.c create mode 100644 freertos/cvitek/task/rgn/src/riscv64/rgn_main.c create mode 100644 freertos/cvitek/task/vcodec/CMakeLists.txt create mode 100644 freertos/cvitek/task/vcodec/include/h26x_enc.h create mode 100644 freertos/cvitek/task/vcodec/src/cv1835/vcodec_main.c create mode 100644 freertos/cvitek/task/vcodec/src/riscv64/vcodec_main.c create mode 100644 freertos/cvitek/task/vi/CMakeLists.txt create mode 100644 freertos/cvitek/task/vi/include/vi_task_main.h create mode 100644 freertos/cvitek/task/vi/src/riscv64/vi_task_main.c create mode 100644 freertos/cvitek/task/vip/CMakeLists.txt create mode 100644 freertos/cvitek/task/vip/include/vip_main.h create mode 100644 freertos/cvitek/task/vip/src/cv181x/vip_main.c create mode 100644 freertos/cvitek/task/vip/src/cv1835/vip_main.c diff --git a/freertos/cvitek/build_cv180x.sh b/freertos/cvitek/build_cv180x.sh new file mode 100755 index 000000000..ae31e437d --- /dev/null +++ b/freertos/cvitek/build_cv180x.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + TOP_DIR="$( cd "$(dirname "$0")" ; pwd -P )" + TOOLCHAIN_FILE_PATH=$TOP_DIR/scripts/toolchain-riscv64-elf.cmake + BUILD_FREERTOS_PATH=$TOP_DIR/build + BUILD_ENV_PATH=$BUILD_PATH + INSTALL_PATH=$TOP_DIR/install + RUN_TYPE=CVIRTOS +RUN_CHIP=cv180x +RUN_ARCH=riscv64 + if [ ! -e $BUILD_FREERTOS_PATH/task ]; then + mkdir -p $BUILD_FREERTOS_PATH/task + fi + if [ -f $TOP_DIR/task/isp/libisp.a ]; then + mkdir -p $BUILD_FREERTOS_PATH/task/isp + cp $TOP_DIR/task/isp/libisp.a $BUILD_FREERTOS_PATH/task/isp + cp $TOP_DIR/task/isp/libisp.a $INSTALL_PATH/lib/ + fi + pushd $BUILD_FREERTOS_PATH/task + cmake -G Ninja -DCHIP=$RUN_CHIP -DRUN_ARCH=$RUN_ARCH -DRUN_TYPE=$RUN_TYPE -DTOP_DIR=$TOP_DIR -DBUILD_ENV_PATH=$BUILD_ENV_PATH -DBOARD_FPGA=n -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE_PATH $TOP_DIR/task + cmake --build . --target install -- -v + cmake --build . --target cvirtos.bin -- -v + popd + cp $TOP_DIR/install/bin/cvirtos.bin ../cvirtos.bin diff --git a/freertos/cvitek/build_cv181x.sh b/freertos/cvitek/build_cv181x.sh new file mode 100755 index 000000000..12f990e05 --- /dev/null +++ b/freertos/cvitek/build_cv181x.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + TOP_DIR="$( cd "$(dirname "$0")" ; pwd -P )" + TOOLCHAIN_FILE_PATH=$TOP_DIR/scripts/toolchain-riscv64-elf.cmake + BUILD_FREERTOS_PATH=$TOP_DIR/build + BUILD_ENV_PATH=$BUILD_PATH + INSTALL_PATH=$TOP_DIR/install + RUN_TYPE=CVIRTOS +RUN_CHIP=cv181x +RUN_ARCH=riscv64 + if [ ! -e $BUILD_FREERTOS_PATH/task ]; then + mkdir -p $BUILD_FREERTOS_PATH/task + fi + if [ -f $TOP_DIR/task/isp/libisp.a ]; then + mkdir -p $BUILD_FREERTOS_PATH/task/isp + cp $TOP_DIR/task/isp/libisp.a $BUILD_FREERTOS_PATH/task/isp + cp $TOP_DIR/task/isp/libisp.a $INSTALL_PATH/lib/ + fi + pushd $BUILD_FREERTOS_PATH/task + cmake -G Ninja -DCHIP=$RUN_CHIP -DRUN_ARCH=$RUN_ARCH -DRUN_TYPE=$RUN_TYPE -DTOP_DIR=$TOP_DIR -DBUILD_ENV_PATH=$BUILD_ENV_PATH -DBOARD_FPGA=n -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE_PATH $TOP_DIR/task + cmake --build . --target install -- -v + cmake --build . --target cvirtos.bin -- -v + popd + cp $TOP_DIR/install/bin/cvirtos.bin ../cvirtos.bin diff --git a/freertos/cvitek/install/bin/cvirtos.bin b/freertos/cvitek/install/bin/cvirtos.bin new file mode 100755 index 0000000000000000000000000000000000000000..3cecbf7b18317dbf8e89879676b3e2310ce70628 GIT binary patch literal 78304 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%0A*>i2O!E)C-#?x&O^ONpB4b= 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 B=lcKv literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/bin/cvirtos.dis b/freertos/cvitek/install/bin/cvirtos.dis new file mode 100644 index 000000000..709e2b672 --- /dev/null +++ b/freertos/cvitek/install/bin/cvirtos.dis @@ -0,0 +1,28685 @@ + +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/bin/cvirtos.elf: file format elf64-littleriscv + + +Disassembly of section .text: + +0000000083f40000 <_start>: + 83f40000: f1402573 csrr a0,mhartid + 83f40004: 4581 li a1,0 + 83f40006: 0eb51a63 bne a0,a1,83f400fa + 83f4000a: 4081 li ra,0 + 83f4000c: 4101 li sp,0 + 83f4000e: 4181 li gp,0 + 83f40010: 4201 li tp,0 + 83f40012: 4281 li t0,0 + 83f40014: 4301 li t1,0 + 83f40016: 4381 li t2,0 + 83f40018: 4401 li s0,0 + 83f4001a: 4481 li s1,0 + 83f4001c: 4501 li a0,0 + 83f4001e: 4581 li a1,0 + 83f40020: 4601 li a2,0 + 83f40022: 4681 li a3,0 + 83f40024: 4701 li a4,0 + 83f40026: 4781 li a5,0 + 83f40028: 4801 li a6,0 + 83f4002a: 4881 li a7,0 + 83f4002c: 4901 li s2,0 + 83f4002e: 4981 li s3,0 + 83f40030: 4a01 li s4,0 + 83f40032: 4a81 li s5,0 + 83f40034: 4b01 li s6,0 + 83f40036: 4b81 li s7,0 + 83f40038: 4c01 li s8,0 + 83f4003a: 4c81 li s9,0 + 83f4003c: 4d01 li s10,0 + 83f4003e: 4d81 li s11,0 + 83f40040: 4e01 li t3,0 + 83f40042: 4e81 li t4,0 + 83f40044: 4f01 li t5,0 + 83f40046: 4f81 li t6,0 + 83f40048: 000011b7 lui gp,0x1 + 83f4004c: 8801819b addiw gp,gp,-1920 + 83f40050: 30419073 csrw mie,gp + 83f40054: 000301b7 lui gp,0x30 + 83f40058: 0131819b addiw gp,gp,19 + 83f4005c: 7c21a073 csrs mcor,gp + 83f40060: 07f00193 li gp,127 + 83f40064: 7c11a073 csrs mhcr,gp + 83f40068: 000061b7 lui gp,0x6 + 83f4006c: 10c1819b addiw gp,gp,268 + 83f40070: 7c51a073 csrs mhint,gp + 83f40074: 6189 lui gp,0x2 + 83f40076: 3001a073 csrs mstatus,gp + 83f4007a: 000c0117 auipc sp,0xc0 + 83f4007e: cc610113 addi sp,sp,-826 # 83fffd40 <_end> + 83f40082: 00012517 auipc a0,0x12 + 83f40086: 6fe50513 addi a0,a0,1790 # 83f52780 <_data_lma> + 83f4008a: 00012597 auipc a1,0x12 + 83f4008e: 6f658593 addi a1,a1,1782 # 83f52780 <_data_lma> + 83f40092: 00013617 auipc a2,0x13 + 83f40096: 14e60613 addi a2,a2,334 # 83f531e0 <_edata> + 83f4009a: 00c5fa63 bgeu a1,a2,83f400ae <_start+0xae> + 83f4009e: 00053283 ld t0,0(a0) + 83f400a2: 0055b023 sd t0,0(a1) + 83f400a6: 0521 addi a0,a0,8 + 83f400a8: 05a1 addi a1,a1,8 + 83f400aa: fec5eae3 bltu a1,a2,83f4009e <_start+0x9e> + 83f400ae: 00013517 auipc a0,0x13 + 83f400b2: 15250513 addi a0,a0,338 # 83f53200 <__data1_end> + 83f400b6: 00020597 auipc a1,0x20 + 83f400ba: c8a58593 addi a1,a1,-886 # 83f5fd40 <_ebss> + 83f400be: 02b57663 bgeu a0,a1,83f400ea <_start+0xea> + 83f400c2: 00053023 sd zero,0(a0) + 83f400c6: 00053423 sd zero,8(a0) + 83f400ca: 00053823 sd zero,16(a0) + 83f400ce: 00053c23 sd zero,24(a0) + 83f400d2: 02053023 sd zero,32(a0) + 83f400d6: 02053423 sd zero,40(a0) + 83f400da: 02053823 sd zero,48(a0) + 83f400de: 02053c23 sd zero,56(a0) + 83f400e2: 04050513 addi a0,a0,64 + 83f400e6: fcb56ee3 bltu a0,a1,83f400c2 <_start+0xc2> + 83f400ea: 4501 li a0,0 + 83f400ec: 4581 li a1,0 + 83f400ee: 4601 li a2,0 + 83f400f0: 531020ef jal ra,83f42e20
+ 83f400f4: 10500073 wfi + 83f400f8: bff5 j 83f400f4 <_start+0xf4> + +0000000083f400fa : + 83f400fa: 10500073 wfi + 83f400fe: bff5 j 83f400fa + +0000000083f40100 : + 83f40100: 8faa mv t6,a0 + 83f40102: 08063693 sltiu a3,a2,128 + 83f40106: eedd bnez a3,83f401c4 + 83f40108: 007ff693 andi a3,t6,7 + 83f4010c: 0075f713 andi a4,a1,7 + 83f40110: 0ae69a63 bne a3,a4,83f401c4 + 83f40114: ce99 beqz a3,83f40132 + 83f40116: ff85f693 andi a3,a1,-8 + 83f4011a: 06a1 addi a3,a3,8 + 83f4011c: 40b68733 sub a4,a3,a1 + 83f40120: 00058783 lb a5,0(a1) + 83f40124: 0585 addi a1,a1,1 + 83f40126: 00ff8023 sb a5,0(t6) + 83f4012a: 0f85 addi t6,t6,1 + 83f4012c: fed5eae3 bltu a1,a3,83f40120 + 83f40130: 8e19 sub a2,a2,a4 + 83f40132: f8067713 andi a4,a2,-128 + 83f40136: c759 beqz a4,83f401c4 + 83f40138: 00e586b3 add a3,a1,a4 + 83f4013c: 6198 ld a4,0(a1) + 83f4013e: 659c ld a5,8(a1) + 83f40140: 0105b803 ld a6,16(a1) + 83f40144: 0185b883 ld a7,24(a1) + 83f40148: 0205b283 ld t0,32(a1) + 83f4014c: 0285b303 ld t1,40(a1) + 83f40150: 0305b383 ld t2,48(a1) + 83f40154: 0385be03 ld t3,56(a1) + 83f40158: 0405be83 ld t4,64(a1) + 83f4015c: 0485bf03 ld t5,72(a1) + 83f40160: 00efb023 sd a4,0(t6) + 83f40164: 00ffb423 sd a5,8(t6) + 83f40168: 010fb823 sd a6,16(t6) + 83f4016c: 011fbc23 sd a7,24(t6) + 83f40170: 025fb023 sd t0,32(t6) + 83f40174: 026fb423 sd t1,40(t6) + 83f40178: 027fb823 sd t2,48(t6) + 83f4017c: 03cfbc23 sd t3,56(t6) + 83f40180: 05dfb023 sd t4,64(t6) + 83f40184: 05efb423 sd t5,72(t6) + 83f40188: 69b8 ld a4,80(a1) + 83f4018a: 6dbc ld a5,88(a1) + 83f4018c: 0605b803 ld a6,96(a1) + 83f40190: 0685b883 ld a7,104(a1) + 83f40194: 0705b283 ld t0,112(a1) + 83f40198: 0785b303 ld t1,120(a1) + 83f4019c: 08058593 addi a1,a1,128 + 83f401a0: 04efb823 sd a4,80(t6) + 83f401a4: 04ffbc23 sd a5,88(t6) + 83f401a8: 070fb023 sd a6,96(t6) + 83f401ac: 071fb423 sd a7,104(t6) + 83f401b0: 065fb823 sd t0,112(t6) + 83f401b4: 066fbc23 sd t1,120(t6) + 83f401b8: 080f8f93 addi t6,t6,128 + 83f401bc: f8d5e0e3 bltu a1,a3,83f4013c + 83f401c0: 07f67613 andi a2,a2,127 + 83f401c4: ca05 beqz a2,83f401f4 + 83f401c6: 00c586b3 add a3,a1,a2 + 83f401ca: 01f5e7b3 or a5,a1,t6 + 83f401ce: 8fd5 or a5,a5,a3 + 83f401d0: 8b8d andi a5,a5,3 + 83f401d2: eb89 bnez a5,83f401e4 + 83f401d4: 4198 lw a4,0(a1) + 83f401d6: 0591 addi a1,a1,4 + 83f401d8: 00efa023 sw a4,0(t6) + 83f401dc: 0f91 addi t6,t6,4 + 83f401de: fed5ebe3 bltu a1,a3,83f401d4 + 83f401e2: 8082 ret + 83f401e4: 00058703 lb a4,0(a1) + 83f401e8: 0585 addi a1,a1,1 + 83f401ea: 00ef8023 sb a4,0(t6) + 83f401ee: 0f85 addi t6,t6,1 + 83f401f0: fed5eae3 bltu a1,a3,83f401e4 + 83f401f4: 8082 ret + ... + +0000000083f40200 : + 83f40200: 7151 addi sp,sp,-240 + 83f40202: e406 sd ra,8(sp) + 83f40204: e816 sd t0,16(sp) + 83f40206: ec1a sd t1,24(sp) + 83f40208: f01e sd t2,32(sp) + 83f4020a: f422 sd s0,40(sp) + 83f4020c: f826 sd s1,48(sp) + 83f4020e: fc2a sd a0,56(sp) + 83f40210: e0ae sd a1,64(sp) + 83f40212: e4b2 sd a2,72(sp) + 83f40214: e8b6 sd a3,80(sp) + 83f40216: ecba sd a4,88(sp) + 83f40218: f0be sd a5,96(sp) + 83f4021a: f4c2 sd a6,104(sp) + 83f4021c: f8c6 sd a7,112(sp) + 83f4021e: fcca sd s2,120(sp) + 83f40220: e14e sd s3,128(sp) + 83f40222: e552 sd s4,136(sp) + 83f40224: e956 sd s5,144(sp) + 83f40226: ed5a sd s6,152(sp) + 83f40228: f15e sd s7,160(sp) + 83f4022a: f562 sd s8,168(sp) + 83f4022c: f966 sd s9,176(sp) + 83f4022e: fd6a sd s10,184(sp) + 83f40230: e1ee sd s11,192(sp) + 83f40232: e5f2 sd t3,200(sp) + 83f40234: e9f6 sd t4,208(sp) + 83f40236: edfa sd t5,216(sp) + 83f40238: f1fe sd t6,224(sp) + 83f4023a: 300022f3 csrr t0,mstatus + 83f4023e: f596 sd t0,232(sp) + 83f40240: 716d addi sp,sp,-272 + 83f40242: a402 fsd ft0,8(sp) + 83f40244: a806 fsd ft1,16(sp) + 83f40246: ac0a fsd ft2,24(sp) + 83f40248: b00e fsd ft3,32(sp) + 83f4024a: b412 fsd ft4,40(sp) + 83f4024c: b816 fsd ft5,48(sp) + 83f4024e: bc1a fsd ft6,56(sp) + 83f40250: a09e fsd ft7,64(sp) + 83f40252: a4a2 fsd fs0,72(sp) + 83f40254: a8a6 fsd fs1,80(sp) + 83f40256: acaa fsd fa0,88(sp) + 83f40258: b0ae fsd fa1,96(sp) + 83f4025a: b4b2 fsd fa2,104(sp) + 83f4025c: b8b6 fsd fa3,112(sp) + 83f4025e: bcba fsd fa4,120(sp) + 83f40260: a13e fsd fa5,128(sp) + 83f40262: a542 fsd fa6,136(sp) + 83f40264: a946 fsd fa7,144(sp) + 83f40266: ad4a fsd fs2,152(sp) + 83f40268: b14e fsd fs3,160(sp) + 83f4026a: b552 fsd fs4,168(sp) + 83f4026c: b956 fsd fs5,176(sp) + 83f4026e: bd5a fsd fs6,184(sp) + 83f40270: a1de fsd fs7,192(sp) + 83f40272: a5e2 fsd fs8,200(sp) + 83f40274: a9e6 fsd fs9,208(sp) + 83f40276: adea fsd fs10,216(sp) + 83f40278: b1ee fsd fs11,224(sp) + 83f4027a: b5f2 fsd ft8,232(sp) + 83f4027c: b9f6 fsd ft9,240(sp) + 83f4027e: bdfa fsd ft10,248(sp) + 83f40280: a27e fsd ft11,256(sp) + 83f40282: 003022f3 frsr t0 + 83f40286: e616 sd t0,264(sp) + 83f40288: 00020297 auipc t0,0x20 + 83f4028c: a002b283 ld t0,-1536(t0) # 83f5fc88 + 83f40290: 0022b023 sd sp,0(t0) + 83f40294: 34202573 csrr a0,mcause + 83f40298: 341025f3 csrr a1,mepc + +0000000083f4029c : + 83f4029c: 03f55613 srli a2,a0,0x3f + 83f402a0: c62d beqz a2,83f4030a + 83f402a2: e02e sd a1,0(sp) + +0000000083f402a4 : + 83f402a4: 00100293 li t0,1 + 83f402a8: 12fe slli t0,t0,0x3f + 83f402aa: 00728313 addi t1,t0,7 + 83f402ae: 04651463 bne a0,t1,83f402f6 + 83f402b2: 00020297 auipc t0,0x20 + 83f402b6: a762b283 ld t0,-1418(t0) # 83f5fd28 + 83f402ba: 00013317 auipc t1,0x13 + 83f402be: f1e33303 ld t1,-226(t1) # 83f531d8 + 83f402c2: 00033383 ld t2,0(t1) + 83f402c6: 0072a023 sw t2,0(t0) + 83f402ca: 0203de13 srli t3,t2,0x20 + 83f402ce: 01c2a223 sw t3,4(t0) + 83f402d2: 00012297 auipc t0,0x12 + 83f402d6: 1b62b283 ld t0,438(t0) # 83f52488 + 83f402da: 00728eb3 add t4,t0,t2 + 83f402de: 01d33023 sd t4,0(t1) + 83f402e2: 00012117 auipc sp,0x12 + 83f402e6: 1ae13103 ld sp,430(sp) # 83f52490 + 83f402ea: 1660f0ef jal ra,83f4f450 + 83f402ee: c521 beqz a0,83f40336 + 83f402f0: 18c0f0ef jal ra,83f4f47c + 83f402f4: a089 j 83f40336 + +0000000083f402f6 : + 83f402f6: 0311 addi t1,t1,4 + 83f402f8: 02651c63 bne a0,t1,83f40330 + 83f402fc: 00012117 auipc sp,0x12 + 83f40300: 19413103 ld sp,404(sp) # 83f52490 + 83f40304: 2240c0ef jal ra,83f4c528 + 83f40308: a03d j 83f40336 + +0000000083f4030a : + 83f4030a: 0591 addi a1,a1,4 + 83f4030c: e02e sd a1,0(sp) + +0000000083f4030e : + 83f4030e: 42ad li t0,11 + 83f40310: 00551963 bne a0,t0,83f40322 + 83f40314: 00012117 auipc sp,0x12 + 83f40318: 17c13103 ld sp,380(sp) # 83f52490 + 83f4031c: 1600f0ef jal ra,83f4f47c + 83f40320: a819 j 83f40336 + +0000000083f40322 : + 83f40322: 342022f3 csrr t0,mcause + 83f40326: 34102373 csrr t1,mepc + 83f4032a: 300023f3 csrr t2,mstatus + 83f4032e: bfd5 j 83f40322 + +0000000083f40330 : + 83f40330: 342022f3 csrr t0,mcause + 83f40334: bff5 j 83f40330 + +0000000083f40336 : + 83f40336: 00020317 auipc t1,0x20 + 83f4033a: 95233303 ld t1,-1710(t1) # 83f5fc88 + 83f4033e: 00033103 ld sp,0(t1) + 83f40342: 6282 ld t0,0(sp) + 83f40344: 34129073 csrw mepc,t0 + 83f40348: 2022 fld ft0,8(sp) + 83f4034a: 20c2 fld ft1,16(sp) + 83f4034c: 2162 fld ft2,24(sp) + 83f4034e: 3182 fld ft3,32(sp) + 83f40350: 3222 fld ft4,40(sp) + 83f40352: 32c2 fld ft5,48(sp) + 83f40354: 3362 fld ft6,56(sp) + 83f40356: 2386 fld ft7,64(sp) + 83f40358: 2426 fld fs0,72(sp) + 83f4035a: 24c6 fld fs1,80(sp) + 83f4035c: 2566 fld fa0,88(sp) + 83f4035e: 3586 fld fa1,96(sp) + 83f40360: 3626 fld fa2,104(sp) + 83f40362: 36c6 fld fa3,112(sp) + 83f40364: 3766 fld fa4,120(sp) + 83f40366: 278a fld fa5,128(sp) + 83f40368: 282a fld fa6,136(sp) + 83f4036a: 28ca fld fa7,144(sp) + 83f4036c: 296a fld fs2,152(sp) + 83f4036e: 398a fld fs3,160(sp) + 83f40370: 3a2a fld fs4,168(sp) + 83f40372: 3aca fld fs5,176(sp) + 83f40374: 3b6a fld fs6,184(sp) + 83f40376: 2b8e fld fs7,192(sp) + 83f40378: 2c2e fld fs8,200(sp) + 83f4037a: 2cce fld fs9,208(sp) + 83f4037c: 2d6e fld fs10,216(sp) + 83f4037e: 3d8e fld fs11,224(sp) + 83f40380: 3e2e fld ft8,232(sp) + 83f40382: 3ece fld ft9,240(sp) + 83f40384: 3f6e fld ft10,248(sp) + 83f40386: 2f92 fld ft11,256(sp) + 83f40388: 62b2 ld t0,264(sp) + 83f4038a: 00329073 fssr t0 + 83f4038e: 6151 addi sp,sp,272 + 83f40390: 72ae ld t0,232(sp) + 83f40392: 30029073 csrw mstatus,t0 + 83f40396: 60a2 ld ra,8(sp) + 83f40398: 62c2 ld t0,16(sp) + 83f4039a: 6362 ld t1,24(sp) + 83f4039c: 7382 ld t2,32(sp) + 83f4039e: 7422 ld s0,40(sp) + 83f403a0: 74c2 ld s1,48(sp) + 83f403a2: 7562 ld a0,56(sp) + 83f403a4: 6586 ld a1,64(sp) + 83f403a6: 6626 ld a2,72(sp) + 83f403a8: 66c6 ld a3,80(sp) + 83f403aa: 6766 ld a4,88(sp) + 83f403ac: 7786 ld a5,96(sp) + 83f403ae: 7826 ld a6,104(sp) + 83f403b0: 78c6 ld a7,112(sp) + 83f403b2: 7966 ld s2,120(sp) + 83f403b4: 698a ld s3,128(sp) + 83f403b6: 6a2a ld s4,136(sp) + 83f403b8: 6aca ld s5,144(sp) + 83f403ba: 6b6a ld s6,152(sp) + 83f403bc: 7b8a ld s7,160(sp) + 83f403be: 7c2a ld s8,168(sp) + 83f403c0: 7cca ld s9,176(sp) + 83f403c2: 7d6a ld s10,184(sp) + 83f403c4: 6d8e ld s11,192(sp) + 83f403c6: 6e2e ld t3,200(sp) + 83f403c8: 6ece ld t4,208(sp) + 83f403ca: 6f6e ld t5,216(sp) + 83f403cc: 7f8e ld t6,224(sp) + 83f403ce: 616d addi sp,sp,240 + 83f403d0: 30200073 mret + 83f403d4: 00000013 nop + 83f403d8: 00000013 nop + 83f403dc: 00000013 nop + 83f403e0: 00000013 nop + 83f403e4: 00000013 nop + 83f403e8: 00000013 nop + 83f403ec: 00000013 nop + 83f403f0: 00000013 nop + 83f403f4: 00000013 nop + 83f403f8: 00000013 nop + 83f403fc: 00000013 nop + +0000000083f40400 : + 83f40400: 00000297 auipc t0,0x0 + 83f40404: e0028293 addi t0,t0,-512 # 83f40200 + 83f40408: 30529073 csrw mtvec,t0 + 83f4040c: 00020117 auipc sp,0x20 + 83f40410: 87c13103 ld sp,-1924(sp) # 83f5fc88 + 83f40414: 6102 ld sp,0(sp) + 83f40416: 6082 ld ra,0(sp) + 83f40418: 2022 fld ft0,8(sp) + 83f4041a: 20c2 fld ft1,16(sp) + 83f4041c: 2162 fld ft2,24(sp) + 83f4041e: 3182 fld ft3,32(sp) + 83f40420: 3222 fld ft4,40(sp) + 83f40422: 32c2 fld ft5,48(sp) + 83f40424: 3362 fld ft6,56(sp) + 83f40426: 2386 fld ft7,64(sp) + 83f40428: 2426 fld fs0,72(sp) + 83f4042a: 24c6 fld fs1,80(sp) + 83f4042c: 2566 fld fa0,88(sp) + 83f4042e: 3586 fld fa1,96(sp) + 83f40430: 3626 fld fa2,104(sp) + 83f40432: 36c6 fld fa3,112(sp) + 83f40434: 3766 fld fa4,120(sp) + 83f40436: 278a fld fa5,128(sp) + 83f40438: 282a fld fa6,136(sp) + 83f4043a: 28ca fld fa7,144(sp) + 83f4043c: 296a fld fs2,152(sp) + 83f4043e: 398a fld fs3,160(sp) + 83f40440: 3a2a fld fs4,168(sp) + 83f40442: 3aca fld fs5,176(sp) + 83f40444: 3b6a fld fs6,184(sp) + 83f40446: 2b8e fld fs7,192(sp) + 83f40448: 2c2e fld fs8,200(sp) + 83f4044a: 2cce fld fs9,208(sp) + 83f4044c: 2d6e fld fs10,216(sp) + 83f4044e: 3d8e fld fs11,224(sp) + 83f40450: 3e2e fld ft8,232(sp) + 83f40452: 3ece fld ft9,240(sp) + 83f40454: 3f6e fld ft10,248(sp) + 83f40456: 2f92 fld ft11,256(sp) + 83f40458: 62b2 ld t0,264(sp) + 83f4045a: 00329073 fssr t0 + 83f4045e: 6151 addi sp,sp,272 + 83f40460: 6362 ld t1,24(sp) + 83f40462: 7382 ld t2,32(sp) + 83f40464: 7422 ld s0,40(sp) + 83f40466: 74c2 ld s1,48(sp) + 83f40468: 7562 ld a0,56(sp) + 83f4046a: 6586 ld a1,64(sp) + 83f4046c: 6626 ld a2,72(sp) + 83f4046e: 66c6 ld a3,80(sp) + 83f40470: 6766 ld a4,88(sp) + 83f40472: 7786 ld a5,96(sp) + 83f40474: 7826 ld a6,104(sp) + 83f40476: 78c6 ld a7,112(sp) + 83f40478: 7966 ld s2,120(sp) + 83f4047a: 698a ld s3,128(sp) + 83f4047c: 6a2a ld s4,136(sp) + 83f4047e: 6aca ld s5,144(sp) + 83f40480: 6b6a ld s6,152(sp) + 83f40482: 7b8a ld s7,160(sp) + 83f40484: 7c2a ld s8,168(sp) + 83f40486: 7cca ld s9,176(sp) + 83f40488: 7d6a ld s10,184(sp) + 83f4048a: 6d8e ld s11,192(sp) + 83f4048c: 6e2e ld t3,200(sp) + 83f4048e: 6ece ld t4,208(sp) + 83f40490: 6f6e ld t5,216(sp) + 83f40492: 7f8e ld t6,224(sp) + 83f40494: 72ae ld t0,232(sp) + 83f40496: 02a1 addi t0,t0,8 + 83f40498: 30029073 csrw mstatus,t0 + 83f4049c: 62c2 ld t0,16(sp) + 83f4049e: 616d addi sp,sp,240 + 83f404a0: 8082 ret + 83f404a2: 00000013 nop + 83f404a6: 00000013 nop + 83f404aa: 00000013 nop + 83f404ae: 00000013 nop + 83f404b2: 00000013 nop + 83f404b6: 00000013 nop + 83f404ba: 00000013 nop + 83f404be: 00000013 nop + 83f404c2: 00000013 nop + 83f404c6: 00000013 nop + 83f404ca: 00000013 nop + 83f404ce: 00000013 nop + 83f404d2: 00000013 nop + 83f404d6: 00000013 nop + 83f404da: 00000013 nop + 83f404de: 00000013 nop + 83f404e2: 00000013 nop + 83f404e6: 00000013 nop + 83f404ea: 00000013 nop + 83f404ee: 00000013 nop + 83f404f2: 00000013 nop + 83f404f6: 00000013 nop + 83f404fa: 00000013 nop + 83f404fe: 0001 nop + +0000000083f40500 : + 83f40500: 300022f3 csrr t0,mstatus + 83f40504: ff72f293 andi t0,t0,-9 + 83f40508: 18800313 li t1,392 + 83f4050c: 0312 slli t1,t1,0x4 + 83f4050e: 0062e2b3 or t0,t0,t1 + 83f40512: 1561 addi a0,a0,-8 + 83f40514: 00553023 sd t0,0(a0) + 83f40518: f5050513 addi a0,a0,-176 + 83f4051c: e110 sd a2,0(a0) + 83f4051e: fd050513 addi a0,a0,-48 + 83f40522: 00053023 sd zero,0(a0) + 83f40526: 02200293 li t0,34 + +0000000083f4052a : + 83f4052a: 00028763 beqz t0,83f40538 + 83f4052e: 1561 addi a0,a0,-8 + 83f40530: 00053023 sd zero,0(a0) + 83f40534: 12fd addi t0,t0,-1 + 83f40536: bfd5 j 83f4052a + 83f40538: 1561 addi a0,a0,-8 + 83f4053a: e10c sd a1,0(a0) + 83f4053c: 8082 ret + ... + +0000000083f40590 : + 83f40590: e20507d3 fmv.x.d a5,fa0 + 83f40594: 1101 addi sp,sp,-32 + 83f40596: e426 sd s1,8(sp) + 83f40598: 4207d493 srai s1,a5,0x20 + 83f4059c: e822 sd s0,16(sp) + 83f4059e: 02149413 slli s0,s1,0x21 + 83f405a2: ec06 sd ra,24(sp) + 83f405a4: 44100737 lui a4,0x44100 + 83f405a8: 9005 srli s0,s0,0x21 + 83f405aa: 02e44f63 blt s0,a4,83f405e8 + 83f405ae: 7ff00737 lui a4,0x7ff00 + 83f405b2: 02874263 blt a4,s0,83f405d6 + 83f405b6: 00e40d63 beq s0,a4,83f405d0 + 83f405ba: 12905663 blez s1,83f406e6 + 83f405be: 60e2 ld ra,24(sp) + 83f405c0: 6442 ld s0,16(sp) + 83f405c2: 64a2 ld s1,8(sp) + 83f405c4: 00012797 auipc a5,0x12 + 83f405c8: e447b507 fld fa0,-444(a5) # 83f52408 <__func__.1+0x210> + 83f405cc: 6105 addi sp,sp,32 + 83f405ce: 8082 ret + 83f405d0: 0007869b sext.w a3,a5 + 83f405d4: d2fd beqz a3,83f405ba + 83f405d6: f20787d3 fmv.d.x fa5,a5 + 83f405da: 02f7f553 fadd.d fa0,fa5,fa5 + 83f405de: 60e2 ld ra,24(sp) + 83f405e0: 6442 ld s0,16(sp) + 83f405e2: 64a2 ld s1,8(sp) + 83f405e4: 6105 addi sp,sp,32 + 83f405e6: 8082 ret + 83f405e8: 3fdc0737 lui a4,0x3fdc0 + 83f405ec: 10e45663 bge s0,a4,83f406f8 + 83f405f0: 3e200737 lui a4,0x3e200 + 83f405f4: 0ce44b63 blt s0,a4,83f406ca + 83f405f8: 577d li a4,-1 + 83f405fa: f20786d3 fmv.d.x fa3,a5 + 83f405fe: 00012697 auipc a3,0x12 + 83f40602: ec26b787 fld fa5,-318(a3) # 83f524c0 + 83f40606: 00012697 auipc a3,0x12 + 83f4060a: ec26b507 fld fa0,-318(a3) # 83f524c8 + 83f4060e: 12d6f653 fmul.d fa2,fa3,fa3 + 83f40612: 00012697 auipc a3,0x12 + 83f40616: ede6b707 fld fa4,-290(a3) # 83f524f0 + 83f4061a: 00012697 auipc a3,0x12 + 83f4061e: ede6b307 fld ft6,-290(a3) # 83f524f8 + 83f40622: 00012697 auipc a3,0x12 + 83f40626: eae6b287 fld ft5,-338(a3) # 83f524d0 + 83f4062a: 00012697 auipc a3,0x12 + 83f4062e: ed66b207 fld ft4,-298(a3) # 83f52500 + 83f40632: 00012697 auipc a3,0x12 + 83f40636: ea66b187 fld ft3,-346(a3) # 83f524d8 + 83f4063a: 00012697 auipc a3,0x12 + 83f4063e: ece6b107 fld ft2,-306(a3) # 83f52508 + 83f40642: 12c676d3 fmul.d fa3,fa2,fa2 + 83f40646: 00012697 auipc a3,0x12 + 83f4064a: e9a6b087 fld ft1,-358(a3) # 83f524e0 + 83f4064e: 00012697 auipc a3,0x12 + 83f40652: ec26b007 fld ft0,-318(a3) # 83f52510 + 83f40656: 00012697 auipc a3,0x12 + 83f4065a: e926b587 fld fa1,-366(a3) # 83f524e8 + 83f4065e: 56fd li a3,-1 + 83f40660: 52f6f543 fmadd.d fa0,fa3,fa5,fa0 + 83f40664: 32e6f7c3 fmadd.d fa5,fa3,fa4,ft6 + 83f40668: 2ad57543 fmadd.d fa0,fa0,fa3,ft5 + 83f4066c: 22d7f7c3 fmadd.d fa5,fa5,fa3,ft4 + 83f40670: 1ad57543 fmadd.d fa0,fa0,fa3,ft3 + 83f40674: 12d7f7c3 fmadd.d fa5,fa5,fa3,ft2 + 83f40678: 0ad57543 fmadd.d fa0,fa0,fa3,ft1 + 83f4067c: 02d7f7c3 fmadd.d fa5,fa5,fa3,ft0 + 83f40680: 5ad57543 fmadd.d fa0,fa0,fa3,fa1 + 83f40684: 12d7f7d3 fmul.d fa5,fa5,fa3 + 83f40688: 7ac57543 fmadd.d fa0,fa0,fa2,fa5 + 83f4068c: f20787d3 fmv.d.x fa5,a5 + 83f40690: 12a7f553 fmul.d fa0,fa5,fa0 + 83f40694: 08d70e63 beq a4,a3,83f40730 + 83f40698: 070e slli a4,a4,0x3 + 83f4069a: 00010697 auipc a3,0x10 + 83f4069e: 33e68693 addi a3,a3,830 # 83f509d8 + 83f406a2: 9736 add a4,a4,a3 + 83f406a4: 3318 fld fa4,32(a4) + 83f406a6: 231c fld fa5,0(a4) + 83f406a8: 0ae57553 fsub.d fa0,fa0,fa4 + 83f406ac: f2078753 fmv.d.x fa4,a5 + 83f406b0: 0ae57553 fsub.d fa0,fa0,fa4 + 83f406b4: 0aa7f553 fsub.d fa0,fa5,fa0 + 83f406b8: f204d3e3 bgez s1,83f405de + 83f406bc: 60e2 ld ra,24(sp) + 83f406be: 6442 ld s0,16(sp) + 83f406c0: 64a2 ld s1,8(sp) + 83f406c2: 22a51553 fneg.d fa0,fa0 + 83f406c6: 6105 addi sp,sp,32 + 83f406c8: 8082 ret + 83f406ca: 00012717 auipc a4,0x12 + 83f406ce: dd673787 fld fa5,-554(a4) # 83f524a0 + 83f406d2: 02f577d3 fadd.d fa5,fa0,fa5 + 83f406d6: 00012717 auipc a4,0x12 + 83f406da: c3a73707 fld fa4,-966(a4) # 83f52310 <__func__.1+0x118> + 83f406de: a2f71753 flt.d a4,fa4,fa5 + 83f406e2: db19 beqz a4,83f405f8 + 83f406e4: bded j 83f405de + 83f406e6: 60e2 ld ra,24(sp) + 83f406e8: 6442 ld s0,16(sp) + 83f406ea: 64a2 ld s1,8(sp) + 83f406ec: 00012797 auipc a5,0x12 + 83f406f0: dac7b507 fld fa0,-596(a5) # 83f52498 + 83f406f4: 6105 addi sp,sp,32 + 83f406f6: 8082 ret + 83f406f8: 250000ef jal ra,83f40948 + 83f406fc: 3ff307b7 lui a5,0x3ff30 + 83f40700: 02f45f63 bge s0,a5,83f4073e + 83f40704: 3fe607b7 lui a5,0x3fe60 + 83f40708: 06f45b63 bge s0,a5,83f4077e + 83f4070c: 00012797 auipc a5,0x12 + 83f40710: d9c7b707 fld fa4,-612(a5) # 83f524a8 + 83f40714: 00012797 auipc a5,0x12 + 83f40718: d9c7b787 fld fa5,-612(a5) # 83f524b0 + 83f4071c: 7ae577c3 fmadd.d fa5,fa0,fa4,fa5 + 83f40720: 02e57553 fadd.d fa0,fa0,fa4 + 83f40724: 4701 li a4,0 + 83f40726: 1aa7f7d3 fdiv.d fa5,fa5,fa0 + 83f4072a: e20787d3 fmv.x.d a5,fa5 + 83f4072e: b5f1 j 83f405fa + 83f40730: 60e2 ld ra,24(sp) + 83f40732: 6442 ld s0,16(sp) + 83f40734: 64a2 ld s1,8(sp) + 83f40736: 0aa7f553 fsub.d fa0,fa5,fa0 + 83f4073a: 6105 addi sp,sp,32 + 83f4073c: 8082 ret + 83f4073e: 400387b7 lui a5,0x40038 + 83f40742: 02f45463 bge s0,a5,83f4076a + 83f40746: 00012797 auipc a5,0x12 + 83f4074a: d727b787 fld fa5,-654(a5) # 83f524b8 + 83f4074e: 00012797 auipc a5,0x12 + 83f40752: bc27b687 fld fa3,-1086(a5) # 83f52310 <__func__.1+0x118> + 83f40756: 0af57753 fsub.d fa4,fa0,fa5 + 83f4075a: 6af57543 fmadd.d fa0,fa0,fa5,fa3 + 83f4075e: 4709 li a4,2 + 83f40760: 1aa777d3 fdiv.d fa5,fa4,fa0 + 83f40764: e20787d3 fmv.x.d a5,fa5 + 83f40768: bd49 j 83f405fa + 83f4076a: 00012797 auipc a5,0x12 + 83f4076e: d467b787 fld fa5,-698(a5) # 83f524b0 + 83f40772: 1aa7f7d3 fdiv.d fa5,fa5,fa0 + 83f40776: 470d li a4,3 + 83f40778: e20787d3 fmv.x.d a5,fa5 + 83f4077c: bdbd j 83f405fa + 83f4077e: 00012797 auipc a5,0x12 + 83f40782: b927b787 fld fa5,-1134(a5) # 83f52310 <__func__.1+0x118> + 83f40786: 0af57753 fsub.d fa4,fa0,fa5 + 83f4078a: 02f57553 fadd.d fa0,fa0,fa5 + 83f4078e: 4705 li a4,1 + 83f40790: 1aa777d3 fdiv.d fa5,fa4,fa0 + 83f40794: e20787d3 fmv.x.d a5,fa5 + 83f40798: b58d j 83f405fa + +0000000083f4079a : + 83f4079a: e20507d3 fmv.x.d a5,fa0 + 83f4079e: 464d li a2,19 + 83f407a0: 4347d713 srai a4,a5,0x34 + 83f407a4: 7ff77713 andi a4,a4,2047 + 83f407a8: c017081b addiw a6,a4,-1023 + 83f407ac: 4207d893 srai a7,a5,0x20 + 83f407b0: 0007851b sext.w a0,a5 + 83f407b4: 09064863 blt a2,a6,83f40844 + 83f407b8: 06084163 bltz a6,83f4081a + 83f407bc: 00100737 lui a4,0x100 + 83f407c0: fff7059b addiw a1,a4,-1 + 83f407c4: 4105d5bb sraw a1,a1,a6 + 83f407c8: 00b8f6b3 and a3,a7,a1 + 83f407cc: 8ec9 or a3,a3,a0 + 83f407ce: 2681 sext.w a3,a3 + 83f407d0: e2050653 fmv.x.d a2,fa0 + 83f407d4: c2a1 beqz a3,83f40814 + 83f407d6: 00012697 auipc a3,0x12 + 83f407da: cca6b787 fld fa5,-822(a3) # 83f524a0 + 83f407de: 02f577d3 fadd.d fa5,fa0,fa5 + 83f407e2: f2000753 fmv.d.x fa4,zero + 83f407e6: a2f717d3 flt.d a5,fa4,fa5 + 83f407ea: cf91 beqz a5,83f40806 + 83f407ec: 01105663 blez a7,83f407f8 + 83f407f0: 4107573b sraw a4,a4,a6 + 83f407f4: 011708bb addw a7,a4,a7 + 83f407f8: fff5c713 not a4,a1 + 83f407fc: 01177733 and a4,a4,a7 + 83f40800: 0007089b sext.w a7,a4 + 83f40804: 4501 li a0,0 + 83f40806: 02051793 slli a5,a0,0x20 + 83f4080a: 9381 srli a5,a5,0x20 + 83f4080c: 02089713 slli a4,a7,0x20 + 83f40810: 00f76633 or a2,a4,a5 + 83f40814: f2060553 fmv.d.x fa0,a2 + 83f40818: 8082 ret + 83f4081a: 00012717 auipc a4,0x12 + 83f4081e: c8673787 fld fa5,-890(a4) # 83f524a0 + 83f40822: 02f577d3 fadd.d fa5,fa0,fa5 + 83f40826: f2000753 fmv.d.x fa4,zero + 83f4082a: a2f717d3 flt.d a5,fa4,fa5 + 83f4082e: dfe1 beqz a5,83f40806 + 83f40830: 0808cb63 bltz a7,83f408c6 + 83f40834: 00a8e6b3 or a3,a7,a0 + 83f40838: 4501 li a0,0 + 83f4083a: 3ff008b7 lui a7,0x3ff00 + 83f4083e: f6e1 bnez a3,83f40806 + 83f40840: 4881 li a7,0 + 83f40842: b7d1 j 83f40806 + 83f40844: 03300613 li a2,51 + 83f40848: 01065d63 bge a2,a6,83f40862 + 83f4084c: 40000713 li a4,1024 + 83f40850: e2050653 fmv.x.d a2,fa0 + 83f40854: fce810e3 bne a6,a4,83f40814 + 83f40858: 02a577d3 fadd.d fa5,fa0,fa0 + 83f4085c: e2078653 fmv.x.d a2,fa5 + 83f40860: bf55 j 83f40814 + 83f40862: 567d li a2,-1 + 83f40864: bed7071b addiw a4,a4,-1043 + 83f40868: 00e6573b srlw a4,a2,a4 + 83f4086c: 00e57e33 and t3,a0,a4 + 83f40870: 2e01 sext.w t3,t3 + 83f40872: e2050653 fmv.x.d a2,fa0 + 83f40876: f80e0fe3 beqz t3,83f40814 + 83f4087a: 00012617 auipc a2,0x12 + 83f4087e: c2663787 fld fa5,-986(a2) # 83f524a0 + 83f40882: 02f577d3 fadd.d fa5,fa0,fa5 + 83f40886: f2000753 fmv.d.x fa4,zero + 83f4088a: a2f717d3 flt.d a5,fa4,fa5 + 83f4088e: dfa5 beqz a5,83f40806 + 83f40890: 03105263 blez a7,83f408b4 + 83f40894: 47d1 li a5,20 + 83f40896: 02f80663 beq a6,a5,83f408c2 + 83f4089a: 03400793 li a5,52 + 83f4089e: 410787bb subw a5,a5,a6 + 83f408a2: 4585 li a1,1 + 83f408a4: 00f595bb sllw a1,a1,a5 + 83f408a8: 00a586bb addw a3,a1,a0 + 83f408ac: 02a6f163 bgeu a3,a0,83f408ce + 83f408b0: 2885 addiw a7,a7,1 + 83f408b2: 8536 mv a0,a3 + 83f408b4: fff74713 not a4,a4 + 83f408b8: 00a777b3 and a5,a4,a0 + 83f408bc: 0007851b sext.w a0,a5 + 83f408c0: b799 j 83f40806 + 83f408c2: 2885 addiw a7,a7,1 + 83f408c4: bfc5 j 83f408b4 + 83f408c6: 4501 li a0,0 + 83f408c8: 800008b7 lui a7,0x80000 + 83f408cc: bf2d j 83f40806 + 83f408ce: 8536 mv a0,a3 + 83f408d0: b7d5 j 83f408b4 + +0000000083f408d2 : + 83f408d2: e20507d3 fmv.x.d a5,fa0 + 83f408d6: 3fe926b7 lui a3,0x3fe92 + 83f408da: 1fb68693 addi a3,a3,507 # 3fe921fb + 83f408de: 00179713 slli a4,a5,0x1 + 83f408e2: 9305 srli a4,a4,0x21 + 83f408e4: 02e6de63 bge a3,a4,83f40920 + 83f408e8: 7ff006b7 lui a3,0x7ff00 + 83f408ec: 00d74563 blt a4,a3,83f408f6 + 83f408f0: 0aa57553 fsub.d fa0,fa0,fa0 + 83f408f4: 8082 ret + 83f408f6: 1101 addi sp,sp,-32 + 83f408f8: 850a mv a0,sp + 83f408fa: ec06 sd ra,24(sp) + 83f408fc: 372010ef jal ra,83f41c6e <__ieee754_rem_pio2> + 83f40900: 890d andi a0,a0,3 + 83f40902: 4785 li a5,1 + 83f40904: 02f50263 beq a0,a5,83f40928 + 83f40908: 4789 li a5,2 + 83f4090a: 25a2 fld fa1,8(sp) + 83f4090c: 2502 fld fa0,0(sp) + 83f4090e: 02f50863 beq a0,a5,83f4093e + 83f40912: c11d beqz a0,83f40938 + 83f40914: 4505 li a0,1 + 83f40916: 09a020ef jal ra,83f429b0 <__kernel_sin> + 83f4091a: 60e2 ld ra,24(sp) + 83f4091c: 6105 addi sp,sp,32 + 83f4091e: 8082 ret + 83f40920: f20005d3 fmv.d.x fa1,zero + 83f40924: 7ec0106f j 83f42110 <__kernel_cos> + 83f40928: 25a2 fld fa1,8(sp) + 83f4092a: 2502 fld fa0,0(sp) + 83f4092c: 4505 li a0,1 + 83f4092e: 082020ef jal ra,83f429b0 <__kernel_sin> + 83f40932: 22a51553 fneg.d fa0,fa0 + 83f40936: b7d5 j 83f4091a + 83f40938: 7d8010ef jal ra,83f42110 <__kernel_cos> + 83f4093c: bff9 j 83f4091a + 83f4093e: 7d2010ef jal ra,83f42110 <__kernel_cos> + 83f40942: 22a51553 fneg.d fa0,fa0 + 83f40946: bfd1 j 83f4091a + +0000000083f40948 : + 83f40948: e20506d3 fmv.x.d a3,fa0 + 83f4094c: 57fd li a5,-1 + 83f4094e: 9381 srli a5,a5,0x20 + 83f40950: 00169713 slli a4,a3,0x1 + 83f40954: 9305 srli a4,a4,0x21 + 83f40956: 1702 slli a4,a4,0x20 + 83f40958: 8ff5 and a5,a5,a3 + 83f4095a: 8fd9 or a5,a5,a4 + 83f4095c: f2078553 fmv.d.x fa0,a5 + 83f40960: 8082 ret + +0000000083f40962 : + 83f40962: e20507d3 fmv.x.d a5,fa0 + 83f40966: 464d li a2,19 + 83f40968: 4347d713 srai a4,a5,0x34 + 83f4096c: 7ff77713 andi a4,a4,2047 + 83f40970: c017081b addiw a6,a4,-1023 + 83f40974: 4207d893 srai a7,a5,0x20 + 83f40978: 0007851b sext.w a0,a5 + 83f4097c: 09064363 blt a2,a6,83f40a02 + 83f40980: 06084163 bltz a6,83f409e2 + 83f40984: 001005b7 lui a1,0x100 + 83f40988: fff5869b addiw a3,a1,-1 + 83f4098c: 4106d6bb sraw a3,a3,a6 + 83f40990: 00d8f733 and a4,a7,a3 + 83f40994: 8f49 or a4,a4,a0 + 83f40996: 2701 sext.w a4,a4 + 83f40998: e2050653 fmv.x.d a2,fa0 + 83f4099c: c321 beqz a4,83f409dc + 83f4099e: 00012717 auipc a4,0x12 + 83f409a2: b0273787 fld fa5,-1278(a4) # 83f524a0 + 83f409a6: 02f577d3 fadd.d fa5,fa0,fa5 + 83f409aa: f2000753 fmv.d.x fa4,zero + 83f409ae: a2f717d3 flt.d a5,fa4,fa5 + 83f409b2: cf91 beqz a5,83f409ce + 83f409b4: 0008d663 bgez a7,83f409c0 + 83f409b8: 4105d73b sraw a4,a1,a6 + 83f409bc: 011708bb addw a7,a4,a7 + 83f409c0: fff6c713 not a4,a3 + 83f409c4: 01177733 and a4,a4,a7 + 83f409c8: 0007089b sext.w a7,a4 + 83f409cc: 4501 li a0,0 + 83f409ce: 02051793 slli a5,a0,0x20 + 83f409d2: 9381 srli a5,a5,0x20 + 83f409d4: 02089713 slli a4,a7,0x20 + 83f409d8: 00f76633 or a2,a4,a5 + 83f409dc: f2060553 fmv.d.x fa0,a2 + 83f409e0: 8082 ret + 83f409e2: 00012717 auipc a4,0x12 + 83f409e6: abe73787 fld fa5,-1346(a4) # 83f524a0 + 83f409ea: 02f577d3 fadd.d fa5,fa0,fa5 + 83f409ee: f2000753 fmv.d.x fa4,zero + 83f409f2: a2f717d3 flt.d a5,fa4,fa5 + 83f409f6: dfe1 beqz a5,83f409ce + 83f409f8: 0608c463 bltz a7,83f40a60 + 83f409fc: 4501 li a0,0 + 83f409fe: 4881 li a7,0 + 83f40a00: b7f9 j 83f409ce + 83f40a02: 03300613 li a2,51 + 83f40a06: 01065d63 bge a2,a6,83f40a20 + 83f40a0a: 40000713 li a4,1024 + 83f40a0e: e2050653 fmv.x.d a2,fa0 + 83f40a12: fce815e3 bne a6,a4,83f409dc + 83f40a16: 02a577d3 fadd.d fa5,fa0,fa0 + 83f40a1a: e2078653 fmv.x.d a2,fa5 + 83f40a1e: bf7d j 83f409dc + 83f40a20: 567d li a2,-1 + 83f40a22: bed7071b addiw a4,a4,-1043 + 83f40a26: 00e6573b srlw a4,a2,a4 + 83f40a2a: 00e57e33 and t3,a0,a4 + 83f40a2e: 2e01 sext.w t3,t3 + 83f40a30: e2050653 fmv.x.d a2,fa0 + 83f40a34: fa0e04e3 beqz t3,83f409dc + 83f40a38: 00012617 auipc a2,0x12 + 83f40a3c: a6863787 fld fa5,-1432(a2) # 83f524a0 + 83f40a40: 02f577d3 fadd.d fa5,fa0,fa5 + 83f40a44: f2000753 fmv.d.x fa4,zero + 83f40a48: a2f717d3 flt.d a5,fa4,fa5 + 83f40a4c: d3c9 beqz a5,83f409ce + 83f40a4e: 0208c463 bltz a7,83f40a76 + 83f40a52: fff74713 not a4,a4 + 83f40a56: 00a777b3 and a5,a4,a0 + 83f40a5a: 0007851b sext.w a0,a5 + 83f40a5e: bf85 j 83f409ce + 83f40a60: 02189313 slli t1,a7,0x21 + 83f40a64: 02135313 srli t1,t1,0x21 + 83f40a68: 006566b3 or a3,a0,t1 + 83f40a6c: 4501 li a0,0 + 83f40a6e: d2a5 beqz a3,83f409ce + 83f40a70: bff008b7 lui a7,0xbff00 + 83f40a74: bfa9 j 83f409ce + 83f40a76: 47d1 li a5,20 + 83f40a78: 02f80063 beq a6,a5,83f40a98 + 83f40a7c: 03400793 li a5,52 + 83f40a80: 410787bb subw a5,a5,a6 + 83f40a84: 4585 li a1,1 + 83f40a86: 00f595bb sllw a1,a1,a5 + 83f40a8a: 00a586bb addw a3,a1,a0 + 83f40a8e: 00a6f763 bgeu a3,a0,83f40a9c + 83f40a92: 2885 addiw a7,a7,1 + 83f40a94: 8536 mv a0,a3 + 83f40a96: bf75 j 83f40a52 + 83f40a98: 2885 addiw a7,a7,1 + 83f40a9a: bf65 j 83f40a52 + 83f40a9c: 8536 mv a0,a3 + 83f40a9e: bf55 j 83f40a52 + +0000000083f40aa0 : + 83f40aa0: e20507d3 fmv.x.d a5,fa0 + 83f40aa4: 484d li a6,19 + 83f40aa6: 4347d693 srai a3,a5,0x34 + 83f40aaa: 7ff6f693 andi a3,a3,2047 + 83f40aae: c016861b addiw a2,a3,-1023 + 83f40ab2: 4207d713 srai a4,a5,0x20 + 83f40ab6: 8532 mv a0,a2 + 83f40ab8: 88ba mv a7,a4 + 83f40aba: 0007859b sext.w a1,a5 + 83f40abe: 04c84c63 blt a6,a2,83f40b16 + 83f40ac2: 02064e63 bltz a2,83f40afe + 83f40ac6: 001006b7 lui a3,0x100 + 83f40aca: 36fd addiw a3,a3,-1 + 83f40acc: 40c6d6bb sraw a3,a3,a2 + 83f40ad0: 8f75 and a4,a4,a3 + 83f40ad2: 8dd9 or a1,a1,a4 + 83f40ad4: 2581 sext.w a1,a1 + 83f40ad6: c18d beqz a1,83f40af8 + 83f40ad8: 00080737 lui a4,0x80 + 83f40adc: 40c7573b sraw a4,a4,a2 + 83f40ae0: 011708bb addw a7,a4,a7 + 83f40ae4: fff6c713 not a4,a3 + 83f40ae8: 01177733 and a4,a4,a7 + 83f40aec: 2701 sext.w a4,a4 + 83f40aee: 4781 li a5,0 + 83f40af0: 1782 slli a5,a5,0x20 + 83f40af2: 9381 srli a5,a5,0x20 + 83f40af4: 1702 slli a4,a4,0x20 + 83f40af6: 8fd9 or a5,a5,a4 + 83f40af8: f2078553 fmv.d.x fa0,a5 + 83f40afc: 8082 ret + 83f40afe: 80000737 lui a4,0x80000 + 83f40b02: 57fd li a5,-1 + 83f40b04: 00e8f733 and a4,a7,a4 + 83f40b08: fef612e3 bne a2,a5,83f40aec + 83f40b0c: 3ff007b7 lui a5,0x3ff00 + 83f40b10: 8f5d or a4,a4,a5 + 83f40b12: 4781 li a5,0 + 83f40b14: bff1 j 83f40af0 + 83f40b16: 03300813 li a6,51 + 83f40b1a: 00c85b63 bge a6,a2,83f40b30 + 83f40b1e: 40000713 li a4,1024 + 83f40b22: fce61be3 bne a2,a4,83f40af8 + 83f40b26: 02a577d3 fadd.d fa5,fa0,fa0 + 83f40b2a: e20787d3 fmv.x.d a5,fa5 + 83f40b2e: b7e9 j 83f40af8 + 83f40b30: 567d li a2,-1 + 83f40b32: bed6869b addiw a3,a3,-1043 + 83f40b36: 00d656bb srlw a3,a2,a3 + 83f40b3a: 00d5f633 and a2,a1,a3 + 83f40b3e: 2601 sext.w a2,a2 + 83f40b40: de45 beqz a2,83f40af8 + 83f40b42: 03300793 li a5,51 + 83f40b46: 40a7853b subw a0,a5,a0 + 83f40b4a: 4785 li a5,1 + 83f40b4c: 00a797bb sllw a5,a5,a0 + 83f40b50: 9fad addw a5,a5,a1 + 83f40b52: 0007861b sext.w a2,a5 + 83f40b56: 00b67363 bgeu a2,a1,83f40b5c + 83f40b5a: 2705 addiw a4,a4,1 + 83f40b5c: fff6c693 not a3,a3 + 83f40b60: 8ff5 and a5,a5,a3 + 83f40b62: 2781 sext.w a5,a5 + 83f40b64: b771 j 83f40af0 + +0000000083f40b66 : + 83f40b66: e20507d3 fmv.x.d a5,fa0 + 83f40b6a: 3fe926b7 lui a3,0x3fe92 + 83f40b6e: 1fb68693 addi a3,a3,507 # 3fe921fb + 83f40b72: 00179713 slli a4,a5,0x1 + 83f40b76: 9305 srli a4,a4,0x21 + 83f40b78: 02e6df63 bge a3,a4,83f40bb6 + 83f40b7c: 7ff006b7 lui a3,0x7ff00 + 83f40b80: 00d74563 blt a4,a3,83f40b8a + 83f40b84: 0aa57553 fsub.d fa0,fa0,fa0 + 83f40b88: 8082 ret + 83f40b8a: 1101 addi sp,sp,-32 + 83f40b8c: 850a mv a0,sp + 83f40b8e: ec06 sd ra,24(sp) + 83f40b90: 0de010ef jal ra,83f41c6e <__ieee754_rem_pio2> + 83f40b94: 890d andi a0,a0,3 + 83f40b96: 4785 li a5,1 + 83f40b98: 02f50463 beq a0,a5,83f40bc0 + 83f40b9c: 4789 li a5,2 + 83f40b9e: 25a2 fld fa1,8(sp) + 83f40ba0: 2502 fld fa0,0(sp) + 83f40ba2: 02f50863 beq a0,a5,83f40bd2 + 83f40ba6: c115 beqz a0,83f40bca + 83f40ba8: 568010ef jal ra,83f42110 <__kernel_cos> + 83f40bac: 22a51553 fneg.d fa0,fa0 + 83f40bb0: 60e2 ld ra,24(sp) + 83f40bb2: 6105 addi sp,sp,32 + 83f40bb4: 8082 ret + 83f40bb6: f20005d3 fmv.d.x fa1,zero + 83f40bba: 4501 li a0,0 + 83f40bbc: 5f50106f j 83f429b0 <__kernel_sin> + 83f40bc0: 25a2 fld fa1,8(sp) + 83f40bc2: 2502 fld fa0,0(sp) + 83f40bc4: 54c010ef jal ra,83f42110 <__kernel_cos> + 83f40bc8: b7e5 j 83f40bb0 + 83f40bca: 4505 li a0,1 + 83f40bcc: 5e5010ef jal ra,83f429b0 <__kernel_sin> + 83f40bd0: b7c5 j 83f40bb0 + 83f40bd2: 4505 li a0,1 + 83f40bd4: 5dd010ef jal ra,83f429b0 <__kernel_sin> + 83f40bd8: 22a51553 fneg.d fa0,fa0 + 83f40bdc: bfd1 j 83f40bb0 + +0000000083f40bde : + 83f40bde: a495 j 83f40e42 <__ieee754_atan2> + +0000000083f40be0 : + 83f40be0: 1101 addi sp,sp,-32 + 83f40be2: a422 fsd fs0,8(sp) + 83f40be4: a026 fsd fs1,0(sp) + 83f40be6: 22a50453 fmv.d fs0,fa0 + 83f40bea: ec06 sd ra,24(sp) + 83f40bec: 440000ef jal ra,83f4102c <__ieee754_exp> + 83f40bf0: 0001f717 auipc a4,0x1f + 83f40bf4: fb072703 lw a4,-80(a4) # 83f5fba0 <__fdlib_version> + 83f40bf8: 57fd li a5,-1 + 83f40bfa: 22a504d3 fmv.d fs1,fa0 + 83f40bfe: 02f70563 beq a4,a5,83f40c28 + 83f40c02: 22840553 fmv.d fa0,fs0 + 83f40c06: 64f010ef jal ra,83f42a54 + 83f40c0a: cd19 beqz a0,83f40c28 + 83f40c0c: 00012797 auipc a5,0x12 + 83f40c10: 9147b787 fld fa5,-1772(a5) # 83f52520 + 83f40c14: a28797d3 flt.d a5,fa5,fs0 + 83f40c18: e79d bnez a5,83f40c46 + 83f40c1a: 00012797 auipc a5,0x12 + 83f40c1e: 90e7b787 fld fa5,-1778(a5) # 83f52528 + 83f40c22: a2f417d3 flt.d a5,fs0,fa5 + 83f40c26: eb81 bnez a5,83f40c36 + 83f40c28: 60e2 ld ra,24(sp) + 83f40c2a: 22948553 fmv.d fa0,fs1 + 83f40c2e: 2422 fld fs0,8(sp) + 83f40c30: 2482 fld fs1,0(sp) + 83f40c32: 6105 addi sp,sp,32 + 83f40c34: 8082 ret + 83f40c36: 0da020ef jal ra,83f42d10 <__errno> + 83f40c3a: 02200793 li a5,34 + 83f40c3e: f20004d3 fmv.d.x fs1,zero + 83f40c42: c11c sw a5,0(a0) + 83f40c44: b7d5 j 83f40c28 + 83f40c46: 0ca020ef jal ra,83f42d10 <__errno> + 83f40c4a: 02200793 li a5,34 + 83f40c4e: c11c sw a5,0(a0) + 83f40c50: 00012797 auipc a5,0x12 + 83f40c54: 8c87b487 fld fs1,-1848(a5) # 83f52518 + 83f40c58: bfc1 j 83f40c28 + +0000000083f40c5a : + 83f40c5a: 1101 addi sp,sp,-32 + 83f40c5c: a422 fsd fs0,8(sp) + 83f40c5e: ec06 sd ra,24(sp) + 83f40c60: 22a50453 fmv.d fs0,fa0 + 83f40c64: 646000ef jal ra,83f412aa <__ieee754_log> + 83f40c68: 0001f717 auipc a4,0x1f + 83f40c6c: f3872703 lw a4,-200(a4) # 83f5fba0 <__fdlib_version> + 83f40c70: 57fd li a5,-1 + 83f40c72: 02f70663 beq a4,a5,83f40c9e + 83f40c76: a28427d3 feq.d a5,fs0,fs0 + 83f40c7a: c395 beqz a5,83f40c9e + 83f40c7c: f20007d3 fmv.d.x fa5,zero + 83f40c80: a28797d3 flt.d a5,fa5,fs0 + 83f40c84: ef89 bnez a5,83f40c9e + 83f40c86: a2f427d3 feq.d a5,fs0,fa5 + 83f40c8a: cf91 beqz a5,83f40ca6 + 83f40c8c: 084020ef jal ra,83f42d10 <__errno> + 83f40c90: 02200793 li a5,34 + 83f40c94: c11c sw a5,0(a0) + 83f40c96: 00012797 auipc a5,0x12 + 83f40c9a: 89a7b507 fld fa0,-1894(a5) # 83f52530 + 83f40c9e: 60e2 ld ra,24(sp) + 83f40ca0: 2422 fld fs0,8(sp) + 83f40ca2: 6105 addi sp,sp,32 + 83f40ca4: 8082 ret + 83f40ca6: 06a020ef jal ra,83f42d10 <__errno> + 83f40caa: 60e2 ld ra,24(sp) + 83f40cac: 2422 fld fs0,8(sp) + 83f40cae: 02100793 li a5,33 + 83f40cb2: c11c sw a5,0(a0) + 83f40cb4: 00011517 auipc a0,0x11 + 83f40cb8: 53c50513 addi a0,a0,1340 # 83f521f0 <__func__.0+0x30> + 83f40cbc: 6105 addi sp,sp,32 + 83f40cbe: 5ab0106f j 83f42a68 + +0000000083f40cc2 : + 83f40cc2: 7179 addi sp,sp,-48 + 83f40cc4: ac22 fsd fs0,24(sp) + 83f40cc6: a826 fsd fs1,16(sp) + 83f40cc8: a44a fsd fs2,8(sp) + 83f40cca: 22a504d3 fmv.d fs1,fa0 + 83f40cce: 22b58453 fmv.d fs0,fa1 + 83f40cd2: f406 sd ra,40(sp) + 83f40cd4: a04e fsd fs3,0(sp) + 83f40cd6: 025000ef jal ra,83f414fa <__ieee754_pow> + 83f40cda: 0001f717 auipc a4,0x1f + 83f40cde: ec672703 lw a4,-314(a4) # 83f5fba0 <__fdlib_version> + 83f40ce2: 57fd li a5,-1 + 83f40ce4: 22a50953 fmv.d fs2,fa0 + 83f40ce8: 02f70863 beq a4,a5,83f40d18 + 83f40cec: a28427d3 feq.d a5,fs0,fs0 + 83f40cf0: c785 beqz a5,83f40d18 + 83f40cf2: a294a7d3 feq.d a5,fs1,fs1 + 83f40cf6: c7a5 beqz a5,83f40d5e + 83f40cf8: f20009d3 fmv.d.x fs3,zero + 83f40cfc: a334a7d3 feq.d a5,fs1,fs3 + 83f40d00: c78d beqz a5,83f40d2a + 83f40d02: a33427d3 feq.d a5,fs0,fs3 + 83f40d06: e3ad bnez a5,83f40d68 + 83f40d08: 22840553 fmv.d fa0,fs0 + 83f40d0c: 549010ef jal ra,83f42a54 + 83f40d10: c501 beqz a0,83f40d18 + 83f40d12: a33417d3 flt.d a5,fs0,fs3 + 83f40d16: e3c5 bnez a5,83f40db6 + 83f40d18: 70a2 ld ra,40(sp) + 83f40d1a: 23290553 fmv.d fa0,fs2 + 83f40d1e: 2462 fld fs0,24(sp) + 83f40d20: 24c2 fld fs1,16(sp) + 83f40d22: 2922 fld fs2,8(sp) + 83f40d24: 2982 fld fs3,0(sp) + 83f40d26: 6145 addi sp,sp,48 + 83f40d28: 8082 ret + 83f40d2a: 52b010ef jal ra,83f42a54 + 83f40d2e: c931 beqz a0,83f40d82 + 83f40d30: f20007d3 fmv.d.x fa5,zero + 83f40d34: a2f927d3 feq.d a5,fs2,fa5 + 83f40d38: d3e5 beqz a5,83f40d18 + 83f40d3a: 22948553 fmv.d fa0,fs1 + 83f40d3e: 517010ef jal ra,83f42a54 + 83f40d42: d979 beqz a0,83f40d18 + 83f40d44: 22840553 fmv.d fa0,fs0 + 83f40d48: 50d010ef jal ra,83f42a54 + 83f40d4c: d571 beqz a0,83f40d18 + 83f40d4e: 7c3010ef jal ra,83f42d10 <__errno> + 83f40d52: 02200793 li a5,34 + 83f40d56: f2000953 fmv.d.x fs2,zero + 83f40d5a: c11c sw a5,0(a0) + 83f40d5c: bf75 j 83f40d18 + 83f40d5e: f20007d3 fmv.d.x fa5,zero + 83f40d62: a2f427d3 feq.d a5,fs0,fa5 + 83f40d66: dbcd beqz a5,83f40d18 + 83f40d68: 70a2 ld ra,40(sp) + 83f40d6a: 00011797 auipc a5,0x11 + 83f40d6e: 5a67b907 fld fs2,1446(a5) # 83f52310 <__func__.1+0x118> + 83f40d72: 23290553 fmv.d fa0,fs2 + 83f40d76: 2462 fld fs0,24(sp) + 83f40d78: 24c2 fld fs1,16(sp) + 83f40d7a: 2922 fld fs2,8(sp) + 83f40d7c: 2982 fld fs3,0(sp) + 83f40d7e: 6145 addi sp,sp,48 + 83f40d80: 8082 ret + 83f40d82: 22948553 fmv.d fa0,fs1 + 83f40d86: 4cf010ef jal ra,83f42a54 + 83f40d8a: d15d beqz a0,83f40d30 + 83f40d8c: 22840553 fmv.d fa0,fs0 + 83f40d90: 4c5010ef jal ra,83f42a54 + 83f40d94: dd51 beqz a0,83f40d30 + 83f40d96: a32927d3 feq.d a5,fs2,fs2 + 83f40d9a: c7a1 beqz a5,83f40de2 + 83f40d9c: 775010ef jal ra,83f42d10 <__errno> + 83f40da0: a33497d3 flt.d a5,fs1,fs3 + 83f40da4: 02200713 li a4,34 + 83f40da8: c118 sw a4,0(a0) + 83f40daa: e385 bnez a5,83f40dca + 83f40dac: 00011797 auipc a5,0x11 + 83f40db0: 76c7b907 fld fs2,1900(a5) # 83f52518 + 83f40db4: b795 j 83f40d18 + 83f40db6: 75b010ef jal ra,83f42d10 <__errno> + 83f40dba: 02100793 li a5,33 + 83f40dbe: c11c sw a5,0(a0) + 83f40dc0: 00011797 auipc a5,0x11 + 83f40dc4: 7707b907 fld fs2,1904(a5) # 83f52530 + 83f40dc8: bf81 j 83f40d18 + 83f40dca: 22840553 fmv.d fa0,fs0 + 83f40dce: 4a5010ef jal ra,83f42a72 + 83f40dd2: a28527d3 feq.d a5,fa0,fs0 + 83f40dd6: fbf9 bnez a5,83f40dac + 83f40dd8: 00011797 auipc a5,0x11 + 83f40ddc: 7587b907 fld fs2,1880(a5) # 83f52530 + 83f40de0: bf25 j 83f40d18 + 83f40de2: 72f010ef jal ra,83f42d10 <__errno> + 83f40de6: 02100793 li a5,33 + 83f40dea: 1b39f953 fdiv.d fs2,fs3,fs3 + 83f40dee: c11c sw a5,0(a0) + 83f40df0: b725 j 83f40d18 + +0000000083f40df2 : + 83f40df2: 1101 addi sp,sp,-32 + 83f40df4: a422 fsd fs0,8(sp) + 83f40df6: ec06 sd ra,24(sp) + 83f40df8: 22a50453 fmv.d fs0,fa0 + 83f40dfc: a026 fsd fs1,0(sp) + 83f40dfe: 136010ef jal ra,83f41f34 <__ieee754_sqrt> + 83f40e02: 0001f717 auipc a4,0x1f + 83f40e06: d9e72703 lw a4,-610(a4) # 83f5fba0 <__fdlib_version> + 83f40e0a: 57fd li a5,-1 + 83f40e0c: 00f70a63 beq a4,a5,83f40e20 + 83f40e10: a28427d3 feq.d a5,fs0,fs0 + 83f40e14: c791 beqz a5,83f40e20 + 83f40e16: f20004d3 fmv.d.x fs1,zero + 83f40e1a: a29417d3 flt.d a5,fs0,fs1 + 83f40e1e: e791 bnez a5,83f40e2a + 83f40e20: 60e2 ld ra,24(sp) + 83f40e22: 2422 fld fs0,8(sp) + 83f40e24: 2482 fld fs1,0(sp) + 83f40e26: 6105 addi sp,sp,32 + 83f40e28: 8082 ret + 83f40e2a: 6e7010ef jal ra,83f42d10 <__errno> + 83f40e2e: 60e2 ld ra,24(sp) + 83f40e30: 02100793 li a5,33 + 83f40e34: c11c sw a5,0(a0) + 83f40e36: 1a94f553 fdiv.d fa0,fs1,fs1 + 83f40e3a: 2422 fld fs0,8(sp) + 83f40e3c: 2482 fld fs1,0(sp) + 83f40e3e: 6105 addi sp,sp,32 + 83f40e40: 8082 ret + +0000000083f40e42 <__ieee754_atan2>: + 83f40e42: e2058653 fmv.x.d a2,fa1 + 83f40e46: 80000737 lui a4,0x80000 + 83f40e4a: fff74713 not a4,a4 + 83f40e4e: 0006051b sext.w a0,a2 + 83f40e52: 40c007bb negw a5,a2 + 83f40e56: 42065593 srai a1,a2,0x20 + 83f40e5a: 8fc9 or a5,a5,a0 + 83f40e5c: 00e5f8b3 and a7,a1,a4 + 83f40e60: 01f7d79b srliw a5,a5,0x1f + 83f40e64: 00f8e7b3 or a5,a7,a5 + 83f40e68: 7ff00837 lui a6,0x7ff00 + 83f40e6c: 2781 sext.w a5,a5 + 83f40e6e: e20506d3 fmv.x.d a3,fa0 + 83f40e72: 06f86c63 bltu a6,a5,83f40eea <__ieee754_atan2+0xa8> + 83f40e76: 4206de13 srai t3,a3,0x20 + 83f40e7a: 00068e9b sext.w t4,a3 + 83f40e7e: 40d007bb negw a5,a3 + 83f40e82: 00ee7733 and a4,t3,a4 + 83f40e86: 00fee7b3 or a5,t4,a5 + 83f40e8a: 00070f9b sext.w t6,a4 + 83f40e8e: 01f7d79b srliw a5,a5,0x1f + 83f40e92: 00ffe7b3 or a5,t6,a5 + 83f40e96: 2781 sext.w a5,a5 + 83f40e98: 04f86963 bltu a6,a5,83f40eea <__ieee754_atan2+0xa8> + 83f40e9c: c01007b7 lui a5,0xc0100 + 83f40ea0: 9fad addw a5,a5,a1 + 83f40ea2: 8fc9 or a5,a5,a0 + 83f40ea4: 2781 sext.w a5,a5 + 83f40ea6: c7f9 beqz a5,83f40f74 <__ieee754_atan2+0x132> + 83f40ea8: 1141 addi sp,sp,-16 + 83f40eaa: e022 sd s0,0(sp) + 83f40eac: 41e5d41b sraiw s0,a1,0x1e + 83f40eb0: 8809 andi s0,s0,2 + 83f40eb2: 01fe5f1b srliw t5,t3,0x1f + 83f40eb6: 01e46433 or s0,s0,t5 + 83f40eba: e406 sd ra,8(sp) + 83f40ebc: 01feeeb3 or t4,t4,t6 + 83f40ec0: 2401 sext.w s0,s0 + 83f40ec2: 020e9d63 bnez t4,83f40efc <__ieee754_atan2+0xba> + 83f40ec6: 4789 li a5,2 + 83f40ec8: 0af40f63 beq s0,a5,83f40f86 <__ieee754_atan2+0x144> + 83f40ecc: 470d li a4,3 + 83f40ece: e20507d3 fmv.x.d a5,fa0 + 83f40ed2: 00e41663 bne s0,a4,83f40ede <__ieee754_atan2+0x9c> + 83f40ed6: 00011797 auipc a5,0x11 + 83f40eda: 6627b783 ld a5,1634(a5) # 83f52538 + 83f40ede: 60a2 ld ra,8(sp) + 83f40ee0: 6402 ld s0,0(sp) + 83f40ee2: f2078553 fmv.d.x fa0,a5 + 83f40ee6: 0141 addi sp,sp,16 + 83f40ee8: 8082 ret + 83f40eea: f20607d3 fmv.d.x fa5,a2 + 83f40eee: f2068753 fmv.d.x fa4,a3 + 83f40ef2: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f40ef6: 22f78553 fmv.d fa0,fa5 + 83f40efa: 8082 ret + 83f40efc: 01156533 or a0,a0,a7 + 83f40f00: 2501 sext.w a0,a0 + 83f40f02: c93d beqz a0,83f40f78 <__ieee754_atan2+0x136> + 83f40f04: 0b088063 beq a7,a6,83f40fa4 <__ieee754_atan2+0x162> + 83f40f08: 070f8863 beq t6,a6,83f40f78 <__ieee754_atan2+0x136> + 83f40f0c: 411f873b subw a4,t6,a7 + 83f40f10: 4147571b sraiw a4,a4,0x14 + 83f40f14: 03c00793 li a5,60 + 83f40f18: 08e7c163 blt a5,a4,83f40f9a <__ieee754_atan2+0x158> + 83f40f1c: 0005d863 bgez a1,83f40f2c <__ieee754_atan2+0xea> + 83f40f20: fc400593 li a1,-60 + 83f40f24: 00000793 li a5,0 + 83f40f28: 00b74e63 blt a4,a1,83f40f44 <__ieee754_atan2+0x102> + 83f40f2c: f20687d3 fmv.d.x fa5,a3 + 83f40f30: f2060753 fmv.d.x fa4,a2 + 83f40f34: 1ae7f553 fdiv.d fa0,fa5,fa4 + 83f40f38: a11ff0ef jal ra,83f40948 + 83f40f3c: e54ff0ef jal ra,83f40590 + 83f40f40: e20507d3 fmv.x.d a5,fa0 + 83f40f44: 4705 li a4,1 + 83f40f46: 0ae40563 beq s0,a4,83f40ff0 <__ieee754_atan2+0x1ae> + 83f40f4a: 4709 li a4,2 + 83f40f4c: 08e40163 beq s0,a4,83f40fce <__ieee754_atan2+0x18c> + 83f40f50: d459 beqz s0,83f40ede <__ieee754_atan2+0x9c> + 83f40f52: f2078753 fmv.d.x fa4,a5 + 83f40f56: 00011717 auipc a4,0x11 + 83f40f5a: 5fa73787 fld fa5,1530(a4) # 83f52550 + 83f40f5e: 0af777d3 fsub.d fa5,fa4,fa5 + 83f40f62: 00011797 auipc a5,0x11 + 83f40f66: 5de7b707 fld fa4,1502(a5) # 83f52540 + 83f40f6a: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f40f6e: e20787d3 fmv.x.d a5,fa5 + 83f40f72: b7b5 j 83f40ede <__ieee754_atan2+0x9c> + 83f40f74: e1cff06f j 83f40590 + 83f40f78: 000e4c63 bltz t3,83f40f90 <__ieee754_atan2+0x14e> + 83f40f7c: 00011797 auipc a5,0x11 + 83f40f80: 48c7b783 ld a5,1164(a5) # 83f52408 <__func__.1+0x210> + 83f40f84: bfa9 j 83f40ede <__ieee754_atan2+0x9c> + 83f40f86: 00011797 auipc a5,0x11 + 83f40f8a: 5ba7b783 ld a5,1466(a5) # 83f52540 + 83f40f8e: bf81 j 83f40ede <__ieee754_atan2+0x9c> + 83f40f90: 00011797 auipc a5,0x11 + 83f40f94: 5087b783 ld a5,1288(a5) # 83f52498 + 83f40f98: b799 j 83f40ede <__ieee754_atan2+0x9c> + 83f40f9a: 00011797 auipc a5,0x11 + 83f40f9e: 46e7b783 ld a5,1134(a5) # 83f52408 <__func__.1+0x210> + 83f40fa2: b74d j 83f40f44 <__ieee754_atan2+0x102> + 83f40fa4: 347d addiw s0,s0,-1 + 83f40fa6: 0004069b sext.w a3,s0 + 83f40faa: 051f8e63 beq t6,a7,83f41006 <__ieee754_atan2+0x1c4> + 83f40fae: 4709 li a4,2 + 83f40fb0: 00000793 li a5,0 + 83f40fb4: f2d765e3 bltu a4,a3,83f40ede <__ieee754_atan2+0x9c> + 83f40fb8: 02041793 slli a5,s0,0x20 + 83f40fbc: 01d7d413 srli s0,a5,0x1d + 83f40fc0: 00010797 auipc a5,0x10 + 83f40fc4: a5878793 addi a5,a5,-1448 # 83f50a18 + 83f40fc8: 943e add s0,s0,a5 + 83f40fca: 6c1c ld a5,24(s0) + 83f40fcc: bf09 j 83f40ede <__ieee754_atan2+0x9c> + 83f40fce: f2078753 fmv.d.x fa4,a5 + 83f40fd2: 00011717 auipc a4,0x11 + 83f40fd6: 57e73787 fld fa5,1406(a4) # 83f52550 + 83f40fda: 0af777d3 fsub.d fa5,fa4,fa5 + 83f40fde: 00011797 auipc a5,0x11 + 83f40fe2: 5627b707 fld fa4,1378(a5) # 83f52540 + 83f40fe6: 0af777d3 fsub.d fa5,fa4,fa5 + 83f40fea: e20787d3 fmv.x.d a5,fa5 + 83f40fee: bdc5 j 83f40ede <__ieee754_atan2+0x9c> + 83f40ff0: 0207d713 srli a4,a5,0x20 + 83f40ff4: 800006b7 lui a3,0x80000 + 83f40ff8: 8f35 xor a4,a4,a3 + 83f40ffa: 56fd li a3,-1 + 83f40ffc: 9281 srli a3,a3,0x20 + 83f40ffe: 1702 slli a4,a4,0x20 + 83f41000: 8ff5 and a5,a5,a3 + 83f41002: 8fd9 or a5,a5,a4 + 83f41004: bde9 j 83f40ede <__ieee754_atan2+0x9c> + 83f41006: 4789 li a5,2 + 83f41008: 00d7ed63 bltu a5,a3,83f41022 <__ieee754_atan2+0x1e0> + 83f4100c: 02041793 slli a5,s0,0x20 + 83f41010: 01d7d413 srli s0,a5,0x1d + 83f41014: 00010797 auipc a5,0x10 + 83f41018: a0478793 addi a5,a5,-1532 # 83f50a18 + 83f4101c: 943e add s0,s0,a5 + 83f4101e: 601c ld a5,0(s0) + 83f41020: bd7d j 83f40ede <__ieee754_atan2+0x9c> + 83f41022: 00011797 auipc a5,0x11 + 83f41026: 5267b783 ld a5,1318(a5) # 83f52548 + 83f4102a: bd55 j 83f40ede <__ieee754_atan2+0x9c> + +0000000083f4102c <__ieee754_exp>: + 83f4102c: e20507d3 fmv.x.d a5,fa0 + 83f41030: 40863637 lui a2,0x40863 + 83f41034: e4160613 addi a2,a2,-447 # 40862e41 + 83f41038: 4207d693 srai a3,a5,0x20 + 83f4103c: 02169713 slli a4,a3,0x21 + 83f41040: 9305 srli a4,a4,0x21 + 83f41042: 03f7d513 srli a0,a5,0x3f + 83f41046: 0007a593 slti a1,a5,0 + 83f4104a: 02e67463 bgeu a2,a4,83f41072 <__ieee754_exp+0x46> + 83f4104e: 7ff00637 lui a2,0x7ff00 + 83f41052: 0ac76763 bltu a4,a2,83f41100 <__ieee754_exp+0xd4> + 83f41056: 02c69713 slli a4,a3,0x2c + 83f4105a: 9331 srli a4,a4,0x2c + 83f4105c: 8f5d or a4,a4,a5 + 83f4105e: 2701 sext.w a4,a4 + 83f41060: 1e071963 bnez a4,83f41252 <__ieee754_exp+0x226> + 83f41064: 00000713 li a4,0 + 83f41068: 1a059f63 bnez a1,83f41226 <__ieee754_exp+0x1fa> + 83f4106c: e2050753 fmv.x.d a4,fa0 + 83f41070: aa5d j 83f41226 <__ieee754_exp+0x1fa> + 83f41072: 3fd636b7 lui a3,0x3fd63 + 83f41076: e4268693 addi a3,a3,-446 # 3fd62e42 + 83f4107a: 0ee6e663 bltu a3,a4,83f41166 <__ieee754_exp+0x13a> + 83f4107e: 3e3006b7 lui a3,0x3e300 + 83f41082: 1ad76563 bltu a4,a3,83f4122c <__ieee754_exp+0x200> + 83f41086: 00011717 auipc a4,0x11 + 83f4108a: 28a73707 fld fa4,650(a4) # 83f52310 <__func__.1+0x118> + 83f4108e: f20787d3 fmv.d.x fa5,a5 + 83f41092: 00011717 auipc a4,0x11 + 83f41096: 4de73687 fld fa3,1246(a4) # 83f52570 + 83f4109a: 00011717 auipc a4,0x11 + 83f4109e: 4de73007 fld ft0,1246(a4) # 83f52578 + 83f410a2: 12f7f7d3 fmul.d fa5,fa5,fa5 + 83f410a6: 00011717 auipc a4,0x11 + 83f410aa: 4da73507 fld fa0,1242(a4) # 83f52580 + 83f410ae: 00011717 auipc a4,0x11 + 83f410b2: 4da73587 fld fa1,1242(a4) # 83f52588 + 83f410b6: 00011717 auipc a4,0x11 + 83f410ba: 4da73607 fld fa2,1242(a4) # 83f52590 + 83f410be: 02d7f6c3 fmadd.d fa3,fa5,fa3,ft0 + 83f410c2: 52d7f6c3 fmadd.d fa3,fa5,fa3,fa0 + 83f410c6: 5ad7f6c3 fmadd.d fa3,fa5,fa3,fa1 + 83f410ca: 62d7f6c3 fmadd.d fa3,fa5,fa3,fa2 + 83f410ce: f2078653 fmv.d.x fa2,a5 + 83f410d2: 62d7f7cb fnmsub.d fa5,fa5,fa3,fa2 + 83f410d6: 12f676d3 fmul.d fa3,fa2,fa5 + 83f410da: 00011717 auipc a4,0x11 + 83f410de: 3ce73607 fld fa2,974(a4) # 83f524a8 + 83f410e2: 0ac7f7d3 fsub.d fa5,fa5,fa2 + 83f410e6: 1af6f7d3 fdiv.d fa5,fa3,fa5 + 83f410ea: f20786d3 fmv.d.x fa3,a5 + 83f410ee: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f410f2: 0af777d3 fsub.d fa5,fa4,fa5 + 83f410f6: e2078753 fmv.x.d a4,fa5 + 83f410fa: f2070553 fmv.d.x fa0,a4 + 83f410fe: 8082 ret + 83f41100: 00011717 auipc a4,0x11 + 83f41104: 42073787 fld fa5,1056(a4) # 83f52520 + 83f41108: a2a79753 flt.d a4,fa5,fa0 + 83f4110c: 14071a63 bnez a4,83f41260 <__ieee754_exp+0x234> + 83f41110: 00011717 auipc a4,0x11 + 83f41114: 41873787 fld fa5,1048(a4) # 83f52528 + 83f41118: a2f516d3 flt.d a3,fa0,fa5 + 83f4111c: 00000713 li a4,0 + 83f41120: 10069363 bnez a3,83f41226 <__ieee754_exp+0x1fa> + 83f41124: 00010717 auipc a4,0x10 + 83f41128: 92470713 addi a4,a4,-1756 # 83f50a48 + 83f4112c: 058e slli a1,a1,0x3 + 83f4112e: 95ba add a1,a1,a4 + 83f41130: f2078753 fmv.d.x fa4,a5 + 83f41134: 3194 fld fa3,32(a1) + 83f41136: 00011717 auipc a4,0x11 + 83f4113a: 42273787 fld fa5,1058(a4) # 83f52558 + 83f4113e: 00011717 auipc a4,0x11 + 83f41142: 42273587 fld fa1,1058(a4) # 83f52560 + 83f41146: 6af777c3 fmadd.d fa5,fa4,fa5,fa3 + 83f4114a: 00011717 auipc a4,0x11 + 83f4114e: 41e73687 fld fa3,1054(a4) # 83f52568 + 83f41152: c2079753 fcvt.w.d a4,fa5,rtz + 83f41156: d20707d3 fcvt.d.w fa5,a4 + 83f4115a: 2701 sext.w a4,a4 + 83f4115c: 72b7f5cb fnmsub.d fa1,fa5,fa1,fa4 + 83f41160: 12d7f753 fmul.d fa4,fa5,fa3 + 83f41164: a025 j 83f4118c <__ieee754_exp+0x160> + 83f41166: 3ff0a6b7 lui a3,0x3ff0a + 83f4116a: 2b168693 addi a3,a3,689 # 3ff0a2b1 + 83f4116e: fae6ebe3 bltu a3,a4,83f41124 <__ieee754_exp+0xf8> + 83f41172: 00010717 auipc a4,0x10 + 83f41176: 8d670713 addi a4,a4,-1834 # 83f50a48 + 83f4117a: 058e slli a1,a1,0x3 + 83f4117c: 95ba add a1,a1,a4 + 83f4117e: 2198 fld fa4,0(a1) + 83f41180: 4705 li a4,1 + 83f41182: 9f09 subw a4,a4,a0 + 83f41184: 0ae575d3 fsub.d fa1,fa0,fa4 + 83f41188: 2998 fld fa4,16(a1) + 83f4118a: 9f09 subw a4,a4,a0 + 83f4118c: 0ae5f7d3 fsub.d fa5,fa1,fa4 + 83f41190: 00011697 auipc a3,0x11 + 83f41194: 3e86b087 fld ft1,1000(a3) # 83f52578 + 83f41198: 00011697 auipc a3,0x11 + 83f4119c: 3e86b007 fld ft0,1000(a3) # 83f52580 + 83f411a0: 00011697 auipc a3,0x11 + 83f411a4: 3e86b507 fld fa0,1000(a3) # 83f52588 + 83f411a8: 00011697 auipc a3,0x11 + 83f411ac: 3e86b607 fld fa2,1000(a3) # 83f52590 + 83f411b0: e20787d3 fmv.x.d a5,fa5 + 83f411b4: 00011697 auipc a3,0x11 + 83f411b8: 3bc6b787 fld fa5,956(a3) # 83f52570 + 83f411bc: f20786d3 fmv.d.x fa3,a5 + 83f411c0: 12d6f6d3 fmul.d fa3,fa3,fa3 + 83f411c4: 0af6f7c3 fmadd.d fa5,fa3,fa5,ft1 + 83f411c8: 02d7f7c3 fmadd.d fa5,fa5,fa3,ft0 + 83f411cc: 52d7f7c3 fmadd.d fa5,fa5,fa3,fa0 + 83f411d0: 62d7f7c3 fmadd.d fa5,fa5,fa3,fa2 + 83f411d4: f2078653 fmv.d.x fa2,a5 + 83f411d8: 62d7f7cb fnmsub.d fa5,fa5,fa3,fa2 + 83f411dc: 12f676d3 fmul.d fa3,fa2,fa5 + 83f411e0: c361 beqz a4,83f412a0 <__ieee754_exp+0x274> + 83f411e2: 00011797 auipc a5,0x11 + 83f411e6: 2c67b607 fld fa2,710(a5) # 83f524a8 + 83f411ea: 0af677d3 fsub.d fa5,fa2,fa5 + 83f411ee: 00011797 auipc a5,0x11 + 83f411f2: 1227b607 fld fa2,290(a5) # 83f52310 <__func__.1+0x118> + 83f411f6: c0300613 li a2,-1021 + 83f411fa: 1af6f6d3 fdiv.d fa3,fa3,fa5 + 83f411fe: 0ad77753 fsub.d fa4,fa4,fa3 + 83f41202: 0ab77753 fsub.d fa4,fa4,fa1 + 83f41206: 0ae677d3 fsub.d fa5,fa2,fa4 + 83f4120a: e20786d3 fmv.x.d a3,fa5 + 83f4120e: 4206d593 srai a1,a3,0x20 + 83f41212: 06c74063 blt a4,a2,83f41272 <__ieee754_exp+0x246> + 83f41216: 0147179b slliw a5,a4,0x14 + 83f4121a: 577d li a4,-1 + 83f4121c: 9fad addw a5,a5,a1 + 83f4121e: 9301 srli a4,a4,0x20 + 83f41220: 1782 slli a5,a5,0x20 + 83f41222: 8f75 and a4,a4,a3 + 83f41224: 8f5d or a4,a4,a5 + 83f41226: f2070553 fmv.d.x fa0,a4 + 83f4122a: 8082 ret + 83f4122c: 00011717 auipc a4,0x11 + 83f41230: 27473787 fld fa5,628(a4) # 83f524a0 + 83f41234: 02f577d3 fadd.d fa5,fa0,fa5 + 83f41238: 00011717 auipc a4,0x11 + 83f4123c: 0d873707 fld fa4,216(a4) # 83f52310 <__func__.1+0x118> + 83f41240: a2f71753 flt.d a4,fa4,fa5 + 83f41244: e40705e3 beqz a4,83f4108e <__ieee754_exp+0x62> + 83f41248: 02e577d3 fadd.d fa5,fa0,fa4 + 83f4124c: e2078753 fmv.x.d a4,fa5 + 83f41250: bfd9 j 83f41226 <__ieee754_exp+0x1fa> + 83f41252: 02a577d3 fadd.d fa5,fa0,fa0 + 83f41256: e2078753 fmv.x.d a4,fa5 + 83f4125a: f2070553 fmv.d.x fa0,a4 + 83f4125e: 8082 ret + 83f41260: 00011797 auipc a5,0x11 + 83f41264: 2407b787 fld fa5,576(a5) # 83f524a0 + 83f41268: 12f7f7d3 fmul.d fa5,fa5,fa5 + 83f4126c: e2078753 fmv.x.d a4,fa5 + 83f41270: bf5d j 83f41226 <__ieee754_exp+0x1fa> + 83f41272: 3e87079b addiw a5,a4,1000 + 83f41276: 0147979b slliw a5,a5,0x14 + 83f4127a: 577d li a4,-1 + 83f4127c: 9fad addw a5,a5,a1 + 83f4127e: 9301 srli a4,a4,0x20 + 83f41280: 1782 slli a5,a5,0x20 + 83f41282: 8f75 and a4,a4,a3 + 83f41284: 8f5d or a4,a4,a5 + 83f41286: f2070753 fmv.d.x fa4,a4 + 83f4128a: 00011797 auipc a5,0x11 + 83f4128e: 30e7b787 fld fa5,782(a5) # 83f52598 + 83f41292: 12e7f7d3 fmul.d fa5,fa5,fa4 + 83f41296: e2078753 fmv.x.d a4,fa5 + 83f4129a: f2070553 fmv.d.x fa0,a4 + 83f4129e: 8082 ret + 83f412a0: 00011717 auipc a4,0x11 + 83f412a4: 07073707 fld fa4,112(a4) # 83f52310 <__func__.1+0x118> + 83f412a8: bd0d j 83f410da <__ieee754_exp+0xae> + +0000000083f412aa <__ieee754_log>: + 83f412aa: e20507d3 fmv.x.d a5,fa0 + 83f412ae: 00100637 lui a2,0x100 + 83f412b2: 4207d713 srai a4,a5,0x20 + 83f412b6: 0cc75563 bge a4,a2,83f41380 <__ieee754_log+0xd6> + 83f412ba: 02171693 slli a3,a4,0x21 + 83f412be: 9285 srli a3,a3,0x21 + 83f412c0: 8edd or a3,a3,a5 + 83f412c2: 2681 sext.w a3,a3 + 83f412c4: 18068363 beqz a3,83f4144a <__ieee754_log+0x1a0> + 83f412c8: 20074163 bltz a4,83f414ca <__ieee754_log+0x220> + 83f412cc: 00011717 auipc a4,0x11 + 83f412d0: 2dc73787 fld fa5,732(a4) # 83f525a8 + 83f412d4: 12f577d3 fmul.d fa5,fa0,fa5 + 83f412d8: 7ff006b7 lui a3,0x7ff00 + 83f412dc: fca00313 li t1,-54 + 83f412e0: e20787d3 fmv.x.d a5,fa5 + 83f412e4: 4207d713 srai a4,a5,0x20 + 83f412e8: 0ad75163 bge a4,a3,83f4138a <__ieee754_log+0xe0> + 83f412ec: 00100637 lui a2,0x100 + 83f412f0: fff60893 addi a7,a2,-1 # fffff + 83f412f4: 000966b7 lui a3,0x96 + 83f412f8: 01177833 and a6,a4,a7 + 83f412fc: f646869b addiw a3,a3,-156 + 83f41300: 00d806bb addw a3,a6,a3 + 83f41304: 8ef1 and a3,a3,a2 + 83f41306: 3ff005b7 lui a1,0x3ff00 + 83f4130a: 8db5 xor a1,a1,a3 + 83f4130c: 567d li a2,-1 + 83f4130e: 9201 srli a2,a2,0x20 + 83f41310: 00b865b3 or a1,a6,a1 + 83f41314: 1582 slli a1,a1,0x20 + 83f41316: 8ff1 and a5,a5,a2 + 83f41318: 8fcd or a5,a5,a1 + 83f4131a: 4147571b sraiw a4,a4,0x14 + 83f4131e: 0028051b addiw a0,a6,2 + 83f41322: f2078753 fmv.d.x fa4,a5 + 83f41326: c017071b addiw a4,a4,-1023 + 83f4132a: 0067073b addw a4,a4,t1 + 83f4132e: 01157633 and a2,a0,a7 + 83f41332: 4146d69b sraiw a3,a3,0x14 + 83f41336: 00e685bb addw a1,a3,a4 + 83f4133a: 2601 sext.w a2,a2 + 83f4133c: 00011717 auipc a4,0x11 + 83f41340: fd473787 fld fa5,-44(a4) # 83f52310 <__func__.1+0x118> + 83f41344: 4509 li a0,2 + 83f41346: 0af777d3 fsub.d fa5,fa4,fa5 + 83f4134a: 04c54563 blt a0,a2,83f41394 <__ieee754_log+0xea> + 83f4134e: f2000753 fmv.d.x fa4,zero + 83f41352: a2e7a7d3 feq.d a5,fa5,fa4 + 83f41356: 10078363 beqz a5,83f4145c <__ieee754_log+0x1b2> + 83f4135a: 22e70553 fmv.d fa0,fa4 + 83f4135e: 16058563 beqz a1,83f414c8 <__ieee754_log+0x21e> + 83f41362: d20587d3 fcvt.d.w fa5,a1 + 83f41366: 00011797 auipc a5,0x11 + 83f4136a: 2027b507 fld fa0,514(a5) # 83f52568 + 83f4136e: 00011797 auipc a5,0x11 + 83f41372: 1f27b707 fld fa4,498(a5) # 83f52560 + 83f41376: 12a7f553 fmul.d fa0,fa5,fa0 + 83f4137a: 52e7f543 fmadd.d fa0,fa5,fa4,fa0 + 83f4137e: 8082 ret + 83f41380: 7ff006b7 lui a3,0x7ff00 + 83f41384: 4301 li t1,0 + 83f41386: f6d743e3 blt a4,a3,83f412ec <__ieee754_log+0x42> + 83f4138a: f20787d3 fmv.d.x fa5,a5 + 83f4138e: 02f7f553 fadd.d fa0,fa5,fa5 + 83f41392: 8082 ret + 83f41394: 00011797 auipc a5,0x11 + 83f41398: 1147b507 fld fa0,276(a5) # 83f524a8 + 83f4139c: 02a7f553 fadd.d fa0,fa5,fa0 + 83f413a0: 00011797 auipc a5,0x11 + 83f413a4: 2307b687 fld fa3,560(a5) # 83f525d0 + 83f413a8: 00011797 auipc a5,0x11 + 83f413ac: 2307b207 fld ft4,560(a5) # 83f525d8 + 83f413b0: 00011797 auipc a5,0x11 + 83f413b4: 2307b107 fld ft2,560(a5) # 83f525e0 + 83f413b8: 00011797 auipc a5,0x11 + 83f413bc: 2007b707 fld fa4,512(a5) # 83f525b8 + 83f413c0: 00011797 auipc a5,0x11 + 83f413c4: 2007b187 fld ft3,512(a5) # 83f525c0 + 83f413c8: 00011797 auipc a5,0x11 + 83f413cc: 2207b007 fld ft0,544(a5) # 83f525e8 + 83f413d0: 1aa7f553 fdiv.d fa0,fa5,fa0 + 83f413d4: 00011797 auipc a5,0x11 + 83f413d8: 1f47b087 fld ft1,500(a5) # 83f525c8 + 83f413dc: fff9f637 lui a2,0xfff9f + 83f413e0: 0006c7b7 lui a5,0x6c + 83f413e4: b866061b addiw a2,a2,-1146 + 83f413e8: 8517879b addiw a5,a5,-1967 + 83f413ec: 0106063b addw a2,a2,a6 + 83f413f0: 4107883b subw a6,a5,a6 + 83f413f4: 01066633 or a2,a2,a6 + 83f413f8: 2601 sext.w a2,a2 + 83f413fa: d20582d3 fcvt.d.w ft5,a1 + 83f413fe: 12a575d3 fmul.d fa1,fa0,fa0 + 83f41402: 12b5f653 fmul.d fa2,fa1,fa1 + 83f41406: 22d676c3 fmadd.d fa3,fa2,fa3,ft4 + 83f4140a: 1ae67743 fmadd.d fa4,fa2,fa4,ft3 + 83f4140e: 12c6f6c3 fmadd.d fa3,fa3,fa2,ft2 + 83f41412: 0ac77743 fmadd.d fa4,fa4,fa2,ft1 + 83f41416: 02c6f6c3 fmadd.d fa3,fa3,fa2,ft0 + 83f4141a: 12b6f6d3 fmul.d fa3,fa3,fa1 + 83f4141e: 6ac77743 fmadd.d fa4,fa4,fa2,fa3 + 83f41422: 06c05d63 blez a2,83f4149c <__ieee754_log+0x1f2> + 83f41426: 00011797 auipc a5,0x11 + 83f4142a: e727b687 fld fa3,-398(a5) # 83f52298 <__func__.1+0xa0> + 83f4142e: 12d7f6d3 fmul.d fa3,fa5,fa3 + 83f41432: 12f6f6d3 fmul.d fa3,fa3,fa5 + 83f41436: 02d77753 fadd.d fa4,fa4,fa3 + 83f4143a: 12a77753 fmul.d fa4,fa4,fa0 + 83f4143e: edc9 bnez a1,83f414d8 <__ieee754_log+0x22e> + 83f41440: 0ae6f553 fsub.d fa0,fa3,fa4 + 83f41444: 0aa7f553 fsub.d fa0,fa5,fa0 + 83f41448: 8082 ret + 83f4144a: f2000553 fmv.d.x fa0,zero + 83f4144e: 00011797 auipc a5,0x11 + 83f41452: 1527b787 fld fa5,338(a5) # 83f525a0 + 83f41456: 1aa7f553 fdiv.d fa0,fa5,fa0 + 83f4145a: 8082 ret + 83f4145c: 00011797 auipc a5,0x11 + 83f41460: 1547b707 fld fa4,340(a5) # 83f525b0 + 83f41464: 00011797 auipc a5,0x11 + 83f41468: e347b687 fld fa3,-460(a5) # 83f52298 <__func__.1+0xa0> + 83f4146c: 12f7f553 fmul.d fa0,fa5,fa5 + 83f41470: 6ae7f74b fnmsub.d fa4,fa5,fa4,fa3 + 83f41474: 12e57553 fmul.d fa0,fa0,fa4 + 83f41478: d5f1 beqz a1,83f41444 <__ieee754_log+0x19a> + 83f4147a: d20586d3 fcvt.d.w fa3,a1 + 83f4147e: 00011797 auipc a5,0x11 + 83f41482: 0ea7b707 fld fa4,234(a5) # 83f52568 + 83f41486: 00011797 auipc a5,0x11 + 83f4148a: 0da7b607 fld fa2,218(a5) # 83f52560 + 83f4148e: 52e6f54b fnmsub.d fa0,fa3,fa4,fa0 + 83f41492: 0af57553 fsub.d fa0,fa0,fa5 + 83f41496: 52c6f547 fmsub.d fa0,fa3,fa2,fa0 + 83f4149a: 8082 ret + 83f4149c: 0ae7f753 fsub.d fa4,fa5,fa4 + 83f414a0: 12a77753 fmul.d fa4,fa4,fa0 + 83f414a4: e581 bnez a1,83f414ac <__ieee754_log+0x202> + 83f414a6: 0ae7f553 fsub.d fa0,fa5,fa4 + 83f414aa: 8082 ret + 83f414ac: 00011797 auipc a5,0x11 + 83f414b0: 0bc7b507 fld fa0,188(a5) # 83f52568 + 83f414b4: 72a2f54b fnmsub.d fa0,ft5,fa0,fa4 + 83f414b8: 00011797 auipc a5,0x11 + 83f414bc: 0a87b707 fld fa4,168(a5) # 83f52560 + 83f414c0: 0af57553 fsub.d fa0,fa0,fa5 + 83f414c4: 52e2f547 fmsub.d fa0,ft5,fa4,fa0 + 83f414c8: 8082 ret + 83f414ca: 0aa577d3 fsub.d fa5,fa0,fa0 + 83f414ce: f2000553 fmv.d.x fa0,zero + 83f414d2: 1aa7f553 fdiv.d fa0,fa5,fa0 + 83f414d6: 8082 ret + 83f414d8: 00011797 auipc a5,0x11 + 83f414dc: 0907b507 fld fa0,144(a5) # 83f52568 + 83f414e0: 72a2f543 fmadd.d fa0,ft5,fa0,fa4 + 83f414e4: 00011797 auipc a5,0x11 + 83f414e8: 07c7b607 fld fa2,124(a5) # 83f52560 + 83f414ec: 0aa6f553 fsub.d fa0,fa3,fa0 + 83f414f0: 0af57553 fsub.d fa0,fa0,fa5 + 83f414f4: 52c2f547 fmsub.d fa0,ft5,fa2,fa0 + 83f414f8: 8082 ret + +0000000083f414fa <__ieee754_pow>: + 83f414fa: 711d addi sp,sp,-96 + 83f414fc: f852 sd s4,48(sp) + 83f414fe: e2058a53 fmv.x.d s4,fa1 + 83f41502: 800007b7 lui a5,0x80000 + 83f41506: f456 sd s5,40(sp) + 83f41508: fff7c793 not a5,a5 + 83f4150c: 420a5a93 srai s5,s4,0x20 + 83f41510: fc4e sd s3,56(sp) + 83f41512: 000a071b sext.w a4,s4 + 83f41516: 00faf9b3 and s3,s5,a5 + 83f4151a: ec86 sd ra,88(sp) + 83f4151c: e8a2 sd s0,80(sp) + 83f4151e: e4a6 sd s1,72(sp) + 83f41520: e0ca sd s2,64(sp) + 83f41522: f05a sd s6,32(sp) + 83f41524: ec5e sd s7,24(sp) + 83f41526: e862 sd s8,16(sp) + 83f41528: a422 fsd fs0,8(sp) + 83f4152a: 00e9e6b3 or a3,s3,a4 + 83f4152e: c6c1 beqz a3,83f415b6 <__ieee754_pow+0xbc> + 83f41530: e2050453 fmv.x.d s0,fa0 + 83f41534: 7ff00637 lui a2,0x7ff00 + 83f41538: 42045b13 srai s6,s0,0x20 + 83f4153c: 00fb74b3 and s1,s6,a5 + 83f41540: 8bda mv s7,s6 + 83f41542: 0004091b sext.w s2,s0 + 83f41546: 06964163 blt a2,s1,83f415a8 <__ieee754_pow+0xae> + 83f4154a: 08c48963 beq s1,a2,83f415dc <__ieee754_pow+0xe2> + 83f4154e: 05364d63 blt a2,s3,83f415a8 <__ieee754_pow+0xae> + 83f41552: 7ff007b7 lui a5,0x7ff00 + 83f41556: 04f98863 beq s3,a5,83f415a6 <__ieee754_pow+0xac> + 83f4155a: 4c01 li s8,0 + 83f4155c: 0a0b4663 bltz s6,83f41608 <__ieee754_pow+0x10e> + 83f41560: ef71 bnez a4,83f4163c <__ieee754_pow+0x142> + 83f41562: 7ff007b7 lui a5,0x7ff00 + 83f41566: 12f98963 beq s3,a5,83f41698 <__ieee754_pow+0x19e> + 83f4156a: 3ff007b7 lui a5,0x3ff00 + 83f4156e: 14f98663 beq s3,a5,83f416ba <__ieee754_pow+0x1c0> + 83f41572: 400007b7 lui a5,0x40000 + 83f41576: 64fa8e63 beq s5,a5,83f41bd2 <__ieee754_pow+0x6d8> + 83f4157a: 3fe007b7 lui a5,0x3fe00 + 83f4157e: 0afa9f63 bne s5,a5,83f4163c <__ieee754_pow+0x142> + 83f41582: 0a0b4d63 bltz s6,83f4163c <__ieee754_pow+0x142> + 83f41586: f2040553 fmv.d.x fa0,s0 + 83f4158a: 6446 ld s0,80(sp) + 83f4158c: 60e6 ld ra,88(sp) + 83f4158e: 64a6 ld s1,72(sp) + 83f41590: 6906 ld s2,64(sp) + 83f41592: 79e2 ld s3,56(sp) + 83f41594: 7a42 ld s4,48(sp) + 83f41596: 7aa2 ld s5,40(sp) + 83f41598: 7b02 ld s6,32(sp) + 83f4159a: 6be2 ld s7,24(sp) + 83f4159c: 6c42 ld s8,16(sp) + 83f4159e: 2422 fld fs0,8(sp) + 83f415a0: 6125 addi sp,sp,96 + 83f415a2: 1930006f j 83f41f34 <__ieee754_sqrt> + 83f415a6: db55 beqz a4,83f4155a <__ieee754_pow+0x60> + 83f415a8: c01007b7 lui a5,0xc0100 + 83f415ac: 9fa5 addw a5,a5,s1 + 83f415ae: 00f967b3 or a5,s2,a5 + 83f415b2: 2781 sext.w a5,a5 + 83f415b4: eb85 bnez a5,83f415e4 <__ieee754_pow+0xea> + 83f415b6: 00011717 auipc a4,0x11 + 83f415ba: d5a73703 ld a4,-678(a4) # 83f52310 <__func__.1+0x118> + 83f415be: 60e6 ld ra,88(sp) + 83f415c0: 6446 ld s0,80(sp) + 83f415c2: 64a6 ld s1,72(sp) + 83f415c4: 6906 ld s2,64(sp) + 83f415c6: 79e2 ld s3,56(sp) + 83f415c8: 7a42 ld s4,48(sp) + 83f415ca: 7aa2 ld s5,40(sp) + 83f415cc: 7b02 ld s6,32(sp) + 83f415ce: 6be2 ld s7,24(sp) + 83f415d0: 6c42 ld s8,16(sp) + 83f415d2: 2422 fld fs0,8(sp) + 83f415d4: f2070553 fmv.d.x fa0,a4 + 83f415d8: 6125 addi sp,sp,96 + 83f415da: 8082 ret + 83f415dc: 00091463 bnez s2,83f415e4 <__ieee754_pow+0xea> + 83f415e0: f734d9e3 bge s1,s3,83f41552 <__ieee754_pow+0x58> + 83f415e4: 6446 ld s0,80(sp) + 83f415e6: 60e6 ld ra,88(sp) + 83f415e8: 64a6 ld s1,72(sp) + 83f415ea: 6906 ld s2,64(sp) + 83f415ec: 79e2 ld s3,56(sp) + 83f415ee: 7a42 ld s4,48(sp) + 83f415f0: 7aa2 ld s5,40(sp) + 83f415f2: 7b02 ld s6,32(sp) + 83f415f4: 6be2 ld s7,24(sp) + 83f415f6: 6c42 ld s8,16(sp) + 83f415f8: 2422 fld fs0,8(sp) + 83f415fa: 00011517 auipc a0,0x11 + 83f415fe: bf650513 addi a0,a0,-1034 # 83f521f0 <__func__.0+0x30> + 83f41602: 6125 addi sp,sp,96 + 83f41604: 4640106f j 83f42a68 + 83f41608: 434007b7 lui a5,0x43400 + 83f4160c: 12f9d163 bge s3,a5,83f4172e <__ieee754_pow+0x234> + 83f41610: 3ff007b7 lui a5,0x3ff00 + 83f41614: 02f9c363 blt s3,a5,83f4163a <__ieee754_pow+0x140> + 83f41618: 4149d79b sraiw a5,s3,0x14 + 83f4161c: c017861b addiw a2,a5,-1023 + 83f41620: 46d1 li a3,20 + 83f41622: 5ac6df63 bge a3,a2,83f41be0 <__ieee754_pow+0x6e6> + 83f41626: 03400693 li a3,52 + 83f4162a: 40c687bb subw a5,a3,a2 + 83f4162e: 00f756bb srlw a3,a4,a5 + 83f41632: 00f697bb sllw a5,a3,a5 + 83f41636: 0ee78563 beq a5,a4,83f41720 <__ieee754_pow+0x226> + 83f4163a: db05 beqz a4,83f4156a <__ieee754_pow+0x70> + 83f4163c: f2040553 fmv.d.x fa0,s0 + 83f41640: b08ff0ef jal ra,83f40948 + 83f41644: e2050753 fmv.x.d a4,fa0 + 83f41648: 00091a63 bnez s2,83f4165c <__ieee754_pow+0x162> + 83f4164c: c8d1 beqz s1,83f416e0 <__ieee754_pow+0x1e6> + 83f4164e: 022b1793 slli a5,s6,0x22 + 83f41652: 9389 srli a5,a5,0x22 + 83f41654: 3ff006b7 lui a3,0x3ff00 + 83f41658: 08d78463 beq a5,a3,83f416e0 <__ieee754_pow+0x1e6> + 83f4165c: 01fbdb9b srliw s7,s7,0x1f + 83f41660: 3bfd addiw s7,s7,-1 + 83f41662: 017c67b3 or a5,s8,s7 + 83f41666: 2781 sext.w a5,a5 + 83f41668: cfe9 beqz a5,83f41742 <__ieee754_pow+0x248> + 83f4166a: 41e007b7 lui a5,0x41e00 + 83f4166e: 0f37d363 bge a5,s3,83f41754 <__ieee754_pow+0x25a> + 83f41672: 43f007b7 lui a5,0x43f00 + 83f41676: 4d37dd63 bge a5,s3,83f41b50 <__ieee754_pow+0x656> + 83f4167a: 3ff007b7 lui a5,0x3ff00 + 83f4167e: 04f4cc63 blt s1,a5,83f416d6 <__ieee754_pow+0x1dc> + 83f41682: 03505963 blez s5,83f416b4 <__ieee754_pow+0x1ba> + 83f41686: 00011797 auipc a5,0x11 + 83f4168a: e1a7b787 fld fa5,-486(a5) # 83f524a0 + 83f4168e: 12f7f7d3 fmul.d fa5,fa5,fa5 + 83f41692: e2078753 fmv.x.d a4,fa5 + 83f41696: b725 j 83f415be <__ieee754_pow+0xc4> + 83f41698: c01007b7 lui a5,0xc0100 + 83f4169c: 9fa5 addw a5,a5,s1 + 83f4169e: 00f967b3 or a5,s2,a5 + 83f416a2: 2781 sext.w a5,a5 + 83f416a4: db89 beqz a5,83f415b6 <__ieee754_pow+0xbc> + 83f416a6: 3ff007b7 lui a5,0x3ff00 + 83f416aa: 46f4ce63 blt s1,a5,83f41b26 <__ieee754_pow+0x62c> + 83f416ae: 8752 mv a4,s4 + 83f416b0: f00ad7e3 bgez s5,83f415be <__ieee754_pow+0xc4> + 83f416b4: 00000713 li a4,0 + 83f416b8: b719 j 83f415be <__ieee754_pow+0xc4> + 83f416ba: 8722 mv a4,s0 + 83f416bc: f00ad1e3 bgez s5,83f415be <__ieee754_pow+0xc4> + 83f416c0: f2040753 fmv.d.x fa4,s0 + 83f416c4: 00011797 auipc a5,0x11 + 83f416c8: c4c7b787 fld fa5,-948(a5) # 83f52310 <__func__.1+0x118> + 83f416cc: 1ae7f7d3 fdiv.d fa5,fa5,fa4 + 83f416d0: e2078753 fmv.x.d a4,fa5 + 83f416d4: b5ed j 83f415be <__ieee754_pow+0xc4> + 83f416d6: fa0ac8e3 bltz s5,83f41686 <__ieee754_pow+0x18c> + 83f416da: 00000713 li a4,0 + 83f416de: b5c5 j 83f415be <__ieee754_pow+0xc4> + 83f416e0: 020ac563 bltz s5,83f4170a <__ieee754_pow+0x210> + 83f416e4: ec0b5de3 bgez s6,83f415be <__ieee754_pow+0xc4> + 83f416e8: c01007b7 lui a5,0xc0100 + 83f416ec: 9fa5 addw a5,a5,s1 + 83f416ee: 00fc67b3 or a5,s8,a5 + 83f416f2: 2781 sext.w a5,a5 + 83f416f4: 52079963 bnez a5,83f41c26 <__ieee754_pow+0x72c> + 83f416f8: f20707d3 fmv.d.x fa5,a4 + 83f416fc: 0af7f7d3 fsub.d fa5,fa5,fa5 + 83f41700: 1af7f7d3 fdiv.d fa5,fa5,fa5 + 83f41704: e2078753 fmv.x.d a4,fa5 + 83f41708: bd5d j 83f415be <__ieee754_pow+0xc4> + 83f4170a: f2070753 fmv.d.x fa4,a4 + 83f4170e: 00011797 auipc a5,0x11 + 83f41712: c027b787 fld fa5,-1022(a5) # 83f52310 <__func__.1+0x118> + 83f41716: 1ae7f7d3 fdiv.d fa5,fa5,fa4 + 83f4171a: e2078753 fmv.x.d a4,fa5 + 83f4171e: b7d9 j 83f416e4 <__ieee754_pow+0x1ea> + 83f41720: 8a85 andi a3,a3,1 + 83f41722: 4c09 li s8,2 + 83f41724: 40dc0c3b subw s8,s8,a3 + 83f41728: e40701e3 beqz a4,83f4156a <__ieee754_pow+0x70> + 83f4172c: bf01 j 83f4163c <__ieee754_pow+0x142> + 83f4172e: 4c09 li s8,2 + 83f41730: bd05 j 83f41560 <__ieee754_pow+0x66> + 83f41732: f2040553 fmv.d.x fa0,s0 + 83f41736: a12ff0ef jal ra,83f40948 + 83f4173a: e2050753 fmv.x.d a4,fa0 + 83f4173e: f00907e3 beqz s2,83f4164c <__ieee754_pow+0x152> + 83f41742: f20407d3 fmv.d.x fa5,s0 + 83f41746: 0af7f7d3 fsub.d fa5,fa5,fa5 + 83f4174a: 1af7f7d3 fdiv.d fa5,fa5,fa5 + 83f4174e: e2078753 fmv.x.d a4,fa5 + 83f41752: b5b5 j 83f415be <__ieee754_pow+0xc4> + 83f41754: 7ff007b7 lui a5,0x7ff00 + 83f41758: 00fb7b33 and s6,s6,a5 + 83f4175c: 4681 li a3,0 + 83f4175e: 020b1063 bnez s6,83f4177e <__ieee754_pow+0x284> + 83f41762: f2070753 fmv.d.x fa4,a4 + 83f41766: 00011797 auipc a5,0x11 + 83f4176a: eaa7b787 fld fa5,-342(a5) # 83f52610 + 83f4176e: fcb00693 li a3,-53 + 83f41772: 12f777d3 fmul.d fa5,fa4,fa5 + 83f41776: e2078753 fmv.x.d a4,fa5 + 83f4177a: 42075493 srai s1,a4,0x20 + 83f4177e: 4144d61b sraiw a2,s1,0x14 + 83f41782: c016061b addiw a2,a2,-1023 + 83f41786: 02c49793 slli a5,s1,0x2c + 83f4178a: 0003a537 lui a0,0x3a + 83f4178e: 00d605bb addw a1,a2,a3 + 83f41792: 93b1 srli a5,a5,0x2c + 83f41794: 3ff006b7 lui a3,0x3ff00 + 83f41798: 88e50513 addi a0,a0,-1906 # 3988e <_STACK_SIZE+0x1988e> + 83f4179c: 8edd or a3,a3,a5 + 83f4179e: 38f55d63 bge a0,a5,83f41b38 <__ieee754_pow+0x63e> + 83f417a2: 000bb537 lui a0,0xbb + 83f417a6: 67950513 addi a0,a0,1657 # bb679 + 83f417aa: 48f55863 bge a0,a5,83f41c3a <__ieee754_pow+0x740> + 83f417ae: f20002d3 fmv.d.x ft5,zero + 83f417b2: 00011797 auipc a5,0x11 + 83f417b6: b5e7b587 fld fa1,-1186(a5) # 83f52310 <__func__.1+0x118> + 83f417ba: 22b587d3 fmv.d fa5,fa1 + 83f417be: 22528853 fmv.d fa6,ft5 + 83f417c2: fff007b7 lui a5,0xfff00 + 83f417c6: 2585 addiw a1,a1,1 + 83f417c8: 9ebd addw a3,a3,a5 + 83f417ca: 4801 li a6,0 + 83f417cc: 557d li a0,-1 + 83f417ce: 02055793 srli a5,a0,0x20 + 83f417d2: 02069613 slli a2,a3,0x20 + 83f417d6: 8ff9 and a5,a5,a4 + 83f417d8: 8fd1 or a5,a5,a2 + 83f417da: f2078753 fmv.d.x fa4,a5 + 83f417de: 20000737 lui a4,0x20000 + 83f417e2: 4016d69b sraiw a3,a3,0x1 + 83f417e6: 02e7f1d3 fadd.d ft3,fa5,fa4 + 83f417ea: 0af77253 fsub.d ft4,fa4,fa5 + 83f417ee: 00080637 lui a2,0x80 + 83f417f2: 8ed9 or a3,a3,a4 + 83f417f4: 9eb1 addw a3,a3,a2 + 83f417f6: 010686bb addw a3,a3,a6 + 83f417fa: 1682 slli a3,a3,0x20 + 83f417fc: 1a35f1d3 fdiv.d ft3,fa1,ft3 + 83f41800: f2068753 fmv.d.x fa4,a3 + 83f41804: 00011717 auipc a4,0x11 + 83f41808: e1c73507 fld fa0,-484(a4) # 83f52620 + 83f4180c: 00011717 auipc a4,0x11 + 83f41810: e0c73687 fld fa3,-500(a4) # 83f52618 + 83f41814: 0af777d3 fsub.d fa5,fa4,fa5 + 83f41818: f2078753 fmv.d.x fa4,a5 + 83f4181c: 00011797 auipc a5,0x11 + 83f41820: e447b387 fld ft7,-444(a5) # 83f52660 + 83f41824: 00011797 auipc a5,0x11 + 83f41828: e2c7b887 fld fa7,-468(a5) # 83f52650 + 83f4182c: 02051713 slli a4,a0,0x20 + 83f41830: 00011617 auipc a2,0x11 + 83f41834: e1863107 fld ft2,-488(a2) # 83f52648 + 83f41838: 00011617 auipc a2,0x11 + 83f4183c: df063f87 fld ft11,-528(a2) # 83f52628 + 83f41840: 0af777d3 fsub.d fa5,fa4,fa5 + 83f41844: 00011797 auipc a5,0x11 + 83f41848: e147b707 fld fa4,-492(a5) # 83f52658 + 83f4184c: 00011617 auipc a2,0x11 + 83f41850: de463f07 fld ft10,-540(a2) # 83f52630 + 83f41854: 00011617 auipc a2,0x11 + 83f41858: de463e87 fld ft9,-540(a2) # 83f52638 + 83f4185c: 00011617 auipc a2,0x11 + 83f41860: de463e07 fld ft8,-540(a2) # 83f52640 + 83f41864: f2068453 fmv.d.x fs0,a3 + 83f41868: d20580d3 fcvt.d.w ft1,a1 + 83f4186c: 12327653 fmul.d fa2,ft4,ft3 + 83f41870: 12c67053 fmul.d ft0,fa2,fa2 + 83f41874: e20607d3 fmv.x.d a5,fa2 + 83f41878: 00f77633 and a2,a4,a5 + 83f4187c: f2060653 fmv.d.x fa2,a2 + 83f41880: 52d076c3 fmadd.d fa3,ft0,fa3,fa0 + 83f41884: 2286724b fnmsub.d ft4,fa2,fs0,ft4 + 83f41888: f2060453 fmv.d.x fs0,a2 + 83f4188c: f2078653 fmv.d.x fa2,a5 + 83f41890: 12007553 fmul.d fa0,ft0,ft0 + 83f41894: 02867353 fadd.d ft6,fa2,fs0 + 83f41898: fa06f6c3 fmadd.d fa3,fa3,ft0,ft11 + 83f4189c: 22f477cb fnmsub.d fa5,fs0,fa5,ft4 + 83f418a0: 12847643 fmadd.d fa2,fs0,fs0,ft2 + 83f418a4: f206f6c3 fmadd.d fa3,fa3,ft0,ft10 + 83f418a8: 1237f7d3 fmul.d fa5,fa5,ft3 + 83f418ac: ea06f6c3 fmadd.d fa3,fa3,ft0,ft9 + 83f418b0: 12f37353 fmul.d ft6,ft6,fa5 + 83f418b4: e206f6c3 fmadd.d fa3,fa3,ft0,ft8 + 83f418b8: 32d576c3 fmadd.d fa3,fa0,fa3,ft6 + 83f418bc: 02d67653 fadd.d fa2,fa2,fa3 + 83f418c0: e20606d3 fmv.x.d a3,fa2 + 83f418c4: 8ef9 and a3,a3,a4 + 83f418c6: f2068653 fmv.d.x fa2,a3 + 83f418ca: 0a267653 fsub.d fa2,fa2,ft2 + 83f418ce: 6284764b fnmsub.d fa2,fs0,fs0,fa2 + 83f418d2: 0ac6f6d3 fsub.d fa3,fa3,fa2 + 83f418d6: f2078653 fmv.d.x fa2,a5 + 83f418da: 12c6f6d3 fmul.d fa3,fa3,fa2 + 83f418de: f2068653 fmv.d.x fa2,a3 + 83f418e2: 6ac7f7c3 fmadd.d fa5,fa5,fa2,fa3 + 83f418e6: 7a8676c3 fmadd.d fa3,fa2,fs0,fa5 + 83f418ea: e20687d3 fmv.x.d a5,fa3 + 83f418ee: 8ff9 and a5,a5,a4 + 83f418f0: f2078553 fmv.d.x fa0,a5 + 83f418f4: 52c476cb fnmsub.d fa3,fs0,fa2,fa0 + 83f418f8: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f418fc: 1317f7d3 fmul.d fa5,fa5,fa7 + 83f41900: 7aa777c3 fmadd.d fa5,fa4,fa0,fa5 + 83f41904: 0307f7d3 fadd.d fa5,fa5,fa6 + 83f41908: 7aa3f743 fmadd.d fa4,ft7,fa0,fa5 + 83f4190c: 02577753 fadd.d fa4,fa4,ft5 + 83f41910: 02177753 fadd.d fa4,fa4,ft1 + 83f41914: e20706d3 fmv.x.d a3,fa4 + 83f41918: 8f75 and a4,a4,a3 + 83f4191a: f2070753 fmv.d.x fa4,a4 + 83f4191e: 0a1776d3 fsub.d fa3,fa4,ft1 + 83f41922: 0a56f6d3 fsub.d fa3,fa3,ft5 + 83f41926: 6a7576cb fnmsub.d fa3,fa0,ft7,fa3 + 83f4192a: 0ad7f6d3 fsub.d fa3,fa5,fa3 + 83f4192e: 3c7d addiw s8,s8,-1 + 83f41930: 017c6bb3 or s7,s8,s7 + 83f41934: 2b81 sext.w s7,s7 + 83f41936: 22b58453 fmv.d fs0,fa1 + 83f4193a: 000b9663 bnez s7,83f41946 <__ieee754_pow+0x44c> + 83f4193e: 00011797 auipc a5,0x11 + 83f41942: b727b407 fld fs0,-1166(a5) # 83f524b0 + 83f41946: 020a5793 srli a5,s4,0x20 + 83f4194a: 1782 slli a5,a5,0x20 + 83f4194c: f2078653 fmv.d.x fa2,a5 + 83f41950: f20a07d3 fmv.d.x fa5,s4 + 83f41954: 40900637 lui a2,0x40900 + 83f41958: 0ac7f7d3 fsub.d fa5,fa5,fa2 + 83f4195c: f20a0653 fmv.d.x fa2,s4 + 83f41960: 12c6f6d3 fmul.d fa3,fa3,fa2 + 83f41964: f2078653 fmv.d.x fa2,a5 + 83f41968: 12c77653 fmul.d fa2,fa4,fa2 + 83f4196c: 6ae7f7c3 fmadd.d fa5,fa5,fa4,fa3 + 83f41970: 02c7f753 fadd.d fa4,fa5,fa2 + 83f41974: e20706d3 fmv.x.d a3,fa4 + 83f41978: 4206d593 srai a1,a3,0x20 + 83f4197c: 0006871b sext.w a4,a3 + 83f41980: 16c5c163 blt a1,a2,83f41ae2 <__ieee754_pow+0x5e8> + 83f41984: bf7007b7 lui a5,0xbf700 + 83f41988: 9fad addw a5,a5,a1 + 83f4198a: 8fd9 or a5,a5,a4 + 83f4198c: 2781 sext.w a5,a5 + 83f4198e: 28079163 bnez a5,83f41c10 <__ieee754_pow+0x716> + 83f41992: f20686d3 fmv.d.x fa3,a3 + 83f41996: 00011797 auipc a5,0x11 + 83f4199a: cd27b707 fld fa4,-814(a5) # 83f52668 + 83f4199e: 02e7f753 fadd.d fa4,fa5,fa4 + 83f419a2: 0ac6f6d3 fsub.d fa3,fa3,fa2 + 83f419a6: a2e697d3 flt.d a5,fa3,fa4 + 83f419aa: 26079363 bnez a5,83f41c10 <__ieee754_pow+0x716> + 83f419ae: 4145d79b sraiw a5,a1,0x14 + 83f419b2: 7ff7f793 andi a5,a5,2047 + 83f419b6: 00100537 lui a0,0x100 + 83f419ba: c027879b addiw a5,a5,-1022 + 83f419be: 40f557bb sraw a5,a0,a5 + 83f419c2: 9fad addw a5,a5,a1 + 83f419c4: 4147d69b sraiw a3,a5,0x14 + 83f419c8: 7ff6f693 andi a3,a3,2047 + 83f419cc: c016869b addiw a3,a3,-1023 + 83f419d0: fff5061b addiw a2,a0,-1 + 83f419d4: 02c79713 slli a4,a5,0x2c + 83f419d8: 40d6563b sraw a2,a2,a3 + 83f419dc: 9331 srli a4,a4,0x2c + 83f419de: 8f49 or a4,a4,a0 + 83f419e0: fff64613 not a2,a2 + 83f419e4: 4551 li a0,20 + 83f419e6: 40d506bb subw a3,a0,a3 + 83f419ea: 8ff1 and a5,a5,a2 + 83f419ec: 40d7553b sraw a0,a4,a3 + 83f419f0: 1782 slli a5,a5,0x20 + 83f419f2: 0005d463 bgez a1,83f419fa <__ieee754_pow+0x500> + 83f419f6: 40a0053b negw a0,a0 + 83f419fa: f2078753 fmv.d.x fa4,a5 + 83f419fe: 0145161b slliw a2,a0,0x14 + 83f41a02: 0ae67653 fsub.d fa2,fa2,fa4 + 83f41a06: 02c7f753 fadd.d fa4,fa5,fa2 + 83f41a0a: e20706d3 fmv.x.d a3,fa4 + 83f41a0e: 57fd li a5,-1 + 83f41a10: 02079713 slli a4,a5,0x20 + 83f41a14: 8ef9 and a3,a3,a4 + 83f41a16: f2068753 fmv.d.x fa4,a3 + 83f41a1a: 00011717 auipc a4,0x11 + 83f41a1e: c5e73687 fld fa3,-930(a4) # 83f52678 + 83f41a22: 00011717 auipc a4,0x11 + 83f41a26: c5e73287 fld ft5,-930(a4) # 83f52680 + 83f41a2a: 0ac77653 fsub.d fa2,fa4,fa2 + 83f41a2e: 12e6f6d3 fmul.d fa3,fa3,fa4 + 83f41a32: 00011717 auipc a4,0x11 + 83f41a36: c5673507 fld fa0,-938(a4) # 83f52688 + 83f41a3a: 00011717 auipc a4,0x11 + 83f41a3e: b3673707 fld fa4,-1226(a4) # 83f52570 + 83f41a42: 00011717 auipc a4,0x11 + 83f41a46: b3673207 fld ft4,-1226(a4) # 83f52578 + 83f41a4a: 00011717 auipc a4,0x11 + 83f41a4e: b3673187 fld ft3,-1226(a4) # 83f52580 + 83f41a52: 00011717 auipc a4,0x11 + 83f41a56: b3673107 fld ft2,-1226(a4) # 83f52588 + 83f41a5a: 0ac7f7d3 fsub.d fa5,fa5,fa2 + 83f41a5e: 00011717 auipc a4,0x11 + 83f41a62: b3273087 fld ft1,-1230(a4) # 83f52590 + 83f41a66: 00011717 auipc a4,0x11 + 83f41a6a: a4273007 fld ft0,-1470(a4) # 83f524a8 + 83f41a6e: 6a57f7c3 fmadd.d fa5,fa5,ft5,fa3 + 83f41a72: f20686d3 fmv.d.x fa3,a3 + 83f41a76: f20682d3 fmv.d.x ft5,a3 + 83f41a7a: 7ad57643 fmadd.d fa2,fa0,fa3,fa5 + 83f41a7e: 12c676d3 fmul.d fa3,fa2,fa2 + 83f41a82: 62a2f54b fnmsub.d fa0,ft5,fa0,fa2 + 83f41a86: 22e6f743 fmadd.d fa4,fa3,fa4,ft4 + 83f41a8a: 0aa7f7d3 fsub.d fa5,fa5,fa0 + 83f41a8e: 1ad77743 fmadd.d fa4,fa4,fa3,ft3 + 83f41a92: 7af677c3 fmadd.d fa5,fa2,fa5,fa5 + 83f41a96: 12d77743 fmadd.d fa4,fa4,fa3,ft2 + 83f41a9a: 0ad77743 fmadd.d fa4,fa4,fa3,ft1 + 83f41a9e: 62d7774b fnmsub.d fa4,fa4,fa3,fa2 + 83f41aa2: 12e676d3 fmul.d fa3,fa2,fa4 + 83f41aa6: 0a077753 fsub.d fa4,fa4,ft0 + 83f41aaa: 1ae6f753 fdiv.d fa4,fa3,fa4 + 83f41aae: 0af777d3 fsub.d fa5,fa4,fa5 + 83f41ab2: 0ac7f7d3 fsub.d fa5,fa5,fa2 + 83f41ab6: 0af5f7d3 fsub.d fa5,fa1,fa5 + 83f41aba: e2078753 fmv.x.d a4,fa5 + 83f41abe: 42075693 srai a3,a4,0x20 + 83f41ac2: 9e35 addw a2,a2,a3 + 83f41ac4: 4146569b sraiw a3,a2,0x14 + 83f41ac8: 18d05c63 blez a3,83f41c60 <__ieee754_pow+0x766> + 83f41acc: 9381 srli a5,a5,0x20 + 83f41ace: 1602 slli a2,a2,0x20 + 83f41ad0: 8f7d and a4,a4,a5 + 83f41ad2: 8f51 or a4,a4,a2 + 83f41ad4: f20707d3 fmv.d.x fa5,a4 + 83f41ad8: 1287f7d3 fmul.d fa5,fa5,fs0 + 83f41adc: e2078753 fmv.x.d a4,fa5 + 83f41ae0: bcf9 j 83f415be <__ieee754_pow+0xc4> + 83f41ae2: 02159793 slli a5,a1,0x21 + 83f41ae6: 4090d637 lui a2,0x4090d + 83f41aea: 9385 srli a5,a5,0x21 + 83f41aec: bff60613 addi a2,a2,-1025 # 4090cbff + 83f41af0: 10f65863 bge a2,a5,83f41c00 <__ieee754_pow+0x706> + 83f41af4: 3f6f37b7 lui a5,0x3f6f3 + 83f41af8: 4007879b addiw a5,a5,1024 + 83f41afc: 9fad addw a5,a5,a1 + 83f41afe: 8fd9 or a5,a5,a4 + 83f41b00: 2781 sext.w a5,a5 + 83f41b02: e799 bnez a5,83f41b10 <__ieee754_pow+0x616> + 83f41b04: 0ac77753 fsub.d fa4,fa4,fa2 + 83f41b08: a2e787d3 fle.d a5,fa5,fa4 + 83f41b0c: ea0781e3 beqz a5,83f419ae <__ieee754_pow+0x4b4> + 83f41b10: 00011797 auipc a5,0x11 + 83f41b14: b607b787 fld fa5,-1184(a5) # 83f52670 + 83f41b18: 12f47453 fmul.d fs0,fs0,fa5 + 83f41b1c: 12f477d3 fmul.d fa5,fs0,fa5 + 83f41b20: e2078753 fmv.x.d a4,fa5 + 83f41b24: bc69 j 83f415be <__ieee754_pow+0xc4> + 83f41b26: b80ad7e3 bgez s5,83f416b4 <__ieee754_pow+0x1ba> + 83f41b2a: f20a07d3 fmv.d.x fa5,s4 + 83f41b2e: 22f797d3 fneg.d fa5,fa5 + 83f41b32: e2078753 fmv.x.d a4,fa5 + 83f41b36: b461 j 83f415be <__ieee754_pow+0xc4> + 83f41b38: f20002d3 fmv.d.x ft5,zero + 83f41b3c: 00010797 auipc a5,0x10 + 83f41b40: 7d47b587 fld fa1,2004(a5) # 83f52310 <__func__.1+0x118> + 83f41b44: 22b587d3 fmv.d fa5,fa1 + 83f41b48: 22528853 fmv.d fa6,ft5 + 83f41b4c: 4801 li a6,0 + 83f41b4e: b9bd j 83f417cc <__ieee754_pow+0x2d2> + 83f41b50: 3ff007b7 lui a5,0x3ff00 + 83f41b54: ffe78693 addi a3,a5,-2 # 3feffffe + 83f41b58: b696dfe3 bge a3,s1,83f416d6 <__ieee754_pow+0x1dc> + 83f41b5c: b297c3e3 blt a5,s1,83f41682 <__ieee754_pow+0x188> + 83f41b60: f20707d3 fmv.d.x fa5,a4 + 83f41b64: 00010797 auipc a5,0x10 + 83f41b68: 7ac7b587 fld fa1,1964(a5) # 83f52310 <__func__.1+0x118> + 83f41b6c: 00011797 auipc a5,0x11 + 83f41b70: a447b707 fld fa4,-1468(a5) # 83f525b0 + 83f41b74: 0ab7f7d3 fsub.d fa5,fa5,fa1 + 83f41b78: 00010797 auipc a5,0x10 + 83f41b7c: 7a87b607 fld fa2,1960(a5) # 83f52320 <__func__.1+0x128> + 83f41b80: 00010797 auipc a5,0x10 + 83f41b84: 7187b087 fld ft1,1816(a5) # 83f52298 <__func__.1+0xa0> + 83f41b88: 00011797 auipc a5,0x11 + 83f41b8c: 9d07b007 fld ft0,-1584(a5) # 83f52558 + 83f41b90: 00011797 auipc a5,0x11 + 83f41b94: a707b687 fld fa3,-1424(a5) # 83f52600 + 83f41b98: 00011797 auipc a5,0x11 + 83f41b9c: a707b507 fld fa0,-1424(a5) # 83f52608 + 83f41ba0: 72c7f64b fnmsub.d fa2,fa5,fa2,fa4 + 83f41ba4: 12f7f753 fmul.d fa4,fa5,fa5 + 83f41ba8: 0af6764b fnmsub.d fa2,fa2,fa5,ft1 + 83f41bac: 12c77753 fmul.d fa4,fa4,fa2 + 83f41bb0: 12077753 fmul.d fa4,fa4,ft0 + 83f41bb4: 72d7f6c7 fmsub.d fa3,fa5,fa3,fa4 + 83f41bb8: 6aa7f743 fmadd.d fa4,fa5,fa0,fa3 + 83f41bbc: e20707d3 fmv.x.d a5,fa4 + 83f41bc0: 9381 srli a5,a5,0x20 + 83f41bc2: 1782 slli a5,a5,0x20 + 83f41bc4: f2078753 fmv.d.x fa4,a5 + 83f41bc8: 72a7f7cb fnmsub.d fa5,fa5,fa0,fa4 + 83f41bcc: 0af6f6d3 fsub.d fa3,fa3,fa5 + 83f41bd0: bbb9 j 83f4192e <__ieee754_pow+0x434> + 83f41bd2: f20407d3 fmv.d.x fa5,s0 + 83f41bd6: 12f7f7d3 fmul.d fa5,fa5,fa5 + 83f41bda: e2078753 fmv.x.d a4,fa5 + 83f41bde: b2c5 j 83f415be <__ieee754_pow+0xc4> + 83f41be0: b40719e3 bnez a4,83f41732 <__ieee754_pow+0x238> + 83f41be4: 4751 li a4,20 + 83f41be6: 40c707bb subw a5,a4,a2 + 83f41bea: 40f9d73b sraw a4,s3,a5 + 83f41bee: 00f717bb sllw a5,a4,a5 + 83f41bf2: 97379ce3 bne a5,s3,83f4156a <__ieee754_pow+0x70> + 83f41bf6: 8b05 andi a4,a4,1 + 83f41bf8: 4c09 li s8,2 + 83f41bfa: 40ec0c3b subw s8,s8,a4 + 83f41bfe: b2b5 j 83f4156a <__ieee754_pow+0x70> + 83f41c00: 3fe00737 lui a4,0x3fe00 + 83f41c04: 4601 li a2,0 + 83f41c06: 4501 li a0,0 + 83f41c08: e0f753e3 bge a4,a5,83f41a0e <__ieee754_pow+0x514> + 83f41c0c: 83d1 srli a5,a5,0x14 + 83f41c0e: b365 j 83f419b6 <__ieee754_pow+0x4bc> + 83f41c10: 00011797 auipc a5,0x11 + 83f41c14: 8907b787 fld fa5,-1904(a5) # 83f524a0 + 83f41c18: 12f47453 fmul.d fs0,fs0,fa5 + 83f41c1c: 12f477d3 fmul.d fa5,fs0,fa5 + 83f41c20: e2078753 fmv.x.d a4,fa5 + 83f41c24: ba69 j 83f415be <__ieee754_pow+0xc4> + 83f41c26: 4785 li a5,1 + 83f41c28: 98fc1be3 bne s8,a5,83f415be <__ieee754_pow+0xc4> + 83f41c2c: f20707d3 fmv.d.x fa5,a4 + 83f41c30: 22f797d3 fneg.d fa5,fa5 + 83f41c34: e2078753 fmv.x.d a4,fa5 + 83f41c38: b259 j 83f415be <__ieee754_pow+0xc4> + 83f41c3a: 00011797 auipc a5,0x11 + 83f41c3e: 9b67b287 fld ft5,-1610(a5) # 83f525f0 + 83f41c42: 00011797 auipc a5,0x11 + 83f41c46: 9b67b807 fld fa6,-1610(a5) # 83f525f8 + 83f41c4a: 00040837 lui a6,0x40 + 83f41c4e: 00011797 auipc a5,0x11 + 83f41c52: 86a7b787 fld fa5,-1942(a5) # 83f524b8 + 83f41c56: 00010797 auipc a5,0x10 + 83f41c5a: 6ba7b587 fld fa1,1722(a5) # 83f52310 <__func__.1+0x118> + 83f41c5e: b6bd j 83f417cc <__ieee754_pow+0x2d2> + 83f41c60: 22f78553 fmv.d fa0,fa5 + 83f41c64: 779000ef jal ra,83f42bdc + 83f41c68: e2050753 fmv.x.d a4,fa0 + 83f41c6c: b5a5 j 83f41ad4 <__ieee754_pow+0x5da> + +0000000083f41c6e <__ieee754_rem_pio2>: + 83f41c6e: e20507d3 fmv.x.d a5,fa0 + 83f41c72: 7139 addi sp,sp,-64 + 83f41c74: f04a sd s2,32(sp) + 83f41c76: 4207d913 srai s2,a5,0x20 + 83f41c7a: f822 sd s0,48(sp) + 83f41c7c: 3fe92737 lui a4,0x3fe92 + 83f41c80: 02191413 slli s0,s2,0x21 + 83f41c84: f426 sd s1,40(sp) + 83f41c86: fc06 sd ra,56(sp) + 83f41c88: 1fb70713 addi a4,a4,507 # 3fe921fb + 83f41c8c: 9005 srli s0,s0,0x21 + 83f41c8e: 84aa mv s1,a0 + 83f41c90: 0e875a63 bge a4,s0,83f41d84 <__ieee754_rem_pio2+0x116> + 83f41c94: 4002e737 lui a4,0x4002e + 83f41c98: 97b70713 addi a4,a4,-1669 # 4002d97b + 83f41c9c: 04874363 blt a4,s0,83f41ce2 <__ieee754_rem_pio2+0x74> + 83f41ca0: 00011717 auipc a4,0x11 + 83f41ca4: 9f073787 fld fa5,-1552(a4) # 83f52690 + 83f41ca8: 3ff92737 lui a4,0x3ff92 + 83f41cac: 1fb70713 addi a4,a4,507 # 3ff921fb + 83f41cb0: 23205c63 blez s2,83f41ee8 <__ieee754_rem_pio2+0x27a> + 83f41cb4: 0af577d3 fsub.d fa5,fa0,fa5 + 83f41cb8: 0ee40663 beq s0,a4,83f41da4 <__ieee754_rem_pio2+0x136> + 83f41cbc: 00011797 auipc a5,0x11 + 83f41cc0: 9dc7b707 fld fa4,-1572(a5) # 83f52698 + 83f41cc4: 0ae7f6d3 fsub.d fa3,fa5,fa4 + 83f41cc8: 4505 li a0,1 + 83f41cca: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f41cce: a094 fsd fa3,0(s1) + 83f41cd0: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f41cd4: a49c fsd fa5,8(s1) + 83f41cd6: 70e2 ld ra,56(sp) + 83f41cd8: 7442 ld s0,48(sp) + 83f41cda: 74a2 ld s1,40(sp) + 83f41cdc: 7902 ld s2,32(sp) + 83f41cde: 6121 addi sp,sp,64 + 83f41ce0: 8082 ret + 83f41ce2: 41392737 lui a4,0x41392 + 83f41ce6: 1fb70713 addi a4,a4,507 # 413921fb + 83f41cea: 0e875663 bge a4,s0,83f41dd6 <__ieee754_rem_pio2+0x168> + 83f41cee: 7ff00737 lui a4,0x7ff00 + 83f41cf2: 0ae45363 bge s0,a4,83f41d98 <__ieee754_rem_pio2+0x12a> + 83f41cf6: 4144561b sraiw a2,s0,0x14 + 83f41cfa: bea6061b addiw a2,a2,-1046 + 83f41cfe: 86be mv a3,a5 + 83f41d00: 0146179b slliw a5,a2,0x14 + 83f41d04: 9c1d subw s0,s0,a5 + 83f41d06: 1682 slli a3,a3,0x20 + 83f41d08: 9281 srli a3,a3,0x20 + 83f41d0a: 1402 slli s0,s0,0x20 + 83f41d0c: 8c55 or s0,s0,a3 + 83f41d0e: f20407d3 fmv.d.x fa5,s0 + 83f41d12: f20406d3 fmv.d.x fa3,s0 + 83f41d16: 00011717 auipc a4,0x11 + 83f41d1a: 9b273707 fld fa4,-1614(a4) # 83f526c8 + 83f41d1e: c20797d3 fcvt.w.d a5,fa5,rtz + 83f41d22: 468d li a3,3 + 83f41d24: d20787d3 fcvt.d.w fa5,a5 + 83f41d28: 0af6f6d3 fsub.d fa3,fa3,fa5 + 83f41d2c: a43e fsd fa5,8(sp) + 83f41d2e: 12e6f7d3 fmul.d fa5,fa3,fa4 + 83f41d32: c20797d3 fcvt.w.d a5,fa5,rtz + 83f41d36: d20786d3 fcvt.d.w fa3,a5 + 83f41d3a: 2781 sext.w a5,a5 + 83f41d3c: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f41d40: a836 fsd fa3,16(sp) + 83f41d42: 12e7f7d3 fmul.d fa5,fa5,fa4 + 83f41d46: f2000753 fmv.d.x fa4,zero + 83f41d4a: a2e7a753 feq.d a4,fa5,fa4 + 83f41d4e: ac3e fsd fa5,24(sp) + 83f41d50: c701 beqz a4,83f41d58 <__ieee754_rem_pio2+0xea> + 83f41d52: 00f036b3 snez a3,a5 + 83f41d56: 0685 addi a3,a3,1 + 83f41d58: 0000f797 auipc a5,0xf + 83f41d5c: da078793 addi a5,a5,-608 # 83f50af8 + 83f41d60: 4709 li a4,2 + 83f41d62: 85a6 mv a1,s1 + 83f41d64: 0028 addi a0,sp,8 + 83f41d66: 4f2000ef jal ra,83f42258 <__kernel_rem_pio2> + 83f41d6a: f60956e3 bgez s2,83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41d6e: 2098 fld fa4,0(s1) + 83f41d70: 249c fld fa5,8(s1) + 83f41d72: 40a0053b negw a0,a0 + 83f41d76: 22e71753 fneg.d fa4,fa4 + 83f41d7a: 22f797d3 fneg.d fa5,fa5 + 83f41d7e: a098 fsd fa4,0(s1) + 83f41d80: a49c fsd fa5,8(s1) + 83f41d82: bf91 j 83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41d84: 70e2 ld ra,56(sp) + 83f41d86: 7442 ld s0,48(sp) + 83f41d88: a088 fsd fa0,0(s1) + 83f41d8a: 00053423 sd zero,8(a0) # 100008 + 83f41d8e: 74a2 ld s1,40(sp) + 83f41d90: 7902 ld s2,32(sp) + 83f41d92: 4501 li a0,0 + 83f41d94: 6121 addi sp,sp,64 + 83f41d96: 8082 ret + 83f41d98: 0aa577d3 fsub.d fa5,fa0,fa0 + 83f41d9c: 4501 li a0,0 + 83f41d9e: a49c fsd fa5,8(s1) + 83f41da0: a09c fsd fa5,0(s1) + 83f41da2: bf15 j 83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41da4: 00011797 auipc a5,0x11 + 83f41da8: 8fc7b707 fld fa4,-1796(a5) # 83f526a0 + 83f41dac: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f41db0: 00011797 auipc a5,0x11 + 83f41db4: 8f87b707 fld fa4,-1800(a5) # 83f526a8 + 83f41db8: 70e2 ld ra,56(sp) + 83f41dba: 7442 ld s0,48(sp) + 83f41dbc: 7902 ld s2,32(sp) + 83f41dbe: 4505 li a0,1 + 83f41dc0: 0ae7f6d3 fsub.d fa3,fa5,fa4 + 83f41dc4: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f41dc8: a094 fsd fa3,0(s1) + 83f41dca: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f41dce: a49c fsd fa5,8(s1) + 83f41dd0: 74a2 ld s1,40(sp) + 83f41dd2: 6121 addi sp,sp,64 + 83f41dd4: 8082 ret + 83f41dd6: b73fe0ef jal ra,83f40948 + 83f41dda: 00011797 auipc a5,0x11 + 83f41dde: 8d67b687 fld fa3,-1834(a5) # 83f526b0 + 83f41de2: 00010797 auipc a5,0x10 + 83f41de6: 4b67b607 fld fa2,1206(a5) # 83f52298 <__func__.1+0xa0> + 83f41dea: 62d576c3 fmadd.d fa3,fa0,fa3,fa2 + 83f41dee: 00011797 auipc a5,0x11 + 83f41df2: 8a27b787 fld fa5,-1886(a5) # 83f52690 + 83f41df6: 00011797 auipc a5,0x11 + 83f41dfa: 8a27b707 fld fa4,-1886(a5) # 83f52698 + 83f41dfe: 47fd li a5,31 + 83f41e00: c20696d3 fcvt.w.d a3,fa3,rtz + 83f41e04: d20686d3 fcvt.d.w fa3,a3 + 83f41e08: 0006851b sext.w a0,a3 + 83f41e0c: 52f6f54b fnmsub.d fa0,fa3,fa5,fa0 + 83f41e10: 12e6f7d3 fmul.d fa5,fa3,fa4 + 83f41e14: 04a7c563 blt a5,a0,83f41e5e <__ieee754_rem_pio2+0x1f0> + 83f41e18: 0af57753 fsub.d fa4,fa0,fa5 + 83f41e1c: fff6879b addiw a5,a3,-1 + 83f41e20: 00279713 slli a4,a5,0x2 + 83f41e24: 0000f797 auipc a5,0xf + 83f41e28: c5478793 addi a5,a5,-940 # 83f50a78 + 83f41e2c: 97ba add a5,a5,a4 + 83f41e2e: 4398 lw a4,0(a5) + 83f41e30: e20707d3 fmv.x.d a5,fa4 + 83f41e34: 02870963 beq a4,s0,83f41e66 <__ieee754_rem_pio2+0x1f8> + 83f41e38: e09c sd a5,0(s1) + 83f41e3a: f2078753 fmv.d.x fa4,a5 + 83f41e3e: 0ae57553 fsub.d fa0,fa0,fa4 + 83f41e42: 0af57553 fsub.d fa0,fa0,fa5 + 83f41e46: a488 fsd fa0,8(s1) + 83f41e48: e80957e3 bgez s2,83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41e4c: 22e717d3 fneg.d fa5,fa4 + 83f41e50: 22a51553 fneg.d fa0,fa0 + 83f41e54: 40d0053b negw a0,a3 + 83f41e58: a09c fsd fa5,0(s1) + 83f41e5a: a488 fsd fa0,8(s1) + 83f41e5c: bdad j 83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41e5e: 0af57753 fsub.d fa4,fa0,fa5 + 83f41e62: e20707d3 fmv.x.d a5,fa4 + 83f41e66: 0347d713 srli a4,a5,0x34 + 83f41e6a: 4144541b sraiw s0,s0,0x14 + 83f41e6e: 7ff77713 andi a4,a4,2047 + 83f41e72: 40e4073b subw a4,s0,a4 + 83f41e76: 4641 li a2,16 + 83f41e78: fce650e3 bge a2,a4,83f41e38 <__ieee754_rem_pio2+0x1ca> + 83f41e7c: 00011797 auipc a5,0x11 + 83f41e80: 8247b607 fld fa2,-2012(a5) # 83f526a0 + 83f41e84: 52c6f74b fnmsub.d fa4,fa3,fa2,fa0 + 83f41e88: 00011797 auipc a5,0x11 + 83f41e8c: 8207b787 fld fa5,-2016(a5) # 83f526a8 + 83f41e90: 03100613 li a2,49 + 83f41e94: 0ae57553 fsub.d fa0,fa0,fa4 + 83f41e98: 52c6f54b fnmsub.d fa0,fa3,fa2,fa0 + 83f41e9c: 52f6f7c7 fmsub.d fa5,fa3,fa5,fa0 + 83f41ea0: 0af77653 fsub.d fa2,fa4,fa5 + 83f41ea4: e20607d3 fmv.x.d a5,fa2 + 83f41ea8: 0347d713 srli a4,a5,0x34 + 83f41eac: 7ff77713 andi a4,a4,2047 + 83f41eb0: 9c19 subw s0,s0,a4 + 83f41eb2: 00864663 blt a2,s0,83f41ebe <__ieee754_rem_pio2+0x250> + 83f41eb6: 22e70553 fmv.d fa0,fa4 + 83f41eba: a090 fsd fa2,0(s1) + 83f41ebc: bfbd j 83f41e3a <__ieee754_rem_pio2+0x1cc> + 83f41ebe: 00010797 auipc a5,0x10 + 83f41ec2: 7fa7b607 fld fa2,2042(a5) # 83f526b8 + 83f41ec6: 72c6f54b fnmsub.d fa0,fa3,fa2,fa4 + 83f41eca: 00010797 auipc a5,0x10 + 83f41ece: 7f67b787 fld fa5,2038(a5) # 83f526c0 + 83f41ed2: 0aa77753 fsub.d fa4,fa4,fa0 + 83f41ed6: 72c6f74b fnmsub.d fa4,fa3,fa2,fa4 + 83f41eda: 72f6f7c7 fmsub.d fa5,fa3,fa5,fa4 + 83f41ede: 0af57753 fsub.d fa4,fa0,fa5 + 83f41ee2: e20707d3 fmv.x.d a5,fa4 + 83f41ee6: bf89 j 83f41e38 <__ieee754_rem_pio2+0x1ca> + 83f41ee8: 02f577d3 fadd.d fa5,fa0,fa5 + 83f41eec: 02e40063 beq s0,a4,83f41f0c <__ieee754_rem_pio2+0x29e> + 83f41ef0: 00010797 auipc a5,0x10 + 83f41ef4: 7a87b707 fld fa4,1960(a5) # 83f52698 + 83f41ef8: 02e7f6d3 fadd.d fa3,fa5,fa4 + 83f41efc: 557d li a0,-1 + 83f41efe: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f41f02: a094 fsd fa3,0(s1) + 83f41f04: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f41f08: a49c fsd fa5,8(s1) + 83f41f0a: b3f1 j 83f41cd6 <__ieee754_rem_pio2+0x68> + 83f41f0c: 00010797 auipc a5,0x10 + 83f41f10: 7947b707 fld fa4,1940(a5) # 83f526a0 + 83f41f14: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f41f18: 00010797 auipc a5,0x10 + 83f41f1c: 7907b707 fld fa4,1936(a5) # 83f526a8 + 83f41f20: 557d li a0,-1 + 83f41f22: 02e7f6d3 fadd.d fa3,fa5,fa4 + 83f41f26: 0ad7f7d3 fsub.d fa5,fa5,fa3 + 83f41f2a: a094 fsd fa3,0(s1) + 83f41f2c: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f41f30: a49c fsd fa5,8(s1) + 83f41f32: b355 j 83f41cd6 <__ieee754_rem_pio2+0x68> + +0000000083f41f34 <__ieee754_sqrt>: + 83f41f34: e2050553 fmv.x.d a0,fa0 + 83f41f38: 7ff00737 lui a4,0x7ff00 + 83f41f3c: 7ff006b7 lui a3,0x7ff00 + 83f41f40: 42055793 srai a5,a0,0x20 + 83f41f44: 8f7d and a4,a4,a5 + 83f41f46: 0005061b sext.w a2,a0 + 83f41f4a: 18d70e63 beq a4,a3,83f420e6 <__ieee754_sqrt+0x1b2> + 83f41f4e: 10f05a63 blez a5,83f42062 <__ieee754_sqrt+0x12e> + 83f41f52: 4147d593 srai a1,a5,0x14 + 83f41f56: 12058763 beqz a1,83f42084 <__ieee754_sqrt+0x150> + 83f41f5a: 02c79693 slli a3,a5,0x2c + 83f41f5e: 92b1 srli a3,a3,0x2c + 83f41f60: 001007b7 lui a5,0x100 + 83f41f64: 8edd or a3,a3,a5 + 83f41f66: c015859b addiw a1,a1,-1023 + 83f41f6a: 0016969b slliw a3,a3,0x1 + 83f41f6e: 01f6579b srliw a5,a2,0x1f + 83f41f72: 0016171b slliw a4,a2,0x1 + 83f41f76: 0015f813 andi a6,a1,1 + 83f41f7a: 9fb5 addw a5,a5,a3 + 83f41f7c: 853a mv a0,a4 + 83f41f7e: 00080963 beqz a6,83f41f90 <__ieee754_sqrt+0x5c> + 83f41f82: 0017979b slliw a5,a5,0x1 + 83f41f86: 01f5551b srliw a0,a0,0x1f + 83f41f8a: 0026171b slliw a4,a2,0x2 + 83f41f8e: 9fa9 addw a5,a5,a0 + 83f41f90: 4015df1b sraiw t5,a1,0x1 + 83f41f94: 4e81 li t4,0 + 83f41f96: 45d9 li a1,22 + 83f41f98: 4681 li a3,0 + 83f41f9a: 00200637 lui a2,0x200 + 83f41f9e: 00c688bb addw a7,a3,a2 + 83f41fa2: 01f7581b srliw a6,a4,0x1f + 83f41fa6: 35fd addiw a1,a1,-1 + 83f41fa8: 0017171b slliw a4,a4,0x1 + 83f41fac: 0117c863 blt a5,a7,83f41fbc <__ieee754_sqrt+0x88> + 83f41fb0: 411787bb subw a5,a5,a7 + 83f41fb4: 00c886bb addw a3,a7,a2 + 83f41fb8: 00ce8ebb addw t4,t4,a2 + 83f41fbc: 0017979b slliw a5,a5,0x1 + 83f41fc0: 00f807bb addw a5,a6,a5 + 83f41fc4: 8205 srli a2,a2,0x1 + 83f41fc6: fde1 bnez a1,83f41f9e <__ieee754_sqrt+0x6a> + 83f41fc8: 4e01 li t3,0 + 83f41fca: 02000513 li a0,32 + 83f41fce: 80000637 lui a2,0x80000 + 83f41fd2: a839 j 83f41ff0 <__ieee754_sqrt+0xbc> + 83f41fd4: 0ed78863 beq a5,a3,83f420c4 <__ieee754_sqrt+0x190> + 83f41fd8: 01f7581b srliw a6,a4,0x1f + 83f41fdc: 0017979b slliw a5,a5,0x1 + 83f41fe0: 357d addiw a0,a0,-1 + 83f41fe2: 0017171b slliw a4,a4,0x1 + 83f41fe6: 010787bb addw a5,a5,a6 + 83f41fea: 0016561b srliw a2,a2,0x1 + 83f41fee: c121 beqz a0,83f4202e <__ieee754_sqrt+0xfa> + 83f41ff0: 00b608bb addw a7,a2,a1 + 83f41ff4: 8846 mv a6,a7 + 83f41ff6: fcf6dfe3 bge a3,a5,83f41fd4 <__ieee754_sqrt+0xa0> + 83f41ffa: 00c885bb addw a1,a7,a2 + 83f41ffe: 8336 mv t1,a3 + 83f42000: 0a08cc63 bltz a7,83f420b8 <__ieee754_sqrt+0x184> + 83f42004: 9f95 subw a5,a5,a3 + 83f42006: 01177363 bgeu a4,a7,83f4200c <__ieee754_sqrt+0xd8> + 83f4200a: 37fd addiw a5,a5,-1 + 83f4200c: 4107073b subw a4,a4,a6 + 83f42010: 01f7581b srliw a6,a4,0x1f + 83f42014: 0017979b slliw a5,a5,0x1 + 83f42018: 357d addiw a0,a0,-1 + 83f4201a: 01c60e3b addw t3,a2,t3 + 83f4201e: 869a mv a3,t1 + 83f42020: 0017171b slliw a4,a4,0x1 + 83f42024: 010787bb addw a5,a5,a6 + 83f42028: 0016561b srliw a2,a2,0x1 + 83f4202c: f171 bnez a0,83f41ff0 <__ieee754_sqrt+0xbc> + 83f4202e: 8fd9 or a5,a5,a4 + 83f42030: e3dd bnez a5,83f420d6 <__ieee754_sqrt+0x1a2> + 83f42032: 001e551b srliw a0,t3,0x1 + 83f42036: 401ed71b sraiw a4,t4,0x1 + 83f4203a: 3fe007b7 lui a5,0x3fe00 + 83f4203e: 001efe93 andi t4,t4,1 + 83f42042: 9f3d addw a4,a4,a5 + 83f42044: 000e8563 beqz t4,83f4204e <__ieee754_sqrt+0x11a> + 83f42048: 800007b7 lui a5,0x80000 + 83f4204c: 8d5d or a0,a0,a5 + 83f4204e: 014f179b slliw a5,t5,0x14 + 83f42052: 9fb9 addw a5,a5,a4 + 83f42054: 1502 slli a0,a0,0x20 + 83f42056: 9101 srli a0,a0,0x20 + 83f42058: 1782 slli a5,a5,0x20 + 83f4205a: 8d5d or a0,a0,a5 + 83f4205c: f2050553 fmv.d.x fa0,a0 + 83f42060: 8082 ret + 83f42062: 02179713 slli a4,a5,0x21 + 83f42066: 9305 srli a4,a4,0x21 + 83f42068: 8f51 or a4,a4,a2 + 83f4206a: db6d beqz a4,83f4205c <__ieee754_sqrt+0x128> + 83f4206c: 4581 li a1,0 + 83f4206e: e3d9 bnez a5,83f420f4 <__ieee754_sqrt+0x1c0> + 83f42070: 00b6571b srliw a4,a2,0xb + 83f42074: 35ad addiw a1,a1,-21 + 83f42076: 0156161b slliw a2,a2,0x15 + 83f4207a: 87ba mv a5,a4 + 83f4207c: db75 beqz a4,83f42070 <__ieee754_sqrt+0x13c> + 83f4207e: 01475693 srli a3,a4,0x14 + 83f42082: e2d1 bnez a3,83f42106 <__ieee754_sqrt+0x1d2> + 83f42084: 4681 li a3,0 + 83f42086: 00100837 lui a6,0x100 + 83f4208a: 0017979b slliw a5,a5,0x1 + 83f4208e: 0107f733 and a4,a5,a6 + 83f42092: 2701 sext.w a4,a4 + 83f42094: 8536 mv a0,a3 + 83f42096: 2685 addiw a3,a3,1 + 83f42098: db6d beqz a4,83f4208a <__ieee754_sqrt+0x156> + 83f4209a: 02000893 li a7,32 + 83f4209e: 8832 mv a6,a2 + 83f420a0: 40d888bb subw a7,a7,a3 + 83f420a4: 0007871b sext.w a4,a5 + 83f420a8: 00d6163b sllw a2,a2,a3 + 83f420ac: 011857bb srlw a5,a6,a7 + 83f420b0: 8fd9 or a5,a5,a4 + 83f420b2: 9d89 subw a1,a1,a0 + 83f420b4: 2781 sext.w a5,a5 + 83f420b6: b555 j 83f41f5a <__ieee754_sqrt+0x26> + 83f420b8: 8336 mv t1,a3 + 83f420ba: f405c5e3 bltz a1,83f42004 <__ieee754_sqrt+0xd0> + 83f420be: 0016831b addiw t1,a3,1 + 83f420c2: b789 j 83f42004 <__ieee754_sqrt+0xd0> + 83f420c4: f1176ae3 bltu a4,a7,83f41fd8 <__ieee754_sqrt+0xa4> + 83f420c8: 00c885bb addw a1,a7,a2 + 83f420cc: fe08c6e3 bltz a7,83f420b8 <__ieee754_sqrt+0x184> + 83f420d0: 833e mv t1,a5 + 83f420d2: 4781 li a5,0 + 83f420d4: bf25 j 83f4200c <__ieee754_sqrt+0xd8> + 83f420d6: 57fd li a5,-1 + 83f420d8: 02fe0563 beq t3,a5,83f42102 <__ieee754_sqrt+0x1ce> + 83f420dc: 001e051b addiw a0,t3,1 + 83f420e0: 0015551b srliw a0,a0,0x1 + 83f420e4: bf89 j 83f42036 <__ieee754_sqrt+0x102> + 83f420e6: 52a577c3 fmadd.d fa5,fa0,fa0,fa0 + 83f420ea: e2078553 fmv.x.d a0,fa5 + 83f420ee: f2050553 fmv.d.x fa0,a0 + 83f420f2: 8082 ret + 83f420f4: 0aa577d3 fsub.d fa5,fa0,fa0 + 83f420f8: 1af7f7d3 fdiv.d fa5,fa5,fa5 + 83f420fc: e2078553 fmv.x.d a0,fa5 + 83f42100: bfb1 j 83f4205c <__ieee754_sqrt+0x128> + 83f42102: 2e85 addiw t4,t4,1 + 83f42104: bf0d j 83f42036 <__ieee754_sqrt+0x102> + 83f42106: 8832 mv a6,a2 + 83f42108: 02000893 li a7,32 + 83f4210c: 557d li a0,-1 + 83f4210e: bf79 j 83f420ac <__ieee754_sqrt+0x178> + +0000000083f42110 <__kernel_cos>: + 83f42110: e20507d3 fmv.x.d a5,fa0 + 83f42114: 3e4006b7 lui a3,0x3e400 + 83f42118: 00179713 slli a4,a5,0x1 + 83f4211c: 9305 srli a4,a4,0x21 + 83f4211e: 08d75063 bge a4,a3,83f4219e <__kernel_cos+0x8e> + 83f42122: c2051753 fcvt.w.d a4,fa0,rtz + 83f42126: 2701 sext.w a4,a4 + 83f42128: 12070363 beqz a4,83f4224e <__kernel_cos+0x13e> + 83f4212c: 12a576d3 fmul.d fa3,fa0,fa0 + 83f42130: 00010717 auipc a4,0x10 + 83f42134: 5b073707 fld fa4,1456(a4) # 83f526e0 + 83f42138: 00010717 auipc a4,0x10 + 83f4213c: 5b073087 fld ft1,1456(a4) # 83f526e8 + 83f42140: 00010717 auipc a4,0x10 + 83f42144: 5b073007 fld ft0,1456(a4) # 83f526f0 + 83f42148: 00010717 auipc a4,0x10 + 83f4214c: 5b073787 fld fa5,1456(a4) # 83f526f8 + 83f42150: 00010717 auipc a4,0x10 + 83f42154: 5b073507 fld fa0,1456(a4) # 83f52700 + 83f42158: 00010717 auipc a4,0x10 + 83f4215c: 5b073607 fld fa2,1456(a4) # 83f52708 + 83f42160: 0ae6f743 fmadd.d fa4,fa3,fa4,ft1 + 83f42164: 02e6f743 fmadd.d fa4,fa3,fa4,ft0 + 83f42168: 7ae6f7c3 fmadd.d fa5,fa3,fa4,fa5 + 83f4216c: 52f6f7c3 fmadd.d fa5,fa3,fa5,fa0 + 83f42170: 62f6f7c3 fmadd.d fa5,fa3,fa5,fa2 + 83f42174: 12f6f7d3 fmul.d fa5,fa3,fa5 + 83f42178: f2078753 fmv.d.x fa4,a5 + 83f4217c: 00010797 auipc a5,0x10 + 83f42180: 1947b507 fld fa0,404(a5) # 83f52310 <__func__.1+0x118> + 83f42184: 12b775d3 fmul.d fa1,fa4,fa1 + 83f42188: 00010797 auipc a5,0x10 + 83f4218c: 1107b707 fld fa4,272(a5) # 83f52298 <__func__.1+0xa0> + 83f42190: 5af6f7c7 fmsub.d fa5,fa3,fa5,fa1 + 83f42194: 7ae6f7c7 fmsub.d fa5,fa3,fa4,fa5 + 83f42198: 0af57553 fsub.d fa0,fa0,fa5 + 83f4219c: 8082 ret + 83f4219e: 12a576d3 fmul.d fa3,fa0,fa0 + 83f421a2: 00010697 auipc a3,0x10 + 83f421a6: 53e6b707 fld fa4,1342(a3) # 83f526e0 + 83f421aa: 00010697 auipc a3,0x10 + 83f421ae: 53e6b787 fld fa5,1342(a3) # 83f526e8 + 83f421b2: 00010697 auipc a3,0x10 + 83f421b6: 53e6b087 fld ft1,1342(a3) # 83f526f0 + 83f421ba: 00010697 auipc a3,0x10 + 83f421be: 53e6b007 fld ft0,1342(a3) # 83f526f8 + 83f421c2: 00010697 auipc a3,0x10 + 83f421c6: 53e6b507 fld fa0,1342(a3) # 83f52700 + 83f421ca: 00010697 auipc a3,0x10 + 83f421ce: 53e6b607 fld fa2,1342(a3) # 83f52708 + 83f421d2: 7ae6f7c3 fmadd.d fa5,fa3,fa4,fa5 + 83f421d6: 3fd336b7 lui a3,0x3fd33 + 83f421da: 33268693 addi a3,a3,818 # 3fd33332 + 83f421de: 0ad7f7c3 fmadd.d fa5,fa5,fa3,ft1 + 83f421e2: 02d7f7c3 fmadd.d fa5,fa5,fa3,ft0 + 83f421e6: 52d7f7c3 fmadd.d fa5,fa5,fa3,fa0 + 83f421ea: 62d7f7c3 fmadd.d fa5,fa5,fa3,fa2 + 83f421ee: 12d7f7d3 fmul.d fa5,fa5,fa3 + 83f421f2: f8e6d3e3 bge a3,a4,83f42178 <__kernel_cos+0x68> + 83f421f6: 3fe906b7 lui a3,0x3fe90 + 83f421fa: 04e6c163 blt a3,a4,83f4223c <__kernel_cos+0x12c> + 83f421fe: ffe006b7 lui a3,0xffe00 + 83f42202: 9f35 addw a4,a4,a3 + 83f42204: 1702 slli a4,a4,0x20 + 83f42206: f2070753 fmv.d.x fa4,a4 + 83f4220a: 00010697 auipc a3,0x10 + 83f4220e: 1066b507 fld fa0,262(a3) # 83f52310 <__func__.1+0x118> + 83f42212: f2070653 fmv.d.x fa2,a4 + 83f42216: 0ae57553 fsub.d fa0,fa0,fa4 + 83f4221a: f2078753 fmv.d.x fa4,a5 + 83f4221e: 12b775d3 fmul.d fa1,fa4,fa1 + 83f42222: 00010797 auipc a5,0x10 + 83f42226: 0767b707 fld fa4,118(a5) # 83f52298 <__func__.1+0xa0> + 83f4222a: 62e6f747 fmsub.d fa4,fa3,fa4,fa2 + 83f4222e: 5af6f6c7 fmsub.d fa3,fa3,fa5,fa1 + 83f42232: 0ad77753 fsub.d fa4,fa4,fa3 + 83f42236: 0ae57553 fsub.d fa0,fa0,fa4 + 83f4223a: 8082 ret + 83f4223c: 00010717 auipc a4,0x10 + 83f42240: 49473507 fld fa0,1172(a4) # 83f526d0 + 83f42244: 00010717 auipc a4,0x10 + 83f42248: 49473607 fld fa2,1172(a4) # 83f526d8 + 83f4224c: b7f9 j 83f4221a <__kernel_cos+0x10a> + 83f4224e: 00010797 auipc a5,0x10 + 83f42252: 0c27b507 fld fa0,194(a5) # 83f52310 <__func__.1+0x118> + 83f42256: 8082 ret + +0000000083f42258 <__kernel_rem_pio2>: + 83f42258: d0010113 addi sp,sp,-768 + 83f4225c: 2d313c23 sd s3,728(sp) + 83f42260: e43a sd a4,8(sp) + 83f42262: 89b6 mv s3,a3 + 83f42264: 00271693 slli a3,a4,0x2 + 83f42268: 0000f717 auipc a4,0xf + 83f4226c: 99870713 addi a4,a4,-1640 # 83f50c00 + 83f42270: 9736 add a4,a4,a3 + 83f42272: 2d413823 sd s4,720(sp) + 83f42276: 2b713c23 sd s7,696(sp) + 83f4227a: 2b913423 sd s9,680(sp) + 83f4227e: 2ba13023 sd s10,672(sp) + 83f42282: 29b13c23 sd s11,664(sp) + 83f42286: fff9889b addiw a7,s3,-1 + 83f4228a: 2e113c23 sd ra,760(sp) + 83f4228e: 2e813823 sd s0,752(sp) + 83f42292: 2e913423 sd s1,744(sp) + 83f42296: 2f213023 sd s2,736(sp) + 83f4229a: 2d513423 sd s5,712(sp) + 83f4229e: 2d613023 sd s6,704(sp) + 83f422a2: 2b813823 sd s8,688(sp) + 83f422a6: 28813427 fsd fs0,648(sp) + 83f422aa: 28913027 fsd fs1,640(sp) + 83f422ae: 27213c27 fsd fs2,632(sp) + 83f422b2: 27313827 fsd fs3,624(sp) + 83f422b6: 27413427 fsd fs4,616(sp) + 83f422ba: 27513027 fsd fs5,608(sp) + 83f422be: 25613c27 fsd fs6,600(sp) + 83f422c2: 56b1 li a3,-20 + 83f422c4: e02e sd a1,0(sp) + 83f422c6: 00072c83 lw s9,0(a4) + 83f422ca: 8bb2 mv s7,a2 + 83f422cc: 8daa mv s11,a0 + 83f422ce: 8a3e mv s4,a5 + 83f422d0: 00088d1b sext.w s10,a7 + 83f422d4: 60d64463 blt a2,a3,83f428dc <__kernel_rem_pio2+0x684> + 83f422d8: 47e1 li a5,24 + 83f422da: ffd6049b addiw s1,a2,-3 + 83f422de: 02f4c4bb divw s1,s1,a5 + 83f422e2: 0014879b addiw a5,s1,1 + 83f422e6: 0027971b slliw a4,a5,0x2 + 83f422ea: 9f99 subw a5,a5,a4 + 83f422ec: 0037979b slliw a5,a5,0x3 + 83f422f0: 00fb8b3b addw s6,s7,a5 + 83f422f4: 019886bb addw a3,a7,s9 + 83f422f8: 411485bb subw a1,s1,a7 + 83f422fc: c85a sw s6,16(sp) + 83f422fe: 8736 mv a4,a3 + 83f42300: 0005879b sext.w a5,a1 + 83f42304: 0206c663 bltz a3,83f42330 <__kernel_rem_pio2+0xd8> + 83f42308: 0017061b addiw a2,a4,1 + 83f4230c: 00279693 slli a3,a5,0x2 + 83f42310: 1898 addi a4,sp,112 + 83f42312: 96d2 add a3,a3,s4 + 83f42314: 9e2d addw a2,a2,a1 + 83f42316: f20007d3 fmv.d.x fa5,zero + 83f4231a: 0007c563 bltz a5,83f42324 <__kernel_rem_pio2+0xcc> + 83f4231e: 428c lw a1,0(a3) + 83f42320: d20587d3 fcvt.d.w fa5,a1 + 83f42324: 2785 addiw a5,a5,1 + 83f42326: a31c fsd fa5,0(a4) + 83f42328: 0721 addi a4,a4,8 + 83f4232a: 0691 addi a3,a3,4 + 83f4232c: fec795e3 bne a5,a2,83f42316 <__kernel_rem_pio2+0xbe> + 83f42330: 040cc563 bltz s9,83f4237a <__kernel_rem_pio2+0x122> + 83f42334: fff9869b addiw a3,s3,-1 + 83f42338: 02069793 slli a5,a3,0x20 + 83f4233c: 01d7d693 srli a3,a5,0x1d + 83f42340: 008d8793 addi a5,s11,8 + 83f42344: 1b0c addi a1,sp,432 + 83f42346: 866a mv a2,s10 + 83f42348: 013c853b addw a0,s9,s3 + 83f4234c: 96be add a3,a3,a5 + 83f4234e: f20007d3 fmv.d.x fa5,zero + 83f42352: 000d4f63 bltz s10,83f42370 <__kernel_rem_pio2+0x118> + 83f42356: 189c addi a5,sp,112 + 83f42358: 00361713 slli a4,a2,0x3 + 83f4235c: 973e add a4,a4,a5 + 83f4235e: 87ee mv a5,s11 + 83f42360: 2394 fld fa3,0(a5) + 83f42362: 2318 fld fa4,0(a4) + 83f42364: 07a1 addi a5,a5,8 + 83f42366: 1761 addi a4,a4,-8 + 83f42368: 7ae6f7c3 fmadd.d fa5,fa3,fa4,fa5 + 83f4236c: fed79ae3 bne a5,a3,83f42360 <__kernel_rem_pio2+0x108> + 83f42370: a19c fsd fa5,0(a1) + 83f42372: 2605 addiw a2,a2,1 + 83f42374: 05a1 addi a1,a1,8 + 83f42376: fca61ce3 bne a2,a0,83f4234e <__kernel_rem_pio2+0xf6> + 83f4237a: 02089793 slli a5,a7,0x20 + 83f4237e: 002c9913 slli s2,s9,0x2 + 83f42382: 01d7d893 srli a7,a5,0x1d + 83f42386: 1961 addi s2,s2,-8 + 83f42388: 101c addi a5,sp,32 + 83f4238a: 993e add s2,s2,a5 + 83f4238c: fffc841b addiw s0,s9,-1 + 83f42390: 00010797 auipc a5,0x10 + 83f42394: 3907b487 fld fs1,912(a5) # 83f52720 + 83f42398: 00010797 auipc a5,0x10 + 83f4239c: 3907b407 fld fs0,912(a5) # 83f52728 + 83f423a0: 00010797 auipc a5,0x10 + 83f423a4: f707b907 fld fs2,-144(a5) # 83f52310 <__func__.1+0x118> + 83f423a8: 00010797 auipc a5,0x10 + 83f423ac: 3707ba87 fld fs5,880(a5) # 83f52718 + 83f423b0: 00010797 auipc a5,0x10 + 83f423b4: 3187ba07 fld fs4,792(a5) # 83f526c8 + 83f423b8: 00010797 auipc a5,0x10 + 83f423bc: ee07b987 fld fs3,-288(a5) # 83f52298 <__func__.1+0xa0> + 83f423c0: 040a slli s0,s0,0x2 + 83f423c2: 0c9c addi a5,sp,592 + 83f423c4: 011d8c33 add s8,s11,a7 + 83f423c8: 8ae6 mv s5,s9 + 83f423ca: 943e add s0,s0,a5 + 83f423cc: 003a9793 slli a5,s5,0x3 + 83f423d0: 0c98 addi a4,sp,592 + 83f423d2: 973e add a4,a4,a5 + 83f423d4: f6073507 fld fa0,-160(a4) + 83f423d8: 05505263 blez s5,83f4241c <__kernel_rem_pio2+0x1c4> + 83f423dc: fffa859b addiw a1,s5,-1 + 83f423e0: ff878713 addi a4,a5,-8 + 83f423e4: 1b14 addi a3,sp,432 + 83f423e6: 02059793 slli a5,a1,0x20 + 83f423ea: 01e7d593 srli a1,a5,0x1e + 83f423ee: 9736 add a4,a4,a3 + 83f423f0: 1054 addi a3,sp,36 + 83f423f2: 101c addi a5,sp,32 + 83f423f4: 95b6 add a1,a1,a3 + 83f423f6: 135577d3 fmul.d fa5,fa0,fs5 + 83f423fa: 2314 fld fa3,0(a4) + 83f423fc: 0791 addi a5,a5,4 + 83f423fe: 1761 addi a4,a4,-8 + 83f42400: c2079653 fcvt.w.d a2,fa5,rtz + 83f42404: d20607d3 fcvt.d.w fa5,a2 + 83f42408: 5347f74b fnmsub.d fa4,fa5,fs4,fa0 + 83f4240c: 02d7f553 fadd.d fa0,fa5,fa3 + 83f42410: c2071653 fcvt.w.d a2,fa4,rtz + 83f42414: fec7ae23 sw a2,-4(a5) + 83f42418: fcb79fe3 bne a5,a1,83f423f6 <__kernel_rem_pio2+0x19e> + 83f4241c: 855a mv a0,s6 + 83f4241e: 7be000ef jal ra,83f42bdc + 83f42422: 22a50b53 fmv.d fs6,fa0 + 83f42426: 12957553 fmul.d fa0,fa0,fs1 + 83f4242a: d38fe0ef jal ra,83f40962 + 83f4242e: b285754b fnmsub.d fa0,fa0,fs0,fs6 + 83f42432: c2051653 fcvt.w.d a2,fa0,rtz + 83f42436: d2060b53 fcvt.d.w fs6,a2 + 83f4243a: 00060b9b sext.w s7,a2 + 83f4243e: 0b657b53 fsub.d fs6,fa0,fs6 + 83f42442: 0f605f63 blez s6,83f42540 <__kernel_rem_pio2+0x2e8> + 83f42446: fffa879b addiw a5,s5,-1 + 83f4244a: 0c98 addi a4,sp,592 + 83f4244c: 078a slli a5,a5,0x2 + 83f4244e: 97ba add a5,a5,a4 + 83f42450: dd07a883 lw a7,-560(a5) + 83f42454: 4761 li a4,24 + 83f42456: 4167073b subw a4,a4,s6 + 83f4245a: 40e8de3b sraw t3,a7,a4 + 83f4245e: 00ee173b sllw a4,t3,a4 + 83f42462: 40e8873b subw a4,a7,a4 + 83f42466: 48dd li a7,23 + 83f42468: 416888bb subw a7,a7,s6 + 83f4246c: dce7a823 sw a4,-560(a5) + 83f42470: 411758bb sraw a7,a4,a7 + 83f42474: 01c60bbb addw s7,a2,t3 + 83f42478: 0f104163 bgtz a7,83f4255a <__kernel_rem_pio2+0x302> + 83f4247c: f2000753 fmv.d.x fa4,zero + 83f42480: a2eb27d3 feq.d a5,fs6,fa4 + 83f42484: 1a078263 beqz a5,83f42628 <__kernel_rem_pio2+0x3d0> + 83f42488: fffa831b addiw t1,s5,-1 + 83f4248c: 03934b63 blt t1,s9,83f424c2 <__kernel_rem_pio2+0x26a> + 83f42490: fffcc713 not a4,s9 + 83f42494: 002a9593 slli a1,s5,0x2 + 83f42498: 0157073b addw a4,a4,s5 + 83f4249c: 0834 addi a3,sp,24 + 83f4249e: ffc58793 addi a5,a1,-4 # 3feffffc + 83f424a2: 95b6 add a1,a1,a3 + 83f424a4: 02071693 slli a3,a4,0x20 + 83f424a8: 01e6d713 srli a4,a3,0x1e + 83f424ac: 1014 addi a3,sp,32 + 83f424ae: 8d99 sub a1,a1,a4 + 83f424b0: 97b6 add a5,a5,a3 + 83f424b2: 4701 li a4,0 + 83f424b4: 4390 lw a2,0(a5) + 83f424b6: 17f1 addi a5,a5,-4 + 83f424b8: 8f51 or a4,a4,a2 + 83f424ba: feb79de3 bne a5,a1,83f424b4 <__kernel_rem_pio2+0x25c> + 83f424be: 30071f63 bnez a4,83f427dc <__kernel_rem_pio2+0x584> + 83f424c2: dd042783 lw a5,-560(s0) + 83f424c6: 30079763 bnez a5,83f427d4 <__kernel_rem_pio2+0x57c> + 83f424ca: 87ca mv a5,s2 + 83f424cc: 4705 li a4,1 + 83f424ce: 4390 lw a2,0(a5) + 83f424d0: 2705 addiw a4,a4,1 + 83f424d2: 17f1 addi a5,a5,-4 + 83f424d4: de6d beqz a2,83f424ce <__kernel_rem_pio2+0x276> + 83f424d6: 001a851b addiw a0,s5,1 + 83f424da: 00ea88bb addw a7,s5,a4 + 83f424de: 00ad07bb addw a5,s10,a0 + 83f424e2: 013a8333 add t1,s5,s3 + 83f424e6: 40f30333 sub t1,t1,a5 + 83f424ea: 00a48633 add a2,s1,a0 + 83f424ee: 078e slli a5,a5,0x3 + 83f424f0: 1898 addi a4,sp,112 + 83f424f2: 060a slli a2,a2,0x2 + 83f424f4: 00351593 slli a1,a0,0x3 + 83f424f8: 030e slli t1,t1,0x3 + 83f424fa: 00f706b3 add a3,a4,a5 + 83f424fe: 1b1c addi a5,sp,432 + 83f42500: 9652 add a2,a2,s4 + 83f42502: 95be add a1,a1,a5 + 83f42504: 1361 addi t1,t1,-8 + 83f42506: 421c lw a5,0(a2) + 83f42508: f20007d3 fmv.d.x fa5,zero + 83f4250c: d2078753 fcvt.d.w fa4,a5 + 83f42510: a298 fsd fa4,0(a3) + 83f42512: 000d4e63 bltz s10,83f4252e <__kernel_rem_pio2+0x2d6> + 83f42516: 00d30733 add a4,t1,a3 + 83f4251a: 87ee mv a5,s11 + 83f4251c: a021 j 83f42524 <__kernel_rem_pio2+0x2cc> + 83f4251e: 2318 fld fa4,0(a4) + 83f42520: 07a1 addi a5,a5,8 + 83f42522: 1761 addi a4,a4,-8 + 83f42524: 2394 fld fa3,0(a5) + 83f42526: 7ae6f7c3 fmadd.d fa5,fa3,fa4,fa5 + 83f4252a: ff879ae3 bne a5,s8,83f4251e <__kernel_rem_pio2+0x2c6> + 83f4252e: a19c fsd fa5,0(a1) + 83f42530: 2505 addiw a0,a0,1 + 83f42532: 0611 addi a2,a2,4 + 83f42534: 06a1 addi a3,a3,8 + 83f42536: 05a1 addi a1,a1,8 + 83f42538: fca8d7e3 bge a7,a0,83f42506 <__kernel_rem_pio2+0x2ae> + 83f4253c: 8ac6 mv s5,a7 + 83f4253e: b579 j 83f423cc <__kernel_rem_pio2+0x174> + 83f42540: 260b1d63 bnez s6,83f427ba <__kernel_rem_pio2+0x562> + 83f42544: fffa879b addiw a5,s5,-1 + 83f42548: 078a slli a5,a5,0x2 + 83f4254a: 0c98 addi a4,sp,592 + 83f4254c: 97ba add a5,a5,a4 + 83f4254e: dd07a883 lw a7,-560(a5) + 83f42552: 4178d89b sraiw a7,a7,0x17 + 83f42556: f31053e3 blez a7,83f4247c <__kernel_rem_pio2+0x224> + 83f4255a: 2b85 addiw s7,s7,1 + 83f4255c: 39505e63 blez s5,83f428f8 <__kernel_rem_pio2+0x6a0> + 83f42560: 5782 lw a5,32(sp) + 83f42562: 24079963 bnez a5,83f427b4 <__kernel_rem_pio2+0x55c> + 83f42566: 4705 li a4,1 + 83f42568: 06ea8763 beq s5,a4,83f425d6 <__kernel_rem_pio2+0x37e> + 83f4256c: 5792 lw a5,36(sp) + 83f4256e: 1050 addi a2,sp,36 + 83f42570: 0017051b addiw a0,a4,1 + 83f42574: 0611 addi a2,a2,4 + 83f42576: eb89 bnez a5,83f42588 <__kernel_rem_pio2+0x330> + 83f42578: 04aa8f63 beq s5,a0,83f425d6 <__kernel_rem_pio2+0x37e> + 83f4257c: 421c lw a5,0(a2) + 83f4257e: 872a mv a4,a0 + 83f42580: 0017051b addiw a0,a4,1 + 83f42584: 0611 addi a2,a2,4 + 83f42586: dbed beqz a5,83f42578 <__kernel_rem_pio2+0x320> + 83f42588: 00271613 slli a2,a4,0x2 + 83f4258c: 0c94 addi a3,sp,592 + 83f4258e: 01000737 lui a4,0x1000 + 83f42592: 9636 add a2,a2,a3 + 83f42594: 40f707bb subw a5,a4,a5 + 83f42598: dcf62823 sw a5,-560(a2) # ffffffff7ffffdd0 <_end+0xfffffffefc000090> + 83f4259c: 03555c63 bge a0,s5,83f425d4 <__kernel_rem_pio2+0x37c> + 83f425a0: fffa879b addiw a5,s5,-1 + 83f425a4: 9f89 subw a5,a5,a0 + 83f425a6: 1782 slli a5,a5,0x20 + 83f425a8: 00251613 slli a2,a0,0x2 + 83f425ac: 9381 srli a5,a5,0x20 + 83f425ae: 00c685b3 add a1,a3,a2 + 83f425b2: 97aa add a5,a5,a0 + 83f425b4: 1014 addi a3,sp,32 + 83f425b6: 078a slli a5,a5,0x2 + 83f425b8: 9636 add a2,a2,a3 + 83f425ba: 1054 addi a3,sp,36 + 83f425bc: dd05a583 lw a1,-560(a1) + 83f425c0: 97b6 add a5,a5,a3 + 83f425c2: 377d addiw a4,a4,-1 + 83f425c4: a011 j 83f425c8 <__kernel_rem_pio2+0x370> + 83f425c6: 420c lw a1,0(a2) + 83f425c8: 40b705bb subw a1,a4,a1 + 83f425cc: c20c sw a1,0(a2) + 83f425ce: 0611 addi a2,a2,4 + 83f425d0: fef61be3 bne a2,a5,83f425c6 <__kernel_rem_pio2+0x36e> + 83f425d4: 4785 li a5,1 + 83f425d6: 03605363 blez s6,83f425fc <__kernel_rem_pio2+0x3a4> + 83f425da: 4705 li a4,1 + 83f425dc: 2eeb0463 beq s6,a4,83f428c4 <__kernel_rem_pio2+0x66c> + 83f425e0: 4709 li a4,2 + 83f425e2: 00eb1d63 bne s6,a4,83f425fc <__kernel_rem_pio2+0x3a4> + 83f425e6: fffa871b addiw a4,s5,-1 + 83f425ea: 070a slli a4,a4,0x2 + 83f425ec: 0c94 addi a3,sp,592 + 83f425ee: 9736 add a4,a4,a3 + 83f425f0: dd072603 lw a2,-560(a4) # fffdd0 + 83f425f4: 162a slli a2,a2,0x2a + 83f425f6: 9229 srli a2,a2,0x2a + 83f425f8: dcc72823 sw a2,-560(a4) + 83f425fc: 4709 li a4,2 + 83f425fe: e6e89fe3 bne a7,a4,83f4247c <__kernel_rem_pio2+0x224> + 83f42602: 0b697b53 fsub.d fs6,fs2,fs6 + 83f42606: e6078be3 beqz a5,83f4247c <__kernel_rem_pio2+0x224> + 83f4260a: 23290553 fmv.d fa0,fs2 + 83f4260e: 855a mv a0,s6 + 83f42610: ec46 sd a7,24(sp) + 83f42612: 5ca000ef jal ra,83f42bdc + 83f42616: 0aab7b53 fsub.d fs6,fs6,fa0 + 83f4261a: f2000753 fmv.d.x fa4,zero + 83f4261e: 68e2 ld a7,24(sp) + 83f42620: a2eb27d3 feq.d a5,fs6,fa4 + 83f42624: e60792e3 bnez a5,83f42488 <__kernel_rem_pio2+0x230> + 83f42628: 4442 lw s0,16(sp) + 83f4262a: 236b0553 fmv.d fa0,fs6 + 83f4262e: ec46 sd a7,24(sp) + 83f42630: 4080053b negw a0,s0 + 83f42634: 5a8000ef jal ra,83f42bdc + 83f42638: 00010797 auipc a5,0x10 + 83f4263c: 0907b607 fld fa2,144(a5) # 83f526c8 + 83f42640: a2a607d3 fle.d a5,fa2,fa0 + 83f42644: 68e2 ld a7,24(sp) + 83f42646: 30078063 beqz a5,83f42946 <__kernel_rem_pio2+0x6ee> + 83f4264a: 00010797 auipc a5,0x10 + 83f4264e: 0ce7b687 fld fa3,206(a5) # 83f52718 + 83f42652: 12d576d3 fmul.d fa3,fa0,fa3 + 83f42656: 0c9c addi a5,sp,592 + 83f42658: 002a9713 slli a4,s5,0x2 + 83f4265c: 001a831b addiw t1,s5,1 + 83f42660: 973e add a4,a4,a5 + 83f42662: 0c94 addi a3,sp,592 + 83f42664: 00231793 slli a5,t1,0x2 + 83f42668: 97b6 add a5,a5,a3 + 83f4266a: c20696d3 fcvt.w.d a3,fa3,rtz + 83f4266e: 01840b1b addiw s6,s0,24 + 83f42672: d2068753 fcvt.d.w fa4,a3 + 83f42676: 52c777cb fnmsub.d fa5,fa4,fa2,fa0 + 83f4267a: c2079653 fcvt.w.d a2,fa5,rtz + 83f4267e: dcc72823 sw a2,-560(a4) + 83f42682: dcd7a823 sw a3,-560(a5) + 83f42686: 23290553 fmv.d fa0,fs2 + 83f4268a: 855a mv a0,s6 + 83f4268c: ec1a sd t1,24(sp) + 83f4268e: e846 sd a7,16(sp) + 83f42690: 54c000ef jal ra,83f42bdc + 83f42694: 6362 ld t1,24(sp) + 83f42696: 68c2 ld a7,16(sp) + 83f42698: 2e034863 bltz t1,83f42988 <__kernel_rem_pio2+0x730> + 83f4269c: 1b18 addi a4,sp,432 + 83f4269e: 00331f13 slli t5,t1,0x3 + 83f426a2: 01e705b3 add a1,a4,t5 + 83f426a6: 00231793 slli a5,t1,0x2 + 83f426aa: 1018 addi a4,sp,32 + 83f426ac: 97ba add a5,a5,a4 + 83f426ae: 0870 addi a2,sp,28 + 83f426b0: 872e mv a4,a1 + 83f426b2: 00010697 auipc a3,0x10 + 83f426b6: 0666b687 fld fa3,102(a3) # 83f52718 + 83f426ba: 4394 lw a3,0(a5) + 83f426bc: 1761 addi a4,a4,-8 + 83f426be: 17f1 addi a5,a5,-4 + 83f426c0: d20687d3 fcvt.d.w fa5,a3 + 83f426c4: 12a7f7d3 fmul.d fa5,fa5,fa0 + 83f426c8: 12d57553 fmul.d fa0,fa0,fa3 + 83f426cc: a71c fsd fa5,8(a4) + 83f426ce: fec796e3 bne a5,a2,83f426ba <__kernel_rem_pio2+0x462> + 83f426d2: 11010813 addi a6,sp,272 + 83f426d6: 851a mv a0,t1 + 83f426d8: 4e81 li t4,0 + 83f426da: 00010797 auipc a5,0x10 + 83f426de: 0367b607 fld fa2,54(a5) # 83f52710 + 83f426e2: 5ffd li t6,-1 + 83f426e4: 1e0ccf63 bltz s9,83f428e2 <__kernel_rem_pio2+0x68a> + 83f426e8: 22c60753 fmv.d fa4,fa2 + 83f426ec: f20007d3 fmv.d.x fa5,zero + 83f426f0: 0000e697 auipc a3,0xe + 83f426f4: 52068693 addi a3,a3,1312 # 83f50c10 + 83f426f8: 872e mv a4,a1 + 83f426fa: 4781 li a5,0 + 83f426fc: 000e861b sext.w a2,t4 + 83f42700: a029 j 83f4270a <__kernel_rem_pio2+0x4b2> + 83f42702: 0721 addi a4,a4,8 + 83f42704: 00f64a63 blt a2,a5,83f42718 <__kernel_rem_pio2+0x4c0> + 83f42708: 2298 fld fa4,0(a3) + 83f4270a: 2314 fld fa3,0(a4) + 83f4270c: 2785 addiw a5,a5,1 + 83f4270e: 06a1 addi a3,a3,8 + 83f42710: 7ae6f7c3 fmadd.d fa5,fa3,fa4,fa5 + 83f42714: fefcd7e3 bge s9,a5,83f42702 <__kernel_rem_pio2+0x4aa> + 83f42718: 00f83027 fsd fa5,0(a6) # 100000 + 83f4271c: 357d addiw a0,a0,-1 + 83f4271e: 0e85 addi t4,t4,1 + 83f42720: 0821 addi a6,a6,8 + 83f42722: 15e1 addi a1,a1,-8 + 83f42724: fdf510e3 bne a0,t6,83f426e4 <__kernel_rem_pio2+0x48c> + 83f42728: 6722 ld a4,8(sp) + 83f4272a: 4789 li a5,2 + 83f4272c: 0ce7cc63 blt a5,a4,83f42804 <__kernel_rem_pio2+0x5ac> + 83f42730: 1ce04663 bgtz a4,83f428fc <__kernel_rem_pio2+0x6a4> + 83f42734: e31d bnez a4,83f4275a <__kernel_rem_pio2+0x502> + 83f42736: f20007d3 fmv.d.x fa5,zero + 83f4273a: 0a1c addi a5,sp,272 + 83f4273c: 9f3e add t5,t5,a5 + 83f4273e: 17e1 addi a5,a5,-8 + 83f42740: 000f3707 fld fa4,0(t5) + 83f42744: 1f61 addi t5,t5,-8 + 83f42746: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f4274a: ffe79be3 bne a5,t5,83f42740 <__kernel_rem_pio2+0x4e8> + 83f4274e: 00088463 beqz a7,83f42756 <__kernel_rem_pio2+0x4fe> + 83f42752: 22f797d3 fneg.d fa5,fa5 + 83f42756: 6782 ld a5,0(sp) + 83f42758: a39c fsd fa5,0(a5) + 83f4275a: 2f813083 ld ra,760(sp) + 83f4275e: 2f013403 ld s0,752(sp) + 83f42762: 2e813483 ld s1,744(sp) + 83f42766: 2e013903 ld s2,736(sp) + 83f4276a: 2d813983 ld s3,728(sp) + 83f4276e: 2d013a03 ld s4,720(sp) + 83f42772: 2c813a83 ld s5,712(sp) + 83f42776: 2c013b03 ld s6,704(sp) + 83f4277a: 2b013c03 ld s8,688(sp) + 83f4277e: 2a813c83 ld s9,680(sp) + 83f42782: 2a013d03 ld s10,672(sp) + 83f42786: 29813d83 ld s11,664(sp) + 83f4278a: 28813407 fld fs0,648(sp) + 83f4278e: 28013487 fld fs1,640(sp) + 83f42792: 27813907 fld fs2,632(sp) + 83f42796: 27013987 fld fs3,624(sp) + 83f4279a: 26813a07 fld fs4,616(sp) + 83f4279e: 26013a87 fld fs5,608(sp) + 83f427a2: 25813b07 fld fs6,600(sp) + 83f427a6: 007bf513 andi a0,s7,7 + 83f427aa: 2b813b83 ld s7,696(sp) + 83f427ae: 30010113 addi sp,sp,768 + 83f427b2: 8082 ret + 83f427b4: 4505 li a0,1 + 83f427b6: 4701 li a4,0 + 83f427b8: bbc1 j 83f42588 <__kernel_rem_pio2+0x330> + 83f427ba: a36987d3 fle.d a5,fs3,fs6 + 83f427be: 4881 li a7,0 + 83f427c0: ca078ee3 beqz a5,83f4247c <__kernel_rem_pio2+0x224> + 83f427c4: 00160b9b addiw s7,a2,1 + 83f427c8: 4889 li a7,2 + 83f427ca: d9504be3 bgtz s5,83f42560 <__kernel_rem_pio2+0x308> + 83f427ce: 0b697b53 fsub.d fs6,fs2,fs6 + 83f427d2: b16d j 83f4247c <__kernel_rem_pio2+0x224> + 83f427d4: 001a851b addiw a0,s5,1 + 83f427d8: 88aa mv a7,a0 + 83f427da: b311 j 83f424de <__kernel_rem_pio2+0x286> + 83f427dc: 00231793 slli a5,t1,0x2 + 83f427e0: 0c98 addi a4,sp,592 + 83f427e2: 973e add a4,a4,a5 + 83f427e4: 46c2 lw a3,16(sp) + 83f427e6: dd072703 lw a4,-560(a4) + 83f427ea: fe868b1b addiw s6,a3,-24 + 83f427ee: e8071ce3 bnez a4,83f42686 <__kernel_rem_pio2+0x42e> + 83f427f2: 17f1 addi a5,a5,-4 + 83f427f4: 1018 addi a4,sp,32 + 83f427f6: 97ba add a5,a5,a4 + 83f427f8: 4398 lw a4,0(a5) + 83f427fa: 337d addiw t1,t1,-1 + 83f427fc: 17f1 addi a5,a5,-4 + 83f427fe: 3b21 addiw s6,s6,-24 + 83f42800: df65 beqz a4,83f427f8 <__kernel_rem_pio2+0x5a0> + 83f42802: b551 j 83f42686 <__kernel_rem_pio2+0x42e> + 83f42804: 6722 ld a4,8(sp) + 83f42806: 478d li a5,3 + 83f42808: f4f719e3 bne a4,a5,83f4275a <__kernel_rem_pio2+0x502> + 83f4280c: 04030163 beqz t1,83f4284e <__kernel_rem_pio2+0x5f6> + 83f42810: fff3069b addiw a3,t1,-1 + 83f42814: 0c9c addi a5,sp,592 + 83f42816: 97fa add a5,a5,t5 + 83f42818: 02069613 slli a2,a3,0x20 + 83f4281c: 0218 addi a4,sp,256 + 83f4281e: 01d65693 srli a3,a2,0x1d + 83f42822: ec07b707 fld fa4,-320(a5) + 83f42826: 977a add a4,a4,t5 + 83f42828: ff8f0793 addi a5,t5,-8 + 83f4282c: 0a10 addi a2,sp,272 + 83f4282e: 97b2 add a5,a5,a2 + 83f42830: 8f15 sub a4,a4,a3 + 83f42832: 239c fld fa5,0(a5) + 83f42834: 22e706d3 fmv.d fa3,fa4 + 83f42838: 17e1 addi a5,a5,-8 + 83f4283a: 02f77753 fadd.d fa4,fa4,fa5 + 83f4283e: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f42842: a798 fsd fa4,8(a5) + 83f42844: 02d7f7d3 fadd.d fa5,fa5,fa3 + 83f42848: ab9c fsd fa5,16(a5) + 83f4284a: fef714e3 bne a4,a5,83f42832 <__kernel_rem_pio2+0x5da> + 83f4284e: 4785 li a5,1 + 83f42850: f20007d3 fmv.d.x fa5,zero + 83f42854: 0467df63 bge a5,t1,83f428b2 <__kernel_rem_pio2+0x65a> + 83f42858: ffe3069b addiw a3,t1,-2 + 83f4285c: 02069713 slli a4,a3,0x20 + 83f42860: 0c9c addi a5,sp,592 + 83f42862: 97fa add a5,a5,t5 + 83f42864: 01d75693 srli a3,a4,0x1d + 83f42868: 0218 addi a4,sp,256 + 83f4286a: ec07b707 fld fa4,-320(a5) + 83f4286e: 977a add a4,a4,t5 + 83f42870: ff8f0793 addi a5,t5,-8 + 83f42874: 0a10 addi a2,sp,272 + 83f42876: 97b2 add a5,a5,a2 + 83f42878: 8f15 sub a4,a4,a3 + 83f4287a: 239c fld fa5,0(a5) + 83f4287c: 22e706d3 fmv.d fa3,fa4 + 83f42880: 17e1 addi a5,a5,-8 + 83f42882: 02f77753 fadd.d fa4,fa4,fa5 + 83f42886: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f4288a: a798 fsd fa4,8(a5) + 83f4288c: 02d7f7d3 fadd.d fa5,fa5,fa3 + 83f42890: ab9c fsd fa5,16(a5) + 83f42892: fee794e3 bne a5,a4,83f4287a <__kernel_rem_pio2+0x622> + 83f42896: 023c addi a5,sp,264 + 83f42898: f20007d3 fmv.d.x fa5,zero + 83f4289c: 97fa add a5,a5,t5 + 83f4289e: 0a18 addi a4,sp,272 + 83f428a0: 9f3a add t5,t5,a4 + 83f428a2: 8f95 sub a5,a5,a3 + 83f428a4: 000f3707 fld fa4,0(t5) + 83f428a8: 1f61 addi t5,t5,-8 + 83f428aa: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f428ae: ffe79be3 bne a5,t5,83f428a4 <__kernel_rem_pio2+0x64c> + 83f428b2: 26d2 fld fa3,272(sp) + 83f428b4: 2772 fld fa4,280(sp) + 83f428b6: 0a089263 bnez a7,83f4295a <__kernel_rem_pio2+0x702> + 83f428ba: 6782 ld a5,0(sp) + 83f428bc: a394 fsd fa3,0(a5) + 83f428be: a798 fsd fa4,8(a5) + 83f428c0: ab9c fsd fa5,16(a5) + 83f428c2: bd61 j 83f4275a <__kernel_rem_pio2+0x502> + 83f428c4: fffa871b addiw a4,s5,-1 + 83f428c8: 070a slli a4,a4,0x2 + 83f428ca: 0c94 addi a3,sp,592 + 83f428cc: 9736 add a4,a4,a3 + 83f428ce: dd072603 lw a2,-560(a4) + 83f428d2: 1626 slli a2,a2,0x29 + 83f428d4: 9225 srli a2,a2,0x29 + 83f428d6: dcc72823 sw a2,-560(a4) + 83f428da: b30d j 83f425fc <__kernel_rem_pio2+0x3a4> + 83f428dc: 57a1 li a5,-24 + 83f428de: 4481 li s1,0 + 83f428e0: bc01 j 83f422f0 <__kernel_rem_pio2+0x98> + 83f428e2: f20007d3 fmv.d.x fa5,zero + 83f428e6: 357d addiw a0,a0,-1 + 83f428e8: 0e85 addi t4,t4,1 + 83f428ea: 00f83027 fsd fa5,0(a6) + 83f428ee: 15e1 addi a1,a1,-8 + 83f428f0: 0821 addi a6,a6,8 + 83f428f2: dff519e3 bne a0,t6,83f426e4 <__kernel_rem_pio2+0x48c> + 83f428f6: bd0d j 83f42728 <__kernel_rem_pio2+0x4d0> + 83f428f8: 4781 li a5,0 + 83f428fa: b9f1 j 83f425d6 <__kernel_rem_pio2+0x37e> + 83f428fc: f20007d3 fmv.d.x fa5,zero + 83f42900: 0a1c addi a5,sp,272 + 83f42902: 9f3e add t5,t5,a5 + 83f42904: 023c addi a5,sp,264 + 83f42906: 000f3707 fld fa4,0(t5) + 83f4290a: 1f61 addi t5,t5,-8 + 83f4290c: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f42910: ffe79be3 bne a5,t5,83f42906 <__kernel_rem_pio2+0x6ae> + 83f42914: 04089e63 bnez a7,83f42970 <__kernel_rem_pio2+0x718> + 83f42918: 6782 ld a5,0(sp) + 83f4291a: 2752 fld fa4,272(sp) + 83f4291c: a39c fsd fa5,0(a5) + 83f4291e: 0af777d3 fsub.d fa5,fa4,fa5 + 83f42922: 00605f63 blez t1,83f42940 <__kernel_rem_pio2+0x6e8> + 83f42926: 0a38 addi a4,sp,280 + 83f42928: 4785 li a5,1 + 83f4292a: 2318 fld fa4,0(a4) + 83f4292c: 2785 addiw a5,a5,1 + 83f4292e: 0721 addi a4,a4,8 + 83f42930: 02e7f7d3 fadd.d fa5,fa5,fa4 + 83f42934: fef35be3 bge t1,a5,83f4292a <__kernel_rem_pio2+0x6d2> + 83f42938: 00088463 beqz a7,83f42940 <__kernel_rem_pio2+0x6e8> + 83f4293c: 22f797d3 fneg.d fa5,fa5 + 83f42940: 6782 ld a5,0(sp) + 83f42942: a79c fsd fa5,8(a5) + 83f42944: bd19 j 83f4275a <__kernel_rem_pio2+0x502> + 83f42946: c2051753 fcvt.w.d a4,fa0,rtz + 83f4294a: 002a9793 slli a5,s5,0x2 + 83f4294e: 0c94 addi a3,sp,592 + 83f42950: 97b6 add a5,a5,a3 + 83f42952: dce7a823 sw a4,-560(a5) + 83f42956: 8356 mv t1,s5 + 83f42958: b33d j 83f42686 <__kernel_rem_pio2+0x42e> + 83f4295a: 6782 ld a5,0(sp) + 83f4295c: 22d696d3 fneg.d fa3,fa3 + 83f42960: 22e71753 fneg.d fa4,fa4 + 83f42964: 22f797d3 fneg.d fa5,fa5 + 83f42968: a394 fsd fa3,0(a5) + 83f4296a: a798 fsd fa4,8(a5) + 83f4296c: ab9c fsd fa5,16(a5) + 83f4296e: b3f5 j 83f4275a <__kernel_rem_pio2+0x502> + 83f42970: 22f79753 fneg.d fa4,fa5 + 83f42974: 6782 ld a5,0(sp) + 83f42976: a398 fsd fa4,0(a5) + 83f42978: 2752 fld fa4,272(sp) + 83f4297a: 0af777d3 fsub.d fa5,fa4,fa5 + 83f4297e: fa6044e3 bgtz t1,83f42926 <__kernel_rem_pio2+0x6ce> + 83f42982: 22f797d3 fneg.d fa5,fa5 + 83f42986: bf6d j 83f42940 <__kernel_rem_pio2+0x6e8> + 83f42988: 6722 ld a4,8(sp) + 83f4298a: 4789 li a5,2 + 83f4298c: 00e7cb63 blt a5,a4,83f429a2 <__kernel_rem_pio2+0x74a> + 83f42990: f20007d3 fmv.d.x fa5,zero + 83f42994: f8e040e3 bgtz a4,83f42914 <__kernel_rem_pio2+0x6bc> + 83f42998: dc0711e3 bnez a4,83f4275a <__kernel_rem_pio2+0x502> + 83f4299c: da088de3 beqz a7,83f42756 <__kernel_rem_pio2+0x4fe> + 83f429a0: bb4d j 83f42752 <__kernel_rem_pio2+0x4fa> + 83f429a2: 6722 ld a4,8(sp) + 83f429a4: 478d li a5,3 + 83f429a6: f20007d3 fmv.d.x fa5,zero + 83f429aa: f0f704e3 beq a4,a5,83f428b2 <__kernel_rem_pio2+0x65a> + 83f429ae: b375 j 83f4275a <__kernel_rem_pio2+0x502> + +0000000083f429b0 <__kernel_sin>: + 83f429b0: e20507d3 fmv.x.d a5,fa0 + 83f429b4: 3e4006b7 lui a3,0x3e400 + 83f429b8: 00179713 slli a4,a5,0x1 + 83f429bc: 9305 srli a4,a4,0x21 + 83f429be: 00d75663 bge a4,a3,83f429ca <__kernel_sin+0x1a> + 83f429c2: c2051753 fcvt.w.d a4,fa0,rtz + 83f429c6: 2701 sext.w a4,a4 + 83f429c8: c749 beqz a4,83f42a52 <__kernel_sin+0xa2> + 83f429ca: f20787d3 fmv.d.x fa5,a5 + 83f429ce: 00010717 auipc a4,0x10 + 83f429d2: d6a73507 fld fa0,-662(a4) # 83f52738 + 83f429d6: 00010717 auipc a4,0x10 + 83f429da: d6a73007 fld ft0,-662(a4) # 83f52740 + 83f429de: 12f7f753 fmul.d fa4,fa5,fa5 + 83f429e2: 00010717 auipc a4,0x10 + 83f429e6: d4e73787 fld fa5,-690(a4) # 83f52730 + 83f429ea: 00010717 auipc a4,0x10 + 83f429ee: d5e73607 fld fa2,-674(a4) # 83f52748 + 83f429f2: 00010717 auipc a4,0x10 + 83f429f6: d5e73687 fld fa3,-674(a4) # 83f52750 + 83f429fa: 52f777c3 fmadd.d fa5,fa4,fa5,fa0 + 83f429fe: f2078553 fmv.d.x fa0,a5 + 83f42a02: 12e57553 fmul.d fa0,fa0,fa4 + 83f42a06: 02e7f7c3 fmadd.d fa5,fa5,fa4,ft0 + 83f42a0a: 62e7f7c3 fmadd.d fa5,fa5,fa4,fa2 + 83f42a0e: 6ae7f7c3 fmadd.d fa5,fa5,fa4,fa3 + 83f42a12: ed01 bnez a0,83f42a2a <__kernel_sin+0x7a> + 83f42a14: 00010717 auipc a4,0x10 + 83f42a18: d4473687 fld fa3,-700(a4) # 83f52758 + 83f42a1c: 6af777c3 fmadd.d fa5,fa4,fa5,fa3 + 83f42a20: f2078753 fmv.d.x fa4,a5 + 83f42a24: 72a7f543 fmadd.d fa0,fa5,fa0,fa4 + 83f42a28: 8082 ret + 83f42a2a: 12f577d3 fmul.d fa5,fa0,fa5 + 83f42a2e: 00010717 auipc a4,0x10 + 83f42a32: 86a73687 fld fa3,-1942(a4) # 83f52298 <__func__.1+0xa0> + 83f42a36: 00010717 auipc a4,0x10 + 83f42a3a: d2a73607 fld fa2,-726(a4) # 83f52760 + 83f42a3e: 7ad5f7c7 fmsub.d fa5,fa1,fa3,fa5 + 83f42a42: 5ae7f5c7 fmsub.d fa1,fa5,fa4,fa1 + 83f42a46: f20787d3 fmv.d.x fa5,a5 + 83f42a4a: 5ac57543 fmadd.d fa0,fa0,fa2,fa1 + 83f42a4e: 0aa7f553 fsub.d fa0,fa5,fa0 + 83f42a52: 8082 ret + +0000000083f42a54 : + 83f42a54: e2050553 fmv.x.d a0,fa0 + 83f42a58: 801007b7 lui a5,0x80100 + 83f42a5c: 0506 slli a0,a0,0x1 + 83f42a5e: 9105 srli a0,a0,0x21 + 83f42a60: 9d3d addw a0,a0,a5 + 83f42a62: 01f5551b srliw a0,a0,0x1f + 83f42a66: 8082 ret + +0000000083f42a68 : + 83f42a68: 00010797 auipc a5,0x10 + 83f42a6c: d007b507 fld fa0,-768(a5) # 83f52768 + 83f42a70: 8082 ret + +0000000083f42a72 : + 83f42a72: e20507d3 fmv.x.d a5,fa0 + 83f42a76: 454d li a0,19 + 83f42a78: 1141 addi sp,sp,-16 + 83f42a7a: 4347d613 srai a2,a5,0x34 + 83f42a7e: 7ff67613 andi a2,a2,2047 + 83f42a82: c016059b addiw a1,a2,-1023 + 83f42a86: 4207d713 srai a4,a5,0x20 + 83f42a8a: 0007869b sext.w a3,a5 + 83f42a8e: 0007a893 slti a7,a5,0 + 83f42a92: 0eb54d63 blt a0,a1,83f42b8c + 83f42a96: 0605cd63 bltz a1,83f42b10 + 83f42a9a: 00100637 lui a2,0x100 + 83f42a9e: 367d addiw a2,a2,-1 + 83f42aa0: 40b6563b sraw a2,a2,a1 + 83f42aa4: 00c77833 and a6,a4,a2 + 83f42aa8: 00d86833 or a6,a6,a3 + 83f42aac: 2801 sext.w a6,a6 + 83f42aae: 04080d63 beqz a6,83f42b08 + 83f42ab2: 0016561b srliw a2,a2,0x1 + 83f42ab6: 00c777b3 and a5,a4,a2 + 83f42aba: 8edd or a3,a3,a5 + 83f42abc: 2681 sext.w a3,a3 + 83f42abe: ce99 beqz a3,83f42adc + 83f42ac0: 800006b7 lui a3,0x80000 + 83f42ac4: 00a58363 beq a1,a0,83f42aca + 83f42ac8: 4681 li a3,0 + 83f42aca: fff64613 not a2,a2 + 83f42ace: 000407b7 lui a5,0x40 + 83f42ad2: 8f71 and a4,a4,a2 + 83f42ad4: 40b7d5bb sraw a1,a5,a1 + 83f42ad8: 8f4d or a4,a4,a1 + 83f42ada: 2701 sext.w a4,a4 + 83f42adc: 1682 slli a3,a3,0x20 + 83f42ade: 00389793 slli a5,a7,0x3 + 83f42ae2: 0000e617 auipc a2,0xe + 83f42ae6: 16e60613 addi a2,a2,366 # 83f50c50 + 83f42aea: 9281 srli a3,a3,0x20 + 83f42aec: 1702 slli a4,a4,0x20 + 83f42aee: 97b2 add a5,a5,a2 + 83f42af0: 8f55 or a4,a4,a3 + 83f42af2: 2398 fld fa4,0(a5) + 83f42af4: f20707d3 fmv.d.x fa5,a4 + 83f42af8: 02f777d3 fadd.d fa5,fa4,fa5 + 83f42afc: a43e fsd fa5,8(sp) + 83f42afe: 27a2 fld fa5,8(sp) + 83f42b00: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f42b04: e20787d3 fmv.x.d a5,fa5 + 83f42b08: f2078553 fmv.d.x fa0,a5 + 83f42b0c: 0141 addi sp,sp,16 + 83f42b0e: 8082 ret + 83f42b10: 800005b7 lui a1,0x80000 + 83f42b14: fff5c593 not a1,a1 + 83f42b18: 00b77633 and a2,a4,a1 + 83f42b1c: 8e55 or a2,a2,a3 + 83f42b1e: d66d beqz a2,83f42b08 + 83f42b20: 883a mv a6,a4 + 83f42b22: 1732 slli a4,a4,0x2c + 83f42b24: 9331 srli a4,a4,0x2c + 83f42b26: 8ed9 or a3,a3,a4 + 83f42b28: 40d0073b negw a4,a3 + 83f42b2c: 8f55 or a4,a4,a3 + 83f42b2e: 00c7571b srliw a4,a4,0xc + 83f42b32: 000806b7 lui a3,0x80 + 83f42b36: 8f75 and a4,a4,a3 + 83f42b38: 0000e617 auipc a2,0xe + 83f42b3c: 11860613 addi a2,a2,280 # 83f50c50 + 83f42b40: 088e slli a7,a7,0x3 + 83f42b42: 7681 lui a3,0xfffe0 + 83f42b44: 00d876b3 and a3,a6,a3 + 83f42b48: 98b2 add a7,a7,a2 + 83f42b4a: 567d li a2,-1 + 83f42b4c: 9201 srli a2,a2,0x20 + 83f42b4e: 8f55 or a4,a4,a3 + 83f42b50: 8ff1 and a5,a5,a2 + 83f42b52: 1702 slli a4,a4,0x20 + 83f42b54: 8f5d or a4,a4,a5 + 83f42b56: 0008b707 fld fa4,0(a7) # ffffffffbff00000 <_end+0xffffffff3bf002c0> + 83f42b5a: f20707d3 fmv.d.x fa5,a4 + 83f42b5e: 800006b7 lui a3,0x80000 + 83f42b62: 00d876b3 and a3,a6,a3 + 83f42b66: 02f777d3 fadd.d fa5,fa4,fa5 + 83f42b6a: a43e fsd fa5,8(sp) + 83f42b6c: 27a2 fld fa5,8(sp) + 83f42b6e: 0141 addi sp,sp,16 + 83f42b70: 0ae7f7d3 fsub.d fa5,fa5,fa4 + 83f42b74: e2078753 fmv.x.d a4,fa5 + 83f42b78: 02075793 srli a5,a4,0x20 + 83f42b7c: 8fed and a5,a5,a1 + 83f42b7e: 8fd5 or a5,a5,a3 + 83f42b80: 1782 slli a5,a5,0x20 + 83f42b82: 8e79 and a2,a2,a4 + 83f42b84: 8fd1 or a5,a5,a2 + 83f42b86: f2078553 fmv.d.x fa0,a5 + 83f42b8a: 8082 ret + 83f42b8c: 03300513 li a0,51 + 83f42b90: 00b55b63 bge a0,a1,83f42ba6 + 83f42b94: 40000713 li a4,1024 + 83f42b98: f6e598e3 bne a1,a4,83f42b08 + 83f42b9c: 02a577d3 fadd.d fa5,fa0,fa0 + 83f42ba0: e20787d3 fmv.x.d a5,fa5 + 83f42ba4: b795 j 83f42b08 + 83f42ba6: bed6061b addiw a2,a2,-1043 + 83f42baa: 55fd li a1,-1 + 83f42bac: 00c5d5bb srlw a1,a1,a2 + 83f42bb0: 00b6f533 and a0,a3,a1 + 83f42bb4: 2501 sext.w a0,a0 + 83f42bb6: 8836 mv a6,a3 + 83f42bb8: d921 beqz a0,83f42b08 + 83f42bba: 0015d59b srliw a1,a1,0x1 + 83f42bbe: 00b6f7b3 and a5,a3,a1 + 83f42bc2: 2781 sext.w a5,a5 + 83f42bc4: df81 beqz a5,83f42adc + 83f42bc6: fff5c593 not a1,a1 + 83f42bca: 400007b7 lui a5,0x40000 + 83f42bce: 0105f6b3 and a3,a1,a6 + 83f42bd2: 40c7d63b sraw a2,a5,a2 + 83f42bd6: 8ed1 or a3,a3,a2 + 83f42bd8: 2681 sext.w a3,a3 + 83f42bda: b709 j 83f42adc + +0000000083f42bdc : + 83f42bdc: e20507d3 fmv.x.d a5,fa0 + 83f42be0: 4347d713 srai a4,a5,0x34 + 83f42be4: 7ff77713 andi a4,a4,2047 + 83f42be8: 4207d693 srai a3,a5,0x20 + 83f42bec: ef25 bnez a4,83f42c64 + 83f42bee: 1686 slli a3,a3,0x21 + 83f42bf0: 9285 srli a3,a3,0x21 + 83f42bf2: 8edd or a3,a3,a5 + 83f42bf4: 2681 sext.w a3,a3 + 83f42bf6: c6a5 beqz a3,83f42c5e + 83f42bf8: 00010717 auipc a4,0x10 + 83f42bfc: 9b073787 fld fa5,-1616(a4) # 83f525a8 + 83f42c00: 12f577d3 fmul.d fa5,fa0,fa5 + 83f42c04: 7751 lui a4,0xffff4 + 83f42c06: cb070713 addi a4,a4,-848 # ffffffffffff3cb0 <_end+0xffffffff7bff3f70> + 83f42c0a: e20787d3 fmv.x.d a5,fa5 + 83f42c0e: 0ce54f63 blt a0,a4,83f42cec + 83f42c12: 4347d713 srai a4,a5,0x34 + 83f42c16: 7ff77713 andi a4,a4,2047 + 83f42c1a: 4207d693 srai a3,a5,0x20 + 83f42c1e: fca7071b addiw a4,a4,-54 + 83f42c22: 00e5063b addw a2,a0,a4 + 83f42c26: 7fe00593 li a1,2046 + 83f42c2a: 8732 mv a4,a2 + 83f42c2c: 04c5c763 blt a1,a2,83f42c7a + 83f42c30: 08c04f63 bgtz a2,83f42cce + 83f42c34: fcb00593 li a1,-53 + 83f42c38: 06b65063 bge a2,a1,83f42c98 + 83f42c3c: 6731 lui a4,0xc + 83f42c3e: 35070713 addi a4,a4,848 # c350 <_EL1_STACK_SIZE+0xbb50> + 83f42c42: 02a74c63 blt a4,a0,83f42c7a + 83f42c46: f20787d3 fmv.d.x fa5,a5 + 83f42c4a: 00010717 auipc a4,0x10 + 83f42c4e: a2673707 fld fa4,-1498(a4) # 83f52670 + 83f42c52: 22f707d3 fsgnj.d fa5,fa4,fa5 + 83f42c56: 12e7f7d3 fmul.d fa5,fa5,fa4 + 83f42c5a: e20787d3 fmv.x.d a5,fa5 + 83f42c5e: f2078553 fmv.d.x fa0,a5 + 83f42c62: 8082 ret + 83f42c64: 7ff00613 li a2,2047 + 83f42c68: fac71de3 bne a4,a2,83f42c22 + 83f42c6c: 02a577d3 fadd.d fa5,fa0,fa0 + 83f42c70: e20787d3 fmv.x.d a5,fa5 + 83f42c74: f2078553 fmv.d.x fa0,a5 + 83f42c78: 8082 ret + 83f42c7a: f20787d3 fmv.d.x fa5,a5 + 83f42c7e: 00010717 auipc a4,0x10 + 83f42c82: 82273707 fld fa4,-2014(a4) # 83f524a0 + 83f42c86: 22f707d3 fsgnj.d fa5,fa4,fa5 + 83f42c8a: 12e7f7d3 fmul.d fa5,fa5,fa4 + 83f42c8e: e20787d3 fmv.x.d a5,fa5 + 83f42c92: f2078553 fmv.d.x fa0,a5 + 83f42c96: 8082 ret + 83f42c98: 0366071b addiw a4,a2,54 + 83f42c9c: 80100637 lui a2,0x80100 + 83f42ca0: 167d addi a2,a2,-1 + 83f42ca2: 8ef1 and a3,a3,a2 + 83f42ca4: 0147171b slliw a4,a4,0x14 + 83f42ca8: 8f55 or a4,a4,a3 + 83f42caa: 56fd li a3,-1 + 83f42cac: 9281 srli a3,a3,0x20 + 83f42cae: 1702 slli a4,a4,0x20 + 83f42cb0: 8ff5 and a5,a5,a3 + 83f42cb2: 8fd9 or a5,a5,a4 + 83f42cb4: f2078753 fmv.d.x fa4,a5 + 83f42cb8: 00010717 auipc a4,0x10 + 83f42cbc: ab873787 fld fa5,-1352(a4) # 83f52770 + 83f42cc0: 12e7f7d3 fmul.d fa5,fa5,fa4 + 83f42cc4: e20787d3 fmv.x.d a5,fa5 + 83f42cc8: f2078553 fmv.d.x fa0,a5 + 83f42ccc: 8082 ret + 83f42cce: 80100637 lui a2,0x80100 + 83f42cd2: 167d addi a2,a2,-1 + 83f42cd4: 8ef1 and a3,a3,a2 + 83f42cd6: 0147171b slliw a4,a4,0x14 + 83f42cda: 8f55 or a4,a4,a3 + 83f42cdc: 56fd li a3,-1 + 83f42cde: 9281 srli a3,a3,0x20 + 83f42ce0: 1702 slli a4,a4,0x20 + 83f42ce2: 8ff5 and a5,a5,a3 + 83f42ce4: 8fd9 or a5,a5,a4 + 83f42ce6: f2078553 fmv.d.x fa0,a5 + 83f42cea: 8082 ret + 83f42cec: f2078753 fmv.d.x fa4,a5 + 83f42cf0: 00010717 auipc a4,0x10 + 83f42cf4: 98073787 fld fa5,-1664(a4) # 83f52670 + 83f42cf8: 12f777d3 fmul.d fa5,fa4,fa5 + 83f42cfc: e20787d3 fmv.x.d a5,fa5 + 83f42d00: f2078553 fmv.d.x fa0,a5 + 83f42d04: 8082 ret + +0000000083f42d06 : + 83f42d06: 41f5579b sraiw a5,a0,0x1f + 83f42d0a: 8d3d xor a0,a0,a5 + 83f42d0c: 9d1d subw a0,a0,a5 + 83f42d0e: 8082 ret + +0000000083f42d10 <__errno>: + 83f42d10: 00010517 auipc a0,0x10 + 83f42d14: 4a053503 ld a0,1184(a0) # 83f531b0 <_impure_ptr> + 83f42d18: 8082 ret + +0000000083f42d1a : + 83f42d1a: 02a5f263 bgeu a1,a0,83f42d3e + 83f42d1e: 00c587b3 add a5,a1,a2 + 83f42d22: 00f57e63 bgeu a0,a5,83f42d3e + 83f42d26: 00c50733 add a4,a0,a2 + 83f42d2a: ca5d beqz a2,83f42de0 + 83f42d2c: fff7c683 lbu a3,-1(a5) # 3fffffff + 83f42d30: 17fd addi a5,a5,-1 + 83f42d32: 177d addi a4,a4,-1 + 83f42d34: 00d70023 sb a3,0(a4) + 83f42d38: fef59ae3 bne a1,a5,83f42d2c + 83f42d3c: 8082 ret + 83f42d3e: 47fd li a5,31 + 83f42d40: 02c7e163 bltu a5,a2,83f42d62 + 83f42d44: 87aa mv a5,a0 + 83f42d46: fff60693 addi a3,a2,-1 # ffffffff800fffff <_end+0xfffffffefc1002bf> + 83f42d4a: c245 beqz a2,83f42dea + 83f42d4c: 0685 addi a3,a3,1 + 83f42d4e: 96be add a3,a3,a5 + 83f42d50: 0005c703 lbu a4,0(a1) # ffffffff80000000 <_end+0xfffffffefc0002c0> + 83f42d54: 0785 addi a5,a5,1 + 83f42d56: 0585 addi a1,a1,1 + 83f42d58: fee78fa3 sb a4,-1(a5) + 83f42d5c: fed79ae3 bne a5,a3,83f42d50 + 83f42d60: 8082 ret + 83f42d62: 00a5e7b3 or a5,a1,a0 + 83f42d66: 8b9d andi a5,a5,7 + 83f42d68: efad bnez a5,83f42de2 + 83f42d6a: fe060893 addi a7,a2,-32 + 83f42d6e: fe08f893 andi a7,a7,-32 + 83f42d72: 02088893 addi a7,a7,32 + 83f42d76: 01150833 add a6,a0,a7 + 83f42d7a: 872e mv a4,a1 + 83f42d7c: 87aa mv a5,a0 + 83f42d7e: 6314 ld a3,0(a4) + 83f42d80: 02070713 addi a4,a4,32 + 83f42d84: 02078793 addi a5,a5,32 + 83f42d88: fed7b023 sd a3,-32(a5) + 83f42d8c: fe873683 ld a3,-24(a4) + 83f42d90: fed7b423 sd a3,-24(a5) + 83f42d94: ff073683 ld a3,-16(a4) + 83f42d98: fed7b823 sd a3,-16(a5) + 83f42d9c: ff873683 ld a3,-8(a4) + 83f42da0: fed7bc23 sd a3,-8(a5) + 83f42da4: fcf81de3 bne a6,a5,83f42d7e + 83f42da8: 01867713 andi a4,a2,24 + 83f42dac: 95c6 add a1,a1,a7 + 83f42dae: 01f67813 andi a6,a2,31 + 83f42db2: cf0d beqz a4,83f42dec + 83f42db4: 872e mv a4,a1 + 83f42db6: 88be mv a7,a5 + 83f42db8: 4e1d li t3,7 + 83f42dba: 00073303 ld t1,0(a4) + 83f42dbe: 0721 addi a4,a4,8 + 83f42dc0: 40e806b3 sub a3,a6,a4 + 83f42dc4: 0068b023 sd t1,0(a7) + 83f42dc8: 96ae add a3,a3,a1 + 83f42dca: 08a1 addi a7,a7,8 + 83f42dcc: fede67e3 bltu t3,a3,83f42dba + 83f42dd0: ff880713 addi a4,a6,-8 + 83f42dd4: 9b61 andi a4,a4,-8 + 83f42dd6: 0721 addi a4,a4,8 + 83f42dd8: 8a1d andi a2,a2,7 + 83f42dda: 97ba add a5,a5,a4 + 83f42ddc: 95ba add a1,a1,a4 + 83f42dde: b7a5 j 83f42d46 + 83f42de0: 8082 ret + 83f42de2: fff60693 addi a3,a2,-1 + 83f42de6: 87aa mv a5,a0 + 83f42de8: b795 j 83f42d4c + 83f42dea: 8082 ret + 83f42dec: 8642 mv a2,a6 + 83f42dee: bfa1 j 83f42d46 + +0000000083f42df0 <__clzdi2>: + 83f42df0: 03800793 li a5,56 + 83f42df4: 00f55733 srl a4,a0,a5 + 83f42df8: 0ff77713 andi a4,a4,255 + 83f42dfc: e319 bnez a4,83f42e02 <__clzdi2+0x12> + 83f42dfe: 17e1 addi a5,a5,-8 + 83f42e00: fbf5 bnez a5,83f42df4 <__clzdi2+0x4> + 83f42e02: 04000713 li a4,64 + 83f42e06: 8f1d sub a4,a4,a5 + 83f42e08: 00f55533 srl a0,a0,a5 + 83f42e0c: 0000e797 auipc a5,0xe + 83f42e10: e5478793 addi a5,a5,-428 # 83f50c60 <__clz_tab> + 83f42e14: 953e add a0,a0,a5 + 83f42e16: 00054503 lbu a0,0(a0) + 83f42e1a: 40a7053b subw a0,a4,a0 + 83f42e1e: 8082 ret + +0000000083f42e20
: +uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__ ( ( section( ".heap" ) ) ); +#endif +/*-----------------------------------------------------------*/ + +int main(void) +{ + 83f42e20: 1141 addi sp,sp,-16 + 83f42e22: e406 sd ra,8(sp) + pre_system_init(); + 83f42e24: 670090ef jal ra,83f4c494 + printf("CVIRTOS Build Date:%s (Time :%s) \n", __DATE__, __TIME__); + 83f42e28: 0000e617 auipc a2,0xe + 83f42e2c: f3860613 addi a2,a2,-200 # 83f50d60 <__clz_tab+0x100> + 83f42e30: 0000e597 auipc a1,0xe + 83f42e34: f4058593 addi a1,a1,-192 # 83f50d70 <__clz_tab+0x110> + 83f42e38: 0000e517 auipc a0,0xe + 83f42e3c: f4850513 addi a0,a0,-184 # 83f50d80 <__clz_tab+0x120> + 83f42e40: 154090ef jal ra,83f4bf94 + /* Configure the hardware ready to run the demo. */ + prvSetupHardware(); +#if ( configUSE_TRACE_FACILITY == 1 ) + vTraceEnable(TRC_START); +#endif + post_system_init(); + 83f42e44: 5d0090ef jal ra,83f4c414 + +#ifdef CVIRTOS + { + main_cvirtos(); + 83f42e48: 51a000ef jal ra,83f43362 +#error "Not correct running definition" +#endif + + /* Don't expect to reach here. */ + return 0; +} + 83f42e4c: 60a2 ld ra,8(sp) + 83f42e4e: 4501 li a0,0 + 83f42e50: 0141 addi sp,sp,16 + 83f42e52: 8082 ret + +0000000083f42e54 : +#endif +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook(void) +{ + 83f42e54: 1141 addi sp,sp,-16 + 83f42e56: e406 sd ra,8(sp) + /* Called if a call to pvPortMalloc() fails because there is insufficient + free memory available in the FreeRTOS heap. pvPortMalloc() is called + internally by FreeRTOS API functions that create tasks, queues, software + timers, and semaphores. The size of the FreeRTOS heap is set by the + configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */ + taskDISABLE_INTERRUPTS(); + 83f42e58: 30047073 csrci mstatus,8 + dump_uart_disable(); + 83f42e5c: 083090ef jal ra,83f4c6de + printf("vApplicationMallocFailedHook\n"); + 83f42e60: 0000e517 auipc a0,0xe + 83f42e64: f4850513 addi a0,a0,-184 # 83f50da8 <__clz_tab+0x148> + 83f42e68: 12c090ef jal ra,83f4bf94 + for (;;) + 83f42e6c: a001 j 83f42e6c + +0000000083f42e6e : + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName) +{ + 83f42e6e: 1141 addi sp,sp,-16 + 83f42e70: e406 sd ra,8(sp) + 83f42e72: e022 sd s0,0(sp) + 83f42e74: 842e mv s0,a1 + (void)pcTaskName; + (void)pxTask; + dump_uart_disable(); + 83f42e76: 069090ef jal ra,83f4c6de + printf("%s %s\n", __func__, pcTaskName); + 83f42e7a: 8622 mv a2,s0 + 83f42e7c: 0000e597 auipc a1,0xe + 83f42e80: f5458593 addi a1,a1,-172 # 83f50dd0 <__func__.4> + 83f42e84: 0000e517 auipc a0,0xe + 83f42e88: f4450513 addi a0,a0,-188 # 83f50dc8 <__clz_tab+0x168> + 83f42e8c: 108090ef jal ra,83f4bf94 + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + 83f42e90: 30047073 csrci mstatus,8 + for (;;) + 83f42e94: a001 j 83f42e94 + +0000000083f42e96 : + /* Only the comprehensive demo actually uses the tick hook. */ + extern void vFullDemoTickHook(void); + vFullDemoTickHook(); + } +#endif +} + 83f42e96: 8082 ret + +0000000083f42e98 : + static StaticTask_t xIdleTaskTCB; + static StackType_t uxIdleTaskStack[configMINIMAL_STACK_SIZE]; + + /* Pass out a pointer to the StaticTask_t structure in which the Idle task's + state will be stored. */ + *ppxIdleTaskTCBBuffer = &xIdleTaskTCB; + 83f42e98: 00016797 auipc a5,0x16 + 83f42e9c: 36878793 addi a5,a5,872 # 83f59200 + 83f42ea0: e11c sd a5,0(a0) + + /* Pass out the array that will be used as the Idle task's stack. */ + *ppxIdleTaskStackBuffer = uxIdleTaskStack; + 83f42ea2: 00010797 auipc a5,0x10 + 83f42ea6: 35e78793 addi a5,a5,862 # 83f53200 <__data1_end> + 83f42eaa: e19c sd a5,0(a1) + + /* Pass out the size of the array pointed to by *ppxIdleTaskStackBuffer. + Note that, as the array is necessarily of type StackType_t, + configMINIMAL_STACK_SIZE is specified in words, not bytes. */ + *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE; + 83f42eac: 40000793 li a5,1024 + 83f42eb0: c21c sw a5,0(a2) +} + 83f42eb2: 8082 ret + +0000000083f42eb4 : + static StaticTask_t xTimerTaskTCB; + static StackType_t uxTimerTaskStack[configTIMER_TASK_STACK_DEPTH]; + + /* Pass out a pointer to the StaticTask_t structure in which the Timer + task's state will be stored. */ + *ppxTimerTaskTCBBuffer = &xTimerTaskTCB; + 83f42eb4: 00016797 auipc a5,0x16 + 83f42eb8: 3f478793 addi a5,a5,1012 # 83f592a8 + 83f42ebc: e11c sd a5,0(a0) + + /* Pass out the array that will be used as the Timer task's stack. */ + *ppxTimerTaskStackBuffer = uxTimerTaskStack; + 83f42ebe: 00012797 auipc a5,0x12 + 83f42ec2: 34278793 addi a5,a5,834 # 83f55200 + 83f42ec6: e19c sd a5,0(a1) + + /* Pass out the size of the array pointed to by *ppxTimerTaskStackBuffer. + Note that, as the array is necessarily of type StackType_t, + configMINIMAL_STACK_SIZE is specified in words, not bytes. */ + *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH; + 83f42ec8: 6785 lui a5,0x1 + 83f42eca: 80078793 addi a5,a5,-2048 # 800 <_EL1_STACK_SIZE> + 83f42ece: c21c sw a5,0(a2) +} + 83f42ed0: 8082 ret + +0000000083f42ed2 : + +#ifdef FAST_IMAGE_ENABLE +extern JPEG_PIC encoded_pics[MAX_JPEG_NUM]; +#endif +void prvCmdQuRunTask(void *pvParameters) +{ + 83f42ed2: 7159 addi sp,sp,-112 + 83f42ed4: f45e sd s7,40(sp) + int send_to_cpu = SEND_TO_CPU1; + + unsigned int reg_base = MAILBOX_REG_BASE; + + /* set mcu_status to type1 running*/ + transfer_config.mcu_status = MCU_STATUS_RTOS_T1_RUNNING; + 83f42ed6: 0001ab97 auipc s7,0x1a + 83f42eda: 5aab8b93 addi s7,s7,1450 # 83f5d480 +{ + 83f42ede: e0d2 sd s4,64(sp) + + if (transfer_config.conf_magic == C906_MAGIC_HEADER) + send_to_cpu = SEND_TO_CPU1; + else if (transfer_config.conf_magic == CA53_MAGIC_HEADER) + 83f42ee0: 000baa03 lw s4,0(s7) + 83f42ee4: a55ad737 lui a4,0xa55ad + send_to_cpu = SEND_TO_CPU0; + /* to compatible code with linux side */ + cmdq = &rtos_cmdq; + mbox_reg = (struct mailbox_set_register *) reg_base; + 83f42ee8: 019007b7 lui a5,0x1900 + else if (transfer_config.conf_magic == CA53_MAGIC_HEADER) + 83f42eec: a5370713 addi a4,a4,-1453 # ffffffffa55aca53 <_end+0xffffffff215acd13> + 83f42ef0: 40ea0a33 sub s4,s4,a4 + mbox_done_reg = (struct mailbox_done_register *) (reg_base + 2); + 83f42ef4: 00278693 addi a3,a5,2 # 1900002 + mailbox_context = (unsigned long *) (MAILBOX_REG_BUFF); + 83f42ef8: 40078713 addi a4,a5,1024 + transfer_config.mcu_status = MCU_STATUS_RTOS_T1_RUNNING; + 83f42efc: 4615 li a2,5 +{ + 83f42efe: e4ce sd s3,72(sp) + 83f42f00: f85a sd s6,48(sp) + mailbox_context = (unsigned long *) (MAILBOX_REG_BUFF); + 83f42f02: 0001d997 auipc s3,0x1d + 83f42f06: ca698993 addi s3,s3,-858 # 83f5fba8 + mbox_reg = (struct mailbox_set_register *) reg_base; + 83f42f0a: 0001db17 auipc s6,0x1d + 83f42f0e: caeb0b13 addi s6,s6,-850 # 83f5fbb8 + 83f42f12: 00fb3023 sd a5,0(s6) +{ + 83f42f16: f486 sd ra,104(sp) + 83f42f18: f0a2 sd s0,96(sp) + 83f42f1a: eca6 sd s1,88(sp) + 83f42f1c: e8ca sd s2,80(sp) + 83f42f1e: fc56 sd s5,56(sp) + 83f42f20: f062 sd s8,32(sp) + 83f42f22: ec66 sd s9,24(sp) + send_to_cpu = SEND_TO_CPU0; + 83f42f24: 01403ab3 snez s5,s4 + transfer_config.mcu_status = MCU_STATUS_RTOS_T1_RUNNING; + 83f42f28: 02cb8323 sb a2,38(s7) + mbox_done_reg = (struct mailbox_done_register *) (reg_base + 2); + 83f42f2c: 0001d797 auipc a5,0x1d + 83f42f30: c8d7b223 sd a3,-892(a5) # 83f5fbb0 + mailbox_context = (unsigned long *) (MAILBOX_REG_BUFF); + 83f42f34: 00e9b023 sd a4,0(s3) +{ + 83f42f38: e86a sd s10,16(sp) + + cvi_spinlock_init(); + 83f42f3a: 3b5090ef jal ra,83f4caee + else if (transfer_config.conf_magic == CA53_MAGIC_HEADER) + 83f42f3e: 8a56 mv s4,s5 + printf("prvCmdQuRunTask run\n"); + 83f42f40: 0000e517 auipc a0,0xe + 83f42f44: eb050513 addi a0,a0,-336 # 83f50df0 <__func__.4+0x20> + break; + case SYS_CMD_INFO_STOP_ISR_DONE: + // stop interrupt in order to avoid losing frame + if (rtos_cmdq.ip_id == IP_VI) { + stop_ip |= STOP_CMD_DONE_VI; + rtos_cmdq.ip_id = IP_VCODEC; + 83f42f48: 6c15 lui s8,0x5 + debug_printf("rtos_cmdqu_t->cmd_id = %d\n", rtos_cmdqu_t->cmd_id); + debug_printf("rtos_cmdqu_t->block = %d\n", rtos_cmdqu_t->block); + debug_printf("rtos_cmdqu_t->param_ptr addr=%x %x\n", &rtos_cmdqu_t->param_ptr, rtos_cmdqu_t->param_ptr); + debug_printf("*ptr = %x\n", *ptr); + // clear mailbox + mbox_reg->cpu_mbox_set[send_to_cpu].cpu_mbox_int_clr.mbox_int_clr = (1 << valid); + 83f42f4a: 0a85 addi s5,s5,1 + if (rtos_cmdqu_t->resv.valid.linux_valid == 0 && rtos_cmdqu_t->resv.valid.rtos_valid == 0) { + 83f42f4c: 0ffff437 lui s0,0xffff + printf("prvCmdQuRunTask run\n"); + 83f42f50: 044090ef jal ra,83f4bf94 + 83f42f54: 00010917 auipc s2,0x10 + 83f42f58: f7490913 addi s2,s2,-140 # 83f52ec8 + if (rtos_cmdqu_t->resv.valid.linux_valid == 0 && rtos_cmdqu_t->resv.valid.rtos_valid == 0) { + 83f42f5c: 0412 slli s0,s0,0x4 + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + 83f42f5e: 44a1 li s1,8 + mbox_reg->cpu_mbox_set[send_to_cpu].cpu_mbox_int_clr.mbox_int_clr = (1 << valid); + 83f42f60: 0a92 slli s5,s5,0x4 + rtos_cmdq.ip_id = IP_VCODEC; + 83f42f62: 301c0c93 addi s9,s8,769 # 5301 <_EL1_STACK_SIZE+0x4b01> + xQueueReceive(gTaskCtx[E_QUEUE_CMDQU].queHandle, &rtos_cmdq, portMAX_DELAY); + 83f42f66: 1a893503 ld a0,424(s2) + 83f42f6a: 567d li a2,-1 + 83f42f6c: 002c addi a1,sp,8 + 83f42f6e: 4d90b0ef jal ra,83f4ec46 + switch (rtos_cmdq.cmd_id) { + 83f42f72: 67a2 ld a5,8(sp) + 83f42f74: 4729 li a4,10 + 83f42f76: 83a1 srli a5,a5,0x8 + 83f42f78: 02f78793 addi a5,a5,47 + 83f42f7c: 07f7f793 andi a5,a5,127 + 83f42f80: 02f76063 bltu a4,a5,83f42fa0 + 83f42f84: 0000e717 auipc a4,0xe + 83f42f88: f1c70713 addi a4,a4,-228 # 83f50ea0 <__func__.4+0xd0> + 83f42f8c: 078a slli a5,a5,0x2 + 83f42f8e: 97ba add a5,a5,a4 + 83f42f90: 439c lw a5,0(a5) + 83f42f92: 97ba add a5,a5,a4 + 83f42f94: 8782 jr a5 + if (rtos_cmdq.param_ptr >= MAX_JPEG_NUM) { + 83f42f96: 45b2 lw a1,12(sp) + 83f42f98: 47bd li a5,15 + 83f42f9a: 10b7ed63 bltu a5,a1,83f430b4 + rtos_cmdq.param_ptr = 0x0; + 83f42f9e: c602 sw zero,12(sp) + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f42fa0: 00010517 auipc a0,0x10 + 83f42fa4: 21850513 addi a0,a0,536 # 83f531b8 + rtos_cmdqu_t = (cmdqu_t *) mailbox_context; + 83f42fa8: 0009bd03 ld s10,0(s3) + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f42fac: 477090ef jal ra,83f4cc22 <_hw_raw_spin_lock_irqsave> + if (flags == MAILBOX_LOCK_FAILED) { + 83f42fb0: 57fd li a5,-1 + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f42fb2: 85aa mv a1,a0 + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + 83f42fb4: 4701 li a4,0 + if (flags == MAILBOX_LOCK_FAILED) { + 83f42fb6: 06f50b63 beq a0,a5,83f4302c + if (rtos_cmdqu_t->resv.valid.linux_valid == 0 && rtos_cmdqu_t->resv.valid.rtos_valid == 0) { + 83f42fba: 000d3783 ld a5,0(s10) + 83f42fbe: 8fe1 and a5,a5,s0 + 83f42fc0: 10078263 beqz a5,83f430c4 + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + 83f42fc4: 2705 addiw a4,a4,1 + // trigger mailbox valid to rtos + mbox_reg->cpu_mbox_en[send_to_cpu].mbox_info |= (1 << valid); + mbox_reg->mbox_set.mbox_set = (1 << valid); + break; + } + rtos_cmdqu_t++; + 83f42fc6: 0d21 addi s10,s10,8 + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + 83f42fc8: fe9719e3 bne a4,s1,83f42fba + } + drv_spin_unlock_irqrestore(&mailbox_lock, flags); + 83f42fcc: 00010517 auipc a0,0x10 + 83f42fd0: 1ec50513 addi a0,a0,492 # 83f531b8 + 83f42fd4: 4b5090ef jal ra,83f4cc88 <_hw_raw_spin_unlock_irqrestore> + if (valid >= MAILBOX_MAX_NUM) { + printf("No valid mailbox is available\n"); + 83f42fd8: 0000e517 auipc a0,0xe + 83f42fdc: ea850513 addi a0,a0,-344 # 83f50e80 <__func__.4+0xb0> + 83f42fe0: 7b5080ef jal ra,83f4bf94 + return -1; + } + break; + } + } +} + 83f42fe4: 70a6 ld ra,104(sp) + 83f42fe6: 7406 ld s0,96(sp) + 83f42fe8: 64e6 ld s1,88(sp) + 83f42fea: 6946 ld s2,80(sp) + 83f42fec: 69a6 ld s3,72(sp) + 83f42fee: 6a06 ld s4,64(sp) + 83f42ff0: 7ae2 ld s5,56(sp) + 83f42ff2: 7b42 ld s6,48(sp) + 83f42ff4: 7ba2 ld s7,40(sp) + 83f42ff6: 7c02 ld s8,32(sp) + 83f42ff8: 6ce2 ld s9,24(sp) + 83f42ffa: 6d42 ld s10,16(sp) + 83f42ffc: 6165 addi sp,sp,112 + 83f42ffe: 8082 ret + dump_uart_disable(); + 83f43000: 6de090ef jal ra,83f4c6de + break; + 83f43004: b78d j 83f42f66 + dump_uart_enable(); + 83f43006: 6c0090ef jal ra,83f4c6c6 + break; + 83f4300a: bfb1 j 83f42f66 + rtos_cmdq.param_ptr = (unsigned int) dump_uart_msg(); + 83f4300c: 6ea090ef jal ra,83f4c6f6 + 83f43010: c62a sw a0,12(sp) + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f43012: 00010517 auipc a0,0x10 + 83f43016: 1a650513 addi a0,a0,422 # 83f531b8 + rtos_cmdqu_t = (cmdqu_t *) mailbox_context; + 83f4301a: 0009bd03 ld s10,0(s3) + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f4301e: 405090ef jal ra,83f4cc22 <_hw_raw_spin_lock_irqsave> + if (flags == MAILBOX_LOCK_FAILED) { + 83f43022: 57fd li a5,-1 + drv_spin_lock_irqsave(&mailbox_lock, flags); + 83f43024: 85aa mv a1,a0 + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + 83f43026: 4701 li a4,0 + if (flags == MAILBOX_LOCK_FAILED) { + 83f43028: f8f519e3 bne a0,a5,83f42fba + printf("[%s][%d] drv_spin_lock_irqsave failed! ip_id = %d , cmd_id = %d\n" , cmdq->ip_id , cmdq->cmd_id); + 83f4302c: 6622 ld a2,8(sp) + 83f4302e: 00814583 lbu a1,8(sp) + 83f43032: 0000e517 auipc a0,0xe + 83f43036: e0650513 addi a0,a0,-506 # 83f50e38 <__func__.4+0x68> + 83f4303a: 8221 srli a2,a2,0x8 + 83f4303c: 07f67613 andi a2,a2,127 + 83f43040: 755080ef jal ra,83f4bf94 + break; + 83f43044: b70d j 83f42f66 + if (rtos_cmdq.ip_id == IP_VI) { + 83f43046: 00814703 lbu a4,8(sp) + stop_ip |= STOP_CMD_DONE_VI; + 83f4304a: 0001d817 auipc a6,0x1d + 83f4304e: b7680813 addi a6,a6,-1162 # 83f5fbc0 + if (rtos_cmdq.ip_id == IP_VI) { + 83f43052: 468d li a3,3 + stop_ip |= STOP_CMD_DONE_VI; + 83f43054: 00082783 lw a5,0(a6) + if (rtos_cmdq.ip_id == IP_VI) { + 83f43058: 0ed70563 beq a4,a3,83f43142 + if (rtos_cmdq.ip_id == IP_VCODEC) + 83f4305c: 4685 li a3,1 + 83f4305e: 00d71663 bne a4,a3,83f4306a + stop_ip |= STOP_CMD_DONE_VCODE; + 83f43062: 0047e793 ori a5,a5,4 + 83f43066: 00f82023 sw a5,0(a6) + if (stop_ip != STOP_CMD_DONE_ALL) + 83f4306a: 4719 li a4,6 + 83f4306c: eee79de3 bne a5,a4,83f42f66 + rtos_cmdq.ip_id = IP_SYSTEM; + 83f43070: 00f10423 sb a5,8(sp) + 83f43074: b735 j 83f42fa0 + rtos_cmdq.ip_id = IP_VI; + 83f43076: 00815783 lhu a5,8(sp) + 83f4307a: 7761 lui a4,0xffff8 + xQueueSend(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, 0U); + 83f4307c: 0d093503 ld a0,208(s2) + rtos_cmdq.ip_id = IP_VI; + 83f43080: 8ff9 and a5,a5,a4 + 83f43082: 303c0713 addi a4,s8,771 + 83f43086: 8fd9 or a5,a5,a4 + xQueueSend(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, 0U); + 83f43088: 4681 li a3,0 + 83f4308a: 4601 li a2,0 + 83f4308c: 002c addi a1,sp,8 + rtos_cmdq.ip_id = IP_VI; + 83f4308e: 00f11423 sh a5,8(sp) + stop_ip = 0; + 83f43092: 0001d797 auipc a5,0x1d + 83f43096: b207a723 sw zero,-1234(a5) # 83f5fbc0 + xQueueSend(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, 0U); + 83f4309a: 1ad0b0ef jal ra,83f4ea46 + break; + 83f4309e: b5e1 j 83f42f66 + rtos_cmdq.cmd_id = SYS_CMD_INFO_RTOS_INIT_DONE; + 83f430a0: 00914783 lbu a5,9(sp) + rtos_cmdq.param_ptr = &transfer_config; + 83f430a4: c65e sw s7,12(sp) + rtos_cmdq.cmd_id = SYS_CMD_INFO_RTOS_INIT_DONE; + 83f430a6: f807f793 andi a5,a5,-128 + 83f430aa: 0527e793 ori a5,a5,82 + 83f430ae: 00f104a3 sb a5,9(sp) + goto send_label; + 83f430b2: b5fd j 83f42fa0 + printf("SYS_CMD_INFO_DUMP_JPG idx = %d, set idx to 0\n", rtos_cmdq.param_ptr); + 83f430b4: 0000e517 auipc a0,0xe + 83f430b8: d5450513 addi a0,a0,-684 # 83f50e08 <__func__.4+0x38> + 83f430bc: 6d9080ef jal ra,83f4bf94 + rtos_cmdq.param_ptr = 0x0; + 83f430c0: c602 sw zero,12(sp) + goto send_label; + 83f430c2: bdf9 j 83f42fa0 + cmdq->resv.valid.rtos_valid = 1; + 83f430c4: 4785 li a5,1 + 83f430c6: 00f105a3 sb a5,11(sp) + *ptr = ((cmdq->ip_id << 0) | (cmdq->cmd_id << 8) | (cmdq->block << 15) | + 83f430ca: 66a2 ld a3,8(sp) + (cmdq->resv.valid.linux_valid << 16) | + 83f430cc: 00a14603 lbu a2,10(sp) + *ptr = ((cmdq->ip_id << 0) | (cmdq->cmd_id << 8) | (cmdq->block << 15) | + 83f430d0: 00814503 lbu a0,8(sp) + 83f430d4: 0086d793 srli a5,a3,0x8 + 83f430d8: 07f7f793 andi a5,a5,127 + (cmdq->resv.valid.linux_valid << 16) | + 83f430dc: 0106161b slliw a2,a2,0x10 + *ptr = ((cmdq->ip_id << 0) | (cmdq->cmd_id << 8) | (cmdq->block << 15) | + 83f430e0: 0087979b slliw a5,a5,0x8 + 83f430e4: 82bd srli a3,a3,0xf + 83f430e6: 8fd1 or a5,a5,a2 + 83f430e8: 8a85 andi a3,a3,1 + 83f430ea: 8fc9 or a5,a5,a0 + 83f430ec: 00f6969b slliw a3,a3,0xf + 83f430f0: 8fd5 or a5,a5,a3 + (cmdq->resv.valid.linux_valid << 16) | + 83f430f2: 010006b7 lui a3,0x1000 + 83f430f6: 8fd5 or a5,a5,a3 + *ptr = ((cmdq->ip_id << 0) | (cmdq->cmd_id << 8) | (cmdq->block << 15) | + 83f430f8: 00fd2023 sw a5,0(s10) + rtos_cmdqu_t->param_ptr = cmdq->param_ptr; + 83f430fc: 46b2 lw a3,12(sp) + mbox_reg->cpu_mbox_set[send_to_cpu].cpu_mbox_int_clr.mbox_int_clr = (1 << valid); + 83f430fe: 4785 li a5,1 + 83f43100: 00e7973b sllw a4,a5,a4 + rtos_cmdqu_t->param_ptr = cmdq->param_ptr; + 83f43104: 00dd2223 sw a3,4(s10) + mbox_reg->cpu_mbox_set[send_to_cpu].cpu_mbox_int_clr.mbox_int_clr = (1 << valid); + 83f43108: 000b3683 ld a3,0(s6) + 83f4310c: 0ff77613 andi a2,a4,255 + 83f43110: 002a1793 slli a5,s4,0x2 + 83f43114: 01568533 add a0,a3,s5 + 83f43118: 00c50023 sb a2,0(a0) + mbox_reg->cpu_mbox_en[send_to_cpu].mbox_info |= (1 << valid); + 83f4311c: 97b6 add a5,a5,a3 + 83f4311e: 0007c683 lbu a3,0(a5) + drv_spin_unlock_irqrestore(&mailbox_lock, flags); + 83f43122: 00010517 auipc a0,0x10 + 83f43126: 09650513 addi a0,a0,150 # 83f531b8 + mbox_reg->cpu_mbox_en[send_to_cpu].mbox_info |= (1 << valid); + 83f4312a: 8f55 or a4,a4,a3 + 83f4312c: 0ff77713 andi a4,a4,255 + 83f43130: 00e78023 sb a4,0(a5) + mbox_reg->mbox_set.mbox_set = (1 << valid); + 83f43134: 000b3783 ld a5,0(s6) + 83f43138: 06c78023 sb a2,96(a5) + drv_spin_unlock_irqrestore(&mailbox_lock, flags); + 83f4313c: 34d090ef jal ra,83f4cc88 <_hw_raw_spin_unlock_irqrestore> + if (valid >= MAILBOX_MAX_NUM) { + 83f43140: b51d j 83f42f66 + rtos_cmdq.ip_id = IP_VCODEC; + 83f43142: 00815703 lhu a4,8(sp) + 83f43146: 76e1 lui a3,0xffff8 + xQueueSend(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, 0U); + 83f43148: 08893503 ld a0,136(s2) + rtos_cmdq.ip_id = IP_VCODEC; + 83f4314c: 8f75 and a4,a4,a3 + stop_ip |= STOP_CMD_DONE_VI; + 83f4314e: 0027e793 ori a5,a5,2 + rtos_cmdq.ip_id = IP_VCODEC; + 83f43152: 01976733 or a4,a4,s9 + xQueueSend(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, 0U); + 83f43156: 4681 li a3,0 + 83f43158: 4601 li a2,0 + 83f4315a: 002c addi a1,sp,8 + stop_ip |= STOP_CMD_DONE_VI; + 83f4315c: 00f82023 sw a5,0(a6) + rtos_cmdq.ip_id = IP_VCODEC; + 83f43160: 00e11423 sh a4,8(sp) + xQueueSend(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, 0U); + 83f43164: 0e30b0ef jal ra,83f4ea46 + break; + 83f43168: bbfd j 83f42f66 + +0000000083f4316a : + +void prvQueueISR(void) +{ + 83f4316a: 711d addi sp,sp,-96 + 83f4316c: e862 sd s8,16(sp) + unsigned char valid_val; + int i; + cmdqu_t *cmdq; + BaseType_t YieldRequired = pdFALSE; + + set_val = mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + 83f4316e: 0001dc17 auipc s8,0x1d + 83f43172: a4ac0c13 addi s8,s8,-1462 # 83f5fbb8 + 83f43176: 000c3783 ld a5,0(s8) +{ + 83f4317a: ec86 sd ra,88(sp) + 83f4317c: e8a2 sd s0,80(sp) + 83f4317e: e4a6 sd s1,72(sp) + 83f43180: e0ca sd s2,64(sp) + 83f43182: fc4e sd s3,56(sp) + 83f43184: f852 sd s4,48(sp) + 83f43186: f456 sd s5,40(sp) + 83f43188: f05a sd s6,32(sp) + 83f4318a: ec5e sd s7,24(sp) + set_val = mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + 83f4318c: 0387c403 lbu s0,56(a5) + BaseType_t YieldRequired = pdFALSE; + 83f43190: e002 sd zero,0(sp) + set_val = mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + 83f43192: 0ff47413 andi s0,s0,255 + /* Now, we do not implement info back feature */ + // done_val = mbox_done_reg->cpu_mbox_done[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + + if (set_val) { + 83f43196: c455 beqz s0,83f43242 + for(i = 0; i < MAILBOX_MAX_NUM; i++) { + valid_val = set_val & (1 << i); + 83f43198: 0184141b slliw s0,s0,0x18 + 83f4319c: 4184541b sraiw s0,s0,0x18 + 83f431a0: 4b81 li s7,0 + 83f431a2: 4485 li s1,1 + + if (valid_val) { + cmdqu_t rtos_cmdq; + cmdq = (cmdqu_t *)(mailbox_context) + i; + 83f431a4: 0001d997 auipc s3,0x1d + 83f431a8: a0498993 addi s3,s3,-1532 # 83f5fba8 + *((unsigned long *) &rtos_cmdq) = *((unsigned long *)cmdq); + /* need to clear mailbox interrupt before clear mailbox buffer */ + *((unsigned long*) cmdq) = 0; + + /* mailbox buffer context is send from linux*/ + if (rtos_cmdq.resv.valid.linux_valid == 1) { + 83f431ac: 4905 li s2,1 + printf("unknown ip_id =%d cmd_id=%d\n", rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + break; + } + portYIELD_FROM_ISR(YieldRequired); + } else + printf("rtos cmdq is not valid %d, ip=%d , cmd=%d\n", + 83f431ae: 0000ea97 auipc s5,0xe + 83f431b2: d42a8a93 addi s5,s5,-702 # 83f50ef0 <__func__.4+0x120> + 83f431b6: 0000ea17 auipc s4,0xe + 83f431ba: d66a0a13 addi s4,s4,-666 # 83f50f1c <__func__.4+0x14c> + xQueueSendFromISR(gTaskCtx[E_QUEUE_CAMERA].queHandle, &rtos_cmdq, &YieldRequired); + 83f431be: 00010b17 auipc s6,0x10 + 83f431c2: d0ab0b13 addi s6,s6,-758 # 83f52ec8 + valid_val = set_val & (1 << i); + 83f431c6: 017497bb sllw a5,s1,s7 + 83f431ca: 8fe1 and a5,a5,s0 + 83f431cc: 0ff7f693 andi a3,a5,255 + 83f431d0: 0187979b slliw a5,a5,0x18 + 83f431d4: 4187d79b sraiw a5,a5,0x18 + if (valid_val) { + 83f431d8: c2ad beqz a3,83f4323a + mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_clr.mbox_int_clr = valid_val; + 83f431da: 000c3603 ld a2,0(s8) + cmdq = (cmdqu_t *)(mailbox_context) + i; + 83f431de: 0009b703 ld a4,0(s3) + mbox_reg->cpu_mbox_en[RECEIVE_CPU].mbox_info &= ~valid_val; + 83f431e2: fff7c793 not a5,a5 + mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_clr.mbox_int_clr = valid_val; + 83f431e6: 02d60823 sb a3,48(a2) + mbox_reg->cpu_mbox_en[RECEIVE_CPU].mbox_info &= ~valid_val; + 83f431ea: 00864683 lbu a3,8(a2) + cmdq = (cmdqu_t *)(mailbox_context) + i; + 83f431ee: 003b9593 slli a1,s7,0x3 + 83f431f2: 972e add a4,a4,a1 + mbox_reg->cpu_mbox_en[RECEIVE_CPU].mbox_info &= ~valid_val; + 83f431f4: 0ff6f693 andi a3,a3,255 + 83f431f8: 8ff5 and a5,a5,a3 + 83f431fa: 00f60423 sb a5,8(a2) + *((unsigned long *) &rtos_cmdq) = *((unsigned long *)cmdq); + 83f431fe: 631c ld a5,0(a4) + 83f43200: e43e sd a5,8(sp) + *((unsigned long*) cmdq) = 0; + 83f43202: 00073023 sd zero,0(a4) # ffffffffffff8000 <_end+0xffffffff7bff82c0> + if (rtos_cmdq.resv.valid.linux_valid == 1) { + 83f43206: 00a14783 lbu a5,10(sp) + 83f4320a: 01279d63 bne a5,s2,83f43224 + switch (rtos_cmdq.ip_id) { + 83f4320e: 00814583 lbu a1,8(sp) + 83f43212: 479d li a5,7 + 83f43214: 0cb7e363 bltu a5,a1,83f432da + 83f43218: 00259793 slli a5,a1,0x2 + 83f4321c: 97d2 add a5,a5,s4 + 83f4321e: 439c lw a5,0(a5) + 83f43220: 97d2 add a5,a5,s4 + 83f43222: 8782 jr a5 + rtos_cmdq.resv.valid.rtos_valid, rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + 83f43224: 66a2 ld a3,8(sp) + printf("rtos cmdq is not valid %d, ip=%d , cmd=%d\n", + 83f43226: 00814603 lbu a2,8(sp) + 83f4322a: 00b14583 lbu a1,11(sp) + rtos_cmdq.resv.valid.rtos_valid, rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + 83f4322e: 82a1 srli a3,a3,0x8 + printf("rtos cmdq is not valid %d, ip=%d , cmd=%d\n", + 83f43230: 07f6f693 andi a3,a3,127 + 83f43234: 8556 mv a0,s5 + 83f43236: 55f080ef jal ra,83f4bf94 + for(i = 0; i < MAILBOX_MAX_NUM; i++) { + 83f4323a: 0b85 addi s7,s7,1 + 83f4323c: 47a1 li a5,8 + 83f4323e: f8fb94e3 bne s7,a5,83f431c6 + } + } + } +} + 83f43242: 60e6 ld ra,88(sp) + 83f43244: 6446 ld s0,80(sp) + 83f43246: 64a6 ld s1,72(sp) + 83f43248: 6906 ld s2,64(sp) + 83f4324a: 79e2 ld s3,56(sp) + 83f4324c: 7a42 ld s4,48(sp) + 83f4324e: 7aa2 ld s5,40(sp) + 83f43250: 7b02 ld s6,32(sp) + 83f43252: 6be2 ld s7,24(sp) + 83f43254: 6c42 ld s8,16(sp) + 83f43256: 6125 addi sp,sp,96 + 83f43258: 8082 ret + xQueueSendFromISR(gTaskCtx[E_QUEUE_CAMERA].queHandle, &rtos_cmdq, &YieldRequired); + 83f4325a: 118b3503 ld a0,280(s6) + 83f4325e: 4681 li a3,0 + 83f43260: 860a mv a2,sp + 83f43262: 002c addi a1,sp,8 + 83f43264: 1030b0ef jal ra,83f4eb66 + portYIELD_FROM_ISR(YieldRequired); + 83f43268: 6782 ld a5,0(sp) + 83f4326a: dbe1 beqz a5,83f4323a + 83f4326c: 2100c0ef jal ra,83f4f47c + for(i = 0; i < MAILBOX_MAX_NUM; i++) { + 83f43270: 0b85 addi s7,s7,1 + 83f43272: 47a1 li a5,8 + 83f43274: f4fb99e3 bne s7,a5,83f431c6 + 83f43278: b7e9 j 83f43242 + xQueueSendFromISR(gTaskCtx[E_QUEUE_ISP].queHandle, &rtos_cmdq, &YieldRequired); + 83f4327a: 040b3503 ld a0,64(s6) + 83f4327e: 4681 li a3,0 + 83f43280: 860a mv a2,sp + 83f43282: 002c addi a1,sp,8 + 83f43284: 0e30b0ef jal ra,83f4eb66 + break; + 83f43288: b7c5 j 83f43268 + xQueueSendFromISR(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, &YieldRequired); + 83f4328a: 088b3503 ld a0,136(s6) + 83f4328e: 4681 li a3,0 + 83f43290: 860a mv a2,sp + 83f43292: 002c addi a1,sp,8 + 83f43294: 0d30b0ef jal ra,83f4eb66 + break; + 83f43298: bfc1 j 83f43268 + xQueueSendFromISR(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, &YieldRequired); + 83f4329a: 0d0b3503 ld a0,208(s6) + 83f4329e: 4681 li a3,0 + 83f432a0: 860a mv a2,sp + 83f432a2: 002c addi a1,sp,8 + 83f432a4: 0c30b0ef jal ra,83f4eb66 + break; + 83f432a8: b7c1 j 83f43268 + xQueueSendFromISR(gTaskCtx[E_QUEUE_RGN].queHandle, &rtos_cmdq, &YieldRequired); + 83f432aa: 160b3503 ld a0,352(s6) + 83f432ae: 4681 li a3,0 + 83f432b0: 860a mv a2,sp + 83f432b2: 002c addi a1,sp,8 + 83f432b4: 0b30b0ef jal ra,83f4eb66 + break; + 83f432b8: bf45 j 83f43268 + xQueueSendFromISR(gTaskCtx[E_QUEUE_AUDIO].queHandle, &rtos_cmdq, &YieldRequired); + 83f432ba: 1f0b3503 ld a0,496(s6) + 83f432be: 4681 li a3,0 + 83f432c0: 860a mv a2,sp + 83f432c2: 002c addi a1,sp,8 + 83f432c4: 0a30b0ef jal ra,83f4eb66 + break; + 83f432c8: b745 j 83f43268 + xQueueSendFromISR(gTaskCtx[E_QUEUE_CMDQU].queHandle, &rtos_cmdq, &YieldRequired); + 83f432ca: 1a8b3503 ld a0,424(s6) + 83f432ce: 4681 li a3,0 + 83f432d0: 860a mv a2,sp + 83f432d2: 002c addi a1,sp,8 + 83f432d4: 0930b0ef jal ra,83f4eb66 + break; + 83f432d8: bf41 j 83f43268 + printf("unknown ip_id =%d cmd_id=%d\n", rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + 83f432da: 6622 ld a2,8(sp) + 83f432dc: 0000e517 auipc a0,0xe + 83f432e0: bf450513 addi a0,a0,-1036 # 83f50ed0 <__func__.4+0x100> + 83f432e4: 8221 srli a2,a2,0x8 + 83f432e6: 07f67613 andi a2,a2,127 + 83f432ea: 4ab080ef jal ra,83f4bf94 + break; + 83f432ee: bfad j 83f43268 + +0000000083f432f0 : + if (handle_idx >= E_QUEUE_MAX) + 83f432f0: 4799 li a5,6 + 83f432f2: 00a7ef63 bltu a5,a0,83f43310 + return gTaskCtx[handle_idx].queHandle; + 83f432f6: 1502 slli a0,a0,0x20 + 83f432f8: 9101 srli a0,a0,0x20 + 83f432fa: 00351793 slli a5,a0,0x3 + 83f432fe: 953e add a0,a0,a5 + 83f43300: 050e slli a0,a0,0x3 + 83f43302: 00010797 auipc a5,0x10 + 83f43306: bc678793 addi a5,a5,-1082 # 83f52ec8 + 83f4330a: 953e add a0,a0,a5 + 83f4330c: 6128 ld a0,64(a0) + 83f4330e: 8082 ret + return NULL; + 83f43310: 4501 li a0,0 +} + 83f43312: 8082 ret + +0000000083f43314 : +{ + 83f43314: 1101 addi sp,sp,-32 + 83f43316: e822 sd s0,16(sp) + 83f43318: e426 sd s1,8(sp) + 83f4331a: ec06 sd ra,24(sp) + 83f4331c: 00010417 auipc s0,0x10 + 83f43320: bac40413 addi s0,s0,-1108 # 83f52ec8 + 83f43324: 00010497 auipc s1,0x10 + 83f43328: d9c48493 addi s1,s1,-612 # 83f530c0 + TASK_INIT(i); + 83f4332c: 03844503 lbu a0,56(s0) + 83f43330: 4601 li a2,0 + 83f43332: 45a1 li a1,8 + 83f43334: 6a60b0ef jal ra,83f4e9da + 83f43338: e028 sd a0,64(s0) + 83f4333a: c919 beqz a0,83f43350 + 83f4333c: 7808 ld a0,48(s0) + 83f4333e: 85a2 mv a1,s0 + 83f43340: 4781 li a5,0 + 83f43342: 4681 li a3,0 + 83f43344: c511 beqz a0,83f43350 + 83f43346: 7418 ld a4,40(s0) + 83f43348: 02045603 lhu a2,32(s0) + 83f4334c: 56e0c0ef jal ra,83f4f8ba + for (; i < ARRAY_SIZE(gTaskCtx); i++) { + 83f43350: 04840413 addi s0,s0,72 + 83f43354: fc941ce3 bne s0,s1,83f4332c +} + 83f43358: 60e2 ld ra,24(sp) + 83f4335a: 6442 ld s0,16(sp) + 83f4335c: 64a2 ld s1,8(sp) + 83f4335e: 6105 addi sp,sp,32 + 83f43360: 8082 ret + +0000000083f43362 : +{ + 83f43362: 1141 addi sp,sp,-16 + printf("create cvi task\n"); + 83f43364: 0000e517 auipc a0,0xe + 83f43368: bdc50513 addi a0,a0,-1060 # 83f50f40 <__func__.4+0x170> +{ + 83f4336c: e406 sd ra,8(sp) + printf("create cvi task\n"); + 83f4336e: 427080ef jal ra,83f4bf94 + request_irq(MBOX_INT_C906_2ND, prvQueueISR, 0, "mailbox", (void *)0); + 83f43372: 4701 li a4,0 + 83f43374: 0000e697 auipc a3,0xe + 83f43378: be468693 addi a3,a3,-1052 # 83f50f58 <__func__.4+0x188> + 83f4337c: 4601 li a2,0 + 83f4337e: 00000597 auipc a1,0x0 + 83f43382: dec58593 addi a1,a1,-532 # 83f4316a + 83f43386: 03d00513 li a0,61 + 83f4338a: 12a090ef jal ra,83f4c4b4 + main_create_tasks(); + 83f4338e: f87ff0ef jal ra,83f43314 + vTaskStartScheduler(); + 83f43392: 5a40c0ef jal ra,83f4f936 + for (;;) + 83f43396: a001 j 83f43396 + +0000000083f43398 : +#else +#define rgn_printf(...) +#endif + +void prvRGNRunTask(void *pvParameters) +{ + 83f43398: 7131 addi sp,sp,-192 + OSDC_Canvas_Attr_S canvas; + OSDC_DRAW_OBJ_S *obj_vec = NULL; + RGN_LINE_ATTR_S *line_attr = NULL; + + rgn_printf("%s run\n", __func__); + xQueueRGN = main_GetMODHandle(E_QUEUE_RGN); + 83f4339a: 4511 li a0,4 +{ + 83f4339c: fd06 sd ra,184(sp) + 83f4339e: fcde sd s7,120(sp) + 83f433a0: f8e2 sd s8,112(sp) + 83f433a2: f4e6 sd s9,104(sp) + 83f433a4: f922 sd s0,176(sp) + 83f433a6: f526 sd s1,168(sp) + 83f433a8: f14a sd s2,160(sp) + 83f433aa: ed4e sd s3,152(sp) + 83f433ac: e952 sd s4,144(sp) + 83f433ae: e556 sd s5,136(sp) + 83f433b0: e15a sd s6,128(sp) + 83f433b2: f0ea sd s10,96(sp) + 83f433b4: ecee sd s11,88(sp) + xQueueRGN = main_GetMODHandle(E_QUEUE_RGN); + 83f433b6: f3bff0ef jal ra,83f432f0 + 83f433ba: 87aa mv a5,a0 + 83f433bc: 0001dc97 auipc s9,0x1d + 83f433c0: 80cc8c93 addi s9,s9,-2036 # 83f5fbc8 + xQueueRGNCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + 83f433c4: 4515 li a0,5 + xQueueRGN = main_GetMODHandle(E_QUEUE_RGN); + 83f433c6: 00fcb023 sd a5,0(s9) + xQueueRGNCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + 83f433ca: f27ff0ef jal ra,83f432f0 + 83f433ce: 0001d797 auipc a5,0x1d + 83f433d2: 80278793 addi a5,a5,-2046 # 83f5fbd0 + } + vPortFree(line_attr); + vPortFree(obj_vec); + +WRONG_CMD_IP_ID: + rtos_cmdq.ip_id = -1; + 83f433d6: 6c21 lui s8,0x8 + xQueueRGNCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + 83f433d8: e388 sd a0,0(a5) + rtos_cmdq.ip_id = -1; + 83f433da: fffc0793 addi a5,s8,-1 # 7fff <_EL1_STACK_SIZE+0x77ff> + if (rtos_cmdq.ip_id != IP_RGN) { + 83f433de: 4b91 li s7,4 + rtos_cmdq.ip_id = -1; + 83f433e0: ec3e sd a5,24(sp) + 83f433e2: a025 j 83f4340a + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + 83f433e4: 0001c797 auipc a5,0x1c + 83f433e8: 7ec78793 addi a5,a5,2028 # 83f5fbd0 + 83f433ec: 6388 ld a0,0(a5) + 83f433ee: 4681 li a3,0 + 83f433f0: 4601 li a2,0 + 83f433f2: 182c addi a1,sp,56 + 83f433f4: 6520b0ef jal ra,83f4ea46 + rtos_cmdq.ip_id = -1; + 83f433f8: 03815783 lhu a5,56(sp) + 83f433fc: 7761 lui a4,0xffff8 + rtos_cmdq.cmd_id = -1; + rtos_cmdq.param_ptr = 0; + 83f433fe: de02 sw zero,60(sp) + rtos_cmdq.ip_id = -1; + 83f43400: 8ff9 and a5,a5,a4 + 83f43402: 6762 ld a4,24(sp) + 83f43404: 8fd9 or a5,a5,a4 + 83f43406: 02f11c23 sh a5,56(sp) + xQueueReceive(xQueueRGN, &rtos_cmdq, portMAX_DELAY); + 83f4340a: 000cb503 ld a0,0(s9) + 83f4340e: 567d li a2,-1 + 83f43410: 182c addi a1,sp,56 + 83f43412: 0350b0ef jal ra,83f4ec46 + if (rtos_cmdq.ip_id != IP_RGN) { + 83f43416: 03814783 lbu a5,56(sp) + 83f4341a: fd7795e3 bne a5,s7,83f433e4 + canvas_cmpr_attr = (RGN_CANVAS_CMPR_ATTR_S *)rtos_cmdq.param_ptr; + 83f4341e: 03c16a83 lwu s5,60(sp) + canvas.width = canvas_cmpr_attr->u32Width; + 83f43422: 000aa703 lw a4,0(s5) + obj_num = canvas_cmpr_attr->u32ObjNum; + 83f43426: 014aa683 lw a3,20(s5) + canvas.height = canvas_cmpr_attr->u32Height; + 83f4342a: 004aa783 lw a5,4(s5) + canvas.width = canvas_cmpr_attr->u32Width; + 83f4342e: c0ba sw a4,64(sp) + obj_num = canvas_cmpr_attr->u32ObjNum; + 83f43430: f036 sd a3,32(sp) + canvas.height = canvas_cmpr_attr->u32Height; + 83f43432: c2be sw a5,68(sp) + obj_num = canvas_cmpr_attr->u32ObjNum; + 83f43434: 0ff6fb13 andi s6,a3,255 + obj_vec = (OSDC_DRAW_OBJ_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(OSDC_DRAW_OBJ_S)); + 83f43438: 020b0563 beqz s6,83f43462 + 83f4343c: 006b1513 slli a0,s6,0x6 + 83f43440: 1440b0ef jal ra,83f4e584 + 83f43444: 8a2a mv s4,a0 + if (obj_vec == NULL) { + 83f43446: d94d beqz a0,83f433f8 + line_attr = (RGN_LINE_ATTR_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(RGN_LINE_ATTR_S)); + 83f43448: 001b1513 slli a0,s6,0x1 + 83f4344c: 955a add a0,a0,s6 + 83f4344e: 050e slli a0,a0,0x3 + 83f43450: 1340b0ef jal ra,83f4e584 + 83f43454: 842a mv s0,a0 + if (line_attr == NULL) { + 83f43456: 22051b63 bnez a0,83f4368c + vPortFree(obj_vec); + 83f4345a: 8552 mv a0,s4 + 83f4345c: 28e0b0ef jal ra,83f4e6ea + 83f43460: bf61 j 83f433f8 + obj_vec = (OSDC_DRAW_OBJ_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(OSDC_DRAW_OBJ_S)); + 83f43462: 04000513 li a0,64 + 83f43466: 11e0b0ef jal ra,83f4e584 + 83f4346a: 8a2a mv s4,a0 + if (obj_vec == NULL) { + 83f4346c: d551 beqz a0,83f433f8 + line_attr = (RGN_LINE_ATTR_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(RGN_LINE_ATTR_S)); + 83f4346e: 4561 li a0,24 + 83f43470: 1140b0ef jal ra,83f4e584 + 83f43474: 842a mv s0,a0 + if (line_attr == NULL) { + 83f43476: d175 beqz a0,83f4345a + obj_attr = (RGN_CMPR_OBJ_ATTR_S *)((CVI_U8 *)rtos_cmdq.param_ptr + sizeof(RGN_CANVAS_CMPR_ATTR_S)); + 83f43478: 03c16783 lwu a5,60(sp) + 83f4347c: 4481 li s1,0 + 83f4347e: 07e1 addi a5,a5,24 + 83f43480: f43e sd a5,40(sp) + for (i = 0; i < line_num; ++i) { + 83f43482: 4995 li s3,5 + if (i < line_num - 1) { + 83f43484: fff4891b addiw s2,s1,-1 + for (i = 0; i < line_num; ++i) { + 83f43488: 01840d13 addi s10,s0,24 + 83f4348c: 4d81 li s11,0 + 83f4348e: ec85 bnez s1,83f434c6 + 83f43490: a059 j 83f43516 + = line_attr[i].stPointStart.s32Y; + 83f43492: fecd2503 lw a0,-20(s10) + if (i < line_num - 1) { + 83f43496: 000d859b sext.w a1,s11 + if (delta_x < line_attr[i].u32Thick) { + 83f4349a: 000c071b sext.w a4,s8 + = line_attr[i].stPointStart.s32Y; + 83f4349e: fead2a23 sw a0,-12(s10) + if (i < line_num - 1) { + 83f434a2: 1325d163 bge a1,s2,83f435c4 + line_attr[i + 1].stPointStart.s32Y = line_attr[i].stPointEnd.s32Y + 83f434a6: 00ad2223 sw a0,4(s10) + if (delta_x < line_attr[i].u32Thick) { + 83f434aa: 00c77863 bgeu a4,a2,83f434ba + = line_attr[i].stPointStart.s32X; + 83f434ae: fe8d2703 lw a4,-24(s10) + 83f434b2: feed2823 sw a4,-16(s10) + line_attr[i + 1].stPointStart.s32X = line_attr[i].stPointEnd.s32X + 83f434b6: 00ed2023 sw a4,0(s10) + for (i = 0; i < line_num; ++i) { + 83f434ba: 0d85 addi s11,s11,1 + 83f434bc: 000d871b sext.w a4,s11 + 83f434c0: 0d61 addi s10,s10,24 + 83f434c2: 04975a63 bge a4,s1,83f43516 + delta_x = abs(line_attr[i].stPointStart.s32X - line_attr[i].stPointEnd.s32X); + 83f434c6: ff0d2703 lw a4,-16(s10) + 83f434ca: fe8d2503 lw a0,-24(s10) + 83f434ce: 9d19 subw a0,a0,a4 + 83f434d0: 837ff0ef jal ra,83f42d06 + delta_y = abs(line_attr[i].stPointStart.s32Y - line_attr[i].stPointEnd.s32Y); + 83f434d4: ff4d2603 lw a2,-12(s10) + 83f434d8: fecd2583 lw a1,-20(s10) + delta_x = abs(line_attr[i].stPointStart.s32X - line_attr[i].stPointEnd.s32X); + 83f434dc: 8c2a mv s8,a0 + delta_y = abs(line_attr[i].stPointStart.s32Y - line_attr[i].stPointEnd.s32Y); + 83f434de: 40c5853b subw a0,a1,a2 + 83f434e2: 825ff0ef jal ra,83f42d06 + if (delta_y < line_attr[i].u32Thick) { + 83f434e6: ff8d2603 lw a2,-8(s10) + 83f434ea: 2501 sext.w a0,a0 + 83f434ec: fac563e3 bltu a0,a2,83f43492 + if (delta_x < line_attr[i].u32Thick) { + 83f434f0: 000c071b sext.w a4,s8 + 83f434f4: fcc773e3 bgeu a4,a2,83f434ba + if (i < line_num - 1) { + 83f434f8: 000d871b sext.w a4,s11 + 83f434fc: fb2749e3 blt a4,s2,83f434ae + = line_attr[i].stPointStart.s32X; + 83f43500: fe8d2703 lw a4,-24(s10) + for (i = 0; i < line_num; ++i) { + 83f43504: 0d85 addi s11,s11,1 + 83f43506: 0d61 addi s10,s10,24 + = line_attr[i].stPointStart.s32X; + 83f43508: fced2c23 sw a4,-40(s10) + line_attr[0].stPointStart.s32X = line_attr[i].stPointEnd.s32X + 83f4350c: c018 sw a4,0(s0) + for (i = 0; i < line_num; ++i) { + 83f4350e: 000d871b sext.w a4,s11 + 83f43512: fa974ae3 blt a4,s1,83f434c6 + delta_x = abs(line_attr[0].stPointStart.s32X - line_attr[0].stPointEnd.s32X); + 83f43516: 441c lw a5,8(s0) + 83f43518: 4008 lw a0,0(s0) + 83f4351a: 9d1d subw a0,a0,a5 + 83f4351c: feaff0ef jal ra,83f42d06 + delta_y = abs(line_attr[0].stPointStart.s32Y - line_attr[0].stPointEnd.s32Y); + 83f43520: 4054 lw a3,4(s0) + 83f43522: 4458 lw a4,12(s0) + delta_x = abs(line_attr[0].stPointStart.s32X - line_attr[0].stPointEnd.s32X); + 83f43524: 8d2a mv s10,a0 + delta_y = abs(line_attr[0].stPointStart.s32Y - line_attr[0].stPointEnd.s32Y); + 83f43526: 40e6853b subw a0,a3,a4 + 83f4352a: fdcff0ef jal ra,83f42d06 + if ((delta_x > line_attr[0].u32Thick || delta_x == 0) && + 83f4352e: 4818 lw a4,16(s0) + 83f43530: 000d069b sext.w a3,s10 + 83f43534: 00d76463 bltu a4,a3,83f4353c + 83f43538: 000d1763 bnez s10,83f43546 + 83f4353c: 0005079b sext.w a5,a0 + 83f43540: 00f76663 bltu a4,a5,83f4354c + (delta_y > line_attr[0].u32Thick || delta_y == 0)) + 83f43544: c501 beqz a0,83f4354c + while (j++ < 5) { + 83f43546: 39fd addiw s3,s3,-1 + 83f43548: f40990e3 bnez s3,83f43488 + if (obj_num) { + 83f4354c: 0a0b1e63 bnez s6,83f43608 + switch (canvas_cmpr_attr->enPixelFormat) { + 83f43550: 00caa783 lw a5,12(s5) + 83f43554: 4719 li a4,6 + 83f43556: 1ae78863 beq a5,a4,83f43706 + 83f4355a: 03000713 li a4,48 + 83f4355e: 1ae78163 beq a5,a4,83f43700 + 83f43562: 4715 li a4,5 + 83f43564: 18e78c63 beq a5,a4,83f436fc + canvas.format = OSD_ARGB1555; + 83f43568: 4795 li a5,5 + 83f4356a: c4be sw a5,72(sp) + switch (rtos_cmdq.cmd_id) { + 83f4356c: 77e2 ld a5,56(sp) + 83f4356e: 83a1 srli a5,a5,0x8 + 83f43570: 07f7f793 andi a5,a5,127 + 83f43574: cfb1 beqz a5,83f435d0 + 83f43576: 4705 li a4,1 + 83f43578: 04e79263 bne a5,a4,83f435bc + bs_size = CVI_OSDC_EstCmprCanvasSize(&canvas, &obj_vec[0], obj_num); + 83f4357c: 02014603 lbu a2,32(sp) + pvAddr = (void *)rtos_cmdq.param_ptr; + 83f43580: 54f2 lw s1,60(sp) + bs_size = CVI_OSDC_EstCmprCanvasSize(&canvas, &obj_vec[0], obj_num); + 83f43582: 85d2 mv a1,s4 + 83f43584: 0088 addi a0,sp,64 + 83f43586: 76e090ef jal ra,83f4ccf4 + 83f4358a: 0005079b sext.w a5,a0 + flush_dcache_range((uintptr_t)pvAddr, ALIGN(sizeof(RGN_CANVAS_CMPR_ATTR_S), 64)); + 83f4358e: 02049513 slli a0,s1,0x20 + canvas_cmpr_attr->u32BsSize = bs_size; + 83f43592: 00faa823 sw a5,16(s5) + flush_dcache_range((uintptr_t)pvAddr, ALIGN(sizeof(RGN_CANVAS_CMPR_ATTR_S), 64)); + 83f43596: 04000593 li a1,64 + 83f4359a: 9101 srli a0,a0,0x20 + bs_size = CVI_OSDC_EstCmprCanvasSize(&canvas, &obj_vec[0], obj_num); + 83f4359c: da3e sw a5,52(sp) + flush_dcache_range((uintptr_t)pvAddr, ALIGN(sizeof(RGN_CANVAS_CMPR_ATTR_S), 64)); + 83f4359e: 1bb080ef jal ra,83f4bf58 + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + 83f435a2: 0001c797 auipc a5,0x1c + 83f435a6: 62e78793 addi a5,a5,1582 # 83f5fbd0 + 83f435aa: 6388 ld a0,0(a5) + 83f435ac: 4681 li a3,0 + 83f435ae: 4601 li a2,0 + 83f435b0: 182c addi a1,sp,56 + rtos_cmdq.ip_id = IP_RGN; + 83f435b2: 03710c23 sb s7,56(sp) + rtos_cmdq.param_ptr = 0; + 83f435b6: de02 sw zero,60(sp) + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + 83f435b8: 48e0b0ef jal ra,83f4ea46 + vPortFree(line_attr); + 83f435bc: 8522 mv a0,s0 + 83f435be: 12c0b0ef jal ra,83f4e6ea + 83f435c2: bd61 j 83f4345a + line_attr[0].stPointStart.s32Y = line_attr[i].stPointEnd.s32Y + 83f435c4: c048 sw a0,4(s0) + if (delta_x < line_attr[i].u32Thick) { + 83f435c6: ff8d2603 lw a2,-8(s10) + 83f435ca: f2c76be3 bltu a4,a2,83f43500 + 83f435ce: b5f5 j 83f434ba + pvAddr = (void *)rtos_cmdq.param_ptr; + 83f435d0: 03c16483 lwu s1,60(sp) + status = CVI_OSDC_DrawCmprCanvas(&canvas, &obj_vec[0], obj_num ? obj_num : 0, pvAddr, + 83f435d4: 010aa703 lw a4,16(s5) + 83f435d8: 02014603 lbu a2,32(sp) + 83f435dc: 185c addi a5,sp,52 + 83f435de: 86a6 mv a3,s1 + 83f435e0: 85d2 mv a1,s4 + 83f435e2: 0088 addi a0,sp,64 + 83f435e4: 714090ef jal ra,83f4ccf8 + if (status != 1) { + 83f435e8: 4785 li a5,1 + 83f435ea: 14f50063 beq a0,a5,83f4372a + *(unsigned int *)pvAddr = 0xffffffff; + 83f435ee: 57fd li a5,-1 + 83f435f0: c09c sw a5,0(s1) + *((unsigned int *)pvAddr + 1) = bs_size; + 83f435f2: 57d2 lw a5,52(sp) + 83f435f4: c0dc sw a5,4(s1) + flush_dcache_range((uintptr_t)pvAddr, ALIGN(bs_size, 64)); + 83f435f6: 03f7879b addiw a5,a5,63 + 83f435fa: fc07f593 andi a1,a5,-64 + 83f435fe: 2581 sext.w a1,a1 + 83f43600: 8526 mv a0,s1 + 83f43602: 157080ef jal ra,83f4bf58 + 83f43606: bf71 j 83f435a2 + for (i = 0, j = 0; i < obj_num; ++i) { + 83f43608: 02014783 lbu a5,32(sp) + 83f4360c: d3b1 beqz a5,83f43550 + 83f4360e: 79a2 ld s3,40(sp) + 83f43610: 0796 slli a5,a5,0x5 + 83f43612: 8b52 mv s6,s4 + 83f43614: 00f984b3 add s1,s3,a5 + 83f43618: 4901 li s2,0 + 83f4361a: a811 j 83f4362e + } else if (obj_attr[i].enObjType == RGN_CMPR_BIT_MAP) { + 83f4361c: 4705 li a4,1 + 83f4361e: 0ee78663 beq a5,a4,83f4370a + for (i = 0, j = 0; i < obj_num; ++i) { + 83f43622: 02098993 addi s3,s3,32 + 83f43626: 040b0b13 addi s6,s6,64 + 83f4362a: f33483e3 beq s1,s3,83f43550 + if (obj_attr[i].enObjType == RGN_CMPR_LINE) { + 83f4362e: 0009a783 lw a5,0(s3) + 83f43632: 4709 li a4,2 + 83f43634: 02e78963 beq a5,a4,83f43666 + } else if (obj_attr[i].enObjType == RGN_CMPR_RECT) { + 83f43638: f3f5 bnez a5,83f4361c + CVI_OSDC_SetRectObjAttr( + 83f4363a: 01c9a883 lw a7,28(s3) + 83f4363e: 0149a583 lw a1,20(s3) + 83f43642: 0109a803 lw a6,16(s3) + 83f43646: 00c9a783 lw a5,12(s3) + 83f4364a: 0089a703 lw a4,8(s3) + 83f4364e: 0049a683 lw a3,4(s3) + 83f43652: 0189a603 lw a2,24(s3) + 83f43656: 011038b3 snez a7,a7 + 83f4365a: e02e sd a1,0(sp) + 83f4365c: 0088 addi a0,sp,64 + 83f4365e: 85da mv a1,s6 + 83f43660: 69c090ef jal ra,83f4ccfc + 83f43664: bf7d j 83f43622 + line_attr[j].u32Color, + 83f43666: 00191613 slli a2,s2,0x1 + 83f4366a: 964a add a2,a2,s2 + 83f4366c: 060e slli a2,a2,0x3 + 83f4366e: 9622 add a2,a2,s0 + CVI_OSDC_SetLineObjAttr( + 83f43670: 01062883 lw a7,16(a2) + 83f43674: 00c62803 lw a6,12(a2) + 83f43678: 461c lw a5,8(a2) + 83f4367a: 4258 lw a4,4(a2) + 83f4367c: 4214 lw a3,0(a2) + 83f4367e: 4a50 lw a2,20(a2) + 83f43680: 85da mv a1,s6 + 83f43682: 0088 addi a0,sp,64 + 83f43684: 684090ef jal ra,83f4cd08 + j++; + 83f43688: 2905 addiw s2,s2,1 + 83f4368a: bf61 j 83f43622 + obj_attr = (RGN_CMPR_OBJ_ATTR_S *)((CVI_U8 *)rtos_cmdq.param_ptr + sizeof(RGN_CANVAS_CMPR_ATTR_S)); + 83f4368c: 03c16603 lwu a2,60(sp) + 83f43690: 02014703 lbu a4,32(sp) + for (i = 0; i < obj_num; ++i) { + 83f43694: 4481 li s1,0 + obj_attr = (RGN_CMPR_OBJ_ATTR_S *)((CVI_U8 *)rtos_cmdq.param_ptr + sizeof(RGN_CANVAS_CMPR_ATTR_S)); + 83f43696: 01860793 addi a5,a2,24 + 83f4369a: f43e sd a5,40(sp) + for (i = 0; i < obj_num; ++i) { + 83f4369c: de0703e3 beqz a4,83f43482 + 83f436a0: fff7069b addiw a3,a4,-1 + 83f436a4: 02069713 slli a4,a3,0x20 + 83f436a8: 01b75693 srli a3,a4,0x1b + 83f436ac: 03860613 addi a2,a2,56 + 83f436b0: 96b2 add a3,a3,a2 + line_num = 0; + 83f436b2: 4481 li s1,0 + if (obj_attr[i].enObjType == RGN_CMPR_LINE) { + 83f436b4: 4398 lw a4,0(a5) + 83f436b6: 4609 li a2,2 + 83f436b8: 02c71c63 bne a4,a2,83f436f0 + line_attr[line_num] = obj_attr[i].stLine; + 83f436bc: 00149713 slli a4,s1,0x1 + 83f436c0: 0047a303 lw t1,4(a5) + 83f436c4: 0087a883 lw a7,8(a5) + 83f436c8: 00c7a803 lw a6,12(a5) + 83f436cc: 4b88 lw a0,16(a5) + 83f436ce: 4bcc lw a1,20(a5) + 83f436d0: 4f90 lw a2,24(a5) + 83f436d2: 9726 add a4,a4,s1 + 83f436d4: 070e slli a4,a4,0x3 + 83f436d6: 9722 add a4,a4,s0 + line_num++; + 83f436d8: 2485 addiw s1,s1,1 + line_attr[line_num] = obj_attr[i].stLine; + 83f436da: 00672023 sw t1,0(a4) # ffffffffffff8000 <_end+0xffffffff7bff82c0> + 83f436de: 01172223 sw a7,4(a4) + 83f436e2: 01072423 sw a6,8(a4) + 83f436e6: c748 sw a0,12(a4) + 83f436e8: cb0c sw a1,16(a4) + 83f436ea: cb50 sw a2,20(a4) + line_num++; + 83f436ec: 0ff4f493 andi s1,s1,255 + for (i = 0; i < obj_num; ++i) { + 83f436f0: 02078793 addi a5,a5,32 + 83f436f4: fcd790e3 bne a5,a3,83f436b4 + for (i = 0; i < line_num; ++i) { + 83f436f8: 2481 sext.w s1,s1 + 83f436fa: b361 j 83f43482 + canvas.format = OSD_ARGB4444; + 83f436fc: c4de sw s7,72(sp) + break; + 83f436fe: b5bd j 83f4356c + canvas.format = OSD_LUT8; + 83f43700: 47a1 li a5,8 + 83f43702: c4be sw a5,72(sp) + break; + 83f43704: b5a5 j 83f4356c + canvas.format = OSD_ARGB8888; + 83f43706: c482 sw zero,72(sp) + break; + 83f43708: b595 j 83f4356c + CVI_OSDC_SetBitmapObjAttr( + 83f4370a: 0109a803 lw a6,16(s3) + 83f4370e: 00c9a783 lw a5,12(s3) + 83f43712: 0089a703 lw a4,8(s3) + 83f43716: 0049a683 lw a3,4(s3) + 83f4371a: 0149e603 lwu a2,20(s3) + 83f4371e: 85da mv a1,s6 + 83f43720: 4881 li a7,0 + 83f43722: 0088 addi a0,sp,64 + 83f43724: 5e0090ef jal ra,83f4cd04 + 83f43728: bded j 83f43622 + *((unsigned int *)pvAddr + 1) = bs_size; + 83f4372a: 57d2 lw a5,52(sp) + 83f4372c: c0dc sw a5,4(s1) + 83f4372e: b5e1 j 83f435f6 + +0000000083f43730 : + } \ + } while (0) +#endif +// just to build & compiler venc sdk, do not need run this +__attribute__((optimize("-O0"))) void cvi_audio_init_test(void) +{ + 83f43730: 1141 addi sp,sp,-16 + 83f43732: e406 sd ra,8(sp) + 83f43734: e022 sd s0,0(sp) + 83f43736: 0800 addi s0,sp,16 + + aud_printf("Enter cvitek audio ssp algorithm test mode\n"); + 83f43738: 0000d517 auipc a0,0xd + 83f4373c: a0850513 addi a0,a0,-1528 # 83f50140 <__rodata_start> + 83f43740: 055080ef jal ra,83f4bf94 + if (unit_test_triggered == 1) { + 83f43744: 0001c797 auipc a5,0x1c + 83f43748: 49478793 addi a5,a5,1172 # 83f5fbd8 + 83f4374c: 439c lw a5,0(a5) + 83f4374e: 873e mv a4,a5 + 83f43750: 4785 li a5,1 + 83f43752: 02f70563 beq a4,a5,83f4377c + //already trigger + return; + + } else { + aud_printf("audio_ssp first trigger test begin.....!!!\n"); + 83f43756: 0000d517 auipc a0,0xd + 83f4375a: a1a50513 addi a0,a0,-1510 # 83f50170 <__rodata_start+0x30> + 83f4375e: 037080ef jal ra,83f4bf94 + aud_printf("audio_ssp first trigger test end!\n"); + 83f43762: 0000d517 auipc a0,0xd + 83f43766: a3e50513 addi a0,a0,-1474 # 83f501a0 <__rodata_start+0x60> + 83f4376a: 02b080ef jal ra,83f4bf94 + unit_test_triggered = 1; + 83f4376e: 0001c797 auipc a5,0x1c + 83f43772: 46a78793 addi a5,a5,1130 # 83f5fbd8 + 83f43776: 4705 li a4,1 + 83f43778: c398 sw a4,0(a5) + 83f4377a: a011 j 83f4377e + return; + 83f4377c: 0001 nop + } +} + 83f4377e: 60a2 ld ra,8(sp) + 83f43780: 6402 ld s0,0(sp) + 83f43782: 0141 addi sp,sp,16 + 83f43784: 8082 ret + +0000000083f43786 : + } + return (ret&check_val); + +} +void prvAudioRunTask(void *pvParameters) +{ + 83f43786: 716d addi sp,sp,-272 + 83f43788: e606 sd ra,264(sp) + 83f4378a: e226 sd s1,256(sp) + 83f4378c: f9ce sd s3,240(sp) + 83f4378e: f1d6 sd s5,224(sp) + 83f43790: edda sd s6,216(sp) + 83f43792: e9de sd s7,208(sp) + 83f43794: e5e2 sd s8,200(sp) + 83f43796: fdca sd s2,248(sp) + 83f43798: f5d2 sd s4,232(sp) + 83f4379a: e1e6 sd s9,192(sp) + 83f4379c: fd6a sd s10,184(sp) + 83f4379e: f96e sd s11,176(sp) + TickType_t xTimer3AProcEnd; + static int frame_count; + static int total_diff; + #endif + + cvi_audio_init_test(); + 83f437a0: f91ff0ef jal ra,83f43730 + printf("pAudioRunTask run Version:20220519\n"); + 83f437a4: 0000d517 auipc a0,0xd + 83f437a8: a2450513 addi a0,a0,-1500 # 83f501c8 <__rodata_start+0x88> + 83f437ac: 7e8080ef jal ra,83f4bf94 + + xQueueAudioCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + 83f437b0: 4515 li a0,5 + 83f437b2: b3fff0ef jal ra,83f432f0 + 83f437b6: 87aa mv a5,a0 + 83f437b8: 0001cc17 auipc s8,0x1c + 83f437bc: 460c0c13 addi s8,s8,1120 # 83f5fc18 + xQueueAudio = main_GetMODHandle(E_QUEUE_AUDIO); + 83f437c0: 4519 li a0,6 + xQueueAudioCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + 83f437c2: 00fc3023 sd a5,0(s8) + xQueueAudio = main_GetMODHandle(E_QUEUE_AUDIO); + 83f437c6: b2bff0ef jal ra,83f432f0 + unsigned int prev_msg_counter = -1;//counter to check the package from cviaudio_core.ko to rtos + 83f437ca: 57fd li a5,-1 + 83f437cc: ec3e sd a5,24(sp) + if (pindicator->chunks_number >= 5) + vTaskDelay(pdMS_TO_TICKS(10)); + else if (pindicator->chunks_number >= 3) + vTaskDelay(pdMS_TO_TICKS(5)); + else + usleep(3000); + 83f437ce: 6785 lui a5,0x1 + xQueueAudio = main_GetMODHandle(E_QUEUE_AUDIO); + 83f437d0: 0001ca97 auipc s5,0x1c + 83f437d4: 440a8a93 addi s5,s5,1088 # 83f5fc10 + usleep(3000); + 83f437d8: bb878793 addi a5,a5,-1096 # bb8 <_EL1_STACK_SIZE+0x3b8> + xQueueAudio = main_GetMODHandle(E_QUEUE_AUDIO); + 83f437dc: 00aab023 sd a0,0(s5) + 83f437e0: 0001c497 auipc s1,0x1c + 83f437e4: 41848493 addi s1,s1,1048 # 83f5fbf8 + 83f437e8: 0001cb97 auipc s7,0x1c + 83f437ec: 408b8b93 addi s7,s7,1032 # 83f5fbf0 + if (rtos_cmdq.ip_id != IP_AUDIO) { + 83f437f0: 4b15 li s6,5 + else if (pindicator->chunks_number >= 3) + 83f437f2: 4989 li s3,2 + usleep(3000); + 83f437f4: f43e sd a5,40(sp) + 83f437f6: a089 j 83f43838 + aud_error("invalid ip_id[%d] into AudioRunTask\n", rtos_cmdq.ip_id); + 83f437f8: 0b400613 li a2,180 + 83f437fc: 0000d597 auipc a1,0xd + 83f43800: 7c458593 addi a1,a1,1988 # 83f50fc0 <__func__.1> + 83f43804: 0000d517 auipc a0,0xd + 83f43808: 9ec50513 addi a0,a0,-1556 # 83f501f0 <__rodata_start+0xb0> + 83f4380c: 788080ef jal ra,83f4bf94 + //printf("CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK---success[0x%x][0x%x][0x%x]\n", pvincent[0], pvincent[1], pvincent[2]); + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + clean_dcache_range((uintptr_t)pstBlockFrm->mic_in_addr, 1280); + clean_dcache_range((uintptr_t)pstBlockFrm->output_addr, 1280); + clean_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43810: 000c3503 ld a0,0(s8) + 83f43814: 4681 li a3,0 + 83f43816: 4601 li a2,0 + 83f43818: 180c addi a1,sp,48 + 83f4381a: 22c0b0ef jal ra,83f4ea46 + p_cmdqu->ip_id = -1; + 83f4381e: 03015783 lhu a5,48(sp) + 83f43822: 7761 lui a4,0xffff8 + xQueueReceive(xQueueAudio, &rtos_cmdq, portMAX_DELAY); + 83f43824: 000ab503 ld a0,0(s5) + p_cmdqu->ip_id = -1; + 83f43828: 8ff9 and a5,a5,a4 + 83f4382a: 6721 lui a4,0x8 + 83f4382c: 177d addi a4,a4,-1 + 83f4382e: 8fd9 or a5,a5,a4 + 83f43830: 02f11823 sh a5,48(sp) + p_cmdqu->param_ptr = -1; + 83f43834: 57fd li a5,-1 + 83f43836: da3e sw a5,52(sp) + xQueueReceive(xQueueAudio, &rtos_cmdq, portMAX_DELAY); + 83f43838: 567d li a2,-1 + 83f4383a: 180c addi a1,sp,48 + 83f4383c: 40a0b0ef jal ra,83f4ec46 + if (rtos_cmdq.ip_id != IP_AUDIO) { + 83f43840: 03014683 lbu a3,48(sp) + 83f43844: fb669ae3 bne a3,s6,83f437f8 + switch (rtos_cmdq.cmd_id) { + 83f43848: 76c2 ld a3,48(sp) + 83f4384a: 47b5 li a5,13 + 83f4384c: 82a1 srli a3,a3,0x8 + 83f4384e: 07f6f693 andi a3,a3,127 + 83f43852: 40d7ee63 bltu a5,a3,83f43c6e + 83f43856: 0000d717 auipc a4,0xd + 83f4385a: 70a70713 addi a4,a4,1802 # 83f50f60 <__func__.4+0x190> + 83f4385e: 00269793 slli a5,a3,0x2 + 83f43862: 97ba add a5,a5,a4 + 83f43864: 439c lw a5,0(a5) + 83f43866: 97ba add a5,a5,a4 + 83f43868: 8782 jr a5 + (ST_CVIAUDIO_MAILBOX_BLOCK *)rtos_cmdq.param_ptr; + 83f4386a: 03416903 lwu s2,52(sp) + inv_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + 83f4386e: 45c1 li a1,16 + 83f43870: 854a mv a0,s2 + 83f43872: 69e080ef jal ra,83f4bf10 + if (pstAudBlockMailBox->u64RevMask != CVIAUDIO_RTOS_MAGIC_WORD_USERSPACE_BLOCK_MODE) { + 83f43876: 00093683 ld a3,0(s2) + 83f4387a: 0bb00793 li a5,187 + 83f4387e: 50f68463 beq a3,a5,83f43d86 + aud_error("[CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK]magic word mismatch[0x%lx]\n", + 83f43882: 0000d597 auipc a1,0xd + 83f43886: 73e58593 addi a1,a1,1854 # 83f50fc0 <__func__.1> + 83f4388a: 21d00613 li a2,541 + 83f4388e: 0000d517 auipc a0,0xd + 83f43892: db250513 addi a0,a0,-590 # 83f50640 <__rodata_start+0x500> + 83f43896: 6fe080ef jal ra,83f4bf94 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f4389a: 0fa00793 li a5,250 + clean_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + 83f4389e: 854a mv a0,s2 + 83f438a0: 45c1 li a1,16 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f438a2: da3e sw a5,52(sp) + clean_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + 83f438a4: 690080ef jal ra,83f4bf34 + 83f438a8: b7a5 j 83f43810 + inv_dcache_range((uintptr_t)output_addr, 320); + 83f438aa: 03416503 lwu a0,52(sp) + 83f438ae: 14000593 li a1,320 + 83f438b2: 65e080ef jal ra,83f4bf10 + if (ret == 0) { + 83f438b6: b7a5 j 83f4381e + if (!paudio_ssp_block) { + 83f438b8: 0001c797 auipc a5,0x1c + 83f438bc: 32878793 addi a5,a5,808 # 83f5fbe0 + 83f438c0: 639c ld a5,0(a5) + 83f438c2: 66078063 beqz a5,83f43f22 + ST_CVIAUDIO_BLOCK_FRAME *pstBlockFrm = (ST_CVIAUDIO_BLOCK_FRAME *)rtos_cmdq.param_ptr; + 83f438c6: 03416903 lwu s2,52(sp) + inv_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + 83f438ca: 02000593 li a1,32 + 83f438ce: 854a mv a0,s2 + 83f438d0: 640080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)pstBlockFrm->mic_in_addr, 1280); + 83f438d4: 00893503 ld a0,8(s2) + 83f438d8: 50000593 li a1,1280 + 83f438dc: 634080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)pstBlockFrm->output_addr, 1280); + 83f438e0: 01893503 ld a0,24(s2) + 83f438e4: 50000593 li a1,1280 + 83f438e8: 628080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + 83f438ec: 01093503 ld a0,16(s2) + 83f438f0: 50000593 li a1,1280 + 83f438f4: 61c080ef jal ra,83f4bf10 + if (pstBlockFrm->u64RevMask != CVIAUDIO_RTOS_MAGIC_WORD_USERSPACE_BLOCK_MODE) { + 83f438f8: 00093683 ld a3,0(s2) + 83f438fc: 0bb00793 li a5,187 + 83f43900: 64f68963 beq a3,a5,83f43f52 + aud_error("[CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK]magic word mismatch[0x%lx]\n", + 83f43904: 0000d597 auipc a1,0xd + 83f43908: 6bc58593 addi a1,a1,1724 # 83f50fc0 <__func__.1> + 83f4390c: 27700613 li a2,631 + 83f43910: 0000d517 auipc a0,0xd + 83f43914: fd050513 addi a0,a0,-48 # 83f508e0 <__rodata_start+0x7a0> + 83f43918: 67c080ef jal ra,83f4bf94 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f4391c: 0fa00793 li a5,250 + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + 83f43920: 854a mv a0,s2 + 83f43922: 02000593 li a1,32 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43926: da3e sw a5,52(sp) + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + 83f43928: bfb5 j 83f438a4 + ST_SSP_RTOS_INIT *pSspRtosCfg = rtos_cmdq.param_ptr; + 83f4392a: 03416783 lwu a5,52(sp) + pstSspBufTbl = &pSspRtosCfg->buffertbl[0]; + 83f4392e: 00878713 addi a4,a5,8 + 83f43932: e098 sd a4,0(s1) + pSpkSspRtosData_Ret = (ST_SSP_RTOS_SPK_DATA_RET *)pSspRtosCfg->CbPhyAddr; + 83f43934: 0047e783 lwu a5,4(a5) + 83f43938: f03e sd a5,32(sp) + aud_debug("[Rtos][Rtos_space]xxxpSspRtosCfg[0x%p]\n", pSspRtosCfg); + 83f4393a: b5d5 j 83f4381e + if (paudio_ssp_handle == NULL || pstSspBufTbl == NULL) { + 83f4393c: 0001c797 auipc a5,0x1c + 83f43940: 2ac78793 addi a5,a5,684 # 83f5fbe8 + 83f43944: 639c ld a5,0(a5) + 83f43946: c399 beqz a5,83f4394c + 83f43948: 609c ld a5,0(s1) + 83f4394a: ef8d bnez a5,83f43984 + aud_error("Error cannot process with NULL handle[%s][%d]\n", __func__, __LINE__); + 83f4394c: 0000d697 auipc a3,0xd + 83f43950: 67468693 addi a3,a3,1652 # 83f50fc0 <__func__.1> + 83f43954: 10500713 li a4,261 + 83f43958: 10500613 li a2,261 + 83f4395c: 85b6 mv a1,a3 + 83f4395e: 0000d517 auipc a0,0xd + 83f43962: 9da50513 addi a0,a0,-1574 # 83f50338 <__rodata_start+0x1f8> + 83f43966: 62e080ef jal ra,83f4bf94 + break; + 83f4396a: bd55 j 83f4381e + if (bCheck_input_full) { + 83f4396c: 14091363 bnez s2,83f43ab2 + } while ((ret_val > 0) && ssp_running); + 83f43970: ea0807e3 beqz a6,83f4381e + 83f43974: 0001c797 auipc a5,0x1c + 83f43978: 29478793 addi a5,a5,660 # 83f5fc08 + 83f4397c: 0007c783 lbu a5,0(a5) + 83f43980: e8078fe3 beqz a5,83f4381e + ret_val = _audio_task_check_ssp_proc_data_valid(pindicator); + 83f43984: 000bb903 ld s2,0(s7) + if (!pIndicator) { + 83f43988: 34090c63 beqz s2,83f43ce0 + if (pIndicator->channel_nums > 2 || pIndicator->channel_nums < 1) { + 83f4398c: 00494683 lbu a3,4(s2) + 83f43990: 4705 li a4,1 + unsigned char check_val = 1; + 83f43992: 4805 li a6,1 + if (pIndicator->channel_nums > 2 || pIndicator->channel_nums < 1) { + 83f43994: fff6879b addiw a5,a3,-1 + 83f43998: 0ff7f793 andi a5,a5,255 + 83f4399c: 00f77f63 bgeu a4,a5,83f439ba + aud_error("[error][rtos][audio_task]channel numbers[%d] invalid\n", + 83f439a0: 07900613 li a2,121 + 83f439a4: 0000d597 auipc a1,0xd + 83f439a8: 5f458593 addi a1,a1,1524 # 83f50f98 <__func__.0> + 83f439ac: 0000d517 auipc a0,0xd + 83f439b0: a3450513 addi a0,a0,-1484 # 83f503e0 <__rodata_start+0x2a0> + 83f439b4: 5e0080ef jal ra,83f4bf94 + check_val = 0; + 83f439b8: 4801 li a6,0 + if (pIndicator->chunks_number <= 0 || + 83f439ba: 00094683 lbu a3,0(s2) + 83f439be: 4761 li a4,24 + 83f439c0: fff6879b addiw a5,a3,-1 + 83f439c4: 0ff7f793 andi a5,a5,255 + 83f439c8: 26f76e63 bltu a4,a5,83f43c44 + if (pIndicator->Wpt_index > CVIAUDIO_SSP_CHUNK_NUMBERS) { + 83f439cc: 00194683 lbu a3,1(s2) + 83f439d0: 47e5 li a5,25 + 83f439d2: 20d7ed63 bltu a5,a3,83f43bec + if (!pIndicator->ssp_on) { + 83f439d6: 00594783 lbu a5,5(s2) + 83f439da: 22078863 beqz a5,83f43c0a + if (!ret_val) { + 83f439de: 24080363 beqz a6,83f43c24 + if ((pindicator->msg_counter == prev_msg_counter)) { + 83f439e2: 000bb503 ld a0,0(s7) + 83f439e6: 6762 ld a4,24(sp) + 83f439e8: 455c lw a5,12(a0) + 83f439ea: 28f70f63 beq a4,a5,83f43c88 + target_pkt_cnt = pindicator->chunks_number; + 83f439ee: 00054a03 lbu s4,0(a0) + cur_pt = pindicator->Ppt_index; + 83f439f2: 00354d03 lbu s10,3(a0) + while (proc_pkt_cnt < target_pkt_cnt) { + 83f439f6: 5a0a0c63 beqz s4,83f43fae + if (pstSspBufTbl[cur_pt].bBufOccupy != CVIAUDIO_BUF_TBL_INPUT) { + 83f439fa: 608c ld a1,0(s1) + cur_pt = pindicator->Ppt_index; + 83f439fc: 876a mv a4,s10 + proc_pkt_cnt = 0; + 83f439fe: 4601 li a2,0 + if (pstSspBufTbl[cur_pt].bBufOccupy != CVIAUDIO_BUF_TBL_INPUT) { + 83f43a00: 00571693 slli a3,a4,0x5 + 83f43a04: 96ae add a3,a3,a1 + 83f43a06: 0006c903 lbu s2,0(a3) + 83f43a0a: 4785 li a5,1 + 83f43a0c: 1af91c63 bne s2,a5,83f43bc4 + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + 83f43a10: 2705 addiw a4,a4,1 + 83f43a12: 47e5 li a5,25 + 83f43a14: 02f7673b remw a4,a4,a5 + proc_pkt_cnt += 1; + 83f43a18: 2605 addiw a2,a2,1 + 83f43a1a: 0ff67613 andi a2,a2,255 + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + 83f43a1e: 0ff77713 andi a4,a4,255 + while (proc_pkt_cnt < target_pkt_cnt) { + 83f43a22: fcca1fe3 bne s4,a2,83f43a00 + chn_num = pindicator->channel_nums; + 83f43a26: 00454783 lbu a5,4(a0) + proc_pkt_cnt = 0; + 83f43a2a: 4d81 li s11,0 + chn_num = pindicator->channel_nums; + 83f43a2c: e43e sd a5,8(sp) + while ((proc_pkt_cnt != target_pkt_cnt) && (bCheck_input_full)) { + 83f43a2e: f34d8fe3 beq s11,s4,83f4396c + 83f43a32: f2090fe3 beqz s2,83f43970 + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + 83f43a36: 0001c797 auipc a5,0x1c + 83f43a3a: 1b278793 addi a5,a5,434 # 83f5fbe8 + pstSspBufTbl[cur_pt].mic_in_addr, + 83f43a3e: 6098 ld a4,0(s1) + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + 83f43a40: 6388 ld a0,0(a5) + if (chn_num == 2 || pindicator->ssp_with_aec) { + 83f43a42: 67a2 ld a5,8(sp) + pstSspBufTbl[cur_pt].mic_in_addr, + 83f43a44: 005d1c93 slli s9,s10,0x5 + 83f43a48: 9766 add a4,a4,s9 + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + 83f43a4a: 670c ld a1,8(a4) + 83f43a4c: 6f14 ld a3,24(a4) + if (chn_num == 2 || pindicator->ssp_with_aec) { + 83f43a4e: 01378863 beq a5,s3,83f43a5e + 83f43a52: 000bb603 ld a2,0(s7) + 83f43a56: 00664603 lbu a2,6(a2) + 83f43a5a: 14060d63 beqz a2,83f43bb4 + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + 83f43a5e: 6b10 ld a2,16(a4) + 83f43a60: 0a000713 li a4,160 + 83f43a64: 63c000ef jal ra,83f440a0 + 83f43a68: 0ff57813 andi a6,a0,255 + if (ret_val <= 0) + 83f43a6c: 12080563 beqz a6,83f43b96 + pstSspBufTbl[cur_pt].bBufOccupy = CVIAUDIO_BUF_TBL_AFTER_SSP; + 83f43a70: 6098 ld a4,0(s1) + 83f43a72: 9766 add a4,a4,s9 + 83f43a74: 01370023 sb s3,0(a4) + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + 83f43a78: 001d079b addiw a5,s10,1 + 83f43a7c: 4765 li a4,25 + 83f43a7e: 02e7e7bb remw a5,a5,a4 + proc_pkt_cnt += 1; + 83f43a82: 001d889b addiw a7,s11,1 + 83f43a86: 0ff8fd93 andi s11,a7,255 + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + 83f43a8a: 0ff7fd13 andi s10,a5,255 + if (proc_pkt_cnt > (CVIAUDIO_SSP_CHUNK_NUMBERS + 1)) { + 83f43a8e: 47ed li a5,27 + 83f43a90: f8fd9fe3 bne s11,a5,83f43a2e + aud_error("[audio_task]proc_pkt_cnt abnormal..[%d]\n", + 83f43a94: 46ed li a3,27 + 83f43a96: 14f00613 li a2,335 + 83f43a9a: 0000d597 auipc a1,0xd + 83f43a9e: 52658593 addi a1,a1,1318 # 83f50fc0 <__func__.1> + 83f43aa2: 0000d517 auipc a0,0xd + 83f43aa6: b5650513 addi a0,a0,-1194 # 83f505f8 <__rodata_start+0x4b8> + 83f43aaa: e442 sd a6,8(sp) + 83f43aac: 4e8080ef jal ra,83f4bf94 + if (bCheck_input_full) { + 83f43ab0: 6822 ld a6,8(sp) + pindicator->Ppt_index = cur_pt; + 83f43ab2: 000bb703 ld a4,0(s7) + clean_dcache_range((uintptr_t)pindicator, + 83f43ab6: 45c1 li a1,16 + 83f43ab8: e442 sd a6,8(sp) + pindicator->Ppt_index = cur_pt; + 83f43aba: 01a701a3 sb s10,3(a4) + prev_msg_counter = pindicator->msg_counter; + 83f43abe: 000bb503 ld a0,0(s7) + 83f43ac2: 455c lw a5,12(a0) + 83f43ac4: ec3e sd a5,24(sp) + pindicator->msg_counter += 1; + 83f43ac6: 2785 addiw a5,a5,1 + 83f43ac8: c55c sw a5,12(a0) + clean_dcache_range((uintptr_t)pindicator, + 83f43aca: 46a080ef jal ra,83f4bf34 + clean_dcache_range((uintptr_t)pstSspBufTbl, + 83f43ace: 6088 ld a0,0(s1) + 83f43ad0: 32000593 li a1,800 + 83f43ad4: 460080ef jal ra,83f4bf34 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43ad8: 000c3503 ld a0,0(s8) + 83f43adc: 4681 li a3,0 + 83f43ade: 4601 li a2,0 + 83f43ae0: 180c addi a1,sp,48 + 83f43ae2: 7650a0ef jal ra,83f4ea46 + 83f43ae6: 6822 ld a6,8(sp) + 83f43ae8: b561 j 83f43970 + if (paudio_ssp_handle == NULL) { + 83f43aea: 0001c797 auipc a5,0x1c + 83f43aee: 0fe78793 addi a5,a5,254 # 83f5fbe8 + 83f43af2: 6388 ld a0,0(a5) + 83f43af4: 3e050d63 beqz a0,83f43eee + CviAud_Algo_DeInit(paudio_ssp_handle); + 83f43af8: 614000ef jal ra,83f4410c + paudio_ssp_handle = NULL; + 83f43afc: 0001c797 auipc a5,0x1c + 83f43b00: 0e07b623 sd zero,236(a5) # 83f5fbe8 + rtos_cmdq.ip_id = IP_AUDIO; + 83f43b04: 03015783 lhu a5,48(sp) + 83f43b08: 7761 lui a4,0xffff8 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43b0a: 000c3503 ld a0,0(s8) + rtos_cmdq.ip_id = IP_AUDIO; + 83f43b0e: 8ff9 and a5,a5,a4 + 83f43b10: 2057e793 ori a5,a5,517 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43b14: 4681 li a3,0 + 83f43b16: 4601 li a2,0 + 83f43b18: 180c addi a1,sp,48 + rtos_cmdq.ip_id = IP_AUDIO; + 83f43b1a: 02f11823 sh a5,48(sp) + ssp_running = 0; + 83f43b1e: 0001c797 auipc a5,0x1c + 83f43b22: 0e078523 sb zero,234(a5) # 83f5fc08 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43b26: 7210a0ef jal ra,83f4ea46 + break; + 83f43b2a: b9d5 j 83f4381e + rtos_cmdq.param_ptr = pSpkSspRtosData_Ret; + 83f43b2c: 7782 ld a5,32(sp) + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43b2e: 000c3503 ld a0,0(s8) + 83f43b32: 4681 li a3,0 + 83f43b34: 4601 li a2,0 + 83f43b36: 180c addi a1,sp,48 + rtos_cmdq.param_ptr = pSpkSspRtosData_Ret; + 83f43b38: da3e sw a5,52(sp) + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43b3a: 70d0a0ef jal ra,83f4ea46 + break; + 83f43b3e: b1c5 j 83f4381e + if (paudio_ssp_block) { + 83f43b40: 0001c797 auipc a5,0x1c + 83f43b44: 0a078793 addi a5,a5,160 # 83f5fbe0 + 83f43b48: 6388 ld a0,0(a5) + 83f43b4a: 3a050f63 beqz a0,83f43f08 + CviAud_Algo_DeInit(paudio_ssp_block); + 83f43b4e: 5be000ef jal ra,83f4410c + paudio_ssp_block = NULL; + 83f43b52: 0001c797 auipc a5,0x1c + 83f43b56: 0807b723 sd zero,142(a5) # 83f5fbe0 + 83f43b5a: b95d j 83f43810 + ST_CVIAUDIO_MAILBOX *gpstCviaudioMailBox= (ST_CVIAUDIO_MAILBOX *)rtos_cmdq.param_ptr; + 83f43b5c: 03416903 lwu s2,52(sp) + inv_dcache_range((uintptr_t)gpstCviaudioMailBox, sizeof(ST_CVIAUDIO_MAILBOX)); + 83f43b60: 02000593 li a1,32 + 83f43b64: 854a mv a0,s2 + 83f43b66: 3aa080ef jal ra,83f4bf10 + if (gpstCviaudioMailBox->u64RevMask == CVIAUDIO_RTOS_MAGIC_WORD_KERNEL_BIND_MODE) { + 83f43b6a: 00093703 ld a4,0(s2) + 83f43b6e: 09900793 li a5,153 + 83f43b72: 18f70463 beq a4,a5,83f43cfa + aud_error("[SSP]ERROR [%s][%d]...force break\n", __func__, __LINE__); + 83f43b76: 0000d697 auipc a3,0xd + 83f43b7a: 44a68693 addi a3,a3,1098 # 83f50fc0 <__func__.1> + 83f43b7e: 0d900713 li a4,217 + 83f43b82: 0d900613 li a2,217 + 83f43b86: 85b6 mv a1,a3 + 83f43b88: 0000c517 auipc a0,0xc + 83f43b8c: 6b050513 addi a0,a0,1712 # 83f50238 <__rodata_start+0xf8> + 83f43b90: 404080ef jal ra,83f4bf94 + break; + 83f43b94: b169 j 83f4381e + aud_error("[audio_task]CviAudio_Algo_Process error!!!\n"); + 83f43b96: 14900613 li a2,329 + 83f43b9a: 0000d597 auipc a1,0xd + 83f43b9e: 42658593 addi a1,a1,1062 # 83f50fc0 <__func__.1> + 83f43ba2: 0000d517 auipc a0,0xd + 83f43ba6: a0e50513 addi a0,a0,-1522 # 83f505b0 <__rodata_start+0x470> + 83f43baa: e842 sd a6,16(sp) + 83f43bac: 3e8080ef jal ra,83f4bf94 + 83f43bb0: 6842 ld a6,16(sp) + 83f43bb2: b5d9 j 83f43a78 + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + 83f43bb4: 0a000713 li a4,160 + 83f43bb8: 4601 li a2,0 + 83f43bba: 4e6000ef jal ra,83f440a0 + 83f43bbe: 0ff57813 andi a6,a0,255 + 83f43bc2: b56d j 83f43a6c + inv_dcache_range((uintptr_t)pindicator, sizeof(ST_SSP_RTOS_INDICATOR)); + 83f43bc4: 45c1 li a1,16 + 83f43bc6: e442 sd a6,8(sp) + 83f43bc8: 348080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)pstSspBufTbl, + 83f43bcc: 6088 ld a0,0(s1) + 83f43bce: 32000593 li a1,800 + bCheck_input_full = 0; + 83f43bd2: 4901 li s2,0 + inv_dcache_range((uintptr_t)pstSspBufTbl, + 83f43bd4: 33c080ef jal ra,83f4bf10 + cur_pt = pindicator->Ppt_index; + 83f43bd8: 000bb503 ld a0,0(s7) + break; + 83f43bdc: 6822 ld a6,8(sp) + proc_pkt_cnt = 0; + 83f43bde: 4d81 li s11,0 + chn_num = pindicator->channel_nums; + 83f43be0: 00454783 lbu a5,4(a0) + cur_pt = pindicator->Ppt_index; + 83f43be4: 00354d03 lbu s10,3(a0) + chn_num = pindicator->channel_nums; + 83f43be8: e43e sd a5,8(sp) + while ((proc_pkt_cnt != target_pkt_cnt) && (bCheck_input_full)) { + 83f43bea: b591 j 83f43a2e + aud_error("[error][rtos][audio_task]wpt_index invalid range[%d]\n", + 83f43bec: 08600613 li a2,134 + 83f43bf0: 0000d597 auipc a1,0xd + 83f43bf4: 3a858593 addi a1,a1,936 # 83f50f98 <__func__.0> + 83f43bf8: 0000d517 auipc a0,0xd + 83f43bfc: 8e050513 addi a0,a0,-1824 # 83f504d8 <__rodata_start+0x398> + 83f43c00: 394080ef jal ra,83f4bf94 + if (!pIndicator->ssp_on) { + 83f43c04: 00594783 lbu a5,5(s2) + 83f43c08: ef91 bnez a5,83f43c24 + aud_error("[error][rtos][audio_task]ssp_on invalid[%d]\n", + 83f43c0a: 4681 li a3,0 + 83f43c0c: 08c00613 li a2,140 + 83f43c10: 0000d597 auipc a1,0xd + 83f43c14: 38858593 addi a1,a1,904 # 83f50f98 <__func__.0> + 83f43c18: 0000d517 auipc a0,0xd + 83f43c1c: 87050513 addi a0,a0,-1936 # 83f50488 <__rodata_start+0x348> + 83f43c20: 374080ef jal ra,83f4bf94 + aud_error("Error[%s][%d]..force break!!\n", __func__, __LINE__); + 83f43c24: 0000d697 auipc a3,0xd + 83f43c28: 39c68693 addi a3,a3,924 # 83f50fc0 <__func__.1> + 83f43c2c: 10c00713 li a4,268 + 83f43c30: 10c00613 li a2,268 + 83f43c34: 85b6 mv a1,a3 + 83f43c36: 0000d517 auipc a0,0xd + 83f43c3a: 8fa50513 addi a0,a0,-1798 # 83f50530 <__rodata_start+0x3f0> + 83f43c3e: 356080ef jal ra,83f4bf94 + break; + 83f43c42: bef1 j 83f4381e + aud_error("[error][rtos][audio_task]invalid chunks_number[%d]\n", + 83f43c44: 08000613 li a2,128 + 83f43c48: 0000d597 auipc a1,0xd + 83f43c4c: 35058593 addi a1,a1,848 # 83f50f98 <__func__.0> + 83f43c50: 0000c517 auipc a0,0xc + 83f43c54: 7e850513 addi a0,a0,2024 # 83f50438 <__rodata_start+0x2f8> + 83f43c58: 33c080ef jal ra,83f4bf94 + if (pIndicator->Wpt_index > CVIAUDIO_SSP_CHUNK_NUMBERS) { + 83f43c5c: 00194683 lbu a3,1(s2) + 83f43c60: 47e5 li a5,25 + 83f43c62: f8d7e5e3 bltu a5,a3,83f43bec + if (!pIndicator->ssp_on) { + 83f43c66: 00594783 lbu a5,5(s2) + 83f43c6a: ffcd bnez a5,83f43c24 + 83f43c6c: bf79 j 83f43c0a + aud_info("[RTOS]Leaving\n"); + } + break; + default: + aud_error("[error][rtos][audio_task]unrecognized cmd error[%d]\n", rtos_cmdq.cmd_id); + 83f43c6e: 2a500613 li a2,677 + 83f43c72: 0000d597 auipc a1,0xd + 83f43c76: 34e58593 addi a1,a1,846 # 83f50fc0 <__func__.1> + 83f43c7a: 0000d517 auipc a0,0xd + 83f43c7e: d0650513 addi a0,a0,-762 # 83f50980 <__rodata_start+0x840> + 83f43c82: 312080ef jal ra,83f4bf94 + break; + 83f43c86: be61 j 83f4381e + aud_error("[audio_task] counter same[%d][%d]\n", + 83f43c88: 86ba mv a3,a4 + 83f43c8a: 11200613 li a2,274 + 83f43c8e: 0000d597 auipc a1,0xd + 83f43c92: 33258593 addi a1,a1,818 # 83f50fc0 <__func__.1> + 83f43c96: 0000d517 auipc a0,0xd + 83f43c9a: 8da50513 addi a0,a0,-1830 # 83f50570 <__rodata_start+0x430> + 83f43c9e: e442 sd a6,8(sp) + 83f43ca0: 2f4080ef jal ra,83f4bf94 + inv_dcache_range((uintptr_t)pindicator, sizeof(ST_SSP_RTOS_INDICATOR)); + 83f43ca4: 000bb503 ld a0,0(s7) + 83f43ca8: 45c1 li a1,16 + 83f43caa: 266080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)pstSspBufTbl, + 83f43cae: 6088 ld a0,0(s1) + 83f43cb0: 32000593 li a1,800 + 83f43cb4: 25c080ef jal ra,83f4bf10 + if (pindicator) { + 83f43cb8: 000bb503 ld a0,0(s7) + 83f43cbc: 6822 ld a6,8(sp) + 83f43cbe: d20508e3 beqz a0,83f439ee + if (pindicator->chunks_number >= 5) + 83f43cc2: 00054783 lbu a5,0(a0) + 83f43cc6: 4711 li a4,4 + 83f43cc8: 2ef76563 bltu a4,a5,83f43fb2 + else if (pindicator->chunks_number >= 3) + 83f43ccc: e442 sd a6,8(sp) + 83f43cce: 2cf9f963 bgeu s3,a5,83f43fa0 + vTaskDelay(pdMS_TO_TICKS(5)); + 83f43cd2: 4505 li a0,1 + 83f43cd4: 6b70b0ef jal ra,83f4fb8a + target_pkt_cnt = pindicator->chunks_number; + 83f43cd8: 000bb503 ld a0,0(s7) + 83f43cdc: 6822 ld a6,8(sp) + 83f43cde: bb01 j 83f439ee + aud_error("[error][rtos][audio_task]Null pt detect in proc data...\n"); + 83f43ce0: 07300613 li a2,115 + 83f43ce4: 0000d597 auipc a1,0xd + 83f43ce8: 2b458593 addi a1,a1,692 # 83f50f98 <__func__.0> + 83f43cec: 0000c517 auipc a0,0xc + 83f43cf0: 69c50513 addi a0,a0,1692 # 83f50388 <__rodata_start+0x248> + 83f43cf4: 2a0080ef jal ra,83f4bf94 + if (!ret_val) { + 83f43cf8: b735 j 83f43c24 + pindicator = (ST_SSP_RTOS_INDICATOR *)gpstCviaudioMailBox->indicatorPhy; + 83f43cfa: 01893783 ld a5,24(s2) + pstSspBufTbl = (ST_SSP_BUFTBL *)gpstCviaudioMailBox->buffertblPhy; + 83f43cfe: 01093703 ld a4,16(s2) + pstVqeConfig = (AI_TALKVQE_CONFIG_S *)gpstCviaudioMailBox->AinVqeCfgPhy; + 83f43d02: 00893503 ld a0,8(s2) + 83f43d06: 0001c697 auipc a3,0x1c + 83f43d0a: efa68693 addi a3,a3,-262 # 83f5fc00 + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->AinVqeCfgPhy, + 83f43d0e: 07800593 li a1,120 + pstVqeConfig = (AI_TALKVQE_CONFIG_S *)gpstCviaudioMailBox->AinVqeCfgPhy; + 83f43d12: e288 sd a0,0(a3) + pindicator = (ST_SSP_RTOS_INDICATOR *)gpstCviaudioMailBox->indicatorPhy; + 83f43d14: 00fbb023 sd a5,0(s7) + pstSspBufTbl = (ST_SSP_BUFTBL *)gpstCviaudioMailBox->buffertblPhy; + 83f43d18: e098 sd a4,0(s1) + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->AinVqeCfgPhy, + 83f43d1a: 1f6080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->buffertblPhy, + 83f43d1e: 01093503 ld a0,16(s2) + 83f43d22: 02000593 li a1,32 + 83f43d26: 1ea080ef jal ra,83f4bf10 + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->indicatorPhy, + 83f43d2a: 01893503 ld a0,24(s2) + 83f43d2e: 45c1 li a1,16 + 83f43d30: 1e0080ef jal ra,83f4bf10 + if (paudio_ssp_handle != NULL) { + 83f43d34: 0001c797 auipc a5,0x1c + 83f43d38: eb478793 addi a5,a5,-332 # 83f5fbe8 + 83f43d3c: 639c ld a5,0(a5) + 83f43d3e: cf89 beqz a5,83f43d58 + aud_error("Warning ssp audio handle is not NULL\n"); + 83f43d40: 0e700613 li a2,231 + 83f43d44: 0000d597 auipc a1,0xd + 83f43d48: 27c58593 addi a1,a1,636 # 83f50fc0 <__func__.1> + 83f43d4c: 0000c517 auipc a0,0xc + 83f43d50: 52c50513 addi a0,a0,1324 # 83f50278 <__rodata_start+0x138> + 83f43d54: 240080ef jal ra,83f4bf94 + paudio_ssp_handle = CviAud_Algo_Init(pstVqeConfig->u32OpenMask, pstVqeConfig); + 83f43d58: 0001c797 auipc a5,0x1c + 83f43d5c: ea878793 addi a5,a5,-344 # 83f5fc00 + 83f43d60: 638c ld a1,0(a5) + 83f43d62: 41c8 lw a0,4(a1) + 83f43d64: 298000ef jal ra,83f43ffc + 83f43d68: 0001c797 auipc a5,0x1c + 83f43d6c: e8078793 addi a5,a5,-384 # 83f5fbe8 + 83f43d70: e388 sd a0,0(a5) + if (paudio_ssp_handle == NULL) { + 83f43d72: 26050763 beqz a0,83f43fe0 + ssp_running = 1; + 83f43d76: 4785 li a5,1 + 83f43d78: 0001c717 auipc a4,0x1c + 83f43d7c: e9070713 addi a4,a4,-368 # 83f5fc08 + 83f43d80: 00f70023 sb a5,0(a4) + 83f43d84: b471 j 83f43810 + _pstVqeConfig = (AI_TALKVQE_CONFIG_S_RTOS *)pstAudBlockMailBox->AinVqeCfgPhy; + 83f43d86: 00893a03 ld s4,8(s2) + inv_dcache_range((uintptr_t)_pstVqeConfig, sizeof(AI_TALKVQE_CONFIG_S_RTOS)); + 83f43d8a: 02000593 li a1,32 + 83f43d8e: 8552 mv a0,s4 + 83f43d90: 180080ef jal ra,83f4bf10 + printf("SSP_INIT dump-----------------------------------------------------\n"); + 83f43d94: 0000d517 auipc a0,0xd + 83f43d98: 90c50513 addi a0,a0,-1780 # 83f506a0 <__rodata_start+0x560> + 83f43d9c: 1f8080ef jal ra,83f4bf94 + printf("para_client_config[%d]\n", _pstVqeConfig->para_client_config); + 83f43da0: 000a4583 lbu a1,0(s4) + 83f43da4: 0000d517 auipc a0,0xd + 83f43da8: 94450513 addi a0,a0,-1724 # 83f506e8 <__rodata_start+0x5a8> + 83f43dac: 1e8080ef jal ra,83f4bf94 + printf("u32OpenMask[0x%x]\n", _pstVqeConfig->u32OpenMask); + 83f43db0: 001a4583 lbu a1,1(s4) + 83f43db4: 0000d517 auipc a0,0xd + 83f43db8: 94c50513 addi a0,a0,-1716 # 83f50700 <__rodata_start+0x5c0> + 83f43dbc: 1d8080ef jal ra,83f4bf94 + printf("s32WorkSampleRate[%d]\n", _pstVqeConfig->s32WorkSampleRate); + 83f43dc0: 002a5583 lhu a1,2(s4) + 83f43dc4: 0000d517 auipc a0,0xd + 83f43dc8: 95450513 addi a0,a0,-1708 # 83f50718 <__rodata_start+0x5d8> + 83f43dcc: 1c8080ef jal ra,83f4bf94 + printf("stAecCfg.para_aec_filter_len[%d]\n", _pstVqeConfig->stAecCfg.para_aec_filter_len); + 83f43dd0: 004a4583 lbu a1,4(s4) + 83f43dd4: 0000d517 auipc a0,0xd + 83f43dd8: 95c50513 addi a0,a0,-1700 # 83f50730 <__rodata_start+0x5f0> + 83f43ddc: 1b8080ef jal ra,83f4bf94 + printf("stAecCfg.para_aes_std_thrd[%d]\n", _pstVqeConfig->stAecCfg.para_aes_std_thrd); + 83f43de0: 005a4583 lbu a1,5(s4) + 83f43de4: 0000d517 auipc a0,0xd + 83f43de8: 97450513 addi a0,a0,-1676 # 83f50758 <__rodata_start+0x618> + 83f43dec: 1a8080ef jal ra,83f4bf94 + printf("stAecCfg.para_aes_supp_coeff[%d]\n", _pstVqeConfig->stAecCfg.para_aes_supp_coeff); + 83f43df0: 006a4583 lbu a1,6(s4) + 83f43df4: 0000d517 auipc a0,0xd + 83f43df8: 98450513 addi a0,a0,-1660 # 83f50778 <__rodata_start+0x638> + 83f43dfc: 198080ef jal ra,83f4bf94 + printf("SSP_INIT dump-----------------------------------------------------[end]\n"); + 83f43e00: 0000d517 auipc a0,0xd + 83f43e04: 9a050513 addi a0,a0,-1632 # 83f507a0 <__rodata_start+0x660> + 83f43e08: 18c080ef jal ra,83f4bf94 + pVqeConfigSsp->para_client_config = _pstVqeConfig->para_client_config; + 83f43e0c: 000a4783 lbu a5,0(s4) + 83f43e10: 02f11c23 sh a5,56(sp) + pVqeConfigSsp->u32OpenMask = _pstVqeConfig->u32OpenMask; + 83f43e14: 001a4783 lbu a5,1(s4) + 83f43e18: de3e sw a5,60(sp) + pVqeConfigSsp->s32WorkSampleRate = _pstVqeConfig->s32WorkSampleRate; + 83f43e1a: 002a5783 lhu a5,2(s4) + 83f43e1e: c0be sw a5,64(sp) + pVqeConfigSsp->stAecCfg.para_aec_filter_len = _pstVqeConfig->stAecCfg.para_aec_filter_len; + 83f43e20: 004a4783 lbu a5,4(s4) + 83f43e24: 04f11423 sh a5,72(sp) + pVqeConfigSsp->stAecCfg.para_aes_std_thrd = _pstVqeConfig->stAecCfg.para_aes_std_thrd; + 83f43e28: 005a4783 lbu a5,5(s4) + 83f43e2c: 04f11523 sh a5,74(sp) + pVqeConfigSsp->stAecCfg.para_aes_supp_coeff = _pstVqeConfig->stAecCfg.para_aes_supp_coeff; + 83f43e30: 006a4783 lbu a5,6(s4) + 83f43e34: 04f11623 sh a5,76(sp) + pVqeConfigSsp->stAnrCfg.para_nr_snr_coeff = _pstVqeConfig->stAnrCfg.para_nr_snr_coeff; + 83f43e38: 008a4783 lbu a5,8(s4) + 83f43e3c: 04f11823 sh a5,80(sp) + pVqeConfigSsp->stAnrCfg.para_nr_init_sile_time = _pstVqeConfig->stAnrCfg.para_nr_init_sile_time; + 83f43e40: 009a4783 lbu a5,9(s4) + 83f43e44: 04f11923 sh a5,82(sp) + pVqeConfigSsp->stAgcCfg.para_agc_max_gain = _pstVqeConfig->stAgcCfg.para_agc_max_gain; + 83f43e48: 00ca4783 lbu a5,12(s4) + 83f43e4c: 04f10c23 sb a5,88(sp) + pVqeConfigSsp->stAgcCfg.para_agc_target_high = _pstVqeConfig->stAgcCfg.para_agc_target_high; + 83f43e50: 00da4783 lbu a5,13(s4) + 83f43e54: 04f10ca3 sb a5,89(sp) + pVqeConfigSsp->stAgcCfg.para_agc_target_low = _pstVqeConfig->stAgcCfg.para_agc_target_low; + 83f43e58: 00ea4783 lbu a5,14(s4) + 83f43e5c: 04f10d23 sb a5,90(sp) + pVqeConfigSsp->stAgcCfg.para_agc_vad_ena = _pstVqeConfig->stAgcCfg.para_agc_vad_ena; + 83f43e60: 00fa4783 lbu a5,15(s4) + 83f43e64: 00f037b3 snez a5,a5 + 83f43e68: 04f10da3 sb a5,91(sp) + _pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + 83f43e6c: 010a4783 lbu a5,16(s4) + 83f43e70: 06f11023 sh a5,96(sp) + pVqeConfigSsp->stAecDelayCfg.para_dg_target = _pstVqeConfig->stAecDelayCfg.para_dg_target; + 83f43e74: 011a4783 lbu a5,17(s4) + 83f43e78: 06f11123 sh a5,98(sp) + pVqeConfigSsp->stAecDelayCfg.para_delay_sample = _pstVqeConfig->stAecDelayCfg.para_delay_sample; + 83f43e7c: 012a4783 lbu a5,18(s4) + 83f43e80: 06f11223 sh a5,100(sp) + pVqeConfigSsp->s32RevMask = _pstVqeConfig->s32RevMask; + 83f43e84: 014a4783 lbu a5,20(s4) + 83f43e88: d4be sw a5,104(sp) + pVqeConfigSsp->para_notch_freq = _pstVqeConfig->para_notch_freq; + 83f43e8a: 015a4703 lbu a4,21(s4) + if (paudio_ssp_block != NULL) + 83f43e8e: 0001c797 auipc a5,0x1c + 83f43e92: d5278793 addi a5,a5,-686 # 83f5fbe0 + 83f43e96: 639c ld a5,0(a5) + pVqeConfigSsp->para_notch_freq = _pstVqeConfig->para_notch_freq; + 83f43e98: d6ba sw a4,108(sp) + if (paudio_ssp_block != NULL) + 83f43e9a: cf89 beqz a5,83f43eb4 + aud_error("warning paudio_ssp_blcok not Null..\n"); + 83f43e9c: 24900613 li a2,585 + 83f43ea0: 0000d597 auipc a1,0xd + 83f43ea4: 12058593 addi a1,a1,288 # 83f50fc0 <__func__.1> + 83f43ea8: 0000d517 auipc a0,0xd + 83f43eac: 94850513 addi a0,a0,-1720 # 83f507f0 <__rodata_start+0x6b0> + 83f43eb0: 0e4080ef jal ra,83f4bf94 + paudio_ssp_block = CviAud_Algo_Init(pVqeConfigSsp->u32OpenMask, pVqeConfigSsp); + 83f43eb4: 5572 lw a0,60(sp) + 83f43eb6: 182c addi a1,sp,56 + 83f43eb8: 144000ef jal ra,83f43ffc + 83f43ebc: 0001c797 auipc a5,0x1c + 83f43ec0: d2478793 addi a5,a5,-732 # 83f5fbe0 + 83f43ec4: e388 sd a0,0(a5) + if (paudio_ssp_block == NULL) { + 83f43ec6: 940515e3 bnez a0,83f43810 + aud_error("[CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK]paudio_ssp_block failure\n"); + 83f43eca: 0000d597 auipc a1,0xd + 83f43ece: 0f658593 addi a1,a1,246 # 83f50fc0 <__func__.1> + 83f43ed2: 24d00613 li a2,589 + 83f43ed6: 0000d517 auipc a0,0xd + 83f43eda: 96250513 addi a0,a0,-1694 # 83f50838 <__rodata_start+0x6f8> + 83f43ede: 0b6080ef jal ra,83f4bf94 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43ee2: 0fa00793 li a5,250 + clean_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + 83f43ee6: 854a mv a0,s2 + 83f43ee8: 45c1 li a1,16 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43eea: da3e sw a5,52(sp) + clean_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + 83f43eec: ba65 j 83f438a4 + aud_error("Error cannot de-init null pt\n"); + 83f43eee: 0f600613 li a2,246 + 83f43ef2: 0000d597 auipc a1,0xd + 83f43ef6: 0ce58593 addi a1,a1,206 # 83f50fc0 <__func__.1> + 83f43efa: 0000c517 auipc a0,0xc + 83f43efe: 3fe50513 addi a0,a0,1022 # 83f502f8 <__rodata_start+0x1b8> + 83f43f02: 092080ef jal ra,83f4bf94 + 83f43f06: befd j 83f43b04 + aud_error("Error cannot de-init null pt\n"); + 83f43f08: 25e00613 li a2,606 + 83f43f0c: 0000d597 auipc a1,0xd + 83f43f10: 0b458593 addi a1,a1,180 # 83f50fc0 <__func__.1> + 83f43f14: 0000c517 auipc a0,0xc + 83f43f18: 3e450513 addi a0,a0,996 # 83f502f8 <__rodata_start+0x1b8> + 83f43f1c: 078080ef jal ra,83f4bf94 + 83f43f20: b8c5 j 83f43810 + aud_error("Error cannot proc with null paudio_ssp_block\n"); + 83f43f22: 26b00613 li a2,619 + 83f43f26: 0000d597 auipc a1,0xd + 83f43f2a: 09a58593 addi a1,a1,154 # 83f50fc0 <__func__.1> + 83f43f2e: 0000d517 auipc a0,0xd + 83f43f32: 96250513 addi a0,a0,-1694 # 83f50890 <__rodata_start+0x750> + 83f43f36: 05e080ef jal ra,83f4bf94 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43f3a: 000c3503 ld a0,0(s8) + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43f3e: 0fa00793 li a5,250 + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43f42: 4681 li a3,0 + 83f43f44: 4601 li a2,0 + 83f43f46: 180c addi a1,sp,48 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43f48: da3e sw a5,52(sp) + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + 83f43f4a: 2fd0a0ef jal ra,83f4ea46 + break; + 83f43f4e: 8d1ff06f j 83f4381e + ret = CviAud_Algo_Process(paudio_ssp_block, + 83f43f52: 0001c797 auipc a5,0x1c + 83f43f56: c8e78793 addi a5,a5,-882 # 83f5fbe0 + 83f43f5a: 01893683 ld a3,24(s2) + 83f43f5e: 01093603 ld a2,16(s2) + 83f43f62: 00893583 ld a1,8(s2) + 83f43f66: 6388 ld a0,0(a5) + 83f43f68: 0a000713 li a4,160 + 83f43f6c: 134000ef jal ra,83f440a0 + if (ret < 0) { + 83f43f70: 04054863 bltz a0,83f43fc0 + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + 83f43f74: 854a mv a0,s2 + 83f43f76: 02000593 li a1,32 + 83f43f7a: 7bb070ef jal ra,83f4bf34 + clean_dcache_range((uintptr_t)pstBlockFrm->mic_in_addr, 1280); + 83f43f7e: 00893503 ld a0,8(s2) + 83f43f82: 50000593 li a1,1280 + 83f43f86: 7af070ef jal ra,83f4bf34 + clean_dcache_range((uintptr_t)pstBlockFrm->output_addr, 1280); + 83f43f8a: 01893503 ld a0,24(s2) + 83f43f8e: 50000593 li a1,1280 + 83f43f92: 7a3070ef jal ra,83f4bf34 + clean_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + 83f43f96: 01093503 ld a0,16(s2) + 83f43f9a: 50000593 li a1,1280 + 83f43f9e: b219 j 83f438a4 + usleep(3000); + 83f43fa0: 7522 ld a0,40(sp) + 83f43fa2: 054080ef jal ra,83f4bff6 + target_pkt_cnt = pindicator->chunks_number; + 83f43fa6: 000bb503 ld a0,0(s7) + 83f43faa: 6822 ld a6,8(sp) + 83f43fac: b489 j 83f439ee + unsigned char bCheck_input_full = 1; + 83f43fae: 8942 mv s2,a6 + 83f43fb0: bc9d j 83f43a26 + vTaskDelay(pdMS_TO_TICKS(10)); + 83f43fb2: 4509 li a0,2 + 83f43fb4: 3d70b0ef jal ra,83f4fb8a + target_pkt_cnt = pindicator->chunks_number; + 83f43fb8: 000bb503 ld a0,0(s7) + 83f43fbc: 6822 ld a6,8(sp) + 83f43fbe: bc05 j 83f439ee + aud_error("Error in CviAud_Algo_Process\n"); + 83f43fc0: 28800613 li a2,648 + 83f43fc4: 0000d597 auipc a1,0xd + 83f43fc8: ffc58593 addi a1,a1,-4 # 83f50fc0 <__func__.1> + 83f43fcc: 0000d517 auipc a0,0xd + 83f43fd0: 97450513 addi a0,a0,-1676 # 83f50940 <__rodata_start+0x800> + 83f43fd4: 7c1070ef jal ra,83f4bf94 + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + 83f43fd8: 0fa00793 li a5,250 + 83f43fdc: da3e sw a5,52(sp) + 83f43fde: bf59 j 83f43f74 + aud_error("get null pt in init ssp\n"); + 83f43fe0: 0eb00613 li a2,235 + 83f43fe4: 0000d597 auipc a1,0xd + 83f43fe8: fdc58593 addi a1,a1,-36 # 83f50fc0 <__func__.1> + 83f43fec: 0000c517 auipc a0,0xc + 83f43ff0: 2d450513 addi a0,a0,724 # 83f502c0 <__rodata_start+0x180> + 83f43ff4: 7a1070ef jal ra,83f4bf94 + 83f43ff8: 819ff06f j 83f43810 + +0000000083f43ffc : + * Outputs: none + * + * Return: algo handle + **************************************************************************************/ +void *CviAud_Algo_Init(int s32FunctMask, void *param_info) +{ + 83f43ffc: 7159 addi sp,sp,-112 + 83f43ffe: f0a2 sd s0,96(sp) + const AI_TALKVQE_CONFIG_S *pstVqeConfig = (const AI_TALKVQE_CONFIG_S *)param_info; + ssp_para_struct ssp_para_info; + ssp_para_struct *p_ssp_para_info = &ssp_para_info; + + s32FunctMask = s32FunctMask; + memset(p_ssp_para_info, 0, sizeof(ssp_para_struct)); + 83f44000: 05200613 li a2,82 +{ + 83f44004: 842e mv s0,a1 + memset(p_ssp_para_info, 0, sizeof(ssp_para_struct)); + 83f44006: 0028 addi a0,sp,8 + 83f44008: 4581 li a1,0 +{ + 83f4400a: f486 sd ra,104(sp) + memset(p_ssp_para_info, 0, sizeof(ssp_para_struct)); + 83f4400c: 771070ef jal ra,83f4bf7c + ssp_para_info.para_agc_target_low = 72; + ssp_para_info.para_agc_vad_ena = 1; + ssp_para_info.para_notch_freq = 0; + ssp_para_info.para_spk_fun_config = 0; + ssp_para_info.para_spk_agc_max_gain = 0; + ssp_para_info.para_spk_agc_target_high = 8; + 83f44010: 004807b7 lui a5,0x480 + 83f44014: 07a1 addi a5,a5,8 + + + //update value from use layer + //ssp_para_info.para_sample_rate = pstVqeConfig->s32WorkSampleRate;//only support 8k and 16k + ssp_para_info.para_client_config = pstVqeConfig->para_client_config; + ssp_para_info.para_fun_config = pstVqeConfig->u32OpenMask; + 83f44016: 00442383 lw t2,4(s0) + //update aec config + ssp_para_info.para_aec_filter_len = pstVqeConfig->stAecCfg.para_aec_filter_len; + 83f4401a: 01045283 lhu t0,16(s0) + ssp_para_info.para_aes_std_thrd = pstVqeConfig->stAecCfg.para_aes_std_thrd; + 83f4401e: 01245f83 lhu t6,18(s0) + ssp_para_info.para_aes_supp_coeff = pstVqeConfig->stAecCfg.para_aes_supp_coeff; + 83f44022: 01445f03 lhu t5,20(s0) + //update nr config + ssp_para_info.para_nr_init_sile_time = pstVqeConfig->stAnrCfg.para_nr_init_sile_time; + 83f44026: 01a45e83 lhu t4,26(s0) + ssp_para_info.para_nr_snr_coeff = pstVqeConfig->stAnrCfg.para_nr_snr_coeff;; + 83f4402a: 01845e03 lhu t3,24(s0) + //update agc config + ssp_para_info.para_agc_max_gain = pstVqeConfig->stAgcCfg.para_agc_max_gain; + 83f4402e: 02040303 lb t1,32(s0) + ssp_para_info.para_agc_target_high = pstVqeConfig->stAgcCfg.para_agc_target_high;; + 83f44032: 02140883 lb a7,33(s0) + ssp_para_info.para_agc_target_low = pstVqeConfig->stAgcCfg.para_agc_target_low; + 83f44036: 02240803 lb a6,34(s0) + ssp_para_info.para_agc_vad_ena = pstVqeConfig->stAgcCfg.para_agc_vad_ena; + 83f4403a: 02344503 lbu a0,35(s0) + //udpate sw aec config + ssp_para_info.para_aec_init_filter_len = pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + ssp_para_info.para_dg_target = pstVqeConfig->stAecDelayCfg.para_dg_target; + 83f4403e: 02a45603 lhu a2,42(s0) + ssp_para_info.para_delay_sample = pstVqeConfig->stAecDelayCfg.para_delay_sample; + 83f44042: 02c45683 lhu a3,44(s0) + //update notch filter setting for specific customer + ssp_para_info.para_notch_freq = pstVqeConfig->para_notch_freq;//only support 8k and 16k + 83f44046: 5858 lw a4,52(s0) + ssp_para_info.para_aec_init_filter_len = pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + 83f44048: 02845583 lhu a1,40(s0) + ssp_para_info.para_spk_agc_target_high = 8; + 83f4404c: d83e sw a5,48(sp) + ssp_para_info.para_client_config = pstVqeConfig->para_client_config; + 83f4404e: 00045783 lhu a5,0(s0) + ssp_para_info.para_fun_config = pstVqeConfig->u32OpenMask; + 83f44052: 00711523 sh t2,10(sp) + ssp_para_info.para_aec_filter_len = pstVqeConfig->stAecCfg.para_aec_filter_len; + 83f44056: 00511923 sh t0,18(sp) + ssp_para_info.para_client_config = pstVqeConfig->para_client_config; + 83f4405a: 00f11423 sh a5,8(sp) + ssp_para_info.para_aes_std_thrd = pstVqeConfig->stAecCfg.para_aes_std_thrd; + 83f4405e: 01f11a23 sh t6,20(sp) + ssp_para_info.para_aes_supp_coeff = pstVqeConfig->stAecCfg.para_aes_supp_coeff; + 83f44062: 01e11b23 sh t5,22(sp) + ssp_para_info.para_nr_init_sile_time = pstVqeConfig->stAnrCfg.para_nr_init_sile_time; + 83f44066: 01d11c23 sh t4,24(sp) + ssp_para_info.para_nr_snr_coeff = pstVqeConfig->stAnrCfg.para_nr_snr_coeff;; + 83f4406a: 01c11d23 sh t3,26(sp) + ssp_para_info.para_agc_max_gain = pstVqeConfig->stAgcCfg.para_agc_max_gain; + 83f4406e: 00611e23 sh t1,28(sp) + ssp_para_info.para_agc_target_high = pstVqeConfig->stAgcCfg.para_agc_target_high;; + 83f44072: 01111f23 sh a7,30(sp) + ssp_para_info.para_agc_target_low = pstVqeConfig->stAgcCfg.para_agc_target_low; + 83f44076: 03011023 sh a6,32(sp) + ssp_para_info.para_agc_vad_ena = pstVqeConfig->stAgcCfg.para_agc_vad_ena; + 83f4407a: 02a10123 sb a0,34(sp) + ssp_para_info.para_dg_target = pstVqeConfig->stAecDelayCfg.para_dg_target; + 83f4407e: 00c11723 sh a2,14(sp) + ssp_para_info.para_delay_sample = pstVqeConfig->stAecDelayCfg.para_delay_sample; + 83f44082: 00d11623 sh a3,12(sp) + ssp_para_info.para_notch_freq = pstVqeConfig->para_notch_freq;//only support 8k and 16k + 83f44086: 02e11223 sh a4,36(sp) + ssp_para_info.para_spk_fun_config = 0; + 83f4408a: d602 sw zero,44(sp) + ssp_para_info.para_aec_init_filter_len = pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + 83f4408c: 00b11823 sh a1,16(sp) + ssp_para_info.para_spk_agc_target_high = pstVqeConfig->stSpkCfg.para_spk_agc_target_high; + ssp_para_info.para_spk_agc_target_low = pstVqeConfig->stSpkCfg.para_spk_agc_target_low; + #endif + + + _handle = (void *)audio_ssp_init((void *)p_ssp_para_info, pstVqeConfig->s32WorkSampleRate); + 83f44090: 440c lw a1,8(s0) + 83f44092: 0028 addi a0,sp,8 + 83f44094: 0b0000ef jal ra,83f44144 + + + return (void *)_handle; + + +} + 83f44098: 70a6 ld ra,104(sp) + 83f4409a: 7406 ld s0,96(sp) + 83f4409c: 6165 addi sp,sp,112 + 83f4409e: 8082 ret + +0000000083f440a0 : + * Return: output samples + * Notes: sure insamps < MAXFRAMESIZE + **************************************************************************************/ +int CviAud_Algo_Process(void *pHandle, uint64_t mic_in, + uint64_t ref_in, uint64_t out, int iLength) +{ + 83f440a0: 1141 addi sp,sp,-16 + 83f440a2: e406 sd ra,8(sp) + 83f440a4: e022 sd s0,0(sp) +//TODO: step 3[ok] implement the function acquired + SSP_UNUSED_REF(iLength); + int ret = 0; + int s32RetTotalSamples = 0; + + if (pHandle == NULL) { + 83f440a6: c529 beqz a0,83f440f0 + printf("Null input [%s][%d]\n", __func__, __LINE__); + return -1; + } + + if (iLength != AEC_FRAME_LENGTH) { + 83f440a8: 0a000793 li a5,160 + 83f440ac: 843a mv s0,a4 + 83f440ae: 00f71a63 bne a4,a5,83f440c2 + printf("input length only support 160 samples[%s][%d]\n", __func__, __LINE__); + return -1; + } + + ret = audio_ssp_process(pHandle, mic_in, ref_in, out, AEC_FRAME_LENGTH); + 83f440b2: 40c000ef jal ra,83f444be + if (ret != 0) { + 83f440b6: e505 bnez a0,83f440de + } + s32RetTotalSamples = AEC_FRAME_LENGTH; + + return s32RetTotalSamples; + +} + 83f440b8: 60a2 ld ra,8(sp) + 83f440ba: 8522 mv a0,s0 + 83f440bc: 6402 ld s0,0(sp) + 83f440be: 0141 addi sp,sp,16 + 83f440c0: 8082 ret + printf("input length only support 160 samples[%s][%d]\n", __func__, __LINE__); + 83f440c2: 0c000613 li a2,192 + 83f440c6: 0000d597 auipc a1,0xd + 83f440ca: fc258593 addi a1,a1,-62 # 83f51088 <__func__.3> + 83f440ce: 0000d517 auipc a0,0xd + 83f440d2: f1a50513 addi a0,a0,-230 # 83f50fe8 <__func__.1+0x28> + 83f440d6: 6bf070ef jal ra,83f4bf94 + return -1; + 83f440da: 547d li s0,-1 + 83f440dc: bff1 j 83f440b8 + printf("audio_ssp_process error ret(%d).\n", ret); + 83f440de: 85aa mv a1,a0 + 83f440e0: 0000d517 auipc a0,0xd + 83f440e4: f3850513 addi a0,a0,-200 # 83f51018 <__func__.1+0x58> + 83f440e8: 6ad070ef jal ra,83f4bf94 + return -1; + 83f440ec: 547d li s0,-1 + 83f440ee: b7e9 j 83f440b8 + printf("Null input [%s][%d]\n", __func__, __LINE__); + 83f440f0: 0bb00613 li a2,187 + 83f440f4: 0000d597 auipc a1,0xd + 83f440f8: f9458593 addi a1,a1,-108 # 83f51088 <__func__.3> + 83f440fc: 0000d517 auipc a0,0xd + 83f44100: ed450513 addi a0,a0,-300 # 83f50fd0 <__func__.1+0x10> + 83f44104: 691070ef jal ra,83f4bf94 + return -1; + 83f44108: 547d li s0,-1 + 83f4410a: b77d j 83f440b8 + +0000000083f4410c : + * Outputs: none + * + * Return: CVI_SUCCESS / CVI_FAILURE + **************************************************************************************/ +void CviAud_Algo_DeInit(void *pHandle) +{ + 83f4410c: 1141 addi sp,sp,-16 + 83f4410e: e406 sd ra,8(sp) + + //VQE_UNUSED_REF(pHandle); + //struct st3AInfo *pst3Ainfo = (struct st3AInfo *)pHandle; + + if (audio_ssp_deinit(pHandle) != 0) { + 83f44110: 093000ef jal ra,83f449a2 + 83f44114: e501 bnez a0,83f4411c + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + return; + } + +} + 83f44116: 60a2 ld ra,8(sp) + 83f44118: 0141 addi sp,sp,16 + 83f4411a: 8082 ret + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + 83f4411c: 0000f797 auipc a5,0xf + 83f44120: 0a07a783 lw a5,160(a5) # 83f531bc + 83f44124: fef059e3 blez a5,83f44116 +} + 83f44128: 60a2 ld ra,8(sp) + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + 83f4412a: 0e000613 li a2,224 + 83f4412e: 0000d597 auipc a1,0xd + 83f44132: f4258593 addi a1,a1,-190 # 83f51070 <__func__.2> + 83f44136: 0000d517 auipc a0,0xd + 83f4413a: f0a50513 addi a0,a0,-246 # 83f51040 <__func__.1+0x80> +} + 83f4413e: 0141 addi sp,sp,16 + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + 83f44140: 6550706f j 83f4bf94 + +0000000083f44144 : + return 0; +} +#endif + +void *audio_ssp_init(void *para_obj, unsigned int sample_rate) +{ + 83f44144: 7179 addi sp,sp,-48 + 83f44146: e84a sd s2,16(sp) + you will experience strange bugs */ +#ifndef PLATFORM_RTOS + return calloc(size,1); +#else + //return (void *)calloc(size,1); + uintptr_t *ptr = pvPortMalloc(size); + 83f44148: 6905 lui s2,0x1 + 83f4414a: e44e sd s3,8(sp) + 83f4414c: 89aa mv s3,a0 + 83f4414e: 03090513 addi a0,s2,48 # 1030 <_EL1_STACK_SIZE+0x830> + 83f44152: f022 sd s0,32(sp) + 83f44154: ec26 sd s1,24(sp) + 83f44156: f406 sd ra,40(sp) + 83f44158: 84ae mv s1,a1 + 83f4415a: 42a0a0ef jal ra,83f4e584 + 83f4415e: 842a mv s0,a0 + + memset(ptr, 0, size); + 83f44160: 03090613 addi a2,s2,48 + 83f44164: 4581 li a1,0 + 83f44166: 617070ef jal ra,83f4bf7c + pst3Ainfo = (struct st3AInfo *)malloc(sizeof(struct st3AInfo)); +#else + //pst3Ainfo = (struct st3AInfo *)pvPortMalloc(sizeof(struct st3AInfo)); + pst3Ainfo = (struct st3AInfo *)mem_alloc(sizeof(struct st3AInfo)); +#endif + if(NULL == pst3Ainfo) + 83f4416a: 30040463 beqz s0,83f44472 + { + LOG_ERROR("malloc failed.aec init failed.\n"); + return NULL; + } + + memset(pst3Ainfo,0,sizeof(struct st3AInfo)); + 83f4416e: 03090613 addi a2,s2,48 + 83f44172: 4581 li a1,0 + 83f44174: 8522 mv a0,s0 + 83f44176: 607070ef jal ra,83f4bf7c + memcpy(&pst3Ainfo->para_obj,para_info,sizeof(ssp_para_struct)); + 83f4417a: 06440913 addi s2,s0,100 + 83f4417e: 05200613 li a2,82 + 83f44182: 85ce mv a1,s3 + 83f44184: 854a mv a0,s2 + 83f44186: f7bfb0ef jal ra,83f40100 + pst3Ainfo->fs = sample_rate;// pst3Ainfo->para_obj.para_sample_rate; + 83f4418a: d014f7d3 fcvt.s.wu fa5,s1 + + //printf("[SSP_VER20220128]user setting config param------dump---start\n"); + printf("[SSP_VER20220128]sample_rate:%d.\n", (int)pst3Ainfo->fs); + 83f4418e: 0000d517 auipc a0,0xd + 83f44192: f4250513 addi a0,a0,-190 # 83f510d0 <__func__.3+0x48> + 83f44196: c00795d3 fcvt.w.s a1,fa5,rtz + pst3Ainfo->fs = sample_rate;// pst3Ainfo->para_obj.para_sample_rate; + 83f4419a: 06f42027 fsw fa5,96(s0) + printf("[SSP_VER20220128]sample_rate:%d.\n", (int)pst3Ainfo->fs); + 83f4419e: 2581 sext.w a1,a1 + 83f441a0: 5f5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_client_config:%d.\n", pst3Ainfo->para_obj.para_client_config); + 83f441a4: 06445583 lhu a1,100(s0) + 83f441a8: 0000d517 auipc a0,0xd + 83f441ac: f5050513 addi a0,a0,-176 # 83f510f8 <__func__.3+0x70> + 83f441b0: 5e5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_fun_config:%d.\n", pst3Ainfo->para_obj.para_fun_config); + 83f441b4: 06645583 lhu a1,102(s0) + 83f441b8: 0000d517 auipc a0,0xd + 83f441bc: f7050513 addi a0,a0,-144 # 83f51128 <__func__.3+0xa0> + 83f441c0: 5d5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_delay_sample:%d.\n", pst3Ainfo->para_obj.para_delay_sample); + 83f441c4: 06845583 lhu a1,104(s0) + 83f441c8: 0000d517 auipc a0,0xd + 83f441cc: f8850513 addi a0,a0,-120 # 83f51150 <__func__.3+0xc8> + 83f441d0: 5c5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_dg_target:%d.\n", pst3Ainfo->para_obj.para_dg_target); + 83f441d4: 06a45583 lhu a1,106(s0) + 83f441d8: 0000d517 auipc a0,0xd + 83f441dc: fa050513 addi a0,a0,-96 # 83f51178 <__func__.3+0xf0> + 83f441e0: 5b5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_aec_init_filter_len:%d.\n", pst3Ainfo->para_obj.para_aec_init_filter_len); + 83f441e4: 06c45583 lhu a1,108(s0) + 83f441e8: 0000d517 auipc a0,0xd + 83f441ec: fb850513 addi a0,a0,-72 # 83f511a0 <__func__.3+0x118> + 83f441f0: 5a5070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_aec_filter_len:%d.\n", pst3Ainfo->para_obj.para_aec_filter_len); + 83f441f4: 06e45583 lhu a1,110(s0) + 83f441f8: 0000d517 auipc a0,0xd + 83f441fc: fd850513 addi a0,a0,-40 # 83f511d0 <__func__.3+0x148> + 83f44200: 595070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_aes_std_thrd:%d.\n", pst3Ainfo->para_obj.para_aes_std_thrd); + 83f44204: 07045583 lhu a1,112(s0) + 83f44208: 0000d517 auipc a0,0xd + 83f4420c: ff850513 addi a0,a0,-8 # 83f51200 <__func__.3+0x178> + 83f44210: 585070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_aes_supp_coeff:%d.\n", pst3Ainfo->para_obj.para_aes_supp_coeff); + 83f44214: 07245583 lhu a1,114(s0) + 83f44218: 0000d517 auipc a0,0xd + 83f4421c: 01050513 addi a0,a0,16 # 83f51228 <__func__.3+0x1a0> + 83f44220: 575070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_nr_init_sile_time:%d.\n", pst3Ainfo->para_obj.para_nr_init_sile_time); + 83f44224: 07445583 lhu a1,116(s0) + 83f44228: 0000d517 auipc a0,0xd + 83f4422c: 03050513 addi a0,a0,48 # 83f51258 <__func__.3+0x1d0> + 83f44230: 565070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_nr_snr_coeff:%d.\n", pst3Ainfo->para_obj.para_nr_snr_coeff); + 83f44234: 07645583 lhu a1,118(s0) + 83f44238: 0000d517 auipc a0,0xd + 83f4423c: 05050513 addi a0,a0,80 # 83f51288 <__func__.3+0x200> + 83f44240: 555070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_agc_max_gain:%d.\n", pst3Ainfo->para_obj.para_agc_max_gain); + 83f44244: 07845583 lhu a1,120(s0) + 83f44248: 0000d517 auipc a0,0xd + 83f4424c: 06850513 addi a0,a0,104 # 83f512b0 <__func__.3+0x228> + 83f44250: 545070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_agc_target_high:%d.\n", pst3Ainfo->para_obj.para_agc_target_high); + 83f44254: 07a45583 lhu a1,122(s0) + 83f44258: 0000d517 auipc a0,0xd + 83f4425c: 08050513 addi a0,a0,128 # 83f512d8 <__func__.3+0x250> + 83f44260: 535070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_agc_target_low:%d.\n", pst3Ainfo->para_obj.para_agc_target_low); + 83f44264: 07c45583 lhu a1,124(s0) + 83f44268: 0000d517 auipc a0,0xd + 83f4426c: 0a050513 addi a0,a0,160 # 83f51308 <__func__.3+0x280> + 83f44270: 525070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_agc_vad_ena:%d.\n", pst3Ainfo->para_obj.para_agc_vad_ena); + 83f44274: 07e44583 lbu a1,126(s0) + 83f44278: 0000d517 auipc a0,0xd + 83f4427c: 0c050513 addi a0,a0,192 # 83f51338 <__func__.3+0x2b0> + 83f44280: 515070ef jal ra,83f4bf94 + printf("[SSP_VER20220128]para_notch_freq:%d.\n", pst3Ainfo->para_obj.para_notch_freq); + 83f44284: 08045583 lhu a1,128(s0) + 83f44288: 0000d517 auipc a0,0xd + 83f4428c: 0d850513 addi a0,a0,216 # 83f51360 <__func__.3+0x2d8> + 83f44290: 505070ef jal ra,83f4bf94 + //printf("[SSP_VER20220128]user setting config param------dump---end\n"); + + //TODO: check ssp init with ssp_main.c + //reference from ssp_main.c + cond1 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + 83f44294: 06641783 lh a5,102(s0) + if (cond1) { + 83f44298: 0807f713 andi a4,a5,128 + 83f4429c: 1c071163 bnez a4,83f4445e + delay_para(&pst3Ainfo->para_obj); + pst3Ainfo->delay_state = delay_init(&pst3Ainfo->para_obj); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + 83f442a0: 0407f713 andi a4,a5,64 + 83f442a4: 1a071563 bnez a4,83f4444e + DG_para(&pst3Ainfo->dg_obj, &pst3Ainfo->para_obj); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + 83f442a8: 0207f713 andi a4,a5,32 + 83f442ac: 18071863 bnez a4,83f4443c + DC_remover_init(&pst3Ainfo->dc_obj, pst3Ainfo->fs); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + 83f442b0: 0107f713 andi a4,a5,16 + 83f442b4: 16071463 bnez a4,83f4441c + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + + if (cond1 | cond2) { + 83f442b8: 0037f713 andi a4,a5,3 + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + 83f442bc: 0027f493 andi s1,a5,2 + if (cond1 | cond2) { + 83f442c0: e76d bnez a4,83f443aa + LP_AEC_para(&pst3Ainfo->para_obj, &pst3Ainfo->filter_length, &pst3Ainfo->init_filter_length); + pst3Ainfo->aec_state = LP_AEC_init(AEC_FRAME_LENGTH, pst3Ainfo->filter_length, + pst3Ainfo->init_filter_length, pst3Ainfo->fs); + } + if (cond2) { + 83f442c2: 10049863 bnez s1,83f443d2 + &pst3Ainfo->aes_supp_coef2); + pst3Ainfo->aes_state = NLP_AES_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->std_thrd, + pst3Ainfo->aes_supp_coef1, pst3Ainfo->aes_supp_coef2); + pst3Ainfo->aes_state->echo_state = pst3Ainfo->aec_state; + } + if (!(pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE)) { + 83f442c6: 06645783 lhu a5,102(s0) + 83f442ca: 0087f713 andi a4,a5,8 + 83f442ce: cf29 beqz a4,83f44328 + /* add fool-proof design for parameter configuration */ + pst3Ainfo->para_obj.para_agc_vad_ena = 0; + } + cond1 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + if (cond1 | (cond2 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + 83f442d0: 0087f713 andi a4,a5,8 + 83f442d4: 8b91 andi a5,a5,4 + 83f442d6: cf29 beqz a4,83f44330 + 83f442d8: 07e44703 lbu a4,126(s0) + 83f442dc: 12070463 beqz a4,83f44404 + NR_para(&pst3Ainfo->para_obj, &pst3Ainfo->aa, &pst3Ainfo->mu); + 83f442e0: 0bc40613 addi a2,s0,188 + 83f442e4: 0b840593 addi a1,s0,184 + 83f442e8: 854a mv a0,s2 + 83f442ea: 0d8030ef jal ra,83f473c2 + pst3Ainfo->nr_state = NR_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->aa, pst3Ainfo->mu); + 83f442ee: 0bc42607 flw fa2,188(s0) + 83f442f2: 0b842587 flw fa1,184(s0) + 83f442f6: 06042507 flw fa0,96(s0) + 83f442fa: 0a000513 li a0,160 + 83f442fe: 1e0030ef jal ra,83f474de + 83f44302: e068 sd a0,192(s0) + } + if (cond2) { + AGC_para(&pst3Ainfo->agc_obj, &pst3Ainfo->para_obj, 1); + 83f44304: 6485 lui s1,0x1 + 83f44306: 14c1 addi s1,s1,-16 + 83f44308: 94a2 add s1,s1,s0 + 83f4430a: 85ca mv a1,s2 + 83f4430c: 8526 mv a0,s1 + 83f4430e: 4605 li a2,1 + 83f44310: 4ae050ef jal ra,83f497be + AGC_init(&pst3Ainfo->agc_obj, &pst3Ainfo->para_obj, pst3Ainfo->fs, AEC_FRAME_LENGTH, 1); + 83f44314: 06042507 flw fa0,96(s0) + 83f44318: 4685 li a3,1 + 83f4431a: 0a000613 li a2,160 + 83f4431e: 85ca mv a1,s2 + 83f44320: 8526 mv a0,s1 + 83f44322: 40e050ef jal ra,83f49730 + 83f44326: a039 j 83f44334 + pst3Ainfo->para_obj.para_agc_vad_ena = 0; + 83f44328: 06040f23 sb zero,126(s0) + if (cond1 | (cond2 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + 83f4432c: 8b91 andi a5,a5,4 + 83f4432e: eb79 bnez a4,83f44404 + 83f44330: 16079463 bnez a5,83f44498 + pst3Ainfo->speech_vad = true; + pst3Ainfo->st_vad = false; /* default */ + pst3Ainfo->frame = 1.0F; + pst3Ainfo->nenr_silence_cnt = 0; + + pst3Ainfo->para_obj.para_nr_init_sile_time = MIN(MAX(pst3Ainfo->para_obj.para_nr_init_sile_time, 0), 250); + 83f44334: 07445783 lhu a5,116(s0) + pst3Ainfo->frame = 1.0F; + 83f44338: 0000e717 auipc a4,0xe + 83f4433c: f1872787 flw fa5,-232(a4) # 83f52250 <__func__.1+0x58> + pst3Ainfo->speech_vad = true; + 83f44340: 4705 li a4,1 + pst3Ainfo->para_obj.para_nr_init_sile_time = MIN(MAX(pst3Ainfo->para_obj.para_nr_init_sile_time, 0), 250); + 83f44342: 03079693 slli a3,a5,0x30 + pst3Ainfo->speech_vad = true; + 83f44346: 22e40023 sb a4,544(s0) + pst3Ainfo->st_vad = false; /* default */ + 83f4434a: 0c040823 sb zero,208(s0) + pst3Ainfo->frame = 1.0F; + 83f4434e: 22f42227 fsw fa5,548(s0) + pst3Ainfo->nenr_silence_cnt = 0; + 83f44352: 0c042623 sw zero,204(s0) + pst3Ainfo->para_obj.para_nr_init_sile_time = MIN(MAX(pst3Ainfo->para_obj.para_nr_init_sile_time, 0), 250); + 83f44356: 92c1 srli a3,a3,0x30 + 83f44358: 0fa00713 li a4,250 + 83f4435c: 00d77463 bgeu a4,a3,83f44364 + 83f44360: 0fa00793 li a5,250 + if (pst3Ainfo->fs == 16000.0F) { + 83f44364: 06042707 flw fa4,96(s0) + 83f44368: 0000e717 auipc a4,0xe + 83f4436c: eec72787 flw fa5,-276(a4) # 83f52254 <__func__.1+0x5c> + pst3Ainfo->para_obj.para_nr_init_sile_time = MIN(MAX(pst3Ainfo->para_obj.para_nr_init_sile_time, 0), 250); + 83f44370: 06f41a23 sh a5,116(s0) + if (pst3Ainfo->fs == 16000.0F) { + 83f44374: a0f72753 feq.s a4,fa4,fa5 + pst3Ainfo->initial_noise_pow_time = 14; + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time*2; + 83f44378: 17c2 slli a5,a5,0x30 + 83f4437a: 93c1 srli a5,a5,0x30 + if (pst3Ainfo->fs == 16000.0F) { + 83f4437c: c759 beqz a4,83f4440a + pst3Ainfo->initial_noise_pow_time = 14; + 83f4437e: 0000e717 auipc a4,0xe + 83f44382: eda72787 flw fa5,-294(a4) # 83f52258 <__func__.1+0x60> + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time*2; + 83f44386: 0017979b slliw a5,a5,0x1 + pst3Ainfo->initial_noise_pow_time = 14; + 83f4438a: 22f42427 fsw fa5,552(s0) + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time*2; + 83f4438e: 0cf42423 sw a5,200(s0) + } else { + pst3Ainfo->initial_noise_pow_time = 7; + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time; + } + + pst3Ainfo->bInitOk = true; + 83f44392: 6785 lui a5,0x1 + 83f44394: 97a2 add a5,a5,s0 + 83f44396: 4705 li a4,1 + 83f44398: d798 sw a4,40(a5) + + return (void *)pst3Ainfo; +} + 83f4439a: 70a2 ld ra,40(sp) + 83f4439c: 8522 mv a0,s0 + 83f4439e: 7402 ld s0,32(sp) + 83f443a0: 64e2 ld s1,24(sp) + 83f443a2: 6942 ld s2,16(sp) + 83f443a4: 69a2 ld s3,8(sp) + 83f443a6: 6145 addi sp,sp,48 + 83f443a8: 8082 ret + LP_AEC_para(&pst3Ainfo->para_obj, &pst3Ainfo->filter_length, &pst3Ainfo->init_filter_length); + 83f443aa: 05a40613 addi a2,s0,90 + 83f443ae: 05840593 addi a1,s0,88 + 83f443b2: 854a mv a0,s2 + 83f443b4: 2c9000ef jal ra,83f44e7c + pst3Ainfo->aec_state = LP_AEC_init(AEC_FRAME_LENGTH, pst3Ainfo->filter_length, + 83f443b8: 06042507 flw fa0,96(s0) + 83f443bc: 05a41603 lh a2,90(s0) + 83f443c0: 05841583 lh a1,88(s0) + 83f443c4: 0a000513 li a0,160 + 83f443c8: 2f7000ef jal ra,83f44ebe + 83f443cc: e428 sd a0,72(s0) + if (cond2) { + 83f443ce: ee048ce3 beqz s1,83f442c6 + NLP_AES_para(&pst3Ainfo->para_obj, &pst3Ainfo->std_thrd, &pst3Ainfo->aes_supp_coef1, + 83f443d2: 21840693 addi a3,s0,536 + 83f443d6: 21440613 addi a2,s0,532 + 83f443da: 21c40593 addi a1,s0,540 + 83f443de: 854a mv a0,s2 + 83f443e0: 43a030ef jal ra,83f4781a + pst3Ainfo->aes_state = NLP_AES_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->std_thrd, + 83f443e4: 21842687 flw fa3,536(s0) + 83f443e8: 21442607 flw fa2,532(s0) + 83f443ec: 21c42587 flw fa1,540(s0) + 83f443f0: 06042507 flw fa0,96(s0) + 83f443f4: 0a000513 li a0,160 + 83f443f8: 498030ef jal ra,83f47890 + pst3Ainfo->aes_state->echo_state = pst3Ainfo->aec_state; + 83f443fc: 643c ld a5,72(s0) + pst3Ainfo->aes_state = NLP_AES_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->std_thrd, + 83f443fe: e828 sd a0,80(s0) + pst3Ainfo->aes_state->echo_state = pst3Ainfo->aec_state; + 83f44400: ed1c sd a5,24(a0) + 83f44402: b5d1 j 83f442c6 + if (cond1 | (cond2 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + 83f44404: f00780e3 beqz a5,83f44304 + 83f44408: bde1 j 83f442e0 + pst3Ainfo->initial_noise_pow_time = 7; + 83f4440a: 0000e717 auipc a4,0xe + 83f4440e: e5272787 flw fa5,-430(a4) # 83f5225c <__func__.1+0x64> + 83f44412: 22f42427 fsw fa5,552(s0) + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time; + 83f44416: 0cf42423 sw a5,200(s0) + 83f4441a: bfa5 j 83f44392 + notch_para(&pst3Ainfo->notch_obj, &pst3Ainfo->para_obj, pst3Ainfo->fs); + 83f4441c: 06042507 flw fa0,96(s0) + 83f44420: 02040493 addi s1,s0,32 + 83f44424: 85ca mv a1,s2 + 83f44426: 8526 mv a0,s1 + 83f44428: 263040ef jal ra,83f48e8a + notch_init(&pst3Ainfo->notch_obj, pst3Ainfo->notch_state); + 83f4442c: 03840593 addi a1,s0,56 + 83f44430: 8526 mv a0,s1 + 83f44432: 2a1040ef jal ra,83f48ed2 + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + 83f44436: 06641783 lh a5,102(s0) + 83f4443a: bdbd j 83f442b8 + DC_remover_init(&pst3Ainfo->dc_obj, pst3Ainfo->fs); + 83f4443c: 06042507 flw fa0,96(s0) + 83f44440: 01040513 addi a0,s0,16 + 83f44444: 63c000ef jal ra,83f44a80 + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + 83f44448: 06641783 lh a5,102(s0) + 83f4444c: b595 j 83f442b0 + DG_para(&pst3Ainfo->dg_obj, &pst3Ainfo->para_obj); + 83f4444e: 85ca mv a1,s2 + 83f44450: 00840513 addi a0,s0,8 + 83f44454: 08d000ef jal ra,83f44ce0 + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + 83f44458: 06641783 lh a5,102(s0) + 83f4445c: b5b1 j 83f442a8 + delay_para(&pst3Ainfo->para_obj); + 83f4445e: 854a mv a0,s2 + 83f44460: 76c000ef jal ra,83f44bcc + pst3Ainfo->delay_state = delay_init(&pst3Ainfo->para_obj); + 83f44464: 854a mv a0,s2 + 83f44466: 78c000ef jal ra,83f44bf2 + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + 83f4446a: 06641783 lh a5,102(s0) + pst3Ainfo->delay_state = delay_init(&pst3Ainfo->para_obj); + 83f4446e: e008 sd a0,0(s0) + 83f44470: bd05 j 83f442a0 + LOG_ERROR("malloc failed.aec init failed.\n"); + 83f44472: 0000f797 auipc a5,0xf + 83f44476: d4e7a783 lw a5,-690(a5) # 83f531c0 + 83f4447a: f2f050e3 blez a5,83f4439a + 83f4447e: 0e500613 li a2,229 + 83f44482: 0000d597 auipc a1,0xd + 83f44486: 03e58593 addi a1,a1,62 # 83f514c0 <__func__.4> + 83f4448a: 0000d517 auipc a0,0xd + 83f4448e: c1650513 addi a0,a0,-1002 # 83f510a0 <__func__.3+0x18> + 83f44492: 303070ef jal ra,83f4bf94 + 83f44496: b711 j 83f4439a + NR_para(&pst3Ainfo->para_obj, &pst3Ainfo->aa, &pst3Ainfo->mu); + 83f44498: 0bc40613 addi a2,s0,188 + 83f4449c: 0b840593 addi a1,s0,184 + 83f444a0: 854a mv a0,s2 + 83f444a2: 721020ef jal ra,83f473c2 + pst3Ainfo->nr_state = NR_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->aa, pst3Ainfo->mu); + 83f444a6: 0bc42607 flw fa2,188(s0) + 83f444aa: 0b842587 flw fa1,184(s0) + 83f444ae: 06042507 flw fa0,96(s0) + 83f444b2: 0a000513 li a0,160 + 83f444b6: 028030ef jal ra,83f474de + 83f444ba: e068 sd a0,192(s0) + if (cond2) { + 83f444bc: bda5 j 83f44334 + +0000000083f444be : + + + +int audio_ssp_process(void *handle, short *mic_in, short *ref_in, short *dataout, int iLength) +{ + 83f444be: 715d addi sp,sp,-80 + 83f444c0: e486 sd ra,72(sp) + 83f444c2: e0a2 sd s0,64(sp) + 83f444c4: fc26 sd s1,56(sp) + 83f444c6: f84a sd s2,48(sp) + 83f444c8: f44e sd s3,40(sp) + 83f444ca: f052 sd s4,32(sp) + 83f444cc: ec56 sd s5,24(sp) + int nFFT = 2*len; + float alpha, alpha2; + float tmp1 = 0.0; + struct st3AInfo *pst3Ainfo = (struct st3AInfo *)handle; + + if (!pst3Ainfo) { + 83f444ce: 4c050263 beqz a0,83f44992 + printf("[error]audio_ssp_process error.\n"); + return -1; + } + + if(!(pst3Ainfo && pst3Ainfo->bInitOk)) + 83f444d2: 6785 lui a5,0x1 + 83f444d4: 97aa add a5,a5,a0 + 83f444d6: 579c lw a5,40(a5) + 83f444d8: 84aa mv s1,a0 + 83f444da: 4a078463 beqz a5,83f44982 + { + printf("[error]audio_ssp_process error params.\n"); + return -1; + } + + if(iLength != 160) + 83f444de: 0a000793 li a5,160 + 83f444e2: 48f71863 bne a4,a5,83f44972 + 83f444e6: 892e mv s2,a1 + 83f444e8: 89b2 mv s3,a2 + 83f444ea: 8436 mv s0,a3 + { + printf("[error]audio_ssp_process parameter len must be 160 frames.\n"); + return -1; + } + if(!(mic_in || dataout)) + 83f444ec: c5f5 beqz a1,83f445d8 + { + printf("[error]audio_ssp_process NULL parameers.\n"); + return -2; + } + if (ref_in == NULL) { + 83f444ee: 18098e63 beqz s3,83f4468a + //printf("[v]ref_in null\n"); + pst3Ainfo->para_obj.para_fun_config &= (~(LP_AEC_ENABLE | NLP_AES_ENABLE)); + } + //port from ssp_main.c + //printf("[v]pst3Ainfo->para_obj.para_fun_config[%x]\n", pst3Ainfo->para_obj.para_fun_config); + if (pst3Ainfo->para_obj.para_client_config == 2) { + 83f444f2: 0644d703 lhu a4,100(s1) # 1064 <_EL1_STACK_SIZE+0x864> + 83f444f6: 4789 li a5,2 + 83f444f8: 0ef70c63 beq a4,a5,83f445f0 + mic_in[i] = ROUND_POS(((float)(mic_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + } + } + + + if(!(pst3Ainfo->para_obj.para_fun_config)) { + 83f444fc: 0664d783 lhu a5,102(s1) + 83f44500: cbdd beqz a5,83f445b6 + for(i=0;i< hopsize;i++) + dataout[i]=mic_in[i]; + } else { + /* Delay ref signal, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + 83f44502: 0807f713 andi a4,a5,128 + cond1 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + 83f44506: 0107979b slliw a5,a5,0x10 + 83f4450a: 4107d79b sraiw a5,a5,0x10 + if (cond1) { + 83f4450e: 38071763 bnez a4,83f4489c + delay_ref(ref_in, pst3Ainfo->delay_state, hopsize); + } + + /* Apply DG, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + 83f44512: 0407f713 andi a4,a5,64 + 83f44516: 36071863 bnez a4,83f44886 + apply_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + } + + /* DC filter, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + 83f4451a: 0207f713 andi a4,a5,32 + 83f4451e: 34071963 bnez a4,83f44870 + DC_remover(mic_in, mic_in, &pst3Ainfo->dc_obj, hopsize); + } + + /* Notch filter, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + 83f44522: 0107f713 andi a4,a5,16 + 83f44526: 32071a63 bnez a4,83f4485a + } + + /* Linear AEC, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + 83f4452a: 0037f713 andi a4,a5,3 + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + 83f4452e: 0027fa13 andi s4,a5,2 + if (cond1 | cond2) { + 83f44532: 2c071e63 bnez a4,83f4480e + mic_in[i] = dataout[i]; + } + + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + if (!(cond2 | cond3 | cond4)) { + 83f44536: 00c7f713 andi a4,a5,12 + 83f4453a: 00ea6733 or a4,s4,a4 + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + 83f4453e: 0047fa93 andi s5,a5,4 + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + 83f44542: 0087f993 andi s3,a5,8 + if (!(cond2 | cond3 | cond4)) { + 83f44546: 16071163 bnez a4,83f446a8 + /* Compensate DG frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + 83f4454a: 0407f793 andi a5,a5,64 + 83f4454e: 28079263 bnez a5,83f447d2 + 83f44552: 85ca mv a1,s2 + 83f44554: 86a2 mv a3,s0 + 83f44556: 14090713 addi a4,s2,320 + compen_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + } + for (i = 0; i < hopsize; i++) + dataout[i] = mic_in[i]; /* save MCPS if NR+AES+AGC off */ + 83f4455a: 00059783 lh a5,0(a1) + for (i = 0; i < hopsize; i++) + 83f4455e: 0589 addi a1,a1,2 + 83f44560: 0689 addi a3,a3,2 + dataout[i] = mic_in[i]; /* save MCPS if NR+AES+AGC off */ + 83f44562: fef69f23 sh a5,-2(a3) + for (i = 0; i < hopsize; i++) + 83f44566: feb71ae3 bne a4,a1,83f4455a + //printf("[v]AGC_out[0x%x][0x%x]\n", dataout[0], dataout[1]); + } + } + } + + if (pst3Ainfo->nenr_silence_cnt < pst3Ainfo->nenr_silence_time) + 83f4456a: 0cc4a883 lw a7,204(s1) + 83f4456e: 0c84a803 lw a6,200(s1) + 83f44572: 0708dc63 bge a7,a6,83f445ea + pst3Ainfo->nenr_silence_cnt += 1; + 83f44576: 0018879b addiw a5,a7,1 + 83f4457a: 0cf4a623 sw a5,204(s1) + pst3Ainfo->frame += 1; + else + pst3Ainfo->frame = pst3Ainfo->initial_noise_pow_time + 1; + } + + return 0; + 83f4457e: 4501 li a0,0 + if (pst3Ainfo->nenr_silence_cnt > pst3Ainfo->nenr_silence_time) { + 83f44580: 02f85263 bge a6,a5,83f445a4 + if (pst3Ainfo->frame < pst3Ainfo->initial_noise_pow_time) /* avoid overflow, 140ms */ + 83f44584: 2244a707 flw fa4,548(s1) + 83f44588: 2284a787 flw fa5,552(s1) + 83f4458c: a0f717d3 flt.s a5,fa4,fa5 + 83f44590: 10078363 beqz a5,83f44696 + pst3Ainfo->frame += 1; + 83f44594: 0000e797 auipc a5,0xe + 83f44598: cbc7a787 flw fa5,-836(a5) # 83f52250 <__func__.1+0x58> + 83f4459c: 00f77753 fadd.s fa4,fa4,fa5 + 83f445a0: 22e4a227 fsw fa4,548(s1) +} + 83f445a4: 60a6 ld ra,72(sp) + 83f445a6: 6406 ld s0,64(sp) + 83f445a8: 74e2 ld s1,56(sp) + 83f445aa: 7942 ld s2,48(sp) + 83f445ac: 79a2 ld s3,40(sp) + 83f445ae: 7a02 ld s4,32(sp) + 83f445b0: 6ae2 ld s5,24(sp) + 83f445b2: 6161 addi sp,sp,80 + 83f445b4: 8082 ret + 83f445b6: 85ca mv a1,s2 + 83f445b8: 86a2 mv a3,s0 + 83f445ba: 14090713 addi a4,s2,320 + dataout[i]=mic_in[i]; + 83f445be: 00059783 lh a5,0(a1) + for(i=0;i< hopsize;i++) + 83f445c2: 0589 addi a1,a1,2 + 83f445c4: 0689 addi a3,a3,2 + dataout[i]=mic_in[i]; + 83f445c6: fef69f23 sh a5,-2(a3) + for(i=0;i< hopsize;i++) + 83f445ca: feb71ae3 bne a4,a1,83f445be + if (pst3Ainfo->nenr_silence_cnt < pst3Ainfo->nenr_silence_time) + 83f445ce: 0cc4a883 lw a7,204(s1) + 83f445d2: 0c84a803 lw a6,200(s1) + 83f445d6: bf71 j 83f44572 + if(!(mic_in || dataout)) + 83f445d8: fa99 bnez a3,83f444ee + printf("[error]audio_ssp_process NULL parameers.\n"); + 83f445da: 0000d517 auipc a0,0xd + 83f445de: e3e50513 addi a0,a0,-450 # 83f51418 <__func__.3+0x390> + 83f445e2: 1b3070ef jal ra,83f4bf94 + return -2; + 83f445e6: 5579 li a0,-2 + 83f445e8: bf75 j 83f445a4 + pst3Ainfo->nenr_silence_cnt = pst3Ainfo->nenr_silence_time + 1; /* avoid overflow */ + 83f445ea: 0018079b addiw a5,a6,1 + 83f445ee: b771 j 83f4457a + 83f445f0: 7661 lui a2,0xffff8 + 83f445f2: 6521 lui a0,0x8 + 83f445f4: 87ce mv a5,s3 + 83f445f6: 874a mv a4,s2 + 83f445f8: 14098593 addi a1,s3,320 + 83f445fc: 0000e697 auipc a3,0xe + 83f44600: c646a687 flw fa3,-924(a3) # 83f52260 <__func__.1+0x68> + 83f44604: 0000e697 auipc a3,0xe + 83f44608: c606a507 flw fa0,-928(a3) # 83f52264 <__func__.1+0x6c> + 83f4460c: 0000e697 auipc a3,0xe + 83f44610: c5c6a607 flw fa2,-932(a3) # 83f52268 <__func__.1+0x70> + 83f44614: 0000e697 auipc a3,0xe + 83f44618: c586a587 flw fa1,-936(a3) # 83f5226c <__func__.1+0x74> + 83f4461c: 0000e697 auipc a3,0xe + 83f44620: c546a707 flw fa4,-940(a3) # 83f52270 <__func__.1+0x78> + 83f44624: 0609 addi a2,a2,2 + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f44626: 0000e697 auipc a3,0xe + 83f4462a: c2a6a007 flw ft0,-982(a3) # 83f52250 <__func__.1+0x58> + 83f4462e: 157d addi a0,a0,-1 + tmp = (float)(ref_in[i])/(float)(32768.0F) * 15.84F; + 83f44630: 00079683 lh a3,0(a5) + 83f44634: 8832 mv a6,a2 + 83f44636: d006f7d3 fcvt.s.w fa5,a3 + 83f4463a: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f4463e: 10a7f7d3 fmul.s fa5,fa5,fa0 + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f44642: a0c796d3 flt.s a3,fa5,fa2 + 83f44646: ee89 bnez a3,83f44660 + 83f44648: a0f016d3 flt.s a3,ft0,fa5 + 83f4464c: 882a mv a6,a0 + 83f4464e: ea89 bnez a3,83f44660 + ref_in[i] = ROUND_POS(tmp*(short)(32767)); + 83f44650: 70b7f7c3 fmadd.s fa5,fa5,fa1,fa4 + 83f44654: c0079853 fcvt.w.s a6,fa5,rtz + 83f44658: 0108181b slliw a6,a6,0x10 + 83f4465c: 4108581b sraiw a6,a6,0x10 + 83f44660: 01079023 sh a6,0(a5) + mic_in[i] = ROUND_POS(((float)(mic_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + 83f44664: 00071683 lh a3,0(a4) + for (i = 0; i < hopsize; i++) { + 83f44668: 0709 addi a4,a4,2 + 83f4466a: 0789 addi a5,a5,2 + mic_in[i] = ROUND_POS(((float)(mic_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + 83f4466c: d006f7d3 fcvt.s.w fa5,a3 + 83f44670: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f44674: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f44678: 70b7f7c3 fmadd.s fa5,fa5,fa1,fa4 + 83f4467c: c00796d3 fcvt.w.s a3,fa5,rtz + 83f44680: fed71f23 sh a3,-2(a4) + for (i = 0; i < hopsize; i++) { + 83f44684: faf596e3 bne a1,a5,83f44630 + 83f44688: bd95 j 83f444fc + pst3Ainfo->para_obj.para_fun_config &= (~(LP_AEC_ENABLE | NLP_AES_ENABLE)); + 83f4468a: 0664d783 lhu a5,102(s1) + 83f4468e: 9bf1 andi a5,a5,-4 + 83f44690: 06f49323 sh a5,102(s1) + 83f44694: bdb9 j 83f444f2 + pst3Ainfo->frame = pst3Ainfo->initial_noise_pow_time + 1; + 83f44696: 0000e797 auipc a5,0xe + 83f4469a: bba7a707 flw fa4,-1094(a5) # 83f52250 <__func__.1+0x58> + 83f4469e: 00e7f7d3 fadd.s fa5,fa5,fa4 + 83f446a2: 22f4a227 fsw fa5,548(s1) + 83f446a6: bdfd j 83f445a4 + if (cond3 | pst3Ainfo->para_obj.para_agc_vad_ena) { + 83f446a8: 07e4c783 lbu a5,126(s1) + 83f446ac: 00fae7b3 or a5,s5,a5 + 83f446b0: 10078463 beqz a5,83f447b8 + if (pst3Ainfo->nenr_silence_cnt >= pst3Ainfo->nenr_silence_time) { + 83f446b4: 0cc4a703 lw a4,204(s1) + 83f446b8: 0c84a783 lw a5,200(s1) + NR(mic_in, + 83f446bc: 60f0 ld a2,192(s1) + if (pst3Ainfo->nenr_silence_cnt >= pst3Ainfo->nenr_silence_time) { + 83f446be: 28f75c63 bge a4,a5,83f44956 + 83f446c2: 6685 lui a3,0x1 + 83f446c4: c3068693 addi a3,a3,-976 # c30 <_EL1_STACK_SIZE+0x430> + 83f446c8: 96a6 add a3,a3,s1 + 83f446ca: 4781 li a5,0 + for (i = 0; i < hopsize; i++) { + 83f446cc: 14000593 li a1,320 + 83f446d0: a011 j 83f446d4 + pst3Ainfo->nr_state->x_old[i] = mic_in[i]; + 83f446d2: 60f0 ld a2,192(s1) + pst3Ainfo->ne_float_out[i] = 0.0F; + 83f446d4: 0006a023 sw zero,0(a3) + pst3Ainfo->nr_state->x_old[i] = mic_in[i]; + 83f446d8: 6e18 ld a4,24(a2) + 83f446da: 00f90633 add a2,s2,a5 + 83f446de: 00061603 lh a2,0(a2) # ffffffffffff8000 <_end+0xffffffff7bff82c0> + 83f446e2: 973e add a4,a4,a5 + for (i = 0; i < hopsize; i++) { + 83f446e4: 0789 addi a5,a5,2 + pst3Ainfo->nr_state->x_old[i] = mic_in[i]; + 83f446e6: 00c71023 sh a2,0(a4) + for (i = 0; i < hopsize; i++) { + 83f446ea: 0691 addi a3,a3,4 + 83f446ec: feb793e3 bne a5,a1,83f446d2 + if (cond3) { + 83f446f0: 0c0a8463 beqz s5,83f447b8 + 83f446f4: 6705 lui a4,0x1 + 83f446f6: c3070793 addi a5,a4,-976 # c30 <_EL1_STACK_SIZE+0x430> + 83f446fa: eb070593 addi a1,a4,-336 + pst3Ainfo->ne_float_out[i] = MIN(MAX(pst3Ainfo->ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + 83f446fe: 6521 lui a0,0x8 + if (pst3Ainfo->ne_float_out[i] < 0.0F) + 83f44700: f00006d3 fmv.w.x fa3,zero + 83f44704: 97a6 add a5,a5,s1 + 83f44706: 8722 mv a4,s0 + 83f44708: 95a6 add a1,a1,s1 + 83f4470a: 0000e697 auipc a3,0xe + 83f4470e: b5e6a607 flw fa2,-1186(a3) # 83f52268 <__func__.1+0x70> + pst3Ainfo->ne_float_out[i] = MIN(MAX(pst3Ainfo->ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + 83f44712: 0000e697 auipc a3,0xe + 83f44716: b3e6a707 flw fa4,-1218(a3) # 83f52250 <__func__.1+0x58> + 83f4471a: 157d addi a0,a0,-1 + dataout[i] = ROUND_POS((pst3Ainfo->ne_float_out[i]*(short)(32767))); + 83f4471c: 0000e697 auipc a3,0xe + 83f44720: b506a507 flw fa0,-1200(a3) # 83f5226c <__func__.1+0x74> + 83f44724: 0000e697 auipc a3,0xe + 83f44728: b4c6a587 flw fa1,-1204(a3) # 83f52270 <__func__.1+0x78> + dataout[i] = ROUND_NEG((pst3Ainfo->ne_float_out[i]*(int)(32768))); + 83f4472c: 0000e697 auipc a3,0xe + 83f44730: b486a087 flw ft1,-1208(a3) # 83f52274 <__func__.1+0x7c> + 83f44734: 0000e697 auipc a3,0xe + 83f44738: b446a007 flw ft0,-1212(a3) # 83f52278 <__func__.1+0x80> + 83f4473c: a829 j 83f44756 + pst3Ainfo->ne_float_out[i] = MIN(MAX(pst3Ainfo->ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + 83f4473e: a0f716d3 flt.s a3,fa4,fa5 + 83f44742: 862a mv a2,a0 + 83f44744: c2c5 beqz a3,83f447e4 + 83f44746: 00e7a027 fsw fa4,0(a5) + dataout[i] = ROUND_POS((pst3Ainfo->ne_float_out[i]*(short)(32767))); + 83f4474a: 00c71023 sh a2,0(a4) + for (i = 0; i < hopsize; i++) { + 83f4474e: 0791 addi a5,a5,4 + 83f44750: 0709 addi a4,a4,2 + 83f44752: 02f58063 beq a1,a5,83f44772 + pst3Ainfo->ne_float_out[i] = MIN(MAX(pst3Ainfo->ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + 83f44756: 0007a787 flw fa5,0(a5) + 83f4475a: 7661 lui a2,0xffff8 + 83f4475c: a0c796d3 flt.s a3,fa5,fa2 + 83f44760: def9 beqz a3,83f4473e + 83f44762: 00c7a027 fsw fa2,0(a5) + dataout[i] = ROUND_POS((pst3Ainfo->ne_float_out[i]*(short)(32767))); + 83f44766: 00c71023 sh a2,0(a4) + for (i = 0; i < hopsize; i++) { + 83f4476a: 0791 addi a5,a5,4 + 83f4476c: 0709 addi a4,a4,2 + 83f4476e: fef594e3 bne a1,a5,83f44756 + if (cond2) { + 83f44772: 1a0a1b63 bnez s4,83f44928 + if (2 == pst3Ainfo->para_obj.para_client_config) { + 83f44776: 0644d703 lhu a4,100(s1) + 83f4477a: 4789 li a5,2 + 83f4477c: 12f70963 beq a4,a5,83f448ae + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + 83f44780: 0664d783 lhu a5,102(s1) + if (cond1) { + 83f44784: 0407f793 andi a5,a5,64 + 83f44788: 1a079e63 bnez a5,83f44944 + AGC(dataout, + 83f4478c: 0c84a803 lw a6,200(s1) + 83f44790: 0cc4a883 lw a7,204(s1) + if (cond4) { + 83f44794: dc098fe3 beqz s3,83f44572 + AGC(dataout, + 83f44798: 0d04c783 lbu a5,208(s1) + 83f4479c: 2204c703 lbu a4,544(s1) + 83f447a0: 6605 lui a2,0x1 + 83f447a2: 4685 li a3,1 + 83f447a4: 1641 addi a2,a2,-16 + 83f447a6: e036 sd a3,0(sp) + 83f447a8: 9626 add a2,a2,s1 + 83f447aa: 06448693 addi a3,s1,100 + 83f447ae: 85a2 mv a1,s0 + 83f447b0: 8522 mv a0,s0 + 83f447b2: 31d040ef jal ra,83f492ce + 83f447b6: bb55 j 83f4456a + 83f447b8: 85ca mv a1,s2 + 83f447ba: 87a2 mv a5,s0 + 83f447bc: 14090693 addi a3,s2,320 + dataout[i] = mic_in[i]; + 83f447c0: 00059703 lh a4,0(a1) + for (i = 0; i < hopsize; i++) + 83f447c4: 0589 addi a1,a1,2 + 83f447c6: 0789 addi a5,a5,2 + dataout[i] = mic_in[i]; + 83f447c8: fee79f23 sh a4,-2(a5) + for (i = 0; i < hopsize; i++) + 83f447cc: feb69ae3 bne a3,a1,83f447c0 + 83f447d0: b74d j 83f44772 + compen_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + 83f447d2: 0a000693 li a3,160 + 83f447d6: 00848613 addi a2,s1,8 + 83f447da: 85ca mv a1,s2 + 83f447dc: 854a mv a0,s2 + 83f447de: 5e2000ef jal ra,83f44dc0 + 83f447e2: bb85 j 83f44552 + if (pst3Ainfo->ne_float_out[i] < 0.0F) + 83f447e4: a0d796d3 flt.s a3,fa5,fa3 + 83f447e8: ea91 bnez a3,83f447fc + dataout[i] = ROUND_POS((pst3Ainfo->ne_float_out[i]*(short)(32767))); + 83f447ea: 58a7f7c3 fmadd.s fa5,fa5,fa0,fa1 + 83f447ee: c0079653 fcvt.w.s a2,fa5,rtz + 83f447f2: 0106161b slliw a2,a2,0x10 + 83f447f6: 4106561b sraiw a2,a2,0x10 + 83f447fa: bf81 j 83f4474a + dataout[i] = ROUND_NEG((pst3Ainfo->ne_float_out[i]*(int)(32768))); + 83f447fc: 0017f7c3 fmadd.s fa5,fa5,ft1,ft0 + 83f44800: c0079653 fcvt.w.s a2,fa5,rtz + 83f44804: 0106161b slliw a2,a2,0x10 + 83f44808: 4106561b sraiw a2,a2,0x10 + 83f4480c: bf3d j 83f4474a + LP_AEC(pst3Ainfo->aec_state, mic_in, ref_in, dataout); + 83f4480e: 64a8 ld a0,72(s1) + 83f44810: 86a2 mv a3,s0 + 83f44812: 864e mv a2,s3 + 83f44814: 85ca mv a1,s2 + 83f44816: 565000ef jal ra,83f4557a + if (cond2) { + 83f4481a: 020a0163 beqz s4,83f4483c + 83f4481e: 4781 li a5,0 + for (i = 0; i < hopsize; i++) + 83f44820: 14000613 li a2,320 + pst3Ainfo->aes_state->aes_std_in[i] = mic_in[i]; + 83f44824: 68b8 ld a4,80(s1) + 83f44826: 00f906b3 add a3,s2,a5 + 83f4482a: 00069683 lh a3,0(a3) + 83f4482e: 6378 ld a4,192(a4) + 83f44830: 973e add a4,a4,a5 + 83f44832: 00d71023 sh a3,0(a4) + for (i = 0; i < hopsize; i++) + 83f44836: 0789 addi a5,a5,2 + 83f44838: fec796e3 bne a5,a2,83f44824 + 83f4483c: 87a2 mv a5,s0 + 83f4483e: 874a mv a4,s2 + 83f44840: 14040613 addi a2,s0,320 + mic_in[i] = dataout[i]; + 83f44844: 00079683 lh a3,0(a5) + for (i = 0; i < hopsize; i++) + 83f44848: 0789 addi a5,a5,2 + 83f4484a: 0709 addi a4,a4,2 + mic_in[i] = dataout[i]; + 83f4484c: fed71f23 sh a3,-2(a4) + for (i = 0; i < hopsize; i++) + 83f44850: fef61ae3 bne a2,a5,83f44844 + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + 83f44854: 06649783 lh a5,102(s1) + 83f44858: b9f9 j 83f44536 + notch_filter(mic_in, mic_in, &pst3Ainfo->notch_obj, hopsize); + 83f4485a: 0a000693 li a3,160 + 83f4485e: 02048613 addi a2,s1,32 + 83f44862: 85ca mv a1,s2 + 83f44864: 854a mv a0,s2 + 83f44866: 686040ef jal ra,83f48eec + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + 83f4486a: 06649783 lh a5,102(s1) + 83f4486e: b975 j 83f4452a + DC_remover(mic_in, mic_in, &pst3Ainfo->dc_obj, hopsize); + 83f44870: 0a000693 li a3,160 + 83f44874: 01048613 addi a2,s1,16 + 83f44878: 85ca mv a1,s2 + 83f4487a: 854a mv a0,s2 + 83f4487c: 24a000ef jal ra,83f44ac6 + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + 83f44880: 06649783 lh a5,102(s1) + 83f44884: b979 j 83f44522 + apply_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + 83f44886: 0a000693 li a3,160 + 83f4488a: 00848613 addi a2,s1,8 + 83f4488e: 85ca mv a1,s2 + 83f44890: 854a mv a0,s2 + 83f44892: 4a6000ef jal ra,83f44d38 + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + 83f44896: 06649783 lh a5,102(s1) + 83f4489a: b141 j 83f4451a + delay_ref(ref_in, pst3Ainfo->delay_state, hopsize); + 83f4489c: 608c ld a1,0(s1) + 83f4489e: 0a000613 li a2,160 + 83f448a2: 854e mv a0,s3 + 83f448a4: 3ea000ef jal ra,83f44c8e + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + 83f448a8: 06649783 lh a5,102(s1) + 83f448ac: b19d j 83f44512 + 83f448ae: 7661 lui a2,0xffff8 + 83f448b0: 6521 lui a0,0x8 + 83f448b2: 87a2 mv a5,s0 + 83f448b4: 14040593 addi a1,s0,320 + 83f448b8: 0000e717 auipc a4,0xe + 83f448bc: 9a872687 flw fa3,-1624(a4) # 83f52260 <__func__.1+0x68> + 83f448c0: 0000e717 auipc a4,0xe + 83f448c4: 9a872607 flw fa2,-1624(a4) # 83f52268 <__func__.1+0x70> + 83f448c8: 0000e717 auipc a4,0xe + 83f448cc: 9b472707 flw fa4,-1612(a4) # 83f5227c <__func__.1+0x84> + 83f448d0: 0609 addi a2,a2,2 + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f448d2: 0000e717 auipc a4,0xe + 83f448d6: 97e72587 flw fa1,-1666(a4) # 83f52250 <__func__.1+0x58> + 83f448da: 157d addi a0,a0,-1 + dataout[i] = ROUND_POS(tmp*(short)(32767)); + 83f448dc: 0000e717 auipc a4,0xe + 83f448e0: 99072007 flw ft0,-1648(a4) # 83f5226c <__func__.1+0x74> + 83f448e4: 0000e717 auipc a4,0xe + 83f448e8: 98c72507 flw fa0,-1652(a4) # 83f52270 <__func__.1+0x78> + tmp = (float)(dataout[i])/(float)(32768.0F) * 1.9952F; + 83f448ec: 00079683 lh a3,0(a5) + 83f448f0: 8732 mv a4,a2 + 83f448f2: d006f7d3 fcvt.s.w fa5,a3 + 83f448f6: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f448fa: 10e7f7d3 fmul.s fa5,fa5,fa4 + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f448fe: a0c796d3 flt.s a3,fa5,fa2 + 83f44902: ee89 bnez a3,83f4491c + 83f44904: a0f596d3 flt.s a3,fa1,fa5 + 83f44908: 872a mv a4,a0 + 83f4490a: ea89 bnez a3,83f4491c + dataout[i] = ROUND_POS(tmp*(short)(32767)); + 83f4490c: 5007f7c3 fmadd.s fa5,fa5,ft0,fa0 + 83f44910: c0079753 fcvt.w.s a4,fa5,rtz + 83f44914: 0107171b slliw a4,a4,0x10 + 83f44918: 4107571b sraiw a4,a4,0x10 + 83f4491c: 00e79023 sh a4,0(a5) + for (i = 0; i < hopsize; i++) { + 83f44920: 0789 addi a5,a5,2 + 83f44922: fcf595e3 bne a1,a5,83f448ec + 83f44926: bda9 j 83f44780 + NLP_AES(pst3Ainfo->aes_state, dataout, pst3Ainfo->frame, pst3Ainfo->speech_vad); + 83f44928: 2204c603 lbu a2,544(s1) + 83f4492c: 2244a507 flw fa0,548(s1) + 83f44930: 68a8 ld a0,80(s1) + 83f44932: 85a2 mv a1,s0 + 83f44934: 5c4030ef jal ra,83f47ef8 + pst3Ainfo->st_vad = (boolean_T)pst3Ainfo->aes_state->st_vad; + 83f44938: 68bc ld a5,80(s1) + 83f4493a: 0bc7a783 lw a5,188(a5) + 83f4493e: 0cf48823 sb a5,208(s1) + 83f44942: bd15 j 83f44776 + compen_DG(dataout, dataout, &pst3Ainfo->dg_obj, hopsize); + 83f44944: 0a000693 li a3,160 + 83f44948: 00848613 addi a2,s1,8 + 83f4494c: 85a2 mv a1,s0 + 83f4494e: 8522 mv a0,s0 + 83f44950: 470000ef jal ra,83f44dc0 + 83f44954: bd25 j 83f4478c + NR(mic_in, + 83f44956: 2284a507 flw fa0,552(s1) + pst3Ainfo->ne_float_out); + 83f4495a: 6705 lui a4,0x1 + 83f4495c: c3070713 addi a4,a4,-976 # c30 <_EL1_STACK_SIZE+0x430> + NR(mic_in, + 83f44960: 9726 add a4,a4,s1 + 83f44962: 22048693 addi a3,s1,544 + 83f44966: 22448593 addi a1,s1,548 + 83f4496a: 854a mv a0,s2 + 83f4496c: 58b010ef jal ra,83f466f6 + 83f44970: b341 j 83f446f0 + printf("[error]audio_ssp_process parameter len must be 160 frames.\n"); + 83f44972: 0000d517 auipc a0,0xd + 83f44976: a6650513 addi a0,a0,-1434 # 83f513d8 <__func__.3+0x350> + 83f4497a: 61a070ef jal ra,83f4bf94 + return -1; + 83f4497e: 557d li a0,-1 + 83f44980: b115 j 83f445a4 + printf("[error]audio_ssp_process error params.\n"); + 83f44982: 0000d517 auipc a0,0xd + 83f44986: a2e50513 addi a0,a0,-1490 # 83f513b0 <__func__.3+0x328> + 83f4498a: 60a070ef jal ra,83f4bf94 + return -1; + 83f4498e: 557d li a0,-1 + 83f44990: b911 j 83f445a4 + printf("[error]audio_ssp_process error.\n"); + 83f44992: 0000d517 auipc a0,0xd + 83f44996: 9f650513 addi a0,a0,-1546 # 83f51388 <__func__.3+0x300> + 83f4499a: 5fa070ef jal ra,83f4bf94 + return -1; + 83f4499e: 557d li a0,-1 + 83f449a0: b111 j 83f445a4 + +0000000083f449a2 : + + +int audio_ssp_deinit(void *handle) +{ + 83f449a2: 7179 addi sp,sp,-48 + 83f449a4: f406 sd ra,40(sp) + 83f449a6: f022 sd s0,32(sp) + 83f449a8: ec26 sd s1,24(sp) + 83f449aa: e84a sd s2,16(sp) + 83f449ac: e44e sd s3,8(sp) + 83f449ae: e052 sd s4,0(sp) + struct st3AInfo *pst3Ainfo = (struct st3AInfo *)handle; + + if (!pst3Ainfo) { + 83f449b0: c545 beqz a0,83f44a58 + LOG_ERROR("audio_ssp_deinit NULL handle\n"); + return -1; + } + short cond1, cond2, cond3, cond4, cond6; + + if (!pst3Ainfo->bInitOk) { + 83f449b2: 6785 lui a5,0x1 + 83f449b4: 97aa add a5,a5,a0 + 83f449b6: 5798 lw a4,40(a5) + 83f449b8: 842a mv s0,a0 + 83f449ba: cb3d beqz a4,83f44a30 + LOG_ERROR("audio_ssp_deinit not init\n"); + return -1; + } + pst3Ainfo->bInitOk = 0; + 83f449bc: 0207a423 sw zero,40(a5) # 1028 <_EL1_STACK_SIZE+0x828> + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + 83f449c0: 06651783 lh a5,102(a0) + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + cond6 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + + if (cond1 | cond2) { + 83f449c4: 0037f713 andi a4,a5,3 + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + 83f449c8: 0027f993 andi s3,a5,2 + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + 83f449cc: 0047fa13 andi s4,a5,4 + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + 83f449d0: 0087f913 andi s2,a5,8 + cond6 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + 83f449d4: 0807f493 andi s1,a5,128 + if (cond1 | cond2) { + 83f449d8: e731 bnez a4,83f44a24 + LP_AEC_free(pst3Ainfo->aec_state); + } + if (cond2) { + 83f449da: 00098763 beqz s3,83f449e8 + if (pst3Ainfo->aec_state != NULL) + 83f449de: 643c ld a5,72(s0) + 83f449e0: c781 beqz a5,83f449e8 + NLP_AES_free(pst3Ainfo->aes_state); + 83f449e2: 6828 ld a0,80(s0) + 83f449e4: 166030ef jal ra,83f47b4a + } + if (cond3 | (cond4 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + 83f449e8: 02090763 beqz s2,83f44a16 + 83f449ec: 07e44783 lbu a5,126(s0) + 83f449f0: c39d beqz a5,83f44a16 + if (pst3Ainfo->nr_state) + 83f449f2: 6068 ld a0,192(s0) + 83f449f4: c119 beqz a0,83f449fa + NR_free(pst3Ainfo->nr_state); + 83f449f6: 5c3020ef jal ra,83f477b8 + } + if (cond6) { + 83f449fa: e08d bnez s1,83f44a1c + delay_free(pst3Ainfo->delay_state); + } +#ifndef PLATFORM_RTOS + free(pst3Ainfo); +#else + vPortFree(pst3Ainfo); + 83f449fc: 8522 mv a0,s0 + 83f449fe: 4ed090ef jal ra,83f4e6ea +#endif + //pst3Ainfo = NULL; + return 0; + 83f44a02: 4401 li s0,0 +} + 83f44a04: 70a2 ld ra,40(sp) + 83f44a06: 8522 mv a0,s0 + 83f44a08: 7402 ld s0,32(sp) + 83f44a0a: 64e2 ld s1,24(sp) + 83f44a0c: 6942 ld s2,16(sp) + 83f44a0e: 69a2 ld s3,8(sp) + 83f44a10: 6a02 ld s4,0(sp) + 83f44a12: 6145 addi sp,sp,48 + 83f44a14: 8082 ret + if (cond3 | (cond4 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + 83f44a16: fc0a1ee3 bnez s4,83f449f2 + if (cond6) { + 83f44a1a: d0ed beqz s1,83f449fc + delay_free(pst3Ainfo->delay_state); + 83f44a1c: 6008 ld a0,0(s0) + 83f44a1e: 256000ef jal ra,83f44c74 + 83f44a22: bfe9 j 83f449fc + LP_AEC_free(pst3Ainfo->aec_state); + 83f44a24: 6528 ld a0,72(a0) + 83f44a26: 29d000ef jal ra,83f454c2 + if (cond2) { + 83f44a2a: fa098fe3 beqz s3,83f449e8 + 83f44a2e: bf45 j 83f449de + LOG_ERROR("audio_ssp_deinit not init\n"); + 83f44a30: 0000e797 auipc a5,0xe + 83f44a34: 7907a783 lw a5,1936(a5) # 83f531c0 + return -1; + 83f44a38: 547d li s0,-1 + LOG_ERROR("audio_ssp_deinit not init\n"); + 83f44a3a: fcf055e3 blez a5,83f44a04 + 83f44a3e: 21700613 li a2,535 + 83f44a42: 0000d597 auipc a1,0xd + 83f44a46: a6658593 addi a1,a1,-1434 # 83f514a8 <__func__.3> + 83f44a4a: 0000d517 auipc a0,0xd + 83f44a4e: a2e50513 addi a0,a0,-1490 # 83f51478 <__func__.3+0x3f0> + 83f44a52: 542070ef jal ra,83f4bf94 + 83f44a56: b77d j 83f44a04 + LOG_ERROR("audio_ssp_deinit NULL handle\n"); + 83f44a58: 0000e797 auipc a5,0xe + 83f44a5c: 7687a783 lw a5,1896(a5) # 83f531c0 + return -1; + 83f44a60: 547d li s0,-1 + LOG_ERROR("audio_ssp_deinit NULL handle\n"); + 83f44a62: faf051e3 blez a5,83f44a04 + 83f44a66: 21100613 li a2,529 + 83f44a6a: 0000d597 auipc a1,0xd + 83f44a6e: a3e58593 addi a1,a1,-1474 # 83f514a8 <__func__.3> + 83f44a72: 0000d517 auipc a0,0xd + 83f44a76: 9d650513 addi a0,a0,-1578 # 83f51448 <__func__.3+0x3c0> + 83f44a7a: 51a070ef jal ra,83f4bf94 + 83f44a7e: b759 j 83f44a04 + +0000000083f44a80 : +void DC_remover_init(dcfilter_struct* dc_obj, float Fs) +{ + int i; + int sampling_rate; + + sampling_rate = (int)Fs; + 83f44a80: c00517d3 fcvt.w.s a5,fa0,rtz + + if (sampling_rate == 8000) + 83f44a84: 6709 lui a4,0x2 + 83f44a86: f4070713 addi a4,a4,-192 # 1f40 <_EL1_STACK_SIZE+0x1740> + sampling_rate = (int)Fs; + 83f44a8a: 2781 sext.w a5,a5 + if (sampling_rate == 8000) + 83f44a8c: 02e78263 beq a5,a4,83f44ab0 + dc_obj->dcfilter_radius = .9f; + if (sampling_rate == 16000) + 83f44a90: 6711 lui a4,0x4 + 83f44a92: e8070713 addi a4,a4,-384 # 3e80 <_EL1_STACK_SIZE+0x3680> + 83f44a96: 00e79863 bne a5,a4,83f44aa6 + dc_obj->dcfilter_radius = .982f; + 83f44a9a: 0000d797 auipc a5,0xd + 83f44a9e: 7ea7a787 flw fa5,2026(a5) # 83f52284 <__func__.1+0x8c> + 83f44aa2: 00f52027 fsw fa5,0(a0) + + for (i=0;i<2;i++) + dc_obj->dcfilter_mem[i] = 0; + 83f44aa6: 00052223 sw zero,4(a0) + 83f44aaa: 00052423 sw zero,8(a0) + +} + 83f44aae: 8082 ret + dc_obj->dcfilter_radius = .9f; + 83f44ab0: 0000d797 auipc a5,0xd + 83f44ab4: 7d07a787 flw fa5,2000(a5) # 83f52280 <__func__.1+0x88> + 83f44ab8: 00f52027 fsw fa5,0(a0) + dc_obj->dcfilter_mem[i] = 0; + 83f44abc: 00052223 sw zero,4(a0) + 83f44ac0: 00052423 sw zero,8(a0) +} + 83f44ac4: 8082 ret + +0000000083f44ac6 : +{ + int i; + float den2; + float tmp; + + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + 83f44ac6: 00062507 flw fa0,0(a2) # ffffffffffff8000 <_end+0xffffffff7bff82c0> +{ + 83f44aca: 711d addi sp,sp,-96 + 83f44acc: b422 fsd fs0,40(sp) + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + 83f44ace: 0000d797 auipc a5,0xd + 83f44ad2: 7827a407 flw fs0,1922(a5) # 83f52250 <__func__.1+0x58> + 83f44ad6: 08a47453 fsub.s fs0,fs0,fa0 + 83f44ada: 0000d797 auipc a5,0xd + 83f44ade: 7ae7a787 flw fa5,1966(a5) # 83f52288 <__func__.1+0x90> +{ + 83f44ae2: ec86 sd ra,88(sp) + 83f44ae4: e8a2 sd s0,80(sp) + 83f44ae6: e4a6 sd s1,72(sp) + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + 83f44ae8: 10f477d3 fmul.s fa5,fs0,fa5 +{ + 83f44aec: e0ca sd s2,64(sp) + 83f44aee: fc4e sd s3,56(sp) + 83f44af0: f852 sd s4,48(sp) + 83f44af2: b026 fsd fs1,32(sp) + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + 83f44af4: 1087f453 fmul.s fs0,fa5,fs0 +{ + 83f44af8: ac4a fsd fs2,24(sp) + 83f44afa: a84e fsd fs3,16(sp) + 83f44afc: a452 fsd fs4,8(sp) + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + 83f44afe: 40a57443 fmadd.s fs0,fa0,fa0,fs0 + + for (i=0;i + 83f44b06: fff6899b addiw s3,a3,-1 + 83f44b0a: 02099793 slli a5,s3,0x20 + 83f44b0e: 01f7d993 srli s3,a5,0x1f + float vin = in[i]; + float vout = dc_obj->dcfilter_mem[0] + vin; + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + dc_obj->dcfilter_mem[1] = vin - den2 * vout; /* history state */ + tmp = dc_obj->dcfilter_radius * vout; + out[i] = (short)WORD2INT(tmp); + 83f44b12: 6a21 lui s4,0x8 + 83f44b14: 00250793 addi a5,a0,2 + 83f44b18: 99be add s3,s3,a5 + 83f44b1a: 8432 mv s0,a2 + 83f44b1c: 84aa mv s1,a0 + 83f44b1e: 892e mv s2,a1 + 83f44b20: 0000d797 auipc a5,0xd + 83f44b24: 76c7a907 flw fs2,1900(a5) # 83f5228c <__func__.1+0x94> + 83f44b28: 0000d797 auipc a5,0xd + 83f44b2c: 7687a487 flw fs1,1896(a5) # 83f52290 <__func__.1+0x98> + 83f44b30: 0000d797 auipc a5,0xd + 83f44b34: 7647aa07 flw fs4,1892(a5) # 83f52294 <__func__.1+0x9c> + 83f44b38: 1a7d addi s4,s4,-1 + 83f44b3a: 0000d797 auipc a5,0xd + 83f44b3e: 75e7b987 fld fs3,1886(a5) # 83f52298 <__func__.1+0xa0> + 83f44b42: a801 j 83f44b52 + 83f44b44: 00f91023 sh a5,0(s2) + for (i=0;i + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + 83f44b4e: 00042507 flw fa0,0(s0) + float vin = in[i]; + 83f44b52: 00049783 lh a5,0(s1) + float vout = dc_obj->dcfilter_mem[0] + vin; + 83f44b56: 00442707 flw fa4,4(s0) + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + 83f44b5a: 00842687 flw fa3,8(s0) + float vin = in[i]; + 83f44b5e: d007f7d3 fcvt.s.w fa5,a5 + for (i=0;idcfilter_mem[0] + vin; + 83f44b66: 00e7f753 fadd.s fa4,fa5,fa4 + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + 83f44b6a: 10a77553 fmul.s fa0,fa4,fa0 + dc_obj->dcfilter_mem[1] = vin - den2 * vout; /* history state */ + 83f44b6e: 78e4774b fnmsub.s fa4,fs0,fa4,fa5 + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + 83f44b72: 08f577d3 fsub.s fa5,fa0,fa5 + out[i] = (short)WORD2INT(tmp); + 83f44b76: a0951753 flt.s a4,fa0,fs1 + dc_obj->dcfilter_mem[1] = vin - den2 * vout; /* history state */ + 83f44b7a: 00e42427 fsw fa4,8(s0) + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + 83f44b7e: 6927f7c3 fmadd.s fa5,fa5,fs2,fa3 + 83f44b82: 00f42227 fsw fa5,4(s0) + out[i] = (short)WORD2INT(tmp); + 83f44b86: ff5d bnez a4,83f44b44 + 83f44b88: a0aa1753 flt.s a4,fs4,fa0 + 83f44b8c: 87d2 mv a5,s4 + 83f44b8e: fb5d bnez a4,83f44b44 + 83f44b90: 42050553 fcvt.d.s fa0,fa0 + for (i=0;i + 83f44b9e: c20517d3 fcvt.w.d a5,fa0,rtz + 83f44ba2: 0107979b slliw a5,a5,0x10 + 83f44ba6: 4107d79b sraiw a5,a5,0x10 + 83f44baa: fef91f23 sh a5,-2(s2) + for (i=0;i + } + +} + 83f44bb2: 60e6 ld ra,88(sp) + 83f44bb4: 6446 ld s0,80(sp) + 83f44bb6: 64a6 ld s1,72(sp) + 83f44bb8: 6906 ld s2,64(sp) + 83f44bba: 79e2 ld s3,56(sp) + 83f44bbc: 7a42 ld s4,48(sp) + 83f44bbe: 3422 fld fs0,40(sp) + 83f44bc0: 3482 fld fs1,32(sp) + 83f44bc2: 2962 fld fs2,24(sp) + 83f44bc4: 29c2 fld fs3,16(sp) + 83f44bc6: 2a22 fld fs4,8(sp) + 83f44bc8: 6125 addi sp,sp,96 + 83f44bca: 8082 ret + +0000000083f44bcc : +{ + ssp_para_struct *ssp_para_obj; + + /* Delay Parameter */ + ssp_para_obj = para; + ssp_para_obj->para_delay_sample = MIN(MAX(ssp_para_obj->para_delay_sample, 1), 3000); /* delay in sample, delay 0 sample if disable DELAY_ENABLE */ + 83f44bcc: 00455783 lhu a5,4(a0) + 83f44bd0: 0107971b slliw a4,a5,0x10 + 83f44bd4: 0107569b srliw a3,a4,0x10 + 83f44bd8: 8736 mv a4,a3 + 83f44bda: e299 bnez a3,83f44be0 + 83f44bdc: 4785 li a5,1 + 83f44bde: 4705 li a4,1 + 83f44be0: 6685 lui a3,0x1 + 83f44be2: bb868693 addi a3,a3,-1096 # bb8 <_EL1_STACK_SIZE+0x3b8> + 83f44be6: 00e6f363 bgeu a3,a4,83f44bec + 83f44bea: 87b6 mv a5,a3 + 83f44bec: 00f51223 sh a5,4(a0) + +} + 83f44bf0: 8082 ret + +0000000083f44bf2 : + +EXPORT DelayState *delay_init(ssp_para_struct *para) +{ + 83f44bf2: 7179 addi sp,sp,-48 + 83f44bf4: e84a sd s2,16(sp) + 83f44bf6: 892a mv s2,a0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44bf8: 02800513 li a0,40 + 83f44bfc: f406 sd ra,40(sp) + 83f44bfe: f022 sd s0,32(sp) + 83f44c00: ec26 sd s1,24(sp) + 83f44c02: e44e sd s3,8(sp) + 83f44c04: 181090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44c08: 02800613 li a2,40 + 83f44c0c: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44c0e: 84aa mv s1,a0 + int i; + ssp_para_struct *ssp_para_obj; + DelayState *st = (DelayState *)mem_alloc(sizeof(DelayState)); + + ssp_para_obj = para; + st->size = 3001; + 83f44c10: 6985 lui s3,0x1 + memset(ptr, 0, size); + 83f44c12: 36a070ef jal ra,83f4bf7c + 83f44c16: bb998793 addi a5,s3,-1095 # bb9 <_EL1_STACK_SIZE+0x3b9> + 83f44c1a: 00f49c23 sh a5,24(s1) + uintptr_t *ptr = pvPortMalloc(size); + 83f44c1e: 77298513 addi a0,s3,1906 + 83f44c22: 163090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44c26: 77298613 addi a2,s3,1906 + 83f44c2a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44c2c: 842a mv s0,a0 + memset(ptr, 0, size); + 83f44c2e: 34e070ef jal ra,83f4bf7c + + st->dly_ref_buf = (short*)mem_alloc(st->size*sizeof(short)); + + for (i=0;isize;i++) + 83f44c32: 0184d783 lhu a5,24(s1) + st->dly_ref_buf = (short*)mem_alloc(st->size*sizeof(short)); + 83f44c36: f080 sd s0,32(s1) + for (i=0;isize;i++) + 83f44c38: cf99 beqz a5,83f44c56 + 83f44c3a: 4781 li a5,0 + st->dly_ref_buf[i] = 0; + 83f44c3c: 00179713 slli a4,a5,0x1 + 83f44c40: 943a add s0,s0,a4 + 83f44c42: 00041023 sh zero,0(s0) + for (i=0;isize;i++) + 83f44c46: 0184d683 lhu a3,24(s1) + 83f44c4a: 0785 addi a5,a5,1 + 83f44c4c: 0007871b sext.w a4,a5 + st->dly_ref_buf[i] = 0; + 83f44c50: 7080 ld s0,32(s1) + for (i=0;isize;i++) + 83f44c52: fed745e3 blt a4,a3,83f44c3c + + st->addr = st->dly_ref_buf; + 83f44c56: e080 sd s0,0(s1) + st->rdptr = st->addr; + 83f44c58: e480 sd s0,8(s1) + st->wrptr = st->addr + ssp_para_obj->para_delay_sample; + 83f44c5a: 00495783 lhu a5,4(s2) + + return st; + +} + 83f44c5e: 8526 mv a0,s1 + st->wrptr = st->addr + ssp_para_obj->para_delay_sample; + 83f44c60: 0786 slli a5,a5,0x1 + 83f44c62: 943e add s0,s0,a5 + 83f44c64: e880 sd s0,16(s1) +} + 83f44c66: 70a2 ld ra,40(sp) + 83f44c68: 7402 ld s0,32(sp) + 83f44c6a: 64e2 ld s1,24(sp) + 83f44c6c: 6942 ld s2,16(sp) + 83f44c6e: 69a2 ld s3,8(sp) + 83f44c70: 6145 addi sp,sp,48 + 83f44c72: 8082 ret + +0000000083f44c74 : + +EXPORT void delay_free(DelayState *st) +{ + 83f44c74: 1141 addi sp,sp,-16 + 83f44c76: e022 sd s0,0(sp) + 83f44c78: e406 sd ra,8(sp) + 83f44c7a: 842a mv s0,a0 +static _inline void mem_free (void *ptr) +{ +#ifndef PLATFORM_RTOS + free(ptr); +#else + vPortFree(ptr); + 83f44c7c: 7108 ld a0,32(a0) + 83f44c7e: 26d090ef jal ra,83f4e6ea + 83f44c82: 8522 mv a0,s0 + mem_free(st->dly_ref_buf); + mem_free(st); + +} + 83f44c84: 6402 ld s0,0(sp) + 83f44c86: 60a2 ld ra,8(sp) + 83f44c88: 0141 addi sp,sp,16 + 83f44c8a: 2610906f j 83f4e6ea + +0000000083f44c8e : + DelayState *st; + short *ptr1, *ptr2, *ptr3; + + st = delay_state; + + ptr1 = st->wrptr; /* write pointer in circular butter */ + 83f44c8e: 6994 ld a3,16(a1) + ptr2 = pin; + ptr3 = st->rdptr; /* read pointer in circular butter */ + 83f44c90: 6598 ld a4,8(a1) + + for (i=0; i + 83f44c96: 0606 slli a2,a2,0x1 + 83f44c98: 00c508b3 add a7,a0,a2 + *ptr1++ = *ptr2; /* read from input buffer and write to circular buffer */ + 83f44c9c: 00051783 lh a5,0(a0) + 83f44ca0: 00268813 addi a6,a3,2 + if(ptr1 >= (st->addr + st->size)) + ptr1 = st->addr; + *ptr2++ = *ptr3++; /* read from circular buffer and write to input buffer */ + 83f44ca4: 0509 addi a0,a0,2 + *ptr1++ = *ptr2; /* read from input buffer and write to circular buffer */ + 83f44ca6: 00f69023 sh a5,0(a3) + if(ptr1 >= (st->addr + st->size)) + 83f44caa: 0185d783 lhu a5,24(a1) + 83f44cae: 6194 ld a3,0(a1) + *ptr2++ = *ptr3++; /* read from circular buffer and write to input buffer */ + 83f44cb0: 00270613 addi a2,a4,2 + if(ptr1 >= (st->addr + st->size)) + 83f44cb4: 0786 slli a5,a5,0x1 + 83f44cb6: 97b6 add a5,a5,a3 + 83f44cb8: 00f87363 bgeu a6,a5,83f44cbe + 83f44cbc: 86c2 mv a3,a6 + *ptr2++ = *ptr3++; /* read from circular buffer and write to input buffer */ + 83f44cbe: 00071783 lh a5,0(a4) + 83f44cc2: fef51f23 sh a5,-2(a0) + if(ptr3 >= (st->addr + st->size)) + 83f44cc6: 0185d783 lhu a5,24(a1) + 83f44cca: 6198 ld a4,0(a1) + 83f44ccc: 0786 slli a5,a5,0x1 + 83f44cce: 97ba add a5,a5,a4 + 83f44cd0: 00f67363 bgeu a2,a5,83f44cd6 + 83f44cd4: 8732 mv a4,a2 + for (i=0; i + ptr3 = st->addr; + } + + st->wrptr = ptr1; /* restore for next frame */ + 83f44cda: e994 sd a3,16(a1) + st->rdptr = ptr3; /* restore for next frame */ + 83f44cdc: e598 sd a4,8(a1) + +} + 83f44cde: 8082 ret + +0000000083f44ce0 : + static float dg_boost_tab[12] = {1.122018F, 1.258925F, 1.412538F, 1.584893F, 1.778279F, 1.995262F, + 2.238721F, 2.511886F, 2.818383F, 3.162278F, 3.548134F, 3.981072F}; + + /* DG Parameter */ + ssp_para_obj = para; + dg_obj = dg; + 83f44ce0: 0065d703 lhu a4,6(a1) + ssp_para_obj->para_dg_target = MIN(MAX(ssp_para_obj->para_dg_target, 1), 12); /* target 0dB if disable DG_ENABLE */ + 83f44ce4: 0107179b slliw a5,a4,0x10 + 83f44ce8: 0107d69b srliw a3,a5,0x10 + 83f44cec: 87b6 mv a5,a3 + 83f44cee: e299 bnez a3,83f44cf4 + 83f44cf0: 4705 li a4,1 + 83f44cf2: 4785 li a5,1 + 83f44cf4: 46b1 li a3,12 + 83f44cf6: 00f6f363 bgeu a3,a5,83f44cfc + 83f44cfa: 4731 li a4,12 + 83f44cfc: 03071793 slli a5,a4,0x30 + 83f44d00: 93c1 srli a5,a5,0x30 + dg_obj->cut_gain = dg_cut_tab[ssp_para_obj->para_dg_target-1]; + 83f44d02: 37fd addiw a5,a5,-1 + 83f44d04: 078a slli a5,a5,0x2 + 83f44d06: 0000c697 auipc a3,0xc + 83f44d0a: 7fa68693 addi a3,a3,2042 # 83f51500 + 83f44d0e: 97b6 add a5,a5,a3 + 83f44d10: 0007a787 flw fa5,0(a5) # ffffffffffff8000 <_end+0xffffffff7bff82c0> + ssp_para_obj->para_dg_target = MIN(MAX(ssp_para_obj->para_dg_target, 1), 12); /* target 0dB if disable DG_ENABLE */ + 83f44d14: 00e59323 sh a4,6(a1) + dg_obj->boost_gain = dg_boost_tab[ssp_para_obj->para_dg_target-1]; + 83f44d18: 0000c717 auipc a4,0xc + 83f44d1c: 7b870713 addi a4,a4,1976 # 83f514d0 + dg_obj->cut_gain = dg_cut_tab[ssp_para_obj->para_dg_target-1]; + 83f44d20: 00f52027 fsw fa5,0(a0) + dg_obj->boost_gain = dg_boost_tab[ssp_para_obj->para_dg_target-1]; + 83f44d24: 0065d783 lhu a5,6(a1) + 83f44d28: 37fd addiw a5,a5,-1 + 83f44d2a: 078a slli a5,a5,0x2 + 83f44d2c: 97ba add a5,a5,a4 + 83f44d2e: 0007a787 flw fa5,0(a5) + 83f44d32: 00f52227 fsw fa5,4(a0) + +} + 83f44d36: 8082 ret + +0000000083f44d38 : + int i; + float tmp; + dg_struct *dg_obj; + + dg_obj = dg; + for (i=0;i + 83f44d3c: fff6879b addiw a5,a3,-1 + 83f44d40: 02079713 slli a4,a5,0x20 + 83f44d44: 01f75793 srli a5,a4,0x1f + 83f44d48: 00258713 addi a4,a1,2 + 83f44d4c: 97ba add a5,a5,a4 + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->cut_gain; + if (tmp < 0.0F) { + 83f44d4e: f0000653 fmv.w.x fa2,zero + 83f44d52: 0000d717 auipc a4,0xd + 83f44d56: 50e72687 flw fa3,1294(a4) # 83f52260 <__func__.1+0x68> + pout[i] = ROUND_NEG(tmp*(int)(32768)); + } else { + pout[i] = ROUND_POS(tmp*(short)(32767)); + 83f44d5a: 0000d717 auipc a4,0xd + 83f44d5e: 51272507 flw fa0,1298(a4) # 83f5226c <__func__.1+0x74> + 83f44d62: 0000d717 auipc a4,0xd + 83f44d66: 50e72587 flw fa1,1294(a4) # 83f52270 <__func__.1+0x78> + pout[i] = ROUND_NEG(tmp*(int)(32768)); + 83f44d6a: 0000d717 auipc a4,0xd + 83f44d6e: 50a72087 flw ft1,1290(a4) # 83f52274 <__func__.1+0x7c> + 83f44d72: 0000d717 auipc a4,0xd + 83f44d76: 50672007 flw ft0,1286(a4) # 83f52278 <__func__.1+0x80> + 83f44d7a: a819 j 83f44d90 + pout[i] = ROUND_POS(tmp*(short)(32767)); + 83f44d7c: 58a7f7c3 fmadd.s fa5,fa5,fa0,fa1 + for (i=0;i + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->cut_gain; + 83f44d90: 00051703 lh a4,0(a0) + 83f44d94: 00062707 flw fa4,0(a2) + 83f44d98: d00777d3 fcvt.s.w fa5,a4 + 83f44d9c: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f44da0: 10e7f7d3 fmul.s fa5,fa5,fa4 + if (tmp < 0.0F) { + 83f44da4: a0c79753 flt.s a4,fa5,fa2 + 83f44da8: db71 beqz a4,83f44d7c + pout[i] = ROUND_NEG(tmp*(int)(32768)); + 83f44daa: 0017f7c3 fmadd.s fa5,fa5,ft1,ft0 + for (i=0;i + } + } + +} + 83f44dbe: 8082 ret + +0000000083f44dc0 : + int i; + float tmp; + dg_struct *dg_obj; + + dg_obj = dg; + for (i=0;i + 83f44dc4: fff6871b addiw a4,a3,-1 + 83f44dc8: 02071793 slli a5,a4,0x20 + 83f44dcc: 01f7d713 srli a4,a5,0x1f + 83f44dd0: 6821 lui a6,0x8 + 83f44dd2: 00258793 addi a5,a1,2 + 83f44dd6: 973e add a4,a4,a5 + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->boost_gain; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + if (tmp < 0.0F) { + 83f44dd8: f0000553 fmv.w.x fa0,zero + 83f44ddc: 0000d797 auipc a5,0xd + 83f44de0: 4847a607 flw fa2,1156(a5) # 83f52260 <__func__.1+0x68> + 83f44de4: 0000d797 auipc a5,0xd + 83f44de8: 4847a687 flw fa3,1156(a5) # 83f52268 <__func__.1+0x70> + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f44dec: 0000d797 auipc a5,0xd + 83f44df0: 4647a587 flw fa1,1124(a5) # 83f52250 <__func__.1+0x58> + 83f44df4: 187d addi a6,a6,-1 + pout[i] = ROUND_NEG(tmp*(int)(32768)); + 83f44df6: 0000d797 auipc a5,0xd + 83f44dfa: 47e7a187 flw ft3,1150(a5) # 83f52274 <__func__.1+0x7c> + 83f44dfe: 0000d797 auipc a5,0xd + 83f44e02: 47a7a107 flw ft2,1146(a5) # 83f52278 <__func__.1+0x80> + } else { + pout[i] = ROUND_POS(tmp*(short)(32767)); + 83f44e06: 0000d797 auipc a5,0xd + 83f44e0a: 4667a087 flw ft1,1126(a5) # 83f5226c <__func__.1+0x74> + 83f44e0e: 0000d797 auipc a5,0xd + 83f44e12: 4627a007 flw ft0,1122(a5) # 83f52270 <__func__.1+0x78> + 83f44e16: a839 j 83f44e34 + 83f44e18: 0017f7c3 fmadd.s fa5,fa5,ft1,ft0 + 83f44e1c: c00796d3 fcvt.w.s a3,fa5,rtz + 83f44e20: 0106969b slliw a3,a3,0x10 + 83f44e24: 4106d69b sraiw a3,a3,0x10 + 83f44e28: 00d59023 sh a3,0(a1) + for (i=0;i + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->boost_gain; + 83f44e34: 00051783 lh a5,0(a0) + 83f44e38: 00462707 flw fa4,4(a2) + 83f44e3c: 76e1 lui a3,0xffff8 + 83f44e3e: d007f7d3 fcvt.s.w fa5,a5 + 83f44e42: 10c7f7d3 fmul.s fa5,fa5,fa2 + 83f44e46: 10e7f7d3 fmul.s fa5,fa5,fa4 + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + 83f44e4a: a0d797d3 flt.s a5,fa5,fa3 + 83f44e4e: ffe9 bnez a5,83f44e28 + 83f44e50: a0f597d3 flt.s a5,fa1,fa5 + 83f44e54: 86c2 mv a3,a6 + 83f44e56: fbe9 bnez a5,83f44e28 + if (tmp < 0.0F) { + 83f44e58: a0a797d3 flt.s a5,fa5,fa0 + 83f44e5c: dfd5 beqz a5,83f44e18 + pout[i] = ROUND_NEG(tmp*(int)(32768)); + 83f44e5e: 1037f7c3 fmadd.s fa5,fa5,ft3,ft2 + for (i=0;i + } + } + +} + 83f44e7a: 8082 ret + +0000000083f44e7c : + + /* LP AEC Parameters */ + para_obj = para; + + tmp = MIN(MAX(para_obj->para_aec_init_filter_len, 1), 13); /* 8kHz: [20ms, 260ms], each step 20ms; 16kHz: [10ms, 130ms], each step 10ms */ + *init_filter_length = tmp; + 83f44e7c: 00855783 lhu a5,8(a0) + 83f44e80: 0107971b slliw a4,a5,0x10 + 83f44e84: 0107569b srliw a3,a4,0x10 + 83f44e88: 8736 mv a4,a3 + 83f44e8a: e299 bnez a3,83f44e90 + 83f44e8c: 4785 li a5,1 + 83f44e8e: 4705 li a4,1 + 83f44e90: 46b5 li a3,13 + 83f44e92: 00e6f363 bgeu a3,a4,83f44e98 + 83f44e96: 47b5 li a5,13 + 83f44e98: 00f61023 sh a5,0(a2) + + tmp = MIN(MAX(para_obj->para_aec_filter_len, 1), 13); /* 8kHz: [20ms, 260ms], each step 20ms; 16kHz: [10ms, 130ms], each step 10ms */ + *filter_length = tmp; + 83f44e9c: 00a55783 lhu a5,10(a0) + 83f44ea0: 0107971b slliw a4,a5,0x10 + 83f44ea4: 0107569b srliw a3,a4,0x10 + 83f44ea8: 8736 mv a4,a3 + 83f44eaa: e299 bnez a3,83f44eb0 + 83f44eac: 4785 li a5,1 + 83f44eae: 4705 li a4,1 + 83f44eb0: 46b5 li a3,13 + 83f44eb2: 00e6f363 bgeu a3,a4,83f44eb8 + 83f44eb6: 47b5 li a5,13 + 83f44eb8: 00f59023 sh a5,0(a1) + +} + 83f44ebc: 8082 ret + +0000000083f44ebe : + +EXPORT LinearEchoState *LP_AEC_init(int frame_size, short filter_length, short init_filter_length, float Fs) +{ + 83f44ebe: 7119 addi sp,sp,-128 + 83f44ec0: e4d6 sd s5,72(sp) + 83f44ec2: 8aaa mv s5,a0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44ec4: 15800513 li a0,344 + 83f44ec8: fc86 sd ra,120(sp) + 83f44eca: f8a2 sd s0,112(sp) + 83f44ecc: f4a6 sd s1,104(sp) + 83f44ece: f0ca sd s2,96(sp) + 83f44ed0: 84ae mv s1,a1 + 83f44ed2: 8932 mv s2,a2 + 83f44ed4: ecce sd s3,88(sp) + 83f44ed6: e8d2 sd s4,80(sp) + 83f44ed8: e0da sd s6,64(sp) + 83f44eda: fc5e sd s7,56(sp) + 83f44edc: f466 sd s9,40(sp) + 83f44ede: ac22 fsd fs0,24(sp) + 83f44ee0: f862 sd s8,48(sp) + 83f44ee2: 20a50453 fmv.s fs0,fa0 + 83f44ee6: a826 fsd fs1,16(sp) + 83f44ee8: a44a fsd fs2,8(sp) + 83f44eea: 69a090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44eee: 15800613 li a2,344 + 83f44ef2: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44ef4: 842a mv s0,a0 + memset(ptr, 0, size); + 83f44ef6: 086070ef jal ra,83f4bf7c + st->sum_adapt = 0; + st->saturated = 0; + st->screwed_up = 0; + + st->sampling_rate = (int)Fs; + st->spec_average = (float)st->frame_size/(float)st->sampling_rate; + 83f44efa: d00af7d3 fcvt.s.w fa5,s5 + st->sampling_rate = (int)Fs; + 83f44efe: c00417d3 fcvt.w.s a5,fs0,rtz + st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; + st->beta_max = (.5f*st->frame_size)/st->sampling_rate; + 83f44f02: 0000d717 auipc a4,0xd + 83f44f06: 36e72407 flw fs0,878(a4) # 83f52270 <__func__.1+0x78> + st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; + 83f44f0a: 00f7f6d3 fadd.s fa3,fa5,fa5 + st->beta_max = (.5f*st->frame_size)/st->sampling_rate; + 83f44f0e: 1087f753 fmul.s fa4,fa5,fs0 + st->spec_average = (float)st->frame_size/(float)st->sampling_rate; + 83f44f12: d007f653 fcvt.s.w fa2,a5 + st->ss = .35f; // fe_smooth_coef; + 83f44f16: 0000d717 auipc a4,0xd + 83f44f1a: 38a72587 flw fa1,906(a4) # 83f522a0 <__func__.1+0xa8> + st->window_size = 2*frame_size; + 83f44f1e: 001a9b1b slliw s6,s5,0x1 + st->spec_average = (float)st->frame_size/(float)st->sampling_rate; + 83f44f22: 18c7f7d3 fdiv.s fa5,fa5,fa2 + st->ss = .35f; // fe_smooth_coef; + 83f44f26: 14b42027 fsw fa1,320(s0) + st->sampling_rate = (int)Fs; + 83f44f2a: cc5c sw a5,28(s0) + st->leak_estimate = 0; + + st->fft_table = speech_fft_init(N); + + st->e = (float*)mem_alloc(N*sizeof(float)); + 83f44f2c: 003a9a1b slliw s4,s5,0x3 + st->frame_size = frame_size; + 83f44f30: 01542023 sw s5,0(s0) + st->M = filter_length; + 83f44f34: c404 sw s1,8(s0) + st->window_size = 2*frame_size; + 83f44f36: 01642223 sw s6,4(s0) + st->initial_filter_len = init_filter_length; + 83f44f3a: 15241823 sh s2,336(s0) + st->cancel_count = 0; + 83f44f3e: 00042623 sw zero,12(s0) + st->sum_adapt = 0; + 83f44f42: 02042623 sw zero,44(s0) + st->saturated = 0; + 83f44f46: 00042a23 sw zero,20(s0) + st->screwed_up = 0; + 83f44f4a: 00042c23 sw zero,24(s0) + st->leak_estimate = 0; + 83f44f4e: 02042823 sw zero,48(s0) + st->fft_table = speech_fft_init(N); + 83f44f52: 855a mv a0,s6 + uintptr_t *ptr = pvPortMalloc(size); + 83f44f54: 000a049b sext.w s1,s4 + st->Rf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Xf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Yh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Eh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + + st->X = (float*)mem_alloc((13+1)*N*sizeof(float)); + 83f44f58: 415a0a3b subw s4,s4,s5 + 83f44f5c: 004a1a1b slliw s4,s4,0x4 + M = st->initial_filter_len; + 83f44f60: 0009099b sext.w s3,s2 + st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; + 83f44f64: 18c6f6d3 fdiv.s fa3,fa3,fa2 + st->spec_average = (float)st->frame_size/(float)st->sampling_rate; + 83f44f68: 02f42027 fsw fa5,32(s0) + st->beta_max = (.5f*st->frame_size)/st->sampling_rate; + 83f44f6c: 18c77753 fdiv.s fa4,fa4,fa2 + st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; + 83f44f70: 02d42227 fsw fa3,36(s0) + st->beta_max = (.5f*st->frame_size)/st->sampling_rate; + 83f44f74: 02e42427 fsw fa4,40(s0) + st->fft_table = speech_fft_init(N); + 83f44f78: 0de040ef jal ra,83f49056 + 83f44f7c: fc68 sd a0,248(s0) + 83f44f7e: 8526 mv a0,s1 + 83f44f80: 604090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44f84: 8626 mv a2,s1 + 83f44f86: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44f88: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f44f8a: 7f3060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f44f8e: 8526 mv a0,s1 + st->e = (float*)mem_alloc(N*sizeof(float)); + 83f44f90: 03743c23 sd s7,56(s0) + 83f44f94: 5f0090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44f98: 8626 mv a2,s1 + 83f44f9a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44f9c: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f44f9e: 7df060ef jal ra,83f4bf7c + st->input = (float*)mem_alloc(st->frame_size*sizeof(float)); + 83f44fa2: 00042b83 lw s7,0(s0) + st->x = (float*)mem_alloc(N*sizeof(float)); + 83f44fa6: 05943023 sd s9,64(s0) + st->input = (float*)mem_alloc(st->frame_size*sizeof(float)); + 83f44faa: 002b9b9b slliw s7,s7,0x2 + uintptr_t *ptr = pvPortMalloc(size); + 83f44fae: 855e mv a0,s7 + 83f44fb0: 5d4090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44fb4: 865e mv a2,s7 + 83f44fb6: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44fb8: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f44fba: 7c3060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f44fbe: 8526 mv a0,s1 + 83f44fc0: 05743823 sd s7,80(s0) + 83f44fc4: 5c0090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44fc8: 8626 mv a2,s1 + 83f44fca: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44fcc: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f44fce: 7af060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f44fd2: 8526 mv a0,s1 + st->y = (float*)mem_alloc(N*sizeof(float)); + 83f44fd4: 05743c23 sd s7,88(s0) + 83f44fd8: 5ac090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44fdc: 8626 mv a2,s1 + 83f44fde: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44fe0: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f44fe2: 79b060ef jal ra,83f4bf7c + st->Yf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f44fe6: 00042b83 lw s7,0(s0) + st->last_y = (float*)mem_alloc(N*sizeof(float)); + 83f44fea: 07943023 sd s9,96(s0) + st->Yf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f44fee: 2b85 addiw s7,s7,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f44ff0: 002b9b9b slliw s7,s7,0x2 + 83f44ff4: 855e mv a0,s7 + 83f44ff6: 58e090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f44ffa: 865e mv a2,s7 + 83f44ffc: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f44ffe: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f45000: 77d060ef jal ra,83f4bf7c + st->Rf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45004: 00042b83 lw s7,0(s0) + st->Yf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45008: 0d943023 sd s9,192(s0) + st->Rf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f4500c: 2b85 addiw s7,s7,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f4500e: 002b9b9b slliw s7,s7,0x2 + 83f45012: 855e mv a0,s7 + 83f45014: 570090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45018: 865e mv a2,s7 + 83f4501a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4501c: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f4501e: 75f060ef jal ra,83f4bf7c + st->Xf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45022: 00042b83 lw s7,0(s0) + st->Rf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45026: 0b943c23 sd s9,184(s0) + st->Xf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f4502a: 2b85 addiw s7,s7,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f4502c: 002b9b9b slliw s7,s7,0x2 + 83f45030: 855e mv a0,s7 + 83f45032: 552090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45036: 865e mv a2,s7 + 83f45038: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4503a: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f4503c: 741060ef jal ra,83f4bf7c + st->Yh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45040: 00042b83 lw s7,0(s0) + st->Xf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45044: 0d943423 sd s9,200(s0) + st->Yh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45048: 2b85 addiw s7,s7,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f4504a: 002b9b9b slliw s7,s7,0x2 + 83f4504e: 855e mv a0,s7 + 83f45050: 534090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45054: 865e mv a2,s7 + 83f45056: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f45058: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f4505a: 723060ef jal ra,83f4bf7c + st->Eh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f4505e: 00042b83 lw s7,0(s0) + st->Yh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45062: 0d943c23 sd s9,216(s0) + st->Eh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + 83f45066: 2b85 addiw s7,s7,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f45068: 002b9b9b slliw s7,s7,0x2 + 83f4506c: 855e mv a0,s7 + 83f4506e: 516090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45072: 865e mv a2,s7 + 83f45074: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f45076: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f45078: 705060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4507c: 8552 mv a0,s4 + 83f4507e: 0d743823 sd s7,208(s0) + 83f45082: 502090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45086: 8652 mv a2,s4 + 83f45088: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4508a: 8a2a mv s4,a0 + memset(ptr, 0, size); + 83f4508c: 6f1060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f45090: 8526 mv a0,s1 + st->X = (float*)mem_alloc((13+1)*N*sizeof(float)); + 83f45092: 05443423 sd s4,72(s0) + 83f45096: 4ee090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4509a: 8626 mv a2,s1 + 83f4509c: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4509e: 8a2a mv s4,a0 + memset(ptr, 0, size); + 83f450a0: 6dd060ef jal ra,83f4bf7c + st->Y = (float*)mem_alloc(N*sizeof(float)); + 83f450a4: 07443423 sd s4,104(s0) + st->E = (float*)mem_alloc(N*sizeof(float)); + st->W = (float*)mem_alloc(13*N*sizeof(float)); + 83f450a8: 4a69 li s4,26 + 83f450aa: 035a0a3b mulw s4,s4,s5 + uintptr_t *ptr = pvPortMalloc(size); + 83f450ae: 8526 mv a0,s1 + 83f450b0: 4d4090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f450b4: 8626 mv a2,s1 + 83f450b6: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f450b8: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f450ba: 6c3060ef jal ra,83f4bf7c + st->E = (float*)mem_alloc(N*sizeof(float)); + 83f450be: 07743823 sd s7,112(s0) +#ifdef TWO_FILTER + st->foreground = (float*)mem_alloc(13*N*sizeof(float)); +#endif + st->PHI = (float*)mem_alloc(N*sizeof(float)); + st->power = (float*)mem_alloc((frame_size+1)*sizeof(float)); + 83f450c2: 2a85 addiw s5,s5,1 + uintptr_t *ptr = pvPortMalloc(size); + 83f450c4: 002a9a9b slliw s5,s5,0x2 + 83f450c8: 002a1b9b slliw s7,s4,0x2 + 83f450cc: 855e mv a0,s7 + 83f450ce: 4b6090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f450d2: 865e mv a2,s7 + 83f450d4: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f450d6: 8caa mv s9,a0 + memset(ptr, 0, size); + 83f450d8: 6a5060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f450dc: 855e mv a0,s7 + st->W = (float*)mem_alloc(13*N*sizeof(float)); + 83f450de: 09943023 sd s9,128(s0) + 83f450e2: 4a2090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f450e6: 865e mv a2,s7 + 83f450e8: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f450ea: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f450ec: 691060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f450f0: 8526 mv a0,s1 + st->foreground = (float*)mem_alloc(13*N*sizeof(float)); + 83f450f2: 09743423 sd s7,136(s0) + 83f450f6: 48e090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f450fa: 8626 mv a2,s1 + 83f450fc: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f450fe: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f45100: 67d060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f45104: 8556 mv a0,s5 + st->PHI = (float*)mem_alloc(N*sizeof(float)); + 83f45106: 07743c23 sd s7,120(s0) + 83f4510a: 47a090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4510e: 8656 mv a2,s5 + 83f45110: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f45112: 8baa mv s7,a0 + memset(ptr, 0, size); + 83f45114: 669060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f45118: 8556 mv a0,s5 + st->power = (float*)mem_alloc((frame_size+1)*sizeof(float)); + 83f4511a: 0b743023 sd s7,160(s0) + 83f4511e: 466090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45122: 8656 mv a2,s5 + 83f45124: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f45126: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f45128: 655060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4512c: 8526 mv a0,s1 + st->power_1 = (float*)mem_alloc((frame_size+1)*sizeof(float)); + 83f4512e: 0b543423 sd s5,168(s0) + 83f45132: 452090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45136: 8626 mv a2,s1 + 83f45138: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4513a: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f4513c: 641060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f45140: 03400513 li a0,52 + st->window = (float*)mem_alloc(N*sizeof(float)); + 83f45144: 0f543423 sd s5,232(s0) + 83f45148: 43c090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4514c: 03400613 li a2,52 + 83f45150: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f45152: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f45154: 629060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f45158: 8526 mv a0,s1 + st->prop = (float*)mem_alloc(13*sizeof(float)); + 83f4515a: 0f543823 sd s5,240(s0) + 83f4515e: 426090ef jal ra,83f4e584 + 83f45162: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f45164: 8626 mv a2,s1 + 83f45166: 4581 li a1,0 + 83f45168: 615060ef jal ra,83f4bf7c + st->wtmp = (float*)mem_alloc(N*sizeof(float)); + 83f4516c: 0b543823 sd s5,176(s0) + st->W = (float*)mem_alloc(13*N*sizeof(float)); + 83f45170: 000a0a9b sext.w s5,s4 + for (i=0;i + st->window[i] = .5f-.5f*(float)cos(2*M_PI*i/N); /* Hanning window */ + 83f45178: d20b0953 fcvt.d.w fs2,s6 + 83f4517c: 4481 li s1,0 + 83f4517e: 0000d797 auipc a5,0xd + 83f45182: 16a7b487 fld fs1,362(a5) # 83f522e8 <__func__.1+0xf0> + 83f45186: d2048553 fcvt.d.w fa0,s1 + 83f4518a: 12957553 fmul.d fa0,fa0,fs1 + 83f4518e: 1b257553 fdiv.d fa0,fa0,fs2 + 83f45192: f40fb0ef jal ra,83f408d2 + 83f45196: 40157553 fcvt.s.d fa0,fa0 + 83f4519a: 747c ld a5,232(s0) + 83f4519c: 00249713 slli a4,s1,0x2 + 83f451a0: 4085754b fnmsub.s fa0,fa0,fs0,fs0 + 83f451a4: 97ba add a5,a5,a4 + for (i=0;iwindow[i] = .5f-.5f*(float)cos(2*M_PI*i/N); /* Hanning window */ + 83f451ac: 00a7a027 fsw fa0,0(a5) + for (i=0;i + for (i=0;i<=st->frame_size;i++) + 83f451b4: 4018 lw a4,0(s0) + 83f451b6: 4781 li a5,0 + 83f451b8: 02074263 bltz a4,83f451dc + st->power_1[i] = FLOAT_ONE; + 83f451bc: 0000d717 auipc a4,0xd + 83f451c0: 09472787 flw fa5,148(a4) # 83f52250 <__func__.1+0x58> + 83f451c4: 7458 ld a4,168(s0) + 83f451c6: 00279693 slli a3,a5,0x2 + for (i=0;i<=st->frame_size;i++) + 83f451ca: 0785 addi a5,a5,1 + st->power_1[i] = FLOAT_ONE; + 83f451cc: 9736 add a4,a4,a3 + 83f451ce: 00f72027 fsw fa5,0(a4) + for (i=0;i<=st->frame_size;i++) + 83f451d2: 4014 lw a3,0(s0) + 83f451d4: 0007871b sext.w a4,a5 + 83f451d8: fee6d6e3 bge a3,a4,83f451c4 + for (i=0;i + 83f451e0: 3a7d addiw s4,s4,-1 + 83f451e2: 020a1793 slli a5,s4,0x20 + 83f451e6: 01e7da13 srli s4,a5,0x1e + 83f451ea: 0a11 addi s4,s4,4 + 83f451ec: 4781 li a5,0 + st->W[i] = 0; + 83f451ee: 6058 ld a4,128(s0) + 83f451f0: 973e add a4,a4,a5 + 83f451f2: 00072023 sw zero,0(a4) + for (i=0;i + { + float sum = 0; + /* Ratio of ~10 between adaptation rate of first and last block */ + float decay = (float)math_exp(-(2.4/M)); + 83f451fc: d2090553 fcvt.d.w fa0,s2 + 83f45200: 0000d797 auipc a5,0xd + 83f45204: 0f07b787 fld fa5,240(a5) # 83f522f0 <__func__.1+0xf8> + 83f45208: 1aa7f553 fdiv.d fa0,fa5,fa0 + 83f4520c: 22a51553 fneg.d fa0,fa0 + 83f45210: 9d1fb0ef jal ra,83f40be0 + st->prop[0] = .7f; + 83f45214: 787c ld a5,240(s0) + 83f45216: 0000d717 auipc a4,0xd + 83f4521a: 07272787 flw fa5,114(a4) # 83f52288 <__func__.1+0x90> + sum = st->prop[0]; + for (i=1;iprop[0] = .7f; + 83f45220: 00f7a027 fsw fa5,0(a5) + sum = st->prop[0]; + 83f45224: 787c ld a5,240(s0) + float decay = (float)math_exp(-(2.4/M)); + 83f45226: 40157553 fcvt.s.d fa0,fa0 + st->prop[i] = st->prop[i-1] * decay; + sum = sum + st->prop[i]; + } + for (i=M-1;i>=0;i--) { + 83f4522a: fff9869b addiw a3,s3,-1 + sum = st->prop[0]; + 83f4522e: 0007a787 flw fa5,0(a5) + for (i=1;i + 83f45236: 397d addiw s2,s2,-1 + 83f45238: 02091713 slli a4,s2,0x20 + 83f4523c: 01e75913 srli s2,a4,0x1e + sum = st->prop[0]; + 83f45240: 20f78753 fmv.s fa4,fa5 + for (i=1;i + 83f45248: 0711 addi a4,a4,4 + st->prop[i] = st->prop[i-1] * decay; + 83f4524a: 10a7f7d3 fmul.s fa5,fa5,fa0 + 83f4524e: 97ba add a5,a5,a4 + 83f45250: 00f7a027 fsw fa5,0(a5) + sum = sum + st->prop[i]; + 83f45254: 787c ld a5,240(s0) + 83f45256: 00e785b3 add a1,a5,a4 + 83f4525a: 0005a787 flw fa5,0(a1) + 83f4525e: 00f77753 fadd.s fa4,fa4,fa5 + for (i=1;i + 83f45266: 0000d617 auipc a2,0xd + 83f4526a: 03e62687 flw fa3,62(a2) # 83f522a4 <__func__.1+0xac> + 83f4526e: 00269713 slli a4,a3,0x2 + for (i=M-1;i>=0;i--) { + 83f45272: 567d li a2,-1 + 83f45274: a011 j 83f45278 + st->prop[i] = (.8f * st->prop[i])/sum; + 83f45276: 787c ld a5,240(s0) + 83f45278: 97ba add a5,a5,a4 + 83f4527a: 0007a787 flw fa5,0(a5) + for (i=M-1;i>=0;i--) { + 83f4527e: 36fd addiw a3,a3,-1 + 83f45280: 1771 addi a4,a4,-4 + st->prop[i] = (.8f * st->prop[i])/sum; + 83f45282: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f45286: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f4528a: 00f7a027 fsw fa5,0(a5) + for (i=M-1;i>=0;i--) { + 83f4528e: fec694e3 bne a3,a2,83f45276 + uintptr_t *ptr = pvPortMalloc(size); + 83f45292: 4511 li a0,4 + 83f45294: 2f0090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f45298: 4611 li a2,4 + 83f4529a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4529c: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f4529e: 4df060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f452a2: 4511 li a0,4 + } + } + + st->memX = (float*)mem_alloc(sizeof(float)); + 83f452a4: 10943023 sd s1,256(s0) + 83f452a8: 2dc090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f452ac: 4611 li a2,4 + 83f452ae: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f452b0: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f452b2: 4cb060ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f452b6: 4511 li a0,4 + st->memD = (float*)mem_alloc(sizeof(float)); + 83f452b8: 10943423 sd s1,264(s0) + 83f452bc: 2c8090ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f452c0: 4611 li a2,4 + 83f452c2: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f452c4: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f452c6: 4b7060ef jal ra,83f4bf7c + st->memE = (float*)mem_alloc(sizeof(float)); + st->preemph = .9f; + 83f452ca: 0000d797 auipc a5,0xd + 83f452ce: fb67a787 flw fa5,-74(a5) # 83f52280 <__func__.1+0x88> + + if (st->sampling_rate<12000) + 83f452d2: 4c58 lw a4,28(s0) + 83f452d4: 678d lui a5,0x3 + st->memE = (float*)mem_alloc(sizeof(float)); + 83f452d6: 10943823 sd s1,272(s0) + st->preemph = .9f; + 83f452da: 10f42c27 fsw fa5,280(s0) + if (st->sampling_rate<12000) + 83f452de: edf78793 addi a5,a5,-289 # 2edf <_EL1_STACK_SIZE+0x26df> + 83f452e2: 02e7d263 bge a5,a4,83f45306 + st->notch_radius = .9f; + else if (st->sampling_rate<24000) + 83f452e6: 6799 lui a5,0x6 + 83f452e8: dbf78793 addi a5,a5,-577 # 5dbf <_EL1_STACK_SIZE+0x55bf> + 83f452ec: 00e7c963 blt a5,a4,83f452fe + st->notch_radius = .982f; + 83f452f0: 0000d797 auipc a5,0xd + 83f452f4: f947a787 flw fa5,-108(a5) # 83f52284 <__func__.1+0x8c> + 83f452f8: 10f42e27 fsw fa5,284(s0) + 83f452fc: a039 j 83f4530a + else + st->notch_radius = .992f; + 83f452fe: 0000d797 auipc a5,0xd + 83f45302: faa7a787 flw fa5,-86(a5) # 83f522a8 <__func__.1+0xb0> + 83f45306: 10f42e27 fsw fa5,284(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f4530a: 4521 li a0,8 + 83f4530c: 278090ef jal ra,83f4e584 + 83f45310: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f45312: 4621 li a2,8 + 83f45314: 4581 li a1,0 + 83f45316: 467060ef jal ra,83f4bf7c + st->notch_mem = (float*)mem_alloc(2*sizeof(float)); + 83f4531a: 12943023 sd s1,288(s0) + for (i=0;i<2;i++) + st->notch_mem[i] = 0; + 83f4531e: 0004a023 sw zero,0(s1) + 83f45322: 12043683 ld a3,288(s0) + + st->adapted = 0; + st->Pey = st->Pyy = FLOAT_ONE; + 83f45326: 3f800737 lui a4,0x3f800 + 83f4532a: 02071793 slli a5,a4,0x20 + st->notch_mem[i] = 0; + 83f4532e: 0006a223 sw zero,4(a3) # ffffffffffff8004 <_end+0xffffffff7bff82c4> + st->Pey = st->Pyy = FLOAT_ONE; + 83f45332: 97ba add a5,a5,a4 + 83f45334: f07c sd a5,224(s0) +#ifdef TWO_FILTER + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; +#endif + + st->aec_min_leak = .005f; + 83f45336: 0000d797 auipc a5,0xd + 83f4533a: fc27b783 ld a5,-62(a5) # 83f522f8 <__func__.1+0x100> + 83f4533e: 12f43423 sd a5,296(s0) + st->aec_var1_smooth = .36f; + st->aec_var2_smooth = .7225f; + 83f45342: 0000d797 auipc a5,0xd + 83f45346: fbe7b783 ld a5,-66(a5) # 83f52300 <__func__.1+0x108> + 83f4534a: 12f43823 sd a5,304(s0) + st->aec_var1_update = .5f; + st->aec_var2_update = .25f; + 83f4534e: 0000d797 auipc a5,0xd + 83f45352: fba7b783 ld a5,-70(a5) # 83f52308 <__func__.1+0x110> + st->adapted = 0; + 83f45356: 00042823 sw zero,16(s0) + st->Davg1 = st->Davg2 = FLOAT_ZERO; + 83f4535a: 08043823 sd zero,144(s0) + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + 83f4535e: 08043c23 sd zero,152(s0) + st->aec_var2_update = .25f; + 83f45362: 12f43c23 sd a5,312(s0) + st->aec_var_backtrack = 4.f; + + st->echo_cnt = 0; + 83f45366: 14043423 sd zero,328(s0) + + return st; + +} + 83f4536a: 70e6 ld ra,120(sp) + 83f4536c: 8522 mv a0,s0 + 83f4536e: 7446 ld s0,112(sp) + 83f45370: 74a6 ld s1,104(sp) + 83f45372: 7906 ld s2,96(sp) + 83f45374: 69e6 ld s3,88(sp) + 83f45376: 6a46 ld s4,80(sp) + 83f45378: 6aa6 ld s5,72(sp) + 83f4537a: 6b06 ld s6,64(sp) + 83f4537c: 7be2 ld s7,56(sp) + 83f4537e: 7c42 ld s8,48(sp) + 83f45380: 7ca2 ld s9,40(sp) + 83f45382: 2462 fld fs0,24(sp) + 83f45384: 24c2 fld fs1,16(sp) + 83f45386: 2922 fld fs2,8(sp) + 83f45388: 6109 addi sp,sp,128 + 83f4538a: 8082 ret + for (i=M-1;i>=0;i--) { + 83f4538c: f006c3e3 bltz a3,83f45292 + sum = st->prop[0]; + 83f45390: 20f78753 fmv.s fa4,fa5 + 83f45394: bdc9 j 83f45266 + +0000000083f45396 : + + int i, M, N; + + st->cancel_count = 0; + st->screwed_up = 0; + N = st->window_size; + 83f45396: 4150 lw a2,4(a0) + st->cancel_count = 0; + 83f45398: 00052623 sw zero,12(a0) + st->screwed_up = 0; + 83f4539c: 00052c23 sw zero,24(a0) + M = st->M; + + M = M; + for (i=0;i + st->W[i] = 0; + 83f453b6: 6158 ld a4,128(a0) + 83f453b8: 973e add a4,a4,a5 + 83f453ba: 00072023 sw zero,0(a4) # 3f800000 + for (i=0;i + 83f453c4: 4781 li a5,0 +#ifdef TWO_FILTER + for (i=0;iforeground[i] = 0; + 83f453c6: 6558 ld a4,136(a0) + 83f453c8: 973e add a4,a4,a5 + 83f453ca: 00072023 sw zero,0(a4) + for (i=0;i +#endif + for (i=0;i + st->X[i] = 0; + 83f453e8: 6538 ld a4,72(a0) + 83f453ea: 973e add a4,a4,a5 + 83f453ec: 00072023 sw zero,0(a4) + for (i=0;i + for (i=0;i<=st->frame_size;i++) { + 83f453f6: 411c lw a5,0(a0) + 83f453f8: 4701 li a4,0 + 83f453fa: 0407cd63 bltz a5,83f45454 + st->power[i] = 0; + st->power_1[i] = FLOAT_ONE; + 83f453fe: 0000d797 auipc a5,0xd + 83f45402: e527a787 flw fa5,-430(a5) # 83f52250 <__func__.1+0x58> + st->power[i] = 0; + 83f45406: 7154 ld a3,160(a0) + 83f45408: 00271793 slli a5,a4,0x2 + for (i=0;i<=st->frame_size;i++) { + 83f4540c: 0705 addi a4,a4,1 + st->power[i] = 0; + 83f4540e: 96be add a3,a3,a5 + 83f45410: 0006a023 sw zero,0(a3) + st->power_1[i] = FLOAT_ONE; + 83f45414: 7554 ld a3,168(a0) + for (i=0;i<=st->frame_size;i++) { + 83f45416: 0007059b sext.w a1,a4 + st->power_1[i] = FLOAT_ONE; + 83f4541a: 96be add a3,a3,a5 + 83f4541c: 00f6a027 fsw fa5,0(a3) + st->Eh[i] = 0; + 83f45420: 6974 ld a3,208(a0) + 83f45422: 96be add a3,a3,a5 + 83f45424: 0006a023 sw zero,0(a3) + st->Yh[i] = 0; + 83f45428: 6d74 ld a3,216(a0) + 83f4542a: 97b6 add a5,a5,a3 + 83f4542c: 0007a023 sw zero,0(a5) + for (i=0;i<=st->frame_size;i++) { + 83f45430: 4114 lw a3,0(a0) + 83f45432: fcb6dae3 bge a3,a1,83f45406 + } + for (i=0;iframe_size;i++) { + 83f45436: 4781 li a5,0 + 83f45438: 00d05e63 blez a3,83f45454 + st->last_y[i] = 0; + 83f4543c: 7138 ld a4,96(a0) + 83f4543e: 00279693 slli a3,a5,0x2 + for (i=0;iframe_size;i++) { + 83f45442: 0785 addi a5,a5,1 + st->last_y[i] = 0; + 83f45444: 9736 add a4,a4,a3 + 83f45446: 00072023 sw zero,0(a4) + for (i=0;iframe_size;i++) { + 83f4544a: 4114 lw a3,0(a0) + 83f4544c: 0007871b sext.w a4,a5 + 83f45450: fed746e3 blt a4,a3,83f4543c + } + for (i=0;i + st->E[i] = 0; + 83f4545e: 7938 ld a4,112(a0) + 83f45460: 973e add a4,a4,a5 + 83f45462: 00072023 sw zero,0(a4) + for (i=0;i + 83f4546c: 4781 li a5,0 + } + for (i=0;ix[i] = 0; + 83f4546e: 6138 ld a4,64(a0) + 83f45470: 973e add a4,a4,a5 + 83f45472: 00072023 sw zero,0(a4) + for (i=0;i + } + for (i=0;i<2;i++) + st->notch_mem[i] = 0; + 83f4547c: 12053683 ld a3,288(a0) + st->memX[i] = 0; + + st->saturated = 0; + st->adapted = 0; + st->sum_adapt = 0; + st->Pey = st->Pyy = FLOAT_ONE; + 83f45480: 3f800737 lui a4,0x3f800 + 83f45484: 02071793 slli a5,a4,0x20 + st->notch_mem[i] = 0; + 83f45488: 0006a023 sw zero,0(a3) + 83f4548c: 12053683 ld a3,288(a0) + st->Pey = st->Pyy = FLOAT_ONE; + 83f45490: 97ba add a5,a5,a4 + st->notch_mem[i] = 0; + 83f45492: 0006a223 sw zero,4(a3) + st->memD[i] = st->memE[i] = 0; + 83f45496: 11053703 ld a4,272(a0) + 83f4549a: 00072023 sw zero,0(a4) # 3f800000 + 83f4549e: 10853703 ld a4,264(a0) + 83f454a2: 00072023 sw zero,0(a4) + st->memX[i] = 0; + 83f454a6: 10053703 ld a4,256(a0) + 83f454aa: 00072023 sw zero,0(a4) + st->adapted = 0; + 83f454ae: 00053823 sd zero,16(a0) + st->sum_adapt = 0; + 83f454b2: 02052623 sw zero,44(a0) + st->Pey = st->Pyy = FLOAT_ONE; + 83f454b6: f17c sd a5,224(a0) +#ifdef TWO_FILTER + st->Davg1 = st->Davg2 = FLOAT_ZERO; + 83f454b8: 08053823 sd zero,144(a0) + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + 83f454bc: 08053c23 sd zero,152(a0) +#endif + +} + 83f454c0: 8082 ret + +0000000083f454c2 : + +EXPORT void LP_AEC_free(LinearEchoState *st) +{ + 83f454c2: 1141 addi sp,sp,-16 + 83f454c4: e406 sd ra,8(sp) + 83f454c6: e022 sd s0,0(sp) + 83f454c8: 842a mv s0,a0 + + speech_fft_free(st->fft_table); + 83f454ca: 7d68 ld a0,248(a0) + 83f454cc: 3b9030ef jal ra,83f49084 + vPortFree(ptr); + 83f454d0: 7c08 ld a0,56(s0) + 83f454d2: 218090ef jal ra,83f4e6ea + 83f454d6: 6028 ld a0,64(s0) + 83f454d8: 212090ef jal ra,83f4e6ea + 83f454dc: 6828 ld a0,80(s0) + 83f454de: 20c090ef jal ra,83f4e6ea + 83f454e2: 6c28 ld a0,88(s0) + 83f454e4: 206090ef jal ra,83f4e6ea + 83f454e8: 7028 ld a0,96(s0) + 83f454ea: 200090ef jal ra,83f4e6ea + 83f454ee: 6068 ld a0,192(s0) + 83f454f0: 1fa090ef jal ra,83f4e6ea + 83f454f4: 7c48 ld a0,184(s0) + 83f454f6: 1f4090ef jal ra,83f4e6ea + 83f454fa: 6468 ld a0,200(s0) + 83f454fc: 1ee090ef jal ra,83f4e6ea + 83f45500: 6c68 ld a0,216(s0) + 83f45502: 1e8090ef jal ra,83f4e6ea + 83f45506: 6868 ld a0,208(s0) + 83f45508: 1e2090ef jal ra,83f4e6ea + 83f4550c: 6428 ld a0,72(s0) + 83f4550e: 1dc090ef jal ra,83f4e6ea + 83f45512: 7428 ld a0,104(s0) + 83f45514: 1d6090ef jal ra,83f4e6ea + 83f45518: 7828 ld a0,112(s0) + 83f4551a: 1d0090ef jal ra,83f4e6ea + 83f4551e: 6048 ld a0,128(s0) + 83f45520: 1ca090ef jal ra,83f4e6ea + 83f45524: 6448 ld a0,136(s0) + 83f45526: 1c4090ef jal ra,83f4e6ea + 83f4552a: 7c28 ld a0,120(s0) + 83f4552c: 1be090ef jal ra,83f4e6ea + 83f45530: 7048 ld a0,160(s0) + 83f45532: 1b8090ef jal ra,83f4e6ea + 83f45536: 7448 ld a0,168(s0) + 83f45538: 1b2090ef jal ra,83f4e6ea + 83f4553c: 7468 ld a0,232(s0) + 83f4553e: 1ac090ef jal ra,83f4e6ea + 83f45542: 7868 ld a0,240(s0) + 83f45544: 1a6090ef jal ra,83f4e6ea + 83f45548: 7848 ld a0,176(s0) + 83f4554a: 1a0090ef jal ra,83f4e6ea + 83f4554e: 10043503 ld a0,256(s0) + 83f45552: 198090ef jal ra,83f4e6ea + 83f45556: 10843503 ld a0,264(s0) + 83f4555a: 190090ef jal ra,83f4e6ea + 83f4555e: 11043503 ld a0,272(s0) + 83f45562: 188090ef jal ra,83f4e6ea + 83f45566: 12043503 ld a0,288(s0) + 83f4556a: 180090ef jal ra,83f4e6ea + 83f4556e: 8522 mv a0,s0 + mem_free(st->memD); + mem_free(st->memE); + mem_free(st->notch_mem); + + mem_free(st); +} + 83f45570: 6402 ld s0,0(sp) + 83f45572: 60a2 ld ra,8(sp) + 83f45574: 0141 addi sp,sp,16 + 83f45576: 1740906f j 83f4e6ea + +0000000083f4557a : + +EXPORT void LP_AEC(LinearEchoState *st, const short *in, const short *far_end, short *out) +{ + 83f4557a: 7155 addi sp,sp,-208 + 83f4557c: e1a2 sd s0,192(sp) + 83f4557e: f54e sd s3,168(sp) + 83f45580: ed56 sd s5,152(sp) + 83f45582: e586 sd ra,200(sp) + 83f45584: fd26 sd s1,184(sp) + 83f45586: f94a sd s2,176(sp) + 83f45588: f152 sd s4,160(sp) + 83f4558a: e95a sd s6,144(sp) + 83f4558c: e55e sd s7,136(sp) + 83f4558e: e162 sd s8,128(sp) + 83f45590: fce6 sd s9,120(sp) + 83f45592: f8ea sd s10,112(sp) + 83f45594: f4ee sd s11,104(sp) + 83f45596: aca2 fsd fs0,88(sp) + 83f45598: a8a6 fsd fs1,80(sp) + 83f4559a: a4ca fsd fs2,72(sp) + 83f4559c: a0ce fsd fs3,64(sp) + 83f4559e: bc52 fsd fs4,56(sp) + 83f455a0: b856 fsd fs5,48(sp) + 83f455a2: b45a fsd fs6,40(sp) + 83f455a4: b05e fsd fs7,32(sp) + 83f455a6: ac62 fsd fs8,24(sp) + 83f455a8: a866 fsd fs9,16(sp) + 83f455aa: 842a mv s0,a0 + float alpha, alpha_1; + float RER; /* Residual to Error Ratio */ + float tmp32; + + + if (st->echo_cnt > (st->sampling_rate/st->frame_size*3)) { + 83f455ac: 4c5c lw a5,28(s0) + 83f455ae: 4108 lw a0,0(a0) + 83f455b0: 14843803 ld a6,328(s0) +{ + 83f455b4: e436 sd a3,8(sp) + if (st->echo_cnt > (st->sampling_rate/st->frame_size*3)) { + 83f455b6: 02a7c73b divw a4,a5,a0 +{ + 83f455ba: 89ae mv s3,a1 + 83f455bc: 8ab2 mv s5,a2 + if (st->echo_cnt > (st->sampling_rate/st->frame_size*3)) { + 83f455be: 0017179b slliw a5,a4,0x1 + 83f455c2: 9f3d addw a4,a4,a5 + 83f455c4: 2d075be3 bge a4,a6,83f4609a + M = st->M; /* from parameter */ + 83f455c8: 00842903 lw s2,8(s0) + st->echo_cnt = (st->sampling_rate/st->frame_size*3)+1; /* avoid cnt overflow */ + 83f455cc: 0017079b addiw a5,a4,1 + 83f455d0: 14f43423 sd a5,328(s0) + } else { + M = st->initial_filter_len; + } + + N = st->window_size; + st->cancel_count++; + 83f455d4: 445c lw a5,12(s0) + + /******************************************************************************/ + /* TX Signal Preprocessing*/ + /******************************************************************************/ + /* Apply DC filter to make sure DC doesn't end up causing problems */ + DC_filter(in, st->notch_radius, st->input, st->frame_size, st->notch_mem); + 83f455d6: 12043683 ld a3,288(s0) + 83f455da: 682c ld a1,80(s0) + 83f455dc: 11c42507 flw fa0,284(s0) + st->cancel_count++; + 83f455e0: 2785 addiw a5,a5,1 + 83f455e2: c45c sw a5,12(s0) + DC_filter(in, st->notch_radius, st->input, st->frame_size, st->notch_mem); + 83f455e4: 862a mv a2,a0 + 83f455e6: 854e mv a0,s3 + N = st->window_size; + 83f455e8: 4044 lw s1,4(s0) + ss = st->ss / M; + 83f455ea: 14042907 flw fs2,320(s0) + DC_filter(in, st->notch_radius, st->input, st->frame_size, st->notch_mem); + 83f455ee: 465000ef jal ra,83f46252 + + /* Copy input data to buffer and apply pre-emphasis filter */ + for (i=0;iframe_size;i++) { + 83f455f2: 401c lw a5,0(s0) + ss = st->ss / M; + 83f455f4: d00974d3 fcvt.s.w fs1,s2 + for (i=0;iframe_size;i++) { + 83f455f8: 4701 li a4,0 + 83f455fa: 08f05e63 blez a5,83f45696 + float tmp32; + /* H = 1-0.9z^(-1), FIR filter */ + /* tmp32 = input(n) - preemph * input(n-1), input(n) is d(n) */ + tmp32 = st->input[i] - st->preemph * st->memD[0]; + 83f455fe: 6834 ld a3,80(s0) + 83f45600: 10843783 ld a5,264(s0) + 83f45604: 00271613 slli a2,a4,0x2 + 83f45608: 96b2 add a3,a3,a2 + 83f4560a: 0006a707 flw fa4,0(a3) + 83f4560e: 0007a687 flw fa3,0(a5) + 83f45612: 11842787 flw fa5,280(s0) + st->memD[0] = st->input[i]; + 83f45616: 00e7a027 fsw fa4,0(a5) + st->input[i] = tmp32; + 83f4561a: 683c ld a5,80(s0) + tmp32 = st->input[i] - st->preemph * st->memD[0]; + 83f4561c: 70d7f7cb fnmsub.s fa5,fa5,fa3,fa4 + for (i=0;iframe_size;i++) { + 83f45620: 0705 addi a4,a4,1 + st->input[i] = tmp32; + 83f45622: 97b2 add a5,a5,a2 + for (i=0;iframe_size;i++) { + 83f45624: 0007069b sext.w a3,a4 + st->input[i] = tmp32; + 83f45628: 00f7a027 fsw fa5,0(a5) + for (i=0;iframe_size;i++) { + 83f4562c: 401c lw a5,0(s0) + 83f4562e: fcf6c8e3 blt a3,a5,83f455fe + } + + /******************************************************************************/ + /* RX Signal Preprocessing*/ + /******************************************************************************/ + for (i=0;iframe_size;i++) { + 83f45632: 06f05263 blez a5,83f45696 + 83f45636: 85d6 mv a1,s5 + 83f45638: 4601 li a2,0 + 83f4563a: 4681 li a3,0 + float tmp32; + /* x[1:2*frame_size]: |--previous frame--|--current frame--| */ + st->x[i] = st->x[i+st->frame_size]; /* perform pre-emphasis filtering for previous frame */ + 83f4563c: 6038 ld a4,64(s0) + 83f4563e: 9fb5 addw a5,a5,a3 + 83f45640: 078a slli a5,a5,0x2 + 83f45642: 97ba add a5,a5,a4 + 83f45644: 0007a787 flw fa5,0(a5) + 83f45648: 00261793 slli a5,a2,0x2 + 83f4564c: 973e add a4,a4,a5 + 83f4564e: 00f72027 fsw fa5,0(a4) + /* tmp32 = far_end(n) - preemph * far_end(n -1) */ + tmp32 = far_end[i] - st->preemph * st->memX[0]; + 83f45652: 00059703 lh a4,0(a1) + 83f45656: 10043783 ld a5,256(s0) + 83f4565a: 11842787 flw fa5,280(s0) + 83f4565e: d0077753 fcvt.s.w fa4,a4 + 83f45662: 0007a687 flw fa3,0(a5) + st->x[i+st->frame_size] = tmp32; /* perform pre-emphasis filtering for current frame */ + 83f45666: 401c lw a5,0(s0) + 83f45668: 6038 ld a4,64(s0) + tmp32 = far_end[i] - st->preemph * st->memX[0]; + 83f4566a: 70d7f7cb fnmsub.s fa5,fa5,fa3,fa4 + st->x[i+st->frame_size] = tmp32; /* perform pre-emphasis filtering for current frame */ + 83f4566e: 9fb5 addw a5,a5,a3 + 83f45670: 078a slli a5,a5,0x2 + 83f45672: 97ba add a5,a5,a4 + for (i=0;iframe_size;i++) { + 83f45674: 0605 addi a2,a2,1 + st->x[i+st->frame_size] = tmp32; /* perform pre-emphasis filtering for current frame */ + 83f45676: 00f7a027 fsw fa5,0(a5) + st->memX[0] = far_end[i]; + 83f4567a: 00059703 lh a4,0(a1) + 83f4567e: 10043783 ld a5,256(s0) + for (i=0;iframe_size;i++) { + 83f45682: 0006069b sext.w a3,a2 + st->memX[0] = far_end[i]; + 83f45686: d00777d3 fcvt.s.w fa5,a4 + for (i=0;iframe_size;i++) { + 83f4568a: 0589 addi a1,a1,2 + st->memX[0] = far_end[i]; + 83f4568c: 00f7a027 fsw fa5,0(a5) + for (i=0;iframe_size;i++) { + 83f45690: 401c lw a5,0(s0) + 83f45692: faf6c5e3 blt a3,a5,83f4563c + } + + /* Shift the filter length buffer of far-end in frequency domain */ + for (j=M-1;j>=0;j--) { + 83f45696: fff90a1b addiw s4,s2,-1 + 83f4569a: 000a0a9b sext.w s5,s4 + 83f4569e: 040acd63 bltz s5,83f456f8 + 83f456a2: 029a053b mulw a0,s4,s1 + 83f456a6: fff48e1b addiw t3,s1,-1 + 83f456aa: 1e02 slli t3,t3,0x20 + 83f456ac: 020e5e13 srli t3,t3,0x20 + 83f456b0: 0004831b sext.w t1,s1 + 83f456b4: 8856 mv a6,s5 + 83f456b6: 0e05 addi t3,t3,1 + 83f456b8: 5efd li t4,-1 + 83f456ba: 029908bb mulw a7,s2,s1 + for (i=0;i + 83f456c2: 00ae05b3 add a1,t3,a0 + 83f456c6: 40a88633 sub a2,a7,a0 + 83f456ca: 00251713 slli a4,a0,0x2 + 83f456ce: 058a slli a1,a1,0x2 + 83f456d0: 060a slli a2,a2,0x2 + st->X[(j+1)*N+i] = st->X[j*N+i]; + 83f456d2: 643c ld a5,72(s0) + 83f456d4: 00e786b3 add a3,a5,a4 + 83f456d8: 0006a787 flw fa5,0(a3) + 83f456dc: 97b2 add a5,a5,a2 + 83f456de: 97ba add a5,a5,a4 + 83f456e0: 00f7a027 fsw fa5,0(a5) + for (i=0;i + for (j=M-1;j>=0;j--) { + 83f456ea: 387d addiw a6,a6,-1 + 83f456ec: 4065053b subw a0,a0,t1 + 83f456f0: 406888bb subw a7,a7,t1 + 83f456f4: fdd815e3 bne a6,t4,83f456be + } + speech_fft(st->fft_table, st->x, &st->X[0]); + 83f456f8: 6430 ld a2,72(s0) + 83f456fa: 602c ld a1,64(s0) + 83f456fc: 7c68 ld a0,248(s0) + 83f456fe: 19f030ef jal ra,83f4909c + + Sxx = 0; + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* the variance of x(n) */ + 83f45702: 4010 lw a2,0(s0) + 83f45704: 602c ld a1,64(s0) + 83f45706: 00261793 slli a5,a2,0x2 + 83f4570a: 95be add a1,a1,a5 + 83f4570c: 852e mv a0,a1 + 83f4570e: 3bd000ef jal ra,83f462ca + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = pow(X(k)), the power spectrum of X(k) */ + 83f45712: 646c ld a1,200(s0) + 83f45714: 6428 ld a0,72(s0) + 83f45716: 8626 mv a2,s1 + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* the variance of x(n) */ + 83f45718: 20a50a53 fmv.s fs4,fa0 + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = pow(X(k)), the power spectrum of X(k) */ + 83f4571c: 473000ef jal ra,83f4638e + + Sff = 0; +#ifdef TWO_FILTER + /* Compute foreground filter */ + /* Y(k) = X(k) * W(k) */ + accum_spectral_mul(st->X, st->foreground, st->Y, N, M); + 83f45720: 7430 ld a2,104(s0) + 83f45722: 644c ld a1,136(s0) + 83f45724: 6428 ld a0,72(s0) + 83f45726: 874a mv a4,s2 + 83f45728: 86a6 mv a3,s1 + 83f4572a: 4f7000ef jal ra,83f46420 + speech_ifft(st->fft_table, st->Y, st->e); + 83f4572e: 7c10 ld a2,56(s0) + 83f45730: 742c ld a1,104(s0) + 83f45732: 7c68 ld a0,248(s0) + 83f45734: 1d5030ef jal ra,83f49108 + for (i=0;iframe_size;i++) { + 83f45738: 4010 lw a2,0(s0) + 83f4573a: 02c05a63 blez a2,83f4576e + 83f4573e: 4781 li a5,0 + /* e(n) = d(n) - y(n), e(n) use the first part, y(n) use the last part */ + st->e[i] = st->input[i] - st->e[i+st->frame_size]; + 83f45740: 7c18 ld a4,56(s0) + 83f45742: 6834 ld a3,80(s0) + 83f45744: 9e3d addw a2,a2,a5 + 83f45746: 00279593 slli a1,a5,0x2 + 83f4574a: 060a slli a2,a2,0x2 + 83f4574c: 963a add a2,a2,a4 + 83f4574e: 96ae add a3,a3,a1 + 83f45750: 0006a787 flw fa5,0(a3) + 83f45754: 00062707 flw fa4,0(a2) + 83f45758: 972e add a4,a4,a1 + for (i=0;iframe_size;i++) { + 83f4575a: 0785 addi a5,a5,1 + st->e[i] = st->input[i] - st->e[i+st->frame_size]; + 83f4575c: 08e7f7d3 fsub.s fa5,fa5,fa4 + for (i=0;iframe_size;i++) { + 83f45760: 0007869b sext.w a3,a5 + st->e[i] = st->input[i] - st->e[i+st->frame_size]; + 83f45764: 00f72027 fsw fa5,0(a4) + for (i=0;iframe_size;i++) { + 83f45768: 4010 lw a2,0(s0) + 83f4576a: fcc6cbe3 blt a3,a2,83f45740 + } + /* the variance of e(n) */ + Sff += inner_prod(st->e, st->e, st->frame_size); + 83f4576e: 7c0c ld a1,56(s0) + 83f45770: f00009d3 fmv.w.x fs3,zero + 83f45774: 852e mv a0,a1 + 83f45776: 355000ef jal ra,83f462ca +#endif + + /* Adjust proportional adaption rate */ + if (st->adapted) + 83f4577a: 481c lw a5,16(s0) + Sff += inner_prod(st->e, st->e, st->frame_size); + 83f4577c: 013579d3 fadd.s fs3,fa0,fs3 + if (st->adapted) + 83f45780: 180797e3 bnez a5,83f4610e + aec_adjust_prop (st->W, N, M, st->prop); + if (st->saturated == 0) { + 83f45784: 485c lw a5,20(s0) + 83f45786: 10079ee3 bnez a5,83f460a2 + for (j=M-1;j>=0;j--) { + 83f4578a: 080ac563 bltz s5,83f45814 + 83f4578e: 02990dbb mulw s11,s2,s1 + 83f45792: 020a1793 slli a5,s4,0x20 + 83f45796: fff48c9b addiw s9,s1,-1 + 83f4579a: 9381 srli a5,a5,0x20 + 83f4579c: 40f907b3 sub a5,s2,a5 + 83f457a0: 020c9713 slli a4,s9,0x20 + 83f457a4: 40900bbb negw s7,s1 + 83f457a8: 078a slli a5,a5,0x2 + 83f457aa: 01e75c93 srli s9,a4,0x1e + 83f457ae: 002a9d13 slli s10,s5,0x2 + 83f457b2: 029a0a3b mulw s4,s4,s1 + 83f457b6: 0b8a slli s7,s7,0x2 + 83f457b8: 00048c1b sext.w s8,s1 + 83f457bc: 0d8a slli s11,s11,0x2 + 83f457be: ff878b13 addi s6,a5,-8 + 83f457c2: 0c91 addi s9,s9,4 + /* st->X: focus on j+1, means the previous X state, X length is (M+1)*N */ + /* st->E: error in frequency domain */ + /* [0] = matlab[1].re (matlab[1].im = 0), [1] = [2].re, [2] = [2].im, [3] = [3].re, [4] = [3].im, ..., */ + /* [317] = [160].re, [318] = [160].im, [319] = [161].re (matlab[161].im = 0) */ + /* st->PHI: length is window size N */ + weighted_gradient_phi(st->power_1, st->prop[j], &st->X[(j+1)*N], st->E, st->PHI, N); + 83f457c4: 787c ld a5,240(s0) + 83f457c6: 642c ld a1,72(s0) + 83f457c8: 7c34 ld a3,120(s0) + 83f457ca: 97ea add a5,a5,s10 + 83f457cc: 0007a507 flw fa0,0(a5) + 83f457d0: 7830 ld a2,112(s0) + 83f457d2: 7448 ld a0,168(s0) + 83f457d4: 95ee add a1,a1,s11 + 83f457d6: 8726 mv a4,s1 + 83f457d8: 539000ef jal ra,83f46510 + /* compute weight gradient */ + for (i=0;iW[ j*N + i] += st->PHI[i]; + 83f457e0: 4781 li a5,0 + for (i=0;i + st->W[ j*N + i] += st->PHI[i]; + 83f457e6: 6058 ld a4,128(s0) + 83f457e8: 7c34 ld a3,120(s0) + 83f457ea: 00f58633 add a2,a1,a5 + 83f457ee: 9732 add a4,a4,a2 + 83f457f0: 96be add a3,a3,a5 + 83f457f2: 00072787 flw fa5,0(a4) + 83f457f6: 0006a707 flw fa4,0(a3) + for (i=0;iW[ j*N + i] += st->PHI[i]; + 83f457fc: 00e7f7d3 fadd.s fa5,fa5,fa4 + 83f45800: 00f72027 fsw fa5,0(a4) + for (i=0;i + for (j=M-1;j>=0;j--) { + 83f45808: 1d71 addi s10,s10,-4 + 83f4580a: 9dde add s11,s11,s7 + 83f4580c: 418a0a3b subw s4,s4,s8 + 83f45810: fbab1ae3 bne s6,s10,83f457c4 + } else { + st->saturated--; + } + + /* Overlap-store method to let circular convolution become linear convolution */ + for (j=0;j + //if (j==0 || ((2+st->cancel_count)%(M-1)) == j+1) { + if (j==0 || st->cancel_count%(M-1) == j-1) { /* better */ + 83f45824: 460b0163 beqz s6,83f45c86 + 83f45828: 4458 lw a4,12(s0) + 83f4582a: fffb079b addiw a5,s6,-1 + 83f4582e: 0357673b remw a4,a4,s5 + 83f45832: 44f70a63 beq a4,a5,83f45c86 + for (j=0;j + speech_fft(st->fft_table, st->wtmp, &st->W[j*N]); + } + } + + /* Reset to zeros for accumulation */ + for (i=0;i<=st->frame_size;i++) + 83f45840: 4018 lw a4,0(s0) + 83f45842: 4781 li a5,0 + 83f45844: 02074663 bltz a4,83f45870 + st->Rf[i] = st->Yf[i] = st->Xf[i] = 0; + 83f45848: 6478 ld a4,200(s0) + 83f4584a: 00279693 slli a3,a5,0x2 + for (i=0;i<=st->frame_size;i++) + 83f4584e: 0785 addi a5,a5,1 + st->Rf[i] = st->Yf[i] = st->Xf[i] = 0; + 83f45850: 9736 add a4,a4,a3 + 83f45852: 00072023 sw zero,0(a4) + 83f45856: 6078 ld a4,192(s0) + for (i=0;i<=st->frame_size;i++) + 83f45858: 0007861b sext.w a2,a5 + st->Rf[i] = st->Yf[i] = st->Xf[i] = 0; + 83f4585c: 9736 add a4,a4,a3 + 83f4585e: 00072023 sw zero,0(a4) + 83f45862: 7c58 ld a4,184(s0) + 83f45864: 9736 add a4,a4,a3 + 83f45866: 00072023 sw zero,0(a4) + for (i=0;i<=st->frame_size;i++) + 83f4586a: 4018 lw a4,0(s0) + 83f4586c: fcc75ee3 bge a4,a2,83f45848 + Dbf = 0; + See = 0; +#ifdef TWO_FILTER + /* Difference in response, this is used to estimate the variance of the residual power estimate */ + /* st.Y(:) = st.Y(:) + st.X(:, j) .* st.W(:, j); */ + accum_spectral_mul(st->X, st->W, st->Y, N, M); + 83f45870: 7430 ld a2,104(s0) + 83f45872: 604c ld a1,128(s0) + 83f45874: 6428 ld a0,72(s0) + 83f45876: 874a mv a4,s2 + 83f45878: 86a6 mv a3,s1 + 83f4587a: 3a7000ef jal ra,83f46420 + /* st.y : [ ~ | leak background ] */ + speech_ifft(st->fft_table, st->Y, st->y); + 83f4587e: 6c30 ld a2,88(s0) + 83f45880: 742c ld a1,104(s0) + 83f45882: 7c68 ld a0,248(s0) + 83f45884: 085030ef jal ra,83f49108 + for (i=0;iframe_size;i++) { + 83f45888: 4010 lw a2,0(s0) + 83f4588a: 4781 li a5,0 + 83f4588c: 02c05a63 blez a2,83f458c0 + st->e[i] = st->e[i+st->frame_size] - st->y[i+st->frame_size]; + 83f45890: 7c18 ld a4,56(s0) + 83f45892: 6c34 ld a3,88(s0) + 83f45894: 9e3d addw a2,a2,a5 + 83f45896: 060a slli a2,a2,0x2 + 83f45898: 00c705b3 add a1,a4,a2 + 83f4589c: 9636 add a2,a2,a3 + 83f4589e: 00062707 flw fa4,0(a2) + 83f458a2: 0005a787 flw fa5,0(a1) + 83f458a6: 00279693 slli a3,a5,0x2 + 83f458aa: 9736 add a4,a4,a3 + 83f458ac: 08e7f7d3 fsub.s fa5,fa5,fa4 + for (i=0;iframe_size;i++) { + 83f458b0: 0785 addi a5,a5,1 + 83f458b2: 0007869b sext.w a3,a5 + st->e[i] = st->e[i+st->frame_size] - st->y[i+st->frame_size]; + 83f458b6: 00f72027 fsw fa5,0(a4) + for (i=0;iframe_size;i++) { + 83f458ba: 4010 lw a2,0(s0) + 83f458bc: fcc6cae3 blt a3,a2,83f45890 + } + Dbf += 10 + inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ + 83f458c0: 7c0c ld a1,56(s0) + 83f458c2: 852e mv a0,a1 + 83f458c4: 207000ef jal ra,83f462ca + 83f458c8: 0000d797 auipc a5,0xd + 83f458cc: 9e87aa87 flw fs5,-1560(a5) # 83f522b0 <__func__.1+0xb8> + 83f458d0: 01557453 fadd.s fs0,fa0,fs5 + 83f458d4: f00007d3 fmv.w.x fa5,zero + for (i=0;iframe_size;i++) + 83f458d8: 4010 lw a2,0(s0) + Dbf += 10 + inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ + 83f458da: 00f47453 fadd.s fs0,fs0,fa5 + for (i=0;iframe_size;i++) + 83f458de: 02c05b63 blez a2,83f45914 + 83f458e2: 4781 li a5,0 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f458e4: 6c34 ld a3,88(s0) + 83f458e6: 682c ld a1,80(s0) + 83f458e8: 9e3d addw a2,a2,a5 + 83f458ea: 00279513 slli a0,a5,0x2 + 83f458ee: 060a slli a2,a2,0x2 + 83f458f0: 9636 add a2,a2,a3 + 83f458f2: 95aa add a1,a1,a0 + 83f458f4: 00062707 flw fa4,0(a2) + 83f458f8: 0005a787 flw fa5,0(a1) + 83f458fc: 7c18 ld a4,56(s0) + for (i=0;iframe_size;i++) + 83f458fe: 0785 addi a5,a5,1 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f45900: 08e7f7d3 fsub.s fa5,fa5,fa4 + 83f45904: 972a add a4,a4,a0 + for (i=0;iframe_size;i++) + 83f45906: 0007869b sext.w a3,a5 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f4590a: 00f72027 fsw fa5,0(a4) + for (i=0;iframe_size;i++) + 83f4590e: 4010 lw a2,0(s0) + 83f45910: fcc6cae3 blt a3,a2,83f458e4 + See += inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ + 83f45914: 7c0c ld a1,56(s0) + 83f45916: 852e mv a0,a1 + 83f45918: 1b3000ef jal ra,83f462ca + 83f4591c: f00001d3 fmv.w.x ft3,zero +#ifdef TWO_FILTER + /* For two time windows, compute the mean of the energy difference, as well as the variance */ + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f45920: 0000d797 auipc a5,0xd + 83f45924: 9a87a787 flw fa5,-1624(a5) # 83f522c8 <__func__.1+0xd0> + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45928: 0000d797 auipc a5,0xd + 83f4592c: 99c7a687 flw fa3,-1636(a5) # 83f522c4 <__func__.1+0xcc> + See += inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ + 83f45930: 00357b53 fadd.s fs6,fa0,ft3 + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f45934: 10f9f753 fmul.s fa4,fs3,fa5 + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45938: 10d9f6d3 fmul.s fa3,fs3,fa3 + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f4593c: 0000d797 auipc a5,0xd + 83f45940: 9787a107 flw ft2,-1672(a5) # 83f522b4 <__func__.1+0xbc> + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f45944: 0000d797 auipc a5,0xd + 83f45948: 9787a087 flw ft1,-1672(a5) # 83f522bc <__func__.1+0xc4> + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f4594c: 0969f7d3 fsub.s fa5,fs3,fs6 + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f45950: 10877753 fmul.s fa4,fa4,fs0 + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45954: 1086f6d3 fmul.s fa3,fa3,fs0 + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f45958: 09042607 flw fa2,144(s0) + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f4595c: 09442587 flw fa1,148(s0) + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f45960: 1027f153 fmul.s ft2,fa5,ft2 + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f45964: 1017f0d3 fmul.s ft1,fa5,ft1 + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45968: 09842287 flw ft5,152(s0) + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f4596c: 09c42207 flw ft4,156(s0) + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45970: 12c42507 flw fa0,300(s0) + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f45974: 13042007 flw ft0,304(s0) + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f45978: 0000d797 auipc a5,0xd + 83f4597c: 9407a387 flw ft7,-1728(a5) # 83f522b8 <__func__.1+0xc0> + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f45980: 0000d797 auipc a5,0xd + 83f45984: 9407a307 flw ft6,-1728(a5) # 83f522c0 <__func__.1+0xc8> + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f45988: 685576c3 fmadd.s fa3,fa0,ft5,fa3 + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f4598c: 10767643 fmadd.s fa2,fa2,ft7,ft2 + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f45990: 70407543 fmadd.s fa0,ft0,ft4,fa4 + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f45994: 0865f5c3 fmadd.s fa1,fa1,ft6,ft1 + + update_foreground = 0; + /* Inspect if there is a statistically significant reduction in the residual echo */ + if (((Sff - See) * ABS(Sff - See)) > (Sff * Dbf)) + 83f45998: a03797d3 flt.s a5,fa5,ft3 + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + 83f4599c: 08d42c27 fsw fa3,152(s0) + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + 83f459a0: 08c42827 fsw fa2,144(s0) + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + 83f459a4: 08a42e27 fsw fa0,156(s0) + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + 83f459a8: 08b42a27 fsw fa1,148(s0) + if (((Sff - See) * ABS(Sff - See)) > (Sff * Dbf)) + 83f459ac: 20f78053 fmv.s ft0,fa5 + 83f459b0: c399 beqz a5,83f459b6 + 83f459b2: 20f79053 fneg.s ft0,fa5 + 83f459b6: 1007f753 fmul.s fa4,fa5,ft0 + 83f459ba: 1089f0d3 fmul.s ft1,fs3,fs0 + 83f459be: a0e097d3 flt.s a5,ft1,fa4 + 83f459c2: e7a1 bnez a5,83f45a0a + update_foreground = 1; + else if ((st->Davg1 * ABS(st->Davg1)) > (st->aec_var1_update * st->Dvar1)) + 83f459c4: f0000753 fmv.w.x fa4,zero + 83f459c8: 20c60153 fmv.s ft2,fa2 + 83f459cc: a0e617d3 flt.s a5,fa2,fa4 + 83f459d0: 66079863 bnez a5,83f46040 + 83f459d4: 13442707 flw fa4,308(s0) + 83f459d8: 102670d3 fmul.s ft1,fa2,ft2 + 83f459dc: 10e6f753 fmul.s fa4,fa3,fa4 + 83f459e0: a01717d3 flt.s a5,fa4,ft1 + 83f459e4: e39d bnez a5,83f45a0a + update_foreground = 1; + else if ((st->Davg2 * ABS(st->Davg2)) > (st->aec_var2_update * st->Dvar2)) + 83f459e6: f0000753 fmv.w.x fa4,zero + 83f459ea: 20b581d3 fmv.s ft3,fa1 + 83f459ee: a0e597d3 flt.s a5,fa1,fa4 + 83f459f2: 000797e3 bnez a5,83f46200 + 83f459f6: 13842707 flw fa4,312(s0) + 83f459fa: 1035f0d3 fmul.s ft1,fa1,ft3 + 83f459fe: 10e57753 fmul.s fa4,fa0,fa4 + 83f45a02: a01717d3 flt.s a5,fa4,ft1 + 83f45a06: 74078263 beqz a5,83f4614a + + if (update_foreground) { /* update foreground filter */ + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + /* Copy background filter to foreground filter */ + for (i=0;iDavg1 = st->Davg2 = FLOAT_ZERO; + 83f45a0e: 08043823 sd zero,144(s0) + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + 83f45a12: 08043c23 sd zero,152(s0) + for (i=0;i + st->foreground[i] = st->W[i]; + 83f45a20: 6054 ld a3,128(s0) + 83f45a22: 6458 ld a4,136(s0) + 83f45a24: 96be add a3,a3,a5 + 83f45a26: 0006a787 flw fa5,0(a3) + 83f45a2a: 973e add a4,a4,a5 + for (i=0;iforeground[i] = st->W[i]; + 83f45a2e: 00f72027 fsw fa5,0(a4) + for (i=0;i + /* Apply a smooth transition to avoid blocking artifacts */ + /* y1(n) = window(n+N/2)y1(n) + window(n)y2(n) */ + for (i=0;iframe_size;i++) + 83f45a36: 4010 lw a2,0(s0) + 83f45a38: 4781 li a5,0 + 83f45a3a: 14c05663 blez a2,83f45b86 + /* Perform windowing and 50% OLA, output = window first part * leak background(new) + window last part * leak forground(old) */ + /* st.e last part still be leak(y) foreground */ + st->e[i+st->frame_size] = st->window[i+st->frame_size] * st->e[i+st->frame_size] + st->window[i] * st->y[i+st->frame_size]; + 83f45a3e: 7474 ld a3,232(s0) + 83f45a40: 6c38 ld a4,88(s0) + 83f45a42: 9e3d addw a2,a2,a5 + 83f45a44: 060a slli a2,a2,0x2 + 83f45a46: 00279593 slli a1,a5,0x2 + 83f45a4a: 9732 add a4,a4,a2 + 83f45a4c: 95b6 add a1,a1,a3 + 83f45a4e: 0005a787 flw fa5,0(a1) + 83f45a52: 00072707 flw fa4,0(a4) + 83f45a56: 7c18 ld a4,56(s0) + 83f45a58: 96b2 add a3,a3,a2 + 83f45a5a: 10e7f753 fmul.s fa4,fa5,fa4 + 83f45a5e: 963a add a2,a2,a4 + 83f45a60: 00062687 flw fa3,0(a2) + 83f45a64: 0006a787 flw fa5,0(a3) + for (i=0;iframe_size;i++) + 83f45a68: 0785 addi a5,a5,1 + 83f45a6a: 0007871b sext.w a4,a5 + st->e[i+st->frame_size] = st->window[i+st->frame_size] * st->e[i+st->frame_size] + st->window[i] * st->y[i+st->frame_size]; + 83f45a6e: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f45a72: 00f62027 fsw fa5,0(a2) + for (i=0;iframe_size;i++) + 83f45a76: 4010 lw a2,0(s0) + 83f45a78: fcc743e3 blt a4,a2,83f45a3e + } +#endif + + Sey = Syy = Sdd = 0; + /* Compute error signal (for the output with de-emphasis) */ + for (i=0;iframe_size;i++) { + 83f45a7c: 10c05563 blez a2,83f45b86 + tmp_out = st->input[i] - st->y[i+st->frame_size]; +#endif + /* H = 1/(1-0.9z^(-1)), IIR, de-emphasis filtering */ + tmp_out = tmp_out + st->preemph * st->memE[0]; + /* this is an arbitrary test for saturation in the mic signal */ + if (in[i] <= -32000 || in[i] >= 32000) { + 83f45a80: 6c21 lui s8,0x8 + 83f45a82: 6bc1 lui s7,0x10 + if (st->saturated == 0) + st->saturated = 1; + } + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + 83f45a84: 6ca1 lui s9,0x8 + 83f45a86: 6aa2 ld s5,8(sp) + 83f45a88: 8b4e mv s6,s3 + for (i=0;iframe_size;i++) { + 83f45a8a: 4901 li s2,0 + 83f45a8c: 0000d797 auipc a5,0xd + 83f45a90: 8047ac07 flw fs8,-2044(a5) # 83f52290 <__func__.1+0x98> + if (in[i] <= -32000 || in[i] >= 32000) { + 83f45a94: cffc0c1b addiw s8,s8,-769 + 83f45a98: 9feb8b93 addi s7,s7,-1538 # f9fe <_EL1_STACK_SIZE+0xf1fe> + st->saturated = 1; + 83f45a9c: 4d05 li s10,1 + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + 83f45a9e: 0000c797 auipc a5,0xc + 83f45aa2: 7f67ac87 flw fs9,2038(a5) # 83f52294 <__func__.1+0x9c> + 83f45aa6: 1cfd addi s9,s9,-1 + 83f45aa8: 0000c797 auipc a5,0xc + 83f45aac: 7f07bb87 fld fs7,2032(a5) # 83f52298 <__func__.1+0xa0> + 83f45ab0: a829 j 83f45aca + 83f45ab2: 00fa9023 sh a5,0(s5) + st->memE[0] = tmp_out; /* state out(n-1) */ + 83f45ab6: 11043703 ld a4,272(s0) + for (i=0;iframe_size;i++) { + 83f45aba: 0009079b sext.w a5,s2 + 83f45abe: 0a89 addi s5,s5,2 + st->memE[0] = tmp_out; /* state out(n-1) */ + 83f45ac0: 00872027 fsw fs0,0(a4) + for (i=0;iframe_size;i++) { + 83f45ac4: 4010 lw a2,0(s0) + 83f45ac6: 08c7d763 bge a5,a2,83f45b54 + tmp_out = st->input[i] - st->e[i+st->frame_size]; + 83f45aca: 6838 ld a4,80(s0) + 83f45acc: 7c1c ld a5,56(s0) + 83f45ace: 00c9063b addw a2,s2,a2 + 83f45ad2: 00291693 slli a3,s2,0x2 + 83f45ad6: 060a slli a2,a2,0x2 + 83f45ad8: 9736 add a4,a4,a3 + 83f45ada: 97b2 add a5,a5,a2 + 83f45adc: 00072407 flw fs0,0(a4) + 83f45ae0: 0007a787 flw fa5,0(a5) + tmp_out = tmp_out + st->preemph * st->memE[0]; + 83f45ae4: 11043703 ld a4,272(s0) + if (in[i] <= -32000 || in[i] >= 32000) { + 83f45ae8: 000b5783 lhu a5,0(s6) + tmp_out = st->input[i] - st->e[i+st->frame_size]; + 83f45aec: 08f477d3 fsub.s fa5,fs0,fa5 + tmp_out = tmp_out + st->preemph * st->memE[0]; + 83f45af0: 00072707 flw fa4,0(a4) + 83f45af4: 11842407 flw fs0,280(s0) + if (in[i] <= -32000 || in[i] >= 32000) { + 83f45af8: 018787bb addw a5,a5,s8 + 83f45afc: 17c2 slli a5,a5,0x30 + 83f45afe: 93c1 srli a5,a5,0x30 + tmp_out = tmp_out + st->preemph * st->memE[0]; + 83f45b00: 78e47443 fmadd.s fs0,fs0,fa4,fa5 + for (i=0;iframe_size;i++) { + 83f45b04: 0905 addi s2,s2,1 + if (in[i] <= -32000 || in[i] >= 32000) { + 83f45b06: 00fbf663 bgeu s7,a5,83f45b12 + if (st->saturated == 0) + 83f45b0a: 485c lw a5,20(s0) + 83f45b0c: e399 bnez a5,83f45b12 + st->saturated = 1; + 83f45b0e: 01a42a23 sw s10,20(s0) + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + 83f45b12: a1841753 flt.s a4,fs0,fs8 + 83f45b16: 77e1 lui a5,0xffff8 + for (i=0;iframe_size;i++) { + 83f45b18: 0b09 addi s6,s6,2 + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + 83f45b1a: ff41 bnez a4,83f45ab2 + 83f45b1c: a08c9753 flt.s a4,fs9,fs0 + 83f45b20: 87e6 mv a5,s9 + 83f45b22: fb41 bnez a4,83f45ab2 + 83f45b24: 42040553 fcvt.d.s fa0,fs0 + for (i=0;iframe_size;i++) { + 83f45b28: 0a89 addi s5,s5,2 + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + 83f45b2a: 03757553 fadd.d fa0,fa0,fs7 + 83f45b2e: e35fa0ef jal ra,83f40962 + 83f45b32: c20517d3 fcvt.w.d a5,fa0,rtz + 83f45b36: 0107979b slliw a5,a5,0x10 + 83f45b3a: 4107d79b sraiw a5,a5,0x10 + 83f45b3e: fefa9f23 sh a5,-2(s5) + st->memE[0] = tmp_out; /* state out(n-1) */ + 83f45b42: 11043703 ld a4,272(s0) + for (i=0;iframe_size;i++) { + 83f45b46: 0009079b sext.w a5,s2 + st->memE[0] = tmp_out; /* state out(n-1) */ + 83f45b4a: 00872027 fsw fs0,0(a4) + for (i=0;iframe_size;i++) { + 83f45b4e: 4010 lw a2,0(s0) + 83f45b50: f6c7cde3 blt a5,a2,83f45aca + } + + /* Compute error signal */ + for (i=0;iframe_size;i++) { + 83f45b54: 02c05963 blez a2,83f45b86 + 83f45b58: 4781 li a5,0 + st->e[i+st->frame_size] = st->e[i]; + 83f45b5a: 7c18 ld a4,56(s0) + 83f45b5c: 00279693 slli a3,a5,0x2 + 83f45b60: 9e3d addw a2,a2,a5 + 83f45b62: 00d705b3 add a1,a4,a3 + 83f45b66: 0005a787 flw fa5,0(a1) + 83f45b6a: 060a slli a2,a2,0x2 + 83f45b6c: 9732 add a4,a4,a2 + 83f45b6e: 00f72027 fsw fa5,0(a4) + st->e[i] = 0; + 83f45b72: 7c18 ld a4,56(s0) + for (i=0;iframe_size;i++) { + 83f45b74: 0785 addi a5,a5,1 + 83f45b76: 0007859b sext.w a1,a5 + st->e[i] = 0; + 83f45b7a: 9736 add a4,a4,a3 + 83f45b7c: 00072023 sw zero,0(a4) + for (i=0;iframe_size;i++) { + 83f45b80: 4010 lw a2,0(s0) + 83f45b82: fcc5cce3 blt a1,a2,83f45b5a + } + + /* Compute a bunch of correlations */ + Sey += inner_prod(st->e+st->frame_size, st->y+st->frame_size, st->frame_size); /* the covariance of e(n) and y(n) */ + 83f45b86: 6c2c ld a1,88(s0) + 83f45b88: 7c08 ld a0,56(s0) + 83f45b8a: 00261793 slli a5,a2,0x2 + 83f45b8e: 95be add a1,a1,a5 + 83f45b90: 953e add a0,a0,a5 + 83f45b92: 738000ef jal ra,83f462ca + Syy += inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); /* the variance of y(n) */ + 83f45b96: 4010 lw a2,0(s0) + 83f45b98: 6c2c ld a1,88(s0) + Sey += inner_prod(st->e+st->frame_size, st->y+st->frame_size, st->frame_size); /* the covariance of e(n) and y(n) */ + 83f45b9a: f0000bd3 fmv.w.x fs7,zero + Syy += inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); /* the variance of y(n) */ + 83f45b9e: 00261793 slli a5,a2,0x2 + 83f45ba2: 95be add a1,a1,a5 + 83f45ba4: 852e mv a0,a1 + Sey += inner_prod(st->e+st->frame_size, st->y+st->frame_size, st->frame_size); /* the covariance of e(n) and y(n) */ + 83f45ba6: 01757453 fadd.s fs0,fa0,fs7 + Syy += inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); /* the variance of y(n) */ + 83f45baa: 720000ef jal ra,83f462ca + Sdd += inner_prod(st->input, st->input, st->frame_size); /* the variance of d(n) */ + 83f45bae: 682c ld a1,80(s0) + 83f45bb0: 4010 lw a2,0(s0) + Syy += inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); /* the variance of y(n) */ + 83f45bb2: 01757bd3 fadd.s fs7,fa0,fs7 + Sdd += inner_prod(st->input, st->input, st->frame_size); /* the variance of d(n) */ + 83f45bb6: 852e mv a0,a1 + 83f45bb8: 712000ef jal ra,83f462ca + + speech_fft(st->fft_table, st->e, st->E); + 83f45bbc: 7830 ld a2,112(s0) + 83f45bbe: 7c0c ld a1,56(s0) + 83f45bc0: 7c68 ld a0,248(s0) + Sdd += inner_prod(st->input, st->input, st->frame_size); /* the variance of d(n) */ + 83f45bc2: 20a50c53 fmv.s fs8,fa0 + speech_fft(st->fft_table, st->e, st->E); + 83f45bc6: 4d6030ef jal ra,83f4909c + for (i=0;iframe_size;i++) + 83f45bca: 4018 lw a4,0(s0) + 83f45bcc: 4781 li a5,0 + 83f45bce: 00e05e63 blez a4,83f45bea + st->y[i] = 0; + 83f45bd2: 6c38 ld a4,88(s0) + 83f45bd4: 00279693 slli a3,a5,0x2 + for (i=0;iframe_size;i++) + 83f45bd8: 0785 addi a5,a5,1 + st->y[i] = 0; + 83f45bda: 9736 add a4,a4,a3 + 83f45bdc: 00072023 sw zero,0(a4) + for (i=0;iframe_size;i++) + 83f45be0: 4014 lw a3,0(s0) + 83f45be2: 0007871b sext.w a4,a5 + 83f45be6: fed746e3 blt a4,a3,83f45bd2 + speech_fft(st->fft_table, st->y, st->Y); + 83f45bea: 6c2c ld a1,88(s0) + 83f45bec: 7c68 ld a0,248(s0) + 83f45bee: 7430 ld a2,104(s0) + 83f45bf0: 4ac030ef jal ra,83f4909c + + accum_power_spectrum(st->E, st->Rf, N); /* Rf(k) = the power spectrum of E(k), error power in each frequency bin (N/2+1) */ + 83f45bf4: 7c4c ld a1,184(s0) + 83f45bf6: 7828 ld a0,112(s0) + 83f45bf8: 8626 mv a2,s1 + 83f45bfa: 794000ef jal ra,83f4638e + accum_power_spectrum(st->Y, st->Yf, N); /* Yf(k) = the power spectrum of Y(k) , estimated echo power in each frequency bin (N/2+1) */ + 83f45bfe: 606c ld a1,192(s0) + 83f45c00: 7428 ld a0,104(s0) + 83f45c02: 8626 mv a2,s1 + 83f45c04: 78a000ef jal ra,83f4638e + + + /* Sanity check */ + if (!(Syy>=0 && Sxx>=0 && See >= 0)) { /* things have gone really bad */ + 83f45c08: f00007d3 fmv.w.x fa5,zero + 83f45c0c: a17787d3 fle.s a5,fa5,fs7 + 83f45c10: cfcd beqz a5,83f45cca + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* the variance of x(n) */ + 83f45c12: 00fa7a53 fadd.s fs4,fs4,fa5 + if (!(Syy>=0 && Sxx>=0 && See >= 0)) { /* things have gone really bad */ + 83f45c16: a14787d3 fle.s a5,fa5,fs4 + 83f45c1a: cbc5 beqz a5,83f45cca + 83f45c1c: a16787d3 fle.s a5,fa5,fs6 + 83f45c20: c7cd beqz a5,83f45cca + st->screwed_up += 50; + for (i=0;iframe_size;i++) + out[i] = 0; + } else if (Sff > (Sdd + (float)(N * 10000))) { /* if foreground error signal is a lot greater than mic in */ + 83f45c22: 6789 lui a5,0x2 + 83f45c24: 7107879b addiw a5,a5,1808 + 83f45c28: 02f487bb mulw a5,s1,a5 + Sdd += inner_prod(st->input, st->input, st->frame_size); /* the variance of d(n) */ + 83f45c2c: 00fc77d3 fadd.s fa5,fs8,fa5 + } else if (Sff > (Sdd + (float)(N * 10000))) { /* if foreground error signal is a lot greater than mic in */ + 83f45c30: d007f753 fcvt.s.w fa4,a5 + 83f45c34: 00f777d3 fadd.s fa5,fa4,fa5 + 83f45c38: a13797d3 flt.s a5,fa5,fs3 + 83f45c3c: 5c078f63 beqz a5,83f4621a + st->screwed_up++; + 83f45c40: 4c18 lw a4,24(s0) + 83f45c42: 0017079b addiw a5,a4,1 + 83f45c46: cc1c sw a5,24(s0) + } else { /* everything is fine */ + st->screwed_up = 0; + } + + if (st->screwed_up>=50) { + 83f45c48: 03100713 li a4,49 + 83f45c4c: 0af75463 bge a4,a5,83f45cf4 + //speech_warning("AEC started behaving unreasonable and need to reset"); + echo_state_reset(st); + 83f45c50: 8522 mv a0,s0 + for (i=0;ilast_y[i] = st->x[i]; + } + #endif + +} + 83f45c52: 640e ld s0,192(sp) + 83f45c54: 60ae ld ra,200(sp) + 83f45c56: 74ea ld s1,184(sp) + 83f45c58: 794a ld s2,176(sp) + 83f45c5a: 79aa ld s3,168(sp) + 83f45c5c: 7a0a ld s4,160(sp) + 83f45c5e: 6aea ld s5,152(sp) + 83f45c60: 6b4a ld s6,144(sp) + 83f45c62: 6baa ld s7,136(sp) + 83f45c64: 6c0a ld s8,128(sp) + 83f45c66: 7ce6 ld s9,120(sp) + 83f45c68: 7d46 ld s10,112(sp) + 83f45c6a: 7da6 ld s11,104(sp) + 83f45c6c: 2466 fld fs0,88(sp) + 83f45c6e: 24c6 fld fs1,80(sp) + 83f45c70: 2926 fld fs2,72(sp) + 83f45c72: 2986 fld fs3,64(sp) + 83f45c74: 3a62 fld fs4,56(sp) + 83f45c76: 3ac2 fld fs5,48(sp) + 83f45c78: 3b22 fld fs6,40(sp) + 83f45c7a: 3b82 fld fs7,32(sp) + 83f45c7c: 2c62 fld fs8,24(sp) + 83f45c7e: 2cc2 fld fs9,16(sp) + 83f45c80: 6169 addi sp,sp,208 + echo_state_reset(st); + 83f45c82: f14ff06f j 83f45396 + speech_ifft(st->fft_table, &st->W[j*N], st->wtmp); + 83f45c86: 604c ld a1,128(s0) + 83f45c88: 7850 ld a2,176(s0) + 83f45c8a: 7c68 ld a0,248(s0) + 83f45c8c: 002c1d13 slli s10,s8,0x2 + 83f45c90: 95ea add a1,a1,s10 + 83f45c92: 476030ef jal ra,83f49108 + for (i=st->frame_size;i + 83f45c9c: 40fb86bb subw a3,s7,a5 + 83f45ca0: 1682 slli a3,a3,0x20 + 83f45ca2: 00178713 addi a4,a5,1 # 2001 <_EL1_STACK_SIZE+0x1801> + 83f45ca6: 9281 srli a3,a3,0x20 + 83f45ca8: 96ba add a3,a3,a4 + 83f45caa: 078a slli a5,a5,0x2 + 83f45cac: 068a slli a3,a3,0x2 + st->wtmp[i] = 0; /* set 0 to the last part */ + 83f45cae: 7858 ld a4,176(s0) + 83f45cb0: 973e add a4,a4,a5 + 83f45cb2: 00072023 sw zero,0(a4) + for (i=st->frame_size;i + speech_fft(st->fft_table, st->wtmp, &st->W[j*N]); + 83f45cbc: 6050 ld a2,128(s0) + 83f45cbe: 784c ld a1,176(s0) + 83f45cc0: 7c68 ld a0,248(s0) + 83f45cc2: 966a add a2,a2,s10 + 83f45cc4: 3d8030ef jal ra,83f4909c + 83f45cc8: b6bd j 83f45836 + st->screwed_up += 50; + 83f45cca: 4c1c lw a5,24(s0) + for (i=0;iframe_size;i++) + 83f45ccc: 4018 lw a4,0(s0) + st->screwed_up += 50; + 83f45cce: 0327879b addiw a5,a5,50 + 83f45cd2: cc1c sw a5,24(s0) + for (i=0;iframe_size;i++) + 83f45cd4: 00e05c63 blez a4,83f45cec + 83f45cd8: 6722 ld a4,8(sp) + 83f45cda: 4781 li a5,0 + out[i] = 0; + 83f45cdc: 00071023 sh zero,0(a4) + for (i=0;iframe_size;i++) + 83f45ce0: 4014 lw a3,0(s0) + 83f45ce2: 2785 addiw a5,a5,1 + 83f45ce4: 0709 addi a4,a4,2 + 83f45ce6: fed7cbe3 blt a5,a3,83f45cdc + if (st->screwed_up>=50) { + 83f45cea: 4c1c lw a5,24(s0) + 83f45cec: 03100713 li a4,49 + 83f45cf0: f6f740e3 blt a4,a5,83f45c50 + See = MAX(See, (float)(N * 100)); /* add a small noise floor to make sure not to have problems when dividing */ + 83f45cf4: 06400793 li a5,100 + 83f45cf8: 029787bb mulw a5,a5,s1 + 83f45cfc: d007f7d3 fcvt.s.w fa5,a5 + 83f45d00: a0fb17d3 flt.s a5,fs6,fa5 + 83f45d04: 32079663 bnez a5,83f46030 + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* far-end (TD) current frame power sum */ + 83f45d08: 4010 lw a2,0(s0) + 83f45d0a: 602c ld a1,64(s0) + 83f45d0c: f00009d3 fmv.w.x fs3,zero + 83f45d10: 00261793 slli a5,a2,0x2 + 83f45d14: 95be add a1,a1,a5 + 83f45d16: 852e mv a0,a1 + 83f45d18: 5b2000ef jal ra,83f462ca + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = far-end(FD) power in each frequency bin (N/2+1) */ + 83f45d1c: 646c ld a1,200(s0) + 83f45d1e: 6428 ld a0,72(s0) + 83f45d20: 8626 mv a2,s1 + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* far-end (TD) current frame power sum */ + 83f45d22: 013579d3 fadd.s fs3,fa0,fs3 + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = far-end(FD) power in each frequency bin (N/2+1) */ + 83f45d26: 668000ef jal ra,83f4638e + for (j=0;j<=st->frame_size;j++) + 83f45d2a: 401c lw a5,0(s0) + 83f45d2c: 4e07ca63 bltz a5,83f46220 + ss = st->ss / M; + 83f45d30: 18997953 fdiv.s fs2,fs2,fs1 + ss_1 = 1 - ss; + 83f45d34: 0000c797 auipc a5,0xc + 83f45d38: 51c7aa07 flw fs4,1308(a5) # 83f52250 <__func__.1+0x58> + 83f45d3c: 4701 li a4,0 + 83f45d3e: 092a76d3 fsub.s fa3,fs4,fs2 + st->power[j] = ss_1 * st->power[j] + 1 + ss * st->Xf[j]; /* smooth far end power estimate over time */ + 83f45d42: 705c ld a5,160(s0) + 83f45d44: 00271613 slli a2,a4,0x2 + 83f45d48: 6474 ld a3,200(s0) + 83f45d4a: 97b2 add a5,a5,a2 + 83f45d4c: 0007a707 flw fa4,0(a5) + 83f45d50: 96b2 add a3,a3,a2 + 83f45d52: 0006a787 flw fa5,0(a3) + 83f45d56: a0d77743 fmadd.s fa4,fa4,fa3,fs4 + for (j=0;j<=st->frame_size;j++) + 83f45d5a: 0705 addi a4,a4,1 + 83f45d5c: 0007069b sext.w a3,a4 + st->power[j] = ss_1 * st->power[j] + 1 + ss * st->Xf[j]; /* smooth far end power estimate over time */ + 83f45d60: 7127f7c3 fmadd.s fa5,fa5,fs2,fa4 + 83f45d64: 00f7a027 fsw fa5,0(a5) + for (j=0;j<=st->frame_size;j++) + 83f45d68: 401c lw a5,0(s0) + 83f45d6a: fcd7dce3 bge a5,a3,83f45d42 + for (j=st->frame_size;j>=0;j--) { + 83f45d6e: 4a07cd63 bltz a5,83f46228 + float Pey = FLOAT_ONE, Pyy = FLOAT_ONE; + 83f45d72: 214a05d3 fmv.s fa1,fs4 + 83f45d76: 214a0953 fmv.s fs2,fs4 + 83f45d7a: 078a slli a5,a5,0x2 + 83f45d7c: 4601 li a2,0 + Eh = st->Rf[j] - st->Eh[j]; + 83f45d7e: 7c54 ld a3,184(s0) + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + 83f45d80: 02042707 flw fa4,32(s0) + Eh = st->Rf[j] - st->Eh[j]; + 83f45d84: 6878 ld a4,208(s0) + 83f45d86: 96be add a3,a3,a5 + 83f45d88: 0006a787 flw fa5,0(a3) + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + 83f45d8c: 08ea7553 fsub.s fa0,fs4,fa4 + Eh = st->Rf[j] - st->Eh[j]; + 83f45d90: 973e add a4,a4,a5 + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + 83f45d92: 10e7f653 fmul.s fa2,fa5,fa4 + Eh = st->Rf[j] - st->Eh[j]; + 83f45d96: 00072687 flw fa3,0(a4) + Yh = st->Yf[j] - st->Yh[j]; + 83f45d9a: 606c ld a1,192(s0) + 83f45d9c: 6c74 ld a3,216(s0) + Eh = st->Rf[j] - st->Eh[j]; + 83f45d9e: 08d7f753 fsub.s fa4,fa5,fa3 + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + 83f45da2: 60a6f6c3 fmadd.s fa3,fa3,fa0,fa2 + Yh = st->Yf[j] - st->Yh[j]; + 83f45da6: 96be add a3,a3,a5 + 83f45da8: 95be add a1,a1,a5 + 83f45daa: 0006a007 flw ft0,0(a3) + 83f45dae: 0005a787 flw fa5,0(a1) + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + 83f45db2: 00d72027 fsw fa3,0(a4) + st->Yh[j] = (1-st->spec_average)*st->Yh[j] + st->spec_average*st->Yf[j]; + 83f45db6: 6074 ld a3,192(s0) + 83f45db8: 02042687 flw fa3,32(s0) + 83f45dbc: 6c78 ld a4,216(s0) + 83f45dbe: 96be add a3,a3,a5 + 83f45dc0: 0006a507 flw fa0,0(a3) + 83f45dc4: 08da7653 fsub.s fa2,fs4,fa3 + 83f45dc8: 973e add a4,a4,a5 + 83f45dca: 10a6f6d3 fmul.s fa3,fa3,fa0 + 83f45dce: 00072507 flw fa0,0(a4) + Yh = st->Yf[j] - st->Yh[j]; + 83f45dd2: 0807f7d3 fsub.s fa5,fa5,ft0 + Pey = Pey + Eh * Yh; + 83f45dd6: 86be mv a3,a5 + for (j=st->frame_size;j>=0;j--) { + 83f45dd8: 17f1 addi a5,a5,-4 + st->Yh[j] = (1-st->spec_average)*st->Yh[j] + st->spec_average*st->Yf[j]; + 83f45dda: 68a676c3 fmadd.s fa3,fa2,fa0,fa3 + Pey = Pey + Eh * Yh; + 83f45dde: 90f77943 fmadd.s fs2,fa4,fa5,fs2 + Pyy = Pyy + Yh * Yh; + 83f45de2: 58f7f5c3 fmadd.s fa1,fa5,fa5,fa1 + st->Yh[j] = (1-st->spec_average)*st->Yh[j] + st->spec_average*st->Yf[j]; + 83f45de6: 00d72027 fsw fa3,0(a4) + for (j=st->frame_size;j>=0;j--) { + 83f45dea: f8d61ae3 bne a2,a3,83f45d7e + Pyy = (float)math_sqrt(Pyy); /* the standard deviation of Y(k) */ + 83f45dee: 42058553 fcvt.d.s fa0,fa1 + 83f45df2: 800fb0ef jal ra,83f40df2 + tmp32 = st->beta0 * Syy; + 83f45df6: 02442707 flw fa4,36(s0) + if (tmp32 > (st->beta_max * See)) + 83f45dfa: 02842687 flw fa3,40(s0) + Pyy = (float)math_sqrt(Pyy); /* the standard deviation of Y(k) */ + 83f45dfe: 401575d3 fcvt.s.d fa1,fa0 + tmp32 = st->beta0 * Syy; + 83f45e02: 10ebf753 fmul.s fa4,fs7,fa4 + if (tmp32 > (st->beta_max * See)) + 83f45e06: 10db76d3 fmul.s fa3,fs6,fa3 + Pey = Pey / Pyy; /* the correlation coefficient of E(k) and Y(k) */ + 83f45e0a: 18b977d3 fdiv.s fa5,fs2,fa1 + if (tmp32 > (st->beta_max * See)) + 83f45e0e: a0e697d3 flt.s a5,fa3,fa4 + 83f45e12: c399 beqz a5,83f45e18 + tmp32 = st->beta_max * See; + 83f45e14: 20d68753 fmv.s fa4,fa3 + st->Pyy = alpha_1 * st->Pyy + alpha * Pyy; + 83f45e18: 0e442607 flw fa2,228(s0) + st->Pey = alpha_1 * st->Pey + alpha * Pey; + 83f45e1c: 0e042687 flw fa3,224(s0) + alpha = tmp32 / See; + 83f45e20: 19677753 fdiv.s fa4,fa4,fs6 + alpha_1 = FLOAT_ONE - alpha; + 83f45e24: 08ea7553 fsub.s fa0,fs4,fa4 + st->Pyy = alpha_1 * st->Pyy + alpha * Pyy; + 83f45e28: 10e5f5d3 fmul.s fa1,fa1,fa4 + st->Pey = alpha_1 * st->Pey + alpha * Pey; + 83f45e2c: 10e7f7d3 fmul.s fa5,fa5,fa4 + st->Pyy = alpha_1 * st->Pyy + alpha * Pyy; + 83f45e30: 58a67643 fmadd.s fa2,fa2,fa0,fa1 + st->Pey = alpha_1 * st->Pey + alpha * Pey; + 83f45e34: 78a6f7c3 fmadd.s fa5,fa3,fa0,fa5 + if (st->Pyy < FLOAT_ONE) + 83f45e38: a14617d3 flt.s a5,fa2,fs4 + st->Pey = alpha_1 * st->Pey + alpha * Pey; + 83f45e3c: 0ef42027 fsw fa5,224(s0) + if (st->Pyy < FLOAT_ONE) + 83f45e40: 1e079b63 bnez a5,83f46036 + st->Pyy = alpha_1 * st->Pyy + alpha * Pyy; + 83f45e44: 0ec42227 fsw fa2,228(s0) + if (st->Pey < st->aec_min_leak * st->Pyy) + 83f45e48: 12842687 flw fa3,296(s0) + 83f45e4c: 10d676d3 fmul.s fa3,fa2,fa3 + 83f45e50: a0d797d3 flt.s a5,fa5,fa3 + 83f45e54: c789 beqz a5,83f45e5e + st->Pey = st->aec_min_leak * st->Pyy; + 83f45e56: 20d687d3 fmv.s fa5,fa3 + 83f45e5a: 0ed42027 fsw fa3,224(s0) + if (st->Pey > st->Pyy) + 83f45e5e: a0f617d3 flt.s a5,fa2,fa5 + 83f45e62: c789 beqz a5,83f45e6c + st->Pey = st->Pyy; + 83f45e64: 20c607d3 fmv.s fa5,fa2 + 83f45e68: 0ec42027 fsw fa2,224(s0) + st->leak_estimate = st->Pey / st->Pyy; + 83f45e6c: 18c7f653 fdiv.s fa2,fa5,fa2 + if (st->leak_estimate > 16383) + 83f45e70: 0000c797 auipc a5,0xc + 83f45e74: 45c7a787 flw fa5,1116(a5) # 83f522cc <__func__.1+0xd4> + 83f45e78: a0c797d3 flt.s a5,fa5,fa2 + 83f45e7c: 26079c63 bnez a5,83f460f4 + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + 83f45e80: 0000c797 auipc a5,0xc + 83f45e84: 4507a687 flw fa3,1104(a5) # 83f522d0 <__func__.1+0xd8> + 83f45e88: 10d676d3 fmul.s fa3,fa2,fa3 + st->leak_estimate = st->Pey / st->Pyy; + 83f45e8c: 02c42827 fsw fa2,48(s0) + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + 83f45e90: 10dbf6d3 fmul.s fa3,fs7,fa3 + 83f45e94: 420987d3 fcvt.d.s fa5,fs3 + 83f45e98: 0000c797 auipc a5,0xc + 83f45e9c: 4807b507 fld fa0,1152(a5) # 83f52318 <__func__.1+0x120> + 83f45ea0: 420b05d3 fcvt.d.s fa1,fs6 + if (RER < Sey*Sey/(1+See*Syy)) + 83f45ea4: 10847453 fmul.s fs0,fs0,fs0 + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + 83f45ea8: 420686d3 fcvt.d.s fa3,fa3 + if (RER < Sey*Sey/(1+See*Syy)) + 83f45eac: a17b7743 fmadd.s fa4,fs6,fs7,fs4 + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + 83f45eb0: 6aa7f7c3 fmadd.d fa5,fa5,fa0,fa3 + if (RER < Sey*Sey/(1+See*Syy)) + 83f45eb4: 18e47753 fdiv.s fa4,fs0,fa4 + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + 83f45eb8: 1ab7f7d3 fdiv.d fa5,fa5,fa1 + 83f45ebc: 4017f7d3 fcvt.s.d fa5,fa5 + if (RER < Sey*Sey/(1+See*Syy)) + 83f45ec0: a0e797d3 flt.s a5,fa5,fa4 + 83f45ec4: c399 beqz a5,83f45eca + RER = Sey*Sey/(1+See*Syy); + 83f45ec6: 20e707d3 fmv.s fa5,fa4 + if (RER > .5) + 83f45eca: 0000c797 auipc a5,0xc + 83f45ece: 3a67a507 flw fa0,934(a5) # 83f52270 <__func__.1+0x78> + 83f45ed2: a0f517d3 flt.s a5,fa0,fa5 + 83f45ed6: 1e079263 bnez a5,83f460ba + if (st->RER*32767 > 1000) + 83f45eda: 0000c797 auipc a5,0xc + 83f45ede: 3927a707 flw fa4,914(a5) # 83f5226c <__func__.1+0x74> + 83f45ee2: 10e7f753 fmul.s fa4,fa5,fa4 + 83f45ee6: 0000c797 auipc a5,0xc + 83f45eea: 3ee7a687 flw fa3,1006(a5) # 83f522d4 <__func__.1+0xdc> + st->RER = RER; + 83f45eee: 14f42227 fsw fa5,324(s0) + if (st->RER*32767 > 1000) + 83f45ef2: a0e697d3 flt.s a5,fa3,fa4 + 83f45ef6: 1c079663 bnez a5,83f460c2 + if (!st->adapted && st->sum_adapt > M && st->leak_estimate*Syy > .03f*Syy) { + 83f45efa: 481c lw a5,16(s0) + 83f45efc: e78d bnez a5,83f45f26 + 83f45efe: 02c42707 flw fa4,44(s0) + 83f45f02: a0e497d3 flt.s a5,fs1,fa4 + 83f45f06: 14078063 beqz a5,83f46046 + 83f45f0a: 0000c797 auipc a5,0xc + 83f45f0e: 3ce7a687 flw fa3,974(a5) # 83f522d8 <__func__.1+0xe0> + 83f45f12: 10cbf053 fmul.s ft0,fs7,fa2 + 83f45f16: 10dbfbd3 fmul.s fs7,fs7,fa3 + 83f45f1a: a00b97d3 flt.s a5,fs7,ft0 + 83f45f1e: 12078463 beqz a5,83f46046 + st->adapted = 1; + 83f45f22: 4785 li a5,1 + 83f45f24: c81c sw a5,16(s0) + for (i=0;i<=st->frame_size;i++) { + 83f45f26: 401c lw a5,0(s0) + 83f45f28: 1a07c363 bltz a5,83f460ce + r = .7f * r + .3f * RER * e; + 83f45f2c: 0000c797 auipc a5,0xc + 83f45f30: 3b07a587 flw fa1,944(a5) # 83f522dc <__func__.1+0xe4> + 83f45f34: 10b7f5d3 fmul.s fa1,fa5,fa1 + 83f45f38: 4701 li a4,0 + 83f45f3a: 0000c797 auipc a5,0xc + 83f45f3e: 34e7a007 flw ft0,846(a5) # 83f52288 <__func__.1+0x90> + 83f45f42: a019 j 83f45f48 + r = st->leak_estimate * st->Yf[i]; + 83f45f44: 03042607 flw fa2,48(s0) + e = st->Rf[i] + 1; /* the power spectrum of E(k) */ + 83f45f48: 7c50 ld a2,184(s0) + 83f45f4a: 00271793 slli a5,a4,0x2 + r = st->leak_estimate * st->Yf[i]; + 83f45f4e: 6074 ld a3,192(s0) + e = st->Rf[i] + 1; /* the power spectrum of E(k) */ + 83f45f50: 963e add a2,a2,a5 + 83f45f52: 00062687 flw fa3,0(a2) + r = st->leak_estimate * st->Yf[i]; + 83f45f56: 96be add a3,a3,a5 + 83f45f58: 0006a787 flw fa5,0(a3) + e = st->Rf[i] + 1; /* the power spectrum of E(k) */ + 83f45f5c: 0146f6d3 fadd.s fa3,fa3,fs4 + for (i=0;i<=st->frame_size;i++) { + 83f45f60: 0705 addi a4,a4,1 + r = st->leak_estimate * st->Yf[i]; + 83f45f62: 10f677d3 fmul.s fa5,fa2,fa5 + for (i=0;i<=st->frame_size;i++) { + 83f45f66: 0007059b sext.w a1,a4 + if (r>.5f*e) + 83f45f6a: 10a6f753 fmul.s fa4,fa3,fa0 + r = .7f * r + .3f * RER * e; + 83f45f6e: 10d5f653 fmul.s fa2,fa1,fa3 + if (r>.5f*e) + 83f45f72: a0f716d3 flt.s a3,fa4,fa5 + 83f45f76: c299 beqz a3,83f45f7c + r = .5f*e; + 83f45f78: 20e707d3 fmv.s fa5,fa4 + st->power_1[i] = r / (e * (st->power[i] + 10)); + 83f45f7c: 7050 ld a2,160(s0) + r = .7f * r + .3f * RER * e; + 83f45f7e: 6007f7c3 fmadd.s fa5,fa5,ft0,fa2 + st->power_1[i] = r / (e * (st->power[i] + 10)); + 83f45f82: 7454 ld a3,168(s0) + 83f45f84: 963e add a2,a2,a5 + 83f45f86: 00062707 flw fa4,0(a2) + 83f45f8a: 97b6 add a5,a5,a3 + 83f45f8c: 01577753 fadd.s fa4,fa4,fs5 + 83f45f90: 10d77753 fmul.s fa4,fa4,fa3 + 83f45f94: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f45f98: 00f7a027 fsw fa5,0(a5) + for (i=0;i<=st->frame_size;i++) { + 83f45f9c: 401c lw a5,0(s0) + 83f45f9e: fab7d3e3 bge a5,a1,83f45f44 + for (i=0;iframe_size;i++) + 83f45fa2: 4701 li a4,0 + 83f45fa4: 12f05563 blez a5,83f460ce + st->last_y[i] = st->last_y[st->frame_size+i]; + 83f45fa8: 7034 ld a3,96(s0) + 83f45faa: 9fb9 addw a5,a5,a4 + 83f45fac: 078a slli a5,a5,0x2 + 83f45fae: 97b6 add a5,a5,a3 + 83f45fb0: 0007a787 flw fa5,0(a5) + 83f45fb4: 00271793 slli a5,a4,0x2 + 83f45fb8: 96be add a3,a3,a5 + 83f45fba: 00f6a027 fsw fa5,0(a3) + for (i=0;iframe_size;i++) + 83f45fbe: 401c lw a5,0(s0) + 83f45fc0: 0705 addi a4,a4,1 + 83f45fc2: 0007069b sext.w a3,a4 + 83f45fc6: fef6c1e3 blt a3,a5,83f45fa8 + if (st->adapted) { + 83f45fca: 4818 lw a4,16(s0) + 83f45fcc: 10070363 beqz a4,83f460d2 + for (i=0;iframe_size;i++) + 83f45fd0: 02f05763 blez a5,83f45ffe + 83f45fd4: 6a22 ld s4,8(sp) + 83f45fd6: 4701 li a4,0 + st->last_y[st->frame_size+i] = (float)(in[i]-out[i]); + 83f45fd8: 00099503 lh a0,0(s3) + 83f45fdc: 000a1683 lh a3,0(s4) # 8000 <_EL1_STACK_SIZE+0x7800> + 83f45fe0: 7030 ld a2,96(s0) + 83f45fe2: 9fb9 addw a5,a5,a4 + 83f45fe4: 9d15 subw a0,a0,a3 + 83f45fe6: d00577d3 fcvt.s.w fa5,a0 + 83f45fea: 078a slli a5,a5,0x2 + 83f45fec: 97b2 add a5,a5,a2 + 83f45fee: 00f7a027 fsw fa5,0(a5) + for (i=0;iframe_size;i++) + 83f45ff2: 401c lw a5,0(s0) + 83f45ff4: 2705 addiw a4,a4,1 + 83f45ff6: 0989 addi s3,s3,2 + 83f45ff8: 0a09 addi s4,s4,2 + 83f45ffa: fcf74fe3 blt a4,a5,83f45fd8 +} + 83f45ffe: 60ae ld ra,200(sp) + 83f46000: 640e ld s0,192(sp) + 83f46002: 74ea ld s1,184(sp) + 83f46004: 794a ld s2,176(sp) + 83f46006: 79aa ld s3,168(sp) + 83f46008: 7a0a ld s4,160(sp) + 83f4600a: 6aea ld s5,152(sp) + 83f4600c: 6b4a ld s6,144(sp) + 83f4600e: 6baa ld s7,136(sp) + 83f46010: 6c0a ld s8,128(sp) + 83f46012: 7ce6 ld s9,120(sp) + 83f46014: 7d46 ld s10,112(sp) + 83f46016: 7da6 ld s11,104(sp) + 83f46018: 2466 fld fs0,88(sp) + 83f4601a: 24c6 fld fs1,80(sp) + 83f4601c: 2926 fld fs2,72(sp) + 83f4601e: 2986 fld fs3,64(sp) + 83f46020: 3a62 fld fs4,56(sp) + 83f46022: 3ac2 fld fs5,48(sp) + 83f46024: 3b22 fld fs6,40(sp) + 83f46026: 3b82 fld fs7,32(sp) + 83f46028: 2c62 fld fs8,24(sp) + 83f4602a: 2cc2 fld fs9,16(sp) + 83f4602c: 6169 addi sp,sp,208 + 83f4602e: 8082 ret + See = MAX(See, (float)(N * 100)); /* add a small noise floor to make sure not to have problems when dividing */ + 83f46030: 20f78b53 fmv.s fs6,fa5 + 83f46034: b9d1 j 83f45d08 + st->Pyy = FLOAT_ONE; + 83f46036: 214a0653 fmv.s fa2,fs4 + 83f4603a: 0f442227 fsw fs4,228(s0) + 83f4603e: b529 j 83f45e48 + else if ((st->Davg1 * ABS(st->Davg1)) > (st->aec_var1_update * st->Dvar1)) + 83f46040: 20c61153 fneg.s ft2,fa2 + 83f46044: ba41 j 83f459d4 + if (Sxx > (float)(N * 1000)) { /* far-end exists a certain level of energy */ + 83f46046: 3e800793 li a5,1000 + 83f4604a: 029787bb mulw a5,a5,s1 + 83f4604e: d007f7d3 fcvt.s.w fa5,a5 + 83f46052: a13797d3 flt.s a5,fa5,fs3 + 83f46056: e7e1 bnez a5,83f4611e + float adapt_rate = 0; + 83f46058: f0000b53 fmv.w.x fs6,zero + for (i=0;i<=st->frame_size;i++) + 83f4605c: 401c lw a5,0(s0) + 83f4605e: 0207c963 bltz a5,83f46090 + 83f46062: 4701 li a4,0 + st->power_1[i] = adapt_rate / (st->power[i] + 10); + 83f46064: 7054 ld a3,160(s0) + 83f46066: 00271613 slli a2,a4,0x2 + 83f4606a: 745c ld a5,168(s0) + 83f4606c: 96b2 add a3,a3,a2 + 83f4606e: 0006a787 flw fa5,0(a3) + 83f46072: 97b2 add a5,a5,a2 + for (i=0;i<=st->frame_size;i++) + 83f46074: 0705 addi a4,a4,1 + st->power_1[i] = adapt_rate / (st->power[i] + 10); + 83f46076: 0157f7d3 fadd.s fa5,fa5,fs5 + for (i=0;i<=st->frame_size;i++) + 83f4607a: 0007069b sext.w a3,a4 + st->power_1[i] = adapt_rate / (st->power[i] + 10); + 83f4607e: 18fb77d3 fdiv.s fa5,fs6,fa5 + 83f46082: 00f7a027 fsw fa5,0(a5) + for (i=0;i<=st->frame_size;i++) + 83f46086: 401c lw a5,0(s0) + 83f46088: fcd7dee3 bge a5,a3,83f46064 + st->sum_adapt = st->sum_adapt + adapt_rate; /* the bigger the value, the bigger the echo */ + 83f4608c: 02c42707 flw fa4,44(s0) + 83f46090: 00eb7b53 fadd.s fs6,fs6,fa4 + 83f46094: 03642627 fsw fs6,44(s0) + 83f46098: b729 j 83f45fa2 + M = st->initial_filter_len; + 83f4609a: 15041903 lh s2,336(s0) + 83f4609e: d36ff06f j 83f455d4 + st->saturated--; + 83f460a2: 37fd addiw a5,a5,-1 + 83f460a4: 00048c9b sext.w s9,s1 + 83f460a8: c85c sw a5,20(s0) + for (j=0;j + 83f460b6: f8aff06f j 83f45840 + RER = .5; + 83f460ba: 20a507d3 fmv.s fa5,fa0 + st->RER = RER; + 83f460be: 14a42227 fsw fa0,324(s0) + st->echo_cnt++; + 83f460c2: 14843783 ld a5,328(s0) + 83f460c6: 0785 addi a5,a5,1 + 83f460c8: 14f43423 sd a5,328(s0) + 83f460cc: b53d j 83f45efa + if (st->adapted) { + 83f460ce: 481c lw a5,16(s0) + 83f460d0: f79d bnez a5,83f45ffe + for (i=0;i + st->last_y[i] = st->x[i]; + 83f460dc: 6034 ld a3,64(s0) + 83f460de: 7038 ld a4,96(s0) + 83f460e0: 96be add a3,a3,a5 + 83f460e2: 0006a787 flw fa5,0(a3) + 83f460e6: 973e add a4,a4,a5 + for (i=0;ilast_y[i] = st->x[i]; + 83f460ea: 00f72027 fsw fa5,0(a4) + for (i=0;i + 83f460f2: b731 j 83f45ffe + st->leak_estimate = 32767; + 83f460f4: 0000c797 auipc a5,0xc + 83f460f8: 1787a787 flw fa5,376(a5) # 83f5226c <__func__.1+0x74> + 83f460fc: 20f78653 fmv.s fa2,fa5 + 83f46100: 02f42827 fsw fa5,48(s0) + 83f46104: 0000c797 auipc a5,0xc + 83f46108: 1a87a687 flw fa3,424(a5) # 83f522ac <__func__.1+0xb4> + 83f4610c: b351 j 83f45e90 + aec_adjust_prop (st->W, N, M, st->prop); + 83f4610e: 7874 ld a3,240(s0) + 83f46110: 6048 ld a0,128(s0) + 83f46112: 864a mv a2,s2 + 83f46114: 85a6 mv a1,s1 + 83f46116: 4cc000ef jal ra,83f465e2 + 83f4611a: e6aff06f j 83f45784 + tmp32 = .25f * Sxx; + 83f4611e: 0000c797 auipc a5,0xc + 83f46122: 1c27a787 flw fa5,450(a5) # 83f522e0 <__func__.1+0xe8> + if (tmp32 > .25*See) + 83f46126: 0000c797 auipc a5,0xc + 83f4612a: 1fa7b687 fld fa3,506(a5) # 83f52320 <__func__.1+0x128> + tmp32 = .25f * Sxx; + 83f4612e: 10f9f9d3 fmul.s fs3,fs3,fa5 + if (tmp32 > .25*See) + 83f46132: 12d5f5d3 fmul.d fa1,fa1,fa3 + 83f46136: 420986d3 fcvt.d.s fa3,fs3 + 83f4613a: a2d597d3 flt.d a5,fa1,fa3 + 83f4613e: c399 beqz a5,83f46144 + tmp32 = (float)(.25*See); + 83f46140: 10fb79d3 fmul.s fs3,fs6,fa5 + adapt_rate = tmp32 / See; /* residual echo/error signal */ + 83f46144: 1969fb53 fdiv.s fs6,fs3,fs6 + 83f46148: bf11 j 83f4605c + if ((-(Sff - See) * ABS(Sff - See)) > (st->aec_var_backtrack * Sff * Dbf)) + 83f4614a: 13c42087 flw ft1,316(s0) + if ((-(st->Davg1) * ABS(st->Davg1)) > (st->aec_var_backtrack * st->Dvar1)) + 83f4614e: 20c61753 fneg.s fa4,fa2 + 83f46152: 1016f6d3 fmul.s fa3,fa3,ft1 + 83f46156: 10277753 fmul.s fa4,fa4,ft2 + 83f4615a: a0e697d3 flt.s a5,fa3,fa4 + 83f4615e: eb91 bnez a5,83f46172 + if ((-(st->Davg2) * ABS(st->Davg2)) > (st->aec_var_backtrack * st->Dvar2)) + 83f46160: 20b59753 fneg.s fa4,fa1 + 83f46164: 10157553 fmul.s fa0,fa0,ft1 + 83f46168: 10377753 fmul.s fa4,fa4,ft3 + 83f4616c: a0e517d3 flt.s a5,fa0,fa4 + 83f46170: c3f9 beqz a5,83f46236 + for (i=0;i + st->W[i] = st->foreground[i]; + 83f46180: 6454 ld a3,136(s0) + 83f46182: 6058 ld a4,128(s0) + 83f46184: 96be add a3,a3,a5 + 83f46186: 0006a787 flw fa5,0(a3) + 83f4618a: 973e add a4,a4,a5 + for (i=0;iW[i] = st->foreground[i]; + 83f4618e: 00f72027 fsw fa5,0(a4) + for (i=0;i + for (i=0;iframe_size;i++) + 83f46196: 4010 lw a2,0(s0) + 83f46198: 4701 li a4,0 + 83f4619a: 04c05c63 blez a2,83f461f2 + st->y[i+st->frame_size] = st->e[i+st->frame_size]; + 83f4619e: 7c0c ld a1,56(s0) + 83f461a0: 00c707bb addw a5,a4,a2 + 83f461a4: 078a slli a5,a5,0x2 + 83f461a6: 6c34 ld a3,88(s0) + 83f461a8: 95be add a1,a1,a5 + 83f461aa: 0005a787 flw fa5,0(a1) + 83f461ae: 97b6 add a5,a5,a3 + for (i=0;iframe_size;i++) + 83f461b0: 2705 addiw a4,a4,1 + st->y[i+st->frame_size] = st->e[i+st->frame_size]; + 83f461b2: 00f7a027 fsw fa5,0(a5) + for (i=0;iframe_size;i++) + 83f461b6: 4010 lw a2,0(s0) + 83f461b8: fec743e3 blt a4,a2,83f4619e + for (i=0;iframe_size;i++) + 83f461bc: 02c05b63 blez a2,83f461f2 + 83f461c0: 4781 li a5,0 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f461c2: 6834 ld a3,80(s0) + 83f461c4: 6c38 ld a4,88(s0) + 83f461c6: 9e3d addw a2,a2,a5 + 83f461c8: 00279593 slli a1,a5,0x2 + 83f461cc: 060a slli a2,a2,0x2 + 83f461ce: 9732 add a4,a4,a2 + 83f461d0: 96ae add a3,a3,a1 + 83f461d2: 0006a787 flw fa5,0(a3) + 83f461d6: 00072707 flw fa4,0(a4) + 83f461da: 7c18 ld a4,56(s0) + for (i=0;iframe_size;i++) + 83f461dc: 0785 addi a5,a5,1 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f461de: 08e7f7d3 fsub.s fa5,fa5,fa4 + 83f461e2: 972e add a4,a4,a1 + for (i=0;iframe_size;i++) + 83f461e4: 0007869b sext.w a3,a5 + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + 83f461e8: 00f72027 fsw fa5,0(a4) + for (i=0;iframe_size;i++) + 83f461ec: 4010 lw a2,0(s0) + 83f461ee: fcc6cae3 blt a3,a2,83f461c2 + See = Sff; /* reset error power, copy foreground to background */ + 83f461f2: 21398b53 fmv.s fs6,fs3 + st->Davg1 = st->Davg2 = FLOAT_ZERO; + 83f461f6: 08043823 sd zero,144(s0) + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + 83f461fa: 08043c23 sd zero,152(s0) + 83f461fe: b8bd j 83f45a7c + else if ((st->Davg2 * ABS(st->Davg2)) > (st->aec_var2_update * st->Dvar2)) + 83f46200: 20b591d3 fneg.s ft3,fa1 + 83f46204: 13842707 flw fa4,312(s0) + 83f46208: 1035f0d3 fmul.s ft1,fa1,ft3 + 83f4620c: 10e57753 fmul.s fa4,fa0,fa4 + 83f46210: a01717d3 flt.s a5,fa4,ft1 + 83f46214: fe079b63 bnez a5,83f45a0a + 83f46218: bf0d j 83f4614a + st->screwed_up = 0; + 83f4621a: 00042c23 sw zero,24(s0) + if (st->screwed_up>=50) { + 83f4621e: bcd9 j 83f45cf4 + 83f46220: 0000c797 auipc a5,0xc + 83f46224: 0307aa07 flw fs4,48(a5) # 83f52250 <__func__.1+0x58> + float Pey = FLOAT_ONE, Pyy = FLOAT_ONE; + 83f46228: 214a0953 fmv.s fs2,fs4 + 83f4622c: 0000c797 auipc a5,0xc + 83f46230: 0e47b507 fld fa0,228(a5) # 83f52310 <__func__.1+0x118> + 83f46234: be7d j 83f45df2 + if ((-(Sff - See) * ABS(Sff - See)) > (st->aec_var_backtrack * Sff * Dbf)) + 83f46236: 1130f0d3 fmul.s ft1,ft1,fs3 + 83f4623a: 20f797d3 fneg.s fa5,fa5 + 83f4623e: 1007f7d3 fmul.s fa5,fa5,ft0 + 83f46242: 1080f453 fmul.s fs0,ft1,fs0 + if (reset_background) { + 83f46246: a0f417d3 flt.s a5,fs0,fa5 + 83f4624a: f785 bnez a5,83f46172 + for (i=0;iframe_size;i++) { + 83f4624c: 4010 lw a2,0(s0) + 83f4624e: 82fff06f j 83f45a7c + +0000000083f46252 : +#endif +{ + int i; + float den2; + + den2 = radius*radius + .7f*(1-radius)*(1-radius); + 83f46252: 0000c797 auipc a5,0xc + 83f46256: ffe7a587 flw fa1,-2(a5) # 83f52250 <__func__.1+0x58> + 83f4625a: 08a5f5d3 fsub.s fa1,fa1,fa0 + 83f4625e: 0000c797 auipc a5,0xc + 83f46262: 02a7a787 flw fa5,42(a5) # 83f52288 <__func__.1+0x90> + 83f46266: 10f5f7d3 fmul.s fa5,fa1,fa5 + 83f4626a: 10b7f5d3 fmul.s fa1,fa5,fa1 + 83f4626e: 58a575c3 fmadd.s fa1,fa0,fa0,fa1 + + for (i=0;i + 83f46276: fff6079b addiw a5,a2,-1 + 83f4627a: 02079713 slli a4,a5,0x20 + 83f4627e: 01f75793 srli a5,a4,0x1f + 83f46282: 00250713 addi a4,a0,2 + 83f46286: 97ba add a5,a5,a4 + 83f46288: 0000c717 auipc a4,0xc + 83f4628c: 00472007 flw ft0,4(a4) # 83f5228c <__func__.1+0x94> + float vin = in[i]; + 83f46290: 00051703 lh a4,0(a0) + float vout = mem[0] + vin; + 83f46294: 0006a707 flw fa4,0(a3) + mem[0] = mem[1] + 2*(-vin + radius*vout); /* history buffer */ + 83f46298: 0046a607 flw fa2,4(a3) + float vin = in[i]; + 83f4629c: d00777d3 fcvt.s.w fa5,a4 + for (i=0;i + } +} + 83f462c8: 8082 ret + +0000000083f462ca : + +inline float inner_prod(const float *x, const float *y, int len) +{ + float sum = 0; + + len >>= 1; + 83f462ca: 40165793 srai a5,a2,0x1 + float sum = 0; + 83f462ce: f0000553 fmv.w.x fa0,zero + len >>= 1; + 83f462d2: 4016561b sraiw a2,a2,0x1 + while(len--) { + 83f462d6: cf85 beqz a5,83f4630e + 83f462d8: 02061793 slli a5,a2,0x20 + float part = 0; + part = part + (*x++) * (*y++); + 83f462dc: 20a50653 fmv.s fa2,fa0 + 83f462e0: 01d7d613 srli a2,a5,0x1d + 83f462e4: 00c507b3 add a5,a0,a2 + 83f462e8: 00052707 flw fa4,0(a0) + 83f462ec: 0005a687 flw fa3,0(a1) + 83f462f0: 0521 addi a0,a0,8 + part = part + (*x++) * (*y++); + 83f462f2: ffc52787 flw fa5,-4(a0) + part = part + (*x++) * (*y++); + 83f462f6: 60d77743 fmadd.s fa4,fa4,fa3,fa2 + part = part + (*x++) * (*y++); + 83f462fa: 0045a687 flw fa3,4(a1) + 83f462fe: 05a1 addi a1,a1,8 + 83f46300: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + sum = sum + part; + 83f46304: 00f57553 fadd.s fa0,fa0,fa5 + while(len--) { + 83f46308: fef510e3 bne a0,a5,83f462e8 + 83f4630c: 8082 ret + } + return sum; +} + 83f4630e: 8082 ret + +0000000083f46310 : + +inline void bin_power_spectrum(const float *X, float *ps, int N) +{ + int i, j; + + ps[0] = X[0] * X[0]; + 83f46310: 00052787 flw fa5,0(a0) + for (i=1,j=1;i + 83f46322: 3675 addiw a2,a2,-3 + 83f46324: 0016569b srliw a3,a2,0x1 + 83f46328: 00369813 slli a6,a3,0x3 + 83f4632c: 00c50693 addi a3,a0,12 + 83f46330: 00450793 addi a5,a0,4 + 83f46334: 00458713 addi a4,a1,4 + 83f46338: 0016561b srliw a2,a2,0x1 + 83f4633c: 96c2 add a3,a3,a6 + ps[j] = X[i] * X[i] + X[i+1] * X[i+1]; + 83f4633e: 0047a707 flw fa4,4(a5) + 83f46342: 0007a787 flw fa5,0(a5) + for (i=1,j=1;i + 83f4635a: 0016179b slliw a5,a2,0x1 + } + ps[j] = X[i] * X[i]; + 83f4635e: 278d addiw a5,a5,3 + 83f46360: 078a slli a5,a5,0x2 + 83f46362: 953e add a0,a0,a5 + 83f46364: 00052787 flw fa5,0(a0) + 83f46368: 2609 addiw a2,a2,2 + 83f4636a: 060a slli a2,a2,0x2 + 83f4636c: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f46370: 962e add a2,a2,a1 + 83f46372: 00f62027 fsw fa5,0(a2) +} + 83f46376: 8082 ret + for (i=1,j=1;i: + +inline void accum_power_spectrum(const float *X, float *ps, int N) +{ + int i, j; + + ps[0] += (X[0] * X[0]); /* ps[0] = ps[0] + X[0] * X[0], real part only, the im part in first point is zero */ + 83f4638e: 00052787 flw fa5,0(a0) + 83f46392: 0005a707 flw fa4,0(a1) + for (i=1,j=1;i + 83f463a4: 3675 addiw a2,a2,-3 + 83f463a6: 0016569b srliw a3,a2,0x1 + 83f463aa: 00369813 slli a6,a3,0x3 + 83f463ae: 00c50693 addi a3,a0,12 + 83f463b2: 00458713 addi a4,a1,4 + 83f463b6: 00450793 addi a5,a0,4 + 83f463ba: 0016561b srliw a2,a2,0x1 + 83f463be: 96c2 add a3,a3,a6 + ps[j] += (X[i] * X[i] + X[i+1] * X[i+1]); + 83f463c0: 0047a707 flw fa4,4(a5) + 83f463c4: 0007a787 flw fa5,0(a5) + 83f463c8: 00072687 flw fa3,0(a4) + 83f463cc: 10e77753 fmul.s fa4,fa4,fa4 + for (i=1,j=1;i + 83f463e4: 0016179b slliw a5,a2,0x1 + } + ps[j] += (X[i] * X[i]); /* real part only, the im part in (N/2+1)th point is zero */ + 83f463e8: 278d addiw a5,a5,3 + 83f463ea: 2609 addiw a2,a2,2 + 83f463ec: 060a slli a2,a2,0x2 + 83f463ee: 078a slli a5,a5,0x2 + 83f463f0: 962e add a2,a2,a1 + 83f463f2: 953e add a0,a0,a5 + 83f463f4: 00052787 flw fa5,0(a0) + 83f463f8: 00062707 flw fa4,0(a2) + 83f463fc: 70f7f7c3 fmadd.s fa5,fa5,fa5,fa4 + 83f46400: 00f62027 fsw fa5,0(a2) +} + 83f46404: 8082 ret + for (i=1,j=1;i: + +inline void accum_spectral_mul(const float *X, const float *Y, float *acc, int N, int M) +{ + int i,j; + + for (i=0;i + 83f46424: fff6881b addiw a6,a3,-1 + 83f46428: 02081793 slli a5,a6,0x20 + 83f4642c: 01e7d893 srli a7,a5,0x1e + 83f46430: 00460813 addi a6,a2,4 + 83f46434: 87b2 mv a5,a2 + 83f46436: 9846 add a6,a6,a7 + acc[i] = 0; + 83f46438: 0007a023 sw zero,0(a5) + for (i=0;i + for (j=0;j + 83f46446: ffd6879b addiw a5,a3,-3 + acc[0] += (X[0]*Y[0]); /* real part only for the first point of X and Y */ + for (i=1;i + 83f46480: 00460793 addi a5,a2,4 + 83f46484: 00450893 addi a7,a0,4 + 83f46488: 00458813 addi a6,a1,4 + acc[i] += (X[i]*Y[i] - X[i+1]*Y[i+1]); /* real part */ + 83f4648c: 0048a787 flw fa5,4(a7) + 83f46490: 00482607 flw fa2,4(a6) # 8004 <_EL1_STACK_SIZE+0x7804> + 83f46494: 0008a687 flw fa3,0(a7) + 83f46498: 00082587 flw fa1,0(a6) + 83f4649c: 10c7f653 fmul.s fa2,fa5,fa2 + 83f464a0: 0007a707 flw fa4,0(a5) + acc[i+1] += (X[i+1]*Y[i] + X[i]*Y[i+1]); /* imaginary part */ + 83f464a4: 0047a787 flw fa5,4(a5) + for (i=1;i + 83f464de: 87fa mv a5,t5 + acc[i] += (X[i]*Y[i]); /* real part only for the (N/2+1)th point of X and Y */ + 83f464e0: 00f60833 add a6,a2,a5 + 83f464e4: 00f508b3 add a7,a0,a5 + 83f464e8: 97ae add a5,a5,a1 + 83f464ea: 0008a787 flw fa5,0(a7) + 83f464ee: 0007a687 flw fa3,0(a5) + 83f464f2: 00082707 flw fa4,0(a6) + for (j=0;j + } +} + 83f46508: 8082 ret + for (i=1;i + 83f4650e: 8082 ret + +0000000083f46510 : +inline void weighted_gradient_phi(const float *w, const float p, const float *X, const float *Y, float *prod, int N) +{ + int i, j; + float W; + + W = p * w[0]; /* real value */ + 83f46510: 00052787 flw fa5,0(a0) + prod[0] = W * X[0] * Y[0]; /* real part only for the first point of X and Y */ + 83f46514: 0005a687 flw fa3,0(a1) + 83f46518: 00062707 flw fa4,0(a2) + W = p * w[0]; /* real value */ + 83f4651c: 10f577d3 fmul.s fa5,fa0,fa5 + for (i=1,j=1;i + 83f46532: ffd7031b addiw t1,a4,-3 + 83f46536: 00135e9b srliw t4,t1,0x1 + 83f4653a: 00c58e13 addi t3,a1,12 + 83f4653e: 0e8e slli t4,t4,0x3 + 83f46540: 00450893 addi a7,a0,4 + 83f46544: 00458793 addi a5,a1,4 + 83f46548: 00460713 addi a4,a2,4 + 83f4654c: 00468813 addi a6,a3,4 + 83f46550: 0013531b srliw t1,t1,0x1 + 83f46554: 9e76 add t3,t3,t4 + W = p * w[j]; /* real value */ + /* perform conj(X)*Y, conjugation of X[i] + X[i+1]j = X[i] - X[i+1]j */ + prod[i] = W * (X[i] * Y[i] + X[i+1] * Y[i+1]); /* real part */ + 83f46556: 0047a687 flw fa3,4(a5) + 83f4655a: 00472607 flw fa2,4(a4) + 83f4655e: 0007a707 flw fa4,0(a5) + 83f46562: 00072587 flw fa1,0(a4) + 83f46566: 10c6f653 fmul.s fa2,fa3,fa2 + W = p * w[j]; /* real value */ + 83f4656a: 0008a787 flw fa5,0(a7) + for (i=1,j=1;i + 83f465aa: 0013179b slliw a5,t1,0x1 + } + W = p * w[j]; /* real value */ + prod[i] = W * X[i] * Y[i]; /* real part only for the (N/2+1)th point of X and Y */ + 83f465ae: 278d addiw a5,a5,3 + W = p * w[j]; /* real value */ + 83f465b0: 2309 addiw t1,t1,2 + 83f465b2: 030a slli t1,t1,0x2 + prod[i] = W * X[i] * Y[i]; /* real part only for the (N/2+1)th point of X and Y */ + 83f465b4: 078a slli a5,a5,0x2 + W = p * w[j]; /* real value */ + 83f465b6: 951a add a0,a0,t1 + 83f465b8: 00052787 flw fa5,0(a0) + prod[i] = W * X[i] * Y[i]; /* real part only for the (N/2+1)th point of X and Y */ + 83f465bc: 95be add a1,a1,a5 + 83f465be: 0005a707 flw fa4,0(a1) + W = p * w[j]; /* real value */ + 83f465c2: 10f57553 fmul.s fa0,fa0,fa5 + prod[i] = W * X[i] * Y[i]; /* real part only for the (N/2+1)th point of X and Y */ + 83f465c6: 963e add a2,a2,a5 + 83f465c8: 00062787 flw fa5,0(a2) + 83f465cc: 96be add a3,a3,a5 + 83f465ce: 10e57553 fmul.s fa0,fa0,fa4 + 83f465d2: 10f57553 fmul.s fa0,fa0,fa5 + 83f465d6: 00a6a027 fsw fa0,0(a3) +} + 83f465da: 8082 ret + for (i=1,j=1;i + +0000000083f465e2 : + int i, j; + float max_sum = 1; + float prop_sum = 1; + //float max_sum_matlab[20]; + + for (i=0;i + 83f465e6: fff6079b addiw a5,a2,-1 +{ + 83f465ea: 7119 addi sp,sp,-128 + 83f465ec: 02079713 slli a4,a5,0x20 + 83f465f0: 01e75793 srli a5,a4,0x1e + 83f465f4: ac22 fsd fs0,24(sp) + float max_sum = 1; + 83f465f6: 0000c717 auipc a4,0xc + 83f465fa: c5a72407 flw fs0,-934(a4) # 83f52250 <__func__.1+0x58> +{ + 83f465fe: f0ca sd s2,96(sp) + 83f46600: a826 fsd fs1,16(sp) + 83f46602: fff5891b addiw s2,a1,-1 + float max_sum = 1; + 83f46606: 208404d3 fmv.s fs1,fs0 +{ + 83f4660a: fc5e sd s7,56(sp) + 83f4660c: 1902 slli s2,s2,0x20 + 83f4660e: 00468b93 addi s7,a3,4 + 83f46612: f8a2 sd s0,112(sp) + 83f46614: f4a6 sd s1,104(sp) + 83f46616: ecce sd s3,88(sp) + 83f46618: e8d2 sd s4,80(sp) + 83f4661a: e4d6 sd s5,72(sp) + 83f4661c: e0da sd s6,64(sp) + 83f4661e: f862 sd s8,48(sp) + 83f46620: f466 sd s9,40(sp) + 83f46622: a44a fsd fs2,8(sp) + 83f46624: 9bbe add s7,s7,a5 + 83f46626: fc86 sd ra,120(sp) + 83f46628: 89aa mv s3,a0 + 83f4662a: 84ae mv s1,a1 + 83f4662c: 8436 mv s0,a3 + 83f4662e: 8b36 mv s6,a3 + 83f46630: 00058a1b sext.w s4,a1 + for (i=0;i + 83f46640: 02095913 srli s2,s2,0x20 + 83f46644: 00450a93 addi s5,a0,4 + 83f46648: 23290553 fmv.d fa0,fs2 + 83f4664c: 02905463 blez s1,83f46674 + 83f46650: 01990733 add a4,s2,s9 + float tmp = 1; + 83f46654: 20840553 fmv.s fa0,fs0 + 83f46658: 002c9793 slli a5,s9,0x2 + 83f4665c: 070a slli a4,a4,0x2 + 83f4665e: 97ce add a5,a5,s3 + 83f46660: 9756 add a4,a4,s5 + /* tmp(m) = tmp(m) + W(k, m) * W(k, m) */ + tmp += (W[i*N+j] * W[i*N+j]); /* sum the power of the (N/2+1) frequency bin in each taplen */ + 83f46662: 0007a787 flw fa5,0(a5) + for (j=0;j + prop[i] = (float)math_sqrt(tmp); + 83f46670: 42050553 fcvt.d.s fa0,fa0 + 83f46674: f7efa0ef jal ra,83f40df2 + 83f46678: 40157553 fcvt.s.d fa0,fa0 + + #if (1) /* better */ + if (prop[i] > max_sum) + 83f4667c: a0a497d3 flt.s a5,fs1,fa0 + prop[i] = (float)math_sqrt(tmp); + 83f46680: 00ac2027 fsw fa0,0(s8) # 8000 <_EL1_STACK_SIZE+0x7800> + if (prop[i] > max_sum) + 83f46684: c399 beqz a5,83f4668a + max_sum = prop[i]; + 83f46686: 20a504d3 fmv.s fs1,fa0 + for (i=0;i + } + + for (i=0;i + 83f4669c: 10f4f4d3 fmul.s fs1,fs1,fa5 + 83f466a0: 00042787 flw fa5,0(s0) + for (i=0;i + 83f466b6: 0000c797 auipc a5,0xc + 83f466ba: c767a687 flw fa3,-906(a5) # 83f5232c <__func__.1+0x134> + } + for (i=0;i + } + +} + 83f466d4: 70e6 ld ra,120(sp) + 83f466d6: 7446 ld s0,112(sp) + 83f466d8: 74a6 ld s1,104(sp) + 83f466da: 7906 ld s2,96(sp) + 83f466dc: 69e6 ld s3,88(sp) + 83f466de: 6a46 ld s4,80(sp) + 83f466e0: 6aa6 ld s5,72(sp) + 83f466e2: 6b06 ld s6,64(sp) + 83f466e4: 7be2 ld s7,56(sp) + 83f466e6: 7c42 ld s8,48(sp) + 83f466e8: 7ca2 ld s9,40(sp) + 83f466ea: 2462 fld fs0,24(sp) + 83f466ec: 24c2 fld fs1,16(sp) + 83f466ee: 2922 fld fs2,8(sp) + 83f466f0: 6109 addi sp,sp,128 + 83f466f2: 8082 ret + 83f466f4: 8082 ret + +0000000083f466f6 : + } while (0) +#endif + +/* Function Definitions */ +EXPORT void NR(short *x, float initial_noise_pow_time, float *frame, NRState *st, boolean_T *speech_vad, float *y) +{ + 83f466f6: 716d addi sp,sp,-272 + 83f466f8: fda6 sd s1,248(sp) + 83f466fa: f9ca sd s2,240(sp) + 83f466fc: f1d2 sd s4,224(sp) + 83f466fe: e5de sd s7,200(sp) + 83f46700: a54a fsd fs2,136(sp) + 83f46702: e606 sd ra,264(sp) + 83f46704: e222 sd s0,256(sp) + 83f46706: f5ce sd s3,232(sp) + 83f46708: edd6 sd s5,216(sp) + 83f4670a: e9da sd s6,208(sp) + 83f4670c: e1e2 sd s8,192(sp) + 83f4670e: fd66 sd s9,184(sp) + 83f46710: f96a sd s10,176(sp) + 83f46712: f56e sd s11,168(sp) + 83f46714: ad22 fsd fs0,152(sp) + 83f46716: a926 fsd fs1,144(sp) + 83f46718: a14e fsd fs3,128(sp) + 83f4671a: bcd2 fsd fs4,120(sp) + 83f4671c: b8d6 fsd fs5,112(sp) + 83f4671e: b4da fsd fs6,104(sp) + 83f46720: b0de fsd fs7,96(sp) + + + /* Preparation */ + c = 0.886226925F; + qkr = 2.33333333F; + len = 2*st->frame_size; /* window size */ + 83f46722: 09862783 lw a5,152(a2) +{ + 83f46726: 8bb2 mv s7,a2 + 83f46728: e43a sd a4,8(sp) + len = 2*st->frame_size; /* window size */ + 83f4672a: 0017961b slliw a2,a5,0x1 + 83f4672e: 0006071b sext.w a4,a2 + len1 = st->frame_size; /* overlap size */ + nFFT = 2*2*st->frame_size; + 83f46732: 0027949b slliw s1,a5,0x2 + len = 2*st->frame_size; /* window size */ + 83f46736: f83a sd a4,48(sp) + nFFT = 2*2*st->frame_size; + 83f46738: 0004871b sext.w a4,s1 + len = 2*st->frame_size; /* window size */ + 83f4673c: f43e sd a5,40(sp) + 83f4673e: c6b2 sw a2,76(sp) + nFFT = 2*2*st->frame_size; + 83f46740: e83a sd a4,16(sp) +{ + 83f46742: 20a50953 fmv.s fs2,fa0 + 83f46746: 892e mv s2,a1 + 83f46748: 8a36 mv s4,a3 + for (i = 0; i < st->frame_size; i++) { + 83f4674a: 08f05963 blez a5,83f467dc + 83f4674e: 85aa mv a1,a0 + 83f46750: 873e mv a4,a5 + 83f46752: 4601 li a2,0 + 83f46754: 4681 li a3,0 + x[i+st->frame_size] = x[i]; /* go first to avoid overwriting by x_old[], applicable for AEC on or AEC off */ + 83f46756: 00059803 lh a6,0(a1) + 83f4675a: 9f35 addw a4,a4,a3 + 83f4675c: 0706 slli a4,a4,0x1 + 83f4675e: 972a add a4,a4,a0 + 83f46760: 01071023 sh a6,0(a4) + x[i] = st->x_old[i]; + 83f46764: 018bb803 ld a6,24(s7) + 83f46768: 00161893 slli a7,a2,0x1 + for (i = 0; i < st->frame_size; i++) { + 83f4676c: 0589 addi a1,a1,2 + x[i] = st->x_old[i]; + 83f4676e: 9846 add a6,a6,a7 + 83f46770: 00081703 lh a4,0(a6) + for (i = 0; i < st->frame_size; i++) { + 83f46774: 0605 addi a2,a2,1 + x[i] = st->x_old[i]; + 83f46776: fee59f23 sh a4,-2(a1) + st->x_old[i] = x[i+st->frame_size]; /* update input overlap data */ + 83f4677a: 098ba703 lw a4,152(s7) + 83f4677e: 018bb803 ld a6,24(s7) + 83f46782: 9f35 addw a4,a4,a3 + 83f46784: 0706 slli a4,a4,0x1 + 83f46786: 972a add a4,a4,a0 + 83f46788: 00071303 lh t1,0(a4) + 83f4678c: 01180733 add a4,a6,a7 + for (i = 0; i < st->frame_size; i++) { + 83f46790: 0006069b sext.w a3,a2 + st->x_old[i] = x[i+st->frame_size]; /* update input overlap data */ + 83f46794: 00671023 sh t1,0(a4) + for (i = 0; i < st->frame_size; i++) { + 83f46798: 098ba703 lw a4,152(s7) + 83f4679c: fae6cde3 blt a3,a4,83f46756 + } + /* Transform to floating-point with float precision for input signals, input sample have to be 16-bit length */ + for (i = 0; i < 2*st->frame_size; i++) { + 83f467a0: 02e05e63 blez a4,83f467dc + 83f467a4: 4701 li a4,0 + 83f467a6: 0000c797 auipc a5,0xc + 83f467aa: aba7a707 flw fa4,-1350(a5) # 83f52260 <__func__.1+0x68> + st->float_x[i] = (float)(x[i])/(float)(32768.0F); + 83f467ae: 00051583 lh a1,0(a0) + 83f467b2: 060bb683 ld a3,96(s7) + 83f467b6: 00271613 slli a2,a4,0x2 + 83f467ba: d005f7d3 fcvt.s.w fa5,a1 + 83f467be: 96b2 add a3,a3,a2 + for (i = 0; i < 2*st->frame_size; i++) { + 83f467c0: 0705 addi a4,a4,1 + st->float_x[i] = (float)(x[i])/(float)(32768.0F); + 83f467c2: 10e7f7d3 fmul.s fa5,fa5,fa4 + for (i = 0; i < 2*st->frame_size; i++) { + 83f467c6: 0007061b sext.w a2,a4 + 83f467ca: 0509 addi a0,a0,2 + st->float_x[i] = (float)(x[i])/(float)(32768.0F); + 83f467cc: 00f6a027 fsw fa5,0(a3) + for (i = 0; i < 2*st->frame_size; i++) { + 83f467d0: 098ba683 lw a3,152(s7) + 83f467d4: 0016969b slliw a3,a3,0x1 + 83f467d8: fcd64be3 blt a2,a3,83f467ae + } + + /* Apply analysis window */ + for (i = 0; i < (nFFT/2); i++) { + 83f467dc: 67c2 ld a5,16(sp) + 83f467de: 4014d99b sraiw s3,s1,0x1 + 83f467e2: 4685 li a3,1 + 83f467e4: 8ace mv s5,s3 + 83f467e6: 00015597 auipc a1,0x15 + 83f467ea: e9258593 addi a1,a1,-366 # 83f5b678 + 83f467ee: 00299813 slli a6,s3,0x2 + 83f467f2: 4701 li a4,0 + 83f467f4: 38f6d6e3 bge a3,a5,83f47380 + tmp_ifft_out[i] = st->ana_win[i] * st->float_x[i]; + 83f467f8: 008bb603 ld a2,8(s7) + 83f467fc: 060bb683 ld a3,96(s7) + 83f46800: 00271513 slli a0,a4,0x2 + 83f46804: 962a add a2,a2,a0 + 83f46806: 96aa add a3,a3,a0 + 83f46808: 00062787 flw fa5,0(a2) + 83f4680c: 0006a707 flw fa4,0(a3) + tmp_ifft_out[(nFFT/2) + i] = 0.0F; + 83f46810: 01058633 add a2,a1,a6 + for (i = 0; i < (nFFT/2); i++) { + 83f46814: 0591 addi a1,a1,4 + tmp_ifft_out[i] = st->ana_win[i] * st->float_x[i]; + 83f46816: 10e7f7d3 fmul.s fa5,fa5,fa4 + for (i = 0; i < (nFFT/2); i++) { + 83f4681a: 0705 addi a4,a4,1 + 83f4681c: 0007069b sext.w a3,a4 + tmp_ifft_out[i] = st->ana_win[i] * st->float_x[i]; + 83f46820: fef5ae27 fsw fa5,-4(a1) + tmp_ifft_out[(nFFT/2) + i] = 0.0F; + 83f46824: 00062023 sw zero,0(a2) + for (i = 0; i < (nFFT/2); i++) { + 83f46828: fd36c8e3 blt a3,s3,83f467f8 + } + + /* Take fourier transform of one frame */ + speech_fft(st->nr_fft_table, tmp_ifft_out, tmp_fft_out); /* faster than matlab fft() */ + 83f4682c: 000bb503 ld a0,0(s7) + 83f46830: 00014617 auipc a2,0x14 + 83f46834: 44060613 addi a2,a2,1088 # 83f5ac70 + 83f46838: 00015597 auipc a1,0x15 + 83f4683c: e4058593 addi a1,a1,-448 # 83f5b678 + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f46840: 8432 mv s0,a2 + 83f46842: ec32 sd a2,24(sp) + speech_fft(st->nr_fft_table, tmp_ifft_out, tmp_fft_out); /* faster than matlab fft() */ + 83f46844: 059020ef jal ra,83f4909c + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f46848: 00042787 flw fa5,0(s0) + 83f4684c: d004fa53 fcvt.s.w fs4,s1 + nr_fd_half[0].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f46850: 0000c417 auipc s0,0xc + 83f46854: ae440413 addi s0,s0,-1308 # 83f52334 <__func__.1+0x13c> + 83f46858: 00042707 flw fa4,0(s0) + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f4685c: 1147f7d3 fmul.s fa5,fa5,fs4 + 83f46860: 00013797 auipc a5,0x13 + 83f46864: 50078793 addi a5,a5,1280 # 83f59d60 + 83f46868: f03e sd a5,32(sp) + nr_fd_half[0].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f4686a: 00e7a227 fsw fa4,4(a5) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f4686e: 470d li a4,3 + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f46870: 00f7a027 fsw fa5,0(a5) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f46874: 67c2 ld a5,16(sp) + 83f46876: 02f75c63 bge a4,a5,83f468ae + 83f4687a: 00014697 auipc a3,0x14 + 83f4687e: 3fa68693 addi a3,a3,1018 # 83f5ac74 + 83f46882: 00013717 auipc a4,0x13 + 83f46886: 4e670713 addi a4,a4,1254 # 83f59d68 + 83f4688a: 4605 li a2,1 + nr_fd_half[j].re = tmp_fft_out[k] * nFFT; + 83f4688c: 0006a707 flw fa4,0(a3) + nr_fd_half[j].im = tmp_fft_out[k+1] * nFFT; + 83f46890: 0046a787 flw fa5,4(a3) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f46894: 0721 addi a4,a4,8 + nr_fd_half[j].re = tmp_fft_out[k] * nFFT; + 83f46896: 11477753 fmul.s fa4,fa4,fs4 + nr_fd_half[j].im = tmp_fft_out[k+1] * nFFT; + 83f4689a: 1147f7d3 fmul.s fa5,fa5,fs4 + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f4689e: 2605 addiw a2,a2,1 + 83f468a0: 06a1 addi a3,a3,8 + nr_fd_half[j].re = tmp_fft_out[k] * nFFT; + 83f468a2: fee72c27 fsw fa4,-8(a4) + nr_fd_half[j].im = tmp_fft_out[k+1] * nFFT; + 83f468a6: fef72e27 fsw fa5,-4(a4) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f468aa: ff3641e3 blt a2,s3,83f4688c + } + nr_fd_half[nFFT/2].re = tmp_fft_out[nFFT-1] * nFFT; + 83f468ae: 6762 ld a4,24(sp) + 83f468b0: 34fd addiw s1,s1,-1 + 83f468b2: 00249793 slli a5,s1,0x2 + 83f468b6: 00f70cb3 add s9,a4,a5 + 83f468ba: 000ca787 flw fa5,0(s9) # 8000 <_EL1_STACK_SIZE+0x7800> + 83f468be: 7702 ld a4,32(sp) + nr_fd_half[nFFT/2].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f468c0: 00042707 flw fa4,0(s0) + nr_fd_half[nFFT/2].re = tmp_fft_out[nFFT-1] * nFFT; + 83f468c4: 1147f7d3 fmul.s fa5,fa5,fs4 + 83f468c8: e0be sd a5,64(sp) + 83f468ca: 00399793 slli a5,s3,0x3 + 83f468ce: 973e add a4,a4,a5 + + a_abs(nr_fd_half, nr_sig, (nFFT/2+1)); /* amplitude */ + 83f468d0: 2a85 addiw s5,s5,1 + nr_fd_half[nFFT/2].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f468d2: 00e72227 fsw fa4,4(a4) + nr_fd_half[nFFT/2].re = tmp_fft_out[nFFT-1] * nFFT; + 83f468d6: 00f72027 fsw fa5,0(a4) + a_abs(nr_fd_half, nr_sig, (nFFT/2+1)); /* amplitude */ + 83f468da: 00014597 auipc a1,0x14 + 83f468de: e8e58593 addi a1,a1,-370 # 83f5a768 + 83f468e2: 00013517 auipc a0,0x13 + 83f468e6: 47e50513 addi a0,a0,1150 # 83f59d60 + 83f468ea: 8656 mv a2,s5 + nr_fd_half[nFFT/2].re = tmp_fft_out[nFFT-1] * nFFT; + 83f468ec: fc3e sd a5,56(sp) + a_abs(nr_fd_half, nr_sig, (nFFT/2+1)); /* amplitude */ + 83f468ee: 197020ef jal ra,83f49284 + c_power(nr_sig, tmp_ifft_out, (nFFT/2+1)); /* power */ + 83f468f2: 8656 mv a2,s5 + 83f468f4: 00014517 auipc a0,0x14 + 83f468f8: e7450513 addi a0,a0,-396 # 83f5a768 + 83f468fc: 00015597 auipc a1,0x15 + 83f46900: d7c58593 addi a1,a1,-644 # 83f5b678 + 83f46904: 031020ef jal ra,83f49134 + + /* Solve the issue of silence segment appeared in the beginning */ + //tmp1 = c_sum(nr_sig, (nFFT/2+1)); + tmp1 = c_sum(nr_sig, (nFFT/2)); + 83f46908: 85ce mv a1,s3 + 83f4690a: 00014517 auipc a0,0x14 + 83f4690e: e5e50513 addi a0,a0,-418 # 83f5a768 + 83f46912: 145020ef jal ra,83f49256 + if (tmp1/(nFFT/2.0F) < 0.0003F) { /* small signal segment */ + 83f46916: 0000c797 auipc a5,0xc + 83f4691a: 95a7a407 flw fs0,-1702(a5) # 83f52270 <__func__.1+0x78> + 83f4691e: 108a74d3 fmul.s fs1,fs4,fs0 + 83f46922: 0000c797 auipc a5,0xc + 83f46926: a167a707 flw fa4,-1514(a5) # 83f52338 <__func__.1+0x140> + 83f4692a: 18957553 fdiv.s fa0,fa0,fs1 + 83f4692e: a0e51753 flt.s a4,fa0,fa4 + 83f46932: c35d beqz a4,83f469d8 + *frame = 1.0F; /* reset initial noise power estimate */ + 83f46934: 0000c797 auipc a5,0xc + 83f46938: 91c7a787 flw fa5,-1764(a5) # 83f52250 <__func__.1+0x58> + st->vad_dr_cnt = 0.0F; + st->vad_dr = 0.0F; + st->vad_mmse = 0.0F; + st->vad_mmse_cnt = 0.0F; + xtmp_im = nFFT / 2.0F; + for (i = 0; i < (int)(xtmp_im + 1.0F); i++) { + 83f4693c: 00f4f753 fadd.s fa4,fs1,fa5 + *frame = 1.0F; /* reset initial noise power estimate */ + 83f46940: 00f92027 fsw fa5,0(s2) + st->vad_slope_cnt = 0.0F; + 83f46944: 060bb423 sd zero,104(s7) + st->vad_dr_cnt = 0.0F; + 83f46948: 060bb823 sd zero,112(s7) + st->vad_mmse = 0.0F; + 83f4694c: 060bbc23 sd zero,120(s7) + for (i = 0; i < (int)(xtmp_im + 1.0F); i++) { + 83f46950: c00716d3 fcvt.w.s a3,fa4,rtz + 83f46954: 4701 li a4,0 + 83f46956: 2681 sext.w a3,a3 + 83f46958: 00269613 slli a2,a3,0x2 + 83f4695c: 02d05463 blez a3,83f46984 + st->noise_mean[i] = 0.0F; + 83f46960: 030bb683 ld a3,48(s7) + 83f46964: 96ba add a3,a3,a4 + 83f46966: 0006a023 sw zero,0(a3) + st->noise_mu2[i] = 0.0F; + 83f4696a: 038bb683 ld a3,56(s7) + 83f4696e: 96ba add a3,a3,a4 + 83f46970: 0006a023 sw zero,0(a3) + st->Xk_prev[i] = 0.0F; + 83f46974: 028bb683 ld a3,40(s7) + 83f46978: 96ba add a3,a3,a4 + 83f4697a: 0006a023 sw zero,0(a3) + for (i = 0; i < (int)(xtmp_im + 1.0F); i++) { + 83f4697e: 0711 addi a4,a4,4 + 83f46980: fee610e3 bne a2,a4,83f46960 + 83f46984: 4701 li a4,0 + } + for (i = 0; i < 5; i++) { + 83f46986: 4651 li a2,20 + st->noisy_st_trough[i] = 0.0F; + 83f46988: 048bb683 ld a3,72(s7) + 83f4698c: 96ba add a3,a3,a4 + 83f4698e: 0006a023 sw zero,0(a3) + st->noisy_st_peak[i] = 0.0F; + 83f46992: 050bb683 ld a3,80(s7) + 83f46996: 96ba add a3,a3,a4 + 83f46998: 0006a023 sw zero,0(a3) + for (j = 0; j < 3; j++) { + st->amp_inst_band[i+5*j] = 0.0F; + 83f4699c: 040bb683 ld a3,64(s7) + 83f469a0: 96ba add a3,a3,a4 + 83f469a2: 0006a023 sw zero,0(a3) + 83f469a6: 040bb683 ld a3,64(s7) + 83f469aa: 96ba add a3,a3,a4 + 83f469ac: 0006aa23 sw zero,20(a3) + 83f469b0: 040bb683 ld a3,64(s7) + 83f469b4: 96ba add a3,a3,a4 + 83f469b6: 0206a423 sw zero,40(a3) + for (i = 0; i < 5; i++) { + 83f469ba: 0711 addi a4,a4,4 + 83f469bc: fcc716e3 bne a4,a2,83f46988 + } + } + for (i = 0; i < 3; i++) { + st->amp_inst_sum_hist[i] = 0.0F; + 83f469c0: 058bb703 ld a4,88(s7) + 83f469c4: 00072023 sw zero,0(a4) + 83f469c8: 058bb703 ld a4,88(s7) + 83f469cc: 00072223 sw zero,4(a4) + 83f469d0: 058bb703 ld a4,88(s7) + 83f469d4: 00072423 sw zero,8(a4) + } + } + + if (*frame <= initial_noise_pow_time) { /* amplitude of accumulating the first handful of frames */ + 83f469d8: 00092787 flw fa5,0(s2) + 83f469dc: a1278753 fle.s a4,fa5,fs2 + 83f469e0: c32d beqz a4,83f46a42 + 83f469e2: 00014597 auipc a1,0x14 + 83f469e6: d8658593 addi a1,a1,-634 # 83f5a768 + 83f469ea: 00014617 auipc a2,0x14 + 83f469ee: 28660613 addi a2,a2,646 # 83f5ac70 + 83f469f2: 4701 li a4,0 + for (i = 0; i < 321; i++) { + 83f469f4: 50400513 li a0,1284 + st->noise_mean[i] += nr_sig[i]; + 83f469f8: 030bb683 ld a3,48(s7) + 83f469fc: 0005a707 flw fa4,0(a1) + for (i = 0; i < 321; i++) { + 83f46a00: 0611 addi a2,a2,4 + st->noise_mean[i] += nr_sig[i]; + 83f46a02: 96ba add a3,a3,a4 + 83f46a04: 0006a787 flw fa5,0(a3) + for (i = 0; i < 321; i++) { + 83f46a08: 0591 addi a1,a1,4 + st->noise_mean[i] += nr_sig[i]; + 83f46a0a: 00e7f7d3 fadd.s fa5,fa5,fa4 + 83f46a0e: 00f6a027 fsw fa5,0(a3) + tmp_fft_out[i] = st->noise_mean[i] / (*frame); + 83f46a12: 030bb683 ld a3,48(s7) + 83f46a16: 00092707 flw fa4,0(s2) + 83f46a1a: 96ba add a3,a3,a4 + 83f46a1c: 0006a787 flw fa5,0(a3) + for (i = 0; i < 321; i++) { + 83f46a20: 0711 addi a4,a4,4 + tmp_fft_out[i] = st->noise_mean[i] / (*frame); + 83f46a22: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f46a26: fef62e27 fsw fa5,-4(a2) + for (i = 0; i < 321; i++) { + 83f46a2a: fca717e3 bne a4,a0,83f469f8 + } + c_power(tmp_fft_out, st->noise_mu2, 321); /* average power for one frame */ + 83f46a2e: 038bb583 ld a1,56(s7) + 83f46a32: 14100613 li a2,321 + 83f46a36: 00014517 auipc a0,0x14 + 83f46a3a: 23a50513 addi a0,a0,570 # 83f5ac70 + 83f46a3e: 6f6020ef jal ra,83f49134 + /*for (i = 0; i < 321; i++) + fprintf(fp_test, "%f \n", st->noise_mu2[i]);*/ + } + + for (i = 0; i < (nFFT/2+1); i++) { + 83f46a42: 67c2 ld a5,16(sp) + 83f46a44: 56fd li a3,-1 + 83f46a46: 00015597 auipc a1,0x15 + 83f46a4a: c3258593 addi a1,a1,-974 # 83f5b678 + 83f46a4e: 00013517 auipc a0,0x13 + 83f46a52: 90250513 addi a0,a0,-1790 # 83f59350 + 83f46a56: 4701 li a4,0 + 83f46a58: 06d7c663 blt a5,a3,83f46ac4 + if (st->noise_mu2[i] == 0.0F) { /* zero denominator */ + 83f46a5c: f00006d3 fmv.w.x fa3,zero + } else { + gammak[i] = 40.0F; + } + } else { + absar = tmp_ifft_out[i] / st->noise_mu2[i]; + if (!(absar < 40.0F)) { + 83f46a60: 0000c797 auipc a5,0xc + 83f46a64: 8d07a607 flw fa2,-1840(a5) # 83f52330 <__func__.1+0x138> + gammak[i] = 40.0F; + 83f46a68: 0000c817 auipc a6,0xc + 83f46a6c: 8c880813 addi a6,a6,-1848 # 83f52330 <__func__.1+0x138> + 83f46a70: a821 j 83f46a88 + if (tmp_ifft_out[i] == 0.0F) { + 83f46a72: 3c060763 beqz a2,83f46e40 + gammak[i] = 0.0F; + 83f46a76: 00052023 sw zero,0(a0) + for (i = 0; i < (nFFT/2+1); i++) { + 83f46a7a: 0705 addi a4,a4,1 + 83f46a7c: 0007069b sext.w a3,a4 + 83f46a80: 0591 addi a1,a1,4 + 83f46a82: 0511 addi a0,a0,4 + 83f46a84: 04d9c063 blt s3,a3,83f46ac4 + if (st->noise_mu2[i] == 0.0F) { /* zero denominator */ + 83f46a88: 038bb603 ld a2,56(s7) + 83f46a8c: 00271693 slli a3,a4,0x2 + if (tmp_ifft_out[i] == 0.0F) { + 83f46a90: 0005a787 flw fa5,0(a1) + if (st->noise_mu2[i] == 0.0F) { /* zero denominator */ + 83f46a94: 96b2 add a3,a3,a2 + 83f46a96: 0006a707 flw fa4,0(a3) + if (tmp_ifft_out[i] == 0.0F) { + 83f46a9a: a0d7a653 feq.s a2,fa5,fa3 + if (st->noise_mu2[i] == 0.0F) { /* zero denominator */ + 83f46a9e: a0d726d3 feq.s a3,fa4,fa3 + 83f46aa2: fae1 bnez a3,83f46a72 + absar = tmp_ifft_out[i] / st->noise_mu2[i]; + 83f46aa4: 18e7f7d3 fdiv.s fa5,fa5,fa4 + if (!(absar < 40.0F)) { + 83f46aa8: a0c796d3 flt.s a3,fa5,fa2 + 83f46aac: e299 bnez a3,83f46ab2 + absar = 40.0F; + 83f46aae: 20c607d3 fmv.s fa5,fa2 + for (i = 0; i < (nFFT/2+1); i++) { + 83f46ab2: 0705 addi a4,a4,1 + } + gammak[i] = absar; /* posteriori SNR */ + 83f46ab4: 00f52027 fsw fa5,0(a0) + for (i = 0; i < (nFFT/2+1); i++) { + 83f46ab8: 0007069b sext.w a3,a4 + 83f46abc: 0591 addi a1,a1,4 + 83f46abe: 0511 addi a0,a0,4 + 83f46ac0: fcd9d4e3 bge s3,a3,83f46a88 + } + } + + if (*frame == 1.0F) { /* priori SNR for the first frame */ + 83f46ac4: 00092787 flw fa5,0(s2) + 83f46ac8: 0000b797 auipc a5,0xb + 83f46acc: 7887aa87 flw fs5,1928(a5) # 83f52250 <__func__.1+0x58> + 83f46ad0: a157a753 feq.s a4,fa5,fs5 + 83f46ad4: 78070d63 beqz a4,83f4726e + for (k = 0; k < 321; k++) { + xtmp_im = gammak[k] - 1.0F; + xtmp_im = MAX(xtmp_im, 0.0F); + 83f46ad8: f0000653 fmv.w.x fa2,zero + 83f46adc: 00013717 auipc a4,0x13 + 83f46ae0: 87470713 addi a4,a4,-1932 # 83f59350 + 83f46ae4: 00013697 auipc a3,0x13 + 83f46ae8: d7468693 addi a3,a3,-652 # 83f59858 + 83f46aec: 00013497 auipc s1,0x13 + 83f46af0: d6848493 addi s1,s1,-664 # 83f59854 + xtmp_im = gammak[k] - 1.0F; + 83f46af4: 00072787 flw fa5,0(a4) + for (k = 0; k < 321; k++) { + 83f46af8: 0711 addi a4,a4,4 + xtmp_im = gammak[k] - 1.0F; + 83f46afa: 0957f7d3 fsub.s fa5,fa5,fs5 + xtmp_im = MAX(xtmp_im, 0.0F); + 83f46afe: a0c79653 flt.s a2,fa5,fa2 + 83f46b02: c219 beqz a2,83f46b08 + 83f46b04: f00007d3 fmv.w.x fa5,zero + ksi[k] = st->aa + (1.0F - st->aa) * xtmp_im; + 83f46b08: 088ba687 flw fa3,136(s7) + for (k = 0; k < 321; k++) { + 83f46b0c: 0691 addi a3,a3,4 + ksi[k] = st->aa + (1.0F - st->aa) * xtmp_im; + 83f46b0e: 08daf753 fsub.s fa4,fs5,fa3 + 83f46b12: 68f777c3 fmadd.s fa5,fa4,fa5,fa3 + 83f46b16: fef6ae27 fsw fa5,-4(a3) + for (k = 0; k < 321; k++) { + 83f46b1a: fce49de3 bne s1,a4,83f46af4 + 83f46b1e: 00013c97 auipc s9,0x13 + 83f46b22: 23ec8c93 addi s9,s9,574 # 83f59d5c + xtmp_im = gammak[k] - 1.0F; + xtmp_im = MAX(xtmp_im, 0.0F); + if (0.0F == st->noise_mu2[k]) + st->noise_mu2[k] = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + ksi[k] = st->aa * st->Xk_prev[k] / st->noise_mu2[k] + (1.0F - st->aa) * xtmp_im; + ksi[k] = MAX(ksi[k], st->ksi_min); /* limit ksi greater than -25dB in power */ + 83f46b26: 4751 li a4,20 + } + } + + /* slope detection */ + for (i = 0; i < 5; i++) { + 83f46b28: 02800593 li a1,40 + st->amp_inst_band[10 + i] = st->amp_inst_band[5 + i]; + 83f46b2c: 040bb603 ld a2,64(s7) + 83f46b30: 963a add a2,a2,a4 + 83f46b32: 00062787 flw fa5,0(a2) + 83f46b36: 00f62a27 fsw fa5,20(a2) + st->amp_inst_band[5 + i] = st->amp_inst_band[i]; + 83f46b3a: 040bb603 ld a2,64(s7) + 83f46b3e: 963a add a2,a2,a4 + 83f46b40: fec62787 flw fa5,-20(a2) + for (i = 0; i < 5; i++) { + 83f46b44: 0711 addi a4,a4,4 + st->amp_inst_band[5 + i] = st->amp_inst_band[i]; + 83f46b46: 00f62027 fsw fa5,0(a2) + for (i = 0; i < 5; i++) { + 83f46b4a: feb711e3 bne a4,a1,83f46b2c + } + + st->amp_inst_band[0] = c_sum(*(float (*)[20])&nr_sig[4], 20); /* 20 */ + 83f46b4e: 040bb403 ld s0,64(s7) + 83f46b52: 45d1 li a1,20 + 83f46b54: 00014517 auipc a0,0x14 + 83f46b58: c2450513 addi a0,a0,-988 # 83f5a778 + 83f46b5c: 6fa020ef jal ra,83f49256 + 83f46b60: 00a42027 fsw fa0,0(s0) + st->amp_inst_band[1] = c_sum(*(float (*)[20])&nr_sig[24], 20); /* 20 */ + 83f46b64: 040bb403 ld s0,64(s7) + 83f46b68: 45d1 li a1,20 + 83f46b6a: 00014517 auipc a0,0x14 + 83f46b6e: c5e50513 addi a0,a0,-930 # 83f5a7c8 + 83f46b72: 6e4020ef jal ra,83f49256 + 83f46b76: 00a42227 fsw fa0,4(s0) + st->amp_inst_band[2] = c_sum(*(float (*)[40])&nr_sig[44], 40); /* 40 */ + 83f46b7a: 040bb403 ld s0,64(s7) + 83f46b7e: 02800593 li a1,40 + 83f46b82: 00014517 auipc a0,0x14 + 83f46b86: c9650513 addi a0,a0,-874 # 83f5a818 + 83f46b8a: 6cc020ef jal ra,83f49256 + 83f46b8e: 00a42427 fsw fa0,8(s0) + st->amp_inst_band[3] = c_sum(*(float (*)[80])&nr_sig[84], 80); /* 80 */ + 83f46b92: 040bb403 ld s0,64(s7) + 83f46b96: 05000593 li a1,80 + 83f46b9a: 00014517 auipc a0,0x14 + 83f46b9e: d1e50513 addi a0,a0,-738 # 83f5a8b8 + 83f46ba2: 6b4020ef jal ra,83f49256 + 83f46ba6: 00a42627 fsw fa0,12(s0) + st->amp_inst_band[4] = c_sum(*(float (*)[156])&nr_sig[164], 156); /* 156 */ + 83f46baa: 040bb403 ld s0,64(s7) + 83f46bae: 09c00593 li a1,156 + 83f46bb2: 00014517 auipc a0,0x14 + 83f46bb6: e4650513 addi a0,a0,-442 # 83f5a9f8 + 83f46bba: 69c020ef jal ra,83f49256 + /*for (i = 0; i < 5; i++) + fprintf(fp_test, "%f \n", st->amp_inst_band[i]);*/ + + slope_detection(st); + 83f46bbe: 855e mv a0,s7 + st->amp_inst_band[4] = c_sum(*(float (*)[156])&nr_sig[164], 156); /* 156 */ + 83f46bc0: 00a42827 fsw fa0,16(s0) + slope_detection(st); + 83f46bc4: 5d6020ef jal ra,83f4919a + + /* dynamic range detection */ + dr_detection(st); + 83f46bc8: 855e mv a0,s7 + 83f46bca: 7dd020ef jal ra,83f49ba6 + + if ((st->vad_slope != 0.0F) || (st->vad_dr != 0.0F)) { + 83f46bce: 06cba707 flw fa4,108(s7) + 83f46bd2: f00007d3 fmv.w.x fa5,zero + vad = true; + 83f46bd6: 4a85 li s5,1 + if ((st->vad_slope != 0.0F) || (st->vad_dr != 0.0F)) { + 83f46bd8: a0f72753 feq.s a4,fa4,fa5 + 83f46bdc: c719 beqz a4,83f46bea + 83f46bde: 074ba707 flw fa4,116(s7) + 83f46be2: a0f72ad3 feq.s s5,fa4,fa5 + vad = true; + 83f46be6: 001aca93 xori s5,s5,1 + 83f46bea: 00014797 auipc a5,0x14 + 83f46bee: 08678793 addi a5,a5,134 # 83f5ac70 + 83f46bf2: 00013d97 auipc s11,0x13 + 83f46bf6: c66d8d93 addi s11,s11,-922 # 83f59858 + 83f46bfa: ec3e sd a5,24(sp) + 83f46bfc: 863e mv a2,a5 + 83f46bfe: 876e mv a4,s11 + vad = false; + } + + /* log_sigma_k calculation for mmse vad */ + for (i = 0; i < 321; i++) { + tmp_fft_out[i] = 1.0F + ksi[i]; + 83f46c00: 00072787 flw fa5,0(a4) + for (i = 0; i < 321; i++) { + 83f46c04: 0611 addi a2,a2,4 + 83f46c06: 0711 addi a4,a4,4 + tmp_fft_out[i] = 1.0F + ksi[i]; + 83f46c08: 0157f7d3 fadd.s fa5,fa5,fs5 + 83f46c0c: fef62e27 fsw fa5,-4(a2) + for (i = 0; i < 321; i++) { + 83f46c10: feec98e3 bne s9,a4,83f46c00 + } + b_log(tmp_fft_out); /* C = log(1+ksi) */ + 83f46c14: 00014517 auipc a0,0x14 + 83f46c18: 05c50513 addi a0,a0,92 # 83f5ac70 + 83f46c1c: 200050ef jal ra,83f4be1c + + for (k = 0; k < 321; k++) { + 83f46c20: 00012417 auipc s0,0x12 + 83f46c24: 73040413 addi s0,s0,1840 # 83f59350 + if (0.0F == (1.0F + ksi[k])) + 83f46c28: f00005d3 fmv.w.x fa1,zero + b_log(tmp_fft_out); /* C = log(1+ksi) */ + 83f46c2c: 00014597 auipc a1,0x14 + 83f46c30: 04458593 addi a1,a1,68 # 83f5ac70 + 83f46c34: 8522 mv a0,s0 + 83f46c36: 00013617 auipc a2,0x13 + 83f46c3a: c2260613 addi a2,a2,-990 # 83f59858 + tmp_fft_out[k] = gammak[k] * ksi[k] / ((float)3.3495873e-008) - tmp_fft_out[k]; /* assign a small value to avoid dividing by zero */ + 83f46c3e: 0000b797 auipc a5,0xb + 83f46c42: 6f67a507 flw fa0,1782(a5) # 83f52334 <__func__.1+0x13c> + 83f46c46: a821 j 83f46c5e + 83f46c48: 18a7f7d3 fdiv.s fa5,fa5,fa0 + for (k = 0; k < 321; k++) { + 83f46c4c: 0591 addi a1,a1,4 + 83f46c4e: 0611 addi a2,a2,4 + 83f46c50: 0511 addi a0,a0,4 + tmp_fft_out[k] = gammak[k] * ksi[k] / ((float)3.3495873e-008) - tmp_fft_out[k]; /* assign a small value to avoid dividing by zero */ + 83f46c52: 08e7f7d3 fsub.s fa5,fa5,fa4 + 83f46c56: fef5ae27 fsw fa5,-4(a1) + for (k = 0; k < 321; k++) { + 83f46c5a: 02cc8b63 beq s9,a2,83f46c90 + if (0.0F == (1.0F + ksi[k])) + 83f46c5e: 00062787 flw fa5,0(a2) + tmp_fft_out[k] = gammak[k] * ksi[k] / ((float)3.3495873e-008) - tmp_fft_out[k]; /* assign a small value to avoid dividing by zero */ + 83f46c62: 00052607 flw fa2,0(a0) + 83f46c66: 0005a707 flw fa4,0(a1) + if (0.0F == (1.0F + ksi[k])) + 83f46c6a: 0157f6d3 fadd.s fa3,fa5,fs5 + tmp_fft_out[k] = gammak[k] * ksi[k] / ((float)3.3495873e-008) - tmp_fft_out[k]; /* assign a small value to avoid dividing by zero */ + 83f46c6e: 10c7f7d3 fmul.s fa5,fa5,fa2 + if (0.0F == (1.0F + ksi[k])) + 83f46c72: a0b6a8d3 feq.s a7,fa3,fa1 + 83f46c76: fc0899e3 bnez a7,83f46c48 + else + tmp_fft_out[k] = gammak[k] * ksi[k] / (1.0F + ksi[k]) - tmp_fft_out[k]; /* log_sigma_k */ + 83f46c7a: 18d7f7d3 fdiv.s fa5,fa5,fa3 + for (k = 0; k < 321; k++) { + 83f46c7e: 0591 addi a1,a1,4 + 83f46c80: 0611 addi a2,a2,4 + 83f46c82: 0511 addi a0,a0,4 + tmp_fft_out[k] = gammak[k] * ksi[k] / (1.0F + ksi[k]) - tmp_fft_out[k]; /* log_sigma_k */ + 83f46c84: 08e7f7d3 fsub.s fa5,fa5,fa4 + 83f46c88: fef5ae27 fsw fa5,-4(a1) + for (k = 0; k < 321; k++) { + 83f46c8c: fccc99e3 bne s9,a2,83f46c5e + } + + xtmp_im = c_sum(tmp_fft_out, nFFT/2); /* here only consider log_sigma_k(1:nFFT/2) */ + 83f46c90: 85ce mv a1,s3 + 83f46c92: 00014517 auipc a0,0x14 + 83f46c96: fde50513 addi a0,a0,-34 # 83f5ac70 + 83f46c9a: 5bc020ef jal ra,83f49256 + xtmp_im = xtmp_im/(nFFT/2.0F); + 83f46c9e: 189574d3 fdiv.s fs1,fa0,fs1 + + if (xtmp_im <= st->eta) { + 83f46ca2: 080ba787 flw fa5,128(s7) + 83f46ca6: a0f48653 fle.s a2,fs1,fa5 + 83f46caa: 5a060963 beqz a2,83f4725c + st->vad_mmse_cnt = MAX(0.0F, st->vad_mmse_cnt - 1.0F); + 83f46cae: 07cba787 flw fa5,124(s7) + 83f46cb2: f0000753 fmv.w.x fa4,zero + 83f46cb6: 0957f7d3 fsub.s fa5,fa5,fs5 + 83f46cba: a0f71653 flt.s a2,fa4,fa5 + 83f46cbe: 64060763 beqz a2,83f4730c + if (st->vad_mmse_cnt == 0.0F) { + st->vad_mmse = 0.0F; + } + } else { + st->vad_mmse = 1.0F; + st->vad_mmse_cnt = st->vad_mmse_cnt_para; + 83f46cc2: 06fbae27 fsw fa5,124(s7) + } + + /* noise power estimate correction when it is too high */ + /* small speech in quiet after big statioanry noise, correct wrong */ + st->amp_inst_sum_hist[2] = st->amp_inst_sum_hist[1]; + 83f46cc6: 058bb603 ld a2,88(s7) + st->amp_inst_sum_hist[1] = st->amp_inst_sum_hist[0]; + st->amp_inst_sum_hist[0] = c_sum(st->amp_inst_band, 5); + 83f46cca: 4595 li a1,5 + st->amp_inst_sum_hist[2] = st->amp_inst_sum_hist[1]; + 83f46ccc: 00462787 flw fa5,4(a2) + 83f46cd0: 00f62427 fsw fa5,8(a2) + st->amp_inst_sum_hist[1] = st->amp_inst_sum_hist[0]; + 83f46cd4: 058bb603 ld a2,88(s7) + 83f46cd8: 00062787 flw fa5,0(a2) + 83f46cdc: 00f62227 fsw fa5,4(a2) + st->amp_inst_sum_hist[0] = c_sum(st->amp_inst_band, 5); + 83f46ce0: 040bb503 ld a0,64(s7) + 83f46ce4: 058bbb03 ld s6,88(s7) + 83f46ce8: 56e020ef jal ra,83f49256 + 83f46cec: 00ab2027 fsw fa0,0(s6) + //fprintf(fp_test, "%f \n", st->amp_inst_sum_hist[0]); + + c_power(st->amp_inst_sum_hist, b_c, 3); /* power based */ + 83f46cf0: 058bb503 ld a0,88(s7) + 83f46cf4: 460d li a2,3 + 83f46cf6: 088c addi a1,sp,80 + 83f46cf8: 43c020ef jal ra,83f49134 + /*for (k = 0; k < 3; k++) + fprintf(fp_test, "%f \n", b_c[k]);*/ + + for (k = 0; k < 3; k++) { + b_c[k] *= 0.3333F; /* average power */ + 83f46cfc: 05012607 flw fa2,80(sp) + 83f46d00: 05412687 flw fa3,84(sp) + 83f46d04: 0000b797 auipc a5,0xb + 83f46d08: 6387a787 flw fa5,1592(a5) # 83f5233c <__func__.1+0x144> + 83f46d0c: 10f67653 fmul.s fa2,fa2,fa5 + 83f46d10: 10f6f6d3 fmul.s fa3,fa3,fa5 + 83f46d14: 05812707 flw fa4,88(sp) + xtmp_im = b_c[0]; + for (k = 0; k < 2; k++) { + xtmp_im += b_c[k + 1]; + } + + absar = st->noise_mu2[4]; + 83f46d18: 038bb503 ld a0,56(s7) + b_c[k] *= 0.3333F; /* average power */ + 83f46d1c: 10f77753 fmul.s fa4,fa4,fa5 + xtmp_im += b_c[k + 1]; + 83f46d20: 00d675d3 fadd.s fa1,fa2,fa3 + absar = st->noise_mu2[4]; + 83f46d24: 01052787 flw fa5,16(a0) + b_c[k] *= 0.3333F; /* average power */ + 83f46d28: 04c12827 fsw fa2,80(sp) + 83f46d2c: 04d12a27 fsw fa3,84(sp) + 83f46d30: 04e12c27 fsw fa4,88(sp) + xtmp_im += b_c[k + 1]; + 83f46d34: 00e5f5d3 fadd.s fa1,fa1,fa4 + for (k = 0; k < 315; k++) { + 83f46d38: 01450613 addi a2,a0,20 + 83f46d3c: 50050593 addi a1,a0,1280 + absar += st->noise_mu2[k + 5]; + 83f46d40: 00062707 flw fa4,0(a2) + for (k = 0; k < 315; k++) { + 83f46d44: 0611 addi a2,a2,4 + absar += st->noise_mu2[k + 5]; + 83f46d46: 00e7f7d3 fadd.s fa5,fa5,fa4 + for (k = 0; k < 315; k++) { + 83f46d4a: fec59be3 bne a1,a2,83f46d40 + } + + if (absar / 8.0F > xtmp_im) { /* +/-18dB for statioanry noise variance for the whole signals, assumption */ + 83f46d4e: 0000b797 auipc a5,0xb + 83f46d52: 5f27a707 flw fa4,1522(a5) # 83f52340 <__func__.1+0x148> + 83f46d56: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f46d5a: a0f59653 flt.s a2,fa1,fa5 + 83f46d5e: c231 beqz a2,83f46da2 + 83f46d60: 00015597 auipc a1,0x15 + 83f46d64: 91858593 addi a1,a1,-1768 # 83f5b678 + 83f46d68: 4601 li a2,0 + 83f46d6a: 0000b797 auipc a5,0xb + 83f46d6e: 5da7a607 flw fa2,1498(a5) # 83f52344 <__func__.1+0x14c> + 83f46d72: 0000b797 auipc a5,0xb + 83f46d76: 5327a687 flw fa3,1330(a5) # 83f522a4 <__func__.1+0xac> + for (k = 0; k < 321; k++) { + 83f46d7a: 50400893 li a7,1284 + 83f46d7e: a019 j 83f46d84 + st->noise_mu2[k] = 0.8F * st->noise_mu2[k] + 0.2F * tmp_ifft_out[k]; /* here faster to update noise power */ + 83f46d80: 038bb503 ld a0,56(s7) + 83f46d84: 0005a707 flw fa4,0(a1) + 83f46d88: 9532 add a0,a0,a2 + 83f46d8a: 00052787 flw fa5,0(a0) + 83f46d8e: 10c77753 fmul.s fa4,fa4,fa2 + for (k = 0; k < 321; k++) { + 83f46d92: 0611 addi a2,a2,4 + 83f46d94: 0591 addi a1,a1,4 + st->noise_mu2[k] = 0.8F * st->noise_mu2[k] + 0.2F * tmp_ifft_out[k]; /* here faster to update noise power */ + 83f46d96: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f46d9a: 00f52027 fsw fa5,0(a0) + for (k = 0; k < 321; k++) { + 83f46d9e: ff1611e3 bne a2,a7,83f46d80 + } + } + + /* %% keep better speech quality, not too easy to update noise power %% */ + *speech_vad = true; + 83f46da2: 4605 li a2,1 + 83f46da4: 00ca0023 sb a2,0(s4) + if ((st->vad_mmse == 0.0F) || (!vad)) { + 83f46da8: 078ba707 flw fa4,120(s7) + 83f46dac: f00007d3 fmv.w.x fa5,zero + 83f46db0: a0f72653 feq.s a2,fa4,fa5 + 83f46db4: ea59 bnez a2,83f46e4a + 83f46db6: 080a8a63 beqz s5,83f46e4a + 83f46dba: 00015a17 auipc s4,0x15 + 83f46dbe: 8bea0a13 addi s4,s4,-1858 # 83f5b678 + /* === end of vad === */ + + + /* v(k) calculation */ + for (k = 0; k < 321; k++) { + if (0.0F == (1.0F + ksi[k])) + 83f46dc2: f0000953 fmv.w.x fs2,zero + if (absar / 8.0F > xtmp_im) { /* +/-18dB for statioanry noise variance for the whole signals, assumption */ + 83f46dc6: 00014d17 auipc s10,0x14 + 83f46dca: eaad0d13 addi s10,s10,-342 # 83f5ac70 + 83f46dce: 8c52 mv s8,s4 + 83f46dd0: 00012b17 auipc s6,0x12 + 83f46dd4: 580b0b13 addi s6,s6,1408 # 83f59350 + 83f46dd8: 00013a97 auipc s5,0x13 + 83f46ddc: a80a8a93 addi s5,s5,-1408 # 83f59858 + 83f46de0: 0000b797 auipc a5,0xb + 83f46de4: 4987a487 flw fs1,1176(a5) # 83f52278 <__func__.1+0x80> + xtmp_im = ksi[k] * gammak[k] / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46de8: 0000b797 auipc a5,0xb + 83f46dec: 54c7a987 flw fs3,1356(a5) # 83f52334 <__func__.1+0x13c> + 83f46df0: a80d j 83f46e22 + 83f46df2: 1937f7d3 fdiv.s fa5,fa5,fs3 + else + xtmp_im = ksi[k] * gammak[k] / (1.0F + ksi[k]); /* v(k) */ + tmp_ifft_out[k] = xtmp_im; + tmp_fft_out[321+k] = xtmp_im / 2.0F; + tmp_fft_out[k] = (float)exp(-0.5F * xtmp_im); /* C = exp(-0.5*vk) */ + 83f46df6: 1097f553 fmul.s fa0,fa5,fs1 + tmp_fft_out[321+k] = xtmp_im / 2.0F; + 83f46dfa: 1087f753 fmul.s fa4,fa5,fs0 + tmp_ifft_out[k] = xtmp_im; + 83f46dfe: 00fc2027 fsw fa5,0(s8) + for (k = 0; k < 321; k++) { + 83f46e02: 0a91 addi s5,s5,4 + 83f46e04: 0d11 addi s10,s10,4 + tmp_fft_out[k] = (float)exp(-0.5F * xtmp_im); /* C = exp(-0.5*vk) */ + 83f46e06: 42050553 fcvt.d.s fa0,fa0 + tmp_fft_out[321+k] = xtmp_im / 2.0F; + 83f46e0a: 50ed2027 fsw fa4,1280(s10) + for (k = 0; k < 321; k++) { + 83f46e0e: 0c11 addi s8,s8,4 + tmp_fft_out[k] = (float)exp(-0.5F * xtmp_im); /* C = exp(-0.5*vk) */ + 83f46e10: dd1f90ef jal ra,83f40be0 + 83f46e14: 40157553 fcvt.s.d fa0,fa0 + for (k = 0; k < 321; k++) { + 83f46e18: 0b11 addi s6,s6,4 + tmp_fft_out[k] = (float)exp(-0.5F * xtmp_im); /* C = exp(-0.5*vk) */ + 83f46e1a: fead2e27 fsw fa0,-4(s10) + for (k = 0; k < 321; k++) { + 83f46e1e: 075c8563 beq s9,s5,83f46e88 + if (0.0F == (1.0F + ksi[k])) + 83f46e22: 000aa787 flw fa5,0(s5) + xtmp_im = ksi[k] * gammak[k] / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46e26: 000b2687 flw fa3,0(s6) + if (0.0F == (1.0F + ksi[k])) + 83f46e2a: 0157f753 fadd.s fa4,fa5,fs5 + xtmp_im = ksi[k] * gammak[k] / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46e2e: 10d7f7d3 fmul.s fa5,fa5,fa3 + if (0.0F == (1.0F + ksi[k])) + 83f46e32: a12728d3 feq.s a7,fa4,fs2 + 83f46e36: fa089ee3 bnez a7,83f46df2 + xtmp_im = ksi[k] * gammak[k] / (1.0F + ksi[k]); /* v(k) */ + 83f46e3a: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f46e3e: bf65 j 83f46df6 + gammak[i] = 40.0F; + 83f46e40: 00082787 flw fa5,0(a6) + 83f46e44: 00f52027 fsw fa5,0(a0) + 83f46e48: b90d j 83f46a7a + 83f46e4a: 00015517 auipc a0,0x15 + 83f46e4e: 82e50513 addi a0,a0,-2002 # 83f5b678 + if (absar / 8.0F > xtmp_im) { /* +/-18dB for statioanry noise variance for the whole signals, assumption */ + 83f46e52: 4581 li a1,0 + for (k = 0; k < 321; k++) { + 83f46e54: 50400893 li a7,1284 + st->noise_mu2[k] = st->mu * st->noise_mu2[k] + (1.0F - st->mu) * tmp_ifft_out[k]; /* update noise power */ + 83f46e58: 08cba787 flw fa5,140(s7) + 83f46e5c: 00052607 flw fa2,0(a0) + 83f46e60: 038bb603 ld a2,56(s7) + 83f46e64: 08faf753 fsub.s fa4,fs5,fa5 + for (k = 0; k < 321; k++) { + 83f46e68: 0511 addi a0,a0,4 + st->noise_mu2[k] = st->mu * st->noise_mu2[k] + (1.0F - st->mu) * tmp_ifft_out[k]; /* update noise power */ + 83f46e6a: 962e add a2,a2,a1 + 83f46e6c: 00062687 flw fa3,0(a2) + for (k = 0; k < 321; k++) { + 83f46e70: 0591 addi a1,a1,4 + st->noise_mu2[k] = st->mu * st->noise_mu2[k] + (1.0F - st->mu) * tmp_ifft_out[k]; /* update noise power */ + 83f46e72: 10c77753 fmul.s fa4,fa4,fa2 + 83f46e76: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f46e7a: 00f62027 fsw fa5,0(a2) + for (k = 0; k < 321; k++) { + 83f46e7e: fd159de3 bne a1,a7,83f46e58 + *speech_vad = false; + 83f46e82: 000a0023 sb zero,0(s4) + 83f46e86: bf15 j 83f46dba + } + + d_power(tmp_ifft_out, &tmp_ifft_out[321]); /* vk.^0.5 */ + 83f46e88: 00015597 auipc a1,0x15 + 83f46e8c: cf458593 addi a1,a1,-780 # 83f5bb7c + 83f46e90: 00014517 auipc a0,0x14 + 83f46e94: 7e850513 addi a0,a0,2024 # 83f5b678 + 83f46e98: 2c8020ef jal ra,83f49160 + for (i = 0; i < 321; i++) { + 83f46e9c: 00015c97 auipc s9,0x15 + 83f46ea0: ce0c8c93 addi s9,s9,-800 # 83f5bb7c + //if ((tmp_ifft_out[321+i] == 0.0F) && (gammak[i] == 0.0F)) { /* bug fixed to avoid zero denominator */ + if ((gammak[i] == 0.0F)) { + 83f46ea4: f00006d3 fmv.w.x fa3,zero + d_power(tmp_ifft_out, &tmp_ifft_out[321]); /* vk.^0.5 */ + 83f46ea8: 00014597 auipc a1,0x14 + 83f46eac: dc858593 addi a1,a1,-568 # 83f5ac70 + 83f46eb0: 86e6 mv a3,s9 + tmp_ifft_out[321+i] = 0.0F; + } else { + tmp_ifft_out[321+i] = (c * tmp_ifft_out[321+i] * tmp_fft_out[i]) / gammak[i]; + 83f46eb2: 0000b797 auipc a5,0xb + 83f46eb6: 4967a587 flw fa1,1174(a5) # 83f52348 <__func__.1+0x150> + 83f46eba: a801 j 83f46eca + tmp_ifft_out[321+i] = 0.0F; + 83f46ebc: 0006a023 sw zero,0(a3) + for (i = 0; i < 321; i++) { + 83f46ec0: 0411 addi s0,s0,4 + 83f46ec2: 0691 addi a3,a3,4 + 83f46ec4: 0591 addi a1,a1,4 + 83f46ec6: 02848863 beq s1,s0,83f46ef6 + if ((gammak[i] == 0.0F)) { + 83f46eca: 00042707 flw fa4,0(s0) + 83f46ece: a0d72553 feq.s a0,fa4,fa3 + 83f46ed2: f56d bnez a0,83f46ebc + tmp_ifft_out[321+i] = (c * tmp_ifft_out[321+i] * tmp_fft_out[i]) / gammak[i]; + 83f46ed4: 0006a787 flw fa5,0(a3) + 83f46ed8: 0005a607 flw fa2,0(a1) + for (i = 0; i < 321; i++) { + 83f46edc: 0411 addi s0,s0,4 + tmp_ifft_out[321+i] = (c * tmp_ifft_out[321+i] * tmp_fft_out[i]) / gammak[i]; + 83f46ede: 10b7f7d3 fmul.s fa5,fa5,fa1 + for (i = 0; i < 321; i++) { + 83f46ee2: 0691 addi a3,a3,4 + 83f46ee4: 0591 addi a1,a1,4 + tmp_ifft_out[321+i] = (c * tmp_ifft_out[321+i] * tmp_fft_out[i]) / gammak[i]; + 83f46ee6: 10c7f7d3 fmul.s fa5,fa5,fa2 + 83f46eea: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f46eee: fef6ae27 fsw fa5,-4(a3) + for (i = 0; i < 321; i++) { + 83f46ef2: fc849ce3 bne s1,s0,83f46eca + } + } + + bessel_function(0.0F, &tmp_fft_out[321], tmp_fft_out); /* zero order modified Bessel function */ + 83f46ef6: f0000553 fmv.w.x fa0,zero + 83f46efa: 00014597 auipc a1,0x14 + 83f46efe: d7658593 addi a1,a1,-650 # 83f5ac70 + 83f46f02: 00014517 auipc a0,0x14 + 83f46f06: 27250513 addi a0,a0,626 # 83f5b174 + 83f46f0a: 341020ef jal ra,83f49a4a + bessel_function(1.0F, &tmp_fft_out[321], &tmp_fft_out[321]); /* first order modified Bessel function */ + 83f46f0e: 215a8553 fmv.s fa0,fs5 + 83f46f12: 00014597 auipc a1,0x14 + 83f46f16: 26258593 addi a1,a1,610 # 83f5b174 + 83f46f1a: 852e mv a0,a1 + 83f46f1c: 32f020ef jal ra,83f49a4a + + /* G(ksi, gammak) estimation */ + for (k = 0; k < 321; k++) { + 83f46f20: 0000b797 auipc a5,0xb + 83f46f24: 42c7a987 flw fs3,1068(a5) # 83f5234c <__func__.1+0x154> + tmp = tmp_ifft_out[321+k]; + xtmp_re = tmp_fft_out[k] * (1.0F + tmp_ifft_out[k]); + tmp1 = tmp_fft_out[321+k] * tmp_ifft_out[k]; + if (0.0F == (1.0F + ksi[k])) + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46f28: 0000b797 auipc a5,0xb + 83f46f2c: 40c7a907 flw fs2,1036(a5) # 83f52334 <__func__.1+0x13c> + 83f46f30: 00014a97 auipc s5,0x14 + 83f46f34: 838a8a93 addi s5,s5,-1992 # 83f5a768 + else + tmp = lambda / (1.0F + lambda) * xtmp_re; /* estimated amplitude of clean speech */ + + //Xk_prev[k].re = c_sig[k].re * c_sig[k].re - c_sig[k].im * c_sig[k].im; /* use for updating ksi in next frame */ + //Xk_prev[k].im = c_sig[k].re * c_sig[k].im + c_sig[k].im * c_sig[k].re; /* use for updating ksi in next frame */ + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + 83f46f38: afc00513 li a0,-1284 + 83f46f3c: 00014797 auipc a5,0x14 + 83f46f40: d3478793 addi a5,a5,-716 # 83f5ac70 + if (0.0F == (1.0F + ksi[k])) + 83f46f44: f00004d3 fmv.w.x fs1,zero + 83f46f48: 00014b17 auipc s6,0x14 + 83f46f4c: 22cb0b13 addi s6,s6,556 # 83f5b174 + 83f46f50: 00014497 auipc s1,0x14 + 83f46f54: 72848493 addi s1,s1,1832 # 83f5b678 + bessel_function(1.0F, &tmp_fft_out[321], &tmp_fft_out[321]); /* first order modified Bessel function */ + 83f46f58: 00015c17 auipc s8,0x15 + 83f46f5c: c24c0c13 addi s8,s8,-988 # 83f5bb7c + 83f46f60: 8d56 mv s10,s5 + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + 83f46f62: 40f50433 sub s0,a0,a5 + 83f46f66: a891 j 83f46fba + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46f68: c79f90ef jal ra,83f40be0 + 83f46f6c: 40157553 fcvt.s.d fa0,fa0 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f46f70: 01647453 fadd.s fs0,fs0,fs6 + 83f46f74: 000d2707 flw fa4,0(s10) + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46f78: 11357553 fmul.s fa0,fa0,fs3 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f46f7c: 117477d3 fmul.s fa5,fs0,fs7 + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46f80: 19257553 fdiv.s fa0,fa0,fs2 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f46f84: 10e7f7d3 fmul.s fa5,fa5,fa4 + if (0.0F == (1.0F + lambda)) + 83f46f88: 01557753 fadd.s fa4,fa0,fs5 + 83f46f8c: a0972553 feq.s a0,fa4,fs1 + 83f46f90: c549 beqz a0,83f4701a + tmp = lambda / ((float)3.3495873e-008) * xtmp_re; /* assign a small value to avoid dividing by zero */ + 83f46f92: 19257553 fdiv.s fa0,fa0,fs2 + 83f46f96: 10f577d3 fmul.s fa5,fa0,fa5 + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + 83f46f9a: 028bb503 ld a0,40(s7) + 83f46f9e: 10f7f753 fmul.s fa4,fa5,fa5 + tmp_ifft_out[321+k] = tmp; + 83f46fa2: 00fc2027 fsw fa5,0(s8) + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + 83f46fa6: 955a add a0,a0,s6 + 83f46fa8: 9522 add a0,a0,s0 + for (k = 0; k < 321; k++) { + 83f46faa: 0b11 addi s6,s6,4 + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + 83f46fac: 00e52027 fsw fa4,0(a0) + for (k = 0; k < 321; k++) { + 83f46fb0: 0d91 addi s11,s11,4 + 83f46fb2: 0d11 addi s10,s10,4 + 83f46fb4: 0c11 addi s8,s8,4 + 83f46fb6: 07648763 beq s1,s6,83f47024 + if (0.0F == (1.0F + ksi[k])) + 83f46fba: 000da787 flw fa5,0(s11) + xtmp_re = tmp_fft_out[k] * (1.0F + tmp_ifft_out[k]); + 83f46fbe: afcc2707 flw fa4,-1284(s8) + 83f46fc2: afcb2687 flw fa3,-1284(s6) + if (0.0F == (1.0F + ksi[k])) + 83f46fc6: 0157f7d3 fadd.s fa5,fa5,fs5 + xtmp_re = tmp_fft_out[k] * (1.0F + tmp_ifft_out[k]); + 83f46fca: 01577453 fadd.s fs0,fa4,fs5 + tmp1 = tmp_fft_out[321+k] * tmp_ifft_out[k]; + 83f46fce: 000b2b07 flw fs6,0(s6) + tmp = tmp_ifft_out[321+k]; + 83f46fd2: 000c2b87 flw fs7,0(s8) + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + 83f46fd6: 42070553 fcvt.d.s fa0,fa4 + if (0.0F == (1.0F + ksi[k])) + 83f46fda: a097a553 feq.s a0,fa5,fs1 + xtmp_re = tmp_fft_out[k] * (1.0F + tmp_ifft_out[k]); + 83f46fde: 10d47453 fmul.s fs0,fs0,fa3 + tmp1 = tmp_fft_out[321+k] * tmp_ifft_out[k]; + 83f46fe2: 11677b53 fmul.s fs6,fa4,fs6 + if (0.0F == (1.0F + ksi[k])) + 83f46fe6: f149 bnez a0,83f46f68 + lambda = qkr * (float)exp(tmp_ifft_out[k]) / (1.0F + ksi[k]); + 83f46fe8: bf9f90ef jal ra,83f40be0 + 83f46fec: 000da787 flw fa5,0(s11) + 83f46ff0: 40157553 fcvt.s.d fa0,fa0 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f46ff4: 01647453 fadd.s fs0,fs0,fs6 + lambda = qkr * (float)exp(tmp_ifft_out[k]) / (1.0F + ksi[k]); + 83f46ff8: 0157f7d3 fadd.s fa5,fa5,fs5 + 83f46ffc: 11357553 fmul.s fa0,fa0,fs3 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f47000: 000d2707 flw fa4,0(s10) + lambda = qkr * (float)exp(tmp_ifft_out[k]) / (1.0F + ksi[k]); + 83f47004: 18f57553 fdiv.s fa0,fa0,fa5 + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + 83f47008: 117477d3 fmul.s fa5,fs0,fs7 + 83f4700c: 10e7f7d3 fmul.s fa5,fa5,fa4 + if (0.0F == (1.0F + lambda)) + 83f47010: 01557753 fadd.s fa4,fa0,fs5 + 83f47014: a0972553 feq.s a0,fa4,fs1 + 83f47018: fd2d bnez a0,83f46f92 + tmp = lambda / (1.0F + lambda) * xtmp_re; /* estimated amplitude of clean speech */ + 83f4701a: 18e57553 fdiv.s fa0,fa0,fa4 + 83f4701e: 10f577d3 fmul.s fa5,fa0,fa5 + 83f47022: bfa5 j 83f46f9a + } + + for (k = 0; k < (nFFT/2+1); k++) { + 83f47024: 67c2 ld a5,16(sp) + 83f47026: 577d li a4,-1 + 83f47028: 08e7cc63 blt a5,a4,83f470c0 + 83f4702c: 00013417 auipc s0,0x13 + 83f47030: d3440413 addi s0,s0,-716 # 83f59d60 + 83f47034: 84a2 mv s1,s0 + 83f47036: f022 sd s0,32(sp) + 83f47038: 00013d17 auipc s10,0x13 + 83f4703c: 730d0d13 addi s10,s10,1840 # 83f5a768 + 83f47040: 4d81 li s11,0 + nr_sig[k] = (float)atan2(nr_fd_half[k].im, nr_fd_half[k].re); /* theta */ + 83f47042: 0004a587 flw fa1,0(s1) + 83f47046: 0044a507 flw fa0,4(s1) + for (k = 0; k < (nFFT/2+1); k++) { + 83f4704a: 0d11 addi s10,s10,4 + nr_sig[k] = (float)atan2(nr_fd_half[k].im, nr_fd_half[k].re); /* theta */ + 83f4704c: 420585d3 fcvt.d.s fa1,fa1 + 83f47050: 42050553 fcvt.d.s fa0,fa0 + for (k = 0; k < (nFFT/2+1); k++) { + 83f47054: 2d85 addiw s11,s11,1 + 83f47056: 04a1 addi s1,s1,8 + nr_sig[k] = (float)atan2(nr_fd_half[k].im, nr_fd_half[k].re); /* theta */ + 83f47058: b87f90ef jal ra,83f40bde + 83f4705c: 40157553 fcvt.s.d fa0,fa0 + 83f47060: fead2e27 fsw fa0,-4(s10) + for (k = 0; k < (nFFT/2+1); k++) { + 83f47064: fdb9dfe3 bge s3,s11,83f47042 + } + + for (k = 0; k < (nFFT/2+1); k++) { + if (nr_sig[k] == 0.0F) { + 83f47068: f00004d3 fmv.w.x fs1,zero + 83f4706c: 4481 li s1,0 + 83f4706e: a809 j 83f47080 + xtmp_im = 0.0F; + } else { + xtmp_re = (float)cos(nr_sig[k]); /* Euler's formula */ + xtmp_im = (float)sin(nr_sig[k]); /* Euler's formula */ + } + nr_fd_half[k].re = xtmp_re; /* phase part */ + 83f47070: 00842027 fsw fs0,0(s0) + nr_fd_half[k].im = xtmp_im; /* phase part */ + 83f47074: 00f42227 fsw fa5,4(s0) + for (k = 0; k < (nFFT/2+1); k++) { + 83f47078: 0a91 addi s5,s5,4 + 83f4707a: 0421 addi s0,s0,8 + 83f4707c: 0499c263 blt s3,s1,83f470c0 + if (nr_sig[k] == 0.0F) { + 83f47080: 000aa507 flw fa0,0(s5) + xtmp_im = 0.0F; + 83f47084: f00007d3 fmv.w.x fa5,zero + xtmp_re = 1.0F; + 83f47088: 215a8453 fmv.s fs0,fs5 + if (nr_sig[k] == 0.0F) { + 83f4708c: a0952753 feq.s a4,fa0,fs1 + for (k = 0; k < (nFFT/2+1); k++) { + 83f47090: 2485 addiw s1,s1,1 + if (nr_sig[k] == 0.0F) { + 83f47092: ff79 bnez a4,83f47070 + xtmp_re = (float)cos(nr_sig[k]); /* Euler's formula */ + 83f47094: 42050553 fcvt.d.s fa0,fa0 + for (k = 0; k < (nFFT/2+1); k++) { + 83f47098: 0a91 addi s5,s5,4 + 83f4709a: 0421 addi s0,s0,8 + xtmp_re = (float)cos(nr_sig[k]); /* Euler's formula */ + 83f4709c: 837f90ef jal ra,83f408d2 + xtmp_im = (float)sin(nr_sig[k]); /* Euler's formula */ + 83f470a0: ffcaa787 flw fa5,-4(s5) + xtmp_re = (float)cos(nr_sig[k]); /* Euler's formula */ + 83f470a4: 40157453 fcvt.s.d fs0,fa0 + xtmp_im = (float)sin(nr_sig[k]); /* Euler's formula */ + 83f470a8: 42078553 fcvt.d.s fa0,fa5 + 83f470ac: abbf90ef jal ra,83f40b66 + 83f470b0: 401577d3 fcvt.s.d fa5,fa0 + nr_fd_half[k].re = xtmp_re; /* phase part */ + 83f470b4: fe842c27 fsw fs0,-8(s0) + nr_fd_half[k].im = xtmp_im; /* phase part */ + 83f470b8: fef42e27 fsw fa5,-4(s0) + for (k = 0; k < (nFFT/2+1); k++) { + 83f470bc: fc99d2e3 bge s3,s1,83f47080 + 83f470c0: 00013717 auipc a4,0x13 + 83f470c4: ca070713 addi a4,a4,-864 # 83f59d60 + 83f470c8: 00013697 auipc a3,0x13 + 83f470cc: 6a068693 addi a3,a3,1696 # 83f5a768 + for (k = 0; k < 321; k++) { + //tmp1 = c_sig[k].re; + //c_sig[k].re = c_sig[k].re * nr_fd_half[k].re - c_sig[k].im * nr_fd_half[k].im; /* estimated clean speech signal */ + //c_sig[k].im = tmp1 * nr_fd_half[k].im + c_sig[k].im * nr_fd_half[k].re; /* estimated clean speech signal */ + tmp = tmp_ifft_out[321+k]; + nr_fd_half[k].re = tmp * nr_fd_half[k].re; /* estimated clean speech signal */ + 83f470d0: 00072707 flw fa4,0(a4) + nr_fd_half[k].im = tmp * nr_fd_half[k].im; /* estimated clean speech signal */ + 83f470d4: 00472787 flw fa5,4(a4) + tmp = tmp_ifft_out[321+k]; + 83f470d8: 000ca687 flw fa3,0(s9) + for (k = 0; k < 321; k++) { + 83f470dc: 0721 addi a4,a4,8 + 83f470de: 0c91 addi s9,s9,4 + nr_fd_half[k].re = tmp * nr_fd_half[k].re; /* estimated clean speech signal */ + 83f470e0: 10d77753 fmul.s fa4,fa4,fa3 + nr_fd_half[k].im = tmp * nr_fd_half[k].im; /* estimated clean speech signal */ + 83f470e4: 10d7f7d3 fmul.s fa5,fa5,fa3 + nr_fd_half[k].re = tmp * nr_fd_half[k].re; /* estimated clean speech signal */ + 83f470e8: fee72c27 fsw fa4,-8(a4) + nr_fd_half[k].im = tmp * nr_fd_half[k].im; /* estimated clean speech signal */ + 83f470ec: fef72e27 fsw fa5,-4(a4) + for (k = 0; k < 321; k++) { + 83f470f0: fee690e3 bne a3,a4,83f470d0 + } + + tmp_fft_out[0] = nr_fd_half[0].re; + 83f470f4: 7782 ld a5,32(sp) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f470f6: 458d li a1,3 + 83f470f8: 00013697 auipc a3,0x13 + 83f470fc: c7068693 addi a3,a3,-912 # 83f59d68 + tmp_fft_out[0] = nr_fd_half[0].re; + 83f47100: 0007a787 flw fa5,0(a5) + 83f47104: 67e2 ld a5,24(sp) + 83f47106: 00014717 auipc a4,0x14 + 83f4710a: b6e70713 addi a4,a4,-1170 # 83f5ac74 + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f4710e: 4605 li a2,1 + tmp_fft_out[0] = nr_fd_half[0].re; + 83f47110: 00f7a027 fsw fa5,0(a5) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f47114: 67c2 ld a5,16(sp) + 83f47116: 00f5df63 bge a1,a5,83f47134 + tmp_fft_out[k] = nr_fd_half[j].re; + 83f4711a: 0006a707 flw fa4,0(a3) + tmp_fft_out[k+1] = nr_fd_half[j].im; + 83f4711e: 0046a787 flw fa5,4(a3) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f47122: 2605 addiw a2,a2,1 + tmp_fft_out[k] = nr_fd_half[j].re; + 83f47124: 00e72027 fsw fa4,0(a4) + tmp_fft_out[k+1] = nr_fd_half[j].im; + 83f47128: 00f72227 fsw fa5,4(a4) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f4712c: 06a1 addi a3,a3,8 + 83f4712e: 0721 addi a4,a4,8 + 83f47130: ff3645e3 blt a2,s3,83f4711a + } + tmp_fft_out[nFFT-1] = nr_fd_half[nFFT/2].re; + 83f47134: 7782 ld a5,32(sp) + 83f47136: 7762 ld a4,56(sp) + + /* restore nFFT points before doing inverse FFT, do conjugate symmetric for the lower half points inside speech_ifft() */ + speech_ifft(st->nr_fft_table, tmp_fft_out, tmp_ifft_out); /* faster than matlab ifft(), in/out not use the same buffer */ + 83f47138: 00014617 auipc a2,0x14 + 83f4713c: 54060613 addi a2,a2,1344 # 83f5b678 + 83f47140: 00014597 auipc a1,0x14 + 83f47144: b3058593 addi a1,a1,-1232 # 83f5ac70 + tmp_fft_out[nFFT-1] = nr_fd_half[nFFT/2].re; + 83f47148: 00e78c33 add s8,a5,a4 + 83f4714c: 67e2 ld a5,24(sp) + 83f4714e: 6706 ld a4,64(sp) + 83f47150: 000c2787 flw fa5,0(s8) + 83f47154: 97ba add a5,a5,a4 + 83f47156: 00f7a027 fsw fa5,0(a5) + speech_ifft(st->nr_fft_table, tmp_fft_out, tmp_ifft_out); /* faster than matlab ifft(), in/out not use the same buffer */ + 83f4715a: 000bb503 ld a0,0(s7) + 83f4715e: 7ab010ef jal ra,83f49108 + for (k = 0; k < len; k++) { /* ignore output samples from (len+1) to (2*len) */ + 83f47162: 77c2 ld a5,48(sp) + 83f47164: 02f05b63 blez a5,83f4719a + 83f47168: 47b6 lw a5,76(sp) + 83f4716a: 00014717 auipc a4,0x14 + 83f4716e: 51270713 addi a4,a4,1298 # 83f5b67c + 83f47172: fff7869b addiw a3,a5,-1 + 83f47176: 02069793 slli a5,a3,0x20 + 83f4717a: 01e7d693 srli a3,a5,0x1e + 83f4717e: 96ba add a3,a3,a4 + 83f47180: 00014717 auipc a4,0x14 + 83f47184: 4f870713 addi a4,a4,1272 # 83f5b678 + tmp_ifft_out[k] /= nFFT; /* divide by nFFT to get values as in matlab */ + 83f47188: 00072787 flw fa5,0(a4) + for (k = 0; k < len; k++) { /* ignore output samples from (len+1) to (2*len) */ + 83f4718c: 0711 addi a4,a4,4 + tmp_ifft_out[k] /= nFFT; /* divide by nFFT to get values as in matlab */ + 83f4718e: 1947f7d3 fdiv.s fa5,fa5,fs4 + 83f47192: fef72e27 fsw fa5,-4(a4) + for (k = 0; k < len; k++) { /* ignore output samples from (len+1) to (2*len) */ + 83f47196: fee699e3 bne a3,a4,83f47188 + } + + for (k = 0; k < len1; k++) { + 83f4719a: 77a2 ld a5,40(sp) + 83f4719c: 4701 li a4,0 + 83f4719e: 00279593 slli a1,a5,0x2 + 83f471a2: 04f05b63 blez a5,83f471f8 + y[k] = st->y_old[k] + (tmp_ifft_out[k] * st->syn_win[k]); /* apply synthesis window and 50% OLA for output */ + 83f471a6: 010bb603 ld a2,16(s7) + 83f471aa: 020bb683 ld a3,32(s7) + 83f471ae: 000a2787 flw fa5,0(s4) + 83f471b2: 963a add a2,a2,a4 + 83f471b4: 96ba add a3,a3,a4 + 83f471b6: 0006a707 flw fa4,0(a3) + 83f471ba: 00062687 flw fa3,0(a2) + 83f471be: 67a2 ld a5,8(sp) + st->y_old[k] = tmp_ifft_out[len1 + k] * st->syn_win[len1 + k]; /* apply synthesis window and update output OLA buffer */ + 83f471c0: 00ba0633 add a2,s4,a1 + y[k] = st->y_old[k] + (tmp_ifft_out[k] * st->syn_win[k]); /* apply synthesis window and 50% OLA for output */ + 83f471c4: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f471c8: 00e786b3 add a3,a5,a4 + st->y_old[k] = tmp_ifft_out[len1 + k] * st->syn_win[len1 + k]; /* apply synthesis window and update output OLA buffer */ + 83f471cc: 0a11 addi s4,s4,4 + y[k] = st->y_old[k] + (tmp_ifft_out[k] * st->syn_win[k]); /* apply synthesis window and 50% OLA for output */ + 83f471ce: 00f6a027 fsw fa5,0(a3) + st->y_old[k] = tmp_ifft_out[len1 + k] * st->syn_win[len1 + k]; /* apply synthesis window and update output OLA buffer */ + 83f471d2: 010bb683 ld a3,16(s7) + 83f471d6: 00062707 flw fa4,0(a2) + 83f471da: 020bb603 ld a2,32(s7) + 83f471de: 96ae add a3,a3,a1 + 83f471e0: 96ba add a3,a3,a4 + 83f471e2: 0006a787 flw fa5,0(a3) + 83f471e6: 00e606b3 add a3,a2,a4 + for (k = 0; k < len1; k++) { + 83f471ea: 0711 addi a4,a4,4 + st->y_old[k] = tmp_ifft_out[len1 + k] * st->syn_win[len1 + k]; /* apply synthesis window and update output OLA buffer */ + 83f471ec: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f471f0: 00f6a027 fsw fa5,0(a3) + for (k = 0; k < len1; k++) { + 83f471f4: fae599e3 bne a1,a4,83f471a6 + } + + if (1 == (unsigned short)*frame) + 83f471f8: 00092787 flw fa5,0(s2) + 83f471fc: 4685 li a3,1 + 83f471fe: c0179753 fcvt.wu.s a4,fa5,rtz + 83f47202: 1742 slli a4,a4,0x30 + 83f47204: 9341 srli a4,a4,0x30 + 83f47206: 02d71163 bne a4,a3,83f47228 + st->nr_frame1_last_sample = y[st->frame_size-1]; + 83f4720a: 098ba703 lw a4,152(s7) + 83f4720e: 67a2 ld a5,8(sp) + 83f47210: 070a slli a4,a4,0x2 + 83f47212: 973e add a4,a4,a5 + 83f47214: ffc72787 flw fa5,-4(a4) + 83f47218: 08fbaa27 fsw fa5,148(s7) + if (2 == (unsigned short)*frame) { + 83f4721c: 00092787 flw fa5,0(s2) + 83f47220: c0179753 fcvt.wu.s a4,fa5,rtz + 83f47224: 1742 slli a4,a4,0x30 + 83f47226: 9341 srli a4,a4,0x30 + 83f47228: 4689 li a3,2 + 83f4722a: 0ed70463 beq a4,a3,83f47312 + SSP_SAFE_FREE_BUF(tmp_fft_out); + SSP_SAFE_FREE_BUF(tmp_ifft_out); + SSP_SAFE_FREE_BUF(nr_sig); + SSP_SAFE_FREE_BUF(nr_fd_half); +#endif +} + 83f4722e: 60b2 ld ra,264(sp) + 83f47230: 6412 ld s0,256(sp) + 83f47232: 74ee ld s1,248(sp) + 83f47234: 794e ld s2,240(sp) + 83f47236: 79ae ld s3,232(sp) + 83f47238: 7a0e ld s4,224(sp) + 83f4723a: 6aee ld s5,216(sp) + 83f4723c: 6b4e ld s6,208(sp) + 83f4723e: 6bae ld s7,200(sp) + 83f47240: 6c0e ld s8,192(sp) + 83f47242: 7cea ld s9,184(sp) + 83f47244: 7d4a ld s10,176(sp) + 83f47246: 7daa ld s11,168(sp) + 83f47248: 246a fld fs0,152(sp) + 83f4724a: 24ca fld fs1,144(sp) + 83f4724c: 292a fld fs2,136(sp) + 83f4724e: 298a fld fs3,128(sp) + 83f47250: 3a66 fld fs4,120(sp) + 83f47252: 3ac6 fld fs5,112(sp) + 83f47254: 3b26 fld fs6,104(sp) + 83f47256: 3b86 fld fs7,96(sp) + 83f47258: 6151 addi sp,sp,272 + 83f4725a: 8082 ret + st->vad_mmse = 1.0F; + 83f4725c: 0000b797 auipc a5,0xb + 83f47260: ff47a707 flw fa4,-12(a5) # 83f52250 <__func__.1+0x58> + st->vad_mmse_cnt = st->vad_mmse_cnt_para; + 83f47264: 090ba787 flw fa5,144(s7) + st->vad_mmse = 1.0F; + 83f47268: 06ebac27 fsw fa4,120(s7) + 83f4726c: bc99 j 83f46cc2 + xtmp_im = MAX(xtmp_im, 0.0F); + 83f4726e: f00005d3 fmv.w.x fa1,zero + 83f47272: 00012517 auipc a0,0x12 + 83f47276: 0de50513 addi a0,a0,222 # 83f59350 + 83f4727a: 00012717 auipc a4,0x12 + 83f4727e: 5de70713 addi a4,a4,1502 # 83f59858 + 83f47282: 00013c97 auipc s9,0x13 + 83f47286: adac8c93 addi s9,s9,-1318 # 83f59d5c + if (*frame == 1.0F) { /* priori SNR for the first frame */ + 83f4728a: 4601 li a2,0 + xtmp_im = gammak[k] - 1.0F; + 83f4728c: 00052687 flw fa3,0(a0) + for (k = 0; k < 321; k++) { + 83f47290: 0511 addi a0,a0,4 + xtmp_im = gammak[k] - 1.0F; + 83f47292: 0956f6d3 fsub.s fa3,fa3,fs5 + xtmp_im = MAX(xtmp_im, 0.0F); + 83f47296: a0b695d3 flt.s a1,fa3,fa1 + 83f4729a: c199 beqz a1,83f472a0 + 83f4729c: f00006d3 fmv.w.x fa3,zero + if (0.0F == st->noise_mu2[k]) + 83f472a0: 038bb583 ld a1,56(s7) + 83f472a4: 95b2 add a1,a1,a2 + 83f472a6: 0005a607 flw fa2,0(a1) + 83f472aa: a0b62853 feq.s a6,fa2,fa1 + 83f472ae: 00080b63 beqz a6,83f472c4 + st->noise_mu2[k] = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f472b2: 00042787 flw fa5,0(s0) + 83f472b6: 00f5a027 fsw fa5,0(a1) + ksi[k] = st->aa * st->Xk_prev[k] / st->noise_mu2[k] + (1.0F - st->aa) * xtmp_im; + 83f472ba: 038bb583 ld a1,56(s7) + 83f472be: 95b2 add a1,a1,a2 + 83f472c0: 0005a607 flw fa2,0(a1) + 83f472c4: 028bb583 ld a1,40(s7) + 83f472c8: 088ba787 flw fa5,136(s7) + 83f472cc: 95b2 add a1,a1,a2 + 83f472ce: 0005a507 flw fa0,0(a1) + 83f472d2: 08faf753 fsub.s fa4,fs5,fa5 + for (k = 0; k < 321; k++) { + 83f472d6: 0611 addi a2,a2,4 + ksi[k] = st->aa * st->Xk_prev[k] / st->noise_mu2[k] + (1.0F - st->aa) * xtmp_im; + 83f472d8: 10a7f7d3 fmul.s fa5,fa5,fa0 + 83f472dc: 18c7f7d3 fdiv.s fa5,fa5,fa2 + 83f472e0: 78d777c3 fmadd.s fa5,fa4,fa3,fa5 + 83f472e4: 00f72027 fsw fa5,0(a4) + ksi[k] = MAX(ksi[k], st->ksi_min); /* limit ksi greater than -25dB in power */ + 83f472e8: 084ba707 flw fa4,132(s7) + 83f472ec: a0e795d3 flt.s a1,fa5,fa4 + 83f472f0: e199 bnez a1,83f472f6 + 83f472f2: 20f78753 fmv.s fa4,fa5 + for (k = 0; k < 321; k++) { + 83f472f6: 0711 addi a4,a4,4 + ksi[k] = MAX(ksi[k], st->ksi_min); /* limit ksi greater than -25dB in power */ + 83f472f8: fee72e27 fsw fa4,-4(a4) + for (k = 0; k < 321; k++) { + 83f472fc: f8ec98e3 bne s9,a4,83f4728c + 83f47300: 00012497 auipc s1,0x12 + 83f47304: 55448493 addi s1,s1,1364 # 83f59854 + 83f47308: 81fff06f j 83f46b26 + st->vad_mmse = 0.0F; + 83f4730c: 060bbc23 sd zero,120(s7) + 83f47310: ba5d j 83f46cc6 + y[0] = alpha * st->nr_frame1_last_sample + alpha2 * y[0]; + 83f47312: 67a2 ld a5,8(sp) + 83f47314: 0000b717 auipc a4,0xb + 83f47318: 03c72687 flw fa3,60(a4) # 83f52350 <__func__.1+0x158> + 83f4731c: 094ba707 flw fa4,148(s7) + 83f47320: 0007a787 flw fa5,0(a5) + 83f47324: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f47328: 0000b717 auipc a4,0xb + 83f4732c: 02c72687 flw fa3,44(a4) # 83f52354 <__func__.1+0x15c> + for (i = 0; i < st->frame_size-1; i++) { + 83f47330: 4705 li a4,1 + y[0] = alpha * st->nr_frame1_last_sample + alpha2 * y[0]; + 83f47332: 78d77743 fmadd.s fa4,fa4,fa3,fa5 + 83f47336: 00e7a027 fsw fa4,0(a5) + for (i = 0; i < st->frame_size-1; i++) { + 83f4733a: 098ba683 lw a3,152(s7) + 83f4733e: eed758e3 bge a4,a3,83f4722e + 83f47342: 00478b13 addi s6,a5,4 + 83f47346: 4701 li a4,0 + 83f47348: 0000b797 auipc a5,0xb + 83f4734c: 0107a587 flw fa1,16(a5) # 83f52358 <__func__.1+0x160> + alpha2 = (float)(1.0F + i)/160.0F; + 83f47350: d00777d3 fcvt.s.w fa5,a4 + y[i+1] = alpha * y[i] + alpha2 * y[i+1]; + 83f47354: 000b2607 flw fa2,0(s6) + for (i = 0; i < st->frame_size-1; i++) { + 83f47358: 0b11 addi s6,s6,4 + alpha2 = (float)(1.0F + i)/160.0F; + 83f4735a: 0157f7d3 fadd.s fa5,fa5,fs5 + 83f4735e: 2705 addiw a4,a4,1 + 83f47360: 18b7f7d3 fdiv.s fa5,fa5,fa1 + alpha = 1 - alpha2; + 83f47364: 08faf6d3 fsub.s fa3,fs5,fa5 + y[i+1] = alpha * y[i] + alpha2 * y[i+1]; + 83f47368: 10c7f7d3 fmul.s fa5,fa5,fa2 + 83f4736c: 78e6f743 fmadd.s fa4,fa3,fa4,fa5 + 83f47370: feeb2e27 fsw fa4,-4(s6) + for (i = 0; i < st->frame_size-1; i++) { + 83f47374: 098ba683 lw a3,152(s7) + 83f47378: 36fd addiw a3,a3,-1 + 83f4737a: fcd74be3 blt a4,a3,83f47350 + 83f4737e: bd45 j 83f4722e + speech_fft(st->nr_fft_table, tmp_ifft_out, tmp_fft_out); /* faster than matlab fft() */ + 83f47380: 000bb503 ld a0,0(s7) + 83f47384: 00014617 auipc a2,0x14 + 83f47388: 8ec60613 addi a2,a2,-1812 # 83f5ac70 + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f4738c: 8432 mv s0,a2 + 83f4738e: ec32 sd a2,24(sp) + speech_fft(st->nr_fft_table, tmp_ifft_out, tmp_fft_out); /* faster than matlab fft() */ + 83f47390: 50d010ef jal ra,83f4909c + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f47394: 00042787 flw fa5,0(s0) + 83f47398: d004fa53 fcvt.s.w fs4,s1 + nr_fd_half[0].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f4739c: 0000b417 auipc s0,0xb + 83f473a0: f9840413 addi s0,s0,-104 # 83f52334 <__func__.1+0x13c> + 83f473a4: 00042707 flw fa4,0(s0) + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f473a8: 1147f7d3 fmul.s fa5,fa5,fs4 + 83f473ac: 00013797 auipc a5,0x13 + 83f473b0: 9b478793 addi a5,a5,-1612 # 83f59d60 + 83f473b4: f03e sd a5,32(sp) + nr_fd_half[0].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + 83f473b6: 00e7a227 fsw fa4,4(a5) + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + 83f473ba: 00f7a027 fsw fa5,0(a5) + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + 83f473be: cf0ff06f j 83f468ae + +0000000083f473c2 : + //*nenr_silence_time = para_obj->para_nr_init_sile_time*2; + //} else { + //*nenr_silence_time = para_obj->para_nr_init_sile_time; + //} + + temp = MIN(MAX(para_obj->para_nr_snr_coeff, 0), 25); + 83f473c2: 01255703 lhu a4,18(a0) + para_obj->para_nr_noise_coeff = 2; + 83f473c6: 4789 li a5,2 + 83f473c8: 00f51f23 sh a5,30(a0) + temp = MIN(MAX(para_obj->para_nr_snr_coeff, 0), 25); + 83f473cc: 46e5 li a3,25 + 83f473ce: 87ba mv a5,a4 + 83f473d0: 0007081b sext.w a6,a4 + 83f473d4: 00e6f363 bgeu a3,a4,83f473da + 83f473d8: 47e5 li a5,25 + 83f473da: 17c2 slli a5,a5,0x30 + 83f473dc: 93c1 srli a5,a5,0x30 + //if (temp >= 0 && temp <= 3) { /* for low SNR, [0, 3] = > [0.6, 0.9] */ + if (temp <= 3) { /* for low SNR, [0, 3] = > [0.6, 0.9] */ + 83f473de: 468d li a3,3 + *aa = (float)(0.60 + temp * 0.1); /* the speed of priori SNR tracking */ + 83f473e0: 0007871b sext.w a4,a5 + if (temp <= 3) { /* for low SNR, [0, 3] = > [0.6, 0.9] */ + 83f473e4: 0506ea63 bltu a3,a6,83f47438 + *aa = (float)(0.60 + temp * 0.1); /* the speed of priori SNR tracking */ + 83f473e8: d2070753 fcvt.d.w fa4,a4 + 83f473ec: 0000b797 auipc a5,0xb + 83f473f0: f747b687 fld fa3,-140(a5) # 83f52360 <__func__.1+0x168> + 83f473f4: 0000b797 auipc a5,0xb + 83f473f8: f747b787 fld fa5,-140(a5) # 83f52368 <__func__.1+0x170> + 83f473fc: 7ad77743 fmadd.d fa4,fa4,fa3,fa5 + 83f47400: 0000b797 auipc a5,0xb + 83f47404: f987b607 fld fa2,-104(a5) # 83f52398 <__func__.1+0x1a0> + 83f47408: 0000b797 auipc a5,0xb + 83f4740c: f687b687 fld fa3,-152(a5) # 83f52370 <__func__.1+0x178> + 83f47410: 40177753 fcvt.s.d fa4,fa4 + 83f47414: 00e5a027 fsw fa4,0(a1) + } + else { /* for higher SNR, [21, 25] => [0.991, 0.995] */ + *aa = (float)(0.99 + (temp - 20) * 0.001); /* the speed of priori SNR tracking */ + } + + temp = MIN(MAX(para_obj->para_nr_noise_coeff, 0), 14); + 83f47418: 01e55683 lhu a3,30(a0) + 83f4741c: 4739 li a4,14 + 83f4741e: 87b6 mv a5,a3 + 83f47420: 00d77363 bgeu a4,a3,83f47426 + 83f47424: 47b9 li a5,14 + *mu = (float)(0.99 - temp * 0.01); + 83f47426: d20787d3 fcvt.d.w fa5,a5 + 83f4742a: 62d7f7cb fnmsub.d fa5,fa5,fa3,fa2 + 83f4742e: 4017f7d3 fcvt.s.d fa5,fa5 + 83f47432: 00f62027 fsw fa5,0(a2) + +} + 83f47436: 8082 ret + else if (temp > 3 && temp <= 10) { /* for middle SNR, [4, 10] => [0.91, 0.97] */ + 83f47438: ffc7869b addiw a3,a5,-4 + 83f4743c: 16c2 slli a3,a3,0x30 + 83f4743e: 92c1 srli a3,a3,0x30 + 83f47440: 4819 li a6,6 + 83f47442: 02d86863 bltu a6,a3,83f47472 + *aa = (float)(0.90 + (temp - 3) * 0.01); /* the speed of priori SNR tracking */ + 83f47446: 3775 addiw a4,a4,-3 + 83f47448: d20707d3 fcvt.d.w fa5,a4 + 83f4744c: 0000b797 auipc a5,0xb + 83f47450: f247b687 fld fa3,-220(a5) # 83f52370 <__func__.1+0x178> + 83f47454: 0000b797 auipc a5,0xb + 83f47458: f247b707 fld fa4,-220(a5) # 83f52378 <__func__.1+0x180> + 83f4745c: 72d7f7c3 fmadd.d fa5,fa5,fa3,fa4 + 83f47460: 0000b797 auipc a5,0xb + 83f47464: f387b607 fld fa2,-200(a5) # 83f52398 <__func__.1+0x1a0> + 83f47468: 4017f7d3 fcvt.s.d fa5,fa5 + 83f4746c: 00f5a027 fsw fa5,0(a1) + 83f47470: b765 j 83f47418 + else if (temp > 10 && temp <= 20) { /* for high SNR, [11, 20] => [0.972, 0.99] */ + 83f47472: 37d5 addiw a5,a5,-11 + 83f47474: 17c2 slli a5,a5,0x30 + 83f47476: 93c1 srli a5,a5,0x30 + 83f47478: 46a5 li a3,9 + 83f4747a: 02f6ec63 bltu a3,a5,83f474b2 + *aa = (float)(0.97 + (temp - 10) * 0.002); /* the speed of priori SNR tracking */ + 83f4747e: 3759 addiw a4,a4,-10 + 83f47480: d20707d3 fcvt.d.w fa5,a4 + 83f47484: 0000b797 auipc a5,0xb + 83f47488: efc7b687 fld fa3,-260(a5) # 83f52380 <__func__.1+0x188> + 83f4748c: 0000b797 auipc a5,0xb + 83f47490: efc7b707 fld fa4,-260(a5) # 83f52388 <__func__.1+0x190> + 83f47494: 72d7f7c3 fmadd.d fa5,fa5,fa3,fa4 + 83f47498: 0000b797 auipc a5,0xb + 83f4749c: f007b607 fld fa2,-256(a5) # 83f52398 <__func__.1+0x1a0> + 83f474a0: 0000b797 auipc a5,0xb + 83f474a4: ed07b687 fld fa3,-304(a5) # 83f52370 <__func__.1+0x178> + 83f474a8: 4017f7d3 fcvt.s.d fa5,fa5 + 83f474ac: 00f5a027 fsw fa5,0(a1) + 83f474b0: b7a5 j 83f47418 + *aa = (float)(0.99 + (temp - 20) * 0.001); /* the speed of priori SNR tracking */ + 83f474b2: 3731 addiw a4,a4,-20 + 83f474b4: d20707d3 fcvt.d.w fa5,a4 + 83f474b8: 0000b797 auipc a5,0xb + 83f474bc: ed87b707 fld fa4,-296(a5) # 83f52390 <__func__.1+0x198> + 83f474c0: 0000b797 auipc a5,0xb + 83f474c4: ed87b607 fld fa2,-296(a5) # 83f52398 <__func__.1+0x1a0> + 83f474c8: 62e7f7c3 fmadd.d fa5,fa5,fa4,fa2 + 83f474cc: 0000b797 auipc a5,0xb + 83f474d0: ea47b687 fld fa3,-348(a5) # 83f52370 <__func__.1+0x178> + 83f474d4: 4017f7d3 fcvt.s.d fa5,fa5 + 83f474d8: 00f5a027 fsw fa5,0(a1) + 83f474dc: bf35 j 83f47418 + +0000000083f474de : + +EXPORT NRState *NR_init(int frame_size, float fs, float aa, float mu) +{ + 83f474de: 7139 addi sp,sp,-64 + 83f474e0: f426 sd s1,40(sp) + 83f474e2: 84aa mv s1,a0 + uintptr_t *ptr = pvPortMalloc(size); + 83f474e4: 0a000513 li a0,160 + 83f474e8: fc06 sd ra,56(sp) + 83f474ea: f822 sd s0,48(sp) + 83f474ec: f04a sd s2,32(sp) + 83f474ee: ac22 fsd fs0,24(sp) + 83f474f0: a826 fsd fs1,16(sp) + 83f474f2: 20a50453 fmv.s fs0,fa0 + 83f474f6: 20c604d3 fmv.s fs1,fa2 + 83f474fa: a44a fsd fs2,8(sp) + 83f474fc: 20b58953 fmv.s fs2,fa1 + 83f47500: 084070ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47504: 0a000613 li a2,160 + 83f47508: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4750a: 842a mv s0,a0 + memset(ptr, 0, size); + 83f4750c: 271040ef jal ra,83f4bf7c + st->Fs = fs; + st->frame_size = frame_size; + st->aa = aa; + st->mu = mu; + + st->nr_fft_table = speech_fft_init(2*2*st->frame_size); + 83f47510: 0024951b slliw a0,s1,0x2 + st->frame_size = frame_size; + 83f47514: 08942c23 sw s1,152(s0) + st->Fs = fs; + 83f47518: 08842e27 fsw fs0,156(s0) + st->aa = aa; + 83f4751c: 09242427 fsw fs2,136(s0) + st->mu = mu; + 83f47520: 08942627 fsw fs1,140(s0) + st->nr_fft_table = speech_fft_init(2*2*st->frame_size); + 83f47524: 333010ef jal ra,83f49056 + st->ana_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f47528: 09842483 lw s1,152(s0) + st->nr_fft_table = speech_fft_init(2*2*st->frame_size); + 83f4752c: e008 sd a0,0(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f4752e: 0034949b slliw s1,s1,0x3 + 83f47532: 8526 mv a0,s1 + 83f47534: 050070ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47538: 8626 mv a2,s1 + 83f4753a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4753c: 892a mv s2,a0 + memset(ptr, 0, size); + 83f4753e: 23f040ef jal ra,83f4bf7c + st->syn_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f47542: 09842483 lw s1,152(s0) + st->ana_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f47546: 01243423 sd s2,8(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f4754a: 0034949b slliw s1,s1,0x3 + 83f4754e: 8526 mv a0,s1 + 83f47550: 034070ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47554: 8626 mv a2,s1 + 83f47556: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47558: 892a mv s2,a0 + memset(ptr, 0, size); + 83f4755a: 223040ef jal ra,83f4bf7c + st->x_old = (short*)mem_alloc(st->frame_size*sizeof(short)); + 83f4755e: 09842483 lw s1,152(s0) + st->syn_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f47562: 01243823 sd s2,16(s0) + st->x_old = (short*)mem_alloc(st->frame_size*sizeof(short)); + 83f47566: 0014949b slliw s1,s1,0x1 + uintptr_t *ptr = pvPortMalloc(size); + 83f4756a: 8526 mv a0,s1 + 83f4756c: 018070ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47570: 8626 mv a2,s1 + 83f47572: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47574: 892a mv s2,a0 + memset(ptr, 0, size); + 83f47576: 207040ef jal ra,83f4bf7c + st->y_old = (float*)mem_alloc(st->frame_size*sizeof(float)); + 83f4757a: 09842483 lw s1,152(s0) + st->x_old = (short*)mem_alloc(st->frame_size*sizeof(short)); + 83f4757e: 01243c23 sd s2,24(s0) + st->y_old = (float*)mem_alloc(st->frame_size*sizeof(float)); + 83f47582: 0024949b slliw s1,s1,0x2 + uintptr_t *ptr = pvPortMalloc(size); + 83f47586: 8526 mv a0,s1 + 83f47588: 7fd060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4758c: 8626 mv a2,s1 + 83f4758e: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47590: 892a mv s2,a0 + memset(ptr, 0, size); + 83f47592: 1eb040ef jal ra,83f4bf7c + st->Xk_prev = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f47596: 09842483 lw s1,152(s0) + st->y_old = (float*)mem_alloc(st->frame_size*sizeof(float)); + 83f4759a: 03243023 sd s2,32(s0) + st->Xk_prev = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f4759e: 0034949b slliw s1,s1,0x3 + uintptr_t *ptr = pvPortMalloc(size); + 83f475a2: 2491 addiw s1,s1,4 + 83f475a4: 8526 mv a0,s1 + 83f475a6: 7df060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f475aa: 8626 mv a2,s1 + 83f475ac: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f475ae: 892a mv s2,a0 + memset(ptr, 0, size); + 83f475b0: 1cd040ef jal ra,83f4bf7c + st->noise_mean = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475b4: 09842483 lw s1,152(s0) + st->Xk_prev = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475b8: 03243423 sd s2,40(s0) + st->noise_mean = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475bc: 0034949b slliw s1,s1,0x3 + uintptr_t *ptr = pvPortMalloc(size); + 83f475c0: 2491 addiw s1,s1,4 + 83f475c2: 8526 mv a0,s1 + 83f475c4: 7c1060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f475c8: 8626 mv a2,s1 + 83f475ca: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f475cc: 892a mv s2,a0 + memset(ptr, 0, size); + 83f475ce: 1af040ef jal ra,83f4bf7c + st->noise_mu2 = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475d2: 09842483 lw s1,152(s0) + st->noise_mean = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475d6: 03243823 sd s2,48(s0) + st->noise_mu2 = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + 83f475da: 0034949b slliw s1,s1,0x3 + uintptr_t *ptr = pvPortMalloc(size); + 83f475de: 2491 addiw s1,s1,4 + 83f475e0: 8526 mv a0,s1 + 83f475e2: 7a3060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f475e6: 8626 mv a2,s1 + 83f475e8: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f475ea: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f475ec: 191040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f475f0: 03c00513 li a0,60 + 83f475f4: fc04 sd s1,56(s0) + 83f475f6: 78f060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f475fa: 03c00613 li a2,60 + 83f475fe: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47600: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47602: 17b040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47606: 4551 li a0,20 + st->amp_inst_band = (float*)mem_alloc(5*3*sizeof(float)); + 83f47608: e024 sd s1,64(s0) + 83f4760a: 77b060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4760e: 4651 li a2,20 + 83f47610: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47612: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47614: 169040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47618: 4551 li a0,20 + st->noisy_st_trough = (float*)mem_alloc(5*sizeof(float)); + 83f4761a: e424 sd s1,72(s0) + 83f4761c: 769060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47620: 4651 li a2,20 + 83f47622: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47624: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47626: 157040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4762a: 4531 li a0,12 + st->noisy_st_peak = (float*)mem_alloc(5*sizeof(float)); + 83f4762c: e824 sd s1,80(s0) + 83f4762e: 757060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47632: 4631 li a2,12 + 83f47634: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47636: 892a mv s2,a0 + memset(ptr, 0, size); + 83f47638: 145040ef jal ra,83f4bf7c + st->amp_inst_sum_hist = (float*)mem_alloc(3*sizeof(float)); + st->float_x = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f4763c: 09842483 lw s1,152(s0) + st->amp_inst_sum_hist = (float*)mem_alloc(3*sizeof(float)); + 83f47640: 05243c23 sd s2,88(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f47644: 0034949b slliw s1,s1,0x3 + 83f47648: 8526 mv a0,s1 + 83f4764a: 73b060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4764e: 8626 mv a2,s1 + 83f47650: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47652: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47654: 129040ef jal ra,83f4bf7c + + for (i = 0; i < 2*st->frame_size; i++) { + 83f47658: 09842703 lw a4,152(s0) + st->float_x = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + 83f4765c: f024 sd s1,96(s0) + for (i = 0; i < 2*st->frame_size; i++) { + 83f4765e: 08e05363 blez a4,83f476e4 + 83f47662: 0000a517 auipc a0,0xa + 83f47666: ed250513 addi a0,a0,-302 # 83f51534 + 83f4766a: 0000a597 auipc a1,0xa + 83f4766e: 3ca58593 addi a1,a1,970 # 83f51a34 + 83f47672: 4781 li a5,0 + 83f47674: 0000b717 auipc a4,0xb + 83f47678: d3472707 flw fa4,-716(a4) # 83f523a8 <__func__.1+0x1b0> + 83f4767c: 0000b717 auipc a4,0xb + 83f47680: d3072787 flw fa5,-720(a4) # 83f523ac <__func__.1+0x1b4> + 83f47684: a039 j 83f47692 + st->ana_win[i] = fv0[i]; + 83f47686: 00052787 flw fa5,0(a0) + st->syn_win[i] = fv1[i]; + 83f4768a: 0005a707 flw fa4,0(a1) + 83f4768e: 0511 addi a0,a0,4 + 83f47690: 0591 addi a1,a1,4 + st->ana_win[i] = fv0[i]; + 83f47692: 6414 ld a3,8(s0) + 83f47694: 00279613 slli a2,a5,0x2 + for (i = 0; i < 2*st->frame_size; i++) { + 83f47698: 0785 addi a5,a5,1 + st->ana_win[i] = fv0[i]; + 83f4769a: 96b2 add a3,a3,a2 + 83f4769c: 00f6a027 fsw fa5,0(a3) + st->syn_win[i] = fv1[i]; + 83f476a0: 6818 ld a4,16(s0) + for (i = 0; i < 2*st->frame_size; i++) { + 83f476a2: 0007881b sext.w a6,a5 + st->syn_win[i] = fv1[i]; + 83f476a6: 9732 add a4,a4,a2 + 83f476a8: 00e72027 fsw fa4,0(a4) + for (i = 0; i < 2*st->frame_size; i++) { + 83f476ac: 09842703 lw a4,152(s0) + 83f476b0: 0017169b slliw a3,a4,0x1 + 83f476b4: fcd849e3 blt a6,a3,83f47686 + } + + for (i = 0; i < st->frame_size; i++) { + 83f476b8: 02e05663 blez a4,83f476e4 + 83f476bc: 4781 li a5,0 + st->x_old[i] = 0; + 83f476be: 6c14 ld a3,24(s0) + 83f476c0: 00179713 slli a4,a5,0x1 + st->y_old[i] = 0.0F; + 83f476c4: 00279613 slli a2,a5,0x2 + st->x_old[i] = 0; + 83f476c8: 96ba add a3,a3,a4 + 83f476ca: 00069023 sh zero,0(a3) + st->y_old[i] = 0.0F; + 83f476ce: 7018 ld a4,32(s0) + for (i = 0; i < st->frame_size; i++) { + 83f476d0: 0785 addi a5,a5,1 + 83f476d2: 0007869b sext.w a3,a5 + st->y_old[i] = 0.0F; + 83f476d6: 9732 add a4,a4,a2 + 83f476d8: 00072023 sw zero,0(a4) + for (i = 0; i < st->frame_size; i++) { + 83f476dc: 09842703 lw a4,152(s0) + 83f476e0: fce6cfe3 blt a3,a4,83f476be + } + + for (i = 0; i < 2*st->frame_size+1; i++) { + 83f476e4: 4781 li a5,0 + 83f476e6: 02074963 bltz a4,83f47718 + //Xk_prev[i].re = 0.0F; + //Xk_prev[i].im = 0.0F; + st->Xk_prev[i] = 0.0F; + 83f476ea: 7418 ld a4,40(s0) + 83f476ec: 00279693 slli a3,a5,0x2 + for (i = 0; i < 2*st->frame_size+1; i++) { + 83f476f0: 0785 addi a5,a5,1 + st->Xk_prev[i] = 0.0F; + 83f476f2: 9736 add a4,a4,a3 + 83f476f4: 00072023 sw zero,0(a4) + st->noise_mean[i] = 0.0F; + 83f476f8: 7818 ld a4,48(s0) + for (i = 0; i < 2*st->frame_size+1; i++) { + 83f476fa: 0007861b sext.w a2,a5 + st->noise_mean[i] = 0.0F; + 83f476fe: 9736 add a4,a4,a3 + 83f47700: 00072023 sw zero,0(a4) + st->noise_mu2[i] = 0.0F; + 83f47704: 7c18 ld a4,56(s0) + 83f47706: 9736 add a4,a4,a3 + 83f47708: 00072023 sw zero,0(a4) + for (i = 0; i < 2*st->frame_size+1; i++) { + 83f4770c: 09842703 lw a4,152(s0) + 83f47710: 0017171b slliw a4,a4,0x1 + 83f47714: fcc75be3 bge a4,a2,83f476ea + 83f47718: 4781 li a5,0 + } + + for (i = 0; i < 15; i++) { + 83f4771a: 03c00693 li a3,60 + st->amp_inst_band[i] = 0.0F; + 83f4771e: 6038 ld a4,64(s0) + 83f47720: 973e add a4,a4,a5 + 83f47722: 00072023 sw zero,0(a4) + for (i = 0; i < 15; i++) { + 83f47726: 0791 addi a5,a5,4 + 83f47728: fed79be3 bne a5,a3,83f4771e + 83f4772c: 4781 li a5,0 + } + + for (i = 0; i < 5; i++) { + 83f4772e: 46d1 li a3,20 + st->noisy_st_trough[i] = 0.0F; + 83f47730: 6438 ld a4,72(s0) + 83f47732: 973e add a4,a4,a5 + 83f47734: 00072023 sw zero,0(a4) + st->noisy_st_peak[i] = 0.0F; + 83f47738: 6838 ld a4,80(s0) + 83f4773a: 973e add a4,a4,a5 + 83f4773c: 00072023 sw zero,0(a4) + for (i = 0; i < 5; i++) { + 83f47740: 0791 addi a5,a5,4 + 83f47742: fed797e3 bne a5,a3,83f47730 + } + + for (i = 0; i < 3; i++) { + st->amp_inst_sum_hist[i] = 0.0F; + 83f47746: 6c38 ld a4,88(s0) + st->vad_slope = 0.0F; + st->vad_dr_cnt = 0.0F; + st->vad_dr = 0.0F; + st->vad_mmse = 0.0F; + st->vad_mmse_cnt = 0.0F; + if (fs == 16000) + 83f47748: 0000b797 auipc a5,0xb + 83f4774c: b0c7a787 flw fa5,-1268(a5) # 83f52254 <__func__.1+0x5c> + 83f47750: a0f427d3 feq.s a5,fs0,fa5 + st->amp_inst_sum_hist[i] = 0.0F; + 83f47754: 00072023 sw zero,0(a4) + 83f47758: 6c38 ld a4,88(s0) + 83f4775a: 00072223 sw zero,4(a4) + 83f4775e: 6c38 ld a4,88(s0) + 83f47760: 00072423 sw zero,8(a4) + st->eta = 0.15F; + 83f47764: 0000b717 auipc a4,0xb + 83f47768: c3c73703 ld a4,-964(a4) # 83f523a0 <__func__.1+0x1a8> + st->vad_slope_cnt = 0.0F; + 83f4776c: 06043423 sd zero,104(s0) + st->vad_dr_cnt = 0.0F; + 83f47770: 06043823 sd zero,112(s0) + st->vad_mmse = 0.0F; + 83f47774: 06043c23 sd zero,120(s0) + st->eta = 0.15F; + 83f47778: e058 sd a4,128(s0) + if (fs == 16000) + 83f4777a: c38d beqz a5,83f4779c + st->vad_mmse_cnt_para = 4; /* last at least 40ms, once the mmse vad goes up, keep the circumstance a period of time to get better speech quality */ + 83f4777c: 0000b797 auipc a5,0xb + 83f47780: c347a787 flw fa5,-972(a5) # 83f523b0 <__func__.1+0x1b8> + 83f47784: 08f42827 fsw fa5,144(s0) + else if (fs == 8000) + st->vad_mmse_cnt_para = 2; /* last at least 40ms, once the mmse vad goes up, keep the circumstance a period of time to get better speech quality */ + + return st; + +} + 83f47788: 70e2 ld ra,56(sp) + 83f4778a: 8522 mv a0,s0 + 83f4778c: 7442 ld s0,48(sp) + 83f4778e: 74a2 ld s1,40(sp) + 83f47790: 7902 ld s2,32(sp) + 83f47792: 2462 fld fs0,24(sp) + 83f47794: 24c2 fld fs1,16(sp) + 83f47796: 2922 fld fs2,8(sp) + 83f47798: 6121 addi sp,sp,64 + 83f4779a: 8082 ret + else if (fs == 8000) + 83f4779c: 0000b797 auipc a5,0xb + 83f477a0: c187a787 flw fa5,-1000(a5) # 83f523b4 <__func__.1+0x1bc> + 83f477a4: a0f427d3 feq.s a5,fs0,fa5 + 83f477a8: d3e5 beqz a5,83f47788 + st->vad_mmse_cnt_para = 2; /* last at least 40ms, once the mmse vad goes up, keep the circumstance a period of time to get better speech quality */ + 83f477aa: 0000b797 auipc a5,0xb + 83f477ae: ae27a787 flw fa5,-1310(a5) # 83f5228c <__func__.1+0x94> + 83f477b2: 08f42827 fsw fa5,144(s0) + return st; + 83f477b6: bfc9 j 83f47788 + +0000000083f477b8 : + +EXPORT void NR_free(NRState *st) +{ + 83f477b8: 1141 addi sp,sp,-16 + 83f477ba: e406 sd ra,8(sp) + 83f477bc: e022 sd s0,0(sp) + 83f477be: 842a mv s0,a0 + speech_fft_free(st->nr_fft_table); + 83f477c0: 6108 ld a0,0(a0) + 83f477c2: 0c3010ef jal ra,83f49084 + vPortFree(ptr); + 83f477c6: 6408 ld a0,8(s0) + 83f477c8: 723060ef jal ra,83f4e6ea + 83f477cc: 6808 ld a0,16(s0) + 83f477ce: 71d060ef jal ra,83f4e6ea + 83f477d2: 6c08 ld a0,24(s0) + 83f477d4: 717060ef jal ra,83f4e6ea + 83f477d8: 7008 ld a0,32(s0) + 83f477da: 711060ef jal ra,83f4e6ea + 83f477de: 7408 ld a0,40(s0) + 83f477e0: 70b060ef jal ra,83f4e6ea + 83f477e4: 7808 ld a0,48(s0) + 83f477e6: 705060ef jal ra,83f4e6ea + 83f477ea: 7c08 ld a0,56(s0) + 83f477ec: 6ff060ef jal ra,83f4e6ea + 83f477f0: 6028 ld a0,64(s0) + 83f477f2: 6f9060ef jal ra,83f4e6ea + 83f477f6: 6428 ld a0,72(s0) + 83f477f8: 6f3060ef jal ra,83f4e6ea + 83f477fc: 6828 ld a0,80(s0) + 83f477fe: 6ed060ef jal ra,83f4e6ea + 83f47802: 6c28 ld a0,88(s0) + 83f47804: 6e7060ef jal ra,83f4e6ea + 83f47808: 7028 ld a0,96(s0) + 83f4780a: 6e1060ef jal ra,83f4e6ea + 83f4780e: 8522 mv a0,s0 + mem_free(st->amp_inst_sum_hist); + mem_free(st->float_x); + + mem_free(st); + +} + 83f47810: 6402 ld s0,0(sp) + 83f47812: 60a2 ld ra,8(sp) + 83f47814: 0141 addi sp,sp,16 + 83f47816: 6d50606f j 83f4e6ea + +0000000083f4781a : + unsigned short tmp; + + /* NLP AES Parameters */ + para_obj = para; + + tmp = MIN(MAX(para_obj->para_aes_std_thrd, 0), 39); /* the threshold level for residual echo */ + 83f4781a: 00c55803 lhu a6,12(a0) + 83f4781e: 02700713 li a4,39 + 83f47822: 87c2 mv a5,a6 + 83f47824: 01077463 bgeu a4,a6,83f4782c + 83f47828: 02700793 li a5,39 + *std_thrd = 0.6f + tmp * 0.01f; /* [0.6, 0.99], each step 0.01 */ + 83f4782c: d007f7d3 fcvt.s.w fa5,a5 + 83f47830: 0000b797 auipc a5,0xb + 83f47834: b887a687 flw fa3,-1144(a5) # 83f523b8 <__func__.1+0x1c0> + 83f47838: 0000b797 auipc a5,0xb + 83f4783c: a807a707 flw fa4,-1408(a5) # 83f522b8 <__func__.1+0xc0> + 83f47840: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + + tmp = MIN(MAX(para_obj->para_aes_supp_coeff, 0), 100); /* the suppression level for residual echo */ + 83f47844: 06400713 li a4,100 + *std_thrd = 0.6f + tmp * 0.01f; /* [0.6, 0.99], each step 0.01 */ + 83f47848: 00f5a027 fsw fa5,0(a1) + tmp = MIN(MAX(para_obj->para_aes_supp_coeff, 0), 100); /* the suppression level for residual echo */ + 83f4784c: 00e55583 lhu a1,14(a0) + 83f47850: 87ae mv a5,a1 + 83f47852: 00b77463 bgeu a4,a1,83f4785a + 83f47856: 06400793 li a5,100 + *aes_supp_coef1 = 1.0f + tmp * 0.125f; /* [1.0, 13.5], each step 0.125 */ + 83f4785a: d007f7d3 fcvt.s.w fa5,a5 + 83f4785e: 0000b797 auipc a5,0xb + 83f47862: 9f27a687 flw fa3,-1550(a5) # 83f52250 <__func__.1+0x58> + 83f47866: 0000b797 auipc a5,0xb + 83f4786a: ada7a707 flw fa4,-1318(a5) # 83f52340 <__func__.1+0x148> + 83f4786e: 68e7f743 fmadd.s fa4,fa5,fa4,fa3 + *aes_supp_coef2 = 2.0f + tmp * 0.25f; /* [2.0, 27.0], each step 0.25 */ + 83f47872: 0000b797 auipc a5,0xb + 83f47876: a6e7a607 flw fa2,-1426(a5) # 83f522e0 <__func__.1+0xe8> + 83f4787a: 0000b797 auipc a5,0xb + 83f4787e: a127a687 flw fa3,-1518(a5) # 83f5228c <__func__.1+0x94> + 83f47882: 68c7f7c3 fmadd.s fa5,fa5,fa2,fa3 + *aes_supp_coef1 = 1.0f + tmp * 0.125f; /* [1.0, 13.5], each step 0.125 */ + 83f47886: 00e62027 fsw fa4,0(a2) + *aes_supp_coef2 = 2.0f + tmp * 0.25f; /* [2.0, 27.0], each step 0.25 */ + 83f4788a: 00f6a027 fsw fa5,0(a3) + +} + 83f4788e: 8082 ret + +0000000083f47890 : + +EXPORT NonLinearEchoState *NLP_AES_init(int frame_size, float sampling_rate, float std_thrd, float aes_supp_coef1, float aes_supp_coef2) +{ + 83f47890: 711d addi sp,sp,-96 + 83f47892: e0ca sd s2,64(sp) + 83f47894: 892a mv s2,a0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47896: 0e800513 li a0,232 + 83f4789a: ec86 sd ra,88(sp) + 83f4789c: e8a2 sd s0,80(sp) + 83f4789e: e4a6 sd s1,72(sp) + 83f478a0: fc4e sd s3,56(sp) + 83f478a2: f852 sd s4,48(sp) + 83f478a4: f456 sd s5,40(sp) + 83f478a6: ac22 fsd fs0,24(sp) + 83f478a8: a826 fsd fs1,16(sp) + 83f478aa: 20a50453 fmv.s fs0,fa0 + 83f478ae: 20d684d3 fmv.s fs1,fa3 + 83f478b2: a44a fsd fs2,8(sp) + 83f478b4: a04e fsd fs3,0(sp) + 83f478b6: 20c60953 fmv.s fs2,fa2 + 83f478ba: 20b589d3 fmv.s fs3,fa1 + 83f478be: 4c7060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f478c2: 0e800613 li a2,232 + 83f478c6: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f478c8: 842a mv s0,a0 + memset(ptr, 0, size); + 83f478ca: 6b2040ef jal ra,83f4bf7c + st->aes_supp_coef2 = aes_supp_coef2; + st->frame_size = frame_size; + st->ps_size = st->frame_size; + N = st->ps_size; /* power spectrum size */ + N3 = 2*N - st->frame_size; + st->sampling_rate = (int)sampling_rate; + 83f478ce: c00417d3 fcvt.w.s a5,fs0,rtz + + st->echo_state = NULL; + st->nbands = 2; + M = st->nbands; + st->bank = filterbank_create(M, sampling_rate, N, 1); + 83f478d2: 20840553 fmv.s fa0,fs0 + 83f478d6: 4605 li a2,1 + st->sampling_rate = (int)sampling_rate; + 83f478d8: c41c sw a5,8(s0) + st->nbands = 2; + 83f478da: 4789 li a5,2 + 83f478dc: 0af42823 sw a5,176(s0) + st->bank = filterbank_create(M, sampling_rate, N, 1); + 83f478e0: 85ca mv a1,s2 + st->fdstd_thrd = std_thrd; + 83f478e2: 0d342a27 fsw fs3,212(s0) + st->aes_supp_coef1 = aes_supp_coef1; + 83f478e6: 0d242e27 fsw fs2,220(s0) + st->aes_supp_coef2 = aes_supp_coef2; + 83f478ea: 0e942027 fsw fs1,224(s0) + st->frame_size = frame_size; + 83f478ee: 01242023 sw s2,0(s0) + st->ps_size = st->frame_size; + 83f478f2: 01242223 sw s2,4(s0) + st->echo_state = NULL; + 83f478f6: 00043c23 sd zero,24(s0) + st->bank = filterbank_create(M, sampling_rate, N, 1); + 83f478fa: 4509 li a0,2 + 83f478fc: 669000ef jal ra,83f48764 + st->frame = (float*)mem_alloc(2*N*sizeof(float)); + 83f47900: 0039149b slliw s1,s2,0x3 + st->bank = filterbank_create(M, sampling_rate, N, 1); + 83f47904: e808 sd a0,16(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f47906: 8526 mv a0,s1 + 83f47908: 47d060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4790c: 8626 mv a2,s1 + 83f4790e: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47910: 8a2a mv s4,a0 + memset(ptr, 0, size); + 83f47912: 66a040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47916: 8526 mv a0,s1 + st->frame = (float*)mem_alloc(2*N*sizeof(float)); + 83f47918: 03443023 sd s4,32(s0) + 83f4791c: 469060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47920: 8626 mv a2,s1 + 83f47922: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47924: 8a2a mv s4,a0 + memset(ptr, 0, size); + 83f47926: 656040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4792a: 8526 mv a0,s1 + st->window = (float*)mem_alloc(2*N*sizeof(float)); + 83f4792c: 05443423 sd s4,72(s0) + 83f47930: 455060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47934: 8626 mv a2,s1 + 83f47936: 4581 li a1,0 + st->ft = (float*)mem_alloc(2*N*sizeof(float)); + st->ps = (float*)mem_alloc((N+M)*sizeof(float)); + 83f47938: 00290a1b addiw s4,s2,2 + uintptr_t *ptr = pvPortMalloc(size); + 83f4793c: 002a149b slliw s1,s4,0x2 + 83f47940: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f47942: 63a040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47946: 8526 mv a0,s1 + st->ft = (float*)mem_alloc(2*N*sizeof(float)); + 83f47948: 03543423 sd s5,40(s0) + 83f4794c: 439060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47950: 8626 mv a2,s1 + 83f47952: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47954: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f47956: 626040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4795a: 8526 mv a0,s1 + st->ps = (float*)mem_alloc((N+M)*sizeof(float)); + 83f4795c: 03543823 sd s5,48(s0) + 83f47960: 425060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47964: 8626 mv a2,s1 + 83f47966: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47968: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f4796a: 612040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4796e: 8526 mv a0,s1 + st->echo_noise = (float*)mem_alloc((N+M)*sizeof(float)); + 83f47970: 07543c23 sd s5,120(s0) + 83f47974: 411060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47978: 8626 mv a2,s1 + 83f4797a: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4797c: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f4797e: 5fe040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47982: 8526 mv a0,s1 + st->residual_echo = (float*)mem_alloc((N+M)*sizeof(float)); + 83f47984: 09543023 sd s5,128(s0) + 83f47988: 3fd060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4798c: 8626 mv a2,s1 + 83f4798e: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47990: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f47992: 5ea040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47996: 8526 mv a0,s1 + st->old_ps = (float*)mem_alloc((N+M)*sizeof(float)); + 83f47998: 05543823 sd s5,80(s0) + 83f4799c: 3e9060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f479a0: 8626 mv a2,s1 + 83f479a2: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f479a4: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f479a6: 5d6040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f479aa: 8526 mv a0,s1 + st->prior = (float*)mem_alloc((N+M)*sizeof(float)); + 83f479ac: 07543023 sd s5,96(s0) + 83f479b0: 3d5060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f479b4: 8626 mv a2,s1 + 83f479b6: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f479b8: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f479ba: 5c2040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f479be: 8526 mv a0,s1 + st->post = (float*)mem_alloc((N+M)*sizeof(float)); + 83f479c0: 07543423 sd s5,104(s0) + 83f479c4: 3c1060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f479c8: 8626 mv a2,s1 + 83f479ca: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f479cc: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f479ce: 5ae040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f479d2: 8526 mv a0,s1 + st->gain = (float*)mem_alloc((N+M)*sizeof(float)); + 83f479d4: 05543c23 sd s5,88(s0) + 83f479d8: 3ad060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f479dc: 8626 mv a2,s1 + 83f479de: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f479e0: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f479e2: 59a040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f479e6: 8526 mv a0,s1 + st->gain2 = (float*)mem_alloc((N+M)*sizeof(float)); + 83f479e8: 03543c23 sd s5,56(s0) + 83f479ec: 399060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f479f0: 8626 mv a2,s1 + 83f479f2: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f479f4: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f479f6: 586040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f479fa: 8526 mv a0,s1 + st->gain_floor = (float*)mem_alloc((N+M)*sizeof(float)); + 83f479fc: 05543023 sd s5,64(s0) + 83f47a00: 385060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47a04: 8626 mv a2,s1 + 83f47a06: 4581 li a1,0 + st->zeta = (float*)mem_alloc((N+M)*sizeof(float)); + + st->inbuf = (float*)mem_alloc(N3*sizeof(float)); + 83f47a08: 0029149b slliw s1,s2,0x2 + uintptr_t *ptr = pvPortMalloc(size); + 83f47a0c: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f47a0e: 56e040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47a12: 8526 mv a0,s1 + st->zeta = (float*)mem_alloc((N+M)*sizeof(float)); + 83f47a14: 07543823 sd s5,112(s0) + 83f47a18: 36d060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47a1c: 8626 mv a2,s1 + 83f47a1e: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47a20: 8aaa mv s5,a0 + memset(ptr, 0, size); + 83f47a22: 55a040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47a26: 8526 mv a0,s1 + st->inbuf = (float*)mem_alloc(N3*sizeof(float)); + 83f47a28: 09543823 sd s5,144(s0) + 83f47a2c: 359060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47a30: 4581 li a1,0 + 83f47a32: 8626 mv a2,s1 + uintptr_t *ptr = pvPortMalloc(size); + 83f47a34: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47a36: 546040ef jal ra,83f4bf7c + st->outbuf = (float*)mem_alloc(N3*sizeof(float)); + + aes_conj_window(st->window, 2*N3); + 83f47a3a: 6428 ld a0,72(s0) + N3 = 2*N - st->frame_size; + 83f47a3c: 0019199b slliw s3,s2,0x1 + st->outbuf = (float*)mem_alloc(N3*sizeof(float)); + 83f47a40: ec44 sd s1,152(s0) + aes_conj_window(st->window, 2*N3); + 83f47a42: 85ce mv a1,s3 + st->inbuf = (float*)mem_alloc(N3*sizeof(float)); + 83f47a44: 0009049b sext.w s1,s2 + aes_conj_window(st->window, 2*N3); + 83f47a48: 028010ef jal ra,83f48a70 + + for (i=0;i + 83f47a50: 0019069b addiw a3,s2,1 + 83f47a54: 02069793 slli a5,a3,0x20 + 83f47a58: 01e7d693 srli a3,a5,0x1e + 83f47a5c: 0691 addi a3,a3,4 + 83f47a5e: 4781 li a5,0 + st->old_ps[i] = FLOAT_ONE; + 83f47a60: 0000a717 auipc a4,0xa + 83f47a64: 7f072787 flw fa5,2032(a4) # 83f52250 <__func__.1+0x58> + 83f47a68: 6838 ld a4,80(s0) + 83f47a6a: 973e add a4,a4,a5 + 83f47a6c: 00f72027 fsw fa5,0(a4) + st->gain[i] = FLOAT_ONE; + 83f47a70: 6c38 ld a4,88(s0) + 83f47a72: 973e add a4,a4,a5 + 83f47a74: 00f72027 fsw fa5,0(a4) + st->post[i] = FLOAT_ONE; + 83f47a78: 7438 ld a4,104(s0) + 83f47a7a: 973e add a4,a4,a5 + 83f47a7c: 00f72027 fsw fa5,0(a4) + st->prior[i] = FLOAT_ONE; + 83f47a80: 7038 ld a4,96(s0) + 83f47a82: 973e add a4,a4,a5 + 83f47a84: 00f72027 fsw fa5,0(a4) + st->echo_noise[i] = FLOAT_ZERO; + 83f47a88: 7c38 ld a4,120(s0) + 83f47a8a: 973e add a4,a4,a5 + 83f47a8c: 00072023 sw zero,0(a4) + st->zeta[0] = FLOAT_ZERO; + 83f47a90: 7838 ld a4,112(s0) + for (i=0;izeta[0] = FLOAT_ZERO; + 83f47a94: 00072023 sw zero,0(a4) + for (i=0;i + } + + st->echo_sup = -40; + 83f47a9c: 57e5 li a5,-7 + 83f47a9e: 1786 slli a5,a5,0x21 + 83f47aa0: fd878793 addi a5,a5,-40 + 83f47aa4: e45c sd a5,136(s0) + st->echo_sup_active = -15; + + for (i=0;i + st->inbuf[i] = 0; + 83f47ab0: 6858 ld a4,144(s0) + 83f47ab2: 973e add a4,a4,a5 + 83f47ab4: 00072023 sw zero,0(a4) + st->outbuf[i] = 0; + 83f47ab8: 6c58 ld a4,152(s0) + 83f47aba: 973e add a4,a4,a5 + 83f47abc: 00072023 sw zero,0(a4) + for (i=0;i + } + + st->fft_lookup = speech_fft_init(2*N); + 83f47ac6: 854e mv a0,s3 + 83f47ac8: 58e010ef jal ra,83f49056 + + st->nb_adapt = 0; + st->min_count = 0; + + /* STD/DTD */ + st->aes_std_in = (short*)mem_alloc(frame_size*sizeof(short)); + 83f47acc: 0014949b slliw s1,s1,0x1 + st->fft_lookup = speech_fft_init(2*N); + 83f47ad0: f448 sd a0,168(s0) + st->nb_adapt = 0; + 83f47ad2: 0a043023 sd zero,160(s0) + uintptr_t *ptr = pvPortMalloc(size); + 83f47ad6: 8526 mv a0,s1 + 83f47ad8: 2ad060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47adc: 8626 mv a2,s1 + 83f47ade: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47ae0: 892a mv s2,a0 + memset(ptr, 0, size); + 83f47ae2: 49a040ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f47ae6: 8526 mv a0,s1 + st->aes_std_in = (short*)mem_alloc(frame_size*sizeof(short)); + 83f47ae8: 0d243023 sd s2,192(s0) + 83f47aec: 299060ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f47af0: 8626 mv a2,s1 + 83f47af2: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f47af4: 84aa mv s1,a0 + memset(ptr, 0, size); + 83f47af6: 486040ef jal ra,83f4bf7c + st->mic_raw_ola = (short*)mem_alloc(frame_size*sizeof(short)); + //st->fdstd_mic_in_sm = (float*)mem_alloc(frame_size*sizeof(float)); + //st->fdstd_linear_echo_sm = (float*)mem_alloc(frame_size*sizeof(float)); + + for (i=0;i < st->frame_size;i++) { + 83f47afa: 4018 lw a4,0(s0) + st->mic_raw_ola = (short*)mem_alloc(frame_size*sizeof(short)); + 83f47afc: e464 sd s1,200(s0) + for (i=0;i < st->frame_size;i++) { + 83f47afe: 4781 li a5,0 + 83f47b00: 00e04463 bgtz a4,83f47b08 + 83f47b04: a829 j 83f47b1e + st->mic_raw_ola[i] = 0; + 83f47b06: 6464 ld s1,200(s0) + 83f47b08: 00179513 slli a0,a5,0x1 + 83f47b0c: 94aa add s1,s1,a0 + 83f47b0e: 00049023 sh zero,0(s1) + for (i=0;i < st->frame_size;i++) { + 83f47b12: 4014 lw a3,0(s0) + 83f47b14: 0785 addi a5,a5,1 + 83f47b16: 0007871b sext.w a4,a5 + 83f47b1a: fed746e3 blt a4,a3,83f47b06 + //st->fdstd_mic_in_sm[i] = FLOAT_ZERO; + //st->fdstd_linear_echo_sm[i] = FLOAT_ZERO; + } + st->RER_smooth = FLOAT_ZERO; + 83f47b1e: 0a042a23 sw zero,180(s0) + st->RER_vad = 0; + 83f47b22: 0a043c23 sd zero,184(s0) + st->st_vad = 0; + st->fdstd_vad = 0; + 83f47b26: 0c042c23 sw zero,216(s0) + st->frame1_last_sample = 0; + 83f47b2a: 0e042223 sw zero,228(s0) + + return st; + +} + 83f47b2e: 60e6 ld ra,88(sp) + 83f47b30: 8522 mv a0,s0 + 83f47b32: 6446 ld s0,80(sp) + 83f47b34: 64a6 ld s1,72(sp) + 83f47b36: 6906 ld s2,64(sp) + 83f47b38: 79e2 ld s3,56(sp) + 83f47b3a: 7a42 ld s4,48(sp) + 83f47b3c: 7aa2 ld s5,40(sp) + 83f47b3e: 2462 fld fs0,24(sp) + 83f47b40: 24c2 fld fs1,16(sp) + 83f47b42: 2922 fld fs2,8(sp) + 83f47b44: 2982 fld fs3,0(sp) + 83f47b46: 6125 addi sp,sp,96 + 83f47b48: 8082 ret + +0000000083f47b4a : + +EXPORT void NLP_AES_free(NonLinearEchoState *st) +{ + 83f47b4a: 1141 addi sp,sp,-16 + 83f47b4c: e406 sd ra,8(sp) + 83f47b4e: e022 sd s0,0(sp) + 83f47b50: 842a mv s0,a0 + vPortFree(ptr); + 83f47b52: 7108 ld a0,32(a0) + 83f47b54: 397060ef jal ra,83f4e6ea + 83f47b58: 7408 ld a0,40(s0) + 83f47b5a: 391060ef jal ra,83f4e6ea + 83f47b5e: 7808 ld a0,48(s0) + 83f47b60: 38b060ef jal ra,83f4e6ea + 83f47b64: 7c08 ld a0,56(s0) + 83f47b66: 385060ef jal ra,83f4e6ea + 83f47b6a: 6028 ld a0,64(s0) + 83f47b6c: 37f060ef jal ra,83f4e6ea + 83f47b70: 6428 ld a0,72(s0) + 83f47b72: 379060ef jal ra,83f4e6ea + 83f47b76: 6828 ld a0,80(s0) + 83f47b78: 373060ef jal ra,83f4e6ea + 83f47b7c: 6c28 ld a0,88(s0) + 83f47b7e: 36d060ef jal ra,83f4e6ea + 83f47b82: 7028 ld a0,96(s0) + 83f47b84: 367060ef jal ra,83f4e6ea + 83f47b88: 7428 ld a0,104(s0) + 83f47b8a: 361060ef jal ra,83f4e6ea + 83f47b8e: 7c28 ld a0,120(s0) + 83f47b90: 35b060ef jal ra,83f4e6ea + 83f47b94: 6048 ld a0,128(s0) + 83f47b96: 355060ef jal ra,83f4e6ea + 83f47b9a: 7828 ld a0,112(s0) + 83f47b9c: 34f060ef jal ra,83f4e6ea + 83f47ba0: 6848 ld a0,144(s0) + 83f47ba2: 349060ef jal ra,83f4e6ea + 83f47ba6: 6c48 ld a0,152(s0) + 83f47ba8: 343060ef jal ra,83f4e6ea + mem_free(st->zeta); + + mem_free(st->inbuf); + mem_free(st->outbuf); + + speech_fft_free(st->fft_lookup); + 83f47bac: 7448 ld a0,168(s0) + 83f47bae: 4d6010ef jal ra,83f49084 + filterbank_free(st->bank); + 83f47bb2: 6808 ld a0,16(s0) + 83f47bb4: 5bd000ef jal ra,83f48970 + 83f47bb8: 6068 ld a0,192(s0) + 83f47bba: 331060ef jal ra,83f4e6ea + 83f47bbe: 6468 ld a0,200(s0) + 83f47bc0: 32b060ef jal ra,83f4e6ea + 83f47bc4: 8522 mv a0,s0 + //SSP_SAFE_FREE_BUF(mic_raw_std); + SSP_SAFE_FREE_BUF(tmp1); + SSP_SAFE_FREE_BUF(tmp2); +#endif + +} + 83f47bc6: 6402 ld s0,0(sp) + 83f47bc8: 60a2 ld ra,8(sp) + 83f47bca: 0141 addi sp,sp,16 + 83f47bcc: 31f0606f j 83f4e6ea + +0000000083f47bd0 : + +void std_residual_echo(NonLinearEchoState *st, float *residual_echo, int len, boolean_T speech_vad) +{ + 83f47bd0: 81010113 addi sp,sp,-2032 + 83f47bd4: 7e813023 sd s0,2016(sp) + 83f47bd8: 7c913c23 sd s1,2008(sp) + 83f47bdc: 7d313423 sd s3,1992(sp) + 83f47be0: 7e113423 sd ra,2024(sp) + 83f47be4: 7d213823 sd s2,2000(sp) + 83f47be8: 7d413023 sd s4,1984(sp) + 83f47bec: 7b513c23 sd s5,1976(sp) + 83f47bf0: 7b613823 sd s6,1968(sp) + 83f47bf4: 7b713423 sd s7,1960(sp) + 83f47bf8: 7b813023 sd s8,1952(sp) + 83f47bfc: 79913c23 sd s9,1944(sp) + 83f47c00: 78813427 fsd fs0,1928(sp) + 83f47c04: 78913027 fsd fs1,1920(sp) + int i; + float leak2; + int N; + //float rer_coef; + + N = st->echo_state->window_size; + 83f47c08: 6d18 ld a4,24(a0) +{ + 83f47c0a: d7010113 addi sp,sp,-656 + 83f47c0e: 842a mv s0,a0 + N = st->echo_state->window_size; + 83f47c10: 00472903 lw s2,4(a4) +{ + 83f47c14: 84ae mv s1,a1 + 83f47c16: 89b6 mv s3,a3 + len = len; + /* Apply hanning window (should pre-compute it) */ + for (i=0;i + 83f47c1c: fff9059b addiw a1,s2,-1 + 83f47c20: 02059793 slli a5,a1,0x20 + 83f47c24: 01e7d593 srli a1,a5,0x1e + 83f47c28: 4781 li a5,0 + 83f47c2a: a011 j 83f47c2e + 83f47c2c: 0791 addi a5,a5,4 + st->echo_state->y[i] = st->echo_state->window[i] * st->echo_state->last_y[i]; + 83f47c2e: 7770 ld a2,232(a4) + 83f47c30: 7334 ld a3,96(a4) + 83f47c32: 6f38 ld a4,88(a4) + 83f47c34: 963e add a2,a2,a5 + 83f47c36: 96be add a3,a3,a5 + 83f47c38: 00062787 flw fa5,0(a2) + 83f47c3c: 0006a707 flw fa4,0(a3) + 83f47c40: 973e add a4,a4,a5 + 83f47c42: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f47c46: 00f72027 fsw fa5,0(a4) + 83f47c4a: 6c18 ld a4,24(s0) + for (i=0;i + + /* Compute power spectrum of the linear echo in each bin */ + speech_fft(st->echo_state->fft_table, st->echo_state->y, st->echo_state->Y); + 83f47c50: 7730 ld a2,104(a4) + 83f47c52: 6f2c ld a1,88(a4) + 83f47c54: 7f68 ld a0,248(a4) + 83f47c56: 446010ef jal ra,83f4909c + bin_power_spectrum(st->echo_state->Y, residual_echo, N); /* powe-based linear echo */ + 83f47c5a: 6c1c ld a5,24(s0) + 83f47c5c: 864a mv a2,s2 + 83f47c5e: 85a6 mv a1,s1 + 83f47c60: 77a8 ld a0,104(a5) + 83f47c62: eaefe0ef jal ra,83f46310 + + //rer_coef = 0.75f; + //st->RER_smooth = rer_coef*st->RER_smooth + (FLOAT_ONE-rer_coef)*st->echo_state->RER; /* not better */ + //if (st->RER_smooth*32767 > 2000) + if (st->echo_state->RER*32767 > 3000) + 83f47c66: 6c08 ld a0,24(s0) + 83f47c68: 0000a797 auipc a5,0xa + 83f47c6c: 6047a687 flw fa3,1540(a5) # 83f5226c <__func__.1+0x74> + 83f47c70: 0000a797 auipc a5,0xa + 83f47c74: 74c7a707 flw fa4,1868(a5) # 83f523bc <__func__.1+0x1c4> + 83f47c78: 14452787 flw fa5,324(a0) + float tmp1[320], tmp2[320]; +#endif + float fdstd_tau, fdstd_tau_sum; + int start_f, end_f; + + for (i=0;i < st->frame_size;i++) { + 83f47c7c: 401c lw a5,0(s0) + if (st->echo_state->RER*32767 > 3000) + 83f47c7e: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f47c82: a0f71753 flt.s a4,fa4,fa5 + 83f47c86: 0ae42c23 sw a4,184(s0) + for (i=0;i < st->frame_size;i++) { + 83f47c8a: 06f05363 blez a5,83f47cf0 + 83f47c8e: 6605 lui a2,0x1 + 83f47c90: a0060713 addi a4,a2,-1536 # a00 <_EL1_STACK_SIZE+0x200> + 83f47c94: 0808 addi a0,sp,16 + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47c96: a0060613 addi a2,a2,-1536 + 83f47c9a: 76fd lui a3,0xfffff + 83f47c9c: 962a add a2,a2,a0 + 83f47c9e: 60068593 addi a1,a3,1536 # fffffffffffff600 <_end+0xffffffff7bfff8c0> + 83f47ca2: 972a add a4,a4,a0 + 83f47ca4: 96b2 add a3,a3,a2 + 83f47ca6: 95ba add a1,a1,a4 + 83f47ca8: e436 sd a3,8(sp) + for (i=0;i < st->frame_size;i++) { + 83f47caa: 4701 li a4,0 + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + 83f47cac: 6470 ld a2,200(s0) + 83f47cae: 00171513 slli a0,a4,0x1 + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cb2: 6074 ld a3,192(s0) + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + 83f47cb4: 962a add a2,a2,a0 + 83f47cb6: 00061803 lh a6,0(a2) + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cba: 96aa add a3,a3,a0 + 83f47cbc: 6522 ld a0,8(sp) + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + 83f47cbe: d00877d3 fcvt.s.w fa5,a6 + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cc2: 9fb9 addw a5,a5,a4 + 83f47cc4: 078a slli a5,a5,0x2 + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + 83f47cc6: 00f5a027 fsw fa5,0(a1) + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cca: 00069803 lh a6,0(a3) + 83f47cce: 97aa add a5,a5,a0 + for (i=0;i < st->frame_size;i++) { + 83f47cd0: 0705 addi a4,a4,1 + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cd2: d00877d3 fcvt.s.w fa5,a6 + for (i=0;i < st->frame_size;i++) { + 83f47cd6: 0007051b sext.w a0,a4 + 83f47cda: 0591 addi a1,a1,4 + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + 83f47cdc: 60f7a027 fsw fa5,1536(a5) + st->mic_raw_ola[i] = st->aes_std_in[i]; /* update input overlap data */ + 83f47ce0: 00069783 lh a5,0(a3) + 83f47ce4: 00f61023 sh a5,0(a2) + for (i=0;i < st->frame_size;i++) { + 83f47ce8: 401c lw a5,0(s0) + 83f47cea: fcf541e3 blt a0,a5,83f47cac + } + + for (i=0;iecho_state->window[i] * tmp1[i]; + speech_fft(st->echo_state->fft_table, tmp1, tmp2); + 83f47cee: 6c08 ld a0,24(s0) + for (i=0;i + 83f47cf4: 6785 lui a5,0x1 + 83f47cf6: 0818 addi a4,sp,16 + 83f47cf8: 76fd lui a3,0xfffff + 83f47cfa: a0078793 addi a5,a5,-1536 # a00 <_EL1_STACK_SIZE+0x200> + 83f47cfe: 97ba add a5,a5,a4 + 83f47d00: fff9059b addiw a1,s2,-1 + 83f47d04: 60068693 addi a3,a3,1536 # fffffffffffff600 <_end+0xffffffff7bfff8c0> + 83f47d08: 96be add a3,a3,a5 + 83f47d0a: 02059793 slli a5,a1,0x20 + 83f47d0e: 01e7d593 srli a1,a5,0x1e + 83f47d12: 00468713 addi a4,a3,4 + 83f47d16: 95ba add a1,a1,a4 + 83f47d18: 4601 li a2,0 + 83f47d1a: a011 j 83f47d1e + 83f47d1c: 0711 addi a4,a4,4 + tmp1[i] = st->echo_state->window[i] * tmp1[i]; + 83f47d1e: 757c ld a5,232(a0) + 83f47d20: 0006a787 flw fa5,0(a3) + 83f47d24: 97b2 add a5,a5,a2 + 83f47d26: 0007a707 flw fa4,0(a5) + for (i=0;iecho_state->window[i] * tmp1[i]; + 83f47d2c: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f47d30: 00f6a027 fsw fa5,0(a3) + for (i=0;i + speech_fft(st->echo_state->fft_table, tmp1, tmp2); + 83f47d3a: 6785 lui a5,0x1 + 83f47d3c: 0818 addi a4,sp,16 + 83f47d3e: 7a7d lui s4,0xfffff + 83f47d40: a0078793 addi a5,a5,-1536 # a00 <_EL1_STACK_SIZE+0x200> + 83f47d44: 97ba add a5,a5,a4 + 83f47d46: 7d68 ld a0,248(a0) + 83f47d48: 600a0a13 addi s4,s4,1536 # fffffffffffff600 <_end+0xffffffff7bfff8c0> + 83f47d4c: 9a3e add s4,s4,a5 + 83f47d4e: 51010613 addi a2,sp,1296 + 83f47d52: 85d2 mv a1,s4 + 83f47d54: 348010ef jal ra,83f4909c + bin_power_spectrum(tmp2, tmp1, N); + 83f47d58: 864a mv a2,s2 + 83f47d5a: 85d2 mv a1,s4 + 83f47d5c: 51010513 addi a0,sp,1296 + 83f47d60: db0fe0ef jal ra,83f46310 + + fdstd_tau_sum = FLOAT_ZERO; + start_f = (int)(ceil(100 * N / st->sampling_rate)); + 83f47d64: 06400793 li a5,100 + 83f47d68: 032787bb mulw a5,a5,s2 + 83f47d6c: 4418 lw a4,8(s0) + fdstd_tau_sum = FLOAT_ZERO; + 83f47d6e: f0000453 fmv.w.x fs0,zero + start_f = (int)(ceil(100 * N / st->sampling_rate)); + 83f47d72: 02e7c7bb divw a5,a5,a4 + 83f47d76: d2078553 fcvt.d.w fa0,a5 + 83f47d7a: a21f80ef jal ra,83f4079a + end_f = (int)(floor(3800 * N / st->sampling_rate)); + 83f47d7e: 6785 lui a5,0x1 + 83f47d80: ed87879b addiw a5,a5,-296 + 83f47d84: 02f9093b mulw s2,s2,a5 + 83f47d88: 441c lw a5,8(s0) + start_f = (int)(ceil(100 * N / st->sampling_rate)); + 83f47d8a: c2051bd3 fcvt.w.d s7,fa0,rtz + 83f47d8e: 000b8c1b sext.w s8,s7 + end_f = (int)(floor(3800 * N / st->sampling_rate)); + 83f47d92: 02f9493b divw s2,s2,a5 + 83f47d96: d2090553 fcvt.d.w fa0,s2 + 83f47d9a: bc9f80ef jal ra,83f40962 + 83f47d9e: c2051b53 fcvt.w.d s6,fa0,rtz + 83f47da2: 000b0a9b sext.w s5,s6 + for (i = start_f; i <= end_f; i++) { + 83f47da6: 058ac063 blt s5,s8,83f47de6 + 83f47daa: 002c1913 slli s2,s8,0x2 + 83f47dae: 01248cb3 add s9,s1,s2 + 83f47db2: 0000a797 auipc a5,0xa + 83f47db6: 60e7a487 flw fs1,1550(a5) # 83f523c0 <__func__.1+0x1c8> + 83f47dba: 9952 add s2,s2,s4 + fdstd_tau = (float)sqrt(residual_echo[i]/(tmp1[i] + 0.000000000465f)); /* add small DC to avoid zero denominator */ + 83f47dbc: 00092787 flw fa5,0(s2) + 83f47dc0: 000ca507 flw fa0,0(s9) + for (i = start_f; i <= end_f; i++) { + 83f47dc4: 2c05 addiw s8,s8,1 + fdstd_tau = (float)sqrt(residual_echo[i]/(tmp1[i] + 0.000000000465f)); /* add small DC to avoid zero denominator */ + 83f47dc6: 0097f7d3 fadd.s fa5,fa5,fs1 + for (i = start_f; i <= end_f; i++) { + 83f47dca: 0c91 addi s9,s9,4 + 83f47dcc: 0911 addi s2,s2,4 + fdstd_tau = (float)sqrt(residual_echo[i]/(tmp1[i] + 0.000000000465f)); /* add small DC to avoid zero denominator */ + 83f47dce: 18f57553 fdiv.s fa0,fa0,fa5 + 83f47dd2: 42050553 fcvt.d.s fa0,fa0 + 83f47dd6: 81cf90ef jal ra,83f40df2 + 83f47dda: 40157553 fcvt.s.d fa0,fa0 + fdstd_tau_sum += fdstd_tau; + 83f47dde: 00a47453 fadd.s fs0,fs0,fa0 + for (i = start_f; i <= end_f; i++) { + 83f47de2: fd8adde3 bge s5,s8,83f47dbc + } + + if (fdstd_tau_sum > (float)(end_f - start_f + 1)) /* fix abnormal situation */ + 83f47de6: 417b0b3b subw s6,s6,s7 + 83f47dea: 2b05 addiw s6,s6,1 + 83f47dec: d00b77d3 fcvt.s.w fa5,s6 + 83f47df0: a08797d3 flt.s a5,fa5,fs0 + 83f47df4: c399 beqz a5,83f47dfa + fdstd_tau_sum = (float)(end_f - start_f + 1); + 83f47df6: 20f78453 fmv.s fs0,fa5 + + st->fdstd_tau_mean = fdstd_tau_sum/(end_f - start_f + 1); /* frame-based */ + 83f47dfa: 18f47453 fdiv.s fs0,fs0,fa5 + if (st->fdstd_tau_mean > st->fdstd_thrd) + 83f47dfe: 0d442787 flw fa5,212(s0) + st->fdstd_vad = 1; + else + st->fdstd_vad = 0; + + if ((st->RER_vad) && (st->fdstd_vad)) + 83f47e02: 0b842783 lw a5,184(s0) + if (st->fdstd_tau_mean > st->fdstd_thrd) + 83f47e06: a0879753 flt.s a4,fa5,fs0 + st->fdstd_tau_mean = fdstd_tau_sum/(end_f - start_f + 1); /* frame-based */ + 83f47e0a: 0c842827 fsw fs0,208(s0) + if (st->fdstd_tau_mean > st->fdstd_thrd) + 83f47e0e: 0ce42c23 sw a4,216(s0) + if ((st->RER_vad) && (st->fdstd_vad)) + 83f47e12: cbd1 beqz a5,83f47ea6 + 83f47e14: c379 beqz a4,83f47eda + st->st_vad = 0; + + } + + if (st->st_vad) { + if (st->echo_state->leak_estimate > .5) /* the bigger the value, the more abrupt the signal */ + 83f47e16: 6c1c ld a5,24(s0) + st->st_vad = 1; + 83f47e18: 4705 li a4,1 + 83f47e1a: 0ae42e23 sw a4,188(s0) + if (st->echo_state->leak_estimate > .5) /* the bigger the value, the more abrupt the signal */ + 83f47e1e: 0307a707 flw fa4,48(a5) + 83f47e22: 0000a797 auipc a5,0xa + 83f47e26: 44e7a787 flw fa5,1102(a5) # 83f52270 <__func__.1+0x78> + 83f47e2a: a0e797d3 flt.s a5,fa5,fa4 + 83f47e2e: c3cd beqz a5,83f47ed0 + leak2 = st->aes_supp_coef1; + 83f47e30: 0dc42707 flw fa4,220(s0) + else + leak2 = 2.0f * st->echo_state->leak_estimate; + } + } + + for (i=0;i<=st->frame_size;i++) { + 83f47e34: 4018 lw a4,0(s0) + 83f47e36: 4781 li a5,0 + 83f47e38: 02074863 bltz a4,83f47e68 + if (st->st_vad) + residual_echo[i] = leak2 * residual_echo[i]; + 83f47e3c: 0004a787 flw fa5,0(s1) + if (st->st_vad) + 83f47e40: 0bc42703 lw a4,188(s0) + residual_echo[i] = leak2 * residual_echo[i]; + 83f47e44: 10f777d3 fmul.s fa5,fa4,fa5 + if (st->st_vad) + 83f47e48: eb09 bnez a4,83f47e5a + else + residual_echo[i] = (short)(leak2 * residual_echo[i]); + 83f47e4a: c0079753 fcvt.w.s a4,fa5,rtz + 83f47e4e: 0107171b slliw a4,a4,0x10 + 83f47e52: 4107571b sraiw a4,a4,0x10 + 83f47e56: d00777d3 fcvt.s.w fa5,a4 + 83f47e5a: 00f4a027 fsw fa5,0(s1) + for (i=0;i<=st->frame_size;i++) { + 83f47e5e: 4018 lw a4,0(s0) + 83f47e60: 2785 addiw a5,a5,1 + 83f47e62: 0491 addi s1,s1,4 + 83f47e64: fcf75ce3 bge a4,a5,83f47e3c + } + +} + 83f47e68: 29010113 addi sp,sp,656 + 83f47e6c: 7e813083 ld ra,2024(sp) + 83f47e70: 7e013403 ld s0,2016(sp) + 83f47e74: 7d813483 ld s1,2008(sp) + 83f47e78: 7d013903 ld s2,2000(sp) + 83f47e7c: 7c813983 ld s3,1992(sp) + 83f47e80: 7c013a03 ld s4,1984(sp) + 83f47e84: 7b813a83 ld s5,1976(sp) + 83f47e88: 7b013b03 ld s6,1968(sp) + 83f47e8c: 7a813b83 ld s7,1960(sp) + 83f47e90: 7a013c03 ld s8,1952(sp) + 83f47e94: 79813c83 ld s9,1944(sp) + 83f47e98: 78813407 fld fs0,1928(sp) + 83f47e9c: 78013487 fld fs1,1920(sp) + 83f47ea0: 7f010113 addi sp,sp,2032 + 83f47ea4: 8082 ret + st->st_vad = 0; + 83f47ea6: 0a042e23 sw zero,188(s0) + leak2 = 0.0f; /* keep clean speech signal not to be attenuated */ + 83f47eaa: f0000753 fmv.w.x fa4,zero + if (!(st->RER_vad) && (speech_vad)) { + 83f47eae: f80993e3 bnez s3,83f47e34 + if (st->echo_state->leak_estimate > .5) + 83f47eb2: 6c1c ld a5,24(s0) + 83f47eb4: 0000a717 auipc a4,0xa + 83f47eb8: 3bc72787 flw fa5,956(a4) # 83f52270 <__func__.1+0x78> + 83f47ebc: 0307a707 flw fa4,48(a5) + 83f47ec0: a0e797d3 flt.s a5,fa5,fa4 + 83f47ec4: c79d beqz a5,83f47ef2 + leak2 = 1.0f; + 83f47ec6: 0000a797 auipc a5,0xa + 83f47eca: 38a7a707 flw fa4,906(a5) # 83f52250 <__func__.1+0x58> + 83f47ece: b79d j 83f47e34 + leak2 = st->aes_supp_coef2 * st->echo_state->leak_estimate; + 83f47ed0: 0e042787 flw fa5,224(s0) + 83f47ed4: 10f77753 fmul.s fa4,fa4,fa5 + 83f47ed8: bfb1 j 83f47e34 + if (st->echo_state->leak_estimate > .5) + 83f47eda: 6c1c ld a5,24(s0) + st->st_vad = 0; + 83f47edc: 0a042e23 sw zero,188(s0) + if (st->echo_state->leak_estimate > .5) + 83f47ee0: 0000a717 auipc a4,0xa + 83f47ee4: 39072787 flw fa5,912(a4) # 83f52270 <__func__.1+0x78> + 83f47ee8: 0307a707 flw fa4,48(a5) + 83f47eec: a0e797d3 flt.s a5,fa5,fa4 + 83f47ef0: fbf9 bnez a5,83f47ec6 + leak2 = 2.0f * st->echo_state->leak_estimate; + 83f47ef2: 00e77753 fadd.s fa4,fa4,fa4 + 83f47ef6: bf3d j 83f47e34 + +0000000083f47ef8 : + +EXPORT void NLP_AES(NonLinearEchoState *aes_state, short *y, float aes_frame, boolean_T speech_vad) +{ + 83f47ef8: ce010113 addi sp,sp,-800 + 83f47efc: 30813823 sd s0,784(sp) + 83f47f00: 31213023 sd s2,768(sp) + 83f47f04: 2d713c23 sd s7,728(sp) + 83f47f08: 2d813823 sd s8,720(sp) + 83f47f0c: 2b213427 fsd fs2,680(sp) + 83f47f10: 30113c23 sd ra,792(sp) + 83f47f14: 30913423 sd s1,776(sp) + 83f47f18: 2f313c23 sd s3,760(sp) + 83f47f1c: 2f413823 sd s4,752(sp) + 83f47f20: 2f513423 sd s5,744(sp) + 83f47f24: 2f613023 sd s6,736(sp) + 83f47f28: 2d913423 sd s9,712(sp) + 83f47f2c: 2da13023 sd s10,704(sp) + 83f47f30: 2a813c27 fsd fs0,696(sp) + 83f47f34: 2a913827 fsd fs1,688(sp) + 83f47f38: 2b313027 fsd fs3,672(sp) + 83f47f3c: 29413c27 fsd fs4,664(sp) + 83f47f40: 29513827 fsd fs5,656(sp) + 83f47f44: 29613427 fsd fs6,648(sp) + 83f47f48: 29713027 fsd fs7,640(sp) + NonLinearEchoState *st; + float alpha, alpha2; + float y_tmp[160]; + + st = aes_state; + N = st->ps_size; + 83f47f4c: 00452b03 lw s6,4(a0) + N3 = 2*N - st->frame_size; + 83f47f50: 00052a83 lw s5,0(a0) + ps = st->ps; + + st->nb_adapt++; + 83f47f54: 0a052703 lw a4,160(a0) + N3 = 2*N - st->frame_size; + 83f47f58: 001b1c1b slliw s8,s6,0x1 + if (st->nb_adapt>20000) + 83f47f5c: 6795 lui a5,0x5 +{ + 83f47f5e: 842a mv s0,a0 + N3 = 2*N - st->frame_size; + 83f47f60: 415c0bbb subw s7,s8,s5 + st->nb_adapt++; + 83f47f64: 0017051b addiw a0,a4,1 + if (st->nb_adapt>20000) + 83f47f68: e2078793 addi a5,a5,-480 # 4e20 <_EL1_STACK_SIZE+0x4620> +{ + 83f47f6c: 20a50953 fmv.s fs2,fa0 + ps = st->ps; + 83f47f70: 03043a03 ld s4,48(s0) + N3 = 2*N - st->frame_size; + 83f47f74: 8ade mv s5,s7 +{ + 83f47f76: 892e mv s2,a1 + 83f47f78: 86b2 mv a3,a2 + if (st->nb_adapt>20000) + 83f47f7a: 50a7c263 blt a5,a0,83f4847e + st->nb_adapt = 20000; + st->min_count++; + 83f47f7e: 0a442783 lw a5,164(s0) + + beta = MAX(.03f, (float)(FLOAT_ONE / st->nb_adapt)); + beta_1 = FLOAT_ONE - beta; + beta_1 = beta_1; + M = st->nbands; + 83f47f82: 0b042483 lw s1,176(s0) + + /* Deal with residual echo if provided */ + if (st->echo_state) { + 83f47f86: 6c18 ld a4,24(s0) + st->min_count++; + 83f47f88: 2785 addiw a5,a5,1 + st->nb_adapt++; + 83f47f8a: 0aa42023 sw a0,160(s0) + st->min_count++; + 83f47f8e: 0af42223 sw a5,164(s0) + + for (i=0;iecho_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + filterbank_linear2sb(st->bank, st->echo_noise, st->echo_noise+N); + } else { + for (i=0;ibank, st->echo_noise, st->echo_noise+N); + 83f47f96: 002b1993 slli s3,s6,0x2 + if (st->echo_state) { + 83f47f9a: 50070263 beqz a4,83f4849e + std_residual_echo(st, st->residual_echo, N, speech_vad); + 83f47f9e: 604c ld a1,128(s0) + 83f47fa0: 865a mv a2,s6 + 83f47fa2: 8522 mv a0,s0 + 83f47fa4: c2dff0ef jal ra,83f47bd0 + if (!(st->residual_echo[0] >=0 && st->residual_echo[0] + 83f47fb8: d00b77d3 fcvt.s.w fa5,s6 + 83f47fbc: 0000a717 auipc a4,0xa + 83f47fc0: 41072687 flw fa3,1040(a4) # 83f523cc <__func__.1+0x1d4> + 83f47fc4: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f47fc8: a0f71753 flt.s a4,fa4,fa5 + 83f47fcc: 76071e63 bnez a4,83f48748 + for (i=0;i + 83f47fe2: a0b1 j 83f4802e + 83f47fe4: 0711 addi a4,a4,4 + st->residual_echo[i] = 0; + 83f47fe6: 97ba add a5,a5,a4 + 83f47fe8: 0007a023 sw zero,0(a5) + 83f47fec: 605c ld a5,128(s0) + for (i=0;i + st->echo_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + 83f47ff2: 0007a707 flw fa4,0(a5) + for (i=0;i + 83f48002: a029 j 83f4800c + st->echo_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + 83f48004: 605c ld a5,128(s0) + 83f48006: 97ba add a5,a5,a4 + 83f48008: 0007a707 flw fa4,0(a5) + 83f4800c: 7c3c ld a5,120(s0) + for (i=0;iecho_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + 83f48010: 97ba add a5,a5,a4 + 83f48012: 0007a787 flw fa5,0(a5) + for (i=0;iecho_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + 83f48018: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f4801c: a0e79653 flt.s a2,fa5,fa4 + 83f48020: e219 bnez a2,83f48026 + 83f48022: 20f78753 fmv.s fa4,fa5 + 83f48026: 00e7a027 fsw fa4,0(a5) + for (i=0;i + filterbank_linear2sb(st->bank, st->echo_noise, st->echo_noise+N); + 83f4802e: 7c2c ld a1,120(s0) + 83f48030: 6808 ld a0,16(s0) + 83f48032: 01358633 add a2,a1,s3 + 83f48036: 167000ef jal ra,83f4899c + st->echo_noise[i] = 0; + } + + aes_analysis(st, y); + 83f4803a: 85ca mv a1,s2 + 83f4803c: 8522 mv a0,s0 + 83f4803e: 4e1000ef jal ra,83f48d1e + + /* Special case for first frame */ + if (st->nb_adapt==1) + 83f48042: 0a042703 lw a4,160(s0) + 83f48046: 4785 li a5,1 + 83f48048: 48f70263 beq a4,a5,83f484cc + for (i=0;iold_ps[i] = ps[i]; + + for (i=0;i + + /* Update gamma */ + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + + /* Priori SNR */ + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + 83f48050: f0000053 fmv.w.x ft0,zero + 83f48054: 86d2 mv a3,s4 + for (i=0;i + 83f48060: 0000a797 auipc a5,0xa + 83f48064: 3647a607 flw fa2,868(a5) # 83f523c4 <__func__.1+0x1cc> + 83f48068: 0000a797 auipc a5,0xa + 83f4806c: 3687a507 flw fa0,872(a5) # 83f523d0 <__func__.1+0x1d8> + 83f48070: 0000a797 auipc a5,0xa + 83f48074: 2b87aa87 flw fs5,696(a5) # 83f52328 <__func__.1+0x130> + float tot_noise = 1.f + st->echo_noise[i]; + 83f48078: 7c30 ld a2,120(s0) + 83f4807a: 00271793 slli a5,a4,0x2 + st->post[i] = ps[i] / tot_noise - 1.f; + 83f4807e: 0006a787 flw fa5,0(a3) + float tot_noise = 1.f + st->echo_noise[i]; + 83f48082: 963e add a2,a2,a5 + 83f48084: 00062707 flw fa4,0(a2) + st->post[i] = ps[i] / tot_noise - 1.f; + 83f48088: 742c ld a1,104(s0) + for (i=0;iecho_noise[i]; + 83f4808c: 00877753 fadd.s fa4,fa4,fs0 + st->post[i] = ps[i] / tot_noise - 1.f; + 83f48090: 95be add a1,a1,a5 + for (i=0;ipost[i] = ps[i] / tot_noise - 1.f; + 83f48098: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f4809c: 0887f7d3 fsub.s fa5,fa5,fs0 + 83f480a0: 00f5a027 fsw fa5,0(a1) + st->post[i]=MIN(st->post[i], 100.f); + 83f480a4: 742c ld a1,104(s0) + 83f480a6: 95be add a1,a1,a5 + 83f480a8: 0005a787 flw fa5,0(a1) + 83f480ac: a0f61553 flt.s a0,fa2,fa5 + 83f480b0: c119 beqz a0,83f480b6 + 83f480b2: 20c607d3 fmv.s fa5,fa2 + 83f480b6: 00f5a027 fsw fa5,0(a1) + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + 83f480ba: 6828 ld a0,80(s0) + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + 83f480bc: 742c ld a1,104(s0) + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + 83f480be: 953e add a0,a0,a5 + 83f480c0: 00052787 flw fa5,0(a0) + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + 83f480c4: 95be add a1,a1,a5 + 83f480c6: 0005a687 flw fa3,0(a1) + 83f480ca: 18e7f5d3 fdiv.s fa1,fa5,fa4 + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + 83f480ce: 00e7f753 fadd.s fa4,fa5,fa4 + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + 83f480d2: a0d015d3 flt.s a1,ft0,fa3 + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + 83f480d6: 18e7f7d3 fdiv.s fa5,fa5,fa4 + 83f480da: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f480de: a8a7f7c3 fmadd.s fa5,fa5,fa0,fs5 + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + 83f480e2: e199 bnez a1,83f480e8 + 83f480e4: f00006d3 fmv.w.x fa3,zero + 83f480e8: 08f47753 fsub.s fa4,fs0,fa5 + 83f480ec: 702c ld a1,96(s0) + 83f480ee: 95be add a1,a1,a5 + 83f480f0: 10b77753 fmul.s fa4,fa4,fa1 + 83f480f4: 70f6f7c3 fmadd.s fa5,fa3,fa5,fa4 + 83f480f8: 00f5a027 fsw fa5,0(a1) + st->prior[i] = MIN(st->prior[i], 100.f); + 83f480fc: 702c ld a1,96(s0) + 83f480fe: 97ae add a5,a5,a1 + 83f48100: 0007a787 flw fa5,0(a5) + 83f48104: a0f615d3 flt.s a1,fa2,fa5 + 83f48108: c199 beqz a1,83f4810e + 83f4810a: 20c607d3 fmv.s fa5,fa2 + 83f4810e: 00f7a027 fsw fa5,0(a5) + for (i=0;i + } + + /* Recursive average of the priori SNR */ + st->zeta[0] = .7f * st->zeta[0] + .3f * st->prior[0]; + 83f48116: 7038 ld a4,96(s0) + 83f48118: 783c ld a5,112(s0) + 83f4811a: 0000a697 auipc a3,0xa + 83f4811e: 1c26a007 flw ft0,450(a3) # 83f522dc <__func__.1+0xe4> + 83f48122: 00072707 flw fa4,0(a4) + 83f48126: 0007a787 flw fa5,0(a5) + 83f4812a: 0000a717 auipc a4,0xa + 83f4812e: 15e72587 flw fa1,350(a4) # 83f52288 <__func__.1+0x90> + 83f48132: 10077753 fmul.s fa4,fa4,ft0 + for (i=1;izeta[0] = .7f * st->zeta[0] + .3f * st->prior[0]; + 83f48138: 70b7f7c3 fmadd.s fa5,fa5,fa1,fa4 + 83f4813c: 00f7a027 fsw fa5,0(a5) + for (i=1;i + 83f48144: ffdb059b addiw a1,s6,-3 + 83f48148: 02059793 slli a5,a1,0x20 + 83f4814c: 01e7d593 srli a1,a5,0x1e + 83f48150: 05a1 addi a1,a1,8 + 83f48152: 4791 li a5,4 + 83f48154: 0000a717 auipc a4,0xa + 83f48158: 16872087 flw ft1,360(a4) # 83f522bc <__func__.1+0xc4> + 83f4815c: 0000a717 auipc a4,0xa + 83f48160: 27872507 flw fa0,632(a4) # 83f523d4 <__func__.1+0x1dc> + st->zeta[i] = .7f * st->zeta[i] + .15f * st->prior[i] + .075f * st->prior[i-1] + .075f * st->prior[i+1]; + 83f48164: 7034 ld a3,96(s0) + 83f48166: 7838 ld a4,112(s0) + 83f48168: 00f68633 add a2,a3,a5 + 83f4816c: 00062787 flw fa5,0(a2) + 83f48170: 973e add a4,a4,a5 + 83f48172: 00072687 flw fa3,0(a4) + 83f48176: 1017f653 fmul.s fa2,fa5,ft1 + 83f4817a: ffc62707 flw fa4,-4(a2) + 83f4817e: 0791 addi a5,a5,4 + 83f48180: 96be add a3,a3,a5 + 83f48182: 0006a787 flw fa5,0(a3) + 83f48186: 60b6f6c3 fmadd.s fa3,fa3,fa1,fa2 + 83f4818a: 68a77743 fmadd.s fa4,fa4,fa0,fa3 + 83f4818e: 70a7f7c3 fmadd.s fa5,fa5,fa0,fa4 + 83f48192: 00f72027 fsw fa5,0(a4) + for (i=1;i + for (i=N-1;i + 83f4819e: 02049613 slli a2,s1,0x20 + 83f481a2: 9201 srli a2,a2,0x20 + 83f481a4: 965a add a2,a2,s6 + 83f481a6: ffc98793 addi a5,s3,-4 + 83f481aa: 060a slli a2,a2,0x2 + st->zeta[i] = .7f * st->zeta[i] + .3f * st->prior[i]; + 83f481ac: 7034 ld a3,96(s0) + 83f481ae: 7838 ld a4,112(s0) + 83f481b0: 96be add a3,a3,a5 + 83f481b2: 0006a707 flw fa4,0(a3) + 83f481b6: 973e add a4,a4,a5 + 83f481b8: 00072787 flw fa5,0(a4) + 83f481bc: 10077753 fmul.s fa4,fa4,ft0 + for (i=N-1;izeta[i] = .7f * st->zeta[i] + .3f * st->prior[i]; + 83f481c2: 70b7f7c3 fmadd.s fa5,fa5,fa1,fa4 + 83f481c6: 00f72027 fsw fa5,0(a4) + for (i=N-1;i + + Zframe = 0; + 83f481ce: f00007d3 fmv.w.x fa5,zero + for (i=N;i + 83f481d6: fff4871b addiw a4,s1,-1 + Zframe = Zframe + st->zeta[i]; + 83f481da: 783c ld a5,112(s0) + 83f481dc: 1702 slli a4,a4,0x20 + 83f481de: 9301 srli a4,a4,0x20 + 83f481e0: 975a add a4,a4,s6 + Zframe = 0; + 83f481e2: f00007d3 fmv.w.x fa5,zero + 83f481e6: 00478693 addi a3,a5,4 + 83f481ea: 070a slli a4,a4,0x2 + 83f481ec: 97ce add a5,a5,s3 + 83f481ee: 9736 add a4,a4,a3 + Zframe = Zframe + st->zeta[i]; + 83f481f0: 0007a707 flw fa4,0(a5) + for (i=N;izeta[i]; + 83f481f6: 00e7f7d3 fadd.s fa5,fa5,fa4 + for (i=N;i + + Pframe = .1f + .899f * aes_qcurve(Zframe / st->nbands); + 83f481fe: 0b042783 lw a5,176(s0) + 83f48202: d007f553 fcvt.s.w fa0,a5 + 83f48206: 18a7f553 fdiv.s fa0,fa5,fa0 + 83f4820a: 25f000ef jal ra,83f48c68 + effective_echo_suppress = (FLOAT_ONE - Pframe) * st->echo_sup + Pframe * st->echo_sup_active; + 83f4820e: 08c42783 lw a5,140(s0) + Pframe = .1f + .899f * aes_qcurve(Zframe / st->nbands); + 83f48212: 0000a717 auipc a4,0xa + 83f48216: 1c672787 flw fa5,454(a4) # 83f523d8 <__func__.1+0x1e0> + 83f4821a: a8f57ac3 fmadd.s fs5,fa0,fa5,fs5 + effective_echo_suppress = (FLOAT_ONE - Pframe) * st->echo_sup + Pframe * st->echo_sup_active; + 83f4821e: d007f7d3 fcvt.s.w fa5,a5 + 83f48222: 08842783 lw a5,136(s0) + aes_gain_floor(effective_echo_suppress, st->echo_noise+N, st->gain_floor+N, M); + 83f48226: 602c ld a1,64(s0) + 83f48228: 7c28 ld a0,120(s0) + effective_echo_suppress = (FLOAT_ONE - Pframe) * st->echo_sup + Pframe * st->echo_sup_active; + 83f4822a: 09547553 fsub.s fa0,fs0,fs5 + 83f4822e: 1157f7d3 fmul.s fa5,fa5,fs5 + 83f48232: d007f753 fcvt.s.w fa4,a5 + aes_gain_floor(effective_echo_suppress, st->echo_noise+N, st->gain_floor+N, M); + 83f48236: 8626 mv a2,s1 + 83f48238: 95ce add a1,a1,s3 + 83f4823a: 954e add a0,a0,s3 + 83f4823c: 78e57543 fmadd.s fa0,fa0,fa4,fa5 + 83f48240: 247000ef jal ra,83f48c86 + + /* Compute speech probability of presence */ + for (i=N;i + 83f48248: 34fd addiw s1,s1,-1 + 83f4824a: 1482 slli s1,s1,0x20 + 83f4824c: 001b0c93 addi s9,s6,1 + 83f48250: 9081 srli s1,s1,0x20 + 83f48252: 94e6 add s1,s1,s9 + 83f48254: 00249c93 slli s9,s1,0x2 + 83f48258: 0000a797 auipc a5,0xa + 83f4825c: 04c7a987 flw fs3,76(a5) # 83f522a4 <__func__.1+0xac> + 83f48260: 84ce mv s1,s3 + 83f48262: 0000a797 auipc a5,0xa + 83f48266: 0e27aa07 flw fs4,226(a5) # 83f52344 <__func__.1+0x14c> + 83f4826a: 0000a797 auipc a5,0xa + 83f4826e: 1727ab07 flw fs6,370(a5) # 83f523dc <__func__.1+0x1e4> + float MM; /* gain from hypergeometric function */ + float prior_ratio; /* Weiner filter gain */ + float P1; /* priority probability of speech presence */ + float q; /* speech absence the priori probability */ + + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48272: 7038 ld a4,96(s0) + theta = prior_ratio * (1.f + st->post[i]); + 83f48274: 743c ld a5,104(s0) + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48276: 9726 add a4,a4,s1 + 83f48278: 00072507 flw fa0,0(a4) + theta = prior_ratio * (1.f + st->post[i]); + 83f4827c: 97a6 add a5,a5,s1 + 83f4827e: 0007ab87 flw fs7,0(a5) + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48282: 008574d3 fadd.s fs1,fa0,fs0 + theta = prior_ratio * (1.f + st->post[i]); + 83f48286: 008bfbd3 fadd.s fs7,fs7,fs0 + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f4828a: 189574d3 fdiv.s fs1,fa0,fs1 + theta = prior_ratio * (1.f + st->post[i]); + 83f4828e: 109bfbd3 fmul.s fs7,fs7,fs1 + + MM = aes_hypergeom_gain(theta); + 83f48292: 217b8553 fmv.s fa0,fs7 + 83f48296: 10d000ef jal ra,83f48ba2 + st->gain[i] = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + 83f4829a: 10a4f553 fmul.s fa0,fs1,fa0 + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; /* save old power spectrum */ + 83f4829e: 009a06b3 add a3,s4,s1 + st->gain[i] = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + 83f482a2: a08517d3 flt.s a5,fa0,fs0 + 83f482a6: e399 bnez a5,83f482ac + 83f482a8: 20840553 fmv.s fa0,fs0 + 83f482ac: 6c3c ld a5,88(s0) + + P1 = .199f + .8f * aes_qcurve(st->zeta[i]); + q = FLOAT_ONE - Pframe * P1; + st->gain2[i] = 1/(1.f + (q/(1.f-q))*(1+st->prior[i])*(float)exp(-theta)); /* lambda/(1+lambda) */ + 83f482ae: 217b9bd3 fneg.s fs7,fs7 + st->gain[i] = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + 83f482b2: 97a6 add a5,a5,s1 + 83f482b4: 00a7a027 fsw fa0,0(a5) + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; /* save old power spectrum */ + 83f482b8: 6c38 ld a4,88(s0) + 83f482ba: 0006a687 flw fa3,0(a3) + 83f482be: 683c ld a5,80(s0) + 83f482c0: 9726 add a4,a4,s1 + 83f482c2: 00072787 flw fa5,0(a4) + 83f482c6: 97a6 add a5,a5,s1 + 83f482c8: 0007a707 flw fa4,0(a5) + 83f482cc: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f482d0: 1137f7d3 fmul.s fa5,fa5,fs3 + 83f482d4: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f482d8: 794777c3 fmadd.s fa5,fa4,fs4,fa5 + 83f482dc: 00f7a027 fsw fa5,0(a5) + P1 = .199f + .8f * aes_qcurve(st->zeta[i]); + 83f482e0: 783c ld a5,112(s0) + 83f482e2: 97a6 add a5,a5,s1 + 83f482e4: 0007a507 flw fa0,0(a5) + 83f482e8: 181000ef jal ra,83f48c68 + 83f482ec: b13574c3 fmadd.s fs1,fa0,fs3,fs6 + st->gain2[i] = 1/(1.f + (q/(1.f-q))*(1+st->prior[i])*(float)exp(-theta)); /* lambda/(1+lambda) */ + 83f482f0: 703c ld a5,96(s0) + 83f482f2: 420b8553 fcvt.d.s fa0,fs7 + 83f482f6: 97a6 add a5,a5,s1 + q = FLOAT_ONE - Pframe * P1; + 83f482f8: 409af4cb fnmsub.s fs1,fs5,fs1,fs0 + st->gain2[i] = 1/(1.f + (q/(1.f-q))*(1+st->prior[i])*(float)exp(-theta)); /* lambda/(1+lambda) */ + 83f482fc: 0007a787 flw fa5,0(a5) + 83f48300: 0087f7d3 fadd.s fa5,fa5,fs0 + 83f48304: 08947753 fsub.s fa4,fs0,fs1 + 83f48308: 18e4f4d3 fdiv.s fs1,fs1,fa4 + 83f4830c: 1097f4d3 fmul.s fs1,fa5,fs1 + 83f48310: 8d1f80ef jal ra,83f40be0 + 83f48314: 40157553 fcvt.s.d fa0,fa0 + 83f48318: 7c1c ld a5,56(s0) + 83f4831a: 40a4f4c3 fmadd.s fs1,fs1,fa0,fs0 + 83f4831e: 97a6 add a5,a5,s1 + for (i=N;igain2[i] = 1/(1.f + (q/(1.f-q))*(1+st->prior[i])*(float)exp(-theta)); /* lambda/(1+lambda) */ + 83f48322: 189474d3 fdiv.s fs1,fs0,fs1 + 83f48326: 0097a027 fsw fs1,0(a5) + for (i=N;i + + } + + filterbank_sb2linear(st->bank,st->gain2+N, st->gain2); + 83f4832e: 7c10 ld a2,56(s0) + 83f48330: 6808 ld a0,16(s0) + 83f48332: 013605b3 add a1,a2,s3 + 83f48336: 6e2000ef jal ra,83f48a18 + filterbank_sb2linear(st->bank,st->gain+N, st->gain); + 83f4833a: 6c30 ld a2,88(s0) + 83f4833c: 6808 ld a0,16(s0) + 83f4833e: 013605b3 add a1,a2,s3 + 83f48342: 6d6000ef jal ra,83f48a18 + filterbank_sb2linear(st->bank,st->gain_floor+N, st->gain_floor); + 83f48346: 6030 ld a2,64(s0) + 83f48348: 6808 ld a0,16(s0) + 83f4834a: 013605b3 add a1,a2,s3 + 83f4834e: 6ca000ef jal ra,83f48a18 + + /* Compute gain */ + for (i=0;i + 83f48356: 4481 li s1,0 + 83f48358: 0000a797 auipc a5,0xa + 83f4835c: f4c7a987 flw fs3,-180(a5) # 83f522a4 <__func__.1+0xac> + 83f48360: 0000a797 auipc a5,0xa + 83f48364: fe47aa07 flw fs4,-28(a5) # 83f52344 <__func__.1+0x14c> + 83f48368: 0000a797 auipc a5,0xa + 83f4836c: 0607aa87 flw fs5,96(a5) # 83f523c8 <__func__.1+0x1d0> + g = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + p = st->gain2[i]; /* interpolated speech probability of presence */ + + /* Constrain the gain to be close to the scale gain */ + if ((.333f *g) > st->gain[i]) + g = 3.f * st->gain[i]; + 83f48370: 0000a797 auipc a5,0xa + 83f48374: f607ab07 flw fs6,-160(a5) # 83f522d0 <__func__.1+0xd8> + 83f48378: a0f1 j 83f48444 + g = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + 83f4837a: 20840553 fmv.s fa0,fs0 + if ((.333f *g) > st->gain[i]) + 83f4837e: 6c3c ld a5,88(s0) + p = st->gain2[i]; /* interpolated speech probability of presence */ + 83f48380: 7c18 ld a4,56(s0) + st->gain[i] = g; + + /* save old power spectrum */ + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; + 83f48382: 009a06b3 add a3,s4,s1 + if ((.333f *g) > st->gain[i]) + 83f48386: 97a6 add a5,a5,s1 + 83f48388: 0007a787 flw fa5,0(a5) + p = st->gain2[i]; /* interpolated speech probability of presence */ + 83f4838c: 9726 add a4,a4,s1 + 83f4838e: 00072b87 flw fs7,0(a4) + if ((.333f *g) > st->gain[i]) + 83f48392: a0e79753 flt.s a4,fa5,fa4 + 83f48396: c319 beqz a4,83f4839c + g = 3.f * st->gain[i]; + 83f48398: 1167f553 fmul.s fa0,fa5,fs6 + st->gain[i] = g; + 83f4839c: 00a7a027 fsw fa0,0(a5) + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; + 83f483a0: 6c38 ld a4,88(s0) + 83f483a2: 0006a787 flw fa5,0(a3) + 83f483a6: 683c ld a5,80(s0) + 83f483a8: 9726 add a4,a4,s1 + 83f483aa: 00072707 flw fa4,0(a4) + 83f483ae: 97a6 add a5,a5,s1 + 83f483b0: 0007a687 flw fa3,0(a5) + 83f483b4: 10e77753 fmul.s fa4,fa4,fa4 + 83f483b8: 11377753 fmul.s fa4,fa4,fs3 + 83f483bc: 10f77753 fmul.s fa4,fa4,fa5 + 83f483c0: 7146f743 fmadd.s fa4,fa3,fs4,fa4 + 83f483c4: 00e7a027 fsw fa4,0(a5) + + /* Apply gain floor */ + if (st->gain[i] < st->gain_floor[i]) + 83f483c8: 6c3c ld a5,88(s0) + 83f483ca: 6038 ld a4,64(s0) + 83f483cc: 97a6 add a5,a5,s1 + 83f483ce: 9726 add a4,a4,s1 + 83f483d0: 0007a507 flw fa0,0(a5) + 83f483d4: 00072787 flw fa5,0(a4) + 83f483d8: a0f51753 flt.s a4,fa0,fa5 + 83f483dc: c719 beqz a4,83f483ea + st->gain[i] = st->gain_floor[i]; + 83f483de: 00f7a027 fsw fa5,0(a5) + + /* Take into account speech probability of presence */ + tmp = p * (float)math_sqrt(st->gain[i]) + (FLOAT_ONE -p) * (float)math_sqrt(st->gain_floor[i]); + 83f483e2: 6c3c ld a5,88(s0) + 83f483e4: 97a6 add a5,a5,s1 + 83f483e6: 0007a507 flw fa0,0(a5) + 83f483ea: 42050553 fcvt.d.s fa0,fa0 + 83f483ee: a05f80ef jal ra,83f40df2 + 83f483f2: 603c ld a5,64(s0) + 83f483f4: 22a504d3 fmv.d fs1,fa0 + 83f483f8: 97a6 add a5,a5,s1 + 83f483fa: 0007a507 flw fa0,0(a5) + 83f483fe: 42050553 fcvt.d.s fa0,fa0 + 83f48402: 9f1f80ef jal ra,83f40df2 + 83f48406: 09747753 fsub.s fa4,fs0,fs7 + 83f4840a: 401577d3 fcvt.s.d fa5,fa0 + 83f4840e: 4014f4d3 fcvt.s.d fs1,fs1 + st->gain2[i] = SQR(tmp); + 83f48412: 7c1c ld a5,56(s0) + tmp = p * (float)math_sqrt(st->gain[i]) + (FLOAT_ONE -p) * (float)math_sqrt(st->gain_floor[i]); + 83f48414: 10f777d3 fmul.s fa5,fa4,fa5 + st->gain2[i] = SQR(tmp); + 83f48418: 97a6 add a5,a5,s1 + tmp = p * (float)math_sqrt(st->gain[i]) + (FLOAT_ONE -p) * (float)math_sqrt(st->gain_floor[i]); + 83f4841a: 7974f7c3 fmadd.s fa5,fs1,fs7,fa5 + st->gain2[i] = SQR(tmp); + 83f4841e: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f48422: 00f7a027 fsw fa5,0(a5) + + //if (st->st_vad) + //if (st->RER_vad) + st->gain2[i] = st->gain2[i] * st->gain[i]; + 83f48426: 7c1c ld a5,56(s0) + 83f48428: 6c38 ld a4,88(s0) + 83f4842a: 97a6 add a5,a5,s1 + 83f4842c: 9726 add a4,a4,s1 + 83f4842e: 0007a787 flw fa5,0(a5) + 83f48432: 00072707 flw fa4,0(a4) + for (i=0;igain2[i] = st->gain2[i] * st->gain[i]; + 83f48438: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f4843c: 00f7a027 fsw fa5,0(a5) + for (i=0;i + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48444: 7038 ld a4,96(s0) + theta = prior_ratio * (1.f + st->post[i]); + 83f48446: 743c ld a5,104(s0) + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48448: 9726 add a4,a4,s1 + 83f4844a: 00072487 flw fs1,0(a4) + theta = prior_ratio * (1.f + st->post[i]); + 83f4844e: 97a6 add a5,a5,s1 + 83f48450: 0007a507 flw fa0,0(a5) + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f48454: 0084f7d3 fadd.s fa5,fs1,fs0 + theta = prior_ratio * (1.f + st->post[i]); + 83f48458: 00857553 fadd.s fa0,fa0,fs0 + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + 83f4845c: 18f4f4d3 fdiv.s fs1,fs1,fa5 + MM = aes_hypergeom_gain(theta); + 83f48460: 10957553 fmul.s fa0,fa0,fs1 + 83f48464: 73e000ef jal ra,83f48ba2 + g = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + 83f48468: 10a4f553 fmul.s fa0,fs1,fa0 + 83f4846c: 215a8753 fmv.s fa4,fs5 + 83f48470: a08517d3 flt.s a5,fa0,fs0 + 83f48474: f00783e3 beqz a5,83f4837a + if ((.333f *g) > st->gain[i]) + 83f48478: 11557753 fmul.s fa4,fa0,fs5 + 83f4847c: b709 j 83f4837e + st->nb_adapt = 20000; + 83f4847e: 0af42023 sw a5,160(s0) + st->min_count++; + 83f48482: 0a442783 lw a5,164(s0) + M = st->nbands; + 83f48486: 0b042483 lw s1,176(s0) + if (st->echo_state) { + 83f4848a: 6c18 ld a4,24(s0) + st->min_count++; + 83f4848c: 2785 addiw a5,a5,1 + 83f4848e: 0af42223 sw a5,164(s0) + for (i=0;ibank, st->echo_noise, st->echo_noise+N); + 83f48496: 002b1993 slli s3,s6,0x2 + if (st->echo_state) { + 83f4849a: b00712e3 bnez a4,83f47f9e + for (i=0;i + st->echo_noise[i] = 0; + 83f484a8: 7c38 ld a4,120(s0) + 83f484aa: 973e add a4,a4,a5 + 83f484ac: 00072023 sw zero,0(a4) + for (i=0;i + aes_analysis(st, y); + 83f484b6: 85ca mv a1,s2 + 83f484b8: 8522 mv a0,s0 + 83f484ba: 065000ef jal ra,83f48d1e + if (st->nb_adapt==1) + 83f484be: 0a042703 lw a4,160(s0) + 83f484c2: 4785 li a5,1 + 83f484c4: fffb0c9b addiw s9,s6,-1 + 83f484c8: b8f712e3 bne a4,a5,83f4804c + for (i=0;i + st->old_ps[i] = ps[i]; + 83f484d6: 6838 ld a4,80(s0) + 83f484d8: 00fa06b3 add a3,s4,a5 + 83f484dc: 0006a787 flw fa5,0(a3) + 83f484e0: 973e add a4,a4,a5 + for (i=0;iold_ps[i] = ps[i]; + 83f484e4: 00f72027 fsw fa5,0(a4) + for (i=0;i + 83f484ec: b695 j 83f48050 + + } + + + for (i=1;i + st->ft[2*i-1] = st->gain2[i] * st->ft[2*i-1]; + 83f484f8: 7414 ld a3,40(s0) + 83f484fa: 7c10 ld a2,56(s0) + st->ft[2*i] = st->gain2[i] * st->ft[2*i]; + 83f484fc: 00179513 slli a0,a5,0x1 + st->ft[2*i-1] = st->gain2[i] * st->ft[2*i-1]; + 83f48500: 96ae add a3,a3,a1 + 83f48502: 963e add a2,a2,a5 + 83f48504: 0006a787 flw fa5,0(a3) + 83f48508: 00062707 flw fa4,0(a2) + for (i=1;ift[2*i-1] = st->gain2[i] * st->ft[2*i-1]; + 83f4850e: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f48512: 00f6a027 fsw fa5,0(a3) + st->ft[2*i] = st->gain2[i] * st->ft[2*i]; + 83f48516: 7418 ld a4,40(s0) + 83f48518: 7c14 ld a3,56(s0) + 83f4851a: 972a add a4,a4,a0 + 83f4851c: 96be add a3,a3,a5 + 83f4851e: 00072787 flw fa5,0(a4) + 83f48522: 0006a707 flw fa4,0(a3) + for (i=1;ift[2*i] = st->gain2[i] * st->ft[2*i]; + 83f48528: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f4852c: 00f72027 fsw fa5,0(a4) + for (i=1;i + } + st->ft[0] = st->gain2[0] * st->ft[0]; + 83f48534: 7418 ld a4,40(s0) + 83f48536: 7c1c ld a5,56(s0) + st->ft[2*N-1] = st->gain2[N-1] * st->ft[2*N-1]; + 83f48538: 002c1493 slli s1,s8,0x2 + st->ft[0] = st->gain2[0] * st->ft[0]; + 83f4853c: 00072787 flw fa5,0(a4) + 83f48540: 0007a707 flw fa4,0(a5) + st->ft[2*N-1] = st->gain2[N-1] * st->ft[2*N-1]; + 83f48544: ffc48693 addi a3,s1,-4 + st->ft[0] = st->gain2[0] * st->ft[0]; + 83f48548: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f4854c: 00f72027 fsw fa5,0(a4) + st->ft[2*N-1] = st->gain2[N-1] * st->ft[2*N-1]; + 83f48550: 741c ld a5,40(s0) + 83f48552: 7c18 ld a4,56(s0) + 83f48554: 97b6 add a5,a5,a3 + 83f48556: 99ba add s3,s3,a4 + 83f48558: 0007a787 flw fa5,0(a5) + 83f4855c: ffc9a707 flw fa4,-4(s3) + 83f48560: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f48564: 00f7a027 fsw fa5,0(a5) + + speech_ifft(st->fft_lookup, st->ft, st->frame); + 83f48568: 7010 ld a2,32(s0) + 83f4856a: 740c ld a1,40(s0) + 83f4856c: 7448 ld a0,168(s0) + 83f4856e: 39b000ef jal ra,83f49108 + + /* Apply synthesis window (for WOLA) */ + for (i=0;i<2*N;i++) + 83f48572: 4781 li a5,0 + 83f48574: 03805163 blez s8,83f48596 + st->frame[i] = st->frame[i] * st->window[i]; + 83f48578: 7018 ld a4,32(s0) + 83f4857a: 6434 ld a3,72(s0) + 83f4857c: 973e add a4,a4,a5 + 83f4857e: 96be add a3,a3,a5 + 83f48580: 00072787 flw fa5,0(a4) + 83f48584: 0006a707 flw fa4,0(a3) + for (i=0;i<2*N;i++) + 83f48588: 0791 addi a5,a5,4 + st->frame[i] = st->frame[i] * st->window[i]; + 83f4858a: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f4858e: 00f72027 fsw fa5,0(a4) + for (i=0;i<2*N;i++) + 83f48592: fef493e3 bne s1,a5,83f48578 + + /* Perform overlap and add */ + for (i=0;i + 83f4859a: 6c50 ld a2,152(s0) + 83f4859c: fffa859b addiw a1,s5,-1 + 83f485a0: 02059793 slli a5,a1,0x20 + 83f485a4: 01e7d593 srli a1,a5,0x1e + 83f485a8: 00460793 addi a5,a2,4 + 83f485ac: 7014 ld a3,32(s0) + 83f485ae: 870a mv a4,sp + 83f485b0: 95be add a1,a1,a5 + 83f485b2: a011 j 83f485b6 + 83f485b4: 0791 addi a5,a5,4 + y_tmp[i] = st->outbuf[i] + st->frame[i]; + 83f485b6: 00062787 flw fa5,0(a2) + 83f485ba: 0006a707 flw fa4,0(a3) + for (i=0;ioutbuf[i] + st->frame[i]; + 83f485c2: 00e7f7d3 fadd.s fa5,fa5,fa4 + for (i=0;ioutbuf[i] + st->frame[i]; + 83f485c8: fef72e27 fsw fa5,-4(a4) + for (i=0;i + } + + if (1 == (unsigned short)aes_frame) + 83f485d0: c01917d3 fcvt.wu.s a5,fs2,rtz + 83f485d4: 4705 li a4,1 + 83f485d6: 17c2 slli a5,a5,0x30 + 83f485d8: 93c1 srli a5,a5,0x30 + 83f485da: 14e78d63 beq a5,a4,83f48734 + st->frame1_last_sample = y_tmp[N3-1]; + if (2 == (unsigned short)aes_frame) { + 83f485de: 4709 li a4,2 + 83f485e0: 06e79263 bne a5,a4,83f48644 + alpha2 = 1.0F/160.0F; + alpha = 1 - alpha2; + y_tmp[0] = alpha * st->frame1_last_sample + alpha2 * y_tmp[0]; + 83f485e4: 00012787 flw fa5,0(sp) + 83f485e8: 0000a797 auipc a5,0xa + 83f485ec: d687a687 flw fa3,-664(a5) # 83f52350 <__func__.1+0x158> + 83f485f0: 0e442707 flw fa4,228(s0) + 83f485f4: 10d7f7d3 fmul.s fa5,fa5,fa3 + 83f485f8: 0000a797 auipc a5,0xa + 83f485fc: d5c7a687 flw fa3,-676(a5) # 83f52354 <__func__.1+0x15c> + for (i = 0; i < N3-1; i++) { + 83f48600: fffa869b addiw a3,s5,-1 + y_tmp[0] = alpha * st->frame1_last_sample + alpha2 * y_tmp[0]; + 83f48604: 78d77743 fmadd.s fa4,fa4,fa3,fa5 + 83f48608: 00e12027 fsw fa4,0(sp) + for (i = 0; i < N3-1; i++) { + 83f4860c: 02d05c63 blez a3,83f48644 + 83f48610: 0058 addi a4,sp,4 + 83f48612: 4781 li a5,0 + 83f48614: 0000a617 auipc a2,0xa + 83f48618: d4462587 flw fa1,-700(a2) # 83f52358 <__func__.1+0x160> + alpha2 = (float)(1.0F + i)/160.0F; + 83f4861c: d007f7d3 fcvt.s.w fa5,a5 + alpha = 1 - alpha2; + y_tmp[i+1] = alpha * y_tmp[i] + alpha2 * y_tmp[i+1]; + 83f48620: 00072607 flw fa2,0(a4) + for (i = 0; i < N3-1; i++) { + 83f48624: 0711 addi a4,a4,4 + alpha2 = (float)(1.0F + i)/160.0F; + 83f48626: 0087f7d3 fadd.s fa5,fa5,fs0 + y_tmp[i+1] = alpha * y_tmp[i] + alpha2 * y_tmp[i+1]; + 83f4862a: 2785 addiw a5,a5,1 + alpha2 = (float)(1.0F + i)/160.0F; + 83f4862c: 18b7f7d3 fdiv.s fa5,fa5,fa1 + alpha = 1 - alpha2; + 83f48630: 08f476d3 fsub.s fa3,fs0,fa5 + y_tmp[i+1] = alpha * y_tmp[i] + alpha2 * y_tmp[i+1]; + 83f48634: 10c7f7d3 fmul.s fa5,fa5,fa2 + 83f48638: 78e6f743 fmadd.s fa4,fa3,fa4,fa5 + 83f4863c: fee72e27 fsw fa4,-4(a4) + for (i = 0; i < N3-1; i++) { + 83f48640: fcd79ee3 bne a5,a3,83f4861c + } + } + + for (i=0;i + 83f48648: 3afd addiw s5,s5,-1 + 83f4864a: 020a9793 slli a5,s5,0x20 + 83f4864e: 01e7da93 srli s5,a5,0x1e + y[i] = (short)WORD2INT(y_tmp[i]); + 83f48652: 69a1 lui s3,0x8 + 83f48654: 005c addi a5,sp,4 + 83f48656: 9abe add s5,s5,a5 + 83f48658: 848a mv s1,sp + 83f4865a: 0000a797 auipc a5,0xa + 83f4865e: c367a407 flw fs0,-970(a5) # 83f52290 <__func__.1+0x98> + 83f48662: 0000a797 auipc a5,0xa + 83f48666: c327a487 flw fs1,-974(a5) # 83f52294 <__func__.1+0x9c> + 83f4866a: 19fd addi s3,s3,-1 + 83f4866c: 0000a797 auipc a5,0xa + 83f48670: c2c7b907 fld fs2,-980(a5) # 83f52298 <__func__.1+0xa0> + 83f48674: a031 j 83f48680 + 83f48676: 00f91023 sh a5,0(s2) + for (i=0;i + y[i] = (short)WORD2INT(y_tmp[i]); + 83f48680: 0004a507 flw fa0,0(s1) + 83f48684: 77e1 lui a5,0xffff8 + for (i=0;i + 83f4868e: a0a49753 flt.s a4,fs1,fa0 + 83f48692: 87ce mv a5,s3 + 83f48694: f36d bnez a4,83f48676 + 83f48696: 42050553 fcvt.d.s fa0,fa0 + for (i=0;i + 83f486a4: c20517d3 fcvt.w.d a5,fa0,rtz + 83f486a8: 0107979b slliw a5,a5,0x10 + 83f486ac: 4107d79b sraiw a5,a5,0x10 + 83f486b0: fef91f23 sh a5,-2(s2) + for (i=0;i + 83f486b8: 4701 li a4,0 + + /* Update OLA outbuf */ + for (i=0;ioutbuf[i] = st->frame[st->frame_size+i]; /* output 50% OLA */ + 83f486ba: 401c lw a5,0(s0) + 83f486bc: 7010 ld a2,32(s0) + 83f486be: 6c54 ld a3,152(s0) + 83f486c0: 9fb9 addw a5,a5,a4 + 83f486c2: 078a slli a5,a5,0x2 + 83f486c4: 97b2 add a5,a5,a2 + 83f486c6: 0007a787 flw fa5,0(a5) # ffffffffffff8000 <_end+0xffffffff7bff82c0> + 83f486ca: 00271793 slli a5,a4,0x2 + 83f486ce: 97b6 add a5,a5,a3 + for (i=0;ioutbuf[i] = st->frame[st->frame_size+i]; /* output 50% OLA */ + 83f486d2: 00f7a027 fsw fa5,0(a5) + for (i=0;i + +} + 83f486de: 31813083 ld ra,792(sp) + 83f486e2: 31013403 ld s0,784(sp) + 83f486e6: 30813483 ld s1,776(sp) + 83f486ea: 30013903 ld s2,768(sp) + 83f486ee: 2f813983 ld s3,760(sp) + 83f486f2: 2f013a03 ld s4,752(sp) + 83f486f6: 2e813a83 ld s5,744(sp) + 83f486fa: 2e013b03 ld s6,736(sp) + 83f486fe: 2d813b83 ld s7,728(sp) + 83f48702: 2d013c03 ld s8,720(sp) + 83f48706: 2c813c83 ld s9,712(sp) + 83f4870a: 2c013d03 ld s10,704(sp) + 83f4870e: 2b813407 fld fs0,696(sp) + 83f48712: 2b013487 fld fs1,688(sp) + 83f48716: 2a813907 fld fs2,680(sp) + 83f4871a: 2a013987 fld fs3,672(sp) + 83f4871e: 29813a07 fld fs4,664(sp) + 83f48722: 29013a87 fld fs5,656(sp) + 83f48726: 28813b07 fld fs6,648(sp) + 83f4872a: 28013b87 fld fs7,640(sp) + 83f4872e: 32010113 addi sp,sp,800 + 83f48732: 8082 ret + st->frame1_last_sample = y_tmp[N3-1]; + 83f48734: fffa879b addiw a5,s5,-1 + 83f48738: 078a slli a5,a5,0x2 + 83f4873a: 0518 addi a4,sp,640 + 83f4873c: 97ba add a5,a5,a4 + 83f4873e: d807a787 flw fa5,-640(a5) + 83f48742: 0ef42227 fsw fa5,228(s0) + if (2 == (unsigned short)aes_frame) { + 83f48746: bdfd j 83f48644 + for (i=0;i + 83f48750: b8f9 j 83f4802e + 83f48752: 0000a797 auipc a5,0xa + 83f48756: afe7a407 flw fs0,-1282(a5) # 83f52250 <__func__.1+0x58> + 83f4875a: 0000a797 auipc a5,0xa + 83f4875e: bce7aa87 flw fs5,-1074(a5) # 83f52328 <__func__.1+0x130> + 83f48762: ba55 j 83f48116 + +0000000083f48764 : +#include "packfft.h" +#include "nlpaes_subfun.h" + +/* Function Definitions */ +FilterBank *filterbank_create(int banks, float sampling, int len, int type) +{ + 83f48764: 7135 addi sp,sp,-160 + 83f48766: aca2 fsd fs0,88(sp) + int id1; + int id2; + + type = type; + df = sampling / (float)(2 * len); + max_mel = (float)toBARK(sampling/2); + 83f48768: 0000a797 auipc a5,0xa + 83f4876c: b087a407 flw fs0,-1272(a5) # 83f52270 <__func__.1+0x78> + 83f48770: 10857453 fmul.s fs0,fa0,fs0 +{ + 83f48774: b856 fsd fs5,48(sp) + max_mel = (float)toBARK(sampling/2); + 83f48776: 0000a797 auipc a5,0xa + 83f4877a: c6a7aa87 flw fs5,-918(a5) # 83f523e0 <__func__.1+0x1e8> + df = sampling / (float)(2 * len); + 83f4877e: 0015979b slliw a5,a1,0x1 +{ + 83f48782: bc52 fsd fs4,56(sp) + max_mel = (float)toBARK(sampling/2); + 83f48784: 115477d3 fmul.s fa5,fs0,fs5 + df = sampling / (float)(2 * len); + 83f48788: d007fa53 fcvt.s.w fs4,a5 +{ + 83f4878c: ed06 sd ra,152(sp) + 83f4878e: e922 sd s0,144(sp) + df = sampling / (float)(2 * len); + 83f48790: 19457a53 fdiv.s fs4,fa0,fs4 + max_mel = (float)toBARK(sampling/2); + 83f48794: 42078553 fcvt.d.s fa0,fa5 +{ + 83f48798: e526 sd s1,136(sp) + 83f4879a: e14a sd s2,128(sp) + 83f4879c: 84ae mv s1,a1 + 83f4879e: 892a mv s2,a0 + 83f487a0: fcce sd s3,120(sp) + 83f487a2: f4d6 sd s5,104(sp) + 83f487a4: f0da sd s6,96(sp) + 83f487a6: a8a6 fsd fs1,80(sp) + 83f487a8: a4ca fsd fs2,72(sp) + 83f487aa: a0ce fsd fs3,64(sp) + 83f487ac: b45a fsd fs6,40(sp) + 83f487ae: b05e fsd fs7,32(sp) + 83f487b0: ac62 fsd fs8,24(sp) + 83f487b2: a866 fsd fs9,16(sp) + 83f487b4: f8d2 sd s4,112(sp) + 83f487b6: a46a fsd fs10,8(sp) + max_mel = (float)toBARK(sampling/2); + 83f487b8: dd9f70ef jal ra,83f40590 + 83f487bc: 108477d3 fmul.s fa5,fs0,fs0 + 83f487c0: 0000a797 auipc a5,0xa + 83f487c4: c247ab07 flw fs6,-988(a5) # 83f523e4 <__func__.1+0x1ec> + 83f487c8: 22a504d3 fmv.d fs1,fa0 + mel_interval = max_mel / (float)(banks - 1); + + bank = (FilterBank*)mem_alloc(sizeof(FilterBank)); + bank->nb_banks = banks; + bank->len = len; + bank->bank_left = (int*)mem_alloc(len*sizeof(int)); + 83f487cc: 00249a9b slliw s5,s1,0x2 + mel_interval = max_mel / (float)(banks - 1); + 83f487d0: fff9041b addiw s0,s2,-1 + max_mel = (float)toBARK(sampling/2); + 83f487d4: 1167f553 fmul.s fa0,fa5,fs6 + 83f487d8: 42050553 fcvt.d.s fa0,fa0 + 83f487dc: db5f70ef jal ra,83f40590 + 83f487e0: 0000a797 auipc a5,0xa + 83f487e4: c187bb87 fld fs7,-1000(a5) # 83f523f8 <__func__.1+0x200> + 83f487e8: 13757553 fmul.d fa0,fa0,fs7 + 83f487ec: 0000a797 auipc a5,0xa + 83f487f0: c147bc07 fld fs8,-1004(a5) # 83f52400 <__func__.1+0x208> + uintptr_t *ptr = pvPortMalloc(size); + 83f487f4: 02800513 li a0,40 + 83f487f8: 0000a797 auipc a5,0xa + 83f487fc: bf07ac87 flw fs9,-1040(a5) # 83f523e8 <__func__.1+0x1f0> + 83f48800: 11947953 fmul.s fs2,fs0,fs9 + mel_interval = max_mel / (float)(banks - 1); + 83f48804: d00479d3 fcvt.s.w fs3,s0 + max_mel = (float)toBARK(sampling/2); + 83f48808: 5384f4c3 fmadd.d fs1,fs1,fs8,fa0 + 83f4880c: 579050ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f48810: 02800613 li a2,40 + 83f48814: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f48816: 89aa mv s3,a0 + memset(ptr, 0, size); + 83f48818: 764030ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4881c: 8556 mv a0,s5 + bank->nb_banks = banks; + 83f4881e: 0329a023 sw s2,32(s3) # 8020 <_EL1_STACK_SIZE+0x7820> + bank->len = len; + 83f48822: 0299a223 sw s1,36(s3) + 83f48826: 55f050ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4882a: 8656 mv a2,s5 + 83f4882c: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4882e: 8b2a mv s6,a0 + max_mel = (float)toBARK(sampling/2); + 83f48830: 42090953 fcvt.d.s fs2,fs2 + memset(ptr, 0, size); + 83f48834: 748030ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f48838: 8556 mv a0,s5 + bank->bank_left = (int*)mem_alloc(len*sizeof(int)); + 83f4883a: 0169b023 sd s6,0(s3) + 83f4883e: 547050ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f48842: 8656 mv a2,s5 + 83f48844: 4581 li a1,0 + max_mel = (float)toBARK(sampling/2); + 83f48846: 02997953 fadd.d fs2,fs2,fs1 + uintptr_t *ptr = pvPortMalloc(size); + 83f4884a: 8b2a mv s6,a0 + memset(ptr, 0, size); + 83f4884c: 730030ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f48850: 8556 mv a0,s5 + bank->bank_right = (int*)mem_alloc(len*sizeof(int)); + 83f48852: 0169b423 sd s6,8(s3) + 83f48856: 52f050ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4885a: 8656 mv a2,s5 + 83f4885c: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4885e: 8b2a mv s6,a0 + memset(ptr, 0, size); + 83f48860: 71c030ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f48864: 8556 mv a0,s5 + bank->filter_left = (float*)mem_alloc(len*sizeof(float)); + 83f48866: 0169b823 sd s6,16(s3) + 83f4886a: 51b050ef jal ra,83f4e584 + max_mel = (float)toBARK(sampling/2); + 83f4886e: 40197953 fcvt.s.d fs2,fs2 + 83f48872: 8b2a mv s6,a0 + memset(ptr, 0, size); + 83f48874: 8656 mv a2,s5 + 83f48876: 4581 li a1,0 + 83f48878: 704030ef jal ra,83f4bf7c + bank->filter_right = (float*)mem_alloc(len*sizeof(float)); + 83f4887c: 0169bc23 sd s6,24(s3) + mel_interval = max_mel / (float)(banks - 1); + 83f48880: 193979d3 fdiv.s fs3,fs2,fs3 + + //bank->scaling = (float*)mem_alloc(banks*sizeof(float)); + + for (i=0;i + 83f48888: 4a01 li s4,0 + } else { + val = (mel - id1*mel_interval) / mel_interval; + } + id2 = id1+1; + bank->bank_left[i] = id1; + bank->filter_left[i] = FLOAT_ONE - val; + 83f4888a: 0000a797 auipc a5,0xa + 83f4888e: 9c67ad07 flw fs10,-1594(a5) # 83f52250 <__func__.1+0x58> + id1 = banks-2; + 83f48892: 3979 addiw s2,s2,-2 + 83f48894: a80d j 83f488c6 + 83f48896: 86ca mv a3,s2 + bank->bank_left[i] = id1; + 83f48898: 0009b703 ld a4,0(s3) + 83f4889c: 002a1793 slli a5,s4,0x2 + for (i=0;ibank_left[i] = id1; + 83f488a2: 973e add a4,a4,a5 + 83f488a4: c314 sw a3,0(a4) + bank->filter_left[i] = FLOAT_ONE - val; + 83f488a6: 0109b703 ld a4,16(s3) + 83f488aa: 973e add a4,a4,a5 + 83f488ac: 00e72027 fsw fa4,0(a4) + bank->bank_right[i] = id2; + 83f488b0: 0089b703 ld a4,8(s3) + 83f488b4: 973e add a4,a4,a5 + 83f488b6: c310 sw a2,0(a4) + bank->filter_right[i] = val; + 83f488b8: 0189b703 ld a4,24(s3) + 83f488bc: 97ba add a5,a5,a4 + 83f488be: 00f7a027 fsw fa5,0(a5) + for (i=0;i + curr_freq = (float)(i * df); + 83f488c6: d00a7453 fcvt.s.w fs0,s4 + 83f488ca: 11447453 fmul.s fs0,fs0,fs4 + mel = (float)toBARK(curr_freq); + 83f488ce: 11547553 fmul.s fa0,fs0,fs5 + 83f488d2: 42050553 fcvt.d.s fa0,fa0 + 83f488d6: cbbf70ef jal ra,83f40590 + 83f488da: 108477d3 fmul.s fa5,fs0,fs0 + 83f488de: 22a504d3 fmv.d fs1,fa0 + 83f488e2: 1167f553 fmul.s fa0,fa5,fs6 + 83f488e6: 42050553 fcvt.d.s fa0,fa0 + 83f488ea: ca7f70ef jal ra,83f40590 + 83f488ee: 13757553 fmul.d fa0,fa0,fs7 + 83f488f2: 11947453 fmul.s fs0,fs0,fs9 + 83f488f6: 42040453 fcvt.d.s fs0,fs0 + 83f488fa: 5384f4c3 fmadd.d fs1,fs1,fs8,fa0 + 83f488fe: 02947453 fadd.d fs0,fs0,fs1 + 83f48902: 40147453 fcvt.s.d fs0,fs0 + if (mel > max_mel) + 83f48906: a08917d3 flt.s a5,fs2,fs0 + 83f4890a: ef8d bnez a5,83f48944 + id1 = (int)(floor(mel/mel_interval)); + 83f4890c: 19347553 fdiv.s fa0,fs0,fs3 + 83f48910: 42050553 fcvt.d.s fa0,fa0 + 83f48914: 84ef80ef jal ra,83f40962 + 83f48918: c20517d3 fcvt.w.d a5,fa0,rtz + 83f4891c: f0000753 fmv.w.x fa4,zero + val = FLOAT_ONE; + 83f48920: 21ad07d3 fmv.s fa5,fs10 + id1 = (int)(floor(mel/mel_interval)); + 83f48924: 0007869b sext.w a3,a5 + if (id1>banks-2) { + 83f48928: 8622 mv a2,s0 + 83f4892a: f686d6e3 bge a3,s0,83f48896 + val = (mel - id1*mel_interval) / mel_interval; + 83f4892e: d007f7d3 fcvt.s.w fa5,a5 + id2 = id1+1; + 83f48932: 0017861b addiw a2,a5,1 + val = (mel - id1*mel_interval) / mel_interval; + 83f48936: 4137f7cb fnmsub.s fa5,fa5,fs3,fs0 + 83f4893a: 1937f7d3 fdiv.s fa5,fa5,fs3 + bank->filter_left[i] = FLOAT_ONE - val; + 83f4893e: 08fd7753 fsub.s fa4,fs10,fa5 + 83f48942: bf99 j 83f48898 + for (i=0;inb_banks;i++) + bank->scaling[i] = FLOAT_ONE/(bank->scaling[i]); + #endif + + return bank; +} + 83f48944: 60ea ld ra,152(sp) + 83f48946: 644a ld s0,144(sp) + 83f48948: 64aa ld s1,136(sp) + 83f4894a: 690a ld s2,128(sp) + 83f4894c: 7a46 ld s4,112(sp) + 83f4894e: 7aa6 ld s5,104(sp) + 83f48950: 7b06 ld s6,96(sp) + 83f48952: 2466 fld fs0,88(sp) + 83f48954: 24c6 fld fs1,80(sp) + 83f48956: 2926 fld fs2,72(sp) + 83f48958: 2986 fld fs3,64(sp) + 83f4895a: 3a62 fld fs4,56(sp) + 83f4895c: 3ac2 fld fs5,48(sp) + 83f4895e: 3b22 fld fs6,40(sp) + 83f48960: 3b82 fld fs7,32(sp) + 83f48962: 2c62 fld fs8,24(sp) + 83f48964: 2cc2 fld fs9,16(sp) + 83f48966: 2d22 fld fs10,8(sp) + 83f48968: 854e mv a0,s3 + 83f4896a: 79e6 ld s3,120(sp) + 83f4896c: 610d addi sp,sp,160 + 83f4896e: 8082 ret + +0000000083f48970 : + +inline void filterbank_free(FilterBank *bank) +{ + 83f48970: 1141 addi sp,sp,-16 + 83f48972: e406 sd ra,8(sp) + 83f48974: e022 sd s0,0(sp) + 83f48976: 842a mv s0,a0 + vPortFree(ptr); + 83f48978: 6108 ld a0,0(a0) + 83f4897a: 571050ef jal ra,83f4e6ea + 83f4897e: 6408 ld a0,8(s0) + 83f48980: 56b050ef jal ra,83f4e6ea + 83f48984: 6808 ld a0,16(s0) + 83f48986: 565050ef jal ra,83f4e6ea + 83f4898a: 6c08 ld a0,24(s0) + 83f4898c: 55f050ef jal ra,83f4e6ea + 83f48990: 8522 mv a0,s0 + mem_free(bank->bank_right); + mem_free(bank->filter_left); + mem_free(bank->filter_right); + //mem_free(bank->scaling); + mem_free(bank); +} + 83f48992: 6402 ld s0,0(sp) + 83f48994: 60a2 ld ra,8(sp) + 83f48996: 0141 addi sp,sp,16 + 83f48998: 5530506f j 83f4e6ea + +0000000083f4899c : + +inline void filterbank_linear2sb(FilterBank *bank, float *ps, float *mel) +{ + int i; + for (i=0;inb_banks;i++) + 83f4899c: 511c lw a5,32(a0) + 83f4899e: 00f05b63 blez a5,83f489b4 + 83f489a2: 8732 mv a4,a2 + 83f489a4: 4781 li a5,0 + mel[i] = 0; + 83f489a6: 00072023 sw zero,0(a4) + for (i=0;inb_banks;i++) + 83f489aa: 5114 lw a3,32(a0) + 83f489ac: 2785 addiw a5,a5,1 + 83f489ae: 0711 addi a4,a4,4 + 83f489b0: fed7cbe3 blt a5,a3,83f489a6 + + for (i=0;ilen;i++) { + 83f489b4: 515c lw a5,36(a0) + 83f489b6: 06f05063 blez a5,83f48a16 + 83f489ba: 4681 li a3,0 + int id; + id = bank->bank_left[i]; + 83f489bc: 611c ld a5,0(a0) + 83f489be: 00269713 slli a4,a3,0x2 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f489c2: 01053803 ld a6,16(a0) + id = bank->bank_left[i]; + 83f489c6: 97ba add a5,a5,a4 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f489c8: 439c lw a5,0(a5) + 83f489ca: 983a add a6,a6,a4 + 83f489cc: 0005a687 flw fa3,0(a1) + 83f489d0: 078a slli a5,a5,0x2 + 83f489d2: 97b2 add a5,a5,a2 + 83f489d4: 0007a707 flw fa4,0(a5) + 83f489d8: 00082787 flw fa5,0(a6) + for (i=0;ilen;i++) { + 83f489dc: 0591 addi a1,a1,4 + 83f489de: 0685 addi a3,a3,1 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f489e0: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + for (i=0;ilen;i++) { + 83f489e4: 0006889b sext.w a7,a3 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f489e8: 00f7a027 fsw fa5,0(a5) + id = bank->bank_right[i]; + 83f489ec: 651c ld a5,8(a0) + mel[id] += (bank->filter_right[i] * ps[i]); + 83f489ee: 01853803 ld a6,24(a0) + 83f489f2: ffc5a687 flw fa3,-4(a1) + id = bank->bank_right[i]; + 83f489f6: 97ba add a5,a5,a4 + mel[id] += (bank->filter_right[i] * ps[i]); + 83f489f8: 439c lw a5,0(a5) + 83f489fa: 9742 add a4,a4,a6 + 83f489fc: 00072787 flw fa5,0(a4) + 83f48a00: 078a slli a5,a5,0x2 + 83f48a02: 97b2 add a5,a5,a2 + 83f48a04: 0007a707 flw fa4,0(a5) + 83f48a08: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f48a0c: 00f7a027 fsw fa5,0(a5) + for (i=0;ilen;i++) { + 83f48a10: 515c lw a5,36(a0) + 83f48a12: faf8c5e3 blt a7,a5,83f489bc + + /*for (i=0;inb_banks;i++) + mel[i] = (bank->scaling[i]) * mel[i]; + */ + +} + 83f48a16: 8082 ret + +0000000083f48a18 : + +inline void filterbank_sb2linear(FilterBank *bank, float *mel, float *ps) +{ + int i; + for (i=0;ilen;i++) { + 83f48a18: 515c lw a5,36(a0) + 83f48a1a: 04f05a63 blez a5,83f48a6e + 83f48a1e: 88b2 mv a7,a2 + 83f48a20: 4601 li a2,0 + float tmp; + int id1, id2; + id1 = bank->bank_left[i]; + id2 = bank->bank_right[i]; + 83f48a22: 6518 ld a4,8(a0) + 83f48a24: 00261693 slli a3,a2,0x2 + id1 = bank->bank_left[i]; + 83f48a28: 611c ld a5,0(a0) + id2 = bank->bank_right[i]; + 83f48a2a: 9736 add a4,a4,a3 + tmp = mel[id1] * bank->filter_left[i]; + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a2c: 4318 lw a4,0(a4) + 83f48a2e: 01853803 ld a6,24(a0) + id1 = bank->bank_left[i]; + 83f48a32: 97b6 add a5,a5,a3 + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a34: 070a slli a4,a4,0x2 + 83f48a36: 972e add a4,a4,a1 + 83f48a38: 9836 add a6,a6,a3 + 83f48a3a: 00072787 flw fa5,0(a4) + tmp = mel[id1] * bank->filter_left[i]; + 83f48a3e: 439c lw a5,0(a5) + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a40: 00082707 flw fa4,0(a6) + tmp = mel[id1] * bank->filter_left[i]; + 83f48a44: 6918 ld a4,16(a0) + 83f48a46: 078a slli a5,a5,0x2 + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a48: 10e7f753 fmul.s fa4,fa5,fa4 + tmp = mel[id1] * bank->filter_left[i]; + 83f48a4c: 97ae add a5,a5,a1 + 83f48a4e: 96ba add a3,a3,a4 + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a50: 0007a787 flw fa5,0(a5) + 83f48a54: 0006a687 flw fa3,0(a3) + for (i=0;ilen;i++) { + 83f48a58: 0891 addi a7,a7,4 + 83f48a5a: 0605 addi a2,a2,1 + tmp += (mel[id2] * bank->filter_right[i]); + 83f48a5c: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + for (i=0;ilen;i++) { + 83f48a60: 0006079b sext.w a5,a2 + ps[i] = tmp; + 83f48a64: fef8ae27 fsw fa5,-4(a7) + for (i=0;ilen;i++) { + 83f48a68: 5158 lw a4,36(a0) + 83f48a6a: fae7cce3 blt a5,a4,83f48a22 + } +} + 83f48a6e: 8082 ret + +0000000083f48a70 : + +inline void aes_conj_window(float *w, int len) /* Hanning */ +{ + int i; + for (i=0;i +{ + 83f48a74: 711d addi sp,sp,-96 + 83f48a76: e8a2 sd s0,80(sp) + 83f48a78: e4a6 sd s1,72(sp) + 83f48a7a: e0ca sd s2,64(sp) + 83f48a7c: bc22 fsd fs0,56(sp) + 83f48a7e: b826 fsd fs1,48(sp) + 83f48a80: b44a fsd fs2,40(sp) + 83f48a82: b04e fsd fs3,32(sp) + 83f48a84: ac52 fsd fs4,24(sp) + 83f48a86: a856 fsd fs5,16(sp) + 83f48a88: a45a fsd fs6,8(sp) + 83f48a8a: a05e fsd fs7,0(sp) + float tmp; + float x = (float)(4.f * i) / (float)len; + 83f48a8c: d005fb53 fcvt.s.w fs6,a1 +{ + 83f48a90: ec86 sd ra,88(sp) + 83f48a92: 84ae mv s1,a1 + 83f48a94: 842a mv s0,a0 + for (i=0;i + 83f48aa0: 00009797 auipc a5,0x9 + 83f48aa4: 7b07a487 flw fs1,1968(a5) # 83f52250 <__func__.1+0x58> + 83f48aa8: 0000a797 auipc a5,0xa + 83f48aac: 9447aa87 flw fs5,-1724(a5) # 83f523ec <__func__.1+0x1f4> + 83f48ab0: 0000a797 auipc a5,0xa + 83f48ab4: 9587ba07 fld fs4,-1704(a5) # 83f52408 <__func__.1+0x210> + 83f48ab8: 00009797 auipc a5,0x9 + 83f48abc: 7b87a407 flw fs0,1976(a5) # 83f52270 <__func__.1+0x78> + int inv = 0; + if (x<1.f) { + } else if (x<2.f) { + 83f48ac0: 00009797 auipc a5,0x9 + 83f48ac4: 7cc7a987 flw fs3,1996(a5) # 83f5228c <__func__.1+0x94> + x = 2.f-x; + inv = 1; + } else if (x<3.f) { + 83f48ac8: 0000a797 auipc a5,0xa + 83f48acc: 8087ab87 flw fs7,-2040(a5) # 83f522d0 <__func__.1+0xd8> + 83f48ad0: a081 j 83f48b10 + } else if (x<2.f) { + 83f48ad2: a13517d3 flt.s a5,fa0,fs3 + 83f48ad6: cfd1 beqz a5,83f48b72 + x = 2.f-x; + 83f48ad8: 08a9f553 fsub.s fa0,fs3,fa0 + x = x-2.f; + inv = 1; + } else { + x = 4.f-x; + } + x = 1.271903f * x; + 83f48adc: 11557553 fmul.s fa0,fa0,fs5 + for (i=0;i + 83f48af0: 40157553 fcvt.s.d fa0,fa0 + 83f48af4: 4085754b fnmsub.s fa0,fa0,fs0,fs0 + tmp = tmp * tmp; + if (inv) + tmp = FLOAT_ONE - tmp; + 83f48af8: 48a5754b fnmsub.s fa0,fa0,fa0,fs1 + w[i] = (float)math_sqrt(tmp); + 83f48afc: 42050553 fcvt.d.s fa0,fa0 + 83f48b00: af2f80ef jal ra,83f40df2 + 83f48b04: 40157553 fcvt.s.d fa0,fa0 + 83f48b08: fea42e27 fsw fa0,-4(s0) + for (i=0;i + float x = (float)(4.f * i) / (float)len; + 83f48b10: d0097553 fcvt.s.w fa0,s2 + 83f48b14: 11257553 fmul.s fa0,fa0,fs2 + 83f48b18: 19657553 fdiv.s fa0,fa0,fs6 + if (x<1.f) { + 83f48b1c: a09517d3 flt.s a5,fa0,fs1 + 83f48b20: dbcd beqz a5,83f48ad2 + x = 1.271903f * x; + 83f48b22: 11557553 fmul.s fa0,fa0,fs5 + tmp = .5f-.5f * (float)math_cos_norm(x); /* Hanning */ + 83f48b26: 42050553 fcvt.d.s fa0,fa0 + 83f48b2a: 13457553 fmul.d fa0,fa0,fs4 + 83f48b2e: da5f70ef jal ra,83f408d2 + 83f48b32: 40157553 fcvt.s.d fa0,fa0 + 83f48b36: 4085754b fnmsub.s fa0,fa0,fs0,fs0 + tmp = tmp * tmp; + 83f48b3a: 10a57553 fmul.s fa0,fa0,fa0 + w[i] = (float)math_sqrt(tmp); + 83f48b3e: 42050553 fcvt.d.s fa0,fa0 + for (i=0;i + 83f48b4a: 40157553 fcvt.s.d fa0,fa0 + 83f48b4e: fea42e27 fsw fa0,-4(s0) + for (i=0;i + + } +} + 83f48b56: 60e6 ld ra,88(sp) + 83f48b58: 6446 ld s0,80(sp) + 83f48b5a: 64a6 ld s1,72(sp) + 83f48b5c: 6906 ld s2,64(sp) + 83f48b5e: 3462 fld fs0,56(sp) + 83f48b60: 34c2 fld fs1,48(sp) + 83f48b62: 3922 fld fs2,40(sp) + 83f48b64: 3982 fld fs3,32(sp) + 83f48b66: 2a62 fld fs4,24(sp) + 83f48b68: 2ac2 fld fs5,16(sp) + 83f48b6a: 2b22 fld fs6,8(sp) + 83f48b6c: 2b82 fld fs7,0(sp) + 83f48b6e: 6125 addi sp,sp,96 + 83f48b70: 8082 ret + } else if (x<3.f) { + 83f48b72: a17517d3 flt.s a5,fa0,fs7 + 83f48b76: c781 beqz a5,83f48b7e + x = x-2.f; + 83f48b78: 09357553 fsub.s fa0,fa0,fs3 + inv = 1; + 83f48b7c: b785 j 83f48adc + x = 4.f-x; + 83f48b7e: 08a97553 fsub.s fa0,fs2,fa0 + x = 1.271903f * x; + 83f48b82: 11557553 fmul.s fa0,fa0,fs5 + tmp = .5f-.5f * (float)math_cos_norm(x); /* Hanning */ + 83f48b86: 42050553 fcvt.d.s fa0,fa0 + 83f48b8a: 13457553 fmul.d fa0,fa0,fs4 + 83f48b8e: d45f70ef jal ra,83f408d2 + 83f48b92: 40157553 fcvt.s.d fa0,fa0 + 83f48b96: 4085754b fnmsub.s fa0,fa0,fs0,fs0 + tmp = tmp * tmp; + 83f48b9a: 10a57553 fmul.s fa0,fa0,fa0 + if (inv) + 83f48b9e: b745 j 83f48b3e + 83f48ba0: 8082 ret + +0000000083f48ba2 : + +inline float aes_hypergeom_gain(float vk) +{ + 83f48ba2: 1101 addi sp,sp,-32 + 83f48ba4: a422 fsd fs0,8(sp) + 0.82157f, 1.02017f, 1.20461f, 1.37534f, 1.53363f, 1.68092f, 1.81865f, + 1.94811f, 2.07038f, 2.18638f, 2.29688f, 2.40255f, 2.50391f, 2.60144f, + 2.69551f, 2.78647f, 2.87458f, 2.96015f, 3.04333f, 3.12431f, 3.20326f}; + + x = AES_EXPIN_SCALING*vk; + integer = (float)floor(2*x); + 83f48ba6: 00a57453 fadd.s fs0,fa0,fa0 +{ + 83f48baa: a026 fsd fs1,0(sp) + 83f48bac: 20a504d3 fmv.s fs1,fa0 + 83f48bb0: ec06 sd ra,24(sp) + integer = (float)floor(2*x); + 83f48bb2: 42040553 fcvt.d.s fa0,fs0 + 83f48bb6: dadf70ef jal ra,83f40962 + 83f48bba: 40157553 fcvt.s.d fa0,fa0 + ind = (int)integer; + 83f48bbe: c00517d3 fcvt.w.s a5,fa0,rtz + 83f48bc2: 0007871b sext.w a4,a5 + if (ind<0) + 83f48bc6: 08074863 bltz a4,83f48c56 + return AES_FRAC_SCALING; + if (ind>19) + 83f48bca: 46cd li a3,19 + 83f48bcc: 02e6d763 bge a3,a4,83f48bfa + return (float)(AES_FRAC_SCALING*(1.f+.1296/x)); + 83f48bd0: 420484d3 fcvt.d.s fs1,fs1 + 83f48bd4: 0000a797 auipc a5,0xa + 83f48bd8: 83c7b507 fld fa0,-1988(a5) # 83f52410 <__func__.1+0x218> + 83f48bdc: 00009797 auipc a5,0x9 + 83f48be0: 7347b787 fld fa5,1844(a5) # 83f52310 <__func__.1+0x118> + 83f48be4: 1a957553 fdiv.d fa0,fa0,fs1 + frac = 2*x-integer; + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + +} + 83f48be8: 60e2 ld ra,24(sp) + 83f48bea: 2422 fld fs0,8(sp) + 83f48bec: 2482 fld fs1,0(sp) + 83f48bee: 6105 addi sp,sp,32 + return (float)(AES_FRAC_SCALING*(1.f+.1296/x)); + 83f48bf0: 02f57553 fadd.d fa0,fa0,fa5 + 83f48bf4: 40157553 fcvt.s.d fa0,fa0 +} + 83f48bf8: 8082 ret + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + 83f48bfa: 2785 addiw a5,a5,1 + frac = 2*x-integer; + 83f48bfc: 08a47553 fsub.s fa0,fs0,fa0 + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + 83f48c00: 00009697 auipc a3,0x9 + 83f48c04: 33068693 addi a3,a3,816 # 83f51f30 + 83f48c08: 078a slli a5,a5,0x2 + 83f48c0a: 97b6 add a5,a5,a3 + 83f48c0c: 0007a787 flw fa5,0(a5) + 83f48c10: 00009797 auipc a5,0x9 + 83f48c14: 6407a407 flw fs0,1600(a5) # 83f52250 <__func__.1+0x58> + 83f48c18: 08a47453 fsub.s fs0,fs0,fa0 + 83f48c1c: 10f577d3 fmul.s fa5,fa0,fa5 + 83f48c20: 070a slli a4,a4,0x2 + 83f48c22: 9736 add a4,a4,a3 + 83f48c24: 00009797 auipc a5,0x9 + 83f48c28: 7c47a507 flw fa0,1988(a5) # 83f523e8 <__func__.1+0x1f0> + 83f48c2c: 00a4f553 fadd.s fa0,fs1,fa0 + 83f48c30: 00072707 flw fa4,0(a4) + 83f48c34: 78e47443 fmadd.s fs0,fs0,fa4,fa5 + 83f48c38: 42050553 fcvt.d.s fa0,fa0 + 83f48c3c: 9b6f80ef jal ra,83f40df2 + 83f48c40: 42040453 fcvt.d.s fs0,fs0 +} + 83f48c44: 60e2 ld ra,24(sp) + 83f48c46: 2482 fld fs1,0(sp) + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + 83f48c48: 1aa47553 fdiv.d fa0,fs0,fa0 +} + 83f48c4c: 2422 fld fs0,8(sp) + 83f48c4e: 6105 addi sp,sp,32 + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + 83f48c50: 40157553 fcvt.s.d fa0,fa0 +} + 83f48c54: 8082 ret + 83f48c56: 60e2 ld ra,24(sp) + 83f48c58: 2422 fld fs0,8(sp) + 83f48c5a: 2482 fld fs1,0(sp) + return AES_FRAC_SCALING; + 83f48c5c: 00009797 auipc a5,0x9 + 83f48c60: 5f47a507 flw fa0,1524(a5) # 83f52250 <__func__.1+0x58> +} + 83f48c64: 6105 addi sp,sp,32 + 83f48c66: 8082 ret + +0000000083f48c68 : + +inline float aes_qcurve(float x) +{ + return 1.f/(1.f+.15f/(AES_SNR_SCALING*x)); + 83f48c68: 00009797 auipc a5,0x9 + 83f48c6c: 6547a787 flw fa5,1620(a5) # 83f522bc <__func__.1+0xc4> + 83f48c70: 18a7f7d3 fdiv.s fa5,fa5,fa0 + 83f48c74: 00009797 auipc a5,0x9 + 83f48c78: 5dc7a707 flw fa4,1500(a5) # 83f52250 <__func__.1+0x58> + 83f48c7c: 00e7f7d3 fadd.s fa5,fa5,fa4 +} + 83f48c80: 18f77553 fdiv.s fa0,fa4,fa5 + 83f48c84: 8082 ret + +0000000083f48c86 : +inline void aes_gain_floor(float effective_echo_suppress, float *echo, float *gain_floor, int len) +{ + int i; + float echo_floor; + + echo_floor = (float)exp(.2302585f * effective_echo_suppress); + 83f48c86: 00009797 auipc a5,0x9 + 83f48c8a: 76a7a787 flw fa5,1898(a5) # 83f523f0 <__func__.1+0x1f8> + 83f48c8e: 10f57553 fmul.s fa0,fa0,fa5 +{ + 83f48c92: 7139 addi sp,sp,-64 + 83f48c94: f04a sd s2,32(sp) + 83f48c96: 8932 mv s2,a2 + 83f48c98: f822 sd s0,48(sp) + echo_floor = (float)exp(.2302585f * effective_echo_suppress); + 83f48c9a: 42050553 fcvt.d.s fa0,fa0 +{ + 83f48c9e: f426 sd s1,40(sp) + 83f48ca0: fc06 sd ra,56(sp) + 83f48ca2: ac22 fsd fs0,24(sp) + 83f48ca4: a826 fsd fs1,16(sp) + 83f48ca6: a44a fsd fs2,8(sp) + 83f48ca8: 842a mv s0,a0 + 83f48caa: 84ae mv s1,a1 + echo_floor = (float)exp(.2302585f * effective_echo_suppress); + 83f48cac: f35f70ef jal ra,83f40be0 + + /* Compute the gain floor for the residual echo */ + for (i=0;i + 83f48cb4: 397d addiw s2,s2,-1 + 83f48cb6: 02091793 slli a5,s2,0x20 + 83f48cba: 401574d3 fcvt.s.d fs1,fa0 + 83f48cbe: 01e7d913 srli s2,a5,0x1e + 83f48cc2: 00440793 addi a5,s0,4 + 83f48cc6: 993e add s2,s2,a5 + 83f48cc8: 00009797 auipc a5,0x9 + 83f48ccc: 5887a907 flw fs2,1416(a5) # 83f52250 <__func__.1+0x58> + gain_floor[i] = AES_FRAC_SCALING * (float)sqrt(echo_floor * echo[i]) / (float)sqrt(1.f + echo[i]); + 83f48cd0: 00042507 flw fa0,0(s0) + for (i=0;i + 83f48ce4: ffc42787 flw fa5,-4(s0) + 83f48ce8: 22a50453 fmv.d fs0,fa0 + 83f48cec: 0127f553 fadd.s fa0,fa5,fs2 + 83f48cf0: 42050553 fcvt.d.s fa0,fa0 + 83f48cf4: 8fef80ef jal ra,83f40df2 + 83f48cf8: 40157553 fcvt.s.d fa0,fa0 + 83f48cfc: 40147453 fcvt.s.d fs0,fs0 + 83f48d00: 18a47453 fdiv.s fs0,fs0,fa0 + 83f48d04: fe84ae27 fsw fs0,-4(s1) + for (i=0;i +} + 83f48d0c: 70e2 ld ra,56(sp) + 83f48d0e: 7442 ld s0,48(sp) + 83f48d10: 74a2 ld s1,40(sp) + 83f48d12: 7902 ld s2,32(sp) + 83f48d14: 2462 fld fs0,24(sp) + 83f48d16: 24c2 fld fs1,16(sp) + 83f48d18: 2922 fld fs2,8(sp) + 83f48d1a: 6121 addi sp,sp,64 + 83f48d1c: 8082 ret + +0000000083f48d1e : + +inline void aes_analysis(NonLinearEchoState *st, short *x) +{ + 83f48d1e: 1101 addi sp,sp,-32 + 83f48d20: e822 sd s0,16(sp) + 83f48d22: ec06 sd ra,24(sp) + 83f48d24: e426 sd s1,8(sp) + 83f48d26: e04a sd s2,0(sp) + int i; + int N = st->ps_size; + 83f48d28: 00452903 lw s2,4(a0) + int N3 = 2*N - st->frame_size; + 83f48d2c: 411c lw a5,0(a0) + float *ps = st->ps; + 83f48d2e: 7904 ld s1,48(a0) + int N3 = 2*N - st->frame_size; + 83f48d30: 0019189b slliw a7,s2,0x1 +{ + 83f48d34: 842a mv s0,a0 + int N3 = 2*N - st->frame_size; + 83f48d36: 40f8853b subw a0,a7,a5 + + /* Build input buffer for windowing */ + for (i=0;iframe_size;i++) { + 83f48d3a: 04f05663 blez a5,83f48d86 + 83f48d3e: 050a slli a0,a0,0x2 + 83f48d40: 4781 li a5,0 + st->frame[i] = st->inbuf[i]; /* take data in previous frame */ + 83f48d42: 6850 ld a2,144(s0) + 83f48d44: 00279693 slli a3,a5,0x2 + 83f48d48: 7018 ld a4,32(s0) + 83f48d4a: 9636 add a2,a2,a3 + 83f48d4c: 00062787 flw fa5,0(a2) + 83f48d50: 9736 add a4,a4,a3 + for (i=0;iframe_size;i++) { + 83f48d52: 0589 addi a1,a1,2 + st->frame[i] = st->inbuf[i]; /* take data in previous frame */ + 83f48d54: 00f72027 fsw fa5,0(a4) + st->frame[N3+i] = x[i]; /* take data in current frame */ + 83f48d58: ffe59803 lh a6,-2(a1) + 83f48d5c: 7018 ld a4,32(s0) + for (i=0;iframe_size;i++) { + 83f48d5e: 0785 addi a5,a5,1 + st->frame[N3+i] = x[i]; /* take data in current frame */ + 83f48d60: d00877d3 fcvt.s.w fa5,a6 + 83f48d64: 972a add a4,a4,a0 + for (i=0;iframe_size;i++) { + 83f48d66: 0007861b sext.w a2,a5 + st->frame[N3+i] = x[i]; /* take data in current frame */ + 83f48d6a: 00f72027 fsw fa5,0(a4) + st->inbuf[i] = x[i]; /* update data in previous frame */ + 83f48d6e: ffe59803 lh a6,-2(a1) + 83f48d72: 6858 ld a4,144(s0) + for (i=0;iframe_size;i++) { + 83f48d74: 0511 addi a0,a0,4 + st->inbuf[i] = x[i]; /* update data in previous frame */ + 83f48d76: d00877d3 fcvt.s.w fa5,a6 + 83f48d7a: 9736 add a4,a4,a3 + 83f48d7c: 00f72027 fsw fa5,0(a4) + for (i=0;iframe_size;i++) { + 83f48d80: 4018 lw a4,0(s0) + 83f48d82: fce640e3 blt a2,a4,83f48d42 + } + + /* Windowing */ + for (i=0;i<2*N;i++) + 83f48d86: 03105463 blez a7,83f48dae + 83f48d8a: 00289613 slli a2,a7,0x2 + 83f48d8e: 4781 li a5,0 + st->frame[i] = st->frame[i] * st->window[i]; + 83f48d90: 7018 ld a4,32(s0) + 83f48d92: 6434 ld a3,72(s0) + 83f48d94: 973e add a4,a4,a5 + 83f48d96: 96be add a3,a3,a5 + 83f48d98: 00072787 flw fa5,0(a4) + 83f48d9c: 0006a707 flw fa4,0(a3) + for (i=0;i<2*N;i++) + 83f48da0: 0791 addi a5,a5,4 + st->frame[i] = st->frame[i] * st->window[i]; + 83f48da2: 10e7f7d3 fmul.s fa5,fa5,fa4 + 83f48da6: 00f72027 fsw fa5,0(a4) + for (i=0;i<2*N;i++) + 83f48daa: fef613e3 bne a2,a5,83f48d90 + + /* Perform FFT */ + speech_fft(st->fft_lookup, st->frame, st->ft); + 83f48dae: 7410 ld a2,40(s0) + 83f48db0: 700c ld a1,32(s0) + 83f48db2: 7448 ld a0,168(s0) + 83f48db4: 2e8000ef jal ra,83f4909c + + /* Power spectrum */ + ps[0] = st->ft[0] * st->ft[0]; /* re^2 */ + 83f48db8: 7418 ld a4,40(s0) + for (i=1;ift[0] * st->ft[0]; /* re^2 */ + 83f48dbc: 00072787 flw fa5,0(a4) + 83f48dc0: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f48dc4: 00f4a027 fsw fa5,0(s1) + for (i=1;i + 83f48dcc: ffe9061b addiw a2,s2,-2 + 83f48dd0: 02061793 slli a5,a2,0x20 + 83f48dd4: 01d7d613 srli a2,a5,0x1d + 83f48dd8: 00448693 addi a3,s1,4 + 83f48ddc: 0631 addi a2,a2,12 + 83f48dde: 4711 li a4,4 + ps[i] = st->ft[2*i-1] * st->ft[2*i-1] + st->ft[2*i] * st->ft[2*i]; /* re^2 + im^2 */ + 83f48de0: 741c ld a5,40(s0) + for (i=1;ift[2*i-1] * st->ft[2*i-1] + st->ft[2*i] * st->ft[2*i]; /* re^2 + im^2 */ + 83f48de4: 97ba add a5,a5,a4 + 83f48de6: 0047a707 flw fa4,4(a5) + 83f48dea: 0007a787 flw fa5,0(a5) + for (i=1;ift[2*i-1] * st->ft[2*i-1] + st->ft[2*i] * st->ft[2*i]; /* re^2 + im^2 */ + 83f48df0: 10e77753 fmul.s fa4,fa4,fa4 + 83f48df4: 70f7f7c3 fmadd.s fa5,fa5,fa5,fa4 + 83f48df8: fef6ae27 fsw fa5,-4(a3) + for (i=1;i + + filterbank_linear2sb(st->bank, ps, ps+N); + 83f48e00: 6818 ld a4,16(s0) + 83f48e02: 090a slli s2,s2,0x2 + 83f48e04: 9926 add s2,s2,s1 + for (i=0;inb_banks;i++) + 83f48e06: 531c lw a5,32(a4) + 83f48e08: 00f05b63 blez a5,83f48e1e + 83f48e0c: 86ca mv a3,s2 + 83f48e0e: 4781 li a5,0 + mel[i] = 0; + 83f48e10: 0006a023 sw zero,0(a3) + for (i=0;inb_banks;i++) + 83f48e14: 5310 lw a2,32(a4) + 83f48e16: 2785 addiw a5,a5,1 + 83f48e18: 0691 addi a3,a3,4 + 83f48e1a: fec7cbe3 blt a5,a2,83f48e10 + for (i=0;ilen;i++) { + 83f48e1e: 535c lw a5,36(a4) + 83f48e20: 04f05f63 blez a5,83f48e7e + 83f48e24: 8626 mv a2,s1 + 83f48e26: 4581 li a1,0 + id = bank->bank_left[i]; + 83f48e28: 631c ld a5,0(a4) + 83f48e2a: 00259693 slli a3,a1,0x2 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f48e2e: 6b08 ld a0,16(a4) + id = bank->bank_left[i]; + 83f48e30: 97b6 add a5,a5,a3 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f48e32: 439c lw a5,0(a5) + 83f48e34: 9536 add a0,a0,a3 + 83f48e36: 00062687 flw fa3,0(a2) + 83f48e3a: 078a slli a5,a5,0x2 + 83f48e3c: 97ca add a5,a5,s2 + 83f48e3e: 0007a707 flw fa4,0(a5) + 83f48e42: 00052787 flw fa5,0(a0) + for (i=0;ilen;i++) { + 83f48e46: 0611 addi a2,a2,4 + 83f48e48: 0585 addi a1,a1,1 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f48e4a: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + for (i=0;ilen;i++) { + 83f48e4e: 0005881b sext.w a6,a1 + mel[id] += (bank->filter_left[i] * ps[i]); + 83f48e52: 00f7a027 fsw fa5,0(a5) + id = bank->bank_right[i]; + 83f48e56: 671c ld a5,8(a4) + mel[id] += (bank->filter_right[i] * ps[i]); + 83f48e58: 6f08 ld a0,24(a4) + 83f48e5a: ffc62687 flw fa3,-4(a2) + id = bank->bank_right[i]; + 83f48e5e: 97b6 add a5,a5,a3 + mel[id] += (bank->filter_right[i] * ps[i]); + 83f48e60: 439c lw a5,0(a5) + 83f48e62: 96aa add a3,a3,a0 + 83f48e64: 0006a787 flw fa5,0(a3) + 83f48e68: 078a slli a5,a5,0x2 + 83f48e6a: 97ca add a5,a5,s2 + 83f48e6c: 0007a707 flw fa4,0(a5) + 83f48e70: 70d7f7c3 fmadd.s fa5,fa5,fa3,fa4 + 83f48e74: 00f7a027 fsw fa5,0(a5) + for (i=0;ilen;i++) { + 83f48e78: 535c lw a5,36(a4) + 83f48e7a: faf847e3 blt a6,a5,83f48e28 + +} + 83f48e7e: 60e2 ld ra,24(sp) + 83f48e80: 6442 ld s0,16(sp) + 83f48e82: 64a2 ld s1,8(sp) + 83f48e84: 6902 ld s2,0(sp) + 83f48e86: 6105 addi sp,sp,32 + 83f48e88: 8082 ret + +0000000083f48e8a : + {8192,0,8192,0,-16096, 16240} + }; + + /* Notch Filter Parameter */ + para_obj = para; + tmp = MIN(MAX(para_obj->para_notch_freq, 0), 1); /* the notch freq, 0 for 1kHz and 1 for 4kHz */ + 83f48e8a: 01c5d783 lhu a5,28(a1) + 83f48e8e: 0107971b slliw a4,a5,0x10 + 83f48e92: 4107571b sraiw a4,a4,0x10 + 83f48e96: c311 beqz a4,83f48e9a + 83f48e98: 4785 li a5,1 + if (Fs == 8000.0F) + 83f48e9a: 00009717 auipc a4,0x9 + 83f48e9e: 51a72787 flw fa5,1306(a4) # 83f523b4 <__func__.1+0x1bc> + 83f48ea2: 03079713 slli a4,a5,0x30 + 83f48ea6: 9341 srli a4,a4,0x30 + 83f48ea8: a0f526d3 feq.s a3,fa0,fa5 + 83f48eac: 00171793 slli a5,a4,0x1 + 83f48eb0: 97ba add a5,a5,a4 + 83f48eb2: 078a slli a5,a5,0x2 + 83f48eb4: ca81 beqz a3,83f48ec4 + notch_obj->qcoef = &nb_notch_coef[tmp][0]; + 83f48eb6: 0000a717 auipc a4,0xa + 83f48eba: 20a70713 addi a4,a4,522 # 83f530c0 + 83f48ebe: 97ba add a5,a5,a4 + 83f48ec0: e11c sd a5,0(a0) + else + notch_obj->qcoef = &wb_notch_coef[tmp][0]; + +} + 83f48ec2: 8082 ret + notch_obj->qcoef = &wb_notch_coef[tmp][0]; + 83f48ec4: 0000a717 auipc a4,0xa + 83f48ec8: 21470713 addi a4,a4,532 # 83f530d8 + 83f48ecc: 97ba add a5,a5,a4 + 83f48ece: e11c sd a5,0(a0) +} + 83f48ed0: 8082 ret + +0000000083f48ed2 : +void notch_init(qfilter_struct *notch_obj, int *notch_state) +{ + unsigned short i; + + for(i=0; i<4;i++) { + notch_state[i] = 0; + 83f48ed2: 0005a023 sw zero,0(a1) + 83f48ed6: 0005a223 sw zero,4(a1) + 83f48eda: 0005a423 sw zero,8(a1) + 83f48ede: 0005a623 sw zero,12(a1) + } + + notch_obj->nq = 1; + 83f48ee2: 4785 li a5,1 + 83f48ee4: 00f51823 sh a5,16(a0) + notch_obj->pstate = notch_state; + 83f48ee8: e50c sd a1,8(a0) + +} + 83f48eea: 8082 ret + +0000000083f48eec : + + //initialize + acc0 =0; + + ptr1 = pin; + ptr2 = pout; + 83f48eec: 00169793 slli a5,a3,0x1 +{ + 83f48ef0: 7159 addi sp,sp,-112 + 83f48ef2: 97aa add a5,a5,a0 + 83f48ef4: f4a2 sd s0,104(sp) + 83f48ef6: f0a6 sd s1,96(sp) + 83f48ef8: ecca sd s2,88(sp) + 83f48efa: e8ce sd s3,80(sp) + 83f48efc: e4d2 sd s4,72(sp) + 83f48efe: e0d6 sd s5,64(sp) + 83f48f00: fc5a sd s6,56(sp) + 83f48f02: f85e sd s7,48(sp) + 83f48f04: f462 sd s8,40(sp) + 83f48f06: f066 sd s9,32(sp) + 83f48f08: ec6a sd s10,24(sp) + 83f48f0a: e86e sd s11,16(sp) + 83f48f0c: e43e sd a5,8(sp) + + for(i = frame_size; i > 0; i--) { + 83f48f0e: 10d05a63 blez a3,83f49022 + acc0 = (((int)((int)acc0>>16)) * (*pcoef)); + else + acc0 = -(((int)(-(int)acc0>>16)) * (*pcoef)); /* remove zero-inputs-limit-cycle osicillation */ + + //acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, (((int)acc0)<<3)))); + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, ((acc0)<<3)))); /* Q3.13 */ + 83f48f12: 80000db7 lui s11,0x80000 + acc0 = ((unsigned short)(xn))*(*pcoef++); /* low part */ + 83f48f16: 63c1 lui t2,0x10 + 83f48f18: 8baa mv s7,a0 + 83f48f1a: 8c2e mv s8,a1 + 83f48f1c: 8cb2 mv s9,a2 + 83f48f1e: 4781 li a5,0 + 83f48f20: 13fd addi t2,t2,-1 + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, ((acc0)<<3)))); /* Q3.13 */ + 83f48f22: fffdcd13 not s10,s11 + xn = (((int) (*ptr1++))<<16); + 83f48f26: 000b9e83 lh t4,0(s7) + for(j = filter->nq; j > 0; j--) { + 83f48f2a: 010cdb03 lhu s6,16(s9) + pcoef = filter->qcoef; + 83f48f2e: 000cba83 ld s5,0(s9) + pst = filter->pstate; + 83f48f32: 008cb703 ld a4,8(s9) + xn = (((int) (*ptr1++))<<16); + 83f48f36: 0b89 addi s7,s7,2 + 83f48f38: 010e9e9b slliw t4,t4,0x10 + for(j = filter->nq; j > 0; j--) { + 83f48f3c: 100b0a63 beqz s6,83f49050 + 83f48f40: 004b1a13 slli s4,s6,0x4 + 83f48f44: 9a3a add s4,s4,a4 + pcoef = filter->qcoef; + 83f48f46: 8356 mv t1,s5 + xn1 = *pst; /* take x(n-1) */ + 83f48f48: 4314 lw a3,0(a4) + acc0 = ((unsigned short)(xn))*(*pcoef++); /* low part */ + 83f48f4a: 00031983 lh s3,0(t1) + *pst++ = xn; /* update x(n-1)*/ + 83f48f4e: 01d72023 sw t4,0(a4) + acc0 += ((unsigned short)(xn1))*(*pcoef++); /* low part */ + 83f48f52: 00231903 lh s2,2(t1) + xn2 = *pst; /* take x(n-2) */ + 83f48f56: 00472803 lw a6,4(a4) + *pst++ = xn1; /* update x(n-2) */ + 83f48f5a: c354 sw a3,4(a4) + acc0 += ((unsigned short)(xn2))*(*pcoef++); /* low part */ + 83f48f5c: 00431483 lh s1,4(t1) + yn1 = *pst++; /* take y(n-1) */ + 83f48f60: 470c lw a1,8(a4) + acc0 += ((unsigned short)(yn1))*(*pcoef++); /* low part */ + 83f48f62: 00631403 lh s0,6(t1) + yn2 = *pst; /* take y(n-2) */ + 83f48f66: 475c lw a5,12(a4) + acc0 = ((unsigned short)(xn))*(*pcoef++); /* low part */ + 83f48f68: 007ef633 and a2,t4,t2 + acc0 += ((unsigned short)(xn1))*(*pcoef++); /* low part */ + 83f48f6c: 0076f2b3 and t0,a3,t2 + coef_tmp5 = *pcoef; /* for high part */ + 83f48f70: 00831503 lh a0,8(t1) + acc0 += ((unsigned short)(xn2))*(*pcoef++); /* low part */ + 83f48f74: 00787fb3 and t6,a6,t2 + acc0 = ((unsigned short)(xn))*(*pcoef++); /* low part */ + 83f48f78: 02c9863b mulw a2,s3,a2 + acc0 += ((unsigned short)(yn1))*(*pcoef++); /* low part */ + 83f48f7c: 0075ff33 and t5,a1,t2 + acc0 += ((unsigned short)(yn2))*(*pcoef++); /* low part */ + 83f48f80: 0077f8b3 and a7,a5,t2 + state_tmp1 = ((short)(xn>>0x10)); /* for high part */ + 83f48f84: 410ede9b sraiw t4,t4,0x10 + state_tmp2 = ((short)(xn1>>0x10)); /* for high part */ + 83f48f88: 4106d69b sraiw a3,a3,0x10 + state_tmp3 = ((short)(xn2>>0x10)); /* for high part */ + 83f48f8c: 4108581b sraiw a6,a6,0x10 + state_tmp4 = ((short)(yn1>>0x10)); /* for high part */ + 83f48f90: 4105de1b sraiw t3,a1,0x10 + state_tmp5 = ((short)(yn2>>0x10)); /* for high part */ + 83f48f94: 4107d79b sraiw a5,a5,0x10 + 83f48f98: 0741 addi a4,a4,16 + *pst++ = yn1; /* update y(n-2) */ + 83f48f9a: feb72e23 sw a1,-4(a4) + acc0 += ((unsigned short)(xn1))*(*pcoef++); /* low part */ + 83f48f9e: 025902bb mulw t0,s2,t0 + 83f48fa2: 0329 addi t1,t1,10 + acc0 += ((unsigned short)(xn2))*(*pcoef++); /* low part */ + 83f48fa4: 03f48fbb mulw t6,s1,t6 + acc0 += ((unsigned short)(xn1))*(*pcoef++); /* low part */ + 83f48fa8: 9616 add a2,a2,t0 + acc0 += ((unsigned short)(yn1))*(*pcoef++); /* low part */ + 83f48faa: 03e40f3b mulw t5,s0,t5 + acc0 += ((unsigned short)(xn2))*(*pcoef++); /* low part */ + 83f48fae: 9fb2 add t6,t6,a2 + acc0 += ((unsigned short)(yn2))*(*pcoef++); /* low part */ + 83f48fb0: 02a888bb mulw a7,a7,a0 + acc0 += ((unsigned short)(yn1))*(*pcoef++); /* low part */ + 83f48fb4: 9f7e add t5,t5,t6 + acc0 += ((short)(state_tmp1))*coef_tmp1; /* high part */ + 83f48fb6: 033e8ebb mulw t4,t4,s3 + acc0 += ((unsigned short)(yn2))*(*pcoef++); /* low part */ + 83f48fba: 98fa add a7,a7,t5 + acc0 >>= 0x10; /* be low part */ + 83f48fbc: 4108d893 srai a7,a7,0x10 + acc0 += ((short)(state_tmp2))*coef_tmp2; /* high part */ + 83f48fc0: 032686bb mulw a3,a3,s2 + acc0 += ((short)(state_tmp1))*coef_tmp1; /* high part */ + 83f48fc4: 9ec6 add t4,t4,a7 + acc0 += ((short)(state_tmp3))*coef_tmp3; /* high part */ + 83f48fc6: 0298083b mulw a6,a6,s1 + acc0 += ((short)(state_tmp2))*coef_tmp2; /* high part */ + 83f48fca: 9eb6 add t4,t4,a3 + acc0 += ((short)(state_tmp4))*coef_tmp4; /* high part */ + 83f48fcc: 028e0e3b mulw t3,t3,s0 + acc0 += ((short)(state_tmp3))*coef_tmp3; /* high part */ + 83f48fd0: 9876 add a6,a6,t4 + acc0 += ((short)(state_tmp5))*coef_tmp5; /* high part */ + 83f48fd2: 02a78ebb mulw t4,a5,a0 + acc0 += ((short)(state_tmp4))*coef_tmp4; /* high part */ + 83f48fd6: 9e42 add t3,t3,a6 + acc0 += ((short)(state_tmp5))*coef_tmp5; /* high part */ + 83f48fd8: 9ef2 add t4,t4,t3 + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, (((int)acc0)<<2)))); /* Q2.14 */ + 83f48fda: 002e9e9b slliw t4,t4,0x2 + pst[-2] = (int)acc0 ; /* update y(n-1) */ + 83f48fde: ffd72c23 sw t4,-8(a4) + for(j = filter->nq; j > 0; j--) { + 83f48fe2: f74713e3 bne a4,s4,83f48f48 + acc0 += ((unsigned short)(yn2))*(*pcoef++); /* low part */ + 83f48fe6: 002b1793 slli a5,s6,0x2 + 83f48fea: 9b3e add s6,s6,a5 + 83f48fec: 0b06 slli s6,s6,0x1 + 83f48fee: 9ada add s5,s5,s6 + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, (((int)acc0)<<2)))); /* Q2.14 */ + 83f48ff0: 87f6 mv a5,t4 + acc0 = (((int)((int)acc0>>16)) * (*pcoef)); + 83f48ff2: 000a9703 lh a4,0(s5) + if(acc0>=0) + 83f48ff6: 0407c463 bltz a5,83f4903e + acc0 = (((int)((int)acc0>>16)) * (*pcoef)); + 83f48ffa: 410ed79b sraiw a5,t4,0x10 + 83f48ffe: 02e787bb mulw a5,a5,a4 + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, ((acc0)<<3)))); /* Q3.13 */ + 83f49002: 078e slli a5,a5,0x3 + 83f49004: 00fd5363 bge s10,a5,83f4900a + 83f49008: 87ea mv a5,s10 + 83f4900a: 01b7d463 bge a5,s11,83f49012 + 83f4900e: 800007b7 lui a5,0x80000 + *ptr2++ = (short)(acc0>>16); + 83f49012: 4107d713 srai a4,a5,0x10 + 83f49016: 00ec1023 sh a4,0(s8) + for(i = frame_size; i > 0; i--) { + 83f4901a: 6722 ld a4,8(sp) + *ptr2++ = (short)(acc0>>16); + 83f4901c: 0c09 addi s8,s8,2 + for(i = frame_size; i > 0; i--) { + 83f4901e: f0eb94e3 bne s7,a4,83f48f26 + + } + +} + 83f49022: 7426 ld s0,104(sp) + 83f49024: 7486 ld s1,96(sp) + 83f49026: 6966 ld s2,88(sp) + 83f49028: 69c6 ld s3,80(sp) + 83f4902a: 6a26 ld s4,72(sp) + 83f4902c: 6a86 ld s5,64(sp) + 83f4902e: 7b62 ld s6,56(sp) + 83f49030: 7bc2 ld s7,48(sp) + 83f49032: 7c22 ld s8,40(sp) + 83f49034: 7c82 ld s9,32(sp) + 83f49036: 6d62 ld s10,24(sp) + 83f49038: 6dc2 ld s11,16(sp) + 83f4903a: 6165 addi sp,sp,112 + 83f4903c: 8082 ret + acc0 = -(((int)(-(int)acc0>>16)) * (*pcoef)); /* remove zero-inputs-limit-cycle osicillation */ + 83f4903e: 41d00ebb negw t4,t4 + 83f49042: 410ed79b sraiw a5,t4,0x10 + 83f49046: 02e787bb mulw a5,a5,a4 + 83f4904a: 40f007bb negw a5,a5 + 83f4904e: bf55 j 83f49002 + acc0 = (((int)((int)acc0>>16)) * (*pcoef)); + 83f49050: 00078e9b sext.w t4,a5 + 83f49054: bf79 j 83f48ff2 + +0000000083f49056 : +#include "fftcore.h" +#include "packfft.h" + +/* Function Definitions */ +void *speech_fft_init(int size) +{ + 83f49056: 1101 addi sp,sp,-32 + 83f49058: e426 sd s1,8(sp) + 83f4905a: 84aa mv s1,a0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4905c: 4561 li a0,24 + 83f4905e: ec06 sd ra,24(sp) + 83f49060: e822 sd s0,16(sp) + 83f49062: 522050ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f49066: 4661 li a2,24 + 83f49068: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4906a: 842a mv s0,a0 + memset(ptr, 0, size); + 83f4906c: 711020ef jal ra,83f4bf7c + struct drft_lookup *table; + table = mem_alloc(sizeof(struct drft_lookup)); + core_drft_init((struct drft_lookup *)table, size); + 83f49070: 8522 mv a0,s0 + 83f49072: 85a6 mv a1,s1 + 83f49074: 375020ef jal ra,83f4bbe8 + return (void*)table; +} + 83f49078: 60e2 ld ra,24(sp) + 83f4907a: 8522 mv a0,s0 + 83f4907c: 6442 ld s0,16(sp) + 83f4907e: 64a2 ld s1,8(sp) + 83f49080: 6105 addi sp,sp,32 + 83f49082: 8082 ret + +0000000083f49084 : + +void speech_fft_free(void *table) +{ + 83f49084: 1141 addi sp,sp,-16 + 83f49086: e022 sd s0,0(sp) + 83f49088: e406 sd ra,8(sp) + 83f4908a: 842a mv s0,a0 + core_drft_clear(table); + 83f4908c: 567020ef jal ra,83f4bdf2 + vPortFree(ptr); + 83f49090: 8522 mv a0,s0 + mem_free(table); +} + 83f49092: 6402 ld s0,0(sp) + 83f49094: 60a2 ld ra,8(sp) + 83f49096: 0141 addi sp,sp,16 + 83f49098: 6520506f j 83f4e6ea + +0000000083f4909c : + +void speech_fft(void *table, float *in, float *out) +{ + if (in==out) { + int i; + float scale = (float)(1./((struct drft_lookup *)table)->n); + 83f4909c: 00052803 lw a6,0(a0) + 83f490a0: 00009797 auipc a5,0x9 + 83f490a4: 2707b707 fld fa4,624(a5) # 83f52310 <__func__.1+0x118> +{ + 83f490a8: 87ae mv a5,a1 + float scale = (float)(1./((struct drft_lookup *)table)->n); + 83f490aa: d20807d3 fcvt.d.w fa5,a6 +{ + 83f490ae: 85b2 mv a1,a2 + float scale = (float)(1./((struct drft_lookup *)table)->n); + 83f490b0: 1af77753 fdiv.d fa4,fa4,fa5 + 83f490b4: 40177753 fcvt.s.d fa4,fa4 + if (in==out) { + 83f490b8: 02c78563 beq a5,a2,83f490e2 + for (i=0;i<((struct drft_lookup *)table)->n;i++) + out[i] = scale*in[i]; + } else { + int i; + float scale = (float)(1./((struct drft_lookup *)table)->n); + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490bc: 03005163 blez a6,83f490de + 83f490c0: 86b2 mv a3,a2 + 83f490c2: 4701 li a4,0 + out[i] = scale*in[i]; + 83f490c4: 0007a787 flw fa5,0(a5) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490c8: 0691 addi a3,a3,4 + 83f490ca: 2705 addiw a4,a4,1 + out[i] = scale*in[i]; + 83f490cc: 10e7f7d3 fmul.s fa5,fa5,fa4 + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490d0: 0791 addi a5,a5,4 + out[i] = scale*in[i]; + 83f490d2: fef6ae27 fsw fa5,-4(a3) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490d6: 00052803 lw a6,0(a0) + 83f490da: ff0745e3 blt a4,a6,83f490c4 + } + core_drft_forward((struct drft_lookup *)table, out); + 83f490de: 0070206f j 83f4b8e4 + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490e2: 86b2 mv a3,a2 + 83f490e4: 8732 mv a4,a2 + 83f490e6: 4781 li a5,0 + 83f490e8: ff005be3 blez a6,83f490de + out[i] = scale*in[i]; + 83f490ec: 0006a787 flw fa5,0(a3) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490f0: 0711 addi a4,a4,4 + 83f490f2: 2785 addiw a5,a5,1 + out[i] = scale*in[i]; + 83f490f4: 10e7f7d3 fmul.s fa5,fa5,fa4 + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490f8: 0691 addi a3,a3,4 + out[i] = scale*in[i]; + 83f490fa: fef72e27 fsw fa5,-4(a4) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f490fe: 4110 lw a2,0(a0) + 83f49100: fec7c6e3 blt a5,a2,83f490ec + core_drft_forward((struct drft_lookup *)table, out); + 83f49104: 7e00206f j 83f4b8e4 + +0000000083f49108 : +} + +void speech_ifft(void *table, float *in, float *out) +{ + 83f49108: 87ae mv a5,a1 + 83f4910a: 85b2 mv a1,a2 + if (in==out) { + 83f4910c: 02c78263 beq a5,a2,83f49130 + //speech_warning("FFT should not be done in-place"); + } else { + int i; + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f49110: 4118 lw a4,0(a0) + 83f49112: 00e05f63 blez a4,83f49130 + 83f49116: 86b2 mv a3,a2 + 83f49118: 4701 li a4,0 + out[i] = in[i]; + 83f4911a: 0007a787 flw fa5,0(a5) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f4911e: 2705 addiw a4,a4,1 + 83f49120: 0791 addi a5,a5,4 + out[i] = in[i]; + 83f49122: 00f6a027 fsw fa5,0(a3) + for (i=0;i<((struct drft_lookup *)table)->n;i++) + 83f49126: 00052803 lw a6,0(a0) + 83f4912a: 0691 addi a3,a3,4 + 83f4912c: ff0747e3 blt a4,a6,83f4911a + } + core_drft_backward((struct drft_lookup *)table, out); + 83f49130: 1290206f j 83f4ba58 + +0000000083f49134 : + +/* Function Definitions */ +void c_power(const float a[], float y[], int N) +{ + int k; + for (k = 0; k < N; k++) { + 83f49134: 02c05563 blez a2,83f4915e + 83f49138: fff6079b addiw a5,a2,-1 + 83f4913c: 02079713 slli a4,a5,0x20 + 83f49140: 01e75793 srli a5,a4,0x1e + 83f49144: 00450713 addi a4,a0,4 + 83f49148: 97ba add a5,a5,a4 + y[k] = a[k] * a[k]; + 83f4914a: 00052787 flw fa5,0(a0) + for (k = 0; k < N; k++) { + 83f4914e: 0591 addi a1,a1,4 + 83f49150: 0511 addi a0,a0,4 + y[k] = a[k] * a[k]; + 83f49152: 10f7f7d3 fmul.s fa5,fa5,fa5 + 83f49156: fef5ae27 fsw fa5,-4(a1) + for (k = 0; k < N; k++) { + 83f4915a: fef518e3 bne a0,a5,83f4914a + } +} + 83f4915e: 8082 ret + +0000000083f49160 : + +void d_power(const float a[321], float y[321]) +{ + 83f49160: 1101 addi sp,sp,-32 + 83f49162: e822 sd s0,16(sp) + 83f49164: e426 sd s1,8(sp) + 83f49166: e04a sd s2,0(sp) + 83f49168: ec06 sd ra,24(sp) + 83f4916a: 842a mv s0,a0 + 83f4916c: 84ae mv s1,a1 + 83f4916e: 50450913 addi s2,a0,1284 + int k; + for (k = 0; k < 321; k++) { + y[k] = (float)sqrt(a[k]); + 83f49172: 00042507 flw fa0,0(s0) + for (k = 0; k < 321; k++) { + 83f49176: 0491 addi s1,s1,4 + 83f49178: 0411 addi s0,s0,4 + y[k] = (float)sqrt(a[k]); + 83f4917a: 42050553 fcvt.d.s fa0,fa0 + 83f4917e: c75f70ef jal ra,83f40df2 + 83f49182: 40157553 fcvt.s.d fa0,fa0 + 83f49186: fea4ae27 fsw fa0,-4(s1) + for (k = 0; k < 321; k++) { + 83f4918a: ff2414e3 bne s0,s2,83f49172 + } +} + 83f4918e: 60e2 ld ra,24(sp) + 83f49190: 6442 ld s0,16(sp) + 83f49192: 64a2 ld s1,8(sp) + 83f49194: 6902 ld s2,0(sp) + 83f49196: 6105 addi sp,sp,32 + 83f49198: 8082 ret + +0000000083f4919a : + float temp; + + /* signal power change based VAD */ + /* consider small speech at the biginning, ensure it is not suppressed */ + instant_slope = 0; + for (k = 0; k < 5; k++) { /* subband based */ + 83f4919a: 613c ld a5,64(a0) + temp = st->amp_inst_band[k] / 4.0F; + if ((temp - st->amp_inst_band[5 + k] > 0.0F) || (temp - st->amp_inst_band[10 + k] > 0.0F)) { + 83f4919c: f00006d3 fmv.w.x fa3,zero + instant_slope = 0; + 83f491a0: 4681 li a3,0 + 83f491a2: 01478613 addi a2,a5,20 + 83f491a6: 00009717 auipc a4,0x9 + 83f491aa: 13a72607 flw fa2,314(a4) # 83f522e0 <__func__.1+0xe8> + temp = st->amp_inst_band[k] / 4.0F; + 83f491ae: 0007a787 flw fa5,0(a5) + if ((temp - st->amp_inst_band[5 + k] > 0.0F) || (temp - st->amp_inst_band[10 + k] > 0.0F)) { + 83f491b2: 0147a707 flw fa4,20(a5) + temp = st->amp_inst_band[k] / 4.0F; + 83f491b6: 10c7f7d3 fmul.s fa5,fa5,fa2 + if ((temp - st->amp_inst_band[5 + k] > 0.0F) || (temp - st->amp_inst_band[10 + k] > 0.0F)) { + 83f491ba: 08e7f753 fsub.s fa4,fa5,fa4 + 83f491be: a0e69753 flt.s a4,fa3,fa4 + 83f491c2: cb0d beqz a4,83f491f4 + instant_slope = 1; + 83f491c4: 4685 li a3,1 + for (k = 0; k < 5; k++) { /* subband based */ + 83f491c6: 0791 addi a5,a5,4 + 83f491c8: fef613e3 bne a2,a5,83f491ae + } + } + + if (instant_slope == 0) { + 83f491cc: ee85 bnez a3,83f49204 + temp = st->vad_slope_cnt - 1.0F; + 83f491ce: 06852787 flw fa5,104(a0) + 83f491d2: 00009797 auipc a5,0x9 + 83f491d6: 07e7a687 flw fa3,126(a5) # 83f52250 <__func__.1+0x58> + if (0.0F > temp) { + 83f491da: f0000753 fmv.w.x fa4,zero + temp = st->vad_slope_cnt - 1.0F; + 83f491de: 08d7f7d3 fsub.s fa5,fa5,fa3 + if (0.0F > temp) { + 83f491e2: a0e797d3 flt.s a5,fa5,fa4 + 83f491e6: e3bd bnez a5,83f4924c + temp = 0.0F; + } + + st->vad_slope_cnt = temp; + if (temp == 0.0F) { + 83f491e8: a0e7a7d3 feq.s a5,fa5,fa4 + st->vad_slope_cnt = temp; + 83f491ec: 06f52427 fsw fa5,104(a0) + if (temp == 0.0F) { + 83f491f0: e3a5 bnez a5,83f49250 + st->vad_slope_cnt = 4.0F; + } + } + } + +} + 83f491f2: 8082 ret + if ((temp - st->amp_inst_band[5 + k] > 0.0F) || (temp - st->amp_inst_band[10 + k] > 0.0F)) { + 83f491f4: 0287a707 flw fa4,40(a5) + 83f491f8: 08e7f7d3 fsub.s fa5,fa5,fa4 + 83f491fc: a0f69753 flt.s a4,fa3,fa5 + 83f49200: f371 bnez a4,83f491c4 + 83f49202: b7d1 j 83f491c6 + if (st->Fs == 16000.0F) { + 83f49204: 09c52787 flw fa5,156(a0) + st->vad_slope = 1.0F; + 83f49208: 00009797 auipc a5,0x9 + 83f4920c: 0487a707 flw fa4,72(a5) # 83f52250 <__func__.1+0x58> + if (st->Fs == 16000.0F) { + 83f49210: 00009797 auipc a5,0x9 + 83f49214: 0447a687 flw fa3,68(a5) # 83f52254 <__func__.1+0x5c> + 83f49218: a0d7a7d3 feq.s a5,fa5,fa3 + st->vad_slope = 1.0F; + 83f4921c: 06e52627 fsw fa4,108(a0) + if (st->Fs == 16000.0F) { + 83f49220: cb81 beqz a5,83f49230 + st->vad_slope_cnt = 8.0F; + 83f49222: 00009797 auipc a5,0x9 + 83f49226: 1f67a787 flw fa5,502(a5) # 83f52418 <__func__.1+0x220> + 83f4922a: 06f52427 fsw fa5,104(a0) + 83f4922e: 8082 ret + if (st->Fs == 8000.0F) { + 83f49230: 00009797 auipc a5,0x9 + 83f49234: 1847a707 flw fa4,388(a5) # 83f523b4 <__func__.1+0x1bc> + 83f49238: a0e7a7d3 feq.s a5,fa5,fa4 + 83f4923c: dbdd beqz a5,83f491f2 + st->vad_slope_cnt = 4.0F; + 83f4923e: 00009797 auipc a5,0x9 + 83f49242: 1727a787 flw fa5,370(a5) # 83f523b0 <__func__.1+0x1b8> + 83f49246: 06f52427 fsw fa5,104(a0) +} + 83f4924a: 8082 ret + st->vad_slope_cnt = temp; + 83f4924c: 06052423 sw zero,104(a0) + st->vad_slope = 0.0F; + 83f49250: 06052623 sw zero,108(a0) + 83f49254: 8082 ret + +0000000083f49256 : +float c_sum(const float x[], int N) +{ + float y; + int k; + y = x[0]; + for (k = 0; k < N-1; k++) { + 83f49256: 4785 li a5,1 + y = x[0]; + 83f49258: 00052507 flw fa0,0(a0) + for (k = 0; k < N-1; k++) { + 83f4925c: 02b7d363 bge a5,a1,83f49282 + 83f49260: ffe5879b addiw a5,a1,-2 + 83f49264: 02079713 slli a4,a5,0x20 + 83f49268: 01e75793 srli a5,a4,0x1e + 83f4926c: 00850713 addi a4,a0,8 + 83f49270: 97ba add a5,a5,a4 + 83f49272: 0511 addi a0,a0,4 + y += x[k + 1]; + 83f49274: 00052787 flw fa5,0(a0) + for (k = 0; k < N-1; k++) { + 83f49278: 0511 addi a0,a0,4 + y += x[k + 1]; + 83f4927a: 00f57553 fadd.s fa0,fa0,fa5 + for (k = 0; k < N-1; k++) { + 83f4927e: fef51be3 bne a0,a5,83f49274 + } + + return y; +} + 83f49282: 8082 ret + +0000000083f49284 : + +/* Function Definitions */ +void a_abs(const creal32_T a[321], float y[321], int N) +{ + int k; + for (k = 0; k < N; k++) { + 83f49284: 04c05463 blez a2,83f492cc +{ + 83f49288: 1101 addi sp,sp,-32 + 83f4928a: e04a sd s2,0(sp) + 83f4928c: fff6091b addiw s2,a2,-1 + 83f49290: 02091793 slli a5,s2,0x20 + 83f49294: 01d7d913 srli s2,a5,0x1d + 83f49298: 00850793 addi a5,a0,8 + 83f4929c: e822 sd s0,16(sp) + 83f4929e: e426 sd s1,8(sp) + 83f492a0: ec06 sd ra,24(sp) + 83f492a2: 842a mv s0,a0 + 83f492a4: 84ae mv s1,a1 + 83f492a6: 993e add s2,s2,a5 + y[k] = rt_hypotf(a[k].re, a[k].im); + 83f492a8: 00442587 flw fa1,4(s0) + 83f492ac: 00042507 flw fa0,0(s0) + for (k = 0; k < N; k++) { + 83f492b0: 0491 addi s1,s1,4 + 83f492b2: 0421 addi s0,s0,8 + y[k] = rt_hypotf(a[k].re, a[k].im); + 83f492b4: 39b020ef jal ra,83f4be4e + 83f492b8: fea4ae27 fsw fa0,-4(s1) + for (k = 0; k < N; k++) { + 83f492bc: ff2416e3 bne s0,s2,83f492a8 + } +} + 83f492c0: 60e2 ld ra,24(sp) + 83f492c2: 6442 ld s0,16(sp) + 83f492c4: 64a2 ld s1,8(sp) + 83f492c6: 6902 ld s2,0(sp) + 83f492c8: 6105 addi sp,sp,32 + 83f492ca: 8082 ret + 83f492cc: 8082 ret + +0000000083f492ce : +#include "agc_init.h" +#include "agc.h" + +/* Function Definitions */ +void AGC(short *sin, short *sout, agc_struct *agc_obj, ssp_para_struct *para_obj, boolean_T speech_vad, boolean_T st_vad, int nenr_silence_time, int nenr_silence_cnt, short path) +{ + 83f492ce: 7175 addi sp,sp,-144 + 83f492d0: f86a sd s10,48(sp) + short sig_out; + short sig_err; + int temp32; + int diff; + + if (1 == path) { + 83f492d2: 09011d03 lh s10,144(sp) +{ + 83f492d6: e122 sd s0,128(sp) + 83f492d8: fca6 sd s1,120(sp) + 83f492da: e4de sd s7,72(sp) + 83f492dc: e506 sd ra,136(sp) + 83f492de: f8ca sd s2,112(sp) + 83f492e0: f4ce sd s3,104(sp) + 83f492e2: f0d2 sd s4,96(sp) + 83f492e4: ecd6 sd s5,88(sp) + 83f492e6: e8da sd s6,80(sp) + 83f492e8: e0e2 sd s8,64(sp) + 83f492ea: fc66 sd s9,56(sp) + 83f492ec: f46e sd s11,40(sp) + if (1 == path) { + 83f492ee: 4305 li t1,1 +{ + 83f492f0: e436 sd a3,8(sp) + 83f492f2: 84aa mv s1,a0 + 83f492f4: 842e mv s0,a1 + 83f492f6: 8bb2 mv s7,a2 + if (1 == path) { + 83f492f8: 386d0263 beq s10,t1,83f4967c + } + #endif + } + } + + if (nenr_silence_cnt < nenr_silence_time) { /* be in silence to solve CODEC initial random signal issue and not to perform AGC as well */ + 83f492fc: 0108d663 bge a7,a6,83f49308 + agc_obj->agc_vad1 = false; + 83f49300: 020b8423 sb zero,40(s7) + agc_obj->agc_vad1_cnt = 0; + 83f49304: 020b9523 sh zero,42(s7) + } + + agc_obj->env = envelope(sin, agc_obj->frame_size); /* calculate once every 20ms@NB or 10ms@WB */ + 83f49308: 032b9583 lh a1,50(s7) + 83f4930c: 8526 mv a0,s1 + 83f4930e: 6a4000ef jal ra,83f499b2 + + unit_gain = (1L << (agc_obj->max_gain)); + 83f49312: 000b9703 lh a4,0(s7) + + frame_signal_identify = 0; + if (agc_obj->env > agc_obj->pcb_noise_thrd) + 83f49316: 018b9683 lh a3,24(s7) + unit_gain = (1L << (agc_obj->max_gain)); + 83f4931a: 4305 li t1,1 + frame_signal_identify = 1; /* no matter it is noise or speech signals */ + + for (i = 0; i < agc_obj->frame_size; i++) { + 83f4931c: 032b9783 lh a5,50(s7) + unit_gain = (1L << (agc_obj->max_gain)); + 83f49320: 00e31333 sll t1,t1,a4 + 83f49324: 01031b1b slliw s6,t1,0x10 + agc_obj->env = envelope(sin, agc_obj->frame_size); /* calculate once every 20ms@NB or 10ms@WB */ + 83f49328: e82a sd a0,16(sp) + 83f4932a: 00ab9423 sh a0,8(s7) + if (agc_obj->env > agc_obj->pcb_noise_thrd) + 83f4932e: ec36 sd a3,24(sp) + unit_gain = (1L << (agc_obj->max_gain)); + 83f49330: 410b5b1b sraiw s6,s6,0x10 + for (i = 0; i < agc_obj->frame_size; i++) { + 83f49334: 28f05763 blez a5,83f495c2 + + #if (1) /* smooth output to avoid pop noise when unit gain changed */ + if (agc_obj->smooth_cnt) { + sig_out = ((agc_obj->alpha * agc_obj->sout_hist) >> 15) + ((agc_obj->alpha2 * sig_out) >> 15); + agc_obj->alpha -= 3276; /* each step 1/10 */ + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + 83f49338: 6905 lui s2,0x1 + 83f4933a: ccc9071b addiw a4,s2,-820 + for (i = 0; i < agc_obj->frame_size; i++) { + 83f4933e: 4c81 li s9,0 + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + 83f49340: c23a sw a4,4(sp) + if (agc_obj->unit_gain_change_det == true) { + 83f49342: 01fbc703 lbu a4,31(s7) + sig_in = sin[i]; + 83f49346: 001c9a13 slli s4,s9,0x1 + agc_obj->gain32 = (((int)(agc_obj->gain32 >> 16) * MINUS_halfdB) << 1); /* MINUS_halfdB is Q1.15, so gain32 is Q1.31 */ + 83f4934a: 6c21 lui s8,0x8 + agc_obj->alpha -= 3276; /* each step 1/10 */ + 83f4934c: 79fd lui s3,0xfffff + sig_in = sin[i]; + 83f4934e: 01448933 add s2,s1,s4 + if (agc_obj->unit_gain_change_det == true) { + 83f49352: 4a85 li s5,1 + sig_in = sin[i]; + 83f49354: 00091d83 lh s11,0(s2) # 1000 <_EL1_STACK_SIZE+0x800> + for (i = 0; i < agc_obj->frame_size; i++) { + 83f49358: 87aa mv a5,a0 + agc_obj->gain32 = (((int)(agc_obj->gain32 >> 16) * MINUS_halfdB) << 1); /* MINUS_halfdB is Q1.15, so gain32 is Q1.31 */ + 83f4935a: 8d4c0c1b addiw s8,s8,-1836 + agc_obj->alpha -= 3276; /* each step 1/10 */ + 83f4935e: 3349899b addiw s3,s3,820 + if (agc_obj->unit_gain_change_det == true) { + 83f49362: 15570563 beq a4,s5,83f494ac + tmp16 = agc_obj->gain32 >> 16; /* leave space for gain>1, gain has Q format, unit_gain is 1 */ + 83f49366: 004baf03 lw t5,4(s7) + agc_obj->target_high = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + 83f4936a: 2781 sext.w a5,a5 + if (1 == path) { + 83f4936c: 1b5d0a63 beq s10,s5,83f49520 + if ( agc_obj->pcb_noise_cnt < agc_obj->pcb_noise_hold_time) { + 83f49370: 01ab9583 lh a1,26(s7) + 83f49374: 01cb9683 lh a3,28(s7) + tmp16 = agc_obj->gain32 >> 16; /* leave space for gain>1, gain has Q format, unit_gain is 1 */ + 83f49378: 410f571b sraiw a4,t5,0x10 + 83f4937c: 410f5e93 srai t4,t5,0x10 + if ( agc_obj->pcb_noise_cnt < agc_obj->pcb_noise_hold_time) { + 83f49380: 04d5d563 bge a1,a3,83f493ca + tmp16 = (agc_obj->env*unit_gain) >> 15; + 83f49384: 02fb053b mulw a0,s6,a5 + if (tmp16 < agc_obj->target_low) + 83f49388: 00ab9583 lh a1,10(s7) + if (tmp16 > agc_obj->target_high) + 83f4938c: 00eb9683 lh a3,14(s7) + sig_err = ((int)agc_obj->env)*((int)tmp16) >> 15; /* use the MSB */ + 83f49390: 02f707bb mulw a5,a4,a5 + tmp16 = (agc_obj->env*unit_gain) >> 15; + 83f49394: 40f5551b sraiw a0,a0,0xf + 83f49398: 0105171b slliw a4,a0,0x10 + 83f4939c: 4107571b sraiw a4,a4,0x10 + if (tmp16 < agc_obj->target_low) + 83f493a0: 00070e9b sext.w t4,a4 + sig_err = ((int)agc_obj->env)*((int)tmp16) >> 15; /* use the MSB */ + 83f493a4: 40f7d51b sraiw a0,a5,0xf + diff = (agc_obj->target_low) - sig_err; + 83f493a8: 0105151b slliw a0,a0,0x10 + 83f493ac: 4105579b sraiw a5,a0,0x10 + 83f493b0: 853e mv a0,a5 + if (tmp16 < agc_obj->target_low) + 83f493b2: 26b75363 bge a4,a1,83f49618 + if (tmp16 > agc_obj->target_high) + 83f493b6: 27d6c363 blt a3,t4,83f4961c + diff = (agc_obj->target_low) - sig_err; + 83f493ba: 40f5853b subw a0,a1,a5 + update_gain(diff, agc_obj); /* update agc_obj->gain32 sample by sample */ + 83f493be: 85de mv a1,s7 + 83f493c0: 648000ef jal ra,83f49a08 + temp32 = ((int)(agc_obj->gain32 >> 16)* (int)(sig_in)) >> agc_obj->unit_gain; + 83f493c4: 006b9e83 lh t4,6(s7) + 83f493c8: 8776 mv a4,t4 + 83f493ca: 03dd87bb mulw a5,s11,t4 + 83f493ce: 002b9683 lh a3,2(s7) + while (ABS(temp32) > 32767L) { /* overflow limiter */ + 83f493d2: 6521 lui a0,0x8 + temp32 = ((int)(agc_obj->gain32 >> 16)* (int)(sig_in)) >> agc_obj->unit_gain; + 83f493d4: 000d859b sext.w a1,s11 + 83f493d8: 40d7d7bb sraw a5,a5,a3 + while (ABS(temp32) > 32767L) { /* overflow limiter */ + 83f493dc: 41f7df1b sraiw t5,a5,0x1f + 83f493e0: 00ff47b3 xor a5,t5,a5 + 83f493e4: 41e787bb subw a5,a5,t5 + 83f493e8: 02a7c863 blt a5,a0,83f49418 + agc_obj->gain32 = (((int)(agc_obj->gain32 >> 16) * MINUS_halfdB) << 1); /* MINUS_halfdB is Q1.15, so gain32 is Q1.31 */ + 83f493ec: 0387073b mulw a4,a4,s8 + 83f493f0: 00171f1b slliw t5,a4,0x1 + temp32 = ((int)(agc_obj->gain32 >> 16)*(int)(sig_in)) >> agc_obj->unit_gain; + 83f493f4: 410f5e9b sraiw t4,t5,0x10 + 83f493f8: 03d587bb mulw a5,a1,t4 + while (ABS(temp32) > 32767L) { /* overflow limiter */ + 83f493fc: 410f571b sraiw a4,t5,0x10 + temp32 = ((int)(agc_obj->gain32 >> 16)*(int)(sig_in)) >> agc_obj->unit_gain; + 83f49400: 40d7d7bb sraw a5,a5,a3 + while (ABS(temp32) > 32767L) { /* overflow limiter */ + 83f49404: 41f7df9b sraiw t6,a5,0x1f + 83f49408: 00ffc7b3 xor a5,t6,a5 + 83f4940c: 41f787bb subw a5,a5,t6 + 83f49410: fca7dee3 bge a5,a0,83f493ec + 83f49414: 01eba223 sw t5,4(s7) + sig_out = sin[i]*(agc_obj->gain32 >> 16) >> agc_obj->unit_gain; + 83f49418: 00091783 lh a5,0(s2) + if (agc_obj->smooth_cnt) { + 83f4941c: 022b9703 lh a4,34(s7) + sig_out = sin[i]*(agc_obj->gain32 >> 16) >> agc_obj->unit_gain; + 83f49420: 03d78ebb mulw t4,a5,t4 + 83f49424: 40ded6bb sraw a3,t4,a3 + 83f49428: 0106969b slliw a3,a3,0x10 + 83f4942c: 4106d69b sraiw a3,a3,0x10 + if (agc_obj->smooth_cnt) { + 83f49430: cf1d beqz a4,83f4946e + sig_out = ((agc_obj->alpha * agc_obj->sout_hist) >> 15) + ((agc_obj->alpha2 * sig_out) >> 15); + 83f49432: 026b9583 lh a1,38(s7) + 83f49436: 024b9883 lh a7,36(s7) + 83f4943a: 020b9783 lh a5,32(s7) + 83f4943e: 02d5853b mulw a0,a1,a3 + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + 83f49442: 4692 lw a3,4(sp) + agc_obj->alpha -= 3276; /* each step 1/10 */ + 83f49444: 01198ebb addw t4,s3,a7 + agc_obj->smooth_cnt--; + 83f49448: 377d addiw a4,a4,-1 + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + 83f4944a: 9db5 addw a1,a1,a3 + agc_obj->alpha -= 3276; /* each step 1/10 */ + 83f4944c: 03db9223 sh t4,36(s7) + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + 83f49450: 02bb9323 sh a1,38(s7) + agc_obj->smooth_cnt--; + 83f49454: 02eb9123 sh a4,34(s7) + sig_out = ((agc_obj->alpha * agc_obj->sout_hist) >> 15) + ((agc_obj->alpha2 * sig_out) >> 15); + 83f49458: 031786bb mulw a3,a5,a7 + 83f4945c: 40f5579b sraiw a5,a0,0xf + 83f49460: 40f6d69b sraiw a3,a3,0xf + 83f49464: 9ebd addw a3,a3,a5 + 83f49466: 0106969b slliw a3,a3,0x10 + 83f4946a: 4106d69b sraiw a3,a3,0x10 + } + #endif + + sout[i] = sig_out; + 83f4946e: 01440633 add a2,s0,s4 + 83f49472: 00d61023 sh a3,0(a2) + + /* modify for release processing, automaticly drop 6dB on max gain if big signal come in */ + if (agc_obj->unit_gain_change == true) { + 83f49476: 01ebc783 lbu a5,30(s7) + 83f4947a: 11578963 beq a5,s5,83f4958c + if (ABS(sig_in) > (short)(0.223*32768)) { + agc_obj->unit_gain_change = false; + agc_obj->unit_gain_change_det = true; + } + } + agc_obj->sout_hist = sig_out; /* update y(n-1) */ + 83f4947e: 2c85 addiw s9,s9,1 + for (i = 0; i < agc_obj->frame_size; i++) { + 83f49480: 032b9783 lh a5,50(s7) + 83f49484: 010c9c9b slliw s9,s9,0x10 + agc_obj->sout_hist = sig_out; /* update y(n-1) */ + 83f49488: 02db9023 sh a3,32(s7) + for (i = 0; i < agc_obj->frame_size; i++) { + 83f4948c: 410cdc9b sraiw s9,s9,0x10 + 83f49490: 12fcd963 bge s9,a5,83f495c2 + if (agc_obj->unit_gain_change_det == true) { + 83f49494: 01fbc703 lbu a4,31(s7) + sig_in = sin[i]; + 83f49498: 001c9a13 slli s4,s9,0x1 + 83f4949c: 01448933 add s2,s1,s4 + if (ABS(agc_obj->env) < (short)(0.0316*32768)) { + 83f494a0: 008b9783 lh a5,8(s7) + sig_in = sin[i]; + 83f494a4: 00091d83 lh s11,0(s2) + if (agc_obj->unit_gain_change_det == true) { + 83f494a8: eb571fe3 bne a4,s5,83f49366 + if (ABS(agc_obj->env) < (short)(0.0316*32768)) { + 83f494ac: 40f7d69b sraiw a3,a5,0xf + 83f494b0: 00d7c733 xor a4,a5,a3 + 83f494b4: 9f15 subw a4,a4,a3 + 83f494b6: 1742 slli a4,a4,0x30 + 83f494b8: 9341 srli a4,a4,0x30 + 83f494ba: 40a00693 li a3,1034 + 83f494be: eae6e4e3 bltu a3,a4,83f49366 + agc_obj->max_gain++; /* drop 6dB to max gain */ + 83f494c2: 000bd703 lhu a4,0(s7) + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f494c6: 00cb9683 lh a3,12(s7) + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f494ca: 010b9583 lh a1,16(s7) + agc_obj->max_gain++; /* drop 6dB to max gain */ + 83f494ce: 2705 addiw a4,a4,1 + 83f494d0: 0107171b slliw a4,a4,0x10 + 83f494d4: 4107571b sraiw a4,a4,0x10 + unit_gain = (1L << (agc_obj->max_gain)); + 83f494d8: 00ea9533 sll a0,s5,a4 + 83f494dc: 01051b1b slliw s6,a0,0x10 + 83f494e0: 410b5b1b sraiw s6,s6,0x10 + agc_obj->max_gain++; /* drop 6dB to max gain */ + 83f494e4: 00eb9023 sh a4,0(s7) + agc_obj->unit_gain = agc_obj->max_gain; + 83f494e8: 00eb9123 sh a4,2(s7) + agc_obj->smooth_cnt = 10; + 83f494ec: 4729 li a4,10 + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f494ee: 036585bb mulw a1,a1,s6 + agc_obj->smooth_cnt = 10; + 83f494f2: 02eb9123 sh a4,34(s7) + agc_obj->gain32 = unit_gain << 16; + 83f494f6: 0105151b slliw a0,a0,0x10 + 83f494fa: 00aba223 sw a0,4(s7) + agc_obj->unit_gain_change_det = false; + 83f494fe: 000b8fa3 sb zero,31(s7) + agc_obj->gain32 = unit_gain << 16; + 83f49502: 010b1f13 slli t5,s6,0x10 + agc_obj->target_high = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + 83f49506: 2781 sext.w a5,a5 + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f49508: 0366873b mulw a4,a3,s6 + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f4950c: 40f5d69b sraiw a3,a1,0xf + 83f49510: 00db9723 sh a3,14(s7) + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f49514: 40f7571b sraiw a4,a4,0xf + 83f49518: 00eb9523 sh a4,10(s7) + if (1 == path) { + 83f4951c: e55d1ae3 bne s10,s5,83f49370 + if (para_obj->para_agc_vad_ena == true) { + 83f49520: 6722 ld a4,8(sp) + 83f49522: 01a74703 lbu a4,26(a4) + 83f49526: e5a715e3 bne a4,s10,83f49370 + if ((agc_obj->agc_vad1 == true) && (agc_obj->agc_vad2 == true)) { + 83f4952a: 028bc683 lbu a3,40(s7) + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f4952e: 000b071b sext.w a4,s6 + if ((agc_obj->agc_vad1 == true) && (agc_obj->agc_vad2 == true)) { + 83f49532: 17a68b63 beq a3,s10,83f496a8 + agc_obj->target_high = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + 83f49536: 02e786bb mulw a3,a5,a4 + if ( agc_obj->pcb_noise_cnt < agc_obj->pcb_noise_hold_time) { + 83f4953a: 01cb9503 lh a0,28(s7) + 83f4953e: 01ab9583 lh a1,26(s7) + agc_obj->agc_vad3 = false; + 83f49542: 020b8823 sb zero,48(s7) + tmp16 = agc_obj->gain32 >> 16; /* leave space for gain>1, gain has Q format, unit_gain is 1 */ + 83f49546: 410f571b sraiw a4,t5,0x10 + 83f4954a: 410f5e93 srai t4,t5,0x10 + agc_obj->target_high = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + 83f4954e: 40f6d69b sraiw a3,a3,0xf + 83f49552: 0106969b slliw a3,a3,0x10 + 83f49556: 4106d69b sraiw a3,a3,0x10 + 83f4955a: 00db9723 sh a3,14(s7) + agc_obj->target_low = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + 83f4955e: 00db9523 sh a3,10(s7) + if ( agc_obj->pcb_noise_cnt < agc_obj->pcb_noise_hold_time) { + 83f49562: e6a5d4e3 bge a1,a0,83f493ca + tmp16 = (agc_obj->env*unit_gain) >> 15; + 83f49566: 02fb06bb mulw a3,s6,a5 + sig_err = ((int)agc_obj->env)*((int)tmp16) >> 15; /* use the MSB */ + 83f4956a: 02f707bb mulw a5,a4,a5 + tmp16 = (agc_obj->env*unit_gain) >> 15; + 83f4956e: 40f6d71b sraiw a4,a3,0xf + 83f49572: 0107171b slliw a4,a4,0x10 + 83f49576: 4107571b sraiw a4,a4,0x10 + sig_err = ((int)agc_obj->env)*((int)tmp16) >> 15; /* use the MSB */ + 83f4957a: 40f7d79b sraiw a5,a5,0xf + diff = (agc_obj->target_low) - sig_err; + 83f4957e: 0107979b slliw a5,a5,0x10 + 83f49582: 4107d79b sraiw a5,a5,0x10 + diff = tmp16 - sig_err; + 83f49586: 40f7053b subw a0,a4,a5 + 83f4958a: bd15 j 83f493be + if (ABS(sig_in) > (short)(0.223*32768)) { + 83f4958c: 40fdd71b sraiw a4,s11,0xf + 83f49590: 00edc7b3 xor a5,s11,a4 + 83f49594: 9f99 subw a5,a5,a4 + 83f49596: 17c2 slli a5,a5,0x30 + 83f49598: 6709 lui a4,0x2 + 83f4959a: 93c1 srli a5,a5,0x30 + 83f4959c: c8b70713 addi a4,a4,-885 # 1c8b <_EL1_STACK_SIZE+0x148b> + 83f495a0: ecf77fe3 bgeu a4,a5,83f4947e + agc_obj->unit_gain_change = false; + 83f495a4: 10000793 li a5,256 + 83f495a8: 00fb9f23 sh a5,30(s7) + agc_obj->sout_hist = sig_out; /* update y(n-1) */ + 83f495ac: 2c85 addiw s9,s9,1 + for (i = 0; i < agc_obj->frame_size; i++) { + 83f495ae: 032b9783 lh a5,50(s7) + 83f495b2: 010c9c9b slliw s9,s9,0x10 + agc_obj->sout_hist = sig_out; /* update y(n-1) */ + 83f495b6: 02db9023 sh a3,32(s7) + for (i = 0; i < agc_obj->frame_size; i++) { + 83f495ba: 410cdc9b sraiw s9,s9,0x10 + 83f495be: ecfccbe3 blt s9,a5,83f49494 + + } + + #if (1) + if (frame_signal_identify == 0) { + 83f495c2: 44c2 lw s1,16(sp) + 83f495c4: 67e2 ld a5,24(sp) + agc_obj->pcb_noise_cnt++; + agc_obj->pcb_noise_cnt = MIN(agc_obj->pcb_noise_hold_time, agc_obj->pcb_noise_cnt); + 83f495c6: 01cb9703 lh a4,28(s7) + if (frame_signal_identify == 0) { + 83f495ca: 0497cc63 blt a5,s1,83f49622 + agc_obj->pcb_noise_cnt++; + 83f495ce: 01abd783 lhu a5,26(s7) + agc_obj->pcb_noise_cnt = MIN(agc_obj->pcb_noise_hold_time, agc_obj->pcb_noise_cnt); + 83f495d2: 0007069b sext.w a3,a4 + agc_obj->pcb_noise_cnt++; + 83f495d6: 2785 addiw a5,a5,1 + agc_obj->pcb_noise_cnt = MIN(agc_obj->pcb_noise_hold_time, agc_obj->pcb_noise_cnt); + 83f495d8: 0107961b slliw a2,a5,0x10 + 83f495dc: 4106561b sraiw a2,a2,0x10 + 83f495e0: 0cc74263 blt a4,a2,83f496a4 + 83f495e4: 0107979b slliw a5,a5,0x10 + 83f495e8: 4107d79b sraiw a5,a5,0x10 + 83f495ec: 00fb9d23 sh a5,26(s7) + } + else + agc_obj->pcb_noise_cnt = 0; + + if ( agc_obj->pcb_noise_cnt == agc_obj->pcb_noise_hold_time) { + 83f495f0: 04d78063 beq a5,a3,83f49630 + if ((agc_obj->gain32 >> 16) < unit_gain) + agc_obj->gain32 = unit_gain << 16; + } + #endif + + if (1 == path) { + 83f495f4: 4785 li a5,1 + 83f495f6: 06fd0963 beq s10,a5,83f49668 + if (para_obj->para_agc_vad_ena == true) { + agc_obj->agc_vad_hist = agc_obj->agc_vad3; + } + } + +} + 83f495fa: 60aa ld ra,136(sp) + 83f495fc: 640a ld s0,128(sp) + 83f495fe: 74e6 ld s1,120(sp) + 83f49600: 7946 ld s2,112(sp) + 83f49602: 79a6 ld s3,104(sp) + 83f49604: 7a06 ld s4,96(sp) + 83f49606: 6ae6 ld s5,88(sp) + 83f49608: 6b46 ld s6,80(sp) + 83f4960a: 6ba6 ld s7,72(sp) + 83f4960c: 6c06 ld s8,64(sp) + 83f4960e: 7ce2 ld s9,56(sp) + 83f49610: 7d42 ld s10,48(sp) + 83f49612: 7da2 ld s11,40(sp) + 83f49614: 6149 addi sp,sp,144 + 83f49616: 8082 ret + if (tmp16 > agc_obj->target_high) + 83f49618: f7d6d7e3 bge a3,t4,83f49586 + diff = (agc_obj->target_high) - sig_err; + 83f4961c: 40a6853b subw a0,a3,a0 + if (tmp16 >= agc_obj->target_low && tmp16 <= agc_obj->target_high) + 83f49620: bb79 j 83f493be + agc_obj->pcb_noise_cnt = 0; + 83f49622: 4781 li a5,0 + 83f49624: 0007069b sext.w a3,a4 + 83f49628: 00fb9d23 sh a5,26(s7) + if ( agc_obj->pcb_noise_cnt == agc_obj->pcb_noise_hold_time) { + 83f4962c: fcd794e3 bne a5,a3,83f495f4 + tmp16 = (agc_obj->gain32 >> 16) >> 7; + 83f49630: 004ba783 lw a5,4(s7) + 83f49634: 4177d713 srai a4,a5,0x17 + tmp16 = MAX(tmp16, 1); + 83f49638: 86ba mv a3,a4 + tmp16 = (agc_obj->gain32 >> 16) - tmp16; + 83f4963a: 4107d79b sraiw a5,a5,0x10 + tmp16 = MAX(tmp16, 1); + 83f4963e: 00e04363 bgtz a4,83f49644 + 83f49642: 4685 li a3,1 + tmp16 = (agc_obj->gain32 >> 16) - tmp16; + 83f49644: 9f95 subw a5,a5,a3 + agc_obj->gain32 = ((long)tmp16) << 16; /* cut down gain32 */ + 83f49646: 0107979b slliw a5,a5,0x10 + 83f4964a: 4107d79b sraiw a5,a5,0x10 + 83f4964e: 01079693 slli a3,a5,0x10 + if ((agc_obj->gain32 >> 16) < unit_gain) + 83f49652: 000b071b sext.w a4,s6 + 83f49656: 0967d063 bge a5,s6,83f496d6 + agc_obj->gain32 = unit_gain << 16; + 83f4965a: 0107171b slliw a4,a4,0x10 + 83f4965e: 00eba223 sw a4,4(s7) + if (1 == path) { + 83f49662: 4785 li a5,1 + 83f49664: f8fd1be3 bne s10,a5,83f495fa + if (para_obj->para_agc_vad_ena == true) { + 83f49668: 67a2 ld a5,8(sp) + 83f4966a: 01a7c783 lbu a5,26(a5) + 83f4966e: f9a796e3 bne a5,s10,83f495fa + agc_obj->agc_vad_hist = agc_obj->agc_vad3; + 83f49672: 030bc783 lbu a5,48(s7) + 83f49676: 02fb88a3 sb a5,49(s7) +} + 83f4967a: b741 j 83f495fa + if (para_obj->para_agc_vad_ena == true) { + 83f4967c: 01a6c683 lbu a3,26(a3) + 83f49680: c7a69ee3 bne a3,s10,83f492fc + if (speech_vad == false) { + 83f49684: ef21 bnez a4,83f496dc + agc_obj->agc_vad1_cnt = MAX(0, agc_obj->agc_vad1_cnt - 1); + 83f49686: 02a61703 lh a4,42(a2) + 83f4968a: 06ed5863 bge s10,a4,83f496fa + 83f4968e: 377d addiw a4,a4,-1 + 83f49690: 02e61523 sh a4,42(a2) + if (st_vad == false) { + 83f49694: e3c1 bnez a5,83f49714 + agc_obj->agc_vad2 = true; + 83f49696: 4785 li a5,1 + 83f49698: 02fb8623 sb a5,44(s7) + agc_obj->agc_vad2_cnt = 3; + 83f4969c: 478d li a5,3 + 83f4969e: 02fb9723 sh a5,46(s7) + 83f496a2: b9a9 j 83f492fc + agc_obj->pcb_noise_cnt = MIN(agc_obj->pcb_noise_hold_time, agc_obj->pcb_noise_cnt); + 83f496a4: 87ba mv a5,a4 + 83f496a6: bf3d j 83f495e4 + if ((agc_obj->agc_vad1 == true) && (agc_obj->agc_vad2 == true)) { + 83f496a8: 02cbc683 lbu a3,44(s7) + 83f496ac: e95695e3 bne a3,s5,83f49536 + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f496b0: 00cb9683 lh a3,12(s7) + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f496b4: 010b9583 lh a1,16(s7) + agc_obj->agc_vad3 = true; + 83f496b8: 03ab8823 sb s10,48(s7) + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f496bc: 02e585bb mulw a1,a1,a4 + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f496c0: 02e6873b mulw a4,a3,a4 + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + 83f496c4: 40f5d69b sraiw a3,a1,0xf + 83f496c8: 00db9723 sh a3,14(s7) + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + 83f496cc: 40f7571b sraiw a4,a4,0xf + 83f496d0: 00eb9523 sh a4,10(s7) + agc_obj->agc_vad3 = true; + 83f496d4: b971 j 83f49370 + agc_obj->gain32 = ((long)tmp16) << 16; /* cut down gain32 */ + 83f496d6: 00dba223 sw a3,4(s7) + 83f496da: bf29 j 83f495f4 + if (agc_obj->Fs == 16000) + 83f496dc: 03461683 lh a3,52(a2) + 83f496e0: 6711 lui a4,0x4 + agc_obj->agc_vad1 = true; + 83f496e2: 03a60423 sb s10,40(a2) + if (agc_obj->Fs == 16000) + 83f496e6: e8070713 addi a4,a4,-384 # 3e80 <_EL1_STACK_SIZE+0x3680> + 83f496ea: 00e68d63 beq a3,a4,83f49704 + agc_obj->agc_vad1_cnt = para_obj->para_agc_vad_cnt; /* keep it longer than speech vad in order to have better speech fidelity at the end of speech segment */ + 83f496ee: 6722 ld a4,8(sp) + 83f496f0: 02075703 lhu a4,32(a4) + 83f496f4: 02e61523 sh a4,42(a2) + 83f496f8: bf71 j 83f49694 + agc_obj->agc_vad1_cnt = MAX(0, agc_obj->agc_vad1_cnt - 1); + 83f496fa: 02061523 sh zero,42(a2) + agc_obj->agc_vad1 = false; + 83f496fe: 02060423 sb zero,40(a2) + 83f49702: bf49 j 83f49694 + agc_obj->agc_vad1_cnt = para_obj->para_agc_vad_cnt * 2; /* keep it longer than speech vad in order to have better speech fidelity at the end of speech segment */ + 83f49704: 6722 ld a4,8(sp) + 83f49706: 02075703 lhu a4,32(a4) + 83f4970a: 0017171b slliw a4,a4,0x1 + 83f4970e: 02e61523 sh a4,42(a2) + 83f49712: b749 j 83f49694 + agc_obj->agc_vad2_cnt = MAX(0, agc_obj->agc_vad2_cnt - 1); + 83f49714: 02eb9783 lh a5,46(s7) + 83f49718: 4705 li a4,1 + 83f4971a: 00f75663 bge a4,a5,83f49726 + 83f4971e: 37fd addiw a5,a5,-1 + 83f49720: 02fb9723 sh a5,46(s7) + if (!agc_obj->agc_vad2_cnt) + 83f49724: bee1 j 83f492fc + agc_obj->agc_vad2_cnt = MAX(0, agc_obj->agc_vad2_cnt - 1); + 83f49726: 020b9723 sh zero,46(s7) + agc_obj->agc_vad2 = false; + 83f4972a: 020b8623 sb zero,44(s7) + 83f4972e: b6f9 j 83f492fc + +0000000083f49730 : + agc_obj = agc; + agc_obj->Fs = (short)Fs; + agc_obj->frame_size = (short)frame_size; + agc_obj->env = 0L; + + agc_obj->fixed_step_size = 1 << 10; + 83f49730: 40000713 li a4,1024 + agc_obj->Fs = (short)Fs; + 83f49734: c00517d3 fcvt.w.s a5,fa0,rtz + agc_obj->fixed_step_size = 1 << 10; + 83f49738: 00e51923 sh a4,18(a0) # 8012 <_EL1_STACK_SIZE+0x7812> + agc_obj->stepsize_release = agc_obj->fixed_step_size; + 83f4973c: 20000737 lui a4,0x20000 + 83f49740: 40070713 addi a4,a4,1024 # 20000400 + agc_obj->Fs = (short)Fs; + 83f49744: 0107979b slliw a5,a5,0x10 + agc_obj->stepsize_release = agc_obj->fixed_step_size; + 83f49748: c958 sw a4,20(a0) + agc_obj->stepsize_attack = MAX( agc_obj->fixed_step_size, (1 << 13)); + + agc_obj->pcb_noise_thrd = 38; + 83f4974a: 02600713 li a4,38 + agc_obj->Fs = (short)Fs; + 83f4974e: 4107d79b sraiw a5,a5,0x10 + agc_obj->pcb_noise_thrd = 38; + 83f49752: 00e51c23 sh a4,24(a0) + if (agc_obj->Fs == 16000) /* WB */ + 83f49756: 6711 lui a4,0x4 + agc_obj->frame_size = (short)frame_size; + 83f49758: 02c51923 sh a2,50(a0) + agc_obj->Fs = (short)Fs; + 83f4975c: 02f51a23 sh a5,52(a0) + agc_obj->env = 0L; + 83f49760: 00051423 sh zero,8(a0) + if (agc_obj->Fs == 16000) /* WB */ + 83f49764: e8070713 addi a4,a4,-384 # 3e80 <_EL1_STACK_SIZE+0x3680> + agc_obj->pcb_noise_hold_time = 50*(3+1); /* unit is frame */ + 83f49768: 0c800613 li a2,200 + if (agc_obj->Fs == 16000) /* WB */ + 83f4976c: 00e78463 beq a5,a4,83f49774 + else /* NB */ + agc_obj->pcb_noise_hold_time = 25*(3+1); /* unit is frame */ + 83f49770: 06400613 li a2,100 + 83f49774: 00c51e23 sh a2,28(a0) + agc_obj->pcb_noise_cnt = 0; + 83f49778: 00051d23 sh zero,26(a0) + + if (1 == path) { + 83f4977c: 4785 li a5,1 + 83f4977e: 02f68863 beq a3,a5,83f497ae + agc_obj->unit_gain_change = para_obj->para_agc_cut6_ena; /* allow to drop unit gain 6dB and only for one time, controlled here!!! */ + if (!para_obj->para_agc_max_gain) + agc_obj->unit_gain_change = false; + 83f49782: 00050f23 sb zero,30(a0) + } + + agc_obj->unit_gain_change_det = false; + agc_obj->sout_hist = 0; + agc_obj->smooth_cnt = 0; + agc_obj->alpha = (short)((float)(9.0F/10.0F) * 32767); /* coef for Lagrange Interpolation */ + 83f49786: 0ccd77b7 lui a5,0xccd7 + 83f4978a: 33278793 addi a5,a5,818 # ccd7332 + agc_obj->unit_gain_change_det = false; + 83f4978e: 00050fa3 sb zero,31(a0) + agc_obj->sout_hist = 0; + 83f49792: 02052023 sw zero,32(a0) + agc_obj->alpha = (short)((float)(9.0F/10.0F) * 32767); /* coef for Lagrange Interpolation */ + 83f49796: d15c sw a5,36(a0) + agc_obj->alpha2 = 32767 - agc_obj->alpha; + + agc_obj->agc_vad1 = false; + 83f49798: 02050423 sb zero,40(a0) + agc_obj->agc_vad1_cnt = 0; + 83f4979c: 02051523 sh zero,42(a0) + agc_obj->agc_vad2 = false; + 83f497a0: 02050623 sb zero,44(a0) + agc_obj->agc_vad2_cnt = 0; + 83f497a4: 02051723 sh zero,46(a0) + agc_obj->agc_vad_hist = false; + 83f497a8: 020508a3 sb zero,49(a0) + +} + 83f497ac: 8082 ret + agc_obj->unit_gain_change = para_obj->para_agc_cut6_ena; /* allow to drop unit gain 6dB and only for one time, controlled here!!! */ + 83f497ae: 0225c783 lbu a5,34(a1) + 83f497b2: 00f50f23 sb a5,30(a0) + if (!para_obj->para_agc_max_gain) + 83f497b6: 0145d783 lhu a5,20(a1) + 83f497ba: f7f1 bnez a5,83f49786 + 83f497bc: b7d9 j 83f49782 + +0000000083f497be : + +void AGC_para(agc_struct *agc, ssp_para_struct *para, short path) +{ + 83f497be: 1101 addi sp,sp,-32 + 83f497c0: e822 sd s0,16(sp) + 83f497c2: e426 sd s1,8(sp) + 83f497c4: ec06 sd ra,24(sp) + + /* restrict parameter range */ + para_obj = para; + agc_obj = agc; + + if (1 == path) { + 83f497c6: 4785 li a5,1 +{ + 83f497c8: 84aa mv s1,a0 + 83f497ca: 842e mv s0,a1 + if (1 == path) { + 83f497cc: 10f60763 beq a2,a5,83f498da + agc_obj->target_low = db_to_linear(para_obj->para_agc_target_low); + } else { + para_obj->para_spk_agc_cut6_ena = 0; + para_obj->para_spk_agc_vad_ena = 0; + para_obj->para_spk_agc_vad_cnt = 7; + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f497d0: 0265d783 lhu a5,38(a1) + para_obj->para_spk_agc_vad_cnt = 7; + 83f497d4: 471d li a4,7 + 83f497d6: 04e59723 sh a4,78(a1) + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f497da: 03079693 slli a3,a5,0x30 + para_obj->para_spk_agc_cut6_ena = 0; + 83f497de: 04058823 sb zero,80(a1) + para_obj->para_spk_agc_vad_ena = 0; + 83f497e2: 04058623 sb zero,76(a1) + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f497e6: 92c1 srli a3,a3,0x30 + 83f497e8: 4719 li a4,6 + 83f497ea: 0cd76963 bltu a4,a3,83f498bc + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f497ee: 02845703 lhu a4,40(s0) + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f497f2: 02f41323 sh a5,38(s0) + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f497f6: 02400693 li a3,36 + 83f497fa: 03071613 slli a2,a4,0x30 + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f497fe: 17c2 slli a5,a5,0x30 + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f49800: 9241 srli a2,a2,0x30 + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f49802: 93c1 srli a5,a5,0x30 + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f49804: 08c6ee63 bltu a3,a2,83f498a0 + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + 83f49808: 02a45683 lhu a3,42(s0) + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f4980c: 02e41423 sh a4,40(s0) + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + 83f49810: 04800713 li a4,72 + 83f49814: 03069613 slli a2,a3,0x30 + 83f49818: 9241 srli a2,a2,0x30 + 83f4981a: 08c76063 bltu a4,a2,83f4989a + agc_obj->max_gain = agc_gain_table[para_obj->para_spk_agc_max_gain]; + 83f4981e: 00008717 auipc a4,0x8 + 83f49822: 76a70713 addi a4,a4,1898 # 83f51f88 + 83f49826: 0786 slli a5,a5,0x1 + 83f49828: 97ba add a5,a5,a4 + 83f4982a: 0007d783 lhu a5,0(a5) + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + 83f4982e: 02d41523 sh a3,42(s0) + agc_obj->max_gain = agc_gain_table[para_obj->para_spk_agc_max_gain]; + 83f49832: 00f49023 sh a5,0(s1) + agc_obj->target_high = db_to_linear(para_obj->para_spk_agc_target_high); + 83f49836: 02841503 lh a0,40(s0) + 83f4983a: 32e000ef jal ra,83f49b68 + 83f4983e: 00a49723 sh a0,14(s1) + agc_obj->target_low = db_to_linear(para_obj->para_spk_agc_target_low); + 83f49842: 02a41503 lh a0,42(s0) + 83f49846: 322000ef jal ra,83f49b68 + } + + unit_gain = (1L << (agc_obj->max_gain)); /* if max is Q3.13, i.e 2^13=8192 */ + 83f4984a: 00049703 lh a4,0(s1) + agc_obj->unit_gain = agc_obj->max_gain; + agc_obj->gain32 = unit_gain << 16; /* start from unit gain */ + + agc_obj->target_high_Q15 = agc_obj->target_high; /* target high in Q1.15 format */ + 83f4984e: 00e49783 lh a5,14(s1) + unit_gain = (1L << (agc_obj->max_gain)); /* if max is Q3.13, i.e 2^13=8192 */ + 83f49852: 66c1 lui a3,0x10 + agc_obj->gain32 = unit_gain << 16; /* start from unit gain */ + 83f49854: 00e696b3 sll a3,a3,a4 + agc_obj->unit_gain = agc_obj->max_gain; + 83f49858: 00e49123 sh a4,2(s1) + agc_obj->gain32 = unit_gain << 16; /* start from unit gain */ + 83f4985c: c0d4 sw a3,4(s1) + agc_obj->target_high_Q15 = agc_obj->target_high; /* target high in Q1.15 format */ + 83f4985e: 00f49823 sh a5,16(s1) + + agc_obj->target_low = MIN(agc_obj->target_low, agc_obj->target_high); + 83f49862: 0005069b sext.w a3,a0 + unit_gain = (1L << (agc_obj->max_gain)); /* if max is Q3.13, i.e 2^13=8192 */ + 83f49866: 2701 sext.w a4,a4 + agc_obj->target_low = MIN(agc_obj->target_low, agc_obj->target_high); + 83f49868: 863e mv a2,a5 + 83f4986a: 00f6d363 bge a3,a5,83f49870 + 83f4986e: 862a mv a2,a0 + 83f49870: 0106169b slliw a3,a2,0x10 + 83f49874: 4106d69b sraiw a3,a3,0x10 + agc_obj->target_low_Q15 = agc_obj->target_low; /* target low in Q1.15 format */ + + agc_obj->target_high = (short)((agc_obj->target_high*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f49878: 00e797b3 sll a5,a5,a4 + agc_obj->target_low = (short)((agc_obj->target_low*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f4987c: 00e69733 sll a4,a3,a4 + agc_obj->target_high = (short)((agc_obj->target_high*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f49880: 87bd srai a5,a5,0xf + agc_obj->target_low = (short)((agc_obj->target_low*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f49882: 873d srai a4,a4,0xf + agc_obj->target_low_Q15 = agc_obj->target_low; /* target low in Q1.15 format */ + 83f49884: 00c49623 sh a2,12(s1) + agc_obj->target_high = (short)((agc_obj->target_high*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f49888: 00f49723 sh a5,14(s1) + agc_obj->target_low = (short)((agc_obj->target_low*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + 83f4988c: 00e49523 sh a4,10(s1) + +} + 83f49890: 60e2 ld ra,24(sp) + 83f49892: 6442 ld s0,16(sp) + 83f49894: 64a2 ld s1,8(sp) + 83f49896: 6105 addi sp,sp,32 + 83f49898: 8082 ret + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + 83f4989a: 04800693 li a3,72 + 83f4989e: b741 j 83f4981e + 83f498a0: 02a45683 lhu a3,42(s0) + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f498a4: 02400713 li a4,36 + 83f498a8: 02e41423 sh a4,40(s0) + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + 83f498ac: 03069613 slli a2,a3,0x30 + 83f498b0: 04800713 li a4,72 + 83f498b4: 9241 srli a2,a2,0x30 + 83f498b6: f6c774e3 bgeu a4,a2,83f4981e + 83f498ba: b7c5 j 83f4989a + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f498bc: 02845703 lhu a4,40(s0) + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f498c0: 4799 li a5,6 + 83f498c2: 02f41323 sh a5,38(s0) + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f498c6: 03071613 slli a2,a4,0x30 + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f498ca: 17c2 slli a5,a5,0x30 + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f498cc: 02400693 li a3,36 + 83f498d0: 9241 srli a2,a2,0x30 + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + 83f498d2: 93c1 srli a5,a5,0x30 + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + 83f498d4: f2c6fae3 bgeu a3,a2,83f49808 + 83f498d8: b7e1 j 83f498a0 + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f498da: 0145d783 lhu a5,20(a1) + para_obj->para_agc_vad_cnt = 7; + 83f498de: 471d li a4,7 + 83f498e0: 02e59023 sh a4,32(a1) + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f498e4: 03079693 slli a3,a5,0x30 + para_obj->para_agc_cut6_ena = 1; + 83f498e8: 02c58123 sb a2,34(a1) + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f498ec: 92c1 srli a3,a3,0x30 + 83f498ee: 4719 li a4,6 + 83f498f0: 0ad76263 bltu a4,a3,83f49994 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f498f4: 01645683 lhu a3,22(s0) + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f498f8: 00f41a23 sh a5,20(s0) + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f498fc: 02400713 li a4,36 + 83f49900: 03069613 slli a2,a3,0x30 + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f49904: 17c2 slli a5,a5,0x30 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f49906: 9241 srli a2,a2,0x30 + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f49908: 93c1 srli a5,a5,0x30 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f4990a: 06c76763 bltu a4,a2,83f49978 + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f4990e: 01845703 lhu a4,24(s0) + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f49912: 00d41b23 sh a3,22(s0) + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f49916: 04800693 li a3,72 + 83f4991a: 03071613 slli a2,a4,0x30 + 83f4991e: 9241 srli a2,a2,0x30 + 83f49920: 04c6e263 bltu a3,a2,83f49964 + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + 83f49924: 01a44683 lbu a3,26(s0) + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f49928: 00e41c23 sh a4,24(s0) + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + 83f4992c: 0ff6f713 andi a4,a3,255 + 83f49930: eb05 bnez a4,83f49960 + agc_obj->max_gain = agc_gain_table[para_obj->para_agc_max_gain]; + 83f49932: 00008717 auipc a4,0x8 + 83f49936: 65670713 addi a4,a4,1622 # 83f51f88 + 83f4993a: 0786 slli a5,a5,0x1 + 83f4993c: 97ba add a5,a5,a4 + 83f4993e: 0007d783 lhu a5,0(a5) + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + 83f49942: 00d40d23 sb a3,26(s0) + agc_obj->max_gain = agc_gain_table[para_obj->para_agc_max_gain]; + 83f49946: 00f49023 sh a5,0(s1) + agc_obj->target_high = db_to_linear(para_obj->para_agc_target_high); + 83f4994a: 01641503 lh a0,22(s0) + 83f4994e: 21a000ef jal ra,83f49b68 + 83f49952: 00a49723 sh a0,14(s1) + agc_obj->target_low = db_to_linear(para_obj->para_agc_target_low); + 83f49956: 01841503 lh a0,24(s0) + 83f4995a: 20e000ef jal ra,83f49b68 + 83f4995e: b5f5 j 83f4984a + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + 83f49960: 4685 li a3,1 + 83f49962: bfc1 j 83f49932 + 83f49964: 01a44683 lbu a3,26(s0) + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f49968: 04800713 li a4,72 + 83f4996c: 00e41c23 sh a4,24(s0) + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + 83f49970: 0ff6f713 andi a4,a3,255 + 83f49974: df5d beqz a4,83f49932 + 83f49976: b7ed j 83f49960 + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f49978: 01845703 lhu a4,24(s0) + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f4997c: 02400693 li a3,36 + 83f49980: 00d41b23 sh a3,22(s0) + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + 83f49984: 03071613 slli a2,a4,0x30 + 83f49988: 04800693 li a3,72 + 83f4998c: 9241 srli a2,a2,0x30 + 83f4998e: f8c6fbe3 bgeu a3,a2,83f49924 + 83f49992: bfc9 j 83f49964 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f49994: 01645683 lhu a3,22(s0) + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f49998: 4799 li a5,6 + 83f4999a: 00f41a23 sh a5,20(s0) + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f4999e: 03069613 slli a2,a3,0x30 + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f499a2: 17c2 slli a5,a5,0x30 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f499a4: 02400713 li a4,36 + 83f499a8: 9241 srli a2,a2,0x30 + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + 83f499aa: 93c1 srli a5,a5,0x30 + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + 83f499ac: f6c771e3 bgeu a4,a2,83f4990e + 83f499b0: b7e1 j 83f49978 + +0000000083f499b2 : +#include "define.h" +#include "agc_subfun.h" + +/* Function Definitions */ +short envelope(short* sin, short frame_size) /* Envelope detector based on frame */ +{ + 83f499b2: 86aa mv a3,a0 + short *ptr_sin; + //int y1, y2; + + ptr_sin = sin; + temp_max = 0x4; /* keep a minimal DC here */ + for (i = 0; i < frame_size; i++) { + 83f499b4: 04b05863 blez a1,83f49a04 + 83f499b8: 0586 slli a1,a1,0x1 + temp = *ptr_sin++; + if (temp == (short)0x8000) + temp = (short)0x8001; + temp = ABS(temp); + 83f499ba: 7861 lui a6,0xffff8 + 83f499bc: 00b50633 add a2,a0,a1 + 83f499c0: 2805 addiw a6,a6,1 + temp_max = 0x4; /* keep a minimal DC here */ + 83f499c2: 4511 li a0,4 + temp = ABS(temp); + 83f499c4: 75e1 lui a1,0xffff8 + temp = *ptr_sin++; + 83f499c6: 00069703 lh a4,0(a3) # 10000 <_EL1_STACK_SIZE+0xf800> + 83f499ca: 0689 addi a3,a3,2 + temp = ABS(temp); + 83f499cc: 87ba mv a5,a4 + 83f499ce: 00e5c363 blt a1,a4,83f499d4 + 83f499d2: 87c2 mv a5,a6 + 83f499d4: 0107971b slliw a4,a5,0x10 + 83f499d8: 4107571b sraiw a4,a4,0x10 + 83f499dc: 40f7571b sraiw a4,a4,0xf + 83f499e0: 8fb9 xor a5,a5,a4 + 83f499e2: 9f99 subw a5,a5,a4 + 83f499e4: 17c2 slli a5,a5,0x30 + 83f499e6: 93c1 srli a5,a5,0x30 + if (temp > temp_max) + 83f499e8: 0107971b slliw a4,a5,0x10 + 83f499ec: 4107571b sraiw a4,a4,0x10 + 83f499f0: 00a75363 bge a4,a0,83f499f6 + 83f499f4: 87aa mv a5,a0 + 83f499f6: 0107951b slliw a0,a5,0x10 + 83f499fa: 4105551b sraiw a0,a0,0x10 + for (i = 0; i < frame_size; i++) { + 83f499fe: fcd614e3 bne a2,a3,83f499c6 + 83f49a02: 8082 ret + temp_max = 0x4; /* keep a minimal DC here */ + 83f49a04: 4511 li a0,4 + y = (y1 + y2) >> 16; + #endif + + return y; + +} + 83f49a06: 8082 ret + +0000000083f49a08 : +{ + int delta32; + int gain32; + short step_size; + + if (diff > 32767) + 83f49a08: 67a1 lui a5,0x8 + 83f49a0a: 00f55963 bge a0,a5,83f49a1c + diff = 32767; + else if (diff < -32768) + 83f49a0e: 77e1 lui a5,0xffff8 + 83f49a10: 02f55863 bge a0,a5,83f49a40 + diff = -32768; + + if (diff > 0) /* attack time and release time constants should be separated here!!! */ + step_size = agc_obj->stepsize_release; /* usually gain slowly increase, so release time constant here slowly */ + else + step_size = agc_obj->stepsize_attack; /* usually gain quickly decrease, so attack time constant here quickly */ + 83f49a14: 01659783 lh a5,22(a1) # ffffffffffff8016 <_end+0xffffffff7bff82d6> + diff = -32768; + 83f49a18: 7561 lui a0,0xffff8 + step_size = agc_obj->stepsize_attack; /* usually gain quickly decrease, so attack time constant here quickly */ + 83f49a1a: a029 j 83f49a24 + diff = 32767; + 83f49a1c: fff78513 addi a0,a5,-1 # ffffffffffff7fff <_end+0xffffffff7bff82bf> + step_size = agc_obj->stepsize_release; /* usually gain slowly increase, so release time constant here slowly */ + 83f49a20: 01459783 lh a5,20(a1) + + delta32 = ((int)(step_size) * (int)(diff)) << 1; + 83f49a24: 02a787bb mulw a5,a5,a0 + gain32 = agc_obj->gain32 + delta32; + 83f49a28: 41d4 lw a3,4(a1) + + //if(gain32 <0) + // printf(""); + if (((unsigned int)gain32) > 32767*65536) /* saturation restriction */ + 83f49a2a: 7fff0737 lui a4,0x7fff0 + delta32 = ((int)(step_size) * (int)(diff)) << 1; + 83f49a2e: 0017979b slliw a5,a5,0x1 + gain32 = agc_obj->gain32 + delta32; + 83f49a32: 9fb5 addw a5,a5,a3 + if (((unsigned int)gain32) > 32767*65536) /* saturation restriction */ + 83f49a34: 00f77463 bgeu a4,a5,83f49a3c + gain32 = 32767*65536; /* 0x7FFF0000 */ + 83f49a38: 7fff07b7 lui a5,0x7fff0 + + agc_obj->gain32 = gain32; + 83f49a3c: c1dc sw a5,4(a1) + + } + 83f49a3e: 8082 ret + if (diff > 0) /* attack time and release time constants should be separated here!!! */ + 83f49a40: fea040e3 bgtz a0,83f49a20 + step_size = agc_obj->stepsize_attack; /* usually gain quickly decrease, so attack time constant here quickly */ + 83f49a44: 01659783 lh a5,22(a1) + 83f49a48: bff1 j 83f49a24 + +0000000083f49a4a : + double tmp2_d; + boolean_T short_iteration; + int i, m; + float tmp1; + + if (v == 0.0F) { + 83f49a4a: f0000753 fmv.w.x fa4,zero +{ + 83f49a4e: 862e mv a2,a1 + if (v == 0.0F) { + 83f49a50: a0e527d3 feq.s a5,fa0,fa4 + 83f49a54: 10079163 bnez a5,83f49b56 + bessel_f_ptr0 = &bessel_v0_f[0]; + bessel_d_ptr0 = &bessel_v0_d[0]; + } else { + bessel_f_ptr0 = &bessel_v1_f[0]; + bessel_d_ptr0 = &bessel_v1_d[0]; + 83f49a58: 00009e17 auipc t3,0x9 + 83f49a5c: 6f8e0e13 addi t3,t3,1784 # 83f53150 + bessel_f_ptr0 = &bessel_v1_f[0]; + 83f49a60: 00009817 auipc a6,0x9 + 83f49a64: 71880813 addi a6,a6,1816 # 83f53178 + bessel_f_ptr++; + } + + if (short_iteration == true) { + /* bessel(i,1) = ((x/2)^v)*acc0 */ + if (v == 0.0F) { + 83f49a68: f0000753 fmv.w.x fa4,zero + 83f49a6c: 85aa mv a1,a0 + 83f49a6e: 50460893 addi a7,a2,1284 + 83f49a72: a0e52353 feq.s t1,fa0,fa4 + 83f49a76: 03480693 addi a3,a6,52 + 83f49a7a: 00008797 auipc a5,0x8 + 83f49a7e: 7d67a187 flw ft3,2006(a5) # 83f52250 <__func__.1+0x58> + 83f49a82: 00009797 auipc a5,0x9 + 83f49a86: 99e7b587 fld fa1,-1634(a5) # 83f52420 <__func__.1+0x228> + bessel[i] = acc0_f; + } else { + bessel[i] = x[i] / 2.0F * acc0_f; + 83f49a8a: 00008797 auipc a5,0x8 + 83f49a8e: 7e67a207 flw ft4,2022(a5) # 83f52270 <__func__.1+0x78> + 83f49a92: 028e0513 addi a0,t3,40 + 83f49a96: 00009797 auipc a5,0x9 + 83f49a9a: 9927b107 fld ft2,-1646(a5) # 83f52428 <__func__.1+0x230> + tmp1 = x[i] * x[i]; + 83f49a9e: 0005a507 flw fa0,0(a1) + tmp2_f = 1.0F; + 83f49aa2: 20318753 fmv.s fa4,ft3 + acc0_f = 1.0F; /* result for m = 0 */ + 83f49aa6: 203186d3 fmv.s fa3,ft3 + tmp1 = x[i] * x[i]; + 83f49aaa: 10a57653 fmul.s fa2,fa0,fa0 + bessel_f_ptr = bessel_f_ptr0; + 83f49aae: 87c2 mv a5,a6 + if ((double)(tmp2_f*tmp1) > 3.4E+38) /* positive for sure */ + 83f49ab0: 10c77753 fmul.s fa4,fa4,fa2 + 83f49ab4: 420707d3 fcvt.d.s fa5,fa4 + 83f49ab8: a2f59753 flt.d a4,fa1,fa5 + 83f49abc: c709 beqz a4,83f49ac6 + tmp2_f = (float)3.4E+38; + 83f49abe: 00009717 auipc a4,0x9 + 83f49ac2: 95e72707 flw fa4,-1698(a4) # 83f5241c <__func__.1+0x224> + acc0_f = acc0_f + tmp2_f / (*bessel_f_ptr); + 83f49ac6: 0007a787 flw fa5,0(a5) + bessel_f_ptr++; + 83f49aca: 0791 addi a5,a5,4 + acc0_f = acc0_f + tmp2_f / (*bessel_f_ptr); + 83f49acc: 18f777d3 fdiv.s fa5,fa4,fa5 + 83f49ad0: 00d7f7d3 fadd.s fa5,fa5,fa3 + if (acc0_f == acc1_f) { + 83f49ad4: a0d7a753 feq.s a4,fa5,fa3 + acc0_f = acc0_f + tmp2_f / (*bessel_f_ptr); + 83f49ad8: 20f786d3 fmv.s fa3,fa5 + if (acc0_f == acc1_f) { + 83f49adc: e32d bnez a4,83f49b3e + for (m = 0; m < 13; m++) { + 83f49ade: fcd799e3 bne a5,a3,83f49ab0 + } + goto bessel_end; + } + + tmp2_d = (double)tmp2_f; + 83f49ae2: 42070753 fcvt.d.s fa4,fa4 + acc0_d = (double)acc0_f; + 83f49ae6: 420787d3 fcvt.d.s fa5,fa5 + acc1_d = acc0_d; + bessel_d_ptr = bessel_d_ptr0; + + for (m = 0; m < 5; m++) { + tmp2_d *= tmp1; /* positive for sure */ + 83f49aea: 42060653 fcvt.d.s fa2,fa2 + bessel_d_ptr = bessel_d_ptr0; + 83f49aee: 87f2 mv a5,t3 + tmp2_d *= tmp1; /* positive for sure */ + 83f49af0: 12c77753 fmul.d fa4,fa4,fa2 + if (tmp2_d > 1.7E+200) /* 1.7E+308 */ + 83f49af4: a2e11753 flt.d a4,ft2,fa4 + 83f49af8: ef21 bnez a4,83f49b50 + break; + acc0_d = acc0_d + tmp2_d / (*bessel_d_ptr); + 83f49afa: 2394 fld fa3,0(a5) + if ((float)(acc0_d) == (float)(acc1_d)) + 83f49afc: 4017f053 fcvt.s.d ft0,fa5 + break; + acc1_d = acc0_d; + bessel_d_ptr++; + 83f49b00: 07a1 addi a5,a5,8 + acc0_d = acc0_d + tmp2_d / (*bessel_d_ptr); + 83f49b02: 1ad776d3 fdiv.d fa3,fa4,fa3 + 83f49b06: 02f6f6d3 fadd.d fa3,fa3,fa5 + if ((float)(acc0_d) == (float)(acc1_d)) + 83f49b0a: 4016f0d3 fcvt.s.d ft1,fa3 + acc0_d = acc0_d + tmp2_d / (*bessel_d_ptr); + 83f49b0e: 22d687d3 fmv.d fa5,fa3 + if ((float)(acc0_d) == (float)(acc1_d)) + 83f49b12: a000a753 feq.s a4,ft1,ft0 + 83f49b16: e319 bnez a4,83f49b1c + for (m = 0; m < 5; m++) { + 83f49b18: fca79ce3 bne a5,a0,83f49af0 + } + + /* bessel(i,1) = ((x/2)^v)*acc0 */ + if (v == 0.0F) { + 83f49b1c: 00031863 bnez t1,83f49b2c + bessel[i] = (float)(acc0_d); + } else { + bessel[i] = (float)(x[i] / 2.0F * acc0_d); + 83f49b20: 10457553 fmul.s fa0,fa0,ft4 + 83f49b24: 42050553 fcvt.d.s fa0,fa0 + 83f49b28: 12d576d3 fmul.d fa3,fa0,fa3 + 83f49b2c: 4016f6d3 fcvt.s.d fa3,fa3 + 83f49b30: 00d62027 fsw fa3,0(a2) + for (i = 0; i < 321; i++) { /* input vector length */ + 83f49b34: 0611 addi a2,a2,4 + 83f49b36: 0591 addi a1,a1,4 + 83f49b38: f71613e3 bne a2,a7,83f49a9e + 83f49b3c: 8082 ret + if (v == 0.0F) { + 83f49b3e: 00031663 bnez t1,83f49b4a + bessel[i] = x[i] / 2.0F * acc0_f; + 83f49b42: 10457553 fmul.s fa0,fa0,ft4 + 83f49b46: 10f577d3 fmul.s fa5,fa0,fa5 + 83f49b4a: 00f62027 fsw fa5,0(a2) + 83f49b4e: b7dd j 83f49b34 + 83f49b50: 22f786d3 fmv.d fa3,fa5 + 83f49b54: b7e1 j 83f49b1c + bessel_d_ptr0 = &bessel_v0_d[0]; + 83f49b56: 00009e17 auipc t3,0x9 + 83f49b5a: 59ae0e13 addi t3,t3,1434 # 83f530f0 + bessel_f_ptr0 = &bessel_v0_f[0]; + 83f49b5e: 00009817 auipc a6,0x9 + 83f49b62: 5ba80813 addi a6,a6,1466 # 83f53118 + 83f49b66: b709 j 83f49a68 + +0000000083f49b68 : +{ + short i; + short tmp16; + + tmp16 = 0x7fff; + db_num = MAX(0,db_num); + 83f49b68: fff54713 not a4,a0 + 83f49b6c: 977d srai a4,a4,0x3f + 83f49b6e: 8f69 and a4,a4,a0 + for (i = 0; i < db_num; i++) + 83f49b70: 02a05863 blez a0,83f49ba0 + tmp16 = 0x7fff; + 83f49b74: 6521 lui a0,0x8 + tmp16 = (short)(((long)tmp16 * (long)29204) >> 15); + 83f49b76: 669d lui a3,0x7 + tmp16 = 0x7fff; + 83f49b78: 157d addi a0,a0,-1 + for (i = 0; i < db_num; i++) + 83f49b7a: 4781 li a5,0 + 83f49b7c: 2701 sext.w a4,a4 + tmp16 = (short)(((long)tmp16 * (long)29204) >> 15); + 83f49b7e: 21468693 addi a3,a3,532 # 7214 <_EL1_STACK_SIZE+0x6a14> + 83f49b82: 02d50533 mul a0,a0,a3 + 83f49b86: 2785 addiw a5,a5,1 + 83f49b88: 0107979b slliw a5,a5,0x10 + 83f49b8c: 4107d79b sraiw a5,a5,0x10 + 83f49b90: 853d srai a0,a0,0xf + 83f49b92: 0105151b slliw a0,a0,0x10 + 83f49b96: 4105551b sraiw a0,a0,0x10 + for (i = 0; i < db_num; i++) + 83f49b9a: fee7c4e3 blt a5,a4,83f49b82 + 83f49b9e: 8082 ret + tmp16 = 0x7fff; + 83f49ba0: 6521 lui a0,0x8 + 83f49ba2: 157d addi a0,a0,-1 + return tmp16; + +} + 83f49ba4: 8082 ret + +0000000083f49ba6 : + int k; + float alpha; + + /* DR based VAD is good at low and high SNRs, but not good for tone */ + /* alike signals and also sensitive to DC setup */ + DR_bin_cnt = 0.0F; + 83f49ba6: f0000153 fmv.w.x ft2,zero + for (k = 0; k < 5; k++) { + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + 83f49baa: 6538 ld a4,72(a0) + 83f49bac: 4781 li a5,0 + 83f49bae: 202105d3 fmv.s fa1,ft2 + 83f49bb2: 00009697 auipc a3,0x9 + 83f49bb6: 8926a807 flw fa6,-1902(a3) # 83f52444 <__func__.1+0x24c> + 83f49bba: 00009697 auipc a3,0x9 + 83f49bbe: 8926a387 flw ft7,-1902(a3) # 83f5244c <__func__.1+0x254> + 83f49bc2: 00009697 auipc a3,0x9 + 83f49bc6: 86e6a307 flw ft6,-1938(a3) # 83f52430 <__func__.1+0x238> + alpha = 0.98F; + 83f49bca: 00009697 auipc a3,0x9 + 83f49bce: 86a6a287 flw ft5,-1942(a3) # 83f52434 <__func__.1+0x23c> + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + 83f49bd2: 00008697 auipc a3,0x8 + 83f49bd6: 69e6a887 flw fa7,1694(a3) # 83f52270 <__func__.1+0x78> + 83f49bda: 00009697 auipc a3,0x9 + 83f49bde: 85e6a207 flw ft4,-1954(a3) # 83f52438 <__func__.1+0x240> + alpha = 0.5F; + } + + st->noisy_st_trough[k] = alpha * st->noisy_st_trough[k] + (1.0F - alpha) * st->amp_inst_band[k]; + if (st->amp_inst_band[k] - st->noisy_st_peak[k] > 0.0F) { + alpha = 0.9F; + 83f49be2: 00008697 auipc a3,0x8 + 83f49be6: 69e6a187 flw ft3,1694(a3) # 83f52280 <__func__.1+0x88> + if (st->amp_inst_band[k] - st->noisy_st_peak[k] > 0.0F) { + 83f49bea: 00009697 auipc a3,0x9 + 83f49bee: 8526af87 flw ft11,-1966(a3) # 83f5243c <__func__.1+0x244> + } else { + alpha = 0.93F; + 83f49bf2: 00009697 auipc a3,0x9 + 83f49bf6: 84e6af07 flw ft10,-1970(a3) # 83f52440 <__func__.1+0x248> + + st->noisy_st_peak[k] = alpha * st->noisy_st_peak[k] + (1.0F - alpha) * st->amp_inst_band[k]; + + /* to make sure noisy_st_peak cannot go up too much, now maximal 24 dB range */ + if (st->noisy_st_peak[k] / 16.0F - st->noisy_st_trough[k] > 0.0F) { + st->noisy_st_peak[k] = st->noisy_st_trough[k] * 16.0F; + 83f49bfa: 00009697 auipc a3,0x9 + 83f49bfe: 84e6ae87 flw ft9,-1970(a3) # 83f52448 <__func__.1+0x250> + } + + /* the smaller the threshold, the faster to suppress noise but easily introduce more speech distortion as trade-off */ + if (st->noisy_st_peak[k] * 0.5012F - st->noisy_st_trough[k] > 0.0F) { + DR_bin_cnt++; + 83f49c02: 00008697 auipc a3,0x8 + 83f49c06: 64e6ae07 flw ft8,1614(a3) # 83f52250 <__func__.1+0x58> + for (k = 0; k < 5; k++) { + 83f49c0a: 4651 li a2,20 + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + 83f49c0c: 6134 ld a3,64(a0) + 83f49c0e: 973e add a4,a4,a5 + 83f49c10: 00072687 flw fa3,0(a4) + 83f49c14: 96be add a3,a3,a5 + 83f49c16: 0006a607 flw fa2,0(a3) + 83f49c1a: 20630753 fmv.s fa4,ft6 + alpha = 0.98F; + 83f49c1e: 205287d3 fmv.s fa5,ft5 + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + 83f49c22: 08d670d3 fsub.s ft1,fa2,fa3 + 83f49c26: 20420053 fmv.s ft0,ft4 + alpha = 0.9F; + 83f49c2a: 20318553 fmv.s fa0,ft3 + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + 83f49c2e: a01596d3 flt.s a3,fa1,ft1 + 83f49c32: e689 bnez a3,83f49c3c + 83f49c34: 21188753 fmv.s fa4,fa7 + alpha = 0.5F; + 83f49c38: 211887d3 fmv.s fa5,fa7 + st->noisy_st_trough[k] = alpha * st->noisy_st_trough[k] + (1.0F - alpha) * st->amp_inst_band[k]; + 83f49c3c: 10e67653 fmul.s fa2,fa2,fa4 + 83f49c40: 60f6f6c3 fmadd.s fa3,fa3,fa5,fa2 + 83f49c44: 00d72027 fsw fa3,0(a4) + if (st->amp_inst_band[k] - st->noisy_st_peak[k] > 0.0F) { + 83f49c48: 6134 ld a3,64(a0) + 83f49c4a: 6938 ld a4,80(a0) + 83f49c4c: 96be add a3,a3,a5 + 83f49c4e: 973e add a4,a4,a5 + 83f49c50: 0006a707 flw fa4,0(a3) + 83f49c54: 00072787 flw fa5,0(a4) + 83f49c58: 08f776d3 fsub.s fa3,fa4,fa5 + 83f49c5c: a0d596d3 flt.s a3,fa1,fa3 + 83f49c60: e689 bnez a3,83f49c6a + 83f49c62: 21ff8053 fmv.s ft0,ft11 + alpha = 0.93F; + 83f49c66: 21ef0553 fmv.s fa0,ft10 + st->noisy_st_peak[k] = alpha * st->noisy_st_peak[k] + (1.0F - alpha) * st->amp_inst_band[k]; + 83f49c6a: 10077753 fmul.s fa4,fa4,ft0 + 83f49c6e: 70a7f7c3 fmadd.s fa5,fa5,fa0,fa4 + 83f49c72: 00f72027 fsw fa5,0(a4) + if (st->noisy_st_peak[k] / 16.0F - st->noisy_st_trough[k] > 0.0F) { + 83f49c76: 6538 ld a4,72(a0) + 83f49c78: 6934 ld a3,80(a0) + 83f49c7a: 00f705b3 add a1,a4,a5 + 83f49c7e: 96be add a3,a3,a5 + 83f49c80: 0005a707 flw fa4,0(a1) + 83f49c84: 0006a787 flw fa5,0(a3) + 83f49c88: 7107f6c7 fmsub.s fa3,fa5,fa6,fa4 + 83f49c8c: a0d595d3 flt.s a1,fa1,fa3 + 83f49c90: cd91 beqz a1,83f49cac + st->noisy_st_peak[k] = st->noisy_st_trough[k] * 16.0F; + 83f49c92: 11d77753 fmul.s fa4,fa4,ft9 + 83f49c96: 00e6a027 fsw fa4,0(a3) + if (st->noisy_st_peak[k] * 0.5012F - st->noisy_st_trough[k] > 0.0F) { + 83f49c9a: 6934 ld a3,80(a0) + 83f49c9c: 6538 ld a4,72(a0) + 83f49c9e: 96be add a3,a3,a5 + 83f49ca0: 00f705b3 add a1,a4,a5 + 83f49ca4: 0006a787 flw fa5,0(a3) + 83f49ca8: 0005a707 flw fa4,0(a1) + 83f49cac: 7077f7c7 fmsub.s fa5,fa5,ft7,fa4 + for (k = 0; k < 5; k++) { + 83f49cb0: 0791 addi a5,a5,4 + if (st->noisy_st_peak[k] * 0.5012F - st->noisy_st_trough[k] > 0.0F) { + 83f49cb2: a0f596d3 flt.s a3,fa1,fa5 + 83f49cb6: c299 beqz a3,83f49cbc + DR_bin_cnt++; + 83f49cb8: 01c17153 fadd.s ft2,ft2,ft8 + for (k = 0; k < 5; k++) { + 83f49cbc: f4c798e3 bne a5,a2,83f49c0c + } + } + + if (DR_bin_cnt == 0.0F) { + 83f49cc0: f00007d3 fmv.w.x fa5,zero + 83f49cc4: a0f127d3 feq.s a5,ft2,fa5 + 83f49cc8: c395 beqz a5,83f49cec + DR_bin_cnt = st->vad_dr_cnt - 1.0F; + 83f49cca: 07052707 flw fa4,112(a0) # 8070 <_EL1_STACK_SIZE+0x7870> + 83f49cce: 00008797 auipc a5,0x8 + 83f49cd2: 5827a687 flw fa3,1410(a5) # 83f52250 <__func__.1+0x58> + 83f49cd6: 08d77753 fsub.s fa4,fa4,fa3 + if (0.0F > DR_bin_cnt) { + 83f49cda: a0f717d3 flt.s a5,fa4,fa5 + 83f49cde: e7a9 bnez a5,83f49d28 + DR_bin_cnt = 0.0F; + } + + st->vad_dr_cnt = DR_bin_cnt; + if (DR_bin_cnt == 0.0F) { + 83f49ce0: a0f727d3 feq.s a5,fa4,fa5 + st->vad_dr_cnt = DR_bin_cnt; + 83f49ce4: 06e52827 fsw fa4,112(a0) + if (DR_bin_cnt == 0.0F) { + 83f49ce8: e3b1 bnez a5,83f49d2c + st->vad_dr_cnt = 7.0F; + } + } + } + +} + 83f49cea: 8082 ret + if (st->Fs == 16000.0F) { + 83f49cec: 09c52787 flw fa5,156(a0) + st->vad_dr = 1.0F; + 83f49cf0: 00008797 auipc a5,0x8 + 83f49cf4: 5607a707 flw fa4,1376(a5) # 83f52250 <__func__.1+0x58> + if (st->Fs == 16000.0F) { + 83f49cf8: 00008797 auipc a5,0x8 + 83f49cfc: 55c7a687 flw fa3,1372(a5) # 83f52254 <__func__.1+0x5c> + 83f49d00: a0d7a7d3 feq.s a5,fa5,fa3 + st->vad_dr = 1.0F; + 83f49d04: 06e52a27 fsw fa4,116(a0) + if (st->Fs == 16000.0F) { + 83f49d08: cb81 beqz a5,83f49d18 + st->vad_dr_cnt = 7.0F; + 83f49d0a: 00008797 auipc a5,0x8 + 83f49d0e: 5527a787 flw fa5,1362(a5) # 83f5225c <__func__.1+0x64> + 83f49d12: 06f52827 fsw fa5,112(a0) + 83f49d16: 8082 ret + if (st->Fs == 8000.0F) { + 83f49d18: 00008797 auipc a5,0x8 + 83f49d1c: 69c7a707 flw fa4,1692(a5) # 83f523b4 <__func__.1+0x1bc> + 83f49d20: a0e7a7d3 feq.s a5,fa5,fa4 + 83f49d24: f3fd bnez a5,83f49d0a + 83f49d26: 8082 ret + st->vad_dr_cnt = DR_bin_cnt; + 83f49d28: 06052823 sw zero,112(a0) + st->vad_dr = 0.0F; + 83f49d2c: 06052a23 sw zero,116(a0) + 83f49d30: 8082 ret + +0000000083f49d32 : + + if (n == 1) return; + drfti1(n, wsave+n, ifac); +} + +static void dradf2(int ido,int l1,float *cc,float *ch,float *wa1){ + 83f49d32: 7139 addi sp,sp,-64 + 83f49d34: f04e sd s3,32(sp) + int i,k; + float ti2,tr2; + int t0,t1,t2,t3,t4,t5,t6; + + t1=0; + t0=(t2=l1*ido); + 83f49d36: 02a589bb mulw s3,a1,a0 +static void dradf2(int ido,int l1,float *cc,float *ch,float *wa1){ + 83f49d3a: f44a sd s2,40(sp) + 83f49d3c: ec52 sd s4,24(sp) + t3=ido<<1; + 83f49d3e: 0015129b slliw t0,a0,0x1 +static void dradf2(int ido,int l1,float *cc,float *ch,float *wa1){ + 83f49d42: fc22 sd s0,56(sp) + 83f49d44: f826 sd s1,48(sp) + 83f49d46: e856 sd s5,16(sp) + 83f49d48: e45a sd s6,8(sp) + t3=ido<<1; + 83f49d4a: 8916 mv s2,t0 + t0=(t2=l1*ido); + 83f49d4c: 8a4e mv s4,s3 + for(k=0;k + 83f49d52: 00299813 slli a6,s3,0x2 + 83f49d56: 00251f13 slli t5,a0,0x2 + 83f49d5a: 88b2 mv a7,a2 + 83f49d5c: 9832 add a6,a6,a2 + 83f49d5e: 4781 li a5,0 + 83f49d60: 4e81 li t4,0 + ch[t1<<1]=cc[t1]+cc[t2]; + 83f49d62: 00082707 flw fa4,0(a6) + 83f49d66: 0008a787 flw fa5,0(a7) + 83f49d6a: 00279e13 slli t3,a5,0x2 + 83f49d6e: 9e36 add t3,t3,a3 + 83f49d70: 00e7f7d3 fadd.s fa5,fa5,fa4 + ch[(t1<<1)+t3-1]=cc[t1]-cc[t2]; + 83f49d74: 00f287bb addw a5,t0,a5 + 83f49d78: 00279313 slli t1,a5,0x2 + 83f49d7c: 9336 add t1,t1,a3 + for(k=0;k + t1+=ido; + t2+=ido; + } + + if(ido<2)return; + 83f49d9c: 4785 li a5,1 + 83f49d9e: 0ea7d563 bge a5,a0,83f49e88 + if(ido==2)goto L105; + 83f49da2: 4789 li a5,2 + 83f49da4: 0ef50b63 beq a0,a5,83f49e9a + } + t1+=ido; + t2+=ido; + } + + if(ido%2==1)return; + 83f49da8: 00157b13 andi s6,a0,1 + for(k=0;k + 83f49db0: 8496 mv s1,t0 + 83f49db2: 00251f13 slli t5,a0,0x2 + 83f49db6: 8fb2 mv t6,a2 + 83f49db8: 00291a93 slli s5,s2,0x2 + 83f49dbc: 8436 mv s0,a3 + 83f49dbe: 098a slli s3,s3,0x2 + 83f49dc0: 4381 li t2,0 + for(i=2;i + for(k=0;k + if(ido%2==1)return; + 83f49e42: 040b1363 bnez s6,83f49e88 + + L105: + t3=(t2=(t1=ido)-1); + 83f49e46: fff5081b addiw a6,a0,-1 + t2+=t0; + 83f49e4a: 01480a3b addw s4,a6,s4 + for(k=0;k + t1+=ido<<1; + t2+=ido; + t3+=ido; + } +} + 83f49e88: 7462 ld s0,56(sp) + 83f49e8a: 74c2 ld s1,48(sp) + 83f49e8c: 7922 ld s2,40(sp) + 83f49e8e: 7982 ld s3,32(sp) + 83f49e90: 6a62 ld s4,24(sp) + 83f49e92: 6ac2 ld s5,16(sp) + 83f49e94: 6b22 ld s6,8(sp) + 83f49e96: 6121 addi sp,sp,64 + 83f49e98: 8082 ret + for(k=0;k + t2+=t0; + 83f49e9e: 2a05 addiw s4,s4,1 + t3=(t2=(t1=ido)-1); + 83f49ea0: 4805 li a6,1 + 83f49ea2: 4f21 li t5,8 + 83f49ea4: b76d j 83f49e4e + +0000000083f49ea6 : +static void dradf4(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2,float *wa3){ + static float hsqt2 = .70710678118654752f; + int i,k,t0,t1,t2,t3,t4,t5,t6; + float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; + t0=l1*ido; + 83f49ea6: 02a588bb mulw a7,a1,a0 + float *wa2,float *wa3){ + 83f49eaa: 7119 addi sp,sp,-128 + 83f49eac: fca2 sd s0,120(sp) + 83f49eae: f8a6 sd s1,112(sp) + 83f49eb0: f4ca sd s2,104(sp) + 83f49eb2: f0ce sd s3,96(sp) + 83f49eb4: ecd2 sd s4,88(sp) + 83f49eb6: e8d6 sd s5,80(sp) + 83f49eb8: e4da sd s6,72(sp) + 83f49eba: e0de sd s7,64(sp) + + t1=t0; + t4=t1<<1; + 83f49ebc: 00189e9b slliw t4,a7,0x1 + float *wa2,float *wa3){ + 83f49ec0: fc62 sd s8,56(sp) + 83f49ec2: f866 sd s9,48(sp) + 83f49ec4: f46a sd s10,40(sp) + 83f49ec6: f06e sd s11,32(sp) + t0=l1*ido; + 83f49ec8: c446 sw a7,8(sp) + t4=t1<<1; + 83f49eca: c676 sw t4,12(sp) + t0=l1*ido; + 83f49ecc: e046 sd a7,0(sp) + t2=t1+(t1<<1); + 83f49ece: 01d88f3b addw t5,a7,t4 + t3=0; + + for(k=0;k + 83f49ed6: 6882 ld a7,0(sp) + 83f49ed8: 0f0a slli t5,t5,0x2 + 83f49eda: 0e8a slli t4,t4,0x2 + 83f49edc: 00289f93 slli t6,a7,0x2 + tr1=cc[t1]+cc[t2]; + tr2=cc[t3]+cc[t4]; + + ch[t5=t3<<2]=tr1+tr2; + ch[(ido<<2)+t5-1]=tr2-tr1; + 83f49ee0: 0025141b slliw s0,a0,0x2 + ch[(t5+=(ido<<1))-1]=cc[t3]-cc[t4]; + 83f49ee4: 0015149b slliw s1,a0,0x1 + 83f49ee8: 00251a13 slli s4,a0,0x2 + 83f49eec: 9fb2 add t6,t6,a2 + 83f49eee: 9f32 add t5,t5,a2 + 83f49ef0: 82b2 mv t0,a2 + 83f49ef2: 9eb2 add t4,t4,a2 + 83f49ef4: 4e01 li t3,0 + for(k=0;k + t2+=ido; + t3+=ido; + t4+=ido; + } + + if(ido<2)return; + 83f49f68: 4885 li a7,1 + 83f49f6a: 20a8d563 bge a7,a0,83f4a174 + if(ido==2)goto L105; + 83f49f6e: 4889 li a7,2 + 83f49f70: 23150063 beq a0,a7,83f4a190 + ch[t5+t6-1]=tr2-tr1; + ch[t5+t6]=ti1-ti2; + } + t1+=ido; + } + if(ido&1)return; + 83f49f74: 00157413 andi s0,a0,1 + 83f49f78: ec22 sd s0,24(sp) + for(k=0;k + 83f49f7e: 6402 ld s0,0(sp) + t5=(t6=ido<<1)+t4; + 83f49f80: 00151a9b slliw s5,a0,0x1 + 83f49f84: 00251a13 slli s4,a0,0x2 + 83f49f88: 408004b3 neg s1,s0 + 83f49f8c: 00241c93 slli s9,s0,0x2 + 83f49f90: e826 sd s1,16(sp) + 83f49f92: 01960b33 add s6,a2,s9 + 83f49f96: 00341d93 slli s11,s0,0x3 + 83f49f9a: 00249d13 slli s10,s1,0x2 + t1=0; + 83f49f9e: 4c01 li s8,0 + for(k=0;k + 83f49fe8: 0082a187 flw ft3,8(t0) + cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + 83f49fec: 004f2087 flw ft1,4(t5) + 83f49ff0: 00492587 flw fa1,4(s2) + cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; + 83f49ff4: 0044a507 flw fa0,4(s1) + cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; + 83f49ff8: 0042a787 flw fa5,4(t0) + cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + 83f49ffc: 1055f853 fmul.s fa6,fa1,ft5 + cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; + 83f4a000: 104573d3 fmul.s ft7,fa0,ft4 + ci4=wa3[i-2]*cc[t3]-wa3[i-1]*cc[t3-1]; + 83f4a004: 1007f153 fmul.s ft2,fa5,ft0 + ci2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; + 83f4a008: 10b0f5d3 fmul.s fa1,ft1,fa1 + cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; + 83f4a00c: 10307353 fmul.s ft6,ft0,ft3 + ci3=wa2[i-2]*cc[t3]-wa2[i-1]*cc[t3-1]; + 83f4a010: 10a67553 fmul.s fa0,fa2,fa0 + cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; + 83f4a014: 0004a687 flw fa3,0(s1) + cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + 83f4a018: 00092707 flw fa4,0(s2) + cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; + 83f4a01c: 0003a007 flw ft0,0(t2) + cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; + 83f4a020: 38c6f3c3 fmadd.s ft7,fa3,fa2,ft7 + cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + 83f4a024: 801770c3 fmadd.s ft1,fa4,ft1,fa6 + ci3=wa2[i-2]*cc[t3]-wa2[i-1]*cc[t3-1]; + 83f4a028: 5046f547 fmsub.s fa0,fa3,ft4,fa0 + ci2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; + 83f4a02c: 58577747 fmsub.s fa4,fa4,ft5,fa1 + cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; + 83f4a030: 30f077c3 fmadd.s fa5,ft0,fa5,ft6 + ci4=wa3[i-2]*cc[t3]-wa3[i-1]*cc[t3-1]; + 83f4a034: 10307047 fmsub.s ft0,ft0,ft3,ft2 + ti2=cc[t2]+ci3; + 83f4a038: 008fa687 flw fa3,8(t6) + tr2=cc[t2-1]+cr3; + 83f4a03c: 004fa607 flw fa2,4(t6) + for(i=2;i + for(k=0;k + if(ido&1)return; + 83f4a0c8: 67e2 ld a5,24(sp) + 83f4a0ca: e7cd bnez a5,83f4a174 + + L105: + + t2=(t1=t0+ido-1)+(t0<<1); + 83f4a0cc: 47a2 lw a5,8(sp) + 83f4a0ce: 4432 lw s0,12(sp) + t3=ido<<2; + 83f4a0d0: 0025189b slliw a7,a0,0x2 + t2=(t1=t0+ido-1)+(t0<<1); + 83f4a0d4: 9fa9 addw a5,a5,a0 + 83f4a0d6: fff7871b addiw a4,a5,-1 + 83f4a0da: 00870e3b addw t3,a4,s0 + t4=ido; + t5=ido<<1; + t6=ido; + + for(k=0;k + 83f4a114: 00008517 auipc a0,0x8 + 83f4a118: 34052587 flw fa1,832(a0) # 83f52454 <__func__.1+0x25c> + ti1=-hsqt2*(cc[t1]+cc[t2]); + 83f4a11c: 01d78533 add a0,a5,t4 + 83f4a120: 01e60333 add t1,a2,t5 + 83f4a124: 9572 add a0,a0,t3 + 83f4a126: 00032787 flw fa5,0(t1) + 83f4a12a: 00052607 flw fa2,0(a0) + tr1=hsqt2*(cc[t1]-cc[t2]); + + ch[t4-1]=tr1+cc[t6-1]; + 83f4a12e: ffc7a687 flw fa3,-4(a5) + for(k=0;k + t1+=ido; + t2+=ido; + t4+=t3; + t6+=ido; + } +} + 83f4a174: 7466 ld s0,120(sp) + 83f4a176: 74c6 ld s1,112(sp) + 83f4a178: 7926 ld s2,104(sp) + 83f4a17a: 7986 ld s3,96(sp) + 83f4a17c: 6a66 ld s4,88(sp) + 83f4a17e: 6ac6 ld s5,80(sp) + 83f4a180: 6b26 ld s6,72(sp) + 83f4a182: 6b86 ld s7,64(sp) + 83f4a184: 7c62 ld s8,56(sp) + 83f4a186: 7cc2 ld s9,48(sp) + 83f4a188: 7d22 ld s10,40(sp) + 83f4a18a: 7d82 ld s11,32(sp) + 83f4a18c: 6109 addi sp,sp,128 + 83f4a18e: 8082 ret + for(k=0;k + t2=(t1=t0+ido-1)+(t0<<1); + 83f4a194: 47a2 lw a5,8(sp) + t5=ido<<1; + 83f4a196: 4a91 li s5,4 + t3=ido<<2; + 83f4a198: 48a1 li a7,8 + t2=(t1=t0+ido-1)+(t0<<1); + 83f4a19a: 0017871b addiw a4,a5,1 + 83f4a19e: 47b2 lw a5,12(sp) + 83f4a1a0: 4a21 li s4,8 + 83f4a1a2: 00e78e3b addw t3,a5,a4 + 83f4a1a6: 6782 ld a5,0(sp) + 83f4a1a8: 40f007b3 neg a5,a5 + 83f4a1ac: e83e sd a5,16(sp) + 83f4a1ae: bf05 j 83f4a0de + +0000000083f4a1b0 : + if(na==1)return; + + for(i=0;i + 83f4a1c4: fffe841b addiw s0,t4,-1 + 83f4a1c8: 00251293 slli t0,a0,0x2 + 83f4a1cc: 88b6 mv a7,a3 + 83f4a1ce: 00291f93 slli t6,s2,0x2 + 83f4a1d2: 8e76 mv t3,t4 + t2=0; + 83f4a1d4: 4801 li a6,0 + for(k=0;k + } + + if(ido<2)return; + 83f4a21a: 4785 li a5,1 + 83f4a21c: 0ea7d863 bge a5,a0,83f4a30c + if(ido==2)goto L105; + 83f4a220: 4789 li a5,2 + 83f4a222: 0ef50a63 beq a0,a5,83f4a316 + ch[t6]=wa1[i-2]*ti2+wa1[i-1]*tr2; + } + t2=(t1+=ido)<<1; + } + + if(ido%2==1)return; + 83f4a226: 00157493 andi s1,a0,1 + for(k=0;k + 83f4a22e: 00251293 slli t0,a0,0x2 + 83f4a232: 8f36 mv t5,a3 + 83f4a234: 00291f93 slli t6,s2,0x2 + t2=0; + 83f4a238: 4781 li a5,0 + t1=0; + 83f4a23a: 4401 li s0,0 + for(k=0;k + t2=(t1+=ido)<<1; + 83f4a2c4: 9c29 addw s0,s0,a0 + for(k=0;k + +L105: + t1=ido-1; + 83f4a2d2: fff5079b addiw a5,a0,-1 + if(ido%2==1)return; + 83f4a2d6: e89d bnez s1,83f4a30c + 83f4a2d8: 078a slli a5,a5,0x2 + 83f4a2da: 963e add a2,a2,a5 + 83f4a2dc: 96be add a3,a3,a5 + 83f4a2de: 0e8a slli t4,t4,0x2 + t1=ido-1; + 83f4a2e0: 4781 li a5,0 + t2=ido-1; + for(k=0;k + t1+=ido; + t2+=ido<<1; + } +} + 83f4a30c: 6462 ld s0,24(sp) + 83f4a30e: 64c2 ld s1,16(sp) + 83f4a310: 6922 ld s2,8(sp) + 83f4a312: 6105 addi sp,sp,32 + 83f4a314: 8082 ret + for(k=0;k + t1=ido-1; + 83f4a31a: 4785 li a5,1 + 83f4a31c: 42a1 li t0,8 + 83f4a31e: 00291f93 slli t6,s2,0x2 + 83f4a322: bf5d j 83f4a2d8 + +0000000083f4a324 : + +static void dradb3(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2){ + 83f4a324: 7139 addi sp,sp,-64 + 83f4a326: f04e sd s3,32(sp) + 83f4a328: ec52 sd s4,24(sp) + float ci2,ci3,di2,di3,cr2,cr3,dr2,dr3,ti2,tr2; + t0=l1*ido; + + t1=0; + t2=t0<<1; + t3=ido<<1; + 83f4a32a: 0015199b slliw s3,a0,0x1 + float *wa2){ + 83f4a32e: fc22 sd s0,56(sp) + 83f4a330: f826 sd s1,48(sp) + 83f4a332: f44a sd s2,40(sp) + 83f4a334: e856 sd s5,16(sp) + 83f4a336: e45a sd s6,8(sp) + t0=l1*ido; + 83f4a338: 02a58a3b mulw s4,a1,a0 + t4=ido+(ido<<1); + 83f4a33c: 00a98ebb addw t4,s3,a0 + t5=0; + for(k=0;k + 83f4a344: 893a mv s2,a4 + 83f4a346: 001a1e1b slliw t3,s4,0x1 + 83f4a34a: 00299713 slli a4,s3,0x2 + 83f4a34e: 41300f33 neg t5,s3 + 83f4a352: 8abe mv s5,a5 + 83f4a354: 8432 mv s0,a2 + 83f4a356: 9732 add a4,a4,a2 + 83f4a358: 82b6 mv t0,a3 + 83f4a35a: 0e8a slli t4,t4,0x2 + 83f4a35c: 00251613 slli a2,a0,0x2 + 83f4a360: 0f0a slli t5,t5,0x2 + 83f4a362: 002a1493 slli s1,s4,0x2 + 83f4a366: 0e0a slli t3,t3,0x2 + 83f4a368: 4801 li a6,0 + 83f4a36a: 00008797 auipc a5,0x8 + 83f4a36e: f0e7a107 flw ft2,-242(a5) # 83f52278 <__func__.1+0x80> + 83f4a372: 00008797 auipc a5,0x8 + 83f4a376: 0e67a587 flw fa1,230(a5) # 83f52458 <__func__.1+0x260> + tr2=cc[t3-1]+cc[t3-1]; + 83f4a37a: ffc72787 flw fa5,-4(a4) + cr2=cc[t5]+(taur*tr2); + 83f4a37e: 01e707b3 add a5,a4,t5 + 83f4a382: 0007a707 flw fa4,0(a5) + tr2=cc[t3-1]+cc[t3-1]; + 83f4a386: 00f7f7d3 fadd.s fa5,fa5,fa5 + ch[t1]=cc[t5]+tr2; + ci3=taui*(cc[t3]+cc[t3]); + ch[t1+t0]=cr2-ci3; + 83f4a38a: 00968333 add t1,a3,s1 + ch[t1+t2]=cr2+ci3; + 83f4a38e: 01c688b3 add a7,a3,t3 + 83f4a392: 87c2 mv a5,a6 + for(k=0;k + t1+=ido; + t3+=t4; + t5+=t4; + } + + if(ido==1)return; + 83f4a3c2: 4705 li a4,1 + 83f4a3c4: 10e50d63 beq a0,a4,83f4a4de + 83f4a3c8: ffd5071b addiw a4,a0,-3 + 83f4a3cc: 0017571b srliw a4,a4,0x1 + 83f4a3d0: 070e slli a4,a4,0x3 + 83f4a3d2: 00890f93 addi t6,s2,8 + 83f4a3d6: 9fba add t6,t6,a4 + 83f4a3d8: 0a0e slli s4,s4,0x3 + 83f4a3da: 4381 li t2,0 + 83f4a3dc: 4701 li a4,0 + t7=t1+(t1<<1); + t6=(t5=t7+t3); + t8=t1; + t10=(t9=t1+t0)+t0; + + for(i=2;i + 83f4a3f0: 068a slli a3,a3,0x2 + 83f4a3f2: 96a2 add a3,a3,s0 + 83f4a3f4: 030a slli t1,t1,0x2 + 83f4a3f6: 9322 add t1,t1,s0 + 83f4a3f8: 00928f33 add t5,t0,s1 + 83f4a3fc: 88d6 mv a7,s5 + 83f4a3fe: 005a0eb3 add t4,s4,t0 + 83f4a402: 85ca mv a1,s2 + 83f4a404: 8e16 mv t3,t0 + 83f4a406: 8836 mv a6,a3 + t6-=2; + t7+=2; + t8+=2; + t9+=2; + t10+=2; + tr2=cc[t5-1]+cc[t6-1]; + 83f4a408: ff482707 flw fa4,-12(a6) + 83f4a40c: 0046a787 flw fa5,4(a3) + cr2=cc[t7-1]+(taur*tr2); + 83f4a410: 00432687 flw fa3,4(t1) + for(i=2;i + } + t1+=ido; + 83f4a4cc: 007503bb addw t2,a0,t2 + for(k=0;k + 83f4a4da: 8736 mv a4,a3 + 83f4a4dc: b711 j 83f4a3e0 + } +} + 83f4a4de: 7462 ld s0,56(sp) + 83f4a4e0: 74c2 ld s1,48(sp) + 83f4a4e2: 7922 ld s2,40(sp) + 83f4a4e4: 7982 ld s3,32(sp) + 83f4a4e6: 6a62 ld s4,24(sp) + 83f4a4e8: 6ac2 ld s5,16(sp) + 83f4a4ea: 6b22 ld s6,8(sp) + 83f4a4ec: 6121 addi sp,sp,64 + 83f4a4ee: 8082 ret + +0000000083f4a4f0 : + +static void dradb4(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2,float *wa3){ + 83f4a4f0: 7175 addi sp,sp,-144 + int i,k,t0,t1,t2,t3,t4,t5,t6,t7,t8; + float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; + t0=l1*ido; + + t1=0; + t2=ido<<2; + 83f4a4f2: 0025189b slliw a7,a0,0x2 + float *wa2,float *wa3){ + 83f4a4f6: fc6a sd s10,56(sp) + 83f4a4f8: e436 sd a3,8(sp) + t3=0; + t6=ido<<1; + 83f4a4fa: 00151d1b slliw s10,a0,0x1 + t2=ido<<2; + 83f4a4fe: 0008869b sext.w a3,a7 + float *wa2,float *wa3){ + 83f4a502: e0e6 sd s9,64(sp) + 83f4a504: e522 sd s0,136(sp) + 83f4a506: e126 sd s1,128(sp) + 83f4a508: fcca sd s2,120(sp) + 83f4a50a: f8ce sd s3,112(sp) + 83f4a50c: f4d2 sd s4,104(sp) + 83f4a50e: f0d6 sd s5,96(sp) + 83f4a510: ecda sd s6,88(sp) + 83f4a512: e8de sd s7,80(sp) + 83f4a514: e4e2 sd s8,72(sp) + 83f4a516: f86e sd s11,48(sp) + t6=ido<<1; + 83f4a518: ce6a sw s10,28(sp) + t2=ido<<2; + 83f4a51a: e836 sd a3,16(sp) + t0=l1*ido; + 83f4a51c: 02a58cbb mulw s9,a1,a0 + for(k=0;k + 83f4a524: 001c9693 slli a3,s9,0x1 + 83f4a528: 01968fb3 add t6,a3,s9 + 83f4a52c: 66c2 ld a3,16(sp) + 83f4a52e: 002d1293 slli t0,s10,0x2 + 83f4a532: 41a00f33 neg t5,s10 + 83f4a536: 00269393 slli t2,a3,0x2 + 83f4a53a: 66a2 ld a3,8(sp) + 83f4a53c: 005608b3 add a7,a2,t0 + 83f4a540: 00251a13 slli s4,a0,0x2 + 83f4a544: 0f0a slli t5,t5,0x2 + 83f4a546: 002c9a93 slli s5,s9,0x2 + 83f4a54a: 003c9b13 slli s6,s9,0x3 + 83f4a54e: 0f8a slli t6,t6,0x2 + 83f4a550: 4301 li t1,0 + 83f4a552: 00008417 auipc s0,0x8 + 83f4a556: d3a42607 flw fa2,-710(s0) # 83f5228c <__func__.1+0x94> + t4=t3+t6; + t5=t1; + tr3=cc[t4-1]+cc[t4-1]; + tr4=cc[t4]+cc[t4]; + tr1=cc[t3]-cc[(t4+=t6)-1]; + 83f4a55a: 01e88eb3 add t4,a7,t5 + 83f4a55e: 00588e33 add t3,a7,t0 + 83f4a562: 000ea787 flw fa5,0(t4) + 83f4a566: ffce2507 flw fa0,-4(t3) + tr3=cc[t4-1]+cc[t4-1]; + 83f4a56a: ffc8a687 flw fa3,-4(a7) + tr4=cc[t4]+cc[t4]; + 83f4a56e: 0008a707 flw fa4,0(a7) + tr2=cc[t3]+cc[t4-1]; + 83f4a572: 00a7f5d3 fadd.s fa1,fa5,fa0 + tr1=cc[t3]-cc[(t4+=t6)-1]; + 83f4a576: 08a7f7d3 fsub.s fa5,fa5,fa0 + ch[t5]=tr2+tr3; + ch[t5+=t0]=tr1-tr4; + 83f4a57a: 01568433 add s0,a3,s5 + ch[t5+=t0]=tr2-tr3; + 83f4a57e: 01668eb3 add t4,a3,s6 + ch[t5+=t0]=tr1+tr4; + 83f4a582: 01f68e33 add t3,a3,t6 + ch[t5]=tr2+tr3; + 83f4a586: 58c6f043 fmadd.s ft0,fa3,fa2,fa1 + ch[t5+=t0]=tr1-tr4; + 83f4a58a: 78c7754b fnmsub.s fa0,fa4,fa2,fa5 + ch[t5+=t0]=tr2-tr3; + 83f4a58e: 58c6f6cb fnmsub.s fa3,fa3,fa2,fa1 + ch[t5+=t0]=tr1+tr4; + 83f4a592: 78c777c3 fmadd.s fa5,fa4,fa2,fa5 + for(k=0;k + t1+=ido; + t3+=t2; + } + + if(ido<2)return; + 83f4a5b0: 4685 li a3,1 + 83f4a5b2: 20a6d363 bge a3,a0,83f4a7b8 + if(ido==2)goto L105; + 83f4a5b6: 4689 li a3,2 + 83f4a5b8: 20d50e63 beq a0,a3,83f4a7d4 + ch[t8]=wa3[i-2]*ci4+wa3[i-1]*cr4; + } + t1+=ido; + } + + if(ido%2 == 1)return; + 83f4a5bc: 00157693 andi a3,a0,1 + 83f4a5c0: f436 sd a3,40(sp) + for(k=0;k + 83f4a5c6: 001c9693 slli a3,s9,0x1 + 83f4a5ca: 69a2 ld s3,8(sp) + 83f4a5cc: 01968db3 add s11,a3,s9 + 83f4a5d0: f036 sd a3,32(sp) + 83f4a5d2: 00251a13 slli s4,a0,0x2 + 83f4a5d6: 002c9a93 slli s5,s9,0x2 + 83f4a5da: 003c9b13 slli s6,s9,0x3 + 83f4a5de: 0d8a slli s11,s11,0x2 + t1=0; + 83f4a5e0: 4c01 li s8,0 + for(k=0;k + for(k=0;k + if(ido%2 == 1)return; + 83f4a71c: 77a2 ld a5,40(sp) + 83f4a71e: efc9 bnez a5,83f4a7b8 + L105: + + t1=ido; + t2=ido<<2; + t3=ido-1; + t4=ido+(ido<<1); + 83f4a720: 4772 lw a4,28(sp) + t3=ido-1; + 83f4a722: fff5079b addiw a5,a0,-1 + t4=ido+(ido<<1); + 83f4a726: 9d39 addw a0,a0,a4 + for(k=0;k + 83f4a740: 00271513 slli a0,a4,0x2 + 83f4a744: 01460733 add a4,a2,s4 + 83f4a748: 9636 add a2,a2,a3 + 83f4a74a: 66a2 ld a3,8(sp) + 83f4a74c: 00008417 auipc s0,0x8 + 83f4a750: d1442507 flw fa0,-748(s0) # 83f52460 <__func__.1+0x268> + 83f4a754: 97b6 add a5,a5,a3 + t3=ido-1; + 83f4a756: 4681 li a3,0 + t5=t3; + ti1=cc[t1]+cc[t4]; + 83f4a758: 00072587 flw fa1,0(a4) + ti2=cc[t4]-cc[t1]; + tr1=cc[t1-1]-cc[t4-1]; + 83f4a75c: ffc62607 flw fa2,-4(a2) + ti1=cc[t1]+cc[t4]; + 83f4a760: 00062787 flw fa5,0(a2) + tr1=cc[t1-1]-cc[t4-1]; + 83f4a764: ffc72707 flw fa4,-4(a4) + tr2=cc[t1-1]+cc[t4-1]; + ch[t5]=tr2+tr2; + ch[t5+=t0]=sqrt2*(tr1-ti1); + 83f4a768: 01578333 add t1,a5,s5 + ti1=cc[t1]+cc[t4]; + 83f4a76c: 00f5f6d3 fadd.s fa3,fa1,fa5 + ti2=cc[t4]-cc[t1]; + 83f4a770: 08b7f7d3 fsub.s fa5,fa5,fa1 + tr1=cc[t1-1]-cc[t4-1]; + 83f4a774: 08c775d3 fsub.s fa1,fa4,fa2 + tr2=cc[t1-1]+cc[t4-1]; + 83f4a778: 00c77753 fadd.s fa4,fa4,fa2 + ch[t5+=t0]=ti2+ti2; + 83f4a77c: 016788b3 add a7,a5,s6 + ch[t5+=t0]=-sqrt2*(tr1+ti1); + 83f4a780: 01c78833 add a6,a5,t3 + ch[t5+=t0]=ti2+ti2; + 83f4a784: 00f7f7d3 fadd.s fa5,fa5,fa5 + ch[t5+=t0]=sqrt2*(tr1-ti1); + 83f4a788: 08d5f653 fsub.s fa2,fa1,fa3 + ch[t5+=t0]=-sqrt2*(tr1+ti1); + 83f4a78c: 00b6f6d3 fadd.s fa3,fa3,fa1 + ch[t5]=tr2+tr2; + 83f4a790: 00e77753 fadd.s fa4,fa4,fa4 + for(k=0;k + + t3+=ido; + t1+=t2; + t4+=t2; + } +} + 83f4a7b8: 642a ld s0,136(sp) + 83f4a7ba: 648a ld s1,128(sp) + 83f4a7bc: 7966 ld s2,120(sp) + 83f4a7be: 79c6 ld s3,112(sp) + 83f4a7c0: 7a26 ld s4,104(sp) + 83f4a7c2: 7a86 ld s5,96(sp) + 83f4a7c4: 6b66 ld s6,88(sp) + 83f4a7c6: 6bc6 ld s7,80(sp) + 83f4a7c8: 6c26 ld s8,72(sp) + 83f4a7ca: 6c86 ld s9,64(sp) + 83f4a7cc: 7d62 ld s10,56(sp) + 83f4a7ce: 7dc2 ld s11,48(sp) + 83f4a7d0: 6149 addi sp,sp,144 + 83f4a7d2: 8082 ret + for(k=0;k + t4=ido+(ido<<1); + 83f4a7d8: 47f2 lw a5,28(sp) + 83f4a7da: 001c9713 slli a4,s9,0x1 + 83f4a7de: 4a21 li s4,8 + 83f4a7e0: 0027851b addiw a0,a5,2 + 83f4a7e4: 002c9a93 slli s5,s9,0x2 + t3=ido-1; + 83f4a7e8: 4785 li a5,1 + 83f4a7ea: 003c9b13 slli s6,s9,0x3 + 83f4a7ee: f03a sd a4,32(sp) + 83f4a7f0: bf25 j 83f4a728 + +0000000083f4a7f2 : + float *c2,float *ch,float *ch2,float *wa){ + 83f4a7f2: 7155 addi sp,sp,-208 + 83f4a7f4: aca2 fsd fs0,88(sp) + arg=tpi/(float)ip; + 83f4a7f6: d005f453 fcvt.s.w fs0,a1 + float *c2,float *ch,float *ch2,float *wa){ + 83f4a7fa: ed56 sd s5,152(sp) + 83f4a7fc: 8aae mv s5,a1 + arg=tpi/(float)ip; + 83f4a7fe: 00008597 auipc a1,0x8 + 83f4a802: c665a787 flw fa5,-922(a1) # 83f52464 <__func__.1+0x26c> + 83f4a806: 1887f453 fdiv.s fs0,fa5,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4a80a: e1a2 sd s0,192(sp) + 83f4a80c: fd26 sd s1,184(sp) + 83f4a80e: 8432 mv s0,a2 + 83f4a810: 84aa mv s1,a0 + 83f4a812: e55e sd s7,136(sp) + t0=l1*ido; + 83f4a814: 02848bbb mulw s7,s1,s0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4a818: e586 sd ra,200(sp) + 83f4a81a: f94a sd s2,176(sp) + 83f4a81c: f54e sd s3,168(sp) + 83f4a81e: f152 sd s4,160(sp) + 83f4a820: 89b6 mv s3,a3 + 83f4a822: 8a3e mv s4,a5 + 83f4a824: e95a sd s6,144(sp) + 83f4a826: fce6 sd s9,120(sp) + 83f4a828: f8ea sd s10,112(sp) + 83f4a82a: f4ee sd s11,104(sp) + 83f4a82c: 8d3a mv s10,a4 + 83f4a82e: 8b42 mv s6,a6 + 83f4a830: 8946 mv s2,a7 + dcp=(float)cos(arg); + 83f4a832: 42040453 fcvt.d.s fs0,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4a836: 6cce ld s9,208(sp) + 83f4a838: 6dee ld s11,216(sp) + dcp=(float)cos(arg); + 83f4a83a: 22840553 fmv.d fa0,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4a83e: e162 sd s8,128(sp) + dcp=(float)cos(arg); + 83f4a840: 892f60ef jal ra,83f408d2 + 83f4a844: 22a507d3 fmv.d fa5,fa0 + dsp=(float)sin(arg); + 83f4a848: 22840553 fmv.d fa0,fs0 + dcp=(float)cos(arg); + 83f4a84c: 4017f453 fcvt.s.d fs0,fa5 + dsp=(float)sin(arg); + 83f4a850: b16f60ef jal ra,83f40b66 + nbd=(ido-1)>>1; + 83f4a854: fff4869b addiw a3,s1,-1 + 83f4a858: c4b6 sw a3,72(sp) + 83f4a85a: 4016d69b sraiw a3,a3,0x1 + t2=ipp2*t0; + 83f4a85e: 035b873b mulw a4,s7,s5 + nbd=(ido-1)>>1; + 83f4a862: fc36 sd a3,56(sp) + ipph=(ip+1)>>1; + 83f4a864: 001a8e1b addiw t3,s5,1 + t0=l1*ido; + 83f4a868: d25e sw s7,36(sp) + if(ido==1)goto L119; + 83f4a86a: 4785 li a5,1 + dsp=(float)sin(arg); + 83f4a86c: 401576d3 fcvt.s.d fa3,fa0 + ipph=(ip+1)>>1; + 83f4a870: 401e5e1b sraiw t3,t3,0x1 + t10=ip*ido; + 83f4a874: 029a86bb mulw a3,s5,s1 + t2=ipp2*t0; + 83f4a878: f83a sd a4,48(sp) + t10=ip*ido; + 83f4a87a: f436 sd a3,40(sp) + if(ido==1)goto L119; + 83f4a87c: 04f48ce3 beq s1,a5,83f4b0d4 + for(ik=0;ik + 83f4a884: fff9869b addiw a3,s3,-1 + 83f4a888: 02069793 slli a5,a3,0x20 + 83f4a88c: 01e7d693 srli a3,a5,0x1e + 83f4a890: 004b0613 addi a2,s6,4 + 83f4a894: 87da mv a5,s6 + 83f4a896: 8766 mv a4,s9 + 83f4a898: 96b2 add a3,a3,a2 + 83f4a89a: 0007a787 flw fa5,0(a5) + 83f4a89e: 0791 addi a5,a5,4 + 83f4a8a0: 0711 addi a4,a4,4 + 83f4a8a2: fef72e27 fsw fa5,-4(a4) + 83f4a8a6: fed79ae3 bne a5,a3,83f4a89a + for(j=1;j + 83f4a8b4: 002b9e93 slli t4,s7,0x2 + 83f4a8b8: 01da0533 add a0,s4,t4 + 83f4a8bc: 01d905b3 add a1,s2,t4 + 83f4a8c0: 00249793 slli a5,s1,0x2 + 83f4a8c4: 4f05 li t5,1 + for(k=0;k + ch[t2]=c1[t2]; + 83f4a8d0: 0006a787 flw fa5,0(a3) + for(k=0;k + for(j=1;j + 83f4a8ee: 8f3a mv t5,a4 + 83f4a8f0: bfd9 j 83f4a8c6 + if(nbd>l1){ + 83f4a8f2: 7762 ld a4,56(sp) + 83f4a8f4: 0ae45863 bge s0,a4,83f4a9a4 + 83f4a8f8: ffd4871b addiw a4,s1,-3 + 83f4a8fc: 0017571b srliw a4,a4,0x1 + 83f4a900: 0706 slli a4,a4,0x1 + 83f4a902: 0004869b sext.w a3,s1 + 83f4a906: e83a sd a4,16(sp) + 83f4a908: 008d8713 addi a4,s11,8 # ffffffff80000008 <_end+0xfffffffefc0002c8> + 83f4a90c: e436 sd a3,8(sp) + 83f4a90e: 9fa6 add t6,t6,s1 + 83f4a910: 8c76 mv s8,t4 + 83f4a912: 53fd li t2,-1 + 83f4a914: 4285 li t0,1 + 83f4a916: ec3a sd a4,24(sp) + for(i=2;i + 83f4a91e: 6742 ld a4,16(sp) + 83f4a920: 00239893 slli a7,t2,0x2 + 83f4a924: 0891 addi a7,a7,4 + 83f4a926: 01f705b3 add a1,a4,t6 + 83f4a92a: 6762 ld a4,24(sp) + 83f4a92c: 058a slli a1,a1,0x2 + 83f4a92e: 98ee add a7,a7,s11 + 83f4a930: 95ba add a1,a1,a4 + idij=is-1; + 83f4a932: 8562 mv a0,s8 + for(k=0;k + ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; + 83f4a944: 00472707 flw fa4,4(a4) + 83f4a948: 0086a587 flw fa1,8(a3) + 83f4a94c: 00072787 flw fa5,0(a4) + 83f4a950: 0046a607 flw fa2,4(a3) + 83f4a954: 10b77753 fmul.s fa4,fa4,fa1 + for(i=2;i + for(k=0;k + for(j=1;j + 83f4a9a0: 82ba mv t0,a4 + 83f4a9a2: bfa5 j 83f4a91a + for(j=1;jl1){ + 83f4a9b0: 537d li t1,-1 + t1=0; + 83f4a9b2: 4e81 li t4,0 + for(j=1;j + 83f4a9c6: 00271613 slli a2,a4,0x2 + 83f4a9ca: 0611 addi a2,a2,4 + 83f4a9cc: 966e add a2,a2,s11 + 83f4a9ce: 01d2883b addw a6,t0,t4 + t2=t1; + 83f4a9d2: 8576 mv a0,t4 + t2+=2; + 83f4a9d4: 2509 addiw a0,a0,2 + for(k=0;k + 83f4a9da: 00251693 slli a3,a0,0x2 + 83f4a9de: 00da0733 add a4,s4,a3 + 83f4a9e2: 4581 li a1,0 + 83f4a9e4: 96ca add a3,a3,s2 + ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; + 83f4a9e6: 00072587 flw fa1,0(a4) + 83f4a9ea: 00462707 flw fa4,4(a2) + 83f4a9ee: ffc72607 flw fa2,-4(a4) + 83f4a9f2: 00062787 flw fa5,0(a2) + 83f4a9f6: 10b77753 fmul.s fa4,fa4,fa1 + for(k=0;k + for(i=2;i + for(j=1;j + if(nbd + for(j=1;j + 83f4aa44: 77c2 ld a5,48(sp) + 83f4aa46: 5692 lw a3,36(sp) + 83f4aa48: ffd4871b addiw a4,s1,-3 + 83f4aa4c: 41778fb3 sub t6,a5,s7 + 83f4aa50: 40d00dbb negw s11,a3 + 83f4aa54: 001b9e93 slli t4,s7,0x1 + 83f4aa58: 9b79 andi a4,a4,-2 + 83f4aa5a: 41bb8c33 sub s8,s7,s11 + 83f4aa5e: 40fe8eb3 sub t4,t4,a5 + 83f4aa62: 0f89 addi t6,t6,2 + 83f4aa64: 2711 addiw a4,a4,4 + 83f4aa66: c86e sw s11,16(sp) + 83f4aa68: 0c0a slli s8,s8,0x2 + 83f4aa6a: 0e8a slli t4,t4,0x2 + 83f4aa6c: 409682bb subw t0,a3,s1 + 83f4aa70: 0d8a slli s11,s11,0x2 + 83f4aa72: 0f8a slli t6,t6,0x2 + 83f4aa74: 00249793 slli a5,s1,0x2 + 83f4aa78: 4385 li t2,1 + 83f4aa7a: c43a sw a4,8(sp) + for(i=2;i + 83f4aa82: 4722 lw a4,8(sp) + 83f4aa84: 0022831b addiw t1,t0,2 + 83f4aa88: 01f908b3 add a7,s2,t6 + 83f4aa8c: 01fa0833 add a6,s4,t6 + 83f4aa90: 00570f3b addw t5,a4,t0 + for(k=0;k + 83f4aa98: 01d886b3 add a3,a7,t4 + 83f4aa9c: 01d805b3 add a1,a6,t4 + 83f4aaa0: 8642 mv a2,a6 + 83f4aaa2: 8746 mv a4,a7 + 83f4aaa4: 4501 li a0,0 + c1[t5-1]=ch[t5-1]+ch[t6-1]; + 83f4aaa6: ffc72707 flw fa4,-4(a4) + 83f4aaaa: ffc6a787 flw fa5,-4(a3) + for(k=0;k + for(i=2;i + for(j=1;j + t2=ipp2*idl1; + 83f4ab0c: 033a8c3b mulw s8,s5,s3 + for(ik=0;ik + 83f4ab14: 86e6 mv a3,s9 + 83f4ab16: 875a mv a4,s6 + for(k=0;k + for(j=1;j + 83f4ab3e: 4f42 lw t5,16(sp) + 83f4ab40: 009b88b3 add a7,s7,s1 + 83f4ab44: 418888b3 sub a7,a7,s8 + 83f4ab48: 41e00fb3 neg t6,t5 + 83f4ab4c: 409b8833 sub a6,s7,s1 + 83f4ab50: 417c0733 sub a4,s8,s7 + 83f4ab54: 0f8a slli t6,t6,0x2 + 83f4ab56: 088a slli a7,a7,0x2 + 83f4ab58: 002b9293 slli t0,s7,0x2 + 83f4ab5c: 080a slli a6,a6,0x2 + 83f4ab5e: 0f0a slli t5,t5,0x2 + 83f4ab60: 00271313 slli t1,a4,0x2 + 83f4ab64: 00f903b3 add t2,s2,a5 + for(k=0;k + 83f4ab6e: 00780633 add a2,a6,t2 + 83f4ab72: 006906b3 add a3,s2,t1 + 83f4ab76: 006a0733 add a4,s4,t1 + 83f4ab7a: 4501 li a0,0 + c1[t3]=ch[t3]+ch[t4]; + 83f4ab7c: 0006a707 flw fa4,0(a3) + 83f4ab80: 00062787 flw fa5,0(a2) + 83f4ab84: 011705b3 add a1,a4,a7 + 83f4ab88: 95c2 add a1,a1,a6 + 83f4ab8a: 00e7f7d3 fadd.s fa5,fa5,fa4 + for(k=0;k + for(j=1;j + t3=(ip-1)*idl1; + 83f4abba: fffa8f9b addiw t6,s5,-1 + 83f4abbe: 033f8fbb mulw t6,t6,s3 + 83f4abc2: fff98a1b addiw s4,s3,-1 + 83f4abc6: 1a02 slli s4,s4,0x20 + 83f4abc8: 020a5a13 srli s4,s4,0x20 + 83f4abcc: 0019979b slliw a5,s3,0x1 + 83f4abd0: 01478533 add a0,a5,s4 + 83f4abd4: 40f007b3 neg a5,a5 + 83f4abd8: 078a slli a5,a5,0x2 + 83f4abda: 413c0eb3 sub t4,s8,s3 + 83f4abde: 004b0713 addi a4,s6,4 + 83f4abe2: 413f86b3 sub a3,t6,s3 + 83f4abe6: 4130083b negw a6,s3 + 83f4abea: 050a slli a0,a0,0x2 + 83f4abec: ec3e sd a5,24(sp) + 83f4abee: f0000053 fmv.w.x ft0,zero + 83f4abf2: 00269793 slli a5,a3,0x2 + 83f4abf6: 002a1893 slli a7,s4,0x2 + 83f4abfa: 00299313 slli t1,s3,0x2 + 83f4abfe: 0e8a slli t4,t4,0x2 + 83f4ac00: 413005b3 neg a1,s3 + 83f4ac04: fffa4a13 not s4,s4 + 83f4ac08: 00281d93 slli s11,a6,0x2 + 83f4ac0c: e43e sd a5,8(sp) + 83f4ac0e: 00e507b3 add a5,a0,a4 + 83f4ac12: e83e sd a5,16(sp) + 83f4ac14: e0c6 sd a7,64(sp) + 83f4ac16: 006c8f33 add t5,s9,t1 + 83f4ac1a: 9ee6 add t4,t4,s9 + 83f4ac1c: 01170ab3 add s5,a4,a7 + 83f4ac20: 0f8a slli t6,t6,0x2 + 83f4ac22: 00259393 slli t2,a1,0x2 + 83f4ac26: 82ee mv t0,s11 + 83f4ac28: 00007797 auipc a5,0x7 + 83f4ac2c: 6287a507 flw fa0,1576(a5) # 83f52250 <__func__.1+0x58> + 83f4ac30: 4c05 li s8,1 + 83f4ac32: 0a0a slli s4,s4,0x2 + ar1h=dcp*ar1-dsp*ai1; + 83f4ac34: 1006f753 fmul.s fa4,fa3,ft0 + ai1=dcp*ai1+dsp*ar1; + 83f4ac38: 10a6f7d3 fmul.s fa5,fa3,fa0 + for(ik=0;ik + ch2[t4++]=c2[ik]+ar1*c2[t7++]; + 83f4ac4e: 00678633 add a2,a5,t1 + 83f4ac52: 0007a707 flw fa4,0(a5) + 83f4ac56: 00062787 flw fa5,0(a2) + for(ik=0;ik + for(j=2;j + ar2=ar1; + 83f4ac82: 20a505d3 fmv.s fa1,fa0 + ai2=ai1; + 83f4ac86: 20000653 fmv.s fa2,ft0 + for(j=2;j + ch2[t6++]+=ar2*c2[t8++]; + 83f4acae: 00072707 flw fa4,0(a4) + 83f4acb2: 0007a787 flw fa5,0(a5) + ch2[t7++]+=ai2*c2[t9++]; + 83f4acb6: 00a78633 add a2,a5,a0 + for(ik=0;ik + for(j=2;j + for(l=1;l + 83f4acf4: 6786 ld a5,64(sp) + 83f4acf6: 004c8693 addi a3,s9,4 + 83f4acfa: 9b1a add s6,s6,t1 + 83f4acfc: 96be add a3,a3,a5 + 83f4acfe: 4605 li a2,1 + for(ik=0;ik + 83f4ad08: 0007a787 flw fa5,0(a5) + 83f4ad0c: 00072707 flw fa4,0(a4) + 83f4ad10: 0791 addi a5,a5,4 + 83f4ad12: 0711 addi a4,a4,4 + 83f4ad14: 00e7f7d3 fadd.s fa5,fa5,fa4 + 83f4ad18: fef7ae27 fsw fa5,-4(a5) + 83f4ad1c: fef696e3 bne a3,a5,83f4ad08 + for(j=1;j + if(ido + for(i=0;i + 83f4ad30: 77a2 ld a5,40(sp) + 83f4ad32: 88ca mv a7,s2 + 83f4ad34: 886a mv a6,s10 + 83f4ad36: 00249593 slli a1,s1,0x2 + 83f4ad3a: 00279613 slli a2,a5,0x2 + 83f4ad3e: 4501 li a0,0 + for(k=0;k + cc[t2]=ch[t1]; + 83f4ad4a: 00072787 flw fa5,0(a4) + for(k=0;k + for(i=0;i + t2=ido<<1; + 83f4ad66: 00149c1b slliw s8,s1,0x1 + for(j=1;j + 83f4ad72: 5792 lw a5,36(sp) + 83f4ad74: 41700fb3 neg t6,s7 + 83f4ad78: 002b9a13 slli s4,s7,0x2 + 83f4ad7c: 40f003bb negw t2,a5 + 83f4ad80: 77c2 ld a5,48(sp) + 83f4ad82: 002c1993 slli s3,s8,0x2 + 83f4ad86: 0f8a slli t6,t6,0x2 + 83f4ad88: 417785b3 sub a1,a5,s7 + 83f4ad8c: 77a2 ld a5,40(sp) + 83f4ad8e: 01490f33 add t5,s2,s4 + 83f4ad92: 013d0eb3 add t4,s10,s3 + 83f4ad96: 038a slli t2,t2,0x2 + 83f4ad98: 058a slli a1,a1,0x2 + 83f4ad9a: 00249893 slli a7,s1,0x2 + 83f4ad9e: 00279813 slli a6,a5,0x2 + 83f4ada2: 857e mv a0,t6 + 83f4ada4: 4305 li t1,1 + for(k=0;k + cc[t5-1]=ch[t6]; + 83f4adb0: 0007a787 flw fa5,0(a5) + cc[t5]=ch[t7]; + 83f4adb4: 00f506b3 add a3,a0,a5 + 83f4adb8: 96ae add a3,a3,a1 + cc[t5-1]=ch[t6]; + 83f4adba: fef72e27 fsw fa5,-4(a4) + cc[t5]=ch[t7]; + 83f4adbe: 0006a787 flw fa5,0(a3) + for(k=0;k + for(j=1;j + if(ido==1)return; + 83f4adde: 4785 li a5,1 + 83f4ade0: 0ef48563 beq s1,a5,83f4aeca + if(nbd + for(j=1;j + 83f4adf2: 5792 lw a5,36(sp) + 83f4adf4: 7742 ld a4,48(sp) + 83f4adf6: ffd4829b addiw t0,s1,-3 + 83f4adfa: 40f007bb negw a5,a5 + 83f4adfe: 417787b3 sub a5,a5,s7 + 83f4ae02: 078a slli a5,a5,0x2 + 83f4ae04: e43e sd a5,8(sp) + 83f4ae06: 77a2 ld a5,40(sp) + 83f4ae08: 41770f33 sub t5,a4,s7 + 83f4ae0c: 417f0f33 sub t5,t5,s7 + 83f4ae10: 9ce2 add s9,s9,s8 + 83f4ae12: 0012d29b srliw t0,t0,0x1 + 83f4ae16: 0f0a slli t5,t5,0x2 + 83f4ae18: 9ca6 add s9,s9,s1 + 83f4ae1a: 00249993 slli s3,s1,0x2 + 83f4ae1e: 00279393 slli t2,a5,0x2 + 83f4ae22: 0286 slli t0,t0,0x1 + 83f4ae24: 8b62 mv s6,s8 + 83f4ae26: 8ade mv s5,s7 + 83f4ae28: 4d85 li s11,1 + for(i=2;i + 83f4ae34: 002a9813 slli a6,s5,0x2 + 83f4ae38: 002b1513 slli a0,s6,0x2 + 83f4ae3c: 416c8eb3 sub t4,s9,s6 + 83f4ae40: 984a add a6,a6,s2 + 83f4ae42: 956a add a0,a0,s10 + 83f4ae44: 0e8a slli t4,t4,0x2 + 83f4ae46: 8356 mv t1,s5 + 83f4ae48: 4881 li a7,0 + for(i=2;i + 83f4ae4e: 005305b3 add a1,t1,t0 + 83f4ae52: 058a slli a1,a1,0x2 + 83f4ae54: 010f0733 add a4,t5,a6 + 83f4ae58: 00ae8633 add a2,t4,a0 + 83f4ae5c: 95d2 add a1,a1,s4 + 83f4ae5e: 86aa mv a3,a0 + 83f4ae60: 87c2 mv a5,a6 + cc[i+t7-1]=ch[i+t8-1]+ch[i+t9-1]; + 83f4ae62: 0047a787 flw fa5,4(a5) + 83f4ae66: 00472707 flw fa4,4(a4) + for(i=2;i + for(k=0;k + for(j=1;j +} + 83f4aeca: 60ae ld ra,200(sp) + 83f4aecc: 640e ld s0,192(sp) + 83f4aece: 74ea ld s1,184(sp) + 83f4aed0: 794a ld s2,176(sp) + 83f4aed2: 79aa ld s3,168(sp) + 83f4aed4: 7a0a ld s4,160(sp) + 83f4aed6: 6aea ld s5,152(sp) + 83f4aed8: 6b4a ld s6,144(sp) + 83f4aeda: 6baa ld s7,136(sp) + 83f4aedc: 6c0a ld s8,128(sp) + 83f4aede: 7ce6 ld s9,120(sp) + 83f4aee0: 7d46 ld s10,112(sp) + 83f4aee2: 7da6 ld s11,104(sp) + 83f4aee4: 2466 fld fs0,88(sp) + 83f4aee6: 6169 addi sp,sp,208 + 83f4aee8: 8082 ret + for(k=0;k + 83f4aeee: 67a6 ld a5,72(sp) + 83f4aef0: 00249813 slli a6,s1,0x2 + 83f4aef4: 854a mv a0,s2 + 83f4aef6: 02079713 slli a4,a5,0x20 + 83f4aefa: 01e75693 srli a3,a4,0x1e + 83f4aefe: 7722 ld a4,40(sp) + 83f4af00: 00490793 addi a5,s2,4 + 83f4af04: 85ea mv a1,s10 + 83f4af06: 00271893 slli a7,a4,0x2 + 83f4af0a: 96be add a3,a3,a5 + 83f4af0c: 4601 li a2,0 + for(i=0;i + 83f4af16: 0007a787 flw fa5,0(a5) + 83f4af1a: 0791 addi a5,a5,4 + 83f4af1c: 0711 addi a4,a4,4 + 83f4af1e: fef72e27 fsw fa5,-4(a4) + 83f4af22: fef69ae3 bne a3,a5,83f4af16 + for(k=0;k + 83f4af32: bd15 j 83f4ad66 + if(nbd>l1){ + 83f4af34: 77e2 ld a5,56(sp) + 83f4af36: b0f451e3 bge s0,a5,83f4aa38 + for(j=1;j + 83f4af40: 5792 lw a5,36(sp) + 83f4af42: ffd48e9b addiw t4,s1,-3 + 83f4af46: 001ede9b srliw t4,t4,0x1 + 83f4af4a: 40f00dbb negw s11,a5 + 83f4af4e: 77c2 ld a5,48(sp) + 83f4af50: c86e sw s11,16(sp) + 83f4af52: 0e86 slli t4,t4,0x1 + 83f4af54: 417782b3 sub t0,a5,s7 + 83f4af58: 0d8a slli s11,s11,0x2 + 83f4af5a: 028a slli t0,t0,0x2 + 83f4af5c: 00249793 slli a5,s1,0x2 + 83f4af60: 8c5e mv s8,s7 + 83f4af62: 4385 li t2,1 + for(i=2;i + for(i=2;i + 83f4af78: 010e8533 add a0,t4,a6 + 83f4af7c: 00281613 slli a2,a6,0x2 + 83f4af80: 050a slli a0,a0,0x2 + 83f4af82: 00c906b3 add a3,s2,a2 + 83f4af86: 01288733 add a4,a7,s2 + 83f4af8a: 9652 add a2,a2,s4 + 83f4af8c: 014885b3 add a1,a7,s4 + 83f4af90: 957e add a0,a0,t6 + c1[t5-1]=ch[t5-1]+ch[t6-1]; + 83f4af92: 0046a787 flw fa5,4(a3) + 83f4af96: 00472707 flw fa4,4(a4) + for(i=2;i + for(k=0;k + for(j=1;j + 83f4aff2: be29 j 83f4ab0c + for(j=1;j + 83f4aff8: 76c2 ld a3,48(sp) + 83f4affa: 5792 lw a5,36(sp) + 83f4affc: 001b9f13 slli t5,s7,0x1 + 83f4b000: 41768733 sub a4,a3,s7 + 83f4b004: 0709 addi a4,a4,2 + 83f4b006: 070a slli a4,a4,0x2 + 83f4b008: 993a add s2,s2,a4 + 83f4b00a: 7722 ld a4,40(sp) + 83f4b00c: 40f00abb negw s5,a5 + 83f4b010: ffd4879b addiw a5,s1,-3 + 83f4b014: 415b8b33 sub s6,s7,s5 + 83f4b018: 40df0f33 sub t5,t5,a3 + 83f4b01c: 9bf9 andi a5,a5,-2 + 83f4b01e: 5bf1 li s7,-4 + 83f4b020: 0b0a slli s6,s6,0x2 + 83f4b022: 0f0a slli t5,t5,0x2 + 83f4b024: 0a8a slli s5,s5,0x2 + 83f4b026: 00249513 slli a0,s1,0x2 + 83f4b02a: 00271393 slli t2,a4,0x2 + 83f4b02e: 8a62 mv s4,s8 + 83f4b030: 4985 li s3,1 + for(i=2;i + 83f4b03c: 005a0eb3 add t4,s4,t0 + 83f4b040: ffe28813 addi a6,t0,-2 + 83f4b044: 0e86 slli t4,t4,0x1 + 83f4b046: 080a slli a6,a6,0x2 + 83f4b048: 9eea add t4,t4,s10 + 83f4b04a: ffe2831b addiw t1,t0,-2 + 83f4b04e: 986a add a6,a6,s10 + 83f4b050: 005b8fbb addw t6,s7,t0 + 83f4b054: 0e86 slli t4,t4,0x1 + t6=idp2+t1-i; + 83f4b056: 88ca mv a7,s2 + for(k=0;k + 83f4b05c: 011f0733 add a4,t5,a7 + 83f4b060: 410e8633 sub a2,t4,a6 + 83f4b064: 86c2 mv a3,a6 + 83f4b066: 87c6 mv a5,a7 + 83f4b068: 4581 li a1,0 + cc[t7-1]=ch[t8-1]+ch[t9-1]; + 83f4b06a: ffc7a707 flw fa4,-4(a5) + 83f4b06e: ffc72787 flw fa5,-4(a4) + for(k=0;k + for(i=2;i + for(j=1;j + 83f4b0d2: bbe5 j 83f4aeca + t2=ipp2*idl1; + 83f4b0d4: 033a8c3b mulw s8,s5,s3 + for(ik=0;ik + 83f4b0dc: bc81 j 83f4ab2c + t2=ipp2*idl1; + 83f4b0de: 033a8c3b mulw s8,s5,s3 + for(ik=0;ik + 83f4b0e6: b189 j 83f4ad28 + +0000000083f4b0e8 : + +static void dradbg(int ido,int ip,int l1,int idl1,float *cc,float *c1, + float *c2,float *ch,float *ch2,float *wa){ + 83f4b0e8: 7115 addi sp,sp,-224 + 83f4b0ea: b4a2 fsd fs0,104(sp) + float dcp,arg,dsp,ar1h,ar2h; + int ipp2; + + t10=ip*ido; + t0=l1*ido; + arg=tpi/(float)ip; + 83f4b0ec: d005f453 fcvt.s.w fs0,a1 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b0f0: e9a2 sd s0,208(sp) + arg=tpi/(float)ip; + 83f4b0f2: 00007417 auipc s0,0x7 + 83f4b0f6: 37242787 flw fa5,882(s0) # 83f52464 <__func__.1+0x26c> + 83f4b0fa: 1887f453 fdiv.s fs0,fa5,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b0fe: e566 sd s9,136(sp) + t0=l1*ido; + 83f4b100: 02c50cbb mulw s9,a0,a2 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b104: ed86 sd ra,216(sp) + 83f4b106: e5a6 sd s1,200(sp) + 83f4b108: e1ca sd s2,192(sp) + 83f4b10a: fd4e sd s3,184(sp) + 83f4b10c: 892a mv s2,a0 + 83f4b10e: 89be mv s3,a5 + 83f4b110: f952 sd s4,176(sp) + 83f4b112: f556 sd s5,168(sp) + 83f4b114: f15a sd s6,160(sp) + 83f4b116: 8aba mv s5,a4 + 83f4b118: ed5e sd s7,152(sp) + 83f4b11a: e962 sd s8,144(sp) + t10=ip*ido; + 83f4b11c: 02a58bbb mulw s7,a1,a0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b120: e16a sd s10,128(sp) + 83f4b122: e42e sd a1,8(sp) + 83f4b124: 8d2e mv s10,a1 + 83f4b126: 8432 mv s0,a2 + dcp=(float)cos(arg); + 83f4b128: 42040453 fcvt.d.s fs0,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b12c: 8a36 mv s4,a3 + 83f4b12e: e8c2 sd a6,80(sp) + dcp=(float)cos(arg); + 83f4b130: 22840553 fmv.d fa0,fs0 + float *c2,float *ch,float *ch2,float *wa){ + 83f4b134: 84c6 mv s1,a7 + 83f4b136: 7c0e ld s8,224(sp) + 83f4b138: fcee sd s11,120(sp) + dcp=(float)cos(arg); + 83f4b13a: f98f50ef jal ra,83f408d2 + 83f4b13e: 22a507d3 fmv.d fa5,fa0 + dsp=(float)sin(arg); + 83f4b142: 22840553 fmv.d fa0,fs0 + t0=l1*ido; + 83f4b146: 8b66 mv s6,s9 + dcp=(float)cos(arg); + 83f4b148: 4017f453 fcvt.s.d fs0,fa5 + dsp=(float)sin(arg); + 83f4b14c: a1bf50ef jal ra,83f40b66 + nbd=(ido-1)>>1; + 83f4b150: fff9079b addiw a5,s2,-1 + 83f4b154: 4017d71b sraiw a4,a5,0x1 + ipp2=ip; + ipph=(ip+1)>>1; + 83f4b158: 001d0f1b addiw t5,s10,1 + nbd=(ido-1)>>1; + 83f4b15c: fc3a sd a4,56(sp) + dsp=(float)sin(arg); + 83f4b15e: 401575d3 fcvt.s.d fa1,fa0 + ipph=(ip+1)>>1; + 83f4b162: 401f5f1b sraiw t5,t5,0x1 + if(ido + + t1=0; + t2=0; + for(k=0;k + 83f4b16e: 02079713 slli a4,a5,0x20 + 83f4b172: 01e75793 srli a5,a4,0x1e + 83f4b176: 004a8693 addi a3,s5,4 + 83f4b17a: 002b9813 slli a6,s7,0x2 + 83f4b17e: 8556 mv a0,s5 + 83f4b180: 00291893 slli a7,s2,0x2 + 83f4b184: 85a6 mv a1,s1 + 83f4b186: 96be add a3,a3,a5 + 83f4b188: 4601 li a2,0 + t3=t1; + t4=t2; + for(i=0;i + ch[t3]=cc[t4]; + 83f4b192: 0007a787 flw fa5,0(a5) + for(i=0;i + for(k=0;k + t1++; + } + + L106: + t1=0; + t2=ipp2*t0; + 83f4b1ae: 6722 ld a4,8(sp) + t7=(t5=ido<<1); + for(j=1;j + 83f4b1c0: 419007b3 neg a5,s9 + 83f4b1c4: 41600fbb negw t6,s6 + 83f4b1c8: 00279293 slli t0,a5,0x2 + 83f4b1cc: ecbe sd a5,88(sp) + 83f4b1ce: 002d9b13 slli s6,s11,0x2 + 83f4b1d2: 419707b3 sub a5,a4,s9 + 83f4b1d6: 002c9d13 slli s10,s9,0x2 + 83f4b1da: c2fe sw t6,68(sp) + 83f4b1dc: e4be sd a5,72(sp) + 83f4b1de: 016a8eb3 add t4,s5,s6 + 83f4b1e2: 01a48e33 add t3,s1,s10 + 83f4b1e6: 0f8a slli t6,t6,0x2 + 83f4b1e8: 00279893 slli a7,a5,0x2 + 83f4b1ec: 002b9513 slli a0,s7,0x2 + 83f4b1f0: 00291713 slli a4,s2,0x2 + 83f4b1f4: 8816 mv a6,t0 + 83f4b1f6: 4305 li t1,1 + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + t6=t5; + for(k=0;k + ch[t3]=cc[t6-1]+cc[t6-1]; + 83f4b202: ffc7a787 flw fa5,-4(a5) + ch[t4]=cc[t6]+cc[t6]; + 83f4b206: 01068633 add a2,a3,a6 + 83f4b20a: 9646 add a2,a2,a7 + ch[t3]=cc[t6-1]+cc[t6-1]; + 83f4b20c: 00f7f7d3 fadd.s fa5,fa5,fa5 + for(k=0;k + for(j=1;j + t6+=t10; + } + t5+=t7; + } + + if (ido == 1)goto L116; + 83f4b238: 4785 li a5,1 + 83f4b23a: 0af90d63 beq s2,a5,83f4b2f4 + if(nbd + 83f4b244: ffd9079b addiw a5,s2,-3 + 83f4b248: 9bf9 andi a5,a5,-2 + } + goto L116; + + L112: + t1=0; + t2=ipp2*t0; + 83f4b24a: 6b42 ld s6,16(sp) + 83f4b24c: 2789 addiw a5,a5,2 + t7=0; + 83f4b24e: 4281 li t0,0 + t1=0; + 83f4b250: 4b81 li s7,0 + for(j=1;j + 83f4b268: 47e2 lw a5,24(sp) + t9=t7; + 83f4b26a: 8e96 mv t4,t0 + t8=t7; + 83f4b26c: 8e16 mv t3,t0 + 83f4b26e: 01778fbb addw t6,a5,s7 + t4=t2; + 83f4b272: 835a mv t1,s6 + t3=t1; + 83f4b274: 88de mv a7,s7 + t3+=2; + 83f4b276: 2889 addiw a7,a7,2 + t4+=2; + 83f4b278: 2309 addiw t1,t1,2 + t8+=2; + 83f4b27a: 2e09 addiw t3,t3,2 + t9-=2; + 83f4b27c: 3ef9 addiw t4,t4,-2 + t5=t3; + t6=t4; + t11=t8; + t12=t9; + for(k=0;k + 83f4b282: 002e1693 slli a3,t3,0x2 + 83f4b286: 002e9793 slli a5,t4,0x2 + 83f4b28a: 00289593 slli a1,a7,0x2 + 83f4b28e: 00231613 slli a2,t1,0x2 + 83f4b292: 96d6 add a3,a3,s5 + 83f4b294: 97d6 add a5,a5,s5 + 83f4b296: 95a6 add a1,a1,s1 + 83f4b298: 9626 add a2,a2,s1 + 83f4b29a: 4801 li a6,0 + ch[t5-1]=cc[t11-1]+cc[t12-1]; + 83f4b29c: ffc7a707 flw fa4,-4(a5) + 83f4b2a0: ffc6a787 flw fa5,-4(a3) + for(k=0;k + for(i=2;i + for(j=1;j + ar1=1.f; + ai1=0.f; + t1=0; + t9=(t2=ipp2*idl1); + t3=(ip-1)*idl1; + for(l=1;l + 83f4b314: 00261e93 slli t4,a2,0x2 + 83f4b318: 068a slli a3,a3,0x2 + 83f4b31a: 4140083b negw a6,s4 + 83f4b31e: 41450533 sub a0,a0,s4 + 83f4b322: 00251b13 slli s6,a0,0x2 + 83f4b326: 088a slli a7,a7,0x2 + 83f4b328: 41450533 sub a0,a0,s4 + t9=(t2=ipp2*idl1); + 83f4b32c: f0000053 fmv.w.x ft0,zero + 83f4b330: 080a slli a6,a6,0x2 + 83f4b332: 002a1e13 slli t3,s4,0x2 + 83f4b336: 414005b3 neg a1,s4 + 83f4b33a: fff64613 not a2,a2 + 83f4b33e: 9ebe add t4,t4,a5 + 83f4b340: f836 sd a3,48(sp) + 83f4b342: 97c6 add a5,a5,a7 + 83f4b344: 00251693 slli a3,a0,0x2 + 83f4b348: 01cf82b3 add t0,t6,t3 + 83f4b34c: f03e sd a5,32(sp) + 83f4b34e: f442 sd a6,40(sp) + 83f4b350: 9fda add t6,t6,s6 + 83f4b352: 00259a93 slli s5,a1,0x2 + 83f4b356: 83c2 mv t2,a6 + 83f4b358: ec36 sd a3,24(sp) + 83f4b35a: 00007797 auipc a5,0x7 + 83f4b35e: ef67a507 flw fa0,-266(a5) # 83f52250 <__func__.1+0x58> + 83f4b362: 4d85 li s11,1 + 83f4b364: 00261b93 slli s7,a2,0x2 + t1+=idl1; + t2-=idl1; + + ar1h=dcp*ar1-dsp*ai1; + 83f4b368: 1005f753 fmul.s fa4,fa1,ft0 + ai1=dcp*ai1+dsp*ar1; + 83f4b36c: 10a5f7d3 fmul.s fa5,fa1,fa0 + t4=t1; + t5=t2; + t6=0; + t7=idl1; + t8=t3; + for(ik=0;ik + c2[t4++]=ch2[t6++]+ar1*ch2[t7++]; + 83f4b382: 01c785b3 add a1,a5,t3 + 83f4b386: 0007a707 flw fa4,0(a5) + 83f4b38a: 0005a787 flw fa5,0(a1) + for(ik=0;ik + ar2=ar1; + ai2=ai1; + + t6=idl1; + t7=t9-idl1; + for(j=2;j + ar2=ar1; + 83f4b3b6: 20a50653 fmv.s fa2,fa0 + ai2=ai1; + 83f4b3ba: 200006d3 fmv.s fa3,ft0 + for(j=2;j + c2[t4++]+=ar2*ch2[t11++]; + 83f4b3e2: 0006a707 flw fa4,0(a3) + 83f4b3e6: 0007a787 flw fa5,0(a5) + c2[t5++]+=ai2*ch2[t12++]; + 83f4b3ea: 010785b3 add a1,a5,a6 + for(ik=0;ik + for(j=2;j + for(l=1;l + for(ik=0;ik + 83f4b434: 00c786b3 add a3,a5,a2 + 83f4b438: 0007a787 flw fa5,0(a5) + 83f4b43c: 0006a707 flw fa4,0(a3) + 83f4b440: 0791 addi a5,a5,4 + 83f4b442: 00e7f7d3 fadd.s fa5,fa5,fa4 + 83f4b446: fef7ae27 fsw fa5,-4(a5) + 83f4b44a: ffd795e3 bne a5,t4,83f4b434 + for(j=1;j + 83f4b456: 67e6 ld a5,88(sp) + 83f4b458: 4f96 lw t6,68(sp) + 83f4b45a: 01a98eb3 add t4,s3,s10 + 83f4b45e: 00279293 slli t0,a5,0x2 + 83f4b462: 67a6 ld a5,72(sp) + 83f4b464: 01a48e33 add t3,s1,s10 + 83f4b468: 0f8a slli t6,t6,0x2 + 83f4b46a: 00279813 slli a6,a5,0x2 + 83f4b46e: 8896 mv a7,t0 + 83f4b470: 4305 li t1,1 + for(j=1;j + 83f4b476: 01098633 add a2,s3,a6 + 83f4b47a: 86f2 mv a3,t3 + 83f4b47c: 87f6 mv a5,t4 + 83f4b47e: 4501 li a0,0 + ch[t3]=c1[t3]-c1[t4]; + 83f4b480: 00062707 flw fa4,0(a2) + 83f4b484: 0007a787 flw fa5,0(a5) + ch[t4]=c1[t3]+c1[t4]; + 83f4b488: 00d885b3 add a1,a7,a3 + 83f4b48c: 95c2 add a1,a1,a6 + ch[t3]=c1[t3]-c1[t4]; + 83f4b48e: 08e7f7d3 fsub.s fa5,fa5,fa4 + for(k=0;k + for(j=1;j + t3+=ido; + t4+=ido; + } + } + + if(ido==1)goto L132; + 83f4b4c0: 4785 li a5,1 + 83f4b4c2: 1af90863 beq s2,a5,83f4b672 + if(nbd + goto L132; + + L128: + t1=0; + t2=ipp2*t0; + for(j=1;j + 83f4b4d4: ffd90f9b addiw t6,s2,-3 + 83f4b4d8: ffefff93 andi t6,t6,-2 + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(i=2;i + t4=t2; + 83f4b4f0: 68c2 ld a7,16(sp) + 83f4b4f2: 01df833b addw t1,t6,t4 + t3=t1; + 83f4b4f6: 8876 mv a6,t4 + t3+=2; + 83f4b4f8: 2809 addiw a6,a6,2 + t4+=2; + 83f4b4fa: 2889 addiw a7,a7,2 + t5=t3; + t6=t4; + for(k=0;k + 83f4b500: 00281593 slli a1,a6,0x2 + 83f4b504: 00289613 slli a2,a7,0x2 + 83f4b508: 00b986b3 add a3,s3,a1 + 83f4b50c: 00c987b3 add a5,s3,a2 + 83f4b510: 95a6 add a1,a1,s1 + 83f4b512: 9626 add a2,a2,s1 + 83f4b514: 4501 li a0,0 + ch[t5-1]=c1[t5-1]-c1[t6]; + 83f4b516: 0007a707 flw fa4,0(a5) + 83f4b51a: ffc6a787 flw fa5,-4(a3) + for(k=0;k + for(i=2;i + for(j=1;j + } + +L132: + if(ido==1)return; + + for(ik=0;ik + 83f4b572: fffa071b addiw a4,s4,-1 + 83f4b576: 02071793 slli a5,a4,0x20 + 83f4b57a: 01e7d713 srli a4,a5,0x1e + 83f4b57e: 67c6 ld a5,80(sp) + 83f4b580: 004c0693 addi a3,s8,4 + 83f4b584: 9736 add a4,a4,a3 + 83f4b586: 000c2787 flw fa5,0(s8) + 83f4b58a: 0c11 addi s8,s8,4 + 83f4b58c: 0791 addi a5,a5,4 + 83f4b58e: fef7ae27 fsw fa5,-4(a5) + 83f4b592: ff871ae3 bne a4,s8,83f4b586 + + t1=0; + for(j=1;j + 83f4b59e: 002c9513 slli a0,s9,0x2 + 83f4b5a2: 00a48333 add t1,s1,a0 + 83f4b5a6: 00a988b3 add a7,s3,a0 + 83f4b5aa: 00291713 slli a4,s2,0x2 + 83f4b5ae: 8e46 mv t3,a7 + 83f4b5b0: 859a mv a1,t1 + 83f4b5b2: 4805 li a6,1 + t2=(t1+=t0); + for(k=0;k + c1[t2]=ch[t2]; + 83f4b5be: 0006a787 flw fa5,0(a3) + for(k=0;k + for(j=1;j + 83f4b5de: 883e mv a6,a5 + 83f4b5e0: bfd1 j 83f4b5b4 + t2+=ido; + } + } + + if(nbd>l1)goto L139; + 83f4b5e2: 77e2 ld a5,56(sp) + 83f4b5e4: 26f44563 blt s0,a5,83f4b84e + + is= -ido-1; + t1=0; + for(j=1;j + 83f4b606: 006e883b addw a6,t4,t1 + 83f4b60a: 8672 mv a2,t3 + t2=t1; + 83f4b60c: 851a mv a0,t1 + t2+=2; + 83f4b60e: 2509 addiw a0,a0,2 + idij+=2; + t3=t2; + for(k=0;k + 83f4b614: 00251693 slli a3,a0,0x2 + 83f4b618: 00d487b3 add a5,s1,a3 + 83f4b61c: 4581 li a1,0 + 83f4b61e: 96ce add a3,a3,s3 + c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; + 83f4b620: 0007a607 flw fa2,0(a5) + 83f4b624: 00862707 flw fa4,8(a2) + 83f4b628: ffc7a687 flw fa3,-4(a5) + 83f4b62c: 00462787 flw fa5,4(a2) + 83f4b630: 10c77753 fmul.s fa4,fa4,fa2 + for(k=0;k + for(i=2;i + for(j=1;j + c1[t3]=wa[idij-1]*ch[t3]+wa[idij]*ch[t3-1]; + } + t2+=ido; + } + } +} + 83f4b672: 60ee ld ra,216(sp) + 83f4b674: 644e ld s0,208(sp) + 83f4b676: 64ae ld s1,200(sp) + 83f4b678: 690e ld s2,192(sp) + 83f4b67a: 79ea ld s3,184(sp) + 83f4b67c: 7a4a ld s4,176(sp) + 83f4b67e: 7aaa ld s5,168(sp) + 83f4b680: 7b0a ld s6,160(sp) + 83f4b682: 6bea ld s7,152(sp) + 83f4b684: 6c4a ld s8,144(sp) + 83f4b686: 6caa ld s9,136(sp) + 83f4b688: 6d0a ld s10,128(sp) + 83f4b68a: 7de6 ld s11,120(sp) + 83f4b68c: 3426 fld fs0,104(sp) + 83f4b68e: 612d addi sp,sp,224 + 83f4b690: 8082 ret + for(i=0;i + 83f4b696: 88d6 mv a7,s5 + 83f4b698: 8826 mv a6,s1 + 83f4b69a: 002b9593 slli a1,s7,0x2 + 83f4b69e: 00291613 slli a2,s2,0x2 + 83f4b6a2: 4501 li a0,0 + for(k=0;k + ch[t2]=cc[t3]; + 83f4b6ae: 00072787 flw fa5,0(a4) + for(k=0;k + t1++; + 83f4b6c0: 2505 addiw a0,a0,1 + for(i=0;i + t2=ipp2*t0; + 83f4b6ca: 6722 ld a4,8(sp) + for(j=1;j + if (ido == 1)goto L116; + 83f4b6dc: e8f919e3 bne s2,a5,83f4b56e + 83f4b6e0: bf49 j 83f4b672 + for(j=1;j + 83f4b6e6: 4a96 lw s5,68(sp) + 83f4b6e8: 67a6 ld a5,72(sp) + 83f4b6ea: ffd90e1b addiw t3,s2,-3 + 83f4b6ee: 001e5e1b srliw t3,t3,0x1 + 83f4b6f2: 0a8a slli s5,s5,0x2 + 83f4b6f4: 00279b13 slli s6,a5,0x2 + 83f4b6f8: 0e06 slli t3,t3,0x1 + 83f4b6fa: 83e6 mv t2,s9 + 83f4b6fc: 4285 li t0,1 + for(i=2;i + for(i=2;i + 83f4b712: 01c80533 add a0,a6,t3 + 83f4b716: 00281613 slli a2,a6,0x2 + 83f4b71a: 050a slli a0,a0,0x2 + 83f4b71c: 013606b3 add a3,a2,s3 + 83f4b720: 011987b3 add a5,s3,a7 + 83f4b724: 9626 add a2,a2,s1 + 83f4b726: 011485b3 add a1,s1,a7 + 83f4b72a: 957e add a0,a0,t6 + ch[t5-1]=c1[t5-1]-c1[t6]; + 83f4b72c: 0046a787 flw fa5,4(a3) + 83f4b730: 0087a707 flw fa4,8(a5) + for(i=2;i + for(k=0;k + for(j=1;j + 83f4b78c: b3cd j 83f4b56e + for(j=1;j + 83f4b7c0: 6362 ld t1,24(sp) + 83f4b7c2: 002b9893 slli a7,s7,0x2 + 83f4b7c6: 98a6 add a7,a7,s1 + 83f4b7c8: 8ede mv t4,s7 + 83f4b7ca: 4e01 li t3,0 + for(i=2;i + 83f4b7d0: 01d28833 add a6,t0,t4 + 83f4b7d4: 080a slli a6,a6,0x2 + 83f4b7d6: 01f885b3 add a1,a7,t6 + 83f4b7da: 9856 add a6,a6,s5 + 83f4b7dc: 8646 mv a2,a7 + 83f4b7de: 869a mv a3,t1 + 83f4b7e0: 879a mv a5,t1 + ch[t5-1]=cc[t9-1]+cc[t11-1]; + 83f4b7e2: 0047a787 flw fa5,4(a5) + 83f4b7e6: ff46a707 flw fa4,-12(a3) + for(i=2;i + for(k=0;k + for(j=1;j + 83f4b84c: b465 j 83f4b2f4 + 83f4b84e: 77ae ld a5,232(sp) + 83f4b850: ffd9049b addiw s1,s2,-3 + 83f4b854: 0014d49b srliw s1,s1,0x1 + 83f4b858: ffc78f13 addi t5,a5,-4 + 83f4b85c: 0486 slli s1,s1,0x1 + if(nbd>l1)goto L139; + 83f4b85e: 53fd li t2,-1 + 83f4b860: 4285 li t0,1 + 83f4b862: 00878993 addi s3,a5,8 + for(i=2;i + 83f4b86c: 007485b3 add a1,s1,t2 + 83f4b870: 058a slli a1,a1,0x2 + 83f4b872: 95ce add a1,a1,s3 + 83f4b874: 8a46 mv s4,a7 + 83f4b876: 8e9a mv t4,t1 + 83f4b878: 4e01 li t3,0 + for(i=2;i + c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; + 83f4b884: 0087a707 flw fa4,8(a5) + 83f4b888: 0086a607 flw fa2,8(a3) + 83f4b88c: 0047a787 flw fa5,4(a5) + 83f4b890: 0046a687 flw fa3,4(a3) + 83f4b894: 10c77753 fmul.s fa4,fa4,fa2 + for(i=2;i + for(k=0;k + for(j=1;j + 83f4b8e0: 82be mv t0,a5 + 83f4b8e2: b759 j 83f4b868 + +0000000083f4b8e4 : + if(na==0)return; + + for(i=0;in==1)return; + 83f4b900: 4100 lw s0,0(a0) + 83f4b902: 4785 li a5,1 + 83f4b904: 0ef40a63 beq s0,a5,83f4b9f8 + drftf1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); + 83f4b908: 01053c83 ld s9,16(a0) + 83f4b90c: 00853b83 ld s7,8(a0) + 83f4b910: 00241493 slli s1,s0,0x2 + nf=ifac[1]; + 83f4b914: 004ca783 lw a5,4(s9) + drftf1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); + 83f4b918: 94de add s1,s1,s7 + for(k1=0;k1 + 83f4b91e: 00178713 addi a4,a5,1 + 83f4b922: 070a slli a4,a4,0x2 + 83f4b924: 37fd addiw a5,a5,-1 + 83f4b926: ffc70913 addi s2,a4,-4 + 83f4b92a: 02079693 slli a3,a5,0x20 + 83f4b92e: 9966 add s2,s2,s9 + 83f4b930: 01e6d793 srli a5,a3,0x1e + 83f4b934: 8c2e mv s8,a1 + 83f4b936: 9cba add s9,s9,a4 + 83f4b938: 40f90933 sub s2,s2,a5 + 83f4b93c: 8d22 mv s10,s0 + 83f4b93e: 8da2 mv s11,s0 + na=1; + 83f4b940: 4605 li a2,1 + na=1-na; + 83f4b942: 4a05 li s4,1 + if(ip!=4)goto L102; + 83f4b944: 4991 li s3,4 + if(ip!=2)goto L104; + 83f4b946: 4a89 li s5,2 + 83f4b948: a805 j 83f4b978 + 83f4b94a: 0d558663 beq a1,s5,83f4ba16 + if(ido==1)na=1-na; + 83f4b94e: 4805 li a6,1 + 83f4b950: 01051363 bne a0,a6,83f4b956 + 83f4b954: 8b32 mv s6,a2 + dradfg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4b956: e43a sd a4,8(sp) + idl1=ido*l1; + 83f4b958: 02d786bb mulw a3,a5,a3 + if(na!=0)goto L109; + 83f4b95c: 0e0b0463 beqz s6,83f4ba44 + dradfg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4b960: 866e mv a2,s11 + 83f4b962: e062 sd s8,0(sp) + 83f4b964: 88e2 mv a7,s8 + 83f4b966: 885e mv a6,s7 + 83f4b968: 87de mv a5,s7 + 83f4b96a: 875e mv a4,s7 + 83f4b96c: e87fe0ef jal ra,83f4a7f2 + na=0; + 83f4b970: 4601 li a2,0 + for(k1=0;k1 + ido=n/l2; + 83f4b978: 03b4453b divw a0,s0,s11 + ip=ifac[kh+1]; + 83f4b97c: 000ca583 lw a1,0(s9) + na=1-na; + 83f4b980: 40ca0b3b subw s6,s4,a2 + iw-=(ip-1)*ido; + 83f4b984: fff5831b addiw t1,a1,-1 + l1=l2/ip; + 83f4b988: 02bdcdbb divw s11,s11,a1 + ido=n/l2; + 83f4b98c: 86aa mv a3,a0 + iw-=(ip-1)*ido; + 83f4b98e: 02a3033b mulw t1,t1,a0 + l1=l2/ip; + 83f4b992: 87ee mv a5,s11 + iw-=(ip-1)*ido; + 83f4b994: 406d0d3b subw s10,s10,t1 + dradfg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4b998: 002d1713 slli a4,s10,0x2 + 83f4b99c: 1771 addi a4,a4,-4 + 83f4b99e: 9726 add a4,a4,s1 + if(ip!=4)goto L102; + 83f4b9a0: fb3595e3 bne a1,s3,83f4b94a + ix2=iw+ido; + 83f4b9a4: 01a507bb addw a5,a0,s10 + dradf4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4b9a8: 00f5083b addw a6,a0,a5 + 83f4b9ac: 080a slli a6,a6,0x2 + 83f4b9ae: 078a slli a5,a5,0x2 + 83f4b9b0: 17f1 addi a5,a5,-4 + 83f4b9b2: 1871 addi a6,a6,-4 + 83f4b9b4: 97a6 add a5,a5,s1 + 83f4b9b6: 9826 add a6,a6,s1 + if(na!=0) + 83f4b9b8: 060b0863 beqz s6,83f4ba28 + dradf4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4b9bc: 865e mv a2,s7 + 83f4b9be: 86e2 mv a3,s8 + 83f4b9c0: 85ee mv a1,s11 + 83f4b9c2: ce4fe0ef jal ra,83f49ea6 + for(k1=0;k1 + if(na==1)return; + 83f4b9ce: 4785 li a5,1 + 83f4b9d0: 02f60463 beq a2,a5,83f4b9f8 + for(i=0;i + 83f4b9d8: 347d addiw s0,s0,-1 + 83f4b9da: 02041793 slli a5,s0,0x20 + 83f4b9de: 01e7d413 srli s0,a5,0x1e + 83f4b9e2: 004b8793 addi a5,s7,4 + 83f4b9e6: 943e add s0,s0,a5 + 83f4b9e8: 000ba787 flw fa5,0(s7) + 83f4b9ec: 0b91 addi s7,s7,4 + 83f4b9ee: 0c11 addi s8,s8,4 + 83f4b9f0: fefc2e27 fsw fa5,-4(s8) + 83f4b9f4: ff741ae3 bne s0,s7,83f4b9e8 +} + 83f4b9f8: 70e6 ld ra,120(sp) + 83f4b9fa: 7446 ld s0,112(sp) + 83f4b9fc: 74a6 ld s1,104(sp) + 83f4b9fe: 7906 ld s2,96(sp) + 83f4ba00: 69e6 ld s3,88(sp) + 83f4ba02: 6a46 ld s4,80(sp) + 83f4ba04: 6aa6 ld s5,72(sp) + 83f4ba06: 6b06 ld s6,64(sp) + 83f4ba08: 7be2 ld s7,56(sp) + 83f4ba0a: 7c42 ld s8,48(sp) + 83f4ba0c: 7ca2 ld s9,40(sp) + 83f4ba0e: 7d02 ld s10,32(sp) + 83f4ba10: 6de2 ld s11,24(sp) + 83f4ba12: 6109 addi sp,sp,128 + 83f4ba14: 8082 ret + if(na!=0)goto L103; + 83f4ba16: 020b0063 beqz s6,83f4ba36 + dradf2(ido,l1,ch,c,wa+iw-1); + 83f4ba1a: 865e mv a2,s7 + 83f4ba1c: 86e2 mv a3,s8 + 83f4ba1e: 85ee mv a1,s11 + 83f4ba20: b12fe0ef jal ra,83f49d32 + goto L110; + 83f4ba24: 865a mv a2,s6 + 83f4ba26: b7b1 j 83f4b972 + dradf4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4ba28: 8662 mv a2,s8 + 83f4ba2a: 86de mv a3,s7 + 83f4ba2c: 85ee mv a1,s11 + 83f4ba2e: c78fe0ef jal ra,83f49ea6 + 83f4ba32: 4601 li a2,0 + 83f4ba34: bf3d j 83f4b972 + dradf2(ido,l1,c,ch,wa+iw-1); + 83f4ba36: 8662 mv a2,s8 + 83f4ba38: 86de mv a3,s7 + 83f4ba3a: 85ee mv a1,s11 + 83f4ba3c: af6fe0ef jal ra,83f49d32 + na=1-na; + 83f4ba40: 4601 li a2,0 + goto L110; + 83f4ba42: bf05 j 83f4b972 + dradfg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); + 83f4ba44: 866e mv a2,s11 + 83f4ba46: e05e sd s7,0(sp) + 83f4ba48: 88de mv a7,s7 + 83f4ba4a: 8862 mv a6,s8 + 83f4ba4c: 87e2 mv a5,s8 + 83f4ba4e: 8762 mv a4,s8 + 83f4ba50: da3fe0ef jal ra,83f4a7f2 + na=1; + 83f4ba54: 4605 li a2,1 + goto L110; + 83f4ba56: bf31 j 83f4b972 + +0000000083f4ba58 : + +void core_drft_backward(struct drft_lookup *l,float *data){ + 83f4ba58: 7175 addi sp,sp,-144 + 83f4ba5a: e506 sd ra,136(sp) + 83f4ba5c: e122 sd s0,128(sp) + 83f4ba5e: fca6 sd s1,120(sp) + 83f4ba60: f8ca sd s2,112(sp) + 83f4ba62: f4ce sd s3,104(sp) + 83f4ba64: f0d2 sd s4,96(sp) + 83f4ba66: ecd6 sd s5,88(sp) + 83f4ba68: e8da sd s6,80(sp) + 83f4ba6a: e4de sd s7,72(sp) + 83f4ba6c: e0e2 sd s8,64(sp) + 83f4ba6e: fc66 sd s9,56(sp) + 83f4ba70: f86a sd s10,48(sp) + 83f4ba72: f46e sd s11,40(sp) + if (l->n==1)return; + 83f4ba74: 4104 lw s1,0(a0) + 83f4ba76: 4785 li a5,1 + 83f4ba78: 10f48063 beq s1,a5,83f4bb78 + drftb1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); + 83f4ba7c: 01053c83 ld s9,16(a0) + 83f4ba80: 00853d03 ld s10,8(a0) + 83f4ba84: 00249913 slli s2,s1,0x2 + nf=ifac[1]; + 83f4ba88: 004ca983 lw s3,4(s9) + drftb1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); + 83f4ba8c: 996a add s2,s2,s10 + for(k1=0;k1 + 83f4ba92: 39fd addiw s3,s3,-1 + 83f4ba94: 02099793 slli a5,s3,0x20 + 83f4ba98: 01e7d993 srli s3,a5,0x1e + 83f4ba9c: 00cc8793 addi a5,s9,12 + 83f4baa0: 8dae mv s11,a1 + 83f4baa2: 0ca1 addi s9,s9,8 + 83f4baa4: 99be add s3,s3,a5 + na=0; + 83f4baa6: 4c01 li s8,0 + iw=1; + 83f4baa8: 4b05 li s6,1 + l1=1; + 83f4baaa: 4b85 li s7,1 + if(ip!=4)goto L103; + 83f4baac: 4a11 li s4,4 + 83f4baae: a0a1 j 83f4baf6 + if(ip!=2)goto L106; + 83f4bab0: 4789 li a5,2 + 83f4bab2: 0ef40263 beq s0,a5,83f4bb96 + if(ip!=3)goto L109; + 83f4bab6: 478d li a5,3 + 83f4bab8: 0ef40b63 beq s0,a5,83f4bbae + idl1=ido*l1; + 83f4babc: 02b506bb mulw a3,a0,a1 + if(na!=0) + 83f4bac0: 100c0363 beqz s8,83f4bbc6 + dradbg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4bac4: e43a sd a4,8(sp) + 83f4bac6: e06e sd s11,0(sp) + 83f4bac8: 88ee mv a7,s11 + 83f4baca: 886a mv a6,s10 + 83f4bacc: 87ea mv a5,s10 + 83f4bace: 876a mv a4,s10 + dradbg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); + 83f4bad0: 862e mv a2,a1 + 83f4bad2: 85a2 mv a1,s0 + 83f4bad4: ec2a sd a0,24(sp) + 83f4bad6: e12ff0ef jal ra,83f4b0e8 + 83f4bada: 6562 ld a0,24(sp) + if(ido==1)na=1-na; + 83f4badc: 4785 li a5,1 + 83f4bade: 00f51463 bne a0,a5,83f4bae6 + 83f4bae2: 41878c3b subw s8,a5,s8 + iw+=(ip-1)*ido; + 83f4bae6: 347d addiw s0,s0,-1 + 83f4bae8: 0354043b mulw s0,s0,s5 + for(k1=0;k1 + ip=ifac[k1 + 2]; + 83f4baf6: 000ca403 lw s0,0(s9) + dradbg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4bafa: 002b1713 slli a4,s6,0x2 + 83f4bafe: 1771 addi a4,a4,-4 + l2=ip*l1; + 83f4bb00: 037407bb mulw a5,s0,s7 + 83f4bb04: 85de mv a1,s7 + dradbg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + 83f4bb06: 974a add a4,a4,s2 + ido=n/l2; + 83f4bb08: 02f4c53b divw a0,s1,a5 + l2=ip*l1; + 83f4bb0c: 00078b9b sext.w s7,a5 + ido=n/l2; + 83f4bb10: 8aaa mv s5,a0 + if(ip!=4)goto L103; + 83f4bb12: f9441fe3 bne s0,s4,83f4bab0 + ix2=iw+ido; + 83f4bb16: 016506bb addw a3,a0,s6 + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bb1a: 00d5083b addw a6,a0,a3 + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + 83f4bb1e: 00269793 slli a5,a3,0x2 + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bb22: 080a slli a6,a6,0x2 + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + 83f4bb24: 17f1 addi a5,a5,-4 + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bb26: 1871 addi a6,a6,-4 + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + 83f4bb28: 97ca add a5,a5,s2 + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bb2a: 984a add a6,a6,s2 + if(na!=0) + 83f4bb2c: 060c0c63 beqz s8,83f4bba4 + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bb30: 86ee mv a3,s11 + 83f4bb32: 866a mv a2,s10 + 83f4bb34: 9bdfe0ef jal ra,83f4a4f0 + iw+=(ip-1)*ido; + 83f4bb38: 347d addiw s0,s0,-1 + 83f4bb3a: 0354043b mulw s0,s0,s5 + na=1-na; + 83f4bb3e: 4785 li a5,1 + for(k1=0;k1 + if(na==0)return; + 83f4bb4e: 020c0563 beqz s8,83f4bb78 + for(i=0;i + 83f4bb56: 34fd addiw s1,s1,-1 + 83f4bb58: 02049793 slli a5,s1,0x20 + 83f4bb5c: 01e7d493 srli s1,a5,0x1e + 83f4bb60: 004d0793 addi a5,s10,4 + 83f4bb64: 856a mv a0,s10 + 83f4bb66: 94be add s1,s1,a5 + 83f4bb68: 00052787 flw fa5,0(a0) + 83f4bb6c: 0511 addi a0,a0,4 + 83f4bb6e: 0d91 addi s11,s11,4 + 83f4bb70: fefdae27 fsw fa5,-4(s11) + 83f4bb74: fea49ae3 bne s1,a0,83f4bb68 +} + 83f4bb78: 60aa ld ra,136(sp) + 83f4bb7a: 640a ld s0,128(sp) + 83f4bb7c: 74e6 ld s1,120(sp) + 83f4bb7e: 7946 ld s2,112(sp) + 83f4bb80: 79a6 ld s3,104(sp) + 83f4bb82: 7a06 ld s4,96(sp) + 83f4bb84: 6ae6 ld s5,88(sp) + 83f4bb86: 6b46 ld s6,80(sp) + 83f4bb88: 6ba6 ld s7,72(sp) + 83f4bb8a: 6c06 ld s8,64(sp) + 83f4bb8c: 7ce2 ld s9,56(sp) + 83f4bb8e: 7d42 ld s10,48(sp) + 83f4bb90: 7da2 ld s11,40(sp) + 83f4bb92: 6149 addi sp,sp,144 + 83f4bb94: 8082 ret + if(na!=0) + 83f4bb96: 020c0f63 beqz s8,83f4bbd4 + dradb2(ido,l1,ch,c,wa+iw-1); + 83f4bb9a: 86ee mv a3,s11 + 83f4bb9c: 866a mv a2,s10 + 83f4bb9e: e12fe0ef jal ra,83f4a1b0 + 83f4bba2: bf59 j 83f4bb38 + dradb4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); + 83f4bba4: 86ea mv a3,s10 + 83f4bba6: 866e mv a2,s11 + 83f4bba8: 949fe0ef jal ra,83f4a4f0 + 83f4bbac: b771 j 83f4bb38 + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + 83f4bbae: 016507bb addw a5,a0,s6 + 83f4bbb2: 078a slli a5,a5,0x2 + 83f4bbb4: 17f1 addi a5,a5,-4 + 83f4bbb6: 97ca add a5,a5,s2 + if(na!=0) + 83f4bbb8: 020c0363 beqz s8,83f4bbde + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + 83f4bbbc: 86ee mv a3,s11 + 83f4bbbe: 866a mv a2,s10 + 83f4bbc0: f64fe0ef jal ra,83f4a324 + 83f4bbc4: bf95 j 83f4bb38 + dradbg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); + 83f4bbc6: e43a sd a4,8(sp) + 83f4bbc8: e06a sd s10,0(sp) + 83f4bbca: 88ea mv a7,s10 + 83f4bbcc: 886e mv a6,s11 + 83f4bbce: 87ee mv a5,s11 + 83f4bbd0: 876e mv a4,s11 + 83f4bbd2: bdfd j 83f4bad0 + dradb2(ido,l1,c,ch,wa+iw-1); + 83f4bbd4: 86ea mv a3,s10 + 83f4bbd6: 866e mv a2,s11 + 83f4bbd8: dd8fe0ef jal ra,83f4a1b0 + 83f4bbdc: bfb1 j 83f4bb38 + dradb3(ido,l1,c,ch,wa+iw-1,wa+ix2-1); + 83f4bbde: 86ea mv a3,s10 + 83f4bbe0: 866e mv a2,s11 + 83f4bbe2: f42fe0ef jal ra,83f4a324 + 83f4bbe6: bf89 j 83f4bb38 + +0000000083f4bbe8 : + +void core_drft_init(struct drft_lookup *l,int n) +{ + l->n=n; + l->trigcache=(float*)mem_alloc(3*n*sizeof(*l->trigcache)); + 83f4bbe8: 0015979b slliw a5,a1,0x1 +{ + 83f4bbec: 7115 addi sp,sp,-224 + l->trigcache=(float*)mem_alloc(3*n*sizeof(*l->trigcache)); + 83f4bbee: 9fad addw a5,a5,a1 +{ + 83f4bbf0: ed86 sd ra,216(sp) + 83f4bbf2: e9a2 sd s0,208(sp) + 83f4bbf4: e5a6 sd s1,200(sp) + uintptr_t *ptr = pvPortMalloc(size); + 83f4bbf6: 0027941b slliw s0,a5,0x2 + 83f4bbfa: e1ca sd s2,192(sp) + 83f4bbfc: fd4e sd s3,184(sp) + 83f4bbfe: f952 sd s4,176(sp) + 83f4bc00: f556 sd s5,168(sp) + 83f4bc02: f15a sd s6,160(sp) + 83f4bc04: ed5e sd s7,152(sp) + 83f4bc06: e962 sd s8,144(sp) + 83f4bc08: e566 sd s9,136(sp) + 83f4bc0a: e16a sd s10,128(sp) + 83f4bc0c: fcee sd s11,120(sp) + 83f4bc0e: b4a2 fsd fs0,104(sp) + 83f4bc10: b0a6 fsd fs1,96(sp) + 83f4bc12: acca fsd fs2,88(sp) + 83f4bc14: a8ce fsd fs3,80(sp) + 83f4bc16: a4d2 fsd fs4,72(sp) + 83f4bc18: 84aa mv s1,a0 + l->n=n; + 83f4bc1a: c10c sw a1,0(a0) + 83f4bc1c: 8522 mv a0,s0 +{ + 83f4bc1e: 892e mv s2,a1 + 83f4bc20: f82e sd a1,48(sp) + 83f4bc22: 163020ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4bc26: 8622 mv a2,s0 + 83f4bc28: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4bc2a: 842a mv s0,a0 + memset(ptr, 0, size); + 83f4bc2c: 350000ef jal ra,83f4bf7c + uintptr_t *ptr = pvPortMalloc(size); + 83f4bc30: 08000513 li a0,128 + l->trigcache=(float*)mem_alloc(3*n*sizeof(*l->trigcache)); + 83f4bc34: e480 sd s0,8(s1) + 83f4bc36: 14f020ef jal ra,83f4e584 + memset(ptr, 0, size); + 83f4bc3a: 08000613 li a2,128 + 83f4bc3e: 4581 li a1,0 + uintptr_t *ptr = pvPortMalloc(size); + 83f4bc40: 842a mv s0,a0 + memset(ptr, 0, size); + 83f4bc42: 33a000ef jal ra,83f4bf7c + if (n == 1) return; + 83f4bc46: 4785 li a5,1 + l->splitcache=(int*)mem_alloc(32*sizeof(*l->splitcache)); + 83f4bc48: e880 sd s0,16(s1) + if (n == 1) return; + 83f4bc4a: 16f90a63 beq s2,a5,83f4bdbe + fdrffti(n, l->trigcache, l->splitcache); + 83f4bc4e: 6484 ld s1,8(s1) + int nf=0; + 83f4bc50: 00006297 auipc t0,0x6 + 83f4bc54: 34828293 addi t0,t0,840 # 83f51f98 + fdrffti(n, l->trigcache, l->splitcache); + 83f4bc58: 8a4a mv s4,s2 + int nf=0; + 83f4bc5a: 4581 li a1,0 + int ntry=0,i,j=-1; + 83f4bc5c: 5ffd li t6,-1 + 83f4bc5e: 4501 li a0,0 + if (j < 4) + 83f4bc60: 438d li t2,3 + if(ntry!=2)goto L107; + 83f4bc62: 4e89 li t4,2 + if(nf==1)goto L107; + 83f4bc64: 4e05 li t3,1 + j++; + 83f4bc66: 2f85 addiw t6,t6,1 + if (j < 4) + 83f4bc68: 19f3c363 blt t2,t6,83f4bdee + ntry=ntryh[j]; + 83f4bc6c: 0002a503 lw a0,0(t0) + 83f4bc70: 00259813 slli a6,a1,0x2 + 83f4bc74: 832e mv t1,a1 + 83f4bc76: 9822 add a6,a6,s0 + nq=nl/ntry; + 83f4bc78: 02aa673b remw a4,s4,a0 + 83f4bc7c: 87d2 mv a5,s4 + 83f4bc7e: 8f2e mv t5,a1 + nf++; + 83f4bc80: 2585 addiw a1,a1,1 + nq=nl/ntry; + 83f4bc82: 02aa4a3b divw s4,s4,a0 + if (nr!=0) goto L101; + 83f4bc86: 16071063 bnez a4,83f4bde6 + ifac[nf+1]=ntry; + 83f4bc8a: 00a82423 sw a0,8(a6) + if(ntry!=2)goto L107; + 83f4bc8e: 03d51463 bne a0,t4,83f4bcb6 + if(nf==1)goto L107; + 83f4bc92: 03c58263 beq a1,t3,83f4bcb6 + 83f4bc96: 00259793 slli a5,a1,0x2 + 83f4bc9a: 97a2 add a5,a5,s0 + 83f4bc9c: 4701 li a4,0 + 83f4bc9e: 0003089b sext.w a7,t1 + ifac[ib+1]=ifac[ib]; + 83f4bca2: 4390 lw a2,0(a5) + for (i=1;i + ifac[2] = 2; + 83f4bcb2: 01d42423 sw t4,8(s0) + if(nl!=1)goto L104; + 83f4bcb6: 0305 addi t1,t1,1 + 83f4bcb8: 0811 addi a6,a6,4 + 83f4bcba: fbca1fe3 bne s4,t3,83f4bc78 + ifac[0]=n; + 83f4bcbe: 77c2 ld a5,48(sp) + ifac[1]=nf; + 83f4bcc0: c04c sw a1,4(s0) + ifac[0]=n; + 83f4bcc2: c01c sw a5,0(s0) + if(nfm1==0)return; + 83f4bcc4: 0e0f0d63 beqz t5,83f4bdbe + argh=tpi/n; + 83f4bcc8: d007f7d3 fcvt.s.w fa5,a5 + 83f4bccc: 00006717 auipc a4,0x6 + 83f4bcd0: 79872a07 flw fs4,1944(a4) # 83f52464 <__func__.1+0x26c> + drfti1(n, wsave+n, ifac); + 83f4bcd4: 00279713 slli a4,a5,0x2 + argh=tpi/n; + 83f4bcd8: 18fa7a53 fdiv.s fs4,fs4,fa5 + 83f4bcdc: ffff079b addiw a5,t5,-1 + drfti1(n, wsave+n, ifac); + 83f4bce0: 00e48d33 add s10,s1,a4 + 83f4bce4: 02079713 slli a4,a5,0x20 + 83f4bce8: 01e75793 srli a5,a4,0x1e + 83f4bcec: 00c40713 addi a4,s0,12 + 83f4bcf0: 97ba add a5,a5,a4 + 83f4bcf2: 00840693 addi a3,s0,8 + 83f4bcf6: fc3e sd a5,56(sp) + 83f4bcf8: 008d0793 addi a5,s10,8 + 83f4bcfc: e43e sd a5,8(sp) + 83f4bcfe: e836 sd a3,16(sp) + is=0; + 83f4bd00: ec02 sd zero,24(sp) + for (ii=2;ii + ip=ifac[k1+2]; + 83f4bd0c: 67c2 ld a5,16(sp) + 83f4bd0e: 8c52 mv s8,s4 + ido=n/l2; + 83f4bd10: 7742 ld a4,48(sp) + ip=ifac[k1+2]; + 83f4bd12: 439c lw a5,0(a5) + l2=l1*ip; + 83f4bd14: 03478a3b mulw s4,a5,s4 + ipm=ip-1; + 83f4bd18: fff78b9b addiw s7,a5,-1 + ido=n/l2; + 83f4bd1c: 03474abb divw s5,a4,s4 + 83f4bd20: d256 sw s5,36(sp) + for (j=0;j + 83f4bd26: ffda8b1b addiw s6,s5,-3 + 83f4bd2a: 6962 ld s2,24(sp) + 83f4bd2c: 001b5b1b srliw s6,s6,0x1 + 83f4bd30: 2781 sext.w a5,a5 + 83f4bd32: f43e sd a5,40(sp) + 83f4bd34: 0b06 slli s6,s6,0x1 + 83f4bd36: 4981 li s3,0 + ld=0; + 83f4bd38: 4481 li s1,0 + ld+=l1; + 83f4bd3a: 018484bb addw s1,s1,s8 + argld=(float)ld*argh; + 83f4bd3e: d004f953 fcvt.s.w fs2,s1 + 83f4bd42: 11497953 fmul.s fs2,fs2,fs4 + for (ii=2;ii + 83f4bd4a: 00291793 slli a5,s2,0x2 + 83f4bd4e: 01a78db3 add s11,a5,s10 + 83f4bd52: 67a2 ld a5,8(sp) + 83f4bd54: 01690433 add s0,s2,s6 + fi=0.f; + 83f4bd58: f00004d3 fmv.w.x fs1,zero + 83f4bd5c: 040a slli s0,s0,0x2 + 83f4bd5e: 943e add s0,s0,a5 + fi+=1.f; + 83f4bd60: 0134f4d3 fadd.s fs1,fs1,fs3 + for (ii=2;ii + 83f4bd76: 22a507d3 fmv.d fa5,fa0 + wa[i++]=(float)sin(arg); + 83f4bd7a: 22840553 fmv.d fa0,fs0 + wa[i++]=(float)cos(arg); + 83f4bd7e: 4017f7d3 fcvt.s.d fa5,fa5 + 83f4bd82: fefdac27 fsw fa5,-8(s11) + wa[i++]=(float)sin(arg); + 83f4bd86: de1f40ef jal ra,83f40b66 + 83f4bd8a: 40157553 fcvt.s.d fa0,fa0 + 83f4bd8e: feadae27 fsw fa0,-4(s11) + for (ii=2;ii + for (j=0;j + is+=ido; + 83f4bd9e: 77a2 ld a5,40(sp) + 83f4bda0: 66e2 ld a3,24(sp) + 83f4bda2: ffe7871b addiw a4,a5,-2 + 83f4bda6: 5792 lw a5,36(sp) + 83f4bda8: 02f7073b mulw a4,a4,a5 + 83f4bdac: 9fb5 addw a5,a5,a3 + 83f4bdae: 9fb9 addw a5,a5,a4 + 83f4bdb0: ec3e sd a5,24(sp) + for (k1=0;k1 +} + 83f4bdbe: 60ee ld ra,216(sp) + 83f4bdc0: 644e ld s0,208(sp) + 83f4bdc2: 64ae ld s1,200(sp) + 83f4bdc4: 690e ld s2,192(sp) + 83f4bdc6: 79ea ld s3,184(sp) + 83f4bdc8: 7a4a ld s4,176(sp) + 83f4bdca: 7aaa ld s5,168(sp) + 83f4bdcc: 7b0a ld s6,160(sp) + 83f4bdce: 6bea ld s7,152(sp) + 83f4bdd0: 6c4a ld s8,144(sp) + 83f4bdd2: 6caa ld s9,136(sp) + 83f4bdd4: 6d0a ld s10,128(sp) + 83f4bdd6: 7de6 ld s11,120(sp) + 83f4bdd8: 3426 fld fs0,104(sp) + 83f4bdda: 3486 fld fs1,96(sp) + 83f4bddc: 2966 fld fs2,88(sp) + 83f4bdde: 29c6 fld fs3,80(sp) + 83f4bde0: 2a26 fld fs4,72(sp) + 83f4bde2: 612d addi sp,sp,224 + 83f4bde4: 8082 ret + 83f4bde6: 0291 addi t0,t0,4 + if (nr!=0) goto L101; + 83f4bde8: 85fa mv a1,t5 + 83f4bdea: 8a3e mv s4,a5 + 83f4bdec: bdad j 83f4bc66 + ntry+=2; + 83f4bdee: 2509 addiw a0,a0,2 + 83f4bdf0: b541 j 83f4bc70 + +0000000083f4bdf2 : + +void core_drft_clear(struct drft_lookup *l) +{ + if(l) + 83f4bdf2: c505 beqz a0,83f4be1a +{ + 83f4bdf4: 1141 addi sp,sp,-16 + 83f4bdf6: e022 sd s0,0(sp) + 83f4bdf8: e406 sd ra,8(sp) + 83f4bdfa: 842a mv s0,a0 + { + if(l->trigcache) + 83f4bdfc: 6508 ld a0,8(a0) + 83f4bdfe: c119 beqz a0,83f4be04 + vPortFree(ptr); + 83f4be00: 0eb020ef jal ra,83f4e6ea + mem_free(l->trigcache); + if(l->splitcache) + 83f4be04: 6808 ld a0,16(s0) + 83f4be06: c511 beqz a0,83f4be12 + mem_free(l->splitcache); + } +} + 83f4be08: 6402 ld s0,0(sp) + 83f4be0a: 60a2 ld ra,8(sp) + 83f4be0c: 0141 addi sp,sp,16 + 83f4be0e: 0dd0206f j 83f4e6ea + 83f4be12: 60a2 ld ra,8(sp) + 83f4be14: 6402 ld s0,0(sp) + 83f4be16: 0141 addi sp,sp,16 + 83f4be18: 8082 ret + 83f4be1a: 8082 ret + +0000000083f4be1c : + } +#endif + +/* Function Definitions */ +void b_log(float x[321]) +{ + 83f4be1c: 1101 addi sp,sp,-32 + 83f4be1e: e822 sd s0,16(sp) + 83f4be20: e426 sd s1,8(sp) + 83f4be22: ec06 sd ra,24(sp) + 83f4be24: 842a mv s0,a0 + 83f4be26: 50450493 addi s1,a0,1284 + int k; + for (k = 0; k < 321; k++) { +#ifdef FAST_MATH_CALC + x[k] = (float)fast_log(x[k]); +#else + x[k] = (float)log(x[k]); + 83f4be2a: 00042507 flw fa0,0(s0) + for (k = 0; k < 321; k++) { + 83f4be2e: 0411 addi s0,s0,4 + x[k] = (float)log(x[k]); + 83f4be30: 42050553 fcvt.d.s fa0,fa0 + 83f4be34: e27f40ef jal ra,83f40c5a + 83f4be38: 40157553 fcvt.s.d fa0,fa0 + 83f4be3c: fea42e27 fsw fa0,-4(s0) + for (k = 0; k < 321; k++) { + 83f4be40: fe9415e3 bne s0,s1,83f4be2a +#endif + } +} + 83f4be44: 60e2 ld ra,24(sp) + 83f4be46: 6442 ld s0,16(sp) + 83f4be48: 64a2 ld s1,8(sp) + 83f4be4a: 6105 addi sp,sp,32 + 83f4be4c: 8082 ret + +0000000083f4be4e : + + return y; +} + +float rt_hypotf(float u0, float u1) +{ + 83f4be4e: 1101 addi sp,sp,-32 + 83f4be50: a422 fsd fs0,8(sp) + 83f4be52: 20a50453 fmv.s fs0,fa0 + float b; + + #if 1 + a = u0; + b = u1; + y = (float)sqrt(a * a + b * b); + 83f4be56: 10b5f553 fmul.s fa0,fa1,fa1 +{ + 83f4be5a: a026 fsd fs1,0(sp) + 83f4be5c: ec06 sd ra,24(sp) + 83f4be5e: 20b584d3 fmv.s fs1,fa1 + y = (float)sqrt(a * a + b * b); + 83f4be62: 50847543 fmadd.s fa0,fs0,fs0,fa0 + 83f4be66: 42050553 fcvt.d.s fa0,fa0 + 83f4be6a: f89f40ef jal ra,83f40df2 + 83f4be6e: 40157553 fcvt.s.d fa0,fa0 + if (y == 0.0F) /* can avoid y to be zero if as denominator */ + 83f4be72: f00007d3 fmv.w.x fa5,zero + 83f4be76: a0f527d3 feq.s a5,fa0,fa5 + 83f4be7a: e791 bnez a5,83f4be86 + y = a * 1.41421354F; + } + #endif + + return y; +} + 83f4be7c: 60e2 ld ra,24(sp) + 83f4be7e: 2422 fld fs0,8(sp) + 83f4be80: 2482 fld fs1,0(sp) + 83f4be82: 6105 addi sp,sp,32 + 83f4be84: 8082 ret + a = (float)fabs(u0); + 83f4be86: 42040553 fcvt.d.s fa0,fs0 + 83f4be8a: abff40ef jal ra,83f40948 + 83f4be8e: 22a50453 fmv.d fs0,fa0 + b = (float)fabs(u1); + 83f4be92: 42048553 fcvt.d.s fa0,fs1 + a = (float)fabs(u0); + 83f4be96: 40147453 fcvt.s.d fs0,fs0 + b = (float)fabs(u1); + 83f4be9a: aaff40ef jal ra,83f40948 + 83f4be9e: 401574d3 fcvt.s.d fs1,fa0 + if (a < b) { + 83f4bea2: a09417d3 flt.s a5,fs0,fs1 + 83f4bea6: e3a1 bnez a5,83f4bee6 + } else if (a > b) { + 83f4bea8: a08497d3 flt.s a5,fs1,fs0 + 83f4beac: ef81 bnez a5,83f4bec4 +} + 83f4beae: 60e2 ld ra,24(sp) + y = a * 1.41421354F; + 83f4beb0: 00006797 auipc a5,0x6 + 83f4beb4: 5ac7a507 flw fa0,1452(a5) # 83f5245c <__func__.1+0x264> + 83f4beb8: 10a47553 fmul.s fa0,fs0,fa0 +} + 83f4bebc: 2482 fld fs1,0(sp) + 83f4bebe: 2422 fld fs0,8(sp) + 83f4bec0: 6105 addi sp,sp,32 + 83f4bec2: 8082 ret + b /= a; + 83f4bec4: 1884f553 fdiv.s fa0,fs1,fs0 + y = a * (float)sqrt(b * b + 1.0F); + 83f4bec8: 00006797 auipc a5,0x6 + 83f4becc: 3887a487 flw fs1,904(a5) # 83f52250 <__func__.1+0x58> + 83f4bed0: 48a57543 fmadd.s fa0,fa0,fa0,fs1 + 83f4bed4: 42050553 fcvt.d.s fa0,fa0 + 83f4bed8: f1bf40ef jal ra,83f40df2 + 83f4bedc: 40157553 fcvt.s.d fa0,fa0 + 83f4bee0: 10857553 fmul.s fa0,fa0,fs0 + 83f4bee4: bf61 j 83f4be7c + a /= b; + 83f4bee6: 18947553 fdiv.s fa0,fs0,fs1 + y = b * (float)sqrt(a * a + 1.0F); + 83f4beea: 00006797 auipc a5,0x6 + 83f4beee: 3667a407 flw fs0,870(a5) # 83f52250 <__func__.1+0x58> + 83f4bef2: 40a57543 fmadd.s fa0,fa0,fa0,fs0 + 83f4bef6: 42050553 fcvt.d.s fa0,fa0 + 83f4befa: ef9f40ef jal ra,83f40df2 +} + 83f4befe: 60e2 ld ra,24(sp) + y = b * (float)sqrt(a * a + 1.0F); + 83f4bf00: 40157553 fcvt.s.d fa0,fa0 +} + 83f4bf04: 2422 fld fs0,8(sp) + y = b * (float)sqrt(a * a + 1.0F); + 83f4bf06: 10957553 fmul.s fa0,fa0,fs1 +} + 83f4bf0a: 2482 fld fs1,0(sp) + 83f4bf0c: 6105 addi sp,sp,32 + 83f4bf0e: 8082 ret + +0000000083f4bf10 : + 83f4bf10: 03f58793 addi a5,a1,63 + 83f4bf14: 97aa add a5,a5,a0 + 83f4bf16: fc07f793 andi a5,a5,-64 + 83f4bf1a: fc057513 andi a0,a0,-64 + 83f4bf1e: 00f57863 bgeu a0,a5,83f4bf2e + 83f4bf22: 02a5000b dcache.ipa a0 + 83f4bf26: 04050513 addi a0,a0,64 + 83f4bf2a: fef56ce3 bltu a0,a5,83f4bf22 + 83f4bf2e: 0190000b sync.s + 83f4bf32: 8082 ret + +0000000083f4bf34 : + 83f4bf34: 03f58793 addi a5,a1,63 + 83f4bf38: 97aa add a5,a5,a0 + 83f4bf3a: fc07f793 andi a5,a5,-64 + 83f4bf3e: fc057513 andi a0,a0,-64 + 83f4bf42: 00f57863 bgeu a0,a5,83f4bf52 + 83f4bf46: 0295000b dcache.cpa a0 + 83f4bf4a: 04050513 addi a0,a0,64 + 83f4bf4e: fef56ce3 bltu a0,a5,83f4bf46 + 83f4bf52: 0190000b sync.s + 83f4bf56: 8082 ret + +0000000083f4bf58 : + 83f4bf58: 03f58793 addi a5,a1,63 + 83f4bf5c: 97aa add a5,a5,a0 + 83f4bf5e: fc07f793 andi a5,a5,-64 + 83f4bf62: fc057513 andi a0,a0,-64 + 83f4bf66: 00f57863 bgeu a0,a5,83f4bf76 + 83f4bf6a: 02b5000b dcache.cipa a0 + 83f4bf6e: 04050513 addi a0,a0,64 + 83f4bf72: fef56ce3 bltu a0,a5,83f4bf6a + 83f4bf76: 0190000b sync.s + 83f4bf7a: 8082 ret + +0000000083f4bf7c : + 83f4bf7c: 0ff5f593 andi a1,a1,255 + 83f4bf80: 00c507b3 add a5,a0,a2 + 83f4bf84: c611 beqz a2,83f4bf90 + 83f4bf86: 0505 addi a0,a0,1 + 83f4bf88: feb50fa3 sb a1,-1(a0) + 83f4bf8c: fef51de3 bne a0,a5,83f4bf86 + 83f4bf90: 4501 li a0,0 + 83f4bf92: 8082 ret + +0000000083f4bf94 : + 83f4bf94: 7111 addi sp,sp,-256 + 83f4bf96: f526 sd s1,168(sp) + 83f4bf98: e5ae sd a1,200(sp) + 83f4bf9a: 84aa mv s1,a0 + 83f4bf9c: 4581 li a1,0 + 83f4bf9e: 0808 addi a0,sp,16 + 83f4bfa0: fd06 sd ra,184(sp) + 83f4bfa2: f922 sd s0,176(sp) + 83f4bfa4: f9c2 sd a6,240(sp) + 83f4bfa6: fdc6 sd a7,248(sp) + 83f4bfa8: f5be sd a5,232(sp) + 83f4bfaa: e9b2 sd a2,208(sp) + 83f4bfac: edb6 sd a3,216(sp) + 83f4bfae: f1ba sd a4,224(sp) + 83f4bfb0: 2e0000ef jal ra,83f4c290 + 83f4bfb4: 6762 ld a4,24(sp) + 83f4bfb6: 66c2 ld a3,16(sp) + 83f4bfb8: 00006617 auipc a2,0x6 + 83f4bfbc: ff060613 addi a2,a2,-16 # 83f51fa8 + 83f4bfc0: 07f00593 li a1,127 + 83f4bfc4: 1008 addi a0,sp,32 + 83f4bfc6: 2aa000ef jal ra,83f4c270 + 83f4bfca: 101c addi a5,sp,32 + 83f4bfcc: 07f00593 li a1,127 + 83f4bfd0: 01b4 addi a3,sp,200 + 83f4bfd2: 842a mv s0,a0 + 83f4bfd4: 8626 mv a2,s1 + 83f4bfd6: 8d89 sub a1,a1,a0 + 83f4bfd8: 953e add a0,a0,a5 + 83f4bfda: e436 sd a3,8(sp) + 83f4bfdc: 01e000ef jal ra,83f4bffa + 83f4bfe0: 1008 addi a0,sp,32 + 83f4bfe2: 08010fa3 sb zero,159(sp) + 83f4bfe6: 776000ef jal ra,83f4c75c + 83f4bfea: 70ea ld ra,184(sp) + 83f4bfec: 9d21 addw a0,a0,s0 + 83f4bfee: 744a ld s0,176(sp) + 83f4bff0: 74aa ld s1,168(sp) + 83f4bff2: 6111 addi sp,sp,256 + 83f4bff4: 8082 ret + +0000000083f4bff6 : + 83f4bff6: 0f80406f j 83f500ee + +0000000083f4bffa : + 83f4bffa: 00064703 lbu a4,0(a2) + 83f4bffe: 832a mv t1,a0 + 83f4c000: 24070a63 beqz a4,83f4c254 + 83f4c004: 7139 addi sp,sp,-64 + 83f4c006: fc22 sd s0,56(sp) + 83f4c008: f826 sd s1,48(sp) + 83f4c00a: f44a sd s2,40(sp) + 83f4c00c: f04e sd s3,32(sp) + 83f4c00e: ec52 sd s4,24(sp) + 83f4c010: e856 sd s5,16(sp) + 83f4c012: e45a sd s6,8(sp) + 83f4c014: 4501 li a0,0 + 83f4c016: 4801 li a6,0 + 83f4c018: 4981 li s3,0 + 83f4c01a: 4881 li a7,0 + 83f4c01c: 02500393 li t2,37 + 83f4c020: 42d5 li t0,21 + 83f4c022: 00006f17 auipc t5,0x6 + 83f4c026: f92f0f13 addi t5,t5,-110 # 83f51fb4 + 83f4c02a: 4e29 li t3,10 + 83f4c02c: 03000413 li s0,48 + 83f4c030: 02d00913 li s2,45 + 83f4c034: 4fa5 li t6,9 + 83f4c036: 5ef1 li t4,-4 + 83f4c038: 07800493 li s1,120 + 83f4c03c: 16088363 beqz a7,83f4c1a2 + 83f4c040: f9d7079b addiw a5,a4,-99 + 83f4c044: 0ff7f793 andi a5,a5,255 + 83f4c048: 00f2e763 bltu t0,a5,83f4c056 + 83f4c04c: 078a slli a5,a5,0x2 + 83f4c04e: 97fa add a5,a5,t5 + 83f4c050: 439c lw a5,0(a5) + 83f4c052: 97fa add a5,a5,t5 + 83f4c054: 8782 jr a5 + 83f4c056: fd07051b addiw a0,a4,-48 + 83f4c05a: 00164703 lbu a4,1(a2) + 83f4c05e: 0605 addi a2,a2,1 + 83f4c060: ff71 bnez a4,83f4c03c + 83f4c062: 0008051b sext.w a0,a6 + 83f4c066: 14b86d63 bltu a6,a1,83f4c1c0 + 83f4c06a: c589 beqz a1,83f4c074 + 83f4c06c: 00b30833 add a6,t1,a1 + 83f4c070: fe080fa3 sb zero,-1(a6) + 83f4c074: 7462 ld s0,56(sp) + 83f4c076: 74c2 ld s1,48(sp) + 83f4c078: 7922 ld s2,40(sp) + 83f4c07a: 7982 ld s3,32(sp) + 83f4c07c: 6a62 ld s4,24(sp) + 83f4c07e: 6ac2 ld s5,16(sp) + 83f4c080: 6b22 ld s6,8(sp) + 83f4c082: 6121 addi sp,sp,64 + 83f4c084: 8082 ret + 83f4c086: 00868793 addi a5,a3,8 + 83f4c08a: 14099d63 bnez s3,83f4c1e4 + 83f4c08e: 0006aa83 lw s5,0(a3) + 83f4c092: 4b1d li s6,7 + 83f4c094: 86be mv a3,a5 + 83f4c096: 002b1713 slli a4,s6,0x2 + 83f4c09a: 87c2 mv a5,a6 + 83f4c09c: 0785 addi a5,a5,1 + 83f4c09e: 02b7f063 bgeu a5,a1,83f4c0be + 83f4c0a2: 40ead8b3 sra a7,s5,a4 + 83f4c0a6: 00f8fa13 andi s4,a7,15 + 83f4c0aa: 057a0993 addi s3,s4,87 + 83f4c0ae: 014fc463 blt t6,s4,83f4c0b6 + 83f4c0b2: 030a0993 addi s3,s4,48 + 83f4c0b6: 00f308b3 add a7,t1,a5 + 83f4c0ba: ff388fa3 sb s3,-1(a7) + 83f4c0be: 3771 addiw a4,a4,-4 + 83f4c0c0: fdd71ee3 bne a4,t4,83f4c09c + 83f4c0c4: 0805 addi a6,a6,1 + 83f4c0c6: 985a add a6,a6,s6 + 83f4c0c8: 4981 li s3,0 + 83f4c0ca: 4881 li a7,0 + 83f4c0cc: b779 j 83f4c05a + 83f4c0ce: 0006b883 ld a7,0(a3) + 83f4c0d2: 06a1 addi a3,a3,8 + 83f4c0d4: 0008c703 lbu a4,0(a7) + 83f4c0d8: c305 beqz a4,83f4c0f8 + 83f4c0da: 87c2 mv a5,a6 + 83f4c0dc: 0785 addi a5,a5,1 + 83f4c0de: 00b7f663 bgeu a5,a1,83f4c0ea + 83f4c0e2: 00f309b3 add s3,t1,a5 + 83f4c0e6: fee98fa3 sb a4,-1(s3) # ffffffffffffefff <_end+0xffffffff7bfff2bf> + 83f4c0ea: 41078733 sub a4,a5,a6 + 83f4c0ee: 9746 add a4,a4,a7 + 83f4c0f0: 00074703 lbu a4,0(a4) + 83f4c0f4: f765 bnez a4,83f4c0dc + 83f4c0f6: 883e mv a6,a5 + 83f4c0f8: 4981 li s3,0 + 83f4c0fa: 4881 li a7,0 + 83f4c0fc: bfb9 j 83f4c05a + 83f4c0fe: 00180793 addi a5,a6,1 + 83f4c102: 00b7f663 bgeu a5,a1,83f4c10e + 83f4c106: 01030733 add a4,t1,a6 + 83f4c10a: 00870023 sb s0,0(a4) + 83f4c10e: 0809 addi a6,a6,2 + 83f4c110: 00868713 addi a4,a3,8 + 83f4c114: 00b87563 bgeu a6,a1,83f4c11e + 83f4c118: 979a add a5,a5,t1 + 83f4c11a: 00978023 sb s1,0(a5) + 83f4c11e: 0006ba83 ld s5,0(a3) + 83f4c122: 4b3d li s6,15 + 83f4c124: 86ba mv a3,a4 + 83f4c126: bf85 j 83f4c096 + 83f4c128: 00868893 addi a7,a3,8 + 83f4c12c: 08098e63 beqz s3,83f4c1c8 + 83f4c130: 6294 ld a3,0(a3) + 83f4c132: 0806ce63 bltz a3,83f4c1ce + 83f4c136: 03c6c7b3 div a5,a3,t3 + 83f4c13a: 4705 li a4,1 + 83f4c13c: cbdd beqz a5,83f4c1f2 + 83f4c13e: 03c7c7b3 div a5,a5,t3 + 83f4c142: 0705 addi a4,a4,1 + 83f4c144: ffed bnez a5,83f4c13e + 83f4c146: e55d bnez a0,83f4c1f4 + 83f4c148: fff7051b addiw a0,a4,-1 + 83f4c14c: 02054863 bltz a0,83f4c17c + 83f4c150: 00180a13 addi s4,a6,1 + 83f4c154: 00aa07b3 add a5,s4,a0 + 83f4c158: 00b7fb63 bgeu a5,a1,83f4c16e + 83f4c15c: 03c6e7b3 rem a5,a3,t3 + 83f4c160: 00a809b3 add s3,a6,a0 + 83f4c164: 999a add s3,s3,t1 + 83f4c166: 0307879b addiw a5,a5,48 + 83f4c16a: 00f98023 sb a5,0(s3) + 83f4c16e: 157d addi a0,a0,-1 + 83f4c170: 0005079b sext.w a5,a0 + 83f4c174: 03c6c6b3 div a3,a3,t3 + 83f4c178: fc07dee3 bgez a5,83f4c154 + 83f4c17c: 86c6 mv a3,a7 + 83f4c17e: 983a add a6,a6,a4 + 83f4c180: 4501 li a0,0 + 83f4c182: 4981 li s3,0 + 83f4c184: 4881 li a7,0 + 83f4c186: bdd1 j 83f4c05a + 83f4c188: 00180793 addi a5,a6,1 + 83f4c18c: f6b7f5e3 bgeu a5,a1,83f4c0f6 + 83f4c190: 4298 lw a4,0(a3) + 83f4c192: 981a add a6,a6,t1 + 83f4c194: 06a1 addi a3,a3,8 + 83f4c196: 00e80023 sb a4,0(a6) + 83f4c19a: 4981 li s3,0 + 83f4c19c: 883e mv a6,a5 + 83f4c19e: 4881 li a7,0 + 83f4c1a0: bd6d j 83f4c05a + 83f4c1a2: 00770b63 beq a4,t2,83f4c1b8 + 83f4c1a6: 00180793 addi a5,a6,1 + 83f4c1aa: 00b7f963 bgeu a5,a1,83f4c1bc + 83f4c1ae: 981a add a6,a6,t1 + 83f4c1b0: 00e80023 sb a4,0(a6) + 83f4c1b4: 883e mv a6,a5 + 83f4c1b6: b555 j 83f4c05a + 83f4c1b8: 4885 li a7,1 + 83f4c1ba: b545 j 83f4c05a + 83f4c1bc: 883e mv a6,a5 + 83f4c1be: bd71 j 83f4c05a + 83f4c1c0: 981a add a6,a6,t1 + 83f4c1c2: 00080023 sb zero,0(a6) + 83f4c1c6: b57d j 83f4c074 + 83f4c1c8: 4294 lw a3,0(a3) + 83f4c1ca: f606d6e3 bgez a3,83f4c136 + 83f4c1ce: 00180793 addi a5,a6,1 + 83f4c1d2: 40d006b3 neg a3,a3 + 83f4c1d6: 06b7fd63 bgeu a5,a1,83f4c250 + 83f4c1da: 981a add a6,a6,t1 + 83f4c1dc: 01280023 sb s2,0(a6) + 83f4c1e0: 883e mv a6,a5 + 83f4c1e2: bf91 j 83f4c136 + 83f4c1e4: 0006ba83 ld s5,0(a3) + 83f4c1e8: 4b3d li s6,15 + 83f4c1ea: 86be mv a3,a5 + 83f4c1ec: b56d j 83f4c096 + 83f4c1ee: 89c6 mv s3,a7 + 83f4c1f0: b5ad j 83f4c05a + 83f4c1f2: dd39 beqz a0,83f4c150 + 83f4c1f4: fff5079b addiw a5,a0,-1 + 83f4c1f8: 0407c663 bltz a5,83f4c244 + 83f4c1fc: 00f809b3 add s3,a6,a5 + 83f4c200: 999a add s3,s3,t1 + 83f4c202: 00180a13 addi s4,a6,1 + 83f4c206: 40e50733 sub a4,a0,a4 + 83f4c20a: a839 j 83f4c228 + 83f4c20c: 03c6eab3 rem s5,a3,t3 + 83f4c210: 03c6c6b3 div a3,a3,t3 + 83f4c214: 030a8a9b addiw s5,s5,48 + 83f4c218: 01598023 sb s5,0(s3) + 83f4c21c: 17fd addi a5,a5,-1 + 83f4c21e: 00078a9b sext.w s5,a5 + 83f4c222: 19fd addi s3,s3,-1 + 83f4c224: 020ac063 bltz s5,83f4c244 + 83f4c228: 00fa0ab3 add s5,s4,a5 + 83f4c22c: febaf8e3 bgeu s5,a1,83f4c21c + 83f4c230: fce7dee3 bge a5,a4,83f4c20c + 83f4c234: 17fd addi a5,a5,-1 + 83f4c236: 00898023 sb s0,0(s3) + 83f4c23a: 00078a9b sext.w s5,a5 + 83f4c23e: 19fd addi s3,s3,-1 + 83f4c240: fe0ad4e3 bgez s5,83f4c228 + 83f4c244: 982a add a6,a6,a0 + 83f4c246: 86c6 mv a3,a7 + 83f4c248: 4501 li a0,0 + 83f4c24a: 4981 li s3,0 + 83f4c24c: 4881 li a7,0 + 83f4c24e: b531 j 83f4c05a + 83f4c250: 883e mv a6,a5 + 83f4c252: b5d5 j 83f4c136 + 83f4c254: 4801 li a6,0 + 83f4c256: 4501 li a0,0 + 83f4c258: 00b87663 bgeu a6,a1,83f4c264 + 83f4c25c: 981a add a6,a6,t1 + 83f4c25e: 00080023 sb zero,0(a6) + 83f4c262: 8082 ret + 83f4c264: c589 beqz a1,83f4c26e + 83f4c266: 00b30833 add a6,t1,a1 + 83f4c26a: fe080fa3 sb zero,-1(a6) + 83f4c26e: 8082 ret + +0000000083f4c270 : + 83f4c270: 715d addi sp,sp,-80 + 83f4c272: 02810313 addi t1,sp,40 + 83f4c276: f436 sd a3,40(sp) + 83f4c278: 869a mv a3,t1 + 83f4c27a: ec06 sd ra,24(sp) + 83f4c27c: f83a sd a4,48(sp) + 83f4c27e: fc3e sd a5,56(sp) + 83f4c280: e0c2 sd a6,64(sp) + 83f4c282: e4c6 sd a7,72(sp) + 83f4c284: e41a sd t1,8(sp) + 83f4c286: d75ff0ef jal ra,83f4bffa + 83f4c28a: 60e2 ld ra,24(sp) + 83f4c28c: 6161 addi sp,sp,80 + 83f4c28e: 8082 ret + +0000000083f4c290 : + 83f4c290: 86aa mv a3,a0 + 83f4c292: c0102773 rdtime a4 + 83f4c296: 017d87b7 lui a5,0x17d8 + 83f4c29a: 84078793 addi a5,a5,-1984 # 17d7840 + 83f4c29e: 02f757b3 divu a5,a4,a5 + 83f4c2a2: 4665 li a2,25 + 83f4c2a4: 00b035b3 snez a1,a1 + 83f4c2a8: 40b00533 neg a0,a1 + 83f4c2ac: 02c75733 divu a4,a4,a2 + 83f4c2b0: 000f4637 lui a2,0xf4 + 83f4c2b4: 24060613 addi a2,a2,576 # f4240 + 83f4c2b8: e29c sd a5,0(a3) + 83f4c2ba: 02c787b3 mul a5,a5,a2 + 83f4c2be: 40f707b3 sub a5,a4,a5 + 83f4c2c2: e69c sd a5,8(a3) + 83f4c2c4: 8082 ret + +0000000083f4c2c6 : + 83f4c2c6: 702007b7 lui a5,0x70200 + 83f4c2ca: 43c8 lw a0,4(a5) + 83f4c2cc: 2501 sext.w a0,a0 + 83f4c2ce: 0820000f fence i,r + 83f4c2d2: 8082 ret + +0000000083f4c2d4 : + 83f4c2d4: 0140000f fence w,o + 83f4c2d8: 702007b7 lui a5,0x70200 + 83f4c2dc: c3c8 sw a0,4(a5) + 83f4c2de: 8082 ret + +0000000083f4c2e0 : + 83f4c2e0: 0140000f fence w,o + 83f4c2e4: 1c0007b7 lui a5,0x1c000 + 83f4c2e8: 9d3d addw a0,a0,a5 + 83f4c2ea: 0025151b slliw a0,a0,0x2 + 83f4c2ee: c10c sw a1,0(a0) + 83f4c2f0: 8082 ret + +0000000083f4c2f2 : + 83f4c2f2: 0140000f fence w,o + 83f4c2f6: 702007b7 lui a5,0x70200 + 83f4c2fa: c388 sw a0,0(a5) + 83f4c2fc: 8082 ret + +0000000083f4c2fe : + 83f4c2fe: 47bd li a5,15 + 83f4c300: 0005059b sext.w a1,a0 + 83f4c304: 02a7da63 bge a5,a0,83f4c338 + 83f4c308: 1c001637 lui a2,0x1c001 + 83f4c30c: 0055d79b srliw a5,a1,0x5 + 83f4c310: 8006061b addiw a2,a2,-2048 + 83f4c314: 9fb1 addw a5,a5,a2 + 83f4c316: 0027979b slliw a5,a5,0x2 + 83f4c31a: 1782 slli a5,a5,0x20 + 83f4c31c: 9381 srli a5,a5,0x20 + 83f4c31e: 4398 lw a4,0(a5) + 83f4c320: 2701 sext.w a4,a4 + 83f4c322: 0820000f fence i,r + 83f4c326: 4685 li a3,1 + 83f4c328: 00b696bb sllw a3,a3,a1 + 83f4c32c: 8f55 or a4,a4,a3 + 83f4c32e: 2701 sext.w a4,a4 + 83f4c330: 0140000f fence w,o + 83f4c334: c398 sw a4,0(a5) + 83f4c336: 8082 ret + 83f4c338: 85aa mv a1,a0 + 83f4c33a: 00006517 auipc a0,0x6 + 83f4c33e: cd650513 addi a0,a0,-810 # 83f52010 + 83f4c342: c53ff06f j 83f4bf94 + +0000000083f4c346 : + 83f4c346: 1101 addi sp,sp,-32 + 83f4c348: e822 sd s0,16(sp) + 83f4c34a: e426 sd s1,8(sp) + 83f4c34c: 01900437 lui s0,0x1900 + 83f4c350: 00011497 auipc s1,0x11 + 83f4c354: 13048493 addi s1,s1,304 # 83f5d480 + 83f4c358: 04000613 li a2,64 + 83f4c35c: 40040593 addi a1,s0,1024 # 1900400 + 83f4c360: 8526 mv a0,s1 + 83f4c362: ec06 sd ra,24(sp) + 83f4c364: d9df30ef jal ra,83f40100 + 83f4c368: 04000613 li a2,64 + 83f4c36c: 4581 li a1,0 + 83f4c36e: 40040513 addi a0,s0,1024 + 83f4c372: c0bff0ef jal ra,83f4bf7c + 83f4c376: 40d4 lw a3,4(s1) + 83f4c378: cec1 beqz a3,83f4c410 + 83f4c37a: 1682 slli a3,a3,0x20 + 83f4c37c: 9281 srli a3,a3,0x20 + 83f4c37e: 96a6 add a3,a3,s1 + 83f4c380: 87a6 mv a5,s1 + 83f4c382: 4401 li s0,0 + 83f4c384: 0007c703 lbu a4,0(a5) # 70200000 + 83f4c388: 0785 addi a5,a5,1 + 83f4c38a: 9c39 addw s0,s0,a4 + 83f4c38c: 1442 slli s0,s0,0x30 + 83f4c38e: 9041 srli s0,s0,0x30 + 83f4c390: fef69ae3 bne a3,a5,83f4c384 + 83f4c394: 0244d583 lhu a1,36(s1) + 83f4c398: 0004061b sext.w a2,s0 + 83f4c39c: 04858763 beq a1,s0,83f4c3ea + 83f4c3a0: 00006517 auipc a0,0x6 + 83f4c3a4: c8850513 addi a0,a0,-888 # 83f52028 + 83f4c3a8: bedff0ef jal ra,83f4bf94 + 83f4c3ac: 00006517 auipc a0,0x6 + 83f4c3b0: c9450513 addi a0,a0,-876 # 83f52040 + 83f4c3b4: be1ff0ef jal ra,83f4bf94 + 83f4c3b8: 00006797 auipc a5,0x6 + 83f4c3bc: 0b07b783 ld a5,176(a5) # 83f52468 <__func__.1+0x270> + 83f4c3c0: e09c sd a5,0(s1) + 83f4c3c2: 00006797 auipc a5,0x6 + 83f4c3c6: 0ae7b783 ld a5,174(a5) # 83f52470 <__func__.1+0x278> + 83f4c3ca: e49c sd a5,8(s1) + 83f4c3cc: 00006797 auipc a5,0x6 + 83f4c3d0: 0ac7b783 ld a5,172(a5) # 83f52478 <__func__.1+0x280> + 83f4c3d4: e89c sd a5,16(s1) + 83f4c3d6: 008297b7 lui a5,0x829 + 83f4c3da: 07a2 slli a5,a5,0x8 + 83f4c3dc: ec9c sd a5,24(s1) + 83f4c3de: 6785 lui a5,0x1 + 83f4c3e0: c0078793 addi a5,a5,-1024 # c00 <_EL1_STACK_SIZE+0x400> + 83f4c3e4: d09c sw a5,32(s1) + 83f4c3e6: 02849223 sh s0,36(s1) + 83f4c3ea: 1fe000ef jal ra,83f4c5e8 + 83f4c3ee: 6785 lui a5,0x1 + 83f4c3f0: 6442 ld s0,16(sp) + 83f4c3f2: 80478793 addi a5,a5,-2044 # 804 <_EL1_STACK_SIZE+0x4> + 83f4c3f6: 60e2 ld ra,24(sp) + 83f4c3f8: 02f49323 sh a5,38(s1) + 83f4c3fc: 64a2 ld s1,8(sp) + 83f4c3fe: 04000593 li a1,64 + 83f4c402: 00011517 auipc a0,0x11 + 83f4c406: 07e50513 addi a0,a0,126 # 83f5d480 + 83f4c40a: 6105 addi sp,sp,32 + 83f4c40c: b4dff06f j 83f4bf58 + 83f4c410: 4401 li s0,0 + 83f4c412: b749 j 83f4c394 + +0000000083f4c414 : + 83f4c414: 1141 addi sp,sp,-16 + 83f4c416: 00006517 auipc a0,0x6 + 83f4c41a: c4a50513 addi a0,a0,-950 # 83f52060 + 83f4c41e: e406 sd ra,8(sp) + 83f4c420: b75ff0ef jal ra,83f4bf94 + 83f4c424: 60a2 ld ra,8(sp) + 83f4c426: 0141 addi sp,sp,16 + 83f4c428: f1fff06f j 83f4c346 + +0000000083f4c42c : + 83f4c42c: 1141 addi sp,sp,-16 + 83f4c42e: e406 sd ra,8(sp) + 83f4c430: 30405073 csrwi mie,0 + 83f4c434: 34405073 csrwi mip,0 + 83f4c438: 700007b7 lui a5,0x70000 + 83f4c43c: 02078713 addi a4,a5,32 # 70000020 + 83f4c440: 0140000f fence w,o + 83f4c444: 0007a023 sw zero,0(a5) + 83f4c448: 0791 addi a5,a5,4 + 83f4c44a: fee79be3 bne a5,a4,83f4c440 + 83f4c44e: 700017b7 lui a5,0x70001 + 83f4c452: 6605 lui a2,0x1 + 83f4c454: 01478693 addi a3,a5,20 # 70001014 + 83f4c458: 0140000f fence w,o + 83f4c45c: 0007a023 sw zero,0(a5) + 83f4c460: 0140000f fence w,o + 83f4c464: 00c78733 add a4,a5,a2 + 83f4c468: 00072023 sw zero,0(a4) + 83f4c46c: 0791 addi a5,a5,4 + 83f4c46e: fed795e3 bne a5,a3,83f4c458 + 83f4c472: 40060613 addi a2,a2,1024 # 1400 <_EL1_STACK_SIZE+0xc00> + 83f4c476: 4581 li a1,0 + 83f4c478: 00010517 auipc a0,0x10 + 83f4c47c: c0850513 addi a0,a0,-1016 # 83f5c080 + 83f4c480: afdff0ef jal ra,83f4bf7c + 83f4c484: 4501 li a0,0 + 83f4c486: e6dff0ef jal ra,83f4c2f2 + 83f4c48a: 300467f3 csrrsi a5,mstatus,8 + 83f4c48e: 60a2 ld ra,8(sp) + 83f4c490: 0141 addi sp,sp,16 + 83f4c492: 8082 ret + +0000000083f4c494 : + 83f4c494: 1141 addi sp,sp,-16 + 83f4c496: e406 sd ra,8(sp) + 83f4c498: 0f0000ef jal ra,83f4c588 + 83f4c49c: 0ee000ef jal ra,83f4c58a + 83f4c4a0: f8dff0ef jal ra,83f4c42c + 83f4c4a4: 60a2 ld ra,8(sp) + 83f4c4a6: 00006517 auipc a0,0x6 + 83f4c4aa: bd250513 addi a0,a0,-1070 # 83f52078 + 83f4c4ae: 0141 addi sp,sp,16 + 83f4c4b0: ae5ff06f j 83f4bf94 + +0000000083f4c4b4 : + 83f4c4b4: 7139 addi sp,sp,-64 + 83f4c4b6: f04a sd s2,32(sp) + 83f4c4b8: 00251913 slli s2,a0,0x2 + 83f4c4bc: f822 sd s0,48(sp) + 83f4c4be: 842a mv s0,a0 + 83f4c4c0: 954a add a0,a0,s2 + 83f4c4c2: f426 sd s1,40(sp) + 83f4c4c4: 050e slli a0,a0,0x3 + 83f4c4c6: 00010497 auipc s1,0x10 + 83f4c4ca: bba48493 addi s1,s1,-1094 # 83f5c080 + 83f4c4ce: ec4e sd s3,24(sp) + 83f4c4d0: e852 sd s4,16(sp) + 83f4c4d2: e456 sd s5,8(sp) + 83f4c4d4: fc06 sd ra,56(sp) + 83f4c4d6: 00a48ab3 add s5,s1,a0 + 83f4c4da: 00bab023 sd a1,0(s5) + 83f4c4de: 8a32 mv s4,a2 + 83f4c4e0: 89ba mv s3,a4 + 83f4c4e2: ca89 beqz a3,83f4c4f4 + 83f4c4e4: 0561 addi a0,a0,24 + 83f4c4e6: 4641 li a2,16 + 83f4c4e8: 85b6 mv a1,a3 + 83f4c4ea: 9526 add a0,a0,s1 + 83f4c4ec: c15f30ef jal ra,83f40100 + 83f4c4f0: 020a83a3 sb zero,39(s5) + 83f4c4f4: 008907b3 add a5,s2,s0 + 83f4c4f8: 078e slli a5,a5,0x3 + 83f4c4fa: 97a6 add a5,a5,s1 + 83f4c4fc: 8522 mv a0,s0 + 83f4c4fe: c7c0 sw s0,12(a5) + 83f4c500: 0147a423 sw s4,8(a5) + 83f4c504: 0137b823 sd s3,16(a5) + 83f4c508: 459d li a1,7 + 83f4c50a: dd7ff0ef jal ra,83f4c2e0 + 83f4c50e: 8522 mv a0,s0 + 83f4c510: defff0ef jal ra,83f4c2fe + 83f4c514: 70e2 ld ra,56(sp) + 83f4c516: 7442 ld s0,48(sp) + 83f4c518: 74a2 ld s1,40(sp) + 83f4c51a: 7902 ld s2,32(sp) + 83f4c51c: 69e2 ld s3,24(sp) + 83f4c51e: 6a42 ld s4,16(sp) + 83f4c520: 6aa2 ld s5,8(sp) + 83f4c522: 4501 li a0,0 + 83f4c524: 6121 addi sp,sp,64 + 83f4c526: 8082 ret + +0000000083f4c528 : + 83f4c528: 1101 addi sp,sp,-32 + 83f4c52a: e426 sd s1,8(sp) + 83f4c52c: e04a sd s2,0(sp) + 83f4c52e: ec06 sd ra,24(sp) + 83f4c530: e822 sd s0,16(sp) + 83f4c532: 00010497 auipc s1,0x10 + 83f4c536: b4e48493 addi s1,s1,-1202 # 83f5c080 + 83f4c53a: 00006917 auipc s2,0x6 + 83f4c53e: b5690913 addi s2,s2,-1194 # 83f52090 + 83f4c542: d85ff0ef jal ra,83f4c2c6 + 83f4c546: 00251793 slli a5,a0,0x2 + 83f4c54a: 97aa add a5,a5,a0 + 83f4c54c: 078e slli a5,a5,0x3 + 83f4c54e: 97a6 add a5,a5,s1 + 83f4c550: 6398 ld a4,0(a5) + 83f4c552: 842a mv s0,a0 + 83f4c554: cf09 beqz a4,83f4c56e + 83f4c556: e50d bnez a0,83f4c580 + 83f4c558: 6785 lui a5,0x1 + 83f4c55a: 8007879b addiw a5,a5,-2048 + 83f4c55e: 3447b7f3 csrrc a5,mip,a5 + 83f4c562: 60e2 ld ra,24(sp) + 83f4c564: 6442 ld s0,16(sp) + 83f4c566: 64a2 ld s1,8(sp) + 83f4c568: 6902 ld s2,0(sp) + 83f4c56a: 6105 addi sp,sp,32 + 83f4c56c: 8082 ret + 83f4c56e: 85aa mv a1,a0 + 83f4c570: 854a mv a0,s2 + 83f4c572: d07d beqz s0,83f4c558 + 83f4c574: a21ff0ef jal ra,83f4bf94 + 83f4c578: 8522 mv a0,s0 + 83f4c57a: d5bff0ef jal ra,83f4c2d4 + 83f4c57e: b7d1 j 83f4c542 + 83f4c580: 6b8c ld a1,16(a5) + 83f4c582: 47c8 lw a0,12(a5) + 83f4c584: 9702 jalr a4 + 83f4c586: bfcd j 83f4c578 + +0000000083f4c588 : + 83f4c588: 8082 ret + +0000000083f4c58a : + 83f4c58a: 017d8637 lui a2,0x17d8 + 83f4c58e: 65f1 lui a1,0x1c + 83f4c590: 84060613 addi a2,a2,-1984 # 17d7840 + 83f4c594: 20058593 addi a1,a1,512 # 1c200 <_EL1_STACK_SIZE+0x1ba00> + 83f4c598: 4501 li a0,0 + 83f4c59a: 6f70106f j 83f4e490 + +0000000083f4c59e : + 83f4c59e: c521 beqz a0,83f4c5e6 + 83f4c5a0: 1101 addi sp,sp,-32 + 83f4c5a2: e426 sd s1,8(sp) + 83f4c5a4: ec06 sd ra,24(sp) + 83f4c5a6: e822 sd s0,16(sp) + 83f4c5a8: e04a sd s2,0(sp) + 83f4c5aa: 00054403 lbu s0,0(a0) + 83f4c5ae: 84aa mv s1,a0 + 83f4c5b0: c40d beqz s0,83f4c5da + 83f4c5b2: 4929 li s2,10 + 83f4c5b4: a039 j 83f4c5c2 + 83f4c5b6: 8522 mv a0,s0 + 83f4c5b8: 767010ef jal ra,83f4e51e + 83f4c5bc: 0004c403 lbu s0,0(s1) + 83f4c5c0: cc09 beqz s0,83f4c5da + 83f4c5c2: 0485 addi s1,s1,1 + 83f4c5c4: ff2419e3 bne s0,s2,83f4c5b6 + 83f4c5c8: 4535 li a0,13 + 83f4c5ca: 755010ef jal ra,83f4e51e + 83f4c5ce: 8522 mv a0,s0 + 83f4c5d0: 74f010ef jal ra,83f4e51e + 83f4c5d4: 0004c403 lbu s0,0(s1) + 83f4c5d8: f46d bnez s0,83f4c5c2 + 83f4c5da: 60e2 ld ra,24(sp) + 83f4c5dc: 6442 ld s0,16(sp) + 83f4c5de: 64a2 ld s1,8(sp) + 83f4c5e0: 6902 ld s2,0(sp) + 83f4c5e2: 6105 addi sp,sp,32 + 83f4c5e4: 8082 ret + 83f4c5e6: 8082 ret + +0000000083f4c5e8 : + 83f4c5e8: 7179 addi sp,sp,-48 + 83f4c5ea: ec26 sd s1,24(sp) + 83f4c5ec: 00013497 auipc s1,0x13 + 83f4c5f0: 63c48493 addi s1,s1,1596 # 83f5fc28 + 83f4c5f4: 4090 lw a2,0(s1) + 83f4c5f6: f022 sd s0,32(sp) + 83f4c5f8: f406 sd ra,40(sp) + 83f4c5fa: e84a sd s2,16(sp) + 83f4c5fc: e44e sd s3,8(sp) + 83f4c5fe: 00011417 auipc s0,0x11 + 83f4c602: e8240413 addi s0,s0,-382 # 83f5d480 + 83f4c606: ea3d bnez a2,83f4c67c + 83f4c608: 02144703 lbu a4,33(s0) + 83f4c60c: 4695 li a3,5 + 83f4c60e: ff47079b addiw a5,a4,-12 + 83f4c612: 0ff7f793 andi a5,a5,255 + 83f4c616: 04f6ee63 bltu a3,a5,83f4c672 + 83f4c61a: 4505 li a0,1 + 83f4c61c: 00e5193b sllw s2,a0,a4 + 83f4c620: 0409051b addiw a0,s2,64 + 83f4c624: 761010ef jal ra,83f4e584 + 83f4c628: cd15 beqz a0,83f4c664 + 83f4c62a: 03f50513 addi a0,a0,63 + 83f4c62e: 57fd li a5,-1 + 83f4c630: fc057513 andi a0,a0,-64 + 83f4c634: 9381 srli a5,a5,0x20 + 83f4c636: 00013997 auipc s3,0x13 + 83f4c63a: 5ea98993 addi s3,s3,1514 # 83f5fc20 + 83f4c63e: 8fe9 and a5,a5,a0 + 83f4c640: 07c9 addi a5,a5,18 + 83f4c642: 00a9b023 sd a0,0(s3) + 83f4c646: 3939 addiw s2,s2,-18 + 83f4c648: e11c sd a5,0(a0) + 83f4c64a: 00052623 sw zero,12(a0) + 83f4c64e: 4785 li a5,1 + 83f4c650: 000508a3 sb zero,17(a0) + 83f4c654: 01252423 sw s2,8(a0) + 83f4c658: c09c sw a5,0(s1) + 83f4c65a: 02044783 lbu a5,32(s0) + 83f4c65e: ef95 bnez a5,83f4c69a + 83f4c660: 0009b503 ld a0,0(s3) + 83f4c664: 70a2 ld ra,40(sp) + 83f4c666: 7402 ld s0,32(sp) + 83f4c668: 64e2 ld s1,24(sp) + 83f4c66a: 6942 ld s2,16(sp) + 83f4c66c: 69a2 ld s3,8(sp) + 83f4c66e: 6145 addi sp,sp,48 + 83f4c670: 8082 ret + 83f4c672: 6505 lui a0,0x1 + 83f4c674: 04050513 addi a0,a0,64 # 1040 <_EL1_STACK_SIZE+0x840> + 83f4c678: 6905 lui s2,0x1 + 83f4c67a: b76d j 83f4c624 + 83f4c67c: 02044583 lbu a1,32(s0) + 83f4c680: 00006517 auipc a0,0x6 + 83f4c684: a2850513 addi a0,a0,-1496 # 83f520a8 + 83f4c688: 00013997 auipc s3,0x13 + 83f4c68c: 59898993 addi s3,s3,1432 # 83f5fc20 + 83f4c690: 905ff0ef jal ra,83f4bf94 + 83f4c694: 02044783 lbu a5,32(s0) + 83f4c698: d7e1 beqz a5,83f4c660 + 83f4c69a: 00006517 auipc a0,0x6 + 83f4c69e: a4650513 addi a0,a0,-1466 # 83f520e0 + 83f4c6a2: 8f3ff0ef jal ra,83f4bf94 + 83f4c6a6: 0009b503 ld a0,0(s3) + 83f4c6aa: 00007797 auipc a5,0x7 + 83f4c6ae: b007ad23 sw zero,-1254(a5) # 83f531c4 + 83f4c6b2: 4785 li a5,1 + 83f4c6b4: 00f50823 sb a5,16(a0) + 83f4c6b8: 70a2 ld ra,40(sp) + 83f4c6ba: 7402 ld s0,32(sp) + 83f4c6bc: 64e2 ld s1,24(sp) + 83f4c6be: 6942 ld s2,16(sp) + 83f4c6c0: 69a2 ld s3,8(sp) + 83f4c6c2: 6145 addi sp,sp,48 + 83f4c6c4: 8082 ret + +0000000083f4c6c6 : + 83f4c6c6: 00013797 auipc a5,0x13 + 83f4c6ca: 55a7b783 ld a5,1370(a5) # 83f5fc20 + 83f4c6ce: 4705 li a4,1 + 83f4c6d0: 00e78823 sb a4,16(a5) + 83f4c6d4: 00007797 auipc a5,0x7 + 83f4c6d8: ae07a823 sw zero,-1296(a5) # 83f531c4 + 83f4c6dc: 8082 ret + +0000000083f4c6de : + 83f4c6de: 00013797 auipc a5,0x13 + 83f4c6e2: 5427b783 ld a5,1346(a5) # 83f5fc20 + 83f4c6e6: 00078823 sb zero,16(a5) + 83f4c6ea: 4785 li a5,1 + 83f4c6ec: 00007717 auipc a4,0x7 + 83f4c6f0: acf72c23 sw a5,-1320(a4) # 83f531c4 + 83f4c6f4: 8082 ret + +0000000083f4c6f6 : + 83f4c6f6: 00011717 auipc a4,0x11 + 83f4c6fa: dab74703 lbu a4,-597(a4) # 83f5d4a1 + 83f4c6fe: 1101 addi sp,sp,-32 + 83f4c700: ff47079b addiw a5,a4,-12 + 83f4c704: e426 sd s1,8(sp) + 83f4c706: ec06 sd ra,24(sp) + 83f4c708: e822 sd s0,16(sp) + 83f4c70a: e04a sd s2,0(sp) + 83f4c70c: 0ff7f793 andi a5,a5,255 + 83f4c710: 4695 li a3,5 + 83f4c712: 6485 lui s1,0x1 + 83f4c714: 00f6e563 bltu a3,a5,83f4c71e + 83f4c718: 4485 li s1,1 + 83f4c71a: 00e494bb sllw s1,s1,a4 + 83f4c71e: 00013517 auipc a0,0x13 + 83f4c722: 51250513 addi a0,a0,1298 # 83f5fc30 + 83f4c726: 4fc000ef jal ra,83f4cc22 <_hw_raw_spin_lock_irqsave> + 83f4c72a: 00013917 auipc s2,0x13 + 83f4c72e: 4f690913 addi s2,s2,1270 # 83f5fc20 + 83f4c732: 842a mv s0,a0 + 83f4c734: 00093503 ld a0,0(s2) + 83f4c738: 85a6 mv a1,s1 + 83f4c73a: 81fff0ef jal ra,83f4bf58 + 83f4c73e: 85a2 mv a1,s0 + 83f4c740: 00013517 auipc a0,0x13 + 83f4c744: 4f050513 addi a0,a0,1264 # 83f5fc30 + 83f4c748: 540000ef jal ra,83f4cc88 <_hw_raw_spin_unlock_irqrestore> + 83f4c74c: 60e2 ld ra,24(sp) + 83f4c74e: 6442 ld s0,16(sp) + 83f4c750: 00093503 ld a0,0(s2) + 83f4c754: 64a2 ld s1,8(sp) + 83f4c756: 6902 ld s2,0(sp) + 83f4c758: 6105 addi sp,sp,32 + 83f4c75a: 8082 ret + +0000000083f4c75c : + 83f4c75c: 7179 addi sp,sp,-48 + 83f4c75e: e84a sd s2,16(sp) + 83f4c760: 892a mv s2,a0 + 83f4c762: 00013517 auipc a0,0x13 + 83f4c766: 4ce50513 addi a0,a0,1230 # 83f5fc30 + 83f4c76a: f022 sd s0,32(sp) + 83f4c76c: f406 sd ra,40(sp) + 83f4c76e: ec26 sd s1,24(sp) + 83f4c770: e44e sd s3,8(sp) + 83f4c772: e052 sd s4,0(sp) + 83f4c774: 4ae000ef jal ra,83f4cc22 <_hw_raw_spin_lock_irqsave> + 83f4c778: 00007797 auipc a5,0x7 + 83f4c77c: a4c7a783 lw a5,-1460(a5) # 83f531c4 + 83f4c780: 842a mv s0,a0 + 83f4c782: 30079463 bnez a5,83f4ca8a + 83f4c786: 00013897 auipc a7,0x13 + 83f4c78a: 49a88893 addi a7,a7,1178 # 83f5fc20 + 83f4c78e: 0008b783 ld a5,0(a7) + 83f4c792: 0017ce83 lbu t4,1(a5) + 83f4c796: 0007c683 lbu a3,0(a5) + 83f4c79a: 0027ce03 lbu t3,2(a5) + 83f4c79e: 00d7c503 lbu a0,13(a5) + 83f4c7a2: 0037c303 lbu t1,3(a5) + 83f4c7a6: 00c7cf03 lbu t5,12(a5) + 83f4c7aa: 00e7c583 lbu a1,14(a5) + 83f4c7ae: 0047c603 lbu a2,4(a5) + 83f4c7b2: 0ea2 slli t4,t4,0x8 + 83f4c7b4: 00f7c703 lbu a4,15(a5) + 83f4c7b8: 0057c803 lbu a6,5(a5) + 83f4c7bc: 00deeeb3 or t4,t4,a3 + 83f4c7c0: 0e42 slli t3,t3,0x10 + 83f4c7c2: 0067c683 lbu a3,6(a5) + 83f4c7c6: 01de6e33 or t3,t3,t4 + 83f4c7ca: 0362 slli t1,t1,0x18 + 83f4c7cc: 0522 slli a0,a0,0x8 + 83f4c7ce: 0077ce83 lbu t4,7(a5) + 83f4c7d2: 01e56533 or a0,a0,t5 + 83f4c7d6: 01c36333 or t1,t1,t3 + 83f4c7da: 1602 slli a2,a2,0x20 + 83f4c7dc: 05c2 slli a1,a1,0x10 + 83f4c7de: 8dc9 or a1,a1,a0 + 83f4c7e0: 00666633 or a2,a2,t1 + 83f4c7e4: 1822 slli a6,a6,0x28 + 83f4c7e6: 0762 slli a4,a4,0x18 + 83f4c7e8: 8f4d or a4,a4,a1 + 83f4c7ea: 00c86833 or a6,a6,a2 + 83f4c7ee: 16c2 slli a3,a3,0x30 + 83f4c7f0: 0017061b addiw a2,a4,1 + 83f4c7f4: 0106e6b3 or a3,a3,a6 + 83f4c7f8: 038e9813 slli a6,t4,0x38 + 83f4c7fc: 00d86833 or a6,a6,a3 + 83f4c800: 0086551b srliw a0,a2,0x8 + 83f4c804: 0106559b srliw a1,a2,0x10 + 83f4c808: 0186569b srliw a3,a2,0x18 + 83f4c80c: 00a786a3 sb a0,13(a5) + 83f4c810: 00c78623 sb a2,12(a5) + 83f4c814: 00b78723 sb a1,14(a5) + 83f4c818: 00d787a3 sb a3,15(a5) + 83f4c81c: 9742 add a4,a4,a6 + 83f4c81e: 05200793 li a5,82 + 83f4c822: 00f70023 sb a5,0(a4) + 83f4c826: 0008b703 ld a4,0(a7) + 83f4c82a: 00d74603 lbu a2,13(a4) + 83f4c82e: 00c74583 lbu a1,12(a4) + 83f4c832: 00e74683 lbu a3,14(a4) + 83f4c836: 00f74783 lbu a5,15(a4) + 83f4c83a: 0622 slli a2,a2,0x8 + 83f4c83c: 8e4d or a2,a2,a1 + 83f4c83e: 06c2 slli a3,a3,0x10 + 83f4c840: 8ed1 or a3,a3,a2 + 83f4c842: 07e2 slli a5,a5,0x18 + 83f4c844: 8fd5 or a5,a5,a3 + 83f4c846: 0017869b addiw a3,a5,1 + 83f4c84a: 0086d51b srliw a0,a3,0x8 + 83f4c84e: 0106d59b srliw a1,a3,0x10 + 83f4c852: 0186d61b srliw a2,a3,0x18 + 83f4c856: 00d70623 sb a3,12(a4) + 83f4c85a: 00a706a3 sb a0,13(a4) + 83f4c85e: 00b70723 sb a1,14(a4) + 83f4c862: 00c707a3 sb a2,15(a4) + 83f4c866: 97c2 add a5,a5,a6 + 83f4c868: 05400713 li a4,84 + 83f4c86c: 00e78023 sb a4,0(a5) + 83f4c870: 0008b703 ld a4,0(a7) + 83f4c874: 00d74603 lbu a2,13(a4) + 83f4c878: 00c74583 lbu a1,12(a4) + 83f4c87c: 00e74683 lbu a3,14(a4) + 83f4c880: 00f74783 lbu a5,15(a4) + 83f4c884: 0622 slli a2,a2,0x8 + 83f4c886: 8e4d or a2,a2,a1 + 83f4c888: 06c2 slli a3,a3,0x10 + 83f4c88a: 8ed1 or a3,a3,a2 + 83f4c88c: 07e2 slli a5,a5,0x18 + 83f4c88e: 8fd5 or a5,a5,a3 + 83f4c890: 0017869b addiw a3,a5,1 + 83f4c894: 0086d51b srliw a0,a3,0x8 + 83f4c898: 0106d59b srliw a1,a3,0x10 + 83f4c89c: 0186d61b srliw a2,a3,0x18 + 83f4c8a0: 00d70623 sb a3,12(a4) + 83f4c8a4: 00a706a3 sb a0,13(a4) + 83f4c8a8: 00b70723 sb a1,14(a4) + 83f4c8ac: 00c707a3 sb a2,15(a4) + 83f4c8b0: 97c2 add a5,a5,a6 + 83f4c8b2: 04400713 li a4,68 + 83f4c8b6: 00e78023 sb a4,0(a5) + 83f4c8ba: 0008b703 ld a4,0(a7) + 83f4c8be: 00d74603 lbu a2,13(a4) + 83f4c8c2: 00c74583 lbu a1,12(a4) + 83f4c8c6: 00e74683 lbu a3,14(a4) + 83f4c8ca: 00f74783 lbu a5,15(a4) + 83f4c8ce: 0622 slli a2,a2,0x8 + 83f4c8d0: 8e4d or a2,a2,a1 + 83f4c8d2: 06c2 slli a3,a3,0x10 + 83f4c8d4: 8ed1 or a3,a3,a2 + 83f4c8d6: 07e2 slli a5,a5,0x18 + 83f4c8d8: 8fd5 or a5,a5,a3 + 83f4c8da: 0017869b addiw a3,a5,1 + 83f4c8de: 0086d51b srliw a0,a3,0x8 + 83f4c8e2: 0106d59b srliw a1,a3,0x10 + 83f4c8e6: 0186d61b srliw a2,a3,0x18 + 83f4c8ea: 00d70623 sb a3,12(a4) + 83f4c8ee: 00a706a3 sb a0,13(a4) + 83f4c8f2: 00b70723 sb a1,14(a4) + 83f4c8f6: 00c707a3 sb a2,15(a4) + 83f4c8fa: 97c2 add a5,a5,a6 + 83f4c8fc: 03a00713 li a4,58 + 83f4c900: 00e78023 sb a4,0(a5) + 83f4c904: 0008b703 ld a4,0(a7) + 83f4c908: 00d74603 lbu a2,13(a4) + 83f4c90c: 00c74583 lbu a1,12(a4) + 83f4c910: 00e74683 lbu a3,14(a4) + 83f4c914: 00f74783 lbu a5,15(a4) + 83f4c918: 0622 slli a2,a2,0x8 + 83f4c91a: 8e4d or a2,a2,a1 + 83f4c91c: 06c2 slli a3,a3,0x10 + 83f4c91e: 8ed1 or a3,a3,a2 + 83f4c920: 07e2 slli a5,a5,0x18 + 83f4c922: 8fd5 or a5,a5,a3 + 83f4c924: 0017869b addiw a3,a5,1 + 83f4c928: 0106d59b srliw a1,a3,0x10 + 83f4c92c: 0086d51b srliw a0,a3,0x8 + 83f4c930: 0186d61b srliw a2,a3,0x18 + 83f4c934: 00d70623 sb a3,12(a4) + 83f4c938: 00a706a3 sb a0,13(a4) + 83f4c93c: 00b70723 sb a1,14(a4) + 83f4c940: 00c707a3 sb a2,15(a4) + 83f4c944: 97c2 add a5,a5,a6 + 83f4c946: 02000713 li a4,32 + 83f4c94a: 00e78023 sb a4,0(a5) + 83f4c94e: 00094583 lbu a1,0(s2) + 83f4c952: 18058c63 beqz a1,83f4caea + 83f4c956: 0008b783 ld a5,0(a7) + 83f4c95a: 4305 li t1,1 + 83f4c95c: 854a mv a0,s2 + 83f4c95e: 4e29 li t3,10 + 83f4c960: 4f35 li t5,13 + 83f4c962: 4123033b subw t1,t1,s2 + 83f4c966: 4e85 li t4,1 + 83f4c968: 00d7c603 lbu a2,13(a5) + 83f4c96c: 00c7cf83 lbu t6,12(a5) + 83f4c970: 00e7c683 lbu a3,14(a5) + 83f4c974: 00f7c703 lbu a4,15(a5) + 83f4c978: 0622 slli a2,a2,0x8 + 83f4c97a: 01f66633 or a2,a2,t6 + 83f4c97e: 06c2 slli a3,a3,0x10 + 83f4c980: 8ed1 or a3,a3,a2 + 83f4c982: 0762 slli a4,a4,0x18 + 83f4c984: 8f55 or a4,a4,a3 + 83f4c986: 0017061b addiw a2,a4,1 + 83f4c98a: 0006069b sext.w a3,a2 + 83f4c98e: 9742 add a4,a4,a6 + 83f4c990: 05c59563 bne a1,t3,83f4c9da + 83f4c994: 0106559b srliw a1,a2,0x10 + 83f4c998: 0186569b srliw a3,a2,0x18 + 83f4c99c: 00865f9b srliw t6,a2,0x8 + 83f4c9a0: 00c78623 sb a2,12(a5) + 83f4c9a4: 00b78723 sb a1,14(a5) + 83f4c9a8: 00d787a3 sb a3,15(a5) + 83f4c9ac: 01f786a3 sb t6,13(a5) + 83f4c9b0: 01e70023 sb t5,0(a4) + 83f4c9b4: 0008b783 ld a5,0(a7) + 83f4c9b8: 00d7c603 lbu a2,13(a5) + 83f4c9bc: 00c7c583 lbu a1,12(a5) + 83f4c9c0: 00e7c683 lbu a3,14(a5) + 83f4c9c4: 00f7c703 lbu a4,15(a5) + 83f4c9c8: 0622 slli a2,a2,0x8 + 83f4c9ca: 8e4d or a2,a2,a1 + 83f4c9cc: 06c2 slli a3,a3,0x10 + 83f4c9ce: 8ed1 or a3,a3,a2 + 83f4c9d0: 0762 slli a4,a4,0x18 + 83f4c9d2: 8f55 or a4,a4,a3 + 83f4c9d4: 0017069b addiw a3,a4,1 + 83f4c9d8: 9742 add a4,a4,a6 + 83f4c9da: 0086df9b srliw t6,a3,0x8 + 83f4c9de: 0106d59b srliw a1,a3,0x10 + 83f4c9e2: 0186d61b srliw a2,a3,0x18 + 83f4c9e6: 00d78623 sb a3,12(a5) + 83f4c9ea: 01f786a3 sb t6,13(a5) + 83f4c9ee: 00c787a3 sb a2,15(a5) + 83f4c9f2: 00b78723 sb a1,14(a5) + 83f4c9f6: 00054783 lbu a5,0(a0) + 83f4c9fa: 00a304bb addw s1,t1,a0 + 83f4c9fe: 0505 addi a0,a0,1 + 83f4ca00: 00f70023 sb a5,0(a4) + 83f4ca04: 0008b783 ld a5,0(a7) + 83f4ca08: 00d7c283 lbu t0,13(a5) + 83f4ca0c: 0097cf83 lbu t6,9(a5) + 83f4ca10: 00c7c083 lbu ra,12(a5) + 83f4ca14: 00e7c583 lbu a1,14(a5) + 83f4ca18: 0087c383 lbu t2,8(a5) + 83f4ca1c: 00a7c603 lbu a2,10(a5) + 83f4ca20: 00f7c683 lbu a3,15(a5) + 83f4ca24: 00b7c703 lbu a4,11(a5) + 83f4ca28: 02a2 slli t0,t0,0x8 + 83f4ca2a: 0fa2 slli t6,t6,0x8 + 83f4ca2c: 0012e2b3 or t0,t0,ra + 83f4ca30: 05c2 slli a1,a1,0x10 + 83f4ca32: 007fefb3 or t6,t6,t2 + 83f4ca36: 0642 slli a2,a2,0x10 + 83f4ca38: 0055e5b3 or a1,a1,t0 + 83f4ca3c: 06e2 slli a3,a3,0x18 + 83f4ca3e: 01f66633 or a2,a2,t6 + 83f4ca42: 0762 slli a4,a4,0x18 + 83f4ca44: 8ecd or a3,a3,a1 + 83f4ca46: 8f51 or a4,a4,a2 + 83f4ca48: 2681 sext.w a3,a3 + 83f4ca4a: 2701 sext.w a4,a4 + 83f4ca4c: 00e6ec63 bltu a3,a4,83f4ca64 + 83f4ca50: 01d788a3 sb t4,17(a5) + 83f4ca54: 00078623 sb zero,12(a5) + 83f4ca58: 000786a3 sb zero,13(a5) + 83f4ca5c: 00078723 sb zero,14(a5) + 83f4ca60: 000787a3 sb zero,15(a5) + 83f4ca64: 00054583 lbu a1,0(a0) + 83f4ca68: f181 bnez a1,83f4c968 + 83f4ca6a: 85a2 mv a1,s0 + 83f4ca6c: 00013517 auipc a0,0x13 + 83f4ca70: 1c450513 addi a0,a0,452 # 83f5fc30 + 83f4ca74: 214000ef jal ra,83f4cc88 <_hw_raw_spin_unlock_irqrestore> + 83f4ca78: 70a2 ld ra,40(sp) + 83f4ca7a: 7402 ld s0,32(sp) + 83f4ca7c: 6942 ld s2,16(sp) + 83f4ca7e: 69a2 ld s3,8(sp) + 83f4ca80: 6a02 ld s4,0(sp) + 83f4ca82: 8526 mv a0,s1 + 83f4ca84: 64e2 ld s1,24(sp) + 83f4ca86: 6145 addi sp,sp,48 + 83f4ca88: 8082 ret + 83f4ca8a: 05200493 li s1,82 + 83f4ca8e: 00005997 auipc s3,0x5 + 83f4ca92: 67b98993 addi s3,s3,1659 # 83f52109 + 83f4ca96: 4a29 li s4,10 + 83f4ca98: 8526 mv a0,s1 + 83f4ca9a: 285010ef jal ra,83f4e51e + 83f4ca9e: 0009c483 lbu s1,0(s3) + 83f4caa2: 0985 addi s3,s3,1 + 83f4caa4: cc89 beqz s1,83f4cabe + 83f4caa6: ff4499e3 bne s1,s4,83f4ca98 + 83f4caaa: 4535 li a0,13 + 83f4caac: 273010ef jal ra,83f4e51e + 83f4cab0: 8526 mv a0,s1 + 83f4cab2: 26d010ef jal ra,83f4e51e + 83f4cab6: 0009c483 lbu s1,0(s3) + 83f4caba: 0985 addi s3,s3,1 + 83f4cabc: f4ed bnez s1,83f4caa6 + 83f4cabe: 00094503 lbu a0,0(s2) + 83f4cac2: 49a9 li s3,10 + 83f4cac4: 0905 addi s2,s2,1 + 83f4cac6: e901 bnez a0,83f4cad6 + 83f4cac8: a00d j 83f4caea + 83f4caca: 255010ef jal ra,83f4e51e + 83f4cace: fff94503 lbu a0,-1(s2) + 83f4cad2: 2485 addiw s1,s1,1 + 83f4cad4: d959 beqz a0,83f4ca6a + 83f4cad6: 0905 addi s2,s2,1 + 83f4cad8: ff3519e3 bne a0,s3,83f4caca + 83f4cadc: 4535 li a0,13 + 83f4cade: 241010ef jal ra,83f4e51e + 83f4cae2: 4529 li a0,10 + 83f4cae4: 23b010ef jal ra,83f4e51e + 83f4cae8: b749 j 83f4ca6a + 83f4caea: 4481 li s1,0 + 83f4caec: bfbd j 83f4ca6a + +0000000083f4caee : + 83f4caee: 1141 addi sp,sp,-16 + 83f4caf0: 460d li a2,3 + 83f4caf2: 4581 li a1,0 + 83f4caf4: 4505 li a0,1 + 83f4caf6: e022 sd s0,0(sp) + 83f4caf8: e406 sd ra,8(sp) + 83f4cafa: 00013417 auipc s0,0x13 + 83f4cafe: 13e40413 addi s0,s0,318 # 83f5fc38 + 83f4cb02: 6d9010ef jal ra,83f4e9da + 83f4cb06: e008 sd a0,0(s0) + 83f4cb08: c51d beqz a0,83f4cb36 + 83f4cb0a: 4581 li a1,0 + 83f4cb0c: 4681 li a3,0 + 83f4cb0e: 4601 li a2,0 + 83f4cb10: 00013797 auipc a5,0x13 + 83f4cb14: 12078223 sb zero,292(a5) # 83f5fc34 + 83f4cb18: 72f010ef jal ra,83f4ea46 + 83f4cb1c: 6402 ld s0,0(sp) + 83f4cb1e: 60a2 ld ra,8(sp) + 83f4cb20: 00005597 auipc a1,0x5 + 83f4cb24: 6a058593 addi a1,a1,1696 # 83f521c0 <__func__.0> + 83f4cb28: 00005517 auipc a0,0x5 + 83f4cb2c: 60850513 addi a0,a0,1544 # 83f52130 + 83f4cb30: 0141 addi sp,sp,16 + 83f4cb32: c62ff06f j 83f4bf94 + 83f4cb36: 00005517 auipc a0,0x5 + 83f4cb3a: 5da50513 addi a0,a0,1498 # 83f52110 + 83f4cb3e: c56ff0ef jal ra,83f4bf94 + 83f4cb42: 6008 ld a0,0(s0) + 83f4cb44: b7d9 j 83f4cb0a + +0000000083f4cb46 : + 83f4cb46: 1101 addi sp,sp,-32 + 83f4cb48: e822 sd s0,16(sp) + 83f4cb4a: ec06 sd ra,24(sp) + 83f4cb4c: e426 sd s1,8(sp) + 83f4cb4e: e04a sd s2,0(sp) + 83f4cb50: 00255703 lhu a4,2(a0) + 83f4cb54: 478d li a5,3 + 83f4cb56: 842a mv s0,a0 + 83f4cb58: 06e7eb63 bltu a5,a4,83f4cbce + 83f4cb5c: c01027f3 rdtime a5 + 83f4cb60: 03079713 slli a4,a5,0x30 + 83f4cb64: 9341 srli a4,a4,0x30 + 83f4cb66: c335 beqz a4,83f4cbca + 83f4cb68: 00f41023 sh a5,0(s0) + 83f4cb6c: 000f44b7 lui s1,0xf4 + 83f4cb70: 24048493 addi s1,s1,576 # f4240 + 83f4cb74: 00006917 auipc s2,0x6 + 83f4cb78: 65490913 addi s2,s2,1620 # 83f531c8 + 83f4cb7c: a021 j 83f4cb84 + 83f4cb7e: c78ff0ef jal ra,83f4bff6 + 83f4cb82: c0d9 beqz s1,83f4cc08 + 83f4cb84: 0140000f fence w,o + 83f4cb88: 00245703 lhu a4,2(s0) + 83f4cb8c: 00093683 ld a3,0(s2) + 83f4cb90: 00045783 lhu a5,0(s0) + 83f4cb94: 070a slli a4,a4,0x2 + 83f4cb96: 9736 add a4,a4,a3 + 83f4cb98: 00f71023 sh a5,0(a4) + 83f4cb9c: 00245783 lhu a5,2(s0) + 83f4cba0: 078a slli a5,a5,0x2 + 83f4cba2: 97b6 add a5,a5,a3 + 83f4cba4: 0007d783 lhu a5,0(a5) + 83f4cba8: 17c2 slli a5,a5,0x30 + 83f4cbaa: 93c1 srli a5,a5,0x30 + 83f4cbac: 0820000f fence i,r + 83f4cbb0: 00045703 lhu a4,0(s0) + 83f4cbb4: 4505 li a0,1 + 83f4cbb6: 14fd addi s1,s1,-1 + 83f4cbb8: fcf713e3 bne a4,a5,83f4cb7e + 83f4cbbc: 60e2 ld ra,24(sp) + 83f4cbbe: 6442 ld s0,16(sp) + 83f4cbc0: 64a2 ld s1,8(sp) + 83f4cbc2: 6902 ld s2,0(sp) + 83f4cbc4: 4505 li a0,1 + 83f4cbc6: 6105 addi sp,sp,32 + 83f4cbc8: 8082 ret + 83f4cbca: 4785 li a5,1 + 83f4cbcc: bf71 j 83f4cb68 + 83f4cbce: 00013497 auipc s1,0x13 + 83f4cbd2: 06a48493 addi s1,s1,106 # 83f5fc38 + 83f4cbd6: 6088 ld a0,0(s1) + 83f4cbd8: 4581 li a1,0 + 83f4cbda: 4601 li a2,0 + 83f4cbdc: 19c020ef jal ra,83f4ed78 + 83f4cbe0: 00013697 auipc a3,0x13 + 83f4cbe4: 05468693 addi a3,a3,84 # 83f5fc34 + 83f4cbe8: 0006c783 lbu a5,0(a3) + 83f4cbec: 4581 li a1,0 + 83f4cbee: 0087971b slliw a4,a5,0x8 + 83f4cbf2: 00276713 ori a4,a4,2 + 83f4cbf6: 00e41023 sh a4,0(s0) + 83f4cbfa: 6088 ld a0,0(s1) + 83f4cbfc: 2785 addiw a5,a5,1 + 83f4cbfe: 00f68023 sb a5,0(a3) + 83f4cc02: 7e9010ef jal ra,83f4ebea + 83f4cc06: b79d j 83f4cb6c + 83f4cc08: 00005517 auipc a0,0x5 + 83f4cc0c: 53850513 addi a0,a0,1336 # 83f52140 + 83f4cc10: 98fff0ef jal ra,83f4c59e + 83f4cc14: 60e2 ld ra,24(sp) + 83f4cc16: 6442 ld s0,16(sp) + 83f4cc18: 64a2 ld s1,8(sp) + 83f4cc1a: 6902 ld s2,0(sp) + 83f4cc1c: 557d li a0,-1 + 83f4cc1e: 6105 addi sp,sp,32 + 83f4cc20: 8082 ret + +0000000083f4cc22 <_hw_raw_spin_lock_irqsave>: + 83f4cc22: 1101 addi sp,sp,-32 + 83f4cc24: e04a sd s2,0(sp) + 83f4cc26: ec06 sd ra,24(sp) + 83f4cc28: e822 sd s0,16(sp) + 83f4cc2a: e426 sd s1,8(sp) + 83f4cc2c: 892a mv s2,a0 + 83f4cc2e: 30002473 csrr s0,mstatus + 83f4cc32: 8821 andi s0,s0,8 + 83f4cc34: 30047073 csrci mstatus,8 + 83f4cc38: f0fff0ef jal ra,83f4cb46 + 83f4cc3c: 57fd li a5,-1 + 83f4cc3e: 00f50963 beq a0,a5,83f4cc50 <_hw_raw_spin_lock_irqsave+0x2e> + 83f4cc42: 60e2 ld ra,24(sp) + 83f4cc44: 8522 mv a0,s0 + 83f4cc46: 6442 ld s0,16(sp) + 83f4cc48: 64a2 ld s1,8(sp) + 83f4cc4a: 6902 ld s2,0(sp) + 83f4cc4c: 6105 addi sp,sp,32 + 83f4cc4e: 8082 ret + 83f4cc50: 84aa mv s1,a0 + 83f4cc52: c019 beqz s0,83f4cc58 <_hw_raw_spin_lock_irqsave+0x36> + 83f4cc54: 30046073 csrsi mstatus,8 + 83f4cc58: 00295783 lhu a5,2(s2) + 83f4cc5c: 00006717 auipc a4,0x6 + 83f4cc60: 56c73703 ld a4,1388(a4) # 83f531c8 + 83f4cc64: 078a slli a5,a5,0x2 + 83f4cc66: 97ba add a5,a5,a4 + 83f4cc68: 0007d583 lhu a1,0(a5) + 83f4cc6c: 15c2 slli a1,a1,0x30 + 83f4cc6e: 91c1 srli a1,a1,0x30 + 83f4cc70: 0820000f fence i,r + 83f4cc74: 00095603 lhu a2,0(s2) + 83f4cc78: 00005517 auipc a0,0x5 + 83f4cc7c: 4e050513 addi a0,a0,1248 # 83f52158 + 83f4cc80: 8426 mv s0,s1 + 83f4cc82: 91dff0ef jal ra,83f4c59e + 83f4cc86: bf75 j 83f4cc42 <_hw_raw_spin_lock_irqsave+0x20> + +0000000083f4cc88 <_hw_raw_spin_unlock_irqrestore>: + 83f4cc88: 00255783 lhu a5,2(a0) + 83f4cc8c: 00006717 auipc a4,0x6 + 83f4cc90: 53c70713 addi a4,a4,1340 # 83f531c8 + 83f4cc94: 6314 ld a3,0(a4) + 83f4cc96: 078a slli a5,a5,0x2 + 83f4cc98: 97b6 add a5,a5,a3 + 83f4cc9a: 0007d783 lhu a5,0(a5) + 83f4cc9e: 17c2 slli a5,a5,0x30 + 83f4cca0: 93c1 srli a5,a5,0x30 + 83f4cca2: 0820000f fence i,r + 83f4cca6: 00055683 lhu a3,0(a0) + 83f4ccaa: 02f69263 bne a3,a5,83f4ccce <_hw_raw_spin_unlock_irqrestore+0x46> + 83f4ccae: 0140000f fence w,o + 83f4ccb2: 00255783 lhu a5,2(a0) + 83f4ccb6: 6314 ld a3,0(a4) + 83f4ccb8: 00055703 lhu a4,0(a0) + 83f4ccbc: 078a slli a5,a5,0x2 + 83f4ccbe: 97b6 add a5,a5,a3 + 83f4ccc0: 00e79023 sh a4,0(a5) + 83f4ccc4: c581 beqz a1,83f4cccc <_hw_raw_spin_unlock_irqrestore+0x44> + 83f4ccc6: 30046073 csrsi mstatus,8 + 83f4ccca: 8082 ret + 83f4cccc: 8082 ret + 83f4ccce: 00255783 lhu a5,2(a0) + 83f4ccd2: 6318 ld a4,0(a4) + 83f4ccd4: 078a slli a5,a5,0x2 + 83f4ccd6: 97ba add a5,a5,a4 + 83f4ccd8: 0007d583 lhu a1,0(a5) + 83f4ccdc: 15c2 slli a1,a1,0x30 + 83f4ccde: 91c1 srli a1,a1,0x30 + 83f4cce0: 0820000f fence i,r + 83f4cce4: 00055603 lhu a2,0(a0) + 83f4cce8: 00005517 auipc a0,0x5 + 83f4ccec: 4a050513 addi a0,a0,1184 # 83f52188 + 83f4ccf0: 8afff06f j 83f4c59e + +0000000083f4ccf4 : + 83f4ccf4: 7ef0006f j 83f4dce2 + +0000000083f4ccf8 : + 83f4ccf8: 00a0106f j 83f4dd02 + +0000000083f4ccfc : + 83f4ccfc: 4302 lw t1,0(sp) + 83f4ccfe: e01a sd t1,0(sp) + 83f4cd00: 0060106f j 83f4dd06 + +0000000083f4cd04 : + 83f4cd04: 06e0106f j 83f4dd72 + +0000000083f4cd08 : + 83f4cd08: 0b60106f j 83f4ddbe + +0000000083f4cd0c : + 83f4cd0c: 7139 addi sp,sp,-64 + 83f4cd0e: f822 sd s0,48(sp) + 83f4cd10: f04a sd s2,32(sp) + 83f4cd12: ec4e sd s3,24(sp) + 83f4cd14: e852 sd s4,16(sp) + 83f4cd16: fc06 sd ra,56(sp) + 83f4cd18: f426 sd s1,40(sp) + 83f4cd1a: e456 sd s5,8(sp) + 83f4cd1c: 651c ld a5,8(a0) + 83f4cd1e: 892a mv s2,a0 + 83f4cd20: 89ae mv s3,a1 + 83f4cd22: 8a32 mv s4,a2 + 83f4cd24: ff078513 addi a0,a5,-16 + 83f4cd28: 4401 li s0,0 + 83f4cd2a: c391 beqz a5,83f4cd2e + 83f4cd2c: 6780 ld s0,8(a5) + 83f4cd2e: 04f90963 beq s2,a5,83f4cd80 + 83f4cd32: 415c lw a5,4(a0) + 83f4cd34: 4481 li s1,0 + 83f4cd36: 4a81 li s5,0 + 83f4cd38: 2485 addiw s1,s1,1 + 83f4cd3a: 02fa5063 bge s4,a5,83f4cd5a + 83f4cd3e: 0299c763 blt s3,s1,83f4cd6c + 83f4cd42: 4781 li a5,0 + 83f4cd44: ff040513 addi a0,s0,-16 + 83f4cd48: c011 beqz s0,83f4cd4c + 83f4cd4a: 641c ld a5,8(s0) + 83f4cd4c: 02890063 beq s2,s0,83f4cd6c + 83f4cd50: 843e mv s0,a5 + 83f4cd52: 415c lw a5,4(a0) + 83f4cd54: 2485 addiw s1,s1,1 + 83f4cd56: fefa44e3 blt s4,a5,83f4cd3e + 83f4cd5a: 6918 ld a4,16(a0) + 83f4cd5c: 6d1c ld a5,24(a0) + 83f4cd5e: 2a85 addiw s5,s5,1 + 83f4cd60: e71c sd a5,8(a4) + 83f4cd62: e398 sd a4,0(a5) + 83f4cd64: 187010ef jal ra,83f4e6ea + 83f4cd68: fc99dde3 bge s3,s1,83f4cd42 + 83f4cd6c: 70e2 ld ra,56(sp) + 83f4cd6e: 7442 ld s0,48(sp) + 83f4cd70: 74a2 ld s1,40(sp) + 83f4cd72: 7902 ld s2,32(sp) + 83f4cd74: 69e2 ld s3,24(sp) + 83f4cd76: 6a42 ld s4,16(sp) + 83f4cd78: 8556 mv a0,s5 + 83f4cd7a: 6aa2 ld s5,8(sp) + 83f4cd7c: 6121 addi sp,sp,64 + 83f4cd7e: 8082 ret + 83f4cd80: 4a81 li s5,0 + 83f4cd82: b7ed j 83f4cd6c + +0000000083f4cd84 : + 83f4cd84: 419c lw a5,0(a1) + 83f4cd86: cbb5 beqz a5,83f4cdfa + 83f4cd88: 7179 addi sp,sp,-48 + 83f4cd8a: f022 sd s0,32(sp) + 83f4cd8c: ec26 sd s1,24(sp) + 83f4cd8e: e84a sd s2,16(sp) + 83f4cd90: e44e sd s3,8(sp) + 83f4cd92: e052 sd s4,0(sp) + 83f4cd94: f406 sd ra,40(sp) + 83f4cd96: 84ae mv s1,a1 + 83f4cd98: 892a mv s2,a0 + 83f4cd9a: 89b2 mv s3,a2 + 83f4cd9c: 4401 li s0,0 + 83f4cd9e: 4a05 li s4,1 + 83f4cda0: 02041713 slli a4,s0,0x20 + 83f4cda4: 01a75513 srli a0,a4,0x1a + 83f4cda8: 954a add a0,a0,s2 + 83f4cdaa: 5d18 lw a4,56(a0) + 83f4cdac: 01374e63 blt a4,s3,83f4cdc8 + 83f4cdb0: 409c lw a5,0(s1) + 83f4cdb2: 2405 addiw s0,s0,1 + 83f4cdb4: fef466e3 bltu s0,a5,83f4cda0 + 83f4cdb8: 70a2 ld ra,40(sp) + 83f4cdba: 7402 ld s0,32(sp) + 83f4cdbc: 64e2 ld s1,24(sp) + 83f4cdbe: 6942 ld s2,16(sp) + 83f4cdc0: 69a2 ld s3,8(sp) + 83f4cdc2: 6a02 ld s4,0(sp) + 83f4cdc4: 6145 addi sp,sp,48 + 83f4cdc6: 8082 ret + 83f4cdc8: 0014059b addiw a1,s0,1 + 83f4cdcc: fff7861b addiw a2,a5,-1 + 83f4cdd0: 9e01 subw a2,a2,s0 + 83f4cdd2: 02059713 slli a4,a1,0x20 + 83f4cdd6: 01a75593 srli a1,a4,0x1a + 83f4cdda: 02061713 slli a4,a2,0x20 + 83f4cdde: 01a75613 srli a2,a4,0x1a + 83f4cde2: 95ca add a1,a1,s2 + 83f4cde4: 00fa7463 bgeu s4,a5,83f4cdec + 83f4cde8: f33f50ef jal ra,83f42d1a + 83f4cdec: 4098 lw a4,0(s1) + 83f4cdee: fff7079b addiw a5,a4,-1 + 83f4cdf2: c09c sw a5,0(s1) + 83f4cdf4: faf466e3 bltu s0,a5,83f4cda0 + 83f4cdf8: b7c1 j 83f4cdb8 + 83f4cdfa: 8082 ret + +0000000083f4cdfc : + 83f4cdfc: 7115 addi sp,sp,-224 + 83f4cdfe: f556 sd s5,168(sp) + 83f4ce00: ed86 sd ra,216(sp) + 83f4ce02: e9a2 sd s0,208(sp) + 83f4ce04: e5a6 sd s1,200(sp) + 83f4ce06: e1ca sd s2,192(sp) + 83f4ce08: fd4e sd s3,184(sp) + 83f4ce0a: f952 sd s4,176(sp) + 83f4ce0c: f15a sd s6,160(sp) + 83f4ce0e: ed5e sd s7,152(sp) + 83f4ce10: e962 sd s8,144(sp) + 83f4ce12: e566 sd s9,136(sp) + 83f4ce14: e16a sd s10,128(sp) + 83f4ce16: fcee sd s11,120(sp) + 83f4ce18: b4a2 fsd fs0,104(sp) + 83f4ce1a: b0a6 fsd fs1,96(sp) + 83f4ce1c: acca fsd fs2,88(sp) + 83f4ce1e: 8ab6 mv s5,a3 + 83f4ce20: 08b05b63 blez a1,83f4ceb6 + 83f4ce24: 00170b9b addiw s7,a4,1 + 83f4ce28: 84be mv s1,a5 + 83f4ce2a: 8a2e mv s4,a1 + 83f4ce2c: 89b2 mv s3,a2 + 83f4ce2e: 893a mv s2,a4 + 83f4ce30: 8d2a mv s10,a0 + 83f4ce32: 4d81 li s11,0 + 83f4ce34: 8b5e mv s6,s7 + 83f4ce36: 4c85 li s9,1 + 83f4ce38: 00005797 auipc a5,0x5 + 83f4ce3c: 4d87b907 fld fs2,1240(a5) # 83f52310 <__func__.1+0x118> + 83f4ce40: fff80c1b addiw s8,a6,-1 + 83f4ce44: 04000613 li a2,64 + 83f4ce48: 85ea mv a1,s10 + 83f4ce4a: 0808 addi a0,sp,16 + 83f4ce4c: ab4f30ef jal ra,83f40100 + 83f4ce50: 47b6 lw a5,76(sp) + 83f4ce52: 0cf94e63 blt s2,a5,83f4cf2e + 83f4ce56: 4726 lw a4,72(sp) + 83f4ce58: 0ce95b63 bge s2,a4,83f4cf2e + 83f4ce5c: 02000513 li a0,32 + 83f4ce60: 724010ef jal ra,83f4e584 + 83f4ce64: 842a mv s0,a0 + 83f4ce66: 2a050663 beqz a0,83f4d112 + 83f4ce6a: 4742 lw a4,16(sp) + 83f4ce6c: e365 bnez a4,83f4cf4c + 83f4ce6e: 4652 lw a2,20(sp) + 83f4ce70: 01040713 addi a4,s0,16 + 83f4ce74: c010 sw a2,0(s0) + 83f4ce76: 47f2 lw a5,28(sp) + 83f4ce78: 01b41423 sh s11,8(s0) + 83f4ce7c: 9fb1 addw a5,a5,a2 + 83f4ce7e: c05c sw a5,4(s0) + 83f4ce80: 0009b783 ld a5,0(s3) + 83f4ce84: 01343c23 sd s3,24(s0) + 83f4ce88: e81c sd a5,16(s0) + 83f4ce8a: e798 sd a4,8(a5) + 83f4ce8c: 00e9b023 sd a4,0(s3) + 83f4ce90: 000aa783 lw a5,0(s5) + 83f4ce94: 4726 lw a4,72(sp) + 83f4ce96: 2785 addiw a5,a5,1 + 83f4ce98: 00faa023 sw a5,0(s5) + 83f4ce9c: 409c lw a5,0(s1) + 83f4ce9e: 0007059b sext.w a1,a4 + 83f4cea2: 0007861b sext.w a2,a5 + 83f4cea6: 08b64263 blt a2,a1,83f4cf2a + 83f4ceaa: c098 sw a4,0(s1) + 83f4ceac: 2d85 addiw s11,s11,1 + 83f4ceae: 040d0d13 addi s10,s10,64 + 83f4ceb2: f94d99e3 bne s11,s4,83f4ce44 + 83f4ceb6: 000aa503 lw a0,0(s5) + 83f4ceba: 60ee ld ra,216(sp) + 83f4cebc: 644e ld s0,208(sp) + 83f4cebe: 64ae ld s1,200(sp) + 83f4cec0: 690e ld s2,192(sp) + 83f4cec2: 79ea ld s3,184(sp) + 83f4cec4: 7a4a ld s4,176(sp) + 83f4cec6: 7aaa ld s5,168(sp) + 83f4cec8: 7b0a ld s6,160(sp) + 83f4ceca: 6bea ld s7,152(sp) + 83f4cecc: 6c4a ld s8,144(sp) + 83f4cece: 6caa ld s9,136(sp) + 83f4ced0: 6d0a ld s10,128(sp) + 83f4ced2: 7de6 ld s11,120(sp) + 83f4ced4: 3426 fld fs0,104(sp) + 83f4ced6: 3486 fld fs1,96(sp) + 83f4ced8: 2966 fld fs2,88(sp) + 83f4ceda: 612d addi sp,sp,224 + 83f4cedc: 8082 ret + 83f4cede: 4762 lw a4,24(sp) + 83f4cee0: 5612 lw a2,36(sp) + 83f4cee2: 00c707bb addw a5,a4,a2 + 83f4cee6: 0cf95163 bge s2,a5,83f4cfa8 + 83f4ceea: 45d2 lw a1,20(sp) + 83f4ceec: 01040613 addi a2,s0,16 + 83f4cef0: c00c sw a1,0(s0) + 83f4cef2: 4772 lw a4,28(sp) + 83f4cef4: 01b41423 sh s11,8(s0) + 83f4cef8: 9f2d addw a4,a4,a1 + 83f4cefa: c058 sw a4,4(s0) + 83f4cefc: 0009b703 ld a4,0(s3) + 83f4cf00: 01343c23 sd s3,24(s0) + 83f4cf04: e818 sd a4,16(s0) + 83f4cf06: e710 sd a2,8(a4) + 83f4cf08: 00c9b023 sd a2,0(s3) + 83f4cf0c: 000aa703 lw a4,0(s5) + 83f4cf10: 2705 addiw a4,a4,1 + 83f4cf12: 00eaa023 sw a4,0(s5) + 83f4cf16: 0127d563 bge a5,s2,83f4cf20 + 83f4cf1a: 4762 lw a4,24(sp) + 83f4cf1c: 5782 lw a5,32(sp) + 83f4cf1e: 9fb9 addw a5,a5,a4 + 83f4cf20: 4098 lw a4,0(s1) + 83f4cf22: 0007061b sext.w a2,a4 + 83f4cf26: f8c7d2e3 bge a5,a2,83f4ceaa + 83f4cf2a: 873e mv a4,a5 + 83f4cf2c: bfbd j 83f4ceaa + 83f4cf2e: 885a mv a6,s6 + 83f4cf30: 00fbd363 bge s7,a5,83f4cf36 + 83f4cf34: 883e mv a6,a5 + 83f4cf36: 409c lw a5,0(s1) + 83f4cf38: 0008061b sext.w a2,a6 + 83f4cf3c: 0007871b sext.w a4,a5 + 83f4cf40: 00c75363 bge a4,a2,83f4cf46 + 83f4cf44: 883e mv a6,a5 + 83f4cf46: 0104a023 sw a6,0(s1) + 83f4cf4a: b78d j 83f4ceac + 83f4cf4c: ffe7079b addiw a5,a4,-2 + 83f4cf50: 9bf5 andi a5,a5,-3 + 83f4cf52: 2781 sext.w a5,a5 + 83f4cf54: cb89 beqz a5,83f4cf66 + 83f4cf56: f99704e3 beq a4,s9,83f4cede + 83f4cf5a: 478d li a5,3 + 83f4cf5c: 0ef70563 beq a4,a5,83f4d046 + 83f4cf60: 78a010ef jal ra,83f4e6ea + 83f4cf64: b7a1 j 83f4ceac + 83f4cf66: 4752 lw a4,20(sp) + 83f4cf68: c018 sw a4,0(s0) + 83f4cf6a: 47f2 lw a5,28(sp) + 83f4cf6c: 01b41423 sh s11,8(s0) + 83f4cf70: 9fb9 addw a5,a5,a4 + 83f4cf72: c05c sw a5,4(s0) + 83f4cf74: 4098 lw a4,0(s1) + 83f4cf76: 47a6 lw a5,72(sp) + 83f4cf78: 0007061b sext.w a2,a4 + 83f4cf7c: 0007859b sext.w a1,a5 + 83f4cf80: 00b65363 bge a2,a1,83f4cf86 + 83f4cf84: 87ba mv a5,a4 + 83f4cf86: c09c sw a5,0(s1) + 83f4cf88: 0009b703 ld a4,0(s3) + 83f4cf8c: 01040793 addi a5,s0,16 + 83f4cf90: 01343c23 sd s3,24(s0) + 83f4cf94: e818 sd a4,16(s0) + 83f4cf96: e71c sd a5,8(a4) + 83f4cf98: 00f9b023 sd a5,0(s3) + 83f4cf9c: 000aa783 lw a5,0(s5) + 83f4cfa0: 2785 addiw a5,a5,1 + 83f4cfa2: 00faa023 sw a5,0(s5) + 83f4cfa6: b719 j 83f4ceac + 83f4cfa8: 5582 lw a1,32(sp) + 83f4cfaa: 9f2d addw a4,a4,a1 + 83f4cfac: 40c705bb subw a1,a4,a2 + 83f4cfb0: f2b95de3 bge s2,a1,83f4ceea + 83f4cfb4: 02000513 li a0,32 + 83f4cfb8: e42e sd a1,8(sp) + 83f4cfba: c22e sw a1,4(sp) + 83f4cfbc: 5c8010ef jal ra,83f4e584 + 83f4cfc0: 4712 lw a4,4(sp) + 83f4cfc2: 65a2 ld a1,8(sp) + 83f4cfc4: 1c050f63 beqz a0,83f4d1a2 + 83f4cfc8: 4352 lw t1,20(sp) + 83f4cfca: 030d9613 slli a2,s11,0x30 + 83f4cfce: 9241 srli a2,a2,0x30 + 83f4cfd0: 00642023 sw t1,0(s0) + 83f4cfd4: 5792 lw a5,36(sp) + 83f4cfd6: 01040893 addi a7,s0,16 + 83f4cfda: 01050813 addi a6,a0,16 + 83f4cfde: 006787bb addw a5,a5,t1 + 83f4cfe2: c05c sw a5,4(s0) + 83f4cfe4: 4372 lw t1,28(sp) + 83f4cfe6: 47d2 lw a5,20(sp) + 83f4cfe8: 006787bb addw a5,a5,t1 + 83f4cfec: c15c sw a5,4(a0) + 83f4cfee: 5312 lw t1,36(sp) + 83f4cff0: 406787bb subw a5,a5,t1 + 83f4cff4: c11c sw a5,0(a0) + 83f4cff6: 00c41423 sh a2,8(s0) + 83f4cffa: 00c51423 sh a2,8(a0) + 83f4cffe: 0009b783 ld a5,0(s3) + 83f4d002: 01343c23 sd s3,24(s0) + 83f4d006: e81c sd a5,16(s0) + 83f4d008: 0117b423 sd a7,8(a5) + 83f4d00c: 0119b023 sd a7,0(s3) + 83f4d010: 000aa783 lw a5,0(s5) + 83f4d014: 2785 addiw a5,a5,1 + 83f4d016: 00faa023 sw a5,0(s5) + 83f4d01a: 0009b783 ld a5,0(s3) + 83f4d01e: 01353c23 sd s3,24(a0) + 83f4d022: e91c sd a5,16(a0) + 83f4d024: 0107b423 sd a6,8(a5) + 83f4d028: 0109b023 sd a6,0(s3) + 83f4d02c: 000aa783 lw a5,0(s5) + 83f4d030: 2785 addiw a5,a5,1 + 83f4d032: 00faa023 sw a5,0(s5) + 83f4d036: 409c lw a5,0(s1) + 83f4d038: 0007861b sext.w a2,a5 + 83f4d03c: 00c5d363 bge a1,a2,83f4d042 + 83f4d040: 87ba mv a5,a4 + 83f4d042: c09c sw a5,0(s1) + 83f4d044: b5a5 j 83f4ceac + 83f4d046: 02012507 flw fa0,32(sp) + 83f4d04a: 42050553 fcvt.d.s fa0,fa0 + 83f4d04e: a53f30ef jal ra,83f40aa0 + 83f4d052: 22a50453 fmv.d fs0,fa0 + 83f4d056: 02412507 flw fa0,36(sp) + 83f4d05a: 42050553 fcvt.d.s fa0,fa0 + 83f4d05e: a43f30ef jal ra,83f40aa0 + 83f4d062: c20417d3 fcvt.w.d a5,fs0,rtz + 83f4d066: 2781 sext.w a5,a5 + 83f4d068: 0af94763 blt s2,a5,83f4d116 + 83f4d06c: c20517d3 fcvt.w.d a5,fa0,rtz + 83f4d070: 02412507 flw fa0,36(sp) + 83f4d074: 2781 sext.w a5,a5 + 83f4d076: 0af95263 bge s2,a5,83f4d11a + 83f4d07a: 02012787 flw fa5,32(sp) + 83f4d07e: d0097453 fcvt.s.w fs0,s2 + 83f4d082: 01412487 flw fs1,20(sp) + 83f4d086: 08f57553 fsub.s fa0,fa0,fa5 + 83f4d08a: 08f47453 fsub.s fs0,fs0,fa5 + 83f4d08e: 03812787 flw fa5,56(sp) + 83f4d092: 18a7f553 fdiv.s fa0,fa5,fa0 + 83f4d096: 01812787 flw fa5,24(sp) + 83f4d09a: 7884f4c3 fmadd.s fs1,fs1,fs0,fa5 + 83f4d09e: 48a4744b fnmsub.s fs0,fs0,fa0,fs1 + 83f4d0a2: a08497d3 flt.s a5,fs1,fs0 + 83f4d0a6: 20948553 fmv.s fa0,fs1 + 83f4d0aa: e399 bnez a5,83f4d0b0 + 83f4d0ac: 20840553 fmv.s fa0,fs0 + 83f4d0b0: 42050553 fcvt.d.s fa0,fa0 + 83f4d0b4: 9edf30ef jal ra,83f40aa0 + 83f4d0b8: c2051553 fcvt.w.d a0,fa0,rtz + 83f4d0bc: 8662 mv a2,s8 + 83f4d0be: 4581 li a1,0 + 83f4d0c0: 2501 sext.w a0,a0 + 83f4d0c2: 507000ef jal ra,83f4ddc8 + 83f4d0c6: a09417d3 flt.s a5,fs0,fs1 + 83f4d0ca: c008 sw a0,0(s0) + 83f4d0cc: e399 bnez a5,83f4d0d2 + 83f4d0ce: 208404d3 fmv.s fs1,fs0 + 83f4d0d2: 42048553 fcvt.d.s fa0,fs1 + 83f4d0d6: 9cbf30ef jal ra,83f40aa0 + 83f4d0da: c2051553 fcvt.w.d a0,fa0,rtz + 83f4d0de: 8662 mv a2,s8 + 83f4d0e0: 4581 li a1,0 + 83f4d0e2: 2501 sext.w a0,a0 + 83f4d0e4: 4e5000ef jal ra,83f4ddc8 + 83f4d0e8: c048 sw a0,4(s0) + 83f4d0ea: 01b41423 sh s11,8(s0) + 83f4d0ee: 0009b703 ld a4,0(s3) + 83f4d0f2: 01040793 addi a5,s0,16 + 83f4d0f6: 01343c23 sd s3,24(s0) + 83f4d0fa: e818 sd a4,16(s0) + 83f4d0fc: e71c sd a5,8(a4) + 83f4d0fe: 00f9b023 sd a5,0(s3) + 83f4d102: 000aa783 lw a5,0(s5) + 83f4d106: 2785 addiw a5,a5,1 + 83f4d108: 00faa023 sw a5,0(s5) + 83f4d10c: 0164a023 sw s6,0(s1) + 83f4d110: bb71 j 83f4ceac + 83f4d112: 557d li a0,-1 + 83f4d114: b35d j 83f4ceba + 83f4d116: 02412507 flw fa0,36(sp) + 83f4d11a: 42050553 fcvt.d.s fa0,fa0 + 83f4d11e: 983f30ef jal ra,83f40aa0 + 83f4d122: 03012787 flw fa5,48(sp) + 83f4d126: 22a50453 fmv.d fs0,fa0 + 83f4d12a: 420787d3 fcvt.d.s fa5,fa5 + 83f4d12e: 0327f553 fadd.d fa0,fa5,fs2 + 83f4d132: 96ff30ef jal ra,83f40aa0 + 83f4d136: c20417d3 fcvt.w.d a5,fs0,rtz + 83f4d13a: 2781 sext.w a5,a5 + 83f4d13c: 02f95d63 bge s2,a5,83f4d176 + 83f4d140: 01412487 flw fs1,20(sp) + 83f4d144: d0097453 fcvt.s.w fs0,s2 + 83f4d148: 03812707 flw fa4,56(sp) + 83f4d14c: 03412787 flw fa5,52(sp) + 83f4d150: 03012687 flw fa3,48(sp) + 83f4d154: 08d7f653 fsub.s fa2,fa5,fa3 + 83f4d158: 02412687 flw fa3,36(sp) + 83f4d15c: 0887f7d3 fsub.s fa5,fa5,fs0 + 83f4d160: 08d476d3 fsub.s fa3,fs0,fa3 + 83f4d164: 18c77453 fdiv.s fs0,fa4,fa2 + 83f4d168: 01c12707 flw fa4,28(sp) + 83f4d16c: 7096f4c3 fmadd.s fs1,fa3,fs1,fa4 + 83f4d170: 4887f443 fmadd.s fs0,fa5,fs0,fs1 + 83f4d174: b73d j 83f4d0a2 + 83f4d176: c20517d3 fcvt.w.d a5,fa0,rtz + 83f4d17a: 01412487 flw fs1,20(sp) + 83f4d17e: d0097453 fcvt.s.w fs0,s2 + 83f4d182: 2781 sext.w a5,a5 + 83f4d184: 03812707 flw fa4,56(sp) + 83f4d188: fcf952e3 bge s2,a5,83f4d14c + 83f4d18c: 02012787 flw fa5,32(sp) + 83f4d190: 01812687 flw fa3,24(sp) + 83f4d194: 08f477d3 fsub.s fa5,fs0,fa5 + 83f4d198: 6897f4c3 fmadd.s fs1,fa5,fs1,fa3 + 83f4d19c: 08e4f453 fsub.s fs0,fs1,fa4 + 83f4d1a0: b709 j 83f4d0a2 + 83f4d1a2: 8522 mv a0,s0 + 83f4d1a4: 546010ef jal ra,83f4e6ea + 83f4d1a8: 557d li a0,-1 + 83f4d1aa: bb01 j 83f4ceba + +0000000083f4d1ac : + 83f4d1ac: 7139 addi sp,sp,-64 + 83f4d1ae: f822 sd s0,48(sp) + 83f4d1b0: f426 sd s1,40(sp) + 83f4d1b2: f04a sd s2,32(sp) + 83f4d1b4: ec4e sd s3,24(sp) + 83f4d1b6: fc06 sd ra,56(sp) + 83f4d1b8: e852 sd s4,16(sp) + 83f4d1ba: e456 sd s5,8(sp) + 83f4d1bc: 892e mv s2,a1 + 83f4d1be: 842a mv s0,a0 + 83f4d1c0: 89b2 mv s3,a2 + 83f4d1c2: 84b6 mv s1,a3 + 83f4d1c4: c1c9 beqz a1,83f4d246 + 83f4d1c6: 00163a13 seqz s4,a2 + 83f4d1ca: 8ad2 mv s5,s4 + 83f4d1cc: 04800613 li a2,72 + 83f4d1d0: 4581 li a1,0 + 83f4d1d2: 8522 mv a0,s0 + 83f4d1d4: da9fe0ef jal ra,83f4bf7c + 83f4d1d8: 4098 lw a4,0(s1) + 83f4d1da: 478d li a5,3 + 83f4d1dc: 1782 slli a5,a5,0x20 + 83f4d1de: c018 sw a4,0(s0) + 83f4d1e0: 40d8 lw a4,4(s1) + 83f4d1e2: 0799 addi a5,a5,6 + 83f4d1e4: ec1c sd a5,24(s0) + 83f4d1e6: c058 sw a4,4(s0) + 83f4d1e8: 4705 li a4,1 + 83f4d1ea: 00e40a23 sb a4,20(s0) + 83f4d1ee: 4488 lw a0,8(s1) + 83f4d1f0: d008 sw a0,32(s0) + 83f4d1f2: 28a010ef jal ra,83f4e47c + 83f4d1f6: d048 sw a0,36(s0) + 83f4d1f8: 0004a623 sw zero,12(s1) + 83f4d1fc: 8522 mv a0,s0 + 83f4d1fe: 21a010ef jal ra,83f4e418 + 83f4d202: 4601 li a2,0 + 83f4d204: 020a8563 beqz s5,83f4d22e + 83f4d208: 86d2 mv a3,s4 + 83f4d20a: 85ca mv a1,s2 + 83f4d20c: 04840513 addi a0,s0,72 + 83f4d210: 3d5000ef jal ra,83f4dde4 + 83f4d214: 4791 li a5,4 + 83f4d216: d43c sw a5,104(s0) + 83f4d218: 57fd li a5,-1 + 83f4d21a: d07c sw a5,100(s0) + 83f4d21c: 70e2 ld ra,56(sp) + 83f4d21e: 7442 ld s0,48(sp) + 83f4d220: 74a2 ld s1,40(sp) + 83f4d222: 7902 ld s2,32(sp) + 83f4d224: 69e2 ld s3,24(sp) + 83f4d226: 6a42 ld s4,16(sp) + 83f4d228: 6aa2 ld s5,8(sp) + 83f4d22a: 6121 addi sp,sp,64 + 83f4d22c: 8082 ret + 83f4d22e: 854a mv a0,s2 + 83f4d230: 85a2 mv a1,s0 + 83f4d232: 7a7000ef jal ra,83f4e1d8 + 83f4d236: 256010ef jal ra,83f4e48c + 83f4d23a: 0005061b sext.w a2,a0 + 83f4d23e: 9932 add s2,s2,a2 + 83f4d240: 40c9863b subw a2,s3,a2 + 83f4d244: b7d1 j 83f4d208 + 83f4d246: 4a05 li s4,1 + 83f4d248: 4a85 li s5,1 + 83f4d24a: b749 j 83f4d1cc + +0000000083f4d24c : + 83f4d24c: 711d addi sp,sp,-96 + 83f4d24e: ec86 sd ra,88(sp) + 83f4d250: e8a2 sd s0,80(sp) + 83f4d252: e4a6 sd s1,72(sp) + 83f4d254: e0ca sd s2,64(sp) + 83f4d256: fc4e sd s3,56(sp) + 83f4d258: f852 sd s4,48(sp) + 83f4d25a: f456 sd s5,40(sp) + 83f4d25c: 87ae mv a5,a1 + 83f4d25e: 528c lw a1,32(a3) + 83f4d260: 8436 mv s0,a3 + 83f4d262: 84b2 mv s1,a2 + 83f4d264: 06468913 addi s2,a3,100 + 83f4d268: 00f11f23 sh a5,30(sp) + 83f4d26c: 06840993 addi s3,s0,104 + 83f4d270: 41b000ef jal ra,83f4de8a + 83f4d274: 06c40a13 addi s4,s0,108 + 83f4d278: 04840a93 addi s5,s0,72 + 83f4d27c: 8826 mv a6,s1 + 83f4d27e: 01e10793 addi a5,sp,30 + 83f4d282: e456 sd s5,8(sp) + 83f4d284: e022 sd s0,0(sp) + 83f4d286: 04000893 li a7,64 + 83f4d28a: 8752 mv a4,s4 + 83f4d28c: 86ce mv a3,s3 + 83f4d28e: 864a mv a2,s2 + 83f4d290: 06040593 addi a1,s0,96 + 83f4d294: 84aa mv s1,a0 + 83f4d296: 0a6010ef jal ra,83f4e33c + 83f4d29a: 01e15783 lhu a5,30(sp) + 83f4d29e: c385 beqz a5,83f4d2be + 83f4d2a0: 04000793 li a5,64 + 83f4d2a4: 88d6 mv a7,s5 + 83f4d2a6: 8822 mv a6,s0 + 83f4d2a8: 01e10713 addi a4,sp,30 + 83f4d2ac: 86d2 mv a3,s4 + 83f4d2ae: 864e mv a2,s3 + 83f4d2b0: 85ca mv a1,s2 + 83f4d2b2: 8526 mv a0,s1 + 83f4d2b4: 7f9000ef jal ra,83f4e2ac + 83f4d2b8: 01e15783 lhu a5,30(sp) + 83f4d2bc: f3f5 bnez a5,83f4d2a0 + 83f4d2be: 60e6 ld ra,88(sp) + 83f4d2c0: 6446 ld s0,80(sp) + 83f4d2c2: 64a6 ld s1,72(sp) + 83f4d2c4: 6906 ld s2,64(sp) + 83f4d2c6: 79e2 ld s3,56(sp) + 83f4d2c8: 7a42 ld s4,48(sp) + 83f4d2ca: 7aa2 ld s5,40(sp) + 83f4d2cc: 6125 addi sp,sp,96 + 83f4d2ce: 8082 ret + +0000000083f4d2d0 : + 83f4d2d0: 7119 addi sp,sp,-128 + 83f4d2d2: f4a6 sd s1,104(sp) + 83f4d2d4: f0ca sd s2,96(sp) + 83f4d2d6: e0da sd s6,64(sp) + 83f4d2d8: fc5e sd s7,56(sp) + 83f4d2da: f06a sd s10,32(sp) + 83f4d2dc: ec6e sd s11,24(sp) + 83f4d2de: fc86 sd ra,120(sp) + 83f4d2e0: f8a2 sd s0,112(sp) + 83f4d2e2: ecce sd s3,88(sp) + 83f4d2e4: e8d2 sd s4,80(sp) + 83f4d2e6: e4d6 sd s5,72(sp) + 83f4d2e8: f862 sd s8,48(sp) + 83f4d2ea: f466 sd s9,40(sp) + 83f4d2ec: 671c ld a5,8(a4) + 83f4d2ee: e42e sd a1,8(sp) + 83f4d2f0: 8b3a mv s6,a4 + 83f4d2f2: 84aa mv s1,a0 + 83f4d2f4: 8bb2 mv s7,a2 + 83f4d2f6: 8d36 mv s10,a3 + 83f4d2f8: fd878d93 addi s11,a5,-40 + 83f4d2fc: 4901 li s2,0 + 83f4d2fe: c399 beqz a5,83f4d304 + 83f4d300: 0087b903 ld s2,8(a5) + 83f4d304: 4981 li s3,0 + 83f4d306: 001d0a1b addiw s4,s10,1 + 83f4d30a: 16fb0663 beq s6,a5,83f4d476 + 83f4d30e: 000dc783 lbu a5,0(s11) + 83f4d312: 002dd583 lhu a1,2(s11) + 83f4d316: c39d beqz a5,83f4d33c + 83f4d318: 14059563 bnez a1,83f4d462 + 83f4d31c: 2985 addiw s3,s3,1 + 83f4d31e: fd890d93 addi s11,s2,-40 + 83f4d322: 4781 li a5,0 + 83f4d324: 00090463 beqz s2,83f4d32c + 83f4d328: 00893783 ld a5,8(s2) + 83f4d32c: 152b0563 beq s6,s2,83f4d476 + 83f4d330: 893e mv s2,a5 + 83f4d332: 000dc783 lbu a5,0(s11) + 83f4d336: 002dd583 lhu a1,2(s11) + 83f4d33a: fff9 bnez a5,83f4d318 + 83f4d33c: 001dc703 lbu a4,1(s11) + 83f4d340: 010db403 ld s0,16(s11) + 83f4d344: 0005879b sext.w a5,a1 + 83f4d348: e355 bnez a4,83f4d3ec + 83f4d34a: 013beab3 or s5,s7,s3 + 83f4d34e: 4301 li t1,0 + 83f4d350: c7c1 beqz a5,83f4d3d8 + 83f4d352: 026d053b mulw a0,s10,t1 + 83f4d356: 406785bb subw a1,a5,t1 + 83f4d35a: fff5861b addiw a2,a1,-1 + 83f4d35e: 9522 add a0,a0,s0 + 83f4d360: 07a05863 blez s10,83f4d3d0 + 83f4d364: 4801 li a6,0 + 83f4d366: 01a508b3 add a7,a0,s10 + 83f4d36a: 010507b3 add a5,a0,a6 + 83f4d36e: 0007c583 lbu a1,0(a5) + 83f4d372: 010887b3 add a5,a7,a6 + 83f4d376: ce01 beqz a2,83f4d38e + 83f4d378: 4701 li a4,0 + 83f4d37a: a021 j 83f4d382 + 83f4d37c: 2705 addiw a4,a4,1 + 83f4d37e: 00c70863 beq a4,a2,83f4d38e + 83f4d382: 0007c683 lbu a3,0(a5) + 83f4d386: 97ea add a5,a5,s10 + 83f4d388: feb68ae3 beq a3,a1,83f4d37c + 83f4d38c: 863a mv a2,a4 + 83f4d38e: 0805 addi a6,a6,1 + 83f4d390: 0008079b sext.w a5,a6 + 83f4d394: fda7cbe3 blt a5,s10,83f4d36a + 83f4d398: 0016059b addiw a1,a2,1 + 83f4d39c: 00658cbb addw s9,a1,t1 + 83f4d3a0: 01536633 or a2,t1,s5 + 83f4d3a4: 2601 sext.w a2,a2 + 83f4d3a6: 15c2 slli a1,a1,0x30 + 83f4d3a8: 86a6 mv a3,s1 + 83f4d3aa: 00163613 seqz a2,a2 + 83f4d3ae: 91c1 srli a1,a1,0x30 + 83f4d3b0: e9dff0ef jal ra,83f4d24c + 83f4d3b4: 002dd783 lhu a5,2(s11) + 83f4d3b8: 00fcde63 bge s9,a5,83f4d3d4 + 83f4d3bc: 8366 mv t1,s9 + 83f4d3be: 026d053b mulw a0,s10,t1 + 83f4d3c2: 406785bb subw a1,a5,t1 + 83f4d3c6: fff5861b addiw a2,a1,-1 + 83f4d3ca: 9522 add a0,a0,s0 + 83f4d3cc: f9a04ce3 bgtz s10,83f4d364 + 83f4d3d0: 8cbe mv s9,a5 + 83f4d3d2: b7f9 j 83f4d3a0 + 83f4d3d4: 010db403 ld s0,16(s11) + 83f4d3d8: 008da783 lw a5,8(s11) + 83f4d3dc: 03a787bb mulw a5,a5,s10 + 83f4d3e0: 1782 slli a5,a5,0x20 + 83f4d3e2: 9381 srli a5,a5,0x20 + 83f4d3e4: 943e add s0,s0,a5 + 83f4d3e6: 008db823 sd s0,16(s11) + 83f4d3ea: bf0d j 83f4d31c + 83f4d3ec: c7a1 beqz a5,83f4d434 + 83f4d3ee: 00140c13 addi s8,s0,1 + 83f4d3f2: 013beab3 or s5,s7,s3 + 83f4d3f6: 4401 li s0,0 + 83f4d3f8: fffc4c83 lbu s9,-1(s8) + 83f4d3fc: 01546633 or a2,s0,s5 + 83f4d400: 408785bb subw a1,a5,s0 + 83f4d404: 2c85 addiw s9,s9,1 + 83f4d406: 000c881b sext.w a6,s9 + 83f4d40a: 8562 mv a0,s8 + 83f4d40c: 86a6 mv a3,s1 + 83f4d40e: 00163613 seqz a2,a2 + 83f4d412: 0105d363 bge a1,a6,83f4d418 + 83f4d416: 8cae mv s9,a1 + 83f4d418: 030c9593 slli a1,s9,0x30 + 83f4d41c: 91c1 srli a1,a1,0x30 + 83f4d41e: e2fff0ef jal ra,83f4d24c + 83f4d422: 002dd783 lhu a5,2(s11) + 83f4d426: 008c843b addw s0,s9,s0 + 83f4d42a: 9c52 add s8,s8,s4 + 83f4d42c: fcf446e3 blt s0,a5,83f4d3f8 + 83f4d430: 010db403 ld s0,16(s11) + 83f4d434: 008db683 ld a3,8(s11) + 83f4d438: 018dd783 lhu a5,24(s11) + 83f4d43c: 6622 ld a2,8(sp) + 83f4d43e: 0006d703 lhu a4,0(a3) + 83f4d442: 079a slli a5,a5,0x6 + 83f4d444: 97b2 add a5,a5,a2 + 83f4d446: 943a add s0,s0,a4 + 83f4d448: 008db823 sd s0,16(s11) + 83f4d44c: 4f98 lw a4,24(a5) + 83f4d44e: 0006d683 lhu a3,0(a3) + 83f4d452: 9f35 addw a4,a4,a3 + 83f4d454: cf98 sw a4,24(a5) + 83f4d456: 008db783 ld a5,8(s11) + 83f4d45a: 0789 addi a5,a5,2 + 83f4d45c: 00fdb423 sd a5,8(s11) + 83f4d460: bd75 j 83f4d31c + 83f4d462: 013be633 or a2,s7,s3 + 83f4d466: 86a6 mv a3,s1 + 83f4d468: 00163613 seqz a2,a2 + 83f4d46c: 010d8513 addi a0,s11,16 + 83f4d470: dddff0ef jal ra,83f4d24c + 83f4d474: b565 j 83f4d31c + 83f4d476: 70e6 ld ra,120(sp) + 83f4d478: 7446 ld s0,112(sp) + 83f4d47a: 74a6 ld s1,104(sp) + 83f4d47c: 7906 ld s2,96(sp) + 83f4d47e: 69e6 ld s3,88(sp) + 83f4d480: 6a46 ld s4,80(sp) + 83f4d482: 6aa6 ld s5,72(sp) + 83f4d484: 6b06 ld s6,64(sp) + 83f4d486: 7be2 ld s7,56(sp) + 83f4d488: 7c42 ld s8,48(sp) + 83f4d48a: 7ca2 ld s9,40(sp) + 83f4d48c: 7d02 ld s10,32(sp) + 83f4d48e: 6de2 ld s11,24(sp) + 83f4d490: 6109 addi sp,sp,128 + 83f4d492: 8082 ret + +0000000083f4d494 : + 83f4d494: 00012e17 auipc t3,0x12 + 83f4d498: 7ade0e13 addi t3,t3,1965 # 83f5fc41 + 83f4d49c: 000e4e83 lbu t4,0(t3) + 83f4d4a0: 7135 addi sp,sp,-160 + 83f4d4a2: e526 sd s1,136(sp) + 83f4d4a4: fcce sd s3,120(sp) + 83f4d4a6: f4d6 sd s5,104(sp) + 83f4d4a8: e8e2 sd s8,80(sp) + 83f4d4aa: ed06 sd ra,152(sp) + 83f4d4ac: e922 sd s0,144(sp) + 83f4d4ae: e14a sd s2,128(sp) + 83f4d4b0: f8d2 sd s4,112(sp) + 83f4d4b2: f0da sd s6,96(sp) + 83f4d4b4: ecde sd s7,88(sp) + 83f4d4b6: e4e6 sd s9,72(sp) + 83f4d4b8: e0ea sd s10,64(sp) + 83f4d4ba: fc6e sd s11,56(sp) + 83f4d4bc: d602 sw zero,44(sp) + 83f4d4be: e836 sd a3,16(sp) + 83f4d4c0: ec3a sd a4,24(sp) + 83f4d4c2: 8aaa mv s5,a0 + 83f4d4c4: 84b2 mv s1,a2 + 83f4d4c6: 8c42 mv s8,a6 + 83f4d4c8: 89c6 mv s3,a7 + 83f4d4ca: 000e9b63 bnez t4,83f4d4e0 + 83f4d4ce: 00010717 auipc a4,0x10 + 83f4d4d2: 00270713 addi a4,a4,2 # 83f5d4d0 + 83f4d4d6: e718 sd a4,8(a4) + 83f4d4d8: e318 sd a4,0(a4) + 83f4d4da: 4705 li a4,1 + 83f4d4dc: 00ee0023 sb a4,0(t3) + 83f4d4e0: 6742 ld a4,16(sp) + 83f4d4e2: 8826 mv a6,s1 + 83f4d4e4: 1074 addi a3,sp,44 + 83f4d4e6: 00010617 auipc a2,0x10 + 83f4d4ea: fea60613 addi a2,a2,-22 # 83f5d4d0 + 83f4d4ee: 8556 mv a0,s5 + 83f4d4f0: 90dff0ef jal ra,83f4cdfc + 83f4d4f4: 24050563 beqz a0,83f4d73e + 83f4d4f8: 4b81 li s7,0 + 83f4d4fa: 5dfd li s11,-1 + 83f4d4fc: 00010d17 auipc s10,0x10 + 83f4d500: fd4d0d13 addi s10,s10,-44 # 83f5d4d0 + 83f4d504: 4a05 li s4,1 + 83f4d506: 0c905b63 blez s1,83f4d5dc + 83f4d50a: 57b2 lw a5,44(sp) + 83f4d50c: 37fd addiw a5,a5,-1 + 83f4d50e: 0e0dc663 bltz s11,83f4d5fa + 83f4d512: 00492c83 lw s9,4(s2) + 83f4d516: 1afdca63 blt s11,a5,83f4d6ca + 83f4d51a: 03800513 li a0,56 + 83f4d51e: 066010ef jal ra,83f4e584 + 83f4d522: 842a mv s0,a0 + 83f4d524: 417c87bb subw a5,s9,s7 + 83f4d528: c955 beqz a0,83f4d5dc + 83f4d52a: 01441023 sh s4,0(s0) + 83f4d52e: 00f41123 sh a5,2(s0) + 83f4d532: 00042423 sw zero,8(s0) + 83f4d536: 01342823 sw s3,16(s0) + 83f4d53a: 00041c23 sh zero,24(s0) + 83f4d53e: 587d li a6,-1 + 83f4d540: 008d3703 ld a4,8(s10) + 83f4d544: 4781 li a5,0 + 83f4d546: ff070613 addi a2,a4,-16 + 83f4d54a: c311 beqz a4,83f4d54e + 83f4d54c: 671c ld a5,8(a4) + 83f4d54e: 03a70d63 beq a4,s10,83f4d588 + 83f4d552: 020d8b63 beqz s11,83f4d588 + 83f4d556: 4681 li a3,0 + 83f4d558: 0016871b addiw a4,a3,1 + 83f4d55c: ff078613 addi a2,a5,-16 + 83f4d560: cf89 beqz a5,83f4d57a + 83f4d562: 6794 ld a3,8(a5) + 83f4d564: 03a78263 beq a5,s10,83f4d588 + 83f4d568: 87b6 mv a5,a3 + 83f4d56a: 01b70f63 beq a4,s11,83f4d588 + 83f4d56e: 86ba mv a3,a4 + 83f4d570: 0016871b addiw a4,a3,1 + 83f4d574: ff078613 addi a2,a5,-16 + 83f4d578: f7ed bnez a5,83f4d562 + 83f4d57a: 21b70163 beq a4,s11,83f4d77c + 83f4d57e: 0026871b addiw a4,a3,2 + 83f4d582: 5641 li a2,-16 + 83f4d584: ffb715e3 bne a4,s11,83f4d56e + 83f4d588: 00865783 lhu a5,8(a2) + 83f4d58c: 079a slli a5,a5,0x6 + 83f4d58e: 97d6 add a5,a5,s5 + 83f4d590: 4398 lw a4,0(a5) + 83f4d592: 3779 addiw a4,a4,-2 + 83f4d594: 9b75 andi a4,a4,-3 + 83f4d596: 2701 sext.w a4,a4 + 83f4d598: cb65 beqz a4,83f4d688 + 83f4d59a: 5b9c lw a5,48(a5) + 83f4d59c: c81c sw a5,16(s0) + 83f4d59e: 85ee mv a1,s11 + 83f4d5a0: 8666 mv a2,s9 + 83f4d5a2: 856a mv a0,s10 + 83f4d5a4: e442 sd a6,8(sp) + 83f4d5a6: f66ff0ef jal ra,83f4cd0c + 83f4d5aa: 57b2 lw a5,44(sp) + 83f4d5ac: 6822 ld a6,8(sp) + 83f4d5ae: 8be6 mv s7,s9 + 83f4d5b0: 40a80dbb subw s11,a6,a0 + 83f4d5b4: 40a7853b subw a0,a5,a0 + 83f4d5b8: d62a sw a0,44(sp) + 83f4d5ba: 120dd263 bgez s11,83f4d6de + 83f4d5be: 501c lw a5,32(s0) + 83f4d5c0: 02840713 addi a4,s0,40 + 83f4d5c4: 2785 addiw a5,a5,1 + 83f4d5c6: d01c sw a5,32(s0) + 83f4d5c8: 000c3783 ld a5,0(s8) + 83f4d5cc: 03843823 sd s8,48(s0) + 83f4d5d0: f41c sd a5,40(s0) + 83f4d5d2: e798 sd a4,8(a5) + 83f4d5d4: 00ec3023 sd a4,0(s8) + 83f4d5d8: f29cc9e3 blt s9,s1,83f4d50a + 83f4d5dc: 60ea ld ra,152(sp) + 83f4d5de: 644a ld s0,144(sp) + 83f4d5e0: 64aa ld s1,136(sp) + 83f4d5e2: 690a ld s2,128(sp) + 83f4d5e4: 79e6 ld s3,120(sp) + 83f4d5e6: 7a46 ld s4,112(sp) + 83f4d5e8: 7aa6 ld s5,104(sp) + 83f4d5ea: 7b06 ld s6,96(sp) + 83f4d5ec: 6be6 ld s7,88(sp) + 83f4d5ee: 6c46 ld s8,80(sp) + 83f4d5f0: 6ca6 ld s9,72(sp) + 83f4d5f2: 6d06 ld s10,64(sp) + 83f4d5f4: 7de2 ld s11,56(sp) + 83f4d5f6: 610d addi sp,sp,160 + 83f4d5f8: 8082 ret + 83f4d5fa: 000d3683 ld a3,0(s10) + 83f4d5fe: ff068713 addi a4,a3,-16 + 83f4d602: 16dd0f63 beq s10,a3,83f4d780 + 83f4d606: 8b3e mv s6,a5 + 83f4d608: 863a mv a2,a4 + 83f4d60a: 420c lw a1,0(a2) + 83f4d60c: 00462c83 lw s9,4(a2) + 83f4d610: 02bbcd63 blt s7,a1,83f4d64a + 83f4d614: 039bdb63 bge s7,s9,83f4d64a + 83f4d618: 5dfd li s11,-1 + 83f4d61a: 04fb4463 blt s6,a5,83f4d662 + 83f4d61e: 03800513 li a0,56 + 83f4d622: 763000ef jal ra,83f4e584 + 83f4d626: 842a mv s0,a0 + 83f4d628: 417c87bb subw a5,s9,s7 + 83f4d62c: d945 beqz a0,83f4d5dc + 83f4d62e: 01451023 sh s4,0(a0) + 83f4d632: 00f51123 sh a5,2(a0) + 83f4d636: 00052423 sw zero,8(a0) + 83f4d63a: 01352823 sw s3,16(a0) + 83f4d63e: 00051c23 sh zero,24(a0) + 83f4d642: 160b5263 bgez s6,83f4d7a6 + 83f4d646: 8be6 mv s7,s9 + 83f4d648: bf9d j 83f4d5be + 83f4d64a: 6a0c ld a1,16(a2) + 83f4d64c: 3b7d addiw s6,s6,-1 + 83f4d64e: ff058613 addi a2,a1,-16 + 83f4d652: fabd1ce3 bne s10,a1,83f4d60a + 83f4d656: 5b7d li s6,-1 + 83f4d658: 8ca6 mv s9,s1 + 83f4d65a: 85de mv a1,s7 + 83f4d65c: 5dfd li s11,-1 + 83f4d65e: fcfb50e3 bge s6,a5,83f4d61e + 83f4d662: 5dfd li s11,-1 + 83f4d664: a031 j 83f4d670 + 83f4d666: 6b10 ld a2,16(a4) + 83f4d668: ff060713 addi a4,a2,-16 + 83f4d66c: fba609e3 beq a2,s10,83f4d61e + 83f4d670: 4310 lw a2,0(a4) + 83f4d672: 00b64763 blt a2,a1,83f4d680 + 83f4d676: 01965563 bge a2,s9,83f4d680 + 83f4d67a: 8dbe mv s11,a5 + 83f4d67c: 893a mv s2,a4 + 83f4d67e: 8cb2 mv s9,a2 + 83f4d680: 37fd addiw a5,a5,-1 + 83f4d682: fefb42e3 blt s6,a5,83f4d666 + 83f4d686: bf61 j 83f4d61e + 83f4d688: 00040023 sb zero,0(s0) + 83f4d68c: 4394 lw a3,0(a5) + 83f4d68e: 65c2 ld a1,16(sp) + 83f4d690: 4509 li a0,2 + 83f4d692: ffe68713 addi a4,a3,-2 + 83f4d696: 00e03733 snez a4,a4 + 83f4d69a: 00e400a3 sb a4,1(s0) + 83f4d69e: 4798 lw a4,8(a5) + 83f4d6a0: 9d99 subw a1,a1,a4 + 83f4d6a2: 872e mv a4,a1 + 83f4d6a4: 06a69f63 bne a3,a0,83f4d722 + 83f4d6a8: 4f94 lw a3,24(a5) + 83f4d6aa: 02d7073b mulw a4,a4,a3 + 83f4d6ae: c414 sw a3,8(s0) + 83f4d6b0: 4214 lw a3,0(a2) + 83f4d6b2: 7b90 ld a2,48(a5) + 83f4d6b4: 40db87bb subw a5,s7,a3 + 83f4d6b8: 9f3d addw a4,a4,a5 + 83f4d6ba: 67e2 ld a5,24(sp) + 83f4d6bc: 02f707bb mulw a5,a4,a5 + 83f4d6c0: 1782 slli a5,a5,0x20 + 83f4d6c2: 9381 srli a5,a5,0x20 + 83f4d6c4: 97b2 add a5,a5,a2 + 83f4d6c6: e81c sd a5,16(s0) + 83f4d6c8: bdd9 j 83f4d59e + 83f4d6ca: 000d3683 ld a3,0(s10) + 83f4d6ce: 00092583 lw a1,0(s2) + 83f4d6d2: ff068713 addi a4,a3,-16 + 83f4d6d6: e4dd02e3 beq s10,a3,83f4d51a + 83f4d6da: 8b6e mv s6,s11 + 83f4d6dc: b759 j 83f4d662 + 83f4d6de: 008d3783 ld a5,8(s10) + 83f4d6e2: 4701 li a4,0 + 83f4d6e4: c391 beqz a5,83f4d6e8 + 83f4d6e6: 6798 ld a4,8(a5) + 83f4d6e8: ff078693 addi a3,a5,-16 + 83f4d6ec: f5a78de3 beq a5,s10,83f4d646 + 83f4d6f0: 4781 li a5,0 + 83f4d6f2: 0a0d8763 beqz s11,83f4d7a0 + 83f4d6f6: 2785 addiw a5,a5,1 + 83f4d6f8: cf09 beqz a4,83f4d712 + 83f4d6fa: 6714 ld a3,8(a4) + 83f4d6fc: f5a705e3 beq a4,s10,83f4d646 + 83f4d700: 00fd8d63 beq s11,a5,83f4d71a + 83f4d704: 8736 mv a4,a3 + 83f4d706: 2785 addiw a5,a5,1 + 83f4d708: fb6d bnez a4,83f4d6fa + 83f4d70a: a021 j 83f4d712 + 83f4d70c: 00dd8763 beq s11,a3,83f4d71a + 83f4d710: 2789 addiw a5,a5,2 + 83f4d712: 0017869b addiw a3,a5,1 + 83f4d716: ffb79be3 bne a5,s11,83f4d70c + 83f4d71a: ff070913 addi s2,a4,-16 + 83f4d71e: 8be6 mv s7,s9 + 83f4d720: bd79 j 83f4d5be + 83f4d722: 0187e683 lwu a3,24(a5) + 83f4d726: 7b98 ld a4,48(a5) + 83f4d728: 0586 slli a1,a1,0x1 + 83f4d72a: 9736 add a4,a4,a3 + 83f4d72c: e818 sd a4,16(s0) + 83f4d72e: 7b9c ld a5,48(a5) + 83f4d730: 95be add a1,a1,a5 + 83f4d732: e40c sd a1,8(s0) + 83f4d734: 00865783 lhu a5,8(a2) + 83f4d738: 00f41c23 sh a5,24(s0) + 83f4d73c: b58d j 83f4d59e + 83f4d73e: 03800513 li a0,56 + 83f4d742: 643000ef jal ra,83f4e584 + 83f4d746: e8050be3 beqz a0,83f4d5dc + 83f4d74a: 511c lw a5,32(a0) + 83f4d74c: 4705 li a4,1 + 83f4d74e: 00e51023 sh a4,0(a0) + 83f4d752: 2785 addiw a5,a5,1 + 83f4d754: 00951123 sh s1,2(a0) + 83f4d758: d11c sw a5,32(a0) + 83f4d75a: 00052423 sw zero,8(a0) + 83f4d75e: 01352823 sw s3,16(a0) + 83f4d762: 00051c23 sh zero,24(a0) + 83f4d766: 000c3703 ld a4,0(s8) + 83f4d76a: 02850793 addi a5,a0,40 + 83f4d76e: 03853823 sd s8,48(a0) + 83f4d772: f518 sd a4,40(a0) + 83f4d774: e71c sd a5,8(a4) + 83f4d776: 00fc3023 sd a5,0(s8) + 83f4d77a: b58d j 83f4d5dc + 83f4d77c: 5641 li a2,-16 + 83f4d77e: b529 j 83f4d588 + 83f4d780: 03800513 li a0,56 + 83f4d784: 601000ef jal ra,83f4e584 + 83f4d788: 4174883b subw a6,s1,s7 + 83f4d78c: e40508e3 beqz a0,83f4d5dc + 83f4d790: 511c lw a5,32(a0) + 83f4d792: 4705 li a4,1 + 83f4d794: 00e51023 sh a4,0(a0) + 83f4d798: 2785 addiw a5,a5,1 + 83f4d79a: 01051123 sh a6,2(a0) + 83f4d79e: bf6d j 83f4d758 + 83f4d7a0: 8936 mv s2,a3 + 83f4d7a2: 8be6 mv s7,s9 + 83f4d7a4: bd29 j 83f4d5be + 83f4d7a6: 886e mv a6,s11 + 83f4d7a8: 8dda mv s11,s6 + 83f4d7aa: bb59 j 83f4d540 + +0000000083f4d7ac : + 83f4d7ac: 716d addi sp,sp,-272 + 83f4d7ae: fda6 sd s1,248(sp) + 83f4d7b0: f9ca sd s2,240(sp) + 83f4d7b2: f5ce sd s3,232(sp) + 83f4d7b4: e5de sd s7,200(sp) + 83f4d7b6: fd66 sd s9,184(sp) + 83f4d7b8: e606 sd ra,264(sp) + 83f4d7ba: e222 sd s0,256(sp) + 83f4d7bc: f1d2 sd s4,224(sp) + 83f4d7be: edd6 sd s5,216(sp) + 83f4d7c0: e9da sd s6,208(sp) + 83f4d7c2: e1e2 sd s8,192(sp) + 83f4d7c4: f96a sd s10,176(sp) + 83f4d7c6: f56e sd s11,168(sp) + 83f4d7c8: ce32 sw a2,28(sp) + 83f4d7ca: 8baa mv s7,a0 + 83f4d7cc: 84b6 mv s1,a3 + 83f4d7ce: 89ba mv s3,a4 + 83f4d7d0: 8cbe mv s9,a5 + 83f4d7d2: 4901 li s2,0 + 83f4d7d4: 16061163 bnez a2,83f4d936 + 83f4d7d8: 00012797 auipc a5,0x12 + 83f4d7dc: 46878793 addi a5,a5,1128 # 83f5fc40 + 83f4d7e0: 0007c703 lbu a4,0(a5) + 83f4d7e4: 12070f63 beqz a4,83f4d922 + 83f4d7e8: 03010a93 addi s5,sp,48 + 83f4d7ec: 86de mv a3,s7 + 83f4d7ee: 864e mv a2,s3 + 83f4d7f0: 85a6 mv a1,s1 + 83f4d7f2: 8556 mv a0,s5 + 83f4d7f4: 9b9ff0ef jal ra,83f4d1ac + 83f4d7f8: 008ba503 lw a0,8(s7) + 83f4d7fc: 481000ef jal ra,83f4e47c + 83f4d800: 004ba303 lw t1,4(s7) + 83f4d804: 14605963 blez t1,83f4d956 + 83f4d808: 00010417 auipc s0,0x10 + 83f4d80c: cb840413 addi s0,s0,-840 # 83f5d4c0 + 83f4d810: 0005099b sext.w s3,a0 + 83f4d814: 4b01 li s6,0 + 83f4d816: 02c10c13 addi s8,sp,44 + 83f4d81a: 00010497 auipc s1,0x10 + 83f4d81e: cb648493 addi s1,s1,-842 # 83f5d4d0 + 83f4d822: 8a22 mv s4,s0 + 83f4d824: 00cba883 lw a7,12(s7) + 83f4d828: 000ba603 lw a2,0(s7) + 83f4d82c: 45f2 lw a1,28(sp) + 83f4d82e: 86da mv a3,s6 + 83f4d830: 87e2 mv a5,s8 + 83f4d832: 874e mv a4,s3 + 83f4d834: 8852 mv a6,s4 + 83f4d836: 854a mv a0,s2 + 83f4d838: d61a sw t1,44(sp) + 83f4d83a: c5bff0ef jal ra,83f4d494 + 83f4d83e: 87da mv a5,s6 + 83f4d840: 5b32 lw s6,44(sp) + 83f4d842: 00078d1b sext.w s10,a5 + 83f4d846: 40fb073b subw a4,s6,a5 + 83f4d84a: 00f70dbb addw s11,a4,a5 + 83f4d84e: 00e05c63 blez a4,83f4d866 + 83f4d852: 866a mv a2,s10 + 83f4d854: 8752 mv a4,s4 + 83f4d856: 2d05 addiw s10,s10,1 + 83f4d858: 86ce mv a3,s3 + 83f4d85a: 85ca mv a1,s2 + 83f4d85c: 8556 mv a0,s5 + 83f4d85e: a73ff0ef jal ra,83f4d2d0 + 83f4d862: ffad98e3 bne s11,s10,83f4d852 + 83f4d866: 854a mv a0,s2 + 83f4d868: fffb061b addiw a2,s6,-1 + 83f4d86c: 086c addi a1,sp,28 + 83f4d86e: d16ff0ef jal ra,83f4cd84 + 83f4d872: 6408 ld a0,8(s0) + 83f4d874: 02850763 beq a0,s0,83f4d8a2 + 83f4d878: 6118 ld a4,0(a0) + 83f4d87a: 651c ld a5,8(a0) + 83f4d87c: fd850513 addi a0,a0,-40 + 83f4d880: e71c sd a5,8(a4) + 83f4d882: e398 sd a4,0(a5) + 83f4d884: 667000ef jal ra,83f4e6ea + 83f4d888: 6408 ld a0,8(s0) + 83f4d88a: fe8517e3 bne a0,s0,83f4d878 + 83f4d88e: 6488 ld a0,8(s1) + 83f4d890: 00950c63 beq a0,s1,83f4d8a8 + 83f4d894: 6118 ld a4,0(a0) + 83f4d896: 651c ld a5,8(a0) + 83f4d898: 1541 addi a0,a0,-16 + 83f4d89a: e71c sd a5,8(a4) + 83f4d89c: e398 sd a4,0(a5) + 83f4d89e: 64d000ef jal ra,83f4e6ea + 83f4d8a2: 6488 ld a0,8(s1) + 83f4d8a4: fe9518e3 bne a0,s1,83f4d894 + 83f4d8a8: 004ba303 lw t1,4(s7) + 83f4d8ac: f66b4ce3 blt s6,t1,83f4d824 + 83f4d8b0: 07810313 addi t1,sp,120 + 83f4d8b4: 04000893 li a7,64 + 83f4d8b8: 4805 li a6,1 + 83f4d8ba: 87e2 mv a5,s8 + 83f4d8bc: 0978 addi a4,sp,156 + 83f4d8be: 0934 addi a3,sp,152 + 83f4d8c0: 0950 addi a2,sp,148 + 83f4d8c2: 090c addi a1,sp,144 + 83f4d8c4: e41a sd t1,8(sp) + 83f4d8c6: 4501 li a0,0 + 83f4d8c8: e056 sd s5,0(sp) + 83f4d8ca: 02011623 sh zero,44(sp) + 83f4d8ce: 26f000ef jal ra,83f4e33c + 83f4d8d2: 440a lw s0,128(sp) + 83f4d8d4: 3b9000ef jal ra,83f4e48c + 83f4d8d8: 241d addiw s0,s0,7 + 83f4d8da: 4034541b sraiw s0,s0,0x3 + 83f4d8de: 1402 slli s0,s0,0x20 + 83f4d8e0: 9001 srli s0,s0,0x20 + 83f4d8e2: 043d addi s0,s0,15 + 83f4d8e4: 00a407b3 add a5,s0,a0 + 83f4d8e8: 8391 srli a5,a5,0x4 + 83f4d8ea: 2785 addiw a5,a5,1 + 83f4d8ec: 0047979b slliw a5,a5,0x4 + 83f4d8f0: 854a mv a0,s2 + 83f4d8f2: 00fca023 sw a5,0(s9) + 83f4d8f6: 5f5000ef jal ra,83f4e6ea + 83f4d8fa: 6566 ld a0,88(sp) + 83f4d8fc: c119 beqz a0,83f4d902 + 83f4d8fe: 5ed000ef jal ra,83f4e6ea + 83f4d902: 452a lw a0,136(sp) + 83f4d904: 60b2 ld ra,264(sp) + 83f4d906: 6412 ld s0,256(sp) + 83f4d908: 74ee ld s1,248(sp) + 83f4d90a: 794e ld s2,240(sp) + 83f4d90c: 79ae ld s3,232(sp) + 83f4d90e: 7a0e ld s4,224(sp) + 83f4d910: 6aee ld s5,216(sp) + 83f4d912: 6b4e ld s6,208(sp) + 83f4d914: 6bae ld s7,200(sp) + 83f4d916: 6c0e ld s8,192(sp) + 83f4d918: 7cea ld s9,184(sp) + 83f4d91a: 7d4a ld s10,176(sp) + 83f4d91c: 7daa ld s11,168(sp) + 83f4d91e: 6151 addi sp,sp,272 + 83f4d920: 8082 ret + 83f4d922: 00010417 auipc s0,0x10 + 83f4d926: b9e40413 addi s0,s0,-1122 # 83f5d4c0 + 83f4d92a: 4705 li a4,1 + 83f4d92c: 00e78023 sb a4,0(a5) + 83f4d930: e400 sd s0,8(s0) + 83f4d932: e000 sd s0,0(s0) + 83f4d934: bd55 j 83f4d7e8 + 83f4d936: 02061793 slli a5,a2,0x20 + 83f4d93a: 01a7d513 srli a0,a5,0x1a + 83f4d93e: e82e sd a1,16(sp) + 83f4d940: 445000ef jal ra,83f4e584 + 83f4d944: 892a mv s2,a0 + 83f4d946: c919 beqz a0,83f4d95c + 83f4d948: 01c16603 lwu a2,28(sp) + 83f4d94c: 65c2 ld a1,16(sp) + 83f4d94e: 061a slli a2,a2,0x6 + 83f4d950: fb0f20ef jal ra,83f40100 + 83f4d954: b551 j 83f4d7d8 + 83f4d956: 02c10c13 addi s8,sp,44 + 83f4d95a: bf99 j 83f4d8b0 + 83f4d95c: 557d li a0,-1 + 83f4d95e: b75d j 83f4d904 + +0000000083f4d960 : + 83f4d960: 7179 addi sp,sp,-48 + 83f4d962: f406 sd ra,40(sp) + 83f4d964: f022 sd s0,32(sp) + 83f4d966: ec26 sd s1,24(sp) + 83f4d968: e84a sd s2,16(sp) + 83f4d96a: e44e sd s3,8(sp) + 83f4d96c: e052 sd s4,0(sp) + 83f4d96e: 84ae mv s1,a1 + 83f4d970: 418c lw a1,0(a1) + 83f4d972: 8832 mv a6,a2 + 83f4d974: 842a mv s0,a0 + 83f4d976: fff5861b addiw a2,a1,-1 + 83f4d97a: 8542 mv a0,a6 + 83f4d97c: 4581 li a1,0 + 83f4d97e: 8a36 mv s4,a3 + 83f4d980: 89ba mv s3,a4 + 83f4d982: 893e mv s2,a5 + 83f4d984: 444000ef jal ra,83f4ddc8 + 83f4d988: c008 sw a0,0(s0) + 83f4d98a: 40d0 lw a2,4(s1) + 83f4d98c: 4581 li a1,0 + 83f4d98e: 8552 mv a0,s4 + 83f4d990: 367d addiw a2,a2,-1 + 83f4d992: 436000ef jal ra,83f4ddc8 + 83f4d996: c048 sw a0,4(s0) + 83f4d998: 401c lw a5,0(s0) + 83f4d99a: 4090 lw a2,0(s1) + 83f4d99c: 4581 li a1,0 + 83f4d99e: 854e mv a0,s3 + 83f4d9a0: 9e1d subw a2,a2,a5 + 83f4d9a2: 426000ef jal ra,83f4ddc8 + 83f4d9a6: c408 sw a0,8(s0) + 83f4d9a8: 40d0 lw a2,4(s1) + 83f4d9aa: 405c lw a5,4(s0) + 83f4d9ac: 854a mv a0,s2 + 83f4d9ae: 4581 li a1,0 + 83f4d9b0: 9e1d subw a2,a2,a5 + 83f4d9b2: 416000ef jal ra,83f4ddc8 + 83f4d9b6: c448 sw a0,12(s0) + 83f4d9b8: 70a2 ld ra,40(sp) + 83f4d9ba: 7402 ld s0,32(sp) + 83f4d9bc: 64e2 ld s1,24(sp) + 83f4d9be: 6942 ld s2,16(sp) + 83f4d9c0: 69a2 ld s3,8(sp) + 83f4d9c2: 6a02 ld s4,0(sp) + 83f4d9c4: 6145 addi sp,sp,48 + 83f4d9c6: 8082 ret + +0000000083f4d9c8 : + 83f4d9c8: 7135 addi sp,sp,-160 + 83f4d9ca: ed06 sd ra,152(sp) + 83f4d9cc: e922 sd s0,144(sp) + 83f4d9ce: e526 sd s1,136(sp) + 83f4d9d0: e14a sd s2,128(sp) + 83f4d9d2: fcce sd s3,120(sp) + 83f4d9d4: f8d2 sd s4,112(sp) + 83f4d9d6: f4d6 sd s5,104(sp) + 83f4d9d8: f0da sd s6,96(sp) + 83f4d9da: ecde sd s7,88(sp) + 83f4d9dc: e8e2 sd s8,80(sp) + 83f4d9de: e4e6 sd s9,72(sp) + 83f4d9e0: bc22 fsd fs0,56(sp) + 83f4d9e2: b826 fsd fs1,48(sp) + 83f4d9e4: b44a fsd fs2,40(sp) + 83f4d9e6: b04e fsd fs3,32(sp) + 83f4d9e8: ac52 fsd fs4,24(sp) + 83f4d9ea: a856 fsd fs5,16(sp) + 83f4d9ec: a45a fsd fs6,8(sp) + 83f4d9ee: a05e fsd fs7,0(sp) + 83f4d9f0: d910 sw a2,48(a0) + 83f4d9f2: 8bb2 mv s7,a2 + 83f4d9f4: 4190 lw a2,0(a1) + 83f4d9f6: 84ae mv s1,a1 + 83f4d9f8: 842a mv s0,a0 + 83f4d9fa: 4581 li a1,0 + 83f4d9fc: 8536 mv a0,a3 + 83f4d9fe: 893a mv s2,a4 + 83f4da00: 8abe mv s5,a5 + 83f4da02: 8a42 mv s4,a6 + 83f4da04: 8b46 mv s6,a7 + 83f4da06: 3c2000ef jal ra,83f4ddc8 + 83f4da0a: 4090 lw a2,0(s1) + 83f4da0c: 4581 li a1,0 + 83f4da0e: 89aa mv s3,a0 + 83f4da10: 8556 mv a0,s5 + 83f4da12: 3b6000ef jal ra,83f4ddc8 + 83f4da16: 40d0 lw a2,4(s1) + 83f4da18: 4581 li a1,0 + 83f4da1a: 8aaa mv s5,a0 + 83f4da1c: 854a mv a0,s2 + 83f4da1e: 3aa000ef jal ra,83f4ddc8 + 83f4da22: 40d0 lw a2,4(s1) + 83f4da24: 4581 li a1,0 + 83f4da26: 892a mv s2,a0 + 83f4da28: 8552 mv a0,s4 + 83f4da2a: 39e000ef jal ra,83f4ddc8 + 83f4da2e: 8a2a mv s4,a0 + 83f4da30: 02000613 li a2,32 + 83f4da34: 855a mv a0,s6 + 83f4da36: 4585 li a1,1 + 83f4da38: 390000ef jal ra,83f4ddc8 + 83f4da3c: 8b2a mv s6,a0 + 83f4da3e: 23598c63 beq s3,s5,83f4dc76 + 83f4da42: 1d490163 beq s2,s4,83f4dc04 + 83f4da46: 478d li a5,3 + 83f4da48: 03742823 sw s7,48(s0) + 83f4da4c: c01c sw a5,0(s0) + 83f4da4e: 00090c9b sext.w s9,s2 + 83f4da52: 012a5463 bge s4,s2,83f4da5a + 83f4da56: 000a0c9b sext.w s9,s4 + 83f4da5a: 01495563 bge s2,s4,83f4da64 + 83f4da5e: 87ce mv a5,s3 + 83f4da60: 89d6 mv s3,s5 + 83f4da62: 8abe mv s5,a5 + 83f4da64: 86ca mv a3,s2 + 83f4da66: 01495363 bge s2,s4,83f4da6c + 83f4da6a: 86d2 mv a3,s4 + 83f4da6c: 4196863b subw a2,a3,s9 + 83f4da70: 41598bbb subw s7,s3,s5 + 83f4da74: d00bf453 fcvt.s.w fs0,s7 + 83f4da78: d0067bd3 fcvt.s.w fs7,a2 + 83f4da7c: 8732 mv a4,a2 + 83f4da7e: 87de mv a5,s7 + 83f4da80: 00068c1b sext.w s8,a3 + 83f4da84: 22060463 beqz a2,83f4dcac + 83f4da88: 197477d3 fdiv.s fa5,fs0,fs7 + 83f4da8c: 02e7073b mulw a4,a4,a4 + 83f4da90: 00005697 auipc a3,0x5 + 83f4da94: 8086b487 fld fs1,-2040(a3) # 83f52298 <__func__.1+0xa0> + 83f4da98: 229485d3 fmv.d fa1,fs1 + 83f4da9c: 00f42227 fsw fa5,4(s0) + 83f4daa0: 00840913 addi s2,s0,8 + 83f4daa4: 01040a13 addi s4,s0,16 + 83f4daa8: 02f787bb mulw a5,a5,a5 + 83f4daac: 9fb9 addw a5,a5,a4 + 83f4daae: d2078553 fcvt.d.w fa0,a5 + 83f4dab2: a10f30ef jal ra,83f40cc2 + 83f4dab6: d20b07d3 fcvt.d.w fa5,s6 + 83f4daba: d00af9d3 fcvt.s.w fs3,s5 + 83f4dabe: d00cfa53 fcvt.s.w fs4,s9 + 83f4dac2: 1297f7d3 fmul.d fa5,fa5,fs1 + 83f4dac6: d009fad3 fcvt.s.w fs5,s3 + 83f4daca: d00c7b53 fcvt.s.w fs6,s8 + 83f4dace: 1aa7f7d3 fdiv.d fa5,fa5,fa0 + 83f4dad2: 4017f7d3 fcvt.s.d fa5,fa5 + 83f4dad6: 10f47453 fmul.s fs0,fs0,fa5 + 83f4dada: 10fbfbd3 fmul.s fs7,fs7,fa5 + 83f4dade: 409c lw a5,0(s1) + 83f4dae0: 217b8953 fmv.s fs2,fs7 + 83f4dae4: 208404d3 fmv.s fs1,fs0 + 83f4dae8: d007f7d3 fcvt.s.w fa5,a5 + 83f4daec: 217b9bd3 fneg.s fs7,fs7 + 83f4daf0: 20841453 fneg.s fs0,fs0 + 83f4daf4: c0079653 fcvt.w.s a2,fa5,rtz + 83f4daf8: 4581 li a1,0 + 83f4dafa: 2601 sext.w a2,a2 + 83f4dafc: 1a0bc363 bltz s7,83f4dca2 + 83f4db00: 0129f7d3 fadd.s fa5,fs3,fs2 + 83f4db04: 208404d3 fmv.s fs1,fs0 + 83f4db08: c0079553 fcvt.w.s a0,fa5,rtz + 83f4db0c: 0911 addi s2,s2,4 + 83f4db0e: 2501 sext.w a0,a0 + 83f4db10: 2b8000ef jal ra,83f4ddc8 + 83f4db14: d00577d3 fcvt.s.w fa5,a0 + 83f4db18: 4581 li a1,0 + 83f4db1a: fef92e27 fsw fa5,-4(s2) + 83f4db1e: 40dc lw a5,4(s1) + 83f4db20: 0144f7d3 fadd.s fa5,fs1,fs4 + 83f4db24: d007f753 fcvt.s.w fa4,a5 + 83f4db28: c0079553 fcvt.w.s a0,fa5,rtz + 83f4db2c: c0071653 fcvt.w.s a2,fa4,rtz + 83f4db30: 2501 sext.w a0,a0 + 83f4db32: 2601 sext.w a2,a2 + 83f4db34: 294000ef jal ra,83f4ddc8 + 83f4db38: d00577d3 fcvt.s.w fa5,a0 + 83f4db3c: 012af953 fadd.s fs2,fs5,fs2 + 83f4db40: 4581 li a1,0 + 83f4db42: 00f92227 fsw fa5,4(s2) + 83f4db46: 409c lw a5,0(s1) + 83f4db48: c0091553 fcvt.w.s a0,fs2,rtz + 83f4db4c: d007f7d3 fcvt.s.w fa5,a5 + 83f4db50: 2501 sext.w a0,a0 + 83f4db52: c0079653 fcvt.w.s a2,fa5,rtz + 83f4db56: 2601 sext.w a2,a2 + 83f4db58: 270000ef jal ra,83f4ddc8 + 83f4db5c: d00577d3 fcvt.s.w fa5,a0 + 83f4db60: 009b74d3 fadd.s fs1,fs6,fs1 + 83f4db64: 4581 li a1,0 + 83f4db66: 00f92627 fsw fa5,12(s2) + 83f4db6a: 40dc lw a5,4(s1) + 83f4db6c: c0049553 fcvt.w.s a0,fs1,rtz + 83f4db70: d007f7d3 fcvt.s.w fa5,a5 + 83f4db74: 2501 sext.w a0,a0 + 83f4db76: c0079653 fcvt.w.s a2,fa5,rtz + 83f4db7a: 2601 sext.w a2,a2 + 83f4db7c: 24c000ef jal ra,83f4ddc8 + 83f4db80: d00577d3 fcvt.s.w fa5,a0 + 83f4db84: 00f92a27 fsw fa5,20(s2) + 83f4db88: f52a1be3 bne s4,s2,83f4dade + 83f4db8c: 01442707 flw fa4,20(s0) + 83f4db90: 01042507 flw fa0,16(s0) + 83f4db94: 00442787 flw fa5,4(s0) + 83f4db98: 00842607 flw fa2,8(s0) + 83f4db9c: 08a775d3 fsub.s fa1,fa4,fa0 + 83f4dba0: 00c42687 flw fa3,12(s0) + 83f4dba4: a0e517d3 flt.s a5,fa0,fa4 + 83f4dba8: 60b7f7c3 fmadd.s fa5,fa5,fa1,fa2 + 83f4dbac: 08d7f7d3 fsub.s fa5,fa5,fa3 + 83f4dbb0: 02f42427 fsw fa5,40(s0) + 83f4dbb4: e399 bnez a5,83f4dbba + 83f4dbb6: 20e70553 fmv.s fa0,fa4 + 83f4dbba: 42050553 fcvt.d.s fa0,fa0 + 83f4dbbe: ee3f20ef jal ra,83f40aa0 + 83f4dbc2: 02442787 flw fa5,36(s0) + 83f4dbc6: c20517d3 fcvt.w.d a5,fa0,rtz + 83f4dbca: 42078553 fcvt.d.s fa0,fa5 + 83f4dbce: dc5c sw a5,60(s0) + 83f4dbd0: ed1f20ef jal ra,83f40aa0 + 83f4dbd4: c20517d3 fcvt.w.d a5,fa0,rtz + 83f4dbd8: dc1c sw a5,56(s0) + 83f4dbda: 60ea ld ra,152(sp) + 83f4dbdc: 644a ld s0,144(sp) + 83f4dbde: 64aa ld s1,136(sp) + 83f4dbe0: 690a ld s2,128(sp) + 83f4dbe2: 79e6 ld s3,120(sp) + 83f4dbe4: 7a46 ld s4,112(sp) + 83f4dbe6: 7aa6 ld s5,104(sp) + 83f4dbe8: 7b06 ld s6,96(sp) + 83f4dbea: 6be6 ld s7,88(sp) + 83f4dbec: 6c46 ld s8,80(sp) + 83f4dbee: 6ca6 ld s9,72(sp) + 83f4dbf0: 3462 fld fs0,56(sp) + 83f4dbf2: 34c2 fld fs1,48(sp) + 83f4dbf4: 3922 fld fs2,40(sp) + 83f4dbf6: 3982 fld fs3,32(sp) + 83f4dbf8: 2a62 fld fs4,24(sp) + 83f4dbfa: 2ac2 fld fs5,16(sp) + 83f4dbfc: 2b22 fld fs6,8(sp) + 83f4dbfe: 2b82 fld fs7,0(sp) + 83f4dc00: 610d addi sp,sp,160 + 83f4dc02: 8082 ret + 83f4dc04: 864e mv a2,s3 + 83f4dc06: 0d3ac263 blt s5,s3,83f4dcca + 83f4dc0a: 401b569b sraiw a3,s6,0x1 + 83f4dc0e: 0006079b sext.w a5,a2 + 83f4dc12: 874e mv a4,s3 + 83f4dc14: 9e15 subw a2,a2,a3 + 83f4dc16: 40d906bb subw a3,s2,a3 + 83f4dc1a: 0b59c663 blt s3,s5,83f4dcc6 + 83f4dc1e: 9f1d subw a4,a4,a5 + 83f4dc20: 0167073b addw a4,a4,s6 + 83f4dc24: 87da mv a5,s6 + 83f4dc26: 85a6 mv a1,s1 + 83f4dc28: 00440513 addi a0,s0,4 + 83f4dc2c: 00042023 sw zero,0(s0) + 83f4dc30: 03742823 sw s7,48(s0) + 83f4dc34: d2dff0ef jal ra,83f4d960 + 83f4dc38: 02000613 li a2,32 + 83f4dc3c: 4585 li a1,1 + 83f4dc3e: 855a mv a0,s6 + 83f4dc40: 188000ef jal ra,83f4ddc8 + 83f4dc44: 445c lw a5,12(s0) + 83f4dc46: 4818 lw a4,16(s0) + 83f4dc48: 0007869b sext.w a3,a5 + 83f4dc4c: 00d75363 bge a4,a3,83f4dc52 + 83f4dc50: 87ba mv a5,a4 + 83f4dc52: 4017d69b sraiw a3,a5,0x1 + 83f4dc56: 87b6 mv a5,a3 + 83f4dc58: 00d04363 bgtz a3,83f4dc5e + 83f4dc5c: 4785 li a5,1 + 83f4dc5e: fff7869b addiw a3,a5,-1 + 83f4dc62: 87b6 mv a5,a3 + 83f4dc64: 00d55363 bge a0,a3,83f4dc6a + 83f4dc68: 87aa mv a5,a0 + 83f4dc6a: 4414 lw a3,8(s0) + 83f4dc6c: c85c sw a5,20(s0) + 83f4dc6e: 9f35 addw a4,a4,a3 + 83f4dc70: dc18 sw a4,56(s0) + 83f4dc72: dc54 sw a3,60(s0) + 83f4dc74: b79d j 83f4dbda + 83f4dc76: 4015571b sraiw a4,a0,0x1 + 83f4dc7a: 40e9863b subw a2,s3,a4 + 83f4dc7e: 86ca mv a3,s2 + 83f4dc80: 052a4163 blt s4,s2,83f4dcc2 + 83f4dc84: 0006859b sext.w a1,a3 + 83f4dc88: 87da mv a5,s6 + 83f4dc8a: 9e99 subw a3,a3,a4 + 83f4dc8c: 875a mv a4,s6 + 83f4dc8e: f9490ce3 beq s2,s4,83f4dc26 + 83f4dc92: 87ca mv a5,s2 + 83f4dc94: 03494163 blt s2,s4,83f4dcb6 + 83f4dc98: 9f8d subw a5,a5,a1 + 83f4dc9a: 016787bb addw a5,a5,s6 + 83f4dc9e: 875a mv a4,s6 + 83f4dca0: b759 j 83f4dc26 + 83f4dca2: 0929f7d3 fsub.s fa5,fs3,fs2 + 83f4dca6: 217b8953 fmv.s fs2,fs7 + 83f4dcaa: bdb9 j 83f4db08 + 83f4dcac: 00004697 auipc a3,0x4 + 83f4dcb0: 7d46a787 flw fa5,2004(a3) # 83f52480 <__func__.1+0x288> + 83f4dcb4: bbe1 j 83f4da8c + 83f4dcb6: 87d2 mv a5,s4 + 83f4dcb8: 9f8d subw a5,a5,a1 + 83f4dcba: 016787bb addw a5,a5,s6 + 83f4dcbe: 875a mv a4,s6 + 83f4dcc0: b79d j 83f4dc26 + 83f4dcc2: 86d2 mv a3,s4 + 83f4dcc4: b7c1 j 83f4dc84 + 83f4dcc6: 8756 mv a4,s5 + 83f4dcc8: bf99 j 83f4dc1e + 83f4dcca: 8656 mv a2,s5 + 83f4dccc: 401b569b sraiw a3,s6,0x1 + 83f4dcd0: 0006079b sext.w a5,a2 + 83f4dcd4: 874e mv a4,s3 + 83f4dcd6: 9e15 subw a2,a2,a3 + 83f4dcd8: 40d906bb subw a3,s2,a3 + 83f4dcdc: f559d1e3 bge s3,s5,83f4dc1e + 83f4dce0: b7dd j 83f4dcc6 + +0000000083f4dce2 : + 83f4dce2: 1101 addi sp,sp,-32 + 83f4dce4: 007c addi a5,sp,12 + 83f4dce6: 4701 li a4,0 + 83f4dce8: 4681 li a3,0 + 83f4dcea: ec06 sd ra,24(sp) + 83f4dcec: c602 sw zero,12(sp) + 83f4dcee: abfff0ef jal ra,83f4d7ac + 83f4dcf2: 47b2 lw a5,12(sp) + 83f4dcf4: 60e2 ld ra,24(sp) + 83f4dcf6: 6505 lui a0,0x1 + 83f4dcf8: 9d3d addw a0,a0,a5 + 83f4dcfa: 9941 andi a0,a0,-16 + 83f4dcfc: 2501 sext.w a0,a0 + 83f4dcfe: 6105 addi sp,sp,32 + 83f4dd00: 8082 ret + +0000000083f4dd02 : + 83f4dd02: aabff06f j 83f4d7ac + +0000000083f4dd06 : + 83f4dd06: 1141 addi sp,sp,-16 + 83f4dd08: e406 sd ra,8(sp) + 83f4dd0a: e022 sd s0,0(sp) + 83f4dd0c: 8332 mv t1,a2 + 83f4dd0e: 842e mv s0,a1 + 83f4dd10: 0018c893 xori a7,a7,1 + 83f4dd14: 85aa mv a1,a0 + 83f4dd16: 8636 mv a2,a3 + 83f4dd18: 00440513 addi a0,s0,4 + 83f4dd1c: 86ba mv a3,a4 + 83f4dd1e: 01142023 sw a7,0(s0) + 83f4dd22: 873e mv a4,a5 + 83f4dd24: 02642823 sw t1,48(s0) + 83f4dd28: 87c2 mv a5,a6 + 83f4dd2a: c37ff0ef jal ra,83f4d960 + 83f4dd2e: 4542 lw a0,16(sp) + 83f4dd30: 02000613 li a2,32 + 83f4dd34: 4585 li a1,1 + 83f4dd36: 092000ef jal ra,83f4ddc8 + 83f4dd3a: 445c lw a5,12(s0) + 83f4dd3c: 4818 lw a4,16(s0) + 83f4dd3e: 0007869b sext.w a3,a5 + 83f4dd42: 00d75363 bge a4,a3,83f4dd48 + 83f4dd46: 87ba mv a5,a4 + 83f4dd48: 4017d69b sraiw a3,a5,0x1 + 83f4dd4c: 87b6 mv a5,a3 + 83f4dd4e: 00d04363 bgtz a3,83f4dd54 + 83f4dd52: 4785 li a5,1 + 83f4dd54: fff7869b addiw a3,a5,-1 + 83f4dd58: 87b6 mv a5,a3 + 83f4dd5a: 00d55363 bge a0,a3,83f4dd60 + 83f4dd5e: 87aa mv a5,a0 + 83f4dd60: 4414 lw a3,8(s0) + 83f4dd62: c85c sw a5,20(s0) + 83f4dd64: 9f35 addw a4,a4,a3 + 83f4dd66: dc18 sw a4,56(s0) + 83f4dd68: dc54 sw a3,60(s0) + 83f4dd6a: 60a2 ld ra,8(sp) + 83f4dd6c: 6402 ld s0,0(sp) + 83f4dd6e: 0141 addi sp,sp,16 + 83f4dd70: 8082 ret + +0000000083f4dd72 : + 83f4dd72: 1101 addi sp,sp,-32 + 83f4dd74: e822 sd s0,16(sp) + 83f4dd76: e426 sd s1,8(sp) + 83f4dd78: ec06 sd ra,24(sp) + 83f4dd7a: 842e mv s0,a1 + 83f4dd7c: 84b2 mv s1,a2 + 83f4dd7e: 85aa mv a1,a0 + 83f4dd80: 8636 mv a2,a3 + 83f4dd82: 86ba mv a3,a4 + 83f4dd84: 873e mv a4,a5 + 83f4dd86: 87c2 mv a5,a6 + 83f4dd88: 02088763 beqz a7,83f4ddb6 + 83f4dd8c: 0018151b slliw a0,a6,0x1 + 83f4dd90: 4811 li a6,4 + 83f4dd92: 01042023 sw a6,0(s0) + 83f4dd96: cc08 sw a0,24(s0) + 83f4dd98: 00440513 addi a0,s0,4 + 83f4dd9c: bc5ff0ef jal ra,83f4d960 + 83f4dda0: 4418 lw a4,8(s0) + 83f4dda2: 481c lw a5,16(s0) + 83f4dda4: f804 sd s1,48(s0) + 83f4dda6: dc58 sw a4,60(s0) + 83f4dda8: 9fb9 addw a5,a5,a4 + 83f4ddaa: dc1c sw a5,56(s0) + 83f4ddac: 60e2 ld ra,24(sp) + 83f4ddae: 6442 ld s0,16(sp) + 83f4ddb0: 64a2 ld s1,8(sp) + 83f4ddb2: 6105 addi sp,sp,32 + 83f4ddb4: 8082 ret + 83f4ddb6: 4509 li a0,2 + 83f4ddb8: c008 sw a0,0(s0) + 83f4ddba: cc18 sw a4,24(s0) + 83f4ddbc: bff1 j 83f4dd98 + +0000000083f4ddbe : + 83f4ddbe: 832a mv t1,a0 + 83f4ddc0: 852e mv a0,a1 + 83f4ddc2: 859a mv a1,t1 + 83f4ddc4: c05ff06f j 83f4d9c8 + +0000000083f4ddc8 : + 83f4ddc8: 87aa mv a5,a0 + 83f4ddca: 8532 mv a0,a2 + 83f4ddcc: 00f64763 blt a2,a5,83f4ddda + 83f4ddd0: 863e mv a2,a5 + 83f4ddd2: 00b7c563 blt a5,a1,83f4dddc + 83f4ddd6: 0006051b sext.w a0,a2 + 83f4ddda: 8082 ret + 83f4dddc: 862e mv a2,a1 + 83f4ddde: 0006051b sext.w a0,a2 + 83f4dde2: bfe5 j 83f4ddda + +0000000083f4dde4 : + 83f4dde4: 87aa mv a5,a0 + 83f4dde6: 4705 li a4,1 + 83f4dde8: 0007a423 sw zero,8(a5) + 83f4ddec: e38c sd a1,0(a5) + 83f4ddee: c7d0 sw a2,12(a5) + 83f4ddf0: cb98 sw a4,16(a5) + 83f4ddf2: 852e mv a0,a1 + 83f4ddf4: c291 beqz a3,83f4ddf8 + 83f4ddf6: 8082 ret + 83f4ddf8: 4581 li a1,0 + 83f4ddfa: 982fe06f j 83f4bf7c + +0000000083f4ddfe : + 83f4ddfe: 451c lw a5,8(a0) + 83f4de00: 4558 lw a4,12(a0) + 83f4de02: 00c786bb addw a3,a5,a2 + 83f4de06: 0037171b slliw a4,a4,0x3 + 83f4de0a: 8336 mv t1,a3 + 83f4de0c: 06e6d863 bge a3,a4,83f4de7c + 83f4de10: 471d li a4,7 + 83f4de12: 06c75a63 bge a4,a2,83f4de86 + 83f4de16: ff86081b addiw a6,a2,-8 + 83f4de1a: 00385e1b srliw t3,a6,0x3 + 83f4de1e: 001e089b addiw a7,t3,1 + 83f4de22: 98ae add a7,a7,a1 + 83f4de24: 6114 ld a3,0(a0) + 83f4de26: 4037d613 srai a2,a5,0x3 + 83f4de2a: 0005c703 lbu a4,0(a1) + 83f4de2e: 96b2 add a3,a3,a2 + 83f4de30: 0006d603 lhu a2,0(a3) + 83f4de34: 8b9d andi a5,a5,7 + 83f4de36: 00f717bb sllw a5,a4,a5 + 83f4de3a: 8fd1 or a5,a5,a2 + 83f4de3c: 00f69023 sh a5,0(a3) + 83f4de40: 451c lw a5,8(a0) + 83f4de42: 0585 addi a1,a1,1 + 83f4de44: 27a1 addiw a5,a5,8 + 83f4de46: c51c sw a5,8(a0) + 83f4de48: fcb89ee3 bne a7,a1,83f4de24 + 83f4de4c: 003e161b slliw a2,t3,0x3 + 83f4de50: 40c8063b subw a2,a6,a2 + 83f4de54: 02c05663 blez a2,83f4de80 + 83f4de58: 4514 lw a3,8(a0) + 83f4de5a: 6118 ld a4,0(a0) + 83f4de5c: 0008c783 lbu a5,0(a7) + 83f4de60: 4036d613 srai a2,a3,0x3 + 83f4de64: 9732 add a4,a4,a2 + 83f4de66: 00075603 lhu a2,0(a4) + 83f4de6a: 8a9d andi a3,a3,7 + 83f4de6c: 00d797bb sllw a5,a5,a3 + 83f4de70: 8fd1 or a5,a5,a2 + 83f4de72: 00f71023 sh a5,0(a4) + 83f4de76: 00652423 sw t1,8(a0) # 1008 <_EL1_STACK_SIZE+0x808> + 83f4de7a: 8082 ret + 83f4de7c: 57fd li a5,-1 + 83f4de7e: c91c sw a5,16(a0) + 83f4de80: 00652423 sw t1,8(a0) + 83f4de84: 8082 ret + 83f4de86: 88ae mv a7,a1 + 83f4de88: b7f1 j 83f4de54 + +0000000083f4de8a : + 83f4de8a: 87aa mv a5,a0 + 83f4de8c: 4501 li a0,0 + 83f4de8e: e199 bnez a1,83f4de94 + 83f4de90: 4388 lw a0,0(a5) + 83f4de92: 8082 ret + 83f4de94: 4715 li a4,5 + 83f4de96: 00e58a63 beq a1,a4,83f4deaa + 83f4de9a: 4711 li a4,4 + 83f4de9c: 04e58763 beq a1,a4,83f4deea + 83f4dea0: 99f5 andi a1,a1,-3 + 83f4dea2: 4721 li a4,8 + 83f4dea4: 02e58e63 beq a1,a4,83f4dee0 + 83f4dea8: 8082 ret + 83f4deaa: 0007d703 lhu a4,0(a5) + 83f4deae: 0007d683 lhu a3,0(a5) + 83f4deb2: 00a7551b srliw a0,a4,0xa + 83f4deb6: 0057579b srliw a5,a4,0x5 + 83f4deba: 897d andi a0,a0,31 + 83f4debc: 8afd andi a3,a3,31 + 83f4debe: 8bfd andi a5,a5,31 + 83f4dec0: 0105151b slliw a0,a0,0x10 + 83f4dec4: 0087979b slliw a5,a5,0x8 + 83f4dec8: 8d55 or a0,a0,a3 + 83f4deca: 8d5d or a0,a0,a5 + 83f4decc: 010007b7 lui a5,0x1000 + 83f4ded0: 17fd addi a5,a5,-1 + 83f4ded2: 00f7571b srliw a4,a4,0xf + 83f4ded6: 0187171b slliw a4,a4,0x18 + 83f4deda: 8d7d and a0,a0,a5 + 83f4dedc: 8d59 or a0,a0,a4 + 83f4dede: 8082 ret + 83f4dee0: 0007c503 lbu a0,0(a5) # 1000000 + 83f4dee4: 0185151b slliw a0,a0,0x18 + 83f4dee8: 8082 ret + 83f4deea: 0007d703 lhu a4,0(a5) + 83f4deee: 0007d683 lhu a3,0(a5) + 83f4def2: 0087551b srliw a0,a4,0x8 + 83f4def6: 0047579b srliw a5,a4,0x4 + 83f4defa: 893d andi a0,a0,15 + 83f4defc: 8abd andi a3,a3,15 + 83f4defe: 8bbd andi a5,a5,15 + 83f4df00: 0105151b slliw a0,a0,0x10 + 83f4df04: 0087979b slliw a5,a5,0x8 + 83f4df08: 8d55 or a0,a0,a3 + 83f4df0a: 8d5d or a0,a0,a5 + 83f4df0c: 010007b7 lui a5,0x1000 + 83f4df10: 17fd addi a5,a5,-1 + 83f4df12: 00c7571b srliw a4,a4,0xc + 83f4df16: 0187171b slliw a4,a4,0x18 + 83f4df1a: 8d7d and a0,a0,a5 + 83f4df1c: 8d59 or a0,a0,a4 + 83f4df1e: 8082 ret + +0000000083f4df20 : + 83f4df20: 10000e13 li t3,256 + 83f4df24: 02be4e3b divw t3,t3,a1 + 83f4df28: 06b05363 blez a1,83f4df8e + 83f4df2c: 00259313 slli t1,a1,0x2 + 83f4df30: 4781 li a5,0 + 83f4df32: 4581 li a1,0 + 83f4df34: 0ff00e93 li t4,255 + 83f4df38: 0107969b slliw a3,a5,0x10 + 83f4df3c: 0187971b slliw a4,a5,0x18 + 83f4df40: 8f55 or a4,a4,a3 + 83f4df42: 0087961b slliw a2,a5,0x8 + 83f4df46: 6114 ld a3,0(a0) + 83f4df48: 8f5d or a4,a4,a5 + 83f4df4a: 8f51 or a4,a4,a2 + 83f4df4c: 0007061b sext.w a2,a4 + 83f4df50: 96ae add a3,a3,a1 + 83f4df52: 00865893 srli a7,a2,0x8 + 83f4df56: 01065813 srli a6,a2,0x10 + 83f4df5a: 8261 srli a2,a2,0x18 + 83f4df5c: 00e68023 sb a4,0(a3) + 83f4df60: 011680a3 sb a7,1(a3) + 83f4df64: 01068123 sb a6,2(a3) + 83f4df68: 00c681a3 sb a2,3(a3) + 83f4df6c: 4518 lw a4,8(a0) + 83f4df6e: 01c786bb addw a3,a5,t3 + 83f4df72: 87b6 mv a5,a3 + 83f4df74: 2705 addiw a4,a4,1 + 83f4df76: c518 sw a4,8(a0) + 83f4df78: 0591 addi a1,a1,4 + 83f4df7a: 0006cb63 bltz a3,83f4df90 + 83f4df7e: 00ded463 bge t4,a3,83f4df86 + 83f4df82: 0ff00793 li a5,255 + 83f4df86: 0ff7f793 andi a5,a5,255 + 83f4df8a: fab317e3 bne t1,a1,83f4df38 + 83f4df8e: 8082 ret + 83f4df90: 4781 li a5,0 + 83f4df92: 4681 li a3,0 + 83f4df94: b7ed j 83f4df7e + +0000000083f4df96 : + 83f4df96: 4514 lw a3,8(a0) + 83f4df98: 611c ld a5,0(a0) + 83f4df9a: 88aa mv a7,a0 + 83f4df9c: 0005831b sext.w t1,a1 + 83f4dfa0: 04d05863 blez a3,83f4dff0 + 83f4dfa4: 873e mv a4,a5 + 83f4dfa6: 4501 li a0,0 + 83f4dfa8: a021 j 83f4dfb0 + 83f4dfaa: 2505 addiw a0,a0,1 + 83f4dfac: 04d50263 beq a0,a3,83f4dff0 + 83f4dfb0: 4310 lw a2,0(a4) + 83f4dfb2: 0711 addi a4,a4,4 + 83f4dfb4: 0006081b sext.w a6,a2 + 83f4dfb8: fe6819e3 bne a6,t1,83f4dfaa + 83f4dfbc: c52d beqz a0,83f4e026 + 83f4dfbe: fff5081b addiw a6,a0,-1 + 83f4dfc2: 1802 slli a6,a6,0x20 + 83f4dfc4: 02085813 srli a6,a6,0x20 + 83f4dfc8: 41050833 sub a6,a0,a6 + 83f4dfcc: 00251713 slli a4,a0,0x2 + 83f4dfd0: 080a slli a6,a6,0x2 + 83f4dfd2: a011 j 83f4dfd6 + 83f4dfd4: 8736 mv a4,a3 + 83f4dfd6: ffc70693 addi a3,a4,-4 + 83f4dfda: 00d785b3 add a1,a5,a3 + 83f4dfde: 418c lw a1,0(a1) + 83f4dfe0: 97ba add a5,a5,a4 + 83f4dfe2: c38c sw a1,0(a5) + 83f4dfe4: 0008b783 ld a5,0(a7) + 83f4dfe8: fee816e3 bne a6,a4,83f4dfd4 + 83f4dfec: c390 sw a2,0(a5) + 83f4dfee: 8082 ret + 83f4dff0: fff6861b addiw a2,a3,-1 + 83f4dff4: 02c05763 blez a2,83f4e022 + 83f4dff8: ffe6871b addiw a4,a3,-2 + 83f4dffc: 1702 slli a4,a4,0x20 + 83f4dffe: 9301 srli a4,a4,0x20 + 83f4e000: 40e68733 sub a4,a3,a4 + 83f4e004: 070a slli a4,a4,0x2 + 83f4e006: 060a slli a2,a2,0x2 + 83f4e008: 1761 addi a4,a4,-8 + 83f4e00a: ffc60693 addi a3,a2,-4 + 83f4e00e: 00d78533 add a0,a5,a3 + 83f4e012: 4108 lw a0,0(a0) + 83f4e014: 97b2 add a5,a5,a2 + 83f4e016: 8636 mv a2,a3 + 83f4e018: c388 sw a0,0(a5) + 83f4e01a: 0008b783 ld a5,0(a7) + 83f4e01e: fed716e3 bne a4,a3,83f4e00a + 83f4e022: c38c sw a1,0(a5) + 83f4e024: 557d li a0,-1 + 83f4e026: 8082 ret + +0000000083f4e028 : + 83f4e028: 7179 addi sp,sp,-48 + 83f4e02a: f406 sd ra,40(sp) + 83f4e02c: c42e sw a1,8(sp) + 83f4e02e: c205 beqz a2,83f4e04e + 83f4e030: 4715 li a4,5 + 83f4e032: 06e60b63 beq a2,a4,83f4e0a8 + 83f4e036: 4711 li a4,4 + 83f4e038: 02e60363 beq a2,a4,83f4e05e + 83f4e03c: 4721 li a4,8 + 83f4e03e: 04e60e63 beq a2,a4,83f4e09a + 83f4e042: 4729 li a4,10 + 83f4e044: 04e60a63 beq a2,a4,83f4e098 + 83f4e048: 70a2 ld ra,40(sp) + 83f4e04a: 6145 addi sp,sp,48 + 83f4e04c: 8082 ret + 83f4e04e: 002c addi a1,sp,8 + 83f4e050: 02000613 li a2,32 + 83f4e054: dabff0ef jal ra,83f4ddfe + 83f4e058: 70a2 ld ra,40(sp) + 83f4e05a: 6145 addi sp,sp,48 + 83f4e05c: 8082 ret + 83f4e05e: 00914683 lbu a3,9(sp) + 83f4e062: 00814783 lbu a5,8(sp) + 83f4e066: 00a14703 lbu a4,10(sp) + 83f4e06a: 00b14603 lbu a2,11(sp) + 83f4e06e: 8abd andi a3,a3,15 + 83f4e070: 0046969b slliw a3,a3,0x4 + 83f4e074: 8bbd andi a5,a5,15 + 83f4e076: 8b3d andi a4,a4,15 + 83f4e078: 0087171b slliw a4,a4,0x8 + 83f4e07c: 8fd5 or a5,a5,a3 + 83f4e07e: 8fd9 or a5,a5,a4 + 83f4e080: 00c6171b slliw a4,a2,0xc + 83f4e084: 8fd9 or a5,a5,a4 + 83f4e086: 082c addi a1,sp,24 + 83f4e088: 4641 li a2,16 + 83f4e08a: 00f11c23 sh a5,24(sp) + 83f4e08e: d71ff0ef jal ra,83f4ddfe + 83f4e092: 70a2 ld ra,40(sp) + 83f4e094: 6145 addi sp,sp,48 + 83f4e096: 8082 ret + 83f4e098: 4611 li a2,4 + 83f4e09a: 00b10593 addi a1,sp,11 + 83f4e09e: d61ff0ef jal ra,83f4ddfe + 83f4e0a2: 70a2 ld ra,40(sp) + 83f4e0a4: 6145 addi sp,sp,48 + 83f4e0a6: 8082 ret + 83f4e0a8: 00914683 lbu a3,9(sp) + 83f4e0ac: 00814783 lbu a5,8(sp) + 83f4e0b0: 00a14703 lbu a4,10(sp) + 83f4e0b4: 00b14603 lbu a2,11(sp) + 83f4e0b8: 8afd andi a3,a3,31 + 83f4e0ba: 0056969b slliw a3,a3,0x5 + 83f4e0be: 8bfd andi a5,a5,31 + 83f4e0c0: 8b7d andi a4,a4,31 + 83f4e0c2: 00a7171b slliw a4,a4,0xa + 83f4e0c6: 8fd5 or a5,a5,a3 + 83f4e0c8: 8fd9 or a5,a5,a4 + 83f4e0ca: 00f6171b slliw a4,a2,0xf + 83f4e0ce: bf5d j 83f4e084 + +0000000083f4e0d0 : + 83f4e0d0: 01474783 lbu a5,20(a4) + 83f4e0d4: 7139 addi sp,sp,-64 + 83f4e0d6: f822 sd s0,48(sp) + 83f4e0d8: f426 sd s1,40(sp) + 83f4e0da: f04a sd s2,32(sp) + 83f4e0dc: ec4e sd s3,24(sp) + 83f4e0de: fc06 sd ra,56(sp) + 83f4e0e0: e852 sd s4,16(sp) + 83f4e0e2: 84ba mv s1,a4 + 83f4e0e4: 89aa mv s3,a0 + 83f4e0e6: 8432 mv s0,a2 + 83f4e0e8: 8936 mv s2,a3 + 83f4e0ea: cbbd beqz a5,83f4e160 + 83f4e0ec: 4785 li a5,1 + 83f4e0ee: 02f58f63 beq a1,a5,83f4e12c + 83f4e0f2: edb9 bnez a1,83f4e150 + 83f4e0f4: 0cc7da63 bge a5,a2,83f4e1c8 + 83f4e0f8: 4f10 lw a2,24(a4) + 83f4e0fa: fff4079b addiw a5,s0,-1 + 83f4e0fe: 0037979b slliw a5,a5,0x3 + 83f4e102: 0047e793 ori a5,a5,4 + 83f4e106: 260d addiw a2,a2,3 + 83f4e108: 00e10593 addi a1,sp,14 + 83f4e10c: 00f11723 sh a5,14(sp) + 83f4e110: cefff0ef jal ra,83f4ddfe + 83f4e114: 7442 ld s0,48(sp) + 83f4e116: 5090 lw a2,32(s1) + 83f4e118: 70e2 ld ra,56(sp) + 83f4e11a: 74a2 ld s1,40(sp) + 83f4e11c: 6a42 ld s4,16(sp) + 83f4e11e: 85ca mv a1,s2 + 83f4e120: 854e mv a0,s3 + 83f4e122: 7902 ld s2,32(sp) + 83f4e124: 69e2 ld s3,24(sp) + 83f4e126: 6121 addi sp,sp,64 + 83f4e128: f01ff06f j 83f4e028 + 83f4e12c: 4f50 lw a2,28(a4) + 83f4e12e: 0885d163 bge a1,s0,83f4e1b0 + 83f4e132: 4f1c lw a5,24(a4) + 83f4e134: 347d addiw s0,s0,-1 + 83f4e136: 0034141b slliw s0,s0,0x3 + 83f4e13a: 278d addiw a5,a5,3 + 83f4e13c: 00f696bb sllw a3,a3,a5 + 83f4e140: 8c55 or s0,s0,a3 + 83f4e142: 9e3d addw a2,a2,a5 + 83f4e144: 00e10593 addi a1,sp,14 + 83f4e148: 00811723 sh s0,14(sp) + 83f4e14c: cb3ff0ef jal ra,83f4ddfe + 83f4e150: 70e2 ld ra,56(sp) + 83f4e152: 7442 ld s0,48(sp) + 83f4e154: 74a2 ld s1,40(sp) + 83f4e156: 7902 ld s2,32(sp) + 83f4e158: 69e2 ld s3,24(sp) + 83f4e15a: 6a42 ld s4,16(sp) + 83f4e15c: 6121 addi sp,sp,64 + 83f4e15e: 8082 ret + 83f4e160: 00262793 slti a5,a2,2 + 83f4e164: 4a05 li s4,1 + 83f4e166: 4605 li a2,1 + 83f4e168: 00d10593 addi a1,sp,13 + 83f4e16c: 00f106a3 sb a5,13(sp) + 83f4e170: c8fff0ef jal ra,83f4ddfe + 83f4e174: 008a4f63 blt s4,s0,83f4e192 + 83f4e178: 5090 lw a2,32(s1) + 83f4e17a: 85ca mv a1,s2 + 83f4e17c: 854e mv a0,s3 + 83f4e17e: eabff0ef jal ra,83f4e028 + 83f4e182: 70e2 ld ra,56(sp) + 83f4e184: 7442 ld s0,48(sp) + 83f4e186: 74a2 ld s1,40(sp) + 83f4e188: 7902 ld s2,32(sp) + 83f4e18a: 69e2 ld s3,24(sp) + 83f4e18c: 6a42 ld s4,16(sp) + 83f4e18e: 6121 addi sp,sp,64 + 83f4e190: 8082 ret + 83f4e192: 4c90 lw a2,24(s1) + 83f4e194: 00e10593 addi a1,sp,14 + 83f4e198: 854e mv a0,s3 + 83f4e19a: 347d addiw s0,s0,-1 + 83f4e19c: 00810723 sb s0,14(sp) + 83f4e1a0: c5fff0ef jal ra,83f4ddfe + 83f4e1a4: 5090 lw a2,32(s1) + 83f4e1a6: 85ca mv a1,s2 + 83f4e1a8: 854e mv a0,s3 + 83f4e1aa: e7fff0ef jal ra,83f4e028 + 83f4e1ae: bfd1 j 83f4e182 + 83f4e1b0: 0026969b slliw a3,a3,0x2 + 83f4e1b4: 0026e693 ori a3,a3,2 + 83f4e1b8: 2609 addiw a2,a2,2 + 83f4e1ba: 00e10593 addi a1,sp,14 + 83f4e1be: 00d11723 sh a3,14(sp) + 83f4e1c2: c3dff0ef jal ra,83f4ddfe + 83f4e1c6: b769 j 83f4e150 + 83f4e1c8: 4605 li a2,1 + 83f4e1ca: 00e10593 addi a1,sp,14 + 83f4e1ce: 00f10723 sb a5,14(sp) + 83f4e1d2: c2dff0ef jal ra,83f4ddfe + 83f4e1d6: bf3d j 83f4e114 + +0000000083f4e1d8 : + 83f4e1d8: 7139 addi sp,sp,-64 + 83f4e1da: f822 sd s0,48(sp) + 83f4e1dc: fc06 sd ra,56(sp) + 83f4e1de: 4198 lw a4,0(a1) + 83f4e1e0: 41dc lw a5,4(a1) + 83f4e1e2: 4685 li a3,1 + 83f4e1e4: 377d addiw a4,a4,-1 + 83f4e1e6: 37fd addiw a5,a5,-1 + 83f4e1e8: 02369813 slli a6,a3,0x23 + 83f4e1ec: 4621 li a2,8 + 83f4e1ee: 842e mv s0,a1 + 83f4e1f0: 4581 li a1,0 + 83f4e1f2: e03a sd a4,0(sp) + 83f4e1f4: e43e sd a5,8(sp) + 83f4e1f6: d436 sw a3,40(sp) + 83f4e1f8: ec2a sd a0,24(sp) + 83f4e1fa: f042 sd a6,32(sp) + 83f4e1fc: d81fd0ef jal ra,83f4bf7c + 83f4e200: 5792 lw a5,36(sp) + 83f4e202: 5702 lw a4,32(sp) + 83f4e204: 0037961b slliw a2,a5,0x3 + 83f4e208: 0087069b addiw a3,a4,8 + 83f4e20c: 87b2 mv a5,a2 + 83f4e20e: 00c6d363 bge a3,a2,83f4e214 + 83f4e212: 87b6 mv a5,a3 + 83f4e214: 4611 li a2,4 + 83f4e216: 02040593 addi a1,s0,32 + 83f4e21a: 0828 addi a0,sp,24 + 83f4e21c: d03e sw a5,32(sp) + 83f4e21e: be1ff0ef jal ra,83f4ddfe + 83f4e222: 5792 lw a5,36(sp) + 83f4e224: 5702 lw a4,32(sp) + 83f4e226: 0037961b slliw a2,a5,0x3 + 83f4e22a: 0037069b addiw a3,a4,3 + 83f4e22e: 87b2 mv a5,a2 + 83f4e230: 00c6d363 bge a3,a2,83f4e236 + 83f4e234: 87b6 mv a5,a3 + 83f4e236: 4c54 lw a3,28(s0) + 83f4e238: 4705 li a4,1 + 83f4e23a: 4621 li a2,8 + 83f4e23c: 00d7173b sllw a4,a4,a3 + 83f4e240: 080c addi a1,sp,16 + 83f4e242: 0828 addi a0,sp,24 + 83f4e244: d03e sw a5,32(sp) + 83f4e246: e83a sd a4,16(sp) + 83f4e248: bb7ff0ef jal ra,83f4ddfe + 83f4e24c: 4609 li a2,2 + 83f4e24e: 01040593 addi a1,s0,16 + 83f4e252: 0828 addi a0,sp,24 + 83f4e254: babff0ef jal ra,83f4ddfe + 83f4e258: 5792 lw a5,36(sp) + 83f4e25a: 5702 lw a4,32(sp) + 83f4e25c: 0037961b slliw a2,a5,0x3 + 83f4e260: 0027069b addiw a3,a4,2 + 83f4e264: 87b2 mv a5,a2 + 83f4e266: 00c6d363 bge a3,a2,83f4e26c + 83f4e26a: 87b6 mv a5,a3 + 83f4e26c: 4609 li a2,2 + 83f4e26e: 00c40593 addi a1,s0,12 + 83f4e272: 0828 addi a0,sp,24 + 83f4e274: d03e sw a5,32(sp) + 83f4e276: b89ff0ef jal ra,83f4ddfe + 83f4e27a: 5792 lw a5,36(sp) + 83f4e27c: 5702 lw a4,32(sp) + 83f4e27e: 0037961b slliw a2,a5,0x3 + 83f4e282: 0027069b addiw a3,a4,2 + 83f4e286: 87b2 mv a5,a2 + 83f4e288: 00c6d363 bge a3,a2,83f4e28e + 83f4e28c: 87b6 mv a5,a3 + 83f4e28e: 858a mv a1,sp + 83f4e290: 0828 addi a0,sp,24 + 83f4e292: 4641 li a2,16 + 83f4e294: d03e sw a5,32(sp) + 83f4e296: b69ff0ef jal ra,83f4ddfe + 83f4e29a: 002c addi a1,sp,8 + 83f4e29c: 0828 addi a0,sp,24 + 83f4e29e: 4641 li a2,16 + 83f4e2a0: b5fff0ef jal ra,83f4ddfe + 83f4e2a4: 70e2 ld ra,56(sp) + 83f4e2a6: 7442 ld s0,48(sp) + 83f4e2a8: 6121 addi sp,sp,64 + 83f4e2aa: 8082 ret + +0000000083f4e2ac : + 83f4e2ac: 7139 addi sp,sp,-64 + 83f4e2ae: f822 sd s0,48(sp) + 83f4e2b0: f426 sd s1,40(sp) + 83f4e2b2: f04a sd s2,32(sp) + 83f4e2b4: ec4e sd s3,24(sp) + 83f4e2b6: e852 sd s4,16(sp) + 83f4e2b8: e456 sd s5,8(sp) + 83f4e2ba: e05a sd s6,0(sp) + 83f4e2bc: fc06 sd ra,56(sp) + 83f4e2be: 84b2 mv s1,a2 + 83f4e2c0: 89ae mv s3,a1 + 83f4e2c2: 4190 lw a2,0(a1) + 83f4e2c4: 8936 mv s2,a3 + 83f4e2c6: 408c lw a1,0(s1) + 83f4e2c8: 4294 lw a3,0(a3) + 83f4e2ca: 843a mv s0,a4 + 83f4e2cc: 8b2a mv s6,a0 + 83f4e2ce: 8742 mv a4,a6 + 83f4e2d0: 8546 mv a0,a7 + 83f4e2d2: 8abe mv s5,a5 + 83f4e2d4: 8a42 mv s4,a6 + 83f4e2d6: dfbff0ef jal ra,83f4e0d0 + 83f4e2da: 00045883 lhu a7,0(s0) + 83f4e2de: 03089793 slli a5,a7,0x30 + 83f4e2e2: 93c1 srli a5,a5,0x30 + 83f4e2e4: 00faf363 bgeu s5,a5,83f4e2ea + 83f4e2e8: 88d6 mv a7,s5 + 83f4e2ea: 18c2 slli a7,a7,0x30 + 83f4e2ec: 0308d893 srli a7,a7,0x30 + 83f4e2f0: 0119a023 sw a7,0(s3) + 83f4e2f4: 00045783 lhu a5,0(s0) + 83f4e2f8: 4705 li a4,1 + 83f4e2fa: 411788bb subw a7,a5,a7 + 83f4e2fe: 01141023 sh a7,0(s0) + 83f4e302: 409c lw a5,0(s1) + 83f4e304: 02e78863 beq a5,a4,83f4e334 + 83f4e308: 014a4783 lbu a5,20(s4) + 83f4e30c: ef99 bnez a5,83f4e32a + 83f4e30e: 01692023 sw s6,0(s2) + 83f4e312: 0004a023 sw zero,0(s1) + 83f4e316: 70e2 ld ra,56(sp) + 83f4e318: 7442 ld s0,48(sp) + 83f4e31a: 74a2 ld s1,40(sp) + 83f4e31c: 7902 ld s2,32(sp) + 83f4e31e: 69e2 ld s3,24(sp) + 83f4e320: 6a42 ld s4,16(sp) + 83f4e322: 6aa2 ld s5,8(sp) + 83f4e324: 6b02 ld s6,0(sp) + 83f4e326: 6121 addi sp,sp,64 + 83f4e328: 8082 ret + 83f4e32a: 00092023 sw zero,0(s2) + 83f4e32e: 4785 li a5,1 + 83f4e330: c09c sw a5,0(s1) + 83f4e332: b7d5 j 83f4e316 + 83f4e334: 00092783 lw a5,0(s2) + 83f4e338: dff9 beqz a5,83f4e316 + 83f4e33a: b7f9 j 83f4e308 + +0000000083f4e33c : + 83f4e33c: 715d addi sp,sp,-80 + 83f4e33e: e0a2 sd s0,64(sp) + 83f4e340: fc26 sd s1,56(sp) + 83f4e342: f84a sd s2,48(sp) + 83f4e344: f44e sd s3,40(sp) + 83f4e346: f052 sd s4,32(sp) + 83f4e348: ec56 sd s5,24(sp) + 83f4e34a: e85a sd s6,16(sp) + 83f4e34c: e45e sd s7,8(sp) + 83f4e34e: e062 sd s8,0(sp) + 83f4e350: e486 sd ra,72(sp) + 83f4e352: 0005a303 lw t1,0(a1) + 83f4e356: 892e mv s2,a1 + 83f4e358: 0005059b sext.w a1,a0 + 83f4e35c: 8bb2 mv s7,a2 + 83f4e35e: 6b46 ld s6,80(sp) + 83f4e360: 4210 lw a2,0(a2) + 83f4e362: 84ae mv s1,a1 + 83f4e364: 8a36 mv s4,a3 + 83f4e366: 8aba mv s5,a4 + 83f4e368: 843e mv s0,a5 + 83f4e36a: 89c6 mv s3,a7 + 83f4e36c: 00088c1b sext.w s8,a7 + 83f4e370: 00b31463 bne t1,a1,83f4e378 + 83f4e374: 06080263 beqz a6,83f4e3d8 + 83f4e378: 000aa683 lw a3,0(s5) + 83f4e37c: 000a2583 lw a1,0(s4) + 83f4e380: 6566 ld a0,88(sp) + 83f4e382: 875a mv a4,s6 + 83f4e384: d4dff0ef jal ra,83f4e0d0 + 83f4e388: 014b4783 lbu a5,20(s6) + 83f4e38c: ebad bnez a5,83f4e3fe + 83f4e38e: 009aa023 sw s1,0(s5) + 83f4e392: 000a2023 sw zero,0(s4) + 83f4e396: 00045783 lhu a5,0(s0) + 83f4e39a: 03079713 slli a4,a5,0x30 + 83f4e39e: 9341 srli a4,a4,0x30 + 83f4e3a0: 02ec6a63 bltu s8,a4,83f4e3d4 + 83f4e3a4: 17c2 slli a5,a5,0x30 + 83f4e3a6: 93c1 srli a5,a5,0x30 + 83f4e3a8: 00fba023 sw a5,0(s7) + 83f4e3ac: 00045703 lhu a4,0(s0) + 83f4e3b0: 40f707bb subw a5,a4,a5 + 83f4e3b4: 00f41023 sh a5,0(s0) + 83f4e3b8: 00992023 sw s1,0(s2) + 83f4e3bc: 60a6 ld ra,72(sp) + 83f4e3be: 6406 ld s0,64(sp) + 83f4e3c0: 74e2 ld s1,56(sp) + 83f4e3c2: 7942 ld s2,48(sp) + 83f4e3c4: 79a2 ld s3,40(sp) + 83f4e3c6: 7a02 ld s4,32(sp) + 83f4e3c8: 6ae2 ld s5,24(sp) + 83f4e3ca: 6b42 ld s6,16(sp) + 83f4e3cc: 6ba2 ld s7,8(sp) + 83f4e3ce: 6c02 ld s8,0(sp) + 83f4e3d0: 6161 addi sp,sp,80 + 83f4e3d2: 8082 ret + 83f4e3d4: 87ce mv a5,s3 + 83f4e3d6: b7f9 j 83f4e3a4 + 83f4e3d8: fac880e3 beq a7,a2,83f4e378 + 83f4e3dc: 0007d783 lhu a5,0(a5) # 1000000 + 83f4e3e0: 9e3d addw a2,a2,a5 + 83f4e3e2: 1642 slli a2,a2,0x30 + 83f4e3e4: 9241 srli a2,a2,0x30 + 83f4e3e6: 87b2 mv a5,a2 + 83f4e3e8: 00cc7363 bgeu s8,a2,83f4e3ee + 83f4e3ec: 87c6 mv a5,a7 + 83f4e3ee: 17c2 slli a5,a5,0x30 + 83f4e3f0: 93c1 srli a5,a5,0x30 + 83f4e3f2: 9e1d subw a2,a2,a5 + 83f4e3f4: 00c41023 sh a2,0(s0) + 83f4e3f8: 00fba023 sw a5,0(s7) + 83f4e3fc: b7c1 j 83f4e3bc + 83f4e3fe: 85a6 mv a1,s1 + 83f4e400: 028b0513 addi a0,s6,40 + 83f4e404: b93ff0ef jal ra,83f4df96 + 83f4e408: f80543e3 bltz a0,83f4e38e + 83f4e40c: 00aaa023 sw a0,0(s5) + 83f4e410: 4785 li a5,1 + 83f4e412: 00fa2023 sw a5,0(s4) + 83f4e416: b741 j 83f4e396 + +0000000083f4e418 : + 83f4e418: 1101 addi sp,sp,-32 + 83f4e41a: e822 sd s0,16(sp) + 83f4e41c: e426 sd s1,8(sp) + 83f4e41e: ec06 sd ra,24(sp) + 83f4e420: 842a mv s0,a0 + 83f4e422: 4d48 lw a0,28(a0) + 83f4e424: 4485 li s1,1 + 83f4e426: 00a4953b sllw a0,s1,a0 + 83f4e42a: 050a slli a0,a0,0x2 + 83f4e42c: 158000ef jal ra,83f4e584 + 83f4e430: f408 sd a0,40(s0) + 83f4e432: 4c50 lw a2,28(s0) + 83f4e434: c115 beqz a0,83f4e458 + 83f4e436: 00c4963b sllw a2,s1,a2 + 83f4e43a: 4581 li a1,0 + 83f4e43c: 060a slli a2,a2,0x2 + 83f4e43e: b3ffd0ef jal ra,83f4bf7c + 83f4e442: 4c4c lw a1,28(s0) + 83f4e444: 02840513 addi a0,s0,40 + 83f4e448: 6442 ld s0,16(sp) + 83f4e44a: 60e2 ld ra,24(sp) + 83f4e44c: 00b495bb sllw a1,s1,a1 + 83f4e450: 64a2 ld s1,8(sp) + 83f4e452: 6105 addi sp,sp,32 + 83f4e454: acdff06f j 83f4df20 + 83f4e458: 6442 ld s0,16(sp) + 83f4e45a: 60e2 ld ra,24(sp) + 83f4e45c: 00c4963b sllw a2,s1,a2 + 83f4e460: 64a2 ld s1,8(sp) + 83f4e462: 00004597 auipc a1,0x4 + 83f4e466: d9658593 addi a1,a1,-618 # 83f521f8 <__func__.1> + 83f4e46a: 00004517 auipc a0,0x4 + 83f4e46e: d6e50513 addi a0,a0,-658 # 83f521d8 <__func__.0+0x18> + 83f4e472: 0026161b slliw a2,a2,0x2 + 83f4e476: 6105 addi sp,sp,32 + 83f4e478: b1dfd06f j 83f4bf94 + +0000000083f4e47c : + 83f4e47c: c511 beqz a0,83f4e488 + 83f4e47e: 3571 addiw a0,a0,-4 + 83f4e480: 00253513 sltiu a0,a0,2 + 83f4e484: 0505 addi a0,a0,1 + 83f4e486: 8082 ret + 83f4e488: 4511 li a0,4 + 83f4e48a: 8082 ret + +0000000083f4e48c : + 83f4e48c: 4521 li a0,8 + 83f4e48e: 8082 ret + +0000000083f4e490 : + 83f4e490: 0045959b slliw a1,a1,0x4 + 83f4e494: 4789 li a5,2 + 83f4e496: 02b6463b divw a2,a2,a1 + 83f4e49a: 04f50f63 beq a0,a5,83f4e4f8 + 83f4e49e: 04a7e363 bltu a5,a0,83f4e4e4 + 83f4e4a2: c53d beqz a0,83f4e510 + 83f4e4a4: 041507b7 lui a5,0x4150 + 83f4e4a8: 00011717 auipc a4,0x11 + 83f4e4ac: 7af73023 sd a5,1952(a4) # 83f5fc48 + 83f4e4b0: 47d8 lw a4,12(a5) + 83f4e4b2: 0ff67693 andi a3,a2,255 + 83f4e4b6: 4086561b sraiw a2,a2,0x8 + 83f4e4ba: 2701 sext.w a4,a4 + 83f4e4bc: 08376713 ori a4,a4,131 + 83f4e4c0: c7d8 sw a4,12(a5) + 83f4e4c2: c394 sw a3,0(a5) + 83f4e4c4: 0ff67613 andi a2,a2,255 + 83f4e4c8: c3d0 sw a2,4(a5) + 83f4e4ca: 47d8 lw a4,12(a5) + 83f4e4cc: 468d li a3,3 + 83f4e4ce: 2701 sext.w a4,a4 + 83f4e4d0: f7f77713 andi a4,a4,-129 + 83f4e4d4: c7d8 sw a4,12(a5) + 83f4e4d6: 0007a223 sw zero,4(a5) # 4150004 + 83f4e4da: cb94 sw a3,16(a5) + 83f4e4dc: 471d li a4,7 + 83f4e4de: c798 sw a4,8(a5) + 83f4e4e0: c7d4 sw a3,12(a5) + 83f4e4e2: 8082 ret + 83f4e4e4: 478d li a5,3 + 83f4e4e6: 02f51063 bne a0,a5,83f4e506 + 83f4e4ea: 041707b7 lui a5,0x4170 + 83f4e4ee: 00011717 auipc a4,0x11 + 83f4e4f2: 74f73d23 sd a5,1882(a4) # 83f5fc48 + 83f4e4f6: bf6d j 83f4e4b0 + 83f4e4f8: 041607b7 lui a5,0x4160 + 83f4e4fc: 00011717 auipc a4,0x11 + 83f4e500: 74f73623 sd a5,1868(a4) # 83f5fc48 + 83f4e504: b775 j 83f4e4b0 + 83f4e506: 00011797 auipc a5,0x11 + 83f4e50a: 7427b783 ld a5,1858(a5) # 83f5fc48 + 83f4e50e: b74d j 83f4e4b0 + 83f4e510: 041407b7 lui a5,0x4140 + 83f4e514: 00011717 auipc a4,0x11 + 83f4e518: 72f73a23 sd a5,1844(a4) # 83f5fc48 + 83f4e51c: bf51 j 83f4e4b0 + +0000000083f4e51e : + 83f4e51e: 00011717 auipc a4,0x11 + 83f4e522: 72a73703 ld a4,1834(a4) # 83f5fc48 + 83f4e526: 4b5c lw a5,20(a4) + 83f4e528: 0207f793 andi a5,a5,32 + 83f4e52c: dfed beqz a5,83f4e526 + 83f4e52e: 2501 sext.w a0,a0 + 83f4e530: c308 sw a0,0(a4) + 83f4e532: 8082 ret + +0000000083f4e534 : + 83f4e534: 0000f797 auipc a5,0xf + 83f4e538: fac78793 addi a5,a5,-84 # 83f5d4e0 + 83f4e53c: 873e mv a4,a5 + 83f4e53e: 639c ld a5,0(a5) + 83f4e540: fea7eee3 bltu a5,a0,83f4e53c + 83f4e544: 6710 ld a2,8(a4) + 83f4e546: 6514 ld a3,8(a0) + 83f4e548: 00c705b3 add a1,a4,a2 + 83f4e54c: 02b50863 beq a0,a1,83f4e57c + 83f4e550: 00d50633 add a2,a0,a3 + 83f4e554: 00c78763 beq a5,a2,83f4e562 + 83f4e558: e11c sd a5,0(a0) + 83f4e55a: 00e50363 beq a0,a4,83f4e560 + 83f4e55e: e308 sd a0,0(a4) + 83f4e560: 8082 ret + 83f4e562: 00011617 auipc a2,0x11 + 83f4e566: 6ee63603 ld a2,1774(a2) # 83f5fc50 + 83f4e56a: fec787e3 beq a5,a2,83f4e558 + 83f4e56e: 679c ld a5,8(a5) + 83f4e570: 96be add a3,a3,a5 + 83f4e572: e514 sd a3,8(a0) + 83f4e574: 631c ld a5,0(a4) + 83f4e576: 639c ld a5,0(a5) + 83f4e578: e11c sd a5,0(a0) + 83f4e57a: b7c5 j 83f4e55a + 83f4e57c: 96b2 add a3,a3,a2 + 83f4e57e: e714 sd a3,8(a4) + 83f4e580: 853a mv a0,a4 + 83f4e582: b7f9 j 83f4e550 + +0000000083f4e584 : + 83f4e584: 7139 addi sp,sp,-64 + 83f4e586: f822 sd s0,48(sp) + 83f4e588: fc06 sd ra,56(sp) + 83f4e58a: f426 sd s1,40(sp) + 83f4e58c: f04a sd s2,32(sp) + 83f4e58e: ec4e sd s3,24(sp) + 83f4e590: e852 sd s4,16(sp) + 83f4e592: e456 sd s5,8(sp) + 83f4e594: 842a mv s0,a0 + 83f4e596: 6a1000ef jal ra,83f4f436 + 83f4e59a: 00011697 auipc a3,0x11 + 83f4e59e: 6b668693 addi a3,a3,1718 # 83f5fc50 + 83f4e5a2: 629c ld a5,0(a3) + 83f4e5a4: cbe1 beqz a5,83f4e674 + 83f4e5a6: 00011917 auipc s2,0x11 + 83f4e5aa: 6b293903 ld s2,1714(s2) # 83f5fc58 + 83f4e5ae: 008977b3 and a5,s2,s0 + 83f4e5b2: e3c5 bnez a5,83f4e652 + 83f4e5b4: fff40793 addi a5,s0,-1 + 83f4e5b8: 5739 li a4,-18 + 83f4e5ba: 08f76c63 bltu a4,a5,83f4e652 + 83f4e5be: 00f47793 andi a5,s0,15 + 83f4e5c2: 0441 addi s0,s0,16 + 83f4e5c4: e3d1 bnez a5,83f4e648 + 83f4e5c6: 00011a97 auipc s5,0x11 + 83f4e5ca: 69aa8a93 addi s5,s5,1690 # 83f5fc60 + 83f4e5ce: 000aba03 ld s4,0(s5) + 83f4e5d2: 088a6063 bltu s4,s0,83f4e652 + 83f4e5d6: 0000f717 auipc a4,0xf + 83f4e5da: f0a70713 addi a4,a4,-246 # 83f5d4e0 + 83f4e5de: 6304 ld s1,0(a4) + 83f4e5e0: a029 j 83f4e5ea + 83f4e5e2: 609c ld a5,0(s1) + 83f4e5e4: c791 beqz a5,83f4e5f0 + 83f4e5e6: 8726 mv a4,s1 + 83f4e5e8: 84be mv s1,a5 + 83f4e5ea: 649c ld a5,8(s1) + 83f4e5ec: fe87ebe3 bltu a5,s0,83f4e5e2 + 83f4e5f0: 629c ld a5,0(a3) + 83f4e5f2: 06978063 beq a5,s1,83f4e652 + 83f4e5f6: 609c ld a5,0(s1) + 83f4e5f8: 00073983 ld s3,0(a4) + 83f4e5fc: 02000693 li a3,32 + 83f4e600: e31c sd a5,0(a4) + 83f4e602: 649c ld a5,8(s1) + 83f4e604: 09c1 addi s3,s3,16 + 83f4e606: 40878733 sub a4,a5,s0 + 83f4e60a: 0ce6e863 bltu a3,a4,83f4e6da + 83f4e60e: 00011717 auipc a4,0x11 + 83f4e612: 65a70713 addi a4,a4,1626 # 83f5fc68 + 83f4e616: 6314 ld a3,0(a4) + 83f4e618: 40fa0a33 sub s4,s4,a5 + 83f4e61c: 014ab023 sd s4,0(s5) + 83f4e620: 00da7463 bgeu s4,a3,83f4e628 + 83f4e624: 01473023 sd s4,0(a4) + 83f4e628: 00011697 auipc a3,0x11 + 83f4e62c: 64868693 addi a3,a3,1608 # 83f5fc70 + 83f4e630: 6298 ld a4,0(a3) + 83f4e632: 00f967b3 or a5,s2,a5 + 83f4e636: e49c sd a5,8(s1) + 83f4e638: 0004b023 sd zero,0(s1) + 83f4e63c: 00170793 addi a5,a4,1 + 83f4e640: e29c sd a5,0(a3) + 83f4e642: 37c010ef jal ra,83f4f9be + 83f4e646: a819 j 83f4e65c + 83f4e648: ff047793 andi a5,s0,-16 + 83f4e64c: 07c1 addi a5,a5,16 + 83f4e64e: 02f46163 bltu s0,a5,83f4e670 + 83f4e652: 36c010ef jal ra,83f4f9be + 83f4e656: ffef40ef jal ra,83f42e54 + 83f4e65a: 4981 li s3,0 + 83f4e65c: 70e2 ld ra,56(sp) + 83f4e65e: 7442 ld s0,48(sp) + 83f4e660: 74a2 ld s1,40(sp) + 83f4e662: 7902 ld s2,32(sp) + 83f4e664: 6a42 ld s4,16(sp) + 83f4e666: 6aa2 ld s5,8(sp) + 83f4e668: 854e mv a0,s3 + 83f4e66a: 69e2 ld s3,24(sp) + 83f4e66c: 6121 addi sp,sp,64 + 83f4e66e: 8082 ret + 83f4e670: 843e mv s0,a5 + 83f4e672: bf91 j 83f4e5c6 + 83f4e674: 00011797 auipc a5,0x11 + 83f4e678: 6cc78793 addi a5,a5,1740 # 83f5fd40 <_ebss> + 83f4e67c: 00f7f713 andi a4,a5,15 + 83f4e680: 863e mv a2,a5 + 83f4e682: c719 beqz a4,83f4e690 + 83f4e684: 00011797 auipc a5,0x11 + 83f4e688: 6cb78793 addi a5,a5,1739 # 83f5fd4f <_ebss+0xf> + 83f4e68c: 9bc1 andi a5,a5,-16 + 83f4e68e: 863e mv a2,a5 + 83f4e690: 00091717 auipc a4,0x91 + 83f4e694: 6a070713 addi a4,a4,1696 # 83fdfd30 <_ebss+0x7fff0> + 83f4e698: 9b41 andi a4,a4,-16 + 83f4e69a: 00073023 sd zero,0(a4) + 83f4e69e: 00073423 sd zero,8(a4) + 83f4e6a2: 597d li s2,-1 + 83f4e6a4: 40f707b3 sub a5,a4,a5 + 83f4e6a8: 0000f597 auipc a1,0xf + 83f4e6ac: e405b023 sd zero,-448(a1) # 83f5d4e8 + 83f4e6b0: 197e slli s2,s2,0x3f + 83f4e6b2: 0000f597 auipc a1,0xf + 83f4e6b6: e2c5b723 sd a2,-466(a1) # 83f5d4e0 + 83f4e6ba: e298 sd a4,0(a3) + 83f4e6bc: e218 sd a4,0(a2) + 83f4e6be: e61c sd a5,8(a2) + 83f4e6c0: 00011717 auipc a4,0x11 + 83f4e6c4: 5af73423 sd a5,1448(a4) # 83f5fc68 + 83f4e6c8: 00011717 auipc a4,0x11 + 83f4e6cc: 58f73c23 sd a5,1432(a4) # 83f5fc60 + 83f4e6d0: 00011797 auipc a5,0x11 + 83f4e6d4: 5927b423 sd s2,1416(a5) # 83f5fc58 + 83f4e6d8: bdd9 j 83f4e5ae + 83f4e6da: 00848533 add a0,s1,s0 + 83f4e6de: e518 sd a4,8(a0) + 83f4e6e0: e480 sd s0,8(s1) + 83f4e6e2: e53ff0ef jal ra,83f4e534 + 83f4e6e6: 649c ld a5,8(s1) + 83f4e6e8: b71d j 83f4e60e + +0000000083f4e6ea : + 83f4e6ea: cd09 beqz a0,83f4e704 + 83f4e6ec: ff853703 ld a4,-8(a0) + 83f4e6f0: 00011797 auipc a5,0x11 + 83f4e6f4: 5687b783 ld a5,1384(a5) # 83f5fc58 + 83f4e6f8: 00f776b3 and a3,a4,a5 + 83f4e6fc: c681 beqz a3,83f4e704 + 83f4e6fe: ff053683 ld a3,-16(a0) + 83f4e702: c291 beqz a3,83f4e706 + 83f4e704: 8082 ret + 83f4e706: 1101 addi sp,sp,-32 + 83f4e708: fff7c793 not a5,a5 + 83f4e70c: ec06 sd ra,24(sp) + 83f4e70e: 8ff9 and a5,a5,a4 + 83f4e710: fef53c23 sd a5,-8(a0) + 83f4e714: e42a sd a0,8(sp) + 83f4e716: 521000ef jal ra,83f4f436 + 83f4e71a: 6522 ld a0,8(sp) + 83f4e71c: 00011717 auipc a4,0x11 + 83f4e720: 54470713 addi a4,a4,1348 # 83f5fc60 + 83f4e724: 6314 ld a3,0(a4) + 83f4e726: ff853783 ld a5,-8(a0) + 83f4e72a: 1541 addi a0,a0,-16 + 83f4e72c: 97b6 add a5,a5,a3 + 83f4e72e: e31c sd a5,0(a4) + 83f4e730: e05ff0ef jal ra,83f4e534 + 83f4e734: 00011717 auipc a4,0x11 + 83f4e738: 54470713 addi a4,a4,1348 # 83f5fc78 + 83f4e73c: 631c ld a5,0(a4) + 83f4e73e: 0785 addi a5,a5,1 + 83f4e740: e31c sd a5,0(a4) + 83f4e742: 60e2 ld ra,24(sp) + 83f4e744: 6105 addi sp,sp,32 + 83f4e746: 2780106f j 83f4f9be + +0000000083f4e74a : + 83f4e74a: 1101 addi sp,sp,-32 + 83f4e74c: e822 sd s0,16(sp) + 83f4e74e: ec06 sd ra,24(sp) + 83f4e750: e426 sd s1,8(sp) + 83f4e752: e04a sd s2,0(sp) + 83f4e754: 615c ld a5,128(a0) + 83f4e756: 7924 ld s1,112(a0) + 83f4e758: 842a mv s0,a0 + 83f4e75a: ef81 bnez a5,83f4e772 + 83f4e75c: 611c ld a5,0(a0) + 83f4e75e: 0485 addi s1,s1,1 + 83f4e760: 4501 li a0,0 + 83f4e762: cfa5 beqz a5,83f4e7da + 83f4e764: f824 sd s1,112(s0) + 83f4e766: 60e2 ld ra,24(sp) + 83f4e768: 6442 ld s0,16(sp) + 83f4e76a: 64a2 ld s1,8(sp) + 83f4e76c: 6902 ld s2,0(sp) + 83f4e76e: 6105 addi sp,sp,32 + 83f4e770: 8082 ret + 83f4e772: 8932 mv s2,a2 + 83f4e774: e61d bnez a2,83f4e7a2 + 83f4e776: 6508 ld a0,8(a0) + 83f4e778: 863e mv a2,a5 + 83f4e77a: 0485 addi s1,s1,1 + 83f4e77c: 985f10ef jal ra,83f40100 + 83f4e780: 641c ld a5,8(s0) + 83f4e782: 6054 ld a3,128(s0) + 83f4e784: 6818 ld a4,16(s0) + 83f4e786: 4501 li a0,0 + 83f4e788: 97b6 add a5,a5,a3 + 83f4e78a: e41c sd a5,8(s0) + 83f4e78c: fce7ece3 bltu a5,a4,83f4e764 + 83f4e790: 601c ld a5,0(s0) + 83f4e792: f824 sd s1,112(s0) + 83f4e794: e41c sd a5,8(s0) + 83f4e796: 60e2 ld ra,24(sp) + 83f4e798: 6442 ld s0,16(sp) + 83f4e79a: 64a2 ld s1,8(sp) + 83f4e79c: 6902 ld s2,0(sp) + 83f4e79e: 6105 addi sp,sp,32 + 83f4e7a0: 8082 ret + 83f4e7a2: 6d08 ld a0,24(a0) + 83f4e7a4: 863e mv a2,a5 + 83f4e7a6: 95bf10ef jal ra,83f40100 + 83f4e7aa: 6058 ld a4,128(s0) + 83f4e7ac: 6c1c ld a5,24(s0) + 83f4e7ae: 6014 ld a3,0(s0) + 83f4e7b0: 40e00633 neg a2,a4 + 83f4e7b4: 8f99 sub a5,a5,a4 + 83f4e7b6: ec1c sd a5,24(s0) + 83f4e7b8: 00d7f563 bgeu a5,a3,83f4e7c2 + 83f4e7bc: 681c ld a5,16(s0) + 83f4e7be: 97b2 add a5,a5,a2 + 83f4e7c0: ec1c sd a5,24(s0) + 83f4e7c2: 4789 li a5,2 + 83f4e7c4: 02f90163 beq s2,a5,83f4e7e6 + 83f4e7c8: 0485 addi s1,s1,1 + 83f4e7ca: f824 sd s1,112(s0) + 83f4e7cc: 60e2 ld ra,24(sp) + 83f4e7ce: 6442 ld s0,16(sp) + 83f4e7d0: 64a2 ld s1,8(sp) + 83f4e7d2: 6902 ld s2,0(sp) + 83f4e7d4: 4501 li a0,0 + 83f4e7d6: 6105 addi sp,sp,32 + 83f4e7d8: 8082 ret + 83f4e7da: 6808 ld a0,16(s0) + 83f4e7dc: 631000ef jal ra,83f4f60c + 83f4e7e0: 00043823 sd zero,16(s0) + 83f4e7e4: b741 j 83f4e764 + 83f4e7e6: c099 beqz s1,83f4e7ec + 83f4e7e8: 4501 li a0,0 + 83f4e7ea: bfad j 83f4e764 + 83f4e7ec: 4485 li s1,1 + 83f4e7ee: 4501 li a0,0 + 83f4e7f0: bf95 j 83f4e764 + +0000000083f4e7f2 : + 83f4e7f2: 1101 addi sp,sp,-32 + 83f4e7f4: e822 sd s0,16(sp) + 83f4e7f6: e426 sd s1,8(sp) + 83f4e7f8: ec06 sd ra,24(sp) + 83f4e7fa: 84aa mv s1,a0 + 83f4e7fc: e04a sd s2,0(sp) + 83f4e7fe: 6b9000ef jal ra,83f4f6b6 + 83f4e802: 0894c783 lbu a5,137(s1) + 83f4e806: 0187941b slliw s0,a5,0x18 + 83f4e80a: 4184541b sraiw s0,s0,0x18 + 83f4e80e: 02805f63 blez s0,83f4e84c + 83f4e812: 04848913 addi s2,s1,72 + 83f4e816: a811 j 83f4e82a + 83f4e818: fff4079b addiw a5,s0,-1 + 83f4e81c: 0187941b slliw s0,a5,0x18 + 83f4e820: 0ff7f713 andi a4,a5,255 + 83f4e824: 4184541b sraiw s0,s0,0x18 + 83f4e828: c315 beqz a4,83f4e84c + 83f4e82a: 64bc ld a5,72(s1) + 83f4e82c: 854a mv a0,s2 + 83f4e82e: cf99 beqz a5,83f4e84c + 83f4e830: 4d5000ef jal ra,83f4f504 + 83f4e834: d175 beqz a0,83f4e818 + 83f4e836: 5cb000ef jal ra,83f4f600 + 83f4e83a: fff4079b addiw a5,s0,-1 + 83f4e83e: 0187941b slliw s0,a5,0x18 + 83f4e842: 0ff7f713 andi a4,a5,255 + 83f4e846: 4184541b sraiw s0,s0,0x18 + 83f4e84a: f365 bnez a4,83f4e82a + 83f4e84c: 57fd li a5,-1 + 83f4e84e: 08f484a3 sb a5,137(s1) + 83f4e852: 687000ef jal ra,83f4f6d8 + 83f4e856: 661000ef jal ra,83f4f6b6 + 83f4e85a: 0884c783 lbu a5,136(s1) + 83f4e85e: 0187941b slliw s0,a5,0x18 + 83f4e862: 4184541b sraiw s0,s0,0x18 + 83f4e866: 02805f63 blez s0,83f4e8a4 + 83f4e86a: 02048913 addi s2,s1,32 + 83f4e86e: a811 j 83f4e882 + 83f4e870: fff4079b addiw a5,s0,-1 + 83f4e874: 0187941b slliw s0,a5,0x18 + 83f4e878: 0ff7f713 andi a4,a5,255 + 83f4e87c: 4184541b sraiw s0,s0,0x18 + 83f4e880: c315 beqz a4,83f4e8a4 + 83f4e882: 709c ld a5,32(s1) + 83f4e884: 854a mv a0,s2 + 83f4e886: cf99 beqz a5,83f4e8a4 + 83f4e888: 47d000ef jal ra,83f4f504 + 83f4e88c: d175 beqz a0,83f4e870 + 83f4e88e: 573000ef jal ra,83f4f600 + 83f4e892: fff4079b addiw a5,s0,-1 + 83f4e896: 0187941b slliw s0,a5,0x18 + 83f4e89a: 0ff7f713 andi a4,a5,255 + 83f4e89e: 4184541b sraiw s0,s0,0x18 + 83f4e8a2: f365 bnez a4,83f4e882 + 83f4e8a4: 57fd li a5,-1 + 83f4e8a6: 08f48423 sb a5,136(s1) + 83f4e8aa: 6442 ld s0,16(sp) + 83f4e8ac: 60e2 ld ra,24(sp) + 83f4e8ae: 64a2 ld s1,8(sp) + 83f4e8b0: 6902 ld s2,0(sp) + 83f4e8b2: 6105 addi sp,sp,32 + 83f4e8b4: 6250006f j 83f4f6d8 + +0000000083f4e8b8 : + 83f4e8b8: 1101 addi sp,sp,-32 + 83f4e8ba: ec06 sd ra,24(sp) + 83f4e8bc: e822 sd s0,16(sp) + 83f4e8be: e42e sd a1,8(sp) + 83f4e8c0: c939 beqz a0,83f4e916 + 83f4e8c2: 7d3c ld a5,120(a0) + 83f4e8c4: 842a mv s0,a0 + 83f4e8c6: 4501 li a0,0 + 83f4e8c8: c3b9 beqz a5,83f4e90e + 83f4e8ca: 6058 ld a4,128(s0) + 83f4e8cc: 02e7b7b3 mulhu a5,a5,a4 + 83f4e8d0: ef9d bnez a5,83f4e90e + 83f4e8d2: 5e5000ef jal ra,83f4f6b6 + 83f4e8d6: 7c3c ld a5,120(s0) + 83f4e8d8: 6050 ld a2,128(s0) + 83f4e8da: 6018 ld a4,0(s0) + 83f4e8dc: fff78693 addi a3,a5,-1 + 83f4e8e0: 02c686b3 mul a3,a3,a2 + 83f4e8e4: 06043823 sd zero,112(s0) + 83f4e8e8: 557d li a0,-1 + 83f4e8ea: 65a2 ld a1,8(sp) + 83f4e8ec: 08a40423 sb a0,136(s0) + 83f4e8f0: e418 sd a4,8(s0) + 83f4e8f2: 08a404a3 sb a0,137(s0) + 83f4e8f6: 02c787b3 mul a5,a5,a2 + 83f4e8fa: 97ba add a5,a5,a4 + 83f4e8fc: 9736 add a4,a4,a3 + 83f4e8fe: e81c sd a5,16(s0) + 83f4e900: ec18 sd a4,24(s0) + 83f4e902: ed99 bnez a1,83f4e920 + 83f4e904: 701c ld a5,32(s0) + 83f4e906: e795 bnez a5,83f4e932 + 83f4e908: 5d1000ef jal ra,83f4f6d8 + 83f4e90c: 4505 li a0,1 + 83f4e90e: 60e2 ld ra,24(sp) + 83f4e910: 6442 ld s0,16(sp) + 83f4e912: 6105 addi sp,sp,32 + 83f4e914: 8082 ret + 83f4e916: 60e2 ld ra,24(sp) + 83f4e918: 6442 ld s0,16(sp) + 83f4e91a: 4501 li a0,0 + 83f4e91c: 6105 addi sp,sp,32 + 83f4e91e: 8082 ret + 83f4e920: 02040513 addi a0,s0,32 + 83f4e924: 6ca010ef jal ra,83f4ffee + 83f4e928: 04840513 addi a0,s0,72 + 83f4e92c: 6c2010ef jal ra,83f4ffee + 83f4e930: bfe1 j 83f4e908 + 83f4e932: 02040513 addi a0,s0,32 + 83f4e936: 3cf000ef jal ra,83f4f504 + 83f4e93a: d579 beqz a0,83f4e908 + 83f4e93c: 00000073 ecall + 83f4e940: b7e1 j 83f4e908 + +0000000083f4e942 : + 83f4e942: cd25 beqz a0,83f4e9ba + 83f4e944: 1141 addi sp,sp,-16 + 83f4e946: e022 sd s0,0(sp) + 83f4e948: e406 sd ra,8(sp) + 83f4e94a: 8436 mv s0,a3 + 83f4e94c: caad beqz a3,83f4e9be + 83f4e94e: ce2d beqz a2,83f4e9c8 + 83f4e950: c5bd beqz a1,83f4e9be + 83f4e952: 02a5b7b3 mulhu a5,a1,a0 + 83f4e956: 4705 li a4,1 + 83f4e958: 08e68523 sb a4,138(a3) + 83f4e95c: e290 sd a2,0(a3) + 83f4e95e: fea8 sd a0,120(a3) + 83f4e960: e2cc sd a1,128(a3) + 83f4e962: e7b9 bnez a5,83f4e9b0 + 83f4e964: 553000ef jal ra,83f4f6b6 + 83f4e968: 7c3c ld a5,120(s0) + 83f4e96a: 6050 ld a2,128(s0) + 83f4e96c: 6018 ld a4,0(s0) + 83f4e96e: fff78693 addi a3,a5,-1 + 83f4e972: 02c686b3 mul a3,a3,a2 + 83f4e976: 55fd li a1,-1 + 83f4e978: 06043823 sd zero,112(s0) + 83f4e97c: 08b40423 sb a1,136(s0) + 83f4e980: e418 sd a4,8(s0) + 83f4e982: 08b404a3 sb a1,137(s0) + 83f4e986: 02040513 addi a0,s0,32 + 83f4e98a: 02c787b3 mul a5,a5,a2 + 83f4e98e: 97ba add a5,a5,a4 + 83f4e990: 9736 add a4,a4,a3 + 83f4e992: e81c sd a5,16(s0) + 83f4e994: ec18 sd a4,24(s0) + 83f4e996: 658010ef jal ra,83f4ffee + 83f4e99a: 04840513 addi a0,s0,72 + 83f4e99e: 650010ef jal ra,83f4ffee + 83f4e9a2: 537000ef jal ra,83f4f6d8 + 83f4e9a6: 60a2 ld ra,8(sp) + 83f4e9a8: 8522 mv a0,s0 + 83f4e9aa: 6402 ld s0,0(sp) + 83f4e9ac: 0141 addi sp,sp,16 + 83f4e9ae: 8082 ret + 83f4e9b0: 60a2 ld ra,8(sp) + 83f4e9b2: 6402 ld s0,0(sp) + 83f4e9b4: 8536 mv a0,a3 + 83f4e9b6: 0141 addi sp,sp,16 + 83f4e9b8: 8082 ret + 83f4e9ba: 4501 li a0,0 + 83f4e9bc: 8082 ret + 83f4e9be: 60a2 ld ra,8(sp) + 83f4e9c0: 6402 ld s0,0(sp) + 83f4e9c2: 4501 li a0,0 + 83f4e9c4: 0141 addi sp,sp,16 + 83f4e9c6: 8082 ret + 83f4e9c8: f9fd bnez a1,83f4e9be + 83f4e9ca: 4785 li a5,1 + 83f4e9cc: 08f68523 sb a5,138(a3) + 83f4e9d0: e014 sd a3,0(s0) + 83f4e9d2: fea8 sd a0,120(a3) + 83f4e9d4: 0806b023 sd zero,128(a3) + 83f4e9d8: b771 j 83f4e964 + +0000000083f4e9da : + 83f4e9da: 1101 addi sp,sp,-32 + 83f4e9dc: ec06 sd ra,24(sp) + 83f4e9de: e822 sd s0,16(sp) + 83f4e9e0: e426 sd s1,8(sp) + 83f4e9e2: e04a sd s2,0(sp) + 83f4e9e4: c929 beqz a0,83f4ea36 + 83f4e9e6: 02a5b7b3 mulhu a5,a1,a0 + 83f4e9ea: 842a mv s0,a0 + 83f4e9ec: 84ae mv s1,a1 + 83f4e9ee: e7a1 bnez a5,83f4ea36 + 83f4e9f0: 02b50533 mul a0,a0,a1 + 83f4e9f4: f6f00793 li a5,-145 + 83f4e9f8: 02a7ef63 bltu a5,a0,83f4ea36 + 83f4e9fc: 09050513 addi a0,a0,144 + 83f4ea00: b85ff0ef jal ra,83f4e584 + 83f4ea04: 892a mv s2,a0 + 83f4ea06: c905 beqz a0,83f4ea36 + 83f4ea08: 08050523 sb zero,138(a0) + 83f4ea0c: 87aa mv a5,a0 + 83f4ea0e: c099 beqz s1,83f4ea14 + 83f4ea10: 09050793 addi a5,a0,144 + 83f4ea14: 06893c23 sd s0,120(s2) + 83f4ea18: 08993023 sd s1,128(s2) + 83f4ea1c: 00f93023 sd a5,0(s2) + 83f4ea20: 854a mv a0,s2 + 83f4ea22: 4585 li a1,1 + 83f4ea24: e95ff0ef jal ra,83f4e8b8 + 83f4ea28: 60e2 ld ra,24(sp) + 83f4ea2a: 6442 ld s0,16(sp) + 83f4ea2c: 64a2 ld s1,8(sp) + 83f4ea2e: 854a mv a0,s2 + 83f4ea30: 6902 ld s2,0(sp) + 83f4ea32: 6105 addi sp,sp,32 + 83f4ea34: 8082 ret + 83f4ea36: 60e2 ld ra,24(sp) + 83f4ea38: 6442 ld s0,16(sp) + 83f4ea3a: 4901 li s2,0 + 83f4ea3c: 64a2 ld s1,8(sp) + 83f4ea3e: 854a mv a0,s2 + 83f4ea40: 6902 ld s2,0(sp) + 83f4ea42: 6105 addi sp,sp,32 + 83f4ea44: 8082 ret + +0000000083f4ea46 : + 83f4ea46: 711d addi sp,sp,-96 + 83f4ea48: e8a2 sd s0,80(sp) + 83f4ea4a: e4a6 sd s1,72(sp) + 83f4ea4c: 842a mv s0,a0 + 83f4ea4e: e0ca sd s2,64(sp) + 83f4ea50: fc4e sd s3,56(sp) + 83f4ea52: f852 sd s4,48(sp) + 83f4ea54: f456 sd s5,40(sp) + 83f4ea56: f05a sd s6,32(sp) + 83f4ea58: ec86 sd ra,88(sp) + 83f4ea5a: 8aae mv s5,a1 + 83f4ea5c: e432 sd a2,8(sp) + 83f4ea5e: 8936 mv s2,a3 + 83f4ea60: 02050a13 addi s4,a0,32 + 83f4ea64: 453000ef jal ra,83f4f6b6 + 83f4ea68: 7838 ld a4,112(s0) + 83f4ea6a: 7c3c ld a5,120(s0) + 83f4ea6c: 4b01 li s6,0 + 83f4ea6e: 4989 li s3,2 + 83f4ea70: 54fd li s1,-1 + 83f4ea72: 06f76e63 bltu a4,a5,83f4eaee + 83f4ea76: 07390c63 beq s2,s3,83f4eaee + 83f4ea7a: 67a2 ld a5,8(sp) + 83f4ea7c: 0c078a63 beqz a5,83f4eb50 + 83f4ea80: 0a0b0c63 beqz s6,83f4eb38 + 83f4ea84: 455000ef jal ra,83f4f6d8 + 83f4ea88: 1af000ef jal ra,83f4f436 + 83f4ea8c: 42b000ef jal ra,83f4f6b6 + 83f4ea90: 08844783 lbu a5,136(s0) + 83f4ea94: 0187979b slliw a5,a5,0x18 + 83f4ea98: 4187d79b sraiw a5,a5,0x18 + 83f4ea9c: 00979463 bne a5,s1,83f4eaa4 + 83f4eaa0: 08040423 sb zero,136(s0) + 83f4eaa4: 08944783 lbu a5,137(s0) + 83f4eaa8: 0187979b slliw a5,a5,0x18 + 83f4eaac: 4187d79b sraiw a5,a5,0x18 + 83f4eab0: 00979463 bne a5,s1,83f4eab8 + 83f4eab4: 080404a3 sb zero,137(s0) + 83f4eab8: 421000ef jal ra,83f4f6d8 + 83f4eabc: 002c addi a1,sp,8 + 83f4eabe: 0808 addi a0,sp,16 + 83f4eac0: 0fa010ef jal ra,83f4fbba + 83f4eac4: e951 bnez a0,83f4eb58 + 83f4eac6: 3f1000ef jal ra,83f4f6b6 + 83f4eaca: 7838 ld a4,112(s0) + 83f4eacc: 7c3c ld a5,120(s0) + 83f4eace: 04f70563 beq a4,a5,83f4eb18 + 83f4ead2: 407000ef jal ra,83f4f6d8 + 83f4ead6: 8522 mv a0,s0 + 83f4ead8: d1bff0ef jal ra,83f4e7f2 + 83f4eadc: 6e3000ef jal ra,83f4f9be + 83f4eae0: 4b05 li s6,1 + 83f4eae2: 3d5000ef jal ra,83f4f6b6 + 83f4eae6: 7838 ld a4,112(s0) + 83f4eae8: 7c3c ld a5,120(s0) + 83f4eaea: f8f776e3 bgeu a4,a5,83f4ea76 + 83f4eaee: 864a mv a2,s2 + 83f4eaf0: 85d6 mv a1,s5 + 83f4eaf2: 8522 mv a0,s0 + 83f4eaf4: c57ff0ef jal ra,83f4e74a + 83f4eaf8: 643c ld a5,72(s0) + 83f4eafa: e3b9 bnez a5,83f4eb40 + 83f4eafc: e539 bnez a0,83f4eb4a + 83f4eafe: 3db000ef jal ra,83f4f6d8 + 83f4eb02: 4505 li a0,1 + 83f4eb04: 60e6 ld ra,88(sp) + 83f4eb06: 6446 ld s0,80(sp) + 83f4eb08: 64a6 ld s1,72(sp) + 83f4eb0a: 6906 ld s2,64(sp) + 83f4eb0c: 79e2 ld s3,56(sp) + 83f4eb0e: 7a42 ld s4,48(sp) + 83f4eb10: 7aa2 ld s5,40(sp) + 83f4eb12: 7b02 ld s6,32(sp) + 83f4eb14: 6125 addi sp,sp,96 + 83f4eb16: 8082 ret + 83f4eb18: 3c1000ef jal ra,83f4f6d8 + 83f4eb1c: 65a2 ld a1,8(sp) + 83f4eb1e: 8552 mv a0,s4 + 83f4eb20: 177000ef jal ra,83f4f496 + 83f4eb24: 8522 mv a0,s0 + 83f4eb26: ccdff0ef jal ra,83f4e7f2 + 83f4eb2a: 695000ef jal ra,83f4f9be + 83f4eb2e: f94d bnez a0,83f4eae0 + 83f4eb30: 00000073 ecall + 83f4eb34: 4b05 li s6,1 + 83f4eb36: b775 j 83f4eae2 + 83f4eb38: 0808 addi a0,sp,16 + 83f4eb3a: 2b1000ef jal ra,83f4f5ea + 83f4eb3e: b799 j 83f4ea84 + 83f4eb40: 04840513 addi a0,s0,72 + 83f4eb44: 1c1000ef jal ra,83f4f504 + 83f4eb48: d95d beqz a0,83f4eafe + 83f4eb4a: 00000073 ecall + 83f4eb4e: bf45 j 83f4eafe + 83f4eb50: 389000ef jal ra,83f4f6d8 + 83f4eb54: 4501 li a0,0 + 83f4eb56: b77d j 83f4eb04 + 83f4eb58: 8522 mv a0,s0 + 83f4eb5a: c99ff0ef jal ra,83f4e7f2 + 83f4eb5e: 661000ef jal ra,83f4f9be + 83f4eb62: 4501 li a0,0 + 83f4eb64: b745 j 83f4eb04 + +0000000083f4eb66 : + 83f4eb66: 7179 addi sp,sp,-48 + 83f4eb68: f022 sd s0,32(sp) + 83f4eb6a: e84a sd s2,16(sp) + 83f4eb6c: f406 sd ra,40(sp) + 83f4eb6e: ec26 sd s1,24(sp) + 83f4eb70: e44e sd s3,8(sp) + 83f4eb72: 7938 ld a4,112(a0) + 83f4eb74: 7d3c ld a5,120(a0) + 83f4eb76: 8932 mv s2,a2 + 83f4eb78: 842a mv s0,a0 + 83f4eb7a: 8636 mv a2,a3 + 83f4eb7c: 00f76d63 bltu a4,a5,83f4eb96 + 83f4eb80: 4789 li a5,2 + 83f4eb82: 4501 li a0,0 + 83f4eb84: 00f68963 beq a3,a5,83f4eb96 + 83f4eb88: 70a2 ld ra,40(sp) + 83f4eb8a: 7402 ld s0,32(sp) + 83f4eb8c: 64e2 ld s1,24(sp) + 83f4eb8e: 6942 ld s2,16(sp) + 83f4eb90: 69a2 ld s3,8(sp) + 83f4eb92: 6145 addi sp,sp,48 + 83f4eb94: 8082 ret + 83f4eb96: 08944483 lbu s1,137(s0) + 83f4eb9a: 783c ld a5,112(s0) + 83f4eb9c: 8522 mv a0,s0 + 83f4eb9e: 0184999b slliw s3,s1,0x18 + 83f4eba2: ba9ff0ef jal ra,83f4e74a + 83f4eba6: 4189d99b sraiw s3,s3,0x18 + 83f4ebaa: 57fd li a5,-1 + 83f4ebac: 02f98163 beq s3,a5,83f4ebce + 83f4ebb0: 2485 addiw s1,s1,1 + 83f4ebb2: 0184949b slliw s1,s1,0x18 + 83f4ebb6: 4184d49b sraiw s1,s1,0x18 + 83f4ebba: 089404a3 sb s1,137(s0) + 83f4ebbe: 70a2 ld ra,40(sp) + 83f4ebc0: 7402 ld s0,32(sp) + 83f4ebc2: 64e2 ld s1,24(sp) + 83f4ebc4: 6942 ld s2,16(sp) + 83f4ebc6: 69a2 ld s3,8(sp) + 83f4ebc8: 4505 li a0,1 + 83f4ebca: 6145 addi sp,sp,48 + 83f4ebcc: 8082 ret + 83f4ebce: 643c ld a5,72(s0) + 83f4ebd0: d7fd beqz a5,83f4ebbe + 83f4ebd2: 04840513 addi a0,s0,72 + 83f4ebd6: 12f000ef jal ra,83f4f504 + 83f4ebda: d175 beqz a0,83f4ebbe + 83f4ebdc: fe0901e3 beqz s2,83f4ebbe + 83f4ebe0: 4785 li a5,1 + 83f4ebe2: 00f93023 sd a5,0(s2) + 83f4ebe6: 4505 li a0,1 + 83f4ebe8: b745 j 83f4eb88 + +0000000083f4ebea : + 83f4ebea: 793c ld a5,112(a0) + 83f4ebec: 7d38 ld a4,120(a0) + 83f4ebee: 02e7f663 bgeu a5,a4,83f4ec1a + 83f4ebf2: 08954703 lbu a4,137(a0) + 83f4ebf6: 0785 addi a5,a5,1 + 83f4ebf8: f93c sd a5,112(a0) + 83f4ebfa: 0187169b slliw a3,a4,0x18 + 83f4ebfe: 4186d69b sraiw a3,a3,0x18 + 83f4ec02: 57fd li a5,-1 + 83f4ec04: 00f68d63 beq a3,a5,83f4ec1e + 83f4ec08: 2705 addiw a4,a4,1 + 83f4ec0a: 0187171b slliw a4,a4,0x18 + 83f4ec0e: 4187571b sraiw a4,a4,0x18 + 83f4ec12: 08e504a3 sb a4,137(a0) + 83f4ec16: 4505 li a0,1 + 83f4ec18: 8082 ret + 83f4ec1a: 4501 li a0,0 + 83f4ec1c: 8082 ret + 83f4ec1e: 653c ld a5,72(a0) + 83f4ec20: e399 bnez a5,83f4ec26 + 83f4ec22: 4505 li a0,1 + 83f4ec24: 8082 ret + 83f4ec26: 1101 addi sp,sp,-32 + 83f4ec28: 04850513 addi a0,a0,72 + 83f4ec2c: ec06 sd ra,24(sp) + 83f4ec2e: e42e sd a1,8(sp) + 83f4ec30: 0d5000ef jal ra,83f4f504 + 83f4ec34: c509 beqz a0,83f4ec3e + 83f4ec36: 65a2 ld a1,8(sp) + 83f4ec38: c199 beqz a1,83f4ec3e + 83f4ec3a: 4785 li a5,1 + 83f4ec3c: e19c sd a5,0(a1) + 83f4ec3e: 60e2 ld ra,24(sp) + 83f4ec40: 4505 li a0,1 + 83f4ec42: 6105 addi sp,sp,32 + 83f4ec44: 8082 ret + +0000000083f4ec46 : + 83f4ec46: 715d addi sp,sp,-80 + 83f4ec48: e0a2 sd s0,64(sp) + 83f4ec4a: 842a mv s0,a0 + 83f4ec4c: f84a sd s2,48(sp) + 83f4ec4e: f44e sd s3,40(sp) + 83f4ec50: e486 sd ra,72(sp) + 83f4ec52: fc26 sd s1,56(sp) + 83f4ec54: f052 sd s4,32(sp) + 83f4ec56: 89ae mv s3,a1 + 83f4ec58: e432 sd a2,8(sp) + 83f4ec5a: 25d000ef jal ra,83f4f6b6 + 83f4ec5e: 07043903 ld s2,112(s0) + 83f4ec62: 0c091563 bnez s2,83f4ed2c + 83f4ec66: 67a2 ld a5,8(sp) + 83f4ec68: c3c1 beqz a5,83f4ece8 + 83f4ec6a: 0808 addi a0,sp,16 + 83f4ec6c: 17f000ef jal ra,83f4f5ea + 83f4ec70: 54fd li s1,-1 + 83f4ec72: 04840a13 addi s4,s0,72 + 83f4ec76: 263000ef jal ra,83f4f6d8 + 83f4ec7a: 7bc000ef jal ra,83f4f436 + 83f4ec7e: 239000ef jal ra,83f4f6b6 + 83f4ec82: 08844783 lbu a5,136(s0) + 83f4ec86: 0187979b slliw a5,a5,0x18 + 83f4ec8a: 4187d79b sraiw a5,a5,0x18 + 83f4ec8e: 00979463 bne a5,s1,83f4ec96 + 83f4ec92: 08040423 sb zero,136(s0) + 83f4ec96: 08944783 lbu a5,137(s0) + 83f4ec9a: 0187979b slliw a5,a5,0x18 + 83f4ec9e: 4187d79b sraiw a5,a5,0x18 + 83f4eca2: 00979463 bne a5,s1,83f4ecaa + 83f4eca6: 080404a3 sb zero,137(s0) + 83f4ecaa: 22f000ef jal ra,83f4f6d8 + 83f4ecae: 002c addi a1,sp,8 + 83f4ecb0: 0808 addi a0,sp,16 + 83f4ecb2: 709000ef jal ra,83f4fbba + 83f4ecb6: e521 bnez a0,83f4ecfe + 83f4ecb8: 1ff000ef jal ra,83f4f6b6 + 83f4ecbc: 783c ld a5,112(s0) + 83f4ecbe: efa1 bnez a5,83f4ed16 + 83f4ecc0: 219000ef jal ra,83f4f6d8 + 83f4ecc4: 65a2 ld a1,8(sp) + 83f4ecc6: 8552 mv a0,s4 + 83f4ecc8: 7ce000ef jal ra,83f4f496 + 83f4eccc: 8522 mv a0,s0 + 83f4ecce: b25ff0ef jal ra,83f4e7f2 + 83f4ecd2: 4ed000ef jal ra,83f4f9be + 83f4ecd6: c921 beqz a0,83f4ed26 + 83f4ecd8: 1df000ef jal ra,83f4f6b6 + 83f4ecdc: 07043903 ld s2,112(s0) + 83f4ece0: 04091663 bnez s2,83f4ed2c + 83f4ece4: 67a2 ld a5,8(sp) + 83f4ece6: fbc1 bnez a5,83f4ec76 + 83f4ece8: 1f1000ef jal ra,83f4f6d8 + 83f4ecec: 60a6 ld ra,72(sp) + 83f4ecee: 6406 ld s0,64(sp) + 83f4ecf0: 74e2 ld s1,56(sp) + 83f4ecf2: 7942 ld s2,48(sp) + 83f4ecf4: 79a2 ld s3,40(sp) + 83f4ecf6: 7a02 ld s4,32(sp) + 83f4ecf8: 4501 li a0,0 + 83f4ecfa: 6161 addi sp,sp,80 + 83f4ecfc: 8082 ret + 83f4ecfe: 8522 mv a0,s0 + 83f4ed00: af3ff0ef jal ra,83f4e7f2 + 83f4ed04: 4bb000ef jal ra,83f4f9be + 83f4ed08: 1af000ef jal ra,83f4f6b6 + 83f4ed0c: 783c ld a5,112(s0) + 83f4ed0e: dfe9 beqz a5,83f4ece8 + 83f4ed10: 1c9000ef jal ra,83f4f6d8 + 83f4ed14: b7d1 j 83f4ecd8 + 83f4ed16: 1c3000ef jal ra,83f4f6d8 + 83f4ed1a: 8522 mv a0,s0 + 83f4ed1c: ad7ff0ef jal ra,83f4e7f2 + 83f4ed20: 49f000ef jal ra,83f4f9be + 83f4ed24: bf55 j 83f4ecd8 + 83f4ed26: 00000073 ecall + 83f4ed2a: b77d j 83f4ecd8 + 83f4ed2c: 6050 ld a2,128(s0) + 83f4ed2e: ca11 beqz a2,83f4ed42 + 83f4ed30: 6c0c ld a1,24(s0) + 83f4ed32: 681c ld a5,16(s0) + 83f4ed34: 95b2 add a1,a1,a2 + 83f4ed36: ec0c sd a1,24(s0) + 83f4ed38: 02f5f563 bgeu a1,a5,83f4ed62 + 83f4ed3c: 854e mv a0,s3 + 83f4ed3e: bc2f10ef jal ra,83f40100 + 83f4ed42: 197d addi s2,s2,-1 + 83f4ed44: 07243823 sd s2,112(s0) + 83f4ed48: 701c ld a5,32(s0) + 83f4ed4a: ef99 bnez a5,83f4ed68 + 83f4ed4c: 18d000ef jal ra,83f4f6d8 + 83f4ed50: 60a6 ld ra,72(sp) + 83f4ed52: 6406 ld s0,64(sp) + 83f4ed54: 74e2 ld s1,56(sp) + 83f4ed56: 7942 ld s2,48(sp) + 83f4ed58: 79a2 ld s3,40(sp) + 83f4ed5a: 7a02 ld s4,32(sp) + 83f4ed5c: 4505 li a0,1 + 83f4ed5e: 6161 addi sp,sp,80 + 83f4ed60: 8082 ret + 83f4ed62: 600c ld a1,0(s0) + 83f4ed64: ec0c sd a1,24(s0) + 83f4ed66: bfd9 j 83f4ed3c + 83f4ed68: 02040513 addi a0,s0,32 + 83f4ed6c: 798000ef jal ra,83f4f504 + 83f4ed70: dd71 beqz a0,83f4ed4c + 83f4ed72: 00000073 ecall + 83f4ed76: bfd9 j 83f4ed4c + +0000000083f4ed78 : + 83f4ed78: 7179 addi sp,sp,-48 + 83f4ed7a: f406 sd ra,40(sp) + 83f4ed7c: f022 sd s0,32(sp) + 83f4ed7e: ec26 sd s1,24(sp) + 83f4ed80: e84a sd s2,16(sp) + 83f4ed82: e44e sd s3,8(sp) + 83f4ed84: e052 sd s4,0(sp) + 83f4ed86: 07053903 ld s2,112(a0) + 83f4ed8a: 00091b63 bnez s2,83f4eda0 + 83f4ed8e: 70a2 ld ra,40(sp) + 83f4ed90: 7402 ld s0,32(sp) + 83f4ed92: 64e2 ld s1,24(sp) + 83f4ed94: 6942 ld s2,16(sp) + 83f4ed96: 69a2 ld s3,8(sp) + 83f4ed98: 6a02 ld s4,0(sp) + 83f4ed9a: 4501 li a0,0 + 83f4ed9c: 6145 addi sp,sp,48 + 83f4ed9e: 8082 ret + 83f4eda0: 08854983 lbu s3,136(a0) + 83f4eda4: 84b2 mv s1,a2 + 83f4eda6: 6150 ld a2,128(a0) + 83f4eda8: 01899a1b slliw s4,s3,0x18 + 83f4edac: 842a mv s0,a0 + 83f4edae: 418a5a1b sraiw s4,s4,0x18 + 83f4edb2: ce01 beqz a2,83f4edca + 83f4edb4: 852e mv a0,a1 + 83f4edb6: 6c0c ld a1,24(s0) + 83f4edb8: 681c ld a5,16(s0) + 83f4edba: 95b2 add a1,a1,a2 + 83f4edbc: ec0c sd a1,24(s0) + 83f4edbe: 00f5e463 bltu a1,a5,83f4edc6 + 83f4edc2: 600c ld a1,0(s0) + 83f4edc4: ec0c sd a1,24(s0) + 83f4edc6: b3af10ef jal ra,83f40100 + 83f4edca: 197d addi s2,s2,-1 + 83f4edcc: 07243823 sd s2,112(s0) + 83f4edd0: 57fd li a5,-1 + 83f4edd2: 02fa0263 beq s4,a5,83f4edf6 + 83f4edd6: 2985 addiw s3,s3,1 + 83f4edd8: 0189999b slliw s3,s3,0x18 + 83f4eddc: 4189d99b sraiw s3,s3,0x18 + 83f4ede0: 09340423 sb s3,136(s0) + 83f4ede4: 70a2 ld ra,40(sp) + 83f4ede6: 7402 ld s0,32(sp) + 83f4ede8: 64e2 ld s1,24(sp) + 83f4edea: 6942 ld s2,16(sp) + 83f4edec: 69a2 ld s3,8(sp) + 83f4edee: 6a02 ld s4,0(sp) + 83f4edf0: 4505 li a0,1 + 83f4edf2: 6145 addi sp,sp,48 + 83f4edf4: 8082 ret + 83f4edf6: 701c ld a5,32(s0) + 83f4edf8: eb91 bnez a5,83f4ee0c + 83f4edfa: 4505 li a0,1 + 83f4edfc: 70a2 ld ra,40(sp) + 83f4edfe: 7402 ld s0,32(sp) + 83f4ee00: 64e2 ld s1,24(sp) + 83f4ee02: 6942 ld s2,16(sp) + 83f4ee04: 69a2 ld s3,8(sp) + 83f4ee06: 6a02 ld s4,0(sp) + 83f4ee08: 6145 addi sp,sp,48 + 83f4ee0a: 8082 ret + 83f4ee0c: 02040513 addi a0,s0,32 + 83f4ee10: 6f4000ef jal ra,83f4f504 + 83f4ee14: d17d beqz a0,83f4edfa + 83f4ee16: d0f5 beqz s1,83f4edfa + 83f4ee18: 4785 li a5,1 + 83f4ee1a: e09c sd a5,0(s1) + 83f4ee1c: 4505 li a0,1 + 83f4ee1e: bff9 j 83f4edfc + +0000000083f4ee20 : + 83f4ee20: c1b9 beqz a1,83f4ee66 + 83f4ee22: 4701 li a4,0 + 83f4ee24: 0000e897 auipc a7,0xe + 83f4ee28: 6cc88893 addi a7,a7,1740 # 83f5d4f0 + 83f4ee2c: 00471793 slli a5,a4,0x4 + 83f4ee30: 00f886b3 add a3,a7,a5 + 83f4ee34: 0086b803 ld a6,8(a3) + 83f4ee38: 4601 li a2,0 + 83f4ee3a: 03200313 li t1,50 + 83f4ee3e: 02a80063 beq a6,a0,83f4ee5e + 83f4ee42: 00170793 addi a5,a4,1 + 83f4ee46: c20d beqz a2,83f4ee68 + 83f4ee48: 873e mv a4,a5 + 83f4ee4a: 00678c63 beq a5,t1,83f4ee62 + 83f4ee4e: 00471793 slli a5,a4,0x4 + 83f4ee52: 00f886b3 add a3,a7,a5 + 83f4ee56: 0086b803 ld a6,8(a3) + 83f4ee5a: fea814e3 bne a6,a0,83f4ee42 + 83f4ee5e: 00f88633 add a2,a7,a5 + 83f4ee62: e20c sd a1,0(a2) + 83f4ee64: e608 sd a0,8(a2) + 83f4ee66: 8082 ret + 83f4ee68: 0006b803 ld a6,0(a3) + 83f4ee6c: 06c1 addi a3,a3,16 + 83f4ee6e: 863a mv a2,a4 + 83f4ee70: 873e mv a4,a5 + 83f4ee72: 00080f63 beqz a6,83f4ee90 + 83f4ee76: fe6788e3 beq a5,t1,83f4ee66 + 83f4ee7a: 6690 ld a2,8(a3) + 83f4ee7c: 00c50f63 beq a0,a2,83f4ee9a + 83f4ee80: 0006b803 ld a6,0(a3) + 83f4ee84: 0785 addi a5,a5,1 + 83f4ee86: 06c1 addi a3,a3,16 + 83f4ee88: 863a mv a2,a4 + 83f4ee8a: 873e mv a4,a5 + 83f4ee8c: fe0815e3 bnez a6,83f4ee76 + 83f4ee90: 0612 slli a2,a2,0x4 + 83f4ee92: 9646 add a2,a2,a7 + 83f4ee94: fa679de3 bne a5,t1,83f4ee4e + 83f4ee98: b7e9 j 83f4ee62 + 83f4ee9a: 0792 slli a5,a5,0x4 + 83f4ee9c: b7c9 j 83f4ee5e + +0000000083f4ee9e : + 83f4ee9e: 1101 addi sp,sp,-32 + 83f4eea0: e822 sd s0,16(sp) + 83f4eea2: e426 sd s1,8(sp) + 83f4eea4: e04a sd s2,0(sp) + 83f4eea6: 842a mv s0,a0 + 83f4eea8: ec06 sd ra,24(sp) + 83f4eeaa: 84ae mv s1,a1 + 83f4eeac: 8932 mv s2,a2 + 83f4eeae: 009000ef jal ra,83f4f6b6 + 83f4eeb2: 08844783 lbu a5,136(s0) + 83f4eeb6: 577d li a4,-1 + 83f4eeb8: 0187979b slliw a5,a5,0x18 + 83f4eebc: 4187d79b sraiw a5,a5,0x18 + 83f4eec0: 00e79463 bne a5,a4,83f4eec8 + 83f4eec4: 08040423 sb zero,136(s0) + 83f4eec8: 08944783 lbu a5,137(s0) + 83f4eecc: 577d li a4,-1 + 83f4eece: 0187979b slliw a5,a5,0x18 + 83f4eed2: 4187d79b sraiw a5,a5,0x18 + 83f4eed6: 00e79463 bne a5,a4,83f4eede + 83f4eeda: 080404a3 sb zero,137(s0) + 83f4eede: 7fa000ef jal ra,83f4f6d8 + 83f4eee2: 783c ld a5,112(s0) + 83f4eee4: cb89 beqz a5,83f4eef6 + 83f4eee6: 8522 mv a0,s0 + 83f4eee8: 6442 ld s0,16(sp) + 83f4eeea: 60e2 ld ra,24(sp) + 83f4eeec: 64a2 ld s1,8(sp) + 83f4eeee: 6902 ld s2,0(sp) + 83f4eef0: 6105 addi sp,sp,32 + 83f4eef2: 901ff06f j 83f4e7f2 + 83f4eef6: 04840513 addi a0,s0,72 + 83f4eefa: 864a mv a2,s2 + 83f4eefc: 85a6 mv a1,s1 + 83f4eefe: 5be000ef jal ra,83f4f4bc + 83f4ef02: 8522 mv a0,s0 + 83f4ef04: 6442 ld s0,16(sp) + 83f4ef06: 60e2 ld ra,24(sp) + 83f4ef08: 64a2 ld s1,8(sp) + 83f4ef0a: 6902 ld s2,0(sp) + 83f4ef0c: 6105 addi sp,sp,32 + 83f4ef0e: 8e5ff06f j 83f4e7f2 + +0000000083f4ef12 : + 83f4ef12: 7179 addi sp,sp,-48 + 83f4ef14: ec26 sd s1,24(sp) + 83f4ef16: 00011497 auipc s1,0x11 + 83f4ef1a: d7248493 addi s1,s1,-654 # 83f5fc88 + 83f4ef1e: e84a sd s2,16(sp) + 83f4ef20: 00011917 auipc s2,0x11 + 83f4ef24: dc893903 ld s2,-568(s2) # 83f5fce8 + 83f4ef28: 6098 ld a4,0(s1) + 83f4ef2a: 609c ld a5,0(s1) + 83f4ef2c: f022 sd s0,32(sp) + 83f4ef2e: e44e sd s3,8(sp) + 83f4ef30: f406 sd ra,40(sp) + 83f4ef32: 842a mv s0,a0 + 83f4ef34: 0a070023 sb zero,160(a4) + 83f4ef38: 00878513 addi a0,a5,8 + 83f4ef3c: 89ae mv s3,a1 + 83f4ef3e: 0f8010ef jal ra,83f50036 + 83f4ef42: ed19 bnez a0,83f4ef60 + 83f4ef44: 609c ld a5,0(s1) + 83f4ef46: 00011717 auipc a4,0x11 + 83f4ef4a: d7a70713 addi a4,a4,-646 # 83f5fcc0 + 83f4ef4e: 6314 ld a3,0(a4) + 83f4ef50: 6fb0 ld a2,88(a5) + 83f4ef52: 4785 li a5,1 + 83f4ef54: 00c797b3 sll a5,a5,a2 + 83f4ef58: fff7c793 not a5,a5 + 83f4ef5c: 8ff5 and a5,a5,a3 + 83f4ef5e: e31c sd a5,0(a4) + 83f4ef60: 57fd li a5,-1 + 83f4ef62: 04f40c63 beq s0,a5,83f4efba + 83f4ef66: 609c ld a5,0(s1) + 83f4ef68: 944a add s0,s0,s2 + 83f4ef6a: e780 sd s0,8(a5) + 83f4ef6c: 03246963 bltu s0,s2,83f4ef9e + 83f4ef70: 00011517 auipc a0,0x11 + 83f4ef74: d2053503 ld a0,-736(a0) # 83f5fc90 + 83f4ef78: 608c ld a1,0(s1) + 83f4ef7a: 05a1 addi a1,a1,8 + 83f4ef7c: 08c010ef jal ra,83f50008 + 83f4ef80: 00011797 auipc a5,0x11 + 83f4ef84: d4878793 addi a5,a5,-696 # 83f5fcc8 + 83f4ef88: 6398 ld a4,0(a5) + 83f4ef8a: 00e47363 bgeu s0,a4,83f4ef90 + 83f4ef8e: e380 sd s0,0(a5) + 83f4ef90: 70a2 ld ra,40(sp) + 83f4ef92: 7402 ld s0,32(sp) + 83f4ef94: 64e2 ld s1,24(sp) + 83f4ef96: 6942 ld s2,16(sp) + 83f4ef98: 69a2 ld s3,8(sp) + 83f4ef9a: 6145 addi sp,sp,48 + 83f4ef9c: 8082 ret + 83f4ef9e: 7402 ld s0,32(sp) + 83f4efa0: 00011517 auipc a0,0x11 + 83f4efa4: cf853503 ld a0,-776(a0) # 83f5fc98 + 83f4efa8: 608c ld a1,0(s1) + 83f4efaa: 70a2 ld ra,40(sp) + 83f4efac: 64e2 ld s1,24(sp) + 83f4efae: 6942 ld s2,16(sp) + 83f4efb0: 69a2 ld s3,8(sp) + 83f4efb2: 05a1 addi a1,a1,8 + 83f4efb4: 6145 addi sp,sp,48 + 83f4efb6: 0520106f j 83f50008 + 83f4efba: fa0986e3 beqz s3,83f4ef66 + 83f4efbe: 0000f797 auipc a5,0xf + 83f4efc2: a0a78793 addi a5,a5,-1526 # 83f5d9c8 + 83f4efc6: 6098 ld a4,0(s1) + 83f4efc8: 6794 ld a3,8(a5) + 83f4efca: 0004b883 ld a7,0(s1) + 83f4efce: 608c ld a1,0(s1) + 83f4efd0: eb14 sd a3,16(a4) + 83f4efd2: 6a88 ld a0,16(a3) + 83f4efd4: 6090 ld a2,0(s1) + 83f4efd6: 0004b803 ld a6,0(s1) + 83f4efda: 6398 ld a4,0(a5) + 83f4efdc: 00a8bc23 sd a0,24(a7) + 83f4efe0: 05a1 addi a1,a1,8 + 83f4efe2: e50c sd a1,8(a0) + 83f4efe4: 0621 addi a2,a2,8 + 83f4efe6: ea90 sd a2,16(a3) + 83f4efe8: 0705 addi a4,a4,1 + 83f4efea: 02f83423 sd a5,40(a6) + 83f4efee: e398 sd a4,0(a5) + 83f4eff0: 70a2 ld ra,40(sp) + 83f4eff2: 7402 ld s0,32(sp) + 83f4eff4: 64e2 ld s1,24(sp) + 83f4eff6: 6942 ld s2,16(sp) + 83f4eff8: 69a2 ld s3,8(sp) + 83f4effa: 6145 addi sp,sp,48 + 83f4effc: 8082 ret + +0000000083f4effe : + 83f4effe: 1101 addi sp,sp,-32 + 83f4f000: e822 sd s0,16(sp) + 83f4f002: 00011797 auipc a5,0x11 + 83f4f006: ce07b723 sd zero,-786(a5) # 83f5fcf0 + 83f4f00a: 00011417 auipc s0,0x11 + 83f4f00e: c7e40413 addi s0,s0,-898 # 83f5fc88 + 83f4f012: 6018 ld a4,0(s0) + 83f4f014: ec06 sd ra,24(sp) + 83f4f016: e426 sd s1,8(sp) + 83f4f018: 7338 ld a4,96(a4) + 83f4f01a: a5a5a7b7 lui a5,0xa5a5a + 83f4f01e: 5a578793 addi a5,a5,1445 # ffffffffa5a5a5a5 <_end+0xffffffff21a5a865> + 83f4f022: 4314 lw a3,0(a4) + 83f4f024: 00f69563 bne a3,a5,83f4f02e + 83f4f028: 435c lw a5,4(a4) + 83f4f02a: 06d78b63 beq a5,a3,83f4f0a0 + 83f4f02e: 6008 ld a0,0(s0) + 83f4f030: 600c ld a1,0(s0) + 83f4f032: 06858593 addi a1,a1,104 + 83f4f036: e39f30ef jal ra,83f42e6e + 83f4f03a: 00011497 auipc s1,0x11 + 83f4f03e: c4648493 addi s1,s1,-954 # 83f5fc80 + 83f4f042: 601c ld a5,0(s0) + 83f4f044: 4098 lw a4,0(s1) + 83f4f046: 00011517 auipc a0,0x11 + 83f4f04a: c7a53503 ld a0,-902(a0) # 83f5fcc0 + 83f4f04e: 1502 slli a0,a0,0x20 + 83f4f050: 0ae7a223 sw a4,164(a5) + 83f4f054: 9101 srli a0,a0,0x20 + 83f4f056: d9bf30ef jal ra,83f42df0 <__clzdi2> + 83f4f05a: 47fd li a5,31 + 83f4f05c: 3501 addiw a0,a0,-32 + 83f4f05e: 40a78533 sub a0,a5,a0 + 83f4f062: 00251793 slli a5,a0,0x2 + 83f4f066: 97aa add a5,a5,a0 + 83f4f068: 0000e717 auipc a4,0xe + 83f4f06c: 7a870713 addi a4,a4,1960 # 83f5d810 + 83f4f070: 078e slli a5,a5,0x3 + 83f4f072: 00f706b3 add a3,a4,a5 + 83f4f076: 6690 ld a2,8(a3) + 83f4f078: 07c1 addi a5,a5,16 + 83f4f07a: 97ba add a5,a5,a4 + 83f4f07c: 6618 ld a4,8(a2) + 83f4f07e: e698 sd a4,8(a3) + 83f4f080: 00f70d63 beq a4,a5,83f4f09a + 83f4f084: 6f1c ld a5,24(a4) + 83f4f086: 60e2 ld ra,24(sp) + 83f4f088: e01c sd a5,0(s0) + 83f4f08a: 601c ld a5,0(s0) + 83f4f08c: 6442 ld s0,16(sp) + 83f4f08e: 0a47a783 lw a5,164(a5) + 83f4f092: c09c sw a5,0(s1) + 83f4f094: 64a2 ld s1,8(sp) + 83f4f096: 6105 addi sp,sp,32 + 83f4f098: 8082 ret + 83f4f09a: 6718 ld a4,8(a4) + 83f4f09c: e698 sd a4,8(a3) + 83f4f09e: b7dd j 83f4f084 + 83f4f0a0: 4714 lw a3,8(a4) + 83f4f0a2: f8f696e3 bne a3,a5,83f4f02e + 83f4f0a6: 475c lw a5,12(a4) + 83f4f0a8: f8d793e3 bne a5,a3,83f4f02e + 83f4f0ac: b779 j 83f4f03a + +0000000083f4f0ae : + 83f4f0ae: 7139 addi sp,sp,-64 + 83f4f0b0: f822 sd s0,48(sp) + 83f4f0b2: f426 sd s1,40(sp) + 83f4f0b4: f04a sd s2,32(sp) + 83f4f0b6: ec4e sd s3,24(sp) + 83f4f0b8: e852 sd s4,16(sp) + 83f4f0ba: e456 sd s5,8(sp) + 83f4f0bc: e05a sd s6,0(sp) + 83f4f0be: fc06 sd ra,56(sp) + 83f4f0c0: 8a2a mv s4,a0 + 83f4f0c2: 06083503 ld a0,96(a6) + 83f4f0c6: 842e mv s0,a1 + 83f4f0c8: 02061593 slli a1,a2,0x20 + 83f4f0cc: 89b2 mv s3,a2 + 83f4f0ce: 01d5d613 srli a2,a1,0x1d + 83f4f0d2: 0a500593 li a1,165 + 83f4f0d6: 84c2 mv s1,a6 + 83f4f0d8: 893a mv s2,a4 + 83f4f0da: 8b3e mv s6,a5 + 83f4f0dc: 8ab6 mv s5,a3 + 83f4f0de: e9ffc0ef jal ra,83f4bf7c + 83f4f0e2: 39fd addiw s3,s3,-1 + 83f4f0e4: 70bc ld a5,96(s1) + 83f4f0e6: 02099713 slli a4,s3,0x20 + 83f4f0ea: 01d75993 srli s3,a4,0x1d + 83f4f0ee: 99be add s3,s3,a5 + 83f4f0f0: ff09f993 andi s3,s3,-16 + 83f4f0f4: cc51 beqz s0,83f4f190 + 83f4f0f6: 85a2 mv a1,s0 + 83f4f0f8: 06848813 addi a6,s1,104 + 83f4f0fc: 01040793 addi a5,s0,16 + 83f4f100: 0005c883 lbu a7,0(a1) + 83f4f104: 0805 addi a6,a6,1 + 83f4f106: 0585 addi a1,a1,1 + 83f4f108: ff180fa3 sb a7,-1(a6) + 83f4f10c: 00088463 beqz a7,83f4f114 + 83f4f110: fef598e3 bne a1,a5,83f4f100 + 83f4f114: 06048ba3 sb zero,119(s1) + 83f4f118: 479d li a5,7 + 83f4f11a: 0127f363 bgeu a5,s2,83f4f120 + 83f4f11e: 491d li s2,7 + 83f4f120: 00848513 addi a0,s1,8 + 83f4f124: 0524bc23 sd s2,88(s1) + 83f4f128: 0924b023 sd s2,128(s1) + 83f4f12c: 0804b423 sd zero,136(s1) + 83f4f130: 6d3000ef jal ra,83f50002 + 83f4f134: 03048513 addi a0,s1,48 + 83f4f138: 6cb000ef jal ra,83f50002 + 83f4f13c: 47a1 li a5,8 + 83f4f13e: 41278433 sub s0,a5,s2 + 83f4f142: 4631 li a2,12 + 83f4f144: 4581 li a1,0 + 83f4f146: f084 sd s1,32(s1) + 83f4f148: f880 sd s0,48(s1) + 83f4f14a: e4a4 sd s1,72(s1) + 83f4f14c: 0604bc23 sd zero,120(s1) + 83f4f150: 09048513 addi a0,s1,144 + 83f4f154: e29fc0ef jal ra,83f4bf7c + 83f4f158: 460d li a2,3 + 83f4f15a: 4581 li a1,0 + 83f4f15c: 09c48513 addi a0,s1,156 + 83f4f160: e1dfc0ef jal ra,83f4bf7c + 83f4f164: 8656 mv a2,s5 + 83f4f166: 0a048023 sb zero,160(s1) + 83f4f16a: 85d2 mv a1,s4 + 83f4f16c: 854e mv a0,s3 + 83f4f16e: b92f10ef jal ra,83f40500 + 83f4f172: e088 sd a0,0(s1) + 83f4f174: 000b0463 beqz s6,83f4f17c + 83f4f178: 009b3023 sd s1,0(s6) + 83f4f17c: 70e2 ld ra,56(sp) + 83f4f17e: 7442 ld s0,48(sp) + 83f4f180: 74a2 ld s1,40(sp) + 83f4f182: 7902 ld s2,32(sp) + 83f4f184: 69e2 ld s3,24(sp) + 83f4f186: 6a42 ld s4,16(sp) + 83f4f188: 6aa2 ld s5,8(sp) + 83f4f18a: 6b02 ld s6,0(sp) + 83f4f18c: 6121 addi sp,sp,64 + 83f4f18e: 8082 ret + 83f4f190: 06048423 sb zero,104(s1) + 83f4f194: b751 j 83f4f118 + +0000000083f4f196 : + 83f4f196: 715d addi sp,sp,-80 + 83f4f198: fc26 sd s1,56(sp) + 83f4f19a: f84a sd s2,48(sp) + 83f4f19c: f44e sd s3,40(sp) + 83f4f19e: f052 sd s4,32(sp) + 83f4f1a0: ec56 sd s5,24(sp) + 83f4f1a2: e85a sd s6,16(sp) + 83f4f1a4: e45e sd s7,8(sp) + 83f4f1a6: e486 sd ra,72(sp) + 83f4f1a8: e0a2 sd s0,64(sp) + 83f4f1aa: 00011497 auipc s1,0x11 + 83f4f1ae: afe48493 addi s1,s1,-1282 # 83f5fca8 + 83f4f1b2: 00011997 auipc s3,0x11 + 83f4f1b6: b2e98993 addi s3,s3,-1234 # 83f5fce0 + 83f4f1ba: 00011a17 auipc s4,0x11 + 83f4f1be: acea0a13 addi s4,s4,-1330 # 83f5fc88 + 83f4f1c2: 0000fa97 auipc s5,0xf + 83f4f1c6: 82ea8a93 addi s5,s5,-2002 # 83f5d9f0 + 83f4f1ca: 00011917 auipc s2,0x11 + 83f4f1ce: ad690913 addi s2,s2,-1322 # 83f5fca0 + 83f4f1d2: 0000eb97 auipc s7,0xe + 83f4f1d6: 63eb8b93 addi s7,s7,1598 # 83f5d810 + 83f4f1da: 4b05 li s6,1 + 83f4f1dc: 609c ld a5,0(s1) + 83f4f1de: cba5 beqz a5,83f4f24e + 83f4f1e0: 30047073 csrci mstatus,8 + 83f4f1e4: 0009b783 ld a5,0(s3) + 83f4f1e8: cb81 beqz a5,83f4f1f8 + 83f4f1ea: 000a3703 ld a4,0(s4) + 83f4f1ee: 000a3783 ld a5,0(s4) + 83f4f1f2: 7f3c ld a5,120(a4) + 83f4f1f4: 0785 addi a5,a5,1 + 83f4f1f6: ff3c sd a5,120(a4) + 83f4f1f8: 018ab783 ld a5,24(s5) + 83f4f1fc: 6f80 ld s0,24(a5) + 83f4f1fe: 00840513 addi a0,s0,8 + 83f4f202: 635000ef jal ra,83f50036 + 83f4f206: 00093783 ld a5,0(s2) + 83f4f20a: 17fd addi a5,a5,-1 + 83f4f20c: 00f93023 sd a5,0(s2) + 83f4f210: 609c ld a5,0(s1) + 83f4f212: 17fd addi a5,a5,-1 + 83f4f214: e09c sd a5,0(s1) + 83f4f216: 0009b783 ld a5,0(s3) + 83f4f21a: c385 beqz a5,83f4f23a + 83f4f21c: 000a3783 ld a5,0(s4) + 83f4f220: 7fbc ld a5,120(a5) + 83f4f222: cf81 beqz a5,83f4f23a + 83f4f224: 000a3703 ld a4,0(s4) + 83f4f228: 000a3683 ld a3,0(s4) + 83f4f22c: 7f3c ld a5,120(a4) + 83f4f22e: 17fd addi a5,a5,-1 + 83f4f230: ff3c sd a5,120(a4) + 83f4f232: 7ebc ld a5,120(a3) + 83f4f234: e399 bnez a5,83f4f23a + 83f4f236: 30046073 csrsi mstatus,8 + 83f4f23a: 09f44783 lbu a5,159(s0) + 83f4f23e: cf99 beqz a5,83f4f25c + 83f4f240: f9679ee3 bne a5,s6,83f4f1dc + 83f4f244: 8522 mv a0,s0 + 83f4f246: ca4ff0ef jal ra,83f4e6ea + 83f4f24a: 609c ld a5,0(s1) + 83f4f24c: fbd1 bnez a5,83f4f1e0 + 83f4f24e: 000bb783 ld a5,0(s7) + 83f4f252: f8fb75e3 bgeu s6,a5,83f4f1dc + 83f4f256: 00000073 ecall + 83f4f25a: b749 j 83f4f1dc + 83f4f25c: 7028 ld a0,96(s0) + 83f4f25e: c8cff0ef jal ra,83f4e6ea + 83f4f262: 8522 mv a0,s0 + 83f4f264: c86ff0ef jal ra,83f4e6ea + 83f4f268: bf95 j 83f4f1dc + +0000000083f4f26a : + 83f4f26a: 00011797 auipc a5,0x11 + 83f4f26e: a7e78793 addi a5,a5,-1410 # 83f5fce8 + 83f4f272: 0007b803 ld a6,0(a5) + 83f4f276: 00011f17 auipc t5,0x11 + 83f4f27a: a52f0f13 addi t5,t5,-1454 # 83f5fcc8 + 83f4f27e: 0805 addi a6,a6,1 + 83f4f280: 0107b023 sd a6,0(a5) + 83f4f284: 16080663 beqz a6,83f4f3f0 + 83f4f288: 000f3783 ld a5,0(t5) + 83f4f28c: 0ef86963 bltu a6,a5,83f4f37e + 83f4f290: 00011897 auipc a7,0x11 + 83f4f294: a0088893 addi a7,a7,-1536 # 83f5fc90 + 83f4f298: 0008b783 ld a5,0(a7) + 83f4f29c: 4501 li a0,0 + 83f4f29e: 0000e597 auipc a1,0xe + 83f4f2a2: 57258593 addi a1,a1,1394 # 83f5d810 + 83f4f2a6: 639c ld a5,0(a5) + 83f4f2a8: 00011e17 auipc t3,0x11 + 83f4f2ac: 9e0e0e13 addi t3,t3,-1568 # 83f5fc88 + 83f4f2b0: 10078a63 beqz a5,83f4f3c4 + 83f4f2b4: 00011317 auipc t1,0x11 + 83f4f2b8: a0c30313 addi t1,t1,-1524 # 83f5fcc0 + 83f4f2bc: 4e85 li t4,1 + 83f4f2be: a069 j 83f4f348 + 83f4f2c0: 0207b423 sd zero,40(a5) + 83f4f2c4: 6314 ld a3,0(a4) + 83f4f2c6: 16fd addi a3,a3,-1 + 83f4f2c8: e314 sd a3,0(a4) + 83f4f2ca: 6bb8 ld a4,80(a5) + 83f4f2cc: c315 beqz a4,83f4f2f0 + 83f4f2ce: 0387bf83 ld t6,56(a5) + 83f4f2d2: 63b4 ld a3,64(a5) + 83f4f2d4: 00dfb823 sd a3,16(t6) + 83f4f2d8: 0387bf83 ld t6,56(a5) + 83f4f2dc: 01f6b423 sd t6,8(a3) + 83f4f2e0: 6714 ld a3,8(a4) + 83f4f2e2: 0e568563 beq a3,t0,83f4f3cc + 83f4f2e6: 0407b823 sd zero,80(a5) + 83f4f2ea: 6314 ld a3,0(a4) + 83f4f2ec: 16fd addi a3,a3,-1 + 83f4f2ee: e314 sd a3,0(a4) + 83f4f2f0: 6fb8 ld a4,88(a5) + 83f4f2f2: 00033f83 ld t6,0(t1) + 83f4f2f6: 00271693 slli a3,a4,0x2 + 83f4f2fa: 96ba add a3,a3,a4 + 83f4f2fc: 068e slli a3,a3,0x3 + 83f4f2fe: 96ae add a3,a3,a1 + 83f4f300: 6694 ld a3,8(a3) + 83f4f302: 00ee9733 sll a4,t4,a4 + 83f4f306: 01f76733 or a4,a4,t6 + 83f4f30a: eb94 sd a3,16(a5) + 83f4f30c: 0106bf83 ld t6,16(a3) + 83f4f310: 00e33023 sd a4,0(t1) + 83f4f314: 01f7bc23 sd t6,24(a5) + 83f4f318: 00cfb423 sd a2,8(t6) + 83f4f31c: ea90 sd a2,16(a3) + 83f4f31e: 6fb4 ld a3,88(a5) + 83f4f320: 00269713 slli a4,a3,0x2 + 83f4f324: 9736 add a4,a4,a3 + 83f4f326: 070e slli a4,a4,0x3 + 83f4f328: 972e add a4,a4,a1 + 83f4f32a: f798 sd a4,40(a5) + 83f4f32c: 6314 ld a3,0(a4) + 83f4f32e: 0685 addi a3,a3,1 + 83f4f330: e314 sd a3,0(a4) + 83f4f332: 000e3683 ld a3,0(t3) + 83f4f336: 6fb8 ld a4,88(a5) + 83f4f338: 6ebc ld a5,88(a3) + 83f4f33a: 00f76363 bltu a4,a5,83f4f340 + 83f4f33e: 4505 li a0,1 + 83f4f340: 0008b783 ld a5,0(a7) + 83f4f344: 639c ld a5,0(a5) + 83f4f346: cfbd beqz a5,83f4f3c4 + 83f4f348: 0008b783 ld a5,0(a7) + 83f4f34c: 6f9c ld a5,24(a5) + 83f4f34e: 6f9c ld a5,24(a5) + 83f4f350: 6798 ld a4,8(a5) + 83f4f352: 00878613 addi a2,a5,8 + 83f4f356: 03078293 addi t0,a5,48 + 83f4f35a: 0ce86563 bltu a6,a4,83f4f424 + 83f4f35e: 0107bf83 ld t6,16(a5) + 83f4f362: 6f94 ld a3,24(a5) + 83f4f364: 7798 ld a4,40(a5) + 83f4f366: 00dfb823 sd a3,16(t6) + 83f4f36a: 0107bf83 ld t6,16(a5) + 83f4f36e: 01f6b423 sd t6,8(a3) + 83f4f372: 6714 ld a3,8(a4) + 83f4f374: f4c696e3 bne a3,a2,83f4f2c0 + 83f4f378: 6f94 ld a3,24(a5) + 83f4f37a: e714 sd a3,8(a4) + 83f4f37c: b791 j 83f4f2c0 + 83f4f37e: 4501 li a0,0 + 83f4f380: 0000e597 auipc a1,0xe + 83f4f384: 49058593 addi a1,a1,1168 # 83f5d810 + 83f4f388: 00011e17 auipc t3,0x11 + 83f4f38c: 900e0e13 addi t3,t3,-1792 # 83f5fc88 + 83f4f390: 000e3783 ld a5,0(t3) + 83f4f394: 4685 li a3,1 + 83f4f396: 6fb8 ld a4,88(a5) + 83f4f398: 00271793 slli a5,a4,0x2 + 83f4f39c: 97ba add a5,a5,a4 + 83f4f39e: 078e slli a5,a5,0x3 + 83f4f3a0: 95be add a1,a1,a5 + 83f4f3a2: 619c ld a5,0(a1) + 83f4f3a4: 00f6f363 bgeu a3,a5,83f4f3aa + 83f4f3a8: 4505 li a0,1 + 83f4f3aa: 00011797 auipc a5,0x11 + 83f4f3ae: 92e7b783 ld a5,-1746(a5) # 83f5fcd8 + 83f4f3b2: c385 beqz a5,83f4f3d2 + 83f4f3b4: 00011797 auipc a5,0x11 + 83f4f3b8: 93c7b783 ld a5,-1732(a5) # 83f5fcf0 + 83f4f3bc: c399 beqz a5,83f4f3c2 + 83f4f3be: 4505 li a0,1 + 83f4f3c0: 8082 ret + 83f4f3c2: 8082 ret + 83f4f3c4: 57fd li a5,-1 + 83f4f3c6: 00ff3023 sd a5,0(t5) + 83f4f3ca: b7d9 j 83f4f390 + 83f4f3cc: 63b4 ld a3,64(a5) + 83f4f3ce: e714 sd a3,8(a4) + 83f4f3d0: bf19 j 83f4f2e6 + 83f4f3d2: 1101 addi sp,sp,-32 + 83f4f3d4: e42a sd a0,8(sp) + 83f4f3d6: ec06 sd ra,24(sp) + 83f4f3d8: abff30ef jal ra,83f42e96 + 83f4f3dc: 00011797 auipc a5,0x11 + 83f4f3e0: 9147b783 ld a5,-1772(a5) # 83f5fcf0 + 83f4f3e4: 6522 ld a0,8(sp) + 83f4f3e6: c391 beqz a5,83f4f3ea + 83f4f3e8: 4505 li a0,1 + 83f4f3ea: 60e2 ld ra,24(sp) + 83f4f3ec: 6105 addi sp,sp,32 + 83f4f3ee: 8082 ret + 83f4f3f0: 00011797 auipc a5,0x11 + 83f4f3f4: 8a078793 addi a5,a5,-1888 # 83f5fc90 + 83f4f3f8: 00011717 auipc a4,0x11 + 83f4f3fc: 8a070713 addi a4,a4,-1888 # 83f5fc98 + 83f4f400: 6390 ld a2,0(a5) + 83f4f402: 630c ld a1,0(a4) + 83f4f404: 00011697 auipc a3,0x11 + 83f4f408: 8cc68693 addi a3,a3,-1844 # 83f5fcd0 + 83f4f40c: e38c sd a1,0(a5) + 83f4f40e: e310 sd a2,0(a4) + 83f4f410: 6298 ld a4,0(a3) + 83f4f412: 0705 addi a4,a4,1 + 83f4f414: e298 sd a4,0(a3) + 83f4f416: 6398 ld a4,0(a5) + 83f4f418: 6318 ld a4,0(a4) + 83f4f41a: eb01 bnez a4,83f4f42a + 83f4f41c: 57fd li a5,-1 + 83f4f41e: 00ff3023 sd a5,0(t5) + 83f4f422: b59d j 83f4f288 + 83f4f424: 00ef3023 sd a4,0(t5) + 83f4f428: b7a5 j 83f4f390 + 83f4f42a: 639c ld a5,0(a5) + 83f4f42c: 6f9c ld a5,24(a5) + 83f4f42e: 639c ld a5,0(a5) + 83f4f430: 00ff3023 sd a5,0(t5) + 83f4f434: bd91 j 83f4f288 + +0000000083f4f436 : + 83f4f436: 00011717 auipc a4,0x11 + 83f4f43a: 87a70713 addi a4,a4,-1926 # 83f5fcb0 + 83f4f43e: 631c ld a5,0(a4) + 83f4f440: 0785 addi a5,a5,1 + 83f4f442: e31c sd a5,0(a4) + 83f4f444: 8082 ret + +0000000083f4f446 : + 83f4f446: 00011517 auipc a0,0x11 + 83f4f44a: 8a253503 ld a0,-1886(a0) # 83f5fce8 + 83f4f44e: 8082 ret + +0000000083f4f450 : + 83f4f450: 00011797 auipc a5,0x11 + 83f4f454: 8607b783 ld a5,-1952(a5) # 83f5fcb0 + 83f4f458: e399 bnez a5,83f4f45e + 83f4f45a: e11ff06f j 83f4f26a + 83f4f45e: 1141 addi sp,sp,-16 + 83f4f460: e406 sd ra,8(sp) + 83f4f462: 00011717 auipc a4,0x11 + 83f4f466: 87670713 addi a4,a4,-1930 # 83f5fcd8 + 83f4f46a: 631c ld a5,0(a4) + 83f4f46c: 0785 addi a5,a5,1 + 83f4f46e: e31c sd a5,0(a4) + 83f4f470: a27f30ef jal ra,83f42e96 + 83f4f474: 60a2 ld ra,8(sp) + 83f4f476: 4501 li a0,0 + 83f4f478: 0141 addi sp,sp,16 + 83f4f47a: 8082 ret + +0000000083f4f47c : + 83f4f47c: 00011797 auipc a5,0x11 + 83f4f480: 8347b783 ld a5,-1996(a5) # 83f5fcb0 + 83f4f484: c799 beqz a5,83f4f492 + 83f4f486: 4785 li a5,1 + 83f4f488: 00011717 auipc a4,0x11 + 83f4f48c: 86f73423 sd a5,-1944(a4) # 83f5fcf0 + 83f4f490: 8082 ret + 83f4f492: b6dff06f j 83f4effe + +0000000083f4f496 : + 83f4f496: 1141 addi sp,sp,-16 + 83f4f498: 00010797 auipc a5,0x10 + 83f4f49c: 7f07b783 ld a5,2032(a5) # 83f5fc88 + 83f4f4a0: e022 sd s0,0(sp) + 83f4f4a2: 842e mv s0,a1 + 83f4f4a4: 03078593 addi a1,a5,48 + 83f4f4a8: e406 sd ra,8(sp) + 83f4f4aa: 35f000ef jal ra,83f50008 + 83f4f4ae: 8522 mv a0,s0 + 83f4f4b0: 6402 ld s0,0(sp) + 83f4f4b2: 60a2 ld ra,8(sp) + 83f4f4b4: 4585 li a1,1 + 83f4f4b6: 0141 addi sp,sp,16 + 83f4f4b8: a5bff06f j 83f4ef12 + +0000000083f4f4bc : + 83f4f4bc: 00010797 auipc a5,0x10 + 83f4f4c0: 7cc78793 addi a5,a5,1996 # 83f5fc88 + 83f4f4c4: 6394 ld a3,0(a5) + 83f4f4c6: 6518 ld a4,8(a0) + 83f4f4c8: 0007b303 ld t1,0(a5) + 83f4f4cc: 0007b803 ld a6,0(a5) + 83f4f4d0: fe98 sd a4,56(a3) + 83f4f4d2: 01073883 ld a7,16(a4) + 83f4f4d6: 6394 ld a3,0(a5) + 83f4f4d8: 03080813 addi a6,a6,48 + 83f4f4dc: 05133023 sd a7,64(t1) + 83f4f4e0: 0007b303 ld t1,0(a5) + 83f4f4e4: 0108b423 sd a6,8(a7) + 83f4f4e8: 03068793 addi a5,a3,48 + 83f4f4ec: eb1c sd a5,16(a4) + 83f4f4ee: 04a33823 sd a0,80(t1) + 83f4f4f2: 611c ld a5,0(a0) + 83f4f4f4: 0785 addi a5,a5,1 + 83f4f4f6: e11c sd a5,0(a0) + 83f4f4f8: 852e mv a0,a1 + 83f4f4fa: c211 beqz a2,83f4f4fe + 83f4f4fc: 557d li a0,-1 + 83f4f4fe: 85b2 mv a1,a2 + 83f4f500: a13ff06f j 83f4ef12 + +0000000083f4f504 : + 83f4f504: 6d1c ld a5,24(a0) + 83f4f506: 6f9c ld a5,24(a5) + 83f4f508: 7f8c ld a1,56(a5) + 83f4f50a: 63b4 ld a3,64(a5) + 83f4f50c: 6bb8 ld a4,80(a5) + 83f4f50e: 03078613 addi a2,a5,48 + 83f4f512: e994 sd a3,16(a1) + 83f4f514: 7f8c ld a1,56(a5) + 83f4f516: e68c sd a1,8(a3) + 83f4f518: 6714 ld a3,8(a4) + 83f4f51a: 0cc68263 beq a3,a2,83f4f5de + 83f4f51e: 0407b823 sd zero,80(a5) + 83f4f522: 6314 ld a3,0(a4) + 83f4f524: 16fd addi a3,a3,-1 + 83f4f526: e314 sd a3,0(a4) + 83f4f528: 00010717 auipc a4,0x10 + 83f4f52c: 78873703 ld a4,1928(a4) # 83f5fcb0 + 83f4f530: eb41 bnez a4,83f4f5c0 + 83f4f532: 6b90 ld a2,16(a5) + 83f4f534: 6f94 ld a3,24(a5) + 83f4f536: 7798 ld a4,40(a5) + 83f4f538: 00878593 addi a1,a5,8 + 83f4f53c: ea14 sd a3,16(a2) + 83f4f53e: 6b90 ld a2,16(a5) + 83f4f540: e690 sd a2,8(a3) + 83f4f542: 6714 ld a3,8(a4) + 83f4f544: 0ab68063 beq a3,a1,83f4f5e4 + 83f4f548: 0207b423 sd zero,40(a5) + 83f4f54c: 6310 ld a2,0(a4) + 83f4f54e: 0000e697 auipc a3,0xe + 83f4f552: 2c268693 addi a3,a3,706 # 83f5d810 + 83f4f556: 00010817 auipc a6,0x10 + 83f4f55a: 76a80813 addi a6,a6,1898 # 83f5fcc0 + 83f4f55e: 167d addi a2,a2,-1 + 83f4f560: e310 sd a2,0(a4) + 83f4f562: 6fa8 ld a0,88(a5) + 83f4f564: 00083883 ld a7,0(a6) + 83f4f568: 00251713 slli a4,a0,0x2 + 83f4f56c: 972a add a4,a4,a0 + 83f4f56e: 070e slli a4,a4,0x3 + 83f4f570: 9736 add a4,a4,a3 + 83f4f572: 6710 ld a2,8(a4) + 83f4f574: 4705 li a4,1 + 83f4f576: 00a71733 sll a4,a4,a0 + 83f4f57a: eb90 sd a2,16(a5) + 83f4f57c: 6a08 ld a0,16(a2) + 83f4f57e: 01176733 or a4,a4,a7 + 83f4f582: 00e83023 sd a4,0(a6) + 83f4f586: ef88 sd a0,24(a5) + 83f4f588: e50c sd a1,8(a0) + 83f4f58a: ea0c sd a1,16(a2) + 83f4f58c: 6fb0 ld a2,88(a5) + 83f4f58e: 00261713 slli a4,a2,0x2 + 83f4f592: 9732 add a4,a4,a2 + 83f4f594: 070e slli a4,a4,0x3 + 83f4f596: 9736 add a4,a4,a3 + 83f4f598: f798 sd a4,40(a5) + 83f4f59a: 6314 ld a3,0(a4) + 83f4f59c: 0685 addi a3,a3,1 + 83f4f59e: e314 sd a3,0(a4) + 83f4f5a0: 00010697 auipc a3,0x10 + 83f4f5a4: 6e86b683 ld a3,1768(a3) # 83f5fc88 + 83f4f5a8: 6fb8 ld a4,88(a5) + 83f4f5aa: 6ebc ld a5,88(a3) + 83f4f5ac: 4501 li a0,0 + 83f4f5ae: 00e7f863 bgeu a5,a4,83f4f5be + 83f4f5b2: 4785 li a5,1 + 83f4f5b4: 00010717 auipc a4,0x10 + 83f4f5b8: 72f73e23 sd a5,1852(a4) # 83f5fcf0 + 83f4f5bc: 4505 li a0,1 + 83f4f5be: 8082 ret + 83f4f5c0: 0000e717 auipc a4,0xe + 83f4f5c4: 3e070713 addi a4,a4,992 # 83f5d9a0 + 83f4f5c8: 6714 ld a3,8(a4) + 83f4f5ca: 630c ld a1,0(a4) + 83f4f5cc: ff94 sd a3,56(a5) + 83f4f5ce: 6a88 ld a0,16(a3) + 83f4f5d0: 0585 addi a1,a1,1 + 83f4f5d2: e30c sd a1,0(a4) + 83f4f5d4: e3a8 sd a0,64(a5) + 83f4f5d6: e510 sd a2,8(a0) + 83f4f5d8: ea90 sd a2,16(a3) + 83f4f5da: ebb8 sd a4,80(a5) + 83f4f5dc: b7d1 j 83f4f5a0 + 83f4f5de: 63b4 ld a3,64(a5) + 83f4f5e0: e714 sd a3,8(a4) + 83f4f5e2: bf35 j 83f4f51e + 83f4f5e4: 6f94 ld a3,24(a5) + 83f4f5e6: e714 sd a3,8(a4) + 83f4f5e8: b785 j 83f4f548 + +0000000083f4f5ea : + 83f4f5ea: 00010717 auipc a4,0x10 + 83f4f5ee: 6e673703 ld a4,1766(a4) # 83f5fcd0 + 83f4f5f2: 00010797 auipc a5,0x10 + 83f4f5f6: 6f67b783 ld a5,1782(a5) # 83f5fce8 + 83f4f5fa: e118 sd a4,0(a0) + 83f4f5fc: e51c sd a5,8(a0) + 83f4f5fe: 8082 ret + +0000000083f4f600 : + 83f4f600: 4785 li a5,1 + 83f4f602: 00010717 auipc a4,0x10 + 83f4f606: 6ef73723 sd a5,1774(a4) # 83f5fcf0 + 83f4f60a: 8082 ret + +0000000083f4f60c : + 83f4f60c: c505 beqz a0,83f4f634 + 83f4f60e: 1101 addi sp,sp,-32 + 83f4f610: e822 sd s0,16(sp) + 83f4f612: ec06 sd ra,24(sp) + 83f4f614: e426 sd s1,8(sp) + 83f4f616: 655c ld a5,136(a0) + 83f4f618: 6d34 ld a3,88(a0) + 83f4f61a: 6158 ld a4,128(a0) + 83f4f61c: 17fd addi a5,a5,-1 + 83f4f61e: e55c sd a5,136(a0) + 83f4f620: 842a mv s0,a0 + 83f4f622: 00e68363 beq a3,a4,83f4f628 + 83f4f626: cb89 beqz a5,83f4f638 + 83f4f628: 60e2 ld ra,24(sp) + 83f4f62a: 6442 ld s0,16(sp) + 83f4f62c: 64a2 ld s1,8(sp) + 83f4f62e: 4501 li a0,0 + 83f4f630: 6105 addi sp,sp,32 + 83f4f632: 8082 ret + 83f4f634: 4501 li a0,0 + 83f4f636: 8082 ret + 83f4f638: 00850493 addi s1,a0,8 + 83f4f63c: 8526 mv a0,s1 + 83f4f63e: 1f9000ef jal ra,83f50036 + 83f4f642: 00010597 auipc a1,0x10 + 83f4f646: 67e58593 addi a1,a1,1662 # 83f5fcc0 + 83f4f64a: e911 bnez a0,83f4f65e + 83f4f64c: 6c34 ld a3,88(s0) + 83f4f64e: 6198 ld a4,0(a1) + 83f4f650: 4785 li a5,1 + 83f4f652: 00d797b3 sll a5,a5,a3 + 83f4f656: fff7c793 not a5,a5 + 83f4f65a: 8ff9 and a5,a5,a4 + 83f4f65c: e19c sd a5,0(a1) + 83f4f65e: 6050 ld a2,128(s0) + 83f4f660: 46a1 li a3,8 + 83f4f662: 0000e717 auipc a4,0xe + 83f4f666: 1ae70713 addi a4,a4,430 # 83f5d810 + 83f4f66a: 00261793 slli a5,a2,0x2 + 83f4f66e: 97b2 add a5,a5,a2 + 83f4f670: 8e91 sub a3,a3,a2 + 83f4f672: 078e slli a5,a5,0x3 + 83f4f674: ec30 sd a2,88(s0) + 83f4f676: f814 sd a3,48(s0) + 83f4f678: 97ba add a5,a5,a4 + 83f4f67a: 679c ld a5,8(a5) + 83f4f67c: 4685 li a3,1 + 83f4f67e: 00c696b3 sll a3,a3,a2 + 83f4f682: e81c sd a5,16(s0) + 83f4f684: 6b88 ld a0,16(a5) + 83f4f686: 0005b803 ld a6,0(a1) + 83f4f68a: ec08 sd a0,24(s0) + 83f4f68c: e504 sd s1,8(a0) + 83f4f68e: eb84 sd s1,16(a5) + 83f4f690: 6c30 ld a2,88(s0) + 83f4f692: 0106e6b3 or a3,a3,a6 + 83f4f696: e194 sd a3,0(a1) + 83f4f698: 00261793 slli a5,a2,0x2 + 83f4f69c: 97b2 add a5,a5,a2 + 83f4f69e: 078e slli a5,a5,0x3 + 83f4f6a0: 97ba add a5,a5,a4 + 83f4f6a2: f41c sd a5,40(s0) + 83f4f6a4: 6398 ld a4,0(a5) + 83f4f6a6: 4505 li a0,1 + 83f4f6a8: 0705 addi a4,a4,1 + 83f4f6aa: e398 sd a4,0(a5) + 83f4f6ac: 60e2 ld ra,24(sp) + 83f4f6ae: 6442 ld s0,16(sp) + 83f4f6b0: 64a2 ld s1,8(sp) + 83f4f6b2: 6105 addi sp,sp,32 + 83f4f6b4: 8082 ret + +0000000083f4f6b6 : + 83f4f6b6: 30047073 csrci mstatus,8 + 83f4f6ba: 00010797 auipc a5,0x10 + 83f4f6be: 6267b783 ld a5,1574(a5) # 83f5fce0 + 83f4f6c2: cb91 beqz a5,83f4f6d6 + 83f4f6c4: 00010797 auipc a5,0x10 + 83f4f6c8: 5c478793 addi a5,a5,1476 # 83f5fc88 + 83f4f6cc: 6398 ld a4,0(a5) + 83f4f6ce: 639c ld a5,0(a5) + 83f4f6d0: 7f3c ld a5,120(a4) + 83f4f6d2: 0785 addi a5,a5,1 + 83f4f6d4: ff3c sd a5,120(a4) + 83f4f6d6: 8082 ret + +0000000083f4f6d8 : + 83f4f6d8: 00010797 auipc a5,0x10 + 83f4f6dc: 6087b783 ld a5,1544(a5) # 83f5fce0 + 83f4f6e0: c38d beqz a5,83f4f702 + 83f4f6e2: 00010797 auipc a5,0x10 + 83f4f6e6: 5a678793 addi a5,a5,1446 # 83f5fc88 + 83f4f6ea: 6398 ld a4,0(a5) + 83f4f6ec: 7f38 ld a4,120(a4) + 83f4f6ee: cb11 beqz a4,83f4f702 + 83f4f6f0: 6398 ld a4,0(a5) + 83f4f6f2: 6394 ld a3,0(a5) + 83f4f6f4: 7f3c ld a5,120(a4) + 83f4f6f6: 17fd addi a5,a5,-1 + 83f4f6f8: ff3c sd a5,120(a4) + 83f4f6fa: 7ebc ld a5,120(a3) + 83f4f6fc: e399 bnez a5,83f4f702 + 83f4f6fe: 30046073 csrsi mstatus,8 + 83f4f702: 8082 ret + +0000000083f4f704 : + 83f4f704: 7139 addi sp,sp,-64 + 83f4f706: f822 sd s0,48(sp) + 83f4f708: fc06 sd ra,56(sp) + 83f4f70a: f426 sd s1,40(sp) + 83f4f70c: f04a sd s2,32(sp) + 83f4f70e: ec4e sd s3,24(sp) + 83f4f710: e852 sd s4,16(sp) + 83f4f712: e456 sd s5,8(sp) + 83f4f714: 842a mv s0,a0 + 83f4f716: 30047073 csrci mstatus,8 + 83f4f71a: 00010997 auipc s3,0x10 + 83f4f71e: 5c698993 addi s3,s3,1478 # 83f5fce0 + 83f4f722: 0009b783 ld a5,0(s3) + 83f4f726: 00010917 auipc s2,0x10 + 83f4f72a: 56290913 addi s2,s2,1378 # 83f5fc88 + 83f4f72e: cb81 beqz a5,83f4f73e + 83f4f730: 00093703 ld a4,0(s2) + 83f4f734: 00093783 ld a5,0(s2) + 83f4f738: 7f3c ld a5,120(a4) + 83f4f73a: 0785 addi a5,a5,1 + 83f4f73c: ff3c sd a5,120(a4) + 83f4f73e: 00010717 auipc a4,0x10 + 83f4f742: 56270713 addi a4,a4,1378 # 83f5fca0 + 83f4f746: 631c ld a5,0(a4) + 83f4f748: 0785 addi a5,a5,1 + 83f4f74a: e31c sd a5,0(a4) + 83f4f74c: 00093783 ld a5,0(s2) + 83f4f750: c3cd beqz a5,83f4f7f2 + 83f4f752: 0009b783 ld a5,0(s3) + 83f4f756: 6c34 ld a3,88(s0) + 83f4f758: 0000e497 auipc s1,0xe + 83f4f75c: 0b848493 addi s1,s1,184 # 83f5d810 + 83f4f760: c3c9 beqz a5,83f4f7e2 + 83f4f762: 00269793 slli a5,a3,0x2 + 83f4f766: 97b6 add a5,a5,a3 + 83f4f768: 078e slli a5,a5,0x3 + 83f4f76a: 97a6 add a5,a5,s1 + 83f4f76c: 6790 ld a2,8(a5) + 83f4f76e: 00840793 addi a5,s0,8 + 83f4f772: 00010597 auipc a1,0x10 + 83f4f776: 54e58593 addi a1,a1,1358 # 83f5fcc0 + 83f4f77a: e810 sd a2,16(s0) + 83f4f77c: 6a08 ld a0,16(a2) + 83f4f77e: 0005b803 ld a6,0(a1) + 83f4f782: 4705 li a4,1 + 83f4f784: ec08 sd a0,24(s0) + 83f4f786: e51c sd a5,8(a0) + 83f4f788: ea1c sd a5,16(a2) + 83f4f78a: 6c30 ld a2,88(s0) + 83f4f78c: 00d71733 sll a4,a4,a3 + 83f4f790: 01076733 or a4,a4,a6 + 83f4f794: 00261793 slli a5,a2,0x2 + 83f4f798: 97b2 add a5,a5,a2 + 83f4f79a: 078e slli a5,a5,0x3 + 83f4f79c: 97a6 add a5,a5,s1 + 83f4f79e: f41c sd a5,40(s0) + 83f4f7a0: e198 sd a4,0(a1) + 83f4f7a2: 6398 ld a4,0(a5) + 83f4f7a4: 00010617 auipc a2,0x10 + 83f4f7a8: 51460613 addi a2,a2,1300 # 83f5fcb8 + 83f4f7ac: 6214 ld a3,0(a2) + 83f4f7ae: 0705 addi a4,a4,1 + 83f4f7b0: e398 sd a4,0(a5) + 83f4f7b2: 0685 addi a3,a3,1 + 83f4f7b4: e214 sd a3,0(a2) + 83f4f7b6: f23ff0ef jal ra,83f4f6d8 + 83f4f7ba: 0009b783 ld a5,0(s3) + 83f4f7be: cb89 beqz a5,83f4f7d0 + 83f4f7c0: 00093703 ld a4,0(s2) + 83f4f7c4: 6c3c ld a5,88(s0) + 83f4f7c6: 6f38 ld a4,88(a4) + 83f4f7c8: 00f77463 bgeu a4,a5,83f4f7d0 + 83f4f7cc: 00000073 ecall + 83f4f7d0: 70e2 ld ra,56(sp) + 83f4f7d2: 7442 ld s0,48(sp) + 83f4f7d4: 74a2 ld s1,40(sp) + 83f4f7d6: 7902 ld s2,32(sp) + 83f4f7d8: 69e2 ld s3,24(sp) + 83f4f7da: 6a42 ld s4,16(sp) + 83f4f7dc: 6aa2 ld s5,8(sp) + 83f4f7de: 6121 addi sp,sp,64 + 83f4f7e0: 8082 ret + 83f4f7e2: 00093783 ld a5,0(s2) + 83f4f7e6: 6fbc ld a5,88(a5) + 83f4f7e8: f6f6ede3 bltu a3,a5,83f4f762 + 83f4f7ec: 00893023 sd s0,0(s2) + 83f4f7f0: bf8d j 83f4f762 + 83f4f7f2: 00893023 sd s0,0(s2) + 83f4f7f6: 6318 ld a4,0(a4) + 83f4f7f8: 4785 li a5,1 + 83f4f7fa: 00f70863 beq a4,a5,83f4f80a + 83f4f7fe: 6c34 ld a3,88(s0) + 83f4f800: 0000e497 auipc s1,0xe + 83f4f804: 01048493 addi s1,s1,16 # 83f5d810 + 83f4f808: bfa9 j 83f4f762 + 83f4f80a: 0000e497 auipc s1,0xe + 83f4f80e: 00648493 addi s1,s1,6 # 83f5d810 + 83f4f812: 8a26 mv s4,s1 + 83f4f814: 0000ea97 auipc s5,0xe + 83f4f818: 13ca8a93 addi s5,s5,316 # 83f5d950 + 83f4f81c: 8552 mv a0,s4 + 83f4f81e: 028a0a13 addi s4,s4,40 + 83f4f822: 7cc000ef jal ra,83f4ffee + 83f4f826: ff4a9be3 bne s5,s4,83f4f81c + 83f4f82a: 0000ea97 auipc s5,0xe + 83f4f82e: 126a8a93 addi s5,s5,294 # 83f5d950 + 83f4f832: 8556 mv a0,s5 + 83f4f834: 7ba000ef jal ra,83f4ffee + 83f4f838: 0000ea17 auipc s4,0xe + 83f4f83c: 140a0a13 addi s4,s4,320 # 83f5d978 + 83f4f840: 8552 mv a0,s4 + 83f4f842: 7ac000ef jal ra,83f4ffee + 83f4f846: 0000e517 auipc a0,0xe + 83f4f84a: 15a50513 addi a0,a0,346 # 83f5d9a0 + 83f4f84e: 7a0000ef jal ra,83f4ffee + 83f4f852: 0000e517 auipc a0,0xe + 83f4f856: 19e50513 addi a0,a0,414 # 83f5d9f0 + 83f4f85a: 794000ef jal ra,83f4ffee + 83f4f85e: 0000e517 auipc a0,0xe + 83f4f862: 16a50513 addi a0,a0,362 # 83f5d9c8 + 83f4f866: 788000ef jal ra,83f4ffee + 83f4f86a: 00010797 auipc a5,0x10 + 83f4f86e: 4357b323 sd s5,1062(a5) # 83f5fc90 + 83f4f872: 6c34 ld a3,88(s0) + 83f4f874: 00010797 auipc a5,0x10 + 83f4f878: 4347b223 sd s4,1060(a5) # 83f5fc98 + 83f4f87c: b5dd j 83f4f762 + +0000000083f4f87e : + 83f4f87e: 02080b63 beqz a6,83f4f8b4 + 83f4f882: 88be mv a7,a5 + 83f4f884: 4781 li a5,0 + 83f4f886: 02088863 beqz a7,83f4f8b6 + 83f4f88a: 1101 addi sp,sp,-32 + 83f4f88c: 07183023 sd a7,96(a6) + 83f4f890: 4889 li a7,2 + 83f4f892: 003c addi a5,sp,8 + 83f4f894: 09180fa3 sb a7,159(a6) + 83f4f898: ec06 sd ra,24(sp) + 83f4f89a: e822 sd s0,16(sp) + 83f4f89c: 8442 mv s0,a6 + 83f4f89e: 811ff0ef jal ra,83f4f0ae + 83f4f8a2: 8522 mv a0,s0 + 83f4f8a4: e61ff0ef jal ra,83f4f704 + 83f4f8a8: 67a2 ld a5,8(sp) + 83f4f8aa: 60e2 ld ra,24(sp) + 83f4f8ac: 6442 ld s0,16(sp) + 83f4f8ae: 853e mv a0,a5 + 83f4f8b0: 6105 addi sp,sp,32 + 83f4f8b2: 8082 ret + 83f4f8b4: 4781 li a5,0 + 83f4f8b6: 853e mv a0,a5 + 83f4f8b8: 8082 ret + +0000000083f4f8ba : + 83f4f8ba: 715d addi sp,sp,-80 + 83f4f8bc: f44e sd s3,40(sp) + 83f4f8be: 89aa mv s3,a0 + 83f4f8c0: 00361513 slli a0,a2,0x3 + 83f4f8c4: fc26 sd s1,56(sp) + 83f4f8c6: f052 sd s4,32(sp) + 83f4f8c8: ec56 sd s5,24(sp) + 83f4f8ca: e85a sd s6,16(sp) + 83f4f8cc: e45e sd s7,8(sp) + 83f4f8ce: e486 sd ra,72(sp) + 83f4f8d0: e0a2 sd s0,64(sp) + 83f4f8d2: f84a sd s2,48(sp) + 83f4f8d4: 84b2 mv s1,a2 + 83f4f8d6: 8a2e mv s4,a1 + 83f4f8d8: 8ab6 mv s5,a3 + 83f4f8da: 8b3a mv s6,a4 + 83f4f8dc: 8bbe mv s7,a5 + 83f4f8de: ca7fe0ef jal ra,83f4e584 + 83f4f8e2: c139 beqz a0,83f4f928 + 83f4f8e4: 842a mv s0,a0 + 83f4f8e6: 0a800513 li a0,168 + 83f4f8ea: c9bfe0ef jal ra,83f4e584 + 83f4f8ee: 892a mv s2,a0 + 83f4f8f0: cd15 beqz a0,83f4f92c + 83f4f8f2: 882a mv a6,a0 + 83f4f8f4: 87de mv a5,s7 + 83f4f8f6: 875a mv a4,s6 + 83f4f8f8: 86d6 mv a3,s5 + 83f4f8fa: 8626 mv a2,s1 + 83f4f8fc: 85d2 mv a1,s4 + 83f4f8fe: f120 sd s0,96(a0) + 83f4f900: 08050fa3 sb zero,159(a0) + 83f4f904: 854e mv a0,s3 + 83f4f906: fa8ff0ef jal ra,83f4f0ae + 83f4f90a: 854a mv a0,s2 + 83f4f90c: df9ff0ef jal ra,83f4f704 + 83f4f910: 4505 li a0,1 + 83f4f912: 60a6 ld ra,72(sp) + 83f4f914: 6406 ld s0,64(sp) + 83f4f916: 74e2 ld s1,56(sp) + 83f4f918: 7942 ld s2,48(sp) + 83f4f91a: 79a2 ld s3,40(sp) + 83f4f91c: 7a02 ld s4,32(sp) + 83f4f91e: 6ae2 ld s5,24(sp) + 83f4f920: 6b42 ld s6,16(sp) + 83f4f922: 6ba2 ld s7,8(sp) + 83f4f924: 6161 addi sp,sp,80 + 83f4f926: 8082 ret + 83f4f928: 557d li a0,-1 + 83f4f92a: b7e5 j 83f4f912 + 83f4f92c: 8522 mv a0,s0 + 83f4f92e: dbdfe0ef jal ra,83f4e6ea + 83f4f932: 557d li a0,-1 + 83f4f934: bff9 j 83f4f912 + +0000000083f4f936 : + 83f4f936: 7179 addi sp,sp,-48 + 83f4f938: 0050 addi a2,sp,4 + 83f4f93a: 080c addi a1,sp,16 + 83f4f93c: 0028 addi a0,sp,8 + 83f4f93e: f022 sd s0,32(sp) + 83f4f940: f406 sd ra,40(sp) + 83f4f942: e402 sd zero,8(sp) + 83f4f944: e802 sd zero,16(sp) + 83f4f946: d52f30ef jal ra,83f42e98 + 83f4f94a: 6422 ld s0,8(sp) + 83f4f94c: c02d beqz s0,83f4f9ae + 83f4f94e: 6542 ld a0,16(sp) + 83f4f950: cd39 beqz a0,83f4f9ae + 83f4f952: 4612 lw a2,4(sp) + 83f4f954: f028 sd a0,96(s0) + 83f4f956: 4509 li a0,2 + 83f4f958: 083c addi a5,sp,24 + 83f4f95a: 8822 mv a6,s0 + 83f4f95c: 4701 li a4,0 + 83f4f95e: 4681 li a3,0 + 83f4f960: 00003597 auipc a1,0x3 + 83f4f964: 8b058593 addi a1,a1,-1872 # 83f52210 <__func__.1+0x18> + 83f4f968: 08a40fa3 sb a0,159(s0) + 83f4f96c: 00000517 auipc a0,0x0 + 83f4f970: 82a50513 addi a0,a0,-2006 # 83f4f196 + 83f4f974: f3aff0ef jal ra,83f4f0ae + 83f4f978: 8522 mv a0,s0 + 83f4f97a: d8bff0ef jal ra,83f4f704 + 83f4f97e: 67e2 ld a5,24(sp) + 83f4f980: c79d beqz a5,83f4f9ae + 83f4f982: 61a000ef jal ra,83f4ff9c + 83f4f986: 4785 li a5,1 + 83f4f988: 02f51363 bne a0,a5,83f4f9ae + 83f4f98c: 30047073 csrci mstatus,8 + 83f4f990: 57fd li a5,-1 + 83f4f992: 00010717 auipc a4,0x10 + 83f4f996: 32f73b23 sd a5,822(a4) # 83f5fcc8 + 83f4f99a: 00010797 auipc a5,0x10 + 83f4f99e: 34a7b323 sd a0,838(a5) # 83f5fce0 + 83f4f9a2: 00010797 auipc a5,0x10 + 83f4f9a6: 3407b323 sd zero,838(a5) # 83f5fce8 + 83f4f9aa: 726000ef jal ra,83f500d0 + 83f4f9ae: 70a2 ld ra,40(sp) + 83f4f9b0: 7402 ld s0,32(sp) + 83f4f9b2: 00004797 auipc a5,0x4 + 83f4f9b6: 81e7b783 ld a5,-2018(a5) # 83f531d0 + 83f4f9ba: 6145 addi sp,sp,48 + 83f4f9bc: 8082 ret + +0000000083f4f9be : + 83f4f9be: 7179 addi sp,sp,-48 + 83f4f9c0: f406 sd ra,40(sp) + 83f4f9c2: f022 sd s0,32(sp) + 83f4f9c4: ec26 sd s1,24(sp) + 83f4f9c6: e84a sd s2,16(sp) + 83f4f9c8: e44e sd s3,8(sp) + 83f4f9ca: e052 sd s4,0(sp) + 83f4f9cc: 30047073 csrci mstatus,8 + 83f4f9d0: 00010797 auipc a5,0x10 + 83f4f9d4: 3107b783 ld a5,784(a5) # 83f5fce0 + 83f4f9d8: cf81 beqz a5,83f4f9f0 + 83f4f9da: 00010897 auipc a7,0x10 + 83f4f9de: 2ae88893 addi a7,a7,686 # 83f5fc88 + 83f4f9e2: 0008b703 ld a4,0(a7) + 83f4f9e6: 0008b783 ld a5,0(a7) + 83f4f9ea: 7f3c ld a5,120(a4) + 83f4f9ec: 0785 addi a5,a5,1 + 83f4f9ee: ff3c sd a5,120(a4) + 83f4f9f0: 00010497 auipc s1,0x10 + 83f4f9f4: 2c048493 addi s1,s1,704 # 83f5fcb0 + 83f4f9f8: 609c ld a5,0(s1) + 83f4f9fa: 17fd addi a5,a5,-1 + 83f4f9fc: e09c sd a5,0(s1) + 83f4f9fe: 609c ld a5,0(s1) + 83f4fa00: 10079263 bnez a5,83f4fb04 + 83f4fa04: 00010797 auipc a5,0x10 + 83f4fa08: 29c7b783 ld a5,668(a5) # 83f5fca0 + 83f4fa0c: cfe5 beqz a5,83f4fb04 + 83f4fa0e: 0000e597 auipc a1,0xe + 83f4fa12: f9258593 addi a1,a1,-110 # 83f5d9a0 + 83f4fa16: 619c ld a5,0(a1) + 83f4fa18: 00010417 auipc s0,0x10 + 83f4fa1c: 2d840413 addi s0,s0,728 # 83f5fcf0 + 83f4fa20: 10078f63 beqz a5,83f4fb3e + 83f4fa24: 00010897 auipc a7,0x10 + 83f4fa28: 26488893 addi a7,a7,612 # 83f5fc88 + 83f4fa2c: 00010817 auipc a6,0x10 + 83f4fa30: 29480813 addi a6,a6,660 # 83f5fcc0 + 83f4fa34: 0000e517 auipc a0,0xe + 83f4fa38: ddc50513 addi a0,a0,-548 # 83f5d810 + 83f4fa3c: 00010417 auipc s0,0x10 + 83f4fa40: 2b440413 addi s0,s0,692 # 83f5fcf0 + 83f4fa44: 4305 li t1,1 + 83f4fa46: a069 j 83f4fad0 + 83f4fa48: 0407b823 sd zero,80(a5) + 83f4fa4c: 6314 ld a3,0(a4) + 83f4fa4e: 16fd addi a3,a3,-1 + 83f4fa50: e314 sd a3,0(a4) + 83f4fa52: 0107be03 ld t3,16(a5) + 83f4fa56: 6f94 ld a3,24(a5) + 83f4fa58: 7798 ld a4,40(a5) + 83f4fa5a: 00878613 addi a2,a5,8 + 83f4fa5e: 00de3823 sd a3,16(t3) + 83f4fa62: 0107be03 ld t3,16(a5) + 83f4fa66: 01c6b423 sd t3,8(a3) + 83f4fa6a: 6714 ld a3,8(a4) + 83f4fa6c: 0ac68863 beq a3,a2,83f4fb1c + 83f4fa70: 0207b423 sd zero,40(a5) + 83f4fa74: 6314 ld a3,0(a4) + 83f4fa76: 16fd addi a3,a3,-1 + 83f4fa78: e314 sd a3,0(a4) + 83f4fa7a: 6fb8 ld a4,88(a5) + 83f4fa7c: 00083e03 ld t3,0(a6) + 83f4fa80: 00271693 slli a3,a4,0x2 + 83f4fa84: 96ba add a3,a3,a4 + 83f4fa86: 068e slli a3,a3,0x3 + 83f4fa88: 96aa add a3,a3,a0 + 83f4fa8a: 6694 ld a3,8(a3) + 83f4fa8c: 00e31733 sll a4,t1,a4 + 83f4fa90: 01c76733 or a4,a4,t3 + 83f4fa94: eb94 sd a3,16(a5) + 83f4fa96: 0106be03 ld t3,16(a3) + 83f4fa9a: 00e83023 sd a4,0(a6) + 83f4fa9e: 01c7bc23 sd t3,24(a5) + 83f4faa2: 00ce3423 sd a2,8(t3) + 83f4faa6: ea90 sd a2,16(a3) + 83f4faa8: 6fb4 ld a3,88(a5) + 83f4faaa: 00269713 slli a4,a3,0x2 + 83f4faae: 9736 add a4,a4,a3 + 83f4fab0: 070e slli a4,a4,0x3 + 83f4fab2: 972a add a4,a4,a0 + 83f4fab4: f798 sd a4,40(a5) + 83f4fab6: 6314 ld a3,0(a4) + 83f4fab8: 0685 addi a3,a3,1 + 83f4faba: e314 sd a3,0(a4) + 83f4fabc: 0008b683 ld a3,0(a7) + 83f4fac0: 6fb8 ld a4,88(a5) + 83f4fac2: 6ebc ld a5,88(a3) + 83f4fac4: 00f76463 bltu a4,a5,83f4facc + 83f4fac8: 00643023 sd t1,0(s0) + 83f4facc: 619c ld a5,0(a1) + 83f4face: cbb1 beqz a5,83f4fb22 + 83f4fad0: 6d9c ld a5,24(a1) + 83f4fad2: 6f9c ld a5,24(a5) + 83f4fad4: 0387be03 ld t3,56(a5) + 83f4fad8: 63b4 ld a3,64(a5) + 83f4fada: 6bb8 ld a4,80(a5) + 83f4fadc: 03078613 addi a2,a5,48 + 83f4fae0: 00de3823 sd a3,16(t3) + 83f4fae4: 0387be03 ld t3,56(a5) + 83f4fae8: 01c6b423 sd t3,8(a3) + 83f4faec: 6714 ld a3,8(a4) + 83f4faee: f4c69de3 bne a3,a2,83f4fa48 + 83f4faf2: 63b4 ld a3,64(a5) + 83f4faf4: e714 sd a3,8(a4) + 83f4faf6: bf89 j 83f4fa48 + 83f4faf8: 00010797 auipc a5,0x10 + 83f4fafc: 1e07b023 sd zero,480(a5) # 83f5fcd8 + 83f4fb00: 601c ld a5,0(s0) + 83f4fb02: ebb5 bnez a5,83f4fb76 + 83f4fb04: 4401 li s0,0 + 83f4fb06: bd3ff0ef jal ra,83f4f6d8 + 83f4fb0a: 70a2 ld ra,40(sp) + 83f4fb0c: 8522 mv a0,s0 + 83f4fb0e: 7402 ld s0,32(sp) + 83f4fb10: 64e2 ld s1,24(sp) + 83f4fb12: 6942 ld s2,16(sp) + 83f4fb14: 69a2 ld s3,8(sp) + 83f4fb16: 6a02 ld s4,0(sp) + 83f4fb18: 6145 addi sp,sp,48 + 83f4fb1a: 8082 ret + 83f4fb1c: 6f94 ld a3,24(a5) + 83f4fb1e: e714 sd a3,8(a4) + 83f4fb20: bf81 j 83f4fa70 + 83f4fb22: 00010797 auipc a5,0x10 + 83f4fb26: 16e78793 addi a5,a5,366 # 83f5fc90 + 83f4fb2a: 6398 ld a4,0(a5) + 83f4fb2c: 6318 ld a4,0(a4) + 83f4fb2e: cb21 beqz a4,83f4fb7e + 83f4fb30: 639c ld a5,0(a5) + 83f4fb32: 6f9c ld a5,24(a5) + 83f4fb34: 639c ld a5,0(a5) + 83f4fb36: 00010717 auipc a4,0x10 + 83f4fb3a: 18f73923 sd a5,402(a4) # 83f5fcc8 + 83f4fb3e: 00010997 auipc s3,0x10 + 83f4fb42: 19a98993 addi s3,s3,410 # 83f5fcd8 + 83f4fb46: 0009b903 ld s2,0(s3) + 83f4fb4a: fa090be3 beqz s2,83f4fb00 + 83f4fb4e: 4a05 li s4,1 + 83f4fb50: a809 j 83f4fb62 + 83f4fb52: f18ff0ef jal ra,83f4f26a + 83f4fb56: c119 beqz a0,83f4fb5c + 83f4fb58: 01443023 sd s4,0(s0) + 83f4fb5c: 197d addi s2,s2,-1 + 83f4fb5e: f8090de3 beqz s2,83f4faf8 + 83f4fb62: 609c ld a5,0(s1) + 83f4fb64: d7fd beqz a5,83f4fb52 + 83f4fb66: 0009b783 ld a5,0(s3) + 83f4fb6a: 0785 addi a5,a5,1 + 83f4fb6c: 00f9b023 sd a5,0(s3) + 83f4fb70: b26f30ef jal ra,83f42e96 + 83f4fb74: b7e5 j 83f4fb5c + 83f4fb76: 00000073 ecall + 83f4fb7a: 4405 li s0,1 + 83f4fb7c: b769 j 83f4fb06 + 83f4fb7e: 57fd li a5,-1 + 83f4fb80: 00010717 auipc a4,0x10 + 83f4fb84: 14f73423 sd a5,328(a4) # 83f5fcc8 + 83f4fb88: bf5d j 83f4fb3e + +0000000083f4fb8a : + 83f4fb8a: e501 bnez a0,83f4fb92 + 83f4fb8c: 00000073 ecall + 83f4fb90: 8082 ret + 83f4fb92: 1141 addi sp,sp,-16 + 83f4fb94: e406 sd ra,8(sp) + 83f4fb96: 00010717 auipc a4,0x10 + 83f4fb9a: 11a70713 addi a4,a4,282 # 83f5fcb0 + 83f4fb9e: 631c ld a5,0(a4) + 83f4fba0: 0785 addi a5,a5,1 + 83f4fba2: e31c sd a5,0(a4) + 83f4fba4: 4581 li a1,0 + 83f4fba6: b6cff0ef jal ra,83f4ef12 + 83f4fbaa: e15ff0ef jal ra,83f4f9be + 83f4fbae: e119 bnez a0,83f4fbb4 + 83f4fbb0: 00000073 ecall + 83f4fbb4: 60a2 ld ra,8(sp) + 83f4fbb6: 0141 addi sp,sp,16 + 83f4fbb8: 8082 ret + +0000000083f4fbba : + 83f4fbba: 1141 addi sp,sp,-16 + 83f4fbbc: e406 sd ra,8(sp) + 83f4fbbe: e022 sd s0,0(sp) + 83f4fbc0: 87aa mv a5,a0 + 83f4fbc2: 30047073 csrci mstatus,8 + 83f4fbc6: 00010697 auipc a3,0x10 + 83f4fbca: 11a6b683 ld a3,282(a3) # 83f5fce0 + 83f4fbce: 00010717 auipc a4,0x10 + 83f4fbd2: 0ba70713 addi a4,a4,186 # 83f5fc88 + 83f4fbd6: c691 beqz a3,83f4fbe2 + 83f4fbd8: 6310 ld a2,0(a4) + 83f4fbda: 6314 ld a3,0(a4) + 83f4fbdc: 7e34 ld a3,120(a2) + 83f4fbde: 0685 addi a3,a3,1 + 83f4fbe0: fe34 sd a3,120(a2) + 83f4fbe2: 00010697 auipc a3,0x10 + 83f4fbe6: 10668693 addi a3,a3,262 # 83f5fce8 + 83f4fbea: 6288 ld a0,0(a3) + 83f4fbec: 6310 ld a2,0(a4) + 83f4fbee: 0a064603 lbu a2,160(a2) + 83f4fbf2: ce01 beqz a2,83f4fc0a + 83f4fbf4: 631c ld a5,0(a4) + 83f4fbf6: 4405 li s0,1 + 83f4fbf8: 0a078023 sb zero,160(a5) + 83f4fbfc: addff0ef jal ra,83f4f6d8 + 83f4fc00: 60a2 ld ra,8(sp) + 83f4fc02: 8522 mv a0,s0 + 83f4fc04: 6402 ld s0,0(sp) + 83f4fc06: 0141 addi sp,sp,16 + 83f4fc08: 8082 ret + 83f4fc0a: 6198 ld a4,0(a1) + 83f4fc0c: 567d li a2,-1 + 83f4fc0e: 4401 li s0,0 + 83f4fc10: fec706e3 beq a4,a2,83f4fbfc + 83f4fc14: 00010817 auipc a6,0x10 + 83f4fc18: 0bc80813 addi a6,a6,188 # 83f5fcd0 + 83f4fc1c: 00083883 ld a7,0(a6) + 83f4fc20: 0007b303 ld t1,0(a5) + 83f4fc24: 6790 ld a2,8(a5) + 83f4fc26: 01130e63 beq t1,a7,83f4fc42 + 83f4fc2a: 00c56c63 bltu a0,a2,83f4fc42 + 83f4fc2e: 0005b023 sd zero,0(a1) + 83f4fc32: aa7ff0ef jal ra,83f4f6d8 + 83f4fc36: 4405 li s0,1 + 83f4fc38: 60a2 ld ra,8(sp) + 83f4fc3a: 8522 mv a0,s0 + 83f4fc3c: 6402 ld s0,0(sp) + 83f4fc3e: 0141 addi sp,sp,16 + 83f4fc40: 8082 ret + 83f4fc42: 40c508b3 sub a7,a0,a2 + 83f4fc46: fee8f4e3 bgeu a7,a4,83f4fc2e + 83f4fc4a: 00083803 ld a6,0(a6) + 83f4fc4e: 8f09 sub a4,a4,a0 + 83f4fc50: 6294 ld a3,0(a3) + 83f4fc52: 9732 add a4,a4,a2 + 83f4fc54: e198 sd a4,0(a1) + 83f4fc56: 0107b023 sd a6,0(a5) + 83f4fc5a: e794 sd a3,8(a5) + 83f4fc5c: a7dff0ef jal ra,83f4f6d8 + 83f4fc60: 4401 li s0,0 + 83f4fc62: 60a2 ld ra,8(sp) + 83f4fc64: 8522 mv a0,s0 + 83f4fc66: 6402 ld s0,0(sp) + 83f4fc68: 0141 addi sp,sp,16 + 83f4fc6a: 8082 ret + +0000000083f4fc6c : + 83f4fc6c: 1101 addi sp,sp,-32 + 83f4fc6e: e822 sd s0,16(sp) + 83f4fc70: ec06 sd ra,24(sp) + 83f4fc72: e426 sd s1,8(sp) + 83f4fc74: e04a sd s2,0(sp) + 83f4fc76: 00010417 auipc s0,0x10 + 83f4fc7a: 09a40413 addi s0,s0,154 # 83f5fd10 + 83f4fc7e: a39ff0ef jal ra,83f4f6b6 + 83f4fc82: 601c ld a5,0(s0) + 83f4fc84: cb81 beqz a5,83f4fc94 + 83f4fc86: 6442 ld s0,16(sp) + 83f4fc88: 60e2 ld ra,24(sp) + 83f4fc8a: 64a2 ld s1,8(sp) + 83f4fc8c: 6902 ld s2,0(sp) + 83f4fc8e: 6105 addi sp,sp,32 + 83f4fc90: a49ff06f j 83f4f6d8 + 83f4fc94: 0000e917 auipc s2,0xe + 83f4fc98: e2490913 addi s2,s2,-476 # 83f5dab8 + 83f4fc9c: 854a mv a0,s2 + 83f4fc9e: 350000ef jal ra,83f4ffee + 83f4fca2: 0000e497 auipc s1,0xe + 83f4fca6: e3e48493 addi s1,s1,-450 # 83f5dae0 + 83f4fcaa: 8526 mv a0,s1 + 83f4fcac: 342000ef jal ra,83f4ffee + 83f4fcb0: 4701 li a4,0 + 83f4fcb2: 0000e697 auipc a3,0xe + 83f4fcb6: e5668693 addi a3,a3,-426 # 83f5db08 + 83f4fcba: 0000e617 auipc a2,0xe + 83f4fcbe: d5e60613 addi a2,a2,-674 # 83f5da18 + 83f4fcc2: 02000593 li a1,32 + 83f4fcc6: 4515 li a0,5 + 83f4fcc8: 00010797 auipc a5,0x10 + 83f4fccc: 0327b823 sd s2,48(a5) # 83f5fcf8 + 83f4fcd0: 00010797 auipc a5,0x10 + 83f4fcd4: 0297b823 sd s1,48(a5) # 83f5fd00 + 83f4fcd8: c6bfe0ef jal ra,83f4e942 + 83f4fcdc: e008 sd a0,0(s0) + 83f4fcde: d545 beqz a0,83f4fc86 + 83f4fce0: 00002597 auipc a1,0x2 + 83f4fce4: 53858593 addi a1,a1,1336 # 83f52218 <__func__.1+0x20> + 83f4fce8: 938ff0ef jal ra,83f4ee20 + 83f4fcec: bf69 j 83f4fc86 + +0000000083f4fcee : + 83f4fcee: 1101 addi sp,sp,-32 + 83f4fcf0: e822 sd s0,16(sp) + 83f4fcf2: e04a sd s2,0(sp) + 83f4fcf4: ec06 sd ra,24(sp) + 83f4fcf6: e426 sd s1,8(sp) + 83f4fcf8: 842a mv s0,a0 + 83f4fcfa: 8932 mv s2,a2 + 83f4fcfc: a031 j 83f4fd08 + 83f4fcfe: 02f76f63 bltu a4,a5,83f4fd3c + 83f4fd02: 603c ld a5,64(s0) + 83f4fd04: 9782 jalr a5 + 83f4fd06: 85a6 mv a1,s1 + 83f4fd08: 781c ld a5,48(s0) + 83f4fd0a: f000 sd s0,32(s0) + 83f4fd0c: 8522 mv a0,s0 + 83f4fd0e: 00b784b3 add s1,a5,a1 + 83f4fd12: e404 sd s1,8(s0) + 83f4fd14: 40b90733 sub a4,s2,a1 + 83f4fd18: fe9973e3 bgeu s2,s1,83f4fcfe + 83f4fd1c: 00b97463 bgeu s2,a1,83f4fd24 + 83f4fd20: feb4f1e3 bgeu s1,a1,83f4fd02 + 83f4fd24: 00840593 addi a1,s0,8 + 83f4fd28: 6442 ld s0,16(sp) + 83f4fd2a: 60e2 ld ra,24(sp) + 83f4fd2c: 64a2 ld s1,8(sp) + 83f4fd2e: 6902 ld s2,0(sp) + 83f4fd30: 00010517 auipc a0,0x10 + 83f4fd34: fc853503 ld a0,-56(a0) # 83f5fcf8 + 83f4fd38: 6105 addi sp,sp,32 + 83f4fd3a: a4f9 j 83f50008 + 83f4fd3c: 00840593 addi a1,s0,8 + 83f4fd40: 6442 ld s0,16(sp) + 83f4fd42: 60e2 ld ra,24(sp) + 83f4fd44: 64a2 ld s1,8(sp) + 83f4fd46: 6902 ld s2,0(sp) + 83f4fd48: 00010517 auipc a0,0x10 + 83f4fd4c: fb853503 ld a0,-72(a0) # 83f5fd00 + 83f4fd50: 6105 addi sp,sp,32 + 83f4fd52: ac5d j 83f50008 + +0000000083f4fd54 : + 83f4fd54: 1101 addi sp,sp,-32 + 83f4fd56: e426 sd s1,8(sp) + 83f4fd58: e04a sd s2,0(sp) + 83f4fd5a: ec06 sd ra,24(sp) + 83f4fd5c: e822 sd s0,16(sp) + 83f4fd5e: 00010797 auipc a5,0x10 + 83f4fd62: f9a7b783 ld a5,-102(a5) # 83f5fcf8 + 83f4fd66: 6f9c ld a5,24(a5) + 83f4fd68: 84aa mv s1,a0 + 83f4fd6a: 892e mv s2,a1 + 83f4fd6c: 6f80 ld s0,24(a5) + 83f4fd6e: 00840513 addi a0,s0,8 + 83f4fd72: 2c4000ef jal ra,83f50036 + 83f4fd76: 04844783 lbu a5,72(s0) + 83f4fd7a: 0047f713 andi a4,a5,4 + 83f4fd7e: ef01 bnez a4,83f4fd96 + 83f4fd80: 9bf9 andi a5,a5,-2 + 83f4fd82: 04f40423 sb a5,72(s0) + 83f4fd86: 603c ld a5,64(s0) + 83f4fd88: 8522 mv a0,s0 + 83f4fd8a: 6442 ld s0,16(sp) + 83f4fd8c: 60e2 ld ra,24(sp) + 83f4fd8e: 64a2 ld s1,8(sp) + 83f4fd90: 6902 ld s2,0(sp) + 83f4fd92: 6105 addi sp,sp,32 + 83f4fd94: 8782 jr a5 + 83f4fd96: 864a mv a2,s2 + 83f4fd98: 85a6 mv a1,s1 + 83f4fd9a: 8522 mv a0,s0 + 83f4fd9c: f53ff0ef jal ra,83f4fcee + 83f4fda0: b7dd j 83f4fd86 + +0000000083f4fda2 : + 83f4fda2: 7159 addi sp,sp,-112 + 83f4fda4: eca6 sd s1,88(sp) + 83f4fda6: e8ca sd s2,80(sp) + 83f4fda8: e4ce sd s3,72(sp) + 83f4fdaa: e0d2 sd s4,64(sp) + 83f4fdac: fc56 sd s5,56(sp) + 83f4fdae: f85a sd s6,48(sp) + 83f4fdb0: f486 sd ra,104(sp) + 83f4fdb2: f0a2 sd s0,96(sp) + 83f4fdb4: f45e sd s7,40(sp) + 83f4fdb6: 00010917 auipc s2,0x10 + 83f4fdba: f4290913 addi s2,s2,-190 # 83f5fcf8 + 83f4fdbe: 00010997 auipc s3,0x10 + 83f4fdc2: f4a98993 addi s3,s3,-182 # 83f5fd08 + 83f4fdc6: 00010a97 auipc s5,0x10 + 83f4fdca: f3aa8a93 addi s5,s5,-198 # 83f5fd00 + 83f4fdce: 00010497 auipc s1,0x10 + 83f4fdd2: f4248493 addi s1,s1,-190 # 83f5fd10 + 83f4fdd6: 00002a17 auipc s4,0x2 + 83f4fdda: 44aa0a13 addi s4,s4,1098 # 83f52220 <__func__.1+0x28> + 83f4fdde: 4b25 li s6,9 + 83f4fde0: 00093783 ld a5,0(s2) + 83f4fde4: 0007bb83 ld s7,0(a5) + 83f4fde8: 140b8c63 beqz s7,83f4ff40 + 83f4fdec: 6f9c ld a5,24(a5) + 83f4fdee: 0007bb83 ld s7,0(a5) + 83f4fdf2: e44ff0ef jal ra,83f4f436 + 83f4fdf6: e50ff0ef jal ra,83f4f446 + 83f4fdfa: 0009b783 ld a5,0(s3) + 83f4fdfe: 842a mv s0,a0 + 83f4fe00: 06f56763 bltu a0,a5,83f4fe6e + 83f4fe04: 00a9b023 sd a0,0(s3) + 83f4fe08: 4601 li a2,0 + 83f4fe0a: 17757763 bgeu a0,s7,83f4ff78 + 83f4fe0e: 6088 ld a0,0(s1) + 83f4fe10: 408b85b3 sub a1,s7,s0 + 83f4fe14: 88aff0ef jal ra,83f4ee9e + 83f4fe18: ba7ff0ef jal ra,83f4f9be + 83f4fe1c: e119 bnez a0,83f4fe22 + 83f4fe1e: 00000073 ecall + 83f4fe22: 6088 ld a0,0(s1) + 83f4fe24: 4601 li a2,0 + 83f4fe26: 858a mv a1,sp + 83f4fe28: e1ffe0ef jal ra,83f4ec46 + 83f4fe2c: d955 beqz a0,83f4fde0 + 83f4fe2e: 6782 ld a5,0(sp) + 83f4fe30: 6442 ld s0,16(sp) + 83f4fe32: 0e07ce63 bltz a5,83f4ff2e + 83f4fe36: 741c ld a5,40(s0) + 83f4fe38: c789 beqz a5,83f4fe42 + 83f4fe3a: 00840513 addi a0,s0,8 + 83f4fe3e: 1f8000ef jal ra,83f50036 + 83f4fe42: e04ff0ef jal ra,83f4f446 + 83f4fe46: 0009b783 ld a5,0(s3) + 83f4fe4a: 8baa mv s7,a0 + 83f4fe4c: 04f56563 bltu a0,a5,83f4fe96 + 83f4fe50: 6782 ld a5,0(sp) + 83f4fe52: 0179b023 sd s7,0(s3) + 83f4fe56: fcfb66e3 bltu s6,a5,83f4fe22 + 83f4fe5a: 078a slli a5,a5,0x2 + 83f4fe5c: 97d2 add a5,a5,s4 + 83f4fe5e: 439c lw a5,0(a5) + 83f4fe60: 97d2 add a5,a5,s4 + 83f4fe62: 8782 jr a5 + 83f4fe64: 6f9c ld a5,24(a5) + 83f4fe66: 55fd li a1,-1 + 83f4fe68: 6388 ld a0,0(a5) + 83f4fe6a: eebff0ef jal ra,83f4fd54 + 83f4fe6e: 00093783 ld a5,0(s2) + 83f4fe72: 6398 ld a4,0(a5) + 83f4fe74: fb65 bnez a4,83f4fe64 + 83f4fe76: 000ab703 ld a4,0(s5) + 83f4fe7a: 0089b023 sd s0,0(s3) + 83f4fe7e: 00fab023 sd a5,0(s5) + 83f4fe82: 00e93023 sd a4,0(s2) + 83f4fe86: b39ff0ef jal ra,83f4f9be + 83f4fe8a: bf61 j 83f4fe22 + 83f4fe8c: 6f9c ld a5,24(a5) + 83f4fe8e: 55fd li a1,-1 + 83f4fe90: 6388 ld a0,0(a5) + 83f4fe92: ec3ff0ef jal ra,83f4fd54 + 83f4fe96: 00093783 ld a5,0(s2) + 83f4fe9a: 6398 ld a4,0(a5) + 83f4fe9c: fb65 bnez a4,83f4fe8c + 83f4fe9e: 000ab703 ld a4,0(s5) + 83f4fea2: 00fab023 sd a5,0(s5) + 83f4fea6: 00e93023 sd a4,0(s2) + 83f4feaa: b75d j 83f4fe50 + 83f4feac: 04844703 lbu a4,72(s0) + 83f4feb0: 67a2 ld a5,8(sp) + 83f4feb2: 780c ld a1,48(s0) + 83f4feb4: 00176693 ori a3,a4,1 + 83f4feb8: 04d40423 sb a3,72(s0) + 83f4febc: 00b786b3 add a3,a5,a1 + 83f4fec0: e414 sd a3,8(s0) + 83f4fec2: f000 sd s0,32(s0) + 83f4fec4: 08dbef63 bltu s7,a3,83f4ff62 + 83f4fec8: 40fb87b3 sub a5,s7,a5 + 83f4fecc: 02b7eb63 bltu a5,a1,83f4ff02 + 83f4fed0: 00477793 andi a5,a4,4 + 83f4fed4: efcd bnez a5,83f4ff8e + 83f4fed6: 9b79 andi a4,a4,-2 + 83f4fed8: 04e40423 sb a4,72(s0) + 83f4fedc: 603c ld a5,64(s0) + 83f4fede: 8522 mv a0,s0 + 83f4fee0: 9782 jalr a5 + 83f4fee2: b781 j 83f4fe22 + 83f4fee4: 6722 ld a4,8(sp) + 83f4fee6: 04844783 lbu a5,72(s0) + 83f4feea: f000 sd s0,32(s0) + 83f4feec: 017706b3 add a3,a4,s7 + 83f4fef0: 0017e793 ori a5,a5,1 + 83f4fef4: 04f40423 sb a5,72(s0) + 83f4fef8: f818 sd a4,48(s0) + 83f4fefa: e414 sd a3,8(s0) + 83f4fefc: 06dbe763 bltu s7,a3,83f4ff6a + 83f4ff00: d30d beqz a4,83f4fe22 + 83f4ff02: 000ab503 ld a0,0(s5) + 83f4ff06: 00840593 addi a1,s0,8 + 83f4ff0a: 0fe000ef jal ra,83f50008 + 83f4ff0e: bf11 j 83f4fe22 + 83f4ff10: 04844783 lbu a5,72(s0) + 83f4ff14: 9bf9 andi a5,a5,-2 + 83f4ff16: 04f40423 sb a5,72(s0) + 83f4ff1a: b721 j 83f4fe22 + 83f4ff1c: 04844783 lbu a5,72(s0) + 83f4ff20: 0027f713 andi a4,a5,2 + 83f4ff24: c32d beqz a4,83f4ff86 + 83f4ff26: 9bf9 andi a5,a5,-2 + 83f4ff28: 04f40423 sb a5,72(s0) + 83f4ff2c: bddd j 83f4fe22 + 83f4ff2e: 67a2 ld a5,8(sp) + 83f4ff30: 45e2 lw a1,24(sp) + 83f4ff32: 8522 mv a0,s0 + 83f4ff34: 9782 jalr a5 + 83f4ff36: 6782 ld a5,0(sp) + 83f4ff38: ee07c5e3 bltz a5,83f4fe22 + 83f4ff3c: 6442 ld s0,16(sp) + 83f4ff3e: bde5 j 83f4fe36 + 83f4ff40: cf6ff0ef jal ra,83f4f436 + 83f4ff44: d02ff0ef jal ra,83f4f446 + 83f4ff48: 0009b783 ld a5,0(s3) + 83f4ff4c: 842a mv s0,a0 + 83f4ff4e: f2f560e3 bltu a0,a5,83f4fe6e + 83f4ff52: 000ab783 ld a5,0(s5) + 83f4ff56: 0089b023 sd s0,0(s3) + 83f4ff5a: 6390 ld a2,0(a5) + 83f4ff5c: 00163613 seqz a2,a2 + 83f4ff60: b57d j 83f4fe0e + 83f4ff62: 00fbf463 bgeu s7,a5,83f4ff6a + 83f4ff66: f6f6f5e3 bgeu a3,a5,83f4fed0 + 83f4ff6a: 00093503 ld a0,0(s2) + 83f4ff6e: 00840593 addi a1,s0,8 + 83f4ff72: 096000ef jal ra,83f50008 + 83f4ff76: b575 j 83f4fe22 + 83f4ff78: a47ff0ef jal ra,83f4f9be + 83f4ff7c: 85a2 mv a1,s0 + 83f4ff7e: 855e mv a0,s7 + 83f4ff80: dd5ff0ef jal ra,83f4fd54 + 83f4ff84: bd79 j 83f4fe22 + 83f4ff86: 8522 mv a0,s0 + 83f4ff88: f62fe0ef jal ra,83f4e6ea + 83f4ff8c: bd59 j 83f4fe22 + 83f4ff8e: 67a2 ld a5,8(sp) + 83f4ff90: 865e mv a2,s7 + 83f4ff92: 8522 mv a0,s0 + 83f4ff94: 95be add a1,a1,a5 + 83f4ff96: d59ff0ef jal ra,83f4fcee + 83f4ff9a: b789 j 83f4fedc + +0000000083f4ff9c : + 83f4ff9c: 7179 addi sp,sp,-48 + 83f4ff9e: f406 sd ra,40(sp) + 83f4ffa0: ccdff0ef jal ra,83f4fc6c + 83f4ffa4: 00010797 auipc a5,0x10 + 83f4ffa8: d6c7b783 ld a5,-660(a5) # 83f5fd10 + 83f4ffac: 4501 li a0,0 + 83f4ffae: cf8d beqz a5,83f4ffe8 + 83f4ffb0: 0070 addi a2,sp,12 + 83f4ffb2: 082c addi a1,sp,24 + 83f4ffb4: 0808 addi a0,sp,16 + 83f4ffb6: e802 sd zero,16(sp) + 83f4ffb8: ec02 sd zero,24(sp) + 83f4ffba: efbf20ef jal ra,83f42eb4 + 83f4ffbe: 67e2 ld a5,24(sp) + 83f4ffc0: 6842 ld a6,16(sp) + 83f4ffc2: 4632 lw a2,12(sp) + 83f4ffc4: 471d li a4,7 + 83f4ffc6: 4681 li a3,0 + 83f4ffc8: 00002597 auipc a1,0x2 + 83f4ffcc: 28058593 addi a1,a1,640 # 83f52248 <__func__.1+0x50> + 83f4ffd0: 00000517 auipc a0,0x0 + 83f4ffd4: dd250513 addi a0,a0,-558 # 83f4fda2 + 83f4ffd8: 8a7ff0ef jal ra,83f4f87e + 83f4ffdc: 00010797 auipc a5,0x10 + 83f4ffe0: d2a7be23 sd a0,-708(a5) # 83f5fd18 + 83f4ffe4: 00a03533 snez a0,a0 + 83f4ffe8: 70a2 ld ra,40(sp) + 83f4ffea: 6145 addi sp,sp,48 + 83f4ffec: 8082 ret + +0000000083f4ffee : + 83f4ffee: 01050793 addi a5,a0,16 + 83f4fff2: 577d li a4,-1 + 83f4fff4: e51c sd a5,8(a0) + 83f4fff6: e918 sd a4,16(a0) + 83f4fff8: ed1c sd a5,24(a0) + 83f4fffa: f11c sd a5,32(a0) + 83f4fffc: 00053023 sd zero,0(a0) + 83f50000: 8082 ret + +0000000083f50002 : + 83f50002: 02053023 sd zero,32(a0) + 83f50006: 8082 ret + +0000000083f50008 : + 83f50008: 6190 ld a2,0(a1) + 83f5000a: 577d li a4,-1 + 83f5000c: 01050793 addi a5,a0,16 + 83f50010: 02e60063 beq a2,a4,83f50030 + 83f50014: 86be mv a3,a5 + 83f50016: 679c ld a5,8(a5) + 83f50018: 6398 ld a4,0(a5) + 83f5001a: fee67de3 bgeu a2,a4,83f50014 + 83f5001e: e59c sd a5,8(a1) + 83f50020: eb8c sd a1,16(a5) + 83f50022: e994 sd a3,16(a1) + 83f50024: e68c sd a1,8(a3) + 83f50026: f188 sd a0,32(a1) + 83f50028: 611c ld a5,0(a0) + 83f5002a: 0785 addi a5,a5,1 + 83f5002c: e11c sd a5,0(a0) + 83f5002e: 8082 ret + 83f50030: 7114 ld a3,32(a0) + 83f50032: 669c ld a5,8(a3) + 83f50034: b7ed j 83f5001e + +0000000083f50036 : + 83f50036: 6514 ld a3,8(a0) + 83f50038: 6918 ld a4,16(a0) + 83f5003a: 711c ld a5,32(a0) + 83f5003c: ea98 sd a4,16(a3) + 83f5003e: 6514 ld a3,8(a0) + 83f50040: e714 sd a3,8(a4) + 83f50042: 6798 ld a4,8(a5) + 83f50044: 00a70963 beq a4,a0,83f50056 + 83f50048: 02053023 sd zero,32(a0) + 83f5004c: 6398 ld a4,0(a5) + 83f5004e: 177d addi a4,a4,-1 + 83f50050: e398 sd a4,0(a5) + 83f50052: 6388 ld a0,0(a5) + 83f50054: 8082 ret + 83f50056: 6918 ld a4,16(a0) + 83f50058: e798 sd a4,8(a5) + 83f5005a: 02053023 sd zero,32(a0) + 83f5005e: 6398 ld a4,0(a5) + 83f50060: 177d addi a4,a4,-1 + 83f50062: e398 sd a4,0(a5) + 83f50064: 6388 ld a0,0(a5) + 83f50066: 8082 ret + +0000000083f50068 : + 83f50068: 1141 addi sp,sp,-16 + 83f5006a: f14027f3 csrr a5,mhartid + 83f5006e: c63e sw a5,12(sp) + 83f50070: 47b2 lw a5,12(sp) + 83f50072: 4732 lw a4,12(sp) + 83f50074: 0e8016b7 lui a3,0xe801 + 83f50078: 1782 slli a5,a5,0x20 + 83f5007a: 80068693 addi a3,a3,-2048 # e800800 + 83f5007e: 9381 srli a5,a5,0x20 + 83f50080: 97b6 add a5,a5,a3 + 83f50082: 02071693 slli a3,a4,0x20 + 83f50086: 01d6d713 srli a4,a3,0x1d + 83f5008a: 740046b7 lui a3,0x74004 + 83f5008e: 0691 addi a3,a3,4 + 83f50090: 9736 add a4,a4,a3 + 83f50092: 078e slli a5,a5,0x3 + 83f50094: 00010597 auipc a1,0x10 + 83f50098: c8c58593 addi a1,a1,-884 # 83f5fd20 + 83f5009c: 00010697 auipc a3,0x10 + 83f500a0: c8f6b623 sd a5,-884(a3) # 83f5fd28 + 83f500a4: e198 sd a4,0(a1) + 83f500a6: c0102773 rdtime a4 + 83f500aa: 667d lui a2,0x1f + 83f500ac: 84860613 addi a2,a2,-1976 # 1e848 <_EL1_STACK_SIZE+0x1e048> + 83f500b0: 00010697 auipc a3,0x10 + 83f500b4: c8068693 addi a3,a3,-896 # 83f5fd30 + 83f500b8: 9732 add a4,a4,a2 + 83f500ba: e298 sd a4,0(a3) + 83f500bc: 2701 sext.w a4,a4 + 83f500be: c398 sw a4,0(a5) + 83f500c0: 42d8 lw a4,4(a3) + 83f500c2: 619c ld a5,0(a1) + 83f500c4: c398 sw a4,0(a5) + 83f500c6: 629c ld a5,0(a3) + 83f500c8: 963e add a2,a2,a5 + 83f500ca: e290 sd a2,0(a3) + 83f500cc: 0141 addi sp,sp,16 + 83f500ce: 8082 ret + +0000000083f500d0 : + 83f500d0: 1141 addi sp,sp,-16 + 83f500d2: e406 sd ra,8(sp) + 83f500d4: f95ff0ef jal ra,83f50068 + 83f500d8: 6785 lui a5,0x1 + 83f500da: 8807879b addiw a5,a5,-1920 + 83f500de: 3047a073 csrs mie,a5 + 83f500e2: b1ef00ef jal ra,83f40400 + 83f500e6: 60a2 ld ra,8(sp) + 83f500e8: 4501 li a0,0 + 83f500ea: 0141 addi sp,sp,16 + 83f500ec: 8082 ret + +0000000083f500ee : + 83f500ee: c01027f3 rdtime a5 + 83f500f2: 00151713 slli a4,a0,0x1 + 83f500f6: 972a add a4,a4,a0 + 83f500f8: 070e slli a4,a4,0x3 + 83f500fa: 972a add a4,a4,a0 + 83f500fc: 973e add a4,a4,a5 + 83f500fe: c01027f3 rdtime a5 + 83f50102: fee7eee3 bltu a5,a4,83f500fe + 83f50106: 8082 ret diff --git a/freertos/cvitek/install/bin/cvirtos.elf b/freertos/cvitek/install/bin/cvirtos.elf new file mode 100755 index 0000000000000000000000000000000000000000..41f0addf9598cea817d8a06080c8d7ea03b852f3 GIT binary patch literal 767560 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

mVlhQV}w;s~t1|L<}*^&D&Ke*Suu_ z!qz7Vk~g8B?o`fs~%S^UI27H$7fl!`o82IpIpMsA-wgbo($}GS~BpU&E#WFYeFCkX% zgO?eRqeu$$$UcW68Y}A$5yr`q0BF1{4@jFJy9Y=o%H-fPNhSoC$+Gj{6DB(b2~3gA z0z6Y?;Z`6TGI#KwF6#>4Gh`X?f2M3cRFzq>?GQIywgtW;NIM5W!4vnCVDoEz1gYp{ zgV`k3+tAUQbx_0xZV3UnzSdy?XZw3c2va>)kU$&BE^#({@D6@vxuvr=MDwdrC{z+sJ-~(r+DnQ^h z8cCMqI3Tf3Lt6EgXD}1iVu&xvW*q|S(STB7U>y?cB@juH!#b?2OCe!NF6*$d-i2U! zti#S4?))HlN0;xdU4RnERHe^C76mNlKZMy<)sYnzB-^6A;kS&l(#UTha3DS{Tw1KiT zL#45}Wa4;)^1=A++CW*Gp&mja0;#RI2%+L2inM(jD7hI*0A(PM+KcxgR1i3%9oj%S zn4yYTx;lwbliA({K1rS0Kq<^n88C4TQUluH{Z zR}QM(93a?6+Cvf#P}bv+6CN(eJ7PTuGyI+lvPfW^gpQsr$O(zHAClk81v6|#+O33` z8B$NlWyBB)8Ibnv_7i*)>pILpzYY(;VPnnm-%I)e9AmB7to64?W<*%CIT+xGd5*F^ ziMYL`mLNTItd9V&bfCfs97#loB-*1eAi@qkAO$|L$J`;#R(BM5W8}7OjL*6$Vvjs~ zuhq>b?Lr}AW2HkR6Tr{94ig`0roInS@550~gc!%_ci<0KKP?39%D_iv3+yAZILI|6 z>jNG<*(vzu%T^%sWfBk#p$smzgj%`|(7|a`e*g*#8Gj0*vx9#eI!loVn?u~*pyCdy+9i7>*ZLhu@c9UgiVI~gU!)SrQ9y+=IQjBH%#Hwb*q9w-!O_Lp>_8fRZpHG3hCp*LCi0>+cu;F1UDla{XCf-d z7b|}ySUD(9u5NUxZiB&>1p(2KyvCq0S9{FljMm`S>35rB4#ouj6**C=%}kh!1Wath zk!`KG8d}Fi-IC403*N%TleVDzVu?AkLz>S-v(1KAZ}7v1DxU?}?~-ixMqXgQjx8>Y zwYd^>`N$ls1M~r0Fi+wOL`(Utx~-KjQvMWkw64@FR3IOl<6=6>HD<>OKt!B>0xzmq zWM}pq%~FIkVJE#OD8Eu6Dzx1oQC$X^fyyD~7M6tR)F3ud(rv6c>{AE>qF}Vl7Eo6z z90(x2o&dk771r2*G?**8%j={t$0}bWWQ8X-#At0Jy;}#6RwsmgE`r9ySNNXLs!s>_ zz*kmn>CpQYz~gKAe`tFX_$sP9Yh_`+p!?>N*25!#i1x_&=A%xQ^SU^5}ArLqz#pxmwRa})pjTzN4$~) zy&+?u!pl9~NwvL=8p$j3HFwBVgp*hLt++SjArN`FX|HSuKRd!Jy}-_49D`@PwH?W( zhpjK=)UdUnTP?=^x+*mK|9{TP<}kYwdq-w$x{p|0e2q`0Vtb5Oi}SA-r55L3F-n#B z*HTz>W>(;_RUDx5$!i9sPvPG4e@u!Vn&R7Opk(nk!J(SK*pef zj6nk#g9b7N4P*=&$QU$`F=(L1prH%}y}|x@u#x0Y(Az_18?7XVf?k`NdbCn96!eB> z`J_&>wf2UU&~KVUL2r1;0SJm33VNgR4}cNMP|)k}IS-ZOP|({`SA%hl1X?EQ1tFawzESm19)nmU96TF43ov^Px^@7WZ|Hbf!i?UprfwOsB$xN~WMRQy)iMzYZacsNf(T+z754 z{1p!T;E(tl2LFU^(sE7%BdB)%j9!C31`66lpUh&K_y>Gi!JqNh4z?i_vEXpXIKfuj z$Agn#!nK^SAO%fMD-^>12z)MR&ixo5dDOvR^z-l+;134@^cN6M{%sn-fN}=YPaee} zv?L#d6taE*ECd4`jtRrdz$p&~=DO+Gg?4705}~2 zYLg)??6Xo6t zFGN!2gK@bRAeCH9)xF9Xd8_O~{4KYfif}d^D2Z&TY_n^J<%?u#q{)Ynogg1AOsF9XQ0!=m@hLb>D~%A!T-cy z|J*mBk>q?xa6lDHg;mC(a6Ea?OprRoeS2~%%1Cgqq;^O0VfvgYV4US#&v+c-(6N6m z#8eRra~XV(-wJM%BKA|n%MRX#UMx5W<0m+yZCW7?XGbr1OfJLT#}f?5*ixpQRrVZQtem5b~u&1fjU!FsFN>KY<~er#IX$F0Zt7}`)Y#YXr@{` zvkjC$CO86_;0R=bBajJ>Kqfc>ncxUyf+J8992Fa2&MwXV2R1Nz*JGlJKa*OfsoOQR z@)}a>JhQFfY6O)(d*glR`&G&4tghxdQ0_-D&&%knG30~Uxpdd+YVp3d*hes7twwK@il`127hSD}pXy}zFN_UU#_SPR!_On+shT{}YA}h$ z(48RUUZJZTp}d61#|yiOaP-wMS+lFazEK&DpKpz7wi;$dIFBn%aK1IP`FyKsIM|Cc zyDt=fr`Sk%tKs;F+WVT0L~b}eLJtvKq>??=>id!=4}qD!Z%08vC#!JUBB0?h4d{Bd zGQ|bRhNE?Yjs=}70g;S2AMACSy&u?D^kO%*=q)yffZa{AU@zt{&GXqNc|Myl&*uZk z^V#qC$Y!=uoQp4b)9unIHSjccY&0 z%53)fFFta)#Vfn7+gy+O%qvyuHP1xd;g!mJ%`d<+uT+I+%|`PZw?0J>_4w*WbjR;T z@hb39sek+Q!_!KQuez@R>UBRy?R1Ijoh}^kbl>R`KOe0acDkHKj@s!G*JCP0imn2> zzUP0Bf@)-y;Jx3DKM&vvM4m>tKp5xT6^2;T!HIK=3x-%rc&~?8tS9mBfsQr6^LRgp zO8exW<-HzU;nS(eo)rG7bw4$@VjM8I;%aM323IK=T%}}im6E|#N(NUc8C<1gaFvq5 zRZ0!6(q?eQO(+>XxMDP{j2>JO*jCmIu5N)`P7ki=H>U?z0!M0^*^x%p?ie>cRicyVQaXq-AXx!?9&P#10J;(JxOQc@F zntYuhj!c}@t9TPlj=WYkF>@^@i zXNMI4R@q-ME$o*l6f3)zs8pf2Remo;%WO5SDm@+kJ-^+~y+<=ygv=ji%>0mwBaE5r zsW+-<<_swMqiyFW(DO^D196vAZa);0vSm~pYX^HsXx0#oSI91Fp^Lp0ij{4k(aCo5 z2uM0s`GGV#1q%tV;+HN$Jmda6J9iF^?hE8EG-1nA@<<&vt9&t;N7>GyRIC_{vGq#d zKgQ0rq5hRMGXP7B=J&z$kF~=_xQv&bPPEhxr!X3o-(=uUuq&CSey;L#T0POOq<=qO zIfOn>vMU)!zfgH1!+x?|#gy|~%C4pEDaulNS$zZ0GKEHzy+_Sc?IeTKVfozKH6FK8 z4JTOT9Sp>2wzHmw(?j945H#f0Ln5;uoCKJ~M7CO)wFHex);mArB340@fL!JbI1l;? z$XoHN$ZB?`!$8&fC^}P}pnuLsS0=+i1}zd>D|0hg!NBArFc;7K5c_1a&z13(0E}G!gxEhM7BRBxVT7pXp+Va}CIz&nSB$l3oP0 zT(EcU9tNtO(VC>=n4!Ua1lSpuz9tKZWy+DH!4v^brV@!1>?r*0 zlt7y`nXx;|`3}UAs+-Ov!a8IMPurAq(^Jw-Pf0gDCEfItbkkGPO;1TTJ*B$o@qgoC zn5^xehjMxsAB@R5|3H8Y8>wV{!1mV4u#HMK2(UA3qLKvxF)Mx{@;2Fb(BU+20q*0; zW`8{muz5=M*9O=+C0n!sHcrV_W8iv3FS*CSYiM8-?&HZe|1}z5!;~DV4X|BGj?f0! zEG0)P0~xkT$uR;PG|@<&G_SDu| zh*eL)eIcIQKll-q*cc@b&`NBJlGBt@hD}j&x-{Xj3|pe)L4BA5@eJFcWM>~n!OyT2 zN*>&Y36jdN4NA_eW%A~vawiWFYvma>K*?DGDl%+;l7~tFDp4em0S_ZAQb`k5O#zPW zk=aj>ErFB!OwIAvJdUihM`>!_P!~~lv^zy)U(utjn&S{!yCch13hNz4b{wgDCN3B1 zJ4W^;+8v{*V9Bqh1Ic2Kt87Ni!Md@r5FirvUin9by3<(rJ!Qw|T7|mHP+cUFJyF}; zp{afDV;C;;%yw?}DEYHD-hi%Kt&9UNt7QmJL)W=Z#(`Ic>_cGnbank4+Pq3C&F$dV zpMmVRzbo~I3uX1wnHt}#rLFgYWq;pK0I+1I*E|Y4kwf-vF}uD)4GS7~pplAqFUCv-tLX~OeI4AJ6*q7?Vk)yB)a9}-R%`uN z``Qblq=g_^P4#+0fy1M1=kiMYktfO>;DvVJRRg2x;J~+-+F? zY&9>{8k~IWw`+n51=U4$>uy#5hAGsED6SP41o!_AQ@^h*+p;e}iuIq!v~5;|MogFV z|BNN0+3v%F_$djGq2Plskc6Mm#z5w1v%Mz?6*&yCUqkY*+fxN-J3L_zYIY~`vgPk! z{0b5SNp1Z%&=8CiT3rPC2HZ4l(MpU(KPX5{b~up?xmuS2$&gi6Q+!-kybm)Puf%t! zfpK4RL}R_tShrh^i;?LVIW^6XsBJZB9lKRK2U!x)kch0?ZA6wM<(ig`QBnB_k@t}m zeQgx5O;*!pO=qI8P>ZcyZX}APVjxkR@E~O80(+X(^mDBjL*sCm=*?q6dnH0%rpQiM zaIB`cH6sK0%QXWP7DnxMod}yF73N73l+C*h%Ko<1^oUkrto|e_VopWv`AGHrM7fk8 zM#yC-a;S$nQv~43;enm?z>Bq_q?^l3iE(J9he65N3eT?|!Yuz)EUPL~}f- zRaZAi$nOHy<||mex7bxrpmttDPUB_=%fqOid(^VAsEjo{3s(QpY!~ve`t1NuL9T5q z3BzJ}c1f|rWp)3*BH;G$ST!F&r5NEit%!u;pDM1ZHDfv_Vv>2z#|*zf)vyjj+FO*j7RX$7cb6dtqDgN=J7RqoS*?oXu`wx4mt1$XD(xZ3uo0e%2Hl5WX zqFT+>n$BbyE%azgTo~bYYQvHeS4J4eMHu~F(Trl>VPdemOkRgf9>BE_lY8eN!|fl( zoQGhrWj`={OzTXNuBiVhYG1w7(RCjy4x?k{2 z!FgiMpXsOPf$-AQsvls?+}FFgw9TV*d_=@Xo#>ta%`>%#m^?r7%-UPz@#s5ew;AH=W`rBXC-KC_|tq69hJ6c(egGv3y&JadxU|*kUoQHbk=}&UBYIA!=Js8kH@CT zk>bi73z85Mi^cWG2>X7+US`<+PL8lebCY3NBaT40c%^)AgxUO*e%c*zDsTEGn!Yn-0?=7w2x)+%Ei4AW>&tWG&?dnD?effQh`^- z_pGbXeT`ey7<=fM^<+WKtaswcZGI0-;Jm23Px`-R*1vc*eF?1S+4P>fl05%hGW86) z-0K;0Jxe~9>~5Q({p$+|@aJkw;`yT?5X^Kx2o6UP3_139KPn#&q80wL5#VD1v5@l@ z?k)lGkTVlxlvKRtOqgNy(3h%9Z!&$?p+WC@V9PYiOlX@o=2#ctq?t7)-MO#4-O$msPg& zxImO@FEVxS)iq8hom2N-Wa{2)Y-F*Jse7+)BRjP+S?>*Qd<3>*YO+2fll2Kq*8dm8 zBy%x=$@&!lR+8D6z+^p9EXjOKV6vVlZe=-HpTK1OHb6fkll2Kq)=zPu$dZx3WW6%O zLX*H`y)wh{l)z-YHp9vK1SacK(DO4gS)agUJ>TV$B9Xvk{dx%vi$nsG^+dK5i3BF= ziDFVD5}2&N8_2P;oUBh^vi=Y;ItZ!jB&OQAKNgKn>t=LDH=_q@qn1Ayiiw%Fa|`q` zF@Qp1mYo}k>Mf-paj1zQOF?3`9g-E3Qjj=Ip_G(@#2kextrVj@1!5*|9jYE~JO7{$ zSyo73S>fyS!RnE~vVuxQ)|>>E6(kj{ESD7$SXP(`Nk6BS6%trh;Hx1?*5(A36_h5Y z@)B59SOeGbBh!UINPs%zZys!s)yOmKEsV&zEpQFM(wR=7wJ=;gnti z%L>e6za_~T`vjI1XsKQ5VFJqvL?e=%)=OYnfx+ppQrCbu7Pk`X33$zhfxxoDMf8&( zC-WO5#Nfo~cJ4cjfrJ^a4=~J@3iAqOJD!wKt+cC|oqqBJCg3VN&qPgG{>y}C+RhAE zNzhd3nkJN&7CkTckbd8xv@fX#c&rLtZ-bO=MzyqOf6+VFN8ou|{zEFwwwumEpxV$O zso-0)r-0LC0*^BFYs2G#lhSx!)Op{YYav0@Zwwgn66wU8>buDsw1$f}Xq}K-FH;wS zMB9>P6;^^FsNM(Bv&YyH8>3?Ww>NSVjSA!#6-ai}%G(&JG4}9>A^08%f2NVKc9Mjz zqnA-Wi}4zZGz7s%3~HqBFy8h^xEzE&w-+EWK@nVZ$0X*zfV(e<`M!uC_Y>)uBYH@H zd5qZm_WUYrd{~LSi7+fbrUu`IloWYKPfPVqk^SuMDwh})W5+_tRlj2TZr`o7NhW<6 z14-XXE5XF8yOb&MNrD;N^Jj0o4pX%Cl_Jr=l-UajQU5Yi_mkn&SOMJdNCEgil5&MN zK(PPollK^I`^Z$XZCBF}*CHA>GbdtpDO-Ez(yPDG=S~tFyX=RMn1UixOef9p0hRjq zY6H`A2wD&+gntJkaF*%1R9UVyS0Ge(s!*xwH(4`^#iLvGGy0OGJ9O=%X(=70R)YTP z*rT-Xmddwjq6*=O#Sl*8%(;Z{ZVBO1gs}cBCj8yQu7uS4#5)SW_oRteBdX1(oPpP7 z?x`mZV7y*x;ynXcx~>53Cl&DlDNPMX#e&qsErKrvmK2x=$APoXq`>_;WNVND&xO0M zhDeqLRhS%QZTzj)VdDHp=>$%<+Gxy60&TS_-;HS0A^?*6c^w9;*6*3x-6~@@V-M=o zW;7(V%d7;`vW|Uud#=>Q&-94uMx+aW_Qn>3RMo|~wM?yNkQ%Bk&TT&nIEH7Hs*Cd@ zb#Z~z#Tnogq%JP5qn-1B`%6_kvRD%fQWKAoiugX?MWYC?UMCY(C)Cf@Sdv8-oF-Lzb7HP7GKMKCj>dcfe4z zKfL_V9Z(G#FF$YxybnEIzMrtZ*UT;&2Pk@I@(C2~wk&HALSlX=OhYQ^5rY1%jrw|x z-tE(K*dpJ&(OGowivvQn0T4;L%^659@%br+2lan&&SIs_>VFv zhNjF)`$8zgUoYo80Gi+8l?96-5!{91<&~#+Zv__*0;mw+2d(r~DIgc{jccz;eC308 zk)~c=I0YEzm^(g;v}&gkc6{Hf4X&c`J?ODcf`hZ{2&lPoYr) zQo(7oGg?3{_zgjafbw8A!?>q_d~gk;Ge$sd(2roOM6?jBB^W25IT%gTdkJU>{!Ihp z1q=>uq1Xfg?cp(&x3?67j&P;rO_JM*;T+4`M{cJE%UU5lS(TJy!{2N3=gxs1LXFcU}GCprwdpY3}8eLl+bJlzDJ`o z1Y8lE!5ADQ;OfAkSf_xE!7`K-Z>AX76eJm)Lj>Fs{Fgej1Z)mxF0s7Xa=#@!9QTLG z{nl^}?&rw;)8Uk*mUp<^Zx0X0{am?!CG5n0e{Y`n+YxrI0+=u0%^*1(E*6N`J3-|T zfQ15f1`8SbBa&;7aer7 zGL4QGG|tW~Uv7CP3Yci;W=@%Dc_#^)Y-jJF+R5Qu#Ahnh7_d{4tfZZ&H~*lOWllfV ziWYBqu$+bd4a%G@RRv!{VEE2Z^(MHV0a_su$pvpV0enqBKKLcYR!Mm-gg7>nx`aO#AP6tAnKpQ?b4w19~g?7ag7>Ag*f0HwE}XGt+8K2~~1I8)LGz@??N~ zkY@&-uhKMJa=PVxOYU33Wk`y3a^D_|qxuB`I)aaf0bD3xqRRh^1WXOyqT!1LbOv>M z0(@J*oZwdG>Usf-f_Eu)iGZcSyA1ON0n38>D0ZoUmBC9x0WK48PH-P}E|=J>3&!>X zxI)0i!D6Q6l_Itwc!nk9Dgjpqlgat6h;0fUBe+JujX{pqz9(h#mf#Uu+bEpP!S&=^ zD|voza5#0Yll0#bJj&$XB;cW76*)IZleje)#wgq<;OQViaI+ZL9$d!w+#=wm;0+qM zRSdimyhW$C3+J`q1A;pQ>B#imsD7v^`IE7#-4Ll&ACHRzJi-7jv5(euh z0y=^R>HMbxCI*AZc~HRAU_Lny3Fr)NBA^$fJT72mu#tuE2?1w^$DF>{^0o;$C-^OOo)oY)Tnxrja=$J- z=?u$zTJA3nR#NC00ULr*Oo3+wT%jIL&q>By9qx-_|GY3ZTJhgAIbLwiNg%~LyzK!` zS_oEQ?!)_~RDCPBk5*q45DVth>aQ~L91M>+d4=V@Bpg2&imtf#YXM=9WP<%hKq|P1 z)?OBn33kxHD*|#s4aI&dpfp&{bp4%x^5DDVye6PB@X2{yKt7m8@CN}kK^4Ic0ky#- zrrsOb+t6Uu2PZOJ|0JLxxQv`PMXV64r|Gu@GzI)rlJ~ZN=Ae#Ze-_X`IEB&vix_AL za^(C~IIY1)%-O#QXK=8Me%=*MTW}$D{w|#MUuuq`&d9M;MAYDOF%r}tf2RA0balfL+=v-e!xjc z?^6L`z&S|oGXbf9Q;^<&1Y`nEh6$1m`Wy^RKlrb4^zqXKD~rf$sVSXX=O$Ur;7G#Bzt_C z)eP?nqVU)gDnlFFX@XnHndnnvQ}7Ym6?^Yey4|k&u-`KwNLuj&$(`hk1F7r+RH*ix zJ=s4Q8!>|K1KIm#cy9$SAfWct6noTuu$<-(C}meT7X%cWUQ!)HMg*5I3I}?pL#HG7 z7eQwkpPW;JV^B8jnU!n7=?v!3z#-CUpA#HHFiXJPU>C(^r*4DK`4ZVV64^z;e;Llh zB^F1s)xyg{aEuq1&}!N97a>r7YcY@9!~Zmak5<= zPWED-pM82U%Lk2pq*yDDW%;DBj}nxRW#31^wT~858_Pa}s&5}FHVUyU`vvw=;Wfvy zk1*oL32KRD*?QW?3mP2D{(*WYvv|ezoy;_iChbZ7RMrEl8iS~TZ$S!6Y8Iid`SCz3`%>! z5D4!&g&BtO#Za1n?{6|`>9`x=#V(Bs4xR0%Vp3Qk+wEs>T#jupm4D)F+f%W^8Zfy& zShbXqeI}MA_h%sFIbF-$IbD;Mm|{@B&rsg>0jow&*JAQT{d}~TAa<$La7Uxz)^NJ^ zc@)L8&qAKO2n>3Vh?b+Ti2Di-@9nF07xwpaChS+m8X5M{h-#%w+FliF=NNSt3HLKH zSH&ifa83aPnJT&}Hl6A2!-IRQo2H4jD0yGc?iOR zh+;knF~l2ajM|#5_-_IC&lN=r5WTvaC>7?%*2E#{tl4hY;9D9)Yxq5j8ha7{;FYNw ze5A)7)@6kL9`9`=;_v?^{jWv(OUg5LlJXUn$7HSG1d6?9EWu>$`Lj2Ehyqh7^?XlN zYJQ4js@#sSL1*-6C{*KKrRzAAt}{WXo6Rb)vx*xN)?G=+9#`O!CN#kQ#>V95z zFEYWN5G$vj|3b0;n`|>Dsw}bUuP54Dp-qxINj%cJa;M>W1jqaeE`;}s)ekL2v-f*2 z4nS>fB(>=;K+AxNSu_~FvXEn04qI%#?4y1iU=*{MS%bn0enfRLBo0-o*eSVeJzx;BQWj$2lSQPq_=;O;I-2yiH%T>q6}t6#5R}I!n=-+@#pWCbNrsI=I`STxaE` zNUP1J=u0BZU88BAJ#Kjp@;M^U!BPyQV7P({26jsIKz^{l-WIDL3ixC+a#8i3QnA`K zAak~^st>!fnOGUQlkr@WC)64Me5boyuUyNMuv|R}KZHz`JPpy4ZHJZNcuZEE$&O=r zO!lZ9N5WP$Bb$ptZ$C^p_HSYVqqXT#j;@$TX4K4<#jvb(a&d%CD5l5s7 zm#_LZY5LXFXw~3GYRuMvX*dpHmvmgIgD=k+6Bl_HR>iD7t0O8RK6SU^C6eqnn`CF= zNV4ZF?=;+3aBaq(W=p5_k;y9TZ^jW%{OpYrxU3|d)@gPflby4}m9kVwg2GtXsW*Nkpi?wqQ`&ZG=}V~b+1*)sk( zkz& z=8WW(T5<;@`CeHso5c{`q9r*&xI#-ZZ0I0vvZ_0DUEKxldg1c>c2@N)O=k*h(OPPh zp@t4!DX>gS#?b)16%C2A>P8t~tlEVC7CNgo=dJ41T9`Q%M_rPfdZkP?O;+{#2)nOg zZ#L{c*GAZ)xz4bx{_hu1=pL3)gV{E4ro%D=^2P_y_zaLy!^6^8-h*N@U^~KKKRkRi zBueq8MH* zq&BNo_$dSdGd8+VwsM>>RWG>nOM3Pn8)sv ztv<(Vdhby}Yz^yi^_dX?PP0-`@==Bo6so>Zi*OwAePbJfdW^vBD%Ce?8RpxwN(Nss z)msN3ij}*MM}Iu<Gx4-TLYEl7) z&|P~Y+9+sWAuZO*tFcM^GcC+P`z;Y8gLS81Ht0`kx(TaQJxX(r1ozEu+?5?x^;FG0 z8Qjk_cV*71o}=k!f?k7`L24;la6U_{>Z3LHd~k`emRW5TReG=`7@DD|+B; z>Z+_=&5%3=-m8*p{8URZgBe03sp`A3ZIez^2J2q9AM_Ib#PXGE zEHrE%;eIf;WyJFR#)Gg2zvdfj%#w}{@KyNRX1b(9PnN%%d1WEf3_V^s$h5;YuPp3e0NcDu zKz|7|UZu%&+rJQBUO9xvLl}8wV8;QUS1OYpGGnHNf90?;5oydTjr&>X5b;W9OWLM_ z#w!bpJ3-@>O;xw;50AW3pjUv;E0wBkyBDd)s|0qg1fN$4Lhu@Byh_7#+x-X$uN-7P z2aQ(-^tFg7uS~Ms+GXQ`ZOz5hsNSCR92D+G-W5Fj(ZA$UCHGEH{-;blVo7&1c_s9!zC}{*;c^K zII(`tr67gO7rW7WQV$*Y$szvijT>;6JPy6>#{5MfwHGAHKErr{mvcncdIrIZTW92od4B|g#=PGi$@{BLgxwx_ z=%Ut}b7)LS=yuv#k3DH~Dc~O{r!1 zdfAj9=Idosg1E1jO$qRgr5gOzZ{YZP*_52n*UP2^DPJ#}5@dY6Y)X*x^|C2JX=s*B ziONH>Y)Vuanq^a>d}x+Ue+X0)nq^b+YD2SZN>m@3WmBR;I0;P_mrbeH6mBa3nKy7k zvusMq{-IemC29%HvMEt(XqHWh28U+Zl!@3Dnq^a>j?gTd5={!tvMIe!56!YEt;`6` zvMG63HYM>sD5Y46;uy_0A*fh3&7$m9_>5~ ze#HskeGH+>HCo^n5UeVy7|JH-*d30DwoO2>FbP7@YQ2nx^1)W$ZYZbQ_jI$frWh`s zK9)NO&lkI)o%d(L5RZ~*ltg(FsO%FqCr#z#mQDnhvFI!5G!3wJCFsU(Cxg_tX-gb2 zxB&ETLZFVsdcFyA6HtS%<8vLqGt;g}Kd)1(KV9L6 z@82T~SxK#mflLp3Zj+==m81?{GU+=T-&s`dr@K)EHs1{Bue(uG zKp3FAQKTafd@{8}x=}5WE>er>BKeJh)gQ5oTd$O&#ZpIVeh&9+)(Q#y(Z9m-uI5$m zGw#u}%j5Zfwdvj4alNw`?L9vcXddL(7w~|=Mq<_mSDxygAFB->159vBZcJ~#EFhL(TO8XZAf8}b9Q(HbFTu7r z_K5&L!L~T|semxSwm9~gfK-BQaqK?=G6}ZDvHuFlCD<0nJ{M3Luq}>ZT9iR357-vR zu!V)FGGJRA!xk2ze89FihAk}2w3>izaSU5n$g2(57RRuKg{VGYTO7j{7NSDHwm62i zn0igYwgM2^V)B{;w#6}QVIk@tuq}>Z3ky+8z_vJsEi6Q>0o&pjwy+Ql4%imQu!V(* z*cPxYj$sQ6QAfbGIEF1OM3Vxx#W8GQq4((l+u|6uu+YkkfNgOMTUf~Jw6ICnvQCFm zaxrf3O)$2_F|@@$2TZZkY>)D`9;n*lhd|@c-WZ^{NlRNis_JS`O7}(sc+MV_?n^uk zID7Q5fFmes&(BEHJZju@FxP^aLo3vgAbOZcx>% z?Pjk-hh`mU{Mj47Qw&XWCB2vIV?xv1M0^0Sgr<48vREpiX&y`e_5y~bzl7yn2&%9Q zkg!xuHeqQoVM($3ZI^mGbZavQCit^AR-w9zm(ptSGPhLPlF~LZ?0G6q<;u?75@}f~ z$~EsiCS7H&4wBHVP_q~%@1efic}?AJCP`hN`Nf_0D$|l^*HO6R)`wW?)Gfseu*a5S zJN9^(-;Nc?*=`*%(EN zj6blepONr=+6iR8{Ev{6Au|X2<=I2GLcL#}AfA-{^1Ss!y zXXELD{qh9)kX>i&mnWzVqxPX6ddEQP;%6@s? zP7U>bd4kTQ?3d^5oKWwVCs>q}{qnqBnw0(Wyj_;m`{fB%CS|`oZ_f$!etCj*VRXNI z_&rorvtK@p?w1dv`{hHuU!Ddwg?hg{!7ZWQFHf*JsrJkBeoIpAm*@S~q}ngf`=^s? zzdY}^C)Iv=-oKKJ?w3zS_sfTRzdXg>3H5$?f}Nq>FTWmOS4!`fCkM-FdcQo8Z>RKr zd7_-1>b74#)os6gO7EAaWWi1?L9H$Bmrr%uFQ4kRUq01szkI6Oe)&|l{qpJPe))8_ z{qiZjUw%BCPqkCGvJjqiJsrX1>`wCiDt^eN;+0odJ1pgt6U z-JJyLLjl;`NuWLyfME)O`cMFNcM_-%1z>k4f%;GYc6Sn}4+UU%CxQA<0Csm0lxEE^ zg{VAhhABjqSu;!_%4f|me0x9?)bAeJ{_QOW-t1W{eA+$ z-%SSOpyiLF$XNkf}8j|Q$L z{u!1CD-Kz*1h}5~RgAkTCLam>j@Y~Y5EOv#Fx-C;?|Wdr0QTYUZ^HjJF)D=puE6R; zA^vxYznh`Ce*;&rVX*(M_=gcQxPR|M{vUxWWts9H!oL-d)yiK}{~smfe+XQ`DrWyv z`11}2ep4hcHyXN7kK6=>-f~Ylh8JnaS-Hr}Ql?99UL9G_; zqrFpURnG%P8wo7YISkmUYKP?SDT&>C17kVH^DGJ?(+0-m`F@?qErZ-H2ILzI$c&i8 z>t(X)-qXeJ;XbIyK0<@B)w!s0vBOjdp8>tTRD)jw)D<-NBfuolkVDAp+BE&|pf3_S zKcU|TZ?NLAUEiU(|E9e&qxN3YfM4OfO!O8)&#GHJM}>g)_>J#ASYhq5w@!1#-qRW| zeD$@5D?I^M>Vy_>XB0dX1i(+%W7{4u6e_mm71XftbzEeUCgNncT<<$`j0fd1gTV0vsh`=0rbJb0h0wgJdvNik3O1J z%6V)1q4Z<3l-w53__H@MSkksU)XKJH!hE!+$HLWiE$Jyi%l=usEySq$bnvc)Q2lST z0KbB%R1Br4@>qPaQF)9iuk}(fl%mSxaUMh=Uj9s#H+rcUN>SyB_)|tDwE!yb^inaD zqRO`TCq`u`RsPXS#ZZbWPsaB^uUG;$n<^jlQZbaG%2V-0M&&H3e9}wBP>L!~$1gW3 zo2X*x%Gj02hEh~{CjO*R*+vzwmx`ejRi2Ii+o=4NDyd#7hEh~{K0X*tp+rBs5Gtj; zR1Br4@3F%&e* z^0Qx!^XN%Yxrr*Xd#M;oQRTOBzG5LN&rxMzFBL;6s{AhgxKY_jl_kAY45g^@TKprU zQn3gsCr4G9*z_67W|R{9_4poWAtg{_Al}#X&R8SyXp~P?SoNm09LdJ8^piFyuJf)u zL^Za9ZAlU|wwJ(EGdptYTG-gybJ;JuNP0i#!#Mk17fE;F_eWv^5dE@?GVF=j^R50| z>a%OBsrJYWW%m^f?fJ7eeu4?6a+!dr9ViM%0m~~iwPR0##28|Ei>9`dcsXzxSA=Sh zhgs_mK!&72Lh>0Ad^bo)&OAnit3g7tnTQc6R4^oO16CD~OslXwRI&VwlkjGabR~u? zL1*d*dmwCc1YZtZQ$ACLdv7Kk`Z#4DwEM&5=S*C~9VG328qk0LCbGapaS{3`c43b{ z!F=Oopg#vY14wMS7U*9YSwGIarCXCBeJ!h`C4c@{Y)x< z#P~Uten=EQ*U-=TohnH5bD8$D7JfEpy79BN=qJ6(I?t*dfpd}YufK6=!o^;k-BI2j zv%Zpu+v$=-arrS_ULA>=3po?DAM}XY1x1&UsNJT8CeqKI`E|z69!ueeMDa5lsP5i~ zpOdtoZy{=r^zfsT(8R>Bm(jzR@}0)R#q>a;c({iio{o6>3;mENelWRb)x8$+!;g`g6nndepD#?Ye`ulY^fRtvtMRihEDs=2{G3WZ zpG5rdv`6}3ip6^rhKL`qb$n7<$O_lB6af?EwqzX@vf9}>mSkLl;$h@Sv* zrbIu|!_OBsZ%=5ULI^(xkb;SbkZ!+NyIMtBGP>|c3z(GLmA&nFQ-muf%E@A&T1sp~Og5|c+M*wboKc@qy3 zl>MeiKKx7DXFd$>VgEeD5YJ1K1BT5pjXk~k#G+*ql;u$o%hSL&C1~OoTkhWW8lg?J ze_++~Mf)Tu`_m)#Z`bzy5mwEd-P;FSmmnjwgZ5`s@x!|+he=TOkBrz)f^Wiq;_mHB z$`{yWxlH$N&;^m7eRS0Z*pPPPtrK)b3r<8uxLQl{`F^T$gJS|~exS*w9&ik=`YYh7 zZjlk`WY6@Ns*jBQ!7w|3M5)c4baF?;$#1%x-2XqFC@)6l9C}$&H6NWziN$hyAyK?= z%TL|bh!-Bwf)ry^p8elmB)vl2J1(ZzDYaXTr=P;MIC-5;a$1t-GQ9APm*(|D?mxwfH;CY}!g3ksWpqy579}Qg7IW z7>)1>lIdZ$fX2%&OAOlz8ZW=X8#WvN^YSabVH?2b6{OO`jsuOCU*!!u82|H1EXxi{ z4#7$xE_~E#nAvv_dg);gLyuPwriUN1a+$>|aYA;O*^dyqnPIOM)RxU;V=(OZu*WM1 zGQ*ELWx2&Gaah(m4?~-{^)6a*z4|yA&hADm7iIBB|6Tw=uRi{NU3NtO&MZ52UucXE zB*&LepSg@NzOVhpG3r59UL4mQjyvx#@LGBIt&@N-fI4a@8_!RPFt9tSgJ|x_NIPrs$Emv`! zC2@U_2q}1|#B9jv5O-N1?TP8a(JF>Ji^2OQgNGnY+=EWTGgJ^J?nN{aD82Zoqrlyd zL9pki5rB!E41m2Ljf|LhnA|U9P$o&TuYeAdeNsry%oTLbnt_d3>yJ{-FDp8KOFJJq zgzh#&IE_y`*(3K9Z}S-4k$cll$=6hLM~jbjMDQ_MqWc+;*y{YtrO_umtZj-gT=?xRm#U;@$nE4PPSxj)XIv|6BnEd5{s zr?x-i(taio)=z3j5p5un_s(kfqO0El`!d9@mpqz;mMnZtn;fi727MT%CMkVaLI9Cu zGh`>dnOYJ7mY=;g>Za5o>Ai+sW%#p7r z9fSFX1x$sEq{19X=48`tRstH^FsP(Gi@?hs+j0rpy^skGMyRoCi_ZQ9%xZB8 z{+61CF19RdU5vq4+;a0!R~x3@Lj{f>pl3%}a^w+P#-%>|^{VIv?$T<4zS4n(F#?fED3i4rsA8Gu{5qx= zQdFH{}~3i#j&ExkKLHe=4MzlxcT?A(EAX2PlRyT z)`r!d2%9oM;qxHuAEzvS4&i2(7V)izE}H4o<(T7<(P+LPY$~qWH*O;(=py zt(p_H4g*#5ZWPR4rko!^&L#~`AlR(I*8uWIo~p#o1-PG1?Rlm!@gVy?S1eb2)(Tw- z@WkUI&i7drr3odomZPbdRc8iC@npL0WmIWiZaQ6eGO9B#5BI;u|GW~JOx;fW&&$uG z>;8oQd11g*cP;+s6{gemW&o5rAzSx5(0F-}|1tjOm4wZ&<9}YMrP+Ej07@N}tzV9g z5wFyoY@Hd9#ZzgEt9^0n$!d63{SkMl>W>sk5fS~%??9aXpY})eR!k;V&zEvMHlDhJ zlDNKr;ORa|_a26OS5SxKmmY?zzpp7h4ELVY?XaMF81B6SR1d?wFLf6S4GK3s5}__YncAhv7zh7;dzO z;YNEHZnTHtMtc};w1?qFdl+t{hv7zg7;dzO;YNEHZnTHtMtT^o>0!wCHQg8F+u3qb z5Vw_?lY&k`QWj4NA}F2|L{K~_h@f~<5JB;zAcEpaK?KE?aRVSv z3L+{`aRVSv3L>gZaRVSv3L?s`2h~Lstv!c8*K1pV#xY4SoBP zz0oQ>sU<;^A5N)o_Q$inbOxB;hE&<}TH+!Ql#ZbkbsXE_Niw2y7j<6jrDG^Xow)7X zWpsW`omYD47)nvcwVk(&&cCVidM_PADe8E(Q;jFJgspBpbl&WxV<<(PgzX$?boQps zUwi2oN>RtRoo^bQW2m#UmyV$nbpqSD&*)r0osW9y7)ntmw4J{goja-XSuY(!De5F` zrw%~U;8)a%tyJZsD^CrjsFSiC_CG{t7j^tzI)+lzN!!kOMyKu)=wzZgI?gf_z0yM848&lPEJ~^eX7%Nz4aA72j>PN0+cHzka%k%x^*G&)&EdBaHm< z{V7p59+dU4om+zGmeE7_*m;VOpZXlluRL3WHURQ#pQHC7yaccsBM0?u`}curmSFT_ zkInxQW^sV7eklUfp_YBNq1Nag4(r&1DTZq$RQE<%6vmk(|-&)X)Ey;v;39le1na)jDFg*5Y{c_XFpcW zE}QuJ8?1|)s>|V~BjRQNL}+pqhBlLWxLMQX25jZ!fSz6+ujaAx;^jaX7cZ;mWmd$? zw(IrD$JQF*gQ3oWCcZB<`4 zezI4<4~gPuPoVmXBYx&X&LrBEU&YV0T4)pfJX!sg@pB6OkSKn>Pd~Rs{5%oybMII2 z^N<$WPCrl89vJF$`xX6=D1Pkkz|YeWKZ7A>;`8EH@$*|PWU(GU-RH-~&uCb#B~knw zLqBgv{BWD5@w2mspH-@`p`1wxFzj}Ec&4E$sbjK^9!L}qKca_EA|5`{9{h1ugSSG} zCR1y)2dOpVj2|Pkh<=`J{JQb8oqk9ZKOfLfM%!cUTmU)51jEaQ{BGTVt7BtiHqgs+ z4SzCTs;-0=62;3{p!!0@%i~>MTEBu9BeRuWp6|Oq8Z4=o3+aVK@v??qhDE##gdF37 zBpcVmOIHg3u5JM)YngHo__JTAzSVfz0^8!`O*)woadL@rBJIqa9$t!B-_WA7@oMgF$Ao z%MUWvCUkq_){I&hQ{%YoFg1?LVXC?K`)6bvCreOW6UvcU<{mHG>TfLccxAWS^m63Q zx?aP%>kDcKw-ljB$U0F%ro|JoInbYDyTgJXAo}u^c~`$vCuh*OBji0eo?Gf*bIlnvNxoC(nlosUZ`0GxW88j)p zLgbz(f)ni&U-)s&88k`0Q|F#6Q^`~9B;ToXi|^FQ88q%PXA9zxZgH0fUL1vx=3Nq=<)jk`&JI)lc&A$13GR-HlP-Y7twLF3*mMM#}N zOc;h?M$E!8j176s88c%;)IVcpY=~MiX2yo7HDhLMhz4iOj13d9En{YEh&nQ6 z#)fE8#?08z`}B;Nv7wb288c%;UZ<5M@h4EqO~H-+vJ7Wz%23tJj1AVetP+043j^Ww zuGOlqdZG_1e)h(Z==+t*@fKNoAi=TdkCb7BD{GHsaeET5)I|pXgvn?tt!Y<-AS+^7 z`*4QiWe~UsR$|Ljcu&yEv6Z1z!4ga^m1EyQnS!SX9F7S$g?~uQJqi_e@+KJj9dO0e z;c!=J%L;kPbs$ucP^Ab5f>2pXLS7LnA7W=JZ_68n74_s)E6%A9E$2|V#?CWp-=Qs8 zwCbY-J|IC>t@@}p6~}C{tg1gTwzYOR7AnrAJ67d8t1N3=0MS>-*-yRXxB{XTe<9%j zMYsk8E58Y{zozWv4ApUp^$1wy2O?39SNIL;-bmdO6v4Y50-YG?pQvyvaP_I!jHO^~ z!@!zr)~Kwzxf(O{aKQax&WEE1TD9+L&OPANm7lA`9tEI?3z3i85wPtD7!O;KaI8^w zXTXgL=(&n;8VM4xwTf^%119T$=PAOUNWg}h^A$||01zL(_?Chb0BhgVL3j>9sP)#W z@CaC{0pnoR-0}^@;`yBCA!OXr$QL2zb1z)&m~#~OWysb{(%?@3nd)Va%nn!Zi#A4#RT|3+|8>FyM6?1#wy9hGP* z;IpqR;{H5M|IVcwPU!pK2&nx$ukjg8J85RSEJF2zV$&Of^Q`)diN8zyOL_n1F5>G2 zmot!m2CkX&brsbHq{@6a;VYlq{yiVw&ai5Z*6cxGe^b~vf_TFjMJc`*TDw{cjfPOo zwHh#)Z>I)#->7$TtlHmdCX1IL}Mf?2p z0Xmyd{^VzGdVG_Vmq4g?juzMl-j#}> z6jd&WbHpYpPf}%JFBL;6s$3Y~VpRT0m7{y97)nv)qWIs8O6F#$9N$aDP>L!S$LljX zV8f`gte1+R6ji<*KiH@oMwJ!4R1Br4vOdlOekA&5Q|0VlDuz;2xg`F8QMsNfYkH{| zN>OD){I5pkNvf>trD7;Wl}qDwSsk#yQDuEE6+Dg#)>3}rJ~F8liUPmFlkt>|l+29?zd zO|*K|vG#6lYaK9K=h4#szCwi7xI@t6w-ccU z)FEx?+kma;8Fa|!x?_!eB#e>XN^l1zfxd=>FyUQP3WsBczh8pfSqJ(A2n-@|@D)Hu z1JyjHqjoIf{37J|^zz@a>VB^2%T;nk-Zvy$`|(z()^ij6OwIG;o;~Pi5D9JcVIN(S z(n9nw0(5#k+rW+4E-}sT37@_U-uz&RfMGqtx4~2+_D;)sWJ5f4{>6%R&e89f}7Pga;XkYGG)ig@^I#KUc0 z#e)&rOb?w^Clx)AU_9I#@h}|{CY2ufDjtl`PI@@F>K8>1Bp44*M?Bma@$lkT@nD47 zp=i&{4@H}*a+(C=;kAf|93)H}-u@~cjLM(-q0RI# ztLi^R45H|7jlO<-a{NXMBxJyFBMCa`u?$&^#Ui^~iNNO3Ga~PZD^%p>0#fAiN z@g`mDjJP;C;^LDYE_93#;2KL8i*Fz^?@=oDFg5UP8OT08gEQYAYSm2FMlOQnb0R7G z66>DV^s7K;oX&;WdVY@FZcdwh04r4DU{H1#(yU!pbeae8-kz(T`pq3TK_>AdaOJ7r zyg#u$zg?dB&5Hyr=qqbH{VSAaql}sdl+pS`XkvuOshXi?jfeR&Outlh0oc}Xy~aae zUk~nx$V*it^%@W9u=FG>joLO0+iGzoY7(P9!6=MZqEBM9+1uxzkR4^-7x0&5N8JoQ zuSAtM>T&$fD^cf-dLK4;C2GAwjWTOgcp=L=7)3g6eY>H!Ms+cS?nc_2(+7X_Z+*4hwb$_f^%_-Nef_c5 z8WsD0U${2q3=6Jt^c1=iU7K>c)~1~3+LRMrn{uLSQ%-bk%89N`InlK#C%QJ}MAxRA z=-QMMU7K>c)~1}jQ<#mDwJB$k+;VNo*+*{G+LSX{0N19RDRQgUrks5RaBa%jPj0z3 z9#iIbX%KpjuI;cwKnB+TbpvatxY-I)~1|p zYg10QwJ9gMHsy3%n{v9XO*!4xrkw6;Q_eDHGvbhLah3=FWufQVlyiEBkq|(Lv6yp) z0JS#dtdNMPwJGOo0@T`+6J48fx~)w)XE`^)bow1*QXoO*t0`P-|1pg#y&tlyi{)wKnBkEI_SI zIo}qb)~1~G0@T`+bBO@8Hsx#(pw_0GO9iO4Dd#c)YHiAiu1z`7wJGOH5mReZ&Q$`` z+LRMrn{uLSQ%-bk%89N`InlK#C%QJ}MAxRA8&a5Z)N51DjRMr#loMT>a-wTfPIPU` ziLOmK(X}b3Yi)`pDdDpbm9;4>O@?v3(BaOk;6g`+&op~Wy8hd$7kHx00teE@cQNyj zU5>%^mNwo#k0){#F9mJcli|+aiL!w4`cGwqelQWn>kkUb{g?>j^@juwC**>~!%5cC zd4MJRhgjuWuRN}#JN)byy2h zFQ`f0f4%pu_15>DwfgqnyLRoW+O=!ft~%$`SplYu833*ZkU0*3IVEd3{yhpj`xgM( zF>7V522jCaW8~be>%Tt@nCE{F^GxLwZElaPIbRjDnT)v1j$087DTUWSa^ zKT;9fhp>)mw*mi$%8;ii33Y;k0Iwh&1GP6&iQ8&ViYnqF>jDphvw>p5){qL z?AQm1?2H>qS^Z_4#tRwPm>VU-HS1N2A1601v*Q{c8BWE^RU74X%sY@HK5rpjX1ZAV zXwq-dgyn3)CTYT(#E%wSUQevM1NoNqDXK)Jk^Im#CBKqEqYHMMLgXU9?QvcLA`nU5IGa;oYapX8reML8HzPZ1!Eu zu<%qoJ1W~uXa5de@`)}rkNxB5wz0GFduW6yd^(X0%9B0zTD)CT@$O)p5Lx7cSNGN2!sNi&AnT4Bb3q%D^-oq@jdH|18r(^EL zkI{t@v3YdN-iX30rSPMr@G2H|w3J*WwK#eh3+{@6GENGu?m7<^H&JAxRg7xQ!()rj zQ$5>2;ke9>-($-$R|Fqk%T~RHa??j+AT86Za1(NwBb`rCiHu1|YrPL$v_dmfqE}Rw zfRe~^q*Dd)l4Sw2to}ikfRe~E${8PI*~l#Gevl=gB(jWl)(2VcWR?xdS!&ppfKrA| zFvmJlq1|Au?MPz9r@7Qdtx?GM-b{&6AG6L?8jB{jV<|BA6$A-pN*DH2)&0O1OO7Ub zh$+C;=tvpJ^es%^kA;?*GMxC!!1F}ou{cYJK7gK|g~NSQWxx*snwQrCcJ&hWTH-S) zK26-icCw?JH$1fv~{1CQtHsu5%4f1H$_f&!GML3)jhO1j4dMVdZ>vSs~@ zZ?CB@G|HDuM1H`ugYt`tK1#?Zp&R9!bMotwN_a|_a1J((+YTyW4a(6aAX&E{VB%+v z&En#bxTT|7KtfQ$kfajo!NK~ngfah32?5g>mQYf5OQHl4f)XYqmGH}?5@!83B?L@7 zdB-d*PlZ}k8%R*SurNvfUz6nj{6EOgzhCz-&8Qm$C(J;cwo$wd~5^QYn#Ft=m0;kI)pVX2#{l&-WFQYLq`R9%6 zJn_X(I`IV$!5TI26^=2tBC)AZ1}A~o!YC_ZUDWkWH*6~Wn+I5f$6$Z#b7BWQ4ST?6 zBN8t~%0`8Abs5%3cv}%;7;lf!tGRhrP55~L-c-0ot2VkBu;HE26-Zr#3BJGZB*Utg z&wj;`Yba=8-jK2yI=@MCD%@=FO`3rsL4T8mNaC9`L=xYmA(Hqe4Uxn*X^14gNkb&@ zO&TJJZ_*G+e3OQV`aT%HNkdG1AB^9mA*Q|$#&6OPQ{M+me3M4L55{lOFim|QjNhao zroIoxZ_*G`-v>*4lSaM|#&6Ovtx~=Z#&6OPQ{M;UH))8e?}PE1G{n^R!T3!YV(R-~ z{3Z>RsJ;)zZ_*G`-v{G2X^5%sgC)L6Bi{$(H)$wEeIKmzn>6x$ur z)FMrNT~pCQT4pX=E9Pm+FLK7v9LIPJ71l2aTm>DAuPoNJ#=lcq;VabvRSCD~%sCB} z{2zXUM}L0DiD$z*{`dxL@F7O(!X1Q4<%L}Tbs*kCyp-$FpBnxppojbj$-du0B<#Nl zB#sZ3v8`b_ttY}AaI@C+Hy#|*&ouFhysQ~(^UeeR7U(sKSK`guu9W#QQ8^%}wwZY8 zlTcV(ODO|^*D;Wh3IpgSCnB8)79*`i^W1L(i*W8U^W2UNs`&ZLh0E;djy_Sv=jF2a zYmixr&#Pi_&Qn40c}>KZ1CQ^*9QL{{vQUcr807Q`XuMezW238{#!u{iU0MYYUJT1w z&2q^z1w1NGh2*(}dD7m|d7ebIGXiZ9$qXX?2yX(wv{!4+Jdw?|+>~fbMiJZcJS1i< zLEa6TbsH*fW;;AUCVM65jnANvKqs#x7m^cX*{7&HUj#cL)MCV=>~UHoC~}z{^TC>Vw1J61iK#+ABYZHr(1u1(ge)fYQkHq|&fJL80>@`Q1@)r=A z@dqWCBaEEIn*2{iLgg|U=w{*u76*FHGM(;VWFd=6m%D6X|9UVK1~D3|QHG_&#>%GQKmTx|L|Jgx#&u(5OF-jaC>|>d?$o%U z)Uw@W>Q0SU9xgiq>HG_&#rUZoID{Lj5)PrNRXK#kNe*Fse>#N!9mh}|cod!vo*Z$2 z`b0cmJOB^2Fw@;>dSLZM^Lb%I5WgN?*GexS)Eyn?;i>2Jnhn5K0Q0fEl<9F?{0><7 zY%O3onhDpj8ow?N-!Q{&FlZY<<7IY`iL%2YJNr2$J6uKCGl500yBO|9+2$mclOpAG zAjL=t0$ZN&#Z#E@CKe(*?PPD#I^C9})BOXJ?sENS)&85%H8}n2fNvpcMLT{-9n9xX zM=jlL)@|YM*-DFi+*Op0hb-BRtW?^xZAN3;`N1vtu?LC}T6fl%P2w+8dSykH=v1OW0IQ zER0wq!j7oCdl;2dojw2#V`fJhTk+!tr4V&Ej3clb%Gw0gL2^%kCpbv%48Vzl|D(##An$heqwoUW%3ElUC8l3qRGB_uuz$Fxhr79chqR?ZJ zjMVTh$cp(FQaV4aZF(sz>EO%k*aVrW&k094;hD&owsHh>^x6X4oESw3;TUs2iZm7x zks|uO2vSVNmp=OrUshxLoSH-jy#l%Hpih!IsOr$4=%D{;-#9_v`~oE%xJK38f;-?i z-|qn=yZU@T?8E`l=lc;swS)8hHUss@?E91$=3z$gp{sSr91a>Uv!f518=(&^BD5Lm zz)fZ|T!$Vq-XlgI+RAQfdIhPNEm zvDCx%hIc1D$V;-{Y*87rD>G72u>jOc$dW+cX4@E$Y z7iY>xl2Ye=NiY6qNonvNV>y43ly2TS=J~6nG@IyXvKy84j%4>wAf zraz?q7&0BaQBsPb5*s}H5Ns#8&+Cyt!$BTgcuhY9AI$U0%&c^JpTEFCq(%E6DXW`fd&GRiMaZ+=tQEf{wz9?R9Al%ok-l(pG7Cq`B`*gou5S~*7;d< zVn6j+bf$HF7M)nVx6Bw zC-zgHMW>V>d={NVo);&3JV~EL&&N=S7GfBi1KbBMQ%>S@6U?~qA#w+Pclz--G8Q^K+>jueMa^)X^i|1`mWBz{-7tcF5i}}aBi9UM; zp2HjxzZ!VhUaOzXNFTUaRfgUw{qSVusLPX5rX(TQnc~RL@YzsAmWIKj;iSc`5p72> zVrIHcx{(*Kg}BTP@rTmLOlc(caHWcw(nNEje5)*T@R?x7)~ovPd*)&E9(SVpS zi7XDEUYEvZOJmImM)nhE8~>b0s*#OaImY4j377eJna7uN&mkXl14bS znl-M!MVa>y7!)tF<9rx(ip=OWIYUAD7-kn0L#wG_nmI9cN?-h|lli{)TNtyP;>>!% zk0)M6<8P37VI6Qi$ER{;H+@---mVAIIF^aa>`0T4%Fm@&e;JulWF&g=&~CEf-+Z09wr+cM#kNR6eB5b7uT zwoLdO=8bFKWdZLF@@8n>F`62Ak-S+EmU9oviQFl8KJmJDfo~+9oiZNyk;FGqN_GM9 z2Z^6RJV*A6-X?yN;OT6Y;7>DuuB0FL9@1wrJuh+|(mRM>BX~vve}w$`lKu_TuP0s* z+W`KSKf#U=8W+mm)hc56j6z{#AkuQ)2d})mUL<7=`2c2q9%WCmTdq)p0vjf)!5Wj< zMV=j`-sH{7sFBJVuvLOP;3B~|3q9r-LmLz3bw6a%ymlm+*VL*1uY{^2`=dEIE~}M% znH}7l3LPq`vQPCa8XuY}crDZF_9Hx!lPz+3O-EL9Qb=xUd z%@_0)qH=?_K=6M8_tlvgf`{cEagm&2U-TjJM`Q;$h4Yr_VVB!5=4$n`n|PTWq4BJn zSHRRE$i&jaBJMh1VOh^a1h+n74z zGOqO^f*akZqU4Z20l)wEZgjH^bAyd;BJ+cdZX%0=jcy`KgN<$?%Yuz=B0mo{x{0g` zHoA$d)*Ib~gN<&&iH&X|8-k5)BAbGZZpKEN^+q=n4%+B`S9#Q5X`?#d1PiX@jqW17 z(LIY+770_xEZC9S=%)C6z@jo9qLSL<&miiJ?qiBL;GgZZwOC+1*eYS3D8XR zr9vb=s5qT~^A*P%28P&MNcWr&Ok?CnC zuNwr!zD2?V;K(2~GmOf;4=k(e{i=`}5Wa)VY`LXsYG$99|d9={wgD9*iV+rWGJ*pfnfwp zMi~lv*0E#9fH)RnV}}7am%tzZF9OJ&0bq<4I*t4j?AU71ypO@P9KZkqivau*Kn7Vd zZwK}Wu*?Sm6#fms(*RB&@CN`F5O^EF(**tsV9X}~{sG_=0C^@Tnyk{0{l8> z!)Ls^4q%RMZNY6o^6$aVU7C`0s0AT$Sz+nKU5*P>In12D73E*1-ivi?*4V9e*>kSQD1LEkA*mG#(+LfCe3>!XRk=3RLW#5=#+@ct)b71z9tabREY^}%d zl<*q7oP4%X(NdIcPR%&SSYuSE4?-uX)3VMnnkx^c8(G(A@fWA#tsN2HDcH!`o>cfp zI+X=ZM&a1M)T!&!xL?M)cjo=^dKg)IlgjI_^CTqZyq_eI(h@1KiU=R0FduN-_wH5( zwKQQ+v=tiE15N`C>IHO$GN=cfUNk8G8yM6B8L09-Dyu<*`aKNlUmzZj)YxAEtS9g` zfQJbD0YLOy0M7t85kLlWWxAQ@N?@7k0OH?a*cAiFti?|Yu*_ZnP9S+O$w%Vn^zQ*2 z2jEEpvjJ=|Oe6Co0J{L>tpJd@9zRE!Aa4e6J%Ie{0UWODn|}+CB?0m~Afp0gCy;`` zw4MSoO{Zin*1*dkKJTgS5o^IlGrC89r^)YhYb^%v5<~s-!|Py8%V|wU*5g`8TCQPy zFG40tuS}ARlbHkNmz1GW*QF>QLlyl(J7%e!8H}tRnukJpx_KuL#Z882Bda}04!;8P zBRn}rYaX^RFqbJ(rK$2eO@61ds%#y^;wowxh|XWvI4V$6dJoIK8h#n@?E;8f6H zif7Ix+#v92xJ|mi=}ow#1;GrE_BVl)BI;h~$Rls1C*ldrg-)1aO6Ln4RWP2?T)7Ro5cn;CDgqk;bSKb(d#M$f%+b@1?cbqB!#C(xUS2rmlhJ+VLU>CI5J&6~FOrvz^V(7k?EoTyzO=NRgZRvHT0}op#N=$#sFqz0g5 zyeP*(_qtWbF_M}igNS&G3@YNMO&9ioB;2nE=$YMCjD(V0;edVaw(>|=1w!pKHu()p zhMDu3bLSwArahL7v}eJ<;j_mQuV?20<#^a*i7|BujuQ7+sWiV-92QZz6b0_FWH8<* zILg~&iBFqez;uj;xlQkdo3|$AA5%&pv1kF7<7Xopvb+JSk@RJERif?T1yo{vWP)%Rs_i+27NyX zOF2sRTIIC9eTpD5sz_)p6%LV6OTwdyATkRit!i%4@%! zEEcs@SyZSCS_O;Rsx0a}pry2^t;(XryKYt1^sS_!w5`gT#ItTymNcr8`JkJv%96y2 zwkj)HgEX!t1EF>(N<+e?*K2QSKVrLrB#(KrAOUr)e=$Wb)_<| z6RVL^%JUKf%uiw1b5GB2}+o{R=~rKLSrx5}C9<|{3+t|~BqAPiz%lO>1Z5bJ_( ztDL16#JFx_j-{#$F|JpIpmKRKNa>Ip`(ksD3@8o;WlzNA+#D2Hm%FRNt1;L(EZqEB!i0_3H}oDa9PGy5|WY zP%+1=?)ftaYQ$V%nK^oV7)2-2K5Ou{5<^PHhBZnpj16n7a(YII4QrG}iW!*HC~c_N zu*T~DCJhBzs8w2!*sxZqKw`sMt1~vNwK`+Nx_}=VuCr7;$T+di((&M8!>rdlj1%iM zj|}5_#iXLadZoQmi6HB(95LN_%b>@4rK|FEdWNBvRo;idB+D)@Brpbm%#|YnNWeHA zlTh6#YUQigr`oZ6iEx}3?ouIuub1+_l4&We(FBfqekHTg2%?;&zLH?^ET9b%EPf?1 z&b>_LwDpyQik}HeZiy6+>c&*`*w^Av-VhY3`C6j#8Qq!6IPq)QGx&%&d*kcD?4;Hv z(`b|^@mra_x=E1uoy=TkBdwdniQh>_^u!i_cl6hHGBK?shA8nn2@=bD0)q*ECoy8U z7cj(#-^mp9cq_`7hw6VP5n^{ni{D9b_$^Yp&pR2Y#D-2AP#XUCQvSt)qMhGMAHO9i z8uGn#^Yp%CMpu0=f&Y$vMB&Z8m-?KAC;Yq9=)advwFeNztoXfDVS=D=XWvUT&IH;> zZ}z=Zqmhp6dx=iFiy!-5BGY}~Qehu%B5*QMVIOXb5osHUktAUsp57;6sSr3_;Wict z+Z6!~z&#HV_{4mvgnf7_iiA=L`Akzi+@T<-aL-c3SsNNv zxM!)-65*a@>Ts{V%T$`Kt;GKh0#y8Go6@`G?WR#af*dEAX0-%yPncHwZbGmMg=ga`zR+ls5@Gx{JWs8ZaBxzrr58pR8k^|n2rl%HFh@1 z*f{|eZQ@|rq$4^R8k;1by9;TscBDx>XAKr(C$G%DqZE!VxJ0749SVmLT_V9;#t_qJ zE?`A24Pv=ogJ|-XNtaAPGL8H)iR3OJMr*xH0=aI75Jgd!NgOv;P?U6;jFwvjMM0Nk z(aD&Hk{Q-|nT(J=g2GxalNfHVps?1$?N&J1#pb>xE|J-0nL5j{*$x~P-z-z-OocPQ%$(;cocSAR zv%eOcX1-a1vKJK2{1TH@;U$#rOQn1X$u3hk^ABMD`+)b9i0o}^gPwMcx_0)#VW0)+)@D{R*F-%T2hRI?K^&_+~OcrA}ji}7Rlf@Vw0nWaiB7K{77%=qh z6zSVxzSS&OKK6T3sP`5qB>8 zF2{C%6Ph(zmN6kcWg8~<-k9-CcPQgsNakuUB4MOAn6Ub0ZDJY4cJ|l zcBdt#k&dR_;n_SDE~9lzQYty}rvhb5Vsg06t;En0b=1w*#LyCT(9Q5M=-EIpE59eGpd96OVA>Zt z&BnP_hTeb0{RHGX05Kv-FDynbL^JqjO-VDZfdI$Y(P=1GBB8V$L^ z=_UBz&29OCplJy~-9*q=2|?YG1T_VMB2y^{4{rZJkg82hIcw8%Y*3q;?wz%%3xpVa zFu*eAw{SRDzK9was(ps3{x51*o%S65o2$M?I$WG^zmGsM`Xs5@^D;ZU-R(@3Ph9g218)$jXWAv4Dy~l`!|o~F zF)6$l^IIt8BqY9x#7H173j|&%=sGXPyu7x<`W>SSZu9BKl)iv$Hh)!8^VhwC=060Y zRl_qV4BNkq$dmk;DHF7#4Bk<1Mmp-vNJqUH8FE7N7A`d$W$;h{Kc?vT-uLn^bU6RT zohR_fi}gAr+ApQC?hy4dQryb{d;T_3^ebm?fXS)K{Uu1&`-JNOHV~4lm4`b->@Qm9E;1fDDGD#OwvfdnHdUvQtnoin@A}Zo~IS% zx1>}=$g@`{8F%RBtwcS)0*PlAY}~LyUeY%*p4O@Bk=hl1lDdtlmcJ73@Q3Xib>wDb z?9;q_OyoGl>u)rc;g;bG%Ks5Bxd2@DR7ou%{73Xx@IaAqHwdBNKnPcvw6%cDj{BuZ zklWse8kkNYMdkbqqQ25>k0y)qeg+x*vqG*n7ytQZIj-@n#Rh%V*`TFJV0(84-Wy`J zyzxKxRx;CAKQ_~ZWYD`l@91jpxM3rJCe)1jBJYYNW*$)SI+XXb4K>`T9%6r$T% z{IK%FWq^5^9SBE^upBOOQr20ZjD}*uSY(`3HXYbnVi->+b-x(cL%<>_ry{yOIkFwN zz47jqDNAM}{S=qd@v`_jT>!<#RPV&hi8!ZkVhm5#er8UJ(L~3iR$^hk)GFu)KH$X5 z?06E8s+FJ3T789*Q&B6woVCInh%)^q)~V@e)R0y3k<67t;@s^r}fLJM;OSilHW8;0?*q>D1L^;jm1r z3)d)9!0s5I<4&BOe%wQqJ(pGKtoZlTyZ>{0{=w|~`e4}1OVY@Yo=ND2LwY7*crVZKzF;L|)JFq=ugz4u)6$D>`8p2CY z2ilX9zCRgO{U!Uwi*p(u3_N8x_yR$npo>jE9OeHQ?8}%14qU1JCHPJI8d)u;m|5-k zr$k(l0|7B=m@iXk4gVY(4i5t(=B(g~y`RvqeHuF4uFva_Gz{~kgAVLkMA~+r{BcZC zQ@f+4cKcH18J)kFDL)q1+WK^(6=d*b%D2>%AM#y%aa@Yxbno2&*!6D_J~>Ije+F=P zGJZhciC=p;_?$dhpWF4Ql2e&=IO&^7Z_1iQI0K=rb5!;@giD5Vt&tXkzFa>OzY$8S z1|VX?R{=9pPU+dhaEprBgp^ZSTMW0jn6-`OrlN9QgMU2uV~=2h@EYT+uo1hFNH;;? z7+Rrc%WF>iCHT@l%|}v?bnJ^7X(p=Z^-QPM4Ev!dkk-7*kq{;9du{&5l>BZA68b2~ z@tc^XuafMUcq;-!#p|bV?D)n`M4i0;X{?eJdxAL!#9492NPhu6>p4XHi7wxD%a{m? zk+B%PZf4BD7`8GN;@39P2Y3nA8SV_SjzzgE`WgWvRw zzk?^k$SevQMti%z+CRYt_bJrOIVm5a;zrCv75p`VII&Tvm4B`ve(Vfn^4AIyja`nq z`{xM~kNuWx>jcS){R*}8*9(#tvzh07L5gDMLj(RVQ(i=K?{>W4Ez=7pD9X zDHX9jWZNJ}W$a#7XQQxnjcq_j_!kLMZDidG*=BPAH4wH}z4FB`SpVps(Ec{_68}TC z>}9mfyfp2%Oo=r>Z`c5S2CyHS%?{cuNIbR|dCbeheC#tX)(l0NTf#g1~GoHQe+5b(MHUuonW zMmaYYkOlhLsq~Zo9tGZ%w+b~Z7($M6)2(?-%^%Ysh?m(hD1^t5q#|8RmyKEr|5r3# z^P#uo`W~W-H&93q(_$@*l3|*K&%Bi`)5sunVjU!w;YsGR@hgvgmaovMe?xyWWf}5U zybsxC%nY&2J04ZlT1v^duu^snql;84W=aRVh-!5aRmRL(>N0{Uu8XKMX123R$C4m+ zkZNYr5UwRb)S7CRQ?GkLDE&m2bp)#VCsozx*^Ib*@-e|Kd8jl(naO21YpdNTP1RLj zkE&a!ld3*=%-%+MmQMUNR1mbQ@>Oc-?{0%GW-iL*Wp?z0h$>9zpNX1lrb5l@G!wKd z*Bq3f)a;reQFGUPRI^>Pp%}T$ukA~~S=|F^FGEgsR{;M2Uy)mS{${~1ijf2oMB!bw2jS%a?B>f zsJ(m`6!A{%Q$2|%O6;I|>#mX1S`H+0LOrV%Fa~C5zGq3Je;w57dDhCP{fs)_8{4Pl zW~hch=d`$nuPJwLH4W`c@YnSb?iS+a#734AWNfbj=`B@8_vugvwqC zSAPe@o`E|R5j5doh9({XU5`{;wa2rJM`GV;`6HBg=w~@RtJ2RS6|BK1WN2<04(`Xq zm7hy|&|u(?3;r_j9;}c5h#Ikrsj=rG-5^Km(>xQmidY{eNFC;Yq7Ac2XL5t`cUhB} zk#>9@*u;*vlfPw{W~D=c^@QzsnR07r&2ZN5P9z+7;Vd=iTD9iRGPdSzh*GWjoz%W@ zR?wQe1)l?4S`!G`#@0L-`6g)1qhOHMFhN@LFHm%Af=t1GbEj303P@{;X6x1r0$>E; zypd>4kOw!Ymmh{QcLXX)B$yri*h7Q3z#S!=FP1_SH;Lq;VHlNbnD^H|lK1zCyuU7G z-rpqWWv3gJ7exmZM6)5d?{*m zCew}5x!MNksn>vyE_OM7C)&$a`S3HA4+nj!W}-*BSuv?(<%@)8dy+A|pm@S|jW#F> z!h}?McM{Xb0aJTmbtNC`W zrIngYdzb)%$e0$C)hn1g*o#KxuPCagyGiFMqa0jj2ghNnP389zRc{6k<;w)rTPQaR zrKCe=Jp;v+Y}3fOM6S~ar`wib7EV~{vY-%Qh6dHvV_4%aQW_q# zyG-3aixK`S3~$E26l^kWf?&tE7|RH~COZa-DX!mrw$Xe0*$+e>OlWRrm$JUDW8d#7uFMk~h!J3-e!?M=1lh%56(pt~fYrVC|X7|rx z91{8?G^~~)&S3X1ptyIU35I(geoglw{95i4__d8t7HmnehFq6-JluOiWWC3S65I!1 zH;#KQrZ~^=w&I@?ip9B}^ZOr*a#GcL&d-F#LTQ3nhW(TWEN)Yn_Z!qC!^O9KnCAr` zuAg!zYsxuxhb;Fi~C#178NAj2z9QpyoK%`SzB3Sxw6J` zWsT*^8q1Y6mMd#4SJqgrT4ROP8p~VlUjxnhTw{6Xq}(J`;u_0aBZ%X3jpdyyi0^Za z<*gMY>T`|dohL}#=NijfCrFmhHI}ztkUXDeiokV|g2et*g&9mUodL)kfqVXvK_X-z{sbvTxL6o8lhGh$EFdbYvea_wEb<6B+D!H%zKNrA$7FALx#XMlgo+m~f=%%v{o516|4R4<5lmCpl*kRj^cCUL{i4JC2^KAQDl#=m2 z(lURPq0-G_;+2q){TYBuwS@L+RIJXywWWd<^Gb|lfc{SCS~ zz{tBRiL6=C)O;54uuj^+BF^!TMFXUm$UM_1cs?m#&O1rS5U^?4`;*9&{R>FWS*Er6 zE7b2)#oMWVBX60`!%qt#PiIoDTA0CSUWr`Vjm6G_t(nJ*34Hmu(&-%b6)v;mD2!p% zJ@ceH+EMYeHSG2i1fL1KQ2g^!nR@;O!9_++T~ZD6AmV^(7&!xV@`I>hlO#{X6mR5> z)byXMdGUT2syW?#Q&+Tef-T`-Hz&GgOlFS0(w_a=C%>thgZ3;3molgRVVct#)W7t2 zwr4<$;RgZ)ZN{pV1ErM@f~)N32bCFzs6tL<=214YevXC|8F`yD+tY#eZ%j<5Wm|Mw ziLTFy2Z`tnyvQh@4@tk$tcgXg94~HDn0*E6=nu}li7-E6=nu&|hcM5i@edI=`ZYivn`4m06eRcEf}3M6T&VFQP|xSmi@UF z_BiY~hjZTA@?hg2_W{rz*XaP|GB-F-6#FKRrf<#(Za$@(S)GxWwqd65;+ILiwGCrAZ^aQ1OHkMmV2^Q&|lNoQfLnQx6nxe ztzx9;WY{yx2KGu#K<@Y}s-<)?vWhyn0rk$nVt$m%*t2MXX_Qnm|7gM6hol{#j4b5N zGD>&UVEhBjpGMa4>9prFk+p0Y>N!c5nP~s`!t(P#|1B6W>9PW=HOoH8F{gSPL8|x; zKd*tMO9W%2Lo)=EOnC~3Ux|Rqvvt}_kXf})Bm5ZWy^xT@{mdNf12-8}u2#;Uk@jMc zW)x%{+!yVMzUVrJ?HQCw=v5HpLKgp1G3{ow_CIty(Qu*U0rxa3<&6D>(~>Xtoealz|sdsG`c%Y3WGIhjgTy%?b7P zG^&a;LkSqDhC~|lKN zK(h&*l#AKQVLm4#^-275&rIWQBQ|Cn_d2A8T)tD{yKmz+;{GiiYBB63NO1D)jTF%r z8MKJP)D#S1_hXJq_XGTz?qeD3l;gl-yE_3p?gEGi8FoLAoC^CDuzFqN@HtLp98YW* z{!Cb|Qzib_@ZTB@q^lr~&!MT~%_h+&SH7V@Rs9{$_f>WzD6D~qZmQx?!0ckke z-)T^?!pjY(QA?6Cx(VW|GP(;A_3beb)FepUurFpI%{KRYy$ew98mDJG59$j~T>!x? zK4Bm;fb{Z9fjB@=POBi%@YLBz=`BbW5TvvTQshS{xsM2_M4!o5ks=f)-}a#mn}&TM zigfzg_oMiz;|#PWBR#f=T{9@khR3d=M%x9(_5w7T=k$-S0GB_VSqEfN2S#c?P_hi0 zFKIhNY)VOcJrhjMp=moPay~0FRCF2V(|XRZ6w-}!AL};5-VI)7xV;XfXpM7(^$GJx z0VA_mKy3bzU^p_1Rgd*xCymNsB@AyHYSHc-7H@;G`}{(ub9gRI#7KP@>5f18DEy8| zy9-E@zY_-Ij1|?l`46znqXg-1*jKYPKeJhI##t!9ESK2}f)2RM4ij!X^I_p=BwV}@ zk$P0{fo#$^;!6ZSlK6$hX$@xivG_HfBu=9<%V!Wb5p!imFn-O7F!8>`iX%w@w01!#9h15$^{)E2^ut?gx!x1K6QC&%qMSY}ffg12%+$UdV1?1D3LY zQ{n5(>?7HL-vG~*$3nBGu@~NFy2T3RNCQfj0QUr!sdhYZ>7|@vR&XP6>7|?+;!hL5 zLHK*IZ2M$1AkgcjKWKpN6*OEuSd~*kSC#61qbGhJB6*n|Gca=~b4rz-=nuiFCsL&+ zP64iZB2{|g7UI&7G-=2O#HAr=(vY&Hz@;H+(vahbOGDD6Ar}!pjSWeYhCD-DdM52q zHq=4zpB3o)njbU_qhmfCq3O%$_@{0T6fPIuhD8q59KV_U(huS?(^;H<;Gd^PGjLx5{-$W_CtW_+Xnd!FFu;b8>J-a>skj5_=Ux&OJ_QWH`C# zV|Rl65)uLhO-gNq*4#@tGTrx(Zn{H8K>_Zi@TIm}i(j0jJ_96ohHZe=i@USJoPK5E zb7%X6jR+rFb>}FZpye#v8Oq8XZ}(xY5$?Qj1!vIXSfLYCh5T2k@)HHYYXVG}@0B2{ z@B7TVKvJT9HB%M}68BGIT^0#jmVYkU7E4N=|30OiBuJ6}E)3mW5@Yw5`6rPP6&Uf9e>d#I3^kI5y$LIw+_pld$10 zg#fEq5FZWi2BI?_+*XNAIBgPsw6eYI)NR22tJu=%1sPtEy#N`!xK|SX2!Ond#NoXNauW#G;w z;PPthFIjffs|)k4KxA2y;VGjB+-!Kt<{kf1bb;5H@&uJ(IOnt4-Rv6V@XEZV@FoEM zaDMnd}*F&lu_2)r*Ue5@X6vt?1xh?ig@TK@(U+ZB25-WQBqO|u|5xT_dA0r*Q zW|1hQHOvis|5J3h*IVqu@HvrsZGxCeYkj1KR>n5u^~H9*fj-p`kIb8eH*6$1&v2Hp z0qr)uGXx9?A4A!-EccKI%h3%uR2opG8ZcBEP-8eBu{p!+O7MAE-iYvx03yo_?=aP6 z`1+G~xb85{pxzOJsPNqzDToT+y(0yIPDZlmQTB95N^!iStUmxyI{BH>3FBw)Xn_qc z&l?l|3>*?Wdt;-lfRS+rezOc`6`MBBrUb9X8y`LvkwJv30Pi^U)?S3G0B?fN1P2JJ zJ5i8mgsT8=k|0??kTO{iwF>a2h=58Q(TDPmM|OEa7jHY9!)8vkzekxVHQr3?YNScr z?ahj@auRoYvt!I7akn=ojSWB_c+Rx!6XSGrHd+}=FVmx{SP z@48=Sssn*`uqSZ#ci9QkU9)M-kZ{AU~dF4AY#$_AdQEX!Zhhp?PaS z-l@qsoW>Dphni52gD*TYgo!OzRsj?2Y9jp+8|2C|V1nJoiRcs(B(j-c4=3Rk5+pL4 zV2`EL4@i*EY=S+BgtBEINbob!mKQ^hBSE5{iFWakDCHs$f?asyOPE%^S`6f?#X!DV z4CDukfv``%6!tkf3mA)-N89d$e^jf1h;9|0n#3fj8gsPWjg5H*#T3eN;Ap#DQkSD5 zvK~0v9z|(0NstA>F{-K^B*=>37+cOkc$EZM5*(wBhfBrIajvWhje#p)`KLEL7JwXNb9Y`zh9nu@W@WGpA}8Q2~p@IHXA3G4>Y zyaK?p0FEc{djLBK+zy~(C3Z-+X~Eke21Z~lqth*5TxkxsU00{hPiW?vlt44XRUeOs z6xGMWZRz9dKu~==T=nrMB#35)+f$k#sdg0zqM70LToPuGAetF&FCpOy5=1j2lrmo- z;WXB2gq=gp#LfaiI(>vX6>t~`MTKZZT-Vv4st$*$HiEbUsims{6rYBlJAoCS0N`T+ zlL4fk4PXp_76OL=IF>*wfYS-o0(cxi8KstA3G5qS72T4ww*s0`8Vu~Lq_0li)hJ2M zMq`tMM6($K%<{|7P$P$7yE$0-2TSv_4|tg! zxEO37$szSm62xH)u~TW8&8tBWcQC{*CdUaRh&vc!H`5(l3qoGd*Qa2ue6Tx^)lh!0 z8p`4F!t8HHDD0iR$_?>aW#NQ)TP$ z#N#S7^zKw_72_O)kUEO-deFP#ReD#U`Rj3?S_Y7(2seRHBLgU`2(=sP zm-j`F+D?v=RY@F>;Xy`cs!?&*8>-B`DD%%0fI~cS@Ih~*?qQvAKT_&mNkZ_cM4gEh zEr#x>Y*Z#EiQHGn6L223POL~uJXR;39VB*3N?fWFSL?)*{z-}K_JcZC-tgj_rh~`& zwH$@}E!U)pHpnEq->T%GYmfoA-|EK!*C?~?erqIsT7%3dAF89^8e}f{&=ScFG7LUc zhu1a85ctrNb7C80X8q8TnboMDMklr##nMDovAfk+SHzd#pSfX@d;zJytc@YW_uwdfSqq)+o4#wzf_ntIF)lCWPC|N!59#(RISM01VTS@TxCVM z`dv%H$|FJ8rm{Rl!d|xSYL(?Z64o)xHHxGAB_PbFHm+56H5-JQN|th+B2?|_iLQkX z=uB@=wy+LNWqeVf`Y+V#jjBzDTncJCsPw`&tD_dTk;Y>+y3WMm59Y5epX&Gs)T&*e zZp(sMuVH;|Rb#X361+cshl0y4gVO}JTwlPz@JddtMw9+QXln7pNH_%i#diUiL*Qlr z=K&~x9>8`0-QNIk@KwGC#P^u`!H=cx2eD~0gnSNQK7j6>HR=>qZlanOA~m=YwKlt9 z_6n#mAT((`5E#_)E>zCl?4a9BF~9AvDSv&37G`#wl^>YjZDtpm-)FUUYj? zE(bwu{WkMZx}A?m5PQ7cl#s4$3kYIux0`Ze*Gdw^+HN-+Xl-wUP+f#xHt#T_6guY$ z9D}yv7!d9>Gr2f}UjSOBS>hNp z=BK8!j4T_F@E+?)YIz5+@RhKs8v!%`Kvqh>Kxb`d)-TMID+1}G$s^J?X_m!g`G@KJ zA&`CGucH-xBE+19i4vqBmTqFYv3AWv-nf&E&EDSirNf6+t_zYOruk;-6@5 zJbwkvcFjtoZmkxY538=bCJDhwW#5!x-Ka?w>^WTK*QWIhgcXO&5qw{T(I_{uj_119 zHPQ^E;wz0%4TozPXM@SoMT>e4)yM!al^m@RdbFS?COR8et-u~b*yqk-*yjdm!95?asAVa8&Sx5PsNRUmcN;CB)5S}A}4=0$FW>=Qca5Y@Saic)!8hC`k z+9Nc@IJ~RXXl931e@#M-@(8n$v3i;!6wpQ7a}5X!>04^dt|W}R7PFAi3_`7$!osU% zN@`dB;sT^rf5CzWE5dgm^c<*rvjA1&#gF?`e@)-oWTw+Iy>K0d`!LPLuAuh)Hdq5s z4?Gm5aN;^d`IS$>Ts95#>d#owLzQ2-<$5?b?0K6*72f4n#Bui8FojDjS%?bEvbcd{JiyA*)nbWgK!CD7NBcvF_AS$7BI}%E6epS`@ zdUz0Oc^!WFF%pid^H9N-J5kpsHPcS^^RG?&F-R(Y9tlrFM)AV{jNh0>?>zvX)vN~e zWc9O(`QTV95{o}a;(P-80bBzB-iIn%qE(g(0xxr>8UBv)skYadfol7j0M*uf3vyOe z=u&7KIZ%+ckBY8Z80piz`Ed~3-;_v9_ri3?022Qwfbf1Ktc;vQOaL`tb&d`Bn5?RNxK}tD2y{yMR>JG2+9`UKaKd zQmQR-+GdQwbL=*-t^(_;h@7e&vbxH)mLR2UCsI@x95K_#e-o%B6ni8A*98^9=YA1RD1YksRE%M-NBN>qqfIU~!pNR`O)QL-_zJXNz{ zo{~!<%MXw$SIHeZS+#Pq7z9jd=>d(OV6BhClyEB3FO2f0S{Rbz3;PV?!ana;wLLZ( zZF|QZsV!%QeDhp=)1)z0QQatB_mEqq3=N&5Z!8m0PB7Oqv z`?L(XD}h(MuB*Xi##?9ubpZ8n?}nQ6M;LWqY8Hku6_(c5bRdp)Ld!tU()0zO*DAWb z>`4mJy#ZsXXw^*1!8BZFmZdra$hy8dl@SswjyKf?H?#U9Ws&oZey(aqBA{WUsr=K( zE}V&8L4*3pl4fKth8nTEfy<4wk;Cbch7p$-_t~kNZsH5Y9;NKd-E01G1P){PkV* zWb_^wWHK6izn+Y?127Kd4Ec@D6Gx?and?IzGao0(cgW63GW39H4CN$gyr4>m3UB8` zSpx={D32h(iE<$TUBq`fQ-;oDo)sF421yYc$lOkpUkRnQcqKGx*WDz$JU=hy(fGO_OE#U0@EacMe{W7EE zMs4hjz|~kl#Ig;&_*Pf+r0l$Jl#^xu208s?pM9g8ci!*!=-GG!q7+OY{d#a1UXlWL zZJdjQely1c-z@m^!0{kHI7cNouacDTPNei4scV3`%C#!Nb)9gX1Fm+Fccb9SQ08a_ z>_b(}i~T#0Nurj!z%7Ondk6rdmazbgLue=;>pY857juV`i55x^o=aBt;LQL;y;8PP&Ns&h9|`ljNoNKLZf)8-8M_3n#^=A{G?!%mQtW(e>e?^E=4J zfS^~SQ)g^0r&CnS(o7Qn!XxXER5weP#*u{B;YN;tf$nPU#o_SfGCLUUD=$8nPa8mn6Buo9SxY-=U5eFnIi z8R}$asD1+JvLaFsIV~oB1*NG6ot_6?HVtj)$ETUh?x`$((35ca+zgtaE4~x3*~3|l zG}#L}1q@{*%5KdTV6qqV001<1uFj>j9hSGRhd*@$L}W^vOm^0u19`}{r91}j=T$fYEG2Z!H}oWkKAm&0Dvq5nouEG2J8Xlr#G1U zJ&laqV4ectr#G0-LMpG3-;~M!1AfeoX82~=TYCn4vbSb!T&T9z0?y>EwGiU(F4Hjb z1(=0Zf&g>5;AGN#x$nIYF>>-28>4pau?fov)P*wEjUFnn_kh)}3>Ag3-Drf5ISRyL_Ye?`@Gr1b50wbwgwKF> zL!}ko1hU=M9AxJ#Do+(`f$qIkO@+t+%3x9w)C{z_=ZHvP9 zK>wkxBCRZVGTwGbthNhSUS6m+{0~--PsxYsQV1JiJ|!Qj7lD2_5(d&BNHol+Fp7L)&|RM^&Z&WHF@@&gDOh6AF zF7pixPDiVhAih$0lcujB`FS?>@Gg1Z2oHHWwr{k(6+jm-9~0V%YTFyKx`6*!Q*x{> z5OI(x;XNUcGR~Ah9SZVet^k=8ko*1vBN0M&U}Gcf2=vCc*YeC^RL$`$0I3u9 z%?s`X5EL=<9l};J7aqO^x|h+HlH%V zgS_wGcf1K*-uLfYEH$AZ@B8-(t2SO;MIt7`mgq&B7G8)7BIa=fh3*cQK)6XN@KFcK9nZLlLcGN_Y#Y#{$BcH~shXMTx_&(O%qxGRCAg(QdDS$_ga){CgfdYrY`DAC9JHJAh3 z!T}T>1!1n-GlU&?ef$J;F8|=bMW8;hFw>L7C`ob{7D>+S&>?>dXsLNOCi7Iw_aoRw zIC-ccwm-}GeV$>cVh@5;`(ub*N`ExHXw3honE#!520OdTG^O4JBTa#Np9(sycg|F| zTYKW}XF*SwHBYIPcZR8ooAkP2EGD^9jQ$iY`bR7u6^!&`hxP8LKks&2{d?Q}sQ*6b zAAJME7xW{UKI>ir;$K9R*iM;E)sqXia7v^SlvAYbdMqU3Zv`(6~OJ6Ls57H^;XX;K<$s8LDD^+6(wc(-h)=f zl>knB4J{CwiSqgI0+dVJ=*n++-N?TPKoP5pDgPCeIuv#S8WvMnzc;|W2L%?w!Dj*8 zokFb=YQ6&~(RwbaF#Yk1M?3~}QGZ9cI8q_oKjb}~8+Myoj9JWhQP~|2*~JX_OTaL? zoh}a9{g^z{-UNbA82~Yi)edp)uip(s3d1DT?zI!jTtkGUjxKgrhT2a=@TmvY#qJXTk0o#80&F1y;(18u zy@Lv7*a3!$nqF|8v19mftFK%n0Fb9O~?IN-;F#B1E6vrfH#Z zN%?a$wTEWSkxvmx4yPf^8}hwVFh9eN2v?End*#1vuXgMP!$rlOhtAru->aTyB#f}ccg1@rYT2v2? z)M4PIrM0Mmly(6S<$oc?i>eF#(fbVc%PT5rJNVemGkUKf_g9rH2khpVy}RmiS1NBe z&#H)vGr-Bo2zRdW)MrXM_f?3nGVW#Io1HBl<_ROHq zBwtoZ8RnrJex>3IhyDh@OwOoVStz+Y7k`P;ubokwXw)8M=cE{;j)Y7x>U07$>N)~6 zYCnJujr!3wD*B!=s>L;G0x)9K5&|^pQUWxp1wdsRqYnPP1~t#<)SxOd*{ke#T!T{I zHwIM`pg~6vph4>a^k6ToMxz~QAU$(0u+lR-fR+>YzjRboW?2gZo;0NNN49{+od zSQ+lrh(jaE5?0GfMY0spD}I*fHuY*`2EJsN;J-jaL)lZ zH2PnESI;Of8xvLRp>#JN->dWS)sU+5@x3}9zX(Kc$;bC8$;Wt`kWRt(>-!b#<_4XD zA8^a#bjsf0mK!s;DZJMRFFXj!Jf!TQX^5S>QPJ%aICCq2kpyA@77%C#a2Jxw436zrx{v{d3TqxKXqwecWHkjZGkI)Dzpm2|4ie}Q(=<50?B-) zs52_~vbIN8^Jir~7GbNhu#u2U=~LT(wj zP>m(U79wQvagmB}Iq(h;y=C#SUWcEj`MXtxH*iVNtmJH9*k{Tr{DDebs^n~70}*Ll z2wtWs-XMaf?&@+STLd#d$GUIzD9c(44Xe5Ayi%obHMRp4g|b|_LFt9r0Z{H4YgxZW zuo4+e9)D7y?FcvzZdk%i5BgyGcpDV(5A{P|vN~7(C#x)xs3QWabQ@H8A_`UH#<)9F z2xV(7MAu9J%%wo?KyB?j02Gut6~NRlFj=ezz}Mfb2Dko~NcBgn;u<)$ zx`)q)qR{XoXviqAdY%Ew_Qwrmah74xy6|YngI3OzRiBk1Z{jsKo4 zBW{LznWX^U08qs0{v%ML`o)t04Eqv)Ti;mr+`XQ@ihdPiXS1sRGjja znJld_xS0zLB>mO^E0ZO$GM^j=jHFxvvM@F-A%^qGy#U&z+(tC|U6ZBmZrp@IkM>Jg zr`5purqc(|4Xm^>uE$-F?y-q7Zctqw#GT-o&!FO6Xpy-CK-t#-?gnrkfFja$e*>i+ zAL1)K7FUzeqW`~9p!7DexCk{Jg<3ok=;)3JtT>x5u-ATLE1T8;V1;Q)Q!XlY4Z+z4 zlv1}S?*I&|%$rbg_&2cNY5->fC}MT@zoJx`*l0ByZSf2J^)CI>q-RYr=|4xQ(;FBe$Dv}@w~&1_fVBXsPVIoScma}DJ-l#WC z)e>-L?S^kyU^J-LTsrk+&K1Vy1dYIBrE>?Fd&{M4kg;JELB;8Xo- zwoZDhh>&ycIXW$degHy}-CR(3aEmDrk`3pn5VPS^B#=|X`MO2)MgGlQwPT=*=sogHAPJ$fGuSvUZ`{0eZ=knwtDVzJo2ze$+orq6Sy>v#5_hW zavHu&1?kOOP?NzEZ1>m!Ds__b_XcI=$Eer~ip;kGqxG(aO&aj`jzxy26-V@}KjgRUt>u^-xNWp3$m?qvtaq^mLE=)yZU#Ww)yM zUQcX%8HcPChpb6(73W(juWRT_-kpgJtNB!_7D{1UC{A<(Ie=?bF*ig8atTqZsyS%V zW%W|4MpKpY8ji?1J-h~$U&zv6C6{gDK5$d9Ue?;pOZ2hAdWP+UhOvLHX$<&Cz=#gQ-of9>Ug;^;G;Tf6E@d^mlYj;`Yt$$m2t4#8+a&&2Z9C zw){%Wct_dRFj+)>H3$RBdI*03Jxr3tSL5h|r5=>U)URcocB|L6N_PyyoWXk%7E|bd z^!1$P$raxj;V?mt0?_mp8lOtt36$MDxh!hV54c)o7p%qi3{>DD*QZPs&Z*>>#r6}J zhk`0)yJ`PwoAzvJ=Hi@kQ?s-OcE8aS+<6jV6*ML^xkM^NVA&H1cvp#{!r>4qeh%v% zw3{bo(1|A->P8T#i1JJaF7s7<&Ggw;=F&P1bbhuyP2Y*>pJ^>0@Q?`JktSNs6M%I+Y zxB@Gu@e>GeO?eT3Hfu_27}WS(dwV9_^@=-5L_xMa*cdD#4EAwjcfspdPf`i z3Pg*M-xHvb`ANpe1^^uz`H5@fTu|tRvuorvz=)B5C%}dCM+9hOZ~W;D%c z$0YU`jFv;a>Uk4(OV2HXC^2dy0UGrn0rp&Os1u`hpt1DaFi?n5;lZZomIEV3#R$-- zodjrI6X4QTZHjN<7$Pvot!iRP?k`}aN9b;sT0Jejc$Vg!1{h)EDuOC!|O4*O*_ z8i@(lfKW`>0dC_g=&AL80eI2>YXa22KmNk7O{X0A{rb1rgzcMXgzgdOxmO3-DoBz3 zxSjy};|T&ZCDNsn{%FJi7h~!`A;wf8Y-J=Z21fd$nE?CaZUVID8vt$WX=1GZt{`i> zsca2d$n^7|ztqf2Ta8h8r3%(TL(+3d9XKE5=b>V6FoSXnP@kvE4CUY zrH0A7FmCwKoB(&2G_=sFm}Q6%5^@wkjwX8C4C94mml_(TYDv=z8AJ_8(^C^_hN7j^ zGQ@Zbc-i#{wNf(!`S~8^!R>x^4#-D7!9AGmMX#C1j$e4;#tZ=iGi&WkZ^6O+1?FoG;r! zyHK8lyGAdN>qVh-+bTLR(6T0psTYZ`BZzDm1T$nob8+Z-@R=x%SudA_9|b|>lUVhx zFv@HIvAQ&nbpW`m_xbfYzIaU7LeXdWxe8NUTaK8E2PeC_jFQkfPFy>gS87Mel(s|^vnKOGt;U=r(S?~+>Q9w0 zLiZic?mOJCIA*ns!?g^t?{LvZ%R9V3V|em+bl)Ldwv>s=YWh&Q)woQQ?i#^@LliHQXm3J!;x&|~Z{ymD@)&X`{+Eu`Jk8cp zRo-Kf1~LyqU3C;$a4>))2vh<%jX)0oe+JO~4*}xJy?6WL^!xh?w49?K*E3RTgz;gHF`FiU7Gk2%uAS|BF|my6w2S z%tY09z*ST&z#B+J)uRbe)inTcG;Cy4bn`2os*dChcB)$egKC8IRktb$Fy3pYx(#H1 z>%Q+cRx*@?k-ptehnK$FZ`1-ZEe-3jajftDBWWz(nzU_l<|JLt3M2k%V=2EbW;41l(?IvV}XSska!ty`}8I*@jRwTVpn zD9?#Bh}VJELyTMpdIEsCW@KnvNL#49e|Bkqa%pRGKwBr*mkh1@gFgfCKI_sS3o_xo zp7b?s=rQ%+-w3>-!(Uyxk4a}Wwz)uVIICFia;VJ9{RO$`F<$&vGipotGt+A1q~!jI zV?67`X0Zupq^WGe`AN;l(no0hPU1BDY#5WdP zgxw+nlyf}*$tG_RVB*W^27rlg8UbdLGXTH|ZFxnn_*JL$ogH2-!<{mNL(VB*(2Z-7CVI{HCU@Owz<3%cS>?4Oywn|K}F~`USz_$ zSFSqU2}DmW7}_7t!$7&-g!Mtkmy^CA1urL&0@19G_^QG^VQSH;%CZ8TIWb|F>b z9d~oP!`HkA?{xrj*PYz)w!ySuSMz8Bz1;COsRvMU$J=T+>{Oz8$J-x?mb>1z0WEjE zO)r)>;cBz}pk0X<0XQCj)yPHiMzct~)HGAEC$T3go6^^ln%mT`1CZV6 z7OW)CK(*{n7nNW;h`ZAd85XrJ3$r_Y90+80dOd*F-RVaRd9_P!cBlX9lE3Vd%kH#G zjvkOhcBlUX5+1TUeW1O3vpaopFUaRLl{{ZS%Ti7u1a4!Yblp52I0MMUTfz<5I_u5y22uEXwTkWw+sR7NvDCeaiHKX&L z_Ly*L@=IhmhW)^4(Y35Yfm{A%t^;zDXywq>eH?t`}6 zei%i76a47}nBd+9Ah%BKK%*aFv1G1DxtY|7l}Y_*U?f`!z-)CTG0ax`0kp|hg$GuGhmHb8!9#Bw0aARNr+kOH4=Du-f)?fy%WF-*X`^{4=yR-e zXB~m-O8B_PW9Q?cAmx7swDNe*|F3VGS_i5A7okO=H_HiOAs$#ZXBk#<(PpX>STrAn z94UAM3+AGbD+MQTJPUbJ2n80ikS~RB;P{hJ=q80|U@;2?QpgINv=oIxDdbt6_aN0f zJTnVI9sS9x8i_pP+}A2PoL548 zGbUccdMI^occ@tCL*B$w(MfFz-_EH@{M|m#=YJWdy^8IEq*T6DwIpvPkliZLF9+XmjKho8GYZ z$x~3$FEH`y=(70&6FfY2DjVyE$Go-=CnuIyKQLyW;{m~MzZAmJlp5c30m?3IMG zBFCZ5=DR+tuocV)OEq3tI8$;GqB{1txcNRrR%i#z0jZ8RYoa7dLph|L!k(EgyO$<(FNLbb?X z7rI!Qs*W|-r7o5>tK$rIg^T?UIh<&)Qw_GuC!~F{qZ_%tMK^_?VWTHiFBY<@5S}HJ zxJyN-`l&=zlEKqT+;KY*50c_(l}!V_BjOs3=tab+eh6v&%5f1QIbOIrv9JY&h)cE| z1^Ai45gkWf=c$xhGYGNADTj(3f(Q$LK;NCG22i^V5S8{E5f^B6p8%rk(&gADyij#{ z2F)eSLNULq0Tu?hJ}hP!xWRV6fbb?sg$pND*U2`Bi@UbW{5Xwd>BFKiOawXmU%fPML(t9!H_B_*i@$ z(jTjoQvoa^a5jL409fhQ7<(iZ#~LmYi>?YR^!(7&&{cHPN^6DH9gDiRU^hR3DL#M6 zVgv<0fs1^hUQ8|g_>M{GH2@U+_!g#=&Gj%R+VD2`@(bu%* zawZi|n}>fr=ILOa#yvWXd(3;Nt~i>hKa(lg(>A5A5|r~a?D6Q7?rEFSDaq&fuhVqQ z>;5f(1J3Ql=oBAto<_m{D83x~O33m?)A4Nu|4B5z+(}>=5$_UVW`fHI^XXz#)^QPiABE`cL;db5NiB9-QW1?G5)t!AkCe{_>yY z4YA6xLNs6*z!Vy!tkjF9qk65k*8t#>PJ^3E{pWbY_o0-$mwYbtrctQjbCFjVILZ52 zcd<8ztio36syQe&dp&-|NF2(^mKmQhn$RQ)pP&{oC7B*d-l_790F~yx|FO zWpWD%_j*GtSZT{G|3}`yl{eeO+r7c4H&hO&_uYFit8js7~qn8ibq|`4<_SDuweS0g|0& z0w?`3l)`FEnCe7cCcA@-YE|eXHBPGrLu5erAi=>N+L7)B)3BNl{*WzK9*c@e>E}XU zE7F4&P8LPrpL7a8#PbNqGQw(+FNz_W`7Ie8m%Sax%pnwXd^Y*uPf@7%IuG4uzX8vx z^TTZ5FT_{+3K6+6It_)$FgoI@jO}P;Me10%I+H$!$f0a_O`sph>=3zMSI8!z`S>~u z9~lMx@X#+^abxcjfeLyKnDtrq80uD&oOJDHdb&KB5^$*4LO zJnCwb`*Vn#SqH>sTHHT*a1sz-0+IVo6A%NEvrj<#V+LS@b-Q7G7Us;ny{2$63i;of z!Xn4ADnQ=Ny>rR_Tx-LBZ#m3V;P30Y$^CuZ^i6Ap>4u1{-InM(I?qq#iw>eU(vy?a zpHS*9rlcoV(v%*{ae*S5tP@u8cZ|!glG4SyVtwnEit+tV+7DkPRk5*Mk6l7C_$Emh z%tJZ1hE{)@Bt3Ko5LWhm?3bNMNrlG9RfegGHDZL6h&nryD#%eyFOd#@EUBD2s2Rfk z3C;d{vOknj_H#v@4t8aaJqU!=>mHJ<3`WRSy$LSeg=S^2hJ{k$aJuFIP0HzURumUApyzj{ z&Jc8zR%d>2FxB}wuFf%;_dqt)be2h0WyJDnQZ+Wkd3@iC`rGyPHVHFL;PM|#*@0&isv4i&3J zYS*4x>I`7(%b|D9Sxu-r(W!kDG-HMWF@~;Q=G1fSe-DHXt&<%Itq+F*AqjlBBk6I= za3q7(rdRk*@w{6S3wuoA8Pr(4-lDcgI$4~{)l8_PjXBbpvWF2knL~D(qX%&I= zKqpK$$C-W}7)YjfqEW6e{URXV{*ee_`(;23?KcwcceRtCatjP9tN7t22z;kAfhy!$ z@s1XFCfI3#?`na&{s;dHXz|uSC#mY;IRC8y$%(&$U5>=;&4F^p?8&1bP%_W00ST}j zKvW+^uD59otlS90;`V^dLVKSb;PD5`6l5NCQsEePZmVqh#i2-pq8N{%@$kh2@YJ^;2q?c8EC z-NX1?5=hw!!D4IQamLou0OUPw$i&vVsF|*q=$M#R6oMs^Jf{LbEiKMx>e%k@q$95j zyUy6|FX4#$Gi2zFyvyH{&ggkC5VDTA+uwuhh}(h4EhX1`{nE27K=j+Q5Qx9|yKqU0 zhcI>D-shLT%^UCb?frfU?!$l>&;S;`F0PMS`~~#Uo2U_Q&-%RIg2NGAH;!2EQUfP&Vk>NR10(3%*)h z;x&PYE!q$@cS2+pKQt3gd(GELP``pLIz5fN=92~FXgE>F@aw*E#_;_>=oo&}Co#Mm z2pz+3`QkAwLwdJQLiWx{XmQ)o5c`fV%F$IknK6ufb~QGka!+H;_dbc?XHgTkoIM^l ziUGL*j&tH&7uJ9p#7n)^$&Rm z)RiMp*$Aro$)t+&bVBqy zY;MyZ4d~i<8_7GxgRmk}oxCX-9T7aohh7j9XwOZjVDL?;%4g9q?G9tegZ{W~9At>cbomyL@Rk zxQuTgV`7Ez6J#7R&4qEa4X?aei9%0H6uQb3WDKlHB)cPltl(Z#VB+_n^V^MqXG}E{ zf3B(K7|^60+CgG+ref|F`TYdxrw!BKjHw@38JOg-A zH)|?JpBVRxM~qX`wQ0Y4eUrkO*hyM~r}s%YrRKGN0qGxBsYnw%j8< zy9*Tkx#jYNQE}5$G=JWc){u>X{wOMj&V+-At$GHflTgZg+R(~)eAN^rspJ`7NT#*& z7A6v&mq>V#Dahd5kVy7W0$IUhroh3u85+UoG(nbSTd^$LZR$Cu?$`C~le|3!FQf27 zQ;<>kohh&v{}XS)O}cg9E>D)`*$Gw@6q^DQKpuLH-OdD1X7ChUYw#4^*WhJ14>JX3 z;^~@*`dbC#Oa+664{FmeF1PchmSj87|N5kuhaJ;lX@T@zg zznph@*68(&W&qxbF3cH^bb)vD3gSON<=v`|w0cOTeVdDL z-GRyxpsKtJz&rw509-(T_quH(!297|22kf(w*jo#rz`P|SNkTM22Fx@S>tRVZE+bF zw|neP+??CZb@Lv3Jl*^s2+?kSS0j!;8i;Gy5qs@%B>yK6+VAh%;`g#9_`MSPv_I6x zc4p;rR4fNYzzFdefy1pX(x^4W%6BLT8IhXC0LKz6qP zBkV{sutWc^QYqs5_t==e&z=K-z8_A2z88SLp9{=D`n>(2_Tzut??gq6ZLSBf13=Y7 z22-^Qz_*P(&fSYc~*R@tJ?Kfqhhl&iILHBHMt zOUo{r-Wc^X#F_SgRo<_Z&{O z3+xPDp4tn9Rb0w}GO9B!-^aO(vg^ntdx6VkjOMbQh{2o-$7*Bt0TFkk%v`Q+?A3UU zba8PbrT6V@tpBk)Y&d~k-`5`WDcBr+j61X|?I9f6R{@cGAEo!xL;GDIs{cYOt8H04 zsp=T3tL13iOx^<$j`7d7XB!9yH;Bz_ZWu_-Xnd$!qpwpRt5B1|r z|2FwDl? zR;h@-Ttz6_8uS*cu(l8Z^tKjoh-zpR&}a(M@=#STO3SL~Fg1*+Q(N!{HKbMa;aapc zC~Xb|V7&hVX^KyL=nLdYsxL)$mxPqkZntKWI0?_hM zv0F+Jr#=k&%YD5?*U)IwRundb+VS@GkY7ye)GIc;~JDS3MIqXXtXQ@c0z8axBDFJg_k z=X4{w!gEMA;>2jIj__RzA+tEGL{UOHzJqd?D0Q&xC*do9Lslx#4$*S= zs$bu|>Wl-z&o8-!)jv{`%_8<#ei4%USpB1P)k%Ae-J=71V zz!q-?tDMl8uq5yoZyJ@F8aj%UTQy}<=xx^B>`l2AlnX=6EZyPlO3D?XUZlL++w~6A ztq#4!x}DziM^M@jS_6u}W8SpqP>O{(=LVkirm-Wg3*7}=;Gep*DfELErRTgULr{04 zl|p+cOl(qC3Y$=Xl)G3d6ipFsJv)s;q-<;Yf3=poRH8o6;`O|Sc44`V)!E<-g05-v znqd58#p2mC-p1-&Ucm|{jkmEnS4bh8cJpi$Hj3l2(s&!Ib7d)SOf5uAd;&pXxsBD? z8YVK0x3N06=CG5kG~UMQ+*b0GFy(Em&h62MP~dH>4fvJYSeckupXx*+$ z)NNCuZkx4k`ZiYQhC-gj25`qIVu-@zURLK$4`uk-FZO(>6Fjoy8zSDvSHSrZ-(hS9 zSX-kb}ULsD#CZ6 zG=&!6TP3Tc7W^&@Z6cR+Wdddrx#a57>X7dkl=5`xywDDeR5e)T9zeSdp)T`L8lrN1 z$j`A*0IpLbl?k8Y=b|)Lmo|mQQu=sh!Y5t7X(~8dS>O}dd>l-PJVZf}br5bxzJ%(Y z$QTT4Z=?at`WMqy(1OkrmL(6N!MK*RqSCa&Va^ z1k$kF8XP<|ycmTv-WnWS8Rq!6(zYV9f~Uy$pEBY=SF-3JBi$c(Io_S;_ z;IPtZAQ`_>7;sGhgmu8`x`+KWT@^F}7xaW*|7I;@TV0Q&uoU|APpB&bKD!=?eDR@hc{Kl1&1REE%X zL@cKKe?&7b00o~Y$$7-w`Gf3+z*heF;1 z2?Z;EGClCes0=v6FaD!qUs2~iwvY^>Hzq)Vtfv^YtD^(y%(IC23w!RYXdQ>}vp{4| zq!DYQX&fTirvZ`5-a0#)PKqHwbX$S#)%J(FAR2rW5(_%4{3V=Z6`s&hv*u{9pu>v1 zv?Q!552G?iMRkU1CsV~92Z=WEsOVstcr?`0CeDfuqKQ|~0I{e^Tl6jwatU;HG|If^ zJ-suF7Da>25b%GsX!&niRP;83#v29Wwug%SDH$i~D;VtFXdSIl)3aJ=zc1RKwhV@* z-Q})Bf3%LoYGzk4&C#aeHK1RzGlNl?e@+H@54oQ*DJs*NReaz?{DmYMX73`~0nx5c zqK|I@omE_g_3o*xl3=Wlc4aW`VO7tzdb%XTG>PX7kRYMcmHGJ$u9cBadg~t{^p@DS zGEz_bO3+qYcv@rtEu2Zj<;Q}_>5*E7+fPIk(Isa@26Co5_e>!EAtOIhM~3OEfDosw ziqz976M)b?zB(c?yn_gF%vlj}%(p=FkPuiCkq}VYO=}~@O-*pqTJY9x+8q%$4gVwE zvB;={-$y6-nSG8kJwhZ2n7nCvN&I#dXs!>HX-Y2hmo$>DTls zx@qKUAjC~pq=Fpx5+QC-Siz0+ACh|m40j7ap2QVxQ_^NlV7{( z01(A3OYvt!P)NJt;7A%HX5d=7A`DmD%qnrk_=u#hC9LW=L4+c~Js|IVIOW0;IV2zC z58`5IYiC}{z}=8pImZi0EuC^HBxgNB&)%Hgk52i5h(ZpCTQs8VY#=g zdKu4HO_(oA<*}MsrFugl|3dnyDZP_fAP-4b`>83thJIQLld`7KPqWjjIcoP3Azql1 zUQI6?a}K;9Nq=6tB>i1LwDH1HdSPLDa2q<||LTQv(}Vy1&1P*3Z&T>N3p0%udUKaS z9g?2T0n`3avHaf5A;Z%{w6Fc4Vhp&ha<~16beX*IcgtnmR8g3PR2jEg6s9m$#O(`p zIVQ7qhl1fEcmYK*@aW z>!{IT$u*&G_3r8|Mtc=|Ag=Z3@DOUH6GFkvp3J=d86Cy~xW}~mZ>ZP|if*Ks`K1<$1SSW~ zdjwQ9q*7CJ=a~Ap5PZEBCKMQnE6}9Z_zsYgDEAm0vs~7zQqz)Pkz|&ArZO&2WkMH@lmmI=5>|Z| z3NcYW@S}FY_IULY+?kp64!ixkP%U4T{uhDHNE3W^4}q!AGDp%DwR~*J>+b3f5`V6 zrw~Q&Er7JUI#TLY2+F#Zy>(Zpj@wZe!>3vEnt-@FG>Coj1`ydp*(djgQaD7@H?aGF zxB+eTqG)Hx$3@XmsKGKC!XAlNy{fA&V^!U1ROzh!TFA$&y^ClopZoK8Tv|fR`;G4D z4~>B;wmB0zp3m&HBsBOhDC|cot_1|x)iN??l7u#GpcElm?jxd5`@V+Aoo+{B3^<} zlS4@leXT7T7q@6I#<{j=a%d1mFGgd%068R7$3WXcggl7c7#cDSh}}TsxSY6s!GkxN zY9(fACAwY)B?h=I)GMVKcy$8yNQ-{tWK!Kx5bTVrQyr@0)=WLv=pd*G4PX$QO@u6v zYBl0vAc|WM>s#Y0jMZKGt*D^&!`>3oi(ag`%akHsCQ;cT|3>4M5<{zE_1UglvP0!` zOZMfi*ql&b>Twtl^>>(t+z!Y`6U~3RHNbUGtI!!{ZPY&ldZ=fU{c0T=3|xS(jQi-1 z|0D-5WZ?{EFcg9if+=Y@M}!>;as|>i;Y@w&qT>d>i0=< z_GJwWlfR&TP0AK!`esO!I?1y7K(qW73YnvYP}#%-SA4OU)Vl?9lKOJW{wo}+7d!Kk zFBljKC_e$-flw-qFaVD?><6zn*!otBjLFYxF* zuhqMpKEev-TacQGGrj^IiIEp4lC2?Bk!WQ*e2u}cs6wtcha}DX%h+L)b%(h%?yrj7 z4C<_x*!h!_$~X>p!^VtHx$0=tJ}qctuW6~KCi(JQE>zOWuUvpOHw8OcIz0gDtXmj> zHw7yn1ASLqMazDZa{dyOh45@5B$l=YrDN6s(Z<<3P5|}o!C>4WWLk}nb_gP$%ilJ& zLWbfG4d!WY zE+us`hsOM1>V4q$0THkAJYzvn!km9kQrysFSu3GQ_RAdc#|Kk5$o{}@YYl7la3^)dr^Z~ z7t8mD<5jzK)qbgJK-KH4lBD&tBT1|KpV(?Os)kVZi}b`tP9X>17*thmKps5IEaJBD z)ZjCxsE)w!>rpfOPJH!y2w$gzIQIxccw-gTbtjv`zcEkXkkfb9;!U*Z0mrulG9@9s zXkQPSHTY-WVXj}af zD)xbO^%DS6VgT+3(2u}vE^r-y!-=^Rz)AoO>j2b|&+t8fhJT8$LW(%dhyW;u8g8eH zh@04)BAy~Z5&H>Hga8x~{<9HL3qVBlBX>3(K?(SO;`$Xvz!{a6H5>XP2L?UvSt1e= zu4Q%qW-Vox@bu1!PxX$+gIOk^s&LxLdbiFbtgZD7!ZxqbzhCbSU|( zM}j=cxi*lt6{OYJORy?IQfC3%F9oF)DD}$$unj(+-%d z9k3UO;s%W7ejwE*H))fn@aBv*dv<%62#*Y;%mZoXtB^Kc3Nuek3v_)3O~l|+!L^Q9 z@zU)miI+YAP?+eYxDBqSMqiJYU?n;!KIEAx;*N38%i%0*)S(O)FyN`TDur(=)%=*voASR?#TNeQHNN^F#@HM*2F{-<#`(9dL5iO*~2I;xFY{$+tl0u1eEg zwdh75GEV?Sx?eKEb|PeNHQg^;sXr4T*(BnZY*KR*#!eXiSPXG`>|E)WbkU5OPOf1T z`GYrtyz>r;9dLytUj+ybaQ_x^pGA-&;+6Qnx}M zx#{3DZeQ%xCMwFhti*)dwYt(#f?z$WU$tokKcQ{k<%{Fp%e9CwoagL z+mo(B8uyJi7$3=EMbWkFf_2^waxB*oS?AD#bzYglex-iW7w38<$M(Ou-K8aq)aQGH z$z{J4Qf=~J6`SnxrVV40&hsF5vE5@So4n*rc^FM(pZh`RA^Y4eh5O5W?yWAB_ZBR( z-5S~HPAo8Ea>W$)BPm>DJYRB-dj$+T%CDaqeET!^I7hv5!0ImXbaO3aX5PR)uJopO z|D(@pPD7{iP_bjn(Frf;>Pns)_JS3~4GZzWA-YHJp)B&sPM=;exGcgTQ8ixQMv%$q zt}?t+HEX#hW|iJBy;=}nsnnRP4-{{pr3C8oLtbHxkbM%&MxYSq^#;6FC_ zb)X-cfLCB8^uQmMfG^bepvS#Q%Br80P(9qOc0FbFIyRvi99w5An3MZ}u}#ig%6lJ6 z(>*Ebd$6h4OXt;is&nAeitCtJYdv*Oqg6!(Yx;YtxhGa37hvi%FSY`9+)2 zm1K}S1)61u*P_V`Jdn=Ql$H2C3eU0Q+{Zo#-$ )1^51S<`y*6E-Z|lOHZZ2Yt#( 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/bin/cvirtos.map b/freertos/cvitek/install/bin/cvirtos.map new file mode 100644 index 000000000..5d081654a --- /dev/null +++ b/freertos/cvitek/install/bin/cvirtos.map @@ -0,0 +1,3510 @@ +Archive member included to satisfy reference by file (symbol) + +comm/libcomm.a(comm_main.c.obj) + main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj (main_cvirtos) +rgn/librgn.a(rgn_main.c.obj) comm/libcomm.a(comm_main.c.obj) (prvRGNRunTask) +audio/libaudio.a(audio_main.c.obj) + comm/libcomm.a(comm_main.c.obj) (prvAudioRunTask) +audio/libaudio.a(cviaudio_algo_interface.c.obj) + audio/libaudio.a(audio_main.c.obj) (CviAud_Algo_Init) +audio/libaudio.a(cvi_ssp_interface.c.obj) + audio/libaudio.a(cviaudio_algo_interface.c.obj) (audio_ssp_init) +audio/libaudio.a(dc.c.obj) audio/libaudio.a(cvi_ssp_interface.c.obj) (DC_remover_init) +audio/libaudio.a(delay.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (delay_para) +audio/libaudio.a(dg.c.obj) audio/libaudio.a(cvi_ssp_interface.c.obj) (DG_para) +audio/libaudio.a(eq.c.obj) audio/libaudio.a(cvi_ssp_interface.c.obj) (equalizer_para) +audio/libaudio.a(lpaec.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (LP_AEC_para) +audio/libaudio.a(lpaec_subfun.c.obj) + audio/libaudio.a(lpaec.c.obj) (DC_filter) +audio/libaudio.a(mmse.c.obj) audio/libaudio.a(cvi_ssp_interface.c.obj) (NR) +audio/libaudio.a(mmse_init.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (NR_para) +audio/libaudio.a(nlpaes.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (NLP_AES_para) +audio/libaudio.a(nlpaes_subfun.c.obj) + audio/libaudio.a(nlpaes.c.obj) (filterbank_create) +audio/libaudio.a(notch.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (notch_para) +audio/libaudio.a(packfft.c.obj) + audio/libaudio.a(lpaec.c.obj) (speech_fft_init) +audio/libaudio.a(power.c.obj) + audio/libaudio.a(mmse.c.obj) (c_power) +audio/libaudio.a(slope_detection.c.obj) + audio/libaudio.a(mmse.c.obj) (slope_detection) +audio/libaudio.a(sum.c.obj) audio/libaudio.a(mmse.c.obj) (c_sum) +audio/libaudio.a(abs.c.obj) audio/libaudio.a(mmse.c.obj) (a_abs) +audio/libaudio.a(agc.c.obj) audio/libaudio.a(cvi_ssp_interface.c.obj) (AGC) +audio/libaudio.a(agc_init.c.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (AGC_init) +audio/libaudio.a(agc_subfun.c.obj) + audio/libaudio.a(agc.c.obj) (envelope) +audio/libaudio.a(bessel.c.obj) + audio/libaudio.a(mmse.c.obj) (bessel_function) +audio/libaudio.a(db2linear.c.obj) + audio/libaudio.a(agc_init.c.obj) (db_to_linear) +audio/libaudio.a(dr_detection.c.obj) + audio/libaudio.a(mmse.c.obj) (dr_detection) +audio/libaudio.a(fftcore.c.obj) + audio/libaudio.a(packfft.c.obj) (core_drft_forward) +audio/libaudio.a(log.c.obj) audio/libaudio.a(mmse.c.obj) (b_log) +audio/libaudio.a(mmse_rtwutil.c.obj) + audio/libaudio.a(abs.c.obj) (rt_hypotf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + audio/libaudio.a(audio_main.c.obj) (inv_dcache_range) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + (_start) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + audio/libaudio.a(cviaudio_algo_interface.c.obj) (memset) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj (printf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + audio/libaudio.a(cvi_ssp_interface.c.obj) (memcpy) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + audio/libaudio.a(audio_main.c.obj) (usleep) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) (vsnprintf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) (gettimeofday) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj (post_system_init) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) (pinmux_init) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) (uart_init) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + comm/libcomm.a(comm_main.c.obj) (cvi_spinlock_init) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + rgn/librgn.a(rgn_main.c.obj) (CVI_OSDC_EstCmprCanvasSize) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) (CVI_OSDC_est_cmpr_canvas_size) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) (clip) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) (hal_uart_init) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + rgn/librgn.a(rgn_main.c.obj) (pvPortMalloc) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + comm/libcomm.a(comm_main.c.obj) (xQueueGenericCreate) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) (vTaskSuspendAll) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) (xTimerCreateTimerTask) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) (vListInitialise) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) (xPortStartScheduler) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) (xPortStartFirstTask) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + audio/libaudio.a(nlpaes_subfun.c.obj) (atan) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + audio/libaudio.a(nlpaes.c.obj) (ceil) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + audio/libaudio.a(lpaec.c.obj) (cos) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + audio/libaudio.a(mmse_rtwutil.c.obj) (fabs) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + audio/libaudio.a(dc.c.obj) (floor) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) (round) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + audio/libaudio.a(mmse.c.obj) (sin) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + audio/libaudio.a(mmse.c.obj) (atan2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + audio/libaudio.a(lpaec.c.obj) (exp) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + audio/libaudio.a(log.c.obj) (log) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) (pow) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + audio/libaudio.a(lpaec.c.obj) (sqrt) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) (__ieee754_atan2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) (__ieee754_exp) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) (__ieee754_log) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) (__ieee754_pow) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) (__ieee754_rem_pio2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) (__ieee754_sqrt) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) (__kernel_cos) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) (__kernel_rem_pio2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) (__kernel_sin) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) (finite) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) (__fdlib_version) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) (nan) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) (rint) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) (scalbn) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + rgn/librgn.a(rgn_main.c.obj) (abs) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) (__errno) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) (_impure_ptr) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) (memmove) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + audio/libaudio.a(cviaudio_algo_interface.c.obj) (sprintf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) (_svfprintf_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (_free_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (_ldtoa_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (_localeconv_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) (__global_locale) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (_malloc_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) (__ascii_mbtowc) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (memchr) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) (__malloc_lock) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) (_Balloc) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) (_sbrk_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (frexp) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) (strcmp) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) (strcpy) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (strlen) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (strncpy) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__ssprint_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) (__ascii_wctomb) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) (__assert_func) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) (_calloc_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) (_ctype_) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) (fiprintf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) (_realloc_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) (errno) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) (_vfiprintf_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) (__swsetup_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) (abort) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) (_fflush_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) (__sinit) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) (_fputwc_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) (__sfvwrite_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) (_fwalk) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) (__smakebuf_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) (raise) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) (_kill_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) (__sread) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) (__swbuf_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) (_wcrtomb_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) (_write_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) (_close_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) (_fclose_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) (_fstat_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) (_isatty_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) (_lseek_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) (_read_r) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) (__clzdi2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__eqtf2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__gttf2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__lttf2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__multf3) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__subtf3) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__fixtfsi) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__floatsitf) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__extenddftf2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) (__trunctfdf2) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) (__clz_tab) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) (_close) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) (_exit) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) (_fstat) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) (_getpid) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) (_isatty) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) (_kill) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) (_lseek) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) (_read) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) (_sbrk) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) (_write) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) (_conv_stat) +/data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) (arch_usleep) + +Discarded input sections + + .text 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .data 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .bss 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .debug_line 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .debug_str 0x0000000000000000 0x1d5 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .comment 0x0000000000000000 0x1e main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .riscv.attributes + 0x0000000000000000 0x35 main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj + .text 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .data 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .bss 0x0000000000000000 0x0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .text.vApplicationIdleHook + 0x0000000000000000 0x16 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .rodata.vMainAssertCalled.str1.8 + 0x0000000000000000 0x1e main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .text.vMainAssertCalled + 0x0000000000000000 0x32 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .text 0x0000000000000000 0x0 comm/libcomm.a(comm_main.c.obj) + .data 0x0000000000000000 0x0 comm/libcomm.a(comm_main.c.obj) + .bss 0x0000000000000000 0x0 comm/libcomm.a(comm_main.c.obj) + .sbss.snapshot + 0x0000000000000000 0x8 comm/libcomm.a(comm_main.c.obj) + .text 0x0000000000000000 0x0 rgn/librgn.a(rgn_main.c.obj) + .data 0x0000000000000000 0x0 rgn/librgn.a(rgn_main.c.obj) + .bss 0x0000000000000000 0x0 rgn/librgn.a(rgn_main.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(audio_main.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(audio_main.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(audio_main.c.obj) + .sbss.paudio_ssp_spk_handle + 0x0000000000000000 0x8 audio/libaudio.a(audio_main.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .rodata.CviAud_Algo_GetVersion.str1.8 + 0x0000000000000000 0x97 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .text.CviAud_Algo_GetVersion + 0x0000000000000000 0x74 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .text.CviAud_SpkAlgo_Init + 0x0000000000000000 0x8c audio/libaudio.a(cviaudio_algo_interface.c.obj) + .rodata.CviAud_SpkAlgo_Process.str1.8 + 0x0000000000000000 0x26 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .text.CviAud_SpkAlgo_Process + 0x0000000000000000 0x7c audio/libaudio.a(cviaudio_algo_interface.c.obj) + .text.CviAud_SpkAlgo_DeInit + 0x0000000000000000 0x40 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .rodata.__func__.0 + 0x0000000000000000 0x16 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .rodata.__func__.1 + 0x0000000000000000 0x17 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .sbss.gv_bEnableAEC + 0x0000000000000000 0x1 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(cvi_ssp_interface.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(cvi_ssp_interface.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.audio_ssp_spk_init.str1.8 + 0x0000000000000000 0x5cb audio/libaudio.a(cvi_ssp_interface.c.obj) + .text.audio_ssp_spk_init + 0x0000000000000000 0x4bc audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.audio_ssp_spk_process.str1.8 + 0x0000000000000000 0x2e audio/libaudio.a(cvi_ssp_interface.c.obj) + .text.audio_ssp_spk_process + 0x0000000000000000 0xde audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.audio_ssp_spk_deinit.str1.8 + 0x0000000000000000 0x39 audio/libaudio.a(cvi_ssp_interface.c.obj) + .text.audio_ssp_spk_deinit + 0x0000000000000000 0x48 audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.__func__.0 + 0x0000000000000000 0x15 audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.__func__.1 + 0x0000000000000000 0x16 audio/libaudio.a(cvi_ssp_interface.c.obj) + .rodata.__func__.2 + 0x0000000000000000 0x13 audio/libaudio.a(cvi_ssp_interface.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(dc.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(dc.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(dc.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(delay.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(delay.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(delay.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(dg.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(dg.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(dg.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(eq.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(eq.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(eq.c.obj) + .text.equalizer_para + 0x0000000000000000 0x256 audio/libaudio.a(eq.c.obj) + .text.equalizer_init + 0x0000000000000000 0x14 audio/libaudio.a(eq.c.obj) + .text.equalizer + 0x0000000000000000 0x10e audio/libaudio.a(eq.c.obj) + .srodata.cst4 0x0000000000000000 0x20 audio/libaudio.a(eq.c.obj) + .rodata.fs16k_kcoef_tab.2 + 0x0000000000000000 0x2c audio/libaudio.a(eq.c.obj) + .rodata.fs8k_kcoef_tab.3 + 0x0000000000000000 0x28 audio/libaudio.a(eq.c.obj) + .rodata.qfactor_tab.0 + 0x0000000000000000 0x48 audio/libaudio.a(eq.c.obj) + .rodata.vcoef_tab.1 + 0x0000000000000000 0xf4 audio/libaudio.a(eq.c.obj) + .debug_info 0x0000000000000000 0x5af audio/libaudio.a(eq.c.obj) + .debug_abbrev 0x0000000000000000 0x161 audio/libaudio.a(eq.c.obj) + .debug_loc 0x0000000000000000 0x711 audio/libaudio.a(eq.c.obj) + .debug_aranges + 0x0000000000000000 0x50 audio/libaudio.a(eq.c.obj) + .debug_ranges 0x0000000000000000 0x40 audio/libaudio.a(eq.c.obj) + .debug_line 0x0000000000000000 0x9cc audio/libaudio.a(eq.c.obj) + .debug_str 0x0000000000000000 0x5c0 audio/libaudio.a(eq.c.obj) + .comment 0x0000000000000000 0x1e audio/libaudio.a(eq.c.obj) + .debug_frame 0x0000000000000000 0x70 audio/libaudio.a(eq.c.obj) + .riscv.attributes + 0x0000000000000000 0x35 audio/libaudio.a(eq.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(lpaec.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(lpaec.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(lpaec.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(lpaec_subfun.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(lpaec_subfun.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(lpaec_subfun.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(mmse.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(mmse.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(mmse.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(mmse_init.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(mmse_init.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(mmse_init.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(nlpaes.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(nlpaes.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(nlpaes.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(nlpaes_subfun.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(nlpaes_subfun.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(nlpaes_subfun.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(notch.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(notch.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(notch.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(packfft.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(packfft.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(packfft.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(power.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(power.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(power.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(slope_detection.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(slope_detection.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(slope_detection.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(sum.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(sum.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(sum.c.obj) + .text.b_sum 0x0000000000000000 0x4c audio/libaudio.a(sum.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(abs.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(abs.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(abs.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(agc.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(agc.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(agc.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(agc_init.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(agc_init.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(agc_init.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(agc_subfun.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(agc_subfun.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(agc_subfun.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(bessel.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(bessel.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(bessel.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(db2linear.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(db2linear.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(db2linear.c.obj) + .text.smooth16bit + 0x0000000000000000 0x1e audio/libaudio.a(db2linear.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(dr_detection.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(dr_detection.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(dr_detection.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(fftcore.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(fftcore.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(fftcore.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(log.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(log.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(log.c.obj) + .text 0x0000000000000000 0x0 audio/libaudio.a(mmse_rtwutil.c.obj) + .data 0x0000000000000000 0x0 audio/libaudio.a(mmse_rtwutil.c.obj) + .bss 0x0000000000000000 0x0 audio/libaudio.a(mmse_rtwutil.c.obj) + .text.rt_hypotd + 0x0000000000000000 0x96 audio/libaudio.a(mmse_rtwutil.c.obj) + .srodata.cst8 0x0000000000000000 0x10 audio/libaudio.a(mmse_rtwutil.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .text.enable_dcache + 0x0000000000000000 0x6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .text.disable_dcache + 0x0000000000000000 0x6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .eh_frame 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .text.nanosleep + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .rodata.plic_mask_irq.str1.8 + 0x0000000000000000 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.plic_mask_irq + 0x0000000000000000 0x52 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.disable_irq + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.enable_irq + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .text.uart_putc + 0x0000000000000000 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .text.uart_getc + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .text.uart_tstc + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .text.cvi_spinlock_deinit + 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .text.spinlock_base + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .text.CVI_OSDC_CmprBitmap + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.count_repeat_pixel + 0x0000000000000000 0x48 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.draw_cmpr_finish + 0x0000000000000000 0x3a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.cmpr_bitmap + 0x0000000000000000 0x14e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.est_cmpr_canvas_size + 0x0000000000000000 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.set_rect_obj_attr + 0x0000000000000000 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.set_bitmap_obj_attr + 0x0000000000000000 0x4e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text.CVI_OSDC_cmpr_bitmap + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.dec_mode_prefix.part.0 + 0x0000000000000000 0xf6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.get_bit_val + 0x0000000000000000 0xe /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.write_multibits + 0x0000000000000000 0x22 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.move_stream_ptr + 0x0000000000000000 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.parse_stream + 0x0000000000000000 0xae /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.set_color + 0x0000000000000000 0xa2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.is_equal_color + 0x0000000000000000 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.palette_cache_lru_update + 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.palette_cache_push_color + 0x0000000000000000 0x34 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.dec_literal + 0x0000000000000000 0x2c2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.enc_run_length + 0x0000000000000000 0x26 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.dec_mode_prefix + 0x0000000000000000 0x8a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.dec_code_syntax + 0x0000000000000000 0x34 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.pixel_preprocess + 0x0000000000000000 0xca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_enc_one_frame + 0x0000000000000000 0x1b8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_dec_one_frame + 0x0000000000000000 0x296 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_dec_header + 0x0000000000000000 0x1dc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .rodata.osd_cmpr_debug_frame_compare.str1.8 + 0x0000000000000000 0x12 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_debug_frame_compare + 0x0000000000000000 0x1b6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .rodata.osd_cmpr_setup.str1.8 + 0x0000000000000000 0x1c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_setup + 0x0000000000000000 0xb6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text.osd_cmpr_get_bs_buf_max_sz + 0x0000000000000000 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .rodata.__func__.0 + 0x0000000000000000 0xf /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .text.hal_uart_getc + 0x0000000000000000 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .text.hal_uart_tstc + 0x0000000000000000 0xe /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text.xPortGetFreeHeapSize + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text.xPortGetMinimumEverFreeHeapSize + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text.vPortInitialiseBlocks + 0x0000000000000000 0x2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text.vPortGetHeapStats + 0x0000000000000000 0xac /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueGetMutexHolder + 0x0000000000000000 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueGetMutexHolderFromISR + 0x0000000000000000 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueCreateCountingSemaphoreStatic + 0x0000000000000000 0x8a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueCreateCountingSemaphore + 0x0000000000000000 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueCreateMutexStatic + 0x0000000000000000 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueGiveMutexRecursive + 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueCreateMutex + 0x0000000000000000 0x54 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueSemaphoreTake + 0x0000000000000000 0x1d0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueTakeMutexRecursive + 0x0000000000000000 0x52 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueuePeek + 0x0000000000000000 0x184 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueuePeekFromISR + 0x0000000000000000 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.uxQueueMessagesWaiting + 0x0000000000000000 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.uxQueueSpacesAvailable + 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.uxQueueMessagesWaitingFromISR + 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.vQueueDelete + 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueIsQueueEmptyFromISR + 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueIsQueueFullFromISR + 0x0000000000000000 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.pcQueueGetName + 0x0000000000000000 0x32 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.vQueueUnregisterQueue + 0x0000000000000000 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.prvSearchForNameWithinSingleList + 0x0000000000000000 0x6a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.uxTaskPriorityGet + 0x0000000000000000 0x56 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.uxTaskPriorityGetFromISR + 0x0000000000000000 0x12 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskResumeFromISR + 0x0000000000000000 0xdc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskEndScheduler + 0x0000000000000000 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGetTickCountFromISR + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.uxTaskGetNumberOfTasks + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.pcTaskGetName + 0x0000000000000000 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskPlaceOnUnorderedEventList + 0x0000000000000000 0x52 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskRemoveFromUnorderedEventList + 0x0000000000000000 0xba /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskSetTimeOutState + 0x0000000000000000 0x5c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGetCurrentTaskHandle + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGetSchedulerState + 0x0000000000000000 0x1c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskPriorityInherit + 0x0000000000000000 0xf4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskPriorityDisinheritAfterTimeout + 0x0000000000000000 0xcc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskDelete + 0x0000000000000000 0x15e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.eTaskGetState + 0x0000000000000000 0xca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskPrioritySet + 0x0000000000000000 0x13a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskSuspend + 0x0000000000000000 0x1a6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskResume + 0x0000000000000000 0xec /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskDelayUntil + 0x0000000000000000 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGetHandle + 0x0000000000000000 0xb6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskCatchUpTicks + 0x0000000000000000 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskAbortDelay + 0x0000000000000000 0xf6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.uxTaskResetEventItemValue + 0x0000000000000000 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.pvTaskIncrementMutexHeldCount + 0x0000000000000000 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.ulTaskGenericNotifyTake + 0x0000000000000000 0xcc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGenericNotifyWait + 0x0000000000000000 0x102 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGenericNotify + 0x0000000000000000 0x148 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGenericNotifyFromISR + 0x0000000000000000 0x162 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskGenericNotifyGiveFromISR + 0x0000000000000000 0xf8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskGenericNotifyStateClear + 0x0000000000000000 0x6c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.ulTaskGenericNotifyValueClear + 0x0000000000000000 0x6e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerCreate + 0x0000000000000000 0x74 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerCreateStatic + 0x0000000000000000 0x6a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerGenericCommand + 0x0000000000000000 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerGetTimerDaemonTaskHandle + 0x0000000000000000 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerGetPeriod + 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.vTimerSetReloadMode + 0x0000000000000000 0x4a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.uxTimerGetReloadMode + 0x0000000000000000 0x2a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerGetExpiryTime + 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.pcTimerGetName + 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerIsTimerActive + 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.pvTimerGetTimerID + 0x0000000000000000 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.vTimerSetTimerID + 0x0000000000000000 0x26 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerPendFunctionCallFromISR + 0x0000000000000000 0x32 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerPendFunctionCall + 0x0000000000000000 0x32 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .text.vListInsertEnd + 0x0000000000000000 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .text.vPortEndScheduler + 0x0000000000000000 0x2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .srodata.ullMachineTimerCompareRegisterBase + 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + .srodata 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + .text 0x0000000000000000 0x98 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sprintf.o) + .text 0x0000000000000000 0x1cb0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .rodata.str1.8 + 0x0000000000000000 0x5a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .rodata 0x0000000000000000 0x190 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .rodata.cst16 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfprintf.o) + .text 0x0000000000000000 0x35e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-freer.o) + .text 0x0000000000000000 0x225e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .rodata.str1.8 + 0x0000000000000000 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .rodata 0x0000000000000000 0x262 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ldtoa.o) + .text 0x0000000000000000 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-localeconv.o) + .text 0x0000000000000000 0xd2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .data 0x0000000000000000 0x1a8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .rodata.str1.8 + 0x0000000000000000 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .sbss 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-locale.o) + .text 0x0000000000000000 0x672 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .data 0x0000000000000000 0x810 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .bss 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .sbss 0x0000000000000000 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .sdata 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mallocr.o) + .text 0x0000000000000000 0x4a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mbtowc_r.o) + .text 0x0000000000000000 0x96 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .srodata.cst8 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memchr.o) + .text 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mlock.o) + .text 0x0000000000000000 0xd44 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .rodata.str1.8 + 0x0000000000000000 0x96 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .srodata.cst8 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .rodata 0x0000000000000000 0x128 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-mprec.o) + .text 0x0000000000000000 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-sbrkr.o) + .text 0x0000000000000000 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .srodata.cst8 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-s_frexp.o) + .text 0x0000000000000000 0xec /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + .srodata.cst8 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + .riscv.attributes + 0x0000000000000000 0x33 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcmp.o) + .text 0x0000000000000000 0xa4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .srodata.cst8 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strcpy.o) + .text 0x0000000000000000 0x98 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .srodata.cst8 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strlen.o) + .text 0x0000000000000000 0x7a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .srodata.cst8 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-strncpy.o) + .text 0x0000000000000000 0xcd6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .rodata.str1.8 + 0x0000000000000000 0x37 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .rodata 0x0000000000000000 0x190 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-svfiprintf.o) + .text 0x0000000000000000 0x2e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wctomb_r.o) + .text 0x0000000000000000 0x5c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .rodata.str1.8 + 0x0000000000000000 0x47 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-assert.o) + .text 0x0000000000000000 0x8e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-callocr.o) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .rodata 0x0000000000000000 0x101 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-ctype_.o) + .text 0x0000000000000000 0x56 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fiprintf.o) + .text 0x0000000000000000 0x43a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reallocr.o) + .text 0x0000000000000000 0x146 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .sbss 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-reent.o) + .text 0x0000000000000000 0xe10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .rodata.str1.8 + 0x0000000000000000 0x37 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .rodata 0x0000000000000000 0x190 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-vfiprintf.o) + .text 0x0000000000000000 0x108 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wsetup.o) + .text 0x0000000000000000 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abort.o) + .text 0x0000000000000000 0x23a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fflush.o) + .text 0x0000000000000000 0x2e8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-findfp.o) + .text 0x0000000000000000 0x156 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fputwc.o) + .text 0x0000000000000000 0x35e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fvwrite.o) + .text 0x0000000000000000 0x10c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fwalk.o) + .text 0x0000000000000000 0x1ac /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-makebuf.o) + .text 0x0000000000000000 0x38e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signal.o) + .text 0x0000000000000000 0x48 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-signalr.o) + .text 0x0000000000000000 0xee /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-stdio.o) + .text 0x0000000000000000 0x11c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wbuf.o) + .text 0x0000000000000000 0xa2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-wcrtomb.o) + .text 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-writer.o) + .text 0x0000000000000000 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-closer.o) + .text 0x0000000000000000 0x130 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fclose.o) + .text 0x0000000000000000 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-fstatr.o) + .text 0x0000000000000000 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-isattyr.o) + .text 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-lseekr.o) + .text 0x0000000000000000 0x42 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-readr.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .text 0x0000000000000000 0x94 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_info 0x0000000000000000 0x2bb /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_abbrev 0x0000000000000000 0x158 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_loc 0x0000000000000000 0x2a8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_ranges 0x0000000000000000 0xb0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_line 0x0000000000000000 0x34c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_str 0x0000000000000000 0x2ff /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .debug_frame 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(eqtf2.o) + .text 0x0000000000000000 0xa6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_info 0x0000000000000000 0x29d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_abbrev 0x0000000000000000 0x16f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_loc 0x0000000000000000 0x21a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_ranges 0x0000000000000000 0xb0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_line 0x0000000000000000 0x360 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_str 0x0000000000000000 0x323 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .debug_frame 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(getf2.o) + .text 0x0000000000000000 0xa6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_info 0x0000000000000000 0x29d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_abbrev 0x0000000000000000 0x16f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_loc 0x0000000000000000 0x219 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_ranges 0x0000000000000000 0xb0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_line 0x0000000000000000 0x360 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_str 0x0000000000000000 0x323 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .debug_frame 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(letf2.o) + .text 0x0000000000000000 0x608 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .rodata 0x0000000000000000 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_info 0x0000000000000000 0x8d9 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_abbrev 0x0000000000000000 0x19f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_loc 0x0000000000000000 0x1ee6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_ranges 0x0000000000000000 0x590 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_line 0x0000000000000000 0x123f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_str 0x0000000000000000 0x5f8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .debug_frame 0x0000000000000000 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(multf3.o) + .text 0x0000000000000000 0x834 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_info 0x0000000000000000 0x65f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_abbrev 0x0000000000000000 0x177 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_loc 0x0000000000000000 0x2147 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_ranges 0x0000000000000000 0x690 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_line 0x0000000000000000 0x14fa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_str 0x0000000000000000 0x3ee /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .debug_frame 0x0000000000000000 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(subtf3.o) + .text 0x0000000000000000 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_info 0x0000000000000000 0x239 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_abbrev 0x0000000000000000 0x157 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_loc 0x0000000000000000 0x488 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_ranges 0x0000000000000000 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_line 0x0000000000000000 0x364 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_str 0x0000000000000000 0x2fc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .debug_frame 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(fixtfsi.o) + .text 0x0000000000000000 0x5c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_info 0x0000000000000000 0x2ee /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_abbrev 0x0000000000000000 0x17e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_loc 0x0000000000000000 0x146 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_ranges 0x0000000000000000 0xa0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_line 0x0000000000000000 0x27f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_str 0x0000000000000000 0x39b /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .debug_frame 0x0000000000000000 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(floatsitf.o) + .text 0x0000000000000000 0xc6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_info 0x0000000000000000 0x2e5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_abbrev 0x0000000000000000 0x15a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_loc 0x0000000000000000 0x3a6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_ranges 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_line 0x0000000000000000 0x3dc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_str 0x0000000000000000 0x32a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .debug_frame 0x0000000000000000 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(extenddftf2.o) + .text 0x0000000000000000 0x22c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_info 0x0000000000000000 0x30b /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_abbrev 0x0000000000000000 0x14f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_loc 0x0000000000000000 0x8fa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_aranges + 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_ranges 0x0000000000000000 0x130 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_line 0x0000000000000000 0x6f0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_str 0x0000000000000000 0x37f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .comment 0x0000000000000000 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .debug_frame 0x0000000000000000 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(trunctfdf2.o) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .text 0x0000000000000000 0x3a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_close.o) + .text 0x0000000000000000 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_exit.o) + .text 0x0000000000000000 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_fstat.o) + .text 0x0000000000000000 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_getpid.o) + .text 0x0000000000000000 0x2a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_isatty.o) + .text 0x0000000000000000 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_kill.o) + .text 0x0000000000000000 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_lseek.o) + .text 0x0000000000000000 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_read.o) + .text 0x0000000000000000 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .sbss 0x0000000000000000 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_sbrk.o) + .text 0x0000000000000000 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_write.o) + .text 0x0000000000000000 0x5a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + .comment 0x0000000000000000 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + .riscv.attributes + 0x0000000000000000 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a(sim-sys_conv_stat.o) + .text 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + .data 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + .bss 0x0000000000000000 0x0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + .text.arch_nsleep + 0x0000000000000000 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +Memory Configuration + +Name Origin Length Attributes +psu_ddr_0_MEM_0 0x0000000083f40000 0x00000000000c0000 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD main/CMakeFiles/cvirtos.elf.dir/src/FreeRTOS_tick_config.c.obj +LOAD main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj +START GROUP +LOAD comm/libcomm.a +LOAD rgn/librgn.a +LOAD audio/libaudio.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libaudio.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcomm.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/librgn.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a +LOAD /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libsim.a +END GROUP + 0x0000000080200000 CONFIG_SYS_TEXT_BASE = 0x80200000 + 0x0000000000080000 CVIMMAP_ATF_SIZE = 0x80000 + 0x0000000082473000 CVIMMAP_BOOTLOGO_ADDR = 0x82473000 + 0x0000000000000000 CVIMMAP_BOOTLOGO_SIZE = 0x0 + 0x0000000082300000 CVIMMAP_CONFIG_SYS_INIT_SP_ADDR = 0x82300000 + 0x00000000813ffc00 CVIMMAP_CVI_UPDATE_HEADER_ADDR = 0x813ffc00 + 0x0000000000000400 CVIMMAP_CVI_UPDATE_HEADER_SIZE = 0x400 + 0x0000000080000000 CVIMMAP_DRAM_BASE = 0x80000000 + 0x0000000004000000 CVIMMAP_DRAM_SIZE = 0x4000000 + 0x0000000083f40000 CVIMMAP_FREERTOS_ADDR = 0x83f40000 + 0x0000000000000000 CVIMMAP_FREERTOS_RESERVED_ION_SIZE = 0x0 + 0x00000000000c0000 CVIMMAP_FREERTOS_SIZE = 0xc0000 + 0x0000000083f40000 CVIMMAP_FSBL_C906L_START_ADDR = 0x83f40000 + 0x0000000081400000 CVIMMAP_FSBL_UNZIP_ADDR = 0x81400000 + 0x0000000000f00000 CVIMMAP_FSBL_UNZIP_SIZE = 0xf00000 + 0x0000000082473000 CVIMMAP_H26X_BITSTREAM_ADDR = 0x82473000 + 0x0000000000000000 CVIMMAP_H26X_BITSTREAM_SIZE = 0x0 + 0x0000000082473000 CVIMMAP_H26X_ENC_BUFF_ADDR = 0x82473000 + 0x0000000000000000 CVIMMAP_H26X_ENC_BUFF_SIZE = 0x0 + 0x0000000082473000 CVIMMAP_ION_ADDR = 0x82473000 + 0x0000000001acd000 CVIMMAP_ION_SIZE = 0x1acd000 + 0x0000000082473000 CVIMMAP_ISP_MEM_BASE_ADDR = 0x82473000 + 0x0000000000000000 CVIMMAP_ISP_MEM_BASE_SIZE = 0x0 + 0x0000000080000000 CVIMMAP_KERNEL_MEMORY_ADDR = 0x80000000 + 0x0000000003f40000 CVIMMAP_KERNEL_MEMORY_SIZE = 0x3f40000 + 0x0000000080000000 CVIMMAP_MONITOR_ADDR = 0x80000000 + 0x0000000080080000 CVIMMAP_OPENSBI_FDT_ADDR = 0x80080000 + 0x0000000000080000 CVIMMAP_OPENSBI_SIZE = 0x80000 + 0x0000000081400000 CVIMMAP_UIMAG_ADDR = 0x81400000 + 0x0000000000f00000 CVIMMAP_UIMAG_SIZE = 0xf00000 + 0x0000000000020000 _STACK_SIZE = DEFINED (_STACK_SIZE)?_STACK_SIZE:0x20000 + 0x0000000000000400 _EL0_STACK_SIZE = DEFINED (_EL0_STACK_SIZE)?_EL0_STACK_SIZE:0x400 + 0x0000000000000800 _EL1_STACK_SIZE = DEFINED (_EL1_STACK_SIZE)?_EL1_STACK_SIZE:0x800 + 0x0000000000000400 _EL2_STACK_SIZE = DEFINED (_EL2_STACK_SIZE)?_EL2_STACK_SIZE:0x400 + +.text 0x0000000083f40000 0x10108 + *(.vectors) + .vectors 0x0000000083f40000 0x100 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + 0x0000000083f40000 _start + *(.boot) + *(.text) + .text 0x0000000083f40100 0xf6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + 0x0000000083f40100 memcpy + *fill* 0x0000000083f401f6 0xa + .text 0x0000000083f40200 0x390 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + 0x0000000083f40200 freertos_risc_v_trap_handler + 0x0000000083f40400 xPortStartFirstTask + 0x0000000083f40500 pxPortInitialiseStack + .text 0x0000000083f40590 0x20a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + 0x0000000083f40590 atan + .text 0x0000000083f4079a 0x138 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + 0x0000000083f4079a ceil + .text 0x0000000083f408d2 0x76 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + 0x0000000083f408d2 cos + .text 0x0000000083f40948 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + 0x0000000083f40948 fabs + .text 0x0000000083f40962 0x13e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + 0x0000000083f40962 floor + .text 0x0000000083f40aa0 0xc6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + 0x0000000083f40aa0 round + .text 0x0000000083f40b66 0x78 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + 0x0000000083f40b66 sin + .text 0x0000000083f40bde 0x2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + 0x0000000083f40bde atan2 + .text 0x0000000083f40be0 0x7a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + 0x0000000083f40be0 exp + .text 0x0000000083f40c5a 0x68 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + 0x0000000083f40c5a log + .text 0x0000000083f40cc2 0x130 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + 0x0000000083f40cc2 pow + .text 0x0000000083f40df2 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + 0x0000000083f40df2 sqrt + .text 0x0000000083f40e42 0x1ea /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + 0x0000000083f40e42 __ieee754_atan2 + .text 0x0000000083f4102c 0x27e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + 0x0000000083f4102c __ieee754_exp + .text 0x0000000083f412aa 0x250 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + 0x0000000083f412aa __ieee754_log + .text 0x0000000083f414fa 0x774 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + 0x0000000083f414fa __ieee754_pow + .text 0x0000000083f41c6e 0x2c6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + 0x0000000083f41c6e __ieee754_rem_pio2 + .text 0x0000000083f41f34 0x1dc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + 0x0000000083f41f34 __ieee754_sqrt + .text 0x0000000083f42110 0x148 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + 0x0000000083f42110 __kernel_cos + .text 0x0000000083f42258 0x758 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + 0x0000000083f42258 __kernel_rem_pio2 + .text 0x0000000083f429b0 0xa4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + 0x0000000083f429b0 __kernel_sin + .text 0x0000000083f42a54 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + 0x0000000083f42a54 finite + .text 0x0000000083f42a68 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + 0x0000000083f42a68 nan + .text 0x0000000083f42a72 0x16a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + 0x0000000083f42a72 rint + .text 0x0000000083f42bdc 0x12a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + 0x0000000083f42bdc scalbn + .text 0x0000000083f42d06 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + 0x0000000083f42d06 abs + .text 0x0000000083f42d10 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + 0x0000000083f42d10 __errno + .text 0x0000000083f42d1a 0xd6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + 0x0000000083f42d1a memmove + .text 0x0000000083f42df0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + 0x0000000083f42df0 __clzdi2 + *(.text.*) + .text.startup.main + 0x0000000083f42e20 0x34 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42e20 main + .text.vApplicationMallocFailedHook + 0x0000000083f42e54 0x1a main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42e54 vApplicationMallocFailedHook + .text.vApplicationStackOverflowHook + 0x0000000083f42e6e 0x28 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42e6e vApplicationStackOverflowHook + .text.vApplicationTickHook + 0x0000000083f42e96 0x2 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42e96 vApplicationTickHook + .text.vApplicationGetIdleTaskMemory + 0x0000000083f42e98 0x1c main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42e98 vApplicationGetIdleTaskMemory + .text.vApplicationGetTimerTaskMemory + 0x0000000083f42eb4 0x1e main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f42eb4 vApplicationGetTimerTaskMemory + .text.prvCmdQuRunTask + 0x0000000083f42ed2 0x298 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f42ed2 prvCmdQuRunTask + .text.prvQueueISR + 0x0000000083f4316a 0x186 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f4316a prvQueueISR + .text.main_GetMODHandle + 0x0000000083f432f0 0x24 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f432f0 main_GetMODHandle + .text.main_create_tasks + 0x0000000083f43314 0x4e comm/libcomm.a(comm_main.c.obj) + 0x0000000083f43314 main_create_tasks + .text.main_cvirtos + 0x0000000083f43362 0x36 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f43362 main_cvirtos + .text.prvRGNRunTask + 0x0000000083f43398 0x398 rgn/librgn.a(rgn_main.c.obj) + 0x0000000083f43398 prvRGNRunTask + .text.cvi_audio_init_test + 0x0000000083f43730 0x56 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f43730 cvi_audio_init_test + .text.prvAudioRunTask + 0x0000000083f43786 0x876 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f43786 prvAudioRunTask + .text.CviAud_Algo_Init + 0x0000000083f43ffc 0xa4 audio/libaudio.a(cviaudio_algo_interface.c.obj) + 0x0000000083f43ffc CviAud_Algo_Init + .text.CviAud_Algo_Process + 0x0000000083f440a0 0x6c audio/libaudio.a(cviaudio_algo_interface.c.obj) + 0x0000000083f440a0 CviAud_Algo_Process + .text.CviAud_Algo_DeInit + 0x0000000083f4410c 0x38 audio/libaudio.a(cviaudio_algo_interface.c.obj) + 0x0000000083f4410c CviAud_Algo_DeInit + .text.audio_ssp_init + 0x0000000083f44144 0x37a audio/libaudio.a(cvi_ssp_interface.c.obj) + 0x0000000083f44144 audio_ssp_init + .text.audio_ssp_process + 0x0000000083f444be 0x4e4 audio/libaudio.a(cvi_ssp_interface.c.obj) + 0x0000000083f444be audio_ssp_process + .text.audio_ssp_deinit + 0x0000000083f449a2 0xde audio/libaudio.a(cvi_ssp_interface.c.obj) + 0x0000000083f449a2 audio_ssp_deinit + .text.DC_remover_init + 0x0000000083f44a80 0x46 audio/libaudio.a(dc.c.obj) + 0x0000000083f44a80 DC_remover_init + .text.DC_remover + 0x0000000083f44ac6 0x106 audio/libaudio.a(dc.c.obj) + 0x0000000083f44ac6 DC_remover + .text.delay_para + 0x0000000083f44bcc 0x26 audio/libaudio.a(delay.c.obj) + 0x0000000083f44bcc delay_para + .text.delay_init + 0x0000000083f44bf2 0x82 audio/libaudio.a(delay.c.obj) + 0x0000000083f44bf2 delay_init + .text.delay_free + 0x0000000083f44c74 0x1a audio/libaudio.a(delay.c.obj) + 0x0000000083f44c74 delay_free + .text.delay_ref + 0x0000000083f44c8e 0x52 audio/libaudio.a(delay.c.obj) + 0x0000000083f44c8e delay_ref + .text.DG_para 0x0000000083f44ce0 0x58 audio/libaudio.a(dg.c.obj) + 0x0000000083f44ce0 DG_para + .text.apply_DG + 0x0000000083f44d38 0x88 audio/libaudio.a(dg.c.obj) + 0x0000000083f44d38 apply_DG + .text.compen_DG + 0x0000000083f44dc0 0xbc audio/libaudio.a(dg.c.obj) + 0x0000000083f44dc0 compen_DG + .text.LP_AEC_para + 0x0000000083f44e7c 0x42 audio/libaudio.a(lpaec.c.obj) + 0x0000000083f44e7c LP_AEC_para + .text.LP_AEC_init + 0x0000000083f44ebe 0x4d8 audio/libaudio.a(lpaec.c.obj) + 0x0000000083f44ebe LP_AEC_init + .text.echo_state_reset + 0x0000000083f45396 0x12c audio/libaudio.a(lpaec.c.obj) + 0x0000000083f45396 echo_state_reset + .text.LP_AEC_free + 0x0000000083f454c2 0xb8 audio/libaudio.a(lpaec.c.obj) + 0x0000000083f454c2 LP_AEC_free + .text.LP_AEC 0x0000000083f4557a 0xcd8 audio/libaudio.a(lpaec.c.obj) + 0x0000000083f4557a LP_AEC + .text.DC_filter + 0x0000000083f46252 0x78 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f46252 DC_filter + .text.inner_prod + 0x0000000083f462ca 0x46 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f462ca inner_prod + .text.bin_power_spectrum + 0x0000000083f46310 0x7e audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f46310 bin_power_spectrum + .text.accum_power_spectrum + 0x0000000083f4638e 0x92 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f4638e accum_power_spectrum + .text.accum_spectral_mul + 0x0000000083f46420 0xf0 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f46420 accum_spectral_mul + .text.weighted_gradient_phi + 0x0000000083f46510 0xd2 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f46510 weighted_gradient_phi + .text.aec_adjust_prop + 0x0000000083f465e2 0x114 audio/libaudio.a(lpaec_subfun.c.obj) + 0x0000000083f465e2 aec_adjust_prop + .text.NR 0x0000000083f466f6 0xccc audio/libaudio.a(mmse.c.obj) + 0x0000000083f466f6 NR + .text.NR_para 0x0000000083f473c2 0x11c audio/libaudio.a(mmse_init.c.obj) + 0x0000000083f473c2 NR_para + .text.NR_init 0x0000000083f474de 0x2da audio/libaudio.a(mmse_init.c.obj) + 0x0000000083f474de NR_init + .text.NR_free 0x0000000083f477b8 0x62 audio/libaudio.a(mmse_init.c.obj) + 0x0000000083f477b8 NR_free + .text.NLP_AES_para + 0x0000000083f4781a 0x76 audio/libaudio.a(nlpaes.c.obj) + 0x0000000083f4781a NLP_AES_para + .text.NLP_AES_init + 0x0000000083f47890 0x2ba audio/libaudio.a(nlpaes.c.obj) + 0x0000000083f47890 NLP_AES_init + .text.NLP_AES_free + 0x0000000083f47b4a 0x86 audio/libaudio.a(nlpaes.c.obj) + 0x0000000083f47b4a NLP_AES_free + .text.std_residual_echo + 0x0000000083f47bd0 0x328 audio/libaudio.a(nlpaes.c.obj) + 0x0000000083f47bd0 std_residual_echo + .text.NLP_AES 0x0000000083f47ef8 0x86c audio/libaudio.a(nlpaes.c.obj) + 0x0000000083f47ef8 NLP_AES + .text.filterbank_create + 0x0000000083f48764 0x20c audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48764 filterbank_create + .text.filterbank_free + 0x0000000083f48970 0x2c audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48970 filterbank_free + .text.filterbank_linear2sb + 0x0000000083f4899c 0x7c audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f4899c filterbank_linear2sb + .text.filterbank_sb2linear + 0x0000000083f48a18 0x58 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48a18 filterbank_sb2linear + .text.aes_conj_window + 0x0000000083f48a70 0x132 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48a70 aes_conj_window + .text.aes_hypergeom_gain + 0x0000000083f48ba2 0xc6 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48ba2 aes_hypergeom_gain + .text.aes_qcurve + 0x0000000083f48c68 0x1e audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48c68 aes_qcurve + .text.aes_gain_floor + 0x0000000083f48c86 0x98 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48c86 aes_gain_floor + .text.aes_analysis + 0x0000000083f48d1e 0x16c audio/libaudio.a(nlpaes_subfun.c.obj) + 0x0000000083f48d1e aes_analysis + .text.notch_para + 0x0000000083f48e8a 0x48 audio/libaudio.a(notch.c.obj) + 0x0000000083f48e8a notch_para + .text.notch_init + 0x0000000083f48ed2 0x1a audio/libaudio.a(notch.c.obj) + 0x0000000083f48ed2 notch_init + .text.notch_filter + 0x0000000083f48eec 0x16a audio/libaudio.a(notch.c.obj) + 0x0000000083f48eec notch_filter + .text.speech_fft_init + 0x0000000083f49056 0x2e audio/libaudio.a(packfft.c.obj) + 0x0000000083f49056 speech_fft_init + .text.speech_fft_free + 0x0000000083f49084 0x18 audio/libaudio.a(packfft.c.obj) + 0x0000000083f49084 speech_fft_free + .text.speech_fft + 0x0000000083f4909c 0x6c audio/libaudio.a(packfft.c.obj) + 0x0000000083f4909c speech_fft + .text.speech_ifft + 0x0000000083f49108 0x2c audio/libaudio.a(packfft.c.obj) + 0x0000000083f49108 speech_ifft + .text.c_power 0x0000000083f49134 0x2c audio/libaudio.a(power.c.obj) + 0x0000000083f49134 c_power + .text.d_power 0x0000000083f49160 0x3a audio/libaudio.a(power.c.obj) + 0x0000000083f49160 d_power + .text.slope_detection + 0x0000000083f4919a 0xbc audio/libaudio.a(slope_detection.c.obj) + 0x0000000083f4919a slope_detection + .text.c_sum 0x0000000083f49256 0x2e audio/libaudio.a(sum.c.obj) + 0x0000000083f49256 c_sum + .text.a_abs 0x0000000083f49284 0x4a audio/libaudio.a(abs.c.obj) + 0x0000000083f49284 a_abs + .text.AGC 0x0000000083f492ce 0x462 audio/libaudio.a(agc.c.obj) + 0x0000000083f492ce AGC + .text.AGC_init + 0x0000000083f49730 0x8e audio/libaudio.a(agc_init.c.obj) + 0x0000000083f49730 AGC_init + .text.AGC_para + 0x0000000083f497be 0x1f4 audio/libaudio.a(agc_init.c.obj) + 0x0000000083f497be AGC_para + .text.envelope + 0x0000000083f499b2 0x56 audio/libaudio.a(agc_subfun.c.obj) + 0x0000000083f499b2 envelope + .text.update_gain + 0x0000000083f49a08 0x42 audio/libaudio.a(agc_subfun.c.obj) + 0x0000000083f49a08 update_gain + .text.bessel_function + 0x0000000083f49a4a 0x11e audio/libaudio.a(bessel.c.obj) + 0x0000000083f49a4a bessel_function + .text.db_to_linear + 0x0000000083f49b68 0x3e audio/libaudio.a(db2linear.c.obj) + 0x0000000083f49b68 db_to_linear + .text.dr_detection + 0x0000000083f49ba6 0x18c audio/libaudio.a(dr_detection.c.obj) + 0x0000000083f49ba6 dr_detection + .text.dradf2 0x0000000083f49d32 0x174 audio/libaudio.a(fftcore.c.obj) + .text.dradf4 0x0000000083f49ea6 0x30a audio/libaudio.a(fftcore.c.obj) + .text.dradb2 0x0000000083f4a1b0 0x174 audio/libaudio.a(fftcore.c.obj) + .text.dradb3 0x0000000083f4a324 0x1cc audio/libaudio.a(fftcore.c.obj) + .text.dradb4 0x0000000083f4a4f0 0x302 audio/libaudio.a(fftcore.c.obj) + .text.dradfg 0x0000000083f4a7f2 0x8f6 audio/libaudio.a(fftcore.c.obj) + .text.dradbg 0x0000000083f4b0e8 0x7fc audio/libaudio.a(fftcore.c.obj) + .text.core_drft_forward + 0x0000000083f4b8e4 0x174 audio/libaudio.a(fftcore.c.obj) + 0x0000000083f4b8e4 core_drft_forward + .text.core_drft_backward + 0x0000000083f4ba58 0x190 audio/libaudio.a(fftcore.c.obj) + 0x0000000083f4ba58 core_drft_backward + .text.core_drft_init + 0x0000000083f4bbe8 0x20a audio/libaudio.a(fftcore.c.obj) + 0x0000000083f4bbe8 core_drft_init + .text.core_drft_clear + 0x0000000083f4bdf2 0x2a audio/libaudio.a(fftcore.c.obj) + 0x0000000083f4bdf2 core_drft_clear + .text.b_log 0x0000000083f4be1c 0x32 audio/libaudio.a(log.c.obj) + 0x0000000083f4be1c b_log + .text.rt_hypotf + 0x0000000083f4be4e 0xc2 audio/libaudio.a(mmse_rtwutil.c.obj) + 0x0000000083f4be4e rt_hypotf + .text.inv_dcache_range + 0x0000000083f4bf10 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + 0x0000000083f4bf10 inv_dcache_range + .text.clean_dcache_range + 0x0000000083f4bf34 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + 0x0000000083f4bf34 clean_dcache_range + .text.flush_dcache_range + 0x0000000083f4bf58 0x24 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + 0x0000000083f4bf58 flush_dcache_range + .text.memset 0x0000000083f4bf7c 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + 0x0000000083f4bf7c memset + .text.printf 0x0000000083f4bf94 0x62 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + 0x0000000083f4bf94 printf + .text.usleep 0x0000000083f4bff6 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + 0x0000000083f4bff6 usleep + .text.vsnprintf + 0x0000000083f4bffa 0x276 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + 0x0000000083f4bffa vsnprintf + .text.snprintf + 0x0000000083f4c270 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + 0x0000000083f4c270 snprintf + .text.gettimeofday + 0x0000000083f4c290 0x36 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + 0x0000000083f4c290 gettimeofday + .text.plic_ack_irq + 0x0000000083f4c2c6 0xe /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.plic_eoi_irq + 0x0000000083f4c2d4 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.plic_set_priority_irq + 0x0000000083f4c2e0 0x12 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.plic_set_threshold + 0x0000000083f4c2f2 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.plic_unmask_irq + 0x0000000083f4c2fe 0x48 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .text.GetCommInfo + 0x0000000083f4c346 0xce /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c346 GetCommInfo + .text.post_system_init + 0x0000000083f4c414 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c414 post_system_init + .text.irq_init + 0x0000000083f4c42c 0x68 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c42c irq_init + .text.pre_system_init + 0x0000000083f4c494 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c494 pre_system_init + .text.request_irq + 0x0000000083f4c4b4 0x74 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c4b4 request_irq + .text.do_irq 0x0000000083f4c528 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f4c528 do_irq + .text.pinmux_init + 0x0000000083f4c588 0x2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + 0x0000000083f4c588 pinmux_init + .text.uart_init + 0x0000000083f4c58a 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c58a uart_init + .text.uart_puts + 0x0000000083f4c59e 0x4a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c59e uart_puts + .text.dump_uart_init + 0x0000000083f4c5e8 0xde /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c5e8 dump_uart_init + .text.dump_uart_enable + 0x0000000083f4c6c6 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c6c6 dump_uart_enable + .text.dump_uart_disable + 0x0000000083f4c6de 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c6de dump_uart_disable + .text.dump_uart_msg + 0x0000000083f4c6f6 0x66 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c6f6 dump_uart_msg + .text.uart_put_buff + 0x0000000083f4c75c 0x392 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f4c75c uart_put_buff + .text.cvi_spinlock_init + 0x0000000083f4caee 0x58 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x0000000083f4caee cvi_spinlock_init + .text.hw_spin_lock + 0x0000000083f4cb46 0xdc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x0000000083f4cb46 hw_spin_lock + .text._hw_raw_spin_lock_irqsave + 0x0000000083f4cc22 0x66 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x0000000083f4cc22 _hw_raw_spin_lock_irqsave + .text._hw_raw_spin_unlock_irqrestore + 0x0000000083f4cc88 0x6c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x0000000083f4cc88 _hw_raw_spin_unlock_irqrestore + .text.CVI_OSDC_EstCmprCanvasSize + 0x0000000083f4ccf4 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x0000000083f4ccf4 CVI_OSDC_EstCmprCanvasSize + .text.CVI_OSDC_DrawCmprCanvas + 0x0000000083f4ccf8 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x0000000083f4ccf8 CVI_OSDC_DrawCmprCanvas + .text.CVI_OSDC_SetRectObjAttr + 0x0000000083f4ccfc 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x0000000083f4ccfc CVI_OSDC_SetRectObjAttr + .text.CVI_OSDC_SetBitmapObjAttr + 0x0000000083f4cd04 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x0000000083f4cd04 CVI_OSDC_SetBitmapObjAttr + .text.CVI_OSDC_SetLineObjAttr + 0x0000000083f4cd08 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x0000000083f4cd08 CVI_OSDC_SetLineObjAttr + .text.recycle_obj_slices + 0x0000000083f4cd0c 0x78 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4cd0c recycle_obj_slices + .text.recycle_draw_obj + 0x0000000083f4cd84 0x78 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4cd84 recycle_draw_obj + .text.obj_project_on_line + 0x0000000083f4cdfc 0x3b0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4cdfc obj_project_on_line + .text.draw_cmpr_init + 0x0000000083f4d1ac 0xa0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d1ac draw_cmpr_init + .text.draw_cmpr_pixel + 0x0000000083f4d24c 0x84 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d24c draw_cmpr_pixel + .text.draw_cmpr_canvas_line + 0x0000000083f4d2d0 0x1c4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d2d0 draw_cmpr_canvas_line + .text.plot_segments_on_line + 0x0000000083f4d494 0x318 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d494 plot_segments_on_line + .text.draw_cmpr_canvas + 0x0000000083f4d7ac 0x1b4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d7ac draw_cmpr_canvas + .text.set_rect_position + 0x0000000083f4d960 0x68 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d960 set_rect_position + .text.set_line_obj_attr + 0x0000000083f4d9c8 0x31a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4d9c8 set_line_obj_attr + .text.CVI_OSDC_est_cmpr_canvas_size + 0x0000000083f4dce2 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4dce2 CVI_OSDC_est_cmpr_canvas_size + .text.CVI_OSDC_draw_cmpr_canvas + 0x0000000083f4dd02 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4dd02 CVI_OSDC_draw_cmpr_canvas + .text.CVI_OSDC_set_rect_obj_attr + 0x0000000083f4dd06 0x6c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4dd06 CVI_OSDC_set_rect_obj_attr + .text.CVI_OSDC_set_bitmap_obj_attr + 0x0000000083f4dd72 0x4c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4dd72 CVI_OSDC_set_bitmap_obj_attr + .text.CVI_OSDC_set_line_obj_attr + 0x0000000083f4ddbe 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f4ddbe CVI_OSDC_set_line_obj_attr + .text.clip 0x0000000083f4ddc8 0x1c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4ddc8 clip + .text.init_stream + 0x0000000083f4dde4 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4dde4 init_stream + .text.write_stream + 0x0000000083f4ddfe 0x8c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4ddfe write_stream + .text.get_color + 0x0000000083f4de8a 0x96 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4de8a get_color + .text.palette_cache_init + 0x0000000083f4df20 0x76 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4df20 palette_cache_init + .text.palette_cache_lookup_color + 0x0000000083f4df96 0x92 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4df96 palette_cache_lookup_color + .text.enc_literal + 0x0000000083f4e028 0xa8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e028 enc_literal + .text.enc_mode_syntax + 0x0000000083f4e0d0 0x108 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e0d0 enc_mode_syntax + .text.osd_cmpr_enc_header + 0x0000000083f4e1d8 0xd4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e1d8 osd_cmpr_enc_header + .text.osd_cmpr_enc_followed_run + 0x0000000083f4e2ac 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e2ac osd_cmpr_enc_followed_run + .text.osd_cmpr_enc_const_pixel + 0x0000000083f4e33c 0xdc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e33c osd_cmpr_enc_const_pixel + .text.osd_cmpr_frame_init + 0x0000000083f4e418 0x64 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e418 osd_cmpr_frame_init + .text.osd_cmpr_get_pixel_sz + 0x0000000083f4e47c 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e47c osd_cmpr_get_pixel_sz + .text.osd_cmpr_get_header_sz + 0x0000000083f4e48c 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x0000000083f4e48c osd_cmpr_get_header_sz + .text.hal_uart_init + 0x0000000083f4e490 0x8e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + 0x0000000083f4e490 hal_uart_init + .text.hal_uart_putc + 0x0000000083f4e51e 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + 0x0000000083f4e51e hal_uart_putc + .text.prvInsertBlockIntoFreeList + 0x0000000083f4e534 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .text.pvPortMalloc + 0x0000000083f4e584 0x166 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + 0x0000000083f4e584 pvPortMalloc + .text.vPortFree + 0x0000000083f4e6ea 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + 0x0000000083f4e6ea vPortFree + .text.prvCopyDataToQueue + 0x0000000083f4e74a 0xa8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.prvUnlockQueue + 0x0000000083f4e7f2 0xc6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .text.xQueueGenericReset + 0x0000000083f4e8b8 0x8a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4e8b8 xQueueGenericReset + .text.xQueueGenericCreateStatic + 0x0000000083f4e942 0x98 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4e942 xQueueGenericCreateStatic + .text.xQueueGenericCreate + 0x0000000083f4e9da 0x6c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4e9da xQueueGenericCreate + .text.xQueueGenericSend + 0x0000000083f4ea46 0x120 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ea46 xQueueGenericSend + .text.xQueueGenericSendFromISR + 0x0000000083f4eb66 0x84 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4eb66 xQueueGenericSendFromISR + .text.xQueueGiveFromISR + 0x0000000083f4ebea 0x5c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ebea xQueueGiveFromISR + .text.xQueueReceive + 0x0000000083f4ec46 0x132 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ec46 xQueueReceive + .text.xQueueReceiveFromISR + 0x0000000083f4ed78 0xa8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ed78 xQueueReceiveFromISR + .text.vQueueAddToRegistry + 0x0000000083f4ee20 0x7e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ee20 vQueueAddToRegistry + .text.vQueueWaitForMessageRestricted + 0x0000000083f4ee9e 0x74 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f4ee9e vQueueWaitForMessageRestricted + .text.prvAddCurrentTaskToDelayedList + 0x0000000083f4ef12 0xec /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskSwitchContext.part.0 + 0x0000000083f4effe 0xb0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.prvInitialiseNewTask.constprop.0 + 0x0000000083f4f0ae 0xe8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.prvIdleTask + 0x0000000083f4f196 0xd4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskIncrementTick.part.0 + 0x0000000083f4f26a 0x1cc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.vTaskSuspendAll + 0x0000000083f4f436 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f436 vTaskSuspendAll + .text.xTaskGetTickCount + 0x0000000083f4f446 0xa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f446 xTaskGetTickCount + .text.xTaskIncrementTick + 0x0000000083f4f450 0x2c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f450 xTaskIncrementTick + .text.vTaskSwitchContext + 0x0000000083f4f47c 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f47c vTaskSwitchContext + .text.vTaskPlaceOnEventList + 0x0000000083f4f496 0x26 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f496 vTaskPlaceOnEventList + .text.vTaskPlaceOnEventListRestricted + 0x0000000083f4f4bc 0x48 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f4bc vTaskPlaceOnEventListRestricted + .text.xTaskRemoveFromEventList + 0x0000000083f4f504 0xe6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f504 xTaskRemoveFromEventList + .text.vTaskInternalSetTimeOutState + 0x0000000083f4f5ea 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f5ea vTaskInternalSetTimeOutState + .text.vTaskMissedYield + 0x0000000083f4f600 0xc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f600 vTaskMissedYield + .text.xTaskPriorityDisinherit + 0x0000000083f4f60c 0xaa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f60c xTaskPriorityDisinherit + .text.vTaskEnterCritical + 0x0000000083f4f6b6 0x22 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f6b6 vTaskEnterCritical + .text.vTaskExitCritical + 0x0000000083f4f6d8 0x2c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f6d8 vTaskExitCritical + .text.prvAddNewTaskToReadyList + 0x0000000083f4f704 0x17a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .text.xTaskCreateStatic + 0x0000000083f4f87e 0x3c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f87e xTaskCreateStatic + .text.xTaskCreate + 0x0000000083f4f8ba 0x7c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f8ba xTaskCreate + .text.vTaskStartScheduler + 0x0000000083f4f936 0x88 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f936 vTaskStartScheduler + .text.xTaskResumeAll + 0x0000000083f4f9be 0x1cc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4f9be xTaskResumeAll + .text.vTaskDelay + 0x0000000083f4fb8a 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4fb8a vTaskDelay + .text.xTaskCheckForTimeOut + 0x0000000083f4fbba 0xb2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f4fbba xTaskCheckForTimeOut + .text.prvCheckForValidListAndQueue + 0x0000000083f4fc6c 0x82 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.prvReloadTimer + 0x0000000083f4fcee 0x66 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.prvProcessExpiredTimer + 0x0000000083f4fd54 0x4e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.prvTimerTask + 0x0000000083f4fda2 0x1fa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .text.xTimerCreateTimerTask + 0x0000000083f4ff9c 0x52 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + 0x0000000083f4ff9c xTimerCreateTimerTask + .text.vListInitialise + 0x0000000083f4ffee 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + 0x0000000083f4ffee vListInitialise + .text.vListInitialiseItem + 0x0000000083f50002 0x6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + 0x0000000083f50002 vListInitialiseItem + .text.vListInsert + 0x0000000083f50008 0x2e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + 0x0000000083f50008 vListInsert + .text.uxListRemove + 0x0000000083f50036 0x32 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + 0x0000000083f50036 uxListRemove + .text.vPortSetupTimerInterrupt + 0x0000000083f50068 0x68 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f50068 vPortSetupTimerInterrupt + .text.xPortStartScheduler + 0x0000000083f500d0 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f500d0 xPortStartScheduler + .text.arch_usleep + 0x0000000083f500ee 0x1a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + 0x0000000083f500ee arch_usleep + *(.gnu.linkonce.t.*) + *(.plt) + *(.gnu_warning) + *(.gcc_execpt_table) + *(.glue_7) + *(.glue_7t) + *(.ARM.extab) + *(.gnu.linkonce.armextab.*) + +.init + *(.init) + +.fini + *(.fini) + +.interp + *(.interp) + +.note-ABI-tag + *(.note-ABI-tag) + +.rodata 0x0000000083f50108 0x2670 + 0x0000000083f50140 . = ALIGN (0x40) + *fill* 0x0000000083f50108 0x38 + 0x0000000083f50140 __rodata_start = . + *(.rodata) + .rodata 0x0000000083f50140 0x891 audio/libaudio.a(audio_main.c.obj) + *fill* 0x0000000083f509d1 0x7 + .rodata 0x0000000083f509d8 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + .rodata 0x0000000083f50a18 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + .rodata 0x0000000083f50a48 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + .rodata 0x0000000083f50a78 0x188 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + .rodata 0x0000000083f50c00 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + .rodata 0x0000000083f50c50 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + .rodata 0x0000000083f50c60 0x100 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + 0x0000000083f50c60 __clz_tab + *(.rodata.*) + .rodata.main.str1.8 + 0x0000000083f50d60 0x44 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + *fill* 0x0000000083f50da4 0x4 + .rodata.vApplicationMallocFailedHook.str1.8 + 0x0000000083f50da8 0x1e main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + *fill* 0x0000000083f50dc6 0x2 + .rodata.vApplicationStackOverflowHook.str1.8 + 0x0000000083f50dc8 0x7 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + *fill* 0x0000000083f50dcf 0x1 + .rodata.__func__.4 + 0x0000000083f50dd0 0x1e main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + *fill* 0x0000000083f50dee 0x2 + .rodata.prvCmdQuRunTask.str1.8 + 0x0000000083f50df0 0xaf comm/libcomm.a(comm_main.c.obj) + *fill* 0x0000000083f50e9f 0x1 + .rodata.prvCmdQuRunTask + 0x0000000083f50ea0 0x2c comm/libcomm.a(comm_main.c.obj) + *fill* 0x0000000083f50ecc 0x4 + .rodata.prvQueueISR.str1.8 + 0x0000000083f50ed0 0x4b comm/libcomm.a(comm_main.c.obj) + *fill* 0x0000000083f50f1b 0x1 + .rodata.prvQueueISR + 0x0000000083f50f1c 0x20 comm/libcomm.a(comm_main.c.obj) + *fill* 0x0000000083f50f3c 0x4 + .rodata.main_cvirtos.str1.8 + 0x0000000083f50f40 0x20 comm/libcomm.a(comm_main.c.obj) + .rodata.prvAudioRunTask + 0x0000000083f50f60 0x38 audio/libaudio.a(audio_main.c.obj) + .rodata.__func__.0 + 0x0000000083f50f98 0x26 audio/libaudio.a(audio_main.c.obj) + *fill* 0x0000000083f50fbe 0x2 + .rodata.__func__.1 + 0x0000000083f50fc0 0x10 audio/libaudio.a(audio_main.c.obj) + .rodata.CviAud_Algo_Process.str1.8 + 0x0000000083f50fd0 0x6a audio/libaudio.a(cviaudio_algo_interface.c.obj) + *fill* 0x0000000083f5103a 0x6 + .rodata.CviAud_Algo_DeInit.str1.8 + 0x0000000083f51040 0x29 audio/libaudio.a(cviaudio_algo_interface.c.obj) + *fill* 0x0000000083f51069 0x7 + .rodata.__func__.2 + 0x0000000083f51070 0x13 audio/libaudio.a(cviaudio_algo_interface.c.obj) + *fill* 0x0000000083f51083 0x5 + .rodata.__func__.3 + 0x0000000083f51088 0x14 audio/libaudio.a(cviaudio_algo_interface.c.obj) + *fill* 0x0000000083f5109c 0x4 + .rodata.audio_ssp_init.str1.8 + 0x0000000083f510a0 0x2e6 audio/libaudio.a(cvi_ssp_interface.c.obj) + *fill* 0x0000000083f51386 0x2 + .rodata.audio_ssp_process.str1.8 + 0x0000000083f51388 0xba audio/libaudio.a(cvi_ssp_interface.c.obj) + *fill* 0x0000000083f51442 0x6 + .rodata.audio_ssp_deinit.str1.8 + 0x0000000083f51448 0x5b audio/libaudio.a(cvi_ssp_interface.c.obj) + *fill* 0x0000000083f514a3 0x5 + .rodata.__func__.3 + 0x0000000083f514a8 0x11 audio/libaudio.a(cvi_ssp_interface.c.obj) + *fill* 0x0000000083f514b9 0x7 + .rodata.__func__.4 + 0x0000000083f514c0 0xf audio/libaudio.a(cvi_ssp_interface.c.obj) + *fill* 0x0000000083f514cf 0x1 + .rodata.dg_boost_tab.0 + 0x0000000083f514d0 0x30 audio/libaudio.a(dg.c.obj) + .rodata.dg_cut_tab.1 + 0x0000000083f51500 0x30 audio/libaudio.a(dg.c.obj) + .rodata.fv0.1 0x0000000083f51530 0x500 audio/libaudio.a(mmse_init.c.obj) + .rodata.fv1.0 0x0000000083f51a30 0x500 audio/libaudio.a(mmse_init.c.obj) + .rodata.table.0 + 0x0000000083f51f30 0x54 audio/libaudio.a(nlpaes_subfun.c.obj) + *fill* 0x0000000083f51f84 0x4 + .rodata.agc_gain_table.0 + 0x0000000083f51f88 0xe audio/libaudio.a(agc_init.c.obj) + *fill* 0x0000000083f51f96 0x2 + .rodata.ntryh.1 + 0x0000000083f51f98 0x10 audio/libaudio.a(fftcore.c.obj) + .rodata.printf.str1.8 + 0x0000000083f51fa8 0x9 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + *fill* 0x0000000083f51fb1 0x3 + .rodata.vsnprintf + 0x0000000083f51fb4 0x58 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + *fill* 0x0000000083f5200c 0x4 + .rodata.plic_unmask_irq.str1.8 + 0x0000000083f52010 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + *fill* 0x0000000083f52026 0x2 + .rodata.GetCommInfo.str1.8 + 0x0000000083f52028 0x33 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + *fill* 0x0000000083f5205b 0x5 + .rodata.post_system_init.str1.8 + 0x0000000083f52060 0x17 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + *fill* 0x0000000083f52077 0x1 + .rodata.pre_system_init.str1.8 + 0x0000000083f52078 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + *fill* 0x0000000083f5208e 0x2 + .rodata.do_irq.str1.8 + 0x0000000083f52090 0x16 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + *fill* 0x0000000083f520a6 0x2 + .rodata.dump_uart_init.str1.8 + 0x0000000083f520a8 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .rodata.uart_put_buff.str1.8 + 0x0000000083f52108 0x5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + *fill* 0x0000000083f5210d 0x3 + .rodata.cvi_spinlock_init.str1.8 + 0x0000000083f52110 0x2f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + *fill* 0x0000000083f5213f 0x1 + .rodata.hw_spin_lock.str1.8 + 0x0000000083f52140 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .rodata._hw_raw_spin_lock_irqsave.str1.8 + 0x0000000083f52158 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .rodata._hw_raw_spin_unlock_irqrestore.str1.8 + 0x0000000083f52188 0x32 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + *fill* 0x0000000083f521ba 0x6 + .rodata.__func__.0 + 0x0000000083f521c0 0x12 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + *fill* 0x0000000083f521d2 0x6 + .rodata.osd_cmpr_frame_init.str1.8 + 0x0000000083f521d8 0x19 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + *fill* 0x0000000083f521f1 0x7 + .rodata.__func__.1 + 0x0000000083f521f8 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + *fill* 0x0000000083f5220c 0x4 + .rodata.vTaskStartScheduler.str1.8 + 0x0000000083f52210 0x5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + *fill* 0x0000000083f52215 0x3 + .rodata.prvCheckForValidListAndQueue.str1.8 + 0x0000000083f52218 0x5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + *fill* 0x0000000083f5221d 0x3 + .rodata.prvTimerTask + 0x0000000083f52220 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .rodata.xTimerCreateTimerTask.str1.8 + 0x0000000083f52248 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .rodata.str1.8 + 0x0000000083f52250 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + 0x1 (size before relaxing) + .rodata.str1.8 + 0x0000000083f52250 0x1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + *(.srodata*) + .srodata.cst4 0x0000000083f52250 0x30 audio/libaudio.a(cvi_ssp_interface.c.obj) + .srodata.cst4 0x0000000083f52280 0x18 audio/libaudio.a(dc.c.obj) + 0x1c (size before relaxing) + .srodata.cst8 0x0000000083f52298 0x8 audio/libaudio.a(dc.c.obj) + .srodata.cst4 0x0000000083f522a0 0x1c audio/libaudio.a(dg.c.obj) + .srodata.cst4 0x0000000083f522a0 0x44 audio/libaudio.a(lpaec.c.obj) + 0x64 (size before relaxing) + *fill* 0x0000000083f522e4 0x4 + .srodata.cst8 0x0000000083f522e8 0x40 audio/libaudio.a(lpaec.c.obj) + 0x48 (size before relaxing) + .srodata.cst4 0x0000000083f52328 0x8 audio/libaudio.a(lpaec_subfun.c.obj) + 0x14 (size before relaxing) + .srodata.cst8 0x0000000083f52330 0x8 audio/libaudio.a(lpaec_subfun.c.obj) + .srodata.cst4 0x0000000083f52330 0x2c audio/libaudio.a(mmse.c.obj) + 0x40 (size before relaxing) + *fill* 0x0000000083f5235c 0x4 + .srodata.cst8 0x0000000083f52360 0x48 audio/libaudio.a(mmse_init.c.obj) + .srodata.cst4 0x0000000083f523a8 0x10 audio/libaudio.a(mmse_init.c.obj) + 0x18 (size before relaxing) + .srodata.cst4 0x0000000083f523b8 0x28 audio/libaudio.a(nlpaes.c.obj) + 0x74 (size before relaxing) + .srodata.cst8 0x0000000083f523e0 0x8 audio/libaudio.a(nlpaes.c.obj) + .srodata.cst4 0x0000000083f523e0 0x14 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x2c (size before relaxing) + *fill* 0x0000000083f523f4 0x4 + .srodata.cst8 0x0000000083f523f8 0x20 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x28 (size before relaxing) + .srodata.cst4 0x0000000083f52418 0x4 audio/libaudio.a(notch.c.obj) + .srodata.cst8 0x0000000083f52418 0x8 audio/libaudio.a(packfft.c.obj) + .srodata.cst4 0x0000000083f52418 0x4 audio/libaudio.a(slope_detection.c.obj) + 0x18 (size before relaxing) + .srodata.cst4 0x0000000083f5241c 0x4 audio/libaudio.a(bessel.c.obj) + 0xc (size before relaxing) + .srodata.cst8 0x0000000083f52420 0x10 audio/libaudio.a(bessel.c.obj) + .srodata.cst4 0x0000000083f52430 0x20 audio/libaudio.a(dr_detection.c.obj) + 0x38 (size before relaxing) + .srodata.cst4 0x0000000083f52450 0x18 audio/libaudio.a(fftcore.c.obj) + 0x24 (size before relaxing) + .srodata.cst4 0x0000000083f52468 0x8 audio/libaudio.a(mmse_rtwutil.c.obj) + .srodata.cst8 0x0000000083f52468 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .srodata.cst8 0x0000000083f52480 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .srodata.cst4 0x0000000083f52480 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + *fill* 0x0000000083f52484 0x4 + .srodata.uxTimerIncrementsForOneTick + 0x0000000083f52488 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f52488 uxTimerIncrementsForOneTick + .srodata.xISRStackTop + 0x0000000083f52490 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f52490 xISRStackTop + .srodata.cst8 0x0000000083f52498 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + 0x90 (size before relaxing) + .srodata.cst8 0x0000000083f52518 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + .srodata.cst8 0x0000000083f52518 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + .srodata.cst8 0x0000000083f52518 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + .srodata.cst8 0x0000000083f52530 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + .srodata.cst8 0x0000000083f52538 0x18 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + .srodata.cst8 0x0000000083f52538 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + 0x30 (size before relaxing) + .srodata.cst8 0x0000000083f52558 0x48 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + 0x70 (size before relaxing) + .srodata.cst8 0x0000000083f525a0 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + 0x78 (size before relaxing) + .srodata.cst8 0x0000000083f525f0 0xa0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + 0x110 (size before relaxing) + .srodata.cst8 0x0000000083f52690 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + 0x48 (size before relaxing) + .srodata.cst8 0x0000000083f526d0 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + 0x50 (size before relaxing) + .srodata.cst8 0x0000000083f52710 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + 0x38 (size before relaxing) + .srodata.cst8 0x0000000083f52730 0x38 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + 0x40 (size before relaxing) + .srodata.cst8 0x0000000083f52768 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + .srodata.cst8 0x0000000083f52770 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + 0x20 (size before relaxing) + *(.gnu.linkonce.r.*) + 0x0000000083f52778 __rodata_end = . + +.rela.dyn 0x0000000083f52778 0x0 + .rela.vectors 0x0000000083f52778 0x0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .rela.text.xPortStartScheduler + 0x0000000083f52778 0x0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + +.rodata1 0x0000000083f52778 0x8 + 0x0000000083f52780 . = ALIGN (0x40) + *fill* 0x0000000083f52778 0x8 + 0x0000000083f52780 __rodata1_start = . + *(.rodata1) + *(.rodata1.*) + 0x0000000083f52780 __rodata1_end = . + +.data 0x0000000083f52780 0xa60 + 0x0000000083f52780 . = ALIGN (0x40) + 0x0000000083f52780 _data = . + *(.data) + .data 0x0000000083f52780 0x748 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + *(.data.*) + .data.gTaskCtx + 0x0000000083f52ec8 0x1f8 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f52ec8 gTaskCtx + .data.nb_notch_coef.1 + 0x0000000083f530c0 0x18 audio/libaudio.a(notch.c.obj) + .data.wb_notch_coef.0 + 0x0000000083f530d8 0x18 audio/libaudio.a(notch.c.obj) + .data.bessel_v0_d.2 + 0x0000000083f530f0 0x28 audio/libaudio.a(bessel.c.obj) + .data.bessel_v0_f.3 + 0x0000000083f53118 0x34 audio/libaudio.a(bessel.c.obj) + *fill* 0x0000000083f5314c 0x4 + .data.bessel_v1_d.0 + 0x0000000083f53150 0x28 audio/libaudio.a(bessel.c.obj) + .data.bessel_v1_f.1 + 0x0000000083f53178 0x34 audio/libaudio.a(bessel.c.obj) + *(.sdata) + *fill* 0x0000000083f531ac 0x4 + .sdata 0x0000000083f531b0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + 0x0000000083f531b0 _impure_ptr + *(.sdata.*) + .sdata.mailbox_lock + 0x0000000083f531b8 0x4 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f531b8 mailbox_lock + .sdata.notch_dbglevel + 0x0000000083f531bc 0x4 audio/libaudio.a(cviaudio_algo_interface.c.obj) + 0x0000000083f531bc notch_dbglevel + .sdata.cviaud_dbg + 0x0000000083f531c0 0x4 audio/libaudio.a(cvi_ssp_interface.c.obj) + 0x0000000083f531c0 cviaud_dbg + .sdata.uart_putc_enable + 0x0000000083f531c4 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f531c4 uart_putc_enable + .sdata.reg_base + 0x0000000083f531c8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .sdata.uxTopUsedPriority + 0x0000000083f531d0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f531d0 uxTopUsedPriority + .sdata.pullNextTime + 0x0000000083f531d8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f531d8 pullNextTime + *(.gnu.linkonce.d.*) + *(.jcr) + *(.got) + *(.got.plt) + 0x0000000083f531e0 _edata = . + +.data1 0x0000000083f531e0 0x20 + 0x0000000083f53200 . = ALIGN (0x40) + *fill* 0x0000000083f531e0 0x20 + 0x0000000083f53200 __data1_start = . + *(.data1) + *(.data1.*) + 0x0000000083f53200 __data1_end = . + +.got + *(.got) + +.got1 + *(.got1) + +.got2 + *(.got2) + +.ctors 0x0000000083f53200 0x0 + 0x0000000083f53200 . = ALIGN (0x40) + 0x0000000083f53200 __CTOR_LIST__ = . + 0x0000000083f53200 ___CTORS_LIST___ = . + *crtbegin.o(.ctors) + *(EXCLUDE_FILE(*crtend.o) .ctors) + *(SORT_BY_NAME(.ctors.*)) + *(.ctors) + 0x0000000083f53200 __CTOR_END__ = . + 0x0000000083f53200 ___CTORS_END___ = . + +.dtors 0x0000000083f53200 0x0 + 0x0000000083f53200 . = ALIGN (0x40) + 0x0000000083f53200 __DTOR_LIST__ = . + 0x0000000083f53200 ___DTORS_LIST___ = . + *crtbegin.o(.dtors) + *(EXCLUDE_FILE(*crtend.o) .dtors) + *(SORT_BY_NAME(.dtors.*)) + *(.dtors) + 0x0000000083f53200 __DTOR_END__ = . + 0x0000000083f53200 ___DTORS_END___ = . + +.fixup 0x0000000083f53200 0x0 + 0x0000000083f53200 __fixup_start = . + *(.fixup) + 0x0000000083f53200 __fixup_end = . + +.eh_frame + *(.eh_frame) + +.eh_framehdr 0x0000000083f53200 0x0 + 0x0000000083f53200 __eh_framehdr_start = . + *(.eh_framehdr) + 0x0000000083f53200 __eh_framehdr_end = . + +.gcc_except_table + *(.gcc_except_table) + +.bss 0x0000000083f53200 0xcb40 + 0x0000000083f53200 . = ALIGN (0x40) + 0x0000000083f53200 _bss = . + *(.bss) + *(.bss.*) + .bss.uxIdleTaskStack.2 + 0x0000000083f53200 0x2000 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .bss.uxTimerTaskStack.0 + 0x0000000083f55200 0x4000 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .bss.xIdleTaskTCB.3 + 0x0000000083f59200 0xa8 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .bss.xTimerTaskTCB.1 + 0x0000000083f592a8 0xa8 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .bss.gammak 0x0000000083f59350 0x504 audio/libaudio.a(mmse.c.obj) + 0x0000000083f59350 gammak + *fill* 0x0000000083f59854 0x4 + .bss.ksi 0x0000000083f59858 0x504 audio/libaudio.a(mmse.c.obj) + 0x0000000083f59858 ksi + *fill* 0x0000000083f59d5c 0x4 + .bss.nr_fd_half + 0x0000000083f59d60 0xa08 audio/libaudio.a(mmse.c.obj) + 0x0000000083f59d60 nr_fd_half + .bss.nr_sig 0x0000000083f5a768 0x504 audio/libaudio.a(mmse.c.obj) + 0x0000000083f5a768 nr_sig + *fill* 0x0000000083f5ac6c 0x4 + .bss.tmp_fft_out + 0x0000000083f5ac70 0xa08 audio/libaudio.a(mmse.c.obj) + 0x0000000083f5ac70 tmp_fft_out + .bss.tmp_ifft_out + 0x0000000083f5b678 0xa08 audio/libaudio.a(mmse.c.obj) + 0x0000000083f5b678 tmp_ifft_out + .bss.g_irq_action + 0x0000000083f5c080 0x1400 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .bss.transfer_config + 0x0000000083f5d480 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x0000000083f5d480 transfer_config + .bss.seg_list_head + 0x0000000083f5d4c0 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f5d4c0 seg_list_head + .bss.slc_list_head + 0x0000000083f5d4d0 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0x0000000083f5d4d0 slc_list_head + .bss.xStart 0x0000000083f5d4e0 0x10 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .bss.xQueueRegistry + 0x0000000083f5d4f0 0x320 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0x0000000083f5d4f0 xQueueRegistry + .bss.pxReadyTasksLists + 0x0000000083f5d810 0x140 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.xDelayedTaskList1 + 0x0000000083f5d950 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.xDelayedTaskList2 + 0x0000000083f5d978 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.xPendingReadyList + 0x0000000083f5d9a0 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.xSuspendedTaskList + 0x0000000083f5d9c8 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.xTasksWaitingTermination + 0x0000000083f5d9f0 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .bss.ucStaticTimerQueueStorage.1 + 0x0000000083f5da18 0xa0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .bss.xActiveTimerList1 + 0x0000000083f5dab8 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .bss.xActiveTimerList2 + 0x0000000083f5dae0 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .bss.xStaticTimerQueue.0 + 0x0000000083f5db08 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + *fill* 0x0000000083f5db98 0x8 + .bss.xISRStack + 0x0000000083f5dba0 0x2000 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + *(.sbss) + .sbss 0x0000000083f5fba0 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + 0x0000000083f5fba0 __fdlib_version + *(.sbss.*) + *fill* 0x0000000083f5fba4 0x4 + .sbss.mailbox_context + 0x0000000083f5fba8 0x8 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f5fba8 mailbox_context + .sbss.mbox_done_reg + 0x0000000083f5fbb0 0x8 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f5fbb0 mbox_done_reg + .sbss.mbox_reg + 0x0000000083f5fbb8 0x8 comm/libcomm.a(comm_main.c.obj) + 0x0000000083f5fbb8 mbox_reg + .sbss.stop_ip.0 + 0x0000000083f5fbc0 0x4 comm/libcomm.a(comm_main.c.obj) + *fill* 0x0000000083f5fbc4 0x4 + .sbss.xQueueRGN + 0x0000000083f5fbc8 0x8 rgn/librgn.a(rgn_main.c.obj) + 0x0000000083f5fbc8 xQueueRGN + .sbss.xQueueRGNCmdqu + 0x0000000083f5fbd0 0x8 rgn/librgn.a(rgn_main.c.obj) + 0x0000000083f5fbd0 xQueueRGNCmdqu + .sbss.unit_test_triggered + 0x0000000083f5fbd8 0x4 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fbd8 unit_test_triggered + *fill* 0x0000000083f5fbdc 0x4 + .sbss.paudio_ssp_block + 0x0000000083f5fbe0 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fbe0 paudio_ssp_block + .sbss.paudio_ssp_handle + 0x0000000083f5fbe8 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fbe8 paudio_ssp_handle + .sbss.pindicator + 0x0000000083f5fbf0 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fbf0 pindicator + .sbss.pstSspBufTbl + 0x0000000083f5fbf8 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fbf8 pstSspBufTbl + .sbss.pstVqeConfig + 0x0000000083f5fc00 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fc00 pstVqeConfig + .sbss.ssp_running + 0x0000000083f5fc08 0x1 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fc08 ssp_running + *fill* 0x0000000083f5fc09 0x7 + .sbss.xQueueAudio + 0x0000000083f5fc10 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fc10 xQueueAudio + .sbss.xQueueAudioCmdqu + 0x0000000083f5fc18 0x8 audio/libaudio.a(audio_main.c.obj) + 0x0000000083f5fc18 xQueueAudioCmdqu + .sbss.dump_uart + 0x0000000083f5fc20 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f5fc20 dump_uart + .sbss.init_enable.0 + 0x0000000083f5fc28 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + *fill* 0x0000000083f5fc2c 0x4 + .sbss.printf_lock + 0x0000000083f5fc30 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x0000000083f5fc30 printf_lock + .sbss.lockCount + 0x0000000083f5fc34 0x1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + *fill* 0x0000000083f5fc35 0x3 + .sbss.reg_write_lock + 0x0000000083f5fc38 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x0000000083f5fc38 reg_write_lock + .sbss.seg_init.0 + 0x0000000083f5fc40 0x1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .sbss.slc_init.1 + 0x0000000083f5fc41 0x1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + *fill* 0x0000000083f5fc42 0x6 + .sbss.uart 0x0000000083f5fc48 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .sbss.pxEnd 0x0000000083f5fc50 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.xBlockAllocatedBit + 0x0000000083f5fc58 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.xFreeBytesRemaining + 0x0000000083f5fc60 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.xMinimumEverFreeBytesRemaining + 0x0000000083f5fc68 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.xNumberOfSuccessfulAllocations + 0x0000000083f5fc70 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.xNumberOfSuccessfulFrees + 0x0000000083f5fc78 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .sbss.FreeRTOS_errno + 0x0000000083f5fc80 0x4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f5fc80 FreeRTOS_errno + *fill* 0x0000000083f5fc84 0x4 + .sbss.pxCurrentTCB + 0x0000000083f5fc88 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x0000000083f5fc88 pxCurrentTCB + .sbss.pxDelayedTaskList + 0x0000000083f5fc90 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.pxOverflowDelayedTaskList + 0x0000000083f5fc98 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.uxCurrentNumberOfTasks + 0x0000000083f5fca0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.uxDeletedTasksWaitingCleanUp + 0x0000000083f5fca8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.uxSchedulerSuspended + 0x0000000083f5fcb0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.uxTaskNumber + 0x0000000083f5fcb8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.uxTopReadyPriority + 0x0000000083f5fcc0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xNextTaskUnblockTime + 0x0000000083f5fcc8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xNumOfOverflows + 0x0000000083f5fcd0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xPendedTicks + 0x0000000083f5fcd8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xSchedulerRunning + 0x0000000083f5fce0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xTickCount + 0x0000000083f5fce8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.xYieldPending + 0x0000000083f5fcf0 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .sbss.pxCurrentTimerList + 0x0000000083f5fcf8 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .sbss.pxOverflowTimerList + 0x0000000083f5fd00 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .sbss.xLastTime.2 + 0x0000000083f5fd08 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .sbss.xTimerQueue + 0x0000000083f5fd10 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .sbss.xTimerTaskHandle + 0x0000000083f5fd18 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .sbss.pulMachineTimerCompareRegisterH + 0x0000000083f5fd20 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f5fd20 pulMachineTimerCompareRegisterH + .sbss.pulMachineTimerCompareRegisterL + 0x0000000083f5fd28 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f5fd28 pulMachineTimerCompareRegisterL + .sbss.ullNextTime + 0x0000000083f5fd30 0x8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x0000000083f5fd30 ullNextTime + *(.gnu.linkonce.b.*) + *(COMMON) + 0x0000000083f5fd40 . = ALIGN (0x40) + *fill* 0x0000000083f5fd38 0x8 + 0x0000000083f5fd40 _ebss = . + 0x0000000083f52780 _data_lma = LOADADDR (.data) + +.heap 0x0000000083f5fd40 0x80000 + 0x0000000083f5fd40 . = ALIGN (0x40) + 0x0000000083f5fd40 _heap = . + 0x0000000083f5fd40 HeapBase = . + 0x0000000083f5fd40 _heap_start = . + *(.heap*) + .heap 0x0000000083f5fd40 0x80000 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x0000000083f5fd40 ucHeap + 0x0000000083fdfd40 _heap_end = . + 0x0000000083fdfd40 HeapLimit = . + +.stack 0x0000000083fdfd40 0x20000 + 0x0000000083fdfd40 . = ALIGN (0x40) + 0x0000000083fdfd40 _stack_end_end = . + 0x0000000083fffd40 . = (. + _STACK_SIZE) + *fill* 0x0000000083fdfd40 0x20000 + 0x0000000083fffd40 _stack_top = . + 0x0000000083fffd40 _end = . +OUTPUT(main/cvirtos.elf elf64-littleriscv) + +.debug_info 0x0000000000000000 0x23c29 + .debug_info 0x0000000000000000 0x6df main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_info 0x00000000000006df 0xeb7 comm/libcomm.a(comm_main.c.obj) + .debug_info 0x0000000000001596 0xd60 rgn/librgn.a(rgn_main.c.obj) + .debug_info 0x00000000000022f6 0x175a audio/libaudio.a(audio_main.c.obj) + .debug_info 0x0000000000003a50 0xc9b audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_info 0x00000000000046eb 0x249f audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_info 0x0000000000006b8a 0x1fc audio/libaudio.a(dc.c.obj) + .debug_info 0x0000000000006d86 0x5cd audio/libaudio.a(delay.c.obj) + .debug_info 0x0000000000007353 0x42a audio/libaudio.a(dg.c.obj) + .debug_info 0x000000000000777d 0x1c7e audio/libaudio.a(lpaec.c.obj) + .debug_info 0x00000000000093fb 0x489 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_info 0x0000000000009884 0x890 audio/libaudio.a(mmse.c.obj) + .debug_info 0x000000000000a114 0xdc8 audio/libaudio.a(mmse_init.c.obj) + .debug_info 0x000000000000aedc 0x1aa4 audio/libaudio.a(nlpaes.c.obj) + .debug_info 0x000000000000c980 0x1055 audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_info 0x000000000000d9d5 0x52c audio/libaudio.a(notch.c.obj) + .debug_info 0x000000000000df01 0x411 audio/libaudio.a(packfft.c.obj) + .debug_info 0x000000000000e312 0x154 audio/libaudio.a(power.c.obj) + .debug_info 0x000000000000e466 0x26c audio/libaudio.a(slope_detection.c.obj) + .debug_info 0x000000000000e6d2 0x1a1 audio/libaudio.a(sum.c.obj) + .debug_info 0x000000000000e873 0x14c audio/libaudio.a(abs.c.obj) + .debug_info 0x000000000000e9bf 0x560 audio/libaudio.a(agc.c.obj) + .debug_info 0x000000000000ef1f 0x533 audio/libaudio.a(agc_init.c.obj) + .debug_info 0x000000000000f452 0x319 audio/libaudio.a(agc_subfun.c.obj) + .debug_info 0x000000000000f76b 0x25f audio/libaudio.a(bessel.c.obj) + .debug_info 0x000000000000f9ca 0x185 audio/libaudio.a(db2linear.c.obj) + .debug_info 0x000000000000fb4f 0x26c audio/libaudio.a(dr_detection.c.obj) + .debug_info 0x000000000000fdbb 0x1c59 audio/libaudio.a(fftcore.c.obj) + .debug_info 0x0000000000011a14 0xe6 audio/libaudio.a(log.c.obj) + .debug_info 0x0000000000011afa 0x229 audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_info 0x0000000000011d23 0x1a6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_info 0x0000000000011ec9 0x2e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .debug_info 0x0000000000011ef7 0xff /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_info 0x0000000000011ff6 0x2b0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_info 0x00000000000122a6 0x2e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .debug_info 0x00000000000122d4 0xd1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_info 0x00000000000123a5 0x2d0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_info 0x0000000000012675 0x162 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_info 0x00000000000127d7 0xd94 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_info 0x000000000001356b 0x98 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_info 0x0000000000013603 0x907 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_info 0x0000000000013f0a 0x72c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_info 0x0000000000014636 0x7c7 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_info 0x0000000000014dfd 0x2e92 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_info 0x0000000000017c8f 0x3415 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_info 0x000000000001b0a4 0x223 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_info 0x000000000001b2c7 0x5cc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_info 0x000000000001b893 0x2a74 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_info 0x000000000001e307 0x3588 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_info 0x000000000002188f 0x1a1d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_info 0x00000000000232ac 0x2f4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_info 0x00000000000235a0 0x26e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_info 0x000000000002380e 0x2e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .debug_info 0x000000000002383c 0x162 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_info 0x000000000002399e 0xe9 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .debug_info 0x0000000000023a87 0x1a2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_abbrev 0x0000000000000000 0x612e + .debug_abbrev 0x0000000000000000 0x207 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_abbrev 0x0000000000000207 0x2c9 comm/libcomm.a(comm_main.c.obj) + .debug_abbrev 0x00000000000004d0 0x22b rgn/librgn.a(rgn_main.c.obj) + .debug_abbrev 0x00000000000006fb 0x31e audio/libaudio.a(audio_main.c.obj) + .debug_abbrev 0x0000000000000a19 0x27e audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_abbrev 0x0000000000000c97 0x2c3 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_abbrev 0x0000000000000f5a 0x11b audio/libaudio.a(dc.c.obj) + .debug_abbrev 0x0000000000001075 0x263 audio/libaudio.a(delay.c.obj) + .debug_abbrev 0x00000000000012d8 0x11d audio/libaudio.a(dg.c.obj) + .debug_abbrev 0x00000000000013f5 0x2f7 audio/libaudio.a(lpaec.c.obj) + .debug_abbrev 0x00000000000016ec 0x119 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_abbrev 0x0000000000001805 0x1c1 audio/libaudio.a(mmse.c.obj) + .debug_abbrev 0x00000000000019c6 0x288 audio/libaudio.a(mmse_init.c.obj) + .debug_abbrev 0x0000000000001c4e 0x33f audio/libaudio.a(nlpaes.c.obj) + .debug_abbrev 0x0000000000001f8d 0x2db audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_abbrev 0x0000000000002268 0x15d audio/libaudio.a(notch.c.obj) + .debug_abbrev 0x00000000000023c5 0x1e2 audio/libaudio.a(packfft.c.obj) + .debug_abbrev 0x00000000000025a7 0xa7 audio/libaudio.a(power.c.obj) + .debug_abbrev 0x000000000000264e 0xc9 audio/libaudio.a(slope_detection.c.obj) + .debug_abbrev 0x0000000000002717 0xed audio/libaudio.a(sum.c.obj) + .debug_abbrev 0x0000000000002804 0xc5 audio/libaudio.a(abs.c.obj) + .debug_abbrev 0x00000000000028c9 0x13c audio/libaudio.a(agc.c.obj) + .debug_abbrev 0x0000000000002a05 0x145 audio/libaudio.a(agc_init.c.obj) + .debug_abbrev 0x0000000000002b4a 0x120 audio/libaudio.a(agc_subfun.c.obj) + .debug_abbrev 0x0000000000002c6a 0xdb audio/libaudio.a(bessel.c.obj) + .debug_abbrev 0x0000000000002d45 0xbe audio/libaudio.a(db2linear.c.obj) + .debug_abbrev 0x0000000000002e03 0xc9 audio/libaudio.a(dr_detection.c.obj) + .debug_abbrev 0x0000000000002ecc 0x3b4 audio/libaudio.a(fftcore.c.obj) + .debug_abbrev 0x0000000000003280 0x8f audio/libaudio.a(log.c.obj) + .debug_abbrev 0x000000000000330f 0xa1 audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_abbrev 0x00000000000033b0 0xbc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_abbrev 0x000000000000346c 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .debug_abbrev 0x0000000000003480 0xa3 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_abbrev 0x0000000000003523 0x14a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_abbrev 0x000000000000366d 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .debug_abbrev 0x0000000000003681 0x79 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_abbrev 0x00000000000036fa 0xfa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_abbrev 0x00000000000037f4 0xee /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_abbrev 0x00000000000038e2 0x3b1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_abbrev 0x0000000000003c93 0x44 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_abbrev 0x0000000000003cd7 0x2c1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_abbrev 0x0000000000003f98 0x2ca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_abbrev 0x0000000000004262 0x175 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_abbrev 0x00000000000043d7 0x4be /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_abbrev 0x0000000000004895 0x4b6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_abbrev 0x0000000000004d4b 0x130 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_abbrev 0x0000000000004e7b 0x26f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_abbrev 0x00000000000050ea 0x3ba /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_abbrev 0x00000000000054a4 0x473 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_abbrev 0x0000000000005917 0x3be /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_abbrev 0x0000000000005cd5 0x111 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_abbrev 0x0000000000005de6 0x130 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_abbrev 0x0000000000005f16 0x14 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .debug_abbrev 0x0000000000005f2a 0xca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_abbrev 0x0000000000005ff4 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .debug_abbrev 0x0000000000006064 0xca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_loc 0x0000000000000000 0x2d98d + .debug_loc 0x0000000000000000 0xde main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_loc 0x00000000000000de 0x4d8 comm/libcomm.a(comm_main.c.obj) + .debug_loc 0x00000000000005b6 0x5bc rgn/librgn.a(rgn_main.c.obj) + .debug_loc 0x0000000000000b72 0x8bc audio/libaudio.a(audio_main.c.obj) + .debug_loc 0x000000000000142e 0xa31 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_loc 0x0000000000001e5f 0x1bb9 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_loc 0x0000000000003a18 0x331 audio/libaudio.a(dc.c.obj) + .debug_loc 0x0000000000003d49 0x3c9 audio/libaudio.a(delay.c.obj) + .debug_loc 0x0000000000004112 0x3c9 audio/libaudio.a(dg.c.obj) + .debug_loc 0x00000000000044db 0x28ac audio/libaudio.a(lpaec.c.obj) + .debug_loc 0x0000000000006d87 0xfc9 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_loc 0x0000000000007d50 0xfde audio/libaudio.a(mmse.c.obj) + .debug_loc 0x0000000000008d2e 0xa39 audio/libaudio.a(mmse_init.c.obj) + .debug_loc 0x0000000000009767 0x1665 audio/libaudio.a(nlpaes.c.obj) + .debug_loc 0x000000000000adcc 0x12d2 audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_loc 0x000000000000c09e 0x6fc audio/libaudio.a(notch.c.obj) + .debug_loc 0x000000000000c79a 0x495 audio/libaudio.a(packfft.c.obj) + .debug_loc 0x000000000000cc2f 0x1c7 audio/libaudio.a(power.c.obj) + .debug_loc 0x000000000000cdf6 0x1c5 audio/libaudio.a(slope_detection.c.obj) + .debug_loc 0x000000000000cfbb 0x1dd audio/libaudio.a(sum.c.obj) + .debug_loc 0x000000000000d198 0x154 audio/libaudio.a(abs.c.obj) + .debug_loc 0x000000000000d2ec 0x921 audio/libaudio.a(agc.c.obj) + .debug_loc 0x000000000000dc0d 0x2e1 audio/libaudio.a(agc_init.c.obj) + .debug_loc 0x000000000000deee 0x2bd audio/libaudio.a(agc_subfun.c.obj) + .debug_loc 0x000000000000e1ab 0x621 audio/libaudio.a(bessel.c.obj) + .debug_loc 0x000000000000e7cc 0x298 audio/libaudio.a(db2linear.c.obj) + .debug_loc 0x000000000000ea64 0x106 audio/libaudio.a(dr_detection.c.obj) + .debug_loc 0x000000000000eb6a 0x608c audio/libaudio.a(fftcore.c.obj) + .debug_loc 0x0000000000014bf6 0xad audio/libaudio.a(log.c.obj) + .debug_loc 0x0000000000014ca3 0x41e audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_loc 0x00000000000150c1 0xab /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_loc 0x000000000001516c 0x95 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_loc 0x0000000000015201 0xdc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_loc 0x00000000000152dd 0x72 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_loc 0x000000000001534f 0x983 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_loc 0x0000000000015cd2 0xb6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_loc 0x0000000000015d88 0x996 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_loc 0x000000000001671e 0x3f2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_loc 0x0000000000016b10 0x30d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_loc 0x0000000000016e1d 0x91f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_loc 0x000000000001773c 0x59b5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_loc 0x000000000001d0f1 0x5e2d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_loc 0x0000000000022f1e 0xfa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_loc 0x0000000000023018 0x5ca /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_loc 0x00000000000235e2 0x41aa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_loc 0x000000000002778c 0x41dd /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_loc 0x000000000002b969 0x1ce4 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_loc 0x000000000002d64d 0xce /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_loc 0x000000000002d71b 0x5d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_loc 0x000000000002d778 0xaa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_loc 0x000000000002d822 0x16b /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_aranges 0x0000000000000000 0x1c40 + .debug_aranges + 0x0000000000000000 0xa0 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_aranges + 0x00000000000000a0 0x70 comm/libcomm.a(comm_main.c.obj) + .debug_aranges + 0x0000000000000110 0x30 rgn/librgn.a(rgn_main.c.obj) + .debug_aranges + 0x0000000000000140 0x40 audio/libaudio.a(audio_main.c.obj) + .debug_aranges + 0x0000000000000180 0x90 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_aranges + 0x0000000000000210 0x80 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_aranges + 0x0000000000000290 0x40 audio/libaudio.a(dc.c.obj) + .debug_aranges + 0x00000000000002d0 0x60 audio/libaudio.a(delay.c.obj) + .debug_aranges + 0x0000000000000330 0x50 audio/libaudio.a(dg.c.obj) + .debug_aranges + 0x0000000000000380 0x70 audio/libaudio.a(lpaec.c.obj) + .debug_aranges + 0x00000000000003f0 0x90 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_aranges + 0x0000000000000480 0x30 audio/libaudio.a(mmse.c.obj) + .debug_aranges + 0x00000000000004b0 0x50 audio/libaudio.a(mmse_init.c.obj) + .debug_aranges + 0x0000000000000500 0x70 audio/libaudio.a(nlpaes.c.obj) + .debug_aranges + 0x0000000000000570 0xb0 audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_aranges + 0x0000000000000620 0x50 audio/libaudio.a(notch.c.obj) + .debug_aranges + 0x0000000000000670 0x60 audio/libaudio.a(packfft.c.obj) + .debug_aranges + 0x00000000000006d0 0x40 audio/libaudio.a(power.c.obj) + .debug_aranges + 0x0000000000000710 0x30 audio/libaudio.a(slope_detection.c.obj) + .debug_aranges + 0x0000000000000740 0x40 audio/libaudio.a(sum.c.obj) + .debug_aranges + 0x0000000000000780 0x30 audio/libaudio.a(abs.c.obj) + .debug_aranges + 0x00000000000007b0 0x30 audio/libaudio.a(agc.c.obj) + .debug_aranges + 0x00000000000007e0 0x40 audio/libaudio.a(agc_init.c.obj) + .debug_aranges + 0x0000000000000820 0x40 audio/libaudio.a(agc_subfun.c.obj) + .debug_aranges + 0x0000000000000860 0x30 audio/libaudio.a(bessel.c.obj) + .debug_aranges + 0x0000000000000890 0x40 audio/libaudio.a(db2linear.c.obj) + .debug_aranges + 0x00000000000008d0 0x30 audio/libaudio.a(dr_detection.c.obj) + .debug_aranges + 0x0000000000000900 0xd0 audio/libaudio.a(fftcore.c.obj) + .debug_aranges + 0x00000000000009d0 0x30 audio/libaudio.a(log.c.obj) + .debug_aranges + 0x0000000000000a00 0x40 audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_aranges + 0x0000000000000a40 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_aranges + 0x0000000000000ab0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .debug_aranges + 0x0000000000000ae0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_aranges + 0x0000000000000b10 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_aranges + 0x0000000000000b40 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .debug_aranges + 0x0000000000000b70 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_aranges + 0x0000000000000bb0 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_aranges + 0x0000000000000bf0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_aranges + 0x0000000000000c20 0x100 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_aranges + 0x0000000000000d20 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_aranges + 0x0000000000000d50 0xc0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_aranges + 0x0000000000000e10 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_aranges + 0x0000000000000e90 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_aranges + 0x0000000000000f10 0x180 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_aranges + 0x0000000000001090 0x240 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_aranges + 0x00000000000012d0 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_aranges + 0x0000000000001330 0x90 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_aranges + 0x00000000000013c0 0x210 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_aranges + 0x00000000000015d0 0x3a0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_aranges + 0x0000000000001970 0x150 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_aranges + 0x0000000000001ac0 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_aranges + 0x0000000000001b30 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_aranges + 0x0000000000001b80 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .debug_aranges + 0x0000000000001bb0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_aranges + 0x0000000000001be0 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .debug_aranges + 0x0000000000001c00 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_ranges 0x0000000000000000 0x7b60 + .debug_ranges 0x0000000000000000 0x90 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_ranges 0x0000000000000090 0x150 comm/libcomm.a(comm_main.c.obj) + .debug_ranges 0x00000000000001e0 0x60 rgn/librgn.a(rgn_main.c.obj) + .debug_ranges 0x0000000000000240 0x210 audio/libaudio.a(audio_main.c.obj) + .debug_ranges 0x0000000000000450 0x80 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_ranges 0x00000000000004d0 0x100 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_ranges 0x00000000000005d0 0x80 audio/libaudio.a(dc.c.obj) + .debug_ranges 0x0000000000000650 0xd0 audio/libaudio.a(delay.c.obj) + .debug_ranges 0x0000000000000720 0x40 audio/libaudio.a(dg.c.obj) + .debug_ranges 0x0000000000000760 0x7d0 audio/libaudio.a(lpaec.c.obj) + .debug_ranges 0x0000000000000f30 0xb0 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_ranges 0x0000000000000fe0 0x20 audio/libaudio.a(mmse.c.obj) + .debug_ranges 0x0000000000001000 0x260 audio/libaudio.a(mmse_init.c.obj) + .debug_ranges 0x0000000000001260 0x610 audio/libaudio.a(nlpaes.c.obj) + .debug_ranges 0x0000000000001870 0x3b0 audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_ranges 0x0000000000001c20 0x40 audio/libaudio.a(notch.c.obj) + .debug_ranges 0x0000000000001c60 0x110 audio/libaudio.a(packfft.c.obj) + .debug_ranges 0x0000000000001d70 0x30 audio/libaudio.a(power.c.obj) + .debug_ranges 0x0000000000001da0 0x20 audio/libaudio.a(slope_detection.c.obj) + .debug_ranges 0x0000000000001dc0 0x30 audio/libaudio.a(sum.c.obj) + .debug_ranges 0x0000000000001df0 0x20 audio/libaudio.a(abs.c.obj) + .debug_ranges 0x0000000000001e10 0x20 audio/libaudio.a(agc.c.obj) + .debug_ranges 0x0000000000001e30 0x30 audio/libaudio.a(agc_init.c.obj) + .debug_ranges 0x0000000000001e60 0x30 audio/libaudio.a(agc_subfun.c.obj) + .debug_ranges 0x0000000000001e90 0x20 audio/libaudio.a(bessel.c.obj) + .debug_ranges 0x0000000000001eb0 0x30 audio/libaudio.a(db2linear.c.obj) + .debug_ranges 0x0000000000001ee0 0x20 audio/libaudio.a(dr_detection.c.obj) + .debug_ranges 0x0000000000001f00 0x2b0 audio/libaudio.a(fftcore.c.obj) + .debug_ranges 0x00000000000021b0 0x20 audio/libaudio.a(log.c.obj) + .debug_ranges 0x00000000000021d0 0x30 audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_ranges 0x0000000000002200 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_ranges 0x0000000000002260 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_ranges 0x0000000000002280 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_ranges 0x00000000000022a0 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_ranges 0x00000000000022d0 0x220 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_ranges 0x00000000000024f0 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_ranges 0x0000000000002540 0x1b0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_ranges 0x00000000000026f0 0x20 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_ranges 0x0000000000002710 0x1a0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_ranges 0x00000000000028b0 0x110 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_ranges 0x00000000000029c0 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_ranges 0x0000000000002a30 0xdc0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_ranges 0x00000000000037f0 0x1e40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_ranges 0x0000000000005630 0x50 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_ranges 0x0000000000005680 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_ranges 0x0000000000005700 0x940 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_ranges 0x0000000000006040 0x15d0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_ranges 0x0000000000007610 0x450 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_ranges 0x0000000000007a60 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_ranges 0x0000000000007ac0 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_ranges 0x0000000000007b00 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_ranges 0x0000000000007b30 0x30 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_line 0x0000000000000000 0x35448 + .debug_line 0x0000000000000000 0x670 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_line 0x0000000000000670 0x112f comm/libcomm.a(comm_main.c.obj) + .debug_line 0x000000000000179f 0xda4 rgn/librgn.a(rgn_main.c.obj) + .debug_line 0x0000000000002543 0x1a74 audio/libaudio.a(audio_main.c.obj) + .debug_line 0x0000000000003fb7 0xbb4 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_line 0x0000000000004b6b 0x1ca0 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_line 0x000000000000680b 0x48c audio/libaudio.a(dc.c.obj) + .debug_line 0x0000000000006c97 0x689 audio/libaudio.a(delay.c.obj) + .debug_line 0x0000000000007320 0x3c0 audio/libaudio.a(dg.c.obj) + .debug_line 0x00000000000076e0 0x3bed audio/libaudio.a(lpaec.c.obj) + .debug_line 0x000000000000b2cd 0xd24 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_line 0x000000000000bff1 0x2027 audio/libaudio.a(mmse.c.obj) + .debug_line 0x000000000000e018 0xee8 audio/libaudio.a(mmse_init.c.obj) + .debug_line 0x000000000000ef00 0x2a8e audio/libaudio.a(nlpaes.c.obj) + .debug_line 0x000000000001198e 0x156e audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_line 0x0000000000012efc 0x779 audio/libaudio.a(notch.c.obj) + .debug_line 0x0000000000013675 0x616 audio/libaudio.a(packfft.c.obj) + .debug_line 0x0000000000013c8b 0x25d audio/libaudio.a(power.c.obj) + .debug_line 0x0000000000013ee8 0x2af audio/libaudio.a(slope_detection.c.obj) + .debug_line 0x0000000000014197 0x28e audio/libaudio.a(sum.c.obj) + .debug_line 0x0000000000014425 0x16b audio/libaudio.a(abs.c.obj) + .debug_line 0x0000000000014590 0xbdc audio/libaudio.a(agc.c.obj) + .debug_line 0x000000000001516c 0x734 audio/libaudio.a(agc_init.c.obj) + .debug_line 0x00000000000158a0 0x2c1 audio/libaudio.a(agc_subfun.c.obj) + .debug_line 0x0000000000015b61 0x3fe audio/libaudio.a(bessel.c.obj) + .debug_line 0x0000000000015f5f 0x292 audio/libaudio.a(db2linear.c.obj) + .debug_line 0x00000000000161f1 0x410 audio/libaudio.a(dr_detection.c.obj) + .debug_line 0x0000000000016601 0x61f2 audio/libaudio.a(fftcore.c.obj) + .debug_line 0x000000000001c7f3 0x1c0 audio/libaudio.a(log.c.obj) + .debug_line 0x000000000001c9b3 0x3fe audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_line 0x000000000001cdb1 0x373 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_line 0x000000000001d124 0x24e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .debug_line 0x000000000001d372 0x118 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_line 0x000000000001d48a 0x299 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_line 0x000000000001d723 0x255 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .debug_line 0x000000000001d978 0x122 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_line 0x000000000001da9a 0x92f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_line 0x000000000001e3c9 0x244 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_line 0x000000000001e60d 0xee6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_line 0x000000000001f4f3 0x9a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_line 0x000000000001f58d 0xd2b /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_line 0x00000000000202b8 0x88b /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_line 0x0000000000020b43 0x2f9 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_line 0x0000000000020e3c 0x39cc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_line 0x0000000000024808 0x41bc /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_line 0x00000000000289c4 0x4a1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_line 0x0000000000028e65 0xbfa /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_line 0x0000000000029a5f 0x3780 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_line 0x000000000002d1df 0x59c6 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_line 0x0000000000032ba5 0x157f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_line 0x0000000000034124 0x63f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_line 0x0000000000034763 0x42c /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_line 0x0000000000034b8f 0x48f /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .debug_line 0x000000000003501e 0x134 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_line 0x0000000000035152 0x9e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .debug_line 0x00000000000351f0 0x258 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_str 0x0000000000000000 0x78c8 + .debug_str 0x0000000000000000 0x571 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x5df (size before relaxing) + .debug_str 0x0000000000000571 0x94f comm/libcomm.a(comm_main.c.obj) + 0xc85 (size before relaxing) + .debug_str 0x0000000000000ec0 0x903 rgn/librgn.a(rgn_main.c.obj) + 0xe78 (size before relaxing) + .debug_str 0x00000000000017c3 0x76b audio/libaudio.a(audio_main.c.obj) + 0xc7a (size before relaxing) + .debug_str 0x0000000000001f2e 0x391 audio/libaudio.a(cviaudio_algo_interface.c.obj) + 0x8ab (size before relaxing) + .debug_str 0x00000000000022bf 0x90c audio/libaudio.a(cvi_ssp_interface.c.obj) + 0xf21 (size before relaxing) + .debug_str 0x0000000000002bcb 0x8b audio/libaudio.a(dc.c.obj) + 0x2f5 (size before relaxing) + .debug_str 0x0000000000002c56 0x9c audio/libaudio.a(delay.c.obj) + 0x5a7 (size before relaxing) + .debug_str 0x0000000000002cf2 0x9e audio/libaudio.a(dg.c.obj) + 0x547 (size before relaxing) + .debug_str 0x0000000000002d90 0x18b audio/libaudio.a(lpaec.c.obj) + 0x81e (size before relaxing) + .debug_str 0x0000000000002f1b 0xb4 audio/libaudio.a(lpaec_subfun.c.obj) + 0x333 (size before relaxing) + .debug_str 0x0000000000002fcf 0x131 audio/libaudio.a(mmse.c.obj) + 0x4aa (size before relaxing) + .debug_str 0x0000000000003100 0x8d audio/libaudio.a(mmse_init.c.obj) + 0x67a (size before relaxing) + .debug_str 0x000000000000318d 0x1c2 audio/libaudio.a(nlpaes.c.obj) + 0xa40 (size before relaxing) + .debug_str 0x000000000000334f 0xd1 audio/libaudio.a(nlpaes_subfun.c.obj) + 0x712 (size before relaxing) + .debug_str 0x0000000000003420 0x114 audio/libaudio.a(notch.c.obj) + 0x5e4 (size before relaxing) + .debug_str 0x0000000000003534 0xf1 audio/libaudio.a(packfft.c.obj) + 0x376 (size before relaxing) + .debug_str 0x0000000000003625 0x84 audio/libaudio.a(power.c.obj) + 0x295 (size before relaxing) + .debug_str 0x00000000000036a9 0x9c audio/libaudio.a(slope_detection.c.obj) + 0x3bc (size before relaxing) + .debug_str 0x0000000000003745 0x8f audio/libaudio.a(sum.c.obj) + 0x2ab (size before relaxing) + .debug_str 0x00000000000037d4 0x8c audio/libaudio.a(abs.c.obj) + 0x2a1 (size before relaxing) + .debug_str 0x0000000000003860 0xe0 audio/libaudio.a(agc.c.obj) + 0x6c4 (size before relaxing) + .debug_str 0x0000000000003940 0xa3 audio/libaudio.a(agc_init.c.obj) + 0x66e (size before relaxing) + .debug_str 0x00000000000039e3 0xa2 audio/libaudio.a(agc_subfun.c.obj) + 0x42b (size before relaxing) + .debug_str 0x0000000000003a85 0x137 audio/libaudio.a(bessel.c.obj) + 0x352 (size before relaxing) + .debug_str 0x0000000000003bbc 0xa8 audio/libaudio.a(db2linear.c.obj) + 0x2ce (size before relaxing) + .debug_str 0x0000000000003c64 0x96 audio/libaudio.a(dr_detection.c.obj) + 0x3b4 (size before relaxing) + .debug_str 0x0000000000003cfa 0x188 audio/libaudio.a(fftcore.c.obj) + 0x43f (size before relaxing) + .debug_str 0x0000000000003e82 0x82 audio/libaudio.a(log.c.obj) + 0x284 (size before relaxing) + .debug_str 0x0000000000003f04 0x9a audio/libaudio.a(mmse_rtwutil.c.obj) + 0x2a5 (size before relaxing) + .debug_str 0x0000000000003f9e 0xd1 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + 0x2a1 (size before relaxing) + .debug_str 0x000000000000406f 0x6a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + 0xba (size before relaxing) + .debug_str 0x00000000000040d9 0xbe /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + 0x258 (size before relaxing) + .debug_str 0x0000000000004197 0xd8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + 0x2e7 (size before relaxing) + .debug_str 0x000000000000426f 0x71 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + 0xcf (size before relaxing) + .debug_str 0x00000000000042e0 0x94 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + 0x1f8 (size before relaxing) + .debug_str 0x0000000000004374 0x7e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + 0x2ae (size before relaxing) + .debug_str 0x00000000000043f2 0x73 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + 0x29d (size before relaxing) + .debug_str 0x0000000000004465 0x2f0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + 0x7be (size before relaxing) + .debug_str 0x0000000000004755 0x60 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + 0x24c (size before relaxing) + .debug_str 0x00000000000047b5 0x15e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + 0x655 (size before relaxing) + .debug_str 0x0000000000004913 0x151 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + 0x4b8 (size before relaxing) + .debug_str 0x0000000000004a64 0x165 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + 0x5fd (size before relaxing) + .debug_str 0x0000000000004bc9 0x63a /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + 0xb8a (size before relaxing) + .debug_str 0x0000000000005203 0x3cf /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + 0x991 (size before relaxing) + .debug_str 0x00000000000055d2 0xdb /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + 0x2cb (size before relaxing) + .debug_str 0x00000000000056ad 0x357 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + 0x58b (size before relaxing) + .debug_str 0x0000000000005a04 0x8a5 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + 0xc95 (size before relaxing) + .debug_str 0x00000000000062a9 0xb92 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + 0x12bb (size before relaxing) + .debug_str 0x0000000000006e3b 0x593 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + 0xc7a (size before relaxing) + .debug_str 0x00000000000073ce 0x82 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + 0x37f (size before relaxing) + .debug_str 0x0000000000007450 0x148 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + 0x3ab (size before relaxing) + .debug_str 0x0000000000007598 0x63 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + 0xc1 (size before relaxing) + .debug_str 0x00000000000075fb 0x24d /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + 0x2ff (size before relaxing) + .debug_str 0x0000000000007848 0x2e2 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .debug_str 0x0000000000007848 0x80 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + 0x219 (size before relaxing) + +.comment 0x0000000000000000 0x2f + .comment 0x0000000000000000 0x1d main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + 0x1e (size before relaxing) + .comment 0x000000000000001d 0x1e comm/libcomm.a(comm_main.c.obj) + .comment 0x000000000000001d 0x1e rgn/librgn.a(rgn_main.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(audio_main.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(cviaudio_algo_interface.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(cvi_ssp_interface.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(dc.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(delay.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(dg.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(lpaec.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(lpaec_subfun.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(mmse.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(mmse_init.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(nlpaes.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(nlpaes_subfun.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(notch.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(packfft.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(power.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(slope_detection.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(sum.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(abs.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(agc.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(agc_init.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(agc_subfun.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(bessel.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(db2linear.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(dr_detection.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(fftcore.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(log.c.obj) + .comment 0x000000000000001d 0x1e audio/libaudio.a(mmse_rtwutil.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .comment 0x000000000000001d 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .comment 0x000000000000001d 0x12 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + 0x13 (size before relaxing) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + .comment 0x000000000000002f 0x13 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + .comment 0x000000000000002f 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .comment 0x000000000000002f 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .comment 0x000000000000002f 0x1e /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.riscv.attributes + 0x0000000000000000 0x35 + .riscv.attributes + 0x0000000000000000 0x35 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .riscv.attributes + 0x0000000000000035 0x35 comm/libcomm.a(comm_main.c.obj) + .riscv.attributes + 0x000000000000006a 0x35 rgn/librgn.a(rgn_main.c.obj) + .riscv.attributes + 0x000000000000009f 0x35 audio/libaudio.a(audio_main.c.obj) + .riscv.attributes + 0x00000000000000d4 0x35 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .riscv.attributes + 0x0000000000000109 0x35 audio/libaudio.a(cvi_ssp_interface.c.obj) + .riscv.attributes + 0x000000000000013e 0x35 audio/libaudio.a(dc.c.obj) + .riscv.attributes + 0x0000000000000173 0x35 audio/libaudio.a(delay.c.obj) + .riscv.attributes + 0x00000000000001a8 0x35 audio/libaudio.a(dg.c.obj) + .riscv.attributes + 0x00000000000001dd 0x35 audio/libaudio.a(lpaec.c.obj) + .riscv.attributes + 0x0000000000000212 0x35 audio/libaudio.a(lpaec_subfun.c.obj) + .riscv.attributes + 0x0000000000000247 0x35 audio/libaudio.a(mmse.c.obj) + .riscv.attributes + 0x000000000000027c 0x35 audio/libaudio.a(mmse_init.c.obj) + .riscv.attributes + 0x00000000000002b1 0x35 audio/libaudio.a(nlpaes.c.obj) + .riscv.attributes + 0x00000000000002e6 0x35 audio/libaudio.a(nlpaes_subfun.c.obj) + .riscv.attributes + 0x000000000000031b 0x35 audio/libaudio.a(notch.c.obj) + .riscv.attributes + 0x0000000000000350 0x35 audio/libaudio.a(packfft.c.obj) + .riscv.attributes + 0x0000000000000385 0x35 audio/libaudio.a(power.c.obj) + .riscv.attributes + 0x00000000000003ba 0x35 audio/libaudio.a(slope_detection.c.obj) + .riscv.attributes + 0x00000000000003ef 0x35 audio/libaudio.a(sum.c.obj) + .riscv.attributes + 0x0000000000000424 0x35 audio/libaudio.a(abs.c.obj) + .riscv.attributes + 0x0000000000000459 0x35 audio/libaudio.a(agc.c.obj) + .riscv.attributes + 0x000000000000048e 0x35 audio/libaudio.a(agc_init.c.obj) + .riscv.attributes + 0x00000000000004c3 0x35 audio/libaudio.a(agc_subfun.c.obj) + .riscv.attributes + 0x00000000000004f8 0x35 audio/libaudio.a(bessel.c.obj) + .riscv.attributes + 0x000000000000052d 0x35 audio/libaudio.a(db2linear.c.obj) + .riscv.attributes + 0x0000000000000562 0x35 audio/libaudio.a(dr_detection.c.obj) + .riscv.attributes + 0x0000000000000597 0x35 audio/libaudio.a(fftcore.c.obj) + .riscv.attributes + 0x00000000000005cc 0x35 audio/libaudio.a(log.c.obj) + .riscv.attributes + 0x0000000000000601 0x35 audio/libaudio.a(mmse_rtwutil.c.obj) + .riscv.attributes + 0x0000000000000636 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .riscv.attributes + 0x000000000000066b 0x33 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(start.S.obj) + .riscv.attributes + 0x000000000000069e 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .riscv.attributes + 0x00000000000006d3 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .riscv.attributes + 0x0000000000000708 0x33 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memcpy.S.obj) + .riscv.attributes + 0x000000000000073b 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .riscv.attributes + 0x0000000000000770 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .riscv.attributes + 0x00000000000007a5 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .riscv.attributes + 0x00000000000007da 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .riscv.attributes + 0x000000000000080f 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .riscv.attributes + 0x0000000000000844 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .riscv.attributes + 0x0000000000000879 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .riscv.attributes + 0x00000000000008ae 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .riscv.attributes + 0x00000000000008e3 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .riscv.attributes + 0x0000000000000918 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .riscv.attributes + 0x000000000000094d 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .riscv.attributes + 0x0000000000000982 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .riscv.attributes + 0x00000000000009b7 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .riscv.attributes + 0x00000000000009ec 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .riscv.attributes + 0x0000000000000a21 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .riscv.attributes + 0x0000000000000a56 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .riscv.attributes + 0x0000000000000a8b 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .riscv.attributes + 0x0000000000000ac0 0x33 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(portASM.S.obj) + .riscv.attributes + 0x0000000000000af3 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_atan.o) + .riscv.attributes + 0x0000000000000b28 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_ceil.o) + .riscv.attributes + 0x0000000000000b5d 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_cos.o) + .riscv.attributes + 0x0000000000000b92 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_fabs.o) + .riscv.attributes + 0x0000000000000bc7 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_floor.o) + .riscv.attributes + 0x0000000000000bfc 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_round.o) + .riscv.attributes + 0x0000000000000c31 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_sin.o) + .riscv.attributes + 0x0000000000000c66 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_atan2.o) + .riscv.attributes + 0x0000000000000c9b 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_exp.o) + .riscv.attributes + 0x0000000000000cd0 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_log.o) + .riscv.attributes + 0x0000000000000d05 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_pow.o) + .riscv.attributes + 0x0000000000000d3a 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-w_sqrt.o) + .riscv.attributes + 0x0000000000000d6f 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_atan2.o) + .riscv.attributes + 0x0000000000000da4 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_exp.o) + .riscv.attributes + 0x0000000000000dd9 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_log.o) + .riscv.attributes + 0x0000000000000e0e 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_pow.o) + .riscv.attributes + 0x0000000000000e43 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_rem_pio2.o) + .riscv.attributes + 0x0000000000000e78 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-e_sqrt.o) + .riscv.attributes + 0x0000000000000ead 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_cos.o) + .riscv.attributes + 0x0000000000000ee2 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_rem_pio2.o) + .riscv.attributes + 0x0000000000000f17 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-k_sin.o) + .riscv.attributes + 0x0000000000000f4c 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_finite.o) + .riscv.attributes + 0x0000000000000f81 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_lib_ver.o) + .riscv.attributes + 0x0000000000000fb6 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_nan.o) + .riscv.attributes + 0x0000000000000feb 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_rint.o) + .riscv.attributes + 0x0000000000001020 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libm.a(lib_a-s_scalbn.o) + .riscv.attributes + 0x0000000000001055 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-abs.o) + .riscv.attributes + 0x000000000000108a 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-errno.o) + .riscv.attributes + 0x00000000000010bf 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-impure.o) + .riscv.attributes + 0x00000000000010f4 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc.a(lib_a-memmove-stub.o) + .riscv.attributes + 0x0000000000001129 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .riscv.attributes + 0x000000000000115e 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clz.o) + .riscv.attributes + 0x0000000000001193 0x35 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) + +.debug_frame 0x0000000000000000 0x4000 + .debug_frame 0x0000000000000000 0x110 main/CMakeFiles/cvirtos.elf.dir/src/main.c.obj + .debug_frame 0x0000000000000110 0x120 comm/libcomm.a(comm_main.c.obj) + .debug_frame 0x0000000000000230 0x48 rgn/librgn.a(rgn_main.c.obj) + .debug_frame 0x0000000000000278 0x78 audio/libaudio.a(audio_main.c.obj) + .debug_frame 0x00000000000002f0 0x168 audio/libaudio.a(cviaudio_algo_interface.c.obj) + .debug_frame 0x0000000000000458 0x198 audio/libaudio.a(cvi_ssp_interface.c.obj) + .debug_frame 0x00000000000005f0 0x78 audio/libaudio.a(dc.c.obj) + .debug_frame 0x0000000000000668 0xa0 audio/libaudio.a(delay.c.obj) + .debug_frame 0x0000000000000708 0x58 audio/libaudio.a(dg.c.obj) + .debug_frame 0x0000000000000760 0x188 audio/libaudio.a(lpaec.c.obj) + .debug_frame 0x00000000000008e8 0x100 audio/libaudio.a(lpaec_subfun.c.obj) + .debug_frame 0x00000000000009e8 0x90 audio/libaudio.a(mmse.c.obj) + .debug_frame 0x0000000000000a78 0x98 audio/libaudio.a(mmse_init.c.obj) + .debug_frame 0x0000000000000b10 0x178 audio/libaudio.a(nlpaes.c.obj) + .debug_frame 0x0000000000000c88 0x220 audio/libaudio.a(nlpaes_subfun.c.obj) + .debug_frame 0x0000000000000ea8 0x98 audio/libaudio.a(notch.c.obj) + .debug_frame 0x0000000000000f40 0x98 audio/libaudio.a(packfft.c.obj) + .debug_frame 0x0000000000000fd8 0x58 audio/libaudio.a(power.c.obj) + .debug_frame 0x0000000000001030 0x28 audio/libaudio.a(slope_detection.c.obj) + .debug_frame 0x0000000000001058 0x50 audio/libaudio.a(sum.c.obj) + .debug_frame 0x00000000000010a8 0x40 audio/libaudio.a(abs.c.obj) + .debug_frame 0x00000000000010e8 0x70 audio/libaudio.a(agc.c.obj) + .debug_frame 0x0000000000001158 0x58 audio/libaudio.a(agc_init.c.obj) + .debug_frame 0x00000000000011b0 0x40 audio/libaudio.a(agc_subfun.c.obj) + .debug_frame 0x00000000000011f0 0x28 audio/libaudio.a(bessel.c.obj) + .debug_frame 0x0000000000001218 0x40 audio/libaudio.a(db2linear.c.obj) + .debug_frame 0x0000000000001258 0x28 audio/libaudio.a(dr_detection.c.obj) + .debug_frame 0x0000000000001280 0x3b0 audio/libaudio.a(fftcore.c.obj) + .debug_frame 0x0000000000001630 0x40 audio/libaudio.a(log.c.obj) + .debug_frame 0x0000000000001670 0xa0 audio/libaudio.a(mmse_rtwutil.c.obj) + .debug_frame 0x0000000000001710 0x88 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(cache.c.obj) + .debug_frame 0x0000000000001798 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(memset.c.obj) + .debug_frame 0x00000000000017c0 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(printf.c.obj) + .debug_frame 0x0000000000001800 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(sleep.c.obj) + .debug_frame 0x0000000000001840 0x88 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(snprintf.c.obj) + .debug_frame 0x00000000000018c8 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libcommon.a(time.c.obj) + .debug_frame 0x00000000000018f0 0x1f0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(system.c.obj) + .debug_frame 0x0000000000001ae0 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(pinmux.c.obj) + .debug_frame 0x0000000000001b08 0x1a8 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(uart.c.obj) + .debug_frame 0x0000000000001cb0 0x100 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_spinlock.c.obj) + .debug_frame 0x0000000000001db0 0xa0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cvi_osdc.c.obj) + .debug_frame 0x0000000000001e50 0x528 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(cmpr_canvas.c.obj) + .debug_frame 0x0000000000002378 0x668 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libdriver.a(osd_cmpr.c.obj) + .debug_frame 0x00000000000029e0 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libhal.a(hal_uart_dw.c.obj) + .debug_frame 0x0000000000002a50 0x110 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(heap_4.c.obj) + .debug_frame 0x0000000000002b60 0x628 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(queue.c.obj) + .debug_frame 0x0000000000003188 0x9a0 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(tasks.c.obj) + .debug_frame 0x0000000000003b28 0x378 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(timers.c.obj) + .debug_frame 0x0000000000003ea0 0x88 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(list.c.obj) + .debug_frame 0x0000000000003f28 0x70 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libkernel.a(port.c.obj) + .debug_frame 0x0000000000003f98 0x28 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/host-tools/gcc/riscv64-elf-x86_64/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a(_clzsi2.o) + .debug_frame 0x0000000000003fc0 0x40 /data/sam/proj_aiot/wanmosi/rls_sdk/sophpi-duo/sophpi-duo/cvi_mmf_sdk/freertos/cvitek/install/lib/libarch.a(arch_sleep.c.obj) diff --git a/freertos/cvitek/install/include/arch/arch_cpu.h b/freertos/cvitek/install/include/arch/arch_cpu.h new file mode 100644 index 000000000..997cdc5ae --- /dev/null +++ b/freertos/cvitek/install/include/arch/arch_cpu.h @@ -0,0 +1,14 @@ +#ifndef __ARCH_CPU__ +#define __ARCH_CPU__ + +#ifdef PXP_PLAT +#define configSYS_CLOCK_HZ ( 1000000000 ) +#elif defined RISCV_QEMU +#define configSYS_CLOCK_HZ ( 100000000 ) +#elif defined FPGA_PLAT +#define configSYS_CLOCK_HZ ( 25000000 ) +#else +#define configSYS_CLOCK_HZ ( 25000000 ) +#endif + +#endif // end of __ARCH_CPU__ diff --git a/freertos/cvitek/install/include/arch/arch_helpers.h b/freertos/cvitek/install/include/arch/arch_helpers.h new file mode 100644 index 000000000..e3d9f2b24 --- /dev/null +++ b/freertos/cvitek/install/include/arch/arch_helpers.h @@ -0,0 +1,12 @@ +#ifndef __ARCH_HELPERS_H__ +#define __ARCH_HELPERS_H__ +#include +#include + +void flush_dcache_range(uintptr_t addr, size_t size); +void clean_dcache_range(uintptr_t addr, size_t size); +void inv_dcache_range(uintptr_t addr, size_t size); +void enable_dcache(void); +void disable_dcache(void); + +#endif /* __ARCH_HELPERS_H__ */ diff --git a/freertos/cvitek/install/include/arch/arch_sleep.h b/freertos/cvitek/install/include/arch/arch_sleep.h new file mode 100644 index 000000000..d84cf207a --- /dev/null +++ b/freertos/cvitek/install/include/arch/arch_sleep.h @@ -0,0 +1,7 @@ +#ifndef _ARCH_SLEEP_H +#define _ARCH_SLEEP_H + +void arch_usleep(unsigned long useconds); +void arch_nsleep(unsigned long nseconds); + +#endif // end of _ARCH_SLEEP_H diff --git a/freertos/cvitek/install/include/arch/arch_time.h b/freertos/cvitek/install/include/arch/arch_time.h new file mode 100644 index 000000000..d07c28c33 --- /dev/null +++ b/freertos/cvitek/install/include/arch/arch_time.h @@ -0,0 +1,12 @@ +#ifndef __TIME_L_H__ +#define __TIME_L_H__ + +inline static unsigned long GetSysTime(void) +{ + unsigned long sys_tick = 0; + + asm volatile("rdtime %0": "=r"(sys_tick)); + return sys_tick; +} + +#endif diff --git a/freertos/cvitek/install/include/arch/core_rv64.h b/freertos/cvitek/install/include/arch/core_rv64.h new file mode 100644 index 000000000..bb5367c9e --- /dev/null +++ b/freertos/cvitek/install/include/arch/core_rv64.h @@ -0,0 +1,1068 @@ +/* + * Copyright (C) 2017-2019 Alibaba Group Holding Limited + */ + + +/****************************************************************************** + * @file core_rv64.h + * @brief CSI RV32 Core Peripheral Access Layer Header File + * @version V1.0 + * @date 01. Sep 2018 + ******************************************************************************/ + +#ifndef __CORE_RV32_H_GENERIC +#define __CORE_RV32_H_GENERIC + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/******************************************************************************* + * CSI definitions + ******************************************************************************/ +/** + \ingroup RV32 + @{ + */ + +#ifndef __RV64 +#define __RV64 (0x01U) +#endif + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __GNUC__ ) +#if defined (__VFP_FP__) && !defined(__SOFTFP__) +#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_RV32_H_GENERIC */ + +#ifndef __CSI_GENERIC + +#ifndef __CORE_RV32_H_DEPENDANT +#define __CORE_RV32_H_DEPENDANT + +#ifdef __cplusplus +extern "C" { +#endif + +/* check device defines and use defaults */ +#ifndef __RV64_REV +#define __RV64_REV 0x0000U +#endif + +#ifndef __VIC_PRIO_BITS +#define __VIC_PRIO_BITS 2U +#endif + +#ifndef __Vendor_SysTickConfig +#define __Vendor_SysTickConfig 1U +#endif + +#ifndef __MPU_PRESENT +#define __MPU_PRESENT 1U +#endif + +#ifndef __ICACHE_PRESENT +#define __ICACHE_PRESENT 1U +#endif + +#ifndef __DCACHE_PRESENT +#define __DCACHE_PRESENT 1U +#endif + + +#ifndef __L2CACHE_PRESENT +#define __L2CACHE_PRESENT 1U +#endif + +#include + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CSI_glob_defs CSI Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus +#define __I volatile /*!< Defines 'read only' permissions */ +#else +#define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group C910 */ + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core CLINT Register + ******************************************************************************/ +/** + \defgroup CSI_core_register Defines and Type Definitions + \brief Type definitions and defines for CK80X processor based devices. +*/ + +/** + \ingroup CSI_core_register + \defgroup CSI_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \ingroup CSI_core_register + \defgroup CSI_CLINT Core-Local Interrupt Controller (CLINT) + \brief Type definitions for the CLINT Registers + @{ + */ + +/** + \brief Access to the structure of a vector interrupt controller. + */ +#if 0 +typedef struct { + uint32_t RESERVED0; /*!< Offset: 0x000 (R/W) CLINT configure register */ + __IOM uint32_t PLIC_PRIO[1023]; + __IOM uint32_t PLIC_IP[32]; + uint32_t RESERVED1[3972/4 - 1]; + __IOM uint32_t PLIC_H0_MIE[32]; + __IOM uint32_t PLIC_H0_SIE[32]; + __IOM uint32_t PLIC_H1_MIE[32]; + __IOM uint32_t PLIC_H1_SIE[32]; + __IOM uint32_t PLIC_H2_MIE[32]; + __IOM uint32_t PLIC_H2_SIE[32]; + __IOM uint32_t PLIC_H3_MIE[32]; + __IOM uint32_t PLIC_H3_SIE[32]; + uint32_t RESERVED2[(0x01FFFFC-0x00023FC)/4 - 1]; + __IOM uint32_t PLIC_PER; + __IOM uint32_t PLIC_H0_MTH; + __IOM uint32_t PLIC_H0_MCLAIM; + uint32_t RESERVED3[0xFFC/4 - 1]; + __IOM uint32_t PLIC_H0_STH; + __IOM uint32_t PLIC_H0_SCLAIM; + uint32_t RESERVED4[0xFFC/4 - 1]; + + __IOM uint32_t PLIC_H1_MTH; + __IOM uint32_t PLIC_H1_MCLAIM; + uint32_t RESERVED5[0xFFC/4 - 1]; + __IOM uint32_t PLIC_H1_STH; + __IOM uint32_t PLIC_H1_SCLAIM; + uint32_t RESERVED6[0xFFC/4 - 1]; + + __IOM uint32_t PLIC_H2_MTH; + __IOM uint32_t PLIC_H2_MCLAIM; + uint32_t RESERVED7[0xFFC/4 - 1]; + __IOM uint32_t PLIC_H2_STH; + __IOM uint32_t PLIC_H2_SCLAIM; + uint32_t RESERVED8[0xFFC/4 - 1]; + + __IOM uint32_t PLIC_H3_MTH; + __IOM uint32_t PLIC_H3_MCLAIM; + uint32_t RESERVED9[0xFFC/4 - 1]; + __IOM uint32_t PLIC_H3_STH; + __IOM uint32_t PLIC_H3_SCLAIM; + uint32_t RESERVED10[0xFFC/4 - 1]; +} PLIC_Type; + +#endif +/** + \ingroup CSI_core_register + \defgroup CSI_PMP Physical Memory Protection (PMP) + \brief Type definitions for the PMP Registers + @{ + */ + +#define PMP_PMPCFG_R_Pos 0U /*!< PMP PMPCFG: R Position */ +#define PMP_PMPCFG_R_Msk (0x1UL << PMP_PMPCFG_R_Pos) /*!< PMP PMPCFG: R Mask */ + +#define PMP_PMPCFG_W_Pos 1U /*!< PMP PMPCFG: W Position */ +#define PMP_PMPCFG_W_Msk (0x1UL << PMP_PMPCFG_W_Pos) /*!< PMP PMPCFG: W Mask */ + +#define PMP_PMPCFG_X_Pos 2U /*!< PMP PMPCFG: X Position */ +#define PMP_PMPCFG_X_Msk (0x1UL << PMP_PMPCFG_X_Pos) /*!< PMP PMPCFG: X Mask */ + +#define PMP_PMPCFG_A_Pos 3U /*!< PMP PMPCFG: A Position */ +#define PMP_PMPCFG_A_Msk (0x3UL << PMP_PMPCFG_A_Pos) /*!< PMP PMPCFG: A Mask */ + +#define PMP_PMPCFG_L_Pos 7U /*!< PMP PMPCFG: L Position */ +#define PMP_PMPCFG_L_Msk (0x1UL << PMP_PMPCFG_L_Pos) /*!< PMP PMPCFG: L Mask */ + +typedef enum { + REGION_SIZE_4B = -1, + REGION_SIZE_8B = 0, + REGION_SIZE_16B = 1, + REGION_SIZE_32B = 2, + REGION_SIZE_64B = 3, + REGION_SIZE_128B = 4, + REGION_SIZE_256B = 5, + REGION_SIZE_512B = 6, + REGION_SIZE_1KB = 7, + REGION_SIZE_2KB = 8, + REGION_SIZE_4KB = 9, + REGION_SIZE_8KB = 10, + REGION_SIZE_16KB = 11, + REGION_SIZE_32KB = 12, + REGION_SIZE_64KB = 13, + REGION_SIZE_128KB = 14, + REGION_SIZE_256KB = 15, + REGION_SIZE_512KB = 16, + REGION_SIZE_1MB = 17, + REGION_SIZE_2MB = 18, + REGION_SIZE_4MB = 19, + REGION_SIZE_8MB = 20, + REGION_SIZE_16MB = 21, + REGION_SIZE_32MB = 22, + REGION_SIZE_64MB = 23, + REGION_SIZE_128MB = 24, + REGION_SIZE_256MB = 25, + REGION_SIZE_512MB = 26, + REGION_SIZE_1GB = 27, + REGION_SIZE_2GB = 28, + REGION_SIZE_4GB = 29, + REGION_SIZE_8GB = 30, + REGION_SIZE_16GB = 31 +} region_size_e; + +typedef enum { + ADDRESS_MATCHING_TOR = 1, + ADDRESS_MATCHING_NAPOT = 3 +} address_matching_e; + +typedef struct { + uint32_t r: 1; /* readable enable */ + uint32_t w: 1; /* writeable enable */ + uint32_t x: 1; /* execable enable */ + address_matching_e a: 2; /* address matching mode */ + uint32_t reserved: 2; /* reserved */ + uint32_t l: 1; /* lock enable */ +} mpu_region_attr_t; + +/*@} end of group CSI_PMP */ + +/* CACHE Register Definitions */ +#define CACHE_MHCR_WBR_Pos 8U /*!< CACHE MHCR: WBR Position */ +#define CACHE_MHCR_WBR_Msk (0x1UL << CACHE_MHCR_WBR_Pos) /*!< CACHE MHCR: WBR Mask */ + +#define CACHE_MHCR_IBPE_Pos 7U /*!< CACHE MHCR: IBPE Position */ +#define CACHE_MHCR_IBPE_Msk (0x1UL << CACHE_MHCR_IBPE_Pos) /*!< CACHE MHCR: IBPE Mask */ + +#define CACHE_MHCR_L0BTB_Pos 6U /*!< CACHE MHCR: L0BTB Position */ +#define CACHE_MHCR_L0BTB_Msk (0x1UL << CACHE_MHCR_L0BTB_Pos) /*!< CACHE MHCR: BTB Mask */ + +#define CACHE_MHCR_BPE_Pos 5U /*!< CACHE MHCR: BPE Position */ +#define CACHE_MHCR_BPE_Msk (0x1UL << CACHE_MHCR_BPE_Pos) /*!< CACHE MHCR: BPE Mask */ + +#define CACHE_MHCR_RS_Pos 4U /*!< CACHE MHCR: RS Position */ +#define CACHE_MHCR_RS_Msk (0x1UL << CACHE_MHCR_RS_Pos) /*!< CACHE MHCR: RS Mask */ + +#define CACHE_MHCR_WB_Pos 3U /*!< CACHE MHCR: WB Position */ +#define CACHE_MHCR_WB_Msk (0x1UL << CACHE_MHCR_WB_Pos) /*!< CACHE MHCR: WB Mask */ + +#define CACHE_MHCR_WA_Pos 2U /*!< CACHE MHCR: WA Position */ +#define CACHE_MHCR_WA_Msk (0x1UL << CACHE_MHCR_WA_Pos) /*!< CACHE MHCR: WA Mask */ + +#define CACHE_MHCR_DE_Pos 1U /*!< CACHE MHCR: DE Position */ +#define CACHE_MHCR_DE_Msk (0x1UL << CACHE_MHCR_DE_Pos) /*!< CACHE MHCR: DE Mask */ + +#define CACHE_MHCR_IE_Pos 0U /*!< CACHE MHCR: IE Position */ +#define CACHE_MHCR_IE_Msk (0x1UL << CACHE_MHCR_IE_Pos) /*!< CACHE MHCR: IE Mask */ + +#define CACHE_INV_ADDR_Pos 5U +#define CACHE_INV_ADDR_Msk (0xFFFFFFFFUL << CACHE_INV_ADDR_Pos) + +/*@} end of group CSI_CACHE */ + + +/** + \ingroup CSI_core_register + \defgroup CSI_SysTick System Tick Timer (CORET) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief The data structure of the access system timer. + */ +#if 0 +typedef struct { + __IOM uint32_t MSIP0; + __IOM uint32_t MSIP1; + __IOM uint32_t MSIP2; + __IOM uint32_t MSIP3; + uint32_t RESERVED0[(0x4004000-0x400000C)/4 - 1]; + __IOM uint32_t MTIMECMPL0; + __IOM uint32_t MTIMECMPH0; + __IOM uint32_t MTIMECMPL1; + __IOM uint32_t MTIMECMPH1; + __IOM uint32_t MTIMECMPL2; + __IOM uint32_t MTIMECMPH2; + __IOM uint32_t MTIMECMPL3; + __IOM uint32_t MTIMECMPH3; + uint32_t RESERVED1[(0x400C000-0x400401C)/4 - 1]; + __IOM uint32_t SSIP0; + __IOM uint32_t SSIP1; + __IOM uint32_t SSIP2; + __IOM uint32_t SSIP3; + uint32_t RESERVED2[(0x400D000-0x400C00C)/4 - 1]; + __IOM uint32_t STIMECMPL0; + __IOM uint32_t STIMECMPH0; + __IOM uint32_t STIMECMPL1; + __IOM uint32_t STIMECMPH1; + __IOM uint32_t STIMECMPL2; + __IOM uint32_t STIMECMPH2; + __IOM uint32_t STIMECMPL3; + __IOM uint32_t STIMECMPH3; +} CORET_Type; +/*@} end of group CSI_SysTick */ +#endif + +/** + \ingroup CSI_core_register + \defgroup CSI_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) ((value << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) ((value & field ## _Msk) >> field ## _Pos) + +/*@} end of group CSI_core_bitfield */ + +/** + \ingroup CSI_core_register + \defgroup CSI_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ +//#define CORET_BASE (PLIC_BASE + 0x40000UL) /*!< CORET Base Address */ +#define PLIC_BASE (0x70000000UL) /*!< PLIC Base Address */ + +//#define CORET ((CORET_Type *) CORET_BASE ) /*!< SysTick configuration struct */ +#define CLINT ((CLINT_Type *) CLINT_BASE ) /*!< CLINT configuration struct */ +#define PLIC ((PLIC_Type *) PLIC_BASE ) /*!< PLIC configuration struct */ + +/*@} */ + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core VIC Functions + - Core CORET Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CSI_Core_FunctionInterface Functions and Instructions Reference +*/ + +/* ########################## VIC functions #################################### */ +/** + \ingroup CSI_Core_FunctionInterface + \defgroup CSI_Core_VICFunctions VIC Functions + \brief Functions that manage interrupts and exceptions via the VIC. + @{ + */ +#if 0 +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 5UL) ) +#define _IP2_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +/** + \brief Enable External Interrupt + \details Enable a device-specific interrupt in the VIC interrupt controller. + \param [in] IRQn External interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_enable_irq(int32_t IRQn) +{ + PLIC->PLIC_H0_MIE[IRQn/32] = PLIC->PLIC_H0_MIE[IRQn/32] | (0x1 << (IRQn%32)); +} + +/** + \brief Disable External Interrupt + \details Disable a device-specific interrupt in the VIC interrupt controller. + \param [in] IRQn External interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_disable_irq(int32_t IRQn) +{ + PLIC->PLIC_H0_MIE[IRQn/32] = PLIC->PLIC_H0_MIE[IRQn/32] & (~(0x1 << (IRQn%32))); +} + +/** + \brief Enable External Secure Interrupt + \details Enable a secure device-specific interrupt in the VIC interrupt controller. + \param [in] IRQn External interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_enable_sirq(int32_t IRQn) +{ + csi_vic_enable_irq(IRQn); +} + +/** + \brief Disable External Secure Interrupt + \details Disable a secure device-specific interrupt in the VIC interrupt controller. + \param [in] IRQn External interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_disable_sirq(int32_t IRQn) +{ + csi_vic_disable_irq(IRQn); +} + +/** + \brief Check Interrupt is Enabled or not + \details Read the enabled register in the VIC and returns the pending bit for the specified interrupt. + \param [in] IRQn Interrupt number. + \return 0 Interrupt status is not enabled. + \return 1 Interrupt status is enabled. + */ +__STATIC_INLINE uint32_t csi_vic_get_enabled_irq(int32_t IRQn) +{ + return (uint32_t)((PLIC->PLIC_H0_MIE[IRQn/32] >> IRQn%32) & 0x1); +} + +/** + \brief Check Interrupt is Pending or not + \details Read the pending register in the VIC and returns the pending bit for the specified interrupt. + \param [in] IRQn Interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + */ +__STATIC_INLINE uint32_t csi_vic_get_pending_irq(int32_t IRQn) +{ + return (uint32_t)((PLIC->PLIC_IP[IRQn/32] >> IRQn%32) & 0x1); +} + +/** + \brief Set Pending Interrupt + \details Set the pending bit of an external interrupt. + \param [in] IRQn Interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_set_pending_irq(int32_t IRQn) +{ + PLIC->PLIC_IP[IRQn/32] = PLIC->PLIC_IP[IRQn/32] | (0x1 << (IRQn%32)); +} + +/** + \brief Clear Pending Interrupt + \details Clear the pending bit of an external interrupt. + \param [in] IRQn External interrupt number. Value cannot be negative. + */ +__STATIC_INLINE void csi_vic_clear_pending_irq(int32_t IRQn) +{ + PLIC->PLIC_H0_SCLAIM = IRQn; +} + +/** + \brief Set Interrupt Priority + \details Set the priority of an interrupt. + \note The priority cannot be set for every core interrupt. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + */ +__STATIC_INLINE void csi_vic_set_prio(int32_t IRQn, uint32_t priority) +{ + PLIC->PLIC_PRIO[IRQn] = priority; +} + +/** + \brief Get Interrupt Priority + \details Read the priority of an interrupt. + The interrupt number can be positive to specify an external (device specific) interrupt, + or negative to specify an internal (core) interrupt. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t csi_vic_get_prio(int32_t IRQn) +{ + uint32_t prio = PLIC->PLIC_PRIO[IRQn]; + return prio; +} + +/** + \brief Set interrupt handler + \details Set the interrupt handler according to the interrupt num, the handler will be filled in irq vectors. + \param [in] IRQn Interrupt number. + \param [in] handler Interrupt handler. + */ +__STATIC_INLINE void csi_vic_set_vector(int32_t IRQn, uint64_t handler) +{ + if (IRQn >= 0 && IRQn < 1024) { + uint64_t *vectors = (uint64_t *)__get_MTVT(); + vectors[IRQn] = handler; + } +} + +/** + \brief Get interrupt handler + \details Get the address of interrupt handler function. + \param [in] IRQn Interrupt number. + */ +__STATIC_INLINE uint32_t csi_vic_get_vector(int32_t IRQn) +{ + if (IRQn >= 0 && IRQn < 1024) { + uint64_t *vectors = (uint64_t *)__get_MTVT(); + return (uint32_t)vectors[IRQn]; + } + + return 0; +} + +/*@} end of CSI_Core_VICFunctions */ + +/* ########################## PMP functions #################################### */ +/** + \ingroup CSI_Core_FunctionInterface + \defgroup CSI_Core_PMPFunctions PMP Functions + \brief Functions that manage interrupts and exceptions via the VIC. + @{ + */ + +/** + \brief configure memory protected region. + \details + \param [in] idx memory protected region (0, 1, 2, ..., 15). + \param [in] base_addr base address must be aligned with page size. + \param [in] size \ref region_size_e. memory protected region size. + \param [in] attr \ref region_size_t. memory protected region attribute. + \param [in] enable enable or disable memory protected region. + */ +__STATIC_INLINE void csi_mpu_config_region(uint32_t idx, uint32_t base_addr, region_size_e size, + mpu_region_attr_t attr, uint32_t enable) +{ + uint8_t pmpxcfg = 0; + uint32_t addr = 0; + + if (idx > 15) { + return; + } + + if (!enable) { + attr.a = 0; + } + + if (attr.a == ADDRESS_MATCHING_TOR) { + addr = base_addr >> 2; + } else { + if (size == REGION_SIZE_4B) { + addr = base_addr >> 2; + attr.a = 2; + } else { + addr = ((base_addr >> 2) & (0xFFFFFFFFU - ((1 << (size + 1)) - 1))) | ((1 << size) - 1); + } + } + + __set_PMPADDRx(idx, addr); + + pmpxcfg |= (attr.r << PMP_PMPCFG_R_Pos) | (attr.w << PMP_PMPCFG_W_Pos) | + (attr.x << PMP_PMPCFG_X_Pos) | (attr.a << PMP_PMPCFG_A_Pos) | + (attr.l << PMP_PMPCFG_L_Pos); + + __set_PMPxCFG(idx, pmpxcfg); +} + +/** + \brief disable mpu region by idx. + \details + \param [in] idx memory protected region (0, 1, 2, ..., 15). + */ +__STATIC_INLINE void csi_mpu_disable_region(uint32_t idx) +{ + __set_PMPxCFG(idx, __get_PMPxCFG(idx) & (~PMP_PMPCFG_A_Msk)); +} + +/*@} end of CSI_Core_PMPFunctions */ + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CSI_Core_FunctionInterface + \defgroup CSI_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + + +/** + \brief CORE timer Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \param [in] IRQn core timer Interrupt number. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t csi_coret_config(uint32_t ticks, int32_t IRQn) +{ + uint64_t value = (((uint64_t)CORET->MTIMECMPH0) << 32) + (uint64_t)CORET->MTIMECMPL0; + + value = value + (uint64_t)ticks; + CORET->MTIMECMPH0 = (uint32_t)(value >> 32); + CORET->MTIMECMPL0 = (uint32_t)value; + return (0UL); +} + +/** + \brief get CORE timer reload value + \return CORE timer counter value. + */ +__STATIC_INLINE uint64_t csi_coret_get_load(void) +{ + uint64_t value = (((uint64_t)CORET->MTIMECMPH0) << 32) + (uint64_t)CORET->MTIMECMPL0; + return value; +} + +/** + \brief get CORE timer reload high value + \return CORE timer counter value. + */ +__STATIC_INLINE uint32_t csi_coret_get_loadh(void) +{ + uint64_t value = (((uint64_t)CORET->MTIMECMPH0) << 32) + (uint64_t)CORET->MTIMECMPL0; + return (value >> 32) & 0xFFFFFFFF; +} + +/** + \brief get CORE timer counter value + \return CORE timer counter value. + */ +__STATIC_INLINE uint64_t csi_coret_get_value(void) +{ + uint64_t result; + __ASM volatile("csrr %0, 0xc01" : "=r"(result)); + return result; +} + +/** + \brief get CORE timer counter high value + \return CORE timer counter value. + */ +__STATIC_INLINE uint32_t csi_coret_get_valueh(void) +{ + uint64_t result; + __ASM volatile("csrr %0, time" : "=r"(result)); + return (result >> 32) & 0xFFFFFFFF; +} + +/*@} end of CSI_core_DebugFunctions */ + +/* ########################## Cache functions #################################### */ +/** + \ingroup CSI_Core_FunctionInterface + \defgroup CSI_Core_CacheFunctions Cache Functions + \brief Functions that configure Instruction and Data cache. + @{ + */ + +/** + \brief Enable I-Cache + \details Turns on I-Cache + */ +__STATIC_INLINE void csi_icache_enable (void) +{ +#if (__ICACHE_PRESENT == 1U) + uint32_t cache; + __DSB(); + __ISB(); + __ICACHE_IALL(); + cache = __get_MHCR(); + cache |= CACHE_MHCR_IE_Msk; + __set_MHCR(cache); + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Disable I-Cache + \details Turns off I-Cache + */ +__STATIC_INLINE void csi_icache_disable (void) +{ +#if (__ICACHE_PRESENT == 1U) + uint32_t cache; + __DSB(); + __ISB(); + cache = __get_MHCR(); + cache &= ~CACHE_MHCR_IE_Msk; /* disable icache */ + __set_MHCR(cache); + __ICACHE_IALL(); /* invalidate all icache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Invalidate I-Cache + \details Invalidates I-Cache + */ +__STATIC_INLINE void csi_icache_invalid (void) +{ +#if (__ICACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __ICACHE_IALL(); /* invalidate all icache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Enable D-Cache + \details Turns on D-Cache + \note I-Cache also turns on. + */ +__STATIC_INLINE void csi_dcache_enable (void) +{ +#if (__DCACHE_PRESENT == 1U) + uint32_t cache; + __DSB(); + __ISB(); + __DCACHE_IALL(); /* invalidate all dcache */ + cache = __get_MHCR(); + cache |= (CACHE_MHCR_DE_Msk | CACHE_MHCR_WB_Msk | CACHE_MHCR_WA_Msk | CACHE_MHCR_RS_Msk | CACHE_MHCR_BPE_Msk | CACHE_MHCR_L0BTB_Msk | CACHE_MHCR_IBPE_Msk | CACHE_MHCR_WBR_Msk); /* enable all Cache */ + __set_MHCR(cache); + + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Disable D-Cache + \details Turns off D-Cache + \note I-Cache also turns off. + */ +__STATIC_INLINE void csi_dcache_disable (void) +{ +#if (__DCACHE_PRESENT == 1U) + uint32_t cache; + __DSB(); + __ISB(); + cache = __get_MHCR(); + cache &= ~(uint32_t)CACHE_MHCR_DE_Msk; /* disable all Cache */ + __set_MHCR(cache); + __DCACHE_IALL(); /* invalidate all Cache */ + __DSB(); + __ISB(); +#endif +} + +/** + \brief Invalidate D-Cache + \details Invalidates D-Cache + \note I-Cache also invalid + */ +__STATIC_INLINE void csi_dcache_invalid (void) +{ +#if (__DCACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __DCACHE_IALL(); /* invalidate all Cache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Clean D-Cache + \details Cleans D-Cache + \note I-Cache also cleans + */ +__STATIC_INLINE void csi_dcache_clean (void) +{ +#if (__DCACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __DCACHE_CALL(); /* clean all Cache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Clean & Invalidate D-Cache + \details Cleans and Invalidates D-Cache + \note I-Cache also flush. + */ +__STATIC_INLINE void csi_dcache_clean_invalid (void) +{ +#if (__DCACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __DCACHE_CIALL(); /* clean and inv all Cache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Invalidate L2-Cache + \details Invalidates L2-Cache + \note + */ +__STATIC_INLINE void csi_l2cache_invalid (void) +{ +#if (__L2CACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __L2CACHE_IALL(); /* invalidate l2 Cache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Clean L2-Cache + \details Cleans L2-Cache + \note + */ +__STATIC_INLINE void csi_l2cache_clean (void) +{ +#if (__L2CACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __L2CACHE_CALL(); /* clean l2 Cache */ + __DSB(); + __ISB(); +#endif +} + + +/** + \brief Clean & Invalidate L2-Cache + \details Cleans and Invalidates L2-Cache + \note + */ +__STATIC_INLINE void csi_l2cache_clean_invalid (void) +{ +#if (__L2CACHE_PRESENT == 1U) + __DSB(); + __ISB(); + __L2CACHE_CIALL(); /* clean and inv l2 Cache */ + __DSB(); + __ISB(); +#endif +} + +/** + \brief D-Cache Invalidate by address + \details Invalidates D-Cache for the given address + \param[in] addr address (aligned to 32-byte boundary) + \param[in] dsize size of memory block (in number of bytes) +*/ +__STATIC_INLINE void csi_dcache_invalid_range (uint64_t *addr, int64_t dsize) +{ +#if (__DCACHE_PRESENT == 1U) + int64_t op_size = dsize + (uint64_t)addr % 64; + uint64_t op_addr = (uint64_t)addr; + int64_t linesize = 64; + + __DSB(); + + while (op_size > 0) { + __DCACHE_IPA(op_addr); + op_addr += linesize; + op_size -= linesize; + } + + __DSB(); + __ISB(); +#endif +} + + +/** + \brief D-Cache Clean by address + \details Cleans D-Cache for the given address + \param[in] addr address (aligned to 32-byte boundary) + \param[in] dsize size of memory block (in number of bytes) +*/ +__STATIC_INLINE void csi_dcache_clean_range (uint64_t *addr, int64_t dsize) +{ + +#if (__DCACHE_PRESENT == 1) + int64_t op_size = dsize + (uint64_t)addr % 64; + uint64_t op_addr = (uint64_t) addr & CACHE_INV_ADDR_Msk; + int64_t linesize = 64; + + __DSB(); + + while (op_size > 0) { + __DCACHE_CPA(op_addr); + op_addr += linesize; + op_size -= linesize; + } + + __DSB(); + __ISB(); +#endif + +} + + +/** + \brief D-Cache Clean and Invalidate by address + \details Cleans and invalidates D_Cache for the given address + \param[in] addr address (aligned to 16-byte boundary) + \param[in] dsize size of memory block (aligned to 16-byte boundary) +*/ +__STATIC_INLINE void csi_dcache_clean_invalid_range (uint64_t *addr, int64_t dsize) +{ +#if (__DCACHE_PRESENT == 1U) + int64_t op_size = dsize + (uint64_t)addr % 64; + uint64_t op_addr = (uint64_t) addr; + int64_t linesize = 64; + + __DSB(); + + while (op_size > 0) { + __DCACHE_CIPA(op_addr); + op_addr += linesize; + op_size -= linesize; + } + + __DSB(); + __ISB(); +#endif +} + +/** + \brief setup cacheable range Cache + \details setup Cache range + */ +__STATIC_INLINE void csi_cache_set_range (uint64_t index, uint64_t baseAddr, uint64_t size, uint64_t enable) +{ + ; +} + +/** + \brief Enable cache profile + \details Turns on Cache profile + */ +__STATIC_INLINE void csi_cache_enable_profile (void) +{ + ; +} + +/** + \brief Disable cache profile + \details Turns off Cache profile + */ +__STATIC_INLINE void csi_cache_disable_profile (void) +{ + ; +} + +/** + \brief Reset cache profile + \details Reset Cache profile + */ +__STATIC_INLINE void csi_cache_reset_profile (void) +{ + ; +} + +/** + \brief cache access times + \details Cache access times + \note every 256 access add 1. + \return cache access times, actual times should be multiplied by 256 + */ +__STATIC_INLINE uint64_t csi_cache_get_access_time (void) +{ + return 0; +} + +/** + \brief cache miss times + \details Cache miss times + \note every 256 miss add 1. + \return cache miss times, actual times should be multiplied by 256 + */ +__STATIC_INLINE uint64_t csi_cache_get_miss_time (void) +{ + return 0; +} + +/*@} end of CSI_Core_CacheFunctions */ + +/*@} end of CSI_core_DebugFunctions */ + +/* ################################## IRQ Functions ############################################ */ + +/** + \brief Save the Irq context + \details save the psr result before disable irq. + */ +__STATIC_INLINE uint64_t csi_irq_save(void) +{ + uint64_t result; + result = __get_MSTATUS(); + __disable_irq(); + return(result); +} + +/** + \brief Restore the Irq context + \details restore saved primask state. + \param [in] irq_state psr irq state. + */ +__STATIC_INLINE void csi_irq_restore(uint64_t irq_state) +{ + __set_MSTATUS(irq_state); +} +#endif +/*@} end of IRQ Functions */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_RV32_H_DEPENDANT */ + +#endif /* __CSI_GENERIC */ diff --git a/freertos/cvitek/install/include/arch/csi_core.h b/freertos/cvitek/install/include/arch/csi_core.h new file mode 100644 index 000000000..aa6131f70 --- /dev/null +++ b/freertos/cvitek/install/include/arch/csi_core.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2017-2019 Alibaba Group Holding Limited + */ + + +/****************************************************************************** + * @file csi_core.h + * @brief CSI Core Layer Header File + * @version V1.0 + * @date 02. June 2017 + ******************************************************************************/ + +#ifndef _CORE_H_ +#define _CORE_H_ + +#include + +#if defined(__CK801__) || defined(__E801__) +#include +#elif defined(__CK802__) || defined(__E802__) || defined(__E802T__) || defined(__S802__) || defined(__S802T__) +#include +#elif defined(__CK804__) || defined(__E804D__) || defined(__E804DT__) || defined(__E804F__) || defined(__E804FT__) || defined (__E804DF__) || defined(__E804DFT__) +#include +#elif defined(__CK803__) || defined(__E803__) || defined(__E803T__) || defined(__S803__) || defined(__S803T__) +#include +#elif defined(__CK805__) || defined(__I805__) || defined(__I805F__) +#include +#elif defined(__CK610__) +#include +#elif defined(__CK810__) || defined(__C810__) || defined(__C810T__) || defined(__C810V__) || defined(__C810VT__) +#include +#elif defined(__CK807__) || defined(__C807__) || defined(__C807F__) || defined(__C807FV__) || defined(__R807__) +#include +#elif defined(__riscv) && defined(CONFIG_CSKY_CORETIM) +#include +#elif defined(__riscv) +#include +#endif + +#ifdef __riscv +#include +#else +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _CORE_H_ */ diff --git a/freertos/cvitek/install/include/arch/csi_rv64_gcc.h b/freertos/cvitek/install/include/arch/csi_rv64_gcc.h new file mode 100644 index 000000000..0a4142d52 --- /dev/null +++ b/freertos/cvitek/install/include/arch/csi_rv64_gcc.h @@ -0,0 +1,2819 @@ +/* + * Copyright (C) 2017-2019 Alibaba Group Holding Limited + */ + + +/****************************************************************************** + * @file csi_rv64_gcc.h + * @brief CSI Header File for GCC. + * @version V1.0 + * @date 01. Sep 2018 + ******************************************************************************/ + +#ifndef _CSI_RV32_GCC_H_ +#define _CSI_RV32_GCC_H_ + +#include + +#ifndef __ASM +#define __ASM __asm /*!< asm keyword for GNU Compiler */ +#endif + +#ifndef __INLINE +#define __INLINE inline /*!< inline keyword for GNU Compiler */ +#endif + +#ifndef __ALWAYS_STATIC_INLINE +#define __ALWAYS_STATIC_INLINE __attribute__((always_inline)) static inline +#endif + +#ifndef __STATIC_INLINE +#define __STATIC_INLINE static inline +#endif + +/* ########################### Core Function Access ########################### */ +/** \ingroup CSI_Core_FunctionInterface + \defgroup CSI_Core_RegAccFunctions CSI Core Register Access Functions + @{ + */ +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by setting the IE-bit in the PSR. + Can only be executed in Privileged modes. + */ +__ALWAYS_STATIC_INLINE void __enable_irq(void) +{ + __ASM volatile("csrs mstatus, 8"); +} + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by clearing the IE-bit in the PSR. + Can only be executed in Privileged modes. + */ +__ALWAYS_STATIC_INLINE void __disable_irq(void) +{ + __ASM volatile("csrc mstatus, 8"); +} + +/** + \brief Get MXSTATUS + \details Returns the content of the MXSTATUS Register. + \return MXSTATUS Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MXSTATUS(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mxstatus" : "=r"(result)); + return (result); +} + + + +/** + \brief Set MEPC + \details Writes the given value to the MEPC Register. + \param [in] mstatus MEPC Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MEPC(uint64_t mepc) +{ + __ASM volatile("csrw mepc, %0" : : "r"(mepc)); +} + + +/** + \brief Set MXSTATUS + \details Writes the given value to the MXSTATUS Register. + \param [in] mxstatus MXSTATUS Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MXSTATUS(uint64_t mxstatus) +{ + __ASM volatile("csrw mxstatus, %0" : : "r"(mxstatus)); +} + +/** + \brief Get MSTATUS + \details Returns the content of the MSTATUS Register. + \return MSTATUS Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MSTATUS(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mstatus" : "=r"(result)); + return (result); +} + +/** + \brief Set MSTATUS + \details Writes the given value to the MSTATUS Register. + \param [in] mstatus MSTATUS Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MSTATUS(uint64_t mstatus) +{ + __ASM volatile("csrw mstatus, %0" : : "r"(mstatus)); +} + +/** + \brief Get MHCR + \details Returns the content of the MHCR Register. + \return MHCR Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MHCR(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mhcr" : "=r"(result)); + return (result); +} + +/** + \brief Set MHCR + \details Writes the given value to the MHCR Register. + \param [in] mstatus MHCR Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MHCR(uint64_t mhcr) +{ + __ASM volatile("csrw mhcr, %0" : : "r"(mhcr)); +} + +/** + \brief Get MISA Register + \details Returns the content of the MISA Register. + \return MISA Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MISA(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, misa" : "=r"(result)); + return (result); +} + +/** + \brief Set MISA + \details Writes the given value to the MISA Register. + \param [in] misa MISA Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MISA(uint64_t misa) +{ + __ASM volatile("csrw misa, %0" : : "r"(misa)); +} + +/** + \brief Get MIE Register + \details Returns the content of the MIE Register. + \return MIE Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MIE(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mie" : "=r"(result)); + return (result); +} + +/** + \brief Set MIE + \details Writes the given value to the MIE Register. + \param [in] mie MIE Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MIE(uint64_t mie) +{ + __ASM volatile("csrw mie, %0" : : "r"(mie)); +} + +/** + \brief Get MTVEC Register + \details Returns the content of the MTVEC Register. + \return MTVEC Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MTVEC(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mtvec" : "=r"(result)); + return (result); +} + +/** + \brief Set MTVEC + \details Writes the given value to the MTVEC Register. + \param [in] mtvec MTVEC Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MTVEC(uint64_t mtvec) +{ + __ASM volatile("csrw mtvec, %0" : : "r"(mtvec)); +} + +/** + \brief Set MTVT + \details Writes the given value to the MTVT Register. + \param [in] mtvt MTVT Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MTVT(uint64_t mtvt) +{ + __ASM volatile("csrw mtvt, %0" : : "r"(mtvt)); +} + +/** + \brief Get MTVT Register + \details Returns the content of the MTVT Register. + \return MTVT Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MTVT(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mtvt" : "=r"(result)); + return (result); +} + +/** + \brief Get SP + \details Returns the content of the SP Register. + \return SP Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_SP(void) +{ + uint64_t result; + + __ASM volatile("mv %0, sp" : "=r"(result)); + return (result); +} + +/** + \brief Set SP + \details Writes the given value to the SP Register. + \param [in] sp SP Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_SP(uint64_t sp) +{ + __ASM volatile("mv sp, %0" : : "r"(sp): "sp"); +} + +/** + \brief Get MSCRATCH Register + \details Returns the content of the MSCRATCH Register. + \return MSCRATCH Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MSCRATCH(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mscratch" : "=r"(result)); + return (result); +} + +/** + \brief Set MSCRATCH + \details Writes the given value to the MSCRATCH Register. + \param [in] mscratch MSCRATCH Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MSCRATCH(uint64_t mscratch) +{ + __ASM volatile("csrw mscratch, %0" : : "r"(mscratch)); +} + +/** + \brief Get MCAUSE Register + \details Returns the content of the MCAUSE Register. + \return MCAUSE Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MCAUSE(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mcause" : "=r"(result)); + return (result); +} + +/** + \brief Get MNXTI Register + \details Returns the content of the MNXTI Register. + \return MNXTI Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MNXTI(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mnxti" : "=r"(result)); + return (result); +} + +/** + \brief Set MNXTI + \details Writes the given value to the MNXTI Register. + \param [in] mnxti MNXTI Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MNXTI(uint64_t mnxti) +{ + __ASM volatile("csrw mnxti, %0" : : "r"(mnxti)); +} + +/** + \brief Get MINTSTATUS Register + \details Returns the content of the MINTSTATUS Register. + \return MINTSTATUS Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MINTSTATUS(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mintstatus" : "=r"(result)); + return (result); +} + +/** + \brief Get MTVAL Register + \details Returns the content of the MTVAL Register. + \return MTVAL Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MTVAL(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mtval" : "=r"(result)); + return (result); +} + +/** + \brief Get MIP Register + \details Returns the content of the MIP Register. + \return MIP Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MIP(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mip" : "=r"(result)); + return (result); +} + +/** + \brief Set MIP + \details Writes the given value to the MIP Register. + \param [in] mip MIP Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_MIP(uint64_t mip) +{ + __ASM volatile("csrw mip, %0" : : "r"(mip)); +} + +/** + \brief Get MCYCLEL Register + \details Returns the content of the MCYCLEL Register. + \return MCYCLE Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MCYCLE(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mcycle" : "=r"(result)); + return (result); +} + +/** + \brief Get MCYCLEH Register + \details Returns the content of the MCYCLEH Register. + \return MCYCLEH Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MCYCLEH(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mcycleh" : "=r"(result)); + return (result); +} + +/** + \brief Get MINSTRET Register + \details Returns the content of the MINSTRET Register. + \return MINSTRET Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MINSTRET(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, minstret" : "=r"(result)); + return (result); +} + +/** + \brief Get MINSTRETH Register + \details Returns the content of the MINSTRETH Register. + \return MINSTRETH Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MINSTRETH(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, minstreth" : "=r"(result)); + return (result); +} + +/** + \brief Get MVENDORID Register + \details Returns the content of the MVENDROID Register. + \return MVENDORID Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MVENDORID(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mvendorid" : "=r"(result)); + return (result); +} + +/** + \brief Get MARCHID Register + \details Returns the content of the MARCHID Register. + \return MARCHID Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MARCHID(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, marchid" : "=r"(result)); + return (result); +} + +/** + \brief Get MIMPID Register + \details Returns the content of the MIMPID Register. + \return MIMPID Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MIMPID(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mimpid" : "=r"(result)); + return (result); +} + +/** + \brief Get MHARTID Register + \details Returns the content of the MHARTID Register. + \return MHARTID Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_MHARTID(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, mhartid" : "=r"(result)); + return (result); +} + +/** + \brief Get PMPCFGx Register + \details Returns the content of the PMPCFGx Register. + \return PMPCFGx Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_PMPCFG0(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpcfg0" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPCFG1(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpcfg1" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPCFG2(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpcfg2" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPCFG3(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpcfg3" : "=r"(result)); + return (result); +} + +/** + \brief Get PMPxCFG Register by index + \details Returns the content of the PMPxCFG Register. + \param [in] idx PMP region index + \return PMPxCFG Register value + */ +__STATIC_INLINE uint8_t __get_PMPxCFG(uint64_t idx) +{ + uint64_t pmpcfgx = 0; + + if (idx < 4) { + pmpcfgx = __get_PMPCFG0(); + } else if (idx >=4 && idx < 8) { + idx -= 4; + pmpcfgx = __get_PMPCFG1(); + } else if (idx >=8 && idx < 12) { + idx -= 8; + pmpcfgx = __get_PMPCFG2(); + } else if (idx >=12 && idx < 16) { + idx -= 12; + pmpcfgx = __get_PMPCFG3(); + } else { + return 0; + } + + return (uint8_t)((pmpcfgx & (0xFF << (idx << 3))) >> (idx << 3)); +} + +/** + \brief Set PMPCFGx + \details Writes the given value to the PMPCFGx Register. + \param [in] pmpcfg PMPCFGx Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_PMPCFG0(uint64_t pmpcfg) +{ + __ASM volatile("csrw pmpcfg0, %0" : : "r"(pmpcfg)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPCFG1(uint64_t pmpcfg) +{ + __ASM volatile("csrw pmpcfg1, %0" : : "r"(pmpcfg)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPCFG2(uint64_t pmpcfg) +{ + __ASM volatile("csrw pmpcfg2, %0" : : "r"(pmpcfg)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPCFG3(uint64_t pmpcfg) +{ + __ASM volatile("csrw pmpcfg3, %0" : : "r"(pmpcfg)); +} + +/** + \brief Set PMPxCFG by index + \details Writes the given value to the PMPxCFG Register. + \param [in] idx PMPx region index + \param [in] pmpxcfg PMPxCFG Register value to set + */ +__STATIC_INLINE void __set_PMPxCFG(uint64_t idx, uint8_t pmpxcfg) +{ + uint64_t pmpcfgx = 0; + + if (idx < 4) { + pmpcfgx = __get_PMPCFG0(); + pmpcfgx = (pmpcfgx & ~(0xFF << (idx << 3))) | (pmpxcfg << (idx << 3)); + __set_PMPCFG0(pmpcfgx); + } else if (idx >=4 && idx < 8) { + idx -= 4; + pmpcfgx = __get_PMPCFG1(); + pmpcfgx = (pmpcfgx & ~(0xFF << (idx << 3))) | (pmpxcfg << (idx << 3)); + __set_PMPCFG1(pmpcfgx); + } else if (idx >=8 && idx < 12) { + idx -= 8; + pmpcfgx = __get_PMPCFG2(); + pmpcfgx = (pmpcfgx & ~(0xFF << (idx << 3))) | (pmpxcfg << (idx << 3)); + __set_PMPCFG2(pmpcfgx); + } else if (idx >=12 && idx < 16) { + idx -= 12; + pmpcfgx = __get_PMPCFG3(); + pmpcfgx = (pmpcfgx & ~(0xFF << (idx << 3))) | (pmpxcfg << (idx << 3)); + __set_PMPCFG3(pmpcfgx); + } else { + return; + } +} + +/** + \brief Get PMPADDRx Register + \details Returns the content of the PMPADDRx Register. + \return PMPADDRx Register value + */ +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR0(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr0" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR1(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr1" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR2(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr2" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR3(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr3" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR4(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr4" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR5(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr5" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR6(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr6" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR7(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr7" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR8(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr8" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR9(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr9" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR10(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr10" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR11(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr11" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR12(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr12" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR13(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr13" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR14(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr14" : "=r"(result)); + return (result); +} + +__ALWAYS_STATIC_INLINE uint64_t __get_PMPADDR15(void) +{ + uint64_t result; + + __ASM volatile("csrr %0, pmpaddr15" : "=r"(result)); + return (result); +} + +/** + \brief Get PMPADDRx Register by index + \details Returns the content of the PMPADDRx Register. + \param [in] idx PMP region index + \return PMPADDRx Register value + */ +__STATIC_INLINE uint64_t __get_PMPADDRx(uint64_t idx) +{ + switch (idx) { + case 0: return __get_PMPADDR0(); + case 1: return __get_PMPADDR1(); + case 2: return __get_PMPADDR2(); + case 3: return __get_PMPADDR3(); + case 4: return __get_PMPADDR4(); + case 5: return __get_PMPADDR5(); + case 6: return __get_PMPADDR6(); + case 7: return __get_PMPADDR7(); + case 8: return __get_PMPADDR8(); + case 9: return __get_PMPADDR9(); + case 10: return __get_PMPADDR10(); + case 11: return __get_PMPADDR11(); + case 12: return __get_PMPADDR12(); + case 13: return __get_PMPADDR13(); + case 14: return __get_PMPADDR14(); + case 15: return __get_PMPADDR15(); + default: return 0; + } +} + +/** + \brief Set PMPADDRx + \details Writes the given value to the PMPADDRx Register. + \param [in] pmpaddr PMPADDRx Register value to set + */ +__ALWAYS_STATIC_INLINE void __set_PMPADDR0(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr0, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR1(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr1, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR2(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr2, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR3(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr3, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR4(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr4, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR5(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr5, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR6(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr6, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR7(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr7, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR8(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr8, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR9(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr9, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR10(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr10, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR11(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr11, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR12(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr12, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR13(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr13, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR14(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr14, %0" : : "r"(pmpaddr)); +} + +__ALWAYS_STATIC_INLINE void __set_PMPADDR15(uint64_t pmpaddr) +{ + __ASM volatile("csrw pmpaddr15, %0" : : "r"(pmpaddr)); +} + +/** + \brief Set PMPADDRx by index + \details Writes the given value to the PMPADDRx Register. + \param [in] idx PMP region index + \param [in] pmpaddr PMPADDRx Register value to set + */ +__STATIC_INLINE void __set_PMPADDRx(uint64_t idx, uint64_t pmpaddr) +{ + switch (idx) { + case 0: __set_PMPADDR0(pmpaddr); break; + case 1: __set_PMPADDR1(pmpaddr); break; + case 2: __set_PMPADDR2(pmpaddr); break; + case 3: __set_PMPADDR3(pmpaddr); break; + case 4: __set_PMPADDR4(pmpaddr); break; + case 5: __set_PMPADDR5(pmpaddr); break; + case 6: __set_PMPADDR6(pmpaddr); break; + case 7: __set_PMPADDR7(pmpaddr); break; + case 8: __set_PMPADDR8(pmpaddr); break; + case 9: __set_PMPADDR9(pmpaddr); break; + case 10: __set_PMPADDR10(pmpaddr); break; + case 11: __set_PMPADDR11(pmpaddr); break; + case 12: __set_PMPADDR12(pmpaddr); break; + case 13: __set_PMPADDR13(pmpaddr); break; + case 14: __set_PMPADDR14(pmpaddr); break; + case 15: __set_PMPADDR15(pmpaddr); break; + default: return; + } +} + +/** + \brief Enable interrupts and exceptions + \details Enables interrupts and exceptions by setting the IE-bit and EE-bit in the PSR. + Can only be executed in Privileged modes. + */ +__ALWAYS_STATIC_INLINE void __enable_excp_irq(void) +{ + __enable_irq(); +} + + +/** + \brief Disable interrupts and exceptions + \details Disables interrupts and exceptions by clearing the IE-bit and EE-bit in the PSR. + Can only be executed in Privileged modes. + */ +__ALWAYS_STATIC_INLINE void __disable_excp_irq(void) +{ + __disable_irq(); +} + +#define __CSI_GCC_OUT_REG(r) "=r" (r) +#define __CSI_GCC_USE_REG(r) "r" (r) + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ +__ALWAYS_STATIC_INLINE void __NOP(void) +{ + __ASM volatile("nop"); +} + + +/** + \brief return from M-MODE + \details return from M-MODE. + */ +__ALWAYS_STATIC_INLINE void __MRET(void) +{ + __ASM volatile("mret"); +} + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. + */ +__ALWAYS_STATIC_INLINE void __WFI(void) +{ + __ASM volatile("wfi"); +} + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one interrupt occurs. + */ +__ALWAYS_STATIC_INLINE void __WAIT(void) +{ + __ASM volatile("wfi"); +} + +/** + \brief Doze For Interrupt + \details Doze For Interrupt is a hint instruction that suspends execution until one interrupt occurs. + */ +__ALWAYS_STATIC_INLINE void __DOZE(void) +{ + __ASM volatile("wfi"); +} + +/** + \brief Stop For Interrupt + \details Stop For Interrupt is a hint instruction that suspends execution until one interrupt occurs. + */ +__ALWAYS_STATIC_INLINE void __STOP(void) +{ + __ASM volatile("wfi"); +} + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +__ALWAYS_STATIC_INLINE void __ISB(void) +{ + __ASM volatile("fence"); +} + + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +__ALWAYS_STATIC_INLINE void __DSB(void) +{ + __ASM volatile("fence"); +} + +/** + \brief Invalid all icache + \details invalid all icache. + */ +__ALWAYS_STATIC_INLINE void __ICACHE_IALL(void) +{ + __ASM volatile("icache.iall"); +} + +/** + \brief Invalid Icache by addr + \details Invalid Icache by addr. + \param [in] addr operate addr + */ +__ALWAYS_STATIC_INLINE void __ICACHE_IPA(uint64_t addr) +{ + __ASM volatile("icache.ipa %0" : : "r"(addr)); +} + +/** + \brief Invalid all dcache + \details invalid all dcache. + */ +__ALWAYS_STATIC_INLINE void __DCACHE_IALL(void) +{ + __ASM volatile("dcache.iall"); +} + +/** + \brief Clear all dcache + \details clear all dcache. + */ +__ALWAYS_STATIC_INLINE void __DCACHE_CALL(void) +{ + __ASM volatile("dcache.call"); +} + +/** + \brief Clear&invalid all dcache + \details clear & invalid all dcache. + */ +__ALWAYS_STATIC_INLINE void __DCACHE_CIALL(void) +{ + __ASM volatile("dcache.ciall"); +} + +#if (__L2CACHE_PRESENT == 1U) +/** + \brief Invalid L2 cache + \details invalid L2 cache. + */ +__ALWAYS_STATIC_INLINE void __L2CACHE_IALL(void) +{ + __ASM volatile("l2cache.iall"); +} + +/** + \brief Clear L2cache + \details clear L2cache. + */ +__ALWAYS_STATIC_INLINE void __L2CACHE_CALL(void) +{ + __ASM volatile("l2cache.call"); +} + +/** + \brief Clear&invalid L2cache + \details clear & invalid L2cache. + */ +__ALWAYS_STATIC_INLINE void __L2CACHE_CIALL(void) +{ + __ASM volatile("l2cache.ciall"); +} +#endif + + +/** + \brief Invalid Dcache by addr + \details Invalid Dcache by addr. + \param [in] addr operate addr + */ +__ALWAYS_STATIC_INLINE void __DCACHE_IPA(uint64_t addr) +{ + __ASM volatile("dcache.ipa %0" : : "r"(addr)); +} + +/** + \brief Clear Dcache by addr + \details Clear Dcache by addr. + \param [in] addr operate addr + */ +__ALWAYS_STATIC_INLINE void __DCACHE_CPA(uint64_t addr) +{ + __ASM volatile("dcache.cpa %0" : : "r"(addr)); +} + +/** + \brief Clear & Invalid Dcache by addr + \details Clear & Invalid Dcache by addr. + \param [in] addr operate addr + */ +__ALWAYS_STATIC_INLINE void __DCACHE_CIPA(uint64_t addr) +{ + __ASM volatile("dcache.cipa %0" : : "r"(addr)); +} + + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +__ALWAYS_STATIC_INLINE void __DMB(void) +{ + __ASM volatile("fence"); +} + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in integer value. + \param [in] value Value to reverse + \return Reversed value + */ +__ALWAYS_STATIC_INLINE uint64_t __REV(uint64_t value) +{ + return __builtin_bswap32(value); +} + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order in two unsigned short values. + \param [in] value Value to reverse + \return Reversed value + */ +__ALWAYS_STATIC_INLINE uint32_t __REV16(uint32_t value) +{ + uint32_t result; + + result = ((value & 0xFF000000) >> 8) | ((value & 0x00FF0000) << 8) | + ((value & 0x0000FF00) >> 8) | ((value & 0x000000FF) << 8); + + return (result); +} + + +/** + \brief Reverse byte order in signed short value + \details Reverses the byte order in a signed short value with sign extension to integer. + \param [in] value Value to reverse + \return Reversed value + */ +__ALWAYS_STATIC_INLINE int32_t __REVSH(int32_t value) +{ + return (short)(((value & 0xFF00) >> 8) | ((value & 0x00FF) << 8)); +} + + +/** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +__ALWAYS_STATIC_INLINE uint32_t __ROR(uint32_t op1, uint32_t op2) +{ + return (op1 >> op2) | (op1 << (32U - op2)); +} + + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + */ +__ALWAYS_STATIC_INLINE void __BKPT(void) +{ + __ASM volatile("ebreak"); +} + +/** + \brief Reverse bit order of value + \details Reverses the bit order of the given value. + \param [in] value Value to reverse + \return Reversed value + */ +__ALWAYS_STATIC_INLINE uint32_t __RBIT(uint32_t value) +{ + uint32_t result; + + int32_t s = 4 /*sizeof(v)*/ * 8 - 1; /* extra shift needed at end */ + + result = value; /* r will be reversed bits of v; first get LSB of v */ + + for (value >>= 1U; value; value >>= 1U) { + result <<= 1U; + result |= value & 1U; + s--; + } + + result <<= s; /* shift when v's highest bits are zero */ + + return (result); +} + + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +#define __CLZ __builtin_clz +/** + \details This function saturates a signed value. + \param [in] x Value to be saturated + \param [in] y Bit position to saturate to [1..32] + \return Saturated value. + */ +__ALWAYS_STATIC_INLINE int32_t __SSAT(int32_t x, uint32_t y) +{ + int32_t posMax, negMin; + uint32_t i; + + posMax = 1; + + for (i = 0; i < (y - 1); i++) { + posMax = posMax * 2; + } + + if (x > 0) { + posMax = (posMax - 1); + + if (x > posMax) { + x = posMax; + } + +// x &= (posMax * 2 + 1); + } else { + negMin = -posMax; + + if (x < negMin) { + x = negMin; + } + +// x &= (posMax * 2 - 1); + } + + return (x); +} + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__ALWAYS_STATIC_INLINE uint32_t __USAT(uint32_t value, uint32_t sat) +{ + uint32_t result; + + if ((((0xFFFFFFFF >> sat) << sat) & value) != 0) { + result = 0xFFFFFFFF >> (32 - sat); + } else { + result = value; + } + + return (result); +} + +/** + \brief Unsigned Saturate for internal use + \details Saturates an unsigned value, should not call directly. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__ALWAYS_STATIC_INLINE uint32_t __IUSAT(uint32_t value, uint32_t sat) +{ + uint32_t result; + + if (value & 0x80000000) { /* only overflow set bit-31 */ + result = 0; + } else if ((((0xFFFFFFFF >> sat) << sat) & value) != 0) { + result = 0xFFFFFFFF >> (32 - sat); + } else { + result = value; + } + + return (result); +} + +/** + \brief Rotate Right with Extend + \details This function moves each bit of a bitstring right by one bit. + The carry input is shifted in at the left end of the bitstring. + \note carry input will always 0. + \param [in] op1 Value to rotate + \return Rotated value + */ +__ALWAYS_STATIC_INLINE uint32_t __RRX(uint32_t op1) +{ + return 0; +} + +/** + \brief LDRT Unprivileged (8 bit) + \details Executes a Unprivileged LDRT instruction for 8 bit value. + \param [in] addr Pointer to location + \return value of type uint8_t at (*ptr) + */ +__ALWAYS_STATIC_INLINE uint8_t __LDRBT(volatile uint8_t *addr) +{ + uint32_t result; + + __ASM volatile("lb %0, 0(%1)" : "=r"(result) : "r"(addr)); + + return ((uint8_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (16 bit) + \details Executes a Unprivileged LDRT instruction for 16 bit values. + \param [in] addr Pointer to location + \return value of type uint16_t at (*ptr) + */ +__ALWAYS_STATIC_INLINE uint16_t __LDRHT(volatile uint16_t *addr) +{ + uint32_t result; + + __ASM volatile("lh %0, 0(%1)" : "=r"(result) : "r"(addr)); + + return ((uint16_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (32 bit) + \details Executes a Unprivileged LDRT instruction for 32 bit values. + \param [in] addr Pointer to location + \return value of type uint32_t at (*ptr) + */ +__ALWAYS_STATIC_INLINE uint32_t __LDRT(volatile uint32_t *addr) +{ + uint32_t result; + + __ASM volatile("lw %0, 0(%1)" : "=r"(result) : "r"(addr)); + + return (result); +} + + +/** + \brief STRT Unprivileged (8 bit) + \details Executes a Unprivileged STRT instruction for 8 bit values. + \param [in] value Value to store + \param [in] addr Pointer to location + */ +__ALWAYS_STATIC_INLINE void __STRBT(uint8_t value, volatile uint8_t *addr) +{ + __ASM volatile("sb %1, 0(%0)" :: "r"(addr), "r"((uint32_t)value) : "memory"); +} + + +/** + \brief STRT Unprivileged (16 bit) + \details Executes a Unprivileged STRT instruction for 16 bit values. + \param [in] value Value to store + \param [in] addr Pointer to location + */ +__ALWAYS_STATIC_INLINE void __STRHT(uint16_t value, volatile uint16_t *addr) +{ + __ASM volatile("sh %1, 0(%0)" :: "r"(addr), "r"((uint32_t)value) : "memory"); +} + + +/** + \brief STRT Unprivileged (32 bit) + \details Executes a Unprivileged STRT instruction for 32 bit values. + \param [in] value Value to store + \param [in] addr Pointer to location + */ +__ALWAYS_STATIC_INLINE void __STRT(uint32_t value, volatile uint32_t *addr) +{ + __ASM volatile("sw %1, 0(%0)" :: "r"(addr), "r"(value) : "memory"); +} + +/*@}*/ /* end of group CSI_Core_InstructionInterface */ + +/* ################### Compiler specific Intrinsics ########################### */ +/** \defgroup CSI_SIMD_intrinsics CSI SIMD Intrinsics + Access to dedicated SIMD instructions \n + Single Instruction Multiple Data (SIMD) extensions are provided to simplify development of application software. SIMD extensions increase the processing capability without materially increasing the power consumption. The SIMD extensions are completely transparent to the operating system (OS), allowing existing OS ports to be used. + + @{ +*/ + +/** + \brief Halfword packing instruction. Combines bits[15:0] of val1 with bits[31:16] + of val2 levitated with the val3. + \details Combine a halfword from one register with a halfword from another register. + The second argument can be left-shifted before extraction of the halfword. + \param [in] val1 first 16-bit operands + \param [in] val2 second 16-bit operands + \param [in] val3 value for left-shifting val2. Value range [0..31]. + \return the combination of halfwords. + \remark + res[15:0] = val1[15:0] \n + res[31:16] = val2[31:16] << val3 + */ +__ALWAYS_STATIC_INLINE uint32_t __PKHBT(uint32_t val1, uint32_t val2, uint32_t val3) +{ + return ((((int32_t)(val1) << 0) & (int32_t)0x0000FFFF) | (((int32_t)(val2) << val3) & (int32_t)0xFFFF0000)); +} + +/** + \brief Halfword packing instruction. Combines bits[31:16] of val1 with bits[15:0] + of val2 right-shifted with the val3. + \details Combine a halfword from one register with a halfword from another register. + The second argument can be right-shifted before extraction of the halfword. + \param [in] val1 first 16-bit operands + \param [in] val2 second 16-bit operands + \param [in] val3 value for right-shifting val2. Value range [1..32]. + \return the combination of halfwords. + \remark + res[15:0] = val2[15:0] >> val3 \n + res[31:16] = val1[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __PKHTB(uint32_t val1, uint32_t val2, uint32_t val3) +{ + return ((((int32_t)(val1) << 0) & (int32_t)0xFFFF0000) | (((int32_t)(val2) >> val3) & (int32_t)0x0000FFFF)); +} + +/** + \brief Dual 16-bit signed saturate. + \details This function saturates a signed value. + \param [in] x two signed 16-bit values to be saturated. + \param [in] y bit position for saturation, an integral constant expression in the range 1 to 16. + \return the sum of the absolute differences of the following bytes, added to the accumulation value:\n + the signed saturation of the low halfword in val1, saturated to the bit position specified in + val2 and returned in the low halfword of the return value.\n + the signed saturation of the high halfword in val1, saturated to the bit position specified in + val2 and returned in the high halfword of the return value. + */ +__ALWAYS_STATIC_INLINE uint32_t __SSAT16(int32_t x, const uint32_t y) +{ + int32_t r = 0, s = 0; + + r = __SSAT((((int32_t)x << 16) >> 16), y) & (int32_t)0x0000FFFF; + s = __SSAT((((int32_t)x) >> 16), y) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned saturate. + \details This function enables you to saturate two signed 16-bit values to a selected unsigned range. + \param [in] x two signed 16-bit values to be saturated. + \param [in] y bit position for saturation, an integral constant expression in the range 1 to 16. + \return the saturation of the two signed 16-bit values, as non-negative values: + the saturation of the low halfword in val1, saturated to the bit position specified in + val2 and returned in the low halfword of the return value.\n + the saturation of the high halfword in val1, saturated to the bit position specified in + val2 and returned in the high halfword of the return value. + */ +__ALWAYS_STATIC_INLINE uint32_t __USAT16(uint32_t x, const uint32_t y) +{ + int32_t r = 0, s = 0; + + r = __IUSAT(((x << 16) >> 16), y) & 0x0000FFFF; + s = __IUSAT(((x) >> 16), y) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Quad 8-bit saturating addition. + \details This function enables you to perform four 8-bit integer additions, + saturating the results to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the saturated addition of the first byte of each operand in the first byte of the return value.\n + the saturated addition of the second byte of each operand in the second byte of the return value.\n + the saturated addition of the third byte of each operand in the third byte of the return value.\n + the saturated addition of the fourth byte of each operand in the fourth byte of the return value.\n + The returned results are saturated to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1. + \remark + res[7:0] = val1[7:0] + val2[7:0] \n + res[15:8] = val1[15:8] + val2[15:8] \n + res[23:16] = val1[23:16] + val2[23:16] \n + res[31:24] = val1[31:24] + val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __QADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = __SSAT(((((int32_t)x << 24) >> 24) + (((int32_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; + s = __SSAT(((((int32_t)x << 16) >> 24) + (((int32_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; + t = __SSAT(((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; + u = __SSAT(((((int32_t)x) >> 24) + (((int32_t)y) >> 24)), 8) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned saturating addition. + \details This function enables you to perform four unsigned 8-bit integer additions, + saturating the results to the 8-bit unsigned integer range 0 < x < 2^8 - 1. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the saturated addition of the first byte of each operand in the first byte of the return value.\n + the saturated addition of the second byte of each operand in the second byte of the return value.\n + the saturated addition of the third byte of each operand in the third byte of the return value.\n + the saturated addition of the fourth byte of each operand in the fourth byte of the return value.\n + The returned results are saturated to the 8-bit signed integer range 0 <= x <= 2^8 - 1. + \remark + res[7:0] = val1[7:0] + val2[7:0] \n + res[15:8] = val1[15:8] + val2[15:8] \n + res[23:16] = val1[23:16] + val2[23:16] \n + res[31:24] = val1[31:24] + val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = __IUSAT((((x << 24) >> 24) + ((y << 24) >> 24)), 8) & 0x000000FF; + s = __IUSAT((((x << 16) >> 24) + ((y << 16) >> 24)), 8) & 0x000000FF; + t = __IUSAT((((x << 8) >> 24) + ((y << 8) >> 24)), 8) & 0x000000FF; + u = __IUSAT((((x) >> 24) + ((y) >> 24)), 8) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Quad 8-bit signed addition. + \details This function performs four 8-bit signed integer additions. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the addition of the first bytes from each operand, in the first byte of the return value.\n + the addition of the second bytes of each operand, in the second byte of the return value.\n + the addition of the third bytes of each operand, in the third byte of the return value.\n + the addition of the fourth bytes of each operand, in the fourth byte of the return value. + \remark + res[7:0] = val1[7:0] + val2[7:0] \n + res[15:8] = val1[15:8] + val2[15:8] \n + res[23:16] = val1[23:16] + val2[23:16] \n + res[31:24] = val1[31:24] + val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __SADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = ((((int32_t)x << 24) >> 24) + (((int32_t)y << 24) >> 24)) & (int32_t)0x000000FF; + s = ((((int32_t)x << 16) >> 24) + (((int32_t)y << 16) >> 24)) & (int32_t)0x000000FF; + t = ((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)) & (int32_t)0x000000FF; + u = ((((int32_t)x) >> 24) + (((int32_t)y) >> 24)) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned addition. + \details This function performs four unsigned 8-bit integer additions. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the addition of the first bytes from each operand, in the first byte of the return value.\n + the addition of the second bytes of each operand, in the second byte of the return value.\n + the addition of the third bytes of each operand, in the third byte of the return value.\n + the addition of the fourth bytes of each operand, in the fourth byte of the return value. + \remark + res[7:0] = val1[7:0] + val2[7:0] \n + res[15:8] = val1[15:8] + val2[15:8] \n + res[23:16] = val1[23:16] + val2[23:16] \n + res[31:24] = val1[31:24] + val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __UADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = (((x << 24) >> 24) + ((y << 24) >> 24)) & 0x000000FF; + s = (((x << 16) >> 24) + ((y << 16) >> 24)) & 0x000000FF; + t = (((x << 8) >> 24) + ((y << 8) >> 24)) & 0x000000FF; + u = (((x) >> 24) + ((y) >> 24)) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Quad 8-bit saturating subtract. + \details This function enables you to perform four 8-bit integer subtractions, + saturating the results to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the subtraction of the first byte of each operand in the first byte of the return value.\n + the subtraction of the second byte of each operand in the second byte of the return value.\n + the subtraction of the third byte of each operand in the third byte of the return value.\n + the subtraction of the fourth byte of each operand in the fourth byte of the return value.\n + The returned results are saturated to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1. + \remark + res[7:0] = val1[7:0] - val2[7:0] \n + res[15:8] = val1[15:8] - val2[15:8] \n + res[23:16] = val1[23:16] - val2[23:16] \n + res[31:24] = val1[31:24] - val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __QSUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = __SSAT(((((int32_t)x << 24) >> 24) - (((int32_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; + s = __SSAT(((((int32_t)x << 16) >> 24) - (((int32_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; + t = __SSAT(((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; + u = __SSAT(((((int32_t)x) >> 24) - (((int32_t)y) >> 24)), 8) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned saturating subtraction. + \details This function enables you to perform four unsigned 8-bit integer subtractions, + saturating the results to the 8-bit unsigned integer range 0 < x < 2^8 - 1. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the subtraction of the first byte of each operand in the first byte of the return value.\n + the subtraction of the second byte of each operand in the second byte of the return value.\n + the subtraction of the third byte of each operand in the third byte of the return value.\n + the subtraction of the fourth byte of each operand in the fourth byte of the return value.\n + The returned results are saturated to the 8-bit unsigned integer range 0 <= x <= 2^8 - 1. + \remark + res[7:0] = val1[7:0] - val2[7:0] \n + res[15:8] = val1[15:8] - val2[15:8] \n + res[23:16] = val1[23:16] - val2[23:16] \n + res[31:24] = val1[31:24] - val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQSUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = __IUSAT((((x << 24) >> 24) - ((y << 24) >> 24)), 8) & 0x000000FF; + s = __IUSAT((((x << 16) >> 24) - ((y << 16) >> 24)), 8) & 0x000000FF; + t = __IUSAT((((x << 8) >> 24) - ((y << 8) >> 24)), 8) & 0x000000FF; + u = __IUSAT((((x) >> 24) - ((y) >> 24)), 8) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Quad 8-bit signed subtraction. + \details This function enables you to perform four 8-bit signed integer subtractions. + \param [in] x first four 8-bit operands of each subtraction. + \param [in] y second four 8-bit operands of each subtraction. + \return the subtraction of the first bytes from each operand, in the first byte of the return value.\n + the subtraction of the second bytes of each operand, in the second byte of the return value.\n + the subtraction of the third bytes of each operand, in the third byte of the return value.\n + the subtraction of the fourth bytes of each operand, in the fourth byte of the return value. + \remark + res[7:0] = val1[7:0] - val2[7:0] \n + res[15:8] = val1[15:8] - val2[15:8] \n + res[23:16] = val1[23:16] - val2[23:16] \n + res[31:24] = val1[31:24] - val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __SSUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = ((((int32_t)x << 24) >> 24) - (((int32_t)y << 24) >> 24)) & (int32_t)0x000000FF; + s = ((((int32_t)x << 16) >> 24) - (((int32_t)y << 16) >> 24)) & (int32_t)0x000000FF; + t = ((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)) & (int32_t)0x000000FF; + u = ((((int32_t)x) >> 24) - (((int32_t)y) >> 24)) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned subtract. + \details This function enables you to perform four 8-bit unsigned integer subtractions. + \param [in] x first four 8-bit operands of each subtraction. + \param [in] y second four 8-bit operands of each subtraction. + \return the subtraction of the first bytes from each operand, in the first byte of the return value.\n + the subtraction of the second bytes of each operand, in the second byte of the return value.\n + the subtraction of the third bytes of each operand, in the third byte of the return value.\n + the subtraction of the fourth bytes of each operand, in the fourth byte of the return value. + \remark + res[7:0] = val1[7:0] - val2[7:0] \n + res[15:8] = val1[15:8] - val2[15:8] \n + res[23:16] = val1[23:16] - val2[23:16] \n + res[31:24] = val1[31:24] - val2[31:24] + */ +__ALWAYS_STATIC_INLINE uint32_t __USUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = (((x << 24) >> 24) - ((y << 24) >> 24)) & 0x000000FF; + s = (((x << 16) >> 24) - ((y << 16) >> 24)) & 0x000000FF; + t = (((x << 8) >> 24) - ((y << 8) >> 24)) & 0x000000FF; + u = (((x) >> 24) - ((y) >> 24)) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Unsigned sum of quad 8-bit unsigned absolute difference. + \details This function enables you to perform four unsigned 8-bit subtractions, and add the absolute values + of the differences together, returning the result as a single unsigned integer. + \param [in] x first four 8-bit operands of each subtraction. + \param [in] y second four 8-bit operands of each subtraction. + \return the subtraction of the first bytes from each operand, in the first byte of the return value.\n + the subtraction of the second bytes of each operand, in the second byte of the return value.\n + the subtraction of the third bytes of each operand, in the third byte of the return value.\n + the subtraction of the fourth bytes of each operand, in the fourth byte of the return value.\n + The sum is returned as a single unsigned integer. + \remark + absdiff1 = val1[7:0] - val2[7:0] \n + absdiff2 = val1[15:8] - val2[15:8] \n + absdiff3 = val1[23:16] - val2[23:16] \n + absdiff4 = val1[31:24] - val2[31:24] \n + res[31:0] = absdiff1 + absdiff2 + absdiff3 + absdiff4 + */ +__ALWAYS_STATIC_INLINE uint32_t __USAD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = (((x << 24) >> 24) - ((y << 24) >> 24)) & 0x000000FF; + s = (((x << 16) >> 24) - ((y << 16) >> 24)) & 0x000000FF; + t = (((x << 8) >> 24) - ((y << 8) >> 24)) & 0x000000FF; + u = (((x) >> 24) - ((y) >> 24)) & 0x000000FF; + + return (u + t + s + r); +} + +/** + \brief Unsigned sum of quad 8-bit unsigned absolute difference with 32-bit accumulate. + \details This function enables you to perform four unsigned 8-bit subtractions, and add the absolute values + of the differences to a 32-bit accumulate operand. + \param [in] x first four 8-bit operands of each subtraction. + \param [in] y second four 8-bit operands of each subtraction. + \param [in] sum accumulation value. + \return the sum of the absolute differences of the following bytes, added to the accumulation value: + the subtraction of the first bytes from each operand, in the first byte of the return value.\n + the subtraction of the second bytes of each operand, in the second byte of the return value.\n + the subtraction of the third bytes of each operand, in the third byte of the return value.\n + the subtraction of the fourth bytes of each operand, in the fourth byte of the return value. + \remark + absdiff1 = val1[7:0] - val2[7:0] \n + absdiff2 = val1[15:8] - val2[15:8] \n + absdiff3 = val1[23:16] - val2[23:16] \n + absdiff4 = val1[31:24] - val2[31:24] \n + sum = absdiff1 + absdiff2 + absdiff3 + absdiff4 \n + res[31:0] = sum[31:0] + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __USADA8(uint32_t x, uint32_t y, uint32_t sum) +{ + int32_t r, s, t, u; + +#ifdef __cplusplus + r = (abs((long long)((x << 24) >> 24) - ((y << 24) >> 24))) & 0x000000FF; + s = (abs((long long)((x << 16) >> 24) - ((y << 16) >> 24))) & 0x000000FF; + t = (abs((long long)((x << 8) >> 24) - ((y << 8) >> 24))) & 0x000000FF; + u = (abs((long long)((x) >> 24) - ((y) >> 24))) & 0x000000FF; +#else + r = (abs(((x << 24) >> 24) - ((y << 24) >> 24))) & 0x000000FF; + s = (abs(((x << 16) >> 24) - ((y << 16) >> 24))) & 0x000000FF; + t = (abs(((x << 8) >> 24) - ((y << 8) >> 24))) & 0x000000FF; + u = (abs(((x) >> 24) - ((y) >> 24))) & 0x000000FF; +#endif + return (u + t + s + r + sum); +} + +/** + \brief Dual 16-bit saturating addition. + \details This function enables you to perform two 16-bit integer arithmetic additions in parallel, + saturating the results to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the saturated addition of the low halfwords, in the low halfword of the return value.\n + the saturated addition of the high halfwords, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \remark + res[15:0] = val1[15:0] + val2[15:0] \n + res[31:16] = val1[31:16] + val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __QADD16(uint32_t x, uint32_t y) +{ + int32_t r = 0, s = 0; + + r = __SSAT(((((int32_t)x << 16) >> 16) + (((int32_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((int32_t)x) >> 16) + (((int32_t)y) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned saturating addition. + \details This function enables you to perform two unsigned 16-bit integer additions, saturating + the results to the 16-bit unsigned integer range 0 < x < 2^16 - 1. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the saturated addition of the low halfwords, in the low halfword of the return value.\n + the saturated addition of the high halfwords, in the high halfword of the return value.\n + The results are saturated to the 16-bit unsigned integer range 0 < x < 2^16 - 1. + \remark + res[15:0] = val1[15:0] + val2[15:0] \n + res[31:16] = val1[31:16] + val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQADD16(uint32_t x, uint32_t y) +{ + int32_t r = 0, s = 0; + + r = __IUSAT((((x << 16) >> 16) + ((y << 16) >> 16)), 16) & 0x0000FFFF; + s = __IUSAT((((x) >> 16) + ((y) >> 16)), 16) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed addition. + \details This function enables you to perform two 16-bit signed integer additions. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the addition of the low halfwords in the low halfword of the return value.\n + the addition of the high halfwords in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] + val2[15:0] \n + res[31:16] = val1[31:16] + val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __SADD16(uint32_t x, uint32_t y) +{ + int32_t r = 0, s = 0; + + r = ((((int32_t)x << 16) >> 16) + (((int32_t)y << 16) >> 16)) & (int32_t)0x0000FFFF; + s = ((((int32_t)x) >> 16) + (((int32_t)y) >> 16)) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned addition + \details This function enables you to perform two 16-bit unsigned integer additions. + \param [in] x first two 16-bit summands for each addition. + \param [in] y second two 16-bit summands for each addition. + \return the addition of the low halfwords in the low halfword of the return value.\n + the addition of the high halfwords in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] + val2[15:0] \n + res[31:16] = val1[31:16] + val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __UADD16(uint32_t x, uint32_t y) +{ + int32_t r = 0, s = 0; + + r = (((x << 16) >> 16) + ((y << 16) >> 16)) & 0x0000FFFF; + s = (((x) >> 16) + ((y) >> 16)) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + + +/** + \brief Dual 16-bit signed addition with halved results. + \details This function enables you to perform two signed 16-bit integer additions, halving the results. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the halved addition of the low halfwords, in the low halfword of the return value.\n + the halved addition of the high halfwords, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] + val2[15:0]) >> 1 \n + res[31:16] = (val1[31:16] + val2[31:16]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHADD16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((((int32_t)x << 16) >> 16) + (((int32_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((int32_t)x) >> 16) + (((int32_t)y) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned addition with halved results. + \details This function enables you to perform two unsigned 16-bit integer additions, halving the results. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the halved addition of the low halfwords, in the low halfword of the return value.\n + the halved addition of the high halfwords, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] + val2[15:0]) >> 1 \n + res[31:16] = (val1[31:16] + val2[31:16]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHADD16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((x << 16) >> 16) + ((y << 16) >> 16)) >> 1) & 0x0000FFFF; + s = ((((x) >> 16) + ((y) >> 16)) >> 1) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Quad 8-bit signed addition with halved results. + \details This function enables you to perform four signed 8-bit integer additions, halving the results. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the halved addition of the first bytes from each operand, in the first byte of the return value.\n + the halved addition of the second bytes from each operand, in the second byte of the return value.\n + the halved addition of the third bytes from each operand, in the third byte of the return value.\n + the halved addition of the fourth bytes from each operand, in the fourth byte of the return value. + \remark + res[7:0] = (val1[7:0] + val2[7:0] ) >> 1 \n + res[15:8] = (val1[15:8] + val2[15:8] ) >> 1 \n + res[23:16] = (val1[23:16] + val2[23:16]) >> 1 \n + res[31:24] = (val1[31:24] + val2[31:24]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = (((((int32_t)x << 24) >> 24) + (((int32_t)y << 24) >> 24)) >> 1) & (int32_t)0x000000FF; + s = (((((int32_t)x << 16) >> 24) + (((int32_t)y << 16) >> 24)) >> 1) & (int32_t)0x000000FF; + t = (((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)) >> 1) & (int32_t)0x000000FF; + u = (((((int32_t)x) >> 24) + (((int32_t)y) >> 24)) >> 1) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned addition with halved results. + \details This function enables you to perform four unsigned 8-bit integer additions, halving the results. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the halved addition of the first bytes from each operand, in the first byte of the return value.\n + the halved addition of the second bytes from each operand, in the second byte of the return value.\n + the halved addition of the third bytes from each operand, in the third byte of the return value.\n + the halved addition of the fourth bytes from each operand, in the fourth byte of the return value. + \remark + res[7:0] = (val1[7:0] + val2[7:0] ) >> 1 \n + res[15:8] = (val1[15:8] + val2[15:8] ) >> 1 \n + res[23:16] = (val1[23:16] + val2[23:16]) >> 1 \n + res[31:24] = (val1[31:24] + val2[31:24]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHADD8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = ((((x << 24) >> 24) + ((y << 24) >> 24)) >> 1) & 0x000000FF; + s = ((((x << 16) >> 24) + ((y << 16) >> 24)) >> 1) & 0x000000FF; + t = ((((x << 8) >> 24) + ((y << 8) >> 24)) >> 1) & 0x000000FF; + u = ((((x) >> 24) + ((y) >> 24)) >> 1) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Dual 16-bit saturating subtract. + \details This function enables you to perform two 16-bit integer subtractions in parallel, + saturating the results to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the saturated subtraction of the low halfwords, in the low halfword of the return value.\n + the saturated subtraction of the high halfwords, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \remark + res[15:0] = val1[15:0] - val2[15:0] \n + res[31:16] = val1[31:16] - val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __QSUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __SSAT(((((int32_t)x << 16) >> 16) - (((int32_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((int32_t)x) >> 16) - (((int32_t)y) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned saturating subtraction. + \details This function enables you to perform two unsigned 16-bit integer subtractions, + saturating the results to the 16-bit unsigned integer range 0 < x < 2^16 - 1. + \param [in] x first two 16-bit operands for each subtraction. + \param [in] y second two 16-bit operands for each subtraction. + \return the saturated subtraction of the low halfwords, in the low halfword of the return value.\n + the saturated subtraction of the high halfwords, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \remark + res[15:0] = val1[15:0] - val2[15:0] \n + res[31:16] = val1[31:16] - val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQSUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __IUSAT((((x << 16) >> 16) - ((y << 16) >> 16)), 16) & 0x0000FFFF; + s = __IUSAT((((x) >> 16) - ((y) >> 16)), 16) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed subtraction. + \details This function enables you to perform two 16-bit signed integer subtractions. + \param [in] x first two 16-bit operands of each subtraction. + \param [in] y second two 16-bit operands of each subtraction. + \return the subtraction of the low halfword in the second operand from the low + halfword in the first operand, in the low halfword of the return value. \n + the subtraction of the high halfword in the second operand from the high + halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] - val2[15:0] \n + res[31:16] = val1[31:16] - val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __SSUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((int32_t)x << 16) >> 16) - (((int32_t)y << 16) >> 16)) & (int32_t)0x0000FFFF; + s = ((((int32_t)x) >> 16) - (((int32_t)y) >> 16)) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned subtract. + \details This function enables you to perform two 16-bit unsigned integer subtractions. + \param [in] x first two 16-bit operands of each subtraction. + \param [in] y second two 16-bit operands of each subtraction. + \return the subtraction of the low halfword in the second operand from the low + halfword in the first operand, in the low halfword of the return value. \n + the subtraction of the high halfword in the second operand from the high + halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] - val2[15:0] \n + res[31:16] = val1[31:16] - val2[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __USUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((x << 16) >> 16) - ((y << 16) >> 16)) & 0x0000FFFF; + s = (((x) >> 16) - ((y) >> 16)) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed subtraction with halved results. + \details This function enables you to perform two signed 16-bit integer subtractions, halving the results. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the halved subtraction of the low halfwords, in the low halfword of the return value.\n + the halved subtraction of the high halfwords, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] - val2[15:0]) >> 1 \n + res[31:16] = (val1[31:16] - val2[31:16]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHSUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((((int32_t)x << 16) >> 16) - (((int32_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((int32_t)x) >> 16) - (((int32_t)y) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned subtraction with halved results. + \details This function enables you to perform two unsigned 16-bit integer subtractions, halving the results. + \param [in] x first two 16-bit summands. + \param [in] y second two 16-bit summands. + \return the halved subtraction of the low halfwords, in the low halfword of the return value.\n + the halved subtraction of the high halfwords, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] - val2[15:0]) >> 1 \n + res[31:16] = (val1[31:16] - val2[31:16]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHSUB16(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((x << 16) >> 16) - ((y << 16) >> 16)) >> 1) & 0x0000FFFF; + s = ((((x) >> 16) - ((y) >> 16)) >> 1) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Quad 8-bit signed addition with halved results. + \details This function enables you to perform four signed 8-bit integer subtractions, halving the results. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the halved subtraction of the first bytes from each operand, in the first byte of the return value.\n + the halved subtraction of the second bytes from each operand, in the second byte of the return value.\n + the halved subtraction of the third bytes from each operand, in the third byte of the return value.\n + the halved subtraction of the fourth bytes from each operand, in the fourth byte of the return value. + \remark + res[7:0] = (val1[7:0] - val2[7:0] ) >> 1 \n + res[15:8] = (val1[15:8] - val2[15:8] ) >> 1 \n + res[23:16] = (val1[23:16] - val2[23:16]) >> 1 \n + res[31:24] = (val1[31:24] - val2[31:24]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHSUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = (((((int32_t)x << 24) >> 24) - (((int32_t)y << 24) >> 24)) >> 1) & (int32_t)0x000000FF; + s = (((((int32_t)x << 16) >> 24) - (((int32_t)y << 16) >> 24)) >> 1) & (int32_t)0x000000FF; + t = (((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)) >> 1) & (int32_t)0x000000FF; + u = (((((int32_t)x) >> 24) - (((int32_t)y) >> 24)) >> 1) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); +} + +/** + \brief Quad 8-bit unsigned subtraction with halved results. + \details This function enables you to perform four unsigned 8-bit integer subtractions, halving the results. + \param [in] x first four 8-bit summands. + \param [in] y second four 8-bit summands. + \return the halved subtraction of the first bytes from each operand, in the first byte of the return value.\n + the halved subtraction of the second bytes from each operand, in the second byte of the return value.\n + the halved subtraction of the third bytes from each operand, in the third byte of the return value.\n + the halved subtraction of the fourth bytes from each operand, in the fourth byte of the return value. + \remark + res[7:0] = (val1[7:0] - val2[7:0] ) >> 1 \n + res[15:8] = (val1[15:8] - val2[15:8] ) >> 1 \n + res[23:16] = (val1[23:16] - val2[23:16]) >> 1 \n + res[31:24] = (val1[31:24] - val2[31:24]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHSUB8(uint32_t x, uint32_t y) +{ + int32_t r, s, t, u; + + r = ((((x << 24) >> 24) - ((y << 24) >> 24)) >> 1) & 0x000000FF; + s = ((((x << 16) >> 24) - ((y << 16) >> 24)) >> 1) & 0x000000FF; + t = ((((x << 8) >> 24) - ((y << 8) >> 24)) >> 1) & 0x000000FF; + u = ((((x) >> 24) - ((y) >> 24)) >> 1) & 0x000000FF; + + return ((u << 24) | (t << 16) | (s << 8) | (r)); +} + +/** + \brief Dual 16-bit add and subtract with exchange. + \details This function enables you to exchange the halfwords of the one operand, + then add the high halfwords and subtract the low halfwords, + saturating the results to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \param [in] x first operand for the subtraction in the low halfword, + and the first operand for the addition in the high halfword. + \param [in] y second operand for the subtraction in the high halfword, + and the second operand for the addition in the low halfword. + \return the saturated subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the saturated addition of the high halfword in the first operand and the + low halfword in the second operand, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \remark + res[15:0] = val1[15:0] - val2[31:16] \n + res[31:16] = val1[31:16] + val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __QASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __SSAT(((((int32_t)x << 16) >> 16) - (((int32_t)y) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((int32_t)x) >> 16) + (((int32_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned saturating addition and subtraction with exchange. + \details This function enables you to exchange the halfwords of the second operand and + perform one unsigned 16-bit integer addition and one unsigned 16-bit subtraction, + saturating the results to the 16-bit unsigned integer range 0 <= x <= 2^16 - 1. + \param [in] x first operand for the subtraction in the low halfword, + and the first operand for the addition in the high halfword. + \param [in] y second operand for the subtraction in the high halfword, + and the second operand for the addition in the low halfword. + \return the saturated subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the saturated addition of the high halfword in the first operand and the + low halfword in the second operand, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit unsigned integer range 0 <= x <= 2^16 - 1. + \remark + res[15:0] = val1[15:0] - val2[31:16] \n + res[31:16] = val1[31:16] + val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __IUSAT((((x << 16) >> 16) - ((y) >> 16)), 16) & 0x0000FFFF; + s = __IUSAT((((x) >> 16) + ((y << 16) >> 16)), 16) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit addition and subtraction with exchange. + \details It enables you to exchange the halfwords of the second operand, add the high halfwords + and subtract the low halfwords. + \param [in] x first operand for the subtraction in the low halfword, + and the first operand for the addition in the high halfword. + \param [in] y second operand for the subtraction in the high halfword, + and the second operand for the addition in the low halfword. + \return the subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the addition of the high halfword in the first operand and the + low halfword in the second operand, in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] - val2[31:16] \n + res[31:16] = val1[31:16] + val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((int32_t)x << 16) >> 16) - (((int32_t)y) >> 16)) & (int32_t)0x0000FFFF; + s = ((((int32_t)x) >> 16) + (((int32_t)y << 16) >> 16)) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned addition and subtraction with exchange. + \details This function enables you to exchange the two halfwords of the second operand, + add the high halfwords and subtract the low halfwords. + \param [in] x first operand for the subtraction in the low halfword, + and the first operand for the addition in the high halfword. + \param [in] y second operand for the subtraction in the high halfword, + and the second operand for the addition in the low halfword. + \return the subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the addition of the high halfword in the first operand and the + low halfword in the second operand, in the high halfword of the return value. + \remark + res[15:0] = val1[15:0] - val2[31:16] \n + res[31:16] = val1[31:16] + val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __UASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((x << 16) >> 16) - ((y) >> 16)) & 0x0000FFFF; + s = (((x) >> 16) + ((y << 16) >> 16)) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed addition and subtraction with halved results. + \details This function enables you to exchange the two halfwords of one operand, perform one + signed 16-bit integer addition and one signed 16-bit subtraction, and halve the results. + \param [in] x first 16-bit operands. + \param [in] y second 16-bit operands. + \return the halved subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the halved addition of the low halfword in the second operand from the high + halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] - val2[31:16]) >> 1 \n + res[31:16] = (val1[31:16] + val2[15:0]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((((int32_t)x << 16) >> 16) - (((int32_t)y) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((int32_t)x) >> 16) + (((int32_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned addition and subtraction with halved results and exchange. + \details This function enables you to exchange the halfwords of the second operand, + add the high halfwords and subtract the low halfwords, halving the results. + \param [in] x first operand for the subtraction in the low halfword, and + the first operand for the addition in the high halfword. + \param [in] y second operand for the subtraction in the high halfword, and + the second operand for the addition in the low halfword. + \return the halved subtraction of the high halfword in the second operand from the + low halfword in the first operand, in the low halfword of the return value.\n + the halved addition of the low halfword in the second operand from the high + halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] - val2[31:16]) >> 1 \n + res[31:16] = (val1[31:16] + val2[15:0]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHASX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((x << 16) >> 16) - ((y) >> 16)) >> 1) & 0x0000FFFF; + s = ((((x) >> 16) + ((y << 16) >> 16)) >> 1) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit subtract and add with exchange. + \details This function enables you to exchange the halfwords of one operand, + then subtract the high halfwords and add the low halfwords, + saturating the results to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \param [in] x first operand for the addition in the low halfword, + and the first operand for the subtraction in the high halfword. + \param [in] y second operand for the addition in the high halfword, + and the second operand for the subtraction in the low halfword. + \return the saturated addition of the low halfword of the first operand and the high + halfword of the second operand, in the low halfword of the return value.\n + the saturated subtraction of the low halfword of the second operand from the + high halfword of the first operand, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit signed integer range -2^15 <= x <= 2^15 - 1. + \remark + res[15:0] = val1[15:0] + val2[31:16] \n + res[31:16] = val1[31:16] - val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __QSAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __SSAT(((((int32_t)x << 16) >> 16) + (((int32_t)y) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((int32_t)x) >> 16) - (((int32_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned saturating subtraction and addition with exchange. + \details This function enables you to exchange the halfwords of the second operand and perform + one unsigned 16-bit integer subtraction and one unsigned 16-bit addition, saturating + the results to the 16-bit unsigned integer range 0 <= x <= 2^16 - 1. + \param [in] x first operand for the addition in the low halfword, + and the first operand for the subtraction in the high halfword. + \param [in] y second operand for the addition in the high halfword, + and the second operand for the subtraction in the low halfword. + \return the saturated addition of the low halfword of the first operand and the high + halfword of the second operand, in the low halfword of the return value.\n + the saturated subtraction of the low halfword of the second operand from the + high halfword of the first operand, in the high halfword of the return value.\n + The returned results are saturated to the 16-bit unsigned integer range 0 <= x <= 2^16 - 1. + \remark + res[15:0] = val1[15:0] + val2[31:16] \n + res[31:16] = val1[31:16] - val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __UQSAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = __IUSAT((((x << 16) >> 16) + ((y) >> 16)), 16) & 0x0000FFFF; + s = __IUSAT((((x) >> 16) - ((y << 16) >> 16)), 16) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit unsigned subtract and add with exchange. + \details This function enables you to exchange the halfwords of the second operand, + subtract the high halfwords and add the low halfwords. + \param [in] x first operand for the addition in the low halfword, + and the first operand for the subtraction in the high halfword. + \param [in] y second operand for the addition in the high halfword, + and the second operand for the subtraction in the low halfword. + \return the addition of the low halfword of the first operand and the high + halfword of the second operand, in the low halfword of the return value.\n + the subtraction of the low halfword of the second operand from the + high halfword of the first operand, in the high halfword of the return value.\n + \remark + res[15:0] = val1[15:0] + val2[31:16] \n + res[31:16] = val1[31:16] - val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __USAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((x << 16) >> 16) + ((y) >> 16)) & 0x0000FFFF; + s = (((x) >> 16) - ((y << 16) >> 16)) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed subtraction and addition with exchange. + \details This function enables you to exchange the two halfwords of one operand and perform one + 16-bit integer subtraction and one 16-bit addition. + \param [in] x first operand for the addition in the low halfword, and the first operand + for the subtraction in the high halfword. + \param [in] y second operand for the addition in the high halfword, and the second + operand for the subtraction in the low halfword. + \return the addition of the low halfword of the first operand and the high + halfword of the second operand, in the low halfword of the return value.\n + the subtraction of the low halfword of the second operand from the + high halfword of the first operand, in the high halfword of the return value.\n + \remark + res[15:0] = val1[15:0] + val2[31:16] \n + res[31:16] = val1[31:16] - val2[15:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SSAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((int32_t)x << 16) >> 16) + (((int32_t)y) >> 16)) & (int32_t)0x0000FFFF; + s = ((((int32_t)x) >> 16) - (((int32_t)y << 16) >> 16)) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + + +/** + \brief Dual 16-bit signed subtraction and addition with halved results. + \details This function enables you to exchange the two halfwords of one operand, perform one signed + 16-bit integer subtraction and one signed 16-bit addition, and halve the results. + \param [in] x first 16-bit operands. + \param [in] y second 16-bit operands. + \return the halved addition of the low halfword in the first operand and the + high halfword in the second operand, in the low halfword of the return value.\n + the halved subtraction of the low halfword in the second operand from the + high halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] + val2[31:16]) >> 1 \n + res[31:16] = (val1[31:16] - val2[15:0]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __SHSAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = (((((int32_t)x << 16) >> 16) + (((int32_t)y) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((int32_t)x) >> 16) - (((int32_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r))); +} + +/** + \brief Dual 16-bit unsigned subtraction and addition with halved results and exchange. + \details This function enables you to exchange the halfwords of the second operand, + subtract the high halfwords and add the low halfwords, halving the results. + \param [in] x first operand for the addition in the low halfword, and + the first operand for the subtraction in the high halfword. + \param [in] y second operand for the addition in the high halfword, and + the second operand for the subtraction in the low halfword. + \return the halved addition of the low halfword in the first operand and the + high halfword in the second operand, in the low halfword of the return value.\n + the halved subtraction of the low halfword in the second operand from the + high halfword in the first operand, in the high halfword of the return value. + \remark + res[15:0] = (val1[15:0] + val2[31:16]) >> 1 \n + res[31:16] = (val1[31:16] - val2[15:0]) >> 1 + */ +__ALWAYS_STATIC_INLINE uint32_t __UHSAX(uint32_t x, uint32_t y) +{ + int32_t r, s; + + r = ((((x << 16) >> 16) + ((y) >> 16)) >> 1) & 0x0000FFFF; + s = ((((x) >> 16) - ((y << 16) >> 16)) >> 1) & 0x0000FFFF; + + return ((s << 16) | (r)); +} + +/** + \brief Dual 16-bit signed multiply with exchange returning difference. + \details This function enables you to perform two 16-bit signed multiplications, subtracting + one of the products from the other. The halfwords of the second operand are exchanged + before performing the arithmetic. This produces top * bottom and bottom * top multiplication. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \return the difference of the products of the two 16-bit signed multiplications. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + res[31:0] = p1 - p2 + */ +__ALWAYS_STATIC_INLINE uint32_t __SMUSDX(uint32_t x, uint32_t y) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)))); +} + +/** + \brief Sum of dual 16-bit signed multiply with exchange. + \details This function enables you to perform two 16-bit signed multiplications with exchanged + halfwords of the second operand, adding the products together. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \return the sum of the products of the two 16-bit signed multiplications with exchanged halfwords of the second operand. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + res[31:0] = p1 + p2 + */ +__ALWAYS_STATIC_INLINE uint32_t __SMUADX(uint32_t x, uint32_t y) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)))); +} + + +/** + \brief Saturating add. + \details This function enables you to obtain the saturating add of two integers. + \param [in] x first summand of the saturating add operation. + \param [in] y second summand of the saturating add operation. + \return the saturating addition of val1 and val2. + \remark + res[31:0] = SAT(val1 + SAT(val2)) + */ +__ALWAYS_STATIC_INLINE int32_t __QADD(int32_t x, int32_t y) +{ + int32_t result; + + if (y >= 0) { + if ((int32_t)((uint32_t)x + (uint32_t)y) >= x) { + result = x + y; + } else { + result = 0x7FFFFFFF; + } + } else { + if ((int32_t)((uint32_t)x + (uint32_t)y) < x) { + result = x + y; + } else { + result = 0x80000000; + } + } + + return result; +} + +/** + \brief Saturating subtract. + \details This function enables you to obtain the saturating add of two integers. + \param [in] x first summand of the saturating add operation. + \param [in] y second summand of the saturating add operation. + \return the saturating addition of val1 and val2. + \remark + res[31:0] = SAT(val1 - SAT(val2)) + */ +__ALWAYS_STATIC_INLINE int32_t __QSUB(int32_t x, int32_t y) +{ + int64_t tmp; + int32_t result; + + tmp = (int64_t)x - (int64_t)y; + + if (tmp > 0x7fffffff) { + tmp = 0x7fffffff; + } else if (tmp < (-2147483647 - 1)) { + tmp = -2147483647 - 1; + } + + result = tmp; + return result; +} + +/** + \brief Dual 16-bit signed multiply with single 32-bit accumulator. + \details This function enables you to perform two signed 16-bit multiplications, + adding both results to a 32-bit accumulate operand. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the product of each multiplication added to the accumulate value, as a 32-bit integer. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + res[31:0] = p1 + p2 + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SMLAD(uint32_t x, uint32_t y, uint32_t sum) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)) + + (((int32_t)sum)))); +} + +/** + \brief Pre-exchanged dual 16-bit signed multiply with single 32-bit accumulator. + \details This function enables you to perform two signed 16-bit multiplications with exchanged + halfwords of the second operand, adding both results to a 32-bit accumulate operand. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the product of each multiplication with exchanged halfwords of the second + operand added to the accumulate value, as a 32-bit integer. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + res[31:0] = p1 + p2 + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SMLADX(uint32_t x, uint32_t y, uint32_t sum) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)) + + (((int32_t)sum)))); +} + +/** + \brief Dual 16-bit signed multiply with exchange subtract with 32-bit accumulate. + \details This function enables you to perform two 16-bit signed multiplications, take the + difference of the products, subtracting the high halfword product from the low + halfword product, and add the difference to a 32-bit accumulate operand. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the difference of the product of each multiplication, added to the accumulate value. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + res[31:0] = p1 - p2 + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SMLSD(uint32_t x, uint32_t y, uint32_t sum) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)) + + (((int32_t)sum)))); +} + +/** + \brief Dual 16-bit signed multiply with exchange subtract with 32-bit accumulate. + \details This function enables you to exchange the halfwords in the second operand, then perform two 16-bit + signed multiplications. The difference of the products is added to a 32-bit accumulate operand. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the difference of the product of each multiplication, added to the accumulate value. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + res[31:0] = p1 - p2 + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SMLSDX(uint32_t x, uint32_t y, uint32_t sum) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)) + + (((int32_t)sum)))); +} + +/** + \brief Dual 16-bit signed multiply with single 64-bit accumulator. + \details This function enables you to perform two signed 16-bit multiplications, adding both results + to a 64-bit accumulate operand. Overflow is only possible as a result of the 64-bit addition. + This overflow is not detected if it occurs. Instead, the result wraps around modulo2^64. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the product of each multiplication added to the accumulate value. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + sum = p1 + p2 + val3[63:32][31:0] \n + res[63:32] = sum[63:32] \n + res[31:0] = sum[31:0] + */ +__ALWAYS_STATIC_INLINE uint64_t __SMLALD(uint32_t x, uint32_t y, uint64_t sum) +{ + return ((uint64_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)) + + (((uint64_t)sum)))); +} + +/** + \brief Dual 16-bit signed multiply with exchange with single 64-bit accumulator. + \details This function enables you to exchange the halfwords of the second operand, and perform two + signed 16-bit multiplications, adding both results to a 64-bit accumulate operand. Overflow + is only possible as a result of the 64-bit addition. This overflow is not detected if it occurs. + Instead, the result wraps around modulo2^64. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the product of each multiplication added to the accumulate value. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + sum = p1 + p2 + val3[63:32][31:0] \n + res[63:32] = sum[63:32] \n + res[31:0] = sum[31:0] + */ +__ALWAYS_STATIC_INLINE uint64_t __SMLALDX(uint32_t x, uint32_t y, uint64_t sum) +{ + return ((uint64_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)) + + (((uint64_t)sum)))); +} + +/** + \brief dual 16-bit signed multiply subtract with 64-bit accumulate. + \details This function It enables you to perform two 16-bit signed multiplications, take the difference + of the products, subtracting the high halfword product from the low halfword product, and add the + difference to a 64-bit accumulate operand. Overflow cannot occur during the multiplications or the + subtraction. Overflow can occur as a result of the 64-bit addition, and this overflow is not + detected. Instead, the result wraps round to modulo2^64. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the difference of the product of each multiplication, added to the accumulate value. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + res[63:32][31:0] = p1 - p2 + val3[63:32][31:0] + */ +__ALWAYS_STATIC_INLINE uint64_t __SMLSLD(uint32_t x, uint32_t y, uint64_t sum) +{ + return ((uint64_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)) + + (((uint64_t)sum)))); +} + +/** + \brief Dual 16-bit signed multiply with exchange subtract with 64-bit accumulate. + \details This function enables you to exchange the halfwords of the second operand, perform two 16-bit multiplications, + adding the difference of the products to a 64-bit accumulate operand. Overflow cannot occur during the + multiplications or the subtraction. Overflow can occur as a result of the 64-bit addition, and this overflow + is not detected. Instead, the result wraps round to modulo2^64. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \param [in] sum accumulate value. + \return the difference of the product of each multiplication, added to the accumulate value. + \remark + p1 = val1[15:0] * val2[31:16] \n + p2 = val1[31:16] * val2[15:0] \n + res[63:32][31:0] = p1 - p2 + val3[63:32][31:0] + */ +__ALWAYS_STATIC_INLINE uint64_t __SMLSLDX(uint32_t x, uint32_t y, uint64_t sum) +{ + return ((uint64_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y << 16) >> 16)) + + (((uint64_t)sum)))); +} + +/** + \brief 32-bit signed multiply with 32-bit truncated accumulator. + \details This function enables you to perform a signed 32-bit multiplications, adding the most + significant 32 bits of the 64-bit result to a 32-bit accumulate operand. + \param [in] x first operand for multiplication. + \param [in] y second operand for multiplication. + \param [in] sum accumulate value. + \return the product of multiplication (most significant 32 bits) is added to the accumulate value, as a 32-bit integer. + \remark + p = val1 * val2 \n + res[31:0] = p[63:32] + val3[31:0] + */ +__ALWAYS_STATIC_INLINE uint32_t __SMMLA(int32_t x, int32_t y, int32_t sum) +{ + return (uint32_t)((int32_t)((int64_t)((int64_t)x * (int64_t)y) >> 32) + sum); +} + +/** + \brief Sum of dual 16-bit signed multiply. + \details This function enables you to perform two 16-bit signed multiplications, adding the products together. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \return the sum of the products of the two 16-bit signed multiplications. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + res[31:0] = p1 + p2 + */ +__ALWAYS_STATIC_INLINE uint32_t __SMUAD(uint32_t x, uint32_t y) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) + + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)))); +} + +/** + \brief Dual 16-bit signed multiply returning difference. + \details This function enables you to perform two 16-bit signed multiplications, taking the difference + of the products by subtracting the high halfword product from the low halfword product. + \param [in] x first 16-bit operands for each multiplication. + \param [in] y second 16-bit operands for each multiplication. + \return the difference of the products of the two 16-bit signed multiplications. + \remark + p1 = val1[15:0] * val2[15:0] \n + p2 = val1[31:16] * val2[31:16] \n + res[31:0] = p1 - p2 + */ +__ALWAYS_STATIC_INLINE uint32_t __SMUSD(uint32_t x, uint32_t y) +{ + return ((uint32_t)(((((int32_t)x << 16) >> 16) * (((int32_t)y << 16) >> 16)) - + ((((int32_t)x) >> 16) * (((int32_t)y) >> 16)))); +} + +/** + \brief Dual extracted 8-bit to 16-bit signed addition. + \details This function enables you to extract two 8-bit values from the second operand (at bit positions + [7:0] and [23:16]), sign-extend them to 16-bits each, and add the results to the first operand. + \param [in] x values added to the sign-extended to 16-bit values. + \param [in] y two 8-bit values to be extracted and sign-extended. + \return the addition of val1 and val2, where the 8-bit values in val2[7:0] and + val2[23:16] have been extracted and sign-extended prior to the addition. + \remark + res[15:0] = val1[15:0] + SignExtended(val2[7:0]) \n + res[31:16] = val1[31:16] + SignExtended(val2[23:16]) + */ +__ALWAYS_STATIC_INLINE uint32_t __SXTAB16(uint32_t x, uint32_t y) +{ + return ((uint32_t)((((((int32_t)y << 24) >> 24) + (((int32_t)x << 16) >> 16)) & (int32_t)0x0000FFFF) | + (((((int32_t)y << 8) >> 8) + (((int32_t)x >> 16) << 16)) & (int32_t)0xFFFF0000))); +} + +/** + \brief Extracted 16-bit to 32-bit unsigned addition. + \details This function enables you to extract two 8-bit values from one operand, zero-extend + them to 16 bits each, and add the results to two 16-bit values from another operand. + \param [in] x values added to the zero-extended to 16-bit values. + \param [in] y two 8-bit values to be extracted and zero-extended. + \return the addition of val1 and val2, where the 8-bit values in val2[7:0] and + val2[23:16] have been extracted and zero-extended prior to the addition. + \remark + res[15:0] = ZeroExt(val2[7:0] to 16 bits) + val1[15:0] \n + res[31:16] = ZeroExt(val2[31:16] to 16 bits) + val1[31:16] + */ +__ALWAYS_STATIC_INLINE uint32_t __UXTAB16(uint32_t x, uint32_t y) +{ + return ((uint32_t)(((((y << 24) >> 24) + ((x << 16) >> 16)) & 0x0000FFFF) | + ((((y << 8) >> 8) + ((x >> 16) << 16)) & 0xFFFF0000))); +} + +/** + \brief Dual extract 8-bits and sign extend each to 16-bits. + \details This function enables you to extract two 8-bit values from an operand and sign-extend them to 16 bits each. + \param [in] x two 8-bit values in val[7:0] and val[23:16] to be sign-extended. + \return the 8-bit values sign-extended to 16-bit values.\n + sign-extended value of val[7:0] in the low halfword of the return value.\n + sign-extended value of val[23:16] in the high halfword of the return value. + \remark + res[15:0] = SignExtended(val[7:0]) \n + res[31:16] = SignExtended(val[23:16]) + */ +__ALWAYS_STATIC_INLINE uint32_t __SXTB16(uint32_t x) +{ + return ((uint32_t)(((((int32_t)x << 24) >> 24) & (int32_t)0x0000FFFF) | + ((((int32_t)x << 8) >> 8) & (int32_t)0xFFFF0000))); +} + +/** + \brief Dual extract 8-bits and zero-extend to 16-bits. + \details This function enables you to extract two 8-bit values from an operand and zero-extend them to 16 bits each. + \param [in] x two 8-bit values in val[7:0] and val[23:16] to be zero-extended. + \return the 8-bit values sign-extended to 16-bit values.\n + sign-extended value of val[7:0] in the low halfword of the return value.\n + sign-extended value of val[23:16] in the high halfword of the return value. + \remark + res[15:0] = SignExtended(val[7:0]) \n + res[31:16] = SignExtended(val[23:16]) + */ +__ALWAYS_STATIC_INLINE uint32_t __UXTB16(uint32_t x) +{ + return ((uint32_t)((((x << 24) >> 24) & 0x0000FFFF) | + (((x << 8) >> 8) & 0xFFFF0000))); +} + +#endif /* _CSI_RV32_GCC_H_ */ diff --git a/freertos/cvitek/install/include/arch/csr.h b/freertos/cvitek/install/include/arch/csr.h new file mode 100644 index 000000000..08d9e6044 --- /dev/null +++ b/freertos/cvitek/install/include/arch/csr.h @@ -0,0 +1,83 @@ +// See LICENSE for license details. + +#ifndef RISCV_CSR_ENCODING_H +#define RISCV_CSR_ENCODING_H + +#define MSTATUS_UIE 0x00000001 +#define MSTATUS_SIE 0x00000002 +#define MSTATUS_HIE 0x00000004 +#define MSTATUS_MIE 0x00000008 +#define MSTATUS_UPIE 0x00000010 +#define MSTATUS_SPIE 0x00000020 +#define MSTATUS_HPIE 0x00000040 +#define MSTATUS_MPIE 0x00000080 +#define MSTATUS_SPP 0x00000100 +#define MSTATUS_HPP 0x00000600 +#define MSTATUS_MPP 0x00001800 +#define MSTATUS_FS 0x00006000 +#define MSTATUS_XS 0x00018000 +#define MSTATUS_MPRV 0x00020000 +#define MSTATUS_SUM 0x00040000 +#define MSTATUS_MXR 0x00080000 +#define MSTATUS_TVM 0x00100000 +#define MSTATUS_TW 0x00200000 +#define MSTATUS_TSR 0x00400000 +#define MSTATUS32_SD 0x80000000 +#define MSTATUS64_SD 0x8000000000000000 + +#define MIP_SSIE (1 << IRQ_S_SOFT) +#define MIP_HSIE (1 << IRQ_H_SOFT) +#define MIP_MSIE (1 << IRQ_M_SOFT) +#define MIP_STIE (1 << IRQ_S_TIMER) +#define MIP_HTIE (1 << IRQ_H_TIMER) +#define MIP_MTIE (1 << IRQ_M_TIMER) +#define MIP_SEIE (1 << IRQ_S_EXT) +#define MIP_HEIE (1 << IRQ_H_EXT) +#define MIP_MEIE (1 << IRQ_M_EXT) + +#define IRQ_S_SOFT 1 +#define IRQ_H_SOFT 2 +#define IRQ_M_SOFT 3 +#define IRQ_S_TIMER 5 +#define IRQ_H_TIMER 6 +#define IRQ_M_TIMER 7 +#define IRQ_S_EXT 9 +#define IRQ_H_EXT 10 +#define IRQ_M_EXT 11 +#define IRQ_COP 12 +#define IRQ_HOST 13 + +# define MAX_HARTS 1 + +#ifndef __ASSEMBLER__ + +#ifdef __GNUC__ +#define read_csr(reg) ({ unsigned long __tmp; \ + asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \ + __tmp; }) + +#define write_csr(reg, val) ({ \ + asm volatile ("csrw " #reg ", %0" :: "rK"(val)); }) + +#define swap_csr(reg, val) ({ unsigned long __tmp; \ + asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "rK"(val)); \ + __tmp; }) + +#define set_csr(reg, bit) ({ unsigned long __tmp; \ + asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \ + __tmp; }) + +#define clear_csr(reg, bit) ({ unsigned long __tmp; \ + asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \ + __tmp; }) + +#define rdtime() read_csr(time) +#define rdcycle() read_csr(cycle) +#define rdinstret() read_csr(instret) + +#endif + +#endif + +#endif + diff --git a/freertos/cvitek/install/include/arch/io.h b/freertos/cvitek/install/include/arch/io.h new file mode 100644 index 000000000..cf11121c6 --- /dev/null +++ b/freertos/cvitek/install/include/arch/io.h @@ -0,0 +1,47 @@ +/* + * Based on arch/arm/include/asm/io.h + * + * Copyright (C) 1996-2000 Russell King + * Copyright (C) 2012 ARM Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#ifndef __ASM_IO_H +#define __ASM_IO_H + +/* + * I/O memory access primitives. Reads are ordered relative to any + * following Normal memory access. Writes are ordered relative to any prior + * Normal memory access. + */ +#define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) +#define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) +#define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; }) +#define readq(c) ({ u64 __v = readq_relaxed(c); __iormb(); __v; }) + +#define writeb(v, c) ({ __iowmb(); writeb_relaxed((v), (c)); }) +#define writew(v, c) ({ __iowmb(); writew_relaxed((v), (c)); }) +#define writel(v, c) ({ __iowmb(); writel_relaxed((v), (c)); }) +#define writeq(v, c) ({ __iowmb(); writeq_relaxed((v), (c)); }) + +#define ioread8 readb +#define ioread16 readw +#define ioread32 readl +#define ioread64 readq + +#define iowrite8 writeb +#define iowrite16 writew +#define iowrite32 writel +#define iowrite64 writeq + +#endif /* __ASM_IO_H */ diff --git a/freertos/cvitek/install/include/arch/irq.h b/freertos/cvitek/install/include/arch/irq.h new file mode 100644 index 000000000..bd0e3aeb5 --- /dev/null +++ b/freertos/cvitek/install/include/arch/irq.h @@ -0,0 +1,47 @@ +#ifndef __IRQ__ +#define __IRQ__ +#if 0 +// IRQ API +typedef int (*irq_handler_t)(int irqn, void *priv); + +extern int request_irq(unsigned int irqn, irq_handler_t handler, unsigned long flags, + const char *name, void *priv); + +void disable_irq(unsigned int irqn); +void enable_irq(unsigned int irqn); + +void cpu_enable_irqs(void); +void cpu_disable_irqs(void); +#endif + +/* RISC-V */ +#define CLINT_BASE 0x74000000 +#define PLIC_BASE 0x70000000 + +/* CLINT */ +#define CLINT_TIMECMPL0 (CLINT_BASE + 0x4000) +#define CLINT_TIMECMPH0 (CLINT_BASE + 0x4004) + +#define CLINT_MTIME(cnt) asm volatile("csrr %0, time\n" : "=r"(cnt) :: "memory"); + +/* PLIC */ +#define PLIC_PRIORITY0 (PLIC_BASE + 0x0) +#define PLIC_PRIORITY1 (PLIC_BASE + 0x4) +#define PLIC_PRIORITY2 (PLIC_BASE + 0x8) +#define PLIC_PRIORITY3 (PLIC_BASE + 0xc) +#define PLIC_PRIORITY4 (PLIC_BASE + 0x10) + +#define PLIC_PENDING1 (PLIC_BASE + 0x1000) +#define PLIC_PENDING2 (PLIC_BASE + 0x1004) +#define PLIC_PENDING3 (PLIC_BASE + 0x1008) +#define PLIC_PENDING4 (PLIC_BASE + 0x100C) + +#define PLIC_ENABLE1 (PLIC_BASE + 0x2000) +#define PLIC_ENABLE2 (PLIC_BASE + 0x2004) +#define PLIC_ENABLE3 (PLIC_BASE + 0x2008) +#define PLIC_ENABLE4 (PLIC_BASE + 0x200C) + +#define PLIC_THRESHOLD (PLIC_BASE + 0x200000) +#define PLIC_CLAIM (PLIC_BASE + 0x200004) + +#endif diff --git a/freertos/cvitek/install/include/arch/ptrace.h b/freertos/cvitek/install/include/arch/ptrace.h new file mode 100644 index 000000000..76d68698b --- /dev/null +++ b/freertos/cvitek/install/include/arch/ptrace.h @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2017 Microsemi Corporation. + * Copyright (c) 2017 Padmarao Begari + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __ASM_RISCV_PTRACE_H +#define __ASM_RISCV_PTRACE_H + +struct pt_regs { + unsigned long sepc; + unsigned long ra; + unsigned long sp; + unsigned long gp; + unsigned long tp; + unsigned long t0; + unsigned long t1; + unsigned long t2; + unsigned long s0; + unsigned long s1; + unsigned long a0; + unsigned long a1; + unsigned long a2; + unsigned long a3; + unsigned long a4; + unsigned long a5; + unsigned long a6; + unsigned long a7; + unsigned long s2; + unsigned long s3; + unsigned long s4; + unsigned long s5; + unsigned long s6; + unsigned long s7; + unsigned long s8; + unsigned long s9; + unsigned long s10; + unsigned long s11; + unsigned long t3; + unsigned long t4; + unsigned long t5; + unsigned long t6; + /* Supervisor CSRs */ + unsigned long sstatus; + unsigned long sbadaddr; + unsigned long scause; +}; + +#ifdef CONFIG_64BIT +#define REG_FMT "%016lx" +#else +#define REG_FMT "%08lx" +#endif + +#define user_mode(regs) (((regs)->sstatus & SR_PS) == 0) + +/* Helpers for working with the instruction pointer */ +#define GET_IP(regs) ((regs)->sepc) +#define SET_IP(regs, val) (GET_IP(regs) = (val)) + +static inline unsigned long instruction_pointer(struct pt_regs *regs) +{ + return GET_IP(regs); +} + +static inline void instruction_pointer_set(struct pt_regs *regs, + unsigned long val) +{ + SET_IP(regs, val); +} + +#define profile_pc(regs) instruction_pointer(regs) + +/* Helpers for working with the user stack pointer */ +#define GET_USP(regs) ((regs)->sp) +#define SET_USP(regs, val) (GET_USP(regs) = (val)) + +static inline unsigned long user_stack_pointer(struct pt_regs *regs) +{ + return GET_USP(regs); +} + +static inline void user_stack_pointer_set(struct pt_regs *regs, + unsigned long val) +{ + SET_USP(regs, val); +} + +/* Helpers for working with the frame pointer */ +#define GET_FP(regs) ((regs)->s0) +#define SET_FP(regs, val) (GET_FP(regs) = (val)) + +static inline unsigned long frame_pointer(struct pt_regs *regs) +{ + return GET_FP(regs); +} + +static inline void frame_pointer_set(struct pt_regs *regs, + unsigned long val) +{ + SET_FP(regs, val); +} + +#endif /* __ASM_RISCV_PTRACE_H */ diff --git a/freertos/cvitek/install/include/arch/riscv-reg.h b/freertos/cvitek/install/include/arch/riscv-reg.h new file mode 100644 index 000000000..0353f3be4 --- /dev/null +++ b/freertos/cvitek/install/include/arch/riscv-reg.h @@ -0,0 +1,43 @@ +/* + * FreeRTOS V202107.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://www.github.com/FreeRTOS + * + * 1 tab == 4 spaces! + */ + +#ifndef RISCV_REG_H_ +#define RISCV_REG_H_ + +#if __riscv_xlen == 32 +#define REGSIZE 4 +#define REGSHIFT 2 +#define LOAD lw +#define STOR sw +#elif __riscv_xlen == 64 +#define REGSIZE 8 +#define REGSHIFT 3 +#define LOAD ld +#define STOR sd +#endif /* __riscv_xlen */ + +#endif /* RISCV_REG_H_ */ diff --git a/freertos/cvitek/install/include/arch/riscv-virt.h b/freertos/cvitek/install/include/arch/riscv-virt.h new file mode 100644 index 000000000..2f35393f3 --- /dev/null +++ b/freertos/cvitek/install/include/arch/riscv-virt.h @@ -0,0 +1,60 @@ +/* + * FreeRTOS V202107.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://www.github.com/FreeRTOS + * + * 1 tab == 4 spaces! + */ + +#ifndef RISCV_VIRT_H_ +#define RISCV_VIRT_H_ + +#include "riscv-reg.h" + +#ifdef __ASSEMBLER__ +#define CONS(NUM, TYPE)NUM +#else +#define CONS(NUM, TYPE)NUM##TYPE +#endif /* __ASSEMBLER__ */ + +#define PRIM_HART 0 +#ifdef RISCV_QEMU +#define CLINT_ADDR CONS(0x02000000, UL) +#define CLINT_MSIP CONS(0x0000, UL) +#define CLINT_MTIMECMP CONS(0x4000, UL) +#define CLINT_MTIME CONS(0xbff8, UL) +#else +#define CLINT_ADDR CONS(0x74000000, UL) +#define CLINT_MSIP CONS(0x0000, UL) +#define CLINT_MTIMECMP CONS(0x4000, UL) +#undef CLINT_MTIME +//#define CLINT_MTIME CONS(0x4004, UL) +#endif +//#define NS16550_ADDR CONS(0x10000000, UL) + +#ifndef __ASSEMBLER__ + +int xGetCoreID( void ); + +#endif /* __ASSEMBLER__ */ + +#endif /* RISCV_VIRT_H_ */ diff --git a/freertos/cvitek/install/include/common/cif_uapi.h b/freertos/cvitek/install/include/common/cif_uapi.h new file mode 100644 index 000000000..13a7ae063 --- /dev/null +++ b/freertos/cvitek/install/include/common/cif_uapi.h @@ -0,0 +1,399 @@ +#ifndef _U_CIF_UAPI_H_ +#define _U_CIF_UAPI_H_ + +#define MIPI_LANE_NUM 4 +#define HDR_VC_NUM 2 +#define SYNC_CODE_NUM 4 +#define BT_DEMUX_NUM 4 +#define MIPI_DEMUX_NUM 4 + +struct img_size_s { + unsigned int x; // start x + unsigned int y; // start y + unsigned int width; + unsigned int height; +}; + +enum rx_mac_clk_e { + RX_MAC_CLK_200M = 0, + RX_MAC_CLK_300M, + RX_MAC_CLK_400M, + RX_MAC_CLK_500M, + RX_MAC_CLK_600M, + RX_MAC_CLK_BUTT, +}; + +enum cam_pll_freq_e { + CAMPLL_FREQ_NONE = 0, + CAMPLL_FREQ_37P125M, + CAMPLL_FREQ_25M, + CAMPLL_FREQ_27M, + CAMPLL_FREQ_24M, + CAMPLL_FREQ_26M, + CAMPLL_FREQ_NUM +}; + +struct mclk_pll_s { + unsigned int cam; + enum cam_pll_freq_e freq; +}; + +struct dphy_s { + unsigned char enable; + unsigned char hs_settle; +}; + +enum lane_divide_mode_e { + LANE_DIVIDE_MODE_0 = 0, + LANE_DIVIDE_MODE_1, + LANE_DIVIDE_MODE_2, + LANE_DIVIDE_MODE_3, + LANE_DIVIDE_MODE_4, + LANE_DIVIDE_MODE_5, + LANE_DIVIDE_MODE_6, + LANE_DIVIDE_MODE_7, + LANE_DIVIDE_MODE_BUTT +}; + +enum input_mode_e { + INPUT_MODE_MIPI = 0, + INPUT_MODE_SUBLVDS, + INPUT_MODE_HISPI, + INPUT_MODE_CMOS, + INPUT_MODE_BT1120, + INPUT_MODE_BT601_19B_VHS, + INPUT_MODE_BT656_9B, + INPUT_MODE_CUSTOM_0, + INPUT_MODE_BT_DEMUX, + INPUT_MODE_BUTT +}; + +enum raw_data_type_e { + RAW_DATA_8BIT = 0, + RAW_DATA_10BIT, + RAW_DATA_12BIT, + YUV422_8BIT, /* MIPI-CSI only */ + YUV422_10BIT, /* MIPI-CSI only*/ + RAW_DATA_BUTT +}; + +enum mipi_hdr_mode_e { + CVI_MIPI_HDR_MODE_NONE = 0, + CVI_MIPI_HDR_MODE_VC, + CVI_MIPI_HDR_MODE_DT, + CVI_MIPI_HDR_MODE_DOL, + CVI_MIPI_HDR_MODE_MANUAL, /* SOI case */ + CVI_MIPI_HDR_MODE_BUTT +}; + +enum hdr_mode_e { + CVI_HDR_MODE_NONE = 0, + CVI_HDR_MODE_2F, + CVI_HDR_MODE_3F, + CVI_HDR_MODE_DOL_2F, + CVI_HDR_MODE_DOL_3F, + CVI_HDR_MODE_DOL_BUTT +}; + +enum lvds_sync_mode_e { + LVDS_SYNC_MODE_SOF = 0, + LVDS_SYNC_MODE_SAV, + LVDS_SYNC_MODE_BUTT +}; + +enum lvds_bit_endian { + LVDS_ENDIAN_LITTLE = 0, + LVDS_ENDIAN_BIG, + LVDS_ENDIAN_BUTT +}; + +enum lvds_vsync_type_e { + LVDS_VSYNC_NORMAL = 0, + LVDS_VSYNC_SHARE, + LVDS_VSYNC_HCONNECT, + LVDS_VSYNC_BUTT +}; + +enum lvds_fid_type_e { + LVDS_FID_NONE = 0, + LVDS_FID_IN_SAV, + LVDS_FID_BUTT +}; + +struct lvds_fid_type_s { + enum lvds_fid_type_e fid; +}; + +struct lvds_vsync_type_s { + enum lvds_vsync_type_e sync_type; + unsigned short hblank1; + unsigned short hblank2; +}; + +struct lvds_dev_attr_s { + enum hdr_mode_e hdr_mode; + enum lvds_sync_mode_e sync_mode; + enum raw_data_type_e raw_data_type; + enum lvds_bit_endian data_endian; + enum lvds_bit_endian sync_code_endian; + short lane_id[MIPI_LANE_NUM+1]; + short sync_code[MIPI_LANE_NUM][HDR_VC_NUM+1][SYNC_CODE_NUM]; +/* + * sublvds: + * sync_code[x][0][0] sync_code[x][0][1] sync_code[x][0][2] sync_code[x][0][3] + * n0_lef_sav n0_lef_eav n1_lef_sav n1_lef_eav + * sync_code[x][1][0] sync_code[x][1][1] sync_code[x][1][2] sync_code[x][1][3] + * n0_sef_sav n0_sef_eav n1_sef_sav n1_sef_eav + * sync_code[x][2][0] sync_code[x][2][1] sync_code[x][2][2] sync_code[x][2][3] + * n0_lsef_sav n0_lsef_eav n1_lsef_sav n1_lsef_eav + * + * hispi: + * sync_code[x][0][0] sync_code[x][0][1] sync_code[x][0][2] sync_code[x][0][3] + * t1_sol tl_eol t1_sof t1_eof + * sync_code[x][1][0] sync_code[x][1][1] sync_code[x][1][2] sync_code[x][1][3] + * t2_sol t2_eol t2_sof t2_eof + */ + struct lvds_vsync_type_s vsync_type; + struct lvds_fid_type_s fid_type; + char pn_swap[MIPI_LANE_NUM+1]; +}; + +struct mipi_demux_info_s { + unsigned int demux_en; + unsigned char vc_mapping[MIPI_DEMUX_NUM]; +}; + +struct mipi_dev_attr_s { + enum raw_data_type_e raw_data_type; + short lane_id[MIPI_LANE_NUM+1]; + enum mipi_hdr_mode_e hdr_mode; + short data_type[HDR_VC_NUM]; + char pn_swap[MIPI_LANE_NUM+1]; + struct dphy_s dphy; + struct mipi_demux_info_s demux; +}; + +struct manual_hdr_attr_s { + unsigned int manual_en; + unsigned short l2s_distance; + unsigned short lsef_length; + unsigned int discard_padding_lines; + unsigned int update; +}; + +enum ttl_pin_func_e { + TTL_PIN_FUNC_VS, + TTL_PIN_FUNC_HS, + TTL_PIN_FUNC_VDE, + TTL_PIN_FUNC_HDE, + TTL_PIN_FUNC_D0, + TTL_PIN_FUNC_D1, + TTL_PIN_FUNC_D2, + TTL_PIN_FUNC_D3, + TTL_PIN_FUNC_D4, + TTL_PIN_FUNC_D5, + TTL_PIN_FUNC_D6, + TTL_PIN_FUNC_D7, + TTL_PIN_FUNC_D8, + TTL_PIN_FUNC_D9, + TTL_PIN_FUNC_D10, + TTL_PIN_FUNC_D11, + TTL_PIN_FUNC_D12, + TTL_PIN_FUNC_D13, + TTL_PIN_FUNC_D14, + TTL_PIN_FUNC_D15, + TTL_PIN_FUNC_NUM, +}; + +enum ttl_src_e { + TTL_VI_SRC_VI0 = 0, + TTL_VI_SRC_VI1, + TTL_VI_SRC_VI2, /* BT demux */ + TTL_VI_SRC_NUM +}; + +enum bt_demux_mode_e { + BT_DEMUX_DISABLE = 0, + BT_DEMUX_2, + BT_DEMUX_3, + BT_DEMUX_4, +}; + +struct bt_demux_sync_s { + unsigned char sav_vld; + unsigned char sav_blk; + unsigned char eav_vld; + unsigned char eav_blk; +}; + +struct bt_demux_attr_s { + signed char func[TTL_PIN_FUNC_NUM]; + unsigned short v_fp; + unsigned short h_fp; + unsigned short v_bp; + unsigned short h_bp; + enum bt_demux_mode_e mode; + unsigned char sync_code_part_A[3]; /* sync code 0~2 */ + struct bt_demux_sync_s sync_code_part_B[BT_DEMUX_NUM]; /* sync code 3 */ + char yc_exchg; +}; + +struct ttl_dev_attr_s { + enum ttl_src_e vi; + signed char func[TTL_PIN_FUNC_NUM]; + unsigned short v_bp; + unsigned short h_bp; +}; + +struct combo_dev_attr_s { + enum input_mode_e input_mode; + enum rx_mac_clk_e mac_clk; + struct mclk_pll_s mclk; + union { + struct mipi_dev_attr_s mipi_attr; + struct lvds_dev_attr_s lvds_attr; + struct ttl_dev_attr_s ttl_attr; + struct bt_demux_attr_s bt_demux_attr; + }; + unsigned int devno; + struct img_size_s img_size; + struct manual_hdr_attr_s hdr_manu; +}; + +enum clk_edge_e { + CLK_UP_EDGE = 0, + CLK_DOWN_EDGE, + CLK_EDGE_BUTT +}; + +struct clk_edge_s { + unsigned int devno; + enum clk_edge_e edge; +}; + +enum output_msb_e { + OUTPUT_NORM_MSB = 0, + OUTPUT_REVERSE_MSB, + OUTPUT_MSB_BUTT +}; + +struct msb_s { + unsigned int devno; + enum output_msb_e msb; +}; + +struct crop_top_s { + unsigned int devno; + unsigned int crop_top; + unsigned int update; +}; + +struct manual_hdr_s { + unsigned int devno; + struct manual_hdr_attr_s attr; +}; + +struct vsync_gen_s { + unsigned int devno; + unsigned int distance_fp; +}; + +enum bt_fmt_out_e { + BT_FMT_OUT_CBYCRY, + BT_FMT_OUT_CRYCBY, + BT_FMT_OUT_YCBYCR, + BT_FMT_OUT_YCRYCB, +}; + +struct bt_fmt_out_s { + unsigned int devno; + enum bt_fmt_out_e fmt_out; +}; + +struct cif_crop_win_s { + unsigned int devno; + unsigned int enable; + unsigned int x; + unsigned int y; + unsigned int w; + unsigned int h; +}; + +struct cif_attr_s { + unsigned int devno; + unsigned int stagger_vsync; +}; + +#define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */ +#define IOC_VOID 0x20000000 /* no parameters */ +#define IOC_OUT 0x40000000 /* copy out parameters */ +#define IOC_IN 0x80000000 /* copy in parameters */ +#define IOC_INOUT (IOC_IN|IOC_OUT) + +#define _IO(x, y) (IOC_VOID|((x)<<8)|(y)) +#define _IOR(x, y, t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#define _IOW(x, y, t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) + +/* mipi_rx ioctl commands related definition */ +#define CVI_MIPI_IOC_MAGIC 'm' + +/* Support commands */ +#define CVI_MIPI_SET_DEV_ATTR _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x01, struct combo_dev_attr_s) +#define CVI_MIPI_SET_OUTPUT_CLK_EDGE _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x02, struct clk_edge_s) +#define CVI_MIPI_RESET_SENSOR _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x05, unsigned int) +#define CVI_MIPI_UNRESET_SENSOR _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x06, unsigned int) +#define CVI_MIPI_RESET_MIPI _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x07, unsigned int) +#define CVI_MIPI_ENABLE_SENSOR_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x10, unsigned int) +#define CVI_MIPI_DISABLE_SENSOR_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x11, unsigned int) +#define CVI_MIPI_SET_CROP_TOP _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x20, struct crop_top_s) +#define CVI_MIPI_SET_HDR_MANUAL _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x21, struct manual_hdr_s) +#define CVI_MIPI_SET_LVDS_FP_VS _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x22, struct vsync_gen_s) +#define CVI_MIPI_SET_HS_MODE _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0B, unsigned int) +#define CVI_MIPI_RESET_LVDS _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x23, unsigned int) +#define CVI_MIPI_SET_BT_FMT_OUT _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x24, struct bt_fmt_out_s) +#define CVI_MIPI_GET_CIF_ATTR _IOR(CVI_MIPI_IOC_MAGIC, \ + 0x25, struct cif_attr_s) +#define CVI_MIPI_SET_SENSOR_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x26, struct mclk_pll_s) +#define CVI_MIPI_SET_MAX_MAC_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x27, unsigned int) +#define CVI_MIPI_SET_CROP_WINDOW _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x28, struct cif_crop_win_s) +/* Unsupport commands */ +#define CVI_MIPI_SET_PHY_CMVMODE _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x04, unsigned int) +#define CVI_MIPI_UNRESET_MIPI _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x08, unsigned int) +#define CVI_MIPI_RESET_SLVS _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x09, unsigned int) +#define CVI_MIPI_UNRESET_SLVS _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0A, unsigned int) +#define CVI_MIPI_ENABLE_MIPI_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0C, unsigned int) +#define CVI_MIPI_DISABLE_MIPI_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0D, unsigned int) +#define CVI_MIPI_ENABLE_SLVS_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0E, unsigned int) +#define CVI_MIPI_DISABLE_SLVS_CLOCK _IOW(CVI_MIPI_IOC_MAGIC, \ + 0x0F, unsigned int) + + +/* Functions */ +extern int cif_open(void *param); +extern int cif_release(void); +extern long cif_ioctl(uint32_t devno, unsigned int cmd, unsigned long arg); + +#endif // _U_CVI_VIP_CIF_H_ diff --git a/freertos/cvitek/install/include/common/cvi_ae.h b/freertos/cvitek/install/include/common/cvi_ae.h new file mode 100644 index 000000000..537a6332f --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_ae.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_ae.h + * Description: + */ + +#ifndef __CVI_AE_H__ +#define __CVI_AE_H__ + +#include "cvi_comm_isp.h" +#include "cvi_comm_3a.h" +#include "cvi_ae_comm.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +typedef enum _AE_EXPOSURE_PROGRAM { + MANUAL_PROGRAM = 1, + NORMAL_PROGRAM, + APERATURE_PRIORITY_PROGRAM, + SHUTTER_PRIORITY_PROGRAM, + SLOW_SHUTTER_PROGRAM, + FAST_SHUTTER_PROGRAM, + PORTRAIT_PROGRAM, + LANDSCAPE_PROGRAM, +} AE_EXPOSURE_PROGRAM; + +typedef enum _AE_EXPOSURE_MODE { + AUTO_MODE, + MANUAL_MODE, +} AE_EXPOSURE_MODE; + +/* The interface of ae lib register to isp. */ +CVI_S32 CVI_AE_Register(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); +CVI_S32 CVI_AE_UnRegister(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); + +/* The callback function of sensor register to ae lib. */ +CVI_S32 CVI_AE_SensorRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib, ISP_SNS_ATTR_INFO_S *pstSnsAttrInfo, + AE_SENSOR_REGISTER_S *pstRegister); +CVI_S32 CVI_AE_SensorUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib, SENSOR_ID SensorId); + +CVI_S32 CVI_ISP_SetExposureAttr(VI_PIPE ViPipe, const ISP_EXPOSURE_ATTR_S *pstExpAttr); +CVI_S32 CVI_ISP_GetExposureAttr(VI_PIPE ViPipe, ISP_EXPOSURE_ATTR_S *pstExpAttr); + +CVI_S32 CVI_ISP_QueryExposureInfo(VI_PIPE ViPipe, ISP_EXP_INFO_S *pstExpInfo); + +CVI_S32 CVI_ISP_SetWDRExposureAttr(VI_PIPE ViPipe, const ISP_WDR_EXPOSURE_ATTR_S *pstWDRExpAttr); +CVI_S32 CVI_ISP_GetWDRExposureAttr(VI_PIPE ViPipe, ISP_WDR_EXPOSURE_ATTR_S *pstWDRExpAttr); + +CVI_S32 CVI_ISP_SetAERouteAttr(VI_PIPE ViPipe, const ISP_AE_ROUTE_S *pstAERouteAttr); +CVI_S32 CVI_ISP_GetAERouteAttr(VI_PIPE ViPipe, ISP_AE_ROUTE_S *pstAERouteAttr); + +CVI_S32 CVI_ISP_SetAERouteAttrEx(VI_PIPE ViPipe, const ISP_AE_ROUTE_EX_S *pstAERouteAttrEx); +CVI_S32 CVI_ISP_GetAERouteAttrEx(VI_PIPE ViPipe, ISP_AE_ROUTE_EX_S *pstAERouteAttrEx); + +CVI_S32 CVI_ISP_SetSmartExposureAttr(VI_PIPE ViPipe, const ISP_SMART_EXPOSURE_ATTR_S *pstSmartExpAttr); +CVI_S32 CVI_ISP_GetSmartExposureAttr(VI_PIPE ViPipe, ISP_SMART_EXPOSURE_ATTR_S *pstSmartExpAttr); + +CVI_S32 CVI_ISP_SetAEStatisticsConfig(VI_PIPE ViPipe, const ISP_AE_STATISTICS_CFG_S *pstAeStatCfg); +CVI_S32 CVI_ISP_GetAEStatisticsConfig(VI_PIPE ViPipe, ISP_AE_STATISTICS_CFG_S *pstAeStatCfg); + +CVI_S32 CVI_ISP_SetAERouteSFAttr(VI_PIPE ViPipe, const ISP_AE_ROUTE_S *pstAERouteSFAttr); +CVI_S32 CVI_ISP_GetAERouteSFAttr(VI_PIPE ViPipe, ISP_AE_ROUTE_S *pstAERouteSFAttr); + +CVI_S32 CVI_ISP_SetAERouteSFAttrEx(VI_PIPE ViPipe, const ISP_AE_ROUTE_EX_S *pstAERouteSFAttrEx); +CVI_S32 CVI_ISP_GetAERouteSFAttrEx(VI_PIPE ViPipe, ISP_AE_ROUTE_EX_S *pstAERouteSFAttrEx); + +CVI_S32 CVI_ISP_SetAntiFlicker(VI_PIPE ViPipe, CVI_BOOL enable, CVI_U8 frequency); +CVI_S32 CVI_ISP_GetAntiFlicker(VI_PIPE ViPipe, CVI_BOOL *pEnable, CVI_U8 *pFrequency); + +CVI_S32 CVI_ISP_SetWDRLEOnly(VI_PIPE ViPipe, CVI_BOOL wdrLEOnly); +CVI_S32 CVI_ISP_GetFrameID(VI_PIPE ViPipe, CVI_U32 *frameID); +CVI_S32 CVI_ISP_QueryFps(VI_PIPE ViPipe, CVI_FLOAT *pFps); + + +CVI_S32 CVI_ISP_GetCurrentLvX100(VI_PIPE ViPipe, CVI_S16 *ps16Lv); + +CVI_S32 CVI_ISP_SetFastBootExposure(VI_PIPE ViPipe, CVI_U32 expLine, CVI_U32 again, CVI_U32 dgain, CVI_U32 ispdgain); + +CVI_S32 CVI_ISP_SetIrisAttr(VI_PIPE ViPipe, const ISP_IRIS_ATTR_S *pstIrisAttr); +CVI_S32 CVI_ISP_GetIrisAttr(VI_PIPE ViPipe, ISP_IRIS_ATTR_S *pstIrisAttr); +CVI_S32 CVI_ISP_SetDcirisAttr(VI_PIPE ViPipe, const ISP_DCIRIS_ATTR_S *pstDcirisAttr); +CVI_S32 CVI_ISP_GetDcirisAttr(VI_PIPE ViPipe, ISP_DCIRIS_ATTR_S *pstDcirisAttr); + +CVI_S32 CVI_ISP_SetAELogPath(const char *szPath); +CVI_S32 CVI_ISP_GetAELogPath(char *szPath, CVI_U32 pathSize); +CVI_S32 CVI_ISP_SetAELogName(const char *szName); +CVI_S32 CVI_ISP_GetAELogName(char *szName, CVI_U32 nameSize); + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AE_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_ae_comm.h b/freertos/cvitek/install/include/common/cvi_ae_comm.h new file mode 100644 index 000000000..5a6a00c58 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_ae_comm.h @@ -0,0 +1,152 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_ae_comm.h + * Description: + */ + +#ifndef __CVI_AE_COMM_H__ +#define __CVI_AE_COMM_H__ + +#include "cvi_comm_inc.h" +#include "cvi_comm_3a.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define CVI_AE_LIB_NAME "cvi_ae_lib" + +typedef enum _AE_ACCURACY_E { + AE_ACCURACY_DB = 0, + AE_ACCURACY_LINEAR, + AE_ACCURACY_TABLE, + + AE_ACCURACY_BUTT, +} AE_ACCURACY_E; + +typedef enum _AE_BLC_TYPE_E { + AE_BLC_TYPE_LINEAR = 0, + AE_BLC_TYPE_LADDER, + + AE_BLC_TYPE_BUTT, +} AE_BLC_TYPE_E; + +typedef enum _ISP_SNS_GAIN_MODE_E { + SNS_GAIN_MODE_SHARE = 0, /* gain setting for all wdr frames*/ + SNS_GAIN_MODE_WDR_2F, /* separate gain for 2-frame wdr mode*/ + SNS_GAIN_MODE_WDR_3F, /* separate gain for 3-frame wdr mode*/ + SNS_GAIN_MODE_ONLY_LEF /* gain setting only apply to lef and sef is fixed to 1x */ +} ISP_SNS_GAIN_MODE_E; + + +typedef struct _AE_ACCURACY_S { + AE_ACCURACY_E enAccuType; + float f32Accuracy; + float f32Offset; +} AE_ACCURACY_S; + +typedef struct _AE_SENSOR_DEFAULT_S { + CVI_U8 au8HistThresh[HIST_THRESH_NUM]; + CVI_U8 u8AeCompensation; + + CVI_U32 u32LinesPer500ms; + CVI_U32 u32FlickerFreq; + CVI_U32 u32HmaxTimes; /* unit is ns */ + CVI_U32 u32InitExposure; + CVI_U32 u32InitAESpeed; + CVI_U32 u32InitAETolerance; + + CVI_U32 u32FullLinesStd; + CVI_U32 u32FullLinesMax; + CVI_U32 u32FullLines; + CVI_U32 u32MaxIntTime; /* RW;unit is line */ + CVI_U32 u32MinIntTime; + CVI_U32 u32MaxIntTimeTarget; + CVI_U32 u32MinIntTimeTarget; + AE_ACCURACY_S stIntTimeAccu; + + CVI_U32 u32MaxAgain; + CVI_U32 u32MinAgain; + CVI_U32 u32MaxAgainTarget; + CVI_U32 u32MinAgainTarget; + AE_ACCURACY_S stAgainAccu; + + CVI_U32 u32MaxDgain; + CVI_U32 u32MinDgain; + CVI_U32 u32MaxDgainTarget; + CVI_U32 u32MinDgainTarget; + AE_ACCURACY_S stDgainAccu; + + CVI_U32 u32MaxISPDgainTarget; + CVI_U32 u32MinISPDgainTarget; + CVI_U32 u32ISPDgainShift; + + CVI_U32 u32MaxIntTimeStep; + CVI_U32 u32LFMaxShortTime; + CVI_U32 u32LFMinExposure; +#if 0 + ISP_AE_ROUTE_S stAERouteAttr; + CVI_BOOL bAERouteExValid; + ISP_AE_ROUTE_EX_S stAERouteAttrEx; + + CVI_U16 u16ManRatioEnable; + CVI_U32 au32Ratio[EXP_RATIO_NUM]; + + ISP_IRIS_TYPE_E enIrisType; + ISP_PIRIS_ATTR_S stPirisAttr; + ISP_IRIS_F_NO_E enMaxIrisFNO; + ISP_IRIS_F_NO_E enMinIrisFNO; +#endif + ISP_AE_STRATEGY_E enAeExpMode; + + CVI_U16 u16ISOCalCoef; + CVI_U8 u8AERunInterval; + CVI_FLOAT f32Fps; + CVI_FLOAT f32MinFps; + CVI_U32 denom; + CVI_U32 u32AEResponseFrame; + CVI_U32 u32SnsStableFrame; /* delay for stable statistic after sensor init. (unit: frame) */ + AE_BLC_TYPE_E enBlcType; + ISP_SNS_GAIN_MODE_E enWDRGainMode; +} AE_SENSOR_DEFAULT_S; + +typedef struct _AE_FSWDR_ATTR_S { + ISP_FSWDR_MODE_E enFSWDRMode; +} AE_FSWDR_ATTR_S; + +typedef struct _AE_SENSOR_EXP_FUNC_S { + CVI_S32 (*pfn_cmos_get_ae_default)(VI_PIPE ViPipe, AE_SENSOR_DEFAULT_S *pstAeSnsDft); + + /* the function of sensor set fps */ + CVI_S32 (*pfn_cmos_fps_set)(VI_PIPE ViPipe, CVI_FLOAT f32Fps, AE_SENSOR_DEFAULT_S *pstAeSnsDft); + CVI_S32 (*pfn_cmos_slow_framerate_set)(VI_PIPE ViPipe, CVI_U32 u32FullLines, AE_SENSOR_DEFAULT_S *pstAeSnsDft); + + /* while isp notify ae to update sensor regs, ae call these funcs. */ + CVI_S32 (*pfn_cmos_inttime_update)(VI_PIPE ViPipe, CVI_U32 *u32IntTime); + CVI_S32 (*pfn_cmos_gains_update)(VI_PIPE ViPipe, CVI_U32 *u32Again, CVI_U32 *u32Dgain); + + CVI_S32 (*pfn_cmos_again_calc_table)(VI_PIPE ViPipe, CVI_U32 *pu32AgainLin, CVI_U32 *pu32AgainDb); + CVI_S32 (*pfn_cmos_dgain_calc_table)(VI_PIPE ViPipe, CVI_U32 *pu32DgainLin, CVI_U32 *pu32DgainDb); + + CVI_S32 (*pfn_cmos_get_inttime_max) + (VI_PIPE ViPipe, CVI_U16 u16ManRatioEnable, CVI_U32 *au32Ratio, CVI_U32 *au32IntTimeMax, + CVI_U32 *au32IntTimeMin, CVI_U32 *pu32LFMaxIntTime); + + /* long frame mode set */ + CVI_S32 (*pfn_cmos_ae_fswdr_attr_set)(VI_PIPE ViPipe, AE_FSWDR_ATTR_S *pstAeFSWDRAttr); +} AE_SENSOR_EXP_FUNC_S; + +typedef struct _AE_SENSOR_REGISTER_S { + AE_SENSOR_EXP_FUNC_S stAeExp; +} AE_SENSOR_REGISTER_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AE_COMM_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_af.h b/freertos/cvitek/install/include/common/cvi_af.h new file mode 100644 index 000000000..8d1d746eb --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_af.h @@ -0,0 +1,31 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_af.h + * Description: + */ + +#ifndef __CVI_AF_H__ +#define __CVI_AF_H__ + +#include "cvi_comm_isp.h" +#include "cvi_comm_3a.h" +#include "cvi_af_comm.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +CVI_S32 CVI_AF_Register(VI_PIPE ViPipe, ALG_LIB_S *pstAfLib); +CVI_S32 CVI_AF_UnRegister(VI_PIPE ViPipe, ALG_LIB_S *pstAfLib); + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AF_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_af_comm.h b/freertos/cvitek/install/include/common/cvi_af_comm.h new file mode 100644 index 000000000..4c8af105d --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_af_comm.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_af_comm.h + * Description: + */ + +#ifndef __CVI_AF_COMM_H__ +#define __CVI_AF_COMM_H__ + +#include "cvi_comm_inc.h" +#include "cvi_comm_3a.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define CVI_AF_LIB_NAME "cvi_af_lib" + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AF_COMM_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_awb.h b/freertos/cvitek/install/include/common/cvi_awb.h new file mode 100644 index 000000000..442831276 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_awb.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_awb.h + * Description: + */ + +#ifndef __CVI_AWB_H__ +#define __CVI_AWB_H__ + +#include "cvi_comm_isp.h" +#include "cvi_comm_3a.h" +#include "cvi_awb_comm.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define AWB_LOG_BUFF_SIZE (48*1024) +#define AWB_SNAP_LOG_BUFF_SIZE (AWB_LOG_BUFF_SIZE) + +/* The interface of awb lib register to isp. */ +CVI_S32 CVI_AWB_Register(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib); +CVI_S32 CVI_AWB_UnRegister(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib); + +/* The callback function of sensor register to awb lib. */ +CVI_S32 CVI_AWB_SensorRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib, ISP_SNS_ATTR_INFO_S *pstSnsAttrInfo, + AWB_SENSOR_REGISTER_S *pstRegister); +CVI_S32 CVI_AWB_SensorUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib, SENSOR_ID SensorId); + +CVI_S32 CVI_AWB_QueryInfo(VI_PIPE ViPipe, ISP_WB_Q_INFO_S *pstWB_Q_Info); + +CVI_S32 CVI_ISP_SetWBAttr(VI_PIPE ViPipe, const ISP_WB_ATTR_S *pstWBAttr); +CVI_S32 CVI_ISP_GetWBAttr(VI_PIPE ViPipe, ISP_WB_ATTR_S *pstWBAttr); +CVI_S32 CVI_ISP_SetAWBAttrEx(VI_PIPE ViPipe, const ISP_AWB_ATTR_EX_S *pstAWBAttrEx); +CVI_S32 CVI_ISP_GetAWBAttrEx(VI_PIPE ViPipe, ISP_AWB_ATTR_EX_S *pstAWBAttrEx); + +CVI_S32 CVI_ISP_QueryWBInfo(VI_PIPE ViPipe, ISP_WB_INFO_S *pstWBInfo); + +CVI_S32 CVI_ISP_GetGrayWorldAwbInfo(VI_PIPE ViPipe, CVI_U16 *pRgain, CVI_U16 *pBgain); + +CVI_S32 CVI_ISP_SetAWBLogPath(const char *szPath); +CVI_S32 CVI_ISP_SetAWBLogName(const char *szName); + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AWB_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_awb_comm.h b/freertos/cvitek/install/include/common/cvi_awb_comm.h new file mode 100644 index 000000000..30770a4ba --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_awb_comm.h @@ -0,0 +1,80 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_awb_comm.h + * Description: + */ + +#ifndef __CVI_AWB_COMM_H__ +#define __CVI_AWB_COMM_H__ + +#include "cvi_comm_inc.h" +#include "cvi_comm_3a.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define CVI_AWB_LIB_NAME "cvi_awb_lib" + +typedef struct cviAWB_SENSOR_DEFAULT_S { + CVI_U16 u16WbRefTemp; + CVI_U16 au16GainOffset[ISP_BAYER_CHN_NUM]; + // CVI_S32 as32WbPara[AWB_CURVE_PARA_NUM]; + + CVI_U16 u16GoldenRgain; + CVI_U16 u16GoldenBgain; + CVI_U16 u16SampleRgain; + CVI_U16 u16SampleBgain; + // AWB_AGC_TABLE_S stAgcTbl; + // AWB_CCM_S stCcm; + CVI_U16 u16InitRgain; + CVI_U16 u16InitGgain; + CVI_U16 u16InitBgain; + CVI_U8 u8AWBRunInterval; +} AWB_SENSOR_DEFAULT_S; + +typedef struct cviAWB_SENSOR_EXP_FUNC_S { + CVI_S32 (*pfn_cmos_get_awb_default)(VI_PIPE ViPipe, AWB_SENSOR_DEFAULT_S *pstAwbSnsDft); + // CVI_S32(*pfn_cmos_get_awb_spec_default)(VI_PIPE ViPipe, AWB_SPEC_SENSOR_DEFAULT_S *pstAwbSpecSnsDft); +} AWB_SENSOR_EXP_FUNC_S; + +typedef struct cviAWB_SENSOR_REGISTER_S { + AWB_SENSOR_EXP_FUNC_S stAwbExp; +} AWB_SENSOR_REGISTER_S; + +typedef struct _ISP_WB_CURVE_S { + CVI_U16 u16CurveSize; + CVI_U16 *u16RGain; + CVI_U16 *u16BGain; + CVI_U16 *u16BGainTop; + CVI_U16 *u16BGainBottom; +} ISP_WB_CURVE_S; + +typedef struct _ISP_WB_Q_INFO_S { + CVI_U16 u16Rgain; + CVI_U16 u16Grgain; + CVI_U16 u16Gbgain; + CVI_U16 u16Bgain; + CVI_U16 u16Saturation; + CVI_U16 u16ColorTemp; + CVI_U16 u16LS0CT; + CVI_U16 u16LS1CT; + CVI_U16 u16LS0Area; + CVI_U16 u16LS1Area; + CVI_U8 u8MultiDegree; + CVI_U16 u16ActiveShift; + CVI_U32 u32FirstStableTime; + ISP_AWB_INDOOR_OUTDOOR_STATUS_E enInOutStatus; + CVI_S16 s16Bv; +} ISP_WB_Q_INFO_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_AWB_COMM_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_3a.h b/freertos/cvitek/install/include/common/cvi_comm_3a.h new file mode 100644 index 000000000..aeac8166f --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_3a.h @@ -0,0 +1,481 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_common_3a.h + * Description: + */ + +#ifndef __CVI_COMM_3A_H__ +#define __CVI_COMM_3A_H__ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#include +#include "cvi_comm_isp.h" +#include "cvi_comm_sns.h" + +#define ALG_LIB_NAME_SIZE_MAX (20) +#define MAX_REGISTER_ALG_LIB_NUM 4 + +#define HIST_THRESH_NUM (4) + +#define MAX_AE_W (32) +#define MAX_AE_H (24) +#define MAX_AE_SIZE (MAX_AE_W * MAX_AE_H) +#define MAX_AE_WIN (2) + +#define ENABLE_AF_LIB (0) + +typedef enum _ISP_FSWDR_MODE_E { + ISP_FSWDR_NORMAL_MODE = 0x0, + ISP_FSWDR_LONG_FRAME_MODE = 0x1, + ISP_FSWDR_AUTO_LONG_FRAME_MODE = 0x2, + ISP_FSWDR_MODE_BUTT +} ISP_FSWDR_MODE_E; + +typedef struct _ISP_AE_RANGE_S { + CVI_U32 u32Max; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32Min; /*RW; Range:[0x0, 0x7FFFFFFF]*/ +} ISP_AE_RANGE_S; + +typedef enum _ISP_AE_STRATEGY_E { + AE_EXP_HIGHLIGHT_PRIOR = 0, + AE_EXP_LOWLIGHT_PRIOR = 1, + AE_STRATEGY_MODE_BUTT +} ISP_AE_STRATEGY_E; + +typedef enum _ISP_AE_MODE_E { + AE_MODE_SLOW_SHUTTER = 0, + AE_MODE_FIX_FRAME_RATE = 1, + AE_MODE_BUTT +} ISP_AE_MODE_E; + +typedef enum _ISP_ANTIFLICKER_MODE_E { + ISP_ANTIFLICKER_NORMAL_MODE = 0, + ISP_ANTIFLICKER_AUTO_MODE = 1, + ISP_ANTIFLICKER_MODE_BUTT +} ISP_ANTIFLICKER_MODE_E; + + +typedef struct _ISP_ANTIFLICKER_S { + CVI_BOOL bEnable; + ISP_AE_ANTIFLICKER_FREQUENCE_E enFrequency; + ISP_ANTIFLICKER_MODE_E enMode; +} ISP_ANTIFLICKER_S; + +typedef struct _ISP_SUBFLICKER_S { + CVI_BOOL bEnable; + CVI_U8 u8LumaDiff; /*RW; Range:[0x0, 0x64]*/ +} ISP_SUBFLICKER_S; + +typedef struct _ISP_AE_DELAY_S { + CVI_U16 u16BlackDelayFrame; + CVI_U16 u16WhiteDelayFrame; +} ISP_AE_DELAY_S; + +typedef struct _ISP_ME_ATTR_S { + ISP_OP_TYPE_E enExpTimeOpType; + ISP_OP_TYPE_E enAGainOpType; + ISP_OP_TYPE_E enDGainOpType; + ISP_OP_TYPE_E enISPDGainOpType; + CVI_U32 u32ExpTime; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32AGain; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + CVI_U32 u32DGain; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + CVI_U32 u32ISPDGain; /*RW; Range:[0x400, 0x40000]*/ + ISP_OP_TYPE_E enISONumOpType; + ISP_AE_GAIN_TYPE_E enGainType; + CVI_U32 u32ISONum; /*RW; Range:[0x64, 0x7FFFFFFF]*/ +} ISP_ME_ATTR_S; + +#define RESERVE_SIZE 10 +typedef struct _ISP_AE_ATTR_S { + ISP_AE_RANGE_S stExpTimeRange; + ISP_AE_RANGE_S stAGainRange; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + ISP_AE_RANGE_S stDGainRange; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + ISP_AE_RANGE_S stISPDGainRange; /*RW; Range:[0x400, 0x40000]*/ + ISP_AE_RANGE_S stSysGainRange; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + CVI_U32 u32GainThreshold; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + CVI_U8 u8Speed; // 1 means 0.1 ev + CVI_U16 u16BlackSpeedBias; + CVI_U8 u8Tolerance; + CVI_U8 u8Compensation; + CVI_U16 u16EVBias; + ISP_AE_STRATEGY_E enAEStrategyMode; + CVI_U16 u16HistRatioSlope; + CVI_U8 u8MaxHistOffset; + ISP_AE_MODE_E enAEMode; + ISP_ANTIFLICKER_S stAntiflicker; + ISP_SUBFLICKER_S stSubflicker; + ISP_AE_DELAY_S stAEDelayAttr; + CVI_BOOL bManualExpValue; + CVI_U32 u32ExpValue; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + ISP_FSWDR_MODE_E enFSWDRMode; + CVI_BOOL bWDRQuick; + CVI_U16 u16ISOCalCoef; + ISP_AE_GAIN_TYPE_E enGainType; + ISP_AE_RANGE_S stISONumRange; /*RW; Range:[0x64, 0x7FFFFFFF]*/ + CVI_S16 s16IRCutOnLv; + CVI_S16 s16IRCutOffLv; + ISP_AE_IR_CUT_FORCE_STATUS enIRCutStatus; + CVI_U8 au8AdjustTargetMin[LV_TOTAL_NUM]; + CVI_U8 au8AdjustTargetMax[LV_TOTAL_NUM]; + CVI_U16 u16LowBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 u16HighBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_BOOL bEnableFaceAE; + CVI_U8 u8FaceTargetLuma; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 u8FaceWeight; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 u8GridBvWeight; /*RW; Range:[0x0, 0x64]*/ + CVI_U32 au32Reserve[RESERVE_SIZE]; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U8 u8HighLightLumaThr; + CVI_U8 u8HighLightBufLumaThr; + CVI_U8 u8LowLightLumaThr; + CVI_U8 u8LowLightBufLumaThr; + CVI_BOOL bHistogramAssist; +} ISP_AE_ATTR_S; + + +typedef struct _ISP_EXPOSURE_ATTR_S { + CVI_BOOL bByPass; + ISP_OP_TYPE_E enOpType; + CVI_U8 u8AERunInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL bHistStatAdjust; + CVI_BOOL bAERouteExValid; + ISP_ME_ATTR_S stManual; + ISP_AE_ATTR_S stAuto; + CVI_U8 u8DebugMode; + ISP_AE_METER_MODE_E enMeterMode; + CVI_BOOL bAEGainSepCfg; +} ISP_EXPOSURE_ATTR_S; + +typedef struct ISP_STITCH_ATTR_T { + CVI_BOOL enable; +} ISP_STITCH_ATTR_S; + +typedef struct _ALG_LIB_S { + CVI_S32 s32Id; + CVI_CHAR acLibName[ALG_LIB_NAME_SIZE_MAX]; +} ALG_LIB_S; + +/* the init param of awb alg */ +typedef struct _ISP_AE_PARAM_S { + SENSOR_ID SensorId; + CVI_U8 u8WDRMode; + CVI_U8 u8HDRMode; + CVI_U16 u16BlackLevel; + CVI_FLOAT f32Fps; + ISP_BAYER_FORMAT_E enBayer; + ISP_STITCH_ATTR_S stStitchAttr; + CVI_S32 s32Rsv; + ISP_3AWIN_CONFIG_S aeLEWinConfig[AE_MAX_NUM]; + ISP_3AWIN_CONFIG_S aeSEWinConfig; +} ISP_AE_PARAM_S; + +typedef struct _ISP_FE_AE_STAT_1_S { + CVI_U32 u32PixelCount[ISP_CHANNEL_MAX_NUM]; + CVI_U32 u32PixelWeight[ISP_CHANNEL_MAX_NUM]; + CVI_U32 au32HistogramMemArray[ISP_CHANNEL_MAX_NUM][MAX_HIST_BINS]; +} ISP_FE_AE_STAT_1_S; + +typedef struct _ISP_FE_AE_STAT_2_S { + CVI_U16 u16GlobalAvgR[ISP_CHANNEL_MAX_NUM]; + CVI_U16 u16GlobalAvgGr[ISP_CHANNEL_MAX_NUM]; + CVI_U16 u16GlobalAvgGb[ISP_CHANNEL_MAX_NUM]; + CVI_U16 u16GlobalAvgB[ISP_CHANNEL_MAX_NUM]; +} ISP_FE_AE_STAT_2_S; + +typedef struct _ISP_FE_AE_STAT_3_S { + CVI_U16 au16ZoneAvg[ISP_CHANNEL_MAX_NUM][AE_ZONE_ROW][AE_ZONE_COLUMN][4]; +} ISP_FE_AE_STAT_3_S; + +typedef struct _ISP_FE_AE_STITCH_STAT_3_S { + CVI_U16 au16ZoneAvg[ISP_CHANNEL_MAX_NUM][ISP_CHANNEL_MAX_NUM][AE_ZONE_ROW][AE_ZONE_COLUMN][4]; +} ISP_FE_AE_STITCH_STAT_3_S; + +typedef struct _ISP_AE_STAT_ATTR_S { + CVI_BOOL bChange; + + CVI_BOOL bHistAdjust; + CVI_U8 u8AEBESel; + CVI_U8 u8FourPlaneMode; + CVI_U8 u8HistOffsetX; + CVI_U8 u8HistOffsetY; + CVI_U8 u8HistSkipX; + CVI_U8 u8HistSkipY; + + CVI_BOOL bModeUpdate; + CVI_U8 u8HistMode; + CVI_U8 u8AverMode; + CVI_U8 u8MaxGainMode; + + CVI_BOOL bWightTableUpdate; + CVI_U8 au8WeightTable[VI_MAX_PIPE_NUM][AE_WEIGHT_ZONE_ROW][AE_WEIGHT_ZONE_COLUMN]; +} ISP_AE_STAT_ATTR_S; + +typedef struct _ISP_AE_STAT_RESULT_S { + CVI_U32 u32IntTime[VI_MAX_PIPE_NUM]; + CVI_U32 u32IspDgain; + CVI_U32 u32Again; + CVI_U32 u32Dgain; + CVI_U32 u32Iso; + CVI_U8 u8AERunInterval; + + CVI_BOOL bPirisValid; + CVI_S32 s32PirisPos; + CVI_U32 u32PirisGain; + + ISP_FSWDR_MODE_E enFSWDRMode; + CVI_U32 au32WDRGain[4]; + CVI_U32 u32HmaxTimes; /* unit is ns */ + + ISP_AE_STAT_ATTR_S stStatAttr; + ISP_DCF_UPDATE_INFO_S stUpdateInfo; + CVI_U32 u32ExpRatio; + CVI_S16 s16CurrentLV; + CVI_U32 u32AvgLuma; + CVI_U8 u8MeterFramePeriod; + CVI_BOOL bStable; + CVI_FLOAT fBvStep; + CVI_U32 u32BlcIso; + + CVI_U32 u32IspDgainSF; + CVI_U32 u32AgainSF; + CVI_U32 u32DgainSF; + CVI_U32 u32IsoSF; + CVI_U32 u32BlcIsoSF; + CVI_FLOAT fEvRatio[2]; +} ISP_AE_RESULT_S; + +typedef struct _ISP_BE_AE_STAT_1_S { + CVI_BOOL bStable; +} ISP_BE_AE_STAT_1_S; + +typedef struct _ISP_BE_AE_STAT_2_S { + CVI_BOOL bStable; +} ISP_BE_AE_STAT_2_S; + +typedef struct _ISP_BE_AE_STAT_3_S { + CVI_BOOL bStable; +} ISP_BE_AE_STAT_3_S; + +typedef struct _ISP_BE_AE_STITCH_STAT_3_S { + CVI_BOOL bStable; +} ISP_BE_AE_STITCH_STAT_3_S; + +typedef struct _ISP_AE_INFO_S { + CVI_U32 u32FrameCnt; /* the counting of frame */ + ISP_SMART_ROI_S stSmartInfo; + ISP_FE_AE_STAT_1_S * pstFEAeStat1[AE_MAX_NUM]; + ISP_FE_AE_STAT_2_S * pstFEAeStat2[AE_MAX_NUM]; + ISP_FE_AE_STAT_3_S * pstFEAeStat3[AE_MAX_NUM]; + ISP_FE_AE_STITCH_STAT_3_S *pstFEAeStiStat; + ISP_BE_AE_STAT_1_S *pstBEAeStat1; + ISP_BE_AE_STAT_2_S *pstBEAeStat2; + ISP_BE_AE_STAT_3_S *pstBEAeStat3; + ISP_BE_AE_STITCH_STAT_3_S *pstBEAeStiStat; + ISP_3AWIN_CONFIG_S aeLEWinConfig[AE_MAX_NUM]; + ISP_3AWIN_CONFIG_S aeSEWinConfig; +} ISP_AE_INFO_S; + +typedef struct bmISP_DCI_INFO_S { + CVI_U32 u32FrameCnt; /* the counting of frame */ + + CVI_U16 pStat[DCI_BINS_NUM]; +} ISP_DCI_INFO_S; + + +/* the init param of awb alg */ +typedef struct _ISP_AWB_PARAM_S { + SENSOR_ID SensorId; + CVI_U8 u8WDRMode; + CVI_U8 u8AWBZoneRow; + CVI_U8 u8AWBZoneCol; + CVI_U8 u8AWBZoneBin; + ISP_STITCH_ATTR_S stStitchAttr; + CVI_U16 u16AWBWidth; + CVI_U16 u16AWBHeight; + CVI_S8 s8Rsv; +} ISP_AWB_PARAM_S; + +typedef struct _ISP_AWB_RAW_STAT_ATTR_S { + bool bStatCfgUpdate; + + CVI_U16 u16MeteringWhiteLevelAwb; + CVI_U16 u16MeteringBlackLevelAwb; + CVI_U16 u16MeteringCrRefMaxAwb; + CVI_U16 u16MeteringCbRefMaxAwb; + CVI_U16 u16MeteringCrRefMinAwb; + CVI_U16 u16MeteringCbRefMinAwb; +} ISP_AWB_RAW_STAT_ATTR_S; + +typedef struct _ISP_AWB_RESULT_S { + CVI_U32 au32WhiteBalanceGain[ISP_BAYER_CHN_NUM]; + CVI_U16 au16ColorMatrix[CCM_MATRIX_SIZE]; + CVI_U32 u32ColorTemp; + CVI_U8 u8Saturation[4]; + ISP_AWB_RAW_STAT_ATTR_S stRawStatAttr; + CVI_BOOL bStable; +} ISP_AWB_RESULT_S; + +typedef struct _ISP_AWB_STAT_1_S { + CVI_U16 u16MeteringAwbAvgR; + CVI_U16 u16MeteringAwbAvgG; + CVI_U16 u16MeteringAwbAvgB; + CVI_U16 u16MeteringAwbCountAll; +} ISP_AWB_STAT_1_S; + +typedef struct _ISP_AWB_STAT_RESULT_S { + CVI_U16 *pau16ZoneAvgR; + CVI_U16 *pau16ZoneAvgG; + CVI_U16 *pau16ZoneAvgB; + CVI_U16 *pau16ZoneCount; +} ISP_AWB_STAT_RESULT_S; + +typedef struct _ISP_AWB_INFO_S { + CVI_U32 u32FrameCnt; + ISP_SMART_ROI_S stSmartInfo; + ISP_AWB_STAT_1_S * pstAwbStat1[ISP_CHANNEL_MAX_NUM]; + ISP_AWB_STAT_RESULT_S stAwbStat2[ISP_CHANNEL_MAX_NUM]; + CVI_U8 u8AwbGainSwitch; + CVI_U32 au32WDRWBGain[ISP_BAYER_CHN_NUM]; + CVI_U32 u32IsoNum; + CVI_S16 s16LVx100; + CVI_FLOAT fBVstep; +} ISP_AWB_INFO_S; + +// AF related structure +typedef struct _ISP_AF_PARAM_S { + SENSOR_ID SensorId; + CVI_U8 u8WDRMode; + CVI_S32 s32Rsv; +} ISP_AF_PARAM_S; + +typedef struct _ISP_AF_INFO_S { + CVI_U32 u32FrameCnt; + ISP_AF_STATISTICS_S *pstAfStat; +} ISP_AF_INFO_S; + +typedef struct _ISP_AF_RESULT_S { + CVI_S32 s32Rsv; +} ISP_AF_RESULT_S; + +typedef struct _ISP_AE_STITCH_STATISTICS_S { + CVI_U32 enable; +} ISP_AE_STITCH_STATISTICS_S; + +typedef struct _ISP_BIND_ATTR_S { + SENSOR_ID sensorId; + ALG_LIB_S stAeLib; + ALG_LIB_S stAfLib; + ALG_LIB_S stAwbLib; +} ISP_BIND_ATTR_S; + +typedef struct _ISP_AE_EXP_FUNC_S { + CVI_S32 (*pfn_ae_init)(VI_PIPE ViPipe, const ISP_AE_PARAM_S *pstAeParam); + CVI_S32 (*pfn_ae_run)(VI_PIPE ViPipe, const ISP_AE_INFO_S *pstAeInfo, + ISP_AE_RESULT_S *pstAeResult, CVI_S32 s32Rsv); + CVI_S32 (*pfn_ae_ctrl)(VI_PIPE ViPipe, CVI_U32 u32Cmd, void *pValue); + CVI_S32 (*pfn_ae_exit)(VI_PIPE ViPipe); +} ISP_AE_EXP_FUNC_S; + +typedef struct _ISP_AWB_EXP_FUNC_S { + CVI_S32 (*pfn_awb_init)(VI_PIPE ViPipe, const ISP_AWB_PARAM_S *pstAwbParam); + CVI_S32 (*pfn_awb_run)(VI_PIPE ViPipe, const ISP_AWB_INFO_S *pstAwbInfo, ISP_AWB_RESULT_S *pstAwbResult, + CVI_S32 s32Rsv); + CVI_S32 (*pfn_awb_ctrl)(VI_PIPE ViPipe, CVI_U32 u32Cmd, CVI_VOID *pValue); + CVI_S32 (*pfn_awb_exit)(VI_PIPE ViPipe); +} ISP_AWB_EXP_FUNC_S; + +typedef struct _ISP_AF_EXP_FUNC_S { + CVI_S32 (*pfn_af_init)(VI_PIPE ViPipe, const ISP_AF_PARAM_S *pstAfParam); + CVI_S32 (*pfn_af_run)(VI_PIPE ViPipe, const ISP_AF_INFO_S *pstAfInfo, ISP_AF_RESULT_S *pstAfResult, + CVI_S32 s32Rsv); + CVI_S32 (*pfn_af_ctrl)(VI_PIPE ViPipe, CVI_U32 u32Cmd, CVI_VOID *pValue); + CVI_S32 (*pfn_af_exit)(VI_PIPE ViPipe); +} ISP_AF_EXP_FUNC_S; + +typedef struct _ISP_AE_REGISTER_S { + ISP_AE_EXP_FUNC_S stAeExpFunc; +} ISP_AE_REGISTER_S; + +typedef struct _ISP_AWB_REGISTER_S { + ISP_AWB_EXP_FUNC_S stAwbExpFunc; +} ISP_AWB_REGISTER_S; + +typedef struct _ISP_AF_REGISTER_S { + ISP_AF_EXP_FUNC_S stAfExpFunc; +} ISP_AF_REGISTER_S; + +typedef enum _ISP_CTRL_CMD_E { + ISP_WDR_MODE_SET = 0, + + ISP_CTRL_CMD_BUTT_MAX, +} ISP_CTRL_CMD_E; + + +#define AWB_DBG_VER (11) +#define AWB_SENSOR_NUM (2) +#define AWB_DBG_W (64) +#define AWB_DBG_H (32) +#define AWB_SHIFT_REGION_NUM (4) +typedef struct _AWB_DBG_S { + //Don't modify ==> + CVI_U32 u32Date; + CVI_U16 u16AlgoVer; + CVI_U16 u16DbgVer; + CVI_U16 u16MaxFrameNum; + CVI_U16 u16SensorId; + CVI_U32 u32BinSize; + CVI_U16 u16WinWnum; + CVI_U16 u16WinHnum; + CVI_U16 u16WinOffX; + CVI_U16 u16WinOffY; + CVI_U16 u16WinWsize; + CVI_U16 u16WinHsize; + CVI_U16 u16P_R[2][AWB_DBG_W*AWB_DBG_H];//keep Max Size + CVI_U16 u16P_G[2][AWB_DBG_W*AWB_DBG_H];//keep Max Size + CVI_U16 u16P_B[2][AWB_DBG_W*AWB_DBG_H];//keep Max Size + CVI_U16 u16P_type[2][AWB_DBG_W*AWB_DBG_H];//keep Max Size + CVI_U16 u16GrayCnt; + CVI_U16 u16BalanceR; + CVI_U16 u16BalanceB; + CVI_U16 u16FinalR; + CVI_U16 u16FinalB; + CVI_U16 u16CurrentR; + CVI_U16 u16CurrentB; + CVI_U16 u16IdealR; + CVI_U16 u16IdealB; + CVI_U16 CalibRgain[AWB_CALIB_PTS_NUM]; + CVI_U16 CalibBgain[AWB_CALIB_PTS_NUM]; + CVI_U16 CalibTemp[AWB_CALIB_PTS_NUM]; + CVI_U16 u16CurveR[256];//4096/16 + CVI_U16 u16CurveB[256]; + CVI_U16 u16CurveB_Top[256]; + CVI_U16 u16CurveB_Bot[256]; + CVI_S16 s16LvX100; + CVI_U32 u32ISONum; + ISP_WB_ATTR_S dbgMPIAttr[AWB_SENSOR_NUM]; + ISP_WB_ATTR_S dbgInfoAttr[AWB_SENSOR_NUM]; + ISP_AWB_ATTR_EX_S dbgMPIAttrEx[AWB_SENSOR_NUM]; + ISP_AWB_ATTR_EX_S dbgInfoAttrEx[AWB_SENSOR_NUM]; + //Don't modify <== + CVI_U8 calib_sts; + ISP_AWB_Calibration_Gain_S_EX calib_ex; + ISP_SMART_ROI_S stFace; + + // fix size to 128 byte from here + CVI_U16 u16Region_R[AWB_SHIFT_REGION_NUM]; + CVI_U8 u8Reserve[120]; +} s_AWB_DBG_S; + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_COMM_3A_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_inc.h b/freertos/cvitek/install/include/common/cvi_comm_inc.h new file mode 100644 index 000000000..e4e010077 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_inc.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name: include/cvi_common_inc.h + * Description: + */ + + +#ifndef __CVI_COMM_INC_H__ +#define __CVI_COMM_INC_H__ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#include "stddef.h" +#include "stdint.h" +#include + +#if defined(ARCH_CV183X) || defined(ARCH_CV182X) +#include +#include +#include +#include +#elif defined(ARCH_RTOS_CV181X) +#include +#include +#include +#include +#elif defined(ARCH_CV181X) || defined(ARCH_CV180X) || defined(__CV181X__) || defined(__CV180X__) +#include +#include +#include +#include + + +#endif + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_COMM_INC_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_isp.h b/freertos/cvitek/install/include/common/cvi_comm_isp.h new file mode 100644 index 000000000..e1e72ec04 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_isp.h @@ -0,0 +1,2655 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2022. All rights reserved. + * + * File Name: include/cvi_common_isp.h + * Description: + */ + +#ifndef __CVI_COMM_ISP_H__ +#define __CVI_COMM_ISP_H__ + +#include +#include "cvi_comm_inc.h" + + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define CCM_MATRIX_SIZE (9) +#define CSC_MATRIX_SIZE (9) +#define CSC_OFFSET_SIZE (3) +#define AE_MAX_ZONE_ROW (30) +#define AE_MAX_ZONE_COLUMN (34) +#define AE_ZONE_ROW (30) +#define AE_ZONE_COLUMN (34) +#define AE_ZONE_NUM (AE_ZONE_ROW * AE_ZONE_COLUMN) +#define AE_MAX_NUM (1) +#define AWB_ZONE_ORIG_ROW (30) +#define AWB_ZONE_ORIG_COLUMN (34) +#define AWB_ZONE_MAX_COLUMN (34) +#define AWB_ZONE_NUM (AWB_ZONE_ORIG_ROW * AWB_ZONE_ORIG_COLUMN) +#define AWB_MAX_NUM (1) +#define HIST_BIN_DEPTH (8) +#define MAX_HIST_BINS (1 << HIST_BIN_DEPTH) +#define MAX_EXPOSURE_RATIO (256) +#define MAX_DRC_HIST_BINS (MAX_HIST_BINS * MAX_EXPOSURE_RATIO) +#define DCF_DRSCRIPTION_LENGTH (32) +#define DCF_CAPTURE_TIME_LENGTH (20) +#define ISP_AUTO_ISO_STRENGTH_NUM (16) +#define ISP_AUTO_EXP_RATIO_NUM (16) +#define ISP_AUTO_COLORTEMP_NUM (7) +#define CVI_ISP_LSC_GRID_COL (37) +#define CVI_ISP_LSC_GRID_ROW (37) +#define CVI_ISP_LSC_GRID_POINTS (CVI_ISP_LSC_GRID_COL * CVI_ISP_LSC_GRID_ROW) +#define DCI_BINS_NUM (256) +#define ISP_MAX_SNS_REGS 32 +#define ISP_MAX_WDR_FRAME_NUM 2 +#define BAYER_PATTERN_NUM 4 +#define MG_ZONE_ROW (15) +#define MG_ZONE_COLUMN (17) +#define AF_ZONE_ROW (15) +#define AF_ZONE_COLUMN (17) +#define AF_XOFFSET_MIN (8) +#define AF_YOFFSET_MIN (2) +#define MAX_AWB_LIB_NUM (VI_MAX_PIPE_NUM) +#define MAX_AE_LIB_NUM (VI_MAX_PIPE_NUM) +#define LTM_DARK_CURVE_NODE_NUM (257) +#define LTM_BRIGHT_CURVE_NODE_NUM (513) +#define LTM_GLOBAL_CURVE_NODE_NUM (769) +#define ISP_3ALIB_FIND_FAIL (-1) +#define SHARPEN_LUT_NUM 33 +#define MOTION_NR_TABLE_NUM 16 +#define HIST_NUM 256 +#define ISP_BASE_ADDR 0x0A000000 +#define ISP_REG_RANGE 0x80000 +#define DEHAZE_LUT_NUM 32 +#define DIS_MAX_WINDOW_X_NUM 3 +#define DIS_MAX_WINDOW_Y_NUM 3 +#define XHIST_LENGTH 255 // 1024 bin +#define YHIST_LENGTH 255 // 512 bin + +#define MIN_LV (-5) +#define MAX_LV (15) +#define LV_TOTAL_NUM (MAX_LV - MIN_LV + 1) +#define AE_LV_FACTOR (100) +#define ISP_AUTO_LV_NUM (LV_TOTAL_NUM) + +/*Defines the format of the input Bayer image*/ +typedef enum _ISP_BAYER_FORMAT_E { + BAYER_BGGR, + BAYER_GBRG, + BAYER_GRBG, + BAYER_RGGB, + //for RGBIR sensor + BAYER_GRGBI = 8, + BAYER_RGBGI, + BAYER_GBGRI, + BAYER_BGRGI, + BAYER_IGRGB, + BAYER_IRGBG, + BAYER_IBGRG, + BAYER_IGBGR, + BAYER_BUTT +} ISP_BAYER_FORMAT_E; + +typedef enum _ISP_OP_TYPE_E { + OP_TYPE_AUTO, + OP_TYPE_MANUAL, + OP_TYPE_BUTT +} ISP_OP_TYPE_E; + +typedef enum _ISP_FMW_STATE_E { + ISP_FMW_STATE_RUN, + ISP_FMW_STATE_FREEZE, + ISP_FMW_STATE_BUTT +} ISP_FMW_STATE_E; + +typedef enum _ISP_CHANNEL_LIST_E { + ISP_CHANNEL_LE, + ISP_CHANNEL_SE, + ISP_CHANNEL_MAX_NUM, +} ISP_CHANNEL_LIST_E; + +typedef enum _ISP_BAYER_CHANNEL_E { + ISP_BAYER_CHN_R, + ISP_BAYER_CHN_GR, + ISP_BAYER_CHN_GB, + ISP_BAYER_CHN_B, + ISP_BAYER_CHN_NUM, +} ISP_BAYER_CHANNEL_E; + +typedef enum _ISP_SNS_TYPE_E { + SNS_I2C_TYPE, + SNS_SSP_TYPE, + SNS_TYPE_BUTT, +} ISP_SNS_TYPE_E; + +typedef enum _ISP_WDR_FRAME_IDX_E { + ISP_WDR_FRAME_IDX_1, + ISP_WDR_FRAME_IDX_2, + ISP_WDR_FRAME_IDX_3, + ISP_WDR_FRAME_IDX_4, + ISP_WDR_FRAME_IDX_SIZE +} ISP_WDR_FRAME_IDX_E; + +typedef union _ISP_SNS_COMMBUS_U { + CVI_S8 s8I2cDev; + struct { + CVI_S8 bit4SspDev : 4; + CVI_S8 bit4SspCs : 4; + } s8SspDev; +} ISP_SNS_COMMBUS_U; + +typedef struct _ISP_I2C_DATA_S { + CVI_BOOL bUpdate; + CVI_BOOL bDropFrm; + CVI_U8 u8DelayFrmNum; /*RW; Number of delayed frames for the sensor register*/ + CVI_U8 u8DropFrmNum; /*RW; Number of frame to drop*/ + CVI_U8 u8IntPos; /*RW;Position where the configuration of the sensor register takes effect */ + CVI_U8 u8DevAddr; /*RW;Sensor device address*/ + CVI_U32 u32RegAddr; /*RW;Sensor register address*/ + CVI_U32 u32AddrByteNum; /*RW;Bit width of the sensor register address*/ + CVI_U32 u32Data; /*RW;Sensor register data*/ + CVI_U32 u32DataByteNum; /*RW;Bit width of sensor register data*/ +} ISP_I2C_DATA_S; + +typedef struct _ISP_SSP_DATA_S { + CVI_BOOL bUpdate; + CVI_U8 u8DelayFrmNum; /*RW; Number of delayed frames for the sensor register*/ + CVI_U8 u8IntPos; /*RW;Position where the configuration of the sensor register takes effect */ + CVI_U32 u32DevAddr; /*RW;Sensor device address*/ + CVI_U32 u32DevAddrByteNum; /*RW;Bit width of the sensor device address*/ + CVI_U32 u32RegAddr; /*RW;Sensor register address*/ + CVI_U32 u32RegAddrByteNum; /*RW;Bit width of the sensor register address*/ + CVI_U32 u32Data; /*RW;Sensor register data*/ + CVI_U32 u32DataByteNum; /*RW;Bit width of sensor register data*/ +} ISP_SSP_DATA_S; + +typedef struct _ISP_SNS_REGS_INFO_S { + ISP_SNS_TYPE_E enSnsType; + CVI_U32 u32RegNum; + CVI_U8 u8Cfg2ValidDelayMax; + ISP_SNS_COMMBUS_U unComBus; + union { + ISP_I2C_DATA_S astI2cData[ISP_MAX_SNS_REGS]; + ISP_SSP_DATA_S astSspData[ISP_MAX_SNS_REGS]; + }; + + struct { + CVI_BOOL bUpdate; + CVI_U8 u8DelayFrmNum; + CVI_U32 u32SlaveVsTime; /* RW;time of vsync. Unit: inck clock cycle */ + CVI_U32 u32SlaveBindDev; + } stSlvSync; + + CVI_BOOL bConfig; + CVI_U8 use_snsr_sram; + CVI_U8 need_update; +} ISP_SNS_REGS_INFO_S; + +typedef enum _ISP_VD_TYPE_E { + ISP_VD_FE_START = 0, + ISP_VD_FE_END, + ISP_VD_BE_END, + ISP_VD_MAX +} ISP_VD_TYPE_E; + +typedef struct _ISP_MANUAL_WDR_ATTR_S { + CVI_S32 devno; + CVI_S32 manual_en; + CVI_S16 l2s_distance; + CVI_S16 lsef_length; + CVI_S32 discard_padding_lines; + CVI_S32 update; +} ISP_MANUAL_WDR_ATTR_S; + +typedef struct _ISP_SNS_CIF_INFO_S { + ISP_MANUAL_WDR_ATTR_S wdr_manual; + CVI_U8 u8DelayFrmNum; /*RW; Number of delayed frames for the cif setting */ + CVI_U8 need_update; +} ISP_SNS_CIF_INFO_S; + +typedef struct _ISP_WDR_SIZE_S { + RECT_S stWndRect; + SIZE_S stSnsSize; + SIZE_S stMaxSize; +} ISP_WDR_SIZE_S; + +typedef struct _ISP_SNS_ISP_INFO_S { + CVI_U32 frm_num; + ISP_WDR_SIZE_S img_size[ISP_MAX_WDR_FRAME_NUM]; + CVI_U8 u8DelayFrmNum; /*RW; Number of delayed frames for the isp setting */ + CVI_U8 need_update; +} ISP_SNS_ISP_INFO_S; + +typedef struct _ISP_SNS_SYNC_INFO_S { + ISP_SNS_REGS_INFO_S snsCfg; + ISP_SNS_ISP_INFO_S ispCfg; + ISP_SNS_CIF_INFO_S cifCfg; +} ISP_SNS_SYNC_INFO_S; + +typedef struct _ISP_PUB_ATTR_S { + RECT_S stWndRect; + SIZE_S stSnsSize; + CVI_FLOAT f32FrameRate; + ISP_BAYER_FORMAT_E enBayer; + WDR_MODE_E enWDRMode; + CVI_U8 u8SnsMode; +} ISP_PUB_ATTR_S; + +typedef struct _ISP_CTRL_PARAM_S { + CVI_U32 u32AEStatIntvl; + CVI_U32 u32AWBStatIntvl; + CVI_U32 u32AFStatIntvl; + CVI_U32 u32ProcParam; + CVI_U32 u32ProcLevel; + CVI_U32 u32UpdatePos; + CVI_U32 u32IntTimeOut; + CVI_U32 u32PwmNumber; + CVI_U32 u32PortIntDelay; +} ISP_CTRL_PARAM_S; + +typedef union _ISP_MODULE_CTRL_U { + CVI_U64 u64Key; + struct { + CVI_U64 bitBypassBlc : 1; /*RW:[0]*/ + CVI_U64 bitBypassRlsc : 1; /*RW:[1]*/ + CVI_U64 bitBypassFpn : 1; /*RW:[2]*/ + CVI_U64 bitBypassDpc : 1; /*RW:[3]*/ + CVI_U64 bitBypassCrosstalk : 1; /*RW:[4]*/ + CVI_U64 bitBypassWBGain : 1; /*RW:[5]*/ + CVI_U64 bitBypassDis : 1; /*RW:[6]*/ + CVI_U64 bitBypassBnr : 1; /*RW:[7]*/ + CVI_U64 bitBypassDemosaic : 1; /*RW:[8]*/ + CVI_U64 bitBypassRgbcac : 1; /*RW:[9]*/ + CVI_U64 bitBypassLcac : 1; /*RW:[10]*/ + CVI_U64 bitBypassMlsc : 1; /*RW:[11]*/ + CVI_U64 bitBypassCcm : 1; /*RW:[12]*/ + CVI_U64 bitBypassFusion : 1; /*RW:[13]*/ + CVI_U64 bitBypassDrc : 1; /*RW:[14]*/ + CVI_U64 bitBypassGamma : 1; /*RW:[15]*/ + CVI_U64 bitBypassDehaze : 1; /*RW:[16]*/ + CVI_U64 bitBypassClut : 1; /*RW:[17]*/ + CVI_U64 bitBypassCsc : 1; /*RW:[18]*/ + CVI_U64 bitBypassDci : 1; /*RW:[19]*/ + CVI_U64 bitBypassLdci : 1; /*RW:[20]*/ + CVI_U64 bitBypassCa : 1; /*RW:[21]*/ + CVI_U64 bitBypassPreyee : 1; /*RW:[22]*/ + CVI_U64 bitBypassMotion : 1; /*RW:[23]*/ + CVI_U64 bitBypass3dnr : 1; /*RW:[24]*/ + CVI_U64 bitBypassYnr : 1; /*RW:[25]*/ + CVI_U64 bitBypassCnr : 1; /*RW:[26]*/ + CVI_U64 bitBypassCac : 1; /*RW:[27]*/ + CVI_U64 bitBypassCa2 : 1; /*RW:[28]*/ + CVI_U64 bitBypassYee : 1; /*RW:[29]*/ + CVI_U64 bitBypassYcontrast : 1; /*RW:[30]*/ + CVI_U64 bitBypassMono : 1; /*RW:[31]*/ + CVI_U64 bitRsv : 32; /*H; [32:63] */ + }; +} ISP_MODULE_CTRL_U; + +typedef union _ISP_STATISTICS_CTRL_U { + CVI_U64 u64Key; + struct { + CVI_U64 bit1FEAeGloStat : 1; /* [0] */ + CVI_U64 bit1FEAeLocStat : 1; /* [1] */ + CVI_U64 bit1AwbStat1 : 1; /* [2] Awb Stat1 means global awb data. */ + CVI_U64 bit1AwbStat2 : 1; /* [3] Awb Stat2 means local awb data. */ + CVI_U64 bit1FEAfStat : 1; /* [4] */ + CVI_U64 bit14Rsv : 59; /* [5:63] */ + }; +} ISP_STATISTICS_CTRL_U; + +typedef enum _ISP_AE_STAT_MODE_E { + ISP_AE_MODE_BUTT, +} ISP_AE_STAT_MODE_E; + +typedef enum _ISP_AE_SWITCH_E { + ISP_AE_SWITCH_BUTT, +} ISP_AE_SWITCH_E; + +typedef enum _ISP_AE_FOUR_PLANE_MODE_E { + ISP_AE_FOUR_PLANE_MODE_BUTT, +} ISP_AE_FOUR_PLANE_MODE_E; + +typedef enum _ISP_AE_HIST_SKIP_E { + ISP_AE_HIST_SKIP_BUTT, +} ISP_AE_HIST_SKIP_E; + +typedef enum _ISP_AE_HIST_OFFSET_X_E { + ISP_AE_HIST_OFFSET_X_BUTT, +} ISP_AE_HIST_OFFSET_X_E; + +typedef enum _ISP_AE_HIST_OFFSET_Y_E { + ISP_AE_HIST_OFFSET_Y_BUTT, +} ISP_AE_HIST_OFFSET_Y_E; + +typedef enum _ISP_AE_ANTIFLICKER_FREQUENCE_E { + AE_FREQUENCE_60HZ = 0, + AE_FREQUENCE_50HZ, +} ISP_AE_ANTIFLICKER_FREQUENCE_E; + +typedef enum _ISP_AE_METER_MODE_E { + AE_METER_MULTI = 0, + AE_METER_AVERAGE, + AE_METER_HIGHLIGHT_PRIORITY, + AE_METER_FISHEYE, +} ISP_AE_METER_MODE_E; + +typedef enum _ISP_AE_IR_CUT_FORCE_STATUS { + AE_IR_CUT_FORCE_AUTO = 0, + AE_IR_CUT_FORCE_ON, + AE_IR_CUT_FORCE_OFF, +} ISP_AE_IR_CUT_FORCE_STATUS; + +typedef enum _ISP_AE_GAIN_TYPE_E { + AE_TYPE_GAIN = 0, + AE_TYPE_ISO = 1, + AE_TYPE_BUTT +} ISP_AE_GAIN_TYPE_E; + +typedef struct _ISP_AE_HIST_CONFIG_S { + ISP_AE_HIST_SKIP_E enHistSkipX; + ISP_AE_HIST_SKIP_E enHistSkipY; + ISP_AE_HIST_OFFSET_X_E enHistOffsetX; + ISP_AE_HIST_OFFSET_Y_E enHistOffsetY; +} ISP_AE_HIST_CONFIG_S; + +typedef struct _ISP_3AWIN_CONFIG_S { + CVI_U16 winWidth; + CVI_U16 winHeight; + CVI_U16 winXOffset; + CVI_U16 winYOffset; + CVI_U8 winXNum; + CVI_U8 winYNum; +} ISP_3AWIN_CONFIG_S; + +typedef struct _ISP_AE_CROP_S { + CVI_BOOL bEnable; /*RW; Range:[0x0,0x1]*/ + CVI_U16 u16X; /*RW; Range:[0x00,0x1FFF]*/ + CVI_U16 u16Y; /*RW; Range:[0x00,0x1FFF]*/ + CVI_U16 u16W; /*RW; Range:[0x00,0x1FFF]*/ + CVI_U16 u16H; /*RW; Range:[0x00,0x1FFF]*/ +} ISP_AE_CROP_S; + +typedef struct _ISP_AE_FACE_CROP_S { + CVI_BOOL bEnable; /*RW; Range:[0x0,0x1]*/ + CVI_U16 u16X; /*RW; Range:[0x00,0x1FFF]*/ + CVI_U16 u16Y; /*RW; Range:[0x00,0x1FFF]*/ + CVI_U8 u16W; /*RW; Range:[0x00,0xFF]*/ + CVI_U8 u16H; /*RW; Range:[0x00,0xFF]*/ +} ISP_AE_FACE_CROP_S; + +#define AE_WEIGHT_ZONE_ROW 15 +#define AE_WEIGHT_ZONE_COLUMN 17 +#define FACE_WIN_NUM 4 +typedef struct _ISP_AE_STATISTICS_CFG_S { + CVI_BOOL bHisStatisticsEnable; /*RW; Range:[0x0,0x1]*/ + ISP_AE_CROP_S stCrop[AE_MAX_NUM]; + ISP_AE_FACE_CROP_S stFaceCrop[FACE_WIN_NUM]; + CVI_BOOL fast2A_ena; /*RW; Range:[0x0,0x1]*/ + CVI_U8 fast2A_ae_low; /*RW; Range:[0x0,0xFF]*/ + CVI_U8 fast2A_ae_high; /*RW; Range:[0x0,0xFF]*/ + CVI_U16 fast2A_awb_top; /*RW; Range:[0x0,0xFFF]*/ + CVI_U16 fast2A_awb_bot; /*RW; Range:[0x0,0xFFF]*/ + CVI_U16 over_exp_thr; /*RW; Range:[0x0,0x3FF]*/ + CVI_U8 au8Weight[AE_WEIGHT_ZONE_ROW][AE_WEIGHT_ZONE_COLUMN]; /*RW; Range:[0x0, 0xF]*/ +} ISP_AE_STATISTICS_CFG_S; + +//----------------------------------------------------------------------------- +// IRIS +//----------------------------------------------------------------------------- +typedef enum _ISP_IRIS_TYPE_E { + ISP_IRIS_DC_TYPE = 0, + ISP_IRIS_P_TYPE, + ISP_IRIS_TYPE_BUTT, +} ISP_IRIS_TYPE_E; + +typedef enum _ISP_IRIS_F_NO_E { + ISP_IRIS_F_NO_32_0 = 0, + ISP_IRIS_F_NO_22_0, + ISP_IRIS_F_NO_16_0, + ISP_IRIS_F_NO_11_0, + ISP_IRIS_F_NO_8_0, + ISP_IRIS_F_NO_5_6, + ISP_IRIS_F_NO_4_0, + ISP_IRIS_F_NO_2_8, + ISP_IRIS_F_NO_2_0, + ISP_IRIS_F_NO_1_4, + ISP_IRIS_F_NO_1_0, + ISP_IRIS_F_NO_BUTT, +} ISP_IRIS_F_NO_E; + +typedef struct _ISP_DCIRIS_ATTR_S { + CVI_S32 s32Kp; /*RW; Range:[0x0, 0x186A0]*/ + CVI_S32 s32Ki; /*RW; Range:[0x0, 0x3E8]*/ + CVI_S32 s32Kd; /*RW; Range:[0x0, 0x186A0]*/ + CVI_U32 u32MinPwmDuty; /*RW; Range:[0x0, 0x3E8]*/ + CVI_U32 u32MaxPwmDuty; /*RW; Range:[0x0, 0x3E8]*/ + CVI_U32 u32OpenPwmDuty; /*RW; Range:[0x0, 0x3E8]*/ +} ISP_DCIRIS_ATTR_S; + +#define AI_MAX_STEP_FNO_NUM (1024) +typedef struct _ISP_PIRIS_ATTR_S { + CVI_BOOL bStepFNOTableChange; + CVI_BOOL bZeroIsMax; + CVI_U16 u16TotalStep; + CVI_U16 u16StepCount; + CVI_U16 au16StepFNOTable[AI_MAX_STEP_FNO_NUM]; + ISP_IRIS_F_NO_E enMaxIrisFNOTarget; + ISP_IRIS_F_NO_E enMinIrisFNOTarget; + CVI_BOOL bFNOExValid; + CVI_U32 u32MaxIrisFNOTarget; + CVI_U32 u32MinIrisFNOTarget; +} ISP_PIRIS_ATTR_S; + +typedef struct _ISP_MI_ATTR_S { + CVI_U32 u32HoldValue; /*RW; Range:[0x0, 0x3E8]*/ + ISP_IRIS_F_NO_E enIrisFNO; /*RW; Range:[0x0, 0xA]*/ +} ISP_MI_ATTR_S; + +typedef enum _ISP_IRIS_STATUS_E { + ISP_IRIS_KEEP = 0, + ISP_IRIS_OPEN = 1, + ISP_IRIS_CLOSE = 2, + ISP_IRIS_BUTT +} ISP_IRIS_STATUS_E; + +typedef struct _ISP_IRIS_ATTR_S { + CVI_BOOL bEnable; + ISP_OP_TYPE_E enOpType; + ISP_IRIS_TYPE_E enIrisType; + ISP_IRIS_STATUS_E enIrisStatus; + ISP_MI_ATTR_S stMIAttr; +} ISP_IRIS_ATTR_S; + +//----------------------------------------------------------------------------- +// AE Route +//----------------------------------------------------------------------------- +#define ISP_AE_ROUTE_MIN_NODES (1) +#define ISP_AE_ROUTE_MAX_NODES (16) +typedef struct _ISP_AE_ROUTE_NODE_S { + CVI_U32 u32IntTime; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32SysGain; /*RW; Range:[0x400, 0x7FFFFFFF]*/ + ISP_IRIS_F_NO_E enIrisFNO; /*RW; Range:[0x0, 0xA]*/ + CVI_U32 u32IrisFNOLin; /*RW; Range:[0x1, 0x400]*/ +} ISP_AE_ROUTE_NODE_S; + +typedef struct _ISP_AE_ROUTE_S { + CVI_U32 u32TotalNum; /*RW; Range:[0x1, 0x10]*/ + ISP_AE_ROUTE_NODE_S astRouteNode[ISP_AE_ROUTE_MAX_NODES]; +} ISP_AE_ROUTE_S; + +#define ISP_AE_ROUTE_EX_MIN_NODES (1) +#define ISP_AE_ROUTE_EX_MAX_NODES (16) +typedef struct _ISP_AE_ROUTE_EX_NODE_S { + CVI_U32 u32IntTime; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32Again; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32Dgain; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U32 u32IspDgain; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + ISP_IRIS_F_NO_E enIrisFNO; /*RW; Range:[0x0, 0xA]*/ + CVI_U32 u32IrisFNOLin; /*RW; Range:[0x0, 0x400]*/ +} ISP_AE_ROUTE_EX_NODE_S; + +typedef struct _ISP_AE_ROUTE_EX_S { + CVI_U32 u32TotalNum; /*RW; Range:[0x1, 0x10]*/ + ISP_AE_ROUTE_EX_NODE_S astRouteExNode[ISP_AE_ROUTE_EX_MAX_NODES]; +} ISP_AE_ROUTE_EX_S; + +//----------------------------------------------------------------------------- +// Exposure Info +//----------------------------------------------------------------------------- +typedef struct _ISP_EXP_INFO_S { + CVI_U32 u32ExpTime; /*R;*/ + CVI_U32 u32ShortExpTime; /*R;*/ + CVI_U32 u32MedianExpTime; /*R;*/ + CVI_U32 u32LongExpTime; /*R;*/ + CVI_U32 u32AGain; /*R;*/ + CVI_U32 u32DGain; /*R;*/ + CVI_U32 u32ISPDGain; /*R;*/ + CVI_U32 u32Exposure; /*R;*/ + CVI_BOOL bExposureIsMAX; /*R;*/ + CVI_S16 s16HistError; /*R;*/ + CVI_U32 au32AE_Hist256Value[HIST_NUM]; /*R;*/ + CVI_U8 u8AveLum; /*R;*/ + CVI_U32 u32LinesPer500ms; /*R;*/ + CVI_U32 u32PirisFNO; /*R;*/ + CVI_U32 u32Fps; /*R;*/ + CVI_U32 u32ISO; /*R;*/ + CVI_U32 u32ISOCalibrate; /*R;*/ + CVI_U32 u32RefExpRatio; /*R;*/ + CVI_U32 u32FirstStableTime; /*R;*/ + ISP_AE_ROUTE_S stAERoute; /*R;*/ + ISP_AE_ROUTE_EX_S stAERouteEx; /*R;*/ + CVI_U8 u8WDRShortAveLuma; /*R;*/ + CVI_U32 u32WDRExpRatio; /*R;*/ + CVI_U8 u8LEFrameAvgLuma; /*R;*/ + CVI_U8 u8SEFrameAvgLuma; /*R;*/ + CVI_FLOAT fLightValue; /*R;*/ + CVI_U32 u32AGainSF; /*R;*/ + CVI_U32 u32DGainSF; /*R;*/ + CVI_U32 u32ISPDGainSF; /*R;*/ + CVI_U32 u32ISOSF; /*R;*/ + ISP_AE_ROUTE_S stAERouteSF; /*R;*/ + ISP_AE_ROUTE_EX_S stAERouteSFEx; /*R;*/ + CVI_BOOL bGainSepStatus; /*R;*/ +} ISP_EXP_INFO_S; + +#define SMART_MAX_NUM (3) +typedef struct _ISP_SMART_ROI_S { + CVI_BOOL bEnable; + CVI_BOOL bAvailable; + CVI_U8 u8Luma; + CVI_U8 u8Num; + CVI_U16 u16PosX[SMART_MAX_NUM]; + CVI_U16 u16PosY[SMART_MAX_NUM]; + CVI_U16 u16Width[SMART_MAX_NUM]; + CVI_U16 u16Height[SMART_MAX_NUM]; + CVI_U16 u16FrameWidth; + CVI_U16 u16FrameHeight; +} ISP_SMART_ROI_S; + +#define SMART_CLASS_MAX (2) +typedef struct _ISP_SMART_INFO_S { + ISP_SMART_ROI_S stROI[SMART_CLASS_MAX]; +} ISP_SMART_INFO_S; + +//----------------------------------------------------------------------------- +// WDR Exposure Attr +//----------------------------------------------------------------------------- +#define WDR_EXP_RATIO_NUM (3) +typedef struct _ISP_WDR_EXPOSURE_ATTR_S { + ISP_OP_TYPE_E enExpRatioType; + CVI_U32 au32ExpRatio[WDR_EXP_RATIO_NUM]; /*RW; Range:[0x40, 0x4000]*/ + CVI_U32 u32ExpRatioMax; /*RW; Range:[0x40, 0x4000]*/ + CVI_U32 u32ExpRatioMin; /*RW; Range:[0x40, 0x4000]*/ + CVI_U16 u16Tolerance; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16Speed; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16RatioBias; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U8 u8SECompensation; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16SEHisThr; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16SEHisCntRatio1; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16SEHisCntRatio2; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16SEHis255CntThr1; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U16 u16SEHis255CntThr2; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U8 au8LEAdjustTargetMin[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 au8LEAdjustTargetMax[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 au8SEAdjustTargetMin[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 au8SEAdjustTargetMax[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 u8AdjustTargetDetectFrmNum; /*RW; Range:[0x0, 0xFF]*/ + CVI_U32 u32DiffPixelNum; /*RW; Range:[0x0, 0x7FFFFFFF]*/ + CVI_U16 u16LELowBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 u16LEHighBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 u16SELowBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 u16SEHighBinThr; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 au8FrameAvgLumaMin[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 au8FrameAvgLumaMax[LV_TOTAL_NUM]; /*RW; Range:[0x0, 0xFF]*/ +} ISP_WDR_EXPOSURE_ATTR_S; + +//----------------------------------------------------------------------------- +// Smart Exposure Attr +//----------------------------------------------------------------------------- +typedef struct _ISP_SMART_EXPOSURE_ATTR_S { + CVI_BOOL bEnable; + CVI_BOOL bIRMode; + ISP_OP_TYPE_E enSmartExpType; + CVI_U8 u8LumaTarget; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16ExpCoef; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16ExpCoefMax; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16ExpCoefMin; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U8 u8SmartInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 u8SmartSpeed; /*RW; Range:[0x1, 0xFF]*/ + CVI_U16 u16SmartDelayNum; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 u8Weight; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 u8NarrowRatio; /*RW; Range:[0x0, 0x64]*/ +} ISP_SMART_EXPOSURE_ATTR_S; + +typedef enum _ISP_IR_STATUS_E { + ISP_IR_STATUS_NORMAL = 0, + ISP_IR_STATUS_IR = 1, + ISP_IR_BUTT +} ISP_IR_STATUS_E; + +typedef enum _ISP_IR_SWITCH_STATUS_E { + ISP_IR_SWITCH_NONE = 0, + ISP_IR_SWITCH_TO_NORMAL = 1, + ISP_IR_SWITCH_TO_IR = 2, + ISP_IR_SWITCH_BUTT +} ISP_IR_SWITCH_STATUS_E; + +typedef struct _ISP_IR_AUTO_ATTR_S { + CVI_BOOL bEnable; + CVI_U32 u32Normal2IrIsoThr; + CVI_U32 u32Ir2NormalIsoThr; + CVI_U32 u32RGMax; + CVI_U32 u32RGMin; + CVI_U32 u32BGMax; + CVI_U32 u32BGMin; + ISP_IR_STATUS_E enIrStatus; + ISP_IR_SWITCH_STATUS_E enIrSwitch; +} ISP_IR_AUTO_ATTR_S; + +typedef struct _ISP_AWB_CROP_S { + CVI_BOOL bEnable; + CVI_U16 u16X; /*RW; Range:[0x0, 0x1000]*/ + CVI_U16 u16Y; /*RW; Range:[0x0, 0x1000]*/ + CVI_U16 u16W; /*RW; Range:[0x0, 0x1000]*/ + CVI_U16 u16H; /*RW; Range:[0x0, 0x1000]*/ +} ISP_AWB_CROP_S; + +typedef enum _ISP_AWB_SWITCH_E { + ISP_AWB_AFTER_DG, + ISP_AWB_AFTER_DRC, + ISP_AWB_SWITCH_BUTT, +} ISP_AWB_SWITCH_E; + +typedef enum _ISP_AWB_ALG_TYPE_E { + AWB_ALG_LOWCOST, + AWB_ALG_ADVANCE, + AWB_ALG_BUTT +} ISP_AWB_ALG_TYPE_E; + +typedef enum _ISP_AWB_MULTI_LS_TYPE_E { + AWB_MULTI_LS_SAT, + AWB_MULTI_LS_CCM, + AWB_MULTI_LS_BUTT +} ISP_AWB_MULTI_LS_TYPE_E; + +typedef enum _ISP_AWB_INDOOR_OUTDOOR_STATUS_E { + AWB_INDOOR_MODE, + AWB_OUTDOOR_MODE, + AWB_INDOOR_OUTDOOR_BUTT +} ISP_AWB_INDOOR_OUTDOOR_STATUS_E; + +typedef struct _ISP_WB_STATISTICS_CFG_S { + ISP_AWB_SWITCH_E enAWBSwitch; + CVI_U16 u16ZoneRow; /*RW; Range:[0x0, AWB_ZONE_ORIG_ROW]*/ + CVI_U16 u16ZoneCol; /*RW; Range:[0x0, AWB_ZONE_ORIG_COLUMN]*/ + CVI_U16 u16ZoneBin; + CVI_U16 au16HistBinThresh[4]; + CVI_U16 u16WhiteLevel; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 u16BlackLevel; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 u16CbMax; + CVI_U16 u16CbMin; + CVI_U16 u16CrMax; + CVI_U16 u16CrMin; + ISP_AWB_CROP_S stCrop; +} ISP_WB_STATISTICS_CFG_S; + +#define FIR_H_GAIN_NUM (5) +#define FIR_V_GAIN_NUM (3) +#define AF_GAMMA_NUM (256) +// AF window X region must between [0x8 ~ image xsize - 8]. +// Y region must between [0x2 ~ image ysize - 2]. +typedef struct _ISP_AF_CROP_S { + CVI_BOOL bEnable; + CVI_U16 u16X; /*RW; Range:[0x8, 0xFFF]*/ + CVI_U16 u16Y; /*RW; Range:[0x2, 0xFFF]*/ + CVI_U16 u16W; /*RW; Range:[0x110, 0xFFF]*/ + CVI_U16 u16H; /*RW; Range:[0xF0, 0xFFF]*/ +} ISP_AF_CROP_S; + +typedef struct _ISP_AF_RAW_CFG_S { + CVI_BOOL PreGammaEn; + CVI_U8 PreGammaTable[AF_GAMMA_NUM]; /*RW; Range:[0x0, 0xFF]*/ +} ISP_AF_RAW_CFG_S; + +typedef struct _ISP_AF_PRE_FILTER_CFG_S { + CVI_BOOL PreFltEn; +} ISP_AF_PRE_FILTER_CFG_S; + +typedef struct _ISP_AF_CFG_S { + CVI_BOOL bEnable; + CVI_U16 u16Hwnd; /*RW; Range:[0x2, 0x11]*/ + CVI_U16 u16Vwnd; /*RW; Range:[0x2, 0xF]*/ + CVI_U8 u8HFltShift; /*RW; Range:[0x0, 0xF]*/ + CVI_S8 s8HVFltLpCoeff[FIR_H_GAIN_NUM]; /*RW; Range:[0x0, 0x1F]*/ + ISP_AF_RAW_CFG_S stRawCfg; + ISP_AF_PRE_FILTER_CFG_S stPreFltCfg; + ISP_AF_CROP_S stCrop; + CVI_U8 H0FltCoring; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 H1FltCoring; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 V0FltCoring; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16HighLumaTh; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 u8ThLow; + CVI_U8 u8ThHigh; + CVI_U8 u8GainLow; /*RW; Range:[0x0, 0xFE]*/ + CVI_U8 u8GainHigh; /*RW; Range:[0x0, 0xFE]*/ + CVI_U8 u8SlopLow; /*RW; Range:[0x0, 0xF]*/ + CVI_U8 u8SlopHigh; /*RW; Range:[0x0, 0xF]*/ +} ISP_AF_CFG_S; + +typedef struct _ISP_AF_H_PARAM_S { + CVI_S8 s8HFltHpCoeff[FIR_H_GAIN_NUM]; /*RW; Range:[0x0, 0x1F]*/ +} ISP_AF_H_PARAM_S; + +typedef struct _ISP_AF_V_PARAM_S { + CVI_S8 s8VFltHpCoeff[FIR_V_GAIN_NUM]; /*RW; Range:[0x0, 0x1F]*/ +} ISP_AF_V_PARAM_S; + +typedef struct _ISP_FOCUS_STATISTICS_CFG_S { + ISP_AF_CFG_S stConfig; + ISP_AF_H_PARAM_S stHParam_FIR0; + ISP_AF_H_PARAM_S stHParam_FIR1; + ISP_AF_V_PARAM_S stVParam_FIR; +} ISP_FOCUS_STATISTICS_CFG_S; + +typedef struct _ISP_STATISTICS_CFG_S { + ISP_STATISTICS_CTRL_U unKey; + ISP_AE_STATISTICS_CFG_S stAECfg; + ISP_WB_STATISTICS_CFG_S stWBCfg; + ISP_FOCUS_STATISTICS_CFG_S stFocusCfg; +} ISP_STATISTICS_CFG_S; + +typedef struct _ISP_AE_GRID_INFO_S { + CVI_U16 au16GridYPos[AE_ZONE_ROW + 1]; + CVI_U16 au16GridXPos[AE_ZONE_COLUMN + 1]; + CVI_U8 u8Status; +} ISP_AE_GRID_INFO_S; + +typedef struct _ISP_AE_STATISTICS_S { + CVI_U32 au32FEHist1024Value[ISP_CHANNEL_MAX_NUM][AE_MAX_NUM][MAX_HIST_BINS]; + CVI_U16 au16FEGlobalAvg[ISP_CHANNEL_MAX_NUM][AE_MAX_NUM][BAYER_PATTERN_NUM]; + CVI_U16 au16FEZoneAvg[ISP_CHANNEL_MAX_NUM][AE_MAX_NUM][AE_ZONE_ROW][AE_ZONE_COLUMN][BAYER_PATTERN_NUM]; + CVI_U32 au32BEHist1024Value[MAX_HIST_BINS]; + CVI_U16 au16BEGlobalAvg[BAYER_PATTERN_NUM]; + CVI_U16 au16BEZoneAvg[AE_ZONE_ROW][AE_ZONE_COLUMN][BAYER_PATTERN_NUM]; + ISP_AE_GRID_INFO_S stFEGridInfo; +} ISP_AE_STATISTICS_S; + +typedef struct _ISP_AWB_GRID_INFO_S { + CVI_U16 au16GridYPos[AWB_ZONE_ORIG_ROW + 1]; + CVI_U16 au16GridXPos[AWB_ZONE_ORIG_COLUMN + 1]; + CVI_U8 u8Status; +} ISP_AWB_GRID_INFO_S; + +typedef struct _ISP_WB_STATISTICS_S { + CVI_U16 u16GlobalR; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 u16GlobalG; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 u16GlobalB; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 u16CountAll; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 au16ZoneAvgR[AWB_ZONE_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 au16ZoneAvgG[AWB_ZONE_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 au16ZoneAvgB[AWB_ZONE_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 au16ZoneCountAll[AWB_ZONE_NUM]; /*RW; Range:[0x0, 0xFFFF]*/ + ISP_AWB_GRID_INFO_S stGridInfo; +} ISP_WB_STATISTICS_S; + +typedef struct _ISP_FOCUS_ZONE_S { + CVI_U16 u16HlCnt; + CVI_U64 u64h0; + CVI_U64 u64h1; + CVI_U32 u32v0; +} ISP_FOCUS_ZONE_S; + +typedef struct _ISP_FE_FOCUS_STATISTICS_S { + ISP_FOCUS_ZONE_S stZoneMetrics[AF_ZONE_ROW][AF_ZONE_COLUMN]; /*R; The zoned measure of contrast*/ +} ISP_FE_FOCUS_STATISTICS_S; + +typedef struct _ISP_AF_STATISTICS_S { + ISP_FE_FOCUS_STATISTICS_S stFEAFStat; +} ISP_AF_STATISTICS_S; + +typedef struct _ISP_MG_STATISTICS_S { + CVI_U16 au16ZoneAvg[MG_ZONE_ROW][MG_ZONE_COLUMN][BAYER_PATTERN_NUM]; +} ISP_MG_STATISTICS_S; + +//----------------------------------------------------------------------------- +// WB Attr +//----------------------------------------------------------------------------- +#define AWB_CALIB_PTS_NUM (3) +#define AWB_CT_BIN_NUM (8) + +typedef struct _ISP_AWB_LightBox_Gain_S { + CVI_U16 u16AvgRgain; + CVI_U16 u16AvgBgain; +} ISP_AWB_LightBox_Gain_S; + +typedef struct _ISP_AWB_Calibration_Gain_S { + CVI_U16 u16AvgRgain[AWB_CALIB_PTS_NUM]; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16AvgBgain[AWB_CALIB_PTS_NUM]; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16ColorTemperature[AWB_CALIB_PTS_NUM]; /*RW; Range:[0x1F4, 0x7530]*/ +} ISP_AWB_Calibration_Gain_S; + +#define AWB_CALIB_PTS_NUM_EX (10) +typedef struct _ISP_AWB_Calibration_Gain_S_EX { + CVI_U16 u16AvgRgain[AWB_CALIB_PTS_NUM_EX]; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16AvgBgain[AWB_CALIB_PTS_NUM_EX]; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16ColorTemperature[AWB_CALIB_PTS_NUM_EX]; /*RW; Range:[0x1F4, 0x7530]*/ + CVI_U8 u8Weight[AWB_CALIB_PTS_NUM_EX]; +} ISP_AWB_Calibration_Gain_S_EX; + +#define AWB_LUM_HIST_NUM (6) +typedef struct _ISP_AWB_LUM_HISTGRAM_ATTR_S { + CVI_BOOL bEnable; + ISP_OP_TYPE_E enOpType; + CVI_U8 au8HistThresh[AWB_LUM_HIST_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 au16HistWt[AWB_LUM_HIST_NUM]; /*RW; Range:[0x0, 0x200]*/ +} ISP_AWB_LUM_HISTGRAM_ATTR_S; + +typedef struct _ISP_AWB_CT_LIMIT_ATTR_S { + CVI_BOOL bEnable; + ISP_OP_TYPE_E enOpType; + CVI_U16 u16HighRgLimit; /*RW; Range:[0x0, 0x3FFF] H temp,Rgain max*/ + CVI_U16 u16HighBgLimit; /*RW; Range:[0x0, 0x3FFF] H temp,Bgain max*/ + CVI_U16 u16LowRgLimit; /*RW; Range:[0x0, 0x3FFF] Low temp,Rgain min*/ + CVI_U16 u16LowBgLimit; /*RW; Range:[0x0, 0x3FFF] Low temp,Bgain min*/ +} ISP_AWB_CT_LIMIT_ATTR_S; + +typedef struct _ISP_AWB_CBCR_TRACK_ATTR_S { + CVI_BOOL bEnable; + CVI_U16 au16CrMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FFF] R/G at L tmp*/ + CVI_U16 au16CrMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FFF] R/G at H tmp*/ + CVI_U16 au16CbMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FFF] B/G at H tmp*/ + CVI_U16 au16CbMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FFF] B/G at L tmp*/ +} ISP_AWB_CBCR_TRACK_ATTR_S; + +typedef struct _ISP_AWB_IN_OUT_ATTR_S { + CVI_BOOL bEnable; + ISP_OP_TYPE_E enOpType; + ISP_AWB_INDOOR_OUTDOOR_STATUS_E enOutdoorStatus; + CVI_U32 u32OutThresh; /*RW; Range:[0x0, 0x14]*/ + CVI_U16 u16LowStart; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16LowStop; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16HighStart; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16HighStop; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_BOOL bGreenEnhanceEn; + CVI_U8 u8OutShiftLimit; +} ISP_AWB_IN_OUT_ATTR_S; + +typedef struct _ISP_AWB_EXTRA_LIGHTSOURCE_INFO_S { + CVI_U16 u16WhiteRgain; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16WhiteBgain; /*RW; Range:[0x0, 0x3FFF]*/ + CVI_U16 u16ExpQuant; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 u8LightStatus; /*RW; Range:[0x0, 0x2]*/ + CVI_U8 u8Radius; /*RW; Range:[0x1, 0xFF]*/ +} ISP_AWB_EXTRA_LIGHTSOURCE_INFO_S; + +struct ST_ISP_AWB_SKIN_S { + CVI_U8 u8Mode; + CVI_U16 u16RgainDiff; + CVI_U16 u16BgainDiff; + CVI_U8 u8Radius; +}; + +struct ST_ISP_AWB_SKY_S { + CVI_U8 u8Mode; + CVI_U8 u8ThrLv; + CVI_U16 u16Rgain; + CVI_U16 u16Bgain; + CVI_U16 u16MapRgain; + CVI_U16 u16MapBgain; + CVI_U8 u8Radius; +}; + +struct ST_ISP_AWB_GRASS_S { + CVI_U8 u8Mode; + CVI_U8 u8ThrLv; + CVI_U16 u16Rgain; + CVI_U16 u16Bgain; + CVI_U16 u16MapRgain; + CVI_U16 u16MapBgain; + CVI_U8 u8Radius; +}; + +enum ISP_AWB_TEMP_E { + ISP_AWB_COLORTEMP_LOW, + ISP_AWB_COLORTEMP_HIGH, + ISP_AWB_COLORTEMP_NUM +}; + +struct ST_ISP_AWB_SHIFT_LV_S { + CVI_U8 u8LowLvMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U16 u16LowLvCT[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16LowLvThr[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x0, 0xF]*/ + CVI_U16 u16LowLvRatio[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x64, 0x3E8]*/ + CVI_U8 u8HighLvMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U16 u16HighLvCT[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16HighLvThr[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x0, 0xF]*/ + CVI_U16 u16HighLvRatio[ISP_AWB_COLORTEMP_NUM]; /*RW; Range:[0x64, 0x3E8]*/ +}; + +struct ST_ISP_AWB_REGION_S { + CVI_U16 u16Region1; /*RW; Range:[0x1, 0xFFFF]*/ + CVI_U16 u16Region2; /*RW; Range:[0x1, 0xFFFF]*/ + CVI_U16 u16Region3; /*RW; Range:[0x1, 0xFFFF]*/ +}; + +#define AWB_CT_LV_NUM (4) +struct ST_ISP_AWB_CT_WGT_S { + CVI_BOOL bEnable; + CVI_U16 au16MultiCTBin[AWB_CT_BIN_NUM];//low to High ColorTemp + CVI_S8 s8ThrLv[AWB_CT_LV_NUM];//low to high light + CVI_U16 au16MultiCTWt[AWB_CT_LV_NUM][AWB_CT_BIN_NUM];//0~1024 +}; + +#define AWB_CURVE_PARA_NUM (6) +#define AWB_CURVE_BOUND_NUM (8) +#define AWB_LS_NUM (4) +#define AWB_ZONE_WT_W (32) +#define AWB_ZONE_WT_H (32) +#define AWB_ZONE_WT_NUM (AWB_ZONE_WT_W * AWB_ZONE_WT_H) + +typedef struct _ISP_AWB_ATTR_S { + CVI_BOOL bEnable; + CVI_U16 u16RefColorTemp; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 au16StaticWB[ISP_BAYER_CHN_NUM]; /*RW; Range:[0x0, 0xFFFF] G/R*/ + CVI_S32 as32CurvePara[AWB_CURVE_PARA_NUM]; + ISP_AWB_ALG_TYPE_E enAlgType; + CVI_U8 u8RGStrength; + CVI_U8 u8BGStrength; + CVI_U16 u16Speed; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 u16ZoneSel; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 u16HighColorTemp; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 u16LowColorTemp; /*RW; Range:[0x0, 0xFFFF]*/ + ISP_AWB_CT_LIMIT_ATTR_S stCTLimit; + CVI_BOOL bShiftLimitEn; + CVI_U16 u16ShiftLimit[AWB_CURVE_BOUND_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_BOOL bGainNormEn; + CVI_BOOL bNaturalCastEn; + ISP_AWB_CBCR_TRACK_ATTR_S stCbCrTrack;// R/G + ISP_AWB_LUM_HISTGRAM_ATTR_S stLumaHist; + CVI_BOOL bAWBZoneWtEn; + CVI_U8 au8ZoneWt[AWB_ZONE_WT_NUM]; +} ISP_AWB_ATTR_S; + +typedef struct _ISP_AWB_ATTR_EX_S { + CVI_U8 u8Tolerance; + CVI_U8 u8ZoneRadius; + CVI_U16 u16CurveLLimit; /*RW; Range:[0x0, 0x400]*/ + CVI_U16 u16CurveRLimit; /*RW; Range:[0x200, 0x3FFF]*/ + CVI_BOOL bExtraLightEn; + ISP_AWB_EXTRA_LIGHTSOURCE_INFO_S stLightInfo[AWB_LS_NUM]; + ISP_AWB_IN_OUT_ATTR_S stInOrOut; + CVI_BOOL bMultiLightSourceEn; + ISP_AWB_MULTI_LS_TYPE_E enMultiLSType; + CVI_U16 u16MultiLSScaler; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 au16MultiCTBin[AWB_CT_BIN_NUM]; /*RW; Range:[0x0, 0xFFFF]*/ + CVI_U16 au16MultiCTWt[AWB_CT_BIN_NUM]; /*RW; Range:[0x0, 0x400]*/ + CVI_BOOL bFineTunEn; + CVI_U8 u8FineTunStrength; + //AWB Algo 6 + struct ST_ISP_AWB_SKIN_S stSkin; + struct ST_ISP_AWB_SKY_S stSky; + struct ST_ISP_AWB_GRASS_S stGrass; + struct ST_ISP_AWB_CT_WGT_S stCtLv; + struct ST_ISP_AWB_SHIFT_LV_S stShiftLv; + struct ST_ISP_AWB_REGION_S stRegion; + CVI_U8 adjBgainMode; + CVI_U8 reserve[244]; +} ISP_AWB_ATTR_EX_S;//keep size to 512 bytes + +typedef struct _ISP_MWB_ATTR_S { + CVI_U16 u16Rgain; /*RW; Range:[0x1, 0x3FFF]*/ + CVI_U16 u16Grgain; /*RW; Range:[0x1, 0x3FFF]*/ + CVI_U16 u16Gbgain; /*RW; Range:[0x1, 0x3FFF]*/ + CVI_U16 u16Bgain; /*RW; Range:[0x1, 0x3FFF]*/ +} ISP_MWB_ATTR_S; + +typedef enum _ISP_AWB_ALG_E { + ALG_AWB, + ALG_AWB_SPEC, + ALG_BUTT +} ISP_AWB_ALG_E; + +typedef struct _ISP_WB_ATTR_S { + CVI_BOOL bByPass; + CVI_U8 u8AWBRunInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_OP_TYPE_E enOpType; + ISP_MWB_ATTR_S stManual; + ISP_AWB_ATTR_S stAuto; + ISP_AWB_ALG_E enAlgType; + CVI_U8 u8DebugMode; +} ISP_WB_ATTR_S; + +//----------------------------------------------------------------------------- +// WB Info +//----------------------------------------------------------------------------- +typedef struct _ISP_WB_INFO_S { + CVI_U16 u16Rgain; /*R; Range:[0x0, 0xFFF]*/ + CVI_U16 u16Grgain; /*R; Range:[0x0, 0xFFF]*/ + CVI_U16 u16Gbgain; /*R; Range:[0x0, 0xFFF]*/ + CVI_U16 u16Bgain; /*R; Range:[0x0, 0xFFF]*/ + CVI_U16 u16Saturation; /*R; Range:[0x0, 0xFF]*/ + CVI_U16 u16ColorTemp; /*R;*/ + CVI_U16 au16CCM[CCM_MATRIX_SIZE]; /*R;*/ + CVI_U16 u16LS0CT; /*R;*/ + CVI_U16 u16LS1CT; /*R;*/ + CVI_U16 u16LS0Area; /*R;*/ + CVI_U16 u16LS1Area; /*R;*/ + CVI_U8 u8MultiDegree; /*R;*/ + CVI_U16 u16ActiveShift; /*R;*/ + CVI_U32 u32FirstStableTime; /*R;*/ + ISP_AWB_INDOOR_OUTDOOR_STATUS_E enInOutStatus; /*R;*/ + CVI_S16 s16Bv; /*R;*/ +} ISP_WB_INFO_S; + +typedef struct _ISP_DCF_CONST_INFO_S { + CVI_U8 au8ImageDescription[DCF_DRSCRIPTION_LENGTH]; /*Describes image*/ + CVI_U8 au8Make[DCF_DRSCRIPTION_LENGTH]; /*Shows manufacturer of digital cameras*/ + CVI_U8 au8Model[DCF_DRSCRIPTION_LENGTH]; /*Shows model number of digital cameras*/ + CVI_U8 au8Software[DCF_DRSCRIPTION_LENGTH]; + /*Shows firmware (internal software of digital cameras) version number*/ + CVI_U8 u8LightSource; + CVI_U32 u32FocalLength; /*Focal length of lens used to take image. Unit is millimeter*/ + CVI_U8 u8SceneType; + /*Indicates the type of scene. Value '0x01' means that the image was directly photographed.*/ + CVI_U8 u8CustomRendered; + CVI_U8 u8FocalLengthIn35mmFilm; /*Indicates the equivalent focal length assuming a 35mm film camera, in mm*/ + CVI_U8 u8SceneCaptureType; + CVI_U8 u8GainControl; + CVI_U8 u8Contrast; + CVI_U8 u8Saturation; + CVI_U8 u8Sharpness; + CVI_U8 u8MeteringMode; +} ISP_DCF_CONST_INFO_S; + +typedef struct _ISP_DCF_UPDATE_INFO_S { + CVI_U32 u32ISOSpeedRatings; /*CCD sensitivity equivalent to Ag-Hr film speedrate*/ + CVI_U32 u32ExposureTime; /*Exposure time (reciprocal of shutter speed).*/ + CVI_U32 u32ExposureBiasValue; /*Exposure bias (compensation) value of taking picture*/ + CVI_U8 u8ExposureProgram; + CVI_U32 u32FNumber; /*The actual F-number (F-stop) of lens when the image was taken*/ + CVI_U32 u32MaxApertureValue; /*Maximum aperture value of lens.*/ + CVI_U8 u8ExposureMode; + CVI_U8 u8WhiteBalance; +} ISP_DCF_UPDATE_INFO_S; + +typedef struct _ISP_DCF_INFO_S { + ISP_DCF_CONST_INFO_S stIspDCFConstInfo; + ISP_DCF_UPDATE_INFO_S stIspDCFUpdateInfo; +} ISP_DCF_INFO_S; + +typedef struct _ISP_MOD_PARAM_S { + CVI_U32 u32IntBotHalf; +} ISP_MOD_PARAM_S; +#if 0 +typedef struct _ISP_MESHSHADING_MANUAL_ATTR_S { + CVI_U16 lsc_strength; + CVI_U16 lscr_strnth; + CVI_U16 lscr_gain_lut[32]; +} ISP_MESHSHADING_MANUAL_ATTR_S; + +typedef struct _ISP_MESHSHADING_AUTO_ATTR_S { + CVI_U16 lsc_strength[ISP_AUTO_ISO_STRENGTH_NUM]; + CVI_U16 lscr_strnth[ISP_AUTO_ISO_STRENGTH_NUM]; + CVI_U16 lscr_gain_lut[ISP_AUTO_ISO_STRENGTH_NUM][32]; +} ISP_MESHSHADING_AUTO_ATTR_S; + +typedef struct _ISP_MESHSHADING_ATTR_S { + CVI_BOOL lsc_enable; + CVI_U8 lsc_debug; + CVI_U8 lsc_xblknumm1; + CVI_U8 reg_lsc_yblknumm1; + CVI_U16 reg_lsc_xstep; + CVI_U16 reg_lsc_ystep; + CVI_U32 reg_lsc_imgx0; + CVI_U32 reg_lsc_imgy0; + CVI_U8 reg_lsc_gain_base; + CVI_U16 reg_lsc_scaler[256]; + CVI_BOOL lscr_enable; + CVI_U16 lscr_centerx; + CVI_U16 lscr_centery; + CVI_U16 lscr_norm; + ISP_OP_TYPE_E enOpType; + ISP_MESHSHADING_MANUAL_ATTR_S stManual; + ISP_MESHSHADING_AUTO_ATTR_S stAuto; +} ISP_MESHSHADING_ATTR_S; +#endif + +//----------------------------------------------------------------------------- +// Black Level Correction(BLC) +//----------------------------------------------------------------------------- +typedef struct _ISP_BLACK_LEVEL_MANUAL_ATTR_S { + CVI_U16 OffsetR; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGb; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetB; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetR2; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGr2; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGb2; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetB2; /*RW; Range:[0x0, 0xfff]*/ +} ISP_BLACK_LEVEL_MANUAL_ATTR_S; + +typedef struct _ISP_BLACK_LEVEL_AUTO_ATTR_S { + CVI_U16 OffsetR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGb[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetR2[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGr2[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetGb2[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 OffsetB2[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ +} ISP_BLACK_LEVEL_AUTO_ATTR_S; + +typedef struct _ISP_BLACK_LEVEL_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0x0, 0x1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_BLACK_LEVEL_MANUAL_ATTR_S stManual; + ISP_BLACK_LEVEL_AUTO_ATTR_S stAuto; +} ISP_BLACK_LEVEL_ATTR_S; + +//----------------------------------------------------------------------------- +// Dead pixel correction(DPC) +//----------------------------------------------------------------------------- +typedef struct _ISP_DP_DYNAMIC_MANUAL_ATTR_S { + CVI_U8 ClusterSize; /*RW; Range:[0x0, 0x3]*/ + CVI_U8 BrightDefectToNormalPixRatio; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 DarkDefectToNormalPixRatio; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreR; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreG; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreB; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreMinG; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreMinRB; /*RW; Range:[0x0, 0xff]*/ +} ISP_DP_DYNAMIC_MANUAL_ATTR_S; + +typedef struct _ISP_DP_DYNAMIC_AUTO_ATTR_S { + CVI_U8 ClusterSize[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3]*/ + CVI_U8 BrightDefectToNormalPixRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 DarkDefectToNormalPixRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreG[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreMinG[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FlatThreMinRB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_DP_DYNAMIC_AUTO_ATTR_S; + +typedef struct _ISP_DP_DYNAMIC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + CVI_U32 DynamicDPCEnable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_DP_DYNAMIC_MANUAL_ATTR_S stManual; + ISP_DP_DYNAMIC_AUTO_ATTR_S stAuto; +} ISP_DP_DYNAMIC_ATTR_S; + +#define STATIC_DP_COUNT_MAX (4096) +typedef struct _ISP_DP_STATIC_ATTR_S { + CVI_BOOL Enable; + CVI_U16 BrightCount; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DarkCount; /*RW; Range:[0x0, 0xfff]*/ + CVI_U32 BrightTable[STATIC_DP_COUNT_MAX]; /*RW; Range:[0x0, 0x1fff1fff]*/ + CVI_U32 DarkTable[STATIC_DP_COUNT_MAX]; /*RW; Range:[0x0, 0x1fff1fff]*/ + CVI_BOOL Show; // not support yet +} ISP_DP_STATIC_ATTR_S; + +typedef enum _CVI_STATIC_DP_TYPE_E { + ISP_STATIC_DP_BRIGHT, + ISP_STATIC_DP_DARK, +} CVI_STATIC_DP_TYPE_E; + +typedef enum _ISP_STATUS_E { + ISP_STATUS_INIT, + ISP_STATUS_SUCCESS, + ISP_STATUS_TIMEOUT, + ISP_STATUS_SIZE, +} ISP_STATUS_E; + +typedef struct _ISP_DP_CALIB_ATTR_S { + CVI_BOOL EnableDetect; + CVI_STATIC_DP_TYPE_E StaticDPType; + CVI_U8 StartThresh; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 CountMax; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 CountMin; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 TimeLimit; /*RW; Range:[0x0, 0x640]*/ + CVI_BOOL saveFileEn; + // read only + CVI_U32 Table[STATIC_DP_COUNT_MAX]; /*R; Range:[0x0, 0x1fff1fff]*/ + CVI_U8 FinishThresh; /*R; Range:[0x0, 0xff]*/ + CVI_U16 Count; /*R; Range:[0x0, 0xfff]*/ + ISP_STATUS_E Status; /*R; Range:[0x0, 0x2]*/ +} ISP_DP_CALIB_ATTR_S; + +//----------------------------------------------------------------------------- +// Crosstalk +//----------------------------------------------------------------------------- +typedef struct _ISP_CROSSTALK_MANUAL_ATTR_S { + CVI_U16 Strength; /*RW; Range:[0x0, 0x100]*/ +} ISP_CROSSTALK_MANUAL_ATTR_S; + +typedef struct _ISP_CROSSTALK_AUTO_ATTR_S { + CVI_U16 Strength[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ +} ISP_CROSSTALK_AUTO_ATTR_S; + +typedef struct _ISP_CROSSTALK_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U16 GrGbDiffThreSec[4]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 FlatThre[4]; /*RW; Range:[0x0, 0xfff]*/ + ISP_CROSSTALK_MANUAL_ATTR_S stManual; + ISP_CROSSTALK_AUTO_ATTR_S stAuto; +} ISP_CROSSTALK_ATTR_S; + +//----------------------------------------------------------------------------- +// Bayer domain noise reduction (BNR) +//----------------------------------------------------------------------------- +typedef struct _ISP_NR_MANUAL_ATTR_S { + CVI_U8 WindowType; /*RW; Range:[0x0, 0xb]*/ + CVI_U8 DetailSmoothMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 NoiseSuppressStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FilterType; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressStrMode; /*RW; Range:[0x0, 0xff]*/ +} ISP_NR_MANUAL_ATTR_S; + +typedef struct _ISP_NR_AUTO_ATTR_S { + CVI_U8 WindowType[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xb]*/ + CVI_U8 DetailSmoothMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 NoiseSuppressStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FilterType[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressStrMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_NR_AUTO_ATTR_S; + +typedef struct _ISP_NR_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL CoringParamEnable; + ISP_NR_MANUAL_ATTR_S stManual; + ISP_NR_AUTO_ATTR_S stAuto; +} ISP_NR_ATTR_S; + +typedef struct _ISP_NR_FILTER_MANUAL_ATTR_S { + CVI_U8 LumaStr[8]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VarThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 CoringWgtLF; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 CoringWgtHF; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 NonDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VhDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 AaDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U16 NpSlopeR; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeGr; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeGb; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeB; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrR; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrGr; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrGb; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrB; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetR; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetGr; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetGb; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetB; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetR; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetGr; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetGb; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetB; /*RW; Range:[0x0, 0x3ff]*/ +} ISP_NR_FILTER_MANUAL_ATTR_S; + +typedef struct _ISP_NR_FILTER_AUTO_ATTR_S { + CVI_U8 LumaStr[8][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VarThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 CoringWgtLF[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 CoringWgtHF[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 NonDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VhDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 AaDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U16 NpSlopeR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeGr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeGb[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpSlopeB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrGr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrGb[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLumaThrB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetGr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetGb[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpLowOffsetB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetR[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetGr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetGb[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ + CVI_U16 NpHighOffsetB[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ +} ISP_NR_FILTER_AUTO_ATTR_S; + +typedef enum _ISP_NR_TUNING_MODE_E { + NR_RESULT = 8, + NR_EDGE_SMOOTH_REGION = 11, +} ISP_NR_TUNING_MODE_E; + +typedef struct _ISP_NR_FILTER_ATTR_S { + CVI_U8 TuningMode; /*RW; Range:[0x0, 0xf]*/ + ISP_NR_FILTER_MANUAL_ATTR_S stManual; + ISP_NR_FILTER_AUTO_ATTR_S stAuto; +} ISP_NR_FILTER_ATTR_S; + +typedef struct _ISP_RLSC_MANUAL_ATTR_S { + CVI_U16 RadialStr; /*RW; Range:[0x0, 0xfff]*/ +} ISP_RLSC_MANUAL_ATTR_S; + +typedef struct _ISP_RLSC_AUTO_ATTR_S { + CVI_U16 RadialStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ +} ISP_RLSC_AUTO_ATTR_S; + +typedef struct _ISP_RLSC_ATTR_S { + CVI_BOOL RlscEnable; /*RW; Range:[0, 1]*/ + CVI_U16 RlscCenterX; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 RlscCenterY; /*RW; Range:[0x0, 0xfff]*/ + ISP_RLSC_MANUAL_ATTR_S stManual; + ISP_RLSC_AUTO_ATTR_S stAuto; +} ISP_RLSC_ATTR_S; + +//----------------------------------------------------------------------------- +// Demosaic +//----------------------------------------------------------------------------- +typedef struct _ISP_DEMOSAIC_MANUAL_ATTR_S { + CVI_U16 CoarseEdgeThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 CoarseStr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 FineEdgeThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 FineStr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 RbSigLumaThd; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 FilterMode; /*RW; Range:[0, 1]*/ +} ISP_DEMOSAIC_MANUAL_ATTR_S; + +typedef struct _ISP_DEMOSAIC_AUTO_ATTR_S { + CVI_U16 CoarseEdgeThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 CoarseStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 FineEdgeThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 FineStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 RbSigLumaThd[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 FilterMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0, 1]*/ +} ISP_DEMOSAIC_AUTO_ATTR_S; + +typedef struct _ISP_DEMOSAIC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + CVI_BOOL TuningMode; /*RW; Range:[0, 1]*/ + CVI_BOOL RbVtEnable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_DEMOSAIC_MANUAL_ATTR_S stManual; + ISP_DEMOSAIC_AUTO_ATTR_S stAuto; +} ISP_DEMOSAIC_ATTR_S; + +typedef struct _ISP_DEMOSAIC_DEMOIRE_MANUAL_ATTR_S { + CVI_U8 AntiFalseColorStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 SatGainIn[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 SatGainOut[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 ProtectColorGainIn[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 ProtectColorGainOut[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor1; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor2; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor3; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 EdgeGainIn[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 EdgeGainOut[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailGainIn[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailGaintOut[2]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailDetectLumaStr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 DetailSmoothStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 DetailWgtThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DetailWgtMin; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailWgtMax; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailWgtSlope; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 EdgeWgtNp; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 EdgeWgtThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 EdgeWgtMin; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 EdgeWgtMax; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 EdgeWgtSlope; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 DetailSmoothMapTh; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DetailSmoothMapMin; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailSmoothMapMax; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailSmoothMapSlope; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 LumaWgt; /*RW; Range:[0x0, 0xff]*/ +} ISP_DEMOSAIC_DEMOIRE_MANUAL_ATTR_S; + +typedef struct _ISP_DEMOSAIC_DEMOIRE_AUTO_ATTR_S { + CVI_U8 AntiFalseColorStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 SatGainIn[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 SatGainOut[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 ProtectColorGainIn[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 ProtectColorGainOut[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor2[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 UserDefineProtectColor3[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 EdgeGainIn[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 EdgeGainOut[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailGainIn[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailGaintOut[2][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DetailDetectLumaStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 DetailSmoothStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 DetailWgtThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DetailWgtMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailWgtMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailWgtSlope[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 EdgeWgtNp[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 EdgeWgtThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 EdgeWgtMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 EdgeWgtMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 EdgeWgtSlope[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 DetailSmoothMapTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DetailSmoothMapMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailSmoothMapMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DetailSmoothMapSlope[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x400]*/ + CVI_U8 LumaWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_DEMOSAIC_DEMOIRE_AUTO_ATTR_S; + +typedef struct _ISP_DEMOSAIC_DEMOIRE_ATTR_S { + CVI_BOOL AntiFalseColorEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL ProtectColorEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL DetailDetectLumaEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL DetailSmoothEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL DetailMode; /*RW; Range:[0, 1]*/ + ISP_DEMOSAIC_DEMOIRE_MANUAL_ATTR_S stManual; + ISP_DEMOSAIC_DEMOIRE_AUTO_ATTR_S stAuto; +} ISP_DEMOSAIC_DEMOIRE_ATTR_S; + +//----------------------------------------------------------------------------- +// RGBCAC +//----------------------------------------------------------------------------- +typedef struct _ISP_RGBCAC_MANUAL_ATTR_S { + CVI_U8 DePurpleStr0; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStr1; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 EdgeCoring; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 DePurpleCrStr0; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCbStr0; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCrStr1; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCbStr1; /*RW; Range:[0x0, 0x10]*/ +} ISP_RGBCAC_MANUAL_ATTR_S; + +typedef struct _ISP_RGBCAC_AUTO_ATTR_S { + CVI_U8 DePurpleStr0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStr1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 DePurpleCrStr0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCbStr0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCrStr1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleCbStr1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x10]*/ +} ISP_RGBCAC_AUTO_ATTR_S; + +typedef struct _ISP_RGBCAC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 PurpleDetRange0; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 PurpleDetRange1; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 DePurpleStrMax0; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStrMin0; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStrMax1; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStrMin1; /*RW; Range:[0x0, 0xFF]*/ + CVI_U16 EdgeGlobalGain; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 EdgeGainIn[3]; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 EdgeGainOut[3]; /*RW; Range:[0x0, 0x20]*/ + CVI_U16 LumaScale; /*RW; Range:[0x0, 0x7FF]*/ + CVI_U16 UserDefineLuma; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 LumaBlendWgt; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 LumaBlendWgt2; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 LumaBlendWgt3; /*RW; Range:[0x0, 0x20]*/ + CVI_U16 PurpleCb; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 PurpleCr; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 PurpleCb2; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 PurpleCr2; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 PurpleCb3; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 PurpleCr3; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 GreenCb; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 GreenCr; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0x2]*/ + ISP_RGBCAC_MANUAL_ATTR_S stManual; + ISP_RGBCAC_AUTO_ATTR_S stAuto; +} ISP_RGBCAC_ATTR_S; + +//----------------------------------------------------------------------------- +// LCAC +//----------------------------------------------------------------------------- +typedef struct _ISP_LCAC_GAUSS_COEF_ATTR_S { + CVI_U8 Wgt; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 Sigma; /*RW; Range:[0x1, 0xFF]*/ +} ISP_LCAC_GAUSS_COEF_ATTR_S; + +typedef struct _ISP_LCAC_MANUAL_ATTR_S { + CVI_U16 DePurpleCrGain; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 DePurpleCbGain; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 DePurepleCrWgt0; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCbWgt0; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCrWgt1; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCbWgt1; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 EdgeCoringBase; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeCoringAdv; /*RW; Range:[0x0, 0xFF]*/ +} ISP_LCAC_MANUAL_ATTR_S; + +typedef struct _ISP_LCAC_AUTO_ATTR_S { + CVI_U16 DePurpleCrGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 DePurpleCbGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U8 DePurepleCrWgt0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCbWgt0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCrWgt1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurepleCbWgt1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 EdgeCoringBase[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeCoringAdv[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ +} ISP_LCAC_AUTO_ATTR_S; + +typedef struct _ISP_LCAC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0x6]*/ + CVI_U8 DePurpleCrStr0; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurpleCbStr0; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurpleCrStr1; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurpleCbStr1; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 FilterTypeBase; /*RW; Range:[0x0, 0x3]*/ + CVI_U8 EdgeGainBase0; /*RW; Range:[0x0, 0x1C]*/ + CVI_U8 EdgeGainBase1; /*RW; Range:[0x0, 0x23]*/ + CVI_U8 EdgeStrWgtBase; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleStrMaxBase; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 DePurpleStrMinBase; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 FilterScaleAdv; /*RW; Range:[0x0, 0xF]*/ + CVI_U8 LumaWgt; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 FilterTypeAdv; /*RW; Range:[0x0, 0x5]*/ + CVI_U8 EdgeGainAdv0; /*RW; Range:[0x0, 0x1C]*/ + CVI_U8 EdgeGainAdv1; /*RW; Range:[0x0, 0x23]*/ + CVI_U8 EdgeStrWgtAdvG; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 DePurpleStrMaxAdv; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleStrMinAdv; /*RW; Range:[0x0, 0xFF]*/ + ISP_LCAC_GAUSS_COEF_ATTR_S EdgeWgtBase; + ISP_LCAC_GAUSS_COEF_ATTR_S EdgeWgtAdv; + ISP_LCAC_MANUAL_ATTR_S stManual; + ISP_LCAC_AUTO_ATTR_S stAuto; +} ISP_LCAC_ATTR_S; + +//----------------------------------------------------------------------------- +// Mesh lens shading correction (MLSC) +//----------------------------------------------------------------------------- +#define ISP_MLSC_COLOR_TEMPERATURE_SIZE (7) + +typedef struct _ISP_MESH_SHADING_MANUAL_ATTR_S { + CVI_U16 MeshStr; /*RW; Range:[0x0, 0xfff]*/ +} ISP_MESH_SHADING_MANUAL_ATTR_S; + +typedef struct _ISP_MESH_SHADING_AUTO_ATTR_S { + CVI_U16 MeshStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ +} ISP_MESH_SHADING_AUTO_ATTR_S; + +typedef struct _ISP_MESH_SHADING_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL OverflowProtection; + ISP_MESH_SHADING_MANUAL_ATTR_S stManual; + ISP_MESH_SHADING_AUTO_ATTR_S stAuto; +} ISP_MESH_SHADING_ATTR_S; + +typedef struct _ISP_MESH_SHADING_GAIN_LUT_S { + CVI_U16 ColorTemperature; /*RW; Range:[0x0, 0x7530]*/ + CVI_U16 RGain[CVI_ISP_LSC_GRID_POINTS]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 GGain[CVI_ISP_LSC_GRID_POINTS]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 BGain[CVI_ISP_LSC_GRID_POINTS]; /*RW; Range:[0x0, 0xfff]*/ +} ISP_MESH_SHADING_GAIN_LUT_S; + +typedef struct _ISP_MESH_SHADING_GAIN_LUT_ATTR_S { + CVI_U8 Size; /*RW; Range:[0x1, 0x7]*/ + ISP_MESH_SHADING_GAIN_LUT_S LscGainLut[ISP_MLSC_COLOR_TEMPERATURE_SIZE]; +} ISP_MESH_SHADING_GAIN_LUT_ATTR_S; + +//----------------------------------------------------------------------------- +// CCM +//----------------------------------------------------------------------------- +// Saturation +typedef struct _ISP_SATURATION_MANUAL_ATTR_S { + CVI_U8 Saturation; /*RW; Range:[0x0, 0xff]*/ +} ISP_SATURATION_MANUAL_ATTR_S; + +typedef struct _ISP_SATURATION_AUTO_ATTR_S { + CVI_U8 Saturation[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_SATURATION_AUTO_ATTR_S; + +typedef struct _ISP_SATURATION_ATTR_SS { + ISP_OP_TYPE_E enOpType; + ISP_SATURATION_MANUAL_ATTR_S stManual; + ISP_SATURATION_AUTO_ATTR_S stAuto; +} ISP_SATURATION_ATTR_S; + +// CCM Saturation +typedef struct _ISP_CCM_SATURATION_MANUAL_ATTR_S { + CVI_U8 SaturationLE; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SaturationSE; /*RW; Range:[0x0, 0xff]*/ +} ISP_CCM_SATURATION_MANUAL_ATTR_S; + +typedef struct _ISP_CCM_SATURATION_AUTO_ATTR_S { + CVI_U8 SaturationLE[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SaturationSE[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_CCM_SATURATION_AUTO_ATTR_S; + +typedef struct _ISP_CCM_SATURATION_ATTR_SS { + ISP_CCM_SATURATION_MANUAL_ATTR_S stManual; + ISP_CCM_SATURATION_AUTO_ATTR_S stAuto; +} ISP_CCM_SATURATION_ATTR_S; + +// CCM +typedef struct _ISP_COLORMATRIX_ATTR_S { + CVI_U16 ColorTemp; /*RW; Range:[0x1f4, 0x7530]*/ + CVI_S16 CCM[9]; /*RW; Range:[-0x2000, 0x1FFF]*/ +} ISP_COLORMATRIX_ATTR_S; + +typedef struct _ISP_CCM_MANUAL_ATTR_S { + CVI_BOOL SatEnable; /*RW; Range:[0, 1]*/ + CVI_S16 CCM[9]; /*RW; Range:[-0x2000, 0x1FFF]*/ +} ISP_CCM_MANUAL_ATTR_S; + +typedef struct _ISP_CCM_AUTO_ATTR_S { + CVI_BOOL ISOActEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL TempActEnable; /*RW; Range:[0, 1]*/ + CVI_U8 CCMTabNum; /*RW; Range:[0x3, 0x7]*/ + ISP_COLORMATRIX_ATTR_S CCMTab[7]; +} ISP_CCM_AUTO_ATTR_S; + +typedef struct _ISP_CCM_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_CCM_MANUAL_ATTR_S stManual; + ISP_CCM_AUTO_ATTR_S stAuto; +} ISP_CCM_ATTR_S; + +//----------------------------------------------------------------------------- +// CSC +//----------------------------------------------------------------------------- +typedef enum _ISP_CSC_COLORGAMUT { + ISP_CSC_COLORGAMUT_BT601, + ISP_CSC_COLORGAMUT_BT709, + ISP_CSC_COLORGAMUT_BT2020, + ISP_CSC_COLORGAMUT_USER, + ISP_CSC_COLORGAMUT_NUM +} ISP_CSC_COLORGAMUT; + +typedef struct _ISP_CSC_MATRX_S { + CVI_S16 userCscCoef[CSC_MATRIX_SIZE]; /*RW; Range:[-0x2000, 0x1FFF]*/ + CVI_S16 userCscOffset[CSC_OFFSET_SIZE]; /*RW; Range:[-0x100, 0xFF]*/ +} ISP_CSC_MATRX_S; + +typedef struct _ISP_CSC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_CSC_COLORGAMUT enColorGamut; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 Hue; /*RW; Range:[0, 0x64]*/ + CVI_U8 Luma; /*RW; Range:[0, 0x64]*/ + CVI_U8 Contrast; /*RW; Range:[0, 0x64]*/ + CVI_U8 Saturation; /*RW; Range:[0, 0x64]*/ + ISP_CSC_MATRX_S stUserMatrx; +} ISP_CSC_ATTR_S; + +//----------------------------------------------------------------------------- +// Color tone +//----------------------------------------------------------------------------- +typedef struct _ISP_COLOR_TONE_ATTR_S { + CVI_U16 u16RedCastGain; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 u16GreenCastGain; /*RW; Range:[0x0, 0xFFF]*/ + CVI_U16 u16BlueCastGain; /*RW; Range:[0x0, 0xFFF]*/ +} ISP_COLOR_TONE_ATTR_S; + +//----------------------------------------------------------------------------- +// FSWDR +//----------------------------------------------------------------------------- +typedef struct _ISP_FSWDR_MANUAL_ATTR_S { + CVI_U16 WDRCombineLongThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRCombineShortThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRCombineMaxWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRCombineMinWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 WDRMtIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 WDRMtOut[4]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRLongWgt; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 WDRCombineSNRAwareToleranceLevel; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MergeModeAlpha; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 WDRMotionCombineLongThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRMotionCombineShortThr; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRMotionCombineMinWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRMotionCombineMaxWeight; /*RW; Range:[0x0, 0x100]*/ +} ISP_FSWDR_MANUAL_ATTR_S; + +typedef struct _ISP_FSWDR_AUTO_ATTR_S { + CVI_U16 WDRCombineLongThr[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRCombineShortThr[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRCombineMaxWeight[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRCombineMinWeight[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 WDRMtIn[4][ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 WDRMtOut[4][ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRLongWgt[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 WDRCombineSNRAwareToleranceLevel[ISP_AUTO_LV_NUM]; + CVI_U8 MergeModeAlpha[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 WDRMotionCombineLongThr[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRMotionCombineShortThr[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 WDRMotionCombineMinWeight[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 WDRMotionCombineMaxWeight[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ +} ISP_FSWDR_AUTO_ATTR_S; + +typedef struct _ISP_FSWDR_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; /*RW; Range:[0, 1]*/ + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL MotionCompEnable; /*RW; Range:[0, 1]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0x9]*/ + CVI_BOOL WDRDCMode;; /*RW; Range:[0, 1]*/ + CVI_BOOL WDRLumaMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 WDRType; /*RW; Range:[0x0, 0x2]*/ + CVI_BOOL WDRCombineSNRAwareEn; /*RW; Range:[0, 1]*/ + CVI_U16 WDRCombineSNRAwareLowThr; /*RW; Range:[0x0, 0xffff]*/ + CVI_U16 WDRCombineSNRAwareHighThr; /*RW; Range:[0x0, 0xffff]*/ + CVI_U16 WDRCombineSNRAwareSmoothLevel; /*RW; Range:[0x1, 0xbb8]*/ + CVI_BOOL LocalToneRefinedDCMode; /*RW; Range:[0, 1]*/ + CVI_BOOL LocalToneRefinedLumaMode; /*RW; Range:[0, 1]*/ + CVI_U16 DarkToneRefinedThrL; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DarkToneRefinedThrH; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 DarkToneRefinedMaxWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DarkToneRefinedMinWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 BrightToneRefinedThrL; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 BrightToneRefinedThrH; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 BrightToneRefinedMaxWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 BrightToneRefinedMinWeight; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 WDRMotionFusionMode; /*RW; Range:[0x0, 0x3]*/ + CVI_BOOL MtMode; /*RW; Range:[0, 1]*/ + + ISP_FSWDR_MANUAL_ATTR_S stManual; + ISP_FSWDR_AUTO_ATTR_S stAuto; +} ISP_FSWDR_ATTR_S; + +//----------------------------------------------------------------------------- +// DRC +//----------------------------------------------------------------------------- +#define DRC_DARK_USER_DEFINE_NUM (257) +#define DRC_BRIGHT_USER_DEFINE_NUM (513) +#define DRC_GLOBAL_USER_DEFINE_NUM (1025) + +typedef struct _ISP_DRC_MANUAL_ATTR_S { + CVI_U32 TargetYScale; /*RW; Range:[0x0, 0x800]*/ + CVI_U16 HdrStrength; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 DEAdaptPercentile; /*RW; Range:[0x0, 0x19]*/ + CVI_U8 DEAdaptTargetGain; /*RW; Range:[0x1, 0x60]*/ + CVI_U8 DEAdaptGainUB; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 DEAdaptGainLB; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 BritInflectPtLuma; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BritContrastLow; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BritContrastHigh; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrTargetY; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SdrTargetYGain; /*RW; Range:[0x20, 0x80]*/ + CVI_U16 SdrGlobalToneStr; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 SdrDEAdaptPercentile; /*RW; Range:[0x0, 0x19]*/ + CVI_U8 SdrDEAdaptTargetGain; /*RW; Range:[0x1, 0x40]*/ + CVI_U8 SdrDEAdaptGainLB; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 SdrDEAdaptGainUB; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 SdrBritInflectPtLuma; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrBritContrastLow; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrBritContrastHigh; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 TotalGain; /*RW; Range:[0x0, 0xff]*/ +} ISP_DRC_MANUAL_ATTR_S; + +typedef struct _ISP_DRC_AUTO_ATTR_S { + CVI_U32 TargetYScale[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x800]*/ + CVI_U16 HdrStrength[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 DEAdaptPercentile[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x19]*/ + CVI_U8 DEAdaptTargetGain[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0x60]*/ + CVI_U8 DEAdaptGainUB[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 DEAdaptGainLB[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 BritInflectPtLuma[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BritContrastLow[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BritContrastHigh[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrTargetY[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SdrTargetYGain[ISP_AUTO_LV_NUM]; /*RW; Range:[0x20, 0x80]*/ + CVI_U16 SdrGlobalToneStr[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 SdrDEAdaptPercentile[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x19]*/ + CVI_U8 SdrDEAdaptTargetGain[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0x40]*/ + CVI_U8 SdrDEAdaptGainLB[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 SdrDEAdaptGainUB[ISP_AUTO_LV_NUM]; /*RW; Range:[0x1, 0xff]*/ + CVI_U8 SdrBritInflectPtLuma[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrBritContrastLow[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 SdrBritContrastHigh[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 TotalGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_DRC_AUTO_ATTR_S; + +typedef struct _ISP_DRC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0x7]*/ + CVI_BOOL LocalToneEn; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL LocalToneRefineEn; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 ToneCurveSelect; /*RW; Range:[0x0, 0x1]*/ + CVI_U16 CurveUserDefine[DRC_GLOBAL_USER_DEFINE_NUM]; /*RW; Range:[0x0, 0xffff]*/ + CVI_U16 DarkUserDefine[DRC_DARK_USER_DEFINE_NUM]; /*RW; Range:[0x0, 0xffff]*/ + CVI_U16 BrightUserDefine[DRC_BRIGHT_USER_DEFINE_NUM]; /*RW; Range:[0x0, 0xffff]*/ + CVI_U32 ToneCurveSmooth; /*RW; Range:[0x0, 0x1f4]*/ + CVI_U8 CoarseFltScale; /*RW; Range:[0x3, 0x6]*/ + CVI_U8 SdrTargetYGainMode; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL DetailEnhanceEn; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 LumaGain[33]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 DetailEnhanceMtIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DetailEnhanceMtOut[4]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 OverShootThd; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThd; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 UnderShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 OverShootThdMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThdMin; /*RW; Range:[0x0, 0xff]*/ + CVI_BOOL SoftClampEnable; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 SoftClampUB; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SoftClampLB; /*RW; Range:[0x0, 0xff]*/ + CVI_BOOL dbg_182x_sim_enable; /*RW; Range:[0, 1]*/ + CVI_U8 DarkMapStr; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 BritMapStr; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 SdrDarkMapStr; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 SdrBritMapStr; /*RW; Range:[0x0, 0x80]*/ + CVI_U32 DRCMu[32]; /*RW; Range:[0x0, 0x7fffffff]*/ + ISP_DRC_MANUAL_ATTR_S stManual; + ISP_DRC_AUTO_ATTR_S stAuto; +} ISP_DRC_ATTR_S; + +//----------------------------------------------------------------------------- +// Gamma +//----------------------------------------------------------------------------- +#define GAMMA_NODE_NUM (256) +#define GAMMA_MAX_INTERPOLATION_NUM (5) +typedef enum _ISP_GAMMA_CURVE_TYPE_E { + ISP_GAMMA_CURVE_DEFAULT, + ISP_GAMMA_CURVE_SRGB, + ISP_GAMMA_CURVE_USER_DEFINE, + ISP_GAMMA_CURVE_AUTO, + ISP_GAMMA_CURVE_MAX +} ISP_GAMMA_CURVE_TYPE_E; + +typedef struct _ISP_GAMMA_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U16 Table[GAMMA_NODE_NUM]; /*RW; Range:[0x0, 0xfff]*/ + ISP_GAMMA_CURVE_TYPE_E enCurveType; +} ISP_GAMMA_ATTR_S; + +typedef struct _ISP_GAMMA_CURVE_ATTR_S { + CVI_S16 Lv; /*RW; Range:[-0x1f4, 0x5dc]*/ + CVI_U16 Tbl[GAMMA_NODE_NUM]; /*RW; Range:[0x0, 0xfff]*/ +} ISP_GAMMA_CURVE_ATTR_S; + +typedef struct _ISP_AUTO_GAMMA_ATTR_S { + CVI_U8 GammaTabNum; /*RW; Range:[1, GAMMA_MAX_INTERPOLATION_NUM]*/ + ISP_GAMMA_CURVE_ATTR_S GammaTab[GAMMA_MAX_INTERPOLATION_NUM]; +} ISP_AUTO_GAMMA_ATTR_S; + +//----------------------------------------------------------------------------- +// Dehaze +//----------------------------------------------------------------------------- +typedef struct _ISP_DEHAZE_MANUAL_ATTR_S { + CVI_U8 Strength; /*RW; Range:[0x0, 0x64]*/ +} ISP_DEHAZE_MANUAL_ATTR_S; + +typedef struct _ISP_DEHAZE_AUTO_ATTR_S { + CVI_U8 Strength[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x64]*/ +} ISP_DEHAZE_AUTO_ATTR_S; + +typedef struct _ISP_DEHAZE_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U16 CumulativeThr; /*RW; Range:[0x0, 0x3fff]*/ + CVI_U16 MinTransMapValue; /*RW; Range:[0x0, 0x1fff]*/ + CVI_BOOL DehazeLumaEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL DehazeSkinEnable; /*RW; Range:[0, 1]*/ + CVI_U8 AirLightMixWgt; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 DehazeWgt; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 TransMapScale; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AirlightDiffWgt; /*RW; Range:[0x0, 0x10]*/ + CVI_U16 AirLightMax; /*RW; Range:[0x0, 0xfff]*/ + CVI_U16 AirLightMin; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 SkinCb; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SkinCr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 DehazeLumaCOEFFI; /*RW; Range:[0x0, 0x7d0]*/ + CVI_U16 DehazeSkinCOEFFI; /*RW; Range:[0x0, 0x7d0]*/ + CVI_U8 TransMapWgtWgt; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 TransMapWgtSigma; /*RW; Range:[0x0, 0xff]*/ + ISP_DEHAZE_MANUAL_ATTR_S stManual; + ISP_DEHAZE_AUTO_ATTR_S stAuto; +} ISP_DEHAZE_ATTR_S; + +//----------------------------------------------------------------------------- +// CLUT +//----------------------------------------------------------------------------- +#define ISP_CLUT_LUT_LENGTH (4913) +typedef struct _ISP_CLUT_ATTR_S { + CVI_BOOL Enable; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U16 ClutR[ISP_CLUT_LUT_LENGTH]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 ClutG[ISP_CLUT_LUT_LENGTH]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 ClutB[ISP_CLUT_LUT_LENGTH]; /*RW; Range:[0x0, 0x3FF]*/ +} ISP_CLUT_ATTR_S; + +typedef struct _ISP_CLUT_SATURATION_MANUAL_ATTR_S { + CVI_U16 SatIn[4]; /*RW; Range:[0x0, 0x2000]*/ + CVI_U16 SatOut[4]; /*RW; Range:[0x0, 0x2000]*/ +} ISP_CLUT_SATURATION_MANUAL_ATTR_S; + +typedef struct _ISP_CLUT_SATURATION_AUTO_ATTR_S { + CVI_U16 SatIn[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x2000]*/ + CVI_U16 SatOut[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x2000]*/ +} ISP_CLUT_SATURATION_AUTO_ATTR_S; + +typedef struct _ISP_CLUT_SATURATION_ATTR_S { + CVI_BOOL Enable; + ISP_OP_TYPE_E enOpType; + ISP_CLUT_SATURATION_MANUAL_ATTR_S stManual; + ISP_CLUT_SATURATION_AUTO_ATTR_S stAuto; +} ISP_CLUT_SATURATION_ATTR_S; + +//----------------------------------------------------------------------------- +// DCI +//----------------------------------------------------------------------------- +typedef struct _ISP_DCI_MANUAL_ATTR_S { + CVI_U16 ContrastGain; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 BlcThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 WhtThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 BlcCtrl; /*RW; Range:[0x0, 0x200]*/ + CVI_U16 WhtCtrl; /*RW; Range:[0x0, 0x200]*/ + CVI_U16 DciGainMax; /*RW; Range:[0x0, 0x100]*/ +} ISP_DCI_MANUAL_ATTR_S; + +typedef struct _ISP_DCI_AUTO_ATTR_S { + CVI_U16 ContrastGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 BlcThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 WhtThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 BlcCtrl[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x200]*/ + CVI_U16 WhtCtrl[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x200]*/ + CVI_U16 DciGainMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ +} ISP_DCI_AUTO_ATTR_S; + +typedef struct _ISP_DCI_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + CVI_BOOL TuningMode; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 Method; /*RW; Range:[0x0, 0x1]*/ + CVI_U32 Speed; /*RW; Range:[0x0, 0x1f4]*/ + CVI_U16 DciStrength; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 DciGamma; /*RW; Range:[0x64, 0x320]*/ + CVI_U8 DciOffset; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 ToleranceY; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 Sensitivity; /*RW; Range:[0x0, 0xff]*/ + ISP_DCI_MANUAL_ATTR_S stManual; + ISP_DCI_AUTO_ATTR_S stAuto; +} ISP_DCI_ATTR_S; + +//----------------------------------------------------------------------------- +// LDCI +//----------------------------------------------------------------------------- +typedef struct _ISP_LDCI_GAUSS_COEF_ATTR_S { + CVI_U8 Wgt; /*RW; Range:[0x1, 0x80]*/ + CVI_U8 Sigma; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 Mean; /*RW; Range:[0x1, 0xFF]*/ +} ISP_LDCI_GAUSS_COEF_ATTR_S; + +typedef struct _ISP_LDCI_MANUAL_ATTR_S { + CVI_U16 LdciStrength; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 LdciRange; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 TprCoef; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U8 EdgeCoring; /*RW; Range:[0x0, 0x0]*/ + CVI_U8 LumaWgtMax; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 LumaWgtMin; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 VarMapMax; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 VarMapMin; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 UvGainMax; /*RW; Range:[0x0, 0x7F]*/ + CVI_U8 UvGainMin; /*RW; Range:[0x0, 0x7F]*/ + CVI_U8 BrightContrastHigh; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BrightContrastLow; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 DarkContrastHigh; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 DarkContrastLow; /*RW; Range:[0x0, 0x64]*/ + ISP_LDCI_GAUSS_COEF_ATTR_S LumaPosWgt; +} ISP_LDCI_MANUAL_ATTR_S; + +typedef struct _ISP_LDCI_AUTO_ATTR_S { + CVI_U16 LdciStrength[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 LdciRange[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U16 TprCoef[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3FF]*/ + CVI_U8 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x0]*/ + CVI_U8 LumaWgtMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 LumaWgtMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 VarMapMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 VarMapMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 UvGainMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x7F]*/ + CVI_U8 UvGainMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x7F]*/ + CVI_U8 BrightContrastHigh[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 BrightContrastLow[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 DarkContrastHigh[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 DarkContrastLow[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x64]*/ + ISP_LDCI_GAUSS_COEF_ATTR_S LumaPosWgt[ISP_AUTO_ISO_STRENGTH_NUM]; +} ISP_LDCI_AUTO_ATTR_S; + +typedef struct _ISP_LDCI_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 GaussLPFSigma; /*RW; Range:[0x0, 0xFF]*/ + ISP_LDCI_MANUAL_ATTR_S stManual; + ISP_LDCI_AUTO_ATTR_S stAuto; +} ISP_LDCI_ATTR_S; + +//----------------------------------------------------------------------------- +// CA (CA/CP) +//----------------------------------------------------------------------------- +#define CA_LUT_NUM (256) + +typedef struct _ISP_CA_MANUAL_ATTR_S { + CVI_U16 ISORatio; /*RW; Range:[0x0, 0x7FF]*/ + CVI_U16 YRatioLut[CA_LUT_NUM]; /*RW; Range:[0x0, 0x7FF]*/ +} ISP_CA_MANUAL_ATTR_S; + +typedef struct _ISP_CA_AUTO_ATTR_S { + CVI_U16 ISORatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x7FF]*/ + CVI_U16 YRatioLut[CA_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x7FF]*/ +} ISP_CA_AUTO_ATTR_S; + +typedef struct _ISP_CA_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL CaCpMode; + CVI_U8 CPLutY[CA_LUT_NUM]; + CVI_U8 CPLutU[CA_LUT_NUM]; + CVI_U8 CPLutV[CA_LUT_NUM]; + ISP_CA_MANUAL_ATTR_S stManual; + ISP_CA_AUTO_ATTR_S stAuto; +} ISP_CA_ATTR_S; + +//----------------------------------------------------------------------------- +// CA2 +//----------------------------------------------------------------------------- +#define CA_LITE_NODE (6) + +typedef struct _ISP_CA2_MANUAL_ATTR_S { + CVI_U8 Ca2In[CA_LITE_NODE]; /*RW; Range:[0x0, 0xC0]*/ + CVI_U16 Ca2Out[CA_LITE_NODE]; /*RW; Range:[0x0, 0x7FF]*/ +} ISP_CA2_MANUAL_ATTR_S; + +typedef struct _ISP_CA2_AUTO_ATTR_S { + CVI_U8 Ca2In[CA_LITE_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xC0]*/ + CVI_U16 Ca2Out[CA_LITE_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x7FF]*/ +} ISP_CA2_AUTO_ATTR_S; + +typedef struct _ISP_CA2_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; + ISP_CA2_MANUAL_ATTR_S stManual; + ISP_CA2_AUTO_ATTR_S stAuto; +} ISP_CA2_ATTR_S; + +//----------------------------------------------------------------------------- +// PreSharpen +//----------------------------------------------------------------------------- +#define EE_LUT_NODE (4) +typedef struct _ISP_PRESHARPEN_MANUAL_ATTR_S { + CVI_U8 LumaAdpGain[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 DeltaAdpGain[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 LumaCorLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaCorLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorWgtLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorWgtLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 GlobalGain; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 UnderShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 HFBlendWgt; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MFBlendWgt; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThrMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThrMin; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 HueShtCtrl[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 SatShtGainIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SatShtGainOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ +} ISP_PRESHARPEN_MANUAL_ATTR_S; + +typedef struct _ISP_PRESHARPEN_AUTO_ATTR_S { + CVI_U8 LumaAdpGain[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 DeltaAdpGain[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 LumaCorLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaCorLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorWgtLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorWgtLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 GlobalGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 UnderShootGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 HFBlendWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MFBlendWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThrMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThrMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 HueShtCtrl[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 SatShtGainIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SatShtGainOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ +} ISP_PRESHARPEN_AUTO_ATTR_S; + +typedef struct _ISP_PRESHARPEN_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0x0, 0x1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0xb]*/ + CVI_BOOL LumaAdpGainEn; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL DeltaAdpGainEn; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL NoiseSuppressEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL SatShtCtrlEn; /*RW; Range:[0, 1]*/ + CVI_BOOL SoftClampEnable; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 SoftClampUB; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SoftClampLB; /*RW; Range:[0x0, 0xff]*/ + ISP_PRESHARPEN_MANUAL_ATTR_S stManual; + ISP_PRESHARPEN_AUTO_ATTR_S stAuto; +} ISP_PRESHARPEN_ATTR_S; + +//----------------------------------------------------------------------------- +// Time-domain noise reduction (TNR) +//----------------------------------------------------------------------------- +typedef struct _ISP_TNR_MANUAL_ATTR_S { + CVI_U8 TnrStrength0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MapThdLow0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MapThdHigh0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MtDetectUnit; /*RW; Range:[0x3, 0x5]*/ + CVI_S16 BrightnessNoiseLevelLE; /*RW; Range:[0x1, 0x3ff]*/ + CVI_S16 BrightnessNoiseLevelSE; /*RW; Range:[0x1, 0x3ff]*/ + CVI_BOOL MtFiltMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U16 MtFiltWgt; /*RW; Range:[0x0, 0x100]*/ +} ISP_TNR_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_AUTO_ATTR_S { + CVI_U8 TnrStrength0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MapThdLow0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MapThdHigh0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MtDetectUnit[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x3, 0x5]*/ + CVI_S16 BrightnessNoiseLevelLE[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x1, 0x3ff]*/ + CVI_S16 BrightnessNoiseLevelSE[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x1, 0x3ff]*/ + CVI_BOOL MtFiltMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1]*/ + CVI_U16 MtFiltWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ +} ISP_TNR_AUTO_ATTR_S; + +typedef struct _ISP_TNR_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL TuningMode; /*RW; Range:[0, 1]*/ + CVI_BOOL TnrMtMode; /*RW; Range:[0, 1]*/ + CVI_BOOL YnrCnrSharpenMtMode; /*RW; Range:[0, 1]*/ + CVI_BOOL PreSharpenMtMode; /*RW; Range:[0, 1]*/ + CVI_U8 ChromaScalingDownMode; /*RW; Range:[0, 3]*/ + CVI_BOOL CompGainEnable; /*RW; Range:[0x0, 0x1]*/ + ISP_TNR_MANUAL_ATTR_S stManual; + ISP_TNR_AUTO_ATTR_S stAuto; +} ISP_TNR_ATTR_S; + +typedef struct _ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S { + CVI_U8 RNoiseLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseLevel1; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseLevel1; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseLevel1; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseHiLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseHiLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseHiLevel0; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseHiLevel1; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseHiLevel1; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseHiLevel1; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_NOISE_MODEL_AUTO_ATTR_S { + CVI_U8 RNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 RNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 GNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 BNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_NOISE_MODEL_AUTO_ATTR_S; + +typedef struct _ISP_TNR_NOISE_MODEL_ATTR_S { + ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S stManual; + ISP_TNR_NOISE_MODEL_AUTO_ATTR_S stAuto; +} ISP_TNR_NOISE_MODEL_ATTR_S; + +typedef struct _ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S { + CVI_U16 L2mIn0[4]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 L2mOut0[4]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U16 L2mIn1[4]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 L2mOut1[4]; /*RW; Range:[0x0, 0x3f]*/ + CVI_BOOL MtLumaMode; /*RW; Range:[0x0, 0x1]*/ +} ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_LUMA_MOTION_AUTO_ATTR_S { + CVI_U16 L2mIn0[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 L2mOut0[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U16 L2mIn1[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xfff]*/ + CVI_U8 L2mOut1[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_BOOL MtLumaMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1]*/ +} ISP_TNR_LUMA_MOTION_AUTO_ATTR_S; + +typedef struct _ISP_TNR_LUMA_MOTION_ATTR_S { + ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S stManual; + ISP_TNR_LUMA_MOTION_AUTO_ATTR_S stAuto; +} ISP_TNR_LUMA_MOTION_ATTR_S; + +typedef struct _ISP_TNR_GHOST_MANUAL_ATTR_S { + CVI_U8 PrvMotion0[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 PrtctWgt0[4]; /*RW; Range:[0x0, 0xf]*/ + CVI_U8 MotionHistoryStr; /*RW; Range:[0x0, 0xf]*/ +} ISP_TNR_GHOST_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_GHOST_AUTO_ATTR_S { + CVI_U8 PrvMotion0[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 PrtctWgt0[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xf]*/ + CVI_U8 MotionHistoryStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xf]*/ +} ISP_TNR_GHOST_AUTO_ATTR_S; + +typedef struct _ISP_TNR_GHOST_ATTR_S { + ISP_TNR_GHOST_MANUAL_ATTR_S stManual; + ISP_TNR_GHOST_AUTO_ATTR_S stAuto; +} ISP_TNR_GHOST_ATTR_S; + +typedef struct _ISP_TNR_MT_PRT_MANUAL_ATTR_S { + CVI_U8 LowMtPrtLevelY; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtLevelU; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtLevelV; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInY[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInU[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInV[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutY[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutU[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutV[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtAdvIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtAdvOut[4]; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_MT_PRT_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_MT_PRT_AUTO_ATTR_S { + CVI_U8 LowMtPrtLevelY[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtLevelU[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtLevelV[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInY[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInU[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtInV[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutY[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutU[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtOutV[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtAdvIn[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtAdvOut[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_MT_PRT_AUTO_ATTR_S; + +typedef struct _ISP_TNR_MT_PRT_ATTR_S { + CVI_BOOL LowMtPrtEn; /*RW; Range:[0, 1]*/ + CVI_BOOL LowMtLowPassEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL LowMtPrtAdvLumaEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL LowMtPrtAdvMode; /*RW; Range:[0, 1]*/ + CVI_U8 LowMtPrtAdvMax; /*RW; Range:[0, 0xff]*/ + CVI_BOOL LowMtPrtAdvDebugMode; /*RW; Range:[0, 1]*/ + CVI_U8 LowMtPrtAdvDebugIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LowMtPrtAdvDebugOut[4]; /*RW; Range:[0x0, 0xff]*/ + ISP_TNR_MT_PRT_MANUAL_ATTR_S stManual; + ISP_TNR_MT_PRT_AUTO_ATTR_S stAuto; +} ISP_TNR_MT_PRT_ATTR_S; + +typedef struct _ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S { + CVI_U8 AdaptNrLumaStrIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrLumaStrOut[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrChromaStrIn[4]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrChromaStrOut[4]; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S; + +typedef struct _ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S { + CVI_U8 AdaptNrLumaStrIn[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrLumaStrOut[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrChromaStrIn[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 AdaptNrChromaStrOut[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S; + +typedef struct _ISP_TNR_MOTION_ADAP_ATTR_S { + ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S stManual; + ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S stAuto; +} ISP_TNR_MOTION_ADAPT_ATTR_S; + +//----------------------------------------------------------------------------- +// Y domain noise reduction (YNR) +//----------------------------------------------------------------------------- +typedef struct _ISP_YNR_MANUAL_ATTR_S { + CVI_U8 WindowType; /*RW; Range:[0x0, 0xb]*/ + CVI_U8 DetailSmoothMode; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 NoiseSuppressStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FilterType; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringBase; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringAdv; /*RW; Range:[0x0, 0xff]*/ +} ISP_YNR_MANUAL_ATTR_S; + +typedef struct _ISP_YNR_AUTO_ATTR_S { + CVI_U8 WindowType[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xb]*/ + CVI_U8 DetailSmoothMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 NoiseSuppressStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 FilterType[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringBase[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseCoringAdv[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_YNR_AUTO_ATTR_S; + +typedef enum _ISP_YNR_TUNING_MODE_E { + YNR_RESULT = 8, + YNR_EDGE_SMOOTH_REGION = 11, +} ISP_YNR_TUNING_MODE_E; + +typedef struct _ISP_YNR_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_BOOL CoringParamEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL FiltModeEnable; /*RW; Range:[0, 1]*/ + CVI_U16 FiltMode; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0xf]*/ + ISP_YNR_MANUAL_ATTR_S stManual; + ISP_YNR_AUTO_ATTR_S stAuto; +} ISP_YNR_ATTR_S; + +typedef struct _ISP_YNR_MOTION_NR_MANUAL_ATTR_S { + CVI_U8 MotionCoringWgtMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 MotionYnrLut[16]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 MotionCoringWgt[16]; /*RW; Range:[0x0, 0x100]*/ +} ISP_YNR_MOTION_NR_MANUAL_ATTR_S; + +typedef struct _ISP_YNR_MOTION_NR_AUTO_ATTR_S { + CVI_U8 MotionCoringWgtMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 MotionYnrLut[16][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 MotionCoringWgt[16][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ +} ISP_YNR_MOTION_NR_AUTO_ATTR_S; + +typedef struct _ISP_YNR_MOTION_NR_ATTR_S { + ISP_YNR_MOTION_NR_MANUAL_ATTR_S stManual; + ISP_YNR_MOTION_NR_AUTO_ATTR_S stAuto; +} ISP_YNR_MOTION_NR_ATTR_S; + +typedef struct _ISP_YNR_FILTER_MANUAL_ATTR_S { + CVI_U8 VarThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 CoringWgtLF; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 CoringWgtHF; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 NonDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VhDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 AaDirFiltStr; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 CoringWgtMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 FilterMode; /*RW; Range:[0x0, 0x3ff]*/ +} ISP_YNR_FILTER_MANUAL_ATTR_S; + +typedef struct _ISP_YNR_FILTER_AUTO_ATTR_S { + CVI_U8 VarThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 CoringWgtLF[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U16 CoringWgtHF[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x100]*/ + CVI_U8 NonDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 VhDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 AaDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 CoringWgtMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U16 FilterMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3ff]*/ +} ISP_YNR_FILTER_AUTO_ATTR_S; + +typedef struct _ISP_YNR_FILTER_ATTR_S { + ISP_YNR_FILTER_MANUAL_ATTR_S stManual; + ISP_YNR_FILTER_AUTO_ATTR_S stAuto; +} ISP_YNR_FILTER_ATTR_S; + +//----------------------------------------------------------------------------- +// UV domain noise reduction (CNR) +//----------------------------------------------------------------------------- +#define CNR_MOTION_LUT_NUM (16) + +typedef struct _ISP_CNR_MANUAL_ATTR_S { + CVI_U8 CnrStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressGain; /*RW; Range:[0x1, 0x8]*/ + CVI_U8 FilterType; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 MotionNrStr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaWgt; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DetailSmoothMode; /*RW; Range:[0x0, 0x1]*/ +} ISP_CNR_MANUAL_ATTR_S; + +typedef struct _ISP_CNR_AUTO_ATTR_S { + CVI_U8 CnrStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 NoiseSuppressGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x1, 0x8]*/ + CVI_U8 FilterType[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1f]*/ + CVI_U8 MotionNrStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DetailSmoothMode[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x1]*/ +} ISP_CNR_AUTO_ATTR_S; + +typedef struct _ISP_CNR_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_CNR_MANUAL_ATTR_S stManual; + ISP_CNR_AUTO_ATTR_S stAuto; +} ISP_CNR_ATTR_S; + +typedef struct _ISP_CNR_MOTION_NR_MANUAL_ATTR_S { + CVI_U8 MotionCnrCoringLut[CNR_MOTION_LUT_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCnrStrLut[CNR_MOTION_LUT_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_CNR_MOTION_NR_MANUAL_ATTR_S; + +typedef struct _ISP_CNR_MOTION_NR_AUTO_ATTR_S { + CVI_U8 MotionCnrCoringLut[CNR_MOTION_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCnrStrLut[CNR_MOTION_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ +} ISP_CNR_MOTION_NR_AUTO_ATTR_S; + +typedef struct _ISP_CNR_MOTION_NR_ATTR_S { + CVI_BOOL MotionCnrEnable; /*RW; Range:[0, 1]*/ + ISP_CNR_MOTION_NR_MANUAL_ATTR_S stManual; + ISP_CNR_MOTION_NR_AUTO_ATTR_S stAuto; +} ISP_CNR_MOTION_NR_ATTR_S; + +//----------------------------------------------------------------------------- +// CAC +//----------------------------------------------------------------------------- +typedef struct _ISP_CAC_MANUAL_ATTR_S { + CVI_U8 DePurpleStr; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeGlobalGain; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeCoring; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeStrMin; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeStrMax; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleCbStr; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DePurpleCrStr; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DePurpleStrMaxRatio; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurpleStrMinRatio; /*RW; Range:[0x0, 0x40]*/ +} ISP_CAC_MANUAL_ATTR_S; + +typedef struct _ISP_CAC_AUTO_ATTR_S { + CVI_U8 DePurpleStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeGlobalGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeStrMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 EdgeStrMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 DePurpleCbStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DePurpleCrStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x8]*/ + CVI_U8 DePurpleStrMaxRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ + CVI_U8 DePurpleStrMinRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x40]*/ +} ISP_CAC_AUTO_ATTR_S; + +typedef struct _ISP_CAC_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 PurpleDetRange; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 PurpleCb; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 PurpleCr; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 PurpleCb2; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 PurpleCr2; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 PurpleCb3; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 PurpleCr3; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 GreenCb; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 GreenCr; /*RW; Range:[0x0, 0xFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0x2]*/ + CVI_U8 EdgeGainIn[3]; /*RW; Range:[0x0, 0x10]*/ + CVI_U8 EdgeGainOut[3]; /*RW; Range:[0x0, 0x20]*/ + ISP_CAC_MANUAL_ATTR_S stManual; + ISP_CAC_AUTO_ATTR_S stAuto; +} ISP_CAC_ATTR_S; + +//----------------------------------------------------------------------------- +// Sharpen +//----------------------------------------------------------------------------- +#define EE_LUT_NODE (4) + +typedef struct _ISP_SHARPEN_MANUAL_ATTR_S { + CVI_U8 LumaAdpGain[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 DeltaAdpGain[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 LumaCorLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaCorLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorWgtLutIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorWgtLutOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 GlobalGain; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 UnderShootGain; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 HFBlendWgt; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MFBlendWgt; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThr; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThrMax; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThrMin; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 HueShtCtrl[SHARPEN_LUT_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 SatShtGainIn[EE_LUT_NODE]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SatShtGainOut[EE_LUT_NODE]; /*RW; Range:[0x0, 0x80]*/ +} ISP_SHARPEN_MANUAL_ATTR_S; + +typedef struct _ISP_SHARPEN_AUTO_ATTR_S { + CVI_U8 LumaAdpGain[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 DeltaAdpGain[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 LumaCorLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 LumaCorLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x20]*/ + CVI_U8 MotionCorWgtLutIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionCorWgtLutOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 GlobalGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 UnderShootGain[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 HFBlendWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MFBlendWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 OverShootThrMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 UnderShootThrMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 MotionShtGainOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ + CVI_U8 HueShtCtrl[SHARPEN_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x3f]*/ + CVI_U8 SatShtGainIn[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SatShtGainOut[EE_LUT_NODE][ISP_AUTO_ISO_STRENGTH_NUM]; /*RW; Range:[0x0, 0x80]*/ +} ISP_SHARPEN_AUTO_ATTR_S; + +typedef struct _ISP_SHARPEN_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0x0, 0x1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 TuningMode; /*RW; Range:[0x0, 0xb]*/ + CVI_BOOL LumaAdpGainEn; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL DeltaAdpGainEn; /*RW; Range:[0x0, 0x1]*/ + CVI_BOOL NoiseSuppressEnable; /*RW; Range:[0, 1]*/ + CVI_BOOL SatShtCtrlEn; /*RW; Range:[0, 1]*/ + CVI_BOOL SoftClampEnable; /*RW; Range:[0x0, 0x1]*/ + CVI_U8 SoftClampUB; /*RW; Range:[0x0, 0xff]*/ + CVI_U8 SoftClampLB; /*RW; Range:[0x0, 0xff]*/ + ISP_SHARPEN_MANUAL_ATTR_S stManual; + ISP_SHARPEN_AUTO_ATTR_S stAuto; +} ISP_SHARPEN_ATTR_S; + +//----------------------------------------------------------------------------- +// Y Contrast +//----------------------------------------------------------------------------- +typedef struct _ISP_YCONTRAST_MANUAL_ATTR_S { + CVI_U8 ContrastLow; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 ContrastHigh; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 CenterLuma; /*RW; Range:[0x0, 0x40]*/ +} ISP_YCONTRAST_MANUAL_ATTR_S; + +typedef struct _ISP_YCONTRAST_AUTO_ATTR_S { + CVI_U8 ContrastLow[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 ContrastHigh[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x64]*/ + CVI_U8 CenterLuma[ISP_AUTO_LV_NUM]; /*RW; Range:[0x0, 0x40]*/ +} ISP_YCONTRAST_AUTO_ATTR_S; + +typedef struct _ISP_YCONTRAST_ATTR_S { + CVI_BOOL Enable; /*RW; Range:[0, 1]*/ + ISP_OP_TYPE_E enOpType; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + ISP_YCONTRAST_MANUAL_ATTR_S stManual; + ISP_YCONTRAST_AUTO_ATTR_S stAuto; +} ISP_YCONTRAST_ATTR_S; + +//----------------------------------------------------------------------------- +// Mono +//----------------------------------------------------------------------------- +typedef struct _ISP_MONO_ATTR_S { + CVI_BOOL Enable; + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ +} ISP_MONO_ATTR_S; + +//----------------------------------------------------------------------------- +// DIS +//----------------------------------------------------------------------------- +typedef enum _ISP_DIS_MODE_E { + DIS_MODE_2_DOF_GME = 0, /* Only use with GME in 2 dof */ + DIS_MODE_DEBUG, + DIS_MODE_DOF_BUTT, +} DIS_MODE_E; + +typedef enum _ISP_DIS_MOTION_LEVEL_E { + DIS_MOTION_LEVEL_NORMAL = 1, + DIS_MOTION_LEVEL_BUTT +} DIS_MOTION_LEVEL_E; + +typedef struct _ISP_DIS_CONFIG_S { + DIS_MODE_E mode; + DIS_MOTION_LEVEL_E motionLevel; + CVI_U32 cropRatio; /*RW; Range:[0x32, 0x62] */ +} ISP_DIS_CONFIG_S; + +typedef struct _ISP_DIS_ATTR_S { + CVI_BOOL enable; + CVI_U32 movingSubjectLevel; /*RW; Range:[0x0, 0x6] */ + CVI_U32 horizontalLimit; /*RW; Range:[0x0, 0x3E8] */ + CVI_U32 verticalLimit; /*RW; Range:[0x0, 0x3E8] */ + CVI_BOOL stillCrop; +} ISP_DIS_ATTR_S; + +typedef struct _ISP_INNER_STATE_INFO_S { + CVI_U32 blcOffsetR; + CVI_U32 blcOffsetGr; + CVI_U32 blcOffsetGb; + CVI_U32 blcOffsetB; + CVI_U32 blcGainR; + CVI_U32 blcGainGr; + CVI_U32 blcGainGb; + CVI_U32 blcGainB; + CVI_S32 ccm[9]; + CVI_U16 drcGlobalToneBinNum; + CVI_U16 drcGlobalToneBinSEStep; + CVI_U32 drcGlobalTone[LTM_GLOBAL_CURVE_NODE_NUM]; + CVI_U32 drcDarkTone[LTM_DARK_CURVE_NODE_NUM]; + CVI_U32 drcBrightTone[LTM_BRIGHT_CURVE_NODE_NUM]; + CVI_BOOL bWDRSwitchFinish; + // For 2TO1/3TO1/4TO1 use. + CVI_U32 u32WDRExpRatioActual[ISP_WDR_FRAME_IDX_SIZE]; + ISP_MESH_SHADING_GAIN_LUT_S mlscGainTable; +} ISP_INNER_STATE_INFO_S; + +typedef struct _ISP_VC_ATTR_S { + CVI_U8 UpdateInterval; /*RW; Range:[0x1, 0xFF]*/ + CVI_U8 MotionThreshold; /*RW; Range:[0x0, 0xff] */ +} ISP_VC_ATTR_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_COMM_ISP_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_sns.h b/freertos/cvitek/install/include/common/cvi_comm_sns.h new file mode 100644 index 000000000..885e92dba --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_sns.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_common_sns.h + * Description: + */ + +#ifndef _CVI_COMM_SNS_H_ +#define _CVI_COMM_SNS_H_ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif + +#include +#include +#include "cvi_debug.h" +#include "cvi_comm_isp.h" + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ + +#define NOISE_PROFILE_CHANNEL_NUM 4 +#define NOISE_PROFILE_LEVEL_NUM 2 +#define NOISE_PROFILE_ISO_NUM 16 +#define USE_USER_SEN_DRIVER 1 + + +typedef struct _ISP_CMOS_SENSOR_IMAGE_MODE_S { + CVI_U16 u16Width; + CVI_U16 u16Height; + CVI_FLOAT f32Fps; + CVI_U8 u8SnsMode; +} ISP_CMOS_SENSOR_IMAGE_MODE_S; + +typedef struct _ISP_CMOS_BLACK_LEVEL_S { + CVI_BOOL bUpdate; + ISP_BLACK_LEVEL_ATTR_S blcAttr; +} ISP_CMOS_BLACK_LEVEL_S; + +typedef struct _ISP_SNS_ATTR_INFO_S { + CVI_U32 eSensorId; +} ISP_SNS_ATTR_INFO_S; + +typedef struct cviISP_CMOS_NOISE_CALIBRATION_S { + CVI_FLOAT CalibrationCoef[NOISE_PROFILE_ISO_NUM][NOISE_PROFILE_CHANNEL_NUM][NOISE_PROFILE_LEVEL_NUM]; +} ISP_CMOS_NOISE_CALIBRATION_S; + +typedef struct _ISP_CMOS_DEFAULT_S { + ISP_CMOS_NOISE_CALIBRATION_S stNoiseCalibration; +} ISP_CMOS_DEFAULT_S; + +typedef struct _ISP_SENSOR_EXP_FUNC_S { + CVI_VOID (*pfn_cmos_sensor_init)(VI_PIPE ViPipe); + CVI_VOID (*pfn_cmos_sensor_exit)(VI_PIPE ViPipe); + CVI_VOID (*pfn_cmos_sensor_global_init)(VI_PIPE ViPipe); + CVI_S32 (*pfn_cmos_set_image_mode)(VI_PIPE ViPipe, ISP_CMOS_SENSOR_IMAGE_MODE_S *pstSensorImageMode); + CVI_S32 (*pfn_cmos_set_wdr_mode)(VI_PIPE ViPipe, CVI_U8 u8Mode); + + /* the algs get data which is associated with sensor, except 3a */ + CVI_S32 (*pfn_cmos_get_isp_default)(VI_PIPE ViPipe, ISP_CMOS_DEFAULT_S *pstDef); + CVI_S32 (*pfn_cmos_get_isp_black_level)(VI_PIPE ViPipe, ISP_CMOS_BLACK_LEVEL_S *pstBlackLevel); + CVI_S32 (*pfn_cmos_get_sns_reg_info)(VI_PIPE ViPipe, ISP_SNS_SYNC_INFO_S *pstSnsRegsInfo); + CVI_S32 (*pfn_cmos_set_sns_reg_info)(VI_PIPE ViPipe, ISP_SNS_SYNC_INFO_S *pstSnsRegsInfo); + + /* the function of sensor set pixel detect */ + //CVI_VOID (*pfn_cmos_set_pixel_detect)(VI_PIPE ViPipe, bool bEnable); +} ISP_SENSOR_EXP_FUNC_S; + +typedef struct bmISP_SENSOR_REGISTER_S { + ISP_SENSOR_EXP_FUNC_S stSnsExp; +} ISP_SENSOR_REGISTER_S; + +typedef enum _MCLK_FREQ_E { + MCLK_FREQ_NONE = 0, + MCLK_FREQ_37P125M, + MCLK_FREQ_25M, + MCLK_FREQ_27M, + MCLK_FREQ_NUM +} MCLK_FREQ_E; + +typedef struct _SNS_MCLK_S { + CVI_U32 u8Cam; + MCLK_FREQ_E enFreq; +} SNS_MCLK_S; + +// -------- If you want to change these interfaces, please contact the isp team. -------- + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif + +#endif /* _CVI_COMM_SNS_H_ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_sys.h b/freertos/cvitek/install/include/common/cvi_comm_sys.h new file mode 100644 index 000000000..f2d09ed76 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_sys.h @@ -0,0 +1,94 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_comm_sys.h + * Description: + * The common sys type defination. + */ + +#ifndef __CVI_COMM_SYS_H__ +#define __CVI_COMM_SYS_H__ + +// #include +// #include "cvi_errno.h" +// #include "cvi_debug.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + + +// #define BIND_DEST_MAXNUM 32 +// #define BIND_NODE_MAXNUM 64 + +// typedef struct _MMF_BIND_DEST_S { +// CVI_U32 u32Num; +// MMF_CHN_S astMmfChn[BIND_DEST_MAXNUM]; +// } MMF_BIND_DEST_S; + +// typedef struct _BIND_NODE_S { +// CVI_BOOL bUsed; +// MMF_CHN_S src; +// MMF_BIND_DEST_S dsts; +// } BIND_NODE_S; + +typedef enum _VI_VPSS_MODE_E { + VI_OFFLINE_VPSS_OFFLINE = 0, + VI_OFFLINE_VPSS_ONLINE, + VI_ONLINE_VPSS_OFFLINE, + VI_ONLINE_VPSS_ONLINE, + VI_BE_OFL_POST_OL_VPSS_OFL, + VI_BE_OFL_POST_OFL_VPSS_OFL, + VI_BE_OL_POST_OFL_VPSS_OFL, + VI_BE_OL_POST_OL_VPSS_OFL, + VI_VPSS_MODE_BUTT +} VI_VPSS_MODE_E; + + +// typedef struct _VI_VPSS_MODE_S { +// VI_VPSS_MODE_E aenMode[VI_MAX_PIPE_NUM]; +// } VI_VPSS_MODE_S; + +// typedef enum _VPSS_MODE_E { +// VPSS_MODE_SINGLE = 0, +// VPSS_MODE_DUAL, +// VPSS_MODE_RGNEX, +// VPSS_MODE_BUTT +// } VPSS_MODE_E; + +// typedef enum _VPSS_INPUT_E { +// VPSS_INPUT_MEM = 0, +// VPSS_INPUT_ISP, +// VPSS_INPUT_BUTT +// } VPSS_INPUT_E; + + +// * enMode: decide vpss work as 1/2 device. +// * aenInput: decide the input of each vpss device. +// * ViPipe: only meaningful if enInput is ISP. + +// typedef struct _VPSS_MODE_S { +// VPSS_MODE_E enMode; +// VPSS_INPUT_E aenInput[VPSS_IP_NUM]; +// VI_PIPE ViPipe[VPSS_IP_NUM]; +// } VPSS_MODE_S; + +// typedef struct _CVI_TDMA_2D_S { +// uint64_t paddr_src; +// uint64_t paddr_dst; +// uint32_t w_bytes; +// uint32_t h; +// uint32_t stride_bytes_src; +// uint32_t stride_bytes_dst; +// } CVI_TDMA_2D_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_COMM_SYS_H__ */ + diff --git a/freertos/cvitek/install/include/common/cvi_comm_vi.h b/freertos/cvitek/install/include/common/cvi_comm_vi.h new file mode 100644 index 000000000..56b9dcd69 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_vi.h @@ -0,0 +1,830 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_comm_vi.h + * Description: + * Common video input definitions. + */ + +#ifndef __CVI_COMM_VI_H__ +#define __CVI_COMM_VI_H__ + +#include +#include +//#include "cvi_comm_gdc.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + + +#define VI_MAX_ADCHN_NUM (4UL) + +#define VI_COMPMASK_NUM (2UL) +#define VI_PRO_MAX_FRAME_NUM (8UL) +#define VI_SHARPEN_GAIN_NUM 32 +#define VI_AUTO_ISO_STRENGTH_NUM 16 + +#define VI_INVALID_FRMRATE (-1) +#define VI_CHN0 0 +#define VI_CHN1 1 +#define VI_CHN2 2 +#define VI_CHN3 3 +#define VI_INVALID_CHN -1 + +#define VI_MAX_VC_NUM 4 + +typedef struct _VI_LOW_DELAY_INFO_S { + CVI_BOOL bEnable; /* RW; Low delay enable. */ + CVI_U32 u32LineCnt; /* RW; Range: [32, 16384]; Low delay shoreline. */ +} VI_LOW_DELAY_INFO_S; + +/* Information of raw data cmpresss param */ +typedef struct _VI_CMP_PARAM_S { + CVI_U8 au8CmpParam[VI_CMP_PARAM_SIZE]; +} VI_CMP_PARAM_S; + +typedef enum _VI_USERPIC_MODE_E { + VI_USERPIC_MODE_PIC = 0, /* YUV picture */ + VI_USERPIC_MODE_BGC, /* Background picture only with a color */ + VI_USERPIC_MODE_BUTT, +} VI_USERPIC_MODE_E; + +typedef struct _VI_USERPIC_BGC_S { + CVI_U32 u32BgColor; +} VI_USERPIC_BGC_S; + +typedef struct _VI_USERPIC_ATTR_S { + VI_USERPIC_MODE_E enUsrPicMode; /* User picture mode */ + union { + VIDEO_FRAME_INFO_S stUsrPicFrm; /* Information about a YUV picture */ + VI_USERPIC_BGC_S stUsrPicBg; /* Information about a background picture only with a color */ + } unUsrPic; +} VI_USERPIC_ATTR_S; + +/* interface mode of video input */ +typedef enum _VI_INTF_MODE_E { + VI_MODE_BT656 = 0, /* ITU-R BT.656 YUV4:2:2 */ + VI_MODE_BT601, /* ITU-R BT.601 YUV4:2:2 */ + VI_MODE_DIGITAL_CAMERA, /* digatal camera mode */ + VI_MODE_BT1120_STANDARD, /* BT.1120 progressive mode */ + VI_MODE_BT1120_INTERLEAVED, /* BT.1120 interstage mode */ + VI_MODE_MIPI, /* MIPI RAW mode */ + VI_MODE_MIPI_YUV420_NORMAL, /* MIPI YUV420 normal mode */ + VI_MODE_MIPI_YUV420_LEGACY, /* MIPI YUV420 legacy mode */ + VI_MODE_MIPI_YUV422, /* MIPI YUV422 mode */ + VI_MODE_LVDS, /* LVDS mode */ + VI_MODE_HISPI, /* HiSPi mode */ + VI_MODE_SLVS, /* SLVS mode */ + + VI_MODE_BUTT +} VI_INTF_MODE_E; + +/* Input mode */ +typedef enum _VI_INPUT_MODE_E { + VI_INPUT_MODE_BT656 = 0, /* ITU-R BT.656 YUV4:2:2 */ + VI_INPUT_MODE_BT601, /* ITU-R BT.601 YUV4:2:2 */ + VI_INPUT_MODE_DIGITAL_CAMERA, /* digatal camera mode */ + VI_INPUT_MODE_INTERLEAVED, /* interstage mode */ + VI_INPUT_MODE_MIPI, /* MIPI mode */ + VI_INPUT_MODE_LVDS, /* LVDS mode */ + VI_INPUT_MODE_HISPI, /* HiSPi mode */ + VI_INPUT_MODE_SLVS, /* SLVS mode */ + + VI_INPUT_MODE_BUTT +} VI_INPUT_MODE_E; + +/* Work mode */ +typedef enum _VI_WORK_MODE_E { + VI_WORK_MODE_1Multiplex = 0, /* 1 Multiplex mode */ + VI_WORK_MODE_2Multiplex, /* 2 Multiplex mode */ + VI_WORK_MODE_3Multiplex, /* 3 Multiplex mode */ + VI_WORK_MODE_4Multiplex, /* 4 Multiplex mode */ + + VI_WORK_MODE_BUTT +} VI_WORK_MODE_E; + +/* whether an input picture is interlaced or progressive */ +typedef enum _VI_SCAN_MODE_E { + VI_SCAN_INTERLACED = 0, /* interlaced mode */ + VI_SCAN_PROGRESSIVE, /* progressive mode */ + + VI_SCAN_BUTT +} VI_SCAN_MODE_E; + +/* Sequence of YUV data + * + * VI_DATA_SEQ_VUVU: The input sequence of the second component(only contains u and v) in BT.1120 mode is VUVU + * VI_DATA_SEQ_UVUV: The input sequence of the second component(only contains u and v) in BT.1120 mode is UVUV + */ +typedef enum _VI_YUV_DATA_SEQ_E { + VI_DATA_SEQ_VUVU = 0, + VI_DATA_SEQ_UVUV, + + VI_DATA_SEQ_UYVY, /* The input sequence of YUV is UYVY */ + VI_DATA_SEQ_VYUY, /* The input sequence of YUV is VYUY */ + VI_DATA_SEQ_YUYV, /* The input sequence of YUV is YUYV */ + VI_DATA_SEQ_YVYU, /* The input sequence of YUV is YVYU */ + + VI_DATA_SEQ_BUTT +} VI_YUV_DATA_SEQ_E; + +/* Clock edge mode */ +typedef enum _VI_CLK_EDGE_E { + VI_CLK_EDGE_SINGLE_UP = 0, /* single-edge mode and in rising edge */ + VI_CLK_EDGE_SINGLE_DOWN, /* single-edge mode and in falling edge */ + + VI_CLK_EDGE_BUTT +} VI_CLK_EDGE_E; + +/* Component mode */ +typedef enum _VI_COMPONENT_MODE_E { + VI_COMPONENT_MODE_SINGLE = 0, /* single component mode */ + VI_COMPONENT_MODE_DOUBLE, /* double component mode */ + + VI_COMPONENT_MODE_BUTT +} VI_COMPONENT_MODE_E; + +/* Y/C composite or separation mode */ +typedef enum _VI_COMBINE_MODE_E { + VI_COMBINE_COMPOSITE = 0, /* Composite mode */ + VI_COMBINE_SEPARATE, /* Separate mode */ + + VI_COMBINE_BUTT +} VI_COMBINE_MODE_E; + +/* Attribute of the vertical synchronization signal */ +typedef enum _VI_VSYNC_E { + VI_VSYNC_FIELD = 0, /* Field/toggle mode:a signal reversal means a new frame or a field */ + VI_VSYNC_PULSE, /* Pusle/effective mode:a pusle or an effective signal means a new frame or a field */ + + VI_VSYNC_BUTT +} VI_VSYNC_E; + +/* Polarity of the vertical synchronization signal + * + * VI_VSYNC_NEG_HIGH: if VIU_VSYNC_E = VIU_VSYNC_FIELD,then the v-sync signal of even field is high-level, + * if VIU_VSYNC_E = VIU_VSYNC_PULSE,then the v-sync pulse is positive pulse. + * VI_VSYNC_NEG_LOW: if VIU_VSYNC_E = VIU_VSYNC_FIELD,then the v-sync signal of even field is low-level, + * if VIU_VSYNC_E = VIU_VSYNC_PULSE,then the v-sync pulse is negative pulse. + */ +typedef enum _VI_VSYNC_NEG_E { + VI_VSYNC_NEG_HIGH = 0, + VI_VSYNC_NEG_LOW, + VI_VSYNC_NEG_BUTT +} VI_VSYNC_NEG_E; + +/* Attribute of the horizontal synchronization signal */ +typedef enum _VI_HSYNC_E { + VI_HSYNC_VALID_SINGNAL = 0, /* the h-sync is valid signal mode */ + VI_HSYNC_PULSE, /* the h-sync is pulse mode, a new pulse means the beginning of a new line */ + + VI_HSYNC_BUTT +} VI_HSYNC_E; + +/* Polarity of the horizontal synchronization signal + * + * VI_HSYNC_NEG_HIGH: if VI_HSYNC_E = VI_HSYNC_VALID_SINGNAL,then the valid h-sync signal is high-level; + * if VI_HSYNC_E = VI_HSYNC_PULSE,then the h-sync pulse is positive pulse. + * VI_HSYNC_NEG_LOW: if VI_HSYNC_E = VI_HSYNC_VALID_SINGNAL,then the valid h-sync signal is low-level; + * if VI_HSYNC_E = VI_HSYNC_PULSE,then the h-sync pulse is negative pulse + */ +typedef enum _VI_HSYNC_NEG_E { + VI_HSYNC_NEG_HIGH = 0, + VI_HSYNC_NEG_LOW, + VI_HSYNC_NEG_BUTT +} VI_HSYNC_NEG_E; + +/* Attribute of the valid vertical synchronization signal + * + * VI_VSYNC_NORM_PULSE: the v-sync is pusle mode, a pusle means a new frame or field + * VI_VSYNC_VALID_SIGNAL: the v-sync is effective mode, a effective signal means a new frame or field + */ +typedef enum _VI_VSYNC_VALID_E { + VI_VSYNC_NORM_PULSE = 0, + VI_VSYNC_VALID_SIGNAL, + + VI_VSYNC_VALID_BUTT +} VI_VSYNC_VALID_E; + +/* Polarity of the valid vertical synchronization signal + * + * VI_VSYNC_VALID_NEG_HIGH: if VI_VSYNC_VALID_E = VI_VSYNC_NORM_PULSE,a positive pulse means v-sync pulse; + * if VI_VSYNC_VALID_E = VI_VSYNC_VALID_SIGNAL,the valid v-sync signal is high-level + * VI_VSYNC_VALID_NEG_LOW: if VI_VSYNC_VALID_E = VI_VSYNC_NORM_PULSE,a negative pulse means v-sync pulse + * if VI_VSYNC_VALID_E = VI_VSYNC_VALID_SIGNAL,the valid v-sync signal is low-level + */ +typedef enum _VI_VSYNC_VALID_NEG_E { + VI_VSYNC_VALID_NEG_HIGH = 0, + VI_VSYNC_VALID_NEG_LOW, + VI_VSYNC_VALID_NEG_BUTT +} VI_VSYNC_VALID_NEG_E; + +typedef enum _VI_STATE { + VI_RUNNING, + VI_SUSPEND, + VI_MAX, +} VI_STATE_E; + +/* Blank information of the input timing + * + * u32VsyncVfb: RW;Vertical front blanking height of one frame or odd-field frame picture + * u32VsyncVact: RW;Vertical effetive width of one frame or odd-field frame picture + * u32VsyncVbb: RW;Vertical back blanking height of one frame or odd-field frame picture + * u32VsyncVbfb: RW;Even-field vertical front blanking height when input mode is interlace + * (invalid when progressive input mode) + * u32VsyncVbact: RW;Even-field vertical effetive width when input mode is interlace + * (invalid when progressive input mode) + * u32VsyncVbbb: RW;Even-field vertical back blanking height when input mode is interlace + * (invalid when progressive input mode) + */ +typedef struct _VI_TIMING_BLANK_S { + CVI_U32 u32HsyncHfb; /* RW;Horizontal front blanking width */ + CVI_U32 u32HsyncAct; /* RW;Horizontal effetive width */ + CVI_U32 u32HsyncHbb; /* RW;Horizontal back blanking width */ + CVI_U32 u32VsyncVfb; + CVI_U32 u32VsyncVact; + CVI_U32 u32VsyncVbb; + CVI_U32 u32VsyncVbfb; + CVI_U32 u32VsyncVbact; + CVI_U32 u32VsyncVbbb; +} VI_TIMING_BLANK_S; + +/* synchronization information about the BT.601 or DC timing */ +typedef struct _VI_SYNC_CFG_S { + VI_VSYNC_E enVsync; + VI_VSYNC_NEG_E enVsyncNeg; + VI_HSYNC_E enHsync; + VI_HSYNC_NEG_E enHsyncNeg; + VI_VSYNC_VALID_E enVsyncValid; + VI_VSYNC_VALID_NEG_E enVsyncValidNeg; + VI_TIMING_BLANK_S stTimingBlank; +} VI_SYNC_CFG_S; + +/* the highest bit of the BT.656 timing reference code */ +typedef enum _VI_BT656_FIXCODE_E { + VI_BT656_FIXCODE_1 = 0, /* The highest bit of the EAV/SAV data over the BT.656 protocol is always 1. */ + VI_BT656_FIXCODE_0, /* The highest bit of the EAV/SAV data over the BT.656 protocol is always 0. */ + + VI_BT656_FIXCODE_BUTT +} VI_BT656_FIXCODE_E; + +/* Polarity of the field indicator bit (F) of the BT.656 timing reference code */ +typedef enum _VI_BT656_FIELD_POLAR_E { + VI_BT656_FIELD_POLAR_STD = 0, /* the standard BT.656 mode,the first filed F=0,the second filed F=1 */ + VI_BT656_FIELD_POLAR_NSTD, /* the non-standard BT.656 mode,the first filed F=1,the second filed F=0 */ + + VI_BT656_FIELD_POLAR_BUTT +} VI_BT656_FIELD_POLAR_E; + +/* synchronization information about the BT.656 */ +typedef struct _VI_BT656_SYNC_CFG_S { + VI_BT656_FIXCODE_E enFixCode; + VI_BT656_FIELD_POLAR_E enFieldPolar; +} VI_BT656_SYNC_CFG_S; + +/* Input data type */ +typedef enum _VI_DATA_TYPE_E { + VI_DATA_TYPE_YUV = 0, + VI_DATA_TYPE_RGB, + VI_DATA_TYPE_YUV_EARLY, + + VI_DATA_TYPE_BUTT +} VI_DATA_TYPE_E; + +/* Attribute of wdr */ +typedef struct _VI_WDR_ATTR_S { + WDR_MODE_E enWDRMode; /* RW; WDR mode.*/ + CVI_U32 u32CacheLine; /* RW; WDR cache line.*/ +} VI_WDR_ATTR_S; + +/* the extended attributes of VI device + * + * enInputDataType: RW;RGB: CSC-709 or CSC-601, PT YUV444 disable; YUV: default yuv CSC coef PT YUV444 enable. + */ +typedef struct _VI_DEV_ATTR_EX_S { + VI_INPUT_MODE_E enInputMode; /* RW;Input mode */ + VI_WORK_MODE_E enWorkMode; /* RW; Work mode */ + + VI_COMBINE_MODE_E enCombineMode; /* RW;Y/C composite or separation mode */ + VI_COMPONENT_MODE_E enComponentMode; /* RW;Component mode (single-component or dual-component) */ + VI_CLK_EDGE_E enClkEdge; /* RW;Clock edge mode (sampling on the rising or falling edge) */ + + CVI_U32 au32ComponentMask[VI_COMPMASK_NUM]; /* RW;Component mask */ + + VI_SCAN_MODE_E enScanMode; /* RW;Input scanning mode (progressive or interlaced) */ + CVI_S32 as32AdChnId[VI_MAX_ADCHN_NUM]; /* RW;AD channel ID. Typically, the default value -1 is recommended */ + + VI_YUV_DATA_SEQ_E enDataSeq; /* RW;Input data sequence (only the YUV format is supported) */ + VI_SYNC_CFG_S stSynCfg; /* RW;Sync timing. This member must be configured in BT.601 mode or DC mode */ + + VI_BT656_SYNC_CFG_S stBT656SynCfg; /* RW;Sync timing. This member must be configured in BT.656 mode */ + + VI_DATA_TYPE_E enInputDataType; + + CVI_BOOL bDataReverse; /* RW;Data reverse */ + + SIZE_S stSize; /* RW;Input size */ + + VI_WDR_ATTR_S stWDRAttr; /* RW;Attribute of WDR */ +} VI_DEV_ATTR_EX_S; + +/* The attributes of a VI device + * + * enInputDataType: RW;RGB: CSC-709 or CSC-601, PT YUV444 disable; YUV: default yuv CSC coef PT YUV444 enable. + */ +typedef struct _VI_DEV_ATTR_S { + VI_INTF_MODE_E enIntfMode; /* RW;Interface mode */ + VI_WORK_MODE_E enWorkMode; /* RW;Work mode */ + + VI_SCAN_MODE_E enScanMode; /* RW;Input scanning mode (progressive or interlaced) */ + CVI_S32 as32AdChnId[VI_MAX_ADCHN_NUM]; /* RW;AD channel ID. Typically, the default value -1 is recommended */ + + /* The below members must be configured in BT.601 mode or DC mode and are invalid in other modes */ + VI_YUV_DATA_SEQ_E enDataSeq; /* RW;Input data sequence (only the YUV format is supported) */ + VI_SYNC_CFG_S stSynCfg; /* RW;Sync timing. This member must be configured in BT.601 mode or DC mode */ + + VI_DATA_TYPE_E enInputDataType; + + SNR_SIZE_S stSnrSize; /* RW;Input Snr Size */ + + VI_WDR_ATTR_S stWDRAttr; /* RW;Attribute of WDR */ + + BAYER_FORMAT_E enBayerFormat; /* RW;Bayer format of Device */ + + CVI_U32 chn_num; /* R; total chnannels sended from dev */ + + CVI_U32 snrFps; /* R; snr init fps from isp pub attr */ +} VI_DEV_ATTR_S; + +/* Information of pipe binded to device */ +typedef struct _VI_DEV_BIND_PIPE_S { + CVI_U32 u32Num; /* RW;Range [1,VI_MAX_PIPE_NUM] */ + VI_PIPE PipeId[VI_MAX_PIPE_NUM]; /* RW;Array of pipe ID */ +} VI_DEV_BIND_PIPE_S; + +/* Source of 3DNR reference frame */ +typedef enum _VI_NR_REF_SOURCE_E { + VI_NR_REF_FROM_RFR = 0, /* Reference frame from reconstruction frame */ + VI_NR_REF_FROM_CHN0, /* Reference frame from CHN0's frame */ + + VI_NR_REF_FROM_BUTT +} VI_NR_REF_SOURCE_E; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _VI_PIPE_BYPASS_MODE_E { + VI_PIPE_BYPASS_NONE, + VI_PIPE_BYPASS_FE, + VI_PIPE_BYPASS_BE, + + VI_PIPE_BYPASS_BUTT +} VI_PIPE_BYPASS_MODE_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/* The attributes of 3DNR */ +typedef struct _VI_NR_ATTR_S { + PIXEL_FORMAT_E enPixFmt; /* RW;Pixel format of reference frame */ + DATA_BITWIDTH_E enBitWidth; /* RW;Bit Width of reference frame */ + VI_NR_REF_SOURCE_E enNrRefSource; /* RW;Source of 3DNR reference frame */ + COMPRESS_MODE_E enCompressMode; /* RW;Reference frame compress mode */ +} VI_NR_ATTR_S; + +/* The attributes of pipe + * + * bDiscardProPic: RW;when professional mode snap, whether to discard long exposure picture in the video pipe. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _VI_PIPE_ATTR_S { + VI_PIPE_BYPASS_MODE_E enPipeBypassMode; + CVI_BOOL bYuvSkip; /* RW;YUV skip enable */ + CVI_BOOL bIspBypass; /* RW;ISP bypass enable */ + CVI_U32 u32MaxW; /* RW;Range[VI_PIPE_MIN_WIDTH,VI_PIPE_MAX_WIDTH];Maximum width */ + CVI_U32 u32MaxH; /* RW;Range[VI_PIPE_MIN_HEIGHT,VI_PIPE_MAX_HEIGHT];Maximum height */ + PIXEL_FORMAT_E enPixFmt; /* RW;Pixel format */ + COMPRESS_MODE_E enCompressMode; /* RW;Compress mode.*/ + DATA_BITWIDTH_E enBitWidth; /* RW;Bit width*/ + CVI_BOOL bNrEn; /* RW;3DNR enable */ + CVI_BOOL bSharpenEn; /* RW;Sharpen enable*/ + FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */ + CVI_BOOL bDiscardProPic; + CVI_BOOL bYuvBypassPath; /* RW;ISP YUV bypass enable */ +} VI_PIPE_ATTR_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// /* +// * au16TextureStr: RW; range: [0, 4095]; Format:7.5;Undirectional sharpen strength for texture and detail enhancement. +// * au16EdgeStr: RW; range: [0, 4095]; Format:7.5;Directional sharpen strength for edge enhancement. +// * u16TextureFreq: RW; range: [0, 4095]; Format:6.6; Texture frequency adjustment. +// * Texture and detail will be finer when it increase. +// * u16EdgeFreq: RW; range: [0, 4095]; Format:6.6; Edge frequency adjustment. +// * Edge will be narrower and thiner when it increase. +// * u8ShootSupStr: RW; range: [0, 255]; Format:8.0;overshoot and undershoot suppression strength, +// * the amplitude and width of shoot will be decrease when shootSupSt increase. +// */ +// typedef struct _VI_PIPE_SHARPEN_MANUAL_ATTR_S { +// CVI_U16 au16TextureStr[VI_SHARPEN_GAIN_NUM]; +// CVI_U16 au16EdgeStr[VI_SHARPEN_GAIN_NUM]; +// CVI_U16 u16TextureFreq; +// CVI_U16 u16EdgeFreq; +// CVI_U8 u8OverShoot; /* RW; range: [0, 127]; Format:7.0;u8OvershootAmt*/ +// CVI_U8 u8UnderShoot; /* RW; range: [0, 127]; Format:7.0;u8UndershootAmt*/ +// CVI_U8 u8ShootSupStr; + +// } VI_PIPE_SHARPEN_MANUAL_ATTR_S; + +// /* +// * au16TextureStr: RW; range: [0, 4095]; Format:7.5;Undirectional sharpen strength for texture and detail enhancement. +// * au16EdgeStr: RW; range: [0, 4095]; Format:7.5;Directional sharpen strength for edge enhancement +// * au16TextureFreq: RW; range: [0, 4095]; Format:6.6;Texture frequency adjustment. +// * Texture and detail will be finer when it increase +// * au16EdgeFreq: RW; range: [0, 4095]; Format:6.6;Edge frequency adjustment. +// * Edge will be narrower and thiner when it increase +// * au8ShootSupStr: RW; range: [0, 255]; Format:8.0;overshoot and undershoot suppression strength, +// * the amplitude and width of shoot will be decrease when shootSupSt increase +// */ +// typedef struct _VI_PIPE_SHARPEN_AUTO_ATTR_S { +// CVI_U16 au16TextureStr[VI_SHARPEN_GAIN_NUM][VI_AUTO_ISO_STRENGTH_NUM]; +// CVI_U16 au16EdgeStr[VI_SHARPEN_GAIN_NUM][VI_AUTO_ISO_STRENGTH_NUM]; +// CVI_U16 au16TextureFreq[VI_AUTO_ISO_STRENGTH_NUM]; +// CVI_U16 au16EdgeFreq[VI_AUTO_ISO_STRENGTH_NUM]; +// CVI_U8 au8OverShoot[VI_AUTO_ISO_STRENGTH_NUM]; /* RW; range: [0, 127]; Format:7.0;u8OvershootAmt*/ +// CVI_U8 au8UnderShoot[VI_AUTO_ISO_STRENGTH_NUM]; /* RW; range: [0, 127]; Format:7.0;u8UndershootAmt*/ +// CVI_U8 au8ShootSupStr[VI_AUTO_ISO_STRENGTH_NUM]; + +// } VI_PIPE_SHARPEN_AUTO_ATTR_S; + +// typedef struct _VI_PIPE_SHARPEN_ATTR_S { +// OPERATION_MODE_E enOpType; +// CVI_U8 au8LumaWgt[VI_SHARPEN_GAIN_NUM]; /* RW; range: [0, 127]; Format:7.0;*/ +// VI_PIPE_SHARPEN_MANUAL_ATTR_S stSharpenManualAttr; +// VI_PIPE_SHARPEN_AUTO_ATTR_S stSharpenAutoAttr; +// } VI_PIPE_SHARPEN_ATTR_S; + +// typedef enum _VI_PIPE_REPEAT_MODE_E { +// VI_PIPE_REPEAT_NONE = 0, +// VI_PIPE_REPEAT_ONCE = 1, +// VI_PIPE_REPEAT_BUTT +// } VI_PIPE_REPEAT_MODE_E; + +// /* +// * IES: RW; Range:[0,255];Format 8.0;the absolute strength of image enhancement for edge +// * IESS:RW; Range:[0,255];Format 8.0;the absolute strength of image enhancement for texture and shadow +// * IEDZ: RW; Range:[0,8192];Format 14.0;the threshold of image enhancement for controlling noise +// */ +// typedef struct { +// CVI_U8 IES; +// CVI_U8 IESS; +// CVI_U16 IEDZ; +// } tV59aIEy; + +// /* +// * SBF: RW; Range:[0,3];Format 2.0;the band type of spatial filter, +// * notice: SBF0,SBF1 range is [2,3];SBF2,SBF3 range is [0,3] +// * STR: RW; Range:[0,13];Format 4.0;the relative strength of spatial filter refer to the previous frame +// * STHp: RW; Range:[0,2];Format 2.0;Not recommended for debugging +// * SFT: RW; Range:[0,31];Format 5.0;Not recommended for debugging +// * kPro: RW; Range:[0,7];Format 3.0;notice: the kPro of SFy2 range is [0,7],the kPro of SFy3 range is [0,4] +// * STH: RW; Range:[0,999];Format 10.0;the edge-preserve threshold for spatial filter +// * SBS: RW; Range:[0,9999];Format 14.0;the noise reduction strength of spatial filter for the relative bright pixel +// * SDS: RW; Range:[0,9999];Format 14.0;the noise reduction strength of spatial filter for the relative dark pixel +// */ +// typedef struct { +// CVI_U8 SBF : 2; +// CVI_U8 STR : 4; +// CVI_U8 STHp : 2; +// CVI_U8 SFT : 5; +// CVI_U8 kPro : 3; + +// CVI_U16 STH[3]; +// CVI_U16 SBS[3]; +// CVI_U16 SDS[3]; + +// } tV59aSFy; + +// typedef struct { +// CVI_U16 MATH : 10; /* RW; Range:[0,1023];Format 10.0;the motion detection threshold for temporal filter */ +// CVI_U16 MATE : 4; /* RW; Range:[0,11];Format 4.0;the motion detection index of flat area for temporal filter */ +// CVI_U16 MATW : 2; /* RW; Range:[0,3];Format 2.0;the index of suppressing trailing for temporal filter */ +// CVI_U8 MASW : 4; /* RW; Range:[0,12];Format 4.0;the index of suppressing raindrop noise for temporal filter */ +// CVI_U8 MABW : 3; /* RW; Range:[0,4];Format 3.0;the window of motion detection for temporal filter */ +// CVI_U8 MAXN : 1; /* RW; Range:[0,1];Format 1.0;Not recommended for debugging */ + +// } tV59aMDy; + +// typedef struct { +// CVI_U8 TFR[4]; /* RW; Range:[0,255];Format 8.0;the relative strength of temporal filter for the static area */ +// CVI_U16 TDZ : 14; /* RW; Range:[0,999];Format 10.0;the threshold of dead-area of temporal filter */ +// CVI_U16 TDX : 2; /* RW; Range:[0,2];Format 2.0;Not recommended for debugging */ +// CVI_U16 TFS : 6; /* RW; Range:[0,63];Format 6.0;the absolute strength of temporal filter */ +// } tV59aTFy; + +// typedef struct { +// CVI_U16 SFC : 10; /* RW; Range:[0,1023];Format 10.0;the strength of spatial filter for NRC0 */ +// CVI_U16 TFC : 6; /* RW; Range:[0,63];Format 6.0;the strength of temporal filter for NRC0 */ +// CVI_U16 CSFS : 14; /* RW; Range:[0,999];Format 10.0;the strength of spatial filter for NRC1 */ +// CVI_U16 CSFk : 2; /* RW; Range:[0,3];Format 2.0;Not recommended for debugging */ +// CVI_U16 CTFS : 4; /* RW; Range:[0,15];Format 4.0;the strength of temporal filter for NRC1 */ +// CVI_U16 CIIR : 1; /* RW; Range:[0,1];Format 1.0;the mode of spatial filter for NRC1 */ +// CVI_U16 CTFR : 11; /* RW; Range:[0,999];Format 10.0;the relative strength of temporal filter for NRC1 */ + +// } tV59aNRc; + +// 3DNR Spatial Filter: SFy0,SFy1,SFy2,SFy3; Temporal Filter:TFy0,TFy1;Chroma Noise Reduction: NRC0,NRC1 +// * +// * HdgType: RW; Range:[0,1];Format 1.0;the type of complexed mixed spatial filter whether is SFi or SFk +// * BriType: RW; Range:[0,1];Format 1.0;the mode decide SFy3 whether is SFk type or SFi type +// * HdgMode: RW; Range:[0,3];Format 2.0;the mode decide complexed mixed spatial filter band for flat area +// * kTab2: RW; Range:[0,1];Format 1.0;the parameter decide SFy2 whether or not based on the image absolute luminance +// * HdgWnd: RW; Range:[0,1];Format 1.0;the sampling window of complexed mixed spatial filter for noise detection +// * kTab3: RW; Range:[0,1];Format 1.0;the parameter decide SFy3 whether or not based on the image absolute luminance +// * HdgSFR: RW; Range:[0,13];Format 4.0;the trend of the noise reduction of complexed mixed spatial filter for flat area +// * nOut: RW; Range:[0,27];Format 5.0;the parameter for output intermediate result of SFy3 +// * HdgIES: RW; Range:[0,255];Format 8.0;the strength of image enhancement for complexed mixed spatial filter +// * nRef: RW; Range:[0,1];Format 1.0;Not recommended for debugging +// * +// * SFRi: RW; Range:[0,255];Format 8.0;the relative strength of SFy3 when the filter type is SFi +// * SFRk: RW; Range:[0,255];Format 8.0;the relative strength of SFy3 when the filter type is SFk +// * SBSk2: RW; Range:[0,9999];Format 14.0;the noise reduction strength of SFy2 for the relative bright pixel +// * based on the image absolute luminance +// * SBSk3: RW; Range:[0,9999];Format 14.0;the noise reduction strength of SFy3 for the relative bright pixel +// * based on the image absolute luminance +// * SDSk2: RW; Range:[0,9999];Format 14.0;the noise reduction strength of SFy2 for the relative dark pixel +// * based on the image absolute luminance +// * SDSk3: RW; Range:[0,9999];Format 14.0;the noise reduction strength of SFy3 for the relative dark pixel +// * based on the image absolute luminance +// * BriThr: RW; Range:[0,1024];Format 11.0;the threshold decide SFy3 choose the SFi type filter or SFk type filter +// * in dark and bright area +// * + +// typedef struct { +// tV59aIEy IEy; +// tV59aSFy SFy[5]; +// tV59aMDy MDy[2]; +// tV59aTFy TFy[2]; + +// CVI_U16 HdgType : 1; +// CVI_U16 BriType : 1; +// CVI_U16 HdgMode : 2; +// CVI_U16 kTab2 : 1; +// CVI_U16 HdgWnd : 1; +// CVI_U16 kTab3 : 1; +// CVI_U16 HdgSFR : 4; +// CVI_U16 nOut : 5; +// CVI_U8 HdgIES; +// CVI_U8 nRef : 1; + +// CVI_U8 IEyMode : 1; +// CVI_U8 IEyEx[4]; + +// CVI_U8 SFRi[4]; +// CVI_U8 SFRk[4]; +// CVI_U16 SBSk2[32]; +// CVI_U16 SBSk3[32]; +// CVI_U16 SDSk2[32]; +// CVI_U16 SDSk3[32]; +// CVI_U16 BriThr[16]; + +// tV59aNRc NRc; +// } VI_PIPE_NRX_PARAM_V1_S; + +// typedef enum _VI_NR_VERSION_E { VI_NR_V1 = 1, VI_NR_V2 = 2, VI_NR_V3 = 3, VI_NR_V4 = 4, VI_NR_BUTT } VI_NR_VERSION_E; + +// typedef struct _NRX_PARAM_MANUAL_V1_S { +// VI_PIPE_NRX_PARAM_V1_S stNRXParamV1; +// } NRX_PARAM_MANUAL_V1_S; + +// typedef struct _NRX_PARAM_AUTO_V1_S { +// CVI_U32 u32ParamNum; + +// CVI_U32 *ATTRIBUTE pau32ISO; +// VI_PIPE_NRX_PARAM_V1_S *ATTRIBUTE pastNRXParamV1; +// } NRX_PARAM_AUTO_V1_S; + +// typedef struct _NRX_PARAM_V1_S { +// OPERATION_MODE_E enOptMode; /* RW;Adaptive NR */ +// NRX_PARAM_MANUAL_V1_S stNRXManualV1; /* RW;NRX V1 param for manual */ +// NRX_PARAM_AUTO_V1_S stNRXAutoV1; /* RW;NRX V1 param for auto */ +// } NRX_PARAM_V1_S; + +// typedef struct { +// CVI_U8 IES0, IES1, IES2, IES3; +// CVI_U16 IEDZ : 10, _rb_ : 6; +// } tV500_VI_IEy; + +// typedef struct { +// CVI_U8 SPN6 : 3, SFR : 5; +// CVI_U8 SBN6 : 3, PBR6 : 5; +// CVI_U16 SRT0 : 5, SRT1 : 5, JMODE : 3, DeIdx : 3; +// CVI_U8 DeRate, SFR6[3]; + +// CVI_U8 SFS1, SFT1, SBR1; +// CVI_U8 SFS2, SFT2, SBR2; +// CVI_U8 SFS4, SFT4, SBR4; + +// CVI_U16 STH1 : 9, SFN1 : 3, NRyEn : 1, SFN0 : 3; +// CVI_U16 STH2 : 9, SFN2 : 3, BWSF4 : 1, kMode : 3; +// CVI_U16 STH3 : 9, SFN3 : 3, TriTh : 1, _rb0_ : 3; +// } tV500_VI_SFy; + +// typedef struct { +// tV500_VI_IEy IEy; +// tV500_VI_SFy SFy; +// } VI_PIPE_NRX_PARAM_V2_S; + +// typedef struct _NRX_PARAM_MANUAL_V2_S { +// VI_PIPE_NRX_PARAM_V2_S stNRXParamV2; +// } NRX_PARAM_MANUAL_V2_S; + +// typedef struct _NRX_PARAM_AUTO_V2_S { +// CVI_U32 u32ParamNum; + +// CVI_U32 *ATTRIBUTE pau32ISO; +// VI_PIPE_NRX_PARAM_V2_S *ATTRIBUTE pastNRXParamV2; + +// } NRX_PARAM_AUTO_V2_S; + +// typedef struct _NRX_PARAM_V2_S { +// OPERATION_MODE_E enOptMode; /* RW;Adaptive NR */ +// NRX_PARAM_MANUAL_V2_S stNRXManualV2; /* RW;NRX V2 param for manual */ +// NRX_PARAM_AUTO_V2_S stNRXAutoV2; /* RW;NRX V2 param for auto */ +// } NRX_PARAM_V2_S; + +// typedef struct _VI_PIPE_NRX_PARAM_S { +// VI_NR_VERSION_E enNRVersion; /* RW;3DNR Version*/ +// union { +// NRX_PARAM_V1_S stNRXParamV1; /* RW;3DNR X param version 1 */ +// NRX_PARAM_V2_S stNRXParamV2; /* RW;3DNR X param version 2 */ +// }; +// } VI_PIPE_NRX_PARAM_S; + +// /* The attributes of channel */ +// typedef struct _VI_CHN_ATTR_S { +// SIZE_S stSize; /* RW;Channel out put size */ +// PIXEL_FORMAT_E enPixelFormat; /* RW;Pixel format */ +// DYNAMIC_RANGE_E enDynamicRange; /* RW;Dynamic Range */ +// VIDEO_FORMAT_E enVideoFormat; /* RW;Video format */ +// COMPRESS_MODE_E enCompressMode; /* RW;256B Segment compress or no compress. */ +// CVI_BOOL bMirror; /* RW;Mirror enable */ +// CVI_BOOL bFlip; /* RW;Flip enable */ +// CVI_U32 u32Depth; /* RW;Range [0,8];Depth */ +// FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */ +// } VI_CHN_ATTR_S; + +// /* The status of pipe */ +// typedef struct _VI_PIPE_STATUS_S { +// CVI_BOOL bEnable; /* RO;Whether this pipe is enabled */ +// CVI_U32 u32IntCnt; /* RO;The video frame interrupt count */ +// CVI_U32 u32FrameRate; /* RO;Current frame rate */ +// CVI_U32 u32LostFrame; /* RO;Lost frame count */ +// CVI_U32 u32VbFail; /* RO;Video buffer malloc failure */ +// SIZE_S stSize; /* RO;Current pipe output size */ +// } VI_PIPE_STATUS_S; + +// /* VS signal output mode */ +// typedef enum _VI_VS_SIGNAL_MODE_E { +// VI_VS_SIGNAL_ONCE = 0, /* output one time */ +// VI_VS_SIGNAL_FREQ, /* output frequently */ + +// VI_VS_SIGNAL_MODE_BUTT +// } VI_VS_SIGNAL_MODE_E; + +// /* The attributes of VS signal */ +// typedef struct _VI_VS_SIGNAL_ATTR_S { +// VI_VS_SIGNAL_MODE_E enMode; /* RW;output one time, output frequently*/ +// CVI_U32 u32StartTime; /* RW;output start time,unit: sensor pix clk.*/ +// CVI_U32 u32Duration; /* RW;output high duration, unit: sensor pix clk.*/ +// CVI_U32 u32CapFrmIndex; /* RW;VS signal will be output after trigger by which vframe, default is 0. */ +// CVI_U32 u32Interval; /* RW;output frequently interval, unit: frame*/ +// } VI_VS_SIGNAL_ATTR_S; + +// typedef enum _VI_EXT_CHN_SOURCE_E { +// VI_EXT_CHN_SOURCE_TAIL, +// VI_EXT_CHN_SOURCE_HEAD, + +// VI_EXT_CHN_SOURCE_BUTT +// } VI_EXT_CHN_SOURCE_E; + +// typedef struct _VI_EXT_CHN_ATTR_S { +// VI_EXT_CHN_SOURCE_E enSource; +// VI_CHN s32BindChn; /* RW;Range [VI_CHN0, VI_MAX_PHY_CHN_NUM);The channel num which extend channel will bind to*/ +// SIZE_S stSize; /* RW;Channel out put size */ +// PIXEL_FORMAT_E enPixelFormat; /* RW;Pixel format */ +// CVI_U32 u32Depth; /* RW;Range [0,8];Depth */ +// FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */ +// } VI_EXT_CHN_ATTR_S; + +// typedef enum _VI_CROP_COORDINATE_E { +// VI_CROP_RATIO_COOR = 0, /* Ratio coordinate */ +// VI_CROP_ABS_COOR, /* Absolute coordinate */ +// VI_CROP_BUTT +// } VI_CROP_COORDINATE_E; + +// /* Information of chn crop */ +// typedef struct _VI_CROP_INFO_S { +// CVI_BOOL bEnable; /* RW;CROP enable*/ +// VI_CROP_COORDINATE_E enCropCoordinate; /* RW;Coordinate mode of the crop start point*/ +// RECT_S stCropRect; /* RW;CROP rectangular*/ +// } VI_CROP_INFO_S; + +// /* The attributes of LDC */ +// typedef struct _VI_LDC_ATTR_S { +// CVI_BOOL bEnable; /* RW;Whether LDC is enbale */ +// LDC_ATTR_S stAttr; +// } VI_LDC_ATTR_S; + +/* The status of chn */ +typedef struct _VI_CHN_STATUS_S { + CVI_BOOL bEnable; /* RO;Whether this channel is enabled */ + CVI_U32 u32FrameRate; /* RO;current frame rate */ + CVI_U64 u64PrevTime; // latest time (us) + CVI_U32 u32FrameNum; //The number of Frame in one second + CVI_U32 u32LostFrame; /* RO;Lost frame count */ + CVI_U32 u32VbFail; /* RO;Video buffer malloc failure */ + CVI_U32 u32IntCnt; /* RO;Receive frame int count */ + CVI_U32 u32RecvPic; /* RO;Receive frame count */ + CVI_U32 u32TotalMemByte; /* RO;VI buffer malloc failure */ + SIZE_S stSize; /* RO;chn output size */ + +} VI_CHN_STATUS_S; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _VI_DUMP_TYPE_E { + VI_DUMP_TYPE_RAW = 0, + VI_DUMP_TYPE_YUV = 1, + VI_DUMP_TYPE_IR = 2, + VI_DUMP_TYPE_BUTT +} VI_DUMP_TYPE_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _VI_DUMP_ATTR_S { + CVI_BOOL bEnable; /* RW;Whether dump is enable */ + CVI_U32 u32Depth; /* RW;Range [0,8];Depth */ + VI_DUMP_TYPE_E enDumpType; +} VI_DUMP_ATTR_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +typedef enum _VI_PIPE_FRAME_SOURCE_E { + VI_PIPE_FRAME_SOURCE_DEV = 0, /* RW;Source from dev */ + VI_PIPE_FRAME_SOURCE_USER_FE, /* RW;User send to FE */ + VI_PIPE_FRAME_SOURCE_USER_BE, /* RW;User send to BE */ + + VI_PIPE_FRAME_SOURCE_BUTT +} VI_PIPE_FRAME_SOURCE_E; + +typedef struct _VI_RAW_INFO_S { + VIDEO_FRAME_INFO_S stVideoFrame; + ISP_CONFIG_INFO_S stIspInfo; +} VI_RAW_INFO_S; + +/* module params */ +typedef struct _VI_MOD_PARAM_S { + CVI_S32 s32DetectErrFrame; + CVI_U32 u32DropErrFrame; +} VI_MOD_PARAM_S; + +typedef struct _VI_DEV_TIMING_ATTR_S { + CVI_BOOL bEnable; /* RW;Whether enable VI generate timing */ + CVI_S32 s32FrmRate; /* RW;Generate timing Frame rate*/ +} VI_DEV_TIMING_ATTR_S; + +typedef struct _VI_EARLY_INTERRUPT_S { + CVI_BOOL bEnable; + CVI_U32 u32LineCnt; +} VI_EARLY_INTERRUPT_S; + +/* VI dump register table */ +typedef struct _MLSC_GAIN_LUT_S { + CVI_U16 *RGain; + CVI_U16 *GGain; + CVI_U16 *BGain; +} MLSC_GAIN_LUT_S; + +typedef struct _VI_DUMP_REGISTER_TABLE_S { + MLSC_GAIN_LUT_S MlscGainLut; +} VI_DUMP_REGISTER_TABLE_S; + +typedef int (*pfnViDevPmOps)(void *pvData); + +typedef struct _VI_PM_OPS_S { + pfnViDevPmOps pfnSnsSuspend; + pfnViDevPmOps pfnSnsResume; + pfnViDevPmOps pfnMipiSuspend; + pfnViDevPmOps pfnMipiResume; +} VI_PM_OPS_S; + +typedef struct _VI_SMOOTH_RAW_DUMP_INFO_S { + VI_PIPE ViPipe; + CVI_U8 u8BlkCnt; // ring buffer number + CVI_U64 *phy_addr_list; // ring buffer addr +} VI_SMOOTH_RAW_DUMP_INFO_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* End of #ifndef__CVI_COMM_VIDEO_IN_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_comm_video.h b/freertos/cvitek/install/include/common/cvi_comm_video.h new file mode 100644 index 000000000..62d9aa311 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_comm_video.h @@ -0,0 +1,535 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_comm_video.h + * Description: + * Common video definitions. + */ + +#ifndef __CVI_COMM_VIDEO_H__ +#define __CVI_COMM_VIDEO_H__ + +#include +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +#define SRC_LENS_COEF_SEG 2 +#define DST_LENS_COEF_SEG 3 +#define SRC_LENS_COEF_NUM 4 +#define DST_LENS_COEF_NUM 4 + +#define ISP_BAYER_CHN (4) + +#define IS_FMT_YUV(fmt) \ + ((fmt == PIXEL_FORMAT_YUV_PLANAR_420) || (fmt == PIXEL_FORMAT_YUV_PLANAR_422) || \ + (fmt == PIXEL_FORMAT_YUV_PLANAR_444) || (fmt == PIXEL_FORMAT_YUV_400) || \ + (fmt == PIXEL_FORMAT_NV12) || (fmt == PIXEL_FORMAT_NV21) || \ + (fmt == PIXEL_FORMAT_NV16) || (fmt == PIXEL_FORMAT_NV61) || \ + (fmt == PIXEL_FORMAT_YUYV) || (fmt == PIXEL_FORMAT_UYVY) || \ + (fmt == PIXEL_FORMAT_YVYU) || (fmt == PIXEL_FORMAT_VYUY)) + +#define IS_FMT_YUV420(fmt) \ + ((fmt == PIXEL_FORMAT_YUV_PLANAR_420) || \ + (fmt == PIXEL_FORMAT_NV12) || (fmt == PIXEL_FORMAT_NV21) || \ + (fmt == PIXEL_FORMAT_YUYV) || (fmt == PIXEL_FORMAT_UYVY) || \ + (fmt == PIXEL_FORMAT_YVYU) || (fmt == PIXEL_FORMAT_VYUY)) + +#define IS_FMT_YUV422(fmt) \ + ((fmt == PIXEL_FORMAT_YUV_PLANAR_422) || \ + (fmt == PIXEL_FORMAT_NV16) || (fmt == PIXEL_FORMAT_NV61)) + +#define IS_FRAME_OFFSET_INVALID(f) \ + ((f).s16OffsetLeft < 0 || (f).s16OffsetRight < 0 || \ + (f).s16OffsetTop < 0 || (f).s16OffsetBottom < 0 || \ + ((CVI_U32)((f).s16OffsetLeft + (f).s16OffsetRight) > (f).u32Width) || \ + ((CVI_U32)((f).s16OffsetTop + (f).s16OffsetBottom) > (f).u32Height)) + +typedef enum _OPERATION_MODE_E { + OPERATION_MODE_AUTO = 0, + OPERATION_MODE_MANUAL = 1, + OPERATION_MODE_BUTT +} OPERATION_MODE_E; + +/*Angle of rotation*/ +typedef enum _ROTATION_E { + ROTATION_0 = 0, + ROTATION_90, + ROTATION_180, + ROTATION_270, + ROTATION_MAX +} ROTATION_E; + +typedef enum _VB_SOURCE_E { + VB_SOURCE_COMMON = 0, + VB_SOURCE_MODULE = 1, + VB_SOURCE_PRIVATE = 2, + VB_SOURCE_USER = 3, + VB_SOURCE_BUTT +} VB_SOURCE_E; + +typedef struct _BORDER_S { + CVI_U32 u32TopWidth; + CVI_U32 u32BottomWidth; + CVI_U32 u32LeftWidth; + CVI_U32 u32RightWidth; + CVI_U32 u32Color; +} BORDER_S; + +typedef struct _POINT_S { + CVI_S32 s32X; + CVI_S32 s32Y; +} POINT_S; + +typedef struct _SIZE_S { + CVI_U32 u32Width; + CVI_U32 u32Height; +} SIZE_S; + +/* + * u32Width : total pixels from snr + * u32Height : total lines from snr + * u32StartX : crop x + * u32StartY : crop y + * u32ActiveW : actual video pixels + * u32ActiveH : actual video lines + */ +typedef struct _SNR_SIZE_S { + CVI_U32 u32Width; + CVI_U32 u32Height; + CVI_U32 u32StartX; + CVI_U32 u32StartY; + CVI_U32 u32ActiveW; + CVI_U32 u32ActiveH; +} SNR_SIZE_S; + +typedef struct _RECT_S { + CVI_S32 s32X; + CVI_S32 s32Y; + CVI_U32 u32Width; + CVI_U32 u32Height; +} RECT_S; + +typedef struct _VIDEO_REGION_INFO_S { + CVI_U32 u32RegionNum; /* W; count of the region */ + RECT_S *pstRegion; /* W; region attribute */ +} VIDEO_REGION_INFO_S; + +typedef struct _CROP_INFO_S { + CVI_BOOL bEnable; + RECT_S stRect; +} CROP_INFO_S; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _FRAME_RATE_CTRL_S { + CVI_S32 s32SrcFrameRate; /* RW; source frame rate */ + CVI_S32 s32DstFrameRate; /* RW; dest frame rate */ +} FRAME_RATE_CTRL_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/* + * ASPECT_RATIO_NONE: full screen + * ASPECT_RATIO_AUTO: Keep ratio, automatically get the region of video. + * ASPECT_RATIO_MANUAL: Manully set the region of video. + */ +typedef enum _ASPECT_RATIO_E { + ASPECT_RATIO_NONE = 0, + ASPECT_RATIO_AUTO, + ASPECT_RATIO_MANUAL, + ASPECT_RATIO_MAX +} ASPECT_RATIO_E; + +/* + * enMode: aspect ratio mode: none/auto/manual + * bEnableBgColor: fill bgcolor + * u32BgColor: background color, RGB 888 + * stVideoRect: valid in ASPECT_RATIO_MANUAL mode + */ +typedef struct _ASPECT_RATIO_S { + ASPECT_RATIO_E enMode; + CVI_BOOL bEnableBgColor; + CVI_U32 u32BgColor; + RECT_S stVideoRect; +} ASPECT_RATIO_S; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _PIXEL_FORMAT_E { + PIXEL_FORMAT_RGB_888 = 0, + PIXEL_FORMAT_BGR_888, + PIXEL_FORMAT_RGB_888_PLANAR, + PIXEL_FORMAT_BGR_888_PLANAR, + + PIXEL_FORMAT_ARGB_1555, // 4, + PIXEL_FORMAT_ARGB_4444, + PIXEL_FORMAT_ARGB_8888, + + PIXEL_FORMAT_RGB_BAYER_8BPP, // 7, + PIXEL_FORMAT_RGB_BAYER_10BPP, + PIXEL_FORMAT_RGB_BAYER_12BPP, + PIXEL_FORMAT_RGB_BAYER_14BPP, + PIXEL_FORMAT_RGB_BAYER_16BPP, + + PIXEL_FORMAT_YUV_PLANAR_422, // 12, + PIXEL_FORMAT_YUV_PLANAR_420, + PIXEL_FORMAT_YUV_PLANAR_444, + PIXEL_FORMAT_YUV_400, + + PIXEL_FORMAT_HSV_888, // 16, + PIXEL_FORMAT_HSV_888_PLANAR, + + PIXEL_FORMAT_NV12, // 18, + PIXEL_FORMAT_NV21, + PIXEL_FORMAT_NV16, + PIXEL_FORMAT_NV61, + PIXEL_FORMAT_YUYV, + PIXEL_FORMAT_UYVY, + PIXEL_FORMAT_YVYU, + PIXEL_FORMAT_VYUY, + + PIXEL_FORMAT_FP32_C1 = 32, // 32 + PIXEL_FORMAT_FP32_C3_PLANAR, + PIXEL_FORMAT_INT32_C1, + PIXEL_FORMAT_INT32_C3_PLANAR, + PIXEL_FORMAT_UINT32_C1, + PIXEL_FORMAT_UINT32_C3_PLANAR, + PIXEL_FORMAT_BF16_C1, + PIXEL_FORMAT_BF16_C3_PLANAR, + PIXEL_FORMAT_INT16_C1, + PIXEL_FORMAT_INT16_C3_PLANAR, + PIXEL_FORMAT_UINT16_C1, + PIXEL_FORMAT_UINT16_C3_PLANAR, + PIXEL_FORMAT_INT8_C1, + PIXEL_FORMAT_INT8_C3_PLANAR, + PIXEL_FORMAT_UINT8_C1, + PIXEL_FORMAT_UINT8_C3_PLANAR, + + PIXEL_FORMAT_8BIT_MODE = 48, //48 + + PIXEL_FORMAT_MAX +} PIXEL_FORMAT_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/* + * VIDEO_FORMAT_LINEAR: nature video line. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _VIDEO_FORMAT_E { + VIDEO_FORMAT_LINEAR = 0, + VIDEO_FORMAT_MAX +} VIDEO_FORMAT_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/* + * COMPRESS_MODE_NONE: no compress. + * COMPRESS_MODE_TILE: compress unit is a tile. + * COMPRESS_MODE_LINE: compress unit is the whole line. + * COMPRESS_MODE_FRAME: ompress unit is the whole frame. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _COMPRESS_MODE_E { + COMPRESS_MODE_NONE = 0, + COMPRESS_MODE_TILE, + COMPRESS_MODE_LINE, + COMPRESS_MODE_FRAME, + COMPRESS_MODE_BUTT +} COMPRESS_MODE_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _BAYER_FORMAT_E { + BAYER_FORMAT_BG = 0, + BAYER_FORMAT_GB, + BAYER_FORMAT_GR, + BAYER_FORMAT_RG, + BAYER_FORMAT_MAX +} BAYER_FORMAT_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +typedef enum _VIDEO_DISPLAY_MODE_E { + VIDEO_DISPLAY_MODE_PREVIEW = 0x0, + VIDEO_DISPLAY_MODE_PLAYBACK = 0x1, + + VIDEO_DISPLAY_MODE_MAX +} VIDEO_DISPLAY_MODE_E; + +/* + * u32ISO: ISP internal ISO : Again*Dgain*ISPgain + * u32ExposureTime: Exposure time (reciprocal of shutter speed),unit is us + * u32FNumber: The actual F-number (F-stop) of lens when the image was taken + * u32SensorID: which sensor is used + * u32HmaxTimes: Sensor HmaxTimes,unit is ns + * u32VcNum: when dump wdr frame, which is long or short exposure frame. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _ISP_FRAME_INFO_S { + CVI_U32 u32ISO; + CVI_U32 u32ExposureTime; + CVI_U32 u32IspDgain; + CVI_U32 u32Again; + CVI_U32 u32Dgain; + CVI_U32 au32Ratio[3]; + CVI_U32 u32IspNrStrength; + CVI_U32 u32FNumber; + CVI_U32 u32SensorID; + CVI_U32 u32SensorMode; + CVI_U32 u32HmaxTimes; + CVI_U32 u32VcNum; +} ISP_FRAME_INFO_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +typedef struct _ISP_HDR_INFO_S { + CVI_U32 u32ColorTemp; + CVI_U16 au16CCM[9]; + CVI_U8 u8Saturation; +} ISP_HDR_INFO_S; + +typedef struct _ISP_ATTACH_INFO_S { + ISP_HDR_INFO_S stIspHdr; + CVI_U32 u32ISO; + CVI_U8 *u8SnsWDRMode; +} ISP_ATTACH_INFO_S; + +typedef enum _FRAME_FLAG_E { + FRAME_FLAG_SNAP_FLASH = 0x1 << 0, + FRAME_FLAG_SNAP_CUR = 0x1 << 1, + FRAME_FLAG_SNAP_REF = 0x1 << 2, + FRAME_FLAG_SNAP_END = 0x1 << 31, + FRAME_FLAG_MAX +} FRAME_FLAG_E; + +/* RGGB=4 */ +#define ISP_WB_GAIN_NUM 4 +/* 3*3=9 matrix */ +#define ISP_CAP_CCM_NUM 9 +typedef struct _ISP_CONFIG_INFO_S { + CVI_U32 u32ISO; + CVI_U32 u32IspDgain; + CVI_U32 u32ExposureTime; + CVI_U32 au32WhiteBalanceGain[ISP_WB_GAIN_NUM]; + CVI_U32 u32ColorTemperature; + CVI_U16 au16CapCCM[ISP_CAP_CCM_NUM]; +} ISP_CONFIG_INFO_S; + +/* + * pJpegDCFVirAddr: JPEG_DCF_S, used in JPEG DCF + * pIspInfoVirAddr: ISP_FRAME_INFO_S, used in ISP debug, when get raw and send raw + * pLowDelayVirAddr: used in low delay + */ +typedef struct _VIDEO_SUPPLEMENT_S { + CVI_U64 u64JpegDCFPhyAddr; + CVI_U64 u64IspInfoPhyAddr; + CVI_U64 u64LowDelayPhyAddr; + CVI_U64 u64FrameDNGPhyAddr; + + CVI_VOID * ATTRIBUTE pJpegDCFVirAddr; + CVI_VOID * ATTRIBUTE pIspInfoVirAddr; + CVI_VOID * ATTRIBUTE pLowDelayVirAddr; + CVI_VOID * ATTRIBUTE pFrameDNGVirAddr; +} VIDEO_SUPPLEMENT_S; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _COLOR_GAMUT_E { + COLOR_GAMUT_BT601 = 0, + COLOR_GAMUT_BT709, + COLOR_GAMUT_BT2020, + COLOR_GAMUT_USER, + COLOR_GAMUT_MAX +} COLOR_GAMUT_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +typedef struct _ISP_COLORGAMMUT_INFO_S { + COLOR_GAMUT_E enColorGamut; +} ISP_COLORGAMMUT_INFO_S; + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _DYNAMIC_RANGE_E { + DYNAMIC_RANGE_SDR8 = 0, + DYNAMIC_RANGE_SDR10, + DYNAMIC_RANGE_HDR10, + DYNAMIC_RANGE_HLG, + DYNAMIC_RANGE_SLF, + DYNAMIC_RANGE_XDR, + DYNAMIC_RANGE_MAX +} DYNAMIC_RANGE_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _DATA_BITWIDTH_E { + DATA_BITWIDTH_8 = 0, + DATA_BITWIDTH_10, + DATA_BITWIDTH_12, + DATA_BITWIDTH_14, + DATA_BITWIDTH_16, + DATA_BITWIDTH_MAX +} DATA_BITWIDTH_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/** + * @brief Define video frame + * + * s16OffsetTop: top offset of show area + * s16OffsetBottom: bottom offset of show area + * s16OffsetLeft: left offset of show area + * s16OffsetRight: right offset of show area + * u32FrameFlag: FRAME_FLAG_E, can be OR operation. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _VIDEO_FRAME_S { + CVI_U32 u32Width; + CVI_U32 u32Height; + PIXEL_FORMAT_E enPixelFormat; + BAYER_FORMAT_E enBayerFormat; + VIDEO_FORMAT_E enVideoFormat; + COMPRESS_MODE_E enCompressMode; + DYNAMIC_RANGE_E enDynamicRange; + COLOR_GAMUT_E enColorGamut; + CVI_U32 u32Stride[3]; + + CVI_U64 u64PhyAddr[3]; + CVI_U8 *pu8VirAddr[3]; +#ifdef __arm__ + __u32 u32VirAddrPadding[3]; +#endif + CVI_U32 u32Length[3]; + + CVI_S16 s16OffsetTop; + CVI_S16 s16OffsetBottom; + CVI_S16 s16OffsetLeft; + CVI_S16 s16OffsetRight; + + CVI_U32 u32TimeRef; + CVI_U64 u64PTS; + + void *pPrivateData; +#ifdef __arm__ + __u32 u32PrivateDataPadding; +#endif + CVI_U32 u32FrameFlag; + + CVI_U32 u32DevNum; +} VIDEO_FRAME_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/** + * @brief Define the information of video frame. + * + * stVFrame: Video frame info. + * u32PoolId: VB pool ID. + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _VIDEO_FRAME_INFO_S { + VIDEO_FRAME_S stVFrame; + CVI_U32 u32PoolId; +} VIDEO_FRAME_INFO_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +/* + * u32VBSize: size of VB needed. + * u32MainStride: stride of planar0. + * u32CStride: stride of planar1/2 if there is. + * u32MainSize: size of all planars. + * u32MainYSize: size of planar0. + * u32MainCSize: size of planar1/2 if there is. + * u16AddrAlign: address alignment needed between planar. + */ +typedef struct _VB_CAL_CONFIG_S { + CVI_U32 u32VBSize; + + CVI_U32 u32MainStride; + CVI_U32 u32CStride; + CVI_U32 u32MainSize; + CVI_U32 u32MainYSize; + CVI_U32 u32MainCSize; + CVI_U16 u16AddrAlign; + CVI_U8 plane_num; +} VB_CAL_CONFIG_S; + +/* + * enPixelFormat: Bitmap's pixel format + * u32Width: Bitmap's width + * u32Height: Bitmap's height + * pData: Address of Bitmap's data + */ +typedef struct _BITMAP_S { + PIXEL_FORMAT_E enPixelFormat; + CVI_U32 u32Width; + CVI_U32 u32Height; + + CVI_VOID * ATTRIBUTE pData; +} BITMAP_S; + +/* + * + * s32CenterXOffset: RW; Range: [-511, 511], horizontal offset of the image distortion center relative to image center + * s32CenterYOffset: RW; Range: [-511, 511], vertical offset of the image distortion center relative to image center + * s32DistortionRatio: RW; Range: [-300, 500], LDC Distortion ratio. + * When spread on,s32DistortionRatio range should be [0, 500] + */ +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef struct _LDC_ATTR_S { + CVI_BOOL bAspect; /* RW;Whether aspect ration is keep */ + CVI_S32 s32XRatio; /* RW; Range: [0, 100], field angle ration of horizontal,valid when bAspect=0.*/ + CVI_S32 s32YRatio; /* RW; Range: [0, 100], field angle ration of vertical,valid when bAspect=0.*/ + CVI_S32 s32XYRatio; /* RW; Range: [0, 100], field angle ration of all,valid when bAspect=1.*/ + CVI_S32 s32CenterXOffset; + CVI_S32 s32CenterYOffset; + CVI_S32 s32DistortionRatio; +} LDC_ATTR_S; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _WDR_MODE_E { + WDR_MODE_NONE = 0, + WDR_MODE_BUILT_IN, + WDR_MODE_QUDRA, + + WDR_MODE_2To1_LINE, + WDR_MODE_2To1_FRAME, + WDR_MODE_2To1_FRAME_FULL_RATE, + + WDR_MODE_3To1_LINE, + WDR_MODE_3To1_FRAME, + WDR_MODE_3To1_FRAME_FULL_RATE, + + WDR_MODE_4To1_LINE, + WDR_MODE_4To1_FRAME, + WDR_MODE_4To1_FRAME_FULL_RATE, + + WDR_MODE_MAX, +} WDR_MODE_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +// ++++++++ If you want to change these interfaces, please contact the isp team. ++++++++ +typedef enum _PROC_AMP_E { + PROC_AMP_BRIGHTNESS = 0, + PROC_AMP_CONTRAST, + PROC_AMP_SATURATION, + PROC_AMP_HUE, + PROC_AMP_MAX, +} PROC_AMP_E; +// -------- If you want to change these interfaces, please contact the isp team. -------- + +typedef struct _PROC_AMP_CTRL_S { + CVI_S32 minimum; + CVI_S32 maximum; + CVI_S32 step; + CVI_S32 default_value; +} PROC_AMP_CTRL_S; + +typedef struct _VCODEC_PERF_FPS_S { + CVI_U32 u32InFPS; + CVI_U32 u32OutFPS; + CVI_U64 u64HwTime; +} VCODEC_PERF_FPS_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* _CVI_COMM_VIDEO_H_ */ diff --git a/freertos/cvitek/install/include/common/cvi_common.h b/freertos/cvitek/install/include/common/cvi_common.h new file mode 100644 index 000000000..b76eba823 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_common.h @@ -0,0 +1,93 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_common.h + * Description: Common video definitions. + */ + +#ifndef __CVI_COMMON_H__ +#define __CVI_COMMON_H__ + +#include +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#ifndef __FILENAME__ +#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) +#endif + +#ifndef ARRAY_SIZE +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#endif + +#undef ALIGN +#define ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1)) + +#define ATTRIBUTE __attribute__((aligned(ALIGN_NUM))) + +#define CVI_INVALID_CHN (-1) +#define CVI_INVALID_LAYER (-1) +#define CVI_INVALID_DEV (-1) +#define CVI_INVALID_HANDLE (-1) +#define CVI_INVALID_VALUE (-1) +#define CVI_INVALID_TYPE (-1) + +typedef CVI_S32 VI_DEV; +typedef CVI_S32 VI_PIPE; +typedef CVI_S32 VI_CHN; +typedef CVI_S32 ISP_DEV; +typedef CVI_S32 SENSOR_ID; + +#define FOREACH_MOD(MOD) {\ + MOD(BASE) \ + MOD(VB) \ + MOD(SYS) \ + MOD(RGN) \ + MOD(CHNL) \ + MOD(VDEC) \ + MOD(VPSS) \ + MOD(VENC) \ + MOD(H264E) \ + MOD(JPEGE) \ + MOD(MPEG4E) \ + MOD(H265E) \ + MOD(JPEGD) \ + MOD(VO) \ + MOD(VI) \ + MOD(DIS) \ + MOD(RC) \ + MOD(AIO) \ + MOD(AI) \ + MOD(AO) \ + MOD(AENC) \ + MOD(ADEC) \ + MOD(AUD) \ + MOD(VPU) \ + MOD(ISP) \ + MOD(IVE) \ + MOD(USER) \ + MOD(PROC) \ + MOD(LOG) \ + MOD(H264D) \ + MOD(GDC) \ + MOD(PHOTO) \ + MOD(FB) \ + MOD(BUTT) \ +} + +#define GENERATE_ENUM(ENUM) CVI_ID_ ## ENUM, + +typedef enum _MOD_ID_E FOREACH_MOD(GENERATE_ENUM) MOD_ID_E; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_COMMON_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_debug.h b/freertos/cvitek/install/include/common/cvi_debug.h new file mode 100644 index 000000000..94b798f61 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_debug.h @@ -0,0 +1,143 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_debug.h + * Description: + */ + +#ifndef __CVI_DEBUG_H__ +#define __CVI_DEBUG_H__ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define syslog(...) +#define LOG_LOCAL5 5 + +/* + * Debug Config + */ +#define CONFIG_CVI_GDB_NO 1 +#define CONFIG_CVI_GDB "n" +#define CONFIG_CVI_LOG_TRACE_SUPPORT 1 +#define CONFIG_CVI_LOG_TRACE_ALL 1 +#define CONFIG_CVI_LOG_TRACE_LEVEL 4 + + +#define CVI_DBG_EMERG 0 /* system is unusable */ +#define CVI_DBG_ALERT 1 /* action must be taken immediately */ +#define CVI_DBG_CRIT 2 /* critical conditions */ +#define CVI_DBG_ERR 3 /* error conditions */ +#define CVI_DBG_WARN 4 /* warning conditions */ +#define CVI_DBG_NOTICE 5 /* normal but significant condition */ +#define CVI_DBG_INFO 6 /* informational */ +#define CVI_DBG_DEBUG 7 /* debug-level messages */ + +typedef struct _LOG_LEVEL_CONF_S { + MOD_ID_E enModId; + CVI_S32 s32Level; + char cModName[16]; +} LOG_LEVEL_CONF_S; + +#define CVI_PRINT printf + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" + +static CVI_S32 *log_levels; +static CVI_CHAR const *log_name[8] = { + (CVI_CHAR *)"EMG", (CVI_CHAR *)"ALT", (CVI_CHAR *)"CRI", (CVI_CHAR *)"ERR", + (CVI_CHAR *)"WRN", (CVI_CHAR *)"NOT", (CVI_CHAR *)"INF", (CVI_CHAR *)"DBG" +}; + +#pragma GCC diagnostic pop + +#define _GENERATE_STRING(STRING) (#STRING), +static const char *const MOD_STRING[] = FOREACH_MOD(_GENERATE_STRING); +#define CVI_GET_MOD_NAME(id) (id < CVI_ID_BUTT)? MOD_STRING[id] : "UNDEF" + +/* #ifdef CVI_DEBUG */ +#ifdef CONFIG_CVI_LOG_TRACE_SUPPORT + + #define CVI_ASSERT(expr) \ + do { \ + if (!(expr)) { \ + printf("\nASSERT at:\n" \ + " >Function : %s\n" \ + " >Line No. : %d\n" \ + " >Condition: %s\n", \ + __func__, __LINE__, #expr); \ + _exit(-1); \ + } \ + } while (0) + +#ifndef FPGA_PORTING + + #define CVI_TRACE(level, enModId, fmt, ...) \ + do { \ + CVI_S32 LogLevel = (log_levels == NULL) ? CONFIG_CVI_LOG_TRACE_LEVEL : log_levels[enModId]; \ + if (level <= LogLevel) { \ + syslog(LOG_LOCAL5|level, "[%s-%s] " fmt, CVI_GET_MOD_NAME(enModId), log_name[level], \ + ##__VA_ARGS__); \ + } \ + } while (0) +#else + #define CVI_TRACE(level, enModId, fmt, ...) \ + printf(fmt, ##__VA_ARGS__) +#endif +#else + #define CVI_ASSERT(expr) + #define CVI_TRACE(level, enModId, fmt...) +#endif + +#define CVI_TRACE_ID(level, id, fmt, ...) \ + CVI_TRACE(level, id, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_LOG(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_LOG, "%s:%d:%s(): " fmt, __FILENAM__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_SYS(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_SYS, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_VB(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_VB, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_SNS(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_VI, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_VI(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_VI, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_VPSS(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_VPSS, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_VO(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_VO, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_GDC(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_GDC, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_RGN(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_RGN, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + +#define CVI_TRACE_MISC(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_SYS, "%s:%d:%s(): " fmt, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_COMM_SYS_H__ */ + diff --git a/freertos/cvitek/install/include/common/cvi_defines.h b/freertos/cvitek/install/include/common/cvi_defines.h new file mode 100644 index 000000000..426ce8df2 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_defines.h @@ -0,0 +1,355 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_defines.h + * Description: + * The common definitions per chip capability. + */ + /****************************************************************************** */ + +#ifndef __U_CVI_DEFINES_H__ +#define __U_CVI_DEFINES_H__ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +#define CVI_CHIP_TEST 0x0 + +#ifndef CVI_CHIP_NAME +#ifdef __CV181X__ +#define CVI_CHIP_NAME "CV181X" +#else +#define CVI_CHIP_NAME "CV180X" +#endif +#endif + +#define CVI1835 0x1 +#define CVI1832 0x2 +#define CVI1838 0x3 +#define CVI1822 0x4 +#define CVI1829 0x5 +#define CVI1826 0x6 +#define CVI1821 0x7 +#define CVI1820 0x8 +#define CVI1823 0x9 +#define CVI1825 0xA + +#define CVIU01 0x1 +#define CVIU02 0x2 + +#define CVI_COLDBOOT 0x1 +#define CVI_WDTBOOT 0x2 +#define CVI_SUSPENDBOOT 0x3 +#define CVI_WARMBOOT 0x4 + +#define IS_CHIP_CV183X(x) (((x) == CVI1829) || ((x) == CVI1832) || ((x) == CVI1835) || ((x) == CVI1838)) +#define IS_CHIP_CV182X(x) (((x) == CVI1820) || ((x) == CVI1821) || ((x) == CVI1822) \ + || ((x) == CVI1823) || ((x) == CVI1825) || ((x) == CVI1826)) + +#define MMF_VER_PRIX "_MMF_V" + +#define ALIGN_NUM 4 + +#define LUMA_PHY_ALIGN 16 + +#define DEFAULT_ALIGN 64 +#define MAX_ALIGN 1024 +#define SEG_CMP_LENGTH 256 + +/* For VENC */ +#define VENC_MAX_NAME_LEN 16 +#define VENC_MAX_CHN_NUM 64 +#define VEDU_IP_NUM 1 +#define H264E_MAX_WIDTH 4096 +#define H264E_MAX_HEIGHT 4096 +#define H264E_MIN_WIDTH 114 +#define H264E_MIN_HEIGHT 114 +#define H265E_MAX_WIDTH 4096 +#define H265E_MAX_HEIGHT 4096 +#define H265E_MIN_WIDTH 114 +#define H265E_MIN_HEIGHT 114 +#define JPEGE_MAX_WIDTH 8192 +#define JPEGE_MAX_HEIGHT 8192 +#define JPEGE_MIN_WIDTH 32 +#define JPEGE_MIN_HEIGHT 32 +#define JPGE_MAX_NUM 1 +#define VENC_MAX_ROI_NUM 8 +#define H264E_MIN_HW_INDEX 0 +#define H264E_MAX_HW_INDEX 11 +#define H264E_MIN_VW_INDEX 0 +#define H264E_MAX_VW_INDEX 3 +#define VENC_QP_HISGRM_NUM 52 +#define MAX_TILE_NUM 1 +#define H265E_ADAPTIVE_FRAME_TYPE 4 +#define H265E_ADAPTIVE_QP_TYPE 5 + +#define VENC_MIN_INPUT_FRAME_RATE 1 +#define VENC_MAX_INPUT_FRAME_RATE 240 + +#define VENC_MAX_RECEIVE_SOURCE 4 + +#define VENC_PIC_RECEIVE_SOURCE0 0 +#define VENC_PIC_RECEIVE_SOURCE1 1 +#define VENC_PIC_RECEIVE_SOURCE2 2 +#define VENC_PIC_RECEIVE_SOURCE3 3 + +#define VENC_ALIGN_W 32 +#define VENC_ALIGN_H 16 + +/* For RC */ +#define RC_TEXTURE_THR_SIZE 16 +#define MIN_BITRATE 2 +#define MAX_BITRATE (100*1024) + +/* For VDEC */ +#define VDEC_MAX_CHN_NUM 64 +#define VDH_MAX_CHN_NUM 0 +#define VEDU_CHN_START VDH_MAX_CHN_NUM +#define VEDU_H264D_ERRRATE 10 +#define VEDU_H264D_FULLERR 100 + +#define H264D_ALIGN_W 64 +#define H264D_ALIGN_H 64 +#define H265D_ALIGN_W 64 +#define H265D_ALIGN_H 64 +#define JPEGD_ALIGN_W 64 +#define JPEGD_ALIGN_H 16 +#define JPEGD_RGB_ALIGN 16 + +#define H264D_ALIGN_FRM 0x1000 +#define H265D_ALIGN_FRM 0x1000 +#define JPEGD_ALIGN_FRM 0x1000 + +#define H264D_MAX_SPS 32 +#define H264D_MIN_SPS 1 +#define H264D_MAX_PPS 256 +#define H264D_MIN_PPS 1 +#define H264D_MAX_SLICE 300 +#define H264D_MIN_SLICE 1 + +#define H265D_MAX_VPS 16 +#define H265D_MIN_VPS 1 +#define H265D_MAX_SPS 16 +#define H265D_MIN_SPS 1 +#define H265D_MAX_PPS 64 +#define H265D_MIN_PPS 1 +#define H265D_MAX_SLICE 200 +#define H265D_MIN_SLICE 1 + +#define VEDU_H264D_MAX_WIDTH 2880 +#define VEDU_H264D_MAX_HEIGHT 1920 +#define VEDU_H264D_MIN_WIDTH 114 +#define VEDU_H264D_MIN_HEIGHT 114 + +#define VEDU_H265D_MAX_WIDTH 2880 +#define VEDU_H265D_MAX_HEIGHT 1920 +#define VEDU_H265D_MIN_WIDTH 114 +#define VEDU_H265D_MIN_HEIGHT 114 + +#define JPEGD_IP_NUM 1 +#define JPEGD_MAX_WIDTH 2880 +#define JPEGD_MAX_HEIGHT 1920 +#define JPEGD_MIN_WIDTH 8 +#define JPEGD_MIN_HEIGHT 8 + +/* For Region */ +#define RGN_MIN_WIDTH 2 +#define RGN_MIN_HEIGHT 2 + +#define RGN_COVER_MIN_X -8192 +#define RGN_COVER_MIN_Y -8192 +#define RGN_COVER_MAX_X 8190 +#define RGN_COVER_MAX_Y 8190 +#define RGN_COVER_MAX_WIDTH 8192 +#define RGN_COVER_MAX_HEIGHT 8192 + +#define RGN_COVEREX_MIN_X -8192 +#define RGN_COVEREX_MIN_Y -8192 +#define RGN_COVEREX_MAX_X 8190 +#define RGN_COVEREX_MAX_Y 8190 +#define RGN_COVEREX_MAX_WIDTH 8192 +#define RGN_COVEREX_MAX_HEIGHT 8192 + +#define RGN_OVERLAY_MIN_X 0 +#define RGN_OVERLAY_MIN_Y 0 +#define RGN_OVERLAY_MAX_X 8190 +#define RGN_OVERLAY_MAX_Y 8190 +#define RGN_OVERLAY_MAX_WIDTH 8192 +#define RGN_OVERLAY_MAX_HEIGHT 8192 + +#define RGN_OVERLAYEX_MIN_X 0 +#define RGN_OVERLAYEX_MIN_Y 0 +#define RGN_OVERLAYEX_MAX_X 8190 +#define RGN_OVERLAYEX_MAX_Y 8190 +#define RGN_OVERLAYEX_MAX_WIDTH 8192 +#define RGN_OVERLAYEX_MAX_HEIGHT 8192 + +#define RGN_MOSAIC_X_ALIGN 4 +#define RGN_MOSAIC_Y_ALIGN 2 +#define RGN_MOSAIC_WIDTH_ALIGN 4 +#define RGN_MOSAIC_HEIGHT_ALIGN 4 + +#define RGN_MOSAIC_MIN_X 0 +#define RGN_MOSAIC_MIN_Y 0 +#define RGN_MOSAIC_MAX_X 8190 +#define RGN_MOSAIC_MAX_Y 8190 +#define RGN_MOSAIC_MIN_WIDTH 32 +#define RGN_MOSAIC_MIN_HEIGHT 32 +#define RGN_MOSAIC_MAX_WIDTH 8192 +#define RGN_MOSAIC_MAX_HEIGHT 8192 + +#define SCL_MAX_GOP_INST 2 +#define RGN_MAX_BUF_NUM 2 + +#define RGN_MAX_NUM_VPSS 8 +#define RGN_MAX_NUM_VO 8 +#define RGN_EX_MAX_NUM_VPSS 32 +#define RGN_EX_MAX_WIDTH 2304 + +#define RGN_MAX_NUM 108 + +/*************************************/ +#define VENC_MAX_SSE_NUM 8 +#define CVI_MAX_SENSOR_NUM 2 + +/* For VI */ +/* number of channel and device on video input unit of chip + * Note! VI_MAX_CHN_NUM is NOT equal to VI_MAX_DEV_NUM + * multiplied by VI_MAX_CHN_NUM, because all VI devices + * can't work at mode of 4 channels at the same time. + */ +#define VI_MAX_DEV_NUM 3 +#define VI_MAX_PHY_PIPE_NUM 4 +#define VI_MAX_VIR_PIPE_NUM 0 +#define VI_MAX_PIPE_NUM (VI_MAX_PHY_PIPE_NUM + VI_MAX_VIR_PIPE_NUM) +#define VI_MAX_WDR_NUM 1 + +#define VI_MAX_VIR_CHN_NUM 2 +#define VI_MAX_PHY_CHN_NUM 2 +#define VI_MAX_EXT_CHN_NUM 2 +#define VI_MAX_CHN_NUM (VI_MAX_PHY_CHN_NUM + VI_MAX_VIR_CHN_NUM) +#define VI_EXT_CHN_START VI_MAX_CHN_NUM +#define VI_MAX_EXTCHN_BIND_PER_CHN 1 + +#define VI_MAX_WDR_FRAME_NUM 2 +#define VI_MAX_NODE_NUM 3 +#define VIPROC_IP_NUM 1 +#define VICAP_IP_NUM 1 + +#define VI_MAX_SPLIT_NODE_NUM 3 + +#define VI_DEV_MIN_WIDTH 120 +#define VI_DEV_MIN_HEIGHT 120 +#define VI_DEV_MAX_WIDTH 4608 +#define VI_DEV_MAX_HEIGHT 4608 +#define VI_FPN_MAX_WIDTH 4096 +#define VI_FPN_MAX_HEIGHT VI_DEV_MAX_HEIGHT + +#define VI_PIPE_OFFLINE_MIN_WIDTH 120 +#define VI_PIPE_OFFLINE_MIN_HEIGHT 120 +#define VI_PIPE_OFFLINE_MAX_WIDTH 4096 +#define VI_PIPE_OFFLINE_MAX_HEIGHT 2160 + +#define VI_PIPE_ONLINE_MIN_WIDTH 120 +#define VI_PIPE_ONLINE_MIN_HEIGHT 120 +#define VI_PIPE_ONLINE_MAX_WIDTH 2688 +#define VI_PIPE_ONLINE_MAX_HEIGHT 1944 + +#define VI_PIPE0_MAX_WIDTH 4096 +#define VI_PIPE0_MAX_HEIGHT 2160 +#define VI_PIPE1_MAX_WIDTH 4096 +#define VI_PIPE1_MAX_HEIGHT 2160 +#define VI_PIPE2_MAX_WIDTH 2688 +#define VI_PIPE2_MAX_HEIGHT 1944 +#define VI_PIPE3_MAX_WIDTH 2688 +#define VI_PIPE3_MAX_HEIGHT 1944 + +#define VI_PIPE_WDR_FIRST_MAX_WIDTH VI_PIPE1_MAX_WIDTH +#define VI_PIPE_FUSION_MAX_WIDTH 2688 +#define VI_PIPE_FUSION_MAX_HEIGHT 1944 + +#define VI_PHYCHN_OFFLINE_MIN_WIDTH 120 +#define VI_PHYCHN_OFFLINE_MIN_HEIGHT 120 +#define VI_PHYCHN_OFFLINE_MAX_WIDTH 4608 +#define VI_PHYCHN_OFFLINE_MAX_HEIGHT 4608 + +#define VI_PHYCHN_ONLINE_MIN_WIDTH 120 +#define VI_PHYCHN_ONLINE_MIN_HEIGHT 120 +#define VI_PHYCHN_ONLINE_MAX_WIDTH 2048 +#define VI_PHYCHN_ONLINE_MAX_HEIGHT 4608 + +#define VI_CMP_PARAM_SIZE 152 + +#define VI_PIXEL_FORMAT PIXEL_FORMAT_NV21 + +#define CVI_VI_VPSS_EXTRA_BUF 0 + +#define CVI_VI_CHN_0_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_1_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_2_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_3_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_BUF (CVI_VI_CHN_0_BUF + CVI_VI_CHN_1_BUF + CVI_VI_CHN_2_BUF + CVI_VI_CHN_3_BUF) + +/* For VO */ +#define VO_MIN_CHN_WIDTH 32 /* channel minimal width */ +#define VO_MIN_CHN_HEIGHT 32 /* channel minimal height */ +#define VO_MAX_DEV_NUM 1 /* max dev num */ +#define VO_MAX_LAYER_NUM 1 /* max layer num */ +#define VO_MAX_PRIORITY 1 /* max layer priority */ +#define VO_MAX_CHN_NUM 1 /* max chn num */ +#define VO_MAX_LAYER_IN_DEV 1 /* max layer num of each dev */ +#define VO_MAX_GRAPHICS_LAYER_NUM 1 +#define VO_MIN_TOLERATE 1 /* min play toleration 1ms */ +#define VO_MAX_TOLERATE 100000 /* max play toleration 100s */ + +/* For AUDIO */ +#define AI_DEV_MAX_NUM 1 +#define AO_DEV_MIN_NUM 0 +#define AO_DEV_MAX_NUM 2 +#define AIO_MAX_NUM 2 +#define AENC_MAX_CHN_NUM 2 +#define ADEC_MAX_CHN_NUM 2 + +#define AI_MAX_CHN_NUM 2 +#define AO_MAX_CHN_NUM 1 +#define AO_SYSCHN_CHNID (AO_MAX_CHN_NUM - 1) + +#define AIO_MAX_CHN_NUM ((AO_MAX_CHN_NUM > AI_MAX_CHN_NUM) ? AO_MAX_CHN_NUM:AI_MAX_CHN_NUM) + +/* For VPSS */ +#define VPSS_IP_NUM 2 +#define VPSS_DEV_0 0 +#define VPSS_DEV_1 1 +#define VPSS_MAX_GRP_NUM 16 +#define VPSS_ONLINE_GRP_0 0 +#define VPSS_ONLINE_GRP_1 1 +#define VPSS_MAX_PHY_CHN_NUM 4 /* sc_d, sc_v1, sc_v2, sc_v3 */ +#define VPSS_MAX_CHN_NUM (VPSS_MAX_PHY_CHN_NUM) +#define VPSS_MIN_IMAGE_WIDTH 32 +#define VPSS_MAX_IMAGE_WIDTH 2880 +#define VPSS_MAX_IMAGE_HEIGHT 2880 +#define VPSS_MAX_ZOOMIN 32 +#define VPSS_MAX_ZOOMOUT 32 + +/*For Gdc*/ +#define LDC_ALIGN 64 +#define LDC_MIN_IMAGE_WIDTH 640 +#define LDC_MIN_IMAGE_HEIGHT 480 + +#define SPREAD_MIN_IMAGE_WIDTH 640 +#define SPREAD_MIN_IMAGE_HEIGHT 480 + +/* For GDC */ +#define GDC_IP_NUM 1 +#define GDC_PROC_JOB_INFO_NUM (500) + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __U_CVI_DEFINES_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_errno.h b/freertos/cvitek/install/include/common/cvi_errno.h new file mode 100644 index 000000000..9b2131ca0 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_errno.h @@ -0,0 +1,281 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_errno.h + * Description: + * error code definition. + */ + +#ifndef __CVI_ERRNO_H__ +#define __CVI_ERRNO_H__ + +#include "cvi_debug.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + + +#ifndef CVI_ERR_APPID +#define CVI_ERR_APPID (0x00000000UL) +#endif + +typedef enum _ERR_LEVEL_E { + EN_ERR_LEVEL_DEBUG = 0, /* debug-level */ + EN_ERR_LEVEL_INFO, /* informational */ + EN_ERR_LEVEL_NOTICE, /* normal but significant condition */ + EN_ERR_LEVEL_WARNING, /* warning conditions */ + EN_ERR_LEVEL_ERROR, /* error conditions */ + EN_ERR_LEVEL_CRIT, /* critical conditions */ + EN_ERR_LEVEL_ALERT, /* action must be taken immediately */ + EN_ERR_LEVEL_FATAL, /* just for compatibility with previous version */ + EN_ERR_LEVEL_BUTT +} ERR_LEVEL_E; + + +/****************************************************************************** */ +/*|----------------------------------------------------------------|*/ +/*| 11| APP_ID | MOD_ID | ERR_LEVEL | ERR_ID |*/ +/*|----------------------------------------------------------------|*/ +/*|<--><--6bits----><----8bits---><--3bits---><------13bits------->|*/ +/*******************************************************************************/ + +#define CVI_DEF_ERR(module, level, errid) \ + ((CVI_S32)(0xC0000000UL | (CVI_ERR_APPID) | ((module) << 16) | ((level) << 13) | (errid))) + +/* NOTE! the following defined all common error code, */ +/*** all module must reserved 0~63 for their common error code*/ + +typedef enum _EN_ERR_CODE_E { + EN_ERR_INVALID_DEVID = 1, /* invalid device ID */ + EN_ERR_INVALID_CHNID = 2, /* invalid channel ID*/ + EN_ERR_ILLEGAL_PARAM = 3, + /* at least one parameter is illegal*/ + /* eg, an illegal enumeration value */ + EN_ERR_EXIST = 4, /* resource exists*/ + EN_ERR_UNEXIST = 5, /* resource unexists */ + EN_ERR_NULL_PTR = 6, /* using a NULL point*/ + EN_ERR_NOT_CONFIG = 7, + /* try to enable or initialize system, device*/ + /* or channel, before configing attribute*/ + EN_ERR_NOT_SUPPORT = 8, + /* operation or type is not supported by NOW*/ + EN_ERR_NOT_PERM = 9, + /* operation is not permitted*/ + /* eg, try to change static attribute*/ + EN_ERR_INVALID_PIPEID = 10, + /* invalid pipe ID*/ + EN_ERR_INVALID_GRPID = 11, + /* invalid group ID*/ + EN_ERR_NOMEM = 12, + /* failure caused by malloc memory*/ + EN_ERR_NOBUF = 13, + /* failure caused by malloc buffer*/ + EN_ERR_BUF_EMPTY = 14, + /* no data in buffer */ + EN_ERR_BUF_FULL = 15, + /* no buffer for new data*/ + EN_ERR_SYS_NOTREADY = 16, + /* System is not ready, maybe not initialized or*/ + /* loaded. Returning the error code when opening*/ + /* a device file failed.*/ + EN_ERR_BADADDR = 17, + /* bad address,*/ + /* eg. used for copy_from_user & copy_to_user*/ + EN_ERR_BUSY = 18, + /* resource is busy,*/ + /* eg. destroy a venc chn without unregister it */ + EN_ERR_SIZE_NOT_ENOUGH = 19, + /* buffer size is smaller than the actual size required */ + EN_ERR_INVALID_VB = 20, + /* invalid VB handle */ + EN_ERR_BUTT = 63, + /* maximum code, private error code of all modules*/ + /* must be greater than it */ +} EN_ERR_CODE_E; + +typedef enum _EN_VI_ERR_CODE_E { + ERR_VI_FAILED_NOT_ENABLED = 64, /* device or channel not enable*/ + ERR_VI_FAILED_NOT_DISABLED, /* device not disable*/ + ERR_VI_FAILED_CHN_NOT_DISABLED, /* channel not disable*/ + ERR_VI_CFG_TIMEOUT, /* config timeout*/ + ERR_VI_NORM_UNMATCH, /* video norm of ADC and VIU is unmatch*/ + ERR_VI_INVALID_PHYCHNID, /* invalid phychn id*/ + ERR_VI_FAILED_NOTBIND, /* device or channel not bind */ + ERR_VI_FAILED_BINDED, /* device or channel not unbind */ + ERR_VI_DIS_PROCESS_FAIL /* dis process failed */ +} EN_VI_ERR_CODE_E; + +typedef enum _EN_VOU_ERR_CODE_E { + EN_ERR_VO_DEV_NOT_CONFIG = 0x40, + EN_ERR_VO_DEV_NOT_ENABLED = 0x41, + EN_ERR_VO_DEV_HAS_ENABLED = 0x42, + + EN_ERR_VO_LAYER_NOT_ENABLED = 0x45, + EN_ERR_VO_LAYER_NOT_DISABLED = 0x46, + EN_ERR_VO_LAYER_NOT_CONFIG = 0x47, + + EN_ERR_VO_CHN_NOT_DISABLED = 0x48, + EN_ERR_VO_CHN_NOT_ENABLED = 0x49, + EN_ERR_VO_CHN_NOT_CONFIG = 0x4a, + + EN_ERR_VO_WAIT_TIMEOUT = 0x4e, + EN_ERR_VO_INVALID_VFRAME = 0x4f, + EN_ERR_VO_INVALID_RECT_PARA = 0x50, + + EN_ERR_VO_CHN_AREA_OVERLAP = 0x65, + + EN_ERR_VO_INVALID_LAYERID = 0x66, + + /* new added */ + ERR_VO_BUTT +} EN_VOU_ERR_CODE_E; + +#define CVI_ERR_SYS_NULL_PTR CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_SYS_NOTREADY CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_SYS_NOT_PERM CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_SYS_NOMEM CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_SYS_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_SYS_BUSY CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +#define CVI_ERR_SYS_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +#define CVI_ERR_SYS_REMAPPING CVI_DEF_ERR(CVI_ID_SYS, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF) + +#define CVI_ERR_VB_NULL_PTR CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_VB_INVALID CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_VB) +#define CVI_ERR_VB_NOMEM CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_VB_NOBUF CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF) +#define CVI_ERR_VB_UNEXIST CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_UNEXIST) +#define CVI_ERR_VB_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_VB_NOTREADY CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_VB_BUSY CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +#define CVI_ERR_VB_NOT_PERM CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_VB_SIZE_NOT_ENOUGH CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_SIZE_NOT_ENOUGH) +#define CVI_ERR_VB_2MPOOLS CVI_DEF_ERR(CVI_ID_VB, EN_ERR_LEVEL_ERROR, EN_ERR_BUTT + 1) + +#define CVI_ERR_VI_INVALID_PARA CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_VI_INVALID_DEVID CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_DEVID) +#define CVI_ERR_VI_INVALID_PIPEID CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_PIPEID) +#define CVI_ERR_VI_INVALID_CHNID CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_CHNID) +#define CVI_ERR_VI_INVALID_NULL_PTR CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_VI_FAILED_NOTCONFIG CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_CONFIG) +#define CVI_ERR_VI_SYS_NOTREADY CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_VI_BUF_EMPTY CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_EMPTY) +#define CVI_ERR_VI_BUF_FULL CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_FULL) +#define CVI_ERR_VI_NOMEM CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_VI_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +#define CVI_ERR_VI_BUSY CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +#define CVI_ERR_VI_NOT_PERM CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_VI_FAILED_NOT_ENABLED CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_FAILED_NOT_ENABLED) +#define CVI_ERR_VI_FAILED_NOT_DISABLED CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_FAILED_NOT_DISABLED) +#define CVI_ERR_VI_FAILED_CHN_NOT_DISABLED CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_FAILED_CHN_NOT_DISABLED) +#define CVI_ERR_VI_CFG_TIMEOUT CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_CFG_TIMEOUT) +#define CVI_ERR_VI_NORM_UNMATCH CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_NORM_UNMATCH) +#define CVI_ERR_VI_INVALID_PHYCHNID CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_INVALID_PHYCHNID) +#define CVI_ERR_VI_FAILED_NOTBIND CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_FAILED_NOTBIND) +#define CVI_ERR_VI_FAILED_BINDED CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, ERR_VI_FAILED_BINDED) +#define CVI_ERR_VI_PIPE_EXIST CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_EXIST) +#define CVI_ERR_VI_PIPE_UNEXIST CVI_DEF_ERR(CVI_ID_VI, EN_ERR_LEVEL_ERROR, EN_ERR_UNEXIST) + +#define CVI_ERR_VPSS_NULL_PTR CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_VPSS_NOTREADY CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_VPSS_INVALID_DEVID CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_DEVID) +#define CVI_ERR_VPSS_INVALID_CHNID CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_CHNID) +#define CVI_ERR_VPSS_EXIST CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_EXIST) +#define CVI_ERR_VPSS_UNEXIST CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_UNEXIST) +#define CVI_ERR_VPSS_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +#define CVI_ERR_VPSS_NOT_PERM CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_VPSS_NOMEM CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_VPSS_NOBUF CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF) +#define CVI_ERR_VPSS_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_VPSS_BUSY CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +#define CVI_ERR_VPSS_BUF_EMPTY CVI_DEF_ERR(CVI_ID_VPSS, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_EMPTY) + +/* System define error code */ +#define CVI_ERR_VO_BUSY CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +#define CVI_ERR_VO_NO_MEM CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_VO_NULL_PTR CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_VO_SYS_NOTREADY CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_VO_INVALID_DEVID CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_DEVID) +#define CVI_ERR_VO_INVALID_CHNID CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_CHNID) +#define CVI_ERR_VO_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_VO_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +#define CVI_ERR_VO_NOT_PERMIT CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_VO_INVALID_LAYERID CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_INVALID_LAYERID) +/* Device relative error code */ +#define CVI_ERR_VO_DEV_NOT_CONFIG CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_DEV_NOT_CONFIG) +#define CVI_ERR_VO_DEV_NOT_ENABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_DEV_NOT_ENABLED) +#define CVI_ERR_VO_DEV_HAS_ENABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_DEV_HAS_ENABLED) +/* Video layer relative error code */ +#define CVI_ERR_VO_VIDEO_NOT_ENABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_LAYER_NOT_ENABLED) +#define CVI_ERR_VO_VIDEO_NOT_DISABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_LAYER_NOT_DISABLED) +#define CVI_ERR_VO_VIDEO_NOT_CONFIG CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_LAYER_NOT_CONFIG) +/* Channel Relative error code */ +#define CVI_ERR_VO_CHN_NOT_DISABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_CHN_NOT_DISABLED) +#define CVI_ERR_VO_CHN_NOT_ENABLED CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_CHN_NOT_ENABLED) +#define CVI_ERR_VO_CHN_NOT_CONFIG CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_CHN_NOT_CONFIG) +#define CVI_ERR_VO_CHN_AREA_OVERLAP CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_CHN_AREA_OVERLAP) +/* MISCellaneous error code*/ +#define CVI_ERR_VO_WAIT_TIMEOUT CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_WAIT_TIMEOUT) +#define CVI_ERR_VO_INVALID_VFRAME CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_INVALID_VFRAME) +#define CVI_ERR_VO_INVALID_RECT_PARA CVI_DEF_ERR(CVI_ID_VO, EN_ERR_LEVEL_ERROR, EN_ERR_VO_INVALID_RECT_PARA) + +/* failure caused by malloc buffer */ +#define CVI_ERR_GDC_NOBUF CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF) +#define CVI_ERR_GDC_NOMEM CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +#define CVI_ERR_GDC_BUF_EMPTY CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_EMPTY) +#define CVI_ERR_GDC_NULL_PTR CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +#define CVI_ERR_GDC_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +#define CVI_ERR_GDC_BUF_FULL CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_FULL) +#define CVI_ERR_GDC_SYS_NOTREADY CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +#define CVI_ERR_GDC_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +#define CVI_ERR_GDC_NOT_PERMITTED CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +#define CVI_ERR_GDC_BUSY CVI_DEF_ERR(CVI_ID_GDC, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) + +#define CVI_ERR_RGN_SYS_NOTREADY CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) +/* PingPong buffer change when set attr, it needs to remap memory */ +#define CVI_NOTICE_RGN_BUFFER_CHANGE CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_NOTICE, CVI_SUCCESS) +/* invalid device ID */ +#define CVI_ERR_RGN_INVALID_DEVID CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_DEVID) +/* invalid channel ID */ +#define CVI_ERR_RGN_INVALID_CHNID CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_CHNID) +/* at least one parameter is illegal ,eg, an illegal enumeration value */ +#define CVI_ERR_RGN_ILLEGAL_PARAM CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM) +/* channel exists */ +#define CVI_ERR_RGN_EXIST CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_EXIST) +/* region unexist */ +#define CVI_ERR_RGN_UNEXIST CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_UNEXIST) +/* using a NULL point */ +#define CVI_ERR_RGN_NULL_PTR CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR) +/* try to enable or initialize system, device or channel, before config attribute */ +#define CVI_ERR_RGN_NOT_CONFIG CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_CONFIG) +/* operation is not supported by NOW */ +#define CVI_ERR_RGN_NOT_SUPPORT CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT) +/* operation is not permitted ,eg, try to change static attribute */ +#define CVI_ERR_RGN_NOT_PERM CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM) +/* failure caused by malloc memory */ +#define CVI_ERR_RGN_NOMEM CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM) +/* failure caused by malloc buffer */ +#define CVI_ERR_RGN_NOBUF CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF) +/* no data in buffer */ +#define CVI_ERR_RGN_BUF_EMPTY CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_EMPTY) +/* no buffer for new data */ +#define CVI_ERR_RGN_BUF_FULL CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_FULL) +/* bad address, eg. used for copy_from_user & copy_to_user */ +#define CVI_ERR_RGN_BADADDR CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_BADADDR) +/* resource is busy, eg. destroy a venc chn without unregistering it */ +#define CVI_ERR_RGN_BUSY CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY) +/* System is not ready,maybe not initialized or loaded. + * Returning the error code when opening a device file failed. + */ +#define CVI_ERR_RGN_NOTREADY CVI_DEF_ERR(CVI_ID_RGN, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY) + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_ERRNO_H__ */ + diff --git a/freertos/cvitek/install/include/common/cvi_isp.h b/freertos/cvitek/install/include/common/cvi_isp.h new file mode 100644 index 000000000..08b52a8b9 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_isp.h @@ -0,0 +1,324 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2022. All rights reserved. + * + * File Name: include/cvi_isp.h + * Description: + */ + +#ifndef __CVI_ISP_H__ +#define __CVI_ISP_H__ + +#include "stdio.h" + +#include "cvi_comm_isp.h" +#include "cvi_comm_3a.h" +#include "cvi_comm_sns.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +/* Firmware Main Operation */ +CVI_S32 CVI_ISP_Init(VI_PIPE ViPipe); +CVI_S32 CVI_ISP_MemInit(VI_PIPE ViPipe); +CVI_S32 CVI_ISP_Run(VI_PIPE ViPipe); +CVI_S32 CVI_ISP_RunOnce(VI_PIPE ViPipe); +CVI_S32 CVI_ISP_Exit(VI_PIPE ViPipe); + +/* Each Param set / get Operation */ +CVI_S32 CVI_ISP_SetPubAttr(VI_PIPE ViPipe, const ISP_PUB_ATTR_S *pstPubAttr); +CVI_S32 CVI_ISP_GetPubAttr(VI_PIPE ViPipe, ISP_PUB_ATTR_S *pstPubAttr); +CVI_S32 CVI_ISP_SetModParam(const ISP_MOD_PARAM_S *pstModParam); +CVI_S32 CVI_ISP_GetModParam(ISP_MOD_PARAM_S *pstModParam); +CVI_S32 CVI_ISP_SetCtrlParam(VI_PIPE ViPipe, + const ISP_CTRL_PARAM_S *pstIspCtrlParam); +CVI_S32 CVI_ISP_GetCtrlParam(VI_PIPE ViPipe, ISP_CTRL_PARAM_S *pstIspCtrlParam); +CVI_S32 CVI_ISP_SetFMWState(VI_PIPE ViPipe, const ISP_FMW_STATE_E enState); +CVI_S32 CVI_ISP_GetFMWState(VI_PIPE ViPipe, ISP_FMW_STATE_E *penState); +/* sensor related register */ +CVI_S32 CVI_ISP_SensorRegCallBack(VI_PIPE ViPipe, + ISP_SNS_ATTR_INFO_S *pstSnsAttrInfo, ISP_SENSOR_REGISTER_S *pstRegister); +CVI_S32 CVI_ISP_SensorUnRegCallBack(VI_PIPE ViPipe, SENSOR_ID SensorId); + +/* 3a algo &static related function. */ +CVI_S32 CVI_AWB_Register(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); +CVI_S32 CVI_AWB_UnRegister(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); + +CVI_S32 CVI_ISP_AELibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib, + ISP_AE_REGISTER_S *pstRegister); +CVI_S32 CVI_ISP_AELibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); + +CVI_S32 CVI_ISP_AWBLibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib, + ISP_AWB_REGISTER_S *pstRegister); +CVI_S32 CVI_ISP_AWBLibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib); + +CVI_S32 CVI_ISP_AFLibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAfLib, + ISP_AF_REGISTER_S *pstRegister); +CVI_S32 CVI_ISP_AFLibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib); + +CVI_S32 CVI_ISP_SetBindAttr(VI_PIPE ViPipe, const ISP_BIND_ATTR_S *pstBindAttr); +CVI_S32 CVI_ISP_GetBindAttr(VI_PIPE ViPipe, ISP_BIND_ATTR_S *pstBindAttr); + +CVI_S32 CVI_ISP_SetModuleControl(VI_PIPE ViPipe, const ISP_MODULE_CTRL_U *punModCtrl); +CVI_S32 CVI_ISP_GetModuleControl(VI_PIPE ViPipe, ISP_MODULE_CTRL_U *punModCtrl); +CVI_S32 CVI_ISP_SetRegister(VI_PIPE ViPipe, CVI_U32 u32Addr, CVI_U32 u32Value); +CVI_S32 CVI_ISP_GetRegister(VI_PIPE ViPipe, CVI_U32 u32Addr, CVI_U32 *pu32Value); + +//----------------------------------------------------------------------------- +// Black Level Correction(BLC) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetBlackLevelAttr(VI_PIPE ViPipe, const ISP_BLACK_LEVEL_ATTR_S *pstBlackLevelAttr); +CVI_S32 CVI_ISP_GetBlackLevelAttr(VI_PIPE ViPipe, ISP_BLACK_LEVEL_ATTR_S *pstBlackLevelAttr); + +//----------------------------------------------------------------------------- +// Dead pixel correction(DPC) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetDPDynamicAttr(VI_PIPE ViPipe, const ISP_DP_DYNAMIC_ATTR_S *pstDPCDynamicAttr); +CVI_S32 CVI_ISP_GetDPDynamicAttr(VI_PIPE ViPipe, ISP_DP_DYNAMIC_ATTR_S *pstDPCDynamicAttr); +CVI_S32 CVI_ISP_SetDPStaticAttr(VI_PIPE ViPipe, const ISP_DP_STATIC_ATTR_S *pstDPStaticAttr); +CVI_S32 CVI_ISP_GetDPStaticAttr(VI_PIPE ViPipe, ISP_DP_STATIC_ATTR_S *pstDPStaticAttr); +CVI_S32 CVI_ISP_SetDPCalibrate(VI_PIPE ViPipe, const ISP_DP_CALIB_ATTR_S *pstDPCalibAttr); +CVI_S32 CVI_ISP_GetDPCalibrate(VI_PIPE ViPipe, ISP_DP_CALIB_ATTR_S *pstDPCalibAttr); + +//----------------------------------------------------------------------------- +// Crosstalk +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCrosstalkAttr(VI_PIPE ViPipe, const ISP_CROSSTALK_ATTR_S *pstCrosstalkAttr); +CVI_S32 CVI_ISP_GetCrosstalkAttr(VI_PIPE ViPipe, ISP_CROSSTALK_ATTR_S *pstCrosstalkAttr); + +//----------------------------------------------------------------------------- +// Bayer domain noise reduction (BNR) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetNRAttr(VI_PIPE ViPipe, const ISP_NR_ATTR_S *pstNRAttr); +CVI_S32 CVI_ISP_GetNRAttr(VI_PIPE ViPipe, ISP_NR_ATTR_S *pstNRAttr); +CVI_S32 CVI_ISP_SetNRFilterAttr(VI_PIPE ViPipe, const ISP_NR_FILTER_ATTR_S *pstNRFilterAttr); +CVI_S32 CVI_ISP_GetNRFilterAttr(VI_PIPE ViPipe, ISP_NR_FILTER_ATTR_S *pstNRFilterAttr); + +//----------------------------------------------------------------------------- +// Demosaic +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetDemosaicAttr(VI_PIPE ViPipe, const ISP_DEMOSAIC_ATTR_S *pstDemosaicAttr); +CVI_S32 CVI_ISP_GetDemosaicAttr(VI_PIPE ViPipe, ISP_DEMOSAIC_ATTR_S *pstDemosaicAttr); +CVI_S32 CVI_ISP_SetDemosaicDemoireAttr(VI_PIPE ViPipe, const ISP_DEMOSAIC_DEMOIRE_ATTR_S *pstDemosaicDemoireAttr); +CVI_S32 CVI_ISP_GetDemosaicDemoireAttr(VI_PIPE ViPipe, ISP_DEMOSAIC_DEMOIRE_ATTR_S *pstDemosaicDemoireAttr); + +//----------------------------------------------------------------------------- +// RGBCAC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetRGBCACAttr(VI_PIPE ViPipe, const ISP_RGBCAC_ATTR_S *pstRGBCACAttr); +CVI_S32 CVI_ISP_GetRGBCACAttr(VI_PIPE ViPipe, ISP_RGBCAC_ATTR_S *pstRGBCACAttr); + +//----------------------------------------------------------------------------- +// LCAC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetLCACAttr(VI_PIPE ViPipe, const ISP_LCAC_ATTR_S *pstLCACAttr); +CVI_S32 CVI_ISP_GetLCACAttr(VI_PIPE ViPipe, ISP_LCAC_ATTR_S *pstLCACAttr); + +//----------------------------------------------------------------------------- +// Mesh lens shading correction (MLSC) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetMeshShadingAttr(VI_PIPE ViPipe, const ISP_MESH_SHADING_ATTR_S *pstMeshShadingAttr); +CVI_S32 CVI_ISP_GetMeshShadingAttr(VI_PIPE ViPipe, ISP_MESH_SHADING_ATTR_S *pstMeshShadingAttr); +CVI_S32 CVI_ISP_SetMeshShadingGainLutAttr(VI_PIPE ViPipe, + const ISP_MESH_SHADING_GAIN_LUT_ATTR_S *pstMeshShadingGainLutAttr); +CVI_S32 CVI_ISP_GetMeshShadingGainLutAttr(VI_PIPE ViPipe, + ISP_MESH_SHADING_GAIN_LUT_ATTR_S *pstMeshShadingGainLutAttr); + +//----------------------------------------------------------------------------- +// CCM +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetSaturationAttr(VI_PIPE ViPipe, const ISP_SATURATION_ATTR_S *pstSaturationAttr); +CVI_S32 CVI_ISP_GetSaturationAttr(VI_PIPE ViPipe, ISP_SATURATION_ATTR_S *pstSaturationAttr); +CVI_S32 CVI_ISP_SetCCMSaturationAttr(VI_PIPE ViPipe, const ISP_CCM_SATURATION_ATTR_S *pstCCMSaturationAttr); +CVI_S32 CVI_ISP_GetCCMSaturationAttr(VI_PIPE ViPipe, ISP_CCM_SATURATION_ATTR_S *pstCCMSaturationAttr); +CVI_S32 CVI_ISP_SetCCMAttr(VI_PIPE ViPipe, const ISP_CCM_ATTR_S *pstCCMAttr); +CVI_S32 CVI_ISP_GetCCMAttr(VI_PIPE ViPipe, ISP_CCM_ATTR_S *pstCCMAttr); + +//----------------------------------------------------------------------------- +// CSC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCSCAttr(VI_PIPE ViPipe, const ISP_CSC_ATTR_S *pstCSCAttr); +CVI_S32 CVI_ISP_GetCSCAttr(VI_PIPE ViPipe, ISP_CSC_ATTR_S *pstCSCAttr); + +//----------------------------------------------------------------------------- +// Color tone +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetColorToneAttr(VI_PIPE ViPipe, + const ISP_COLOR_TONE_ATTR_S *pstColorToneAttr); +CVI_S32 CVI_ISP_GetColorToneAttr(VI_PIPE ViPipe, ISP_COLOR_TONE_ATTR_S *pstColorToneAttr); + +//----------------------------------------------------------------------------- +// FSWDR +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetFSWDRAttr(VI_PIPE ViPipe, const ISP_FSWDR_ATTR_S *pstFSWDRAttr); +CVI_S32 CVI_ISP_GetFSWDRAttr(VI_PIPE ViPipe, ISP_FSWDR_ATTR_S *pstFSWDRAttr); + +//----------------------------------------------------------------------------- +// DRC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetDRCAttr(VI_PIPE ViPipe, const ISP_DRC_ATTR_S *pstDRCAttr); +CVI_S32 CVI_ISP_GetDRCAttr(VI_PIPE ViPipe, ISP_DRC_ATTR_S *pstDRCAttr); + +//----------------------------------------------------------------------------- +// Gamma +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetGammaAttr(VI_PIPE ViPipe, const ISP_GAMMA_ATTR_S *pstGammaAttr); +CVI_S32 CVI_ISP_GetGammaAttr(VI_PIPE ViPipe, ISP_GAMMA_ATTR_S *pstGammaAttr); +CVI_S32 CVI_ISP_GetGammaCurveByType(VI_PIPE ViPipe, ISP_GAMMA_ATTR_S *pstGammaAttr, + const ISP_GAMMA_CURVE_TYPE_E curveType); +CVI_S32 CVI_ISP_SetAutoGammaAttr(VI_PIPE ViPipe, const ISP_AUTO_GAMMA_ATTR_S *pstGammaAttr); +CVI_S32 CVI_ISP_GetAutoGammaAttr(VI_PIPE ViPipe, ISP_AUTO_GAMMA_ATTR_S *pstGammaAttr); + +//----------------------------------------------------------------------------- +// Dehaze +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetDehazeAttr(VI_PIPE ViPipe, + const ISP_DEHAZE_ATTR_S *pstDehazeAttr); +CVI_S32 CVI_ISP_GetDehazeAttr(VI_PIPE ViPipe, ISP_DEHAZE_ATTR_S *pstDehazeAttr); + +//----------------------------------------------------------------------------- +// CLUT +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetClutAttr(VI_PIPE ViPipe, const ISP_CLUT_ATTR_S *pstClutAttr); +CVI_S32 CVI_ISP_GetClutAttr(VI_PIPE ViPipe, ISP_CLUT_ATTR_S *pstClutAttr); +CVI_S32 CVI_ISP_SetClutSaturationAttr(VI_PIPE ViPipe, const ISP_CLUT_SATURATION_ATTR_S *pstClutSaturationAttr); +CVI_S32 CVI_ISP_GetClutSaturationAttr(VI_PIPE ViPipe, ISP_CLUT_SATURATION_ATTR_S *pstClutSaturationAttr); + +//----------------------------------------------------------------------------- +// DCI +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetDCIAttr(VI_PIPE ViPipe, const ISP_DCI_ATTR_S *pstDCIAttr); +CVI_S32 CVI_ISP_GetDCIAttr(VI_PIPE ViPipe, ISP_DCI_ATTR_S *pstDCIAttr); + +//----------------------------------------------------------------------------- +// LDCI +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetLDCIAttr(VI_PIPE ViPipe, const ISP_LDCI_ATTR_S *pstLDCIAttr); +CVI_S32 CVI_ISP_GetLDCIAttr(VI_PIPE ViPipe, ISP_LDCI_ATTR_S *pstLDCIAttr); + +//----------------------------------------------------------------------------- +// CA (CA/CP) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCAAttr(VI_PIPE ViPipe, const ISP_CA_ATTR_S *pstCAAttr); +CVI_S32 CVI_ISP_GetCAAttr(VI_PIPE ViPipe, ISP_CA_ATTR_S *pstCAAttr); + +//----------------------------------------------------------------------------- +// CA2 +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCA2Attr(VI_PIPE ViPipe, const ISP_CA2_ATTR_S *pstCA2Attr); +CVI_S32 CVI_ISP_GetCA2Attr(VI_PIPE ViPipe, ISP_CA2_ATTR_S *pstCA2Attr); + +//----------------------------------------------------------------------------- +// PreSharpen +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetPreSharpenAttr(VI_PIPE ViPipe, const ISP_PRESHARPEN_ATTR_S *pstPreSharpenAttr); +CVI_S32 CVI_ISP_GetPreSharpenAttr(VI_PIPE ViPipe, ISP_PRESHARPEN_ATTR_S *pstPreSharpenAttr); + +//----------------------------------------------------------------------------- +// Time-domain noise reduction (TNR) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetTNRAttr(VI_PIPE ViPipe, const ISP_TNR_ATTR_S *pstTNRAttr); +CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr); +CVI_S32 CVI_ISP_SetTNRNoiseModelAttr(VI_PIPE ViPipe, const ISP_TNR_NOISE_MODEL_ATTR_S *pstTNRNoiseModelAttr); +CVI_S32 CVI_ISP_GetTNRNoiseModelAttr(VI_PIPE ViPipe, ISP_TNR_NOISE_MODEL_ATTR_S *pstTNRNoiseModelAttr); +CVI_S32 CVI_ISP_SetTNRLumaMotionAttr(VI_PIPE ViPipe, const ISP_TNR_LUMA_MOTION_ATTR_S *pstTNRLumaMotionAttr); +CVI_S32 CVI_ISP_GetTNRLumaMotionAttr(VI_PIPE ViPipe, ISP_TNR_LUMA_MOTION_ATTR_S *pstTNRLumaMotionAttr); +CVI_S32 CVI_ISP_SetTNRGhostAttr(VI_PIPE ViPipe, const ISP_TNR_GHOST_ATTR_S *pstTNRGhostAttr); +CVI_S32 CVI_ISP_GetTNRGhostAttr(VI_PIPE ViPipe, ISP_TNR_GHOST_ATTR_S *pstTNRGhostAttr); +CVI_S32 CVI_ISP_SetTNRMtPrtAttr(VI_PIPE ViPipe, const ISP_TNR_MT_PRT_ATTR_S *pstTNRMtPrtAttr); +CVI_S32 CVI_ISP_GetTNRMtPrtAttr(VI_PIPE ViPipe, ISP_TNR_MT_PRT_ATTR_S *pstTNRMtPrtAttr); +CVI_S32 CVI_ISP_SetTNRMotionAdaptAttr(VI_PIPE ViPipe, const ISP_TNR_MOTION_ADAPT_ATTR_S *pstTNRMotionAdaptAttr); +CVI_S32 CVI_ISP_GetTNRMotionAdaptAttr(VI_PIPE ViPipe, ISP_TNR_MOTION_ADAPT_ATTR_S *pstTNRMotionAdaptAttr); + +//----------------------------------------------------------------------------- +// Y domain noise reduction (YNR) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetYNRAttr(VI_PIPE ViPipe, const ISP_YNR_ATTR_S *pstYNRAttr); +CVI_S32 CVI_ISP_GetYNRAttr(VI_PIPE ViPipe, ISP_YNR_ATTR_S *pstYNRAttr); +CVI_S32 CVI_ISP_SetYNRMotionNRAttr(VI_PIPE ViPipe, const ISP_YNR_MOTION_NR_ATTR_S *pstYNRMotionNRAttr); +CVI_S32 CVI_ISP_GetYNRMotionNRAttr(VI_PIPE ViPipe, ISP_YNR_MOTION_NR_ATTR_S *pstYNRMotionNRAttr); +CVI_S32 CVI_ISP_SetYNRFilterAttr(VI_PIPE ViPipe, const ISP_YNR_FILTER_ATTR_S *pstYNRFilterAttr); +CVI_S32 CVI_ISP_GetYNRFilterAttr(VI_PIPE ViPipe, ISP_YNR_FILTER_ATTR_S *pstYNRFilterAttr); + +//----------------------------------------------------------------------------- +// UV domain noise reduction (CNR) +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCNRAttr(VI_PIPE ViPipe, const ISP_CNR_ATTR_S *pstCNRAttr); +CVI_S32 CVI_ISP_GetCNRAttr(VI_PIPE ViPipe, ISP_CNR_ATTR_S *pstCNRAttr); +CVI_S32 CVI_ISP_SetCNRMotionNRAttr(VI_PIPE ViPipe, const ISP_CNR_MOTION_NR_ATTR_S *pstCNRMotionNRAttr); +CVI_S32 CVI_ISP_GetCNRMotionNRAttr(VI_PIPE ViPipe, ISP_CNR_MOTION_NR_ATTR_S *pstCNRMotionNRAttr); + +//----------------------------------------------------------------------------- +// CAC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCACAttr(VI_PIPE ViPipe, const ISP_CAC_ATTR_S *pstCACAttr); +CVI_S32 CVI_ISP_GetCACAttr(VI_PIPE ViPipe, ISP_CAC_ATTR_S *pstCACAttr); + +//----------------------------------------------------------------------------- +// Sharpen +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetSharpenAttr(VI_PIPE ViPipe, const ISP_SHARPEN_ATTR_S *pstSharpenAttr); +CVI_S32 CVI_ISP_GetSharpenAttr(VI_PIPE ViPipe, ISP_SHARPEN_ATTR_S *pstSharpenAttr); + +//----------------------------------------------------------------------------- +// Y Contrast +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetYContrastAttr(VI_PIPE ViPipe, const ISP_YCONTRAST_ATTR_S *pstYContrastAttr); +CVI_S32 CVI_ISP_GetYContrastAttr(VI_PIPE ViPipe, ISP_YCONTRAST_ATTR_S *pstYContrastAttr); + +//----------------------------------------------------------------------------- +// Mono +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetMonoAttr(VI_PIPE ViPipe, const ISP_MONO_ATTR_S *pstMonoAttr); +CVI_S32 CVI_ISP_GetMonoAttr(VI_PIPE ViPipe, ISP_MONO_ATTR_S *pstMonoAttr); + + +CVI_S32 CVI_ISP_SetStatisticsConfig(VI_PIPE ViPipe, const ISP_STATISTICS_CFG_S *pstStatCfg); +CVI_S32 CVI_ISP_GetStatisticsConfig(VI_PIPE ViPipe, ISP_STATISTICS_CFG_S *pstStatCfg); +CVI_S32 CVI_ISP_GetAEStatistics(VI_PIPE ViPipe, ISP_AE_STATISTICS_S *pstAeStat); +CVI_S32 CVI_ISP_GetWBStatistics(VI_PIPE ViPipe, ISP_WB_STATISTICS_S *pstWBStat); +CVI_S32 CVI_ISP_GetFocusStatistics(VI_PIPE ViPipe, ISP_AF_STATISTICS_S *pstAfStat); +CVI_S32 CVI_ISP_GetLightboxGain(VI_PIPE ViPipe, ISP_AWB_LightBox_Gain_S *pstAWBLightBoxGain); + +CVI_S32 CVI_ISP_SetNoiseProfileAttr(VI_PIPE ViPipe, const ISP_CMOS_NOISE_CALIBRATION_S *pstNoiseProfileAttr); +CVI_S32 CVI_ISP_GetNoiseProfileAttr(VI_PIPE ViPipe, ISP_CMOS_NOISE_CALIBRATION_S *pstNoiseProfileAttr); + +/* MIPI related function. */ +CVI_S32 CVI_MIPI_SetMipiReset(CVI_S32 devno, CVI_U32 reset); +CVI_S32 CVI_MIPI_SetSensorClock(CVI_S32 devno, CVI_U32 enable); +CVI_S32 CVI_MIPI_SetSensorReset(CVI_S32 devno, CVI_U32 reset); +CVI_S32 CVI_MIPI_SetMipiAttr(CVI_S32 ViPipe, const CVI_VOID *devAttr); +CVI_S32 CVI_MIPI_SetClkEdge(CVI_S32 devno, CVI_U32 is_up); +CVI_S32 CVI_MIPI_SetSnsMclk(SNS_MCLK_S *mclk); + +CVI_S32 CVI_ISP_QueryInnerStateInfo(VI_PIPE ViPipe, ISP_INNER_STATE_INFO_S *pstInnerStateInfo); +CVI_S32 CVI_ISP_GetVDTimeOut(VI_PIPE ViPipe, ISP_VD_TYPE_E enIspVDType, CVI_U32 u32MilliSec); +//CVI_S32 CVI_ISP_GetAEStitchStatistics(VI_PIPE ViPipe, ISP_AE_STITCH_STATISTICS_S *pstStitchStat); +//CVI_S32 CVI_ISP_GetMGStatistics(VI_PIPE ViPipe, ISP_MG_STATISTICS_S *pstMgStat); +//CVI_S32 CVI_ISP_GetWBStitchStatistics(VI_PIPE ViPipe, ISP_WB_STITCH_STATISTICS_S *pstStitchWBStat); + +CVI_S32 CVI_ISP_SetDisAttr(VI_PIPE ViPipe, const ISP_DIS_ATTR_S *pstDisAttr); +CVI_S32 CVI_ISP_GetDisAttr(VI_PIPE ViPipe, ISP_DIS_ATTR_S *pstDisAttr); +CVI_S32 CVI_ISP_SetDisConfig(VI_PIPE ViPipe, const ISP_DIS_CONFIG_S *pstDisConfig); +CVI_S32 CVI_ISP_GetDisConfig(VI_PIPE ViPipe, ISP_DIS_CONFIG_S *pstDisConfig); + +CVI_S32 CVI_ISP_SetVCAttr(VI_PIPE ViPipe, const ISP_VC_ATTR_S *pstVCAttr); +CVI_S32 CVI_ISP_GetVCAttr(VI_PIPE ViPipe, ISP_VC_ATTR_S *pstVCAttr); + +CVI_S32 CVI_ISP_DumpHwRegisterToFile(VI_PIPE ViPipe, FILE *fp); +CVI_S32 CVI_ISP_DumpFrameRawInfoToFile(VI_PIPE ViPipe, FILE *fp); + +CVI_S32 CVI_ISP_IrAutoRunOnce(ISP_DEV IspDev, ISP_IR_AUTO_ATTR_S *pstIrAttr); + +CVI_S32 CVI_ISP_SetSmartInfo(VI_PIPE ViPipe, const ISP_SMART_INFO_S *pstSmartInfo, CVI_U8 TimeOut); +CVI_S32 CVI_ISP_GetSmartInfo(VI_PIPE ViPipe, ISP_SMART_INFO_S *pstSmartInfo); + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /*__CVI_ISP_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_list.h b/freertos/cvitek/install/include/common/cvi_list.h new file mode 100644 index 000000000..92839b9c9 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_list.h @@ -0,0 +1,344 @@ +#ifndef CVI_LIST_H +#define CVI_LIST_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Get offset of a member variable. + * + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the variable within the struct. + */ +#define cvi_offsetof(type, member) ((size_t)&(((type *)0)->member)) + +/* + * Get the struct for this entry. + * + * @param[in] ptr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the variable within the struct. + */ +#define cvi_container_of(ptr, type, member) \ + ((type *) ((char *) (ptr) - cvi_offsetof(type, member))) + +/* for double link list */ +typedef struct dlist_s { + struct dlist_s *prev; + struct dlist_s *next; +} dlist_t; + +static inline void __dlist_add(dlist_t *node, dlist_t *prev, dlist_t *next) +{ + node->next = next; + node->prev = prev; + + prev->next = node; + next->prev = node; +} + +/* + * Get the struct for this entry. + * + * @param[in] addr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the dlist_t within the struct. + */ +#define dlist_entry(addr, type, member) \ + ((type *)((long)addr - cvi_offsetof(type, member))) + + +static inline void dlist_add(dlist_t *node, dlist_t *queue) +{ + __dlist_add(node, queue, queue->next); +} + +static inline void dlist_add_tail(dlist_t *node, dlist_t *queue) +{ + __dlist_add(node, queue->prev, queue); +} + +static inline void dlist_del(dlist_t *node) +{ + dlist_t *prev = node->prev; + dlist_t *next = node->next; + + prev->next = next; + next->prev = prev; +} + +static inline void dlist_init(dlist_t *node) +{ + node->next = node->prev = node; +} + +static inline void INIT_CVI_DLIST_HEAD(dlist_t *list) +{ + list->next = list; + list->prev = list; +} + +static inline int dlist_empty(const dlist_t *head) +{ + return head->next == head; +} + +/* + * Initialise the list. + * + * @param[in] list the list to be inited. + */ +#define CVI_DLIST_INIT(list) {&(list), &(list)} + +/* + * Get the first element from a list + * + * @param[in] ptr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the dlist_t within the struct. + */ +#define dlist_first_entry(ptr, type, member) \ + dlist_entry((ptr)->next, type, member) + +/* + * Iterate over a list. + * + * @param[in] pos the &struct dlist_t to use as a loop cursor. + * @param[in] head he head for your list. + */ +#define dlist_for_each(pos, head) \ + for (pos = (head)->next; pos != (head); pos = pos->next) + +/* + * Iterate over a list safe against removal of list entry. + * + * @param[in] pos the &struct dlist_t to use as a loop cursor. + * @param[in] n another &struct dlist_t to use as temporary storage. + * @param[in] head the head for your list. + */ +#define dlist_for_each_safe(pos, n, head) \ + for (pos = (head)->next, n = pos->next; pos != (head); \ + pos = n, n = pos->next) + +/* + * Iterate over list of given type. + * + * @param[in] queue he head for your list. + * @param[in] node the &struct dlist_t to use as a loop cursor. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the dlist_t within the struct. + */ +#define dlist_for_each_entry(queue, node, type, member) \ + for (node = cvi_container_of((queue)->next, type, member); \ + &node->member != (queue); \ + node = cvi_container_of(node->member.next, type, member)) + +/* + * Iterate over list of given type safe against removal of list entry. + * + * @param[in] queue the head for your list. + * @param[in] n the type * to use as a temp. + * @param[in] node the type * to use as a loop cursor. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the dlist_t within the struct. + */ +#define dlist_for_each_entry_safe(queue, n, node, type, member) \ + for (node = cvi_container_of((queue)->next, type, member), \ + n = (queue)->next ? (queue)->next->next : NULL; \ + &node->member != (queue); \ + node = cvi_container_of(n, type, member), n = n ? n->next : NULL) + +/* + * Get the struct for this entry. + * @param[in] ptr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the variable within the struct. + */ +#define list_entry(ptr, type, member) \ + cvi_container_of(ptr, type, member) + + +/* + * Iterate backwards over list of given type. + * + * @param[in] pos the type * to use as a loop cursor. + * @param[in] head he head for your list. + * @param[in] member the name of the dlist_t within the struct. + * @param[in] type the type of the struct this is embedded in. + */ +#define dlist_for_each_entry_reverse(pos, head, member, type) \ + for (pos = list_entry((head)->prev, type, member); \ + &pos->member != (head); \ + pos = list_entry(pos->member.prev, type, member)) + + +/* + * Get the list length. + * + * @param[in] queue the head for your list. + */ +int dlist_entry_number(dlist_t *queue); + + + +/* + * Initialise the list. + * + * @param[in] name the list to be initialized. + */ +#define CVI_DLIST_HEAD_INIT(name) { &(name), &(name) } + +/* + * Initialise the list. + * + * @param[in] name the list to be initialized. + */ +#define CVI_DLIST_HEAD(name) \ + dlist_t name = CVI_DLIST_HEAD_INIT(name) + +/* for single link list */ +typedef struct slist_s { + struct slist_s *next; +} slist_t; + +static inline void slist_add(slist_t *node, slist_t *head) +{ + node->next = head->next; + head->next = node; +} + +void slist_add_tail(slist_t *node, slist_t *head); + +void slist_del(slist_t *node, slist_t *head); + +static inline int slist_empty(const slist_t *head) +{ + return !head->next; +} + +static inline void slist_init(slist_t *head) +{ + head->next = 0; +} + +static inline slist_t *slist_remove(slist_t *l, slist_t *n) +{ + /* remove slist head */ + struct slist_s *node = l; + + while (node->next && node->next != n) + node = node->next; + + /* remove node */ + if (node->next != (slist_t *)0) + node->next = node->next->next; + + return l; +} + +static inline slist_t *slist_first(slist_t *l) +{ + return l->next; +} + +static inline slist_t *slist_tail(slist_t *l) +{ + while (l->next) + l = l->next; + + return l; +} + +static inline slist_t *slist_next(slist_t *n) +{ + return n->next; +} + +/* + * Iterate over list of given type. + * + * @param[in] queue he head for your list. + * @param[in] node the type * to use as a loop cursor. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the slist_t within the struct. + */ +#define slist_for_each_entry(queue, node, type, member) \ + for (node = (queue)->next ? cvi_container_of((queue)->next, type, member) : NULL; \ + node; \ + node = node->member.next ? cvi_container_of(node->member.next, type, member) : NULL) + +/* + * Iterate over list of given type safe against removal of list entry. + * + * @param[in] queue the head for your list. + * @param[in] tmp the type * to use as a temp. + * @param[in] node the type * to use as a loop cursor. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the slist_t within the struct. + */ +#define slist_for_each_entry_safe(queue, tmp, node, type, member) \ + for (node = (queue)->next ? cvi_container_of((queue)->next, type, member) : NULL, \ + tmp = (queue)->next ? (queue)->next->next : NULL; \ + node; \ + node = tmp ? cvi_container_of(tmp, type, member) : NULL, tmp = tmp ? tmp->next : NULL) + +/* + * Initialise the list. + * + * @param[in] name the list to be initialized. + */ +#define CVI_SLIST_HEAD_INIT(name) {0} + +/* + * Initialise the list. + * + * @param[in] name the list to be initialized. + */ +#define CVI_SLIST_HEAD(name) \ + slist_t name = CVI_SLIST_HEAD_INIT(name) + +/* + * Get the struct for this entry. + * @param[in] addr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the slist_t within the struct. + */ +#define slist_entry(addr, type, member) ( \ + addr ? (type *)((long)addr - cvi_offsetof(type, member)) : (type *)addr \ +) + +/* + * Get the first element from a list. + * + * @param[in] ptr the list head to take the element from. + * @param[in] type the type of the struct this is embedded in. + * @param[in] member the name of the slist_t within the struct. + */ +#define slist_first_entry(ptr, type, member) \ + slist_entry((ptr)->next, type, member) + +/** + * slist_tail_entry - get the tail element from a slist + * @ptr: the slist head to take the element from. + * @type: the type of the struct this is embedded in. + * @member: the name of the slist_struct within the struct. + * + * Note, that slist is expected to be not empty. + */ +#define slist_tail_entry(ptr, type, member) \ + slist_entry(slist_tail(ptr), type, member) + +/* + * Get the list length. + * + * @param[in] queue the head for your list. + */ +int slist_entry_number(slist_t *queue); + +#ifdef __cplusplus +} +#endif + +#endif /* CVI_LIST_H */ + diff --git a/freertos/cvitek/install/include/common/cvi_mailbox.h b/freertos/cvitek/install/include/common/cvi_mailbox.h new file mode 100644 index 000000000..d5a7c5b77 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_mailbox.h @@ -0,0 +1,85 @@ +#ifndef __CVI_MAILBOX_H__ +#define __CVI_MAILBOX_H__ + +union cpu_mailbox_info_offset{ + char mbox_info; + int reserved; +}; + +union cpu_mailbox_int_clr_offset{ + char mbox_int_clr; + int reserved; +}; +union cpu_mailbox_int_mask_offset{ + char mbox_int_mask; + int reserved; +}; +union cpu_mailbox_int_offset{ + char mbox_int; + int reserved; +}; +union cpu_mailbox_int_raw_offset{ + char mbox_int_raw; + int reserved; +}; + +union mailbox_set{ + char mbox_set; + int reserved; +}; +union mailbox_status{ + char mbox_status; + int reserved; +}; + +union cpu_mailbox_status{ + char mbox_status; + int reserved; +}; + +/* register mapping refers to mailbox user guide*/ +struct cpu_mbox_int{ + union cpu_mailbox_int_clr_offset cpu_mbox_int_clr; + union cpu_mailbox_int_mask_offset cpu_mbox_int_mask; + union cpu_mailbox_int_offset cpu_mbox_int_int; + union cpu_mailbox_int_raw_offset cpu_mbox_int_raw; +}; + +struct mailbox_set_register{ + union cpu_mailbox_info_offset cpu_mbox_en[4]; //0x00, 0x04, 0x08, 0x0c + struct cpu_mbox_int cpu_mbox_set[4]; //0x10~0x1C, 0x20~0x2C, 0x30~0x3C, 0x40~0x4C + int reserved[4]; //0x50~0x5C + union mailbox_set mbox_set; //0x60 + union mailbox_status mbox_status; //0x64 + int reserved2[2]; //0x68~0x6C + union cpu_mailbox_status cpu_mbox_status[4]; //0x70 +}; + +struct mailbox_done_register{ + union cpu_mailbox_info_offset cpu_mbox_done_en[4]; + struct cpu_mbox_int cpu_mbox_done[4]; +}; + +#define MAILBOX_MAX_NUM 0x0008 +#define MAILBOX_DONE_OFFSET 0x0002 +#define MAILBOX_CONTEXT_OFFSET 0x0400 + +#ifdef FREERTOS_BSP +#define RECEIVE_CPU 2 // c906L +#define SEND_TO_CPU1 1 // c906B +#define SEND_TO_CPU0 0 // ca53 +#else +// __linux__ +#ifdef __riscv +// C906B +#define RECEIVE_CPU 1 +#else +// Ca53 +#define RECEIVE_CPU 0 +#endif +// C906L +#define SEND_TO_CPU 2 +#endif + +#endif // end of__CVI_MAILBOX_H__ + diff --git a/freertos/cvitek/install/include/common/cvi_math.h b/freertos/cvitek/install/include/common/cvi_math.h new file mode 100644 index 000000000..856304f88 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_math.h @@ -0,0 +1,329 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_math.h + * Description: + * mathematical functions. + */ + +#ifndef __CVI_MATH_H__ +#define __CVI_MATH_H__ + +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +#define PI 3.1415926 + +/****************************************************************************** + * ABS(x) absolute value of x + * SIGN(x) sign of x + * CMP(x,y) 0 if x==y; 1 if x>y; -1 if x= 0 ? (x) : (-(x))) +#undef _SIGN +#define _SIGN(x) ((x) >= 0 ? 1 : -1) +#undef CMP +#define CMP(x, y) (((x) == (y)) ? 0 : (((x) > (y)) ? 1 : -1)) + +/****************************************************************************** + * MAX2(x,y) maximum of x and y + * MIN2(x,y) minimum of x and y + * MAX3(x,y,z) maximum of x, y and z + * MIN3(x,y,z) minimun of x, y and z + * MEDIAN(x,y,z) median of x,y,z + * MEAN2(x,y) mean of x,y + *****************************************************************************/ +#undef MAX2 +#define MAX2(x, y) ((x) > (y) ? (x) : (y)) +#undef MIN2 +#define MIN2(x, y) ((x) < (y) ? (x) : (y)) +#undef MAX3 +#define MAX3(x, y, z) ((x) > (y) ? MAX2(x, z) : MAX2(y, z)) +#undef MIN3 +#define MIN3(x, y, z) ((x) < (y) ? MIN2(x, z) : MIN2(y, z)) +#undef MEDIAN +#define MEDIAN(x, y, z) (((x) + (y) + (z)-MAX3(x, y, z)) - MIN3(x, y, z)) +#undef MEAN2 +#define MEAN2(x, y) (((x) + (y)) >> 1) + +/****************************************************************************** + * CLIP3(x,min,max) clip x within [min,max] + * WRAP_MAX(x,max,min) wrap to min if x equal max + * WRAP_MIN(x,min,max) wrap to max if x equal min + * VALUE_BETWEEN(x,min.max) True if x is between [min,max] inclusively. + *****************************************************************************/ +#undef CLIP_MIN +#define CLIP_MIN(x, min) (((x) >= min) ? (x) : min) +#undef CLIP3 +#define CLIP3(x, min, max) ((x) < (min) ? (min) : ((x) > (max) ? (max) : (x))) +#undef CLIP_MAX +#define CLIP_MAX(x, max) ((x) > (max) ? (max) : (x)) +#undef WRAP_MAX +#define WRAP_MAX(x, max, min) ((x) >= (max) ? (min) : (x)) +#undef WRAP_MIN +#define WRAP_MIN(x, min, max) ((x) <= (min) ? (max) : (x)) +#undef VALUE_BETWEEN +#define VALUE_BETWEEN(x, min, max) (((x) >= (min)) && ((x) <= (max))) + +/****************************************************************************** + * a is a power of 2 value + * + * Example: + * ALIGN(48,32) = 64 + * ALIGN_DOWN(48,32) = 32 + *****************************************************************************/ +#undef IS_ALIGNED +#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) +#undef ALIGN +#define ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1)) +#undef ALIGN_DOWN +#define ALIGN_DOWN(x, a) ((x) & ~((a)-1)) +#undef DIV_UP +#define DIV_UP(x, a) (((x) + ((a)-1)) / a) + +/****************************************************************************** + * Get the span between two unsigned number, such as + * SPAN(CVI_U32, 100, 200) is 200 - 100 = 100 + * SPAN(CVI_U32, 200, 100) is 0xFFFFFFFF - 200 + 100 + * SPAN(CVI_U64, 200, 100) is 0xFFFFFFFFFFFFFFFF - 200 + 100 + *****************************************************************************/ +#undef SPAN +#define SPAN(type, begin, end) \ + ({ \ + type b = (begin); \ + type e = (end); \ + (type)((b >= e) ? (b - e) : (b + ((~((type)0)) - e))); \ + }) + +/****************************************************************************** + * FRACTION32(de,nu) fraction: nu(minator) / de(nominator). + * NUMERATOR32(x) of x(x is fraction) + * DENOMINATOR32(x) Denominator of x(x is fraction) + + * represent fraction in 32 bit. LSB 16 is numerator, MSB 16 is denominator + * It is integer if denominator is 0. + *****************************************************************************/ +#undef FRACTION32 +#define FRACTION32(de, nu) (((de) << 16) | (nu)) +#undef NUMERATOR32 +#define NUMERATOR32(x) ((x)&0xffff) +#undef DENOMINATOR32 +#define DENOMINATOR32(x) ((x) >> 16) + +/****************************************************************************** + * RGB(r,g,b) assemble the r,g,b to 30bit color + * RGB_R(c) get RED from 30bit color + * RGB_G(c) get GREEN from 30bit color + * RGB_B(c) get BLUE from 30bit color + *****************************************************************************/ +#undef RGB +#define RGB(r, g, b) ((((r)&0x3ff) << 20) | (((g)&0x3ff) << 10) | ((b)&0x3ff)) +#undef RGB_R +#define RGB_R(c) (((c)&0x3ff00000) >> 20) +#undef RGB_G +#define RGB_G(c) (((c)&0x000ffc00) >> 10) +#undef RGB_B +#define RGB_B(c) ((c)&0x000003ff) + +/****************************************************************************** + * RGB(r,g,b) assemble the r,g,b to 24bit color + * RGB_R(c) get RED from 24bit color + * RGB_G(c) get GREEN from 24bit color + * RGB_B(c) get BLUE from 24bit color + *****************************************************************************/ +#undef RGB_8BIT +#define RGB_8BIT(r, g, b) ((((r)&0xff) << 16) | (((g)&0xff) << 8) | ((b)&0xff)) +#undef RGB_8BIT_R +#define RGB_8BIT_R(c) (((c)&0xff0000) >> 16) +#undef RGB_8BIT_G +#define RGB_8BIT_G(c) (((c)&0xff00) >> 8) +#undef RGB_8BIT_B +#define RGB_8BIT_B(c) ((c)&0xff) + +/****************************************************************************** + * YUV(y,u,v) assemble the y,u,v to 30bit color + * YUV_Y(c) get Y from 30bit color + * YUV_U(c) get U from 30bit color + * YUV_V(c) get V from 30bit color + *****************************************************************************/ +#undef YUV +#define YUV(y, u, v) ((((y)&0x03ff) << 20) | (((u)&0x03ff) << 10) | ((v)&0x03ff)) +#undef YUV_Y +#define YUV_Y(c) (((c)&0x3ff00000) >> 20) +#undef YUV_U +#define YUV_U(c) (((c)&0x000ffc00) >> 10) +#undef YUV_V +#define YUV_V(c) ((c)&0x000003ff) + +/****************************************************************************** + * YUV_8BIT(y,u,v) assemble the y,u,v to 24bit color + * YUV_8BIT_Y(c) get Y from 24bit color + * YUV_8BIT_U(c) get U from 24bit color + * YUV_8BIT_V(c) get V from 24bit color + *****************************************************************************/ +#undef YUV_8BIT +#define YUV_8BIT(y, u, v) ((((y)&0xff) << 16) | (((u)&0xff) << 8) | ((v)&0xff)) +#undef YUV_8BIT_Y +#define YUV_8BIT_Y(c) (((c)&0xff0000) >> 16) +#undef YUV_8BIT_U +#define YUV_8BIT_U(c) (((c)&0xff00) >> 8) +#undef YUV_8BIT_V +#define YUV_8BIT_V(c) ((c)&0xff) + +/****************************************************************************** + * Rgb2Yc(r, g, b, *y, *u, *u) convert r,g,b to y,u,v + * Rgb2Yuv(rgb) convert rgb to yuv + *****************************************************************************/ +static inline CVI_VOID Rgb2Yc(CVI_U16 r, CVI_U16 g, CVI_U16 b, CVI_U16 *py, CVI_U16 *pcb, CVI_U16 *pcr) +{ + /* Y */ + *py = (CVI_U16)((((r * 66 + g * 129 + b * 25) >> 8) + 16) << 2); + + /* Cb */ + *pcb = (CVI_U16)(((((b * 112 - r * 38) - g * 74) >> 8) + 128) << 2); + + /* Cr */ + *pcr = (CVI_U16)(((((r * 112 - g * 94) - b * 18) >> 8) + 128) << 2); +} + +static inline CVI_U32 Rgb2Yuv(CVI_U32 u32Rgb) +{ + CVI_U16 y, u, v; + + Rgb2Yc(RGB_R(u32Rgb), RGB_G(u32Rgb), RGB_B(u32Rgb), &y, &u, &v); + + return YUV(y, u, v); +} + +static inline CVI_VOID Rgb2Yc_full(CVI_U16 r, CVI_U16 g, CVI_U16 b, CVI_U16 *py, CVI_U16 *pcb, CVI_U16 *pcr) +{ + CVI_U16 py_temp, pcb_temp, pcr_temp; + + py_temp = (CVI_U16)(((r * 76 + g * 150 + b * 29) >> 8) * 4); + pcb_temp = (CVI_U16)(CLIP_MIN(((((b * 130 - r * 44) - g * 86) >> 8) + 128), 0) * 4); + pcr_temp = (CVI_U16)(CLIP_MIN(((((r * 130 - g * 109) - b * 21) >> 8) + 128), 0) * 4); + + *py = MAX2(MIN2(py_temp, 1023), 0); + *pcb = MAX2(MIN2(pcb_temp, 1023), 0); + *pcr = MAX2(MIN2(pcr_temp, 1023), 0); +} + +static inline CVI_U32 Rgb2Yuv_full(CVI_U32 u32Rgb) +{ + CVI_U16 y, u, v; + + Rgb2Yc_full(RGB_R(u32Rgb), RGB_G(u32Rgb), RGB_B(u32Rgb), &y, &u, &v); + + return YUV(y, u, v); +} + +/****************************************************************************** + * Rgb2Yc_8BIT(r, g, b, *y, *u, *u) convert r,g,b to y,u,v + * Rgb2Yuv_8BIT(rgb) convert rgb to yuv + *****************************************************************************/ +static inline CVI_VOID Rgb2Yc_8BIT(CVI_U8 r, CVI_U8 g, CVI_U8 b, CVI_U8 *py, CVI_U8 *pcb, CVI_U8 *pcr) +{ + /* Y */ + *py = (CVI_U8)(((r * 66 + g * 129 + b * 25) >> 8) + 16); + + /* Cb */ + *pcb = (CVI_U8)((((b * 112 - r * 38) - g * 74) >> 8) + 128); + + /* Cr */ + *pcr = (CVI_U8)((((r * 112 - g * 94) - b * 18) >> 8) + 128); +} + +static inline CVI_U32 Rgb2Yuv_8BIT(CVI_U32 u32Rgb) +{ + CVI_U8 y, u, v; + + Rgb2Yc_8BIT(RGB_8BIT_R(u32Rgb), RGB_8BIT_G(u32Rgb), RGB_8BIT_B(u32Rgb), &y, &u, &v); + + return YUV_8BIT(y, u, v); +} + +static inline CVI_VOID Rgb2Yc_full_8BIT(CVI_U8 r, CVI_U8 g, CVI_U8 b, CVI_U8 *py, CVI_U8 *pcb, CVI_U8 *pcr) +{ + CVI_S16 py_temp, pcb_temp, pcr_temp; + + py_temp = (r * 76 + g * 150 + b * 29) >> 8; + pcb_temp = (((b * 130 - r * 44) - g * 86) >> 8) + 128; + pcr_temp = (((r * 130 - g * 109) - b * 21) >> 8) + 128; + + *py = MAX2(MIN2(py_temp, 255), 0); + *pcb = MAX2(MIN2(pcb_temp, 255), 0); + *pcr = MAX2(MIN2(pcr_temp, 255), 0); +} + +static inline CVI_U32 Rgb2Yuv_full_8BIT(CVI_U32 u32Rgb) +{ + CVI_U8 y, u, v; + + Rgb2Yc_full_8BIT(RGB_8BIT_R(u32Rgb), RGB_8BIT_G(u32Rgb), RGB_8BIT_B(u32Rgb), &y, &u, &v); + + return YUV_8BIT(y, u, v); +} + +/******************************************************************************* + * FpsControl Useing Sample: + * FPS_CTRL_S g_stFpsCtrl; + * + * Take 12 frame uniform in 25. + * InitFps(&g_stFpsCtrl, 25, 12); + * + * { + * if(FpsControl(&g_stFpsCtrl)) printf("Yes, this frmae should be token"); + * } + * + ******************************************************************************/ +typedef struct _FPS_CTRL_S { + CVI_U32 u32Ffps; /* Full frame rate */ + CVI_U32 u32Tfps; /* Target frame rate */ + CVI_U32 u32FrmKey; /* update key frame */ +} FPS_CTRL_S; + +static inline CVI_VOID InitFps(FPS_CTRL_S *pFrmCtrl, CVI_U32 u32FullFps, CVI_U32 u32TagFps) +{ + pFrmCtrl->u32Ffps = u32FullFps; + pFrmCtrl->u32Tfps = u32TagFps; + pFrmCtrl->u32FrmKey = 0; +} + +static inline CVI_BOOL FpsControl(FPS_CTRL_S *pFrmCtrl) +{ + CVI_BOOL bReturn = CVI_FALSE; + + pFrmCtrl->u32FrmKey += pFrmCtrl->u32Tfps; + if (pFrmCtrl->u32FrmKey >= pFrmCtrl->u32Ffps) { + pFrmCtrl->u32FrmKey -= pFrmCtrl->u32Ffps; + bReturn = CVI_TRUE; + } + + return bReturn; +} + +static inline CVI_U32 GetLowAddr(CVI_U64 u64Phyaddr) +{ + return (CVI_U32)u64Phyaddr; +} + +static inline CVI_U32 GetHighAddr(CVI_U64 u64Phyaddr) +{ + return (CVI_U32)(u64Phyaddr >> 32); +} + +#define CVI_usleep(usec) usleep(usec) + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_MATH_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_mipi.h b/freertos/cvitek/install/include/common/cvi_mipi.h new file mode 100644 index 000000000..f3ca74d79 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_mipi.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_mipi.h + * Description: + * Common mipi definitions. + */ + +#ifndef __CVI_MIPI_H__ +#define __CVI_MIPI_H__ + +// #include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +typedef unsigned int combo_dev_t; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_MIPI_H__ */ + diff --git a/freertos/cvitek/install/include/common/cvi_sns_ctrl.h b/freertos/cvitek/install/include/common/cvi_sns_ctrl.h new file mode 100644 index 000000000..d77558ad1 --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_sns_ctrl.h @@ -0,0 +1,204 @@ +#ifndef __CVI_SNS_CTRL_H__ +#define __CVI_SNS_CTRL_H__ + +#include +#include "cvi_errno.h" +#include +#include "cvi_debug.h" +#include "cvi_comm_3a.h" +#include "cvi_comm_isp.h" +#include "cvi_ae_comm.h" +#include "cvi_comm_vi.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +typedef struct combo_dev_attr_s SNS_COMBO_DEV_ATTR_S; +typedef struct mclk_pll_s SNS_MCLK_ATTR_S; + +typedef struct _SNS_ATTR_S { + CVI_U16 u16Min; + CVI_U16 u16Max; + CVI_U16 u16Def; + CVI_U16 u16Step; +} SNS_ATTR_S; + +typedef struct _SNS_ATTR_LARGE_S { + CVI_U32 u32Min; + CVI_U32 u32Max; + CVI_U32 u32Def; + CVI_U32 u32Step; +} SNS_ATTR_LARGE_S; + +typedef struct _ISP_SNS_STATE_S { + CVI_BOOL bInit; /* CVI_TRUE: Sensor init */ + CVI_BOOL bSyncInit; /* CVI_TRUE: Sync Reg init */ + CVI_U8 u8ImgMode; + CVI_U8 u8Hdr; /* CVI_TRUE: HDR enbale */ + WDR_MODE_E enWDRMode; + + ISP_SNS_SYNC_INFO_S astSyncInfo[2]; /* [0]: Sensor reg info of cur-frame; [1]: Sensor reg info of pre-frame ; */ + + CVI_U32 au32FL[2]; /* [0]: FullLines of cur-frame; [1]: Pre FullLines of pre-frame */ + CVI_U32 u32FLStd; /* FullLines std */ + CVI_U32 au32WDRIntTime[4]; +} ISP_SNS_STATE_S; + +typedef enum _ISP_SNS_MIRRORFLIP_TYPE_E { + ISP_SNS_NORMAL = 0, + ISP_SNS_MIRROR = 1, + ISP_SNS_FLIP = 2, + ISP_SNS_MIRROR_FLIP = 3, + ISP_SNS_BUTT +} ISP_SNS_MIRRORFLIP_TYPE_E; + +typedef enum _ISP_SNS_L2S_MODE_E { + SNS_L2S_MODE_AUTO = 0, /* sensor l2s distance varies by the inttime of sef. */ + SNS_L2S_MODE_FIX, /* sensor l2s distance is fixed. */ +} ISP_SNS_INTTIME_MODE_E; + +typedef struct _MCLK_ATTR_S { + CVI_U8 u8Mclk; + CVI_BOOL bMclkEn; +} MCLK_ATTR_S; + +typedef struct _RX_INIT_ATTR_S { + CVI_U32 MipiDev; + CVI_S16 as16LaneId[5]; + CVI_S8 as8PNSwap[5]; + MCLK_ATTR_S stMclkAttr; +} RX_INIT_ATTR_S; + +typedef enum _SNS_BDG_MUX_MODE_E { + SNS_BDG_MUX_NONE = 0, /* sensor bridge mux is disabled */ + SNS_BDG_MUX_2, /* sensor bridge mux 2 input */ + SNS_BDG_MUX_3, /* sensor bridge mux 3 input */ + SNS_BDG_MUX_4, /* sensor bridge mux 4 input */ +} SNS_BDG_MUX_MODE_E; + +typedef struct _ISP_INIT_ATTR_S { + CVI_U32 u32ExpTime; + CVI_U32 u32AGain; + CVI_U32 u32DGain; + CVI_U32 u32ISPDGain; + CVI_U32 u32Exposure; + CVI_U32 u32LinesPer500ms; + CVI_U32 u32PirisFNO; + CVI_U16 u16WBRgain; + CVI_U16 u16WBGgain; + CVI_U16 u16WBBgain; + CVI_U16 u16SampleRgain; + CVI_U16 u16SampleBgain; + CVI_U16 u16UseHwSync; + ISP_SNS_GAIN_MODE_E enGainMode; + ISP_SNS_INTTIME_MODE_E enL2SMode; + SNS_BDG_MUX_MODE_E enSnsBdgMuxMode; +} ISP_INIT_ATTR_S; + +typedef struct _ISP_SNS_OBJ_S { +#ifdef RUN_IN_SRAM +#else + CVI_S32 (*pfnRegisterCallback)(VI_PIPE ViPipe, ALG_LIB_S *, ALG_LIB_S *); + CVI_S32 (*pfnUnRegisterCallback)(VI_PIPE ViPipe, ALG_LIB_S *, ALG_LIB_S *); + CVI_S32 (*pfnSetBusInfo)(VI_PIPE ViPipe, ISP_SNS_COMMBUS_U unSNSBusInfo); + CVI_VOID (*pfnStandby)(VI_PIPE ViPipe); + CVI_VOID (*pfnRestart)(VI_PIPE ViPipe); + CVI_VOID (*pfnMirrorFlip)(VI_PIPE ViPipe, ISP_SNS_MIRRORFLIP_TYPE_E eSnsMirrorFlip); + CVI_S32 (*pfnWriteReg)(VI_PIPE ViPipe, CVI_S32 s32Addr, CVI_S32 s32Data); + CVI_S32 (*pfnReadReg)(VI_PIPE ViPipe, CVI_S32 s32Addr); + CVI_S32 (*pfnSetInit)(VI_PIPE ViPipe, ISP_INIT_ATTR_S *); + CVI_S32 (*pfnPatchRxAttr)(RX_INIT_ATTR_S *); + CVI_VOID (*pfnPatchI2cAddr)(CVI_S32 s32I2cAddr); + CVI_S32 (*pfnGetRxAttr)(VI_PIPE ViPipe, SNS_COMBO_DEV_ATTR_S *); + CVI_S32 (*pfnExpSensorCb)(ISP_SENSOR_EXP_FUNC_S *); + CVI_S32 (*pfnExpAeCb)(AE_SENSOR_EXP_FUNC_S *); + CVI_S32 (*pfnSnsProbe)(VI_PIPE ViPipe); +#endif +} ISP_SNS_OBJ_S; + +extern ISP_SNS_OBJ_S stSnsImx327_fpga_Obj; +extern ISP_SNS_OBJ_S stSnsImx327_Obj; +extern ISP_SNS_OBJ_S stSnsOs08a20_Obj; +extern ISP_SNS_OBJ_S stSnsOs08a20_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsOs04c10_Obj; +extern ISP_SNS_OBJ_S stSnsOs04c10_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsF23_Obj; +extern ISP_SNS_OBJ_S stSnsF35_Obj; +extern ISP_SNS_OBJ_S stSnsF35_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsH65_Obj; +extern ISP_SNS_OBJ_S stSnsImx327_2l_Obj; +extern ISP_SNS_OBJ_S stSnsImx290_2l_Obj; +extern ISP_SNS_OBJ_S stSnsImx327_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsImx327_Sublvds_Obj; +extern ISP_SNS_OBJ_S stSnsImx307_Obj; +extern ISP_SNS_OBJ_S stSnsImx307_2l_Obj; +extern ISP_SNS_OBJ_S stSnsImx307_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsPICO640_Obj; +extern ISP_SNS_OBJ_S stSnsPICO384_Obj; +extern ISP_SNS_OBJ_S stSnsImx307_Sublvds_Obj; +extern ISP_SNS_OBJ_S stSnsMCS369Q_Obj; +extern ISP_SNS_OBJ_S stSnsMM308M2_Obj; +extern ISP_SNS_OBJ_S stSnsN5_Obj; +extern ISP_SNS_OBJ_S stSnsSC3335_Obj; +extern ISP_SNS_OBJ_S stSnsSC3335_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsImx335_Obj; +extern ISP_SNS_OBJ_S stSnsPR2020_Obj; +extern ISP_SNS_OBJ_S stSnsPR2100_Obj; +extern ISP_SNS_OBJ_S stSnsImx334_Obj; +extern ISP_SNS_OBJ_S stSnsSC8238_Obj; +extern ISP_SNS_OBJ_S stSnsMCS369_Obj; +extern ISP_SNS_OBJ_S stSnsSC4210_Obj; +extern ISP_SNS_OBJ_S stSnsSC200AI_Obj; +extern ISP_SNS_OBJ_S stSnsSC850SL_Obj; +extern ISP_SNS_OBJ_S stSnsN6_Obj; +extern ISP_SNS_OBJ_S stSnsGc2053_Obj; +extern ISP_SNS_OBJ_S stSnsGc2053_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsGc2093_Obj; +extern ISP_SNS_OBJ_S stSnsGc2093_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsGc4653_Obj; +extern ISP_SNS_OBJ_S stSnsGc4653_Slave_Obj; +extern ISP_SNS_OBJ_S stSnsGc1054_Obj; +extern ISP_SNS_OBJ_S stSnsImx347_Obj; +extern ISP_SNS_OBJ_S stSnsImx385_Obj; +extern ISP_SNS_OBJ_S stSnsGc2053_1l_Obj; +extern ISP_SNS_OBJ_S stSnsSC035HGS_Obj; +extern ISP_SNS_OBJ_S stSnsSC500AI_Obj; +extern ISP_SNS_OBJ_S stSnsSC501AI_2L_Obj; +extern ISP_SNS_OBJ_S stSnsSC035GS_Obj; +extern ISP_SNS_OBJ_S stSnsSC401AI_Obj; +extern ISP_SNS_OBJ_S stSnsTP2850_Obj; + +#define CMOS_CHECK_POINTER(ptr)\ + do {\ + if (ptr == CVI_NULL) {\ + syslog(LOG_ERR, "Null Pointer!\n");\ + return CVI_ERR_VI_INVALID_NULL_PTR;\ + } \ + } while (0) + +#define CMOS_CHECK_POINTER_VOID(ptr)\ + do {\ + if (ptr == CVI_NULL) {\ + syslog(LOG_ERR, "Null Pointer!\n");\ + return;\ + } \ + } while (0) + +#define SENSOR_FREE(ptr)\ + do {\ + if (ptr != CVI_NULL) {\ + free(ptr);\ + ptr = CVI_NULL;\ + } \ + } while (0) + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* __CVI_SNS_CTRL_H__ */ diff --git a/freertos/cvitek/install/include/common/cvi_type.h b/freertos/cvitek/install/include/common/cvi_type.h new file mode 100644 index 000000000..dc3a02f4e --- /dev/null +++ b/freertos/cvitek/install/include/common/cvi_type.h @@ -0,0 +1,89 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_type.h + * Description: + */ + +#ifndef __CVI_TYPE_H__ +#define __CVI_TYPE_H__ + +// #include "linux/types.h" +#include +#include +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +/*---------------------------------------------- + * The common data type + *---------------------------------------------- + */ +typedef unsigned char CVI_UCHAR; +typedef unsigned char CVI_U8; +typedef unsigned short CVI_U16; +typedef unsigned int CVI_U32; +typedef unsigned int CVI_HANDLE; + +typedef signed char CVI_S8; +typedef char CVI_CHAR; +typedef short CVI_S16; +typedef int CVI_S32; + +typedef unsigned long CVI_UL; +typedef signed long CVI_SL; + +typedef float CVI_FLOAT; +typedef double CVI_DOUBLE; + +typedef void CVI_VOID; +typedef unsigned char CVI_BOOL; + +typedef uint64_t CVI_U64; +typedef int64_t CVI_S64; + +typedef size_t CVI_SIZE_T; + +/*---------------------------------------------- + * const defination + *---------------------------------------------- + */ + +#define UNUSED(x) if(x) {} + +#ifndef MIN +#define MIN(x, y) ((x) < (y) ? (x) : (y)) +#endif +#ifndef MAX +#define MAX(x, y) ((x) > (y) ? (x) : (y)) +#endif +#ifndef CLAMP +#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) +#endif + +#ifndef EINVAL +#define EINVAL 22 /* Invalid argument */ +#endif /*EINVAL*/ + +#define CVI_NULL 0L +#define CVI_SUCCESS 0 +#define CVI_FAILURE (-1) +#define CVI_FAILURE_ILLEGAL_PARAM (-2) +#define CVI_TRUE 1 +#define CVI_FALSE 0 + +#ifndef BIT +#define BIT(x) (1 << (x)) +#endif + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_TYPE_H__ */ diff --git a/freertos/cvitek/install/include/common/delay.h b/freertos/cvitek/install/include/common/delay.h new file mode 100644 index 000000000..3d282baa1 --- /dev/null +++ b/freertos/cvitek/install/include/common/delay.h @@ -0,0 +1,26 @@ +#ifndef _DELAY_H +#define _DELAY_H + +#include "FreeRTOS.h" +#include + +#ifndef udelay +#define udelay(us) usleep(us) +#endif + +/* use vTaskDelay to replace usleep api + * usleep is a busy waiting api + */ +#ifndef mdelay +#define mdelay(ms) usleep(ms * 1000) +/*#define mdelay(ms) \ +do { \ + if (ms < (configTICK_RATE_HZ / 1000)) \ + usleep(ms * 1000); \ + else \ + vTaskDelay(pdMS_TO_TICKS(ms)); \ +} while(0) +*/ +#endif + +#endif // end of _DELAY_H diff --git a/freertos/cvitek/install/include/common/fifo.h b/freertos/cvitek/install/include/common/fifo.h new file mode 100644 index 000000000..87ac979c6 --- /dev/null +++ b/freertos/cvitek/install/include/common/fifo.h @@ -0,0 +1,63 @@ +#ifndef __FIFO_H__ +#define __FIFO_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define FIFO_HEAD(name, type) \ + struct name { \ + struct type *fifo; \ + int front, tail, capacity; \ + } + +#define FIFO_INIT(head, _capacity) do { \ + (head)->fifo = pvPortMalloc(sizeof(*(head)->fifo) * _capacity); \ + (head)->front = (head)->tail = -1; \ + (head)->capacity = _capacity; \ + } while (0) + +#define FIFO_EMPTY(head) ((head)->front == -1) + +#define FIFO_FULL(head) (((head)->front == ((head)->tail + 1)) \ + || (((head)->front == 0) && ((head)->tail == ((head)->capacity - 1)))) + +#define FIFO_CAPACITY(head) ((head)->capacity) + +#define FIFO_SIZE(head) (FIFO_EMPTY(head) ?\ + 0 : ((((head)->tail + (head)->capacity - (head)->front) % (head)->capacity) + 1)) + +#define FIFO_PUSH(head, elm) do { \ + if (FIFO_EMPTY(head)) \ + (head)->front = (head)->tail = 0; \ + else \ + (head)->tail = ((head)->tail == (head)->capacity - 1) \ + ? 0 : (head)->tail + 1; \ + (head)->fifo[(head)->tail] = *elm; \ + } while (0) + +#define FIFO_POP(head, pelm) do { \ + *(pelm) = (head)->fifo[(head)->front]; \ + if ((head)->front == (head)->tail) \ + (head)->front = (head)->tail = -1; \ + else \ + (head)->front = ((head)->front == (head)->capacity - 1) \ + ? 0 : (head)->front + 1; \ + } while (0) + +#define FIFO_FOREACH(var, head, idx) \ + for (idx = (head)->front, var = (head)->fifo[idx]; \ + idx < (head)->front + FIFO_SIZE(head); \ + idx = idx + 1, var = (head)->fifo[idx % (head)->capacity]) + +#define FIFO_GET_FRONT(head, pelm) (*(pelm) = (head)->fifo[(head)->front]) + +#define FIFO_GET_FRONT_PTR(head, pelm) ((pelm) = &(head)->fifo[(head)->front]) + +#define FIFO_GET_TAIL(head, pelm) (*(pelm) = (head)->fifo[(head)->tail]) + +#ifdef __cplusplus +} +#endif + +#endif /* __FIFO_H__ */ diff --git a/freertos/cvitek/install/include/common/malloc.h b/freertos/cvitek/install/include/common/malloc.h new file mode 100644 index 000000000..b8e9ac02a --- /dev/null +++ b/freertos/cvitek/install/include/common/malloc.h @@ -0,0 +1,47 @@ +#ifndef __MALLOC_H___ +#define __MALLOC_H__ + +/* here use freertos malloc & free function*/ +extern void *pvPortMalloc(size_t xWantedSize); +extern void vPortFree(void *pv); + +void *memset(void *dest, int value, unsigned long size); +void *memcpy(void *dest, const void *source, unsigned long size); + +/* + * Replace the normal allocation functions with the versions from + * . vfree() needs to support vfree(NULL) + */ +#undef malloc +#undef free +#undef kmalloc +#undef kfree +#undef vmalloc +#undef vfree +#define malloc(size) pvPortMalloc(size) +#define free(ptr) vPortFree(ptr) +#define kmalloc(size, flags) pvPortMalloc(size) +#define kcalloc(nelem, size, flags) calloc(nelem, size) +#define kzalloc(size, flags) calloc(1, size) +#define devm_kzalloc(nelem, size, flags) calloc(1, size) +#define kfree(ptr) vPortFree(ptr) +#define vmalloc(size) pvPortMalloc(size) +#define vfree(ptr) \ + do { \ + if (ptr != NULL) \ + vPortFree(ptr); \ + } while (0) + +void *calloc(size_t nelem, size_t size); + +/* align addr on a size boundary - adjust address up/down if needed */ +#define _ALIGN_UP(addr, size) (((addr)+((size)-1))&(~((typeof(addr))(size)-1))) +#define _ALIGN_DOWN(addr, size) ((addr)&(~((typeof(addr))(size)-1))) + +/* align addr on a size boundary - adjust address up if needed */ +#define _ALIGN(addr,size) _ALIGN_UP(addr,size) + +/* to align the pointer to the (next) page boundary */ +#define PAGE_ALIGN(addr) _ALIGN(addr, PAGE_SIZE) + +#endif // end of __MALLOC_H__ diff --git a/freertos/cvitek/install/include/common/mmio.h b/freertos/cvitek/install/include/common/mmio.h new file mode 100644 index 000000000..2f417229d --- /dev/null +++ b/freertos/cvitek/install/include/common/mmio.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef __MMIO_H__ +#define __MMIO_H__ +#include +#include "types.h" + +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) +#define __raw_readq(a) (*(volatile unsigned long long *)(a)) + +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) +#define __raw_writeq(v,a) (*(volatile unsigned long long *)(a) = (v)) + +/* + * I/O memory access primitives. Reads are ordered relative to any + * following Normal memory access. Writes are ordered relative to any prior + * Normal memory access. The memory barriers here are necessary as RISC-V + * doesn't define any ordering between the memory space and the I/O space. + */ +#define __io_br() do {} while (0) +#define __io_ar(v) __asm__ __volatile__ ("fence i,r" : : : "memory") +#define __io_bw() __asm__ __volatile__ ("fence w,o" : : : "memory") +//#define __io_aw() mmiowb_set_pending() +#define __io_aw() do {} while (0) + +#define readb(c) ({ u8 __v; __io_br(); __v = __raw_readb(c); __io_ar(__v); __v; }) +#define readw(c) ({ u16 __v; __io_br(); __v = __raw_readw(c); __io_ar(__v); __v; }) +#define readl(c) ({ u32 __v; __io_br(); __v = __raw_readl(c); __io_ar(__v); __v; }) + +#define writeb(v, c) ({ __io_bw(); __raw_writeb((v), (c)); __io_aw(); }) +#define writew(v, c) ({ __io_bw(); __raw_writew((v), (c)); __io_aw(); }) +#define writel(v, c) ({ __io_bw(); __raw_writel((v), (c)); __io_aw(); }) + + +#ifdef CONFIG_64BIT +#define readq(c) ({ u64 __v; __io_br(); __v = __raw_readq(c); __io_ar(__v); __v; }) +#define writeq(v, c) ({ __io_bw(); __raw_writeq((v), (c)); __io_aw(); }) +#endif // CONFIG_64BIT + +/* +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) +#define __raw_readq(a) (*(volatile unsigned long long *)(a)) + +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) +#define __raw_writeq(v,a) (*(volatile unsigned long long *)(a) = (v)) + +#define readb(a) __raw_readb(a) +#define readw(a) __raw_readw(a) +#define readl(a) __raw_readl(a) +#define readq(a) __raw_readq(a) + +#define writeb(v, a) __raw_writeb(v,a) +#define writew(v, a) __raw_writew(v,a) +#define writel(v, a) __raw_writel(v,a) +#define writeq(v, a) __raw_writeq(v,a) + +#define cpu_write8(a, v) writeb(a, v) +#define cpu_write16(a, v) writew(a, v) +#define cpu_write32(a, v) writel(a, v) +*/ + +#define mmio_wr32 mmio_write_32 +#define mmio_rd32 mmio_read_32 + +static inline void mmio_write_8(uintptr_t addr, uint8_t value) +{ + writeb(value, (void *) addr); +} + +static inline uint8_t mmio_read_8(uintptr_t addr) +{ + return readb((void *) addr); +} + +static inline void mmio_write_16(uintptr_t addr, uint16_t value) +{ + writew(value, (void *) addr); +} + +static inline uint16_t mmio_read_16(uintptr_t addr) +{ + return readw((void *) addr); +} + +static inline void mmio_write_32(uintptr_t addr, uint32_t value) +{ + writel(value, (void *) addr); +} + +static inline uint32_t mmio_read_32(uintptr_t addr) +{ + return readl((void *) addr); +} + +static inline void mmio_write_64(uintptr_t addr, uint64_t value) +{ + writeq(value, (void *) addr); +} + +static inline uint64_t mmio_read_64(uintptr_t addr) +{ + return readq((void *) addr); +} + +static inline void mmio_clrbits_32(uintptr_t addr, uint32_t clear) +{ + writel(readl((void *) addr) & ~clear , (void *) addr); +} + +static inline void mmio_setbits_32(uintptr_t addr, uint32_t set) +{ + writel(readl((void *) addr) | set , (void *) addr); +} + +static inline void mmio_clrsetbits_32(uintptr_t addr, uint32_t clear, + uint32_t set) +{ + writel((readl((void *) addr) & ~clear) | set , (void *) addr); +} + +/* from Linux usage */ +#define ioremap(a, l) (a) + +#define _reg_read(addr) mmio_read_32((addr)) +#define _reg_write(addr, data) mmio_write_32((addr), (data)) +#define _reg_write_mask(addr, mask, data) mmio_clrsetbits_32(addr, mask, data) + +#define ioread8 readb +#define ioread16 readw +#define ioread32 readl +#define ioread64 readq + +#define iowrite8 writeb +#define iowrite16 writew +#define iowrite32 writel +#define iowrite64 writeq + +#endif /* __MMIO_H__ */ diff --git a/freertos/cvitek/install/include/common/printf.h b/freertos/cvitek/install/include/common/printf.h new file mode 100644 index 000000000..1b5866e51 --- /dev/null +++ b/freertos/cvitek/install/include/common/printf.h @@ -0,0 +1,14 @@ +#ifndef _PRINTF_H +#define _PRINTF_H + +#ifdef __cplusplus +extern "C" { +#endif + +int printf(const char *fmt, ...); + +#ifdef __cplusplus +} +#endif + +#endif /* end of printf*/ diff --git a/freertos/cvitek/install/include/common/reg_vip_sys.h b/freertos/cvitek/install/include/common/reg_vip_sys.h new file mode 100644 index 000000000..96e8c1617 --- /dev/null +++ b/freertos/cvitek/install/include/common/reg_vip_sys.h @@ -0,0 +1,1221 @@ +// $Module: reg_vip_sys $ +// $RegisterBank Version: V 1.0.00 $ +// $Author: $ +// $Date: Tue, 28 Dec 2021 04:11:12 PM $ +// + +//GEN REG ADDR/OFFSET/MASK +#define VIP_SYS_VIP_RESETS 0x0 +#define VIP_SYS_VIP_RESERVE 0x4 +#define VIP_SYS_VIP_INT 0x8 +#define VIP_SYS_VIP_AXI_SW 0x10 +#define VIP_SYS_VIP_CLK_LP 0x14 +#define VIP_SYS_VIP_CLK_CTRL0 0x18 +#define VIP_SYS_VIP_CLK_CTRL1 0x1c +#define VIP_SYS_VIP_LP_CTRL_AXI_RT 0x20 +#define VIP_SYS_VIP_LP_CTRL_AXI_OFF 0x24 +#define VIP_SYS_VIP_LP_CTRL_X2P 0x28 +#define VIP_SYS_SC_LP_CTRL_AXI_FAB 0x2c +#define VIP_SYS_VIP_CLK_RATIO0 0x30 +#define VIP_SYS_VIP_CLK_RATIO1 0x34 +#define VIP_SYS_VIP_CLK_RATIO_CSI_MAC0 0x38 +#define VIP_SYS_VIP_CLK_RATIO_ISP_TOP 0x3c +#define VIP_SYS_VIP_CLK_RATIO_CSI_MAC1 0x40 +#define VIP_SYS_VIP_CLK_RATIO_CSI_BE 0x44 +#define VIP_SYS_VIP_CLK_RATIO_CSI_MAC2 0x48 +#define VIP_SYS_VIP_LP_CTRL_STATUS 0x50 +#define VIP_SYS_VIP_URGENT_SEL 0x5c +#define VIP_SYS_VIP_QOS_OW 0x60 +#define VIP_SYS_VIP_QOS_VALUE 0x64 +#define VIP_SYS_VIP_QOS_OFFSET 0x68 +#define VIP_SYS_VIP_QOS_URGENT_HI_TH 0x6c +#define VIP_SYS_VIP_AXI_RT_FAB_PRI_OW 0x70 +#define VIP_SYS_VIP_AXI_RT_FAB_PRI_VALUE 0x74 +#define VIP_SYS_VIP_QOS_URGENT_LOW_TH 0x7c +#define VIP_SYS_VIP_DUMMY0 0x80 +#define VIP_SYS_VIP_DUMMY1 0x84 +#define VIP_SYS_VIP_DUMMY2 0x88 +#define VIP_SYS_VIP_DUMMY3 0x8c +#define VIP_SYS_VIP_DBG0 0x90 +#define VIP_SYS_VIP_DBG1 0x94 +#define VIP_SYS_VIP_DBG2 0x98 +#define VIP_SYS_VIP_DBG3 0x9c +#define VIP_SYS_VIP_RT_AXI_MON_M1 0xa0 +#define VIP_SYS_VIP_RT_AXI_MON_M2 0xa4 +#define VIP_SYS_VIP_RT_AXI_MON_M3 0xa8 +#define VIP_SYS_VIP_RT_AXI_MON_M4 0xac +#define VIP_SYS_VIP_OFF_AXI_MON_M1 0xb0 +#define VIP_SYS_VIP_OFF_AXI_MON_M2 0xb4 +#define VIP_SYS_VIP_RESETS1 0xc0 +#define VIP_SYS_VIP_CLK_RATIO_RAW_TOP 0xc4 +#define VIP_SYS_VIP_CLK_RATIO_IVE_TOP 0xc8 +#define VIP_SYS_VIP_CLK_RATIO_CAM0 0xcc +#define VIP_SYS_VIP_OFF_AXI_MON_M3 0xd0 +#define VIP_SYS_VIP_OFF_AXI_MON_M4 0xd4 +#define VIP_SYS_VIP_OFF_AXI_MON_M5 0xd8 +#define VIP_SYS_VIP_OFF_AXI_MON_M6 0xdc +#define VIP_SYS_VIP_OFF_AXI_MON_M7 0xe0 +#define VIP_SYS_REG_QQQ 0x0 +#define VIP_SYS_REG_QQQ_OFFSET 0 +#define VIP_SYS_REG_QQQ_MASK 0x1 +#define VIP_SYS_REG_QQQ_BITS 0x1 +#define VIP_SYS_REG_RST_ISP_TOP 0x0 +#define VIP_SYS_REG_RST_ISP_TOP_OFFSET 1 +#define VIP_SYS_REG_RST_ISP_TOP_MASK 0x2 +#define VIP_SYS_REG_RST_ISP_TOP_BITS 0x1 +#define VIP_SYS_REG_RST_IMG_D 0x0 +#define VIP_SYS_REG_RST_IMG_D_OFFSET 2 +#define VIP_SYS_REG_RST_IMG_D_MASK 0x4 +#define VIP_SYS_REG_RST_IMG_D_BITS 0x1 +#define VIP_SYS_REG_RST_IMG_V 0x0 +#define VIP_SYS_REG_RST_IMG_V_OFFSET 3 +#define VIP_SYS_REG_RST_IMG_V_MASK 0x8 +#define VIP_SYS_REG_RST_IMG_V_BITS 0x1 +#define VIP_SYS_REG_RST_SC_TOP 0x0 +#define VIP_SYS_REG_RST_SC_TOP_OFFSET 4 +#define VIP_SYS_REG_RST_SC_TOP_MASK 0x10 +#define VIP_SYS_REG_RST_SC_TOP_BITS 0x1 +#define VIP_SYS_REG_RST_SC_D 0x0 +#define VIP_SYS_REG_RST_SC_D_OFFSET 5 +#define VIP_SYS_REG_RST_SC_D_MASK 0x20 +#define VIP_SYS_REG_RST_SC_D_BITS 0x1 +#define VIP_SYS_REG_RST_SC_V1 0x0 +#define VIP_SYS_REG_RST_SC_V1_OFFSET 6 +#define VIP_SYS_REG_RST_SC_V1_MASK 0x40 +#define VIP_SYS_REG_RST_SC_V1_BITS 0x1 +#define VIP_SYS_REG_RST_SC_V2 0x0 +#define VIP_SYS_REG_RST_SC_V2_OFFSET 7 +#define VIP_SYS_REG_RST_SC_V2_MASK 0x80 +#define VIP_SYS_REG_RST_SC_V2_BITS 0x1 +#define VIP_SYS_REG_RST_SC_V3 0x0 +#define VIP_SYS_REG_RST_SC_V3_OFFSET 8 +#define VIP_SYS_REG_RST_SC_V3_MASK 0x100 +#define VIP_SYS_REG_RST_SC_V3_BITS 0x1 +#define VIP_SYS_REG_RST_DISP 0x0 +#define VIP_SYS_REG_RST_DISP_OFFSET 9 +#define VIP_SYS_REG_RST_DISP_MASK 0x200 +#define VIP_SYS_REG_RST_DISP_BITS 0x1 +#define VIP_SYS_REG_RST_BT 0x0 +#define VIP_SYS_REG_RST_BT_OFFSET 10 +#define VIP_SYS_REG_RST_BT_MASK 0x400 +#define VIP_SYS_REG_RST_BT_BITS 0x1 +#define VIP_SYS_REG_RST_DSI_MAC 0x0 +#define VIP_SYS_REG_RST_DSI_MAC_OFFSET 11 +#define VIP_SYS_REG_RST_DSI_MAC_MASK 0x800 +#define VIP_SYS_REG_RST_DSI_MAC_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC0 0x0 +#define VIP_SYS_REG_RST_CSI_MAC0_OFFSET 12 +#define VIP_SYS_REG_RST_CSI_MAC0_MASK 0x1000 +#define VIP_SYS_REG_RST_CSI_MAC0_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC1 0x0 +#define VIP_SYS_REG_RST_CSI_MAC1_OFFSET 13 +#define VIP_SYS_REG_RST_CSI_MAC1_MASK 0x2000 +#define VIP_SYS_REG_RST_CSI_MAC1_BITS 0x1 +#define VIP_SYS_REG_RST_LDC_TOP 0x0 +#define VIP_SYS_REG_RST_LDC_TOP_OFFSET 14 +#define VIP_SYS_REG_RST_LDC_TOP_MASK 0x4000 +#define VIP_SYS_REG_RST_LDC_TOP_BITS 0x1 +#define VIP_SYS_REG_RST_CLK_BT_DIV 0x0 +#define VIP_SYS_REG_RST_CLK_BT_DIV_OFFSET 15 +#define VIP_SYS_REG_RST_CLK_BT_DIV_MASK 0x8000 +#define VIP_SYS_REG_RST_CLK_BT_DIV_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC2 0x0 +#define VIP_SYS_REG_RST_CSI_MAC2_OFFSET 16 +#define VIP_SYS_REG_RST_CSI_MAC2_MASK 0x10000 +#define VIP_SYS_REG_RST_CSI_MAC2_BITS 0x1 +#define VIP_SYS_REG_RST_ISP_TOP_APB 0x0 +#define VIP_SYS_REG_RST_ISP_TOP_APB_OFFSET 17 +#define VIP_SYS_REG_RST_ISP_TOP_APB_MASK 0x20000 +#define VIP_SYS_REG_RST_ISP_TOP_APB_BITS 0x1 +#define VIP_SYS_REG_RST_SC_TOP_APB 0x0 +#define VIP_SYS_REG_RST_SC_TOP_APB_OFFSET 18 +#define VIP_SYS_REG_RST_SC_TOP_APB_MASK 0x40000 +#define VIP_SYS_REG_RST_SC_TOP_APB_BITS 0x1 +#define VIP_SYS_REG_RST_LDC_TOP_APB 0x0 +#define VIP_SYS_REG_RST_LDC_TOP_APB_OFFSET 19 +#define VIP_SYS_REG_RST_LDC_TOP_APB_MASK 0x80000 +#define VIP_SYS_REG_RST_LDC_TOP_APB_BITS 0x1 +#define VIP_SYS_REG_RST_DSI_MAC_APB 0x0 +#define VIP_SYS_REG_RST_DSI_MAC_APB_OFFSET 20 +#define VIP_SYS_REG_RST_DSI_MAC_APB_MASK 0x100000 +#define VIP_SYS_REG_RST_DSI_MAC_APB_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC0_APB 0x0 +#define VIP_SYS_REG_RST_CSI_MAC0_APB_OFFSET 21 +#define VIP_SYS_REG_RST_CSI_MAC0_APB_MASK 0x200000 +#define VIP_SYS_REG_RST_CSI_MAC0_APB_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC1_APB 0x0 +#define VIP_SYS_REG_RST_CSI_MAC1_APB_OFFSET 22 +#define VIP_SYS_REG_RST_CSI_MAC1_APB_MASK 0x400000 +#define VIP_SYS_REG_RST_CSI_MAC1_APB_BITS 0x1 +#define VIP_SYS_REG_RST_DSI_PHY_APB 0x0 +#define VIP_SYS_REG_RST_DSI_PHY_APB_OFFSET 23 +#define VIP_SYS_REG_RST_DSI_PHY_APB_MASK 0x800000 +#define VIP_SYS_REG_RST_DSI_PHY_APB_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_PHY0_APB 0x0 +#define VIP_SYS_REG_RST_CSI_PHY0_APB_OFFSET 24 +#define VIP_SYS_REG_RST_CSI_PHY0_APB_MASK 0x1000000 +#define VIP_SYS_REG_RST_CSI_PHY0_APB_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_PHY1_APB 0x0 +#define VIP_SYS_REG_RST_CSI_PHY1_APB_OFFSET 25 +#define VIP_SYS_REG_RST_CSI_PHY1_APB_MASK 0x2000000 +#define VIP_SYS_REG_RST_CSI_PHY1_APB_BITS 0x1 +#define VIP_SYS_REG_RST_DSI_PHY 0x0 +#define VIP_SYS_REG_RST_DSI_PHY_OFFSET 26 +#define VIP_SYS_REG_RST_DSI_PHY_MASK 0x4000000 +#define VIP_SYS_REG_RST_DSI_PHY_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_PHY0 0x0 +#define VIP_SYS_REG_RST_CSI_PHY0_OFFSET 27 +#define VIP_SYS_REG_RST_CSI_PHY0_MASK 0x8000000 +#define VIP_SYS_REG_RST_CSI_PHY0_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_PHY1 0x0 +#define VIP_SYS_REG_RST_CSI_PHY1_OFFSET 28 +#define VIP_SYS_REG_RST_CSI_PHY1_MASK 0x10000000 +#define VIP_SYS_REG_RST_CSI_PHY1_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_BE 0x0 +#define VIP_SYS_REG_RST_CSI_BE_OFFSET 29 +#define VIP_SYS_REG_RST_CSI_BE_MASK 0x20000000 +#define VIP_SYS_REG_RST_CSI_BE_BITS 0x1 +#define VIP_SYS_REG_RST_CSI_MAC2_APB 0x0 +#define VIP_SYS_REG_RST_CSI_MAC2_APB_OFFSET 30 +#define VIP_SYS_REG_RST_CSI_MAC2_APB_MASK 0x40000000 +#define VIP_SYS_REG_RST_CSI_MAC2_APB_BITS 0x1 +#define VIP_SYS_REG_RST_REV 0x0 +#define VIP_SYS_REG_RST_REV_OFFSET 31 +#define VIP_SYS_REG_RST_REV_MASK 0x80000000 +#define VIP_SYS_REG_RST_REV_BITS 0x1 +#define VIP_SYS_REG_CLK_AXI_ISP_TOP_EN 0x4 +#define VIP_SYS_REG_CLK_AXI_ISP_TOP_EN_OFFSET 0 +#define VIP_SYS_REG_CLK_AXI_ISP_TOP_EN_MASK 0x1 +#define VIP_SYS_REG_CLK_AXI_ISP_TOP_EN_BITS 0x1 +#define VIP_SYS_REG_EN_REV0 0x4 +#define VIP_SYS_REG_EN_REV0_OFFSET 1 +#define VIP_SYS_REG_EN_REV0_MASK 0xfffe +#define VIP_SYS_REG_EN_REV0_BITS 0xf +#define VIP_SYS_REG_EN_REV1 0x4 +#define VIP_SYS_REG_EN_REV1_OFFSET 16 +#define VIP_SYS_REG_EN_REV1_MASK 0xffff0000 +#define VIP_SYS_REG_EN_REV1_BITS 0x10 +#define VIP_SYS_INT_SC_TOP 0x8 +#define VIP_SYS_INT_SC_TOP_OFFSET 0 +#define VIP_SYS_INT_SC_TOP_MASK 0x1 +#define VIP_SYS_INT_SC_TOP_BITS 0x1 +#define VIP_SYS_INT_ISP_TOP 0x8 +#define VIP_SYS_INT_ISP_TOP_OFFSET 16 +#define VIP_SYS_INT_ISP_TOP_MASK 0x10000 +#define VIP_SYS_INT_ISP_TOP_BITS 0x1 +#define VIP_SYS_INT_LDC_TOP 0x8 +#define VIP_SYS_INT_LDC_TOP_OFFSET 24 +#define VIP_SYS_INT_LDC_TOP_MASK 0x1000000 +#define VIP_SYS_INT_LDC_TOP_BITS 0x1 +#define VIP_SYS_INT_IVE_TOP 0x8 +#define VIP_SYS_INT_IVE_TOP_OFFSET 25 +#define VIP_SYS_INT_IVE_TOP_MASK 0x2000000 +#define VIP_SYS_INT_IVE_TOP_BITS 0x1 +#define VIP_SYS_INT_CSI_MAC0 0x8 +#define VIP_SYS_INT_CSI_MAC0_OFFSET 28 +#define VIP_SYS_INT_CSI_MAC0_MASK 0x10000000 +#define VIP_SYS_INT_CSI_MAC0_BITS 0x1 +#define VIP_SYS_INT_CSI_MAC1 0x8 +#define VIP_SYS_INT_CSI_MAC1_OFFSET 29 +#define VIP_SYS_INT_CSI_MAC1_MASK 0x20000000 +#define VIP_SYS_INT_CSI_MAC1_BITS 0x1 +#define VIP_SYS_REG_PORT_SEL_SC_OFF 0x10 +#define VIP_SYS_REG_PORT_SEL_SC_OFF_OFFSET 0 +#define VIP_SYS_REG_PORT_SEL_SC_OFF_MASK 0x1 +#define VIP_SYS_REG_PORT_SEL_SC_OFF_BITS 0x1 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF0 0x10 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF0_OFFSET 1 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF0_MASK 0x2 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF0_BITS 0x1 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF1 0x10 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF1_OFFSET 2 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF1_MASK 0x4 +#define VIP_SYS_REG_PORT_SEL_ISP_OFF1_BITS 0x1 +#define VIP_SYS_REG_PORT_SEL_LDC_OFF 0x10 +#define VIP_SYS_REG_PORT_SEL_LDC_OFF_OFFSET 3 +#define VIP_SYS_REG_PORT_SEL_LDC_OFF_MASK 0x8 +#define VIP_SYS_REG_PORT_SEL_LDC_OFF_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_SC_TOP 0x14 +#define VIP_SYS_APB_CLK_EN_SC_TOP_OFFSET 0 +#define VIP_SYS_APB_CLK_EN_SC_TOP_MASK 0x1 +#define VIP_SYS_APB_CLK_EN_SC_TOP_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_ISP_TOP 0x14 +#define VIP_SYS_APB_CLK_EN_ISP_TOP_OFFSET 1 +#define VIP_SYS_APB_CLK_EN_ISP_TOP_MASK 0x2 +#define VIP_SYS_APB_CLK_EN_ISP_TOP_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_LDC_TOP 0x14 +#define VIP_SYS_APB_CLK_EN_LDC_TOP_OFFSET 2 +#define VIP_SYS_APB_CLK_EN_LDC_TOP_MASK 0x4 +#define VIP_SYS_APB_CLK_EN_LDC_TOP_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_IVE_TOP 0x14 +#define VIP_SYS_APB_CLK_EN_IVE_TOP_OFFSET 3 +#define VIP_SYS_APB_CLK_EN_IVE_TOP_MASK 0x8 +#define VIP_SYS_APB_CLK_EN_IVE_TOP_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_VIP_SYS 0x14 +#define VIP_SYS_APB_CLK_EN_VIP_SYS_OFFSET 4 +#define VIP_SYS_APB_CLK_EN_VIP_SYS_MASK 0x10 +#define VIP_SYS_APB_CLK_EN_VIP_SYS_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_CSI_PHY0 0x14 +#define VIP_SYS_APB_CLK_EN_CSI_PHY0_OFFSET 5 +#define VIP_SYS_APB_CLK_EN_CSI_PHY0_MASK 0x20 +#define VIP_SYS_APB_CLK_EN_CSI_PHY0_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_DSI_PHY 0x14 +#define VIP_SYS_APB_CLK_EN_DSI_PHY_OFFSET 6 +#define VIP_SYS_APB_CLK_EN_DSI_PHY_MASK 0x40 +#define VIP_SYS_APB_CLK_EN_DSI_PHY_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_CSI_MAC0 0x14 +#define VIP_SYS_APB_CLK_EN_CSI_MAC0_OFFSET 8 +#define VIP_SYS_APB_CLK_EN_CSI_MAC0_MASK 0x100 +#define VIP_SYS_APB_CLK_EN_CSI_MAC0_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_CSI_MAC1 0x14 +#define VIP_SYS_APB_CLK_EN_CSI_MAC1_OFFSET 9 +#define VIP_SYS_APB_CLK_EN_CSI_MAC1_MASK 0x200 +#define VIP_SYS_APB_CLK_EN_CSI_MAC1_BITS 0x1 +#define VIP_SYS_SC_X2P_BUSY_EN 0x14 +#define VIP_SYS_SC_X2P_BUSY_EN_OFFSET 12 +#define VIP_SYS_SC_X2P_BUSY_EN_MASK 0x1000 +#define VIP_SYS_SC_X2P_BUSY_EN_BITS 0x1 +#define VIP_SYS_ISP_X2P_BUSY_EN 0x14 +#define VIP_SYS_ISP_X2P_BUSY_EN_OFFSET 13 +#define VIP_SYS_ISP_X2P_BUSY_EN_MASK 0x2000 +#define VIP_SYS_ISP_X2P_BUSY_EN_BITS 0x1 +#define VIP_SYS_LDC_X2P_BUSY_EN 0x14 +#define VIP_SYS_LDC_X2P_BUSY_EN_OFFSET 14 +#define VIP_SYS_LDC_X2P_BUSY_EN_MASK 0x4000 +#define VIP_SYS_LDC_X2P_BUSY_EN_BITS 0x1 +#define VIP_SYS_IVE_X2P_BUSY_EN 0x14 +#define VIP_SYS_IVE_X2P_BUSY_EN_OFFSET 15 +#define VIP_SYS_IVE_X2P_BUSY_EN_MASK 0x8000 +#define VIP_SYS_IVE_X2P_BUSY_EN_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_SC_TOP 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_SC_TOP_OFFSET 16 +#define VIP_SYS_APB_AUTO_GATING_EN_SC_TOP_MASK 0x10000 +#define VIP_SYS_APB_AUTO_GATING_EN_SC_TOP_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_ISP_TOP 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_ISP_TOP_OFFSET 17 +#define VIP_SYS_APB_AUTO_GATING_EN_ISP_TOP_MASK 0x20000 +#define VIP_SYS_APB_AUTO_GATING_EN_ISP_TOP_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_LDC_TOP 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_LDC_TOP_OFFSET 18 +#define VIP_SYS_APB_AUTO_GATING_EN_LDC_TOP_MASK 0x40000 +#define VIP_SYS_APB_AUTO_GATING_EN_LDC_TOP_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_IVE_TOP 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_IVE_TOP_OFFSET 19 +#define VIP_SYS_APB_AUTO_GATING_EN_IVE_TOP_MASK 0x80000 +#define VIP_SYS_APB_AUTO_GATING_EN_IVE_TOP_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_VIP_SYS 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_VIP_SYS_OFFSET 20 +#define VIP_SYS_APB_AUTO_GATING_EN_VIP_SYS_MASK 0x100000 +#define VIP_SYS_APB_AUTO_GATING_EN_VIP_SYS_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_PHY0 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_PHY0_OFFSET 21 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_PHY0_MASK 0x200000 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_PHY0_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_DSI_PHY 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_DSI_PHY_OFFSET 22 +#define VIP_SYS_APB_AUTO_GATING_EN_DSI_PHY_MASK 0x400000 +#define VIP_SYS_APB_AUTO_GATING_EN_DSI_PHY_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC0 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC0_OFFSET 24 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC0_MASK 0x1000000 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC0_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC1 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC1_OFFSET 25 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC1_MASK 0x2000000 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC1_BITS 0x1 +#define VIP_SYS_APB_CLK_EN_CSI_MAC2 0x14 +#define VIP_SYS_APB_CLK_EN_CSI_MAC2_OFFSET 26 +#define VIP_SYS_APB_CLK_EN_CSI_MAC2_MASK 0x4000000 +#define VIP_SYS_APB_CLK_EN_CSI_MAC2_BITS 0x1 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC2 0x14 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC2_OFFSET 27 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC2_MASK 0x8000000 +#define VIP_SYS_APB_AUTO_GATING_EN_CSI_MAC2_BITS 0x1 +#define VIP_SYS_CLK_BT_SRC_SEL 0x18 +#define VIP_SYS_CLK_BT_SRC_SEL_OFFSET 0 +#define VIP_SYS_CLK_BT_SRC_SEL_MASK 0x3 +#define VIP_SYS_CLK_BT_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_LVDS0_SRC_SEL 0x18 +#define VIP_SYS_CLK_LVDS0_SRC_SEL_OFFSET 2 +#define VIP_SYS_CLK_LVDS0_SRC_SEL_MASK 0x4 +#define VIP_SYS_CLK_LVDS0_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_LVDS1_SRC_SEL 0x18 +#define VIP_SYS_CLK_LVDS1_SRC_SEL_OFFSET 3 +#define VIP_SYS_CLK_LVDS1_SRC_SEL_MASK 0x8 +#define VIP_SYS_CLK_LVDS1_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_DISP_SEL_BT_DIV1 0x18 +#define VIP_SYS_CLK_DISP_SEL_BT_DIV1_OFFSET 4 +#define VIP_SYS_CLK_DISP_SEL_BT_DIV1_MASK 0x10 +#define VIP_SYS_CLK_DISP_SEL_BT_DIV1_BITS 0x1 +#define VIP_SYS_CLK_DISP_DIV_CNT 0x18 +#define VIP_SYS_CLK_DISP_DIV_CNT_OFFSET 5 +#define VIP_SYS_CLK_DISP_DIV_CNT_MASK 0xe0 +#define VIP_SYS_CLK_DISP_DIV_CNT_BITS 0x3 +#define VIP_SYS_CLK_DSI_MAC_SRC_SEL 0x18 +#define VIP_SYS_CLK_DSI_MAC_SRC_SEL_OFFSET 8 +#define VIP_SYS_CLK_DSI_MAC_SRC_SEL_MASK 0x100 +#define VIP_SYS_CLK_DSI_MAC_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_CSI0_RX_SRC_SEL 0x18 +#define VIP_SYS_CLK_CSI0_RX_SRC_SEL_OFFSET 10 +#define VIP_SYS_CLK_CSI0_RX_SRC_SEL_MASK 0x400 +#define VIP_SYS_CLK_CSI0_RX_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_CSI1_RX_SRC_SEL 0x18 +#define VIP_SYS_CLK_CSI1_RX_SRC_SEL_OFFSET 11 +#define VIP_SYS_CLK_CSI1_RX_SRC_SEL_MASK 0x800 +#define VIP_SYS_CLK_CSI1_RX_SRC_SEL_BITS 0x1 +#define VIP_SYS_PAD_VI0_CLK_SRC_SEL 0x18 +#define VIP_SYS_PAD_VI0_CLK_SRC_SEL_OFFSET 12 +#define VIP_SYS_PAD_VI0_CLK_SRC_SEL_MASK 0x1000 +#define VIP_SYS_PAD_VI0_CLK_SRC_SEL_BITS 0x1 +#define VIP_SYS_PAD_VI1_CLK_SRC_SEL 0x18 +#define VIP_SYS_PAD_VI1_CLK_SRC_SEL_OFFSET 13 +#define VIP_SYS_PAD_VI1_CLK_SRC_SEL_MASK 0x2000 +#define VIP_SYS_PAD_VI1_CLK_SRC_SEL_BITS 0x1 +#define VIP_SYS_PAD_VI2_CLK_SRC_SEL 0x18 +#define VIP_SYS_PAD_VI2_CLK_SRC_SEL_OFFSET 14 +#define VIP_SYS_PAD_VI2_CLK_SRC_SEL_MASK 0x4000 +#define VIP_SYS_PAD_VI2_CLK_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_DISP_DIV_UP_W1T 0x18 +#define VIP_SYS_CLK_DISP_DIV_UP_W1T_OFFSET 16 +#define VIP_SYS_CLK_DISP_DIV_UP_W1T_MASK 0x10000 +#define VIP_SYS_CLK_DISP_DIV_UP_W1T_BITS 0x1 +#define VIP_SYS_CLK_VIP_SRC_SEL 0x1c +#define VIP_SYS_CLK_VIP_SRC_SEL_OFFSET 0 +#define VIP_SYS_CLK_VIP_SRC_SEL_MASK 0x1 +#define VIP_SYS_CLK_VIP_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_CSI_MAC0_SRC_SEL 0x1c +#define VIP_SYS_CLK_CSI_MAC0_SRC_SEL_OFFSET 4 +#define VIP_SYS_CLK_CSI_MAC0_SRC_SEL_MASK 0x30 +#define VIP_SYS_CLK_CSI_MAC0_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_CSI_MAC1_SRC_SEL 0x1c +#define VIP_SYS_CLK_CSI_MAC1_SRC_SEL_OFFSET 8 +#define VIP_SYS_CLK_CSI_MAC1_SRC_SEL_MASK 0x300 +#define VIP_SYS_CLK_CSI_MAC1_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_CSI_BE_SRC_SEL 0x1c +#define VIP_SYS_CLK_CSI_BE_SRC_SEL_OFFSET 12 +#define VIP_SYS_CLK_CSI_BE_SRC_SEL_MASK 0x3000 +#define VIP_SYS_CLK_CSI_BE_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_ISP_SRC_SEL 0x1c +#define VIP_SYS_CLK_ISP_SRC_SEL_OFFSET 16 +#define VIP_SYS_CLK_ISP_SRC_SEL_MASK 0x30000 +#define VIP_SYS_CLK_ISP_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_LDC_SRC_SEL 0x1c +#define VIP_SYS_CLK_LDC_SRC_SEL_OFFSET 20 +#define VIP_SYS_CLK_LDC_SRC_SEL_MASK 0x100000 +#define VIP_SYS_CLK_LDC_SRC_SEL_BITS 0x1 +#define VIP_SYS_CLK_IVE_SRC_SEL 0x1c +#define VIP_SYS_CLK_IVE_SRC_SEL_OFFSET 21 +#define VIP_SYS_CLK_IVE_SRC_SEL_MASK 0x600000 +#define VIP_SYS_CLK_IVE_SRC_SEL_BITS 0x2 +#define VIP_SYS_ISP_CLK_CSI1_SRC_SEL 0x1c +#define VIP_SYS_ISP_CLK_CSI1_SRC_SEL_OFFSET 24 +#define VIP_SYS_ISP_CLK_CSI1_SRC_SEL_MASK 0x3000000 +#define VIP_SYS_ISP_CLK_CSI1_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_RAW_SRC_SEL 0x1c +#define VIP_SYS_CLK_RAW_SRC_SEL_OFFSET 26 +#define VIP_SYS_CLK_RAW_SRC_SEL_MASK 0xc000000 +#define VIP_SYS_CLK_RAW_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_OSDC_SRC_SEL 0x1c +#define VIP_SYS_CLK_OSDC_SRC_SEL_OFFSET 28 +#define VIP_SYS_CLK_OSDC_SRC_SEL_MASK 0x30000000 +#define VIP_SYS_CLK_OSDC_SRC_SEL_BITS 0x2 +#define VIP_SYS_CLK_CSI_MAC2_SRC_SEL 0x1c +#define VIP_SYS_CLK_CSI_MAC2_SRC_SEL_OFFSET 30 +#define VIP_SYS_CLK_CSI_MAC2_SRC_SEL_MASK 0xc0000000 +#define VIP_SYS_CLK_CSI_MAC2_SRC_SEL_BITS 0x2 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_RT 0x20 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_RT_OFFSET 0 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_RT_MASK 0x1 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_RT_BITS 0x1 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_RT 0x20 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_RT_OFFSET 1 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_RT_MASK 0x2 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_RT_BITS 0x1 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_RT 0x20 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_RT_OFFSET 8 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_RT_MASK 0x3f00 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_RT_BITS 0x6 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_RT 0x20 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_RT_OFFSET 16 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_RT_MASK 0xff0000 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_RT_BITS 0x8 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_OFF 0x24 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_OFF_OFFSET 0 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_OFF_MASK 0x1 +#define VIP_SYS_REG_LP_DISABLE_VIP_AXI_OFF_BITS 0x1 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_OFF 0x24 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_OFF_OFFSET 1 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_OFF_MASK 0x2 +#define VIP_SYS_REG_LP_LOCK_VIP_AXI_OFF_BITS 0x1 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_OFF 0x24 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_OFF_OFFSET 8 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_OFF_MASK 0x3f00 +#define VIP_SYS_REG_LP_CTRL_VIP_AXI_OFF_BITS 0x6 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_OFF 0x24 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_OFF_OFFSET 16 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_OFF_MASK 0xff0000 +#define VIP_SYS_REG_DIS_FAB_LP_OPT_AXI_OFF_BITS 0x8 +#define VIP_SYS_REG_LP_DISABLE_VIP_X2P 0x28 +#define VIP_SYS_REG_LP_DISABLE_VIP_X2P_OFFSET 0 +#define VIP_SYS_REG_LP_DISABLE_VIP_X2P_MASK 0x1 +#define VIP_SYS_REG_LP_DISABLE_VIP_X2P_BITS 0x1 +#define VIP_SYS_REG_LP_LOCK_VIP_X2P 0x28 +#define VIP_SYS_REG_LP_LOCK_VIP_X2P_OFFSET 1 +#define VIP_SYS_REG_LP_LOCK_VIP_X2P_MASK 0x2 +#define VIP_SYS_REG_LP_LOCK_VIP_X2P_BITS 0x1 +#define VIP_SYS_REG_LP_CTRL_VIP_X2P 0x28 +#define VIP_SYS_REG_LP_CTRL_VIP_X2P_OFFSET 8 +#define VIP_SYS_REG_LP_CTRL_VIP_X2P_MASK 0x3f00 +#define VIP_SYS_REG_LP_CTRL_VIP_X2P_BITS 0x6 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M0 0x2c +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M0_OFFSET 0 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M0_MASK 0x1 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M0_BITS 0x1 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M0 0x2c +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M0_OFFSET 1 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M0_MASK 0x2 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M0_BITS 0x1 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M0 0x2c +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M0_OFFSET 8 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M0_MASK 0x3f00 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M0_BITS 0x6 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M1 0x2c +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M1_OFFSET 16 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M1_MASK 0x10000 +#define VIP_SYS_REG_LP_DISABLE_SC_AXI_FAB_M1_BITS 0x1 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M1 0x2c +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M1_OFFSET 17 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M1_MASK 0x20000 +#define VIP_SYS_REG_LP_LOCK_SC_AXI_FAB_M1_BITS 0x1 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M1 0x2c +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M1_OFFSET 24 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M1_MASK 0x3f000000 +#define VIP_SYS_REG_LP_CTRL_SC_AXI_FAB_M1_BITS 0x6 +#define VIP_SYS_REG_CK_COEF_ISP_TOP 0x30 +#define VIP_SYS_REG_CK_COEF_ISP_TOP_OFFSET 0 +#define VIP_SYS_REG_CK_COEF_ISP_TOP_MASK 0x1f +#define VIP_SYS_REG_CK_COEF_ISP_TOP_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_LDC 0x30 +#define VIP_SYS_REG_CK_COEF_LDC_OFFSET 5 +#define VIP_SYS_REG_CK_COEF_LDC_MASK 0x3e0 +#define VIP_SYS_REG_CK_COEF_LDC_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_IMG_D 0x30 +#define VIP_SYS_REG_CK_COEF_IMG_D_OFFSET 10 +#define VIP_SYS_REG_CK_COEF_IMG_D_MASK 0x7c00 +#define VIP_SYS_REG_CK_COEF_IMG_D_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_IMG_V 0x30 +#define VIP_SYS_REG_CK_COEF_IMG_V_OFFSET 15 +#define VIP_SYS_REG_CK_COEF_IMG_V_MASK 0xf8000 +#define VIP_SYS_REG_CK_COEF_IMG_V_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_SC_D 0x30 +#define VIP_SYS_REG_CK_COEF_SC_D_OFFSET 20 +#define VIP_SYS_REG_CK_COEF_SC_D_MASK 0x1f00000 +#define VIP_SYS_REG_CK_COEF_SC_D_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_SC_V1 0x30 +#define VIP_SYS_REG_CK_COEF_SC_V1_OFFSET 25 +#define VIP_SYS_REG_CK_COEF_SC_V1_MASK 0x3e000000 +#define VIP_SYS_REG_CK_COEF_SC_V1_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_SC_V2 0x34 +#define VIP_SYS_REG_CK_COEF_SC_V2_OFFSET 0 +#define VIP_SYS_REG_CK_COEF_SC_V2_MASK 0x1f +#define VIP_SYS_REG_CK_COEF_SC_V2_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_SC_V3 0x34 +#define VIP_SYS_REG_CK_COEF_SC_V3_OFFSET 5 +#define VIP_SYS_REG_CK_COEF_SC_V3_MASK 0x3e0 +#define VIP_SYS_REG_CK_COEF_SC_V3_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_CSI_MAC0 0x34 +#define VIP_SYS_REG_CK_COEF_CSI_MAC0_OFFSET 10 +#define VIP_SYS_REG_CK_COEF_CSI_MAC0_MASK 0x7c00 +#define VIP_SYS_REG_CK_COEF_CSI_MAC0_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_CSI_MAC1 0x34 +#define VIP_SYS_REG_CK_COEF_CSI_MAC1_OFFSET 15 +#define VIP_SYS_REG_CK_COEF_CSI_MAC1_MASK 0xf8000 +#define VIP_SYS_REG_CK_COEF_CSI_MAC1_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_OSDC 0x34 +#define VIP_SYS_REG_CK_COEF_OSDC_OFFSET 20 +#define VIP_SYS_REG_CK_COEF_OSDC_MASK 0x1f00000 +#define VIP_SYS_REG_CK_COEF_OSDC_BITS 0x5 +#define VIP_SYS_REG_CK_COEF_REV 0x34 +#define VIP_SYS_REG_CK_COEF_REV_OFFSET 25 +#define VIP_SYS_REG_CK_COEF_REV_MASK 0x3e000000 +#define VIP_SYS_REG_CK_COEF_REV_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC0 0x38 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC0_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC0_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC0_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC0 0x38 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC0_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC0_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC0_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC0 0x38 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC0_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC0_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC0_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC0 0x38 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC0_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC0_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC0_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC0 0x38 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC0_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC0_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC0_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC0 0x38 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC0_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC0_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC0_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_ISP_TOP 0x3c +#define VIP_SYS_REG_NORM_DIV_EN_ISP_TOP_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_ISP_TOP_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_ISP_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_ISP_TOP 0x3c +#define VIP_SYS_REG_IDLE_DIV_EN_ISP_TOP_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_ISP_TOP_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_ISP_TOP_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_ISP_TOP 0x3c +#define VIP_SYS_REG_UPDATE_SEL_ISP_TOP_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_ISP_TOP_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_ISP_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_ISP_TOP 0x3c +#define VIP_SYS_REG_IDLE_SLOW_SEL_ISP_TOP_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_ISP_TOP_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_ISP_TOP_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_ISP_TOP 0x3c +#define VIP_SYS_REG_IDLE_WAIT_SEL_ISP_TOP_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_ISP_TOP_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_ISP_TOP_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_ISP_TOP 0x3c +#define VIP_SYS_REG_NORM_DIV_VAL_ISP_TOP_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_ISP_TOP_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_ISP_TOP_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC1 0x40 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC1_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC1_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC1_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC1 0x40 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC1_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC1_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC1_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC1 0x40 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC1_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC1_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC1_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC1 0x40 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC1_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC1_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC1_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC1 0x40 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC1_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC1_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC1_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC1 0x40 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC1_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC1_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC1_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_BE 0x44 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_BE_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_BE_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_BE_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_BE 0x44 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_BE_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_BE_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_BE_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_CSI_BE 0x44 +#define VIP_SYS_REG_UPDATE_SEL_CSI_BE_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_CSI_BE_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_CSI_BE_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_BE 0x44 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_BE_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_BE_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_BE_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_BE 0x44 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_BE_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_BE_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_BE_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_BE 0x44 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_BE_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_BE_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_BE_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC2 0x48 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC2_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC2_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_CSI_MAC2_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC2 0x48 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC2_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC2_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_CSI_MAC2_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC2 0x48 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC2_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC2_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_CSI_MAC2_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC2 0x48 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC2_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC2_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CSI_MAC2_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC2 0x48 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC2_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC2_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CSI_MAC2_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC2 0x48 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC2_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC2_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_CSI_MAC2_BITS 0x5 +#define VIP_SYS_CACTIVE_AXI_RT_FAB 0x50 +#define VIP_SYS_CACTIVE_AXI_RT_FAB_OFFSET 0 +#define VIP_SYS_CACTIVE_AXI_RT_FAB_MASK 0x1 +#define VIP_SYS_CACTIVE_AXI_RT_FAB_BITS 0x1 +#define VIP_SYS_CSYSREQ_AXI_RT_FAB 0x50 +#define VIP_SYS_CSYSREQ_AXI_RT_FAB_OFFSET 1 +#define VIP_SYS_CSYSREQ_AXI_RT_FAB_MASK 0x2 +#define VIP_SYS_CSYSREQ_AXI_RT_FAB_BITS 0x1 +#define VIP_SYS_CSYSACK_AXI_RT_FAB 0x50 +#define VIP_SYS_CSYSACK_AXI_RT_FAB_OFFSET 2 +#define VIP_SYS_CSYSACK_AXI_RT_FAB_MASK 0x4 +#define VIP_SYS_CSYSACK_AXI_RT_FAB_BITS 0x1 +#define VIP_SYS_LPC_RT_FAB_LP_LOCK_O 0x50 +#define VIP_SYS_LPC_RT_FAB_LP_LOCK_O_OFFSET 3 +#define VIP_SYS_LPC_RT_FAB_LP_LOCK_O_MASK 0x8 +#define VIP_SYS_LPC_RT_FAB_LP_LOCK_O_BITS 0x1 +#define VIP_SYS_LPC_RT_FAB_LP_BUSY_O 0x50 +#define VIP_SYS_LPC_RT_FAB_LP_BUSY_O_OFFSET 4 +#define VIP_SYS_LPC_RT_FAB_LP_BUSY_O_MASK 0x10 +#define VIP_SYS_LPC_RT_FAB_LP_BUSY_O_BITS 0x1 +#define VIP_SYS_CACTIVE_AXI_OFF_FAB 0x50 +#define VIP_SYS_CACTIVE_AXI_OFF_FAB_OFFSET 5 +#define VIP_SYS_CACTIVE_AXI_OFF_FAB_MASK 0x20 +#define VIP_SYS_CACTIVE_AXI_OFF_FAB_BITS 0x1 +#define VIP_SYS_CSYSREQ_AXI_OFF_FAB 0x50 +#define VIP_SYS_CSYSREQ_AXI_OFF_FAB_OFFSET 6 +#define VIP_SYS_CSYSREQ_AXI_OFF_FAB_MASK 0x40 +#define VIP_SYS_CSYSREQ_AXI_OFF_FAB_BITS 0x1 +#define VIP_SYS_CSYSACK_AXI_OFF_FAB 0x50 +#define VIP_SYS_CSYSACK_AXI_OFF_FAB_OFFSET 7 +#define VIP_SYS_CSYSACK_AXI_OFF_FAB_MASK 0x80 +#define VIP_SYS_CSYSACK_AXI_OFF_FAB_BITS 0x1 +#define VIP_SYS_LPC_OFF_FAB_LP_LOCK_O 0x50 +#define VIP_SYS_LPC_OFF_FAB_LP_LOCK_O_OFFSET 8 +#define VIP_SYS_LPC_OFF_FAB_LP_LOCK_O_MASK 0x100 +#define VIP_SYS_LPC_OFF_FAB_LP_LOCK_O_BITS 0x1 +#define VIP_SYS_LPC_OFF_FAB_LP_BUSY_O 0x50 +#define VIP_SYS_LPC_OFF_FAB_LP_BUSY_O_OFFSET 9 +#define VIP_SYS_LPC_OFF_FAB_LP_BUSY_O_MASK 0x200 +#define VIP_SYS_LPC_OFF_FAB_LP_BUSY_O_BITS 0x1 +#define VIP_SYS_CACTIVE_X2P 0x50 +#define VIP_SYS_CACTIVE_X2P_OFFSET 10 +#define VIP_SYS_CACTIVE_X2P_MASK 0x400 +#define VIP_SYS_CACTIVE_X2P_BITS 0x1 +#define VIP_SYS_CSYSREQ_X2P 0x50 +#define VIP_SYS_CSYSREQ_X2P_OFFSET 11 +#define VIP_SYS_CSYSREQ_X2P_MASK 0x800 +#define VIP_SYS_CSYSREQ_X2P_BITS 0x1 +#define VIP_SYS_CSYSACK_X2P 0x50 +#define VIP_SYS_CSYSACK_X2P_OFFSET 12 +#define VIP_SYS_CSYSACK_X2P_MASK 0x1000 +#define VIP_SYS_CSYSACK_X2P_BITS 0x1 +#define VIP_SYS_LPC_X2P_FAB_LP_LOCK_O 0x50 +#define VIP_SYS_LPC_X2P_FAB_LP_LOCK_O_OFFSET 13 +#define VIP_SYS_LPC_X2P_FAB_LP_LOCK_O_MASK 0x2000 +#define VIP_SYS_LPC_X2P_FAB_LP_LOCK_O_BITS 0x1 +#define VIP_SYS_LPC_X2P_FAB_LP_BUSY_O 0x50 +#define VIP_SYS_LPC_X2P_FAB_LP_BUSY_O_OFFSET 14 +#define VIP_SYS_LPC_X2P_FAB_LP_BUSY_O_MASK 0x4000 +#define VIP_SYS_LPC_X2P_FAB_LP_BUSY_O_BITS 0x1 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M0 0x50 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M0_OFFSET 16 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M0_MASK 0x10000 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M0_BITS 0x1 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M0 0x50 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M0_OFFSET 17 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M0_MASK 0x20000 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M0_BITS 0x1 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M0 0x50 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M0_OFFSET 18 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M0_MASK 0x40000 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M0_BITS 0x1 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_LOCK_O 0x50 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_LOCK_O_OFFSET 19 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_LOCK_O_MASK 0x80000 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_LOCK_O_BITS 0x1 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_BUSY_O 0x50 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_BUSY_O_OFFSET 20 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_BUSY_O_MASK 0x100000 +#define VIP_SYS_LPC_SC_AXI_FAB_M0_LP_BUSY_O_BITS 0x1 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M1 0x50 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M1_OFFSET 21 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M1_MASK 0x200000 +#define VIP_SYS_CACTIVE_SC_AXI_FAB_M1_BITS 0x1 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M1 0x50 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M1_OFFSET 22 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M1_MASK 0x400000 +#define VIP_SYS_CSYSREQ_SC_AXI_FAB_M1_BITS 0x1 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M1 0x50 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M1_OFFSET 23 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M1_MASK 0x800000 +#define VIP_SYS_CSYSACK_SC_AXI_FAB_M1_BITS 0x1 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_LOCK_O 0x50 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_LOCK_O_OFFSET 24 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_LOCK_O_MASK 0x1000000 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_LOCK_O_BITS 0x1 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_BUSY_O 0x50 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_BUSY_O_OFFSET 25 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_BUSY_O_MASK 0x2000000 +#define VIP_SYS_LPC_SC_AXI_FAB_M1_LP_BUSY_O_BITS 0x1 +#define VIP_SYS_REG_SC_AXI_URGENT_AW_EN 0x5c +#define VIP_SYS_REG_SC_AXI_URGENT_AW_EN_OFFSET 0 +#define VIP_SYS_REG_SC_AXI_URGENT_AW_EN_MASK 0x1 +#define VIP_SYS_REG_SC_AXI_URGENT_AW_EN_BITS 0x1 +#define VIP_SYS_REG_SC_AXI_URGENT_AR_EN 0x5c +#define VIP_SYS_REG_SC_AXI_URGENT_AR_EN_OFFSET 1 +#define VIP_SYS_REG_SC_AXI_URGENT_AR_EN_MASK 0x2 +#define VIP_SYS_REG_SC_AXI_URGENT_AR_EN_BITS 0x1 +#define VIP_SYS_REG_AWURGENT_THRD_LOW_EN 0x5c +#define VIP_SYS_REG_AWURGENT_THRD_LOW_EN_OFFSET 8 +#define VIP_SYS_REG_AWURGENT_THRD_LOW_EN_MASK 0x100 +#define VIP_SYS_REG_AWURGENT_THRD_LOW_EN_BITS 0x1 +#define VIP_SYS_REG_ARURGENT_THRD_LOW_EN 0x5c +#define VIP_SYS_REG_ARURGENT_THRD_LOW_EN_OFFSET 9 +#define VIP_SYS_REG_ARURGENT_THRD_LOW_EN_MASK 0x200 +#define VIP_SYS_REG_ARURGENT_THRD_LOW_EN_BITS 0x1 +#define VIP_SYS_REG_AWURGENT_IDLE_CLR 0x5c +#define VIP_SYS_REG_AWURGENT_IDLE_CLR_OFFSET 16 +#define VIP_SYS_REG_AWURGENT_IDLE_CLR_MASK 0x10000 +#define VIP_SYS_REG_AWURGENT_IDLE_CLR_BITS 0x1 +#define VIP_SYS_REG_ARURGENT_IDLE_CLR 0x5c +#define VIP_SYS_REG_ARURGENT_IDLE_CLR_OFFSET 17 +#define VIP_SYS_REG_ARURGENT_IDLE_CLR_MASK 0x20000 +#define VIP_SYS_REG_ARURGENT_IDLE_CLR_BITS 0x1 +#define VIP_SYS_REG_AWQOS_OW_ISP 0x60 +#define VIP_SYS_REG_AWQOS_OW_ISP_OFFSET 0 +#define VIP_SYS_REG_AWQOS_OW_ISP_MASK 0x1 +#define VIP_SYS_REG_AWQOS_OW_ISP_BITS 0x1 +#define VIP_SYS_REG_ARQOS_OW_ISP 0x60 +#define VIP_SYS_REG_ARQOS_OW_ISP_OFFSET 1 +#define VIP_SYS_REG_ARQOS_OW_ISP_MASK 0x2 +#define VIP_SYS_REG_ARQOS_OW_ISP_BITS 0x1 +#define VIP_SYS_REG_AWQOS_OW_SC 0x60 +#define VIP_SYS_REG_AWQOS_OW_SC_OFFSET 2 +#define VIP_SYS_REG_AWQOS_OW_SC_MASK 0x4 +#define VIP_SYS_REG_AWQOS_OW_SC_BITS 0x1 +#define VIP_SYS_REG_ARQOS_OW_SC 0x60 +#define VIP_SYS_REG_ARQOS_OW_SC_OFFSET 3 +#define VIP_SYS_REG_ARQOS_OW_SC_MASK 0x8 +#define VIP_SYS_REG_ARQOS_OW_SC_BITS 0x1 +#define VIP_SYS_REG_AWQOS_OW_SC_M1 0x60 +#define VIP_SYS_REG_AWQOS_OW_SC_M1_OFFSET 4 +#define VIP_SYS_REG_AWQOS_OW_SC_M1_MASK 0x10 +#define VIP_SYS_REG_AWQOS_OW_SC_M1_BITS 0x1 +#define VIP_SYS_REG_ARQOS_OW_SC_M1 0x60 +#define VIP_SYS_REG_ARQOS_OW_SC_M1_OFFSET 5 +#define VIP_SYS_REG_ARQOS_OW_SC_M1_MASK 0x20 +#define VIP_SYS_REG_ARQOS_OW_SC_M1_BITS 0x1 +#define VIP_SYS_REG_AWQOS_OW_ISP_M1 0x60 +#define VIP_SYS_REG_AWQOS_OW_ISP_M1_OFFSET 6 +#define VIP_SYS_REG_AWQOS_OW_ISP_M1_MASK 0x40 +#define VIP_SYS_REG_AWQOS_OW_ISP_M1_BITS 0x1 +#define VIP_SYS_REG_ARQOS_OW_ISP_M1 0x60 +#define VIP_SYS_REG_ARQOS_OW_ISP_M1_OFFSET 7 +#define VIP_SYS_REG_ARQOS_OW_ISP_M1_MASK 0x80 +#define VIP_SYS_REG_ARQOS_OW_ISP_M1_BITS 0x1 +#define VIP_SYS_REG_AWQOS_ISP 0x64 +#define VIP_SYS_REG_AWQOS_ISP_OFFSET 0 +#define VIP_SYS_REG_AWQOS_ISP_MASK 0xf +#define VIP_SYS_REG_AWQOS_ISP_BITS 0x4 +#define VIP_SYS_REG_ARQOS_ISP 0x64 +#define VIP_SYS_REG_ARQOS_ISP_OFFSET 4 +#define VIP_SYS_REG_ARQOS_ISP_MASK 0xf0 +#define VIP_SYS_REG_ARQOS_ISP_BITS 0x4 +#define VIP_SYS_REG_AWQOS_SC 0x64 +#define VIP_SYS_REG_AWQOS_SC_OFFSET 8 +#define VIP_SYS_REG_AWQOS_SC_MASK 0xf00 +#define VIP_SYS_REG_AWQOS_SC_BITS 0x4 +#define VIP_SYS_REG_ARQOS_SC 0x64 +#define VIP_SYS_REG_ARQOS_SC_OFFSET 12 +#define VIP_SYS_REG_ARQOS_SC_MASK 0xf000 +#define VIP_SYS_REG_ARQOS_SC_BITS 0x4 +#define VIP_SYS_REG_AWQOS_SC_M1 0x64 +#define VIP_SYS_REG_AWQOS_SC_M1_OFFSET 16 +#define VIP_SYS_REG_AWQOS_SC_M1_MASK 0xf0000 +#define VIP_SYS_REG_AWQOS_SC_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_SC_M1 0x64 +#define VIP_SYS_REG_ARQOS_SC_M1_OFFSET 20 +#define VIP_SYS_REG_ARQOS_SC_M1_MASK 0xf00000 +#define VIP_SYS_REG_ARQOS_SC_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_ISP_M1 0x64 +#define VIP_SYS_REG_AWQOS_ISP_M1_OFFSET 24 +#define VIP_SYS_REG_AWQOS_ISP_M1_MASK 0xf000000 +#define VIP_SYS_REG_AWQOS_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_ISP_M1 0x64 +#define VIP_SYS_REG_ARQOS_ISP_M1_OFFSET 28 +#define VIP_SYS_REG_ARQOS_ISP_M1_MASK 0xf0000000 +#define VIP_SYS_REG_ARQOS_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP 0x68 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_OFFSET 0 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_MASK 0xf +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_BITS 0x4 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP 0x68 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_OFFSET 4 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_MASK 0xf0 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_BITS 0x4 +#define VIP_SYS_REG_AWQOS_OFFSET_SC 0x68 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_OFFSET 8 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_MASK 0xf00 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_BITS 0x4 +#define VIP_SYS_REG_ARQOS_OFFSET_SC 0x68 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_OFFSET 12 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_MASK 0xf000 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_BITS 0x4 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_M1 0x68 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_M1_OFFSET 16 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_M1_MASK 0xf0000 +#define VIP_SYS_REG_AWQOS_OFFSET_SC_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_M1 0x68 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_M1_OFFSET 20 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_M1_MASK 0xf00000 +#define VIP_SYS_REG_ARQOS_OFFSET_SC_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_M1 0x68 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_M1_OFFSET 24 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_M1_MASK 0xf000000 +#define VIP_SYS_REG_AWQOS_OFFSET_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_M1 0x68 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_M1_OFFSET 28 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_M1_MASK 0xf0000000 +#define VIP_SYS_REG_ARQOS_OFFSET_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_THRD_ISP 0x6c +#define VIP_SYS_REG_AWQOS_THRD_ISP_OFFSET 0 +#define VIP_SYS_REG_AWQOS_THRD_ISP_MASK 0xf +#define VIP_SYS_REG_AWQOS_THRD_ISP_BITS 0x4 +#define VIP_SYS_REG_ARQOS_THRD_ISP 0x6c +#define VIP_SYS_REG_ARQOS_THRD_ISP_OFFSET 4 +#define VIP_SYS_REG_ARQOS_THRD_ISP_MASK 0xf0 +#define VIP_SYS_REG_ARQOS_THRD_ISP_BITS 0x4 +#define VIP_SYS_REG_AWQOS_THRD_SC 0x6c +#define VIP_SYS_REG_AWQOS_THRD_SC_OFFSET 8 +#define VIP_SYS_REG_AWQOS_THRD_SC_MASK 0xf00 +#define VIP_SYS_REG_AWQOS_THRD_SC_BITS 0x4 +#define VIP_SYS_REG_ARQOS_THRD_SC 0x6c +#define VIP_SYS_REG_ARQOS_THRD_SC_OFFSET 12 +#define VIP_SYS_REG_ARQOS_THRD_SC_MASK 0xf000 +#define VIP_SYS_REG_ARQOS_THRD_SC_BITS 0x4 +#define VIP_SYS_REG_AWQOS_THRD_SC_M1 0x6c +#define VIP_SYS_REG_AWQOS_THRD_SC_M1_OFFSET 16 +#define VIP_SYS_REG_AWQOS_THRD_SC_M1_MASK 0xf0000 +#define VIP_SYS_REG_AWQOS_THRD_SC_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_THRD_SC_M1 0x6c +#define VIP_SYS_REG_ARQOS_THRD_SC_M1_OFFSET 20 +#define VIP_SYS_REG_ARQOS_THRD_SC_M1_MASK 0xf00000 +#define VIP_SYS_REG_ARQOS_THRD_SC_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_THRD_ISP_M1 0x6c +#define VIP_SYS_REG_AWQOS_THRD_ISP_M1_OFFSET 24 +#define VIP_SYS_REG_AWQOS_THRD_ISP_M1_MASK 0xf000000 +#define VIP_SYS_REG_AWQOS_THRD_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_THRD_ISP_M1 0x6c +#define VIP_SYS_REG_ARQOS_THRD_ISP_M1_OFFSET 28 +#define VIP_SYS_REG_ARQOS_THRD_ISP_M1_MASK 0xf0000000 +#define VIP_SYS_REG_ARQOS_THRD_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_PRIORITY_OW_RT_M1 0x70 +#define VIP_SYS_REG_PRIORITY_OW_RT_M1_OFFSET 0 +#define VIP_SYS_REG_PRIORITY_OW_RT_M1_MASK 0x1 +#define VIP_SYS_REG_PRIORITY_OW_RT_M1_BITS 0x1 +#define VIP_SYS_REG_PRIORITY_OW_RT_M2 0x70 +#define VIP_SYS_REG_PRIORITY_OW_RT_M2_OFFSET 1 +#define VIP_SYS_REG_PRIORITY_OW_RT_M2_MASK 0x2 +#define VIP_SYS_REG_PRIORITY_OW_RT_M2_BITS 0x1 +#define VIP_SYS_REG_PRIORITY_OW_RT_M3 0x70 +#define VIP_SYS_REG_PRIORITY_OW_RT_M3_OFFSET 2 +#define VIP_SYS_REG_PRIORITY_OW_RT_M3_MASK 0x4 +#define VIP_SYS_REG_PRIORITY_OW_RT_M3_BITS 0x1 +#define VIP_SYS_REG_PRIORITY_OW_RT_M4 0x70 +#define VIP_SYS_REG_PRIORITY_OW_RT_M4_OFFSET 3 +#define VIP_SYS_REG_PRIORITY_OW_RT_M4_MASK 0x8 +#define VIP_SYS_REG_PRIORITY_OW_RT_M4_BITS 0x1 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M1 0x70 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M1_OFFSET 8 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M1_MASK 0x300 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M1_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M2 0x70 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M2_OFFSET 10 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M2_MASK 0xc00 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M2_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M3 0x70 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M3_OFFSET 12 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M3_MASK 0x3000 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M3_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M4 0x70 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M4_OFFSET 14 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M4_MASK 0xc000 +#define VIP_SYS_REG_PRIORITY_MODE_RT_M4_BITS 0x2 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M1 0x70 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M1_OFFSET 16 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M1_MASK 0x30000 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M1_BITS 0x2 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M2 0x70 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M2_OFFSET 20 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M2_MASK 0x300000 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M2_BITS 0x2 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M3 0x70 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M3_OFFSET 24 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M3_MASK 0x3000000 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M3_BITS 0x2 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M4 0x70 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M4_OFFSET 28 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M4_MASK 0x30000000 +#define VIP_SYS_REG_FIX_PRIORITY_RT_M4_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_0 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_0_OFFSET 0 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_0_MASK 0x3 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_0_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_1 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_1_OFFSET 2 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_1_MASK 0xc +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_1_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_2 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_2_OFFSET 4 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_2_MASK 0x30 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_2_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_3 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_3_OFFSET 6 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_3_MASK 0xc0 +#define VIP_SYS_REG_PRIORITY_RT_M1_SEL_3_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_0 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_0_OFFSET 8 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_0_MASK 0x300 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_0_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_1 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_1_OFFSET 10 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_1_MASK 0xc00 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_1_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_2 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_2_OFFSET 12 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_2_MASK 0x3000 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_2_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_3 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_3_OFFSET 14 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_3_MASK 0xc000 +#define VIP_SYS_REG_PRIORITY_RT_M2_SEL_3_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_0 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_0_OFFSET 16 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_0_MASK 0x30000 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_0_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_1 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_1_OFFSET 18 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_1_MASK 0xc0000 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_1_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_2 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_2_OFFSET 20 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_2_MASK 0x300000 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_2_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_3 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_3_OFFSET 22 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_3_MASK 0xc00000 +#define VIP_SYS_REG_PRIORITY_RT_M3_SEL_3_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_0 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_0_OFFSET 24 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_0_MASK 0x3000000 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_0_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_1 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_1_OFFSET 26 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_1_MASK 0xc000000 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_1_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_2 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_2_OFFSET 28 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_2_MASK 0x30000000 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_2_BITS 0x2 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_3 0x74 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_3_OFFSET 30 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_3_MASK 0xc0000000 +#define VIP_SYS_REG_PRIORITY_RT_M4_SEL_3_BITS 0x2 +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP 0x7c +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_OFFSET 0 +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_MASK 0xf +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_BITS 0x4 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP 0x7c +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_OFFSET 4 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_MASK 0xf0 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_BITS 0x4 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC 0x7c +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_OFFSET 8 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_MASK 0xf00 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_BITS 0x4 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC 0x7c +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_OFFSET 12 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_MASK 0xf000 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_BITS 0x4 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_M1 0x7c +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_M1_OFFSET 16 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_M1_MASK 0xf0000 +#define VIP_SYS_REG_AWQOS_LOW_THRD_SC_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_M1 0x7c +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_M1_OFFSET 20 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_M1_MASK 0xf00000 +#define VIP_SYS_REG_ARQOS_LOW_THRD_SC_M1_BITS 0x4 +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_M1 0x7c +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_M1_OFFSET 24 +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_M1_MASK 0xf000000 +#define VIP_SYS_REG_AWQOS_LOW_THRD_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_M1 0x7c +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_M1_OFFSET 28 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_M1_MASK 0xf0000000 +#define VIP_SYS_REG_ARQOS_LOW_THRD_ISP_M1_BITS 0x4 +#define VIP_SYS_REG_DUMMY0 0x80 +#define VIP_SYS_REG_DUMMY0_OFFSET 0 +#define VIP_SYS_REG_DUMMY0_MASK 0xffffffff +#define VIP_SYS_REG_DUMMY0_BITS 0x20 +#define VIP_SYS_REG_DUMMY1 0x84 +#define VIP_SYS_REG_DUMMY1_OFFSET 0 +#define VIP_SYS_REG_DUMMY1_MASK 0xffffffff +#define VIP_SYS_REG_DUMMY1_BITS 0x20 +#define VIP_SYS_REG_DUMMY2 0x88 +#define VIP_SYS_REG_DUMMY2_OFFSET 0 +#define VIP_SYS_REG_DUMMY2_MASK 0xffffffff +#define VIP_SYS_REG_DUMMY2_BITS 0x20 +#define VIP_SYS_REG_DUMMY3 0x8c +#define VIP_SYS_REG_DUMMY3_OFFSET 0 +#define VIP_SYS_REG_DUMMY3_MASK 0xffffffff +#define VIP_SYS_REG_DUMMY3_BITS 0x20 +#define VIP_SYS_REG_DBG_BUS0 0x90 +#define VIP_SYS_REG_DBG_BUS0_OFFSET 0 +#define VIP_SYS_REG_DBG_BUS0_MASK 0xffffffff +#define VIP_SYS_REG_DBG_BUS0_BITS 0x20 +#define VIP_SYS_REG_DBG_BUS1 0x94 +#define VIP_SYS_REG_DBG_BUS1_OFFSET 0 +#define VIP_SYS_REG_DBG_BUS1_MASK 0xffffffff +#define VIP_SYS_REG_DBG_BUS1_BITS 0x20 +#define VIP_SYS_REG_DBG_BUS2 0x98 +#define VIP_SYS_REG_DBG_BUS2_OFFSET 0 +#define VIP_SYS_REG_DBG_BUS2_MASK 0xffffffff +#define VIP_SYS_REG_DBG_BUS2_BITS 0x20 +#define VIP_SYS_REG_DBG_BUS3 0x9c +#define VIP_SYS_REG_DBG_BUS3_OFFSET 0 +#define VIP_SYS_REG_DBG_BUS3_MASK 0xffffffff +#define VIP_SYS_REG_DBG_BUS3_BITS 0x20 +#define VIP_SYS_RT_AXI_MON_M1_OUT 0xa0 +#define VIP_SYS_RT_AXI_MON_M1_OUT_OFFSET 0 +#define VIP_SYS_RT_AXI_MON_M1_OUT_MASK 0xffffffff +#define VIP_SYS_RT_AXI_MON_M1_OUT_BITS 0x20 +#define VIP_SYS_RT_AXI_MON_M2_OUT 0xa4 +#define VIP_SYS_RT_AXI_MON_M2_OUT_OFFSET 0 +#define VIP_SYS_RT_AXI_MON_M2_OUT_MASK 0xffffffff +#define VIP_SYS_RT_AXI_MON_M2_OUT_BITS 0x20 +#define VIP_SYS_RT_AXI_MON_M3_OUT 0xa8 +#define VIP_SYS_RT_AXI_MON_M3_OUT_OFFSET 0 +#define VIP_SYS_RT_AXI_MON_M3_OUT_MASK 0xffffffff +#define VIP_SYS_RT_AXI_MON_M3_OUT_BITS 0x20 +#define VIP_SYS_RT_AXI_MON_M4_OUT 0xac +#define VIP_SYS_RT_AXI_MON_M4_OUT_OFFSET 0 +#define VIP_SYS_RT_AXI_MON_M4_OUT_MASK 0xffffffff +#define VIP_SYS_RT_AXI_MON_M4_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M1_OUT 0xb0 +#define VIP_SYS_OFF_AXI_MON_M1_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M1_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M1_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M2_OUT 0xb4 +#define VIP_SYS_OFF_AXI_MON_M2_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M2_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M2_OUT_BITS 0x20 +#define VIP_SYS_REG_RST_IVE_TOP 0xc0 +#define VIP_SYS_REG_RST_IVE_TOP_OFFSET 0 +#define VIP_SYS_REG_RST_IVE_TOP_MASK 0x1 +#define VIP_SYS_REG_RST_IVE_TOP_BITS 0x1 +#define VIP_SYS_REG_RST_ISP_RAW 0xc0 +#define VIP_SYS_REG_RST_ISP_RAW_OFFSET 1 +#define VIP_SYS_REG_RST_ISP_RAW_MASK 0x2 +#define VIP_SYS_REG_RST_ISP_RAW_BITS 0x1 +#define VIP_SYS_REG_RST_OSDC 0xc0 +#define VIP_SYS_REG_RST_OSDC_OFFSET 2 +#define VIP_SYS_REG_RST_OSDC_MASK 0x4 +#define VIP_SYS_REG_RST_OSDC_BITS 0x1 +#define VIP_SYS_REG_RST_IVE_TOP_APB 0xc0 +#define VIP_SYS_REG_RST_IVE_TOP_APB_OFFSET 8 +#define VIP_SYS_REG_RST_IVE_TOP_APB_MASK 0x100 +#define VIP_SYS_REG_RST_IVE_TOP_APB_BITS 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_RAW_TOP 0xc4 +#define VIP_SYS_REG_NORM_DIV_EN_RAW_TOP_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_RAW_TOP_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_RAW_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_RAW_TOP 0xc4 +#define VIP_SYS_REG_IDLE_DIV_EN_RAW_TOP_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_RAW_TOP_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_RAW_TOP_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_RAW_TOP 0xc4 +#define VIP_SYS_REG_UPDATE_SEL_RAW_TOP_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_RAW_TOP_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_RAW_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_RAW_TOP 0xc4 +#define VIP_SYS_REG_IDLE_SLOW_SEL_RAW_TOP_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_RAW_TOP_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_RAW_TOP_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_RAW_TOP 0xc4 +#define VIP_SYS_REG_IDLE_WAIT_SEL_RAW_TOP_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_RAW_TOP_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_RAW_TOP_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_RAW_TOP 0xc4 +#define VIP_SYS_REG_NORM_DIV_VAL_RAW_TOP_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_RAW_TOP_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_RAW_TOP_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_IVE_TOP 0xc8 +#define VIP_SYS_REG_NORM_DIV_EN_IVE_TOP_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_IVE_TOP_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_IVE_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_IVE_TOP 0xc8 +#define VIP_SYS_REG_IDLE_DIV_EN_IVE_TOP_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_IVE_TOP_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_IVE_TOP_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_IVE_TOP 0xc8 +#define VIP_SYS_REG_UPDATE_SEL_IVE_TOP_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_IVE_TOP_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_IVE_TOP_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_IVE_TOP 0xc8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_IVE_TOP_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_IVE_TOP_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_IVE_TOP_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_IVE_TOP 0xc8 +#define VIP_SYS_REG_IDLE_WAIT_SEL_IVE_TOP_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_IVE_TOP_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_IVE_TOP_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_IVE_TOP 0xc8 +#define VIP_SYS_REG_NORM_DIV_VAL_IVE_TOP_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_IVE_TOP_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_IVE_TOP_BITS 0x5 +#define VIP_SYS_REG_NORM_DIV_EN_CAM0 0xcc +#define VIP_SYS_REG_NORM_DIV_EN_CAM0_OFFSET 0 +#define VIP_SYS_REG_NORM_DIV_EN_CAM0_MASK 0x1 +#define VIP_SYS_REG_NORM_DIV_EN_CAM0_BITS 0x1 +#define VIP_SYS_REG_IDLE_DIV_EN_CAM0 0xcc +#define VIP_SYS_REG_IDLE_DIV_EN_CAM0_OFFSET 1 +#define VIP_SYS_REG_IDLE_DIV_EN_CAM0_MASK 0x2 +#define VIP_SYS_REG_IDLE_DIV_EN_CAM0_BITS 0x1 +#define VIP_SYS_REG_UPDATE_SEL_CAM0 0xcc +#define VIP_SYS_REG_UPDATE_SEL_CAM0_OFFSET 2 +#define VIP_SYS_REG_UPDATE_SEL_CAM0_MASK 0x4 +#define VIP_SYS_REG_UPDATE_SEL_CAM0_BITS 0x1 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CAM0 0xcc +#define VIP_SYS_REG_IDLE_SLOW_SEL_CAM0_OFFSET 8 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CAM0_MASK 0x700 +#define VIP_SYS_REG_IDLE_SLOW_SEL_CAM0_BITS 0x3 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CAM0 0xcc +#define VIP_SYS_REG_IDLE_WAIT_SEL_CAM0_OFFSET 12 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CAM0_MASK 0x7000 +#define VIP_SYS_REG_IDLE_WAIT_SEL_CAM0_BITS 0x3 +#define VIP_SYS_REG_NORM_DIV_VAL_CAM0 0xcc +#define VIP_SYS_REG_NORM_DIV_VAL_CAM0_OFFSET 16 +#define VIP_SYS_REG_NORM_DIV_VAL_CAM0_MASK 0x1f0000 +#define VIP_SYS_REG_NORM_DIV_VAL_CAM0_BITS 0x5 +#define VIP_SYS_OFF_AXI_MON_M3_OUT 0xd0 +#define VIP_SYS_OFF_AXI_MON_M3_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M3_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M3_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M4_OUT 0xd4 +#define VIP_SYS_OFF_AXI_MON_M4_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M4_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M4_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M5_OUT 0xd8 +#define VIP_SYS_OFF_AXI_MON_M5_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M5_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M5_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M6_OUT 0xdc +#define VIP_SYS_OFF_AXI_MON_M6_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M6_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M6_OUT_BITS 0x20 +#define VIP_SYS_OFF_AXI_MON_M7_OUT 0xe0 +#define VIP_SYS_OFF_AXI_MON_M7_OUT_OFFSET 0 +#define VIP_SYS_OFF_AXI_MON_M7_OUT_MASK 0xffffffff +#define VIP_SYS_OFF_AXI_MON_M7_OUT_BITS 0x20 diff --git a/freertos/cvitek/install/include/common/sample_comm.h b/freertos/cvitek/install/include/common/sample_comm.h new file mode 100644 index 000000000..aacf9f3e2 --- /dev/null +++ b/freertos/cvitek/install/include/common/sample_comm.h @@ -0,0 +1,984 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: sample_common.h + * Description: + */ + +#ifndef __SAMPLE_COMM_H__ +#define __SAMPLE_COMM_H__ + +// #include + +// #include "cvi_sys.h" +// #include +// #include "cvi_buffer.h" +#include "cvi_comm_sys.h" +// #include "cvi_comm_vb.h" +// #include "cvi_comm_isp.h" +// #include "cvi_comm_3a.h" +// #include "cvi_comm_sns.h" +// #include +// #include +// #include +// #include "cvi_comm_venc.h" +// #include "cvi_comm_vdec.h" +// #include +// #include "cvi_comm_adec.h" +// #include "cvi_comm_aenc.h" +// #include "cvi_comm_ao.h" +// #include "cvi_comm_aio.h" +// #include "cvi_audio.h" +// #include +#include "cvi_mipi.h" + +// #include "cvi_vb.h" +// #include "cvi_vi.h" +// #include "cvi_vpss.h" +// #include "cvi_vo.h" +#include "cvi_isp.h" +// #include "cvi_venc.h" +// #include "cvi_vdec.h" +// #include "cvi_gdc.h" +// #include "cvi_region.h" + +// #include "md5sum.h" + +#include "cvi_common.h" +#include "cvi_comm_video.h" +#include "stdint.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +// #define FILE_NAME_LEN 128 +// #define MAX_NUM_INSTANCE 4 +// #define NUM_OF_USER_DATA_BUF 4 + +/*#define CHECK_CHN_RET(express, Chn, name) \ + do { \ + CVI_S32 Ret; \ + Ret = express; \ + if (Ret != CVI_SUCCESS) { \ + printf("\033[0;31m%s chn %d failed at %s: LINE: %d with %#x!\033[0;39m\n", name, Chn, \ + __func__, __LINE__, Ret); \ + fflush(stdout); \ + return Ret; \ + } \ + } while (0) + +#define CHECK_RET(express, name) \ + do { \ + CVI_S32 Ret; \ + Ret = express; \ + if (Ret != CVI_SUCCESS) { \ + printf("\033[0;31m%s failed at %s: LINE: %d with %#x!\033[0;39m\n", name, __func__, \ + __LINE__, Ret); \ + return Ret; \ + } \ + } while (0) +*/ +// #define SAMPLE_PIXEL_FORMAT VI_PIXEL_FORMAT + +// #define COLOR_RGB_RED RGB_8BIT(0xFF, 0, 0) +// #define COLOR_RGB_GREEN RGB_8BIT(0, 0xFF, 0) +// #define COLOR_RGB_BLUE RGB_8BIT(0, 0, 0xFF) +// #define COLOR_RGB_BLACK RGB_8BIT(0, 0, 0) +// #define COLOR_RGB_YELLOW RGB_8BIT(0xFF, 0xFF, 0) +// #define COLOR_RGB_CYN RGB_8BIT(0, 0xFF, 0xFF) +// #define COLOR_RGB_WHITE RGB_8BIT(0xFF, 0xFF, 0xFF) + +// #define COLOR_10_RGB_RED RGB(0x3FF, 0, 0) +// #define COLOR_10_RGB_GREEN RGB(0, 0x3FF, 0) +// #define COLOR_10_RGB_BLUE RGB(0, 0, 0x3FF) +// #define COLOR_10_RGB_BLACK RGB(0, 0, 0) +// #define COLOR_10_RGB_YELLOW RGB(0x3FF, 0x3FF, 0) +// #define COLOR_10_RGB_CYN RGB(0, 0x3FF, 0x3FF) +// #define COLOR_10_RGB_WHITE RGB(0x3FF, 0x3FF, 0x3FF) + +// #define SAMPLE_VO_DEV_DHD0 0 /* VO's device HD0 */ +// #define SAMPLE_VO_DEV_DHD1 1 /* VO's device HD1 */ +// #define SAMPLE_VO_DEV_UHD SAMPLE_VO_DEV_DHD0 /* VO's ultra HD device:HD0 */ +// #define SAMPLE_VO_DEV_HD SAMPLE_VO_DEV_DHD1 /* VO's HD device:HD1 */ +// #define SAMPLE_VO_LAYER_VHD0 0 +// #define SAMPLE_VO_LAYER_VHD1 1 +// #define SAMPLE_VO_LAYER_VHD2 2 +// #define SAMPLE_VO_LAYER_PIP SAMPLE_VO_LAYER_VHD2 + +// #define SAMPLE_AUDIO_EXTERN_AI_DEV 0 +// #define SAMPLE_AUDIO_EXTERN_AO_DEV 0 +// #define SAMPLE_AUDIO_INNER_AI_DEV 0 +// #define SAMPLE_AUDIO_INNER_AO_DEV 0 +// #define SAMPLE_AUDIO_INNER_HDMI_AO_DEV 1 +// #define SAMPLE_AUDIO_PTNUMPERFRM 480 + +#define WDR_MAX_PIPE_NUM 4 //need checking by jammy +#define ISP_MAX_DEV_NUM 3 + +// #define __FILENAM__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) + +// #define MAX_STRING_LEN 255 + +/*#define PAUSE() \ + do { \ + printf("---------------press Enter key to exit!---------------\n"); \ + getchar(); \ + } while (0) +*/ +#define SAMPLE_PRT(fmt...) \ + do { \ + printf("[%s]-%d: ", __func__, __LINE__); \ + printf(fmt); \ + } while (0) + +/*#define CHECK_NULL_PTR(ptr) \ + do { \ + if (ptr == NULL) { \ + printf("func:%s,line:%d, NULL pointer\n", __func__, __LINE__); \ + return CVI_FAILURE; \ + } \ + } while (0) +*/ +// #define ALIGN_BASE(val, base) (((val) + ((base)-1)) & ~((base)-1)) + +// /******************************************************* +// * enum define +// *******************************************************/ +typedef enum _PIC_SIZE_E { + PIC_CIF, + PIC_D1_PAL, /* 720 * 576 */ + PIC_D1_NTSC, /* 720 * 480 */ + PIC_720P, /* 1280 * 720 */ + PIC_1080P, /* 1920 * 1080 */ + PIC_1088, /* 1920 * 1088 */ + PIC_1440P, /* 2560 * 1440 */ + PIC_2304x1296, + PIC_2560x1600, + PIC_2592x1520, + PIC_2592x1536, + PIC_2592x1944, + PIC_2688x1520, + PIC_2716x1524, + PIC_2880x1620, + PIC_3844x1124, + PIC_3840x2160, + PIC_4096x2160, + PIC_3000x3000, + PIC_4000x3000, + PIC_3840x8640, + PIC_7688x1124, + PIC_640x480, + PIC_479P, /* 632 * 479 */ + PIC_288P, /* 384 * 288 */ + PIC_CUSTOMIZE, + PIC_BUTT +} PIC_SIZE_E; + +typedef enum _SAMPLE_SNS_TYPE_E { + /* ------ LINEAR BEGIN ------*/ + SONY_IMX290_MIPI_1M_30FPS_12BIT, + SONY_IMX290_MIPI_2M_60FPS_12BIT, + SONY_IMX327_MIPI_1M_30FPS_10BIT, + SONY_IMX327_MIPI_2M_30FPS_12BIT, + SONY_IMX307_MIPI_2M_30FPS_12BIT, + SONY_IMX327_2L_MIPI_2M_30FPS_12BIT, + SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT, + SONY_IMX307_2L_MIPI_2M_30FPS_12BIT, + SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT, + OV_OS08A20_MIPI_8M_30FPS_10BIT, + OV_OS08A20_MIPI_5M_30FPS_10BIT, + OV_OS08A20_MIPI_4M_30FPS_10BIT, + OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT, + OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT, + OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT, + OV_OS04C10_MIPI_4M_30FPS_12BIT, + OV_OS04C10_SLAVE_MIPI_4M_30FPS_12BIT, + SOI_F23_MIPI_2M_30FPS_10BIT, + SOI_F35_MIPI_2M_30FPS_10BIT, + SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT, + SOI_H65_MIPI_1M_30FPS_10BIT, + PICO640_THERMAL_479P, + PICO384_THERMAL_384X288, + SONY_IMX327_SUBLVDS_2M_30FPS_12BIT, + SONY_IMX307_SUBLVDS_2M_30FPS_12BIT, + VIVO_MCS369Q_4M_30FPS_12BIT, + VIVO_MM308M2_2M_25FPS_8BIT, + NEXTCHIP_N5_2M_25FPS_8BIT, + SMS_SC3335_MIPI_3M_30FPS_10BIT, + SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT, + SONY_IMX335_MIPI_5M_30FPS_12BIT, + SONY_IMX335_MIPI_4M_30FPS_12BIT, + SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT, + SONY_IMX335_2L_MIPI_4M_30FPS_10BIT, + PIXELPLUS_PR2020_1M_25FPS_8BIT, + SONY_IMX385_MIPI_2M_30FPS_12BIT, + PIXELPLUS_PR2020_1M_30FPS_8BIT, + PIXELPLUS_PR2020_2M_25FPS_8BIT, + PIXELPLUS_PR2020_2M_30FPS_8BIT, + PIXELPLUS_PR2100_2M_25FPS_8BIT, + PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT, + PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT, + SONY_IMX334_MIPI_8M_30FPS_12BIT, + SMS_SC8238_MIPI_8M_30FPS_10BIT, + VIVO_MCS369_2M_30FPS_12BIT, + SMS_SC4210_MIPI_4M_30FPS_12BIT, + SMS_SC200AI_MIPI_2M_30FPS_10BIT, + SMS_SC850SL_MIPI_8M_30FPS_12BIT, + NEXTCHIP_N6_2M_4CH_25FPS_8BIT, + NEXTCHIP_N5_1M_2CH_25FPS_8BIT, + GCORE_GC2053_MIPI_2M_30FPS_10BIT, + GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT, + GCORE_GC2093_MIPI_2M_30FPS_10BIT, + GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT, + GCORE_GC4653_MIPI_4M_30FPS_10BIT, + GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT, + SONY_IMX335_MIPI_5M_60FPS_10BIT, + SONY_IMX335_MIPI_4M_60FPS_10BIT, + GCORE_GC1054_MIPI_1M_30FPS_10BIT, + SONY_IMX327_MIPI_2M_60FPS_12BIT, + SONY_IMX347_MIPI_4M_60FPS_12BIT, + SONY_IMX307_SUBLVDS_2M_60FPS_12BIT, + SONY_IMX307_MIPI_2M_60FPS_12BIT, + GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT, + SONY_IMX335_MIPI_2M_60FPS_10BIT, + SMS_SC035HGS_MIPI_480P_120FPS_12BIT, + SMS_SC500AI_MIPI_5M_30FPS_10BIT, + SMS_SC500AI_MIPI_4M_30FPS_10BIT, + SMS_SC501AI_2L_MIPI_5M_30FPS_10BIT, + SMS_SC401AI_MIPI_4M_30FPS_10BIT, + SMS_SC401AI_MIPI_3M_30FPS_10BIT, + SMS_SC035GS_MIPI_480P_120FPS_12BIT, + TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT, + TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT, + /* ------ LINEAR END ------*/ + SAMPLE_SNS_TYPE_LINEAR_BUTT, + + /* ------ WDR 2TO1 BEGIN ------*/ + SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1 = SAMPLE_SNS_TYPE_LINEAR_BUTT, + SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1, + SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1, + OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1, + OV_OS04C10_MIPI_4M_30FPS_10BIT_WDR2TO1, + OV_OS04C10_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1, + SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1, + SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1, + SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1, + SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1, + SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1, + SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1, + SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1, + SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1, + SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1, + SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1, + SMS_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1, + SMS_SC850SL_MIPI_8M_30FPS_10BIT_WDR2TO1, + GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1, + GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1, + SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1, + SMS_SC500AI_MIPI_5M_30FPS_10BIT_WDR2TO1, + SMS_SC500AI_MIPI_4M_30FPS_10BIT_WDR2TO1, + /* ------ WDR 2TO1 END ------*/ + SAMPLE_SNS_TYPE_BUTT, +} SAMPLE_SNS_TYPE_E; + +typedef struct _SAMPLE_SENSOR_MCLK_ATTR_S { + CVI_U8 u8Mclk; + CVI_BOOL bMclkEn; +} SAMPLE_SENSOR_MCLK_ATTR_S; + +typedef struct _SAMPLE_SENSOR_INFO_S { + SAMPLE_SNS_TYPE_E enSnsType; + CVI_S32 s32SnsId; + CVI_S32 s32BusId; + CVI_S32 s32SnsI2cAddr; + combo_dev_t MipiDev; + CVI_S16 as16LaneId[5]; + CVI_S8 as8PNSwap[5]; + CVI_U8 u8HwSync; + SAMPLE_SENSOR_MCLK_ATTR_S stMclkAttr; + CVI_U8 u8Orien; // 0: normal, 1: mirror, 2: flip, 3: mirror and flip. +} SAMPLE_SENSOR_INFO_S; + +// typedef enum _SAMPLE_VO_MODE_E { +// VO_MODE_1MUX, +// VO_MODE_2MUX, +// VO_MODE_4MUX, +// VO_MODE_8MUX, +// VO_MODE_9MUX, +// VO_MODE_16MUX, +// VO_MODE_25MUX, +// VO_MODE_36MUX, +// VO_MODE_49MUX, +// VO_MODE_64MUX, +// VO_MODE_2X4, +// VO_MODE_BUTT +// } SAMPLE_VO_MODE_E; + +// typedef enum _SAMPLE_RC_E { +// SAMPLE_RC_CBR = 0, +// SAMPLE_RC_VBR, +// SAMPLE_RC_AVBR, +// SAMPLE_RC_QVBR, +// SAMPLE_RC_FIXQP, +// SAMPLE_RC_QPMAP, +// SAMPLE_RC_UBR, +// SAMPLE_RC_MAX +// } SAMPLE_RC_E; + +// /******************************************************* +// * structure define +// *******************************************************/ +// typedef struct _SAMPLE_SNAP_INFO_S { +// bool bSnap; +// bool bDoublePipe; +// VI_PIPE VideoPipe; +// VI_PIPE SnapPipe; +// VI_VPSS_MODE_E enVideoPipeMode; +// VI_VPSS_MODE_E enSnapPipeMode; +// } SAMPLE_SNAP_INFO_S; + +typedef struct _SAMPLE_DEV_INFO_S { + VI_DEV ViDev; + WDR_MODE_E enWDRMode; +} SAMPLE_DEV_INFO_S; + +typedef struct _SAMPLE_PIPE_INFO_S { + VI_PIPE aPipe[WDR_MAX_PIPE_NUM]; + VI_VPSS_MODE_E enMastPipeMode; + CVI_BOOL bMultiPipe; + CVI_BOOL bVcNumCfged; + CVI_BOOL bIspBypass; + PIXEL_FORMAT_E enPixFmt; + CVI_U32 u32VCNum[WDR_MAX_PIPE_NUM]; +} SAMPLE_PIPE_INFO_S; + +// typedef struct _SAMPLE_CHN_INFO_S { +// VI_CHN ViChn; +// PIXEL_FORMAT_E enPixFormat; +// DYNAMIC_RANGE_E enDynamicRange; +// VIDEO_FORMAT_E enVideoFormat; +// COMPRESS_MODE_E enCompressMode; +// } SAMPLE_CHN_INFO_S; + +typedef struct _SAMPLE_VI_INFO_S { + SAMPLE_SENSOR_INFO_S stSnsInfo; + SAMPLE_DEV_INFO_S stDevInfo; + SAMPLE_PIPE_INFO_S stPipeInfo; + // SAMPLE_CHN_INFO_S stChnInfo; + // SAMPLE_SNAP_INFO_S stSnapInfo; +} SAMPLE_VI_INFO_S; + +typedef struct _SAMPLE_VI_CONFIG_S { + SAMPLE_VI_INFO_S astViInfo[VI_MAX_DEV_NUM]; + CVI_S32 as32WorkingViId[VI_MAX_DEV_NUM]; + CVI_S32 s32WorkingViNum; + CVI_BOOL bViRotation; +} SAMPLE_VI_CONFIG_S; + +// typedef struct _SAMPLE_VI_FRAME_CONFIG_S { +// CVI_U32 u32Width; +// CVI_U32 u32Height; +// CVI_U32 u32ByteAlign; +// PIXEL_FORMAT_E enPixelFormat; +// VIDEO_FORMAT_E enVideoFormat; +// COMPRESS_MODE_E enCompressMode; +// DYNAMIC_RANGE_E enDynamicRange; +// } SAMPLE_VI_FRAME_CONFIG_S; + +// typedef struct _SAMPLE_VI_FRAME_INFO_S { +// VB_BLK VbBlk; +// CVI_U32 u32Size; +// VIDEO_FRAME_INFO_S stVideoFrameInfo; +// } SAMPLE_VI_FRAME_INFO_S; + +// typedef struct _SAMPLE_VI_FPN_CALIBRATE_INFO_S { +// CVI_U32 u32Threshold; +// CVI_U32 u32FrameNum; +// //ISP_FPN_TYPE_E enFpnType; +// PIXEL_FORMAT_E enPixelFormat; +// COMPRESS_MODE_E enCompressMode; +// } SAMPLE_VI_FPN_CALIBRATE_INFO_S; + +// typedef struct _SAMPLE_VI_FPN_CORRECTION_INFO_S { +// ISP_OP_TYPE_E enOpType; +// //ISP_FPN_TYPE_E enFpnType; +// CVI_U32 u32Strength; +// PIXEL_FORMAT_E enPixelFormat; +// COMPRESS_MODE_E enCompressMode; +// SAMPLE_VI_FRAME_INFO_S stViFrameInfo; +// } SAMPLE_VI_FPN_CORRECTION_INFO_S; + +// typedef struct _SAMPLE_COMM_VO_LAYER_CONFIG_S { +// /* for layer */ +// VO_LAYER VoLayer; +// VO_INTF_SYNC_E enIntfSync; +// RECT_S stDispRect; +// SIZE_S stImageSize; +// PIXEL_FORMAT_E enPixFormat; + +// CVI_U32 u32DisBufLen; + +// /* for chn */ +// SAMPLE_VO_MODE_E enVoMode; +// } SAMPLE_COMM_VO_LAYER_CONFIG_S; + +// typedef struct _SAMPLE_VO_CONFIG_S { +// /* for device */ +// VO_DEV VoDev; +// VO_PUB_ATTR_S stVoPubAttr; +// PIC_SIZE_E enPicSize; + +// /* for layer */ +// PIXEL_FORMAT_E enPixFormat; +// RECT_S stDispRect; +// SIZE_S stImageSize; + +// CVI_U32 u32DisBufLen; + +// /* for channel */ +// SAMPLE_VO_MODE_E enVoMode; +// } SAMPLE_VO_CONFIG_S; + +// typedef enum _THREAD_CONTRL_E { +// THREAD_CTRL_START, +// THREAD_CTRL_PAUSE, +// THREAD_CTRL_STOP, +// } THREAD_CONTRL_E; + +// typedef struct _VDEC_THREAD_PARAM_S { +// CVI_S32 s32ChnId; +// PAYLOAD_TYPE_E enType; +// CVI_CHAR cFilePath[128]; +// CVI_CHAR cFileName[128]; +// CVI_S32 s32StreamMode; +// CVI_S32 s32MilliSec; +// CVI_S32 s32MinBufSize; +// CVI_S32 s32IntervalTime; +// THREAD_CONTRL_E eThreadCtrl; +// CVI_U64 u64PtsInit; +// CVI_U64 u64PtsIncrease; +// CVI_BOOL bCircleSend; +// CVI_BOOL bFileEnd; +// CVI_BOOL bDumpYUV; +// MD5_CTX tMD5Ctx; +// } VDEC_THREAD_PARAM_S; + +// typedef struct _SAMPLE_VDEC_BUF { +// CVI_U32 u32PicBufSize; +// CVI_U32 u32TmvBufSize; +// CVI_BOOL bPicBufAlloc; +// CVI_BOOL bTmvBufAlloc; +// } SAMPLE_VDEC_BUF; + + +// typedef struct _SAMPLE_VDEC_VIDEO_ATTR { +// VIDEO_DEC_MODE_E enDecMode; +// CVI_U32 u32RefFrameNum; +// DATA_BITWIDTH_E enBitWidth; +// } SAMPLE_VDEC_VIDEO_ATTR; + +// typedef struct _SAMPLE_VDEC_PICTURE_ATTR { +// CVI_U32 u32Alpha; +// } SAMPLE_VDEC_PICTURE_ATTR; + +// typedef struct _SAMPLE_VDEC_ATTR { +// PAYLOAD_TYPE_E enType; +// PIXEL_FORMAT_E enPixelFormat; +// VIDEO_MODE_E enMode; +// CVI_U32 u32Width; +// CVI_U32 u32Height; +// CVI_U32 u32FrameBufCnt; +// CVI_U32 u32DisplayFrameNum; +// union { +// SAMPLE_VDEC_VIDEO_ATTR stSampleVdecVideo; /* structure with video ( h265/h264) */ +// SAMPLE_VDEC_PICTURE_ATTR stSampleVdecPicture; /* structure with picture (jpeg/mjpeg )*/ +// }; +// } SAMPLE_VDEC_ATTR; + +// typedef struct _vdecChnCtx_ { +// VDEC_THREAD_PARAM_S stVdecThreadParamSend; +// VDEC_THREAD_PARAM_S stVdecThreadParamGet; +// SAMPLE_VDEC_ATTR stSampleVdecAttr; +// pthread_t vdecThreadSend; +// pthread_t vdecThreadGet; +// VDEC_CHN VdecChn; +// CVI_S32 bCreateChn; +// } vdecChnCtx; + +extern SAMPLE_SNS_TYPE_E g_enSnsType[VI_MAX_DEV_NUM]; + +// typedef struct SAMPLE_VENC_GETSTREAM_PARA_S { +// CVI_BOOL bThreadStart; +// VENC_CHN VeChn[VENC_MAX_CHN_NUM]; +// CVI_S32 s32Cnt; +// } SAMPLE_VENC_GETSTREAM_PARA_S; + +// typedef struct _commonInputCfg_ { +// CVI_U32 testMode; +// CVI_S32 numChn; +// CVI_S32 ifInitVb; +// CVI_U32 bindmode; +// CVI_U32 u32ViWidth; // frame width of VI input or VPSS input +// CVI_U32 u32ViHeight; // frame height of VI input or VPSS input +// CVI_U32 u32VpssWidth; // frame width of VPSS output +// CVI_U32 u32VpssHeight; // frame height of VPSS output +// CVI_CHAR yuvFolder[MAX_STRING_LEN]; +// CVI_S32 vbMode; +// CVI_S32 bSingleEsBuf_jpege; +// CVI_S32 bSingleEsBuf_h264e; +// CVI_S32 bSingleEsBuf_h265e; +// CVI_S32 singleEsBufSize_jpege; +// CVI_S32 singleEsBufSize_h264e; +// CVI_S32 singleEsBufSize_h265e; +// CVI_S32 h265RefreshType; +// CVI_S32 jpegMarkerOrder; +// CVI_BOOL bThreadDisable; +// } commonInputCfg; + +// typedef struct _chnInputCfg_ { +// char codec[64]; +// unsigned int width; +// unsigned int height; +// char input_path[MAX_STRING_LEN]; +// char vpssSrcPath[MAX_STRING_LEN]; +// char output_path[MAX_STRING_LEN]; +// char outputFileName[MAX_STRING_LEN]; +// char roiCfgFile[MAX_STRING_LEN]; +// char qpMapCfgFile[MAX_STRING_LEN]; +// char user_data[NUM_OF_USER_DATA_BUF][MAX_STRING_LEN]; +// CVI_S32 num_frames; +// CVI_S32 bsMode; +// CVI_U32 u32Profile; +// CVI_S32 rcMode; +// CVI_S32 iqp; +// CVI_S32 pqp; +// CVI_S32 gop; +// CVI_U32 gopMode; +// CVI_S32 bitrate; +// CVI_S32 minIprop; +// CVI_S32 maxIprop; +// CVI_U32 u32RowQpDelta; +// CVI_S32 firstFrmstartQp; +// CVI_S32 minIqp; +// CVI_S32 maxIqp; +// CVI_S32 minQp; +// CVI_S32 maxQp; +// CVI_S32 framerate; +// CVI_S32 quality; +// CVI_S32 maxbitrate; +// CVI_S32 s32ChangePos; +// CVI_S32 s32MinStillPercent; +// CVI_U32 u32MaxStillQP; +// CVI_U32 u32MotionSensitivity; +// CVI_S32 s32AvbrFrmLostOpen; +// CVI_S32 s32AvbrFrmGap; +// CVI_S32 s32AvbrPureStillThr; +// CVI_S32 statTime; +// CVI_S32 bind_mode; +// CVI_S32 pixel_format; +// CVI_S32 posX; +// CVI_S32 posY; +// CVI_S32 inWidth; +// CVI_S32 inHeight; +// CVI_S32 srcFramerate; +// CVI_U32 bitstreamBufSize; +// CVI_S32 single_LumaBuf; +// CVI_S32 single_core; +// CVI_S32 vpssGrp; +// CVI_S32 vpssChn; +// CVI_S32 forceIdr; +// CVI_S32 chgNum; +// CVI_S32 chgBitrate; +// CVI_S32 chgFramerate; +// CVI_S32 tempLayer; +// CVI_S32 testRoi; +// CVI_S32 bgInterval; +// CVI_S32 frameLost; +// CVI_U32 frameLostGap; +// CVI_U32 frameLostBspThr; +// CVI_S32 MCUPerECS; +// CVI_S32 bCreateChn; +// CVI_S32 getstream_timeout; +// CVI_S32 sendframe_timeout; +// CVI_S32 s32IPQpDelta; +// CVI_S32 s32BgQpDelta; +// CVI_S32 s32ViQpDelta; +// CVI_S32 bVariFpsEn; +// CVI_S32 initialDelay; +// CVI_U32 u32IntraCost; +// CVI_U32 u32ThrdLv; +// CVI_BOOL bBgEnhanceEn; +// CVI_S32 s32BgDeltaQp; +// CVI_U32 h264EntropyMode; +// CVI_S32 h264ChromaQpOffset; +// CVI_S32 h265CbQpOffset; +// CVI_S32 h265CrQpOffset; +// CVI_U32 enSuperFrmMode; +// CVI_U32 u32SuperIFrmBitsThr; +// CVI_U32 u32SuperPFrmBitsThr; +// CVI_S32 s32MaxReEncodeTimes; + +// CVI_U8 aspectRatioInfoPresentFlag; +// CVI_U8 aspectRatioIdc; +// CVI_U8 overscanInfoPresentFlag; +// CVI_U8 overscanAppropriateFlag; +// CVI_U16 sarWidth; +// CVI_U16 sarHeight; + +// CVI_U8 timingInfoPresentFlag; +// CVI_U8 fixedFrameRateFlag; +// CVI_U32 numUnitsInTick; +// CVI_U32 timeScale; + +// CVI_U8 videoSignalTypePresentFlag; +// CVI_U8 videoFormat; +// CVI_U8 videoFullRangeFlag; +// CVI_U8 colourDescriptionPresentFlag; +// CVI_U8 colourPrimaries; +// CVI_U8 transferCharacteristics; +// CVI_U8 matrixCoefficients; + +// CVI_U32 u32FrameQp; +// CVI_BOOL bTestUbrEn; + +// CVI_BOOL bEsBufQueueEn; +// } chnInputCfg; + +// typedef enum _CHN_STATE_ { +// CHN_STAT_NONE = 0, +// CHN_STAT_START, +// CHN_STAT_STOP, +// } CHN_STATE; + +// typedef enum _BS_MODE_ { +// BS_MODE_QUERY_STAT = 0, +// BS_MODE_SELECT, +// } BS_MODE; + +// typedef struct _SAMPLE_COMM_VENC_ROI_ATTR_ { +// VENC_ROI_ATTR_S stVencRoiAttr; +// CVI_U32 u32FrameStart; +// CVI_U32 u32FrameEnd; +// } SAMPLE_COMM_VENC_ROI; + +// #define MAX_NUM_ROI 8 + +// typedef struct _vencChnCtx_ { +// VENC_CHN VencChn; +// PIC_SIZE_E enSize; +// SIZE_S stSize; +// VIDEO_FRAME_INFO_S *pstFrameInfo; +// VIDEO_FRAME_S *pstVFrame; +// CVI_U32 u32LumaSize; +// CVI_U32 u32ChrmSize; +// CVI_U32 u32FrameSize; +// CVI_U32 num_frames; +// CVI_S32 s32ChnNum; +// CVI_U32 s32FbCnt; +// CVI_U32 u32Profile; +// PAYLOAD_TYPE_E enPayLoad; +// VENC_GOP_MODE_E enGopMode; +// VENC_GOP_ATTR_S stGopAttr; +// SAMPLE_RC_E enRcMode; +// FILE *fpSrc; +// long file_size; +// FILE *pFile; +// chnInputCfg chnIc; +// PIXEL_FORMAT_E enPixelFormat; +// CHN_STATE chnStat; +// CHN_STATE nextChnStat; +// SAMPLE_COMM_VENC_ROI vencRoi[MAX_NUM_ROI]; +// CVI_U8 *pu8QpMap; +// CVI_BOOL bQpMapValid; +// CVI_S32 s32VencFd; +// } vencChnCtx; + +// typedef struct _SAMPLE_INI_CFG_S { +// VI_PIPE_FRAME_SOURCE_E enSource; +// CVI_U8 devNum; +// CVI_U8 u8UseMultiSns; + +// SAMPLE_SNS_TYPE_E enSnsType[VI_MAX_DEV_NUM]; +// WDR_MODE_E enWDRMode[VI_MAX_DEV_NUM]; +// CVI_S32 s32BusId[VI_MAX_DEV_NUM]; +// CVI_S32 s32SnsI2cAddr[VI_MAX_DEV_NUM]; +// combo_dev_t MipiDev[VI_MAX_DEV_NUM]; +// CVI_S16 as16LaneId[VI_MAX_DEV_NUM][5]; +// CVI_S8 as8PNSwap[VI_MAX_DEV_NUM][5]; +// CVI_U8 u8HwSync[VI_MAX_DEV_NUM]; +// SAMPLE_SENSOR_MCLK_ATTR_S stMclkAttr[VI_MAX_DEV_NUM]; +// CVI_U8 u8Orien[VI_MAX_DEV_NUM]; +// } SAMPLE_INI_CFG_S; + +// /******************************************************** +// * function announce +// ********************************************************/ + +// CVI_VOID *SAMPLE_SYS_IOMmap(CVI_U64 u64PhyAddr, CVI_U32 u32Size); +// CVI_S32 SAMPLE_SYS_Munmap(CVI_VOID *pVirAddr, CVI_U32 u32Size); +// CVI_S32 SAMPLE_SYS_SetReg(CVI_U64 u64Addr, CVI_U32 u32Value); +// CVI_S32 SAMPLE_SYS_GetReg(CVI_U64 u64Addr, CVI_U32 *pu32Value); + +CVI_S32 SAMPLE_COMM_SYS_GetPicSize(PIC_SIZE_E enPicSize, SIZE_S *pstSize); +// CVI_S32 SAMPLE_COMM_SYS_MemConfig(void); +// CVI_VOID SAMPLE_COMM_SYS_Exit(void); +// CVI_S32 SAMPLE_COMM_SYS_Init(VB_CONFIG_S *pstVbConfig); +// CVI_S32 SAMPLE_COMM_SYS_InitWithVbSupplement(VB_CONFIG_S *pstVbConf, CVI_U32 u32SupplementConfig); + +CVI_S32 SAMPLE_COMM_VI_CreateIsp(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_DestroyIsp(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_Bind_VO(VI_PIPE ViPipe, VI_CHN ViChn, VO_LAYER VoLayer, VO_CHN VoChn); +// CVI_S32 SAMPLE_COMM_VI_UnBind_VO(VI_PIPE ViPipe, VI_CHN ViChn, VO_LAYER VoLayer, VO_CHN VoChn); +// CVI_S32 SAMPLE_COMM_VI_Bind_VPSS(VI_PIPE ViPipe, VI_CHN ViChn, VPSS_GRP VpssGrp); +// CVI_S32 SAMPLE_COMM_VI_UnBind_VPSS(VI_PIPE ViPipe, VI_CHN ViChn, VPSS_GRP VpssGrp); +// CVI_S32 SAMPLE_COMM_VI_Bind_VENC(VI_PIPE ViPipe, VI_CHN ViChn, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VI_UnBind_VENC(VI_PIPE ViPipe, VI_CHN ViChn, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VPSS_Bind_VO(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VO_LAYER VoLayer, VO_CHN VoChn); +// CVI_S32 SAMPLE_COMM_VPSS_UnBind_VO(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VO_LAYER VoLayer, VO_CHN VoChn); +// CVI_S32 SAMPLE_COMM_VPSS_Bind_VENC(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VPSS_UnBind_VENC(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VDEC_Bind_VPSS(VDEC_CHN VdecChn, VPSS_GRP VpssGrp); +// CVI_S32 SAMPLE_COMM_VDEC_UnBind_VPSS(VDEC_CHN VdecChn, VPSS_GRP VpssGrp); +// CVI_S32 SAMPLE_COMM_VPSS_Bind_VPSS(VPSS_GRP VpssGrpSrc, VPSS_CHN VpssChnSrc, VPSS_GRP VpssGrpDst); +// CVI_S32 SAMPLE_COMM_VPSS_UnBind_VPSS(VPSS_GRP VpssGrpSrc, VPSS_CHN VpssChnSrc, VPSS_GRP VpssGrpDst); + +CVI_S32 SAMPLE_COMM_ISP_Run(CVI_U8 IspDev); +CVI_VOID SAMPLE_COMM_ISP_Stop(CVI_U8 IspDev); +// CVI_VOID SAMPLE_COMM_All_ISP_Stop(void); +CVI_S32 SAMPLE_COMM_ISP_Aelib_Callback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Aelib_UnCallback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Awblib_Callback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Sensor_Regiter_callback(ISP_DEV IspDev, CVI_U32 u32SnsId, CVI_S32 s32BusId, + CVI_S32 s32I2cAddr); +CVI_S32 SAMPLE_COMM_ISP_Awblib_UnCallback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Aflib_Callback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Aflib_UnCallback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATTR_S *pstPubAttr); +CVI_S32 SAMPLE_COMM_ISP_SetSensorMode(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_ISP_SetSnsObj(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType); +CVI_S32 SAMPLE_COMM_ISP_SetSnsInit(CVI_U32 u32SnsId, CVI_U8 u8HwSync); +CVI_S32 SAMPLE_COMM_ISP_PatchSnsObj(CVI_U32 u32SnsId, SAMPLE_SENSOR_INFO_S *pstSnsInfo); +CVI_VOID *SAMPLE_COMM_ISP_GetSnsObj(CVI_U32 u32SnsId); +CVI_VOID *SAMPLE_COMM_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType); + +// CVI_S32 SAMPLE_AUDIO_DEBUG(void); +// CVI_S32 SAMPLE_AUDIO_DEBUG_LEVEL(ST_AudioUnitTestCfg *testCfg); + +CVI_S32 SAMPLE_COMM_VI_GetDevAttrBySns(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *pstViDevAttr); +void SAMPLE_COMM_VI_GetSensorInfo(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_GetSizeBySensor(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize); +// CVI_S32 SAMPLE_COMM_VI_GetChnAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, VI_CHN_ATTR_S *pstChnAttr); +CVI_S32 SAMPLE_COMM_VI_StartIsp(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_StopIsp(SAMPLE_VI_INFO_S *pstViInfo); +// CVI_S32 SAMPLE_COMM_VI_StartDev(SAMPLE_VI_INFO_S *pstViInfo); +// CVI_S32 SAMPLE_COMM_VI_StopDev(SAMPLE_VI_INFO_S *pstViInfo); +// CVI_S32 SAMPLE_COMM_VI_StartViChn(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_StopViChn(SAMPLE_VI_INFO_S *pstViInfo); +// CVI_S32 SAMPLE_COMM_VI_StopViPipe(SAMPLE_VI_INFO_S *pstViInfo); +// CVI_S32 SAMPLE_COMM_VI_DestroyVi(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_OPEN(void); +// CVI_S32 SAMPLE_COMM_VI_CLOSE(void); +CVI_S32 SAMPLE_COMM_VI_StartSensor(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_StartMIPI(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_SensorProbe(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_COMM_VI_SetIniPath(const CVI_CHAR *iniPath); +// CVI_S32 SAMPLE_COMM_VI_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg); +// CVI_S32 SAMPLE_COMM_VI_DefaultConfig(void); +// CVI_S32 SAMPLE_COMM_VI_IniToViCfg(SAMPLE_INI_CFG_S *pstIniCfg, SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_CHAR *SAMPLE_COMM_VI_GetSnsrTypeName(void); + +// CVI_S32 SAMPLE_COMM_VPSS_Start(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable, VPSS_GRP_ATTR_S *pstVpssGrpAttr, +// VPSS_CHN_ATTR_S *pastVpssChnAttr); +// CVI_S32 SAMPLE_COMM_VPSS_Init(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable, VPSS_GRP_ATTR_S *pstVpssGrpAttr, +// VPSS_CHN_ATTR_S *pastVpssChnAttr); + +// CVI_S32 SAMPLE_COMM_VPSS_Stop(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable); +// CVI_S32 SAMPLE_COMM_VPSS_SendFrame(VPSS_GRP VpssGrp, SIZE_S *stSize, PIXEL_FORMAT_E enPixelFormat, CVI_CHAR *filename); + +// CVI_VOID SAMPLE_COMM_VENC_InitCommonInputCfg(commonInputCfg *pCic); +// CVI_VOID SAMPLE_COMM_VENC_InitChnInputCfg(chnInputCfg *pIc); +// CVI_S32 SAMPLE_COMM_VENC_SaveStream(PAYLOAD_TYPE_E enType, +// FILE *pFd, VENC_STREAM_S *pstStream); +// CVI_S32 SAMPLE_COMM_VENC_SaveChannelStream(vencChnCtx *pvecc); +// CVI_S32 SAMPLE_COMM_VENC_Stop(VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_GetGopAttr(VENC_GOP_MODE_E enGopMode, VENC_GOP_ATTR_S *pstGopAttr); +// CVI_S32 SAMPLE_COMM_VENC_GetFilePostfix(PAYLOAD_TYPE_E enPayload, char *szFilePostfix); +// CVI_S32 SAMPLE_COMM_VENC_InitVBPool(vencChnCtx *pvecc, VENC_CHN VencChnIdx); +// CVI_S32 SAMPLE_COMM_VENC_CloseReEncode(VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetJpegParam(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetModParam(const commonInputCfg *pCic); +// CVI_S32 SAMPLE_COMM_VENC_SetRoiAttr(VENC_CHN VencChn, PAYLOAD_TYPE_E enType); +// CVI_S32 SAMPLE_COMM_VENC_SetQpMapByCfgFile(VENC_CHN VencChn, +// SAMPLE_COMM_VENC_ROI *vencRoi, CVI_U32 frame_idx, +// CVI_U8 *pu8QpMap, CVI_BOOL *pbQpMapValid, +// CVI_U32 u32Width, CVI_U32 u32Height); +// CVI_S32 SAMPLE_COMM_VENC_SetRoiAttrByCfgFile(VENC_CHN VencChn, SAMPLE_COMM_VENC_ROI *vencRoi, CVI_U32 frame_idx); +// CVI_S32 SAMPLE_COMM_VENC_LoadRoiCfgFile(SAMPLE_COMM_VENC_ROI *vencRoi, CVI_CHAR *cfgFileName); +// CVI_S32 SAMPLE_COMM_VENC_SetH264Trans(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetH265Trans(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetH264Vui(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetH265Vui(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_SetChnParam(chnInputCfg *pIc, VENC_CHN VencChn); +// CVI_S32 SAMPLE_COMM_VENC_Start( +// chnInputCfg * pIc, +// VENC_CHN VencChn, +// PAYLOAD_TYPE_E enType, +// PIC_SIZE_E enSize, +// SAMPLE_RC_E enRcMode, +// CVI_U32 u32Profile, +// CVI_BOOL bRcnRefShareBuf, +// VENC_GOP_ATTR_S *pstGopAttr); +// CVI_S32 SAMPLE_COMM_VDEC_InitVBPool(VDEC_CHN VdecChn, SAMPLE_VDEC_ATTR *pastSampleVdec); +// CVI_VOID SAMPLE_COMM_VDEC_StartSendStream(VDEC_THREAD_PARAM_S *pstVdecSend, +// pthread_t *pVdecThread); +// CVI_S32 SAMPLE_COMM_VDEC_SetVBPool(CVI_S32 Chn, CVI_U32 VBPoolID); +// CVI_S32 SAMPLE_COMM_VDEC_GetVBPool(CVI_S32 Chn); +// CVI_S32 SAMPLE_COMM_VDEC_SetVbMode(CVI_S32 VdecVbSrc); +// CVI_S32 SAMPLE_COMM_VDEC_GetVbMode(void); +// CVI_S32 SAMPLE_COMM_VDEC_Start(vdecChnCtx *pvdchnCtx); +// CVI_VOID SAMPLE_COMM_VDEC_CmdCtrl(VDEC_THREAD_PARAM_S *pstVdecSend, pthread_t *pVdecThread); +// CVI_VOID SAMPLE_COMM_VDEC_StopSendStream(VDEC_THREAD_PARAM_S *pstVdecSend, pthread_t *pVdecThread); +// CVI_S32 SAMPLE_COMM_VDEC_Stop(CVI_S32 s32ChnNum); +// CVI_VOID SAMPLE_COMM_VDEC_ExitVBPool(void); +// CVI_VOID SAMPLE_COMM_VDEC_StartGetPic(VDEC_THREAD_PARAM_S *pstVdecGet, +// pthread_t *pVdecThread); +// CVI_VOID SAMPLE_COMM_VDEC_StopGetPic(VDEC_THREAD_PARAM_S *pstVdecGet, pthread_t *pVdecThread); + +// CVI_S32 SAMPLE_COMM_VO_GetWH(VO_INTF_SYNC_E enIntfSync, CVI_U32 *pu32W, CVI_U32 *pu32H, CVI_U32 *pu32Frm); +// CVI_S32 SAMPLE_COMM_VO_StartDev(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr); +// CVI_S32 SAMPLE_COMM_VO_StopDev(VO_DEV VoDev); +// CVI_S32 SAMPLE_COMM_VO_StartLayer(VO_LAYER VoLayer, const VO_VIDEO_LAYER_ATTR_S *pstLayerAttr); +// CVI_S32 SAMPLE_COMM_VO_StopLayer(VO_LAYER VoLayer); +// CVI_S32 SAMPLE_COMM_VO_StartChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode); +// CVI_S32 SAMPLE_COMM_VO_StopChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode); +// CVI_S32 SAMPLE_COMM_VO_BindVpss(VO_LAYER VoLayer, VO_CHN VoChn, VPSS_GRP VpssGrp, VPSS_CHN VpssChn); +// CVI_S32 SAMPLE_COMM_VO_UnBindVpss(VO_LAYER VoLayer, VO_CHN VoChn, VPSS_GRP VpssGrp, VPSS_CHN VpssChn); +// CVI_S32 SAMPLE_COMM_VO_BindVi(VO_LAYER VoLayer, VO_CHN VoChn, VI_CHN ViChn); +// CVI_S32 SAMPLE_COMM_VO_UnBindVi(VO_LAYER VoLayer, VO_CHN VoChn); +// CVI_S32 SAMPLE_COMM_VO_GetDefConfig(SAMPLE_VO_CONFIG_S *pstVoConfig); +// CVI_S32 SAMPLE_COMM_VO_StopVO(SAMPLE_VO_CONFIG_S *pstVoConfig); +// CVI_S32 SAMPLE_COMM_VO_StartVO(SAMPLE_VO_CONFIG_S *pstVoConfig); +// CVI_S32 SAMPLE_COMM_VO_StopPIP(SAMPLE_VO_CONFIG_S *pstVoConfig); +// CVI_S32 SAMPLE_COMM_VO_StartPIP(SAMPLE_VO_CONFIG_S *pstVoConfig); +// CVI_S32 SAMPLE_COMM_VO_GetDefLayerConfig(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +// CVI_S32 SAMPLE_COMM_VO_StartLayerChn(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +// CVI_S32 SAMPLE_COMM_VO_StopLayerChn(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +// CVI_VOID SAMPLE_COMM_VO_Exit(void); + +// CVI_S32 SAMPLE_COMM_REGION_Create(CVI_S32 HandleNum, RGN_TYPE_E enType); +// CVI_S32 SAMPLE_COMM_REGION_Destroy(CVI_S32 HandleNum, RGN_TYPE_E enType); +// CVI_S32 SAMPLE_COMM_REGION_AttachToChn(CVI_S32 HandleNum, RGN_TYPE_E enType, MMF_CHN_S *pstChn); +// CVI_S32 SAMPLE_COMM_REGION_DetachFrmChn(CVI_S32 HandleNum, RGN_TYPE_E enType, MMF_CHN_S *pstChn); +// CVI_S32 SAMPLE_COMM_REGION_SetBitMap(RGN_HANDLE Handle, const char *filename); +// CVI_S32 SAMPLE_COMM_REGION_GetUpCanvas(RGN_HANDLE Handle, const char *filename); +// CVI_S32 SAMPLE_COMM_REGION_GetMinHandle(RGN_TYPE_E enType); + +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAo(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAenc(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAencAdec(AENC_CHN AeChn, ADEC_CHN AdChn, FILE *pAecFd); +// CVI_S32 SAMPLE_COMM_AUDIO_GetAenc(AENC_CHN AeChn, FILE *pAencFd); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryGetAenc(AENC_CHN AeChn); +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdFileAdec(ADEC_CHN AdChn, FILE *pAdcFd); +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAdecAo(ADEC_CHN AdChn, AUDIO_DEV AoDev, FILE *pFd); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAdecAo(ADEC_CHN AdChn); +// CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAoVolCtrl(AUDIO_DEV AoDev); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAi(AUDIO_DEV AiDev, AI_CHN AiChn); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAencAdec(AENC_CHN AeChn); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdFileAdec(ADEC_CHN AdChn); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAoVolCtrl(AUDIO_DEV AoDev); +// CVI_S32 SAMPLE_COMM_AUDIO_DestoryAllTrd(void); +// CVI_S32 SAMPLE_COMM_AUDIO_AoBindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn); +// CVI_S32 SAMPLE_COMM_AUDIO_AoUnbindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn); +// CVI_S32 SAMPLE_COMM_AUDIO_AoBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +// CVI_S32 SAMPLE_COMM_AUDIO_AoUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +// CVI_S32 SAMPLE_COMM_AUDIO_AencBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +// CVI_S32 SAMPLE_COMM_AUDIO_AencUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +// CVI_S32 SAMPLE_COMM_AUDIO_CfgAcodec(AIO_ATTR_S *pstAioAttr); +// CVI_S32 SAMPLE_COMM_AUDIO_StartAi(AUDIO_DEV AiDevId, CVI_S32 s32AiChn, AIO_ATTR_S *pstAioAttr, +// AUDIO_SAMPLE_RATE_E enOutSampleRate, CVI_BOOL bResampleEn, CVI_VOID *pstAiVqeAttr, +// CVI_U32 u32AiVqeType); +// CVI_S32 SAMPLE_COMM_AUDIO_StopAi(AUDIO_DEV AiDevId, CVI_S32 s32AiChn, CVI_BOOL bResampleEn, CVI_BOOL bVqeEn); +// CVI_S32 SAMPLE_COMM_AUDIO_StartAo(AUDIO_DEV AoDevId, CVI_S32 s32AoChn, AIO_ATTR_S *pstAioAttr, +// AUDIO_SAMPLE_RATE_E enInSampleRate, CVI_BOOL bResampleEn); +// CVI_S32 SAMPLE_COMM_AUDIO_StopAo(AUDIO_DEV AoDevId, CVI_S32 s32AoChn, CVI_BOOL bResampleEn); +// CVI_S32 SAMPLE_COMM_AUDIO_StartAenc(CVI_S32 s32AencChn, AIO_ATTR_S *pstAioAttr, PAYLOAD_TYPE_E enType); +// CVI_S32 SAMPLE_COMM_AUDIO_StopAenc(CVI_S32 s32AencChn); +// CVI_S32 SAMPLE_COMM_AUDIO_StartAdec(ADEC_CHN AdChn, PAYLOAD_TYPE_E enType, ADEC_CHN_ATTR_S *pAdecAttr); +// CVI_S32 SAMPLE_COMM_AUDIO_StopAdec(ADEC_CHN AdChn); + +// CVI_S32 SAMPLE_PLAT_SYS_INIT(SIZE_S stSize); +// CVI_S32 SAMPLE_PLAT_VI_INIT(SAMPLE_VI_CONFIG_S *pstViConfig); +// CVI_S32 SAMPLE_PLAT_VPSS_INIT(VPSS_GRP VpssGrp, SIZE_S stSizeIn, SIZE_S stSizeOut); +// CVI_S32 SAMPLE_PLAT_VO_INIT(void); +// CVI_S32 SAMPLE_PLAT_VO_INIT_BT656(void); + +// CVI_S32 SAMPLE_COMM_I2C_Write(CVI_S32 file, CVI_U16 addr, CVI_U16 reg, CVI_U16 val, CVI_U16 reg_w, CVI_U16 val_w); +// CVI_S32 SAMPLE_COMM_I2C_Read(CVI_S32 file, CVI_U16 addr, CVI_U16 reg, CVI_U16 reg_w, CVI_U8 *r_val); +// CVI_S32 SAMPLE_COMM_I2C_Open(CVI_CHAR *i2c_bus); +// CVI_S32 SAMPLE_COMM_I2C_Close(CVI_S32 i2c_file); + +// CVI_S32 SAMPLE_COMM_VO_Init_BT656_MS7024(char *i2c_bus_str, uint8_t slave_addr, uint8_t selection); +// CVI_S32 SAMPLE_COMM_VO_Init_MIPI_HX8394(void *pvData); + +// /* SAMPLE_COMM_FRAME_SaveToFile: +// * Save videoframe to the file +// * +// * [in]filename: char string of the file to save data. +// * [IN]pstVideoFrame: the videoframe whose data will be saved to file. +// * return: CVI_SUCCESS if no problem. +// */ +// CVI_S32 SAMPLE_COMM_FRAME_SaveToFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame); + +// /* SAMPLE_COMM_PrepareFrame: +// * Prepare videoframe per size & format. +// * +// * [in]stSize: the size of videoframe +// * [in]enPixelFormat: pixel format of videoframe +// * [Out]pstVideoFrame: the videoframe generated. +// * return: CVI_SUCCESS if no problem. +// */ +// CVI_S32 SAMPLE_COMM_PrepareFrame(SIZE_S stSize, PIXEL_FORMAT_E enPixelFormat, VIDEO_FRAME_INFO_S *pstVideoFrame); + +// /* SAMPLE_COMM_FRAME_CompareWithFile: +// * Compare data with frame. +// * +// * [in]filename: file to read. +// * [in]pstVideoFrame: the video-frame to store data from file. +// * return: True if match; False if mismatch. +// */ +// CVI_BOOL SAMPLE_COMM_FRAME_CompareWithFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame); + +// /* SAMPLE_COMM_FRAME_LoadFromFile: +// * Load data to frame, whose data loaded from given filename. +// * +// * [in]filename: file to read. +// * [in]pstVideoFrame: the video-frame to store data from file. +// * [in]stSize: size of image. +// * [in]enPixelFormat: format of image +// * return: CVI_SUCCESS if no problem. +// */ +// CVI_S32 SAMPLE_COMM_FRAME_LoadFromFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame, +// SIZE_S *stSize, PIXEL_FORMAT_E enPixelFormat); + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif diff --git a/freertos/cvitek/install/include/common/sleep.h b/freertos/cvitek/install/include/common/sleep.h new file mode 100644 index 000000000..7a7e40b56 --- /dev/null +++ b/freertos/cvitek/install/include/common/sleep.h @@ -0,0 +1,7 @@ +#ifndef _SLEEP_H +#define _SLEEP_H + +void usleep(unsigned long useconds); +void nanosleep(unsigned long nseconds); + +#endif // end of _SLEEP_H diff --git a/freertos/cvitek/install/include/common/types.h b/freertos/cvitek/install/include/common/types.h new file mode 100644 index 000000000..b6a8bc006 --- /dev/null +++ b/freertos/cvitek/install/include/common/types.h @@ -0,0 +1,43 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_TYPES_H +#define _LINUX_TYPES_H + +#ifndef __ASSEMBLY__ +#ifdef CONFIG_64BIT +typedef unsigned long uintptr_t; +typedef unsigned long size_t; +/* bsd */ +typedef unsigned char u_char; +typedef unsigned short u_short; +typedef unsigned int u_int; +typedef unsigned long u_long; + +/* sysv */ +typedef unsigned char unchar; +typedef unsigned short ushort; +typedef unsigned int uint; +typedef unsigned long ulong; + +typedef signed char s8; +typedef signed short s16; +typedef signed int s32; +typedef signed long s64; + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef unsigned long u64; + +typedef signed char __s8; +typedef signed short __s16; +typedef signed int __s32; +typedef signed long __s64; + +typedef unsigned char __u8; +typedef unsigned short __u16; +typedef unsigned int __u32; +typedef unsigned long __u64; + +#endif /* CONFIG_64BIT */ +#endif /* __ASSEMBLY__ */ +#endif /* _LINUX_TYPES_H */ diff --git a/freertos/cvitek/install/include/common/vi_isp.h b/freertos/cvitek/install/include/common/vi_isp.h new file mode 100644 index 000000000..c17477f67 --- /dev/null +++ b/freertos/cvitek/install/include/common/vi_isp.h @@ -0,0 +1,226 @@ +#ifndef __U_VI_ISP_H__ +#define __U_VI_ISP_H__ + +//#include +#include +#include +#include +#include + +enum ISP_SCENE_INFO { + PRE_OFF_POST_OFF_SC, //183x + PRE_OFF_POST_ON_SC, //183x + FE_ON_BE_ON_POST_OFF_SC, //182x + FE_ON_BE_ON_POST_ON_SC, //182x + FE_ON_BE_OFF_POST_OFF_SC, //182x + FE_ON_BE_OFF_POST_ON_SC, //182x + FE_OFF_BE_ON_POST_OFF_SC, //182x + FE_OFF_BE_ON_POST_ON_SC, //182x +}; + +enum cvi_isp_source { + CVI_ISP_SOURCE_DEV = 0, + CVI_ISP_SOURCE_FE, + CVI_ISP_SOURCE_BE, + CVI_ISP_SOURCE_MAX, +}; + +enum IP_INFO_GRP { + IP_INFO_ID_MIN = 0, + //Pre_raw_be + IP_INFO_ID_PRE_RAW_BE = IP_INFO_ID_MIN, + IP_INFO_ID_CROP4, + IP_INFO_ID_CROP5, + IP_INFO_ID_BLC4, + IP_INFO_ID_BLC5, + IP_INFO_ID_FPN, + IP_INFO_ID_IR_PRE_PROC_LE, + IP_INFO_ID_IR_PRE_PROC_SE, + IP_INFO_ID_IR_PROC, + IP_INFO_ID_AEHIST0, + IP_INFO_ID_AEHIST1, + IP_INFO_ID_AWB0, + IP_INFO_ID_GMS, + IP_INFO_ID_AF, + IP_INFO_ID_WBG0, + IP_INFO_ID_WBG1, + IP_INFO_ID_DPC0, + IP_INFO_ID_DPC1, + IP_INFO_ID_INV_WBG0, + IP_INFO_ID_INV_WBG1, + IP_INFO_ID_LSCR4, + IP_INFO_ID_LSCR5, + //Pre_raw_0_fe + IP_INFO_ID_PRE_RAW_FE0, + IP_INFO_ID_CSIBDG0, + IP_INFO_ID_CROP0, + IP_INFO_ID_CROP1, + IP_INFO_ID_BLC0, + IP_INFO_ID_BLC1, + IP_INFO_ID_LMP0, + IP_INFO_ID_WBG11, + IP_INFO_ID_LMP1, + IP_INFO_ID_WBG12, + IP_INFO_ID_RGBMAP0, + IP_INFO_ID_WBG7, + IP_INFO_ID_RGBMAP1, + IP_INFO_ID_WBG8, + IP_INFO_ID_LSCR0, + IP_INFO_ID_LSCR1, + //Pre_raw_1_fe + IP_INFO_ID_PRE_RAW_FE1, + IP_INFO_ID_CSIBDG1_R1, + IP_INFO_ID_CROP2, + IP_INFO_ID_CROP3, + IP_INFO_ID_BLC2, + IP_INFO_ID_BLC3, + IP_INFO_ID_LMP2, + IP_INFO_ID_WBG13, + IP_INFO_ID_LMP3, + IP_INFO_ID_WBG14, + IP_INFO_ID_RGBMAP2, + IP_INFO_ID_WBG9, + IP_INFO_ID_RGBMAP3, + IP_INFO_ID_WBG10, + IP_INFO_ID_LSCR2, + IP_INFO_ID_LSCR3, + //Rawtop + IP_INFO_ID_RAWTOP, + IP_INFO_ID_CFA, + IP_INFO_ID_BNR, + IP_INFO_ID_CROP6, + IP_INFO_ID_CROP7, + //Rgbtop + IP_INFO_ID_RGBTOP, + IP_INFO_ID_LSCM0, + IP_INFO_ID_CCM0, + IP_INFO_ID_CCM1, + IP_INFO_ID_CCM2, + IP_INFO_ID_CCM3, + IP_INFO_ID_CCM4, + IP_INFO_ID_MANR, + IP_INFO_ID_GAMMA, + IP_INFO_ID_CLUT, + IP_INFO_ID_DHZ, + IP_INFO_ID_R2Y4, + IP_INFO_ID_RGBDITHER, + IP_INFO_ID_PREYEE, + IP_INFO_ID_DCI, + IP_INFO_ID_HIST_EDGE_V, + IP_INFO_ID_HDRFUSION, + IP_INFO_ID_HDRLTM, + IP_INFO_ID_AWB2, + //Yuvtop + IP_INFO_ID_YUVTOP, + IP_INFO_ID_444422, + IP_INFO_ID_FBCE, + IP_INFO_ID_FBCD, + IP_INFO_ID_YUVDITHER, + IP_INFO_ID_YNR, + IP_INFO_ID_CNR, + IP_INFO_ID_EE, + IP_INFO_ID_YCURVE, + IP_INFO_ID_CROP8, + IP_INFO_ID_CROP9, + IP_INFO_ID_ISPTOP, + IP_INFO_ID_CSIBDG_LITE, + IP_INFO_ID_MAX, +}; + +struct ip_info { + __u32 str_addr; //IP start address + __u32 size; //IP total registers size +}; + +#if 0 +struct cvi_vip_isp_raw_blk { + struct cvi_vip_memblock raw_dump; + __u32 time_out;//msec + __u16 src_w; + __u16 src_h; + __u16 crop_x; + __u16 crop_y; + __u8 is_b_not_rls; + __u8 is_timeout; + __u8 is_sig_int; +}; + +struct cvi_isp_sts_mem { + __u8 raw_num; + struct cvi_vip_memblock af; + struct cvi_vip_memblock gms; + struct cvi_vip_memblock ae_le; + struct cvi_vip_memblock ae_se; + struct cvi_vip_memblock awb; + struct cvi_vip_memblock awb_post; + struct cvi_vip_memblock dci; + struct cvi_vip_memblock hist_edge_v; + struct cvi_vip_memblock mmap; +}; +#endif + +struct cvi_isp_mbus_framefmt { + __u32 width; + __u32 height; + __u32 code; +}; + +struct cvi_isp_rect { + __s32 left; + __s32 top; + __u32 width; + __u32 height; +}; + +struct cvi_isp_usr_pic_cfg { + struct cvi_isp_mbus_framefmt fmt; + struct cvi_isp_rect crop; +}; +#if 0 +struct cvi_isp_snr_info { + __u8 raw_num; + __u16 color_mode; + __u32 pixel_rate; + struct wdr_size_s snr_fmt; +}; + +struct cvi_isp_snr_update { + __u8 raw_num; + struct snsr_cfg_node_s snr_cfg_node; +}; +#endif +struct cvi_vip_isp_yuv_param { + __u8 raw_num; + __u32 yuv_bypass_path; +}; + +struct cvi_isp_mmap_grid_size { + __u8 raw_num; + __u8 grid_size; +}; + +struct isp_proc_cfg { + void *buffer; +#ifdef __arm__ + __u32 padding; +#endif + size_t buffer_size; +}; + +struct cvi_vip_isp_awb_sts { + __u8 raw_num; + __u8 is_se; + __u8 buf_idx; +}; + +struct cvi_vi_dma_buf_info { + __u64 paddr; + __u32 size; +}; + +struct cvi_isp_sc_online { + __u8 raw_num; + __u8 is_sc_online; +}; + +#endif // __U_VI_ISP_H__ diff --git a/freertos/cvitek/install/include/common/vi_snsr.h b/freertos/cvitek/install/include/common/vi_snsr.h new file mode 100644 index 000000000..142d6a57a --- /dev/null +++ b/freertos/cvitek/install/include/common/vi_snsr.h @@ -0,0 +1,151 @@ +#ifndef __U_VI_SNSR_H__ +#define __U_VI_SNSR_H__ + +#include + +#define MAX_HDR_FRAME_NUM 2 +#define ISP_MAX_SNS_REGS 32 + +/** + * struct active_size_s - linear/wdr image information + * + * @width: image total width + * @height: image total height + * @start_x: horizontal shift of the 1st pixel + * @start_y: horizontal shift of the 1st pixel + * @active_w: effective image width + * @active_h: effective image height + * @max_width: max width for buffer allocation + * @max_height: max height for buffer allocation + */ + +struct active_size_s { + unsigned short width; + unsigned short height; + unsigned short start_x; + unsigned short start_y; + unsigned short active_w; + unsigned short active_h; + unsigned short max_width; + unsigned short max_height; +}; + +/** + * struct wdr_size_s - structure for CVI_SNSR_G_WDR_SIZE + * + * @frm_num: [output] Effective image instance. 1 for linear mode, >1 for wdr mode. + * @img_size: [output] Image information. + */ + +struct wdr_size_s { + unsigned int frm_num; + struct active_size_s img_size[MAX_HDR_FRAME_NUM]; +}; + +enum isp_sns_type_e { + ISP_SNS_I2C_TYPE = 0, + ISP_SNS_TYPE_BUTT, +}; + +enum sns_wdr_e { + SNS_WDR_MODE_NONE = 0, + SNS_WDR_MODE_2TO1_LINE, + SNS_WDR_MODE_BUTT +}; + +/** + * struct isp_i2c_data - sensor setting with i2c interface. + * + * @update: update this register or not + * @drop_frame: drop next frame or not + * @i2c_dev: i2c device number. + * @dev_addr: sensor slave address + * @dly_frm_num: this setting would be set with delay frame number + * @drop_frame_cnt: this setting would be set with drop frame + * @reg_addr: sensor register address + * @addr_bytes: sensor register address bytes number + * @data: sensor register value + * @data_bytes: sensor register value bytes number + */ + +struct isp_i2c_data { + unsigned char update; + unsigned char drop_frame; + unsigned char i2c_dev; + unsigned char dev_addr; + unsigned char dly_frm_num; + unsigned short drop_frame_cnt; + unsigned short reg_addr; + unsigned short addr_bytes; + unsigned short data; + unsigned short data_bytes; +}; + +/** + * struct snsr_regs_s - structure of sensor update wrapper + * + * @sns_type: i2c or other interface + * @regs_num: the maximum sensor registers to be updated + * @i2c_data: sensor registers to be updated + * @use_snsr_sram: does this sensor support group update + * @need_update: global flag for sensor update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_regs_s { + enum isp_sns_type_e sns_type; + unsigned int magic_num; + unsigned int regs_num; + struct isp_i2c_data i2c_data[ISP_MAX_SNS_REGS]; + unsigned char cfg_valid_max_dly_frm; + unsigned char use_snsr_sram; + unsigned char need_update; +}; + +/** + * struct snsr_isp_s - structure of isp update wrapper + * + * @wdr: the image information for isp driver. + * @need_update: global flag for isp update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_isp_s { + struct wdr_size_s wdr; + unsigned char dly_frm_num; + unsigned char need_update; +}; + +/** + * struct snsr_cif_s - structure of cif(mipi_rx) update wrapper + * + * @wdr: the image information for isp driver. + * @need_update: global flag for cif update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_cif_s { + struct manual_hdr_s wdr_manu; + unsigned char dly_frm_num; + unsigned char need_update; +}; + +/** + * struct snsr_cfg_node_s - structure of cfg node for runtime update + * + * @snsr: [output] snsr wrapper for runtime update + * @isp: [output] isp wrapper for runtime update + * @cif: [output] cif wrapper for runtime update + * @configed: [intput] after CVI_SNSR_G_CFG_NODE is called, this flag + * is set as false by sensor driver. The caller shall set it as + * true after this cfg_node is passed to isp driver. + */ + +struct snsr_cfg_node_s { + struct snsr_regs_s snsr; + struct snsr_isp_s isp; + struct snsr_cif_s cif; + unsigned char configed; +}; + +#endif // __U_VI_SNSR_H__ diff --git a/freertos/cvitek/install/include/common/vi_uapi.h b/freertos/cvitek/install/include/common/vi_uapi.h new file mode 100644 index 000000000..5f00ad5ba --- /dev/null +++ b/freertos/cvitek/install/include/common/vi_uapi.h @@ -0,0 +1,103 @@ +#ifndef __U_VI_UAPI_H__ +#define __U_VI_UAPI_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +enum ISP_CMDQ_E { + ISP_CMDQ_RECV_EV = 0x30, + ISP_CMDQ_GET_STS_MEM, + ISP_CMDQ_GET_TUNING_NODE_MEM, + ISP_CMDQ_GET_LSC_PHY_BUF, + ISP_CMDQ_MAX, +}; + +enum CODEC_CMDQ_E { + CODEC_CMDQ_RECV_BUF = ISP_CMDQ_MAX, + CODEC_CMDQ_MAX, +}; + +enum VI_CMDQ_E { + VI_CMDQ_INFO_RECV_BUF_ACK = CODEC_CMDQ_MAX, + VI_CMDQ_INFO_MAX, +}; + +/* + * Events + */ +enum VI_EVENT { + VI_EVENT_BASE, + VI_EVENT_PRE0_SOF, + VI_EVENT_PRE1_SOF, + VI_EVENT_PRE0_EOF, + VI_EVENT_PRE1_EOF, + VI_EVENT_POST_EOF, + VI_EVENT_POST1_EOF, + VI_EVENT_ISP_PROC_READ, + VI_EVENT_AWB0_DONE, + VI_EVENT_AWB1_DONE, + VI_EVENT_MAX, +}; + +enum ISP_BLC_ID { + ISP_BLC_ID_FE0_LE = 0, + ISP_BLC_ID_FE0_SE, + ISP_BLC_ID_FE1_LE, + ISP_BLC_ID_FE1_SE, + ISP_BLC_ID_FE2_LE, + ISP_BLC_ID_BE_LE, + ISP_BLC_ID_BE_SE, + ISP_BLC_ID_MAX, +}; + +enum ISP_WBG_ID { + ISP_WBG_ID_FE0_RGBMAP_LE = 0, + ISP_WBG_ID_FE0_RGBMAP_SE, + ISP_WBG_ID_FE1_RGBMAP_LE, + ISP_WBG_ID_FE1_RGBMAP_SE, + ISP_WBG_ID_FE2_RGBMAP_LE, + ISP_WBG_ID_RAW_TOP_LE, + ISP_WBG_ID_RAW_TOP_SE, + ISP_WBG_ID_MAX, +}; + +struct vi_event { + __u32 dev_id; + __u32 type; + __u32 frame_sequence; + __u32 stt_idx; +}; + +/* struct cvi_vip_memblock + * @base: the address of the memory allocated. + * @size: Size in bytes of the memblock. + */ +struct cvi_vip_memblock { + __u8 raw_num; + __u64 phy_addr; + void *vir_addr; + __u32 size; +}; + +struct cvi_isp_sts_mem { + __u8 raw_num; + struct cvi_vip_memblock af; + struct cvi_vip_memblock gms; + struct cvi_vip_memblock ae_le; + struct cvi_vip_memblock ae_se; + struct cvi_vip_memblock awb; + struct cvi_vip_memblock awb_post; + struct cvi_vip_memblock dci; + struct cvi_vip_memblock hist_edge_v; + struct cvi_vip_memblock mmap; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __U_VI_UAPI_H__ */ diff --git a/freertos/cvitek/install/include/common/vip_sys.h b/freertos/cvitek/install/include/common/vip_sys.h new file mode 100644 index 000000000..4d01a649f --- /dev/null +++ b/freertos/cvitek/install/include/common/vip_sys.h @@ -0,0 +1,60 @@ +#ifndef __VIP_SYS_H__ +#define __VIP_SYS_H__ + +#include +#include + +#include "mmio.h" +#include "reg_vip_sys.h" + +/* VIP_SYS */ + +#include "mmio.h" + +#define CV181X_SYS_CLOCK_BASE 0x03002000 +#define REG_DIV_CLK_SRC_VIP_SYS_2 0x110 + +#define VIP_SYS_2_SRC_DISPPLL (2 << 8) // 1188MHz +#define VIP_SYS_2_SRC_FPLL (3 << 8) // 1500MHz +#define VIP_SYS_2_SRC_MASK (3 << 8) // [8:9] + +#define SET_VIP_SYS_2_CLK_DIV(s, v) \ + _reg_write(CV181X_SYS_CLOCK_BASE + REG_DIV_CLK_SRC_VIP_SYS_2, \ + (s == VIP_SYS_2_SRC_DISPPLL) ? ((v << 16) | 0x209) : ((v << 16) | 0x309)) + +#define VIP_SYS_BASE 0x0A0C8000 + +#define vip_sys_reg_write_mask(addr, mask, data) \ + mmio_clrsetbits_32((VIP_SYS_BASE + addr), mask, data) + +#define VIP_NORM_CLK_RATIO_MASK(CLK_NAME) VIP_SYS_REG_NORM_DIV_##CLK_NAME##_MASK +#define VIP_NORM_CLK_RATIO_OFFSET(CLK_NAME) VIP_SYS_REG_NORM_DIV_##CLK_NAME##_OFFSET +#define VIP_NORM_CLK_RATIO_CONFIG(CLK_NAME, RATIO) \ + vip_sys_reg_write_mask(VIP_SYS_REG_NORM_DIV_##CLK_NAME, \ + VIP_NORM_CLK_RATIO_MASK(CLK_NAME), \ + RATIO << VIP_NORM_CLK_RATIO_OFFSET(CLK_NAME)) + +#define VIP_UPDATE_CLK_RATIO_MASK(CLK_NAME) VIP_SYS_REG_UPDATE_##CLK_NAME##_MASK +#define VIP_UPDATE_CLK_RATIO_OFFSET(CLK_NAME) VIP_SYS_REG_UPDATE_##CLK_NAME##_OFFSET +#define VIP_UPDATE_CLK_RATIO(CLK_NAME) \ + vip_sys_reg_write_mask(VIP_SYS_REG_UPDATE_##CLK_NAME, \ + VIP_UPDATE_CLK_RATIO_MASK(CLK_NAME), \ + 1 << VIP_UPDATE_CLK_RATIO_OFFSET(CLK_NAME)) + +static void vip_toggle_reset(uint32_t mask) +{ + uint32_t reset; + uint32_t reset_base = VIP_SYS_BASE + VIP_SYS_VIP_RESETS; + + reset = _reg_read(reset_base); + + reset |= mask; + _reg_write(reset_base, reset); + + udelay(20); + + reset &= ~mask; + _reg_write(reset_base, reset); +} + +#endif diff --git a/freertos/cvitek/install/include/driver/cif/cif.h b/freertos/cvitek/install/include/driver/cif/cif.h new file mode 100644 index 000000000..4af330b2c --- /dev/null +++ b/freertos/cvitek/install/include/driver/cif/cif.h @@ -0,0 +1,133 @@ +/* + * Copyright CviTek Inc. + * + * Created Time: May, 2021 + */ +#ifndef __CVI_CIF_H__ +#define __CVI_CIF_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifdef RUN_IN_SRAM +#include "drv/cif_drv.h" + +#elif (RUN_TYPE == CVIRTOS) +#include "cif_drv.h" +#endif + +#include "gpio.h" +#include "cif_uapi.h" +#include "sensor.h" + +#define CIF_MAX_CSI_NUM 2 +#define CIF_MAX_MAC_NUM 3 + +#define CSIMAC0_INTR_NUM (22) +#define CSIMAC1_INTR_NUM (23) + +/* Register Base Address */ +#define DPHY_TOP_BASE (0x0A0D0000) +#define DPHY_4L_BASE (0x0A0D0300) +#define DPHY_2L_BASE (0x0A0D0600) +#define SENSOR_MAC0_BASE (0x0A0C2000) +#define SENSOR_MAC1_BASE (0x0A0C4000) +#define SENSOR_MAC_VI_BASE (0x0A0C6000) + +#define SENSOR_CSI0_BASE (0x0A0C2400) +#define SENSOR_CSI1_BASE (0x0A0C4400) + +// CAM_PLL +#define CLK_CAM0_SRC_DIV (0x030028C0) +#define CLK_CAM1_SRC_DIV (0x030028C4) + +/* Register fileds */ +#define DPHY_TOP_REG_04 (DPHY_TOP_BASE + 0x04) +#define DPHY_TOP_REG_30 (DPHY_TOP_BASE + 0x30) + +#define DPHY_4L_REG_04 (DPHY_4L_BASE + 0x04) +#define DPHY_4L_REG_08 (DPHY_4L_BASE + 0x08) +#define DPHY_4L_REG_0C (DPHY_4L_BASE + 0x0C) +#define DPHY_4L_REG_10 (DPHY_4L_BASE + 0x10) + +#define DPHY_2L_REG_04 (DPHY_2L_BASE + 0x04) +#define DPHY_2L_REG_08 (DPHY_2L_BASE + 0x08) +#define DPHY_2L_REG_0C (DPHY_2L_BASE + 0x0C) +#define DPHY_2L_REG_10 (DPHY_2L_BASE + 0x10) + +// CAM_PLL +#define REG_CAM_DIV_DIS (4) +#define REG_CAM_SRC (8) +#define REG_CAM_SRC_MASK (3 << REG_CAM_SRC) +#define REG_CAM_DIV (16) +#define REG_CAM_DIV_MASK (0x3F << REG_CAM_DIV) + +/* Macro */ +#define CSI_HDR_ID_VALUE (0xfff00) +#define CSI_HDR_VC_VALUE (0xdff00) +#define CSI_LINEAR_VALUE (0xcff00) + +#define CIF_PHY_LANE_NUM 6 + +#define MAX_PAD_NUM 19 + +#define ENOIOCTLCMD 515 /* No ioctl command */ + +/* Struct */ +struct cvi_csi_status { + unsigned int errcnt_ecc; + unsigned int errcnt_crc; + unsigned int errcnt_hdr; + unsigned int errcnt_wc; + unsigned int fifo_full; +}; + +struct cvi_lvds_status { + unsigned int fifo_full; +}; + +struct cvi_link { + struct cif_ctx cif_ctx; + unsigned int irq_num; + // struct reset_control *phy_reset; + // struct reset_control *phy_apb_reset; + unsigned int is_on; + struct cif_param param; + struct combo_dev_attr_s attr; + enum clk_edge_e clk_edge; + enum output_msb_e msb; + unsigned int crop_top; + unsigned int distance_fp; + int snsr_rst_pin; + enum of_gpio_flags snsr_rst_pol; + union { + struct cvi_csi_status sts_csi; + struct cvi_lvds_status sts_lvds; + }; +// struct device *dev; + enum rx_mac_clk_e mac_clk; + enum ttl_bt_fmt_out bt_fmt_out; +}; + +struct cvi_cam_clk { + int is_on; + // struct clk *clk_o; +}; + +struct cvi_cif_dev { + uint32_t devno; + // struct miscdevice miscdev; + // spinlock_t lock; + // struct mutex mutex; + struct cvi_link link[MAX_LINK_NUM]; + // struct cvi_cam_clk clk_cam0; + // struct cvi_cam_clk clk_cam1; + // struct cvi_cam_clk vip_sys2; + // struct cvi_cam_clk clk_div_0_src_vip_sys_2; /* mipipll */ + // struct cvi_cam_clk clk_div_1_src_vip_sys_2; /* fpll */ + unsigned int max_mac_clk; + void *pad_ctrl; +}; + +#endif //__CVI_CIF_H__ diff --git a/freertos/cvitek/install/include/driver/cif/irqreturn.h b/freertos/cvitek/install/include/driver/cif/irqreturn.h new file mode 100644 index 000000000..eb1bdcf95 --- /dev/null +++ b/freertos/cvitek/install/include/driver/cif/irqreturn.h @@ -0,0 +1,19 @@ +#ifndef _LINUX_IRQRETURN_H +#define _LINUX_IRQRETURN_H + +/** + * enum irqreturn + * @IRQ_NONE interrupt was not from this device or was not handled + * @IRQ_HANDLED interrupt was handled by this device + * @IRQ_WAKE_THREAD handler requests to wake the handler thread + */ +enum irqreturn { + IRQ_NONE = (0 << 0), + IRQ_HANDLED = (1 << 0), + IRQ_WAKE_THREAD = (1 << 1), +}; + +typedef enum irqreturn irqreturn_t; +#define IRQ_RETVAL(x) ((x) ? IRQ_HANDLED : IRQ_NONE) + +#endif diff --git a/freertos/cvitek/install/include/driver/fast_image/fast_image.h b/freertos/cvitek/install/include/driver/fast_image/fast_image.h new file mode 100644 index 000000000..8ff26fe7c --- /dev/null +++ b/freertos/cvitek/install/include/driver/fast_image/fast_image.h @@ -0,0 +1,155 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2022. All rights reserved. + * + * File Name: fast_image.h + * Description: + */ + +#ifndef __FAST_IMAGE_HEADER__ +#define __FAST_IMAGE_HEADER__ + +#include "rtos_cmdqu.h" +#ifndef __linux__ +#include "types.h" +#else +#include + +enum FAST_IMAGE_CMD_TYPE { + FAST_SEND_STOP_REC = CMDQU_SYSTEM_LIMIT, + FAST_SEND_QUERY_ISP_PADDR, + FAST_SEND_QUERY_ISP_VADDR, + FAST_SEND_QUERY_ISP_SIZE, + FAST_SEND_QUERY_ISP_CTXT, + FAST_SEND_QUERY_IMG_PADDR, + FAST_SEND_QUERY_IMG_VADDR, + FAST_SEND_QUERY_IMG_SIZE, + FAST_SEND_QUERY_IMG_CTXT, + FAST_SEND_QUERY_ENC_PADDR, + FAST_SEND_QUERY_ENC_VADDR, + FAST_SEND_QUERY_ENC_SIZE, + FAST_SEND_QUERY_ENC_CTXT, + FAST_SEND_QUERY_FREE_ISP_ION, + FAST_SEND_QUERY_FREE_IMG_ION, + FAST_SEND_QUERY_FREE_ENC_ION, + FAST_SEND_QUERY_DUMP_MSG, + FAST_SEND_QUERY_DUMP_MSG_INFO, + FAST_SEND_QUERY_DUMP_EN, + FAST_SEND_QUERY_DUMP_DIS, + FAST_SEND_QUERY_DUMP_JPG, + FAST_SEND_QUERY_DUMP_JPG_INFO, + FAST_SEND_QUERY_TRACE_SNAPSHOT_START, + FAST_SEND_QUERY_TRACE_SNAPSHOT_STOP, + FAST_SEND_QUERY_TRACE_SNAPSHOT_DUMP, + FAST_SEND_QUERY_TRACE_STREAM_START, + FAST_SEND_QUERY_TRACE_STREAM_STOP, + FAST_SEND_QUERY_TRACE_STREAM_DUMP, + FAST_SEND_LIMIT, +}; + +#define FAST_IMAGE_DEV_NAME "cvi-fast-image" +#define FAST_IMAGE_SEND_STOP_REC _IOW('r', FAST_SEND_STOP_REC, unsigned long) +#define FAST_IMAGE_QUERY_ISP_PADDR _IOW('r', FAST_SEND_QUERY_ISP_PADDR, unsigned long) +#define FAST_IMAGE_QUERY_ISP_VADDR _IOW('r', FAST_SEND_QUERY_ISP_VADDR, unsigned long) +#define FAST_IMAGE_QUERY_ISP_SIZE _IOW('r', FAST_SEND_QUERY_ISP_SIZE, unsigned long) +#define FAST_IMAGE_QUERY_ISP_CTXT _IOW('r', FAST_SEND_QUERY_ISP_CTXT, unsigned long) +#define FAST_IMAGE_QUERY_IMG_PADDR _IOW('r', FAST_SEND_QUERY_IMG_PADDR, unsigned long) +#define FAST_IMAGE_QUERY_IMG_VADDR _IOW('r', FAST_SEND_QUERY_IMG_VADDR, unsigned long) +#define FAST_IMAGE_QUERY_IMG_SIZE _IOW('r', FAST_SEND_QUERY_IMG_SIZE, unsigned long) +#define FAST_IMAGE_QUERY_IMG_CTXT _IOW('r', FAST_SEND_QUERY_IMG_CTXT, unsigned long) +#define FAST_IMAGE_QUERY_ENC_PADDR _IOW('r', FAST_SEND_QUERY_ENC_PADDR, unsigned long) +#define FAST_IMAGE_QUERY_ENC_VADDR _IOW('r', FAST_SEND_QUERY_ENC_VADDR, unsigned long) +#define FAST_IMAGE_QUERY_ENC_SIZE _IOW('r', FAST_SEND_QUERY_ENC_SIZE, unsigned long) +#define FAST_IMAGE_QUERY_ENC_CTXT _IOW('r', FAST_SEND_QUERY_ENC_CTXT, unsigned long) +#define FAST_IMAGE_QUERY_FREE_ISP_ION _IOW('r', FAST_SEND_QUERY_FREE_ISP_ION, unsigned long) +#define FAST_IMAGE_QUERY_FREE_IMG_ION _IOW('r', FAST_SEND_QUERY_FREE_IMG_ION, unsigned long) +#define FAST_IMAGE_QUERY_FREE_ENC_ION _IOW('r', FAST_SEND_QUERY_FREE_ENC_ION, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_MSG _IOW('r', FAST_SEND_QUERY_DUMP_MSG, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_MSG_INFO _IOW('r', FAST_SEND_QUERY_DUMP_MSG_INFO, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_EN _IOW('r', FAST_SEND_QUERY_DUMP_EN, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_DIS _IOW('r', FAST_SEND_QUERY_DUMP_DIS, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_JPG _IOW('r', FAST_SEND_QUERY_DUMP_JPG, unsigned long) +#define FAST_IMAGE_QUERY_DUMP_JPG_INFO _IOW('r', FAST_SEND_QUERY_DUMP_JPG_INFO, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_SNAPSHOT_START _IOW('r', FAST_SEND_QUERY_TRACE_SNAPSHOT_START, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_SNAPSHOT_STOP _IOW('r', FAST_SEND_QUERY_TRACE_SNAPSHOT_STOP, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_SNAPSHOT_DUMP _IOW('r', FAST_SEND_QUERY_TRACE_SNAPSHOT_DUMP, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_STREAM_START _IOW('r', FAST_SEND_QUERY_TRACE_STREAM_START, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_STREAM_STOP _IOW('r', FAST_SEND_QUERY_TRACE_STREAM_STOP, unsigned long) +#define FAST_IMAGE_QUERY_TRACE_STREAM_DUMP _IOW('r', FAST_SEND_QUERY_TRACE_STREAM_DUMP, unsigned long) + +#endif // end of __linux__ + +#define C906_MAGIC_HEADER 0xA55AC906 // master cpu is c906 +#define CA53_MAGIC_HEADER 0xA55ACA53 // master cpu is ca53 + +#ifdef __riscv +#define RTOS_MAGIC_HEADER C906_MAGIC_HEADER +#else +#define RTOS_MAGIC_HEADER CA53_MAGIC_HEADER +#endif + +enum E_IMAGE_TYPE { + E_FAST_NONE = 0, + E_FAST_JEPG = 1, + E_FAST_H264, + E_FAST_H265, +}; + +enum _MUC_STATUS_E { + MCU_STATUS_NONOS_INIT = 1, + MCU_STATUS_NONOS_RUNNING, + MCU_STATUS_NONOS_DONE, + MCU_STATUS_RTOS_T1_INIT, // before linux running + MCU_STATUS_RTOS_T1_RUNNING, + MCU_STATUS_RTOS_T2_INIT, // after linux running + MCU_STATUS_RTOS_T2_RUNNING, + MCU_STATUS_LINUX_INIT, + MCU_STATUS_LINUX_RUNNING, +}; + +enum DUMP_PRINT_SIZE_E { + DUMP_PRINT_SZ_IDX_0K = 0, + DUMP_PRINT_SZ_IDX_4K = 12, // 4096 = 1<<12 + DUMP_PRINT_SZ_IDX_8K, + DUMP_PRINT_SZ_IDX_16K, + DUMP_PRINT_SZ_IDX_32K, + DUMP_PRINT_SZ_IDX_64K, + DUMP_PRINT_SZ_IDX_128K, + DUMP_PRINT_SZ_IDX_LIMIT, +}; + +#define ATTR __attribute__ + +#ifndef __packed +#define __packed ATTR((packed)) +#endif + +#ifndef __aligned +#define __aligned(x) ATTR((aligned(x))) +#endif + +/* this structure should be modified both fsbl & MCU & osdrv side */ +struct transfer_config_t { + uint32_t conf_magic; + uint32_t conf_size; //conf_size exclude mcu_status & linux_status + uint32_t isp_buffer_addr; + uint32_t isp_buffer_size; + uint32_t encode_img_addr; + uint32_t encode_img_size; + uint32_t encode_buf_addr; + uint32_t encode_buf_size; + uint8_t dump_print_enable; + uint8_t dump_print_size_idx; + uint16_t image_type; + uint16_t checksum; // checksum exclude mcu_status & linux_status + uint8_t mcu_status; + uint8_t linux_status; +} __packed __aligned(0x40); + +struct trace_snapshot_t { + uint32_t ptr; + uint16_t size; + uint16_t type; +} __packed; + +#endif // end of __FAST_IMAGE_HEADER__ diff --git a/freertos/cvitek/install/include/driver/gpio/gpio.h b/freertos/cvitek/install/include/driver/gpio/gpio.h new file mode 100644 index 000000000..ef4e37299 --- /dev/null +++ b/freertos/cvitek/install/include/driver/gpio/gpio.h @@ -0,0 +1,19 @@ +#ifndef __GPIO_H__ +#define __GPIO_H__ + +#include +#include + +#define CVI_GPIOA_BASE 0x03020000 +#define CVI_GPIOB_BASE 0x03021000 +#define CVI_GPIOC_BASE 0x03022000 +#define CVI_GPIOD_BASE 0x03023000 + +enum of_gpio_flags { + OF_GPIO_ACTIVE_LOW = 0x1 +}; + +int gpio_is_valid(int pin); +void gpio_direction_output(int pin, int val); + +#endif diff --git a/freertos/cvitek/install/include/driver/jenc/jenc.h b/freertos/cvitek/install/include/driver/jenc/jenc.h new file mode 100644 index 000000000..bbc18ab1d --- /dev/null +++ b/freertos/cvitek/install/include/driver/jenc/jenc.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __DRV_JENC_H__ +#define __DRV_JENC_H__ +#ifdef FREERTOS_BSP +#include "cvi_type.h" + +int jpu_enc(CVI_U32 width, CVI_U32 height, CVI_U32 phySrcAddr, CVI_U32 phyDstAddr, CVI_U64 pts); + +#else +#include +#endif + +#define MAX_JPEG_NUM 16 +typedef struct _JPEG_PIC { + CVI_U32 width; + CVI_U32 height; + CVI_U32 addr; + CVI_U32 size; + CVI_U64 pts; +} JPEG_PIC; + +#endif // end of __DRV_JENC_H__ diff --git a/freertos/cvitek/install/include/driver/pinmux/pinmux.h b/freertos/cvitek/install/include/driver/pinmux/pinmux.h new file mode 100644 index 000000000..64f84529e --- /dev/null +++ b/freertos/cvitek/install/include/driver/pinmux/pinmux.h @@ -0,0 +1,6 @@ +#ifndef __PINMUX_CONFIG_H__ +#define __PINMUX_CONFIG_H__ + +void pinmux_init(void); + +#endif //end of __PINMUX_CONFIG_H__ diff --git a/freertos/cvitek/install/include/driver/rgn/cmpr_canvas.h b/freertos/cvitek/install/include/driver/rgn/cmpr_canvas.h new file mode 100644 index 000000000..9f4a5f050 --- /dev/null +++ b/freertos/cvitek/install/include/driver/rgn/cmpr_canvas.h @@ -0,0 +1,177 @@ +#ifndef __CMPR_CANVAS__ +#define __CMPR_CANVAS__ + +#include +#include +#include +#include "osd_cmpr.h" +#include "cvi_list.h" + +#define BUF_GUARD_SIZE (1 << 12) +#define OSDEC_RL_BD (6) +#define OSDEC_PAL_BD (3) +#define OSDEC_MAX_RL (1 << OSDEC_RL_BD) + +#define MIN_THICKNESS (1) +#define MAX_THICKNESS (32) + +#define BG_COLOR_CODE (2) +#define CMPR_CANVAS_DBG (0) + +typedef enum { + RECT = 0, + STROKE_RECT, + BIT_MAP, + LINE, + CMPR_BIT_MAP, + NUM_OF_DRAW_OBJ +} DRAW_OBJ_TYPE; + +typedef struct { + int width; + int height; + OSD_FORMAT format; + uint32_t bg_color_code; +} Canvas_Attr; + +typedef union _COLOR { + uint32_t code; + uint8_t *buf; +} COLOR; + +typedef struct { + int x0; // start position + int x1; // end position + uint16_t obj_id; +} OBJ_SLICE; + +typedef struct { + OBJ_SLICE slice; + int num; + dlist_t item; +} SLICE_LIST; + +typedef struct { + bool is_const; + bool is_cmpr; + uint16_t width; + union { + uint32_t stride; + uint16_t *bs_len; + }; + COLOR color; + uint16_t id; +} SEGMENT; + +typedef struct { + SEGMENT segment; + int num; + dlist_t item; +} SEGMENT_LIST; + +typedef struct { + int x; + int y; + int width; + int height; + int thickness; +} RECT_ATTR; + +typedef struct { + RECT_ATTR rect; + union { + uint32_t stride; + uint32_t bs_offset; + }; +} BITMAP_ATTR; + +typedef struct { + float _mx; // slope of two end-point vector + float _bx[2]; + float _by[2]; + float _ex[2]; + float _ey[2]; + float ts_h; // thickness proj. on horizontal slice +} LINE_ATTR; + +typedef struct { + DRAW_OBJ_TYPE type; + union { + RECT_ATTR rect; + LINE_ATTR line; + BITMAP_ATTR bitmap; + }; + COLOR color; + int _max_y; + int _min_y; +} DRAW_OBJ; + +typedef struct { + OSDCmpr_Ctrl osdCmpr_ctrl; + StreamBuffer bitstream; + RGBA last_color; + int rl_cnt; + MODE_TYPE md; + CODE code; +} Cmpr_Canvas_Ctrl; + +uint32_t est_cmpr_canvas_size(Canvas_Attr *canvas, DRAW_OBJ *objs, uint32_t obj_num); + +int draw_cmpr_canvas(Canvas_Attr *canvas, DRAW_OBJ *objs, uint32_t obj_num, + uint8_t *obuf, int buf_size, uint32_t *p_osize); + +void set_rect_obj_attr(DRAW_OBJ *obj, Canvas_Attr *canvas, uint32_t color_code, + int pt_x, int pt_y, int width, int height, + bool is_filled, int thickness); +void set_bitmap_obj_attr(DRAW_OBJ *obj_attr, Canvas_Attr *canvas, uint8_t *buf, + int pt_x, int pt_y, int width, int height, + bool is_cmpr); +void set_line_obj_attr(DRAW_OBJ *obj, Canvas_Attr *canvas, uint32_t color_code, + int pt_x0, int pt_y0, int pt_x1, int pt_y1, + int thickness); +int cmpr_bitmap(Canvas_Attr *canvas, uint8_t *ibuf, uint8_t *obuf, int width, + int height, int buf_size, uint32_t *p_osize); + +#if (CMPR_CANVAS_DBG) +int draw_canvas_raw_buffer(Canvas_Attr *canvas, DRAW_OBJ *obj_vec, + uint8_t *obuf); +int draw_canvas_raw_buffer2(Canvas_Attr *canvas, DRAW_OBJ *obj_vec, + uint8_t *obuf); +#endif + +//============================================================================================== +//CVI interface +#ifdef __cplusplus +extern "C" +{ +#endif + +uint32_t CVI_OSDC_est_cmpr_canvas_size(Canvas_Attr *canvas, DRAW_OBJ *objs, uint32_t obj_num); + +int CVI_OSDC_draw_cmpr_canvas(Canvas_Attr *canvas, DRAW_OBJ *objs, uint32_t obj_num, + uint8_t *obuf, uint32_t buf_size, uint32_t *p_osize); + +void CVI_OSDC_set_rect_obj_attr(Canvas_Attr *canvas, DRAW_OBJ *obj, uint32_t color_code, + int pt_x, int pt_y, int width, int height, bool is_filled, int thickness); + +void CVI_OSDC_set_bitmap_obj_attr(Canvas_Attr *canvas, DRAW_OBJ *obj_attr, uint8_t *buf, + int pt_x, int pt_y, int width, int height, bool is_cmpr); + +void CVI_OSDC_set_line_obj_attr(Canvas_Attr *canvas, DRAW_OBJ *obj, uint32_t color_code, + int pt_x0, int pt_y0, int pt_x1, int pt_y1, int thickness); + +int CVI_OSDC_cmpr_bitmap(Canvas_Attr *canvas, uint8_t *ibuf, uint8_t *obuf, int width, int height, + int buf_size, uint32_t *p_osize); + +#if (CMPR_CANVAS_DBG) +int CVI_OSDC_draw_canvas_raw_buffer(Canvas_Attr *canvas, DRAW_OBJ *obj_vec, uint8_t *obuf); +int CVI_OSDC_draw_canvas_raw_buffer2(Canvas_Attr *canvas, DRAW_OBJ *obj_vec, uint8_t *obuf); +#endif + + +#ifdef __cplusplus +} +#endif + + +#endif /* __CMPR_CANVAS__ */ diff --git a/freertos/cvitek/install/include/driver/rgn/cvi_comm_osdc.h b/freertos/cvitek/install/include/driver/rgn/cvi_comm_osdc.h new file mode 100644 index 000000000..7089df739 --- /dev/null +++ b/freertos/cvitek/install/include/driver/rgn/cvi_comm_osdc.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_comm_osdc.h + * Description: + * The common data type defination for osdc module. + */ + +#ifndef __CVI_COMM_OSDC_H__ +#define __CVI_COMM_OSDC_H__ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +typedef enum _OSDC_OSD_FORMAT_E { + OSD_ARGB8888 = 0, + OSD_ARGB4444 = 4, + OSD_ARGB1555 = 5, + OSD_LUT8 = 8, + OSD_LUT4 = 10, + NUM_OF_FORMAT +} OSDC_OSD_FORMAT_E; + +typedef enum _OSDC_DRAW_OBJ_TYPE_E { + RECT = 0, + STROKE_RECT, + BIT_MAP, + LINE, + CMPR_BIT_MAP, + NUM_OF_DRAW_OBJ +} OSDC_DRAW_OBJ_TYPE_E; + +typedef struct _OSDC_Canvas_Attr_S { + int width; + int height; + OSDC_OSD_FORMAT_E format; + uint32_t bg_color_code; +} OSDC_Canvas_Attr_S; + +typedef struct _OSDC_RECT_ATTR_S { + int x; + int y; + int width; + int height; + int thickness; +} OSDC_RECT_ATTR_S; + +typedef struct _OSDC_LINE_ATTR_S { + float _mx; // slope of two end-point vector + float _bx[2]; + float _by[2]; + float _ex[2]; + float _ey[2]; + float ts_h; // thickness proj. on horizontal slice +} OSDC_LINE_ATTR_S; + +typedef struct _OSDC_BITMAP_ATTR_S { + OSDC_RECT_ATTR_S rect; + union { + uint32_t stride; + uint32_t bs_offset; + }; +} OSDC_BITMAP_ATTR_S; + +typedef union _OSDC_COLOR_S { + uint32_t code; + uint8_t *buf; +} OSDC_COLOR_S; + +typedef struct _OSDC_DRAW_OBJ_S { + OSDC_DRAW_OBJ_TYPE_E type; + union { + OSDC_RECT_ATTR_S rect; + OSDC_LINE_ATTR_S line; + OSDC_BITMAP_ATTR_S bitmap; + }; + OSDC_COLOR_S color; + int _max_y; + int _min_y; +} OSDC_DRAW_OBJ_S; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_COMM_OSDC_H__ */ diff --git a/freertos/cvitek/install/include/driver/rgn/cvi_osdc.h b/freertos/cvitek/install/include/driver/rgn/cvi_osdc.h new file mode 100644 index 000000000..b48cd0b88 --- /dev/null +++ b/freertos/cvitek/install/include/driver/rgn/cvi_osdc.h @@ -0,0 +1,56 @@ +#ifndef __CVI_OSDC_H__ +#define __CVI_OSDC_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +uint32_t CVI_OSDC_EstCmprCanvasSize(OSDC_Canvas_Attr_S * canvas, OSDC_DRAW_OBJ_S * objs, uint32_t obj_num); + +int CVI_OSDC_DrawCmprCanvas(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *objs, uint32_t obj_num, + uint8_t *obuf, uint32_t buf_size, uint32_t *p_osize); + +void CVI_OSDC_SetRectObjAttr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj, uint32_t color_code, + int pt_x, int pt_y, int width, int height, bool is_filled, int thickness); + +void CVI_OSDC_SetBitmapObjAttr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj_attr, uint8_t *buf, + int pt_x, int pt_y, int width, int height, bool is_cmpr); + +void CVI_OSDC_SetLineObjAttr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj, uint32_t color_code, + int pt_x0, int pt_y0, int pt_x1, int pt_y1, int thickness); + +int CVI_OSDC_CmprBitmap(OSDC_Canvas_Attr_S *canvas, uint8_t *ibuf, uint8_t *obuf, int width, int height, + int buf_size, uint32_t *p_osize); + +extern uint32_t CVI_OSDC_est_cmpr_canvas_size(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *objs, uint32_t obj_num); + +extern int CVI_OSDC_draw_cmpr_canvas(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *objs, uint32_t obj_num, + uint8_t *obuf, uint32_t buf_size, uint32_t *p_osize); + +extern void CVI_OSDC_set_rect_obj_attr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj, uint32_t color_code, + int pt_x, int pt_y, int width, int height, bool is_filled, int thickness); + +extern void CVI_OSDC_set_bitmap_obj_attr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj_attr, uint8_t *buf, + int pt_x, int pt_y, int width, int height, bool is_cmpr); + +extern void CVI_OSDC_set_line_obj_attr(OSDC_Canvas_Attr_S *canvas, OSDC_DRAW_OBJ_S *obj, uint32_t color_code, + int pt_x0, int pt_y0, int pt_x1, int pt_y1, int thickness); + +extern int CVI_OSDC_cmpr_bitmap(OSDC_Canvas_Attr_S *canvas, uint8_t *ibuf, uint8_t *obuf, int width, int height, + int buf_size, uint32_t *p_osize); +#if (CMPR_CANVAS_DBG) +int CVI_OSDC_draw_canvas_raw_buffer(OSDC_Canvas_Attr_S *canvas, DRAW_OBJ *obj_vec, uint8_t *obuf); +int CVI_OSDC_draw_canvas_raw_buffer2(OSDC_Canvas_Attr_S *canvas, DRAW_OBJ *obj_vec, uint8_t *obuf); +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /*__CVI_OSDC_H__ */ diff --git a/freertos/cvitek/install/include/driver/rgn/osd_cmpr.h b/freertos/cvitek/install/include/driver/rgn/osd_cmpr.h new file mode 100644 index 000000000..b56d3b011 --- /dev/null +++ b/freertos/cvitek/install/include/driver/rgn/osd_cmpr.h @@ -0,0 +1,153 @@ +#ifndef __OSD_CMPR_H__ +#define __OSD_CMPR_H__ + +#include +#include +#include + +// DataType-free color field copy +#define CPY_C(in, out) \ + { \ + out.r = in.r; \ + out.g = in.g; \ + out.b = in.b; \ + out.a = in.a; \ + } + +#define HDR_SZ (8) + +typedef enum { + OSD_ARGB8888 = 0, + OSD_ARGB4444 = 4, + OSD_ARGB1555 = 5, + OSD_LUT8 = 8, + OSD_LUT4 = 10, + NUM_OF_FORMAT +} OSD_FORMAT; + +typedef struct { + int img_width; + int img_height; + bool palette_mode_en; + bool zeroize_by_alpha; + int rgb_trunc_bit; + int alpha_trunc_bit; + int run_len_bd; + int palette_idx_bd; + OSD_FORMAT osd_format; + bool hdr_en; +} OSDCmpr_Cfg; + +typedef struct { + uint8_t *stream; // stream buffer pointer + int bit_pos; // current pointer (in bit) + int buf_size; // in byte + int status; +} StreamBuffer; + +int clip(int data, int min, int max); +void init_stream(StreamBuffer *bs, const uint8_t *buf, int buf_size, + bool read_only); +void write_stream(StreamBuffer *bs, uint8_t *src, int bit_len); +void parse_stream(StreamBuffer *bs, uint8_t *dest, int bit_len, bool read_only); +void move_stream_ptr(StreamBuffer *bs, int bit_len); + +uint8_t get_bit_val(uint8_t *buf, int byte_idx, int bit_idx); + +typedef union { + struct { + uint8_t g; + uint8_t b; + uint8_t r; + uint8_t a; + }; + uint32_t code; +} RGBA; + +typedef union { + struct { + uint16_t g : 4; + uint16_t b : 4; + uint16_t r : 4; + uint16_t a : 4; + }; + uint16_t code; +} ARGB4444; + +typedef union { + struct { + uint16_t g : 5; + uint16_t b : 5; + uint16_t r : 5; + uint16_t a : 1; + }; + uint16_t code; +} ARGB1555; + +typedef union { + RGBA color; + int palette_idx; +} CODE; + +typedef enum { + Literal = 0, + Palette, + Literal_RL, + Palette_RL, + NUM_OF_MODE +} MODE_TYPE; + +typedef struct { + RGBA *color; + int num; +} PaletteRGBA; + +typedef struct { + int reg_image_width; + int reg_image_height; + bool reg_zeroize_by_alpha; + int reg_rgb_trunc_bit; + int reg_alpha_trunc_bit; + bool reg_palette_mode_en; + int reg_run_len_bd; + int reg_palette_idx_bd; + OSD_FORMAT reg_osd_format; + int pel_sz; + PaletteRGBA palette_cache; + int bs_buf_size; + uint8_t *bsbuf; // intermediate bitstream buffer +} OSDCmpr_Ctrl; + +// RGBA get_color(uint8_t *ptr, OSD_FORMAT format = OSD_ARGB8888); +// void set_color(uint8_t *ptr, RGBA color, OSD_FORMAT format = OSD_ARGB8888); +RGBA get_color(uint8_t *ptr, OSD_FORMAT format); +void set_color(uint8_t *ptr, RGBA color, OSD_FORMAT format); + +void osd_cmpr_frame_init(OSDCmpr_Ctrl *p_ctrl); +int osd_cmpr_enc_one_frame(uint8_t *ibuf, uint8_t *obs, OSDCmpr_Ctrl *p_ctrl); +void osd_cmpr_dec_one_frame(uint8_t *bsbuf, size_t bs_size, uint8_t *obuf, + OSDCmpr_Ctrl *p_ctrl); +void osd_cmpr_enc_header(uint8_t *hdrbuf, OSDCmpr_Ctrl *p_ctrl); +void osd_cmpr_dec_header(uint8_t *hdrbuf, OSDCmpr_Ctrl *p_ctrl); + +void osd_cmpr_setup(OSDCmpr_Ctrl *p_ctrl, OSDCmpr_Cfg *p_cfg); +void osd_cmpr_enc_const_pixel(RGBA cur_c, RGBA *last_c, int *rl_cnt, + MODE_TYPE *md, CODE *code, uint16_t *length, + bool is_force_new_run, uint16_t max_run_len, + OSDCmpr_Ctrl *p_ctrl, StreamBuffer *bitstream); +void osd_cmpr_enc_followed_run(RGBA cur_c, int *rl_cnt, MODE_TYPE *md, + CODE *code, uint16_t *length, uint16_t max_run_len, + OSDCmpr_Ctrl *p_ctrl, StreamBuffer *bitstream); + +size_t osd_cmpr_get_pixel_sz(OSD_FORMAT format); +size_t osd_cmpr_get_bs_buf_max_sz(int pel_num, int pel_sz); +size_t osd_cmpr_get_header_sz(void); + +void osd_cmpr_debug_frame_compare(OSDCmpr_Ctrl *p_ctrl, uint8_t *buf0, + uint8_t *buf1); + +void palette_cache_init(PaletteRGBA *cache, int cache_sz); +int palette_cache_lookup_color(PaletteRGBA *cache, RGBA color); +void palette_cache_lru_update(PaletteRGBA *cache, int index); +void palette_cache_push_color(PaletteRGBA *cache, RGBA color); +#endif /* __OSD_CMPR_H__ */ diff --git a/freertos/cvitek/install/include/driver/rtos_cmdqu/rtos_cmdqu.h b/freertos/cvitek/install/include/driver/rtos_cmdqu/rtos_cmdqu.h new file mode 100644 index 000000000..59369683b --- /dev/null +++ b/freertos/cvitek/install/include/driver/rtos_cmdqu/rtos_cmdqu.h @@ -0,0 +1,90 @@ +#ifndef __RTOS_COMMAND_QUEUE__ +#define __RTOS_COMMAND_QUEUE__ + +#ifdef __linux__ +#include +#endif + +#define NR_SYSTEM_CMD 20 +#define NR_RTOS_CMD 127 +#define NR_RTOS_IP IP_LIMIT + +enum IP_TYPE { + IP_ISP = 0, + IP_VCODEC, + IP_VIP, + IP_VI, + IP_RGN, + IP_AUDIO, + IP_SYSTEM, + IP_CAMERA, + IP_LIMIT, +}; + +enum SYS_CMD_ID { + SYS_CMD_INFO_TRANS = 0x50, + SYS_CMD_INFO_LINUX_INIT_DONE, + SYS_CMD_INFO_RTOS_INIT_DONE, + SYS_CMD_INFO_STOP_ISR, + SYS_CMD_INFO_STOP_ISR_DONE, + SYS_CMD_INFO_LINUX, + SYS_CMD_INFO_RTOS, + SYS_CMD_SYNC_TIME, + SYS_CMD_INFO_DUMP_MSG, + SYS_CMD_INFO_DUMP_EN, + SYS_CMD_INFO_DUMP_DIS, + SYS_CMD_INFO_DUMP_JPG, + SYS_CMD_INFO_TRACE_SNAPSHOT_START, + SYS_CMD_INFO_TRACE_SNAPSHOT_STOP, + SYS_CMD_INFO_TRACE_STREAM_START, + SYS_CMD_INFO_TRACE_STREAM_STOP, + SYS_CMD_INFO_LIMIT, +}; + +struct valid_t { + unsigned char linux_valid; + unsigned char rtos_valid; +} __attribute__((packed)); + +typedef union resv_t { + struct valid_t valid; + unsigned short mstime; // 0 : noblock, -1 : block infinite +} resv_t; + +typedef struct cmdqu_t cmdqu_t; +/* cmdqu size should be 8 bytes because of mailbox buffer size */ +struct cmdqu_t { + unsigned char ip_id; + unsigned char cmd_id : 7; + unsigned char block : 1; + union resv_t resv; + unsigned int param_ptr; +} __attribute__((packed)) __attribute__((aligned(0x8))); + +#ifdef __linux__ +/* keep those commands for ioctl system used */ +enum SYSTEM_CMD_TYPE { + CMDQU_SEND = 1, + CMDQU_REQUEST, + CMDQU_REQUEST_FREE, + CMDQU_SEND_WAIT, + CMDQU_SEND_WAKEUP, + CMDQU_SYSTEM_LIMIT = NR_SYSTEM_CMD, +}; + +#define RTOS_CMDQU_DEV_NAME "cvi-rtos-cmdqu" +#define RTOS_CMDQU_SEND _IOW('r', CMDQU_SEND, unsigned long) +#define RTOS_CMDQU_REQUEST _IOW('r', CMDQU_REQUEST, unsigned long) +#define RTOS_CMDQU_REQUEST_FREE _IOW('r', CMDQU_REQUEST_FREE, unsigned long) +#define RTOS_CMDQU_SEND_WAIT _IOW('r', CMDQU_SEND_WAIT, unsigned long) +#define RTOS_CMDQU_SEND_WAKEUP _IOW('r', CMDQU_SEND_WAKEUP, unsigned long) + +int rtos_cmdqu_send(cmdqu_t *cmdq); +int rtos_cmdqu_send_wait(cmdqu_t *cmdq, int wait_cmd_id); +int request_rtos_irq(unsigned char ip_id, void *handler, const char *devname, void *dev_id); +int free_rtos_irq(unsigned char ip_id); + +#endif // end of __linux__ + +#endif // end of __RTOS_COMMAND_QUEUE__ + diff --git a/freertos/cvitek/install/include/driver/sensor/gain_table.h b/freertos/cvitek/install/include/driver/sensor/gain_table.h new file mode 100644 index 000000000..2b8384767 --- /dev/null +++ b/freertos/cvitek/install/include/driver/sensor/gain_table.h @@ -0,0 +1,6 @@ +#ifndef __SENSOR_GAIN_TABLE_H__ +#define __SENSOR_GAIN_TABLE_H__ + +extern const uint32_t imx327_gain_table[]; + +#endif // __SENSOR_GAIN_TABLE_H__ diff --git a/freertos/cvitek/install/include/driver/sensor/sensor.h b/freertos/cvitek/install/include/driver/sensor/sensor.h new file mode 100644 index 000000000..241ef5fef --- /dev/null +++ b/freertos/cvitek/install/include/driver/sensor/sensor.h @@ -0,0 +1,180 @@ +#ifndef __CV_IMAGE_SENSOR_H__ +#define __CV_IMAGE_SENSOR_H__ + +#include +#include "cvi_comm_video.h" +#include "cvi_common.h" +#include "cvi_comm_vi.h" +#include "cvi_comm_isp.h" +#include "cvi_sns_ctrl.h" +#include "cif_uapi.h" +#include "gpio.h" +#include "sample_comm.h" + +#define TPU_SRAM_BASE_ADDR (0x0C020000) +#define TPU_SRAM_BASE_SIZE (0x00010000) +#define RTC_SRAM_BASE_ADDR (0x05200000) +#define RTC_SRAM_BASE_SIZE (24 << 10) // 24KB + +//#define SENSOR_USE_I2C_DMA 0 +#define CHECK_SENSOR_ID 1 +#define SEN_CFG_ADDR (RTC_SRAM_BASE_SIZE - 1024) +#define SEN_CFG_INI_ADDR (RTC_SRAM_BASE_SIZE - 1024) + +#define SYSDMA_LLP_ADDR (RTC_SRAM_BASE_SIZE - 1024) +#define SEN_ITB_START_ADDR (RTC_SRAM_BASE_SIZE - 1024) + +#define SEN_MAX_LANE_NUM (MIPI_LANE_NUM + 1) // 1C4D + +#define DIV_0_TO_1(a) ((0 == (a)) ? 1 : (a)) +#define DIV_0_TO_1_FLOAT(a) ((((a) < 1E-10) && ((a) > -1E-10)) ? 1 : (a)) + +/* Sensor resolutions */ +#define SENSOR_RES_IS_2160P(w, h) ((w) <= 3840 && (h) <= 2160) +#define SENSOR_RES_IS_1440P(w, h) ((w) <= 2560 && (h) <= 1440) +#define SENSOR_RES_IS_1080P(w, h) ((w) <= 1920 && (h) <= 1080) +#define SENSOR_RES_IS_720P(w, h) ((w) <= 1280 && (h) <= 720) + +#define delay_ms(a) mdelay(a) + +enum HDR_EXPOSURE_FRAME_ID { + SHORT_EXP_ID, + LONG_EXP_ID, +}; + +enum IMAGE_FORMAT_E { + BAYER_RAW12 = 0, + BAYER_RAW10, + BAYER_RAW8, + BAYER_FORMAT_NUM, + YUV422_8B = BAYER_FORMAT_NUM, + YUV422_10B, +}; + +/* + * To indicate the 1st two pixel in the bayer_raw. + */ +enum DPHY_LANE_NUM { + DPHY_1_DLANE = 0, + DPHY_2_DLANE = 1, + DPHY_4_DLANE = 3, + DPHY_8_DLANE = 7 +}; + +enum HDR_MODE_E { + HDR_MODE_VC, // CSI + HDR_MODE_ID, // CSI + HDR_MODE_DT, // CSI + HDR_MODE_DOL, // CSI + HDR_MODE_PAT1, // SLVDS + HDR_MODE_PAT2, // SLVDS + HDR_MODE_LINEAR = 0xF +}; + +enum ISP_BAYER_TYPE { + ISP_BAYER_TYPE_BG = 0, + ISP_BAYER_TYPE_GB, + ISP_BAYER_TYPE_GR, + ISP_BAYER_TYPE_RG, +// ISP_BAYER_TYPE_MAX, +}; + +typedef struct _ISP_HDR_SIZE_S { + RECT_S stWndRect; + SIZE_S stSnsSize; + // SIZE_S stMaxSize; +} ISP_HDR_SIZE_S; + +typedef struct _SIMPLE_AE_CTRL_S { + uint32_t seLuma; + uint32_t seExp; + uint32_t seGain; + uint32_t leLuma; + uint32_t leExp; + uint32_t leGain; + uint16_t rWb_Gain; + uint16_t bWb_Gain; +} SIMPLE_AE_CTRL_S; + +/* define of Linux +typedef struct _SAMPLE_SENSOR_INFO_S { + SAMPLE_SNS_TYPE_E enSnsType; + CVI_S32 s32SnsId; + CVI_S32 s32BusId; + CVI_S32 s32SnsI2cAddr; + combo_dev_t MipiDev; + CVI_S16 as16LaneId[5]; + CVI_S8 as8PNSwap[5]; + CVI_U8 u8HwSync; + SAMPLE_SENSOR_MCLK_ATTR_S stMclkAttr; + CVI_U8 u8Orien; // 0: normal, 1: mirror, 2: flip, 3: mirror and flip. +} SAMPLE_SENSOR_INFO_S; +*/ +typedef struct _SENSOR_CFG_INI_HEADER { + uint32_t magic_num; // date for check + uint16_t dev_num; // totla sensor number + uint16_t cfg_ofs; // sizeof SENSOR_USR_CFG +} __attribute__((packed)) __attribute__((aligned(0x8))) SENSOR_CFG_INI_HEADER; + +typedef struct _SENSOR_USR_CFG_INI { + char name[64]; // sensor name + + uint8_t devno; // support 0:sensor0, 1:sensor1, 2: sensor2 + uint8_t mclk_en; // enable of mclk (0: driver default, 1: mclk0 enable, 2:maclk1 enable) + uint8_t mclk; // mclk clock + // i2c info + int8_t slave_id; // slave id (slave addr[7:1]) 0: use default + int8_t bus_id; // i2c bus id + // lane info + uint8_t mipi_dev; // MIPI phy number, + uint8_t hs_settle; // 0: use default + int8_t lane_id[SEN_MAX_LANE_NUM]; // {clk, d0 ,d1, d2, d3} + int8_t pn_swap[SEN_MAX_LANE_NUM]; // {clk, d0 ,d1, d2, d3} + uint8_t u8HwSync; + uint8_t u8Orien; // 0: normal, 1: mirror, 2: flip, 3: mirror and flip. + // reset-pin info + uint32_t snsr_reset; // sensor reset pin + uint8_t reset_act; // sensor reset low/high act fill by sensor driver + uint32_t reset_delay; // delay us after reset +} __attribute__((packed)) __attribute__((aligned(0x8))) SENSOR_USR_CFG; + +typedef struct _SENSOR_INFO { + SENSOR_CFG_INI_HEADER *header; + SENSOR_USR_CFG *cfg; // load from flash + ISP_SNS_OBJ_S *pstSnsObj; + + enum input_mode_e vi_mode; // fill by sensor name + enum IMAGE_FORMAT_E format; // fill by sensor driver + enum ISP_BAYER_TYPE bayer_type; // fill by sensor driver + enum HDR_MODE_E hdr_mode; // fill by sensor name + VI_WORK_MODE_E chn; // fill by sensor name + enum DPHY_LANE_NUM lane_num; // fill by sensor name + + uint32_t width; // output width fill by sensor name + uint32_t height; // output height fill by sensor name + + uint8_t init_ok; // sensor init success +} SENSOR_INFO; + +/* + * Support Sensor Objects + */ +// extern ISP_SNS_OBJ_S stSnsImx327_Obj; + +extern const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT]; + +/* + * Sensor I2C API + */ +int sensor_i2c_init(VI_PIPE ViPipe, uint8_t u8I2cDev, uint16_t speed, + uint8_t slave_addr, uint8_t alen, uint8_t dlen); +int sensor_i2c_exit(VI_PIPE ViPipe); +int sensor_read_register(VI_PIPE ViPipe, int addr); +int sensor_write_register(VI_PIPE ViPipe, int addr, int data); + +/* + * Sensor API + */ +extern int32_t cmos_set_sns_regs_info(VI_PIPE ViPipe, ISP_SNS_SYNC_INFO_S *pstSnsSyncInfo); + +#endif //__CV_IMAGE_SENSOR_H__ diff --git a/freertos/cvitek/install/include/driver/spinlock/cvi_spinlock.h b/freertos/cvitek/install/include/driver/spinlock/cvi_spinlock.h new file mode 100644 index 000000000..3e671cf0b --- /dev/null +++ b/freertos/cvitek/install/include/driver/spinlock/cvi_spinlock.h @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __DRV_SPINLOCK_H__ +#define __DRV_SPINLOCK_H__ + +enum SPINLOCK_FIELD { + SPIN_UART, + SPIN_LINUX_RTOS = 4, // this spinlock field is used for linux & rtos + SPIN_MBOX = SPIN_LINUX_RTOS, + SPIN_MAX = 7, +}; + +typedef struct hw_raw_spinlock { + unsigned short locks; + unsigned short hw_field; +} hw_raw_spinlock_t; + +#define MAILBOX_LOCK_SUCCESS 1 +#define MAILBOX_LOCK_FAILED (-1) + +#define __CVI_ARCH_SPIN_LOCK_UNLOCKED { 0 } + +#define __CVI_RAW_SPIN_LOCK_INITIALIZER(spinlock_hw_field) \ + { \ + .locks = __CVI_ARCH_SPIN_LOCK_UNLOCKED, \ + .hw_field = spinlock_hw_field, \ + } + +#define DEFINE_CVI_SPINLOCK(x, y) hw_raw_spinlock_t x = __CVI_RAW_SPIN_LOCK_INITIALIZER(y) + +int _hw_raw_spin_lock_irqsave(hw_raw_spinlock_t *lock); +void _hw_raw_spin_unlock_irqrestore(hw_raw_spinlock_t *lock, int flag); + +#define drv_spin_lock_irqsave(lock, flags) \ + { flags = _hw_raw_spin_lock_irqsave(lock); } + +#define drv_spin_unlock_irqrestore(lock, flags) \ + _hw_raw_spin_unlock_irqrestore(lock, flags) + +void spinlock_base(unsigned long mb_base); +void cvi_spinlock_init(void); + +#endif // end of __DRV_SPINLOCK_H__ + diff --git a/freertos/cvitek/install/include/driver/uart/dump_uart.h b/freertos/cvitek/install/include/driver/uart/dump_uart.h new file mode 100644 index 000000000..ac31c5021 --- /dev/null +++ b/freertos/cvitek/install/include/driver/uart/dump_uart.h @@ -0,0 +1,23 @@ +#ifndef __DUMP_UART_H__ +#define __DUMP_UART_H__ + +#define DUMP_PRINT_DEFAULT_SIZE 0x1000 + +/* this structure should be modified both freertos & osdrv side */ +struct dump_uart_s { + uint64_t dump_uart_ptr; + unsigned int dump_uart_max_size; + unsigned int dump_uart_pos; + unsigned char dump_uart_enable; + unsigned char dump_uart_overflow; +} __attribute__((packed)); + +#ifndef __linux__ +/* used for freertos */ +struct dump_uart_s *dump_uart_init(void); +struct dump_uart_s *dump_uart_msg(void); +void dump_uart_enable(void); +void dump_uart_disable(void); +#endif +#endif // end of __DUMP_UART_H__ + diff --git a/freertos/cvitek/install/include/driver/uart/uart.h b/freertos/cvitek/install/include/driver/uart/uart.h new file mode 100644 index 000000000..e309dd7d9 --- /dev/null +++ b/freertos/cvitek/install/include/driver/uart/uart.h @@ -0,0 +1,14 @@ +#ifndef _UART_H_ +#define _UART_H_ +#ifdef __riscv +#include +#else +#include "linux/types.h" +#endif +void uart_init(void); +int uart_getc(void); +int uart_tstc(void); +uint8_t uart_putc(uint8_t ch); +void uart_puts(char *str); +int uart_put_buff(char *buf); +#endif diff --git a/freertos/cvitek/install/include/driver/vi/cvi_vi.h b/freertos/cvitek/install/include/driver/vi/cvi_vi.h new file mode 100644 index 000000000..729c48c4f --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/cvi_vi.h @@ -0,0 +1,29 @@ +#ifndef __CVI_VI_H__ +#define __CVI_VI_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Standard includes. */ +#include + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +#include + +CVI_S32 CVI_VI_SetDevAttr(VI_DEV ViDev, const VI_DEV_ATTR_S *pstDevAttr); +CVI_S32 CVI_VI_Start(CVI_U32 addr, CVI_U32 size); +CVI_S32 CVI_VI_Stop(CVI_VOID); +CVI_VOID CVI_VI_UT_MAIN(CVI_U32 addr, CVI_U32 size); +QueueHandle_t CVI_VI_GetQueHandle(CVI_VOID); +CVI_VOID CVI_VI_QBUF(CVI_VOID); + +#ifdef __cplusplus +} +#endif + +#endif /* __CVI_VI_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/cvi_vi_ctx.h b/freertos/cvitek/install/include/driver/vi/cvi_vi_ctx.h new file mode 100644 index 000000000..747f98e9a --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/cvi_vi_ctx.h @@ -0,0 +1,36 @@ +#ifndef __CVI_VI_CTX_H__ +#define __CVI_VI_CTX_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +struct cvi_vi_ctx { + CVI_U8 total_chn_num; + CVI_U8 total_dev_num; + CVI_BOOL is_enable[VI_MAX_CHN_NUM]; + CVI_BOOL isDevEnable[VI_MAX_DEV_NUM]; + CVI_BOOL isTile; + + // dev + VI_DEV_ATTR_S devAttr[VI_MAX_DEV_NUM]; + + // chn + VI_CHN_STATUS_S chnStatus[VI_MAX_CHN_NUM]; + + CVI_U32 blk_size[VI_MAX_CHN_NUM]; + CVI_U32 timeout_cnt; + CVI_U8 bypass_frm[VI_MAX_CHN_NUM]; + + CVI_U32 vi_mem_base; + CVI_U32 vi_mem_size; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __CVI_VI_CTX_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/isp_reg.h b/freertos/cvitek/install/include/driver/vi/isp_reg.h new file mode 100644 index 000000000..bd912d232 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/isp_reg.h @@ -0,0 +1,304 @@ +#ifndef _ISP_REG_H_ +#define _ISP_REG_H_ + +#include "vi_reg_fields.h" +#include "vi_reg_blocks.h" + +#define FPGA_TEST + +/* ISP BLOCK ADDR OFFSET DEFINE */ +#define ISP_BLK_BA_PRE_RAW_FE0 (0x00000000) +#define ISP_BLK_BA_CSIBDG0 (0x00000800) +#define ISP_BLK_BA_DMA_CTL6 (0x00000B00) +#define ISP_BLK_BA_DMA_CTL7 (0x00000C00) +#define ISP_BLK_BA_DMA_CTL8 (0x00000D00) +#define ISP_BLK_BA_DMA_CTL9 (0x00000E00) +#define ISP_BLK_BA_BLC0 (0x00001000) +#define ISP_BLK_BA_BLC1 (0x00001800) +#define ISP_BLK_BA_RGBMAP0 (0x00002000) +#define ISP_BLK_BA_WBG2 (0x00002100) +#define ISP_BLK_BA_DMA_CTL10 (0x00002200) +#define ISP_BLK_BA_RGBMAP1 (0x00002300) +#define ISP_BLK_BA_WBG3 (0x00002400) +#define ISP_BLK_BA_DMA_CTL11 (0x00002500) + +#define ISP_BLK_BA_PRE_RAW_FE1 (0x00008000) +#define ISP_BLK_BA_CSIBDG1 (0x00008800) +#define ISP_BLK_BA_DMA_CTL12 (0x00008B00) +#define ISP_BLK_BA_DMA_CTL13 (0x00008C00) +#define ISP_BLK_BA_DMA_CTL14 (0x00008D00) +#define ISP_BLK_BA_DMA_CTL15 (0x00008E00) +#define ISP_BLK_BA_BLC2 (0x00009000) +#define ISP_BLK_BA_BLC3 (0x00009800) +#define ISP_BLK_BA_RGBMAP2 (0x0000A000) +#define ISP_BLK_BA_WBG4 (0x0000A100) +#define ISP_BLK_BA_DMA_CTL16 (0x0000A200) +#define ISP_BLK_BA_RGBMAP3 (0x0000A300) +#define ISP_BLK_BA_WBG5 (0x0000A400) +#define ISP_BLK_BA_DMA_CTL17 (0x0000A500) + +#define ISP_BLK_BA_PRE_RAW_FE2 (0x00010000) +#define ISP_BLK_BA_CSIBDG2 (0x00010800) +#define ISP_BLK_BA_DMA_CTL18 (0x00010B00) +#define ISP_BLK_BA_DMA_CTL19 (0x00010C00) +#define ISP_BLK_BA_BLC4 (0x00011000) +#define ISP_BLK_BA_RGBMAP4 (0x00012000) +#define ISP_BLK_BA_WBG6 (0x00012100) +#define ISP_BLK_BA_DMA_CTL20 (0x00012200) + +#define ISP_BLK_BA_PRE_RAW_BE (0x00018000) +#define ISP_BLK_BA_CROP0 (0x00018800) +#define ISP_BLK_BA_CROP1 (0x00019000) +#define ISP_BLK_BA_BLC5 (0x00019800) +#define ISP_BLK_BA_BLC6 (0x0001A000) +#define ISP_BLK_BA_AF (0x0001A800) +#define ISP_BLK_BA_DMA_CTL21 (0x0001AA00) +#define ISP_BLK_BA_DPC0 (0x0001B000) +#define ISP_BLK_BA_DPC1 (0x0001B100) +#define ISP_BLK_BA_DMA_CTL22 (0x0001B800) +#define ISP_BLK_BA_DMA_CTL23 (0x0001B880) +#define ISP_BLK_BA_PRE_WDMA (0x0001B900) +#define ISP_BLK_BA_PCHK0 (0x0001C000) +#define ISP_BLK_BA_PCHK1 (0x0001C800) + +#define ISP_BLK_BA_RAWTOP (0x00030000) +#define ISP_BLK_BA_CFA (0x00031000) +#define ISP_BLK_BA_LSC (0x00032000) +#define ISP_BLK_BA_DMA_CTL24 (0x00032100) +#define ISP_BLK_BA_GMS (0x00033000) +#define ISP_BLK_BA_DMA_CTL25 (0x00033100) +#define ISP_BLK_BA_AEHIST0 (0x00034000) +#define ISP_BLK_BA_DMA_CTL26 (0x00034400) +#define ISP_BLK_BA_AEHIST1 (0x00035000) +#define ISP_BLK_BA_DMA_CTL27 (0x00035400) +#define ISP_BLK_BA_DMA_CTL28 (0x00036000) +#define ISP_BLK_BA_DMA_CTL29 (0x00036080) +#define ISP_BLK_BA_RAW_RDMA (0x00036100) +#define ISP_BLK_BA_BNR (0x0003C000) +#define ISP_BLK_BA_CROP2 (0x0003D000) +#define ISP_BLK_BA_CROP3 (0x0003E000) +#define ISP_BLK_BA_LMAP0 (0x0003F000) +#define ISP_BLK_BA_DMA_CTL30 (0x0003F100) +#define ISP_BLK_BA_LMAP1 (0x0003F200) +#define ISP_BLK_BA_DMA_CTL31 (0x0003F300) +#define ISP_BLK_BA_WBG0 (0x00040000) +#define ISP_BLK_BA_WBG1 (0x00041000) +#define ISP_BLK_BA_PCHK2 (0x00042000) +#define ISP_BLK_BA_PCHK3 (0x00043000) +#define ISP_BLK_BA_LCAC (0x00044000) +#define ISP_BLK_BA_RGBCAC (0x00045000) + +#define ISP_BLK_BA_RGBTOP (0x00050000) +#define ISP_BLK_BA_CCM0 (0x00052000) +#define ISP_BLK_BA_CCM1 (0x00052100) +#define ISP_BLK_BA_RGBGAMMA (0x00052200) +#define ISP_BLK_BA_YGAMMA (0x00052300) +#define ISP_BLK_BA_MMAP (0x00053000) +#define ISP_BLK_BA_DMA_CTL32 (0x00053200) +#define ISP_BLK_BA_DMA_CTL33 (0x00053300) +#define ISP_BLK_BA_DMA_CTL34 (0x00053400) +#define ISP_BLK_BA_DMA_CTL35 (0x00053500) +#define ISP_BLK_BA_DMA_CTL36 (0x00053600) +#define ISP_BLK_BA_DMA_CTL37 (0x00053700) +#define ISP_BLK_BA_CLUT (0x00054000) +#define ISP_BLK_BA_DHZ (0x00055000) +#define ISP_BLK_BA_CSC (0x00056000) +#define ISP_BLK_BA_RGBDITHER (0x00057000) +#define ISP_BLK_BA_PCHK4 (0x00059000) +#define ISP_BLK_BA_PCHK5 (0x0005A000) +#define ISP_BLK_BA_HIST_V (0x0005C000) +#define ISP_BLK_BA_DMA_CTL38 (0x0005C100) +#define ISP_BLK_BA_HDRFUSION (0x0005D000) +#define ISP_BLK_BA_HDRLTM (0x0005E000) +#define ISP_BLK_BA_DMA_CTL39 (0x0005E100) +#define ISP_BLK_BA_DMA_CTL40 (0x0005E200) + +#define ISP_BLK_BA_YUVTOP (0x00060000) +#define ISP_BLK_BA_TNR (0x00061000) +#define ISP_BLK_BA_DMA_CTL41 (0x00061800) +#define ISP_BLK_BA_DMA_CTL42 (0x00061900) +#define ISP_BLK_BA_FBCE (0x00061A00) +#define ISP_BLK_BA_DMA_CTL43 (0x00061B00) +#define ISP_BLK_BA_DMA_CTL44 (0x00061C00) +#define ISP_BLK_BA_FBCD (0x00061D00) +#define ISP_BLK_BA_YUVDITHER (0x00061E00) +#define ISP_BLK_BA_CA (0x00062000) +#define ISP_BLK_BA_CA_LITE (0x00063000) +#define ISP_BLK_BA_YNR (0x00064000) +#define ISP_BLK_BA_CNR (0x00065000) +#define ISP_BLK_BA_EE (0x00066000) +#define ISP_BLK_BA_YCURVE (0x00067000) +#define ISP_BLK_BA_DCI (0x00068000) +#define ISP_BLK_BA_DMA_CTL45 (0x00068100) +#define ISP_BLK_BA_DCI_GAMMA (0x00068200) +#define ISP_BLK_BA_CROP4 (0x00069000) +#define ISP_BLK_BA_DMA_CTL46 (0x00069100) +#define ISP_BLK_BA_CROP5 (0x0006A000) +#define ISP_BLK_BA_DMA_CTL47 (0x0006A100) +#define ISP_BLK_BA_LDCI (0x0006B000) +#define ISP_BLK_BA_DMA_CTL48 (0x0006B300) +#define ISP_BLK_BA_DMA_CTL49 (0x0006B400) +#define ISP_BLK_BA_PRE_EE (0x0006C000) +#define ISP_BLK_BA_PCHK6 (0x0006D000) +#define ISP_BLK_BA_PCHK7 (0x0006E000) + +#define ISP_BLK_BA_ISPTOP (0x00070000) +#define ISP_BLK_BA_WDMA_CORE0 (0x00072000) +#define ISP_BLK_BA_RDMA_CORE (0x00074000) +#define ISP_BLK_BA_CSIBDG_LITE (0x00076000) +#define ISP_BLK_BA_DMA_CTL0 (0x00076200) +#define ISP_BLK_BA_DMA_CTL1 (0x00076300) +#define ISP_BLK_BA_DMA_CTL2 (0x00076400) +#define ISP_BLK_BA_DMA_CTL3 (0x00076500) +#define ISP_BLK_BA_WDMA_CORE1 (0x00078000) +#define ISP_BLK_BA_PRE_RAW_VI_SEL (0x0007F400) +#define ISP_BLK_BA_DMA_CTL4 (0x0007F500) +#define ISP_BLK_BA_DMA_CTL5 (0x0007F600) +#define ISP_BLK_BA_CMDQ (0x0007FC00) + +enum ISP_BLK_ID_T { + ISP_BLK_ID_PRE_RAW_FE0, + ISP_BLK_ID_CSIBDG0, + ISP_BLK_ID_DMA_CTL6, + ISP_BLK_ID_DMA_CTL7, + ISP_BLK_ID_DMA_CTL8, + ISP_BLK_ID_DMA_CTL9, + ISP_BLK_ID_BLC0, + ISP_BLK_ID_BLC1, + ISP_BLK_ID_RGBMAP0, + ISP_BLK_ID_WBG2, + ISP_BLK_ID_DMA_CTL10, //10 + ISP_BLK_ID_RGBMAP1, + ISP_BLK_ID_WBG3, + ISP_BLK_ID_DMA_CTL11, //13 + ISP_BLK_ID_PRE_RAW_FE1, + ISP_BLK_ID_CSIBDG1, + ISP_BLK_ID_DMA_CTL12, + ISP_BLK_ID_DMA_CTL13, + ISP_BLK_ID_DMA_CTL14, + ISP_BLK_ID_DMA_CTL15, + ISP_BLK_ID_BLC2, + ISP_BLK_ID_BLC3, + ISP_BLK_ID_RGBMAP2, + ISP_BLK_ID_WBG4, + ISP_BLK_ID_DMA_CTL16, + ISP_BLK_ID_RGBMAP3, + ISP_BLK_ID_WBG5, + ISP_BLK_ID_DMA_CTL17, + ISP_BLK_ID_PRE_RAW_FE2, + ISP_BLK_ID_CSIBDG2, + ISP_BLK_ID_DMA_CTL18, + ISP_BLK_ID_DMA_CTL19, + ISP_BLK_ID_BLC4, + ISP_BLK_ID_RGBMAP4, + ISP_BLK_ID_WBG6, + ISP_BLK_ID_DMA_CTL20, + ISP_BLK_ID_PRE_RAW_BE, + ISP_BLK_ID_CROP0, + ISP_BLK_ID_CROP1, + ISP_BLK_ID_BLC5, + ISP_BLK_ID_BLC6, + ISP_BLK_ID_AF, + ISP_BLK_ID_DMA_CTL21, + ISP_BLK_ID_DPC0, + ISP_BLK_ID_DPC1, + ISP_BLK_ID_DMA_CTL22, //45 + ISP_BLK_ID_DMA_CTL23, //46 + ISP_BLK_ID_PRE_WDMA, + ISP_BLK_ID_PCHK0, + ISP_BLK_ID_PCHK1, + ISP_BLK_ID_RAWTOP, + ISP_BLK_ID_CFA, + ISP_BLK_ID_LSC, + ISP_BLK_ID_DMA_CTL24, //53 + ISP_BLK_ID_GMS, + ISP_BLK_ID_DMA_CTL25, //55 + ISP_BLK_ID_AEHIST0, + ISP_BLK_ID_DMA_CTL26, //57 + ISP_BLK_ID_AEHIST1, + ISP_BLK_ID_DMA_CTL27, //59 + ISP_BLK_ID_DMA_CTL28, + ISP_BLK_ID_DMA_CTL29, + ISP_BLK_ID_RAW_RDMA, + ISP_BLK_ID_BNR, + ISP_BLK_ID_CROP2, + ISP_BLK_ID_CROP3, + ISP_BLK_ID_LMAP0, + ISP_BLK_ID_DMA_CTL30, //67 + ISP_BLK_ID_LMAP1, + ISP_BLK_ID_DMA_CTL31, + ISP_BLK_ID_WBG0, + ISP_BLK_ID_WBG1, + ISP_BLK_ID_PCHK2, + ISP_BLK_ID_PCHK3, + ISP_BLK_ID_LCAC, + ISP_BLK_ID_RGBCAC, + ISP_BLK_ID_RGBTOP, + ISP_BLK_ID_CCM0, + ISP_BLK_ID_CCM1, + ISP_BLK_ID_RGBGAMMA, + ISP_BLK_ID_YGAMMA, + ISP_BLK_ID_MMAP, + ISP_BLK_ID_DMA_CTL32, + ISP_BLK_ID_DMA_CTL33, + ISP_BLK_ID_DMA_CTL34, + ISP_BLK_ID_DMA_CTL35, + ISP_BLK_ID_DMA_CTL36, //86 + ISP_BLK_ID_DMA_CTL37, + ISP_BLK_ID_CLUT, + ISP_BLK_ID_DHZ, + ISP_BLK_ID_CSC, + ISP_BLK_ID_RGBDITHER, + ISP_BLK_ID_PCHK4, + ISP_BLK_ID_PCHK5, + ISP_BLK_ID_HIST_V, + ISP_BLK_ID_DMA_CTL38, //95 + ISP_BLK_ID_HDRFUSION, + ISP_BLK_ID_HDRLTM, + ISP_BLK_ID_DMA_CTL39, + ISP_BLK_ID_DMA_CTL40, + ISP_BLK_ID_YUVTOP, + ISP_BLK_ID_TNR, + ISP_BLK_ID_DMA_CTL41, //102 + ISP_BLK_ID_DMA_CTL42, + ISP_BLK_ID_FBCE, + ISP_BLK_ID_DMA_CTL43, //105 + ISP_BLK_ID_DMA_CTL44, + ISP_BLK_ID_FBCD, + ISP_BLK_ID_YUVDITHER, + ISP_BLK_ID_CA, + ISP_BLK_ID_CA_LITE, + ISP_BLK_ID_YNR, + ISP_BLK_ID_CNR, + ISP_BLK_ID_EE, + ISP_BLK_ID_YCURVE, + ISP_BLK_ID_DCI, + ISP_BLK_ID_DMA_CTL45, //116 + ISP_BLK_ID_DCI_GAMMA, + ISP_BLK_ID_CROP4, + ISP_BLK_ID_DMA_CTL46, + ISP_BLK_ID_CROP5, + ISP_BLK_ID_DMA_CTL47, + ISP_BLK_ID_LDCI, + ISP_BLK_ID_DMA_CTL48, + ISP_BLK_ID_DMA_CTL49, + ISP_BLK_ID_PRE_EE, + ISP_BLK_ID_PCHK6, + ISP_BLK_ID_PCHK7, + ISP_BLK_ID_ISPTOP, + ISP_BLK_ID_WDMA_CORE0, + ISP_BLK_ID_RDMA_CORE, + ISP_BLK_ID_CSIBDG_LITE, + ISP_BLK_ID_DMA_CTL0, + ISP_BLK_ID_DMA_CTL1, + ISP_BLK_ID_DMA_CTL2, + ISP_BLK_ID_DMA_CTL3, + ISP_BLK_ID_WDMA_CORE1, + ISP_BLK_ID_PRE_RAW_VI_SEL, + ISP_BLK_ID_DMA_CTL4, + ISP_BLK_ID_DMA_CTL5, + ISP_BLK_ID_CMDQ, + ISP_BLK_ID_MAX +}; + +#endif //_ISP_REG_H_ diff --git a/freertos/cvitek/install/include/driver/vi/vi.h b/freertos/cvitek/install/include/driver/vi/vi.h new file mode 100644 index 000000000..b4628efa0 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi.h @@ -0,0 +1,134 @@ +#ifndef __VI_H__ +#define __VI_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include +#include + + +#define OFFLINE_RAW_BUF_NUM 2 +#define OFFLINE_PRE_BE_BUF_NUM 2 +#define OFFLINE_YUV_BUF_NUM 2 +#define MAX_RGBMAP_BUF_NUM 3 + +enum cvi_isp_postraw_state { + ISP_POSTRAW_IDLE, + ISP_POSTRAW_RUNNING, +}; + +enum cvi_isp_pre_be_state { + ISP_PRE_BE_IDLE, + ISP_PRE_BE_RUNNING, +}; + +enum cvi_isp_preraw_state { + ISP_PRERAW_IDLE, + ISP_PRERAW_RUNNING, +}; + +struct vi_plane { + __u64 addr; +}; + +/* + * @index: + * @length: length of planes + * @planes: to describe buf + * @reserved + */ +struct vi_buffer { + __u32 index; + __u32 length; + struct vi_plane planes[3]; + __u32 reserved; +}; + +/* struct mempool + * @base: the address of the mempool + * @size: the size of the mempool + * @byteused: the number of bytes used + */ +struct _mempool { + uint64_t base; + uint32_t size; + uint32_t byteused; +} isp_mempool; + +struct _membuf { + uint64_t bayer_le[OFFLINE_RAW_BUF_NUM]; + uint64_t bayer_se[OFFLINE_RAW_BUF_NUM]; + uint64_t prebe_le[OFFLINE_PRE_BE_BUF_NUM]; + uint64_t prebe_se[OFFLINE_PRE_BE_BUF_NUM]; + uint64_t yuv_yuyv[ISP_CHN_MAX][2];//yuv sensor is yuyv format + uint64_t manr; + uint64_t rgbmap_le[MAX_RGBMAP_BUF_NUM]; + uint64_t rgbmap_se[MAX_RGBMAP_BUF_NUM]; + uint64_t lmap_le; + uint64_t lmap_se; + uint64_t lsc; + uint64_t tdnr[4];//0 for UV, 1 for Y, 2 for uv fbc double buffer, 3 for y fbc double buffer + uint64_t ldci; + //struct cvi_vip_isp_fswdr_report *fswdr_rpt; + + struct cvi_isp_sts_mem sts_mem[2]; + uint8_t pre_fe_sts_busy_idx; + uint8_t pre_be_sts_busy_idx; + uint8_t post_sts_busy_idx; + + //spinlock_t pre_fe_sts_lock; + //uint8_t pre_fe_sts_in_use; + //spinlock_t pre_be_sts_lock; + //uint8_t pre_be_sts_in_use; + //spinlock_t post_sts_lock; + //uint8_t post_sts_in_use; +} isp_bufpool[ISP_PRERAW_MAX] = {0}; + +static u8 RGBMAP_BUF_IDX = 2; + +/* viproc control for sensor numbers */ +static int viproc_en[2] = {1, 0}; + +/* control internal patgen + * + * 1: enable + * 0: disable + */ +static int csi_patgen_en[ISP_PRERAW_MAX] = {0, 0}; + +/* runtime tuning control + * ctrl: + * 0: all ch stop update. + * 1: stop after apply ch1 setting + * 2: stop after apply ch2 setting + */ +int tuning_dis[4] = {0, 0, 0, 0}; //ctrl, fe, be, post + +/* Runtime to enable/disable isp_top_clk + * Ctrl: + * 0: Disable isp_top_clk dynamic contorl + * 1: Enable isp_top_clk dynamic control + */ +int clk_dynamic_en; + +//void _pre_hw_enque( +// struct cvi_vi_dev *vdev, +// const enum cvi_isp_raw raw_num, +// const u8 chn_num); +//static void _vi_sw_init(struct cvi_vi_dev *vdev); +//static int _vi_clk_ctrl(struct cvi_vi_dev *vdev, u8 enable); +//void _postraw_outbuf_enq(struct cvi_vi_dev *vdev, const enum cvi_isp_raw raw_num); + +static void _vi_deferred_thread(void *arg); +void _vi_send_isp_cmdq(enum cvi_isp_raw raw_num, enum ISP_CMDQ_E cmdq_id, void *ptr); + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_common.h b/freertos/cvitek/install/include/driver/vi/vi_common.h new file mode 100644 index 000000000..6d920ffc8 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_common.h @@ -0,0 +1,117 @@ +#ifndef __VI_COMMON_H__ +#define __VI_COMMON_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +//#include +//#include +//#include +#include +#include +#include +#include +#include "FreeRTOS.h" +#include + +#ifndef NULL +#define NULL 0 +#endif + +#define NONE 0 /* No errors */ +#define ENOENT 2 /* No such file or directory */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define EBADF 9 /* Bad file number */ +#define EAGAIN 11 /* No more processes */ +#define EWOULDBLOCK 11 /* Operation would block */ +#define ENOMEM 12 /* Not enough memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define EBUSY 16 /* Mount device busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read only file system */ +#define EUNATCH 42 /* Protocol driver not attached */ +#define EBADE 50 /* Invalid exchange */ +#define EFTYPE 79 /* Inappropriate file type or format */ +#define ENMFILE 89 /* No more files */ +#define ENOTEMPTY 90 /* Directory not empty */ +#define ENAMETOOLONG 91 /* File or path name too long */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define ENOBUFS 105 /* No buffer space available */ +#define ENOPROTOOPT 109 /* Protocol not available */ +#define EADDRINUSE 112 /* Address already in use */ +#define ETIMEDOUT 116 /* Connection timed out */ +#define EINPROGRESS 119 /* Connection already in progress */ +#define EALREADY 120 /* Socket already connected */ +#define EADDRNOTAVAIL 125 /* Address not available */ +#define EISCONN 127 /* Socket is already connected */ +#define ENOTCONN 128 /* Socket is not connected */ +#define ENOMEDIUM 135 /* No medium inserted */ +#define EILSEQ 138 /* An invalid UTF-16 sequence was encountered. */ +#define ECANCELED 140 /* Operation canceled. */ + +// #define MIN(a, b) (((a) < (b))?(a):(b)) +// #define MAX(a, b) (((a) > (b))?(a):(b)) +#define VI_64_ALIGN(x) (((x) + 0x3F) & ~0x3F) // for 64byte alignment +#define VI_256_ALIGN(x) (((x) + 0xFF) & ~0xFF) // for 256byte alignment +#define VI_ALIGN(x) (((x) + 0xF) & ~0xF) // for 16byte alignment +#define VI_256_ALIGN(x) (((x) + 0xFF) & ~0xFF) // for 256byte alignment +#define ISP_ALIGN(x, y) (((x) + (y - 1)) & ~(y - 1)) // for any bytes alignment +#define UPPER(x, y) (((x) + ((1 << (y)) - 1)) >> (y)) // for alignment +#define CEIL(x, y) (((x) + ((1 << (y)))) >> (y)) // for alignment + +extern u32 vi_log_lv; + +#define vi_pr(level, fmt, arg...) \ +do { \ + if (vi_log_lv & level) { \ + if (level == VI_ERR) \ + printf("%s:%d(): " fmt, __func__, __LINE__, ## arg); \ + else if (level == VI_WARN) \ + printf("%s:%d(): " fmt, __func__, __LINE__, ## arg); \ + else if (level == VI_NOTICE) \ + printf("%s:%d(): " fmt, __func__, __LINE__, ## arg); \ + else if (level == VI_INFO) \ + printf("%s:%d(): " fmt, __func__, __LINE__, ## arg); \ + else if (level == VI_DBG) \ + printf("%s:%d(): " fmt, __func__, __LINE__, ## arg); \ + } \ +} while (0) + +enum vi_msg_pri { + VI_ERR = 0x1, + VI_WARN = 0x2, + VI_NOTICE = 0x4, + VI_INFO = 0x8, + VI_DBG = 0x10, +}; + +struct vi_rect { + u16 x; + u16 y; + u16 w; + u16 h; +}; + + +void _reg_write_mask(uintptr_t addr, u32 mask, u32 data); +int vip_sys_cif_cb(unsigned int cmd, void *arg); +int vip_sys_cmm_cb_i2c(unsigned int cmd, void *arg); +void vip_sys_reg_write_mask(uintptr_t addr, u32 mask, u32 data); +//extern bool __clk_is_enabled(struct clk *clk); + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_COMMON_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_core.h b/freertos/cvitek/install/include/driver/vi/vi_core.h new file mode 100644 index 000000000..d37ca2a9e --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_core.h @@ -0,0 +1,26 @@ +#ifndef __VI_CORE_H__ +#define __VI_CORE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + + +/******************************************************* + * Common interface for core + ******************************************************/ +void vi_irq_handler(struct cvi_vi_dev *vdev); +int vi_create_instance(struct cvi_vi_dev *vdev); +int vi_destroy_instance(void); +int vi_start_streaming(struct cvi_vi_dev *vdev); +int vi_stop_streaming(struct cvi_vi_dev *vdev); +int vi_enq_buf(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_CORE_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_defines.h b/freertos/cvitek/install/include/driver/vi/vi_defines.h new file mode 100644 index 000000000..366696b39 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_defines.h @@ -0,0 +1,43 @@ +#ifndef __VI_DEFINES_H__ +#define __VI_DEFINES_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define FPGA_TEST + +#define VI_REG_ADDR_BASE 0x0A000000 +#define VI_IRQ_NUM 20 + +/** + * struct cvi_vi - VI IP abstraction + */ +struct cvi_vi_dev { + void *reg_base; + int irq_num; + struct isp_ctx ctx; + struct cvi_isp_mbus_framefmt usr_fmt; + struct cvi_isp_rect usr_crop; + //struct cvi_isp_snr_info snr_info[ISP_PRERAW_MAX]; + u32 pre_fe_sof_cnt[ISP_PRERAW_MAX][ISP_FE_CHN_MAX]; + u32 pre_fe_frm_num[ISP_PRERAW_MAX][ISP_FE_CHN_MAX]; + u32 pre_be_frm_num[ISP_PRERAW_MAX][ISP_BE_CHN_MAX]; + bool preraw_first_frm[ISP_PRERAW_MAX]; + u32 postraw_frame_number[ISP_PRERAW_MAX]; + u32 drop_frame_number[ISP_PRERAW_MAX]; + u8 pre_fe_state[ISP_PRERAW_MAX][ISP_FE_CHN_MAX]; + u8 pre_be_state[ISP_BE_CHN_MAX]; + volatile u8 postraw_state; + u8 isp_streamoff; + u8 isp_streamon; +}; +#ifdef __cplusplus +} +#endif + +#endif /* __VI_DEFINES_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_drv.h b/freertos/cvitek/install/include/driver/vi/vi_drv.h new file mode 100644 index 000000000..c55ffb0c6 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_drv.h @@ -0,0 +1,659 @@ +#ifndef __VI_DRV_H__ +#define __VI_DRV_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include +#include +#include +#include +#include +#include + +#ifndef _OFST +#define _OFST(_BLK_T, _REG) ((uintptr_t)&(((struct _BLK_T *)0)->_REG)) +#endif + +// #define _reg_read(addr) mmio_read_32((uintptr_t)addr) +// #define _reg_write(addr, data) mmio_write_32((uintptr_t)addr, (uint32_t)data) + +#define ISP_RD_REG_BA(_BA) \ + (_reg_read(_BA)) + +#define ISP_RD_REG(_BA, _BLK_T, _REG) \ + (_reg_read(_BA+_OFST(_BLK_T, _REG))) + +#define ISP_RD_BITS(_BA, _BLK_T, _REG, _FLD) \ + ({\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD;\ + }) + +#define ISP_WR_REG(_BA, _BLK_T, _REG, _V) \ + (_reg_write((_BA+_OFST(_BLK_T, _REG)), _V)) + +#define ISP_WR_REG_OFT(_BA, _BLK_T, _REG, _OFT, _V) \ + (_reg_write((_BA+_OFST(_BLK_T, _REG) + _OFT), _V)) + +#define ISP_WR_BITS(_BA, _BLK_T, _REG, _FLD, _V) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD = _V;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define ISP_WO_BITS(_BA, _BLK_T, _REG, _FLD, _V) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = 0;\ + _r.bits._FLD = _V;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define ISP_WR_REGS_BURST(_BA, _BLK_T, _REG, _SIZE, _STR)\ + do {\ + u32 k = 0;\ + uintptr_t ofst = _OFST(_BLK_T, _REG);\ + for (; k < sizeof(_SIZE) / 0x4; k++) {\ + u32 val = (&_STR + k)->raw;\ + _reg_write((_BA + ofst + (k * 0x4)), val);\ + } \ + } while (0) + +#define ISP_WR_REG_LOOP_SHFT(_BA, _BLK_T, _REG, _TOTAL_SIZE, _SFT_SIZE, _LUT, _SFT_BIT) \ + do {\ + uint16_t i = 0, j = 0;\ + uint32_t val = 0;\ + for (; i < _TOTAL_SIZE / _SFT_SIZE; i++) {\ + val = 0;\ + for (j = 0; j < _SFT_SIZE; j++) {\ + val += (_LUT[(i * _SFT_SIZE) + j] << (_SFT_BIT * j));\ + } \ + _reg_write((_BA + _OFST(_BLK_T, _REG) + (i * 0x4)), val);\ + } \ + } while (0) + +#define REG_ARRAY_UPDATE2_SIZE(addr, array, size) \ + do { \ + uint16_t i; \ + for (i = 0; i < size; i += 2) { \ + val = array[i]; \ + if ((i + 1) < size) \ + val |= (array[i+1] << 16); \ + _reg_write(addr + (i << 1), val); \ + } \ + } while (0) + +#define REG_ARRAY_UPDATE2(addr, array) \ + REG_ARRAY_UPDATE2_SIZE(addr, array, ARRAY_SIZE(array)) + +#define REG_ARRAY_UPDATE4(addr, array) \ + do { \ + uint16_t i; \ + for (i = 0; i < ARRAY_SIZE(array); i += 4) { \ + val = array[i]; \ + if ((i + 1) < ARRAY_SIZE(array)) \ + val |= (array[i+1] << 8); \ + if ((i + 2) < ARRAY_SIZE(array)) \ + val |= (array[i+2] << 16); \ + if ((i + 3) < ARRAY_SIZE(array)) \ + val |= (array[i+3] << 24); \ + _reg_write(addr + i, val); \ + } \ + } while (0) + +#define LTM_REG_ARRAY_UPDATE11(addr, array) \ + do { \ + uint32_t val; \ + val = array[0] | (array[1] << 5) | (array[2] << 10) | \ + (array[3] << 15) | (array[4] << 20) | (array[5] << 25); \ + _reg_write(addr, val); \ + val = array[6] | (array[7] << 5) | (array[8] << 10) | \ + (array[9] << 15) | (array[10] << 20); \ + _reg_write(addr + 4, val); \ + } while (0) + +#define LTM_REG_ARRAY_UPDATE30(addr, array) \ + do { \ + uint8_t i, j; \ + uint32_t val; \ + for (i = 0, j = 0; i < ARRAY_SIZE(array); i += 6, j++) { \ + val = array[i] | (array[i + 1] << 5) | \ + (array[i + 2] << 10) | (array[i + 3] << 15) | \ + (array[i + 4] << 20) | (array[i + 5] << 25); \ + _reg_write(addr + j * 4, val); \ + } \ + } while (0) + +enum ISP_RGB_PROB_OUT { + ISP_RGB_PROB_OUT_CFA = 0, + ISP_RGB_PROB_OUT_RGBEE, + ISP_RGB_PROB_OUT_CCM, + ISP_RGB_PROB_OUT_GMA, + ISP_RGB_PROB_OUT_DHZ, + ISP_RGB_PROB_OUT_HSV, + ISP_RGB_PROB_OUT_RGBDITHER, + ISP_RGB_PROB_OUT_CSC, + ISP_RGB_PROB_OUT_MAX, +}; + +enum ISP_RAW_PATH { + ISP_RAW_PATH_LE = 0, + ISP_RAW_PATH_SE, + ISP_RAW_PATH_MAX, +}; + +/* + * To indicate the 1st two pixel in the bayer_raw. + */ +enum ISP_BAYER_TYPE { + ISP_BAYER_TYPE_BG = 0, + ISP_BAYER_TYPE_GB, + ISP_BAYER_TYPE_GR, + ISP_BAYER_TYPE_RG, + ISP_BAYER_TYPE_MAX, +}; + +enum ISP_BNR_OUT { + ISP_BNR_OUT_BYPASS = 0, + ISP_BNR_OUT_B_DELAY, + ISP_BNR_OUT_FACTOR, + ISP_BNR_OUT_B_NL, + ISP_BNR_OUT_RESV_0, + ISP_BNR_OUT_RESV_1, + ISP_BNR_OUT_RESV_2, + ISP_BNR_OUT_RESV_3, + ISP_BNR_OUT_B_OUT, + ISP_BNR_OUT_INTENSITY, + ISP_BNR_OUT_DELTA, + ISP_BNR_OUT_NOT_SM, + ISP_BNR_OUT_FLAG_V, + ISP_BNR_OUT_FLAG_H, + ISP_BNR_OUT_FLAG_D45, + ISP_BNR_OUT_FLAG_D135, + ISP_BNR_OUT_MAX, +}; + +enum ISP_YNR_OUT { + ISP_YNR_OUT_BYPASS = 0, + ISP_YNR_OUT_Y_DELAY, + ISP_YNR_OUT_FACTOR, + ISP_YNR_OUT_ALPHA, + ISP_YNR_OUT_Y_BF, + ISP_YNR_OUT_Y_NL, + ISP_YNR_OUT_RESV_0, + ISP_YNR_OUT_RESV_1, + ISP_YNR_OUT_Y_OUT, + ISP_YNR_OUT_INTENSITY, + ISP_YNR_OUT_DELTA, + ISP_YNR_OUT_NOT_SM, + ISP_YNR_OUT_FLAG_V, + ISP_YNR_OUT_FLAG_H, + ISP_YNR_OUT_FLAG_D45, + ISP_YNR_OUT_FLAG_D135, + ISP_YNR_OUT_MAX, +}; + +enum ISP_FS_OUT { + ISP_FS_OUT_FS = 0, + ISP_FS_OUT_LONG, + ISP_FS_OUT_SHORT, + ISP_FS_OUT_SHORT_EX, + ISP_FS_OUT_MOTION_PXL, + ISP_FS_OUT_LE_BLD_WHT, + ISP_FS_OUT_SE_BLD_WHT, + ISP_FS_OUT_MOTION_LUT, + ISP_FS_OUT_AC_FS, + ISP_FS_OUT_DELTA_LE, + ISP_FS_OUT_DELTA_SE, + ISP_FS_OUT_MAX, +}; + +enum isp_dump_grp { + ISP_DUMP_PRERAW = 0x1, + ISP_DUMP_POSTRAW = 0x2, + ISP_DUMP_ALL = 0x4, + ISP_DUMP_DMA = 0x8, + ISP_DUMP_ALL_DMA = 0x10, +}; + +enum ISP_CCM_ID { + ISP_CCM_ID_0 = 0, + ISP_CCM_ID_1, + ISP_CCM_ID_2, + ISP_CCM_ID_3, + ISP_CCM_ID_4, + ISP_CCM_ID_MAX, +}; + +enum ISP_LSCR_ID { + ISP_LSCR_ID_PRE0_FE_LE = 0, + ISP_LSCR_ID_PRE0_FE_SE, + ISP_LSCR_ID_PRE1_FE_LE, + ISP_LSCR_ID_PRE1_FE_SE, + ISP_LSCR_ID_PRE_BE_LE, + ISP_LSCR_ID_PRE_BE_SE, + ISP_LSCR_ID_MAX +}; + +enum ISP_PRE_PROC_ID { + ISP_IR_PRE_PROC_ID_LE, + ISP_IR_PRE_PROC_ID_SE, + ISP_IR_PRE_PROC_ID_MAX +}; + +struct lmap_cfg { + u8 pre_chg[2]; //le/se + u8 pre_w_bit; + u8 pre_h_bit; + u8 post_w_bit; + u8 post_h_bit; +}; + +struct isp_dump_info { + uint64_t phy_base; + uint64_t reg_base; + uint32_t blk_size; +}; + +struct isp_vblock_info { + uint32_t block_id; + uint32_t block_size; + uint64_t reg_base; +}; + +struct tile { + u16 start; + u16 end; +}; + +struct isp_ccm_cfg { + u16 coef[3][3]; +}; + +struct _fe_dbg_i { + uint32_t fe_idle_sts; + uint32_t fe_done_sts; +}; + +struct _be_dbg_i { + uint32_t be_done_sts; + uint32_t be_dma_idle_sts; +}; + +struct _post_dbg_i { + uint32_t top_sts; +}; + +struct _dma_dbg_i { + uint32_t wdma_0_err_sts; + uint32_t wdma_0_idle; + uint32_t wdma_1_err_sts; + uint32_t wdma_1_idle; + uint32_t rdma_err_sts; + uint32_t rdma_idle; +}; + +struct _isp_dg_info { + struct _fe_dbg_i fe_sts; + struct _be_dbg_i be_sts; + struct _post_dbg_i post_sts; + struct _dma_dbg_i dma_sts; + uint32_t isp_top_sts; + uint32_t bdg_chn_debug[ISP_FE_CHN_MAX]; + uint32_t bdg_int_sts_0; + uint32_t bdg_int_sts_1; + uint32_t bdg_fifo_of_cnt; + uint8_t bdg_w_gt_cnt[ISP_FE_CHN_MAX]; + uint8_t bdg_w_ls_cnt[ISP_FE_CHN_MAX]; + uint8_t bdg_h_gt_cnt[ISP_FE_CHN_MAX]; + uint8_t bdg_h_ls_cnt[ISP_FE_CHN_MAX]; +}; + +struct isp_grid_s_info { + u8 w_bit; + u8 h_bit; +}; + +struct _isp_cfg { + uint32_t csibdg_width; + uint32_t csibdg_height; + uint32_t max_width; + uint32_t max_height; + uint32_t post_img_w; + uint32_t post_img_h; + uint32_t drop_ref_frm_num; + uint32_t drop_frm_cnt; + struct vi_rect crop; + struct vi_rect crop_se; + struct vi_rect postout_crop; + struct _isp_dg_info dg_info; + struct isp_grid_s_info rgbmap_i; + struct isp_grid_s_info lmap_i; + enum ISP_BAYER_TYPE rgb_color_mode; + enum _VI_INTF_MODE_E infMode; + enum _VI_WORK_MODE_E muxMode; + enum _VI_YUV_DATA_SEQ_E enDataSeq; + + uint32_t is_patgen_en : 1; + uint32_t is_offline_preraw : 1; + uint32_t is_yuv_bypass_path : 1; + uint32_t is_hdr_on : 1; + uint32_t is_hdr_detail_en : 1; + uint32_t is_tile : 1; + uint32_t is_fbc_on : 1; + uint32_t is_rgbir_sensor : 1; + uint32_t is_offline_scaler : 1; + uint32_t is_stagger_vsync : 1; + uint32_t is_slice_buf_on : 1; +}; + +/* + * @src_width: width of original image + * @src_height: height of original image + * @img_width: width of image after crop + * @img_height: height of image after crop + * @pyhs_regs: index by enum ISP_BLK_ID_T, always phys reg + * @vreg_bases: index by enum ISP_BLK_ID_T + * @vreg_bases_pa: index by enum ISP_BLK_ID_T + * + * @rgb_color_mode: bayer_raw type after crop could change + * + * @cam_id: preraw(0,1) + * @is_offline_preraw: preraw src offline(from dram) + * @is_offline_postraw: postraw src offline(from dram) + */ +struct isp_ctx { + uint32_t src_width; + uint32_t src_height; + uint32_t img_width; + uint32_t img_height; + uint32_t crop_x; + uint32_t crop_y; + uint32_t crop_se_x; + uint32_t crop_se_y; + + uintptr_t *phys_regs; + + struct _isp_cfg isp_pipe_cfg[ISP_PRERAW_MAX]; + enum ISP_BAYER_TYPE rgb_color_mode[ISP_PRERAW_MAX]; + uint8_t rgbmap_prebuf_idx; + uint8_t rawb_chnstr_num; + uint8_t total_chn_num; + + uint8_t cam_id; + uint32_t is_dual_sensor : 1; + uint32_t is_yuv_sensor : 1; + uint32_t is_hdr_on : 1; + uint32_t is_3dnr_on : 1; + uint32_t is_dpcm_on : 1; + uint32_t is_offline_be : 1; + uint32_t is_offline_postraw : 1; + uint32_t is_sublvds_path : 1; + uint32_t is_fbc_on : 1; + uint32_t is_ctrl_inited : 1; + uint32_t is_slice_buf_on : 1; +}; + +struct vi_fbc_cfg { + u8 cu_size; + u8 target_cr; //compression ratio + u8 is_lossless; // lossless or lossy + u32 y_bs_size; //Y WDMA seglen + u32 c_bs_size; //C WDMA seglen + u32 y_buf_size; //total Y buf size + u32 c_buf_size; //total C buf size +}; + +struct slc_cfg_s { + u32 le_buf_size; + u32 se_buf_size; + u32 le_w_thshd; + u32 se_w_thshd; + u32 le_r_thshd; + u32 se_r_thshd; +}; + +struct slice_buf_s { + u16 line_delay; //sensor exposure ratio + u16 buffer; //cover for read/write latency, axi latency..etc + u8 max_grid_size; //rgbmap grid size + u8 min_r_thshd; // minimum read threshold + struct slc_cfg_s main_path; + struct slc_cfg_s sub_path; +}; + +/********************************************************** + * SW scenario path check APIs + **********************************************************/ +u32 _is_fe_be_online(struct isp_ctx *ctx); +u32 _is_be_post_online(struct isp_ctx *ctx); +u32 _is_all_online(struct isp_ctx *ctx); +u32 _is_post_sclr_online(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); + +/**************************************************************************** + * Interfaces + ****************************************************************************/ +uint64_t _mempool_get_addr(void); +int64_t _mempool_pop(uint32_t size); + +void vi_set_base_addr(void *base); +uintptr_t *isp_get_phys_reg_bases(void); +void isp_debug_dump(struct isp_ctx *ctx); +/** + * isp_init - setup isp + * + * @param : + */ +void isp_init(struct isp_ctx *ctx); + + +/** + * isp_reset - do reset. This can be activated only if dma stop to avoid + * hang fabric. + * + */ +void isp_reset(struct isp_ctx *ctx); + +/** + * isp_stream_on - start/stop isp stream. + * + * @param on: 1 for stream start, 0 for stream stop + */ +void isp_streaming(struct isp_ctx *ctx, uint32_t on, enum cvi_isp_raw raw_num); + + +struct isp_grid_s_info ispblk_rgbmap_info(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +struct isp_grid_s_info ispblk_lmap_info(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void ispblk_preraw_fe_config(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void ispblk_preraw_vi_sel_config(struct isp_ctx *ctx); +void ispblk_pre_wdma_ctrl_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_preraw_be_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_raw_rdma_ctrl_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_rawtop_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_rgbtop_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_yuvtop_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_isptop_config(struct isp_ctx *ctx); + +void ispblk_crop_enable(struct isp_ctx *ctx, int crop_id, bool en); +int ispblk_crop_config(struct isp_ctx *ctx, int crop_id, struct vi_rect crop); +int ccm_find_hwid(int id); +int blc_find_hwid(int id); +void ispblk_blc_set_offset(struct isp_ctx *ctx, int blc_id, + uint16_t roffset, uint16_t groffset, + uint16_t gboffset, uint16_t boffset); +void ispblk_blc_set_2ndoffset(struct isp_ctx *ctx, int blc_id, + uint16_t roffset, uint16_t groffset, + uint16_t gboffset, uint16_t boffset); +void ispblk_blc_set_gain(struct isp_ctx *ctx, int blc_id, + uint16_t rgain, uint16_t grgain, + uint16_t gbgain, uint16_t bgain); +void ispblk_blc_enable(struct isp_ctx *ctx, int blc_id, bool en, bool bypass); +int wbg_find_hwid(int id); +int ispblk_wbg_config(struct isp_ctx *ctx, int wbg_id, uint16_t rgain, uint16_t ggain, uint16_t bgain); +int ispblk_wbg_enable(struct isp_ctx *ctx, int wbg_id, bool enable, bool bypass); +void ispblk_lscr_set_lut(struct isp_ctx *ctx, int lscr_id, uint16_t *gain_lut, uint8_t lut_count); +void ispblk_lscr_config(struct isp_ctx *ctx, int lscr_id, bool en); + +uint64_t ispblk_dma_getaddr(struct isp_ctx *ctx, uint32_t dmaid); +int ispblk_dma_config(struct isp_ctx *ctx, int dmaid, uint64_t buf_addr); +void ispblk_dma_setaddr(struct isp_ctx *ctx, uint32_t dmaid, uint64_t buf_addr); +void ispblk_dma_enable(struct isp_ctx *ctx, uint32_t dmaid, uint32_t on, uint8_t dma_disable); +int ispblk_dma_buf_get_size2(struct isp_ctx *ctx, int dmaid, u8 raw_num); +void ispblk_dma_set_sw_mode(struct isp_ctx *ctx, uint32_t dmaid, bool is_sw_mode); + +/**************************************************************************** + * PRERAW FE SUBSYS + ****************************************************************************/ +void ispblk_csidbg_dma_wr_en(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num, const u8 chn_num, const u8 en); +void ispblk_csibdg_wdma_crop_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num, struct vi_rect crop); +void ispblk_csibdg_crop_update(struct isp_ctx *ctx, enum cvi_isp_raw raw_num, bool en); +int ispblk_csibdg_config(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void ispblk_rgbmap_config(struct isp_ctx *ctx, int map_id, bool en, enum cvi_isp_raw raw_num); +void ispblk_lmap_chg_size(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num, const enum cvi_isp_pre_chn_num chn_num); +void ispblk_lmap_config(struct isp_ctx *ctx, int map_id, bool en); + +/**************************************************************************** + * PRE BE SUBSYS + ****************************************************************************/ +void ispblk_dpc_config(struct isp_ctx *ctx, enum ISP_RAW_PATH path, bool enable, uint8_t test_case); +void ispblk_dpc_set_static(struct isp_ctx *ctx, enum ISP_RAW_PATH path, + uint16_t offset, uint32_t *bps, uint8_t count); +void ispblk_af_config(struct isp_ctx *ctx, bool enable); +void ispblk_rgbir_preproc_config(struct isp_ctx *ctx, + uint8_t *wdata, int16_t *data_r, int16_t *data_g, int16_t *data_b); +void ispblk_ir_proc_config(struct isp_ctx *ctx, uint8_t *gamma); + +/**************************************************************************** + * RAW TOP SUBSYS + ****************************************************************************/ +void ispblk_bnr_config(struct isp_ctx *ctx, enum ISP_BNR_OUT out_sel, bool lsc_en, uint8_t ns_gain, uint8_t str); +void ispblk_cfa_config(struct isp_ctx *ctx); +void ispblk_aehist_reset(struct isp_ctx *ctx, int blk_id, enum cvi_isp_raw raw_num); +void ispblk_aehist_config(struct isp_ctx *ctx, int blk_id, bool enable); +void ispblk_gms_config(struct isp_ctx *ctx, bool enable); +void ispblk_rgbcac_config(struct isp_ctx *ctx, bool en); +void ispblk_lcac_config(struct isp_ctx *ctx, bool en, uint8_t test_case); + +/**************************************************************************** + * RGB TOP SUBSYS + ****************************************************************************/ +void ispblk_lsc_config(struct isp_ctx *ctx, bool en); +void ispblk_fusion_hdr_cfg(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void ispblk_fusion_config(struct isp_ctx *ctx, bool enable, bool mc_enable, enum ISP_FS_OUT out_sel); +void ispblk_ltm_d_lut(struct isp_ctx *ctx, uint8_t sel, uint16_t *data); +void ispblk_ltm_b_lut(struct isp_ctx *ctx, uint8_t sel, uint16_t *data); +void ispblk_ltm_g_lut(struct isp_ctx *ctx, uint8_t sel, uint16_t *data); +void ispblk_ltm_config(struct isp_ctx *ctx, u8 ltm_en, u8 dehn_en, u8 behn_en, u8 ee_en); +void ispblk_ccm_config(struct isp_ctx *ctx, enum ISP_BLK_ID_T blk_id, bool en, struct isp_ccm_cfg *cfg); +void ispblk_hist_v_config(struct isp_ctx *ctx, bool en, uint8_t test_case); +void ispblk_dhz_config(struct isp_ctx *ctx, bool en); +void ispblk_ygamma_config(struct isp_ctx *ctx, bool en, + uint8_t sel, uint16_t *data, uint8_t inv, uint8_t test_case); +void ispblk_ygamma_enable(struct isp_ctx *ctx, bool enable); +void ispblk_gamma_config(struct isp_ctx *ctx, bool en, uint8_t sel, uint16_t *data, uint8_t inv); +void ispblk_gamma_enable(struct isp_ctx *ctx, bool enable); +void ispblk_clut_config(struct isp_ctx *ctx, bool en, + int16_t *r_lut, int16_t *g_lut, int16_t *b_lut); +void ispblk_rgbdither_config(struct isp_ctx *ctx, bool en, bool mod_en, bool histidx_en, bool fmnum_en); +void ispblk_csc_config(struct isp_ctx *ctx); +void ispblk_manr_config(struct isp_ctx *ctx, bool en); +void ispblk_ir_merge_config(struct isp_ctx *ctx); + +/**************************************************************************** + * YUV TOP SUBSYS + ****************************************************************************/ +int ispblk_pre_ee_config(struct isp_ctx *ctx, bool en); +int ispblk_yuvdither_config(struct isp_ctx *ctx, uint8_t sel, bool en, + bool mod_en, bool histidx_en, bool fmnum_en); +void ispblk_tnr_config(struct isp_ctx *ctx, bool en, u8 test_case); +void ispblk_fbc_clear_fbcd_ring_base(struct isp_ctx *ctx, u8 raw_num); +void ispblk_fbc_chg_to_sw_mode(struct isp_ctx *ctx, u8 raw_num); +void vi_fbc_calculate_size(struct isp_ctx *ctx, u8 raw_num); +void ispblk_fbc_ring_buf_config(struct isp_ctx *ctx, u8 en); +void ispblk_fbcd_config(struct isp_ctx *ctx, bool en); +void ispblk_fbce_config(struct isp_ctx *ctx, bool en); +void ispblk_cnr_config(struct isp_ctx *ctx, bool en, bool pfc_en, uint8_t str_mode, uint8_t test_case); +void ispblk_ynr_config(struct isp_ctx *ctx, enum ISP_YNR_OUT out_sel, uint8_t ns_gain); +int ispblk_ee_config(struct isp_ctx *ctx, bool en); +void ispblk_dci_config(struct isp_ctx *ctx, bool en, uint16_t *lut, uint8_t test_case); +void ispblk_ldci_config(struct isp_ctx *ctx, bool en, uint8_t test_case); +void ispblk_ca_config(struct isp_ctx *ctx, bool en); +void ispblk_ca_lite_config(struct isp_ctx *ctx, bool en); +void ispblk_ycur_config(struct isp_ctx *ctx, bool en, uint8_t sel, uint16_t *data); +void ispblk_ycur_enable(struct isp_ctx *ctx, bool enable, uint8_t sel); + +void isp_pre_trig(struct isp_ctx *ctx, enum cvi_isp_raw raw_num, const u8 chn_num); +void isp_post_trig(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); + +void isp_intr_set_mask(struct isp_ctx *ctx); +void isp_intr_status( + struct isp_ctx *ctx, + union REG_ISP_TOP_INT_EVENT0 *s0, + union REG_ISP_TOP_INT_EVENT1 *s1, + union REG_ISP_TOP_INT_EVENT2 *s2); +void isp_csi_intr_status( + struct isp_ctx *ctx, + enum cvi_isp_raw raw_num, + union REG_ISP_CSI_BDG_INTERRUPT_STATUS_0 *s0, + union REG_ISP_CSI_BDG_INTERRUPT_STATUS_1 *s1); + +void ispblk_tnr_rgbmap_chg(struct isp_ctx *ctx, enum cvi_isp_raw raw_num, const u8 chn_num); +void ispblk_tnr_post_chg(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); + +/**************************************************************************** + * Runtime Control Flow Config + ****************************************************************************/ +void isp_first_frm_reset(struct isp_ctx *ctx, uint8_t reset); +void ispblk_post_yuv_cfg_update(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_post_cfg_update(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +void ispblk_pre_be_cfg_update(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +int ispblk_dma_get_size(struct isp_ctx *ctx, int dmaid, uint32_t _w, uint32_t _h); +uint32_t ispblk_csibdg_chn_dbg(struct isp_ctx *ctx, enum cvi_isp_raw raw_num, enum cvi_isp_pre_chn_num chn); +struct _fe_dbg_i ispblk_fe_dbg_info(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +struct _be_dbg_i ispblk_be_dbg_info(struct isp_ctx *ctx); +struct _post_dbg_i ispblk_post_dbg_info(struct isp_ctx *ctx); +struct _dma_dbg_i ispblk_dma_dbg_info(struct isp_ctx *ctx); +int isp_frm_err_handler(struct isp_ctx *ctx, const enum cvi_isp_raw err_raw_num, const u8 step); + +/**************************************************************************** + * YUV Bypass Control Flow Config + ****************************************************************************/ +void ispblk_csibdg_yuv_bypass_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num); +u32 ispblk_dma_yuv_bypass_config(struct isp_ctx *ctx, uint32_t dmaid, uint64_t buf_addr, + const enum cvi_isp_raw raw_num); + +/**************************************************************************** + * Slice buffer Control + ****************************************************************************/ +void vi_calculate_slice_buf_setting(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void isp_slice_buf_trig(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void manr_clear_prv_ring_base(struct isp_ctx *ctx, enum cvi_isp_raw raw_num); +void ispblk_slice_buf_config(struct isp_ctx *ctx, const enum cvi_isp_raw raw_num, u8 en); + +/******************************************************************************* + * Tuning interfaces + ******************************************************************************/ +void vi_tuning_gamma_ips_update( + struct isp_ctx *ctx, + enum cvi_isp_raw raw_num); +void vi_tuning_dci_update( + struct isp_ctx *ctx, + enum cvi_isp_raw raw_num); +int vi_tuning_buf_setup(void); +void vi_tuning_buf_release(void); +void *vi_get_tuning_buf_addr(u32 *size); +void vi_tuning_buf_clear(void); + + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_DRV_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_inter_cmdq.h b/freertos/cvitek/install/include/driver/vi/vi_inter_cmdq.h new file mode 100644 index 000000000..1f56a0f2b --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_inter_cmdq.h @@ -0,0 +1,28 @@ +#ifndef __VI_INTER_CMDQ_H__ +#define __VI_INTER_CMDQ_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +enum VI_EVENT_E { + VI_EV_SOF = 1, + VI_EV_FE_DONE, + VI_EV_BE_DONE, + VI_EV_POST_SHAW_DONE, + VI_EV_POST_DONE, + VI_EV_MAX, +}; + +enum VI_INTER_CMDQ_E { + VI_CMDQ_EV_TYPE, + VI_CMDQ_MAX, +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_INTER_CMDQ_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_interfaces.h b/freertos/cvitek/install/include/driver/vi/vi_interfaces.h new file mode 100644 index 000000000..734e043ae --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_interfaces.h @@ -0,0 +1,21 @@ +#ifndef __VI_INTERFACES_H__ +#define __VI_INTERFACES_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/******************************************************* + * Common interface for cvi_vi + ******************************************************/ +int vi_drv_open(struct cvi_vi_ctx *viCtx); +int vi_drv_cfg(void); +int vi_drv_streamon(void); +int vi_drv_streamoff(void); +int vi_drv_release(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __VI_INTERFACES_H__ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_reg_blocks.h b/freertos/cvitek/install/include/driver/vi/vi_reg_blocks.h new file mode 100644 index 000000000..45e2bc157 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_reg_blocks.h @@ -0,0 +1,2146 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name:vi_reg_blocks.h + * Description:HW register description + */ + +#ifndef _VI_REG_BLOCKS_H_ +#define _VI_REG_BLOCKS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_PRE_RAW_BE_T { + union REG_PRE_RAW_BE_TOP_CTRL TOP_CTRL; + union REG_PRE_RAW_BE_UP_PQ_EN UP_PQ_EN; + union REG_PRE_RAW_BE_IMG_SIZE_LE IMG_SIZE_LE; + uint32_t _resv_0xc[1]; + union REG_PRE_RAW_BE_PRE_RAW_DUMMY PRE_RAW_DUMMY; + union REG_PRE_RAW_BE_DEBUG_INFO BE_INFO; + union REG_PRE_RAW_BE_DMA_IDLE_INFO BE_DMA_IDLE_INFO; + union REG_PRE_RAW_BE_IP_IDLE_INFO BE_IP_IDLE_INFO; + union REG_PRE_RAW_BE_LINE_BALANCE_CTRL LINE_BALANCE_CTRL; + union REG_PRE_RAW_BE_DEBUG_ENABLE DEBUG_ENABLE; + union REG_PRE_RAW_BE_TVALID_STATUS TVALID_STATUS; + union REG_PRE_RAW_BE_TREADY_STATUS TREADY_STATUS; + union REG_PRE_RAW_BE_PATGEN1 PATGEN1; + union REG_PRE_RAW_BE_PATGEN2 PATGEN2; + union REG_PRE_RAW_BE_PATGEN3 PATGEN3; + union REG_PRE_RAW_BE_PATGEN4 PATGEN4; + union REG_PRE_RAW_BE_CHKSUM_ENABLE CHKSUM_ENABLE; + union REG_PRE_RAW_BE_CHKSUM CHKSUM; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_DMA_CTL_T { + union REG_ISP_DMA_CTL_SYS_CONTROL SYS_CONTROL; + union REG_ISP_DMA_CTL_BASE_ADDR BASE_ADDR; + union REG_ISP_DMA_CTL_DMA_SEGLEN DMA_SEGLEN; + union REG_ISP_DMA_CTL_DMA_STRIDE DMA_STRIDE; + union REG_ISP_DMA_CTL_DMA_SEGNUM DMA_SEGNUM; + union REG_ISP_DMA_CTL_DMA_STATUS DMA_STATUS; + union REG_ISP_DMA_CTL_DMA_SLICESIZE DMA_SLICESIZE; + union REG_ISP_DMA_CTL_DMA_DUMMY DMA_DUMMY; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_AE_HIST_T { + union REG_ISP_AE_HIST_AE_HIST_STATUS AE_HIST_STATUS; + union REG_ISP_AE_HIST_AE_HIST_GRACE_RESET AE_HIST_GRACE_RESET; + union REG_ISP_AE_HIST_AE_HIST_MONITOR AE_HIST_MONITOR; + union REG_ISP_AE_HIST_AE_HIST_BYPASS AE_HIST_BYPASS; + union REG_ISP_AE_HIST_AE_KICKOFF AE_KICKOFF; + union REG_ISP_AE_HIST_STS_AE0_HIST_ENABLE STS_AE0_HIST_ENABLE; + union REG_ISP_AE_HIST_STS_AE_OFFSETX STS_AE_OFFSETX; + union REG_ISP_AE_HIST_STS_AE_OFFSETY STS_AE_OFFSETY; + union REG_ISP_AE_HIST_STS_AE_NUMXM1 STS_AE_NUMXM1; + union REG_ISP_AE_HIST_STS_AE_NUMYM1 STS_AE_NUMYM1; + union REG_ISP_AE_HIST_STS_AE_WIDTH STS_AE_WIDTH; + union REG_ISP_AE_HIST_STS_AE_HEIGHT STS_AE_HEIGHT; + union REG_ISP_AE_HIST_STS_AE_STS_DIV STS_AE_STS_DIV; + union REG_ISP_AE_HIST_STS_HIST_MODE STS_HIST_MODE; + uint32_t _resv_0x38[1]; + union REG_ISP_AE_HIST_AE_HIST_MONITOR_SELECT AE_HIST_MONITOR_SELECT; + union REG_ISP_AE_HIST_AE_HIST_LOCATION AE_HIST_LOCATION; + uint32_t _resv_0x44[1]; + union REG_ISP_AE_HIST_STS_IR_AE_OFFSETX STS_IR_AE_OFFSETX; + union REG_ISP_AE_HIST_STS_IR_AE_OFFSETY STS_IR_AE_OFFSETY; + union REG_ISP_AE_HIST_STS_IR_AE_NUMXM1 STS_IR_AE_NUMXM1; + union REG_ISP_AE_HIST_STS_IR_AE_NUMYM1 STS_IR_AE_NUMYM1; + union REG_ISP_AE_HIST_STS_IR_AE_WIDTH STS_IR_AE_WIDTH; + union REG_ISP_AE_HIST_STS_IR_AE_HEIGHT STS_IR_AE_HEIGHT; + union REG_ISP_AE_HIST_STS_IR_AE_STS_DIV STS_IR_AE_STS_DIV; + uint32_t _resv_0x64[1]; + union REG_ISP_AE_HIST_AE_HIST_BAYER_STARTING AE_HIST_BAYER_STARTING; + union REG_ISP_AE_HIST_AE_HIST_DUMMY AE_HIST_DUMMY; + union REG_ISP_AE_HIST_AE_HIST_CHECKSUM AE_HIST_CHECKSUM; + union REG_ISP_AE_HIST_WBG_4 WBG_4; + union REG_ISP_AE_HIST_WBG_5 WBG_5; + union REG_ISP_AE_HIST_WBG_6 WBG_6; + union REG_ISP_AE_HIST_WBG_7 WBG_7; + uint32_t _resv_0x84[7]; + union REG_ISP_AE_HIST_DMI_ENABLE DMI_ENABLE; + uint32_t _resv_0xa4[3]; + union REG_ISP_AE_HIST_AE_FACE0_LOCATION AE_FACE0_LOCATION; + union REG_ISP_AE_HIST_AE_FACE1_LOCATION AE_FACE1_LOCATION; + union REG_ISP_AE_HIST_AE_FACE2_LOCATION AE_FACE2_LOCATION; + union REG_ISP_AE_HIST_AE_FACE3_LOCATION AE_FACE3_LOCATION; + union REG_ISP_AE_HIST_AE_FACE0_SIZE AE_FACE0_SIZE; + union REG_ISP_AE_HIST_AE_FACE1_SIZE AE_FACE1_SIZE; + union REG_ISP_AE_HIST_AE_FACE2_SIZE AE_FACE2_SIZE; + union REG_ISP_AE_HIST_AE_FACE3_SIZE AE_FACE3_SIZE; + union REG_ISP_AE_HIST_IR_AE_FACE0_LOCATION IR_AE_FACE0_LOCATION; + union REG_ISP_AE_HIST_IR_AE_FACE1_LOCATION IR_AE_FACE1_LOCATION; + union REG_ISP_AE_HIST_IR_AE_FACE2_LOCATION IR_AE_FACE2_LOCATION; + union REG_ISP_AE_HIST_IR_AE_FACE3_LOCATION IR_AE_FACE3_LOCATION; + union REG_ISP_AE_HIST_IR_AE_FACE0_SIZE IR_AE_FACE0_SIZE; + union REG_ISP_AE_HIST_IR_AE_FACE1_SIZE IR_AE_FACE1_SIZE; + union REG_ISP_AE_HIST_IR_AE_FACE2_SIZE IR_AE_FACE2_SIZE; + union REG_ISP_AE_HIST_IR_AE_FACE3_SIZE IR_AE_FACE3_SIZE; + union REG_ISP_AE_HIST_AE_FACE0_ENABLE AE_FACE0_ENABLE; + union REG_ISP_AE_HIST_AE_FACE0_STS_DIV AE_FACE0_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE1_STS_DIV AE_FACE1_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE2_STS_DIV AE_FACE2_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE3_STS_DIV AE_FACE3_STS_DIV; + union REG_ISP_AE_HIST_STS_ENABLE STS_ENABLE; + union REG_ISP_AE_HIST_AE_ALGO_ENABLE AE_ALGO_ENABLE; + union REG_ISP_AE_HIST_AE_HIST_LOW AE_HIST_LOW; + union REG_ISP_AE_HIST_AE_HIST_HIGH AE_HIST_HIGH; + union REG_ISP_AE_HIST_AE_TOP AE_TOP; + union REG_ISP_AE_HIST_AE_BOT AE_BOT; + union REG_ISP_AE_HIST_AE_OVEREXP_THR AE_OVEREXP_THR; + union REG_ISP_AE_HIST_AE_NUM_GAPLINE AE_NUM_GAPLINE; + uint32_t _resv_0x124[23]; + union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_LUMA AE_SIMPLE2A_RESULT_LUMA; + union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_RGAIN AE_SIMPLE2A_RESULT_RGAIN; + union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_BGAIN AE_SIMPLE2A_RESULT_BGAIN; + uint32_t _resv_0x18c[29]; + union REG_ISP_AE_HIST_AE_WGT_00 AE_WGT_00; + union REG_ISP_AE_HIST_AE_WGT_01 AE_WGT_01; + union REG_ISP_AE_HIST_AE_WGT_02 AE_WGT_02; + union REG_ISP_AE_HIST_AE_WGT_03 AE_WGT_03; + union REG_ISP_AE_HIST_AE_WGT_04 AE_WGT_04; + union REG_ISP_AE_HIST_AE_WGT_05 AE_WGT_05; + union REG_ISP_AE_HIST_AE_WGT_06 AE_WGT_06; + union REG_ISP_AE_HIST_AE_WGT_07 AE_WGT_07; + union REG_ISP_AE_HIST_AE_WGT_08 AE_WGT_08; + union REG_ISP_AE_HIST_AE_WGT_09 AE_WGT_09; + union REG_ISP_AE_HIST_AE_WGT_10 AE_WGT_10; + union REG_ISP_AE_HIST_AE_WGT_11 AE_WGT_11; + union REG_ISP_AE_HIST_AE_WGT_12 AE_WGT_12; + union REG_ISP_AE_HIST_AE_WGT_13 AE_WGT_13; + union REG_ISP_AE_HIST_AE_WGT_14 AE_WGT_14; + union REG_ISP_AE_HIST_AE_WGT_15 AE_WGT_15; + union REG_ISP_AE_HIST_AE_WGT_16 AE_WGT_16; + union REG_ISP_AE_HIST_AE_WGT_17 AE_WGT_17; + union REG_ISP_AE_HIST_AE_WGT_18 AE_WGT_18; + union REG_ISP_AE_HIST_AE_WGT_19 AE_WGT_19; + union REG_ISP_AE_HIST_AE_WGT_20 AE_WGT_20; + union REG_ISP_AE_HIST_AE_WGT_21 AE_WGT_21; + union REG_ISP_AE_HIST_AE_WGT_22 AE_WGT_22; + union REG_ISP_AE_HIST_AE_WGT_23 AE_WGT_23; + union REG_ISP_AE_HIST_AE_WGT_24 AE_WGT_24; + union REG_ISP_AE_HIST_AE_WGT_25 AE_WGT_25; + union REG_ISP_AE_HIST_AE_WGT_26 AE_WGT_26; + union REG_ISP_AE_HIST_AE_WGT_27 AE_WGT_27; + union REG_ISP_AE_HIST_AE_WGT_28 AE_WGT_28; + union REG_ISP_AE_HIST_AE_WGT_29 AE_WGT_29; + union REG_ISP_AE_HIST_AE_WGT_30 AE_WGT_30; + union REG_ISP_AE_HIST_AE_WGT_31 AE_WGT_31; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_GMS_T { + union REG_ISP_GMS_STATUS GMS_STATUS; + union REG_ISP_GMS_GRACE_RESET GMS_GRACE_RESET; + union REG_ISP_GMS_MONITOR GMS_MONITOR; + union REG_ISP_GMS_ENABLE GMS_ENABLE; + uint32_t _resv_0x10[1]; + union REG_ISP_GMS_FLOW GMS_FLOW; + union REG_ISP_GMS_START_X GMS_START_X; + union REG_ISP_GMS_START_Y GMS_START_Y; + union REG_ISP_GMS_LOCATION GMS_LOCATION; + uint32_t _resv_0x24[1]; + union REG_ISP_GMS_X_SIZEM1 GMS_X_SIZEM1; + union REG_ISP_GMS_Y_SIZEM1 GMS_Y_SIZEM1; + union REG_ISP_GMS_X_GAP GMS_X_GAP; + union REG_ISP_GMS_Y_GAP GMS_Y_GAP; + union REG_ISP_GMS_DUMMY GMS_DUMMY; + uint32_t _resv_0x3c[1]; + union REG_ISP_GMS_MEM_SW_MODE GMS_SW_MODE; + union REG_ISP_GMS_MEM_SW_RADDR GMS_SW_RADDR; + union REG_ISP_GMS_MEM_SW_RDATA GMS_SW_RDATA; + union REG_ISP_GMS_MONITOR_SELECT GMS_MONITOR_SELECT; + uint32_t _resv_0x50[20]; + union REG_ISP_GMS_DMI_ENABLE DMI_ENABLE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_AF_T { + union REG_ISP_AF_STATUS STATUS; + union REG_ISP_AF_GRACE_RESET GRACE_RESET; + union REG_ISP_AF_MONITOR MONITOR; + union REG_ISP_AF_BYPASS BYPASS; + union REG_ISP_AF_KICKOFF KICKOFF; + union REG_ISP_AF_ENABLES ENABLES; + union REG_ISP_AF_OFFSET_X OFFSET_X; + union REG_ISP_AF_MXN_IMAGE_WIDTH_M1 MXN_IMAGE_WIDTH_M1; + union REG_ISP_AF_BLOCK_WIDTH BLOCK_WIDTH; + union REG_ISP_AF_BLOCK_HEIGHT BLOCK_HEIGHT; + union REG_ISP_AF_BLOCK_NUM_X BLOCK_NUM_X; + union REG_ISP_AF_BLOCK_NUM_Y BLOCK_NUM_Y; + uint32_t _resv_0x30[1]; + union REG_ISP_AF_HOR_LOW_PASS_VALUE_SHIFT HOR_LOW_PASS_VALUE_SHIFT; + union REG_ISP_AF_CORNING_OFFSET_HORIZONTAL_0 OFFSET_HORIZONTAL_0; + union REG_ISP_AF_CORNING_OFFSET_HORIZONTAL_1 OFFSET_HORIZONTAL_1; + union REG_ISP_AF_CORNING_OFFSET_VERTICAL OFFSET_VERTICAL; + union REG_ISP_AF_HIGH_Y_THRE HIGH_Y_THRE; + union REG_ISP_AF_LOW_PASS_HORIZON LOW_PASS_HORIZON; + union REG_ISP_AF_LOCATION LOCATION; + union REG_ISP_AF_HIGH_PASS_HORIZON_0 HIGH_PASS_HORIZON_0; + union REG_ISP_AF_HIGH_PASS_HORIZON_1 HIGH_PASS_HORIZON_1; + union REG_ISP_AF_HIGH_PASS_VERTICAL_0 HIGH_PASS_VERTICAL_0; + union REG_ISP_AF_MEM_SW_MODE SW_MODE; + union REG_ISP_AF_MONITOR_SELECT MONITOR_SELECT; + uint32_t _resv_0x64[2]; + union REG_ISP_AF_IMAGE_WIDTH IMAGE_WIDTH; + union REG_ISP_AF_DUMMY DUMMY; + union REG_ISP_AF_MEM_SW_RADDR SW_RADDR; + union REG_ISP_AF_MEM_SW_RDATA SW_RDATA; + union REG_ISP_AF_MXN_BORDER MXN_BORDER; + union REG_ISP_AF_TH_LOW TH_LOW; + union REG_ISP_AF_GAIN_LOW GAIN_LOW; + union REG_ISP_AF_SLOP_LOW SLOP_LOW; + uint32_t _resv_0x8c[5]; + union REG_ISP_AF_DMI_ENABLE DMI_ENABLE; + uint32_t _resv_0xa4[45]; + union REG_ISP_AF_SQUARE_ENABLE SQUARE_ENABLE; + uint32_t _resv_0x15c[2]; + union REG_ISP_AF_OUTSHIFT OUTSHIFT; + uint32_t _resv_0x168[1]; + union REG_ISP_AF_NUM_GAPLINE NUM_GAPLINE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_PRE_RAW_FE_T { + union REG_PRE_RAW_FE_PRE_RAW_CTRL PRE_RAW_CTRL; + union REG_PRE_RAW_FE_PRE_RAW_FRAME_SIZE PRE_RAW_FRAME_SIZE; + uint32_t _resv_0x8[2]; + union REG_PRE_RAW_FE_LE_RGBMAP_GRID_NUMBER LE_RGBMAP_GRID_NUMBER; + union REG_PRE_RAW_FE_SE_RGBMAP_GRID_NUMBER SE_RGBMAP_GRID_NUMBER; + uint32_t _resv_0x18[2]; + union REG_PRE_RAW_FE_PRE_RAW_POST_NO_RSPD_CYC PRE_RAW_POST_NO_RSPD_CYC; + union REG_PRE_RAW_FE_PRE_RAW_POST_RGBMAP_NO_RSPD_CYC PRE_RAW_POST_RGBMAP_NO_RSPD_CYC; + union REG_PRE_RAW_FE_PRE_RAW_FRAME_VLD PRE_RAW_FRAME_VLD; + union REG_PRE_RAW_FE_PRE_RAW_DEBUG_STATE PRE_RAW_DEBUG_STATE; + union REG_PRE_RAW_FE_PRE_RAW_DUMMY PRE_RAW_DUMMY; + union REG_PRE_RAW_FE_PRE_RAW_DEBUG_INFO PRE_RAW_INFO; + uint32_t _resv_0x38[6]; + union REG_PRE_RAW_FE_IDLE_INFO FE_IDLE_INFO; + uint32_t _resv_0x54[3]; + union REG_PRE_RAW_FE_CHECK_SUM FE_CHECK_SUM; + union REG_PRE_RAW_FE_CHECK_SUM_VALUE FE_CHECK_SUM_VALUE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CSI_BDG_DVP_T { + union REG_ISP_CSI_BDG_DVP_BDG_TOP_CTRL CSI_BDG_TOP_CTRL; + union REG_ISP_CSI_BDG_DVP_BDG_INTERRUPT_CTRL CSI_BDG_INTERRUPT_CTRL; + union REG_ISP_CSI_BDG_DVP_BDG_DMA_DPCM_MODE CSI_BDG_DMA_DPCM_MODE; + union REG_ISP_CSI_BDG_DVP_BDG_DMA_LD_DPCM_MODE CSI_BDG_DMA_LD_DPCM_MODE; + union REG_ISP_CSI_BDG_DVP_CH0_SIZE CH0_SIZE; + uint32_t _resv_0x14[3]; + union REG_ISP_CSI_BDG_DVP_CH0_CROP_EN CH0_CROP_EN; + union REG_ISP_CSI_BDG_DVP_CH0_HORZ_CROP CH0_HORZ_CROP; + union REG_ISP_CSI_BDG_DVP_CH0_VERT_CROP CH0_VERT_CROP; + union REG_ISP_CSI_BDG_DVP_CH0_BLC_SUM CH0_BLC_SUM; + uint32_t _resv_0x30[12]; + union REG_ISP_CSI_BDG_DVP_PAT_GEN_CTRL CSI_PAT_GEN_CTRL; + union REG_ISP_CSI_BDG_DVP_PAT_IDX_CTRL CSI_PAT_IDX_CTRL; + union REG_ISP_CSI_BDG_DVP_PAT_COLOR_0 CSI_PAT_COLOR_0; + union REG_ISP_CSI_BDG_DVP_PAT_COLOR_1 CSI_PAT_COLOR_1; + union REG_ISP_CSI_BDG_DVP_BACKGROUND_COLOR_0 CSI_BACKGROUND_COLOR_0; + union REG_ISP_CSI_BDG_DVP_BACKGROUND_COLOR_1 CSI_BACKGROUND_COLOR_1; + union REG_ISP_CSI_BDG_DVP_FIX_COLOR_0 CSI_FIX_COLOR_0; + union REG_ISP_CSI_BDG_DVP_FIX_COLOR_1 CSI_FIX_COLOR_1; + union REG_ISP_CSI_BDG_DVP_MDE_V_SIZE CSI_MDE_V_SIZE; + union REG_ISP_CSI_BDG_DVP_MDE_H_SIZE CSI_MDE_H_SIZE; + union REG_ISP_CSI_BDG_DVP_FDE_V_SIZE CSI_FDE_V_SIZE; + union REG_ISP_CSI_BDG_DVP_FDE_H_SIZE CSI_FDE_H_SIZE; + union REG_ISP_CSI_BDG_DVP_HSYNC_CTRL CSI_HSYNC_CTRL; + union REG_ISP_CSI_BDG_DVP_VSYNC_CTRL CSI_VSYNC_CTRL; + union REG_ISP_CSI_BDG_DVP_TGEN_TT_SIZE CSI_TGEN_TT_SIZE; + union REG_ISP_CSI_BDG_DVP_LINE_INTP_HEIGHT_0 LINE_INTP_HEIGHT_0; + union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_0 CH0_DEBUG_0; + union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_1 CH0_DEBUG_1; + union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_2 CH0_DEBUG_2; + union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_3 CH0_DEBUG_3; + uint32_t _resv_0xb0[12]; + union REG_ISP_CSI_BDG_DVP_INTERRUPT_STATUS_0 INTERRUPT_STATUS_0; + union REG_ISP_CSI_BDG_DVP_INTERRUPT_STATUS_1 INTERRUPT_STATUS_1; + union REG_ISP_CSI_BDG_DVP_BDG_DEBUG BDG_DEBUG; + union REG_ISP_CSI_BDG_DVP_OUT_VSYNC_LINE_DELAY CSI_OUT_VSYNC_LINE_DELAY; + union REG_ISP_CSI_BDG_DVP_WR_URGENT_CTRL CSI_WR_URGENT_CTRL; + union REG_ISP_CSI_BDG_DVP_RD_URGENT_CTRL CSI_RD_URGENT_CTRL; + union REG_ISP_CSI_BDG_DVP_DUMMY CSI_DUMMY; + uint32_t _resv_0xfc[1]; + union REG_ISP_CSI_BDG_DVP_SLICE_LINE_INTP_HEIGHT_0 SLICE_LINE_INTP_HEIGHT_0; + uint32_t _resv_0x104[3]; + union REG_ISP_CSI_BDG_DVP_WDMA_CH0_CROP_EN WDMA_CH0_CROP_EN; + union REG_ISP_CSI_BDG_DVP_WDMA_CH0_HORZ_CROP WDMA_CH0_HORZ_CROP; + union REG_ISP_CSI_BDG_DVP_WDMA_CH0_VERT_CROP WDMA_CH0_VERT_CROP; + uint32_t _resv_0x11c[13]; + union REG_ISP_CSI_BDG_DVP_TRIG_DLY_CONTROL_0 TRIG_DLY_CONTROL_0; + union REG_ISP_CSI_BDG_DVP_TRIG_DLY_CONTROL_1 TRIG_DLY_CONTROL_1; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_CROP_T { + union REG_CROP_0 REG_0; + union REG_CROP_1 REG_1; + union REG_CROP_2 REG_2; + union REG_CROP_3 REG_3; + union REG_CROP_DUMMY DUMMY; + union REG_CROP_DEBUG DEBUG; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_BLC_T { + union REG_ISP_BLC_0 BLC_0; + union REG_ISP_BLC_1 BLC_1; + union REG_ISP_BLC_2 BLC_2; + union REG_ISP_BLC_3 BLC_3; + union REG_ISP_BLC_4 BLC_4; + union REG_ISP_BLC_5 BLC_5; + union REG_ISP_BLC_6 BLC_6; + union REG_ISP_BLC_7 BLC_7; + union REG_ISP_BLC_8 BLC_8; + uint32_t _resv_0x24[1]; + union REG_ISP_BLC_DUMMY BLC_DUMMY; + uint32_t _resv_0x2c[1]; + union REG_ISP_BLC_LOCATION BLC_LOCATION; + union REG_ISP_BLC_9 BLC_9; + union REG_ISP_BLC_A BLC_A; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_LMAP_T { + union REG_ISP_LMAP_LMP_0 LMP_0; + union REG_ISP_LMAP_LMP_1 LMP_1; + union REG_ISP_LMAP_LMP_2 LMP_2; + union REG_ISP_LMAP_LMP_DEBUG_0 LMP_DEBUG_0; + union REG_ISP_LMAP_LMP_DEBUG_1 LMP_DEBUG_1; + union REG_ISP_LMAP_DUMMY DUMMY; + union REG_ISP_LMAP_LMP_DEBUG_2 LMP_DEBUG_2; + uint32_t _resv_0x1c[1]; + union REG_ISP_LMAP_LMP_3 LMP_3; + union REG_ISP_LMAP_LMP_4 LMP_4; + union REG_ISP_LMAP_LMP_SET_SEL LMP_SET_SEL; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_RGBMAP_T { + union REG_ISP_RGBMAP_0 RGBMAP_0; + union REG_ISP_RGBMAP_1 RGBMAP_1; + union REG_ISP_RGBMAP_DEBUG_0 RGBMAP_DEBUG_0; + union REG_ISP_RGBMAP_DEBUG_1 RGBMAP_DEBUG_1; + union REG_ISP_RGBMAP_DUMMY DUMMY; + union REG_ISP_RGBMAP_2 RGBMAP_2; + union REG_ISP_RGBMAP_DEBUG_2 RGBMAP_DEBUG_2; + union REG_ISP_RGBMAP_3 RGBMAP_3; + union REG_ISP_RGBMAP_SET_SEL RGBMAP_SET_SEL; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_WBG_T { + union REG_ISP_WBG_0 WBG_0; + union REG_ISP_WBG_1 WBG_1; + union REG_ISP_WBG_2 WBG_2; + uint32_t _resv_0xc[1]; + union REG_ISP_WBG_4 WBG_4; + union REG_ISP_WBG_5 WBG_5; + union REG_ISP_WBG_6 WBG_6; + union REG_ISP_WBG_7 WBG_7; + uint32_t _resv_0x20[1]; + union REG_ISP_WBG_IMG_BAYERID IMG_BAYERID; + union REG_ISP_WBG_DUMMY WBG_DUMMY; + uint32_t _resv_0x2c[1]; + union REG_ISP_WBG_LOCATION WBG_LOCATION; + union REG_ISP_WBG_34 WBG_34; + union REG_ISP_WBG_38 WBG_38; + union REG_ISP_WBG_3C WBG_3C; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_DPC_T { + union REG_ISP_DPC_0 DPC_0; + union REG_ISP_DPC_1 DPC_1; + union REG_ISP_DPC_2 DPC_2; + union REG_ISP_DPC_3 DPC_3; + union REG_ISP_DPC_4 DPC_4; + union REG_ISP_DPC_5 DPC_5; + union REG_ISP_DPC_6 DPC_6; + union REG_ISP_DPC_7 DPC_7; + union REG_ISP_DPC_8 DPC_8; + union REG_ISP_DPC_9 DPC_9; + union REG_ISP_DPC_10 DPC_10; + union REG_ISP_DPC_11 DPC_11; + union REG_ISP_DPC_12 DPC_12; + union REG_ISP_DPC_13 DPC_13; + union REG_ISP_DPC_14 DPC_14; + union REG_ISP_DPC_15 DPC_15; + union REG_ISP_DPC_16 DPC_16; + union REG_ISP_DPC_17 DPC_17; + union REG_ISP_DPC_18 DPC_18; + union REG_ISP_DPC_19 DPC_19; + union REG_ISP_DPC_MEM_W0 DPC_MEM_W0; + union REG_ISP_DPC_WINDOW DPC_WINDOW; + union REG_ISP_DPC_MEM_ST_ADDR DPC_MEM_ST_ADDR; + uint32_t _resv_0x5c[1]; + union REG_ISP_DPC_CHECKSUM DPC_CHECKSUM; + union REG_ISP_DPC_INT DPC_INT; + uint32_t _resv_0x68[2]; + union REG_ISP_DPC_20 DPC_20; + union REG_ISP_DPC_21 DPC_21; + union REG_ISP_DPC_22 DPC_22; + union REG_ISP_DPC_23 DPC_23; + union REG_ISP_DPC_24 DPC_24; + union REG_ISP_DPC_25 DPC_25; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_RAW_TOP_T { + union REG_RAW_TOP_RAW_0 RAW_0; + union REG_RAW_TOP_READ_SEL READ_SEL; + union REG_RAW_TOP_RAW_1 RAW_1; + uint32_t _resv_0xc[1]; + union REG_RAW_TOP_CTRL CTRL; + union REG_RAW_TOP_UP_PQ_EN UP_PQ_EN; + union REG_RAW_TOP_RAW_2 RAW_2; + union REG_RAW_TOP_DUMMY DUMMY; + union REG_RAW_TOP_RAW_4 RAW_4; + union REG_RAW_TOP_STATUS STATUS; + union REG_RAW_TOP_DEBUG DEBUG; + union REG_RAW_TOP_DEBUG_SELECT DEBUG_SELECT; + union REG_RAW_TOP_RAW_BAYER_TYPE_TOPLEFT RAW_BAYER_TYPE_TOPLEFT; + union REG_RAW_TOP_RDMI_ENBALE RDMI_ENBALE; + union REG_RAW_TOP_RDMA_SIZE RDMA_SIZE; + union REG_RAW_TOP_DPCM_MODE DPCM_MODE; + union REG_RAW_TOP_STVALID_STATUS STVALID_STATUS; + union REG_RAW_TOP_STREADY_STATUS STREADY_STATUS; + union REG_RAW_TOP_PATGEN1 PATGEN1; + union REG_RAW_TOP_PATGEN2 PATGEN2; + union REG_RAW_TOP_PATGEN3 PATGEN3; + union REG_RAW_TOP_PATGEN4 PATGEN4; + union REG_RAW_TOP_RO_IDLE RO_IDLE; + union REG_RAW_TOP_RO_DONE RO_DONE; + union REG_RAW_TOP_DMA_IDLE DMA_IDLE; + uint32_t _resv_0x64[1]; + union REG_RAW_TOP_LE_LMAP_GRID_NUMBER LE_LMAP_GRID_NUMBER; + union REG_RAW_TOP_SE_LMAP_GRID_NUMBER SE_LMAP_GRID_NUMBER; + union REG_RAW_TOP_CHECKSUM_0 CHECKSUM_0; + union REG_RAW_TOP_CHECKSUM_1 CHECKSUM_1; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_RGBCAC_T { + union REG_ISP_RGBCAC_CTRL RGBCAC_CTRL; + union REG_ISP_RGBCAC_PURPLE_TH RGBCAC_PURPLE_TH; + union REG_ISP_RGBCAC_PURPLE_CBCR RGBCAC_PURPLE_CBCR; + union REG_ISP_RGBCAC_PURPLE_CBCR2 RGBCAC_PURPLE_CBCR2; + union REG_ISP_RGBCAC_PURPLE_CBCR3 RGBCAC_PURPLE_CBCR3; + union REG_ISP_RGBCAC_GREEN_CBCR RGBCAC_GREEN_CBCR; + union REG_ISP_RGBCAC_EDGE_CORING RGBCAC_EDGE_CORING; + union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MIN RGBCAC_DEPURPLE_STR_RATIO_MIN; + union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MAX RGBCAC_DEPURPLE_STR_RATIO_MAX; + union REG_ISP_RGBCAC_EDGE_WGT_LUT0 RGBCAC_EDGE_WGT_LUT0; + union REG_ISP_RGBCAC_EDGE_WGT_LUT1 RGBCAC_EDGE_WGT_LUT1; + union REG_ISP_RGBCAC_EDGE_WGT_LUT2 RGBCAC_EDGE_WGT_LUT2; + union REG_ISP_RGBCAC_EDGE_WGT_LUT3 RGBCAC_EDGE_WGT_LUT3; + union REG_ISP_RGBCAC_EDGE_WGT_LUT4 RGBCAC_EDGE_WGT_LUT4; + union REG_ISP_RGBCAC_LUMA RGBCAC_LUMA; + union REG_ISP_RGBCAC_LUMA_BLEND RGBCAC_LUMA_BLEND; + union REG_ISP_RGBCAC_LUMA_FILTER0 RGBCAC_LUMA_FILTER0; + union REG_ISP_RGBCAC_LUMA_FILTER1 RGBCAC_LUMA_FILTER1; + union REG_ISP_RGBCAC_VAR_FILTER0 RGBCAC_VAR_FILTER0; + union REG_ISP_RGBCAC_VAR_FILTER1 RGBCAC_VAR_FILTER1; + union REG_ISP_RGBCAC_CHROMA_FILTER0 RGBCAC_CHROMA_FILTER0; + union REG_ISP_RGBCAC_CHROMA_FILTER1 RGBCAC_CHROMA_FILTER1; + union REG_ISP_RGBCAC_CBCR_STR RGBCAC_CBCR_STR; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_BNR_T { + union REG_ISP_BNR_SHADOW_RD_SEL SHADOW_RD_SEL; + union REG_ISP_BNR_OUT_SEL OUT_SEL; + union REG_ISP_BNR_INDEX_CLR INDEX_CLR; + uint32_t _resv_0xc[61]; + union REG_ISP_BNR_NS_LUMA_TH_R NS_LUMA_TH_R; + union REG_ISP_BNR_NS_SLOPE_R NS_SLOPE_R; + union REG_ISP_BNR_NS_OFFSET0_R NS_OFFSET0_R; + union REG_ISP_BNR_NS_OFFSET1_R NS_OFFSET1_R; + union REG_ISP_BNR_NS_LUMA_TH_GR NS_LUMA_TH_GR; + union REG_ISP_BNR_NS_SLOPE_GR NS_SLOPE_GR; + union REG_ISP_BNR_NS_OFFSET0_GR NS_OFFSET0_GR; + union REG_ISP_BNR_NS_OFFSET1_GR NS_OFFSET1_GR; + union REG_ISP_BNR_NS_LUMA_TH_GB NS_LUMA_TH_GB; + union REG_ISP_BNR_NS_SLOPE_GB NS_SLOPE_GB; + union REG_ISP_BNR_NS_OFFSET0_GB NS_OFFSET0_GB; + union REG_ISP_BNR_NS_OFFSET1_GB NS_OFFSET1_GB; + union REG_ISP_BNR_NS_LUMA_TH_B NS_LUMA_TH_B; + union REG_ISP_BNR_NS_SLOPE_B NS_SLOPE_B; + union REG_ISP_BNR_NS_OFFSET0_B NS_OFFSET0_B; + union REG_ISP_BNR_NS_OFFSET1_B NS_OFFSET1_B; + union REG_ISP_BNR_NS_GAIN NS_GAIN; + union REG_ISP_BNR_STRENGTH_MODE STRENGTH_MODE; + union REG_ISP_BNR_INTENSITY_SEL INTENSITY_SEL; + uint32_t _resv_0x14c[45]; + union REG_ISP_BNR_WEIGHT_INTRA_0 WEIGHT_INTRA_0; + union REG_ISP_BNR_WEIGHT_INTRA_1 WEIGHT_INTRA_1; + union REG_ISP_BNR_WEIGHT_INTRA_2 WEIGHT_INTRA_2; + uint32_t _resv_0x20c[1]; + union REG_ISP_BNR_WEIGHT_NORM_1 WEIGHT_NORM_1; + union REG_ISP_BNR_WEIGHT_NORM_2 WEIGHT_NORM_2; + uint32_t _resv_0x218[3]; + union REG_ISP_BNR_VAR_TH VAR_TH; + union REG_ISP_BNR_WEIGHT_LUT WEIGHT_LUT; + union REG_ISP_BNR_WEIGHT_SM WEIGHT_SM; + union REG_ISP_BNR_WEIGHT_V WEIGHT_V; + union REG_ISP_BNR_WEIGHT_H WEIGHT_H; + union REG_ISP_BNR_WEIGHT_D45 WEIGHT_D45; + union REG_ISP_BNR_WEIGHT_D135 WEIGHT_D135; + union REG_ISP_BNR_NEIGHBOR_MAX NEIGHBOR_MAX; + uint32_t _resv_0x244[3]; + union REG_ISP_BNR_RES_K_SMOOTH RES_K_SMOOTH; + union REG_ISP_BNR_RES_K_TEXTURE RES_K_TEXTURE; + union REG_ISP_BNR_RES_MAX RES_MAX; + uint32_t _resv_0x25c[872]; + union REG_ISP_BNR_DUMMY DUMMY; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_CA_T { + union REG_CA_00 REG_00; + union REG_CA_04 REG_04; + union REG_CA_08 REG_08; + union REG_CA_0C REG_0C; + union REG_CA_10 REG_10; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CCM_T { + union REG_ISP_CCM_00 CCM_00; + union REG_ISP_CCM_01 CCM_01; + union REG_ISP_CCM_02 CCM_02; + union REG_ISP_CCM_10 CCM_10; + union REG_ISP_CCM_11 CCM_11; + union REG_ISP_CCM_12 CCM_12; + union REG_ISP_CCM_20 CCM_20; + union REG_ISP_CCM_21 CCM_21; + union REG_ISP_CCM_22 CCM_22; + union REG_ISP_CCM_CTRL CCM_CTRL; + union REG_ISP_CCM_DBG CCM_DBG; + uint32_t _resv_0x2c[1]; + union REG_ISP_CCM_DMY0 DMY0; + union REG_ISP_CCM_DMY1 DMY1; + union REG_ISP_CCM_DMY_R DMY_R; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_MMAP_T { + union REG_ISP_MMAP_00 REG_00; + union REG_ISP_MMAP_04 REG_04; + union REG_ISP_MMAP_08 REG_08; + union REG_ISP_MMAP_0C REG_0C; + union REG_ISP_MMAP_10 REG_10; + union REG_ISP_MMAP_14 REG_14; + union REG_ISP_MMAP_18 REG_18; + union REG_ISP_MMAP_1C REG_1C; + union REG_ISP_MMAP_20 REG_20; + union REG_ISP_MMAP_24 REG_24; + union REG_ISP_MMAP_28 REG_28; + union REG_ISP_MMAP_2C REG_2C; + union REG_ISP_MMAP_30 REG_30; + union REG_ISP_MMAP_34 REG_34; + union REG_ISP_MMAP_38 REG_38; + union REG_ISP_MMAP_3C REG_3C; + union REG_ISP_MMAP_40 REG_40; + union REG_ISP_MMAP_44 REG_44; + uint32_t _resv_0x48[1]; + union REG_ISP_MMAP_4C REG_4C; + union REG_ISP_MMAP_50 REG_50; + union REG_ISP_MMAP_54 REG_54; + union REG_ISP_MMAP_58 REG_58; + union REG_ISP_MMAP_5C REG_5C; + union REG_ISP_MMAP_60 REG_60; + union REG_ISP_MMAP_64 REG_64; + union REG_ISP_MMAP_68 REG_68; + union REG_ISP_MMAP_6C REG_6C; + union REG_ISP_MMAP_70 REG_70; + union REG_ISP_MMAP_74 REG_74; + union REG_ISP_MMAP_78 REG_78; + union REG_ISP_MMAP_7C REG_7C; + union REG_ISP_MMAP_80 REG_80; + union REG_ISP_MMAP_84 REG_84; + union REG_ISP_MMAP_88 REG_88; + union REG_ISP_MMAP_8C REG_8C; + union REG_ISP_MMAP_90 REG_90; + uint32_t _resv_0x94[3]; + union REG_ISP_MMAP_A0 REG_A0; + union REG_ISP_MMAP_A4 REG_A4; + union REG_ISP_MMAP_A8 REG_A8; + union REG_ISP_MMAP_AC REG_AC; + union REG_ISP_MMAP_B0 REG_B0; + union REG_ISP_MMAP_B4 REG_B4; + union REG_ISP_MMAP_B8 REG_B8; + union REG_ISP_MMAP_BC REG_BC; + union REG_ISP_MMAP_C0 REG_C0; + union REG_ISP_MMAP_C4 REG_C4; + union REG_ISP_MMAP_C8 REG_C8; + union REG_ISP_MMAP_CC REG_CC; + union REG_ISP_MMAP_D0 REG_D0; + union REG_ISP_MMAP_D4 REG_D4; + union REG_ISP_MMAP_D8 REG_D8; + union REG_ISP_MMAP_DC REG_DC; + union REG_ISP_MMAP_E0 REG_E0; + union REG_ISP_MMAP_E4 REG_E4; + union REG_ISP_MMAP_E8 REG_E8; + union REG_ISP_MMAP_EC REG_EC; + union REG_ISP_MMAP_F0 REG_F0; + union REG_ISP_MMAP_F4 REG_F4; + union REG_ISP_MMAP_F8 REG_F8; + union REG_ISP_MMAP_FC REG_FC; + union REG_ISP_MMAP_100 REG_100; + union REG_ISP_MMAP_104 REG_104; + union REG_ISP_MMAP_108 REG_108; + union REG_ISP_MMAP_10C REG_10C; + union REG_ISP_MMAP_110 REG_110; + union REG_ISP_MMAP_114 REG_114; + union REG_ISP_MMAP_118 REG_118; + union REG_ISP_MMAP_11C REG_11C; + union REG_ISP_MMAP_120 REG_120; + union REG_ISP_MMAP_124 REG_124; + union REG_ISP_MMAP_128 REG_128; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_GAMMA_T { + union REG_ISP_GAMMA_CTRL GAMMA_CTRL; + union REG_ISP_GAMMA_PROG_CTRL GAMMA_PROG_CTRL; + union REG_ISP_GAMMA_PROG_ST_ADDR GAMMA_PROG_ST_ADDR; + union REG_ISP_GAMMA_PROG_DATA GAMMA_PROG_DATA; + union REG_ISP_GAMMA_PROG_MAX GAMMA_PROG_MAX; + union REG_ISP_GAMMA_MEM_SW_RADDR GAMMA_SW_RADDR; + union REG_ISP_GAMMA_MEM_SW_RDATA GAMMA_SW_RDATA; + union REG_ISP_GAMMA_MEM_SW_RDATA_BG GAMMA_SW_RDATA_BG; + union REG_ISP_GAMMA_DBG GAMMA_DBG; + union REG_ISP_GAMMA_DMY0 GAMMA_DMY0; + union REG_ISP_GAMMA_DMY1 GAMMA_DMY1; + union REG_ISP_GAMMA_DMY_R GAMMA_DMY_R; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CLUT_T { + union REG_ISP_CLUT_CTRL CLUT_CTRL; + union REG_ISP_CLUT_PROG_ADDR CLUT_PROG_ADDR; + union REG_ISP_CLUT_PROG_DATA CLUT_PROG_DATA; + union REG_ISP_CLUT_PROG_RDATA CLUT_PROG_RDATA; + uint32_t _resv_0x10[4]; + union REG_ISP_CLUT_DBG CLUT_DBG; + union REG_ISP_CLUT_DMY0 CLUT_DMY0; + union REG_ISP_CLUT_DMY1 CLUT_DMY1; + union REG_ISP_CLUT_DMY_R CLUT_DMY_R; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_DEHAZE_T { + union REG_ISP_DEHAZE_DHZ_SMOOTH DHZ_SMOOTH; + union REG_ISP_DEHAZE_DHZ_SKIN DHZ_SKIN; + union REG_ISP_DEHAZE_DHZ_WGT DHZ_WGT; + uint32_t _resv_0xc[2]; + union REG_ISP_DEHAZE_DHZ_BYPASS DHZ_BYPASS; + union REG_ISP_DEHAZE_0 REG_0; + uint32_t _resv_0x1c[1]; + union REG_ISP_DEHAZE_1 REG_1; + union REG_ISP_DEHAZE_2 REG_2; + union REG_ISP_DEHAZE_28 REG_28; + union REG_ISP_DEHAZE_2C REG_2C; + union REG_ISP_DEHAZE_3 REG_3; + union REG_ISP_DEHAZE_5 REG_5; + union REG_ISP_DEHAZE_6 REG_6; + union REG_ISP_DEHAZE_7 REG_7; + union REG_ISP_DEHAZE_8 REG_8; + uint32_t _resv_0x44[3]; + union REG_ISP_DEHAZE_9 REG_9; + union REG_ISP_DEHAZE_10 REG_10; + union REG_ISP_DEHAZE_11 REG_11; + union REG_ISP_DEHAZE_12 REG_12; + union REG_ISP_DEHAZE_17 REG_17; + union REG_ISP_DEHAZE_18 REG_18; + union REG_ISP_DEHAZE_19 REG_19; + union REG_ISP_DEHAZE_20 REG_20; + union REG_ISP_DEHAZE_25 REG_25; + union REG_ISP_DEHAZE_26 REG_26; + union REG_ISP_DEHAZE_TMAP_00 TMAP_00; + union REG_ISP_DEHAZE_TMAP_01 TMAP_01; + union REG_ISP_DEHAZE_TMAP_02 TMAP_02; + union REG_ISP_DEHAZE_TMAP_03 TMAP_03; + union REG_ISP_DEHAZE_TMAP_04 TMAP_04; + union REG_ISP_DEHAZE_TMAP_05 TMAP_05; + union REG_ISP_DEHAZE_TMAP_06 TMAP_06; + union REG_ISP_DEHAZE_TMAP_07 TMAP_07; + union REG_ISP_DEHAZE_TMAP_08 TMAP_08; + union REG_ISP_DEHAZE_TMAP_09 TMAP_09; + union REG_ISP_DEHAZE_TMAP_10 TMAP_10; + union REG_ISP_DEHAZE_TMAP_11 TMAP_11; + union REG_ISP_DEHAZE_TMAP_12 TMAP_12; + union REG_ISP_DEHAZE_TMAP_13 TMAP_13; + union REG_ISP_DEHAZE_TMAP_14 TMAP_14; + union REG_ISP_DEHAZE_TMAP_15 TMAP_15; + union REG_ISP_DEHAZE_TMAP_16 TMAP_16; + union REG_ISP_DEHAZE_TMAP_17 TMAP_17; + union REG_ISP_DEHAZE_TMAP_18 TMAP_18; + union REG_ISP_DEHAZE_TMAP_19 TMAP_19; + union REG_ISP_DEHAZE_TMAP_20 TMAP_20; + union REG_ISP_DEHAZE_TMAP_21 TMAP_21; + union REG_ISP_DEHAZE_TMAP_22 TMAP_22; + union REG_ISP_DEHAZE_TMAP_23 TMAP_23; + union REG_ISP_DEHAZE_TMAP_24 TMAP_24; + union REG_ISP_DEHAZE_TMAP_25 TMAP_25; + union REG_ISP_DEHAZE_TMAP_26 TMAP_26; + union REG_ISP_DEHAZE_TMAP_27 TMAP_27; + union REG_ISP_DEHAZE_TMAP_28 TMAP_28; + union REG_ISP_DEHAZE_TMAP_29 TMAP_29; + union REG_ISP_DEHAZE_TMAP_30 TMAP_30; + union REG_ISP_DEHAZE_TMAP_31 TMAP_31; + union REG_ISP_DEHAZE_TMAP_32 TMAP_32; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CSC_T { + union REG_ISP_CSC_0 REG_0; + union REG_ISP_CSC_1 REG_1; + union REG_ISP_CSC_2 REG_2; + union REG_ISP_CSC_3 REG_3; + union REG_ISP_CSC_4 REG_4; + union REG_ISP_CSC_5 REG_5; + union REG_ISP_CSC_6 REG_6; + union REG_ISP_CSC_7 REG_7; + union REG_ISP_CSC_8 REG_8; + union REG_ISP_CSC_9 REG_9; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_RGB_DITHER_T { + union REG_ISP_RGB_DITHER_RGB_DITHER RGB_DITHER; + union REG_ISP_RGB_DITHER_RGB_DITHER_DEBUG0 RGB_DITHER_DEBUG0; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_DCI_T { + union REG_ISP_DCI_STATUS DCI_STATUS; + union REG_ISP_DCI_GRACE_RESET DCI_GRACE_RESET; + union REG_ISP_DCI_MONITOR DCI_MONITOR; + union REG_ISP_DCI_ENABLE DCI_ENABLE; + union REG_ISP_DCI_MAP_ENABLE DCI_MAP_ENABLE; + union REG_ISP_DCI_FLOW DCI_FLOW; + union REG_ISP_DCI_DEMO_MODE DCI_DEMO_MODE; + union REG_ISP_DCI_MONITOR_SELECT DCI_MONITOR_SELECT; + union REG_ISP_DCI_LOCATION DCI_LOCATION; + uint32_t _resv_0x24[1]; + union REG_ISP_DCI_PROG_DATA DCI_PROG_DATA; + union REG_ISP_DCI_PROG_CTRL DCI_PROG_CTRL; + union REG_ISP_DCI_PROG_MAX DCI_PROG_MAX; + union REG_ISP_DCI_CTRL DCI_CTRL; + union REG_ISP_DCI_MEM_SW_MODE DCI_SW_MODE; + union REG_ISP_DCI_MEM_RADDR DCI_MEM_RADDR; + union REG_ISP_DCI_MEM_RDATA DCI_MEM_RDATA; + union REG_ISP_DCI_DEBUG DCI_DEBUG; + union REG_ISP_DCI_DUMMY DCI_DUMMY; + union REG_ISP_DCI_IMG_WIDTHM1 IMG_WIDTHM1; + union REG_ISP_DCI_LUT_ORDER_SELECT DCI_LUT_ORDER_SELECT; + union REG_ISP_DCI_ROI_START DCI_ROI_START; + union REG_ISP_DCI_ROI_GEO DCI_ROI_GEO; + uint32_t _resv_0x5c[1]; + union REG_ISP_DCI_UV_GAIN_MAX DCI_UV_GAIN_MAX; + uint32_t _resv_0x64[7]; + union REG_ISP_DCI_MAP_DBG DCI_MAP_DBG; + uint32_t _resv_0x84[1]; + union REG_ISP_DCI_BAYER_STARTING DCI_BAYER_STARTING; + uint32_t _resv_0x8c[5]; + union REG_ISP_DCI_DMI_ENABLE DMI_ENABLE; + uint32_t _resv_0xa4[87]; + union REG_ISP_DCI_GAMMA_CTRL GAMMA_CTRL; + union REG_ISP_DCI_GAMMA_PROG_CTRL GAMMA_PROG_CTRL; + uint32_t _resv_0x208[1]; + union REG_ISP_DCI_GAMMA_PROG_DATA GAMMA_PROG_DATA; + union REG_ISP_DCI_GAMMA_PROG_MAX GAMMA_PROG_MAX; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_HIST_EDGE_V_T { + union REG_ISP_HIST_EDGE_V_STATUS STATUS; + union REG_ISP_HIST_EDGE_V_SW_CTL SW_CTL; + union REG_ISP_HIST_EDGE_V_BYPASS BYPASS; + union REG_ISP_HIST_EDGE_V_IP_CONFIG IP_CONFIG; + union REG_ISP_HIST_EDGE_V_HIST_EDGE_V_OFFSETX HIST_EDGE_V_OFFSETX; + union REG_ISP_HIST_EDGE_V_HIST_EDGE_V_OFFSETY HIST_EDGE_V_OFFSETY; + union REG_ISP_HIST_EDGE_V_MONITOR MONITOR; + union REG_ISP_HIST_EDGE_V_MONITOR_SELECT MONITOR_SELECT; + union REG_ISP_HIST_EDGE_V_LOCATION LOCATION; + union REG_ISP_HIST_EDGE_V_DUMMY DUMMY; + union REG_ISP_HIST_EDGE_V_DMI_ENABLE DMI_ENABLE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_FUSION_T { + union REG_FUSION_FS_CTRL_0 FS_CTRL_0; + uint32_t _resv_0x4[1]; + union REG_FUSION_FS_SE_GAIN FS_SE_GAIN; + union REG_FUSION_FS_LUMA_THD FS_LUMA_THD; + union REG_FUSION_FS_WGT FS_WGT; + union REG_FUSION_FS_WGT_SLOPE FS_WGT_SLOPE; + union REG_FUSION_FS_SHDW_READ_SEL FS_SHDW_READ_SEL; + uint32_t _resv_0x1c[1]; + union REG_FUSION_FS_MOTION_LUT_IN FS_MOTION_LUT_IN; + union REG_FUSION_FS_MOTION_LUT_OUT_0 FS_MOTION_LUT_OUT_0; + union REG_FUSION_FS_MOTION_LUT_OUT_1 FS_MOTION_LUT_OUT_1; + union REG_FUSION_FS_MOTION_LUT_SLOPE_0 FS_MOTION_LUT_SLOPE_0; + union REG_FUSION_FS_MOTION_LUT_SLOPE_1 FS_MOTION_LUT_SLOPE_1; + union REG_FUSION_FS_CTRL_1 FS_CTRL_1; + uint32_t _resv_0x38[6]; + union REG_FUSION_FS_CALIB_CTRL_0 FS_CALIB_CTRL_0; + union REG_FUSION_FS_CALIB_CTRL_1 FS_CALIB_CTRL_1; + union REG_FUSION_FS_SE_FIX_OFFSET_0 FS_SE_FIX_OFFSET_0; + union REG_FUSION_FS_SE_FIX_OFFSET_1 FS_SE_FIX_OFFSET_1; + union REG_FUSION_FS_SE_FIX_OFFSET_2 FS_SE_FIX_OFFSET_2; + union REG_FUSION_FS_CALIB_OUT_0 FS_CALIB_OUT_0; + union REG_FUSION_FS_CALIB_OUT_1 FS_CALIB_OUT_1; + union REG_FUSION_FS_CALIB_OUT_2 FS_CALIB_OUT_2; + union REG_FUSION_FS_CALIB_OUT_3 FS_CALIB_OUT_3; + union REG_FUSION_FS_LMAP_DARK_THD FS_LMAP_DARK_THD; + union REG_FUSION_FS_LMAP_DARK_WGT FS_LMAP_DARK_WGT; + union REG_FUSION_FS_LMAP_DARK_WGT_SLOPE FS_LMAP_DARK_WGT_SLOPE; + union REG_FUSION_FS_LMAP_BRIT_THD FS_LMAP_BRIT_THD; + union REG_FUSION_FS_LMAP_BRIT_WGT FS_LMAP_BRIT_WGT; + union REG_FUSION_FS_LMAP_BRIT_WGT_SLOPE FS_LMAP_BRIT_WGT_SLOPE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_LTM_T { + union REG_LTM_H00 REG_H00; + union REG_LTM_H04 REG_H04; + union REG_LTM_H08 REG_H08; + union REG_LTM_H0C REG_H0C; + uint32_t _resv_0x10[1]; + union REG_LTM_H14 REG_H14; + union REG_LTM_H18 REG_H18; + union REG_LTM_H1C REG_H1C; + union REG_LTM_H20 REG_H20; + union REG_LTM_H24 REG_H24; + union REG_LTM_H28 REG_H28; + union REG_LTM_H2C REG_H2C; + union REG_LTM_H30 REG_H30; + union REG_LTM_H34 REG_H34; + union REG_LTM_H38 REG_H38; + union REG_LTM_H3C REG_H3C; + union REG_LTM_H40 REG_H40; + union REG_LTM_H44 REG_H44; + union REG_LTM_H48 REG_H48; + union REG_LTM_H4C REG_H4C; + union REG_LTM_H50 REG_H50; + union REG_LTM_H54 REG_H54; + union REG_LTM_H58 REG_H58; + union REG_LTM_H5C REG_H5C; + union REG_LTM_H60 REG_H60; + union REG_LTM_H64 REG_H64; + union REG_LTM_H68 REG_H68; + union REG_LTM_H6C REG_H6C; + union REG_LTM_H70 REG_H70; + union REG_LTM_H74 REG_H74; + union REG_LTM_H78 REG_H78; + union REG_LTM_H7C REG_H7C; + union REG_LTM_H80 REG_H80; + union REG_LTM_H84 REG_H84; + union REG_LTM_H88 REG_H88; + union REG_LTM_H8C REG_H8C; + union REG_LTM_H90 REG_H90; + union REG_LTM_H94 REG_H94; + union REG_LTM_H98 REG_H98; + union REG_LTM_H9C REG_H9C; + union REG_LTM_HA0 REG_HA0; + union REG_LTM_HA4 REG_HA4; + union REG_LTM_HA8 REG_HA8; + union REG_LTM_HAC REG_HAC; + union REG_LTM_HB0 REG_HB0; + union REG_LTM_HB4 REG_HB4; + union REG_LTM_HB8 REG_HB8; + union REG_LTM_HBC REG_HBC; + union REG_LTM_HC0 REG_HC0; + union REG_LTM_HC4 REG_HC4; + union REG_LTM_HC8 REG_HC8; + union REG_LTM_HCC REG_HCC; + union REG_LTM_HD0 REG_HD0; + union REG_LTM_HD4 REG_HD4; + union REG_LTM_HD8 REG_HD8; + union REG_LTM_HDC REG_HDC; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_CA_LITE_T { + union REG_CA_LITE_00 REG_00; + union REG_CA_LITE_04 REG_04; + union REG_CA_LITE_08 REG_08; + union REG_CA_LITE_0C REG_0C; + union REG_CA_LITE_10 REG_10; + union REG_CA_LITE_14 REG_14; + union REG_CA_LITE_18 REG_18; + union REG_CA_LITE_1C REG_1C; + union REG_CA_LITE_20 REG_20; + union REG_CA_LITE_24 REG_24; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_444_422_T { + union REG_ISP_444_422_0 REG_0; + union REG_ISP_444_422_1 REG_1; + union REG_ISP_444_422_2 REG_2; + union REG_ISP_444_422_3 REG_3; + union REG_ISP_444_422_4 REG_4; + union REG_ISP_444_422_5 REG_5; + union REG_ISP_444_422_6 REG_6; + uint32_t _resv_0x1c[1]; + union REG_ISP_444_422_8 REG_8; + union REG_ISP_444_422_9 REG_9; + union REG_ISP_444_422_10 REG_10; + union REG_ISP_444_422_11 REG_11; + union REG_ISP_444_422_12 REG_12; + union REG_ISP_444_422_13 REG_13; + union REG_ISP_444_422_14 REG_14; + union REG_ISP_444_422_15 REG_15; + union REG_ISP_444_422_16 REG_16; + union REG_ISP_444_422_17 REG_17; + union REG_ISP_444_422_18 REG_18; + union REG_ISP_444_422_19 REG_19; + union REG_ISP_444_422_20 REG_20; + union REG_ISP_444_422_21 REG_21; + union REG_ISP_444_422_22 REG_22; + union REG_ISP_444_422_23 REG_23; + union REG_ISP_444_422_24 REG_24; + union REG_ISP_444_422_25 REG_25; + union REG_ISP_444_422_26 REG_26; + union REG_ISP_444_422_27 REG_27; + union REG_ISP_444_422_28 REG_28; + union REG_ISP_444_422_29 REG_29; + union REG_ISP_444_422_30 REG_30; + union REG_ISP_444_422_31 REG_31; + union REG_ISP_444_422_80 REG_80; + union REG_ISP_444_422_84 REG_84; + union REG_ISP_444_422_88 REG_88; + union REG_ISP_444_422_8C REG_8C; + union REG_ISP_444_422_90 REG_90; + union REG_ISP_444_422_94 REG_94; + union REG_ISP_444_422_98 REG_98; + union REG_ISP_444_422_9C REG_9C; + union REG_ISP_444_422_A0 REG_A0; + union REG_ISP_444_422_A4 REG_A4; + union REG_ISP_444_422_A8 REG_A8; + union REG_ISP_444_422_AC REG_AC; + union REG_ISP_444_422_B0 REG_B0; + union REG_ISP_444_422_B4 REG_B4; + union REG_ISP_444_422_B8 REG_B8; + union REG_ISP_444_422_BC REG_BC; + union REG_ISP_444_422_C0 REG_C0; + union REG_ISP_444_422_C4 REG_C4; + union REG_ISP_444_422_C8 REG_C8; + union REG_ISP_444_422_CC REG_CC; + union REG_ISP_444_422_D0 REG_D0; + union REG_ISP_444_422_D4 REG_D4; + union REG_ISP_444_422_D8 REG_D8; + union REG_ISP_444_422_DC REG_DC; + union REG_ISP_444_422_E0 REG_E0; + union REG_ISP_444_422_E4 REG_E4; + union REG_ISP_444_422_E8 REG_E8; + union REG_ISP_444_422_EC REG_EC; + union REG_ISP_444_422_F0 REG_F0; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_FBCE_T { + union REG_FBCE_00 REG_00; + uint32_t _resv_0x4[3]; + union REG_FBCE_10 REG_10; + union REG_FBCE_14 REG_14; + union REG_FBCE_18 REG_18; + uint32_t _resv_0x1c[1]; + union REG_FBCE_20 REG_20; + union REG_FBCE_24 REG_24; + union REG_FBCE_28 REG_28; + union REG_FBCE_2C REG_2C; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_FBCD_T { + union REG_FBCD_00 REG_00; + uint32_t _resv_0x4[2]; + union REG_FBCD_0C REG_0C; + union REG_FBCD_10 REG_10; + union REG_FBCD_14 REG_14; + uint32_t _resv_0x18[2]; + union REG_FBCD_20 REG_20; + union REG_FBCD_24 REG_24; + union REG_FBCD_28 REG_28; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_YUV_DITHER_T { + union REG_ISP_YUV_DITHER_Y_DITHER Y_DITHER; + union REG_ISP_YUV_DITHER_UV_DITHER UV_DITHER; + union REG_ISP_YUV_DITHER_DEBUG_00 DEBUG_00; + union REG_ISP_YUV_DITHER_DEBUG_01 DEBUG_01; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_YNR_T { + union REG_ISP_YNR_SHADOW_RD_SEL SHADOW_RD_SEL; + union REG_ISP_YNR_OUT_SEL OUT_SEL; + union REG_ISP_YNR_INDEX_CLR INDEX_CLR; + union REG_ISP_YNR_NS0_LUMA_TH_00 NS0_LUMA_TH_00; + union REG_ISP_YNR_NS0_LUMA_TH_01 NS0_LUMA_TH_01; + union REG_ISP_YNR_NS0_LUMA_TH_02 NS0_LUMA_TH_02; + union REG_ISP_YNR_NS0_LUMA_TH_03 NS0_LUMA_TH_03; + union REG_ISP_YNR_NS0_LUMA_TH_04 NS0_LUMA_TH_04; + union REG_ISP_YNR_NS0_LUMA_TH_05 NS0_LUMA_TH_05; + union REG_ISP_YNR_NS0_SLOPE_00 NS0_SLOPE_00; + union REG_ISP_YNR_NS0_SLOPE_01 NS0_SLOPE_01; + union REG_ISP_YNR_NS0_SLOPE_02 NS0_SLOPE_02; + union REG_ISP_YNR_NS0_SLOPE_03 NS0_SLOPE_03; + union REG_ISP_YNR_NS0_SLOPE_04 NS0_SLOPE_04; + union REG_ISP_YNR_NS0_OFFSET_00 NS0_OFFSET_00; + union REG_ISP_YNR_NS0_OFFSET_01 NS0_OFFSET_01; + union REG_ISP_YNR_NS0_OFFSET_02 NS0_OFFSET_02; + union REG_ISP_YNR_NS0_OFFSET_03 NS0_OFFSET_03; + union REG_ISP_YNR_NS0_OFFSET_04 NS0_OFFSET_04; + union REG_ISP_YNR_NS0_OFFSET_05 NS0_OFFSET_05; + union REG_ISP_YNR_NS1_LUMA_TH_00 NS1_LUMA_TH_00; + union REG_ISP_YNR_NS1_LUMA_TH_01 NS1_LUMA_TH_01; + union REG_ISP_YNR_NS1_LUMA_TH_02 NS1_LUMA_TH_02; + union REG_ISP_YNR_NS1_LUMA_TH_03 NS1_LUMA_TH_03; + union REG_ISP_YNR_NS1_LUMA_TH_04 NS1_LUMA_TH_04; + union REG_ISP_YNR_NS1_LUMA_TH_05 NS1_LUMA_TH_05; + union REG_ISP_YNR_NS1_SLOPE_00 NS1_SLOPE_00; + union REG_ISP_YNR_NS1_SLOPE_01 NS1_SLOPE_01; + union REG_ISP_YNR_NS1_SLOPE_02 NS1_SLOPE_02; + union REG_ISP_YNR_NS1_SLOPE_03 NS1_SLOPE_03; + union REG_ISP_YNR_NS1_SLOPE_04 NS1_SLOPE_04; + union REG_ISP_YNR_NS1_OFFSET_00 NS1_OFFSET_00; + union REG_ISP_YNR_NS1_OFFSET_01 NS1_OFFSET_01; + union REG_ISP_YNR_NS1_OFFSET_02 NS1_OFFSET_02; + union REG_ISP_YNR_NS1_OFFSET_03 NS1_OFFSET_03; + union REG_ISP_YNR_NS1_OFFSET_04 NS1_OFFSET_04; + union REG_ISP_YNR_NS1_OFFSET_05 NS1_OFFSET_05; + union REG_ISP_YNR_NS_GAIN NS_GAIN; + union REG_ISP_YNR_MOTION_LUT_00 MOTION_LUT_00; + union REG_ISP_YNR_MOTION_LUT_01 MOTION_LUT_01; + union REG_ISP_YNR_MOTION_LUT_02 MOTION_LUT_02; + union REG_ISP_YNR_MOTION_LUT_03 MOTION_LUT_03; + union REG_ISP_YNR_MOTION_LUT_04 MOTION_LUT_04; + union REG_ISP_YNR_MOTION_LUT_05 MOTION_LUT_05; + union REG_ISP_YNR_MOTION_LUT_06 MOTION_LUT_06; + union REG_ISP_YNR_MOTION_LUT_07 MOTION_LUT_07; + union REG_ISP_YNR_MOTION_LUT_08 MOTION_LUT_08; + union REG_ISP_YNR_MOTION_LUT_09 MOTION_LUT_09; + union REG_ISP_YNR_MOTION_LUT_10 MOTION_LUT_10; + union REG_ISP_YNR_MOTION_LUT_11 MOTION_LUT_11; + union REG_ISP_YNR_MOTION_LUT_12 MOTION_LUT_12; + union REG_ISP_YNR_MOTION_LUT_13 MOTION_LUT_13; + union REG_ISP_YNR_MOTION_LUT_14 MOTION_LUT_14; + union REG_ISP_YNR_MOTION_LUT_15 MOTION_LUT_15; + union REG_ISP_YNR_WEIGHT_INTRA_0 WEIGHT_INTRA_0; + union REG_ISP_YNR_WEIGHT_INTRA_1 WEIGHT_INTRA_1; + union REG_ISP_YNR_WEIGHT_INTRA_2 WEIGHT_INTRA_2; + union REG_ISP_YNR_WEIGHT_NORM_1 WEIGHT_NORM_1; + union REG_ISP_YNR_WEIGHT_NORM_2 WEIGHT_NORM_2; + union REG_ISP_YNR_ALPHA_GAIN ALPHA_GAIN; + union REG_ISP_YNR_VAR_TH VAR_TH; + union REG_ISP_YNR_WEIGHT_SM WEIGHT_SM; + union REG_ISP_YNR_WEIGHT_V WEIGHT_V; + union REG_ISP_YNR_WEIGHT_H WEIGHT_H; + union REG_ISP_YNR_WEIGHT_D45 WEIGHT_D45; + union REG_ISP_YNR_WEIGHT_D135 WEIGHT_D135; + union REG_ISP_YNR_NEIGHBOR_MAX NEIGHBOR_MAX; + union REG_ISP_YNR_RES_K_SMOOTH RES_K_SMOOTH; + union REG_ISP_YNR_RES_K_TEXTURE RES_K_TEXTURE; + union REG_ISP_YNR_FILTER_MODE_EN FILTER_MODE_EN; + union REG_ISP_YNR_FILTER_MODE_ALPHA FILTER_MODE_ALPHA; + union REG_ISP_YNR_RES_MOT_LUT_00 RES_MOT_LUT_00; + union REG_ISP_YNR_RES_MOT_LUT_01 RES_MOT_LUT_01; + union REG_ISP_YNR_RES_MOT_LUT_02 RES_MOT_LUT_02; + union REG_ISP_YNR_RES_MOT_LUT_03 RES_MOT_LUT_03; + union REG_ISP_YNR_RES_MOT_LUT_04 RES_MOT_LUT_04; + union REG_ISP_YNR_RES_MOT_LUT_05 RES_MOT_LUT_05; + union REG_ISP_YNR_RES_MOT_LUT_06 RES_MOT_LUT_06; + union REG_ISP_YNR_RES_MOT_LUT_07 RES_MOT_LUT_07; + union REG_ISP_YNR_RES_MOT_LUT_08 RES_MOT_LUT_08; + union REG_ISP_YNR_RES_MOT_LUT_09 RES_MOT_LUT_09; + union REG_ISP_YNR_RES_MOT_LUT_10 RES_MOT_LUT_10; + union REG_ISP_YNR_RES_MOT_LUT_11 RES_MOT_LUT_11; + union REG_ISP_YNR_RES_MOT_LUT_12 RES_MOT_LUT_12; + union REG_ISP_YNR_RES_MOT_LUT_13 RES_MOT_LUT_13; + union REG_ISP_YNR_RES_MOT_LUT_14 RES_MOT_LUT_14; + union REG_ISP_YNR_RES_MOT_LUT_15 RES_MOT_LUT_15; + union REG_ISP_YNR_RES_MAX RES_MAX; + union REG_ISP_YNR_RES_MOTION_MAX RES_MOTION_MAX; + union REG_ISP_YNR_MOTION_NS_CLIP_MAX MOTION_NS_CLIP_MAX; + uint32_t _resv_0x168[38]; + union REG_ISP_YNR_WEIGHT_LUT WEIGHT_LUT; + uint32_t _resv_0x204[894]; + union REG_ISP_YNR_DUMMY DUMMY; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CNR_T { + union REG_ISP_CNR_ENABLE CNR_ENABLE; + union REG_ISP_CNR_STRENGTH_MODE CNR_STRENGTH_MODE; + union REG_ISP_CNR_PURPLE_TH CNR_PURPLE_TH; + union REG_ISP_CNR_PURPLE_CB CNR_PURPLE_CB; + union REG_ISP_CNR_GREEN_CB CNR_GREEN_CB; + union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_00 WEIGHT_LUT_INTER_CNR_00; + union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_04 WEIGHT_LUT_INTER_CNR_04; + union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_08 WEIGHT_LUT_INTER_CNR_08; + union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_12 WEIGHT_LUT_INTER_CNR_12; + uint32_t _resv_0x24[2]; + union REG_ISP_CNR_MOTION_LUT_0 CNR_MOTION_LUT_0; + union REG_ISP_CNR_MOTION_LUT_4 CNR_MOTION_LUT_4; + union REG_ISP_CNR_MOTION_LUT_8 CNR_MOTION_LUT_8; + union REG_ISP_CNR_MOTION_LUT_12 CNR_MOTION_LUT_12; + union REG_ISP_CNR_PURPLE_CB2 CNR_PURPLE_CB2; + union REG_ISP_CNR_MASK CNR_MASK; + union REG_ISP_CNR_DUMMY CNR_DUMMY; + union REG_ISP_CNR_EDGE_SCALE CNR_EDGE_SCALE; + union REG_ISP_CNR_EDGE_RATIO_SPEED CNR_EDGE_RATIO_SPEED; + union REG_ISP_CNR_DEPURPLE_WEIGHT_TH CNR_DEPURPLE_WEIGHT_TH; + union REG_ISP_CNR_CORING_MOTION_LUT_0 CNR_CORING_MOTION_LUT_0; + union REG_ISP_CNR_CORING_MOTION_LUT_4 CNR_CORING_MOTION_LUT_4; + union REG_ISP_CNR_CORING_MOTION_LUT_8 CNR_CORING_MOTION_LUT_8; + union REG_ISP_CNR_CORING_MOTION_LUT_12 CNR_CORING_MOTION_LUT_12; + union REG_ISP_CNR_EDGE_SCALE_LUT_0 CNR_EDGE_SCALE_LUT_0; + union REG_ISP_CNR_EDGE_SCALE_LUT_4 CNR_EDGE_SCALE_LUT_4; + union REG_ISP_CNR_EDGE_SCALE_LUT_8 CNR_EDGE_SCALE_LUT_8; + union REG_ISP_CNR_EDGE_SCALE_LUT_12 CNR_EDGE_SCALE_LUT_12; + union REG_ISP_CNR_EDGE_SCALE_LUT_16 CNR_EDGE_SCALE_LUT_16; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_YCURV_T { + union REG_ISP_YCURV_YCUR_CTRL YCUR_CTRL; + union REG_ISP_YCURV_YCUR_PROG_CTRL YCUR_PROG_CTRL; + union REG_ISP_YCURV_YCUR_PROG_ST_ADDR YCUR_PROG_ST_ADDR; + union REG_ISP_YCURV_YCUR_PROG_DATA YCUR_PROG_DATA; + union REG_ISP_YCURV_YCUR_PROG_MAX YCUR_PROG_MAX; + union REG_ISP_YCURV_YCUR_MEM_SW_MODE YCUR_SW_MODE; + union REG_ISP_YCURV_YCUR_MEM_SW_RDATA YCUR_SW_RDATA; + uint32_t _resv_0x1c[1]; + union REG_ISP_YCURV_YCUR_DBG YCUR_DBG; + union REG_ISP_YCURV_YCUR_DMY0 YCUR_DMY0; + union REG_ISP_YCURV_YCUR_DMY1 YCUR_DMY1; + union REG_ISP_YCURV_YCUR_DMY_R YCUR_DMY_R; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_TOP_T { + union REG_ISP_TOP_INT_EVENT0 INT_EVENT0; + union REG_ISP_TOP_INT_EVENT1 INT_EVENT1; + union REG_ISP_TOP_INT_EVENT2 INT_EVENT2; + union REG_ISP_TOP_ERROR_STS ERROR_STS; + union REG_ISP_TOP_INT_EVENT0_EN INT_EVENT0_EN; + union REG_ISP_TOP_INT_EVENT1_EN INT_EVENT1_EN; + union REG_ISP_TOP_INT_EVENT2_EN INT_EVENT2_EN; + uint32_t _resv_0x1c[1]; + union REG_ISP_TOP_SW_CTRL_0 SW_CTRL_0; + union REG_ISP_TOP_SW_CTRL_1 SW_CTRL_1; + union REG_ISP_TOP_CTRL_MODE_SEL0 CTRL_MODE_SEL0; + union REG_ISP_TOP_CTRL_MODE_SEL1 CTRL_MODE_SEL1; + union REG_ISP_TOP_SCENARIOS_CTRL SCENARIOS_CTRL; + union REG_ISP_TOP_SW_RST SW_RST; + union REG_ISP_TOP_BLK_IDLE BLK_IDLE; + union REG_ISP_TOP_BLK_IDLE_ENABLE BLK_IDLE_ENABLE; + union REG_ISP_TOP_DBUS0 DBUS0; + union REG_ISP_TOP_DBUS1 DBUS1; + union REG_ISP_TOP_DBUS2 DBUS2; + union REG_ISP_TOP_DBUS3 DBUS3; + union REG_ISP_TOP_FORCE_INT FORCE_INT; + union REG_ISP_TOP_DUMMY DUMMY; + union REG_ISP_TOP_IP_ENABLE0 IP_ENABLE0; + union REG_ISP_TOP_IP_ENABLE1 IP_ENABLE1; + union REG_ISP_TOP_IP_ENABLE2 IP_ENABLE2; + uint32_t _resv_0x64[1]; + union REG_ISP_TOP_CMDQ_CTRL CMDQ_CTRL; + union REG_ISP_TOP_CMDQ_TRIG CMDQ_TRIG; + union REG_ISP_TOP_TRIG_CNT TRIG_CNT; + union REG_ISP_TOP_SVN_VERSION SVN_VERSION; + union REG_ISP_TOP_TIMESTAMP TIMESTAMP; + uint32_t _resv_0x7c[1]; + union REG_ISP_TOP_SCLIE_ENABLE SCLIE_ENABLE; + union REG_ISP_TOP_W_SLICE_THRESH_MAIN W_SLICE_THRESH_MAIN; + union REG_ISP_TOP_W_SLICE_THRESH_SUB_CURR W_SLICE_THRESH_SUB_CURR; + union REG_ISP_TOP_W_SLICE_THRESH_SUB_PRV W_SLICE_THRESH_SUB_PRV; + union REG_ISP_TOP_R_SLICE_THRESH_MAIN R_SLICE_THRESH_MAIN; + union REG_ISP_TOP_R_SLICE_THRESH_SUB_CURR R_SLICE_THRESH_SUB_CURR; + union REG_ISP_TOP_R_SLICE_THRESH_SUB_PRV R_SLICE_THRESH_SUB_PRV; + union REG_ISP_TOP_RAW_FRAME_VALID RAW_FRAME_VALID; + union REG_ISP_TOP_FIRST_FRAME FIRST_FRAME; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_WDMA_CORE_T { + union REG_WDMA_CORE_SHADOW_RD_SEL SHADOW_RD_SEL; + union REG_WDMA_CORE_IP_DISABLE IP_DISABLE; + union REG_WDMA_CORE_DISABLE_SEGLEN DISABLE_SEGLEN; + union REG_WDMA_CORE_UP_RING_BASE UP_RING_BASE; + union REG_WDMA_CORE_NORM_STATUS0 NORM_STATUS0; + union REG_WDMA_CORE_NORM_STATUS1 NORM_STATUS1; + union REG_WDMA_CORE_RING_BUFFER_EN RING_BUFFER_EN; + uint32_t _resv_0x1c[1]; + union REG_WDMA_CORE_NORM_PERF NORM_PERF; + uint32_t _resv_0x24[1]; + union REG_WDMA_CORE_RING_PATCH_ENABLE RING_PATCH_ENABLE; + union REG_WDMA_CORE_SET_RING_BASE SET_RING_BASE; + union REG_WDMA_CORE_RING_BASE_ADDR_L RING_BASE_ADDR_L; + union REG_WDMA_CORE_RING_BASE_ADDR_H RING_BASE_ADDR_H; + uint32_t _resv_0x38[18]; + union REG_WDMA_CORE_RING_BUFFER_SIZE0 RING_BUFFER_SIZE0; + union REG_WDMA_CORE_RING_BUFFER_SIZE1 RING_BUFFER_SIZE1; + union REG_WDMA_CORE_RING_BUFFER_SIZE2 RING_BUFFER_SIZE2; + union REG_WDMA_CORE_RING_BUFFER_SIZE3 RING_BUFFER_SIZE3; + union REG_WDMA_CORE_RING_BUFFER_SIZE4 RING_BUFFER_SIZE4; + union REG_WDMA_CORE_RING_BUFFER_SIZE5 RING_BUFFER_SIZE5; + union REG_WDMA_CORE_RING_BUFFER_SIZE6 RING_BUFFER_SIZE6; + union REG_WDMA_CORE_RING_BUFFER_SIZE7 RING_BUFFER_SIZE7; + union REG_WDMA_CORE_RING_BUFFER_SIZE8 RING_BUFFER_SIZE8; + union REG_WDMA_CORE_RING_BUFFER_SIZE9 RING_BUFFER_SIZE9; + union REG_WDMA_CORE_RING_BUFFER_SIZE10 RING_BUFFER_SIZE10; + union REG_WDMA_CORE_RING_BUFFER_SIZE11 RING_BUFFER_SIZE11; + union REG_WDMA_CORE_RING_BUFFER_SIZE12 RING_BUFFER_SIZE12; + union REG_WDMA_CORE_RING_BUFFER_SIZE13 RING_BUFFER_SIZE13; + union REG_WDMA_CORE_RING_BUFFER_SIZE14 RING_BUFFER_SIZE14; + union REG_WDMA_CORE_RING_BUFFER_SIZE15 RING_BUFFER_SIZE15; + union REG_WDMA_CORE_RING_BUFFER_SIZE16 RING_BUFFER_SIZE16; + union REG_WDMA_CORE_RING_BUFFER_SIZE17 RING_BUFFER_SIZE17; + union REG_WDMA_CORE_RING_BUFFER_SIZE18 RING_BUFFER_SIZE18; + union REG_WDMA_CORE_RING_BUFFER_SIZE19 RING_BUFFER_SIZE19; + union REG_WDMA_CORE_RING_BUFFER_SIZE20 RING_BUFFER_SIZE20; + union REG_WDMA_CORE_RING_BUFFER_SIZE21 RING_BUFFER_SIZE21; + union REG_WDMA_CORE_RING_BUFFER_SIZE22 RING_BUFFER_SIZE22; + union REG_WDMA_CORE_RING_BUFFER_SIZE23 RING_BUFFER_SIZE23; + union REG_WDMA_CORE_RING_BUFFER_SIZE24 RING_BUFFER_SIZE24; + union REG_WDMA_CORE_RING_BUFFER_SIZE25 RING_BUFFER_SIZE25; + union REG_WDMA_CORE_RING_BUFFER_SIZE26 RING_BUFFER_SIZE26; + union REG_WDMA_CORE_RING_BUFFER_SIZE27 RING_BUFFER_SIZE27; + union REG_WDMA_CORE_RING_BUFFER_SIZE28 RING_BUFFER_SIZE28; + union REG_WDMA_CORE_RING_BUFFER_SIZE29 RING_BUFFER_SIZE29; + union REG_WDMA_CORE_RING_BUFFER_SIZE30 RING_BUFFER_SIZE30; + union REG_WDMA_CORE_RING_BUFFER_SIZE31 RING_BUFFER_SIZE31; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS0 NEXT_DMA_ADDR_STS0; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS1 NEXT_DMA_ADDR_STS1; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS2 NEXT_DMA_ADDR_STS2; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS3 NEXT_DMA_ADDR_STS3; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS4 NEXT_DMA_ADDR_STS4; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS5 NEXT_DMA_ADDR_STS5; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS6 NEXT_DMA_ADDR_STS6; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS7 NEXT_DMA_ADDR_STS7; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS8 NEXT_DMA_ADDR_STS8; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS9 NEXT_DMA_ADDR_STS9; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS10 NEXT_DMA_ADDR_STS10; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS11 NEXT_DMA_ADDR_STS11; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS12 NEXT_DMA_ADDR_STS12; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS13 NEXT_DMA_ADDR_STS13; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS14 NEXT_DMA_ADDR_STS14; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS15 NEXT_DMA_ADDR_STS15; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS16 NEXT_DMA_ADDR_STS16; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS17 NEXT_DMA_ADDR_STS17; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS18 NEXT_DMA_ADDR_STS18; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS19 NEXT_DMA_ADDR_STS19; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS20 NEXT_DMA_ADDR_STS20; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS21 NEXT_DMA_ADDR_STS21; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS22 NEXT_DMA_ADDR_STS22; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS23 NEXT_DMA_ADDR_STS23; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS24 NEXT_DMA_ADDR_STS24; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS25 NEXT_DMA_ADDR_STS25; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS26 NEXT_DMA_ADDR_STS26; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS27 NEXT_DMA_ADDR_STS27; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS28 NEXT_DMA_ADDR_STS28; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS29 NEXT_DMA_ADDR_STS29; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS30 NEXT_DMA_ADDR_STS30; + union REG_WDMA_CORE_NEXT_DMA_ADDR_STS31 NEXT_DMA_ADDR_STS31; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_RDMA_CORE_T { + union REG_RDMA_CORE_SHADOW_RD_SEL SHADOW_RD_SEL; + union REG_RDMA_CORE_IP_DISABLE IP_DISABLE; + uint32_t _resv_0x8[1]; + union REG_RDMA_CORE_UP_RING_BASE UP_RING_BASE; + union REG_RDMA_CORE_NORM_STATUS0 NORM_STATUS0; + union REG_RDMA_CORE_NORM_STATUS1 NORM_STATUS1; + union REG_RDMA_CORE_RING_BUFFER_EN RING_BUFFER_EN; + uint32_t _resv_0x1c[1]; + union REG_RDMA_CORE_NORM_PERF NORM_PERF; + union REG_RDMA_CORE_AR_PRIORITY_SEL AR_PRIORITY_SEL; + union REG_RDMA_CORE_RING_PATCH_ENABLE RING_PATCH_ENABLE; + union REG_RDMA_CORE_SET_RING_BASE SET_RING_BASE; + union REG_RDMA_CORE_RING_BASE_ADDR_L RING_BASE_ADDR_L; + union REG_RDMA_CORE_RING_BASE_ADDR_H RING_BASE_ADDR_H; + uint32_t _resv_0x38[18]; + union REG_RDMA_CORE_RING_BUFFER_SIZE0 RING_BUFFER_SIZE0; + union REG_RDMA_CORE_RING_BUFFER_SIZE1 RING_BUFFER_SIZE1; + union REG_RDMA_CORE_RING_BUFFER_SIZE2 RING_BUFFER_SIZE2; + union REG_RDMA_CORE_RING_BUFFER_SIZE3 RING_BUFFER_SIZE3; + union REG_RDMA_CORE_RING_BUFFER_SIZE4 RING_BUFFER_SIZE4; + union REG_RDMA_CORE_RING_BUFFER_SIZE5 RING_BUFFER_SIZE5; + union REG_RDMA_CORE_RING_BUFFER_SIZE6 RING_BUFFER_SIZE6; + union REG_RDMA_CORE_RING_BUFFER_SIZE7 RING_BUFFER_SIZE7; + union REG_RDMA_CORE_RING_BUFFER_SIZE8 RING_BUFFER_SIZE8; + union REG_RDMA_CORE_RING_BUFFER_SIZE9 RING_BUFFER_SIZE9; + union REG_RDMA_CORE_RING_BUFFER_SIZE10 RING_BUFFER_SIZE10; + union REG_RDMA_CORE_RING_BUFFER_SIZE11 RING_BUFFER_SIZE11; + union REG_RDMA_CORE_RING_BUFFER_SIZE12 RING_BUFFER_SIZE12; + union REG_RDMA_CORE_RING_BUFFER_SIZE13 RING_BUFFER_SIZE13; + union REG_RDMA_CORE_RING_BUFFER_SIZE14 RING_BUFFER_SIZE14; + union REG_RDMA_CORE_RING_BUFFER_SIZE15 RING_BUFFER_SIZE15; + union REG_RDMA_CORE_RING_BUFFER_SIZE16 RING_BUFFER_SIZE16; + union REG_RDMA_CORE_RING_BUFFER_SIZE17 RING_BUFFER_SIZE17; + union REG_RDMA_CORE_RING_BUFFER_SIZE18 RING_BUFFER_SIZE18; + union REG_RDMA_CORE_RING_BUFFER_SIZE19 RING_BUFFER_SIZE19; + union REG_RDMA_CORE_RING_BUFFER_SIZE20 RING_BUFFER_SIZE20; + union REG_RDMA_CORE_RING_BUFFER_SIZE21 RING_BUFFER_SIZE21; + union REG_RDMA_CORE_RING_BUFFER_SIZE22 RING_BUFFER_SIZE22; + union REG_RDMA_CORE_RING_BUFFER_SIZE23 RING_BUFFER_SIZE23; + union REG_RDMA_CORE_RING_BUFFER_SIZE24 RING_BUFFER_SIZE24; + union REG_RDMA_CORE_RING_BUFFER_SIZE25 RING_BUFFER_SIZE25; + union REG_RDMA_CORE_RING_BUFFER_SIZE26 RING_BUFFER_SIZE26; + union REG_RDMA_CORE_RING_BUFFER_SIZE27 RING_BUFFER_SIZE27; + union REG_RDMA_CORE_RING_BUFFER_SIZE28 RING_BUFFER_SIZE28; + union REG_RDMA_CORE_RING_BUFFER_SIZE29 RING_BUFFER_SIZE29; + union REG_RDMA_CORE_RING_BUFFER_SIZE30 RING_BUFFER_SIZE30; + union REG_RDMA_CORE_RING_BUFFER_SIZE31 RING_BUFFER_SIZE31; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS0 NEXT_DMA_ADDR_STS0; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS1 NEXT_DMA_ADDR_STS1; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS2 NEXT_DMA_ADDR_STS2; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS3 NEXT_DMA_ADDR_STS3; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS4 NEXT_DMA_ADDR_STS4; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS5 NEXT_DMA_ADDR_STS5; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS6 NEXT_DMA_ADDR_STS6; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS7 NEXT_DMA_ADDR_STS7; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS8 NEXT_DMA_ADDR_STS8; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS9 NEXT_DMA_ADDR_STS9; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS10 NEXT_DMA_ADDR_STS10; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS11 NEXT_DMA_ADDR_STS11; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS12 NEXT_DMA_ADDR_STS12; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS13 NEXT_DMA_ADDR_STS13; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS14 NEXT_DMA_ADDR_STS14; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS15 NEXT_DMA_ADDR_STS15; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS16 NEXT_DMA_ADDR_STS16; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS17 NEXT_DMA_ADDR_STS17; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS18 NEXT_DMA_ADDR_STS18; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS19 NEXT_DMA_ADDR_STS19; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS20 NEXT_DMA_ADDR_STS20; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS21 NEXT_DMA_ADDR_STS21; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS22 NEXT_DMA_ADDR_STS22; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS23 NEXT_DMA_ADDR_STS23; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS24 NEXT_DMA_ADDR_STS24; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS25 NEXT_DMA_ADDR_STS25; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS26 NEXT_DMA_ADDR_STS26; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS27 NEXT_DMA_ADDR_STS27; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS28 NEXT_DMA_ADDR_STS28; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS29 NEXT_DMA_ADDR_STS29; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS30 NEXT_DMA_ADDR_STS30; + union REG_RDMA_CORE_NEXT_DMA_ADDR_STS31 NEXT_DMA_ADDR_STS31; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CSI_BDG_LITE_T { + union REG_ISP_CSI_BDG_LITE_BDG_TOP_CTRL CSI_BDG_TOP_CTRL; + union REG_ISP_CSI_BDG_LITE_BDG_INTERRUPT_CTRL_0 CSI_BDG_INTERRUPT_CTRL_0; + union REG_ISP_CSI_BDG_LITE_BDG_INTERRUPT_CTRL_1 CSI_BDG_INTERRUPT_CTRL_1; + union REG_ISP_CSI_BDG_LITE_FRAME_VLD FRAME_VLD; + union REG_ISP_CSI_BDG_LITE_CH0_SIZE CH0_SIZE; + union REG_ISP_CSI_BDG_LITE_CH1_SIZE CH1_SIZE; + union REG_ISP_CSI_BDG_LITE_CH2_SIZE CH2_SIZE; + union REG_ISP_CSI_BDG_LITE_CH3_SIZE CH3_SIZE; + union REG_ISP_CSI_BDG_LITE_CH0_CROP_EN CH0_CROP_EN; + union REG_ISP_CSI_BDG_LITE_CH0_HORZ_CROP CH0_HORZ_CROP; + union REG_ISP_CSI_BDG_LITE_CH0_VERT_CROP CH0_VERT_CROP; + uint32_t _resv_0x2c[1]; + union REG_ISP_CSI_BDG_LITE_CH1_CROP_EN CH1_CROP_EN; + union REG_ISP_CSI_BDG_LITE_CH1_HORZ_CROP CH1_HORZ_CROP; + union REG_ISP_CSI_BDG_LITE_CH1_VERT_CROP CH1_VERT_CROP; + uint32_t _resv_0x3c[1]; + union REG_ISP_CSI_BDG_LITE_CH2_CROP_EN CH2_CROP_EN; + union REG_ISP_CSI_BDG_LITE_CH2_HORZ_CROP CH2_HORZ_CROP; + union REG_ISP_CSI_BDG_LITE_CH2_VERT_CROP CH2_VERT_CROP; + uint32_t _resv_0x4c[1]; + union REG_ISP_CSI_BDG_LITE_CH3_CROP_EN CH3_CROP_EN; + union REG_ISP_CSI_BDG_LITE_CH3_HORZ_CROP CH3_HORZ_CROP; + union REG_ISP_CSI_BDG_LITE_CH3_VERT_CROP CH3_VERT_CROP; + uint32_t _resv_0x5c[16]; + union REG_ISP_CSI_BDG_LITE_LINE_INTP_HEIGHT LINE_INTP_HEIGHT; + union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_0 CH0_DEBUG_0; + union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_1 CH0_DEBUG_1; + union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_2 CH0_DEBUG_2; + union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_3 CH0_DEBUG_3; + union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_0 CH1_DEBUG_0; + union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_1 CH1_DEBUG_1; + union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_2 CH1_DEBUG_2; + union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_3 CH1_DEBUG_3; + union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_0 CH2_DEBUG_0; + union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_1 CH2_DEBUG_1; + union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_2 CH2_DEBUG_2; + union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_3 CH2_DEBUG_3; + union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_0 CH3_DEBUG_0; + union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_1 CH3_DEBUG_1; + union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_2 CH3_DEBUG_2; + union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_3 CH3_DEBUG_3; + union REG_ISP_CSI_BDG_LITE_INTERRUPT_STATUS_0 INTERRUPT_STATUS_0; + union REG_ISP_CSI_BDG_LITE_INTERRUPT_STATUS_1 INTERRUPT_STATUS_1; + union REG_ISP_CSI_BDG_LITE_BDG_DEBUG BDG_DEBUG; + uint32_t _resv_0xec[1]; + union REG_ISP_CSI_BDG_LITE_WR_URGENT_CTRL CSI_WR_URGENT_CTRL; + union REG_ISP_CSI_BDG_LITE_RD_URGENT_CTRL CSI_RD_URGENT_CTRL; + union REG_ISP_CSI_BDG_LITE_DUMMY CSI_DUMMY; + uint32_t _resv_0xfc[21]; + union REG_ISP_CSI_BDG_LITE_TRIG_DLY_CONTROL_0 TRIG_DLY_CONTROL_0; + union REG_ISP_CSI_BDG_LITE_TRIG_DLY_CONTROL_1 TRIG_DLY_CONTROL_1; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_RAW_RDMA_CTRL_T { + union REG_RAW_RDMA_CTRL_READ_SEL READ_SEL; + union REG_RAW_RDMA_CTRL_CONFIG CONFIG; + union REG_RAW_RDMA_CTRL_RDMA_SIZE RDMA_SIZE; + union REG_RAW_RDMA_CTRL_DPCM_MODE DPCM_MODE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_LDCI_T { + union REG_ISP_LDCI_ENABLE LDCI_ENABLE; + union REG_ISP_LDCI_STRENGTH LDCI_STRENGTH; + union REG_ISP_LDCI_LUMA_WGT_MAX LDCI_LUMA_WGT_MAX; + union REG_ISP_LDCI_IDX_IIR_ALPHA LDCI_IDX_IIR_ALPHA; + union REG_ISP_LDCI_EDGE_SCALE LDCI_EDGE_SCALE; + union REG_ISP_LDCI_EDGE_CLAMP LDCI_EDGE_CLAMP; + union REG_ISP_LDCI_IDX_FILTER_NORM LDCI_IDX_FILTER_NORM; + union REG_ISP_LDCI_TONE_CURVE_IDX_00 LDCI_TONE_CURVE_IDX_00; + uint32_t _resv_0x20[3]; + union REG_ISP_LDCI_BLK_SIZE_X LDCI_BLK_SIZE_X; + union REG_ISP_LDCI_BLK_SIZE_X1 LDCI_BLK_SIZE_X1; + union REG_ISP_LDCI_SUBBLK_SIZE_X LDCI_SUBBLK_SIZE_X; + union REG_ISP_LDCI_SUBBLK_SIZE_X1 LDCI_SUBBLK_SIZE_X1; + union REG_ISP_LDCI_INTERP_NORM_LR LDCI_INTERP_NORM_LR; + union REG_ISP_LDCI_SUB_INTERP_NORM_LR LDCI_SUB_INTERP_NORM_LR; + union REG_ISP_LDCI_MEAN_NORM_X LDCI_MEAN_NORM_X; + union REG_ISP_LDCI_VAR_NORM_Y LDCI_VAR_NORM_Y; + union REG_ISP_LDCI_UV_GAIN_MAX LDCI_UV_GAIN_MAX; + union REG_ISP_LDCI_IMG_WIDTHM1 LDCI_IMG_WIDTHM1; + uint32_t _resv_0x54[11]; + union REG_ISP_LDCI_STATUS LDCI_STATUS; + union REG_ISP_LDCI_GRACE_RESET LDCI_GRACE_RESET; + union REG_ISP_LDCI_MONITOR LDCI_MONITOR; + union REG_ISP_LDCI_FLOW LDCI_FLOW; + union REG_ISP_LDCI_MONITOR_SELECT LDCI_MONITOR_SELECT; + union REG_ISP_LDCI_LOCATION LDCI_LOCATION; + union REG_ISP_LDCI_DEBUG LDCI_DEBUG; + union REG_ISP_LDCI_DUMMY LDCI_DUMMY; + union REG_ISP_LDCI_DMI_ENABLE DMI_ENABLE; + uint32_t _resv_0xa4[1]; + union REG_ISP_LDCI_DCI_BAYER_STARTING DCI_BAYER_STARTING; + uint32_t _resv_0xac[1]; + union REG_ISP_LDCI_IDX_FILTER_LUT_00 LDCI_IDX_FILTER_LUT_00; + union REG_ISP_LDCI_IDX_FILTER_LUT_02 LDCI_IDX_FILTER_LUT_02; + union REG_ISP_LDCI_IDX_FILTER_LUT_04 LDCI_IDX_FILTER_LUT_04; + union REG_ISP_LDCI_IDX_FILTER_LUT_06 LDCI_IDX_FILTER_LUT_06; + union REG_ISP_LDCI_IDX_FILTER_LUT_08 LDCI_IDX_FILTER_LUT_08; + union REG_ISP_LDCI_IDX_FILTER_LUT_10 LDCI_IDX_FILTER_LUT_10; + union REG_ISP_LDCI_IDX_FILTER_LUT_12 LDCI_IDX_FILTER_LUT_12; + union REG_ISP_LDCI_IDX_FILTER_LUT_14 LDCI_IDX_FILTER_LUT_14; + union REG_ISP_LDCI_INTERP_NORM_LR1 LDCI_INTERP_NORM_LR1; + union REG_ISP_LDCI_SUB_INTERP_NORM_LR1 LDCI_SUB_INTERP_NORM_LR1; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_00 LDCI_TONE_CURVE_LUT_00_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_02 LDCI_TONE_CURVE_LUT_00_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_04 LDCI_TONE_CURVE_LUT_00_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_06 LDCI_TONE_CURVE_LUT_00_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_08 LDCI_TONE_CURVE_LUT_00_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_10 LDCI_TONE_CURVE_LUT_00_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_12 LDCI_TONE_CURVE_LUT_00_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_14 LDCI_TONE_CURVE_LUT_00_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_00 LDCI_TONE_CURVE_LUT_01_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_02 LDCI_TONE_CURVE_LUT_01_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_04 LDCI_TONE_CURVE_LUT_01_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_06 LDCI_TONE_CURVE_LUT_01_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_08 LDCI_TONE_CURVE_LUT_01_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_10 LDCI_TONE_CURVE_LUT_01_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_12 LDCI_TONE_CURVE_LUT_01_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_14 LDCI_TONE_CURVE_LUT_01_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_00 LDCI_TONE_CURVE_LUT_02_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_02 LDCI_TONE_CURVE_LUT_02_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_04 LDCI_TONE_CURVE_LUT_02_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_06 LDCI_TONE_CURVE_LUT_02_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_08 LDCI_TONE_CURVE_LUT_02_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_10 LDCI_TONE_CURVE_LUT_02_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_12 LDCI_TONE_CURVE_LUT_02_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_14 LDCI_TONE_CURVE_LUT_02_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_00 LDCI_TONE_CURVE_LUT_03_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_02 LDCI_TONE_CURVE_LUT_03_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_04 LDCI_TONE_CURVE_LUT_03_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_06 LDCI_TONE_CURVE_LUT_03_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_08 LDCI_TONE_CURVE_LUT_03_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_10 LDCI_TONE_CURVE_LUT_03_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_12 LDCI_TONE_CURVE_LUT_03_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_14 LDCI_TONE_CURVE_LUT_03_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_00 LDCI_TONE_CURVE_LUT_04_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_02 LDCI_TONE_CURVE_LUT_04_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_04 LDCI_TONE_CURVE_LUT_04_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_06 LDCI_TONE_CURVE_LUT_04_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_08 LDCI_TONE_CURVE_LUT_04_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_10 LDCI_TONE_CURVE_LUT_04_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_12 LDCI_TONE_CURVE_LUT_04_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_14 LDCI_TONE_CURVE_LUT_04_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_00 LDCI_TONE_CURVE_LUT_05_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_02 LDCI_TONE_CURVE_LUT_05_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_04 LDCI_TONE_CURVE_LUT_05_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_06 LDCI_TONE_CURVE_LUT_05_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_08 LDCI_TONE_CURVE_LUT_05_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_10 LDCI_TONE_CURVE_LUT_05_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_12 LDCI_TONE_CURVE_LUT_05_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_14 LDCI_TONE_CURVE_LUT_05_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_00 LDCI_TONE_CURVE_LUT_06_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_02 LDCI_TONE_CURVE_LUT_06_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_04 LDCI_TONE_CURVE_LUT_06_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_06 LDCI_TONE_CURVE_LUT_06_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_08 LDCI_TONE_CURVE_LUT_06_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_10 LDCI_TONE_CURVE_LUT_06_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_12 LDCI_TONE_CURVE_LUT_06_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_14 LDCI_TONE_CURVE_LUT_06_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_00 LDCI_TONE_CURVE_LUT_07_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_02 LDCI_TONE_CURVE_LUT_07_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_04 LDCI_TONE_CURVE_LUT_07_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_06 LDCI_TONE_CURVE_LUT_07_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_08 LDCI_TONE_CURVE_LUT_07_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_10 LDCI_TONE_CURVE_LUT_07_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_12 LDCI_TONE_CURVE_LUT_07_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_14 LDCI_TONE_CURVE_LUT_07_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_00 LDCI_TONE_CURVE_LUT_P_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_02 LDCI_TONE_CURVE_LUT_P_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_04 LDCI_TONE_CURVE_LUT_P_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_06 LDCI_TONE_CURVE_LUT_P_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_08 LDCI_TONE_CURVE_LUT_P_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_10 LDCI_TONE_CURVE_LUT_P_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_12 LDCI_TONE_CURVE_LUT_P_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_14 LDCI_TONE_CURVE_LUT_P_14; + uint32_t _resv_0x1f8[2]; + union REG_ISP_LDCI_LUMA_WGT_LUT_00 LDCI_LUMA_WGT_LUT_00; + union REG_ISP_LDCI_LUMA_WGT_LUT_04 LDCI_LUMA_WGT_LUT_04; + union REG_ISP_LDCI_LUMA_WGT_LUT_08 LDCI_LUMA_WGT_LUT_08; + union REG_ISP_LDCI_LUMA_WGT_LUT_12 LDCI_LUMA_WGT_LUT_12; + union REG_ISP_LDCI_LUMA_WGT_LUT_16 LDCI_LUMA_WGT_LUT_16; + union REG_ISP_LDCI_LUMA_WGT_LUT_20 LDCI_LUMA_WGT_LUT_20; + union REG_ISP_LDCI_LUMA_WGT_LUT_24 LDCI_LUMA_WGT_LUT_24; + union REG_ISP_LDCI_LUMA_WGT_LUT_28 LDCI_LUMA_WGT_LUT_28; + union REG_ISP_LDCI_LUMA_WGT_LUT_32 LDCI_LUMA_WGT_LUT_32; + uint32_t _resv_0x224[3]; + union REG_ISP_LDCI_VAR_FILTER_LUT_00 LDCI_VAR_FILTER_LUT_00; + union REG_ISP_LDCI_VAR_FILTER_LUT_02 LDCI_VAR_FILTER_LUT_02; + union REG_ISP_LDCI_VAR_FILTER_LUT_04 LDCI_VAR_FILTER_LUT_04; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_RGB_TOP_T { + union REG_ISP_RGB_TOP_0 REG_0; + union REG_ISP_RGB_TOP_1 REG_1; + union REG_ISP_RGB_TOP_2 REG_2; + union REG_ISP_RGB_TOP_3 REG_3; + union REG_ISP_RGB_TOP_4 REG_4; + union REG_ISP_RGB_TOP_5 REG_5; + union REG_ISP_RGB_TOP_6 REG_6; + union REG_ISP_RGB_TOP_7 REG_7; + union REG_ISP_RGB_TOP_8 REG_8; + union REG_ISP_RGB_TOP_9 REG_9; + uint32_t _resv_0x28[2]; + union REG_ISP_RGB_TOP_10 REG_10; + union REG_ISP_RGB_TOP_11 REG_11; + union REG_ISP_RGB_TOP_12 REG_12; + union REG_ISP_RGB_TOP_13 REG_13; + union REG_ISP_RGB_TOP_14 REG_14; + uint32_t _resv_0x44[3]; + union REG_ISP_RGB_TOP_DBG_IP_S_VLD DBG_IP_S_VLD; + union REG_ISP_RGB_TOP_DBG_IP_S_RDY DBG_IP_S_RDY; + union REG_ISP_RGB_TOP_DBG_DMI_VLD DBG_DMI_VLD; + union REG_ISP_RGB_TOP_DBG_DMI_RDY DBG_DMI_RDY; + union REG_ISP_RGB_TOP_PATGEN1 PATGEN1; + union REG_ISP_RGB_TOP_PATGEN2 PATGEN2; + union REG_ISP_RGB_TOP_PATGEN3 PATGEN3; + union REG_ISP_RGB_TOP_PATGEN4 PATGEN4; + union REG_ISP_RGB_TOP_CHK_SUM CHK_SUM; + union REG_ISP_RGB_TOP_DMA_IDLE DMA_IDLE; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_PRE_WDMA_CTRL_T { + union REG_PRE_WDMA_CTRL PRE_WDMA_CTRL; + union REG_PRE_WDMA_CTRL_PRE_RAW_BE_RDMI_DPCM PRE_RAW_BE_RDMI_DPCM; + union REG_PRE_WDMA_CTRL_DUMMY DUMMY; + uint32_t _resv_0xc[12]; + union REG_PRE_WDMA_CTRL_DEBUG_INFO INFO; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_EE_T { + union REG_ISP_EE_00 REG_00; + union REG_ISP_EE_04 REG_04; + uint32_t _resv_0x8[1]; + union REG_ISP_EE_0C REG_0C; + union REG_ISP_EE_10 REG_10; + uint32_t _resv_0x14[36]; + union REG_ISP_EE_A4 REG_A4; + union REG_ISP_EE_A8 REG_A8; + union REG_ISP_EE_AC REG_AC; + union REG_ISP_EE_B0 REG_B0; + union REG_ISP_EE_B4 REG_B4; + union REG_ISP_EE_B8 REG_B8; + union REG_ISP_EE_BC REG_BC; + union REG_ISP_EE_C0 REG_C0; + union REG_ISP_EE_C4 REG_C4; + union REG_ISP_EE_C8 REG_C8; + union REG_ISP_EE_HCC REG_HCC; + union REG_ISP_EE_HD0 REG_HD0; + uint32_t _resv_0xd4[23]; + union REG_ISP_EE_130 REG_130; + union REG_ISP_EE_134 REG_134; + union REG_ISP_EE_138 REG_138; + union REG_ISP_EE_13C REG_13C; + union REG_ISP_EE_140 REG_140; + union REG_ISP_EE_144 REG_144; + union REG_ISP_EE_148 REG_148; + union REG_ISP_EE_14C REG_14C; + union REG_ISP_EE_150 REG_150; + union REG_ISP_EE_154 REG_154; + union REG_ISP_EE_158 REG_158; + union REG_ISP_EE_15C REG_15C; + union REG_ISP_EE_160 REG_160; + union REG_ISP_EE_164 REG_164; + union REG_ISP_EE_168 REG_168; + union REG_ISP_EE_16C REG_16C; + union REG_ISP_EE_170 REG_170; + union REG_ISP_EE_174 REG_174; + union REG_ISP_EE_178 REG_178; + union REG_ISP_EE_17C REG_17C; + union REG_ISP_EE_180 REG_180; + union REG_ISP_EE_184 REG_184; + union REG_ISP_EE_188 REG_188; + union REG_ISP_EE_18C REG_18C; + union REG_ISP_EE_190 REG_190; + union REG_ISP_EE_194 REG_194; + union REG_ISP_EE_198 REG_198; + union REG_ISP_EE_19C REG_19C; + union REG_ISP_EE_1A0 REG_1A0; + union REG_ISP_EE_1A4 REG_1A4; + union REG_ISP_EE_1A8 REG_1A8; + uint32_t _resv_0x1ac[6]; + union REG_ISP_EE_1C4 REG_1C4; + union REG_ISP_EE_1C8 REG_1C8; + union REG_ISP_EE_1CC REG_1CC; + union REG_ISP_EE_1D0 REG_1D0; + union REG_ISP_EE_1D4 REG_1D4; + union REG_ISP_EE_1D8 REG_1D8; + union REG_ISP_EE_1DC REG_1DC; + union REG_ISP_EE_1E0 REG_1E0; + union REG_ISP_EE_1E4 REG_1E4; + union REG_ISP_EE_1E8 REG_1E8; + union REG_ISP_EE_1EC REG_1EC; + union REG_ISP_EE_1F0 REG_1F0; + union REG_ISP_EE_1F4 REG_1F4; + union REG_ISP_EE_1F8 REG_1F8; + union REG_ISP_EE_1FC REG_1FC; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_YGAMMA_T { + union REG_YGAMMA_GAMMA_CTRL GAMMA_CTRL; + union REG_YGAMMA_GAMMA_PROG_CTRL GAMMA_PROG_CTRL; + union REG_YGAMMA_GAMMA_PROG_ST_ADDR GAMMA_PROG_ST_ADDR; + union REG_YGAMMA_GAMMA_PROG_DATA GAMMA_PROG_DATA; + union REG_YGAMMA_GAMMA_PROG_MAX GAMMA_PROG_MAX; + union REG_YGAMMA_GAMMA_MEM_SW_RADDR GAMMA_SW_RADDR; + union REG_YGAMMA_GAMMA_MEM_SW_RDATA GAMMA_SW_RDATA; + union REG_YGAMMA_GAMMA_MEM_SW_RDATA_BG GAMMA_SW_RDATA_BG; + union REG_YGAMMA_GAMMA_DBG GAMMA_DBG; + union REG_YGAMMA_GAMMA_DMY0 GAMMA_DMY0; + union REG_YGAMMA_GAMMA_DMY1 GAMMA_DMY1; + union REG_YGAMMA_GAMMA_DMY_R GAMMA_DMY_R; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_PREYEE_T { + union REG_ISP_PREYEE_00 REG_00; + union REG_ISP_PREYEE_04 REG_04; + uint32_t _resv_0x8[1]; + union REG_ISP_PREYEE_0C REG_0C; + union REG_ISP_PREYEE_10 REG_10; + uint32_t _resv_0x14[36]; + union REG_ISP_PREYEE_A4 REG_A4; + union REG_ISP_PREYEE_A8 REG_A8; + union REG_ISP_PREYEE_AC REG_AC; + union REG_ISP_PREYEE_B0 REG_B0; + union REG_ISP_PREYEE_B4 REG_B4; + union REG_ISP_PREYEE_B8 REG_B8; + union REG_ISP_PREYEE_BC REG_BC; + union REG_ISP_PREYEE_C0 REG_C0; + union REG_ISP_PREYEE_C4 REG_C4; + union REG_ISP_PREYEE_C8 REG_C8; + union REG_ISP_PREYEE_HCC REG_HCC; + union REG_ISP_PREYEE_HD0 REG_HD0; + uint32_t _resv_0xd4[23]; + union REG_ISP_PREYEE_130 REG_130; + union REG_ISP_PREYEE_134 REG_134; + union REG_ISP_PREYEE_138 REG_138; + union REG_ISP_PREYEE_13C REG_13C; + union REG_ISP_PREYEE_140 REG_140; + union REG_ISP_PREYEE_144 REG_144; + union REG_ISP_PREYEE_148 REG_148; + union REG_ISP_PREYEE_14C REG_14C; + union REG_ISP_PREYEE_150 REG_150; + union REG_ISP_PREYEE_154 REG_154; + union REG_ISP_PREYEE_158 REG_158; + union REG_ISP_PREYEE_15C REG_15C; + union REG_ISP_PREYEE_160 REG_160; + union REG_ISP_PREYEE_164 REG_164; + union REG_ISP_PREYEE_168 REG_168; + union REG_ISP_PREYEE_16C REG_16C; + union REG_ISP_PREYEE_170 REG_170; + union REG_ISP_PREYEE_174 REG_174; + union REG_ISP_PREYEE_178 REG_178; + union REG_ISP_PREYEE_17C REG_17C; + union REG_ISP_PREYEE_180 REG_180; + union REG_ISP_PREYEE_184 REG_184; + union REG_ISP_PREYEE_188 REG_188; + union REG_ISP_PREYEE_18C REG_18C; + union REG_ISP_PREYEE_190 REG_190; + union REG_ISP_PREYEE_194 REG_194; + union REG_ISP_PREYEE_198 REG_198; + union REG_ISP_PREYEE_19C REG_19C; + union REG_ISP_PREYEE_1A0 REG_1A0; + union REG_ISP_PREYEE_1A4 REG_1A4; + union REG_ISP_PREYEE_1A8 REG_1A8; + uint32_t _resv_0x1ac[6]; + union REG_ISP_PREYEE_1C4 REG_1C4; + union REG_ISP_PREYEE_1C8 REG_1C8; + union REG_ISP_PREYEE_1CC REG_1CC; + union REG_ISP_PREYEE_1D0 REG_1D0; + union REG_ISP_PREYEE_1D4 REG_1D4; + union REG_ISP_PREYEE_1D8 REG_1D8; + union REG_ISP_PREYEE_1DC REG_1DC; + union REG_ISP_PREYEE_1E0 REG_1E0; + union REG_ISP_PREYEE_1E4 REG_1E4; + union REG_ISP_PREYEE_1E8 REG_1E8; + union REG_ISP_PREYEE_1EC REG_1EC; + union REG_ISP_PREYEE_1F0 REG_1F0; + uint32_t _resv_0x1f4[2]; + union REG_ISP_PREYEE_1FC REG_1FC; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CSI_BDG_T { + union REG_ISP_CSI_BDG_TOP_CTRL CSI_BDG_TOP_CTRL; + union REG_ISP_CSI_BDG_INTERRUPT_CTRL CSI_BDG_INTERRUPT_CTRL; + union REG_ISP_CSI_BDG_DMA_DPCM_MODE CSI_BDG_DMA_DPCM_MODE; + union REG_ISP_CSI_BDG_DMA_LD_DPCM_MODE CSI_BDG_DMA_LD_DPCM_MODE; + union REG_ISP_CSI_BDG_CH0_SIZE CH0_SIZE; + union REG_ISP_CSI_BDG_CH1_SIZE CH1_SIZE; + union REG_ISP_CSI_BDG_CH2_SIZE CH2_SIZE; + union REG_ISP_CSI_BDG_CH3_SIZE CH3_SIZE; + union REG_ISP_CSI_BDG_CH0_CROP_EN CH0_CROP_EN; + union REG_ISP_CSI_BDG_CH0_HORZ_CROP CH0_HORZ_CROP; + union REG_ISP_CSI_BDG_CH0_VERT_CROP CH0_VERT_CROP; + union REG_ISP_CSI_BDG_CH0_BLC_SUM CH0_BLC_SUM; + union REG_ISP_CSI_BDG_CH1_CROP_EN CH1_CROP_EN; + union REG_ISP_CSI_BDG_CH1_HORZ_CROP CH1_HORZ_CROP; + union REG_ISP_CSI_BDG_CH1_VERT_CROP CH1_VERT_CROP; + union REG_ISP_CSI_BDG_CH1_BLC_SUM CH1_BLC_SUM; + union REG_ISP_CSI_BDG_CH2_CROP_EN CH2_CROP_EN; + union REG_ISP_CSI_BDG_CH2_HORZ_CROP CH2_HORZ_CROP; + union REG_ISP_CSI_BDG_CH2_VERT_CROP CH2_VERT_CROP; + union REG_ISP_CSI_BDG_CH2_BLC_SUM CH2_BLC_SUM; + union REG_ISP_CSI_BDG_CH3_CROP_EN CH3_CROP_EN; + union REG_ISP_CSI_BDG_CH3_HORZ_CROP CH3_HORZ_CROP; + union REG_ISP_CSI_BDG_CH3_VERT_CROP CH3_VERT_CROP; + union REG_ISP_CSI_BDG_CH3_BLC_SUM CH3_BLC_SUM; + union REG_ISP_CSI_BDG_PAT_GEN_CTRL CSI_PAT_GEN_CTRL; + union REG_ISP_CSI_BDG_PAT_IDX_CTRL CSI_PAT_IDX_CTRL; + union REG_ISP_CSI_BDG_PAT_COLOR_0 CSI_PAT_COLOR_0; + union REG_ISP_CSI_BDG_PAT_COLOR_1 CSI_PAT_COLOR_1; + union REG_ISP_CSI_BDG_BACKGROUND_COLOR_0 CSI_BACKGROUND_COLOR_0; + union REG_ISP_CSI_BDG_BACKGROUND_COLOR_1 CSI_BACKGROUND_COLOR_1; + union REG_ISP_CSI_BDG_FIX_COLOR_0 CSI_FIX_COLOR_0; + union REG_ISP_CSI_BDG_FIX_COLOR_1 CSI_FIX_COLOR_1; + union REG_ISP_CSI_BDG_MDE_V_SIZE CSI_MDE_V_SIZE; + union REG_ISP_CSI_BDG_MDE_H_SIZE CSI_MDE_H_SIZE; + union REG_ISP_CSI_BDG_FDE_V_SIZE CSI_FDE_V_SIZE; + union REG_ISP_CSI_BDG_FDE_H_SIZE CSI_FDE_H_SIZE; + union REG_ISP_CSI_BDG_HSYNC_CTRL CSI_HSYNC_CTRL; + union REG_ISP_CSI_BDG_VSYNC_CTRL CSI_VSYNC_CTRL; + union REG_ISP_CSI_BDG_TGEN_TT_SIZE CSI_TGEN_TT_SIZE; + union REG_ISP_CSI_BDG_LINE_INTP_HEIGHT_0 LINE_INTP_HEIGHT_0; + union REG_ISP_CSI_BDG_CH0_DEBUG_0 CH0_DEBUG_0; + union REG_ISP_CSI_BDG_CH0_DEBUG_1 CH0_DEBUG_1; + union REG_ISP_CSI_BDG_CH0_DEBUG_2 CH0_DEBUG_2; + union REG_ISP_CSI_BDG_CH0_DEBUG_3 CH0_DEBUG_3; + union REG_ISP_CSI_BDG_CH1_DEBUG_0 CH1_DEBUG_0; + union REG_ISP_CSI_BDG_CH1_DEBUG_1 CH1_DEBUG_1; + union REG_ISP_CSI_BDG_CH1_DEBUG_2 CH1_DEBUG_2; + union REG_ISP_CSI_BDG_CH1_DEBUG_3 CH1_DEBUG_3; + union REG_ISP_CSI_BDG_CH2_DEBUG_0 CH2_DEBUG_0; + union REG_ISP_CSI_BDG_CH2_DEBUG_1 CH2_DEBUG_1; + union REG_ISP_CSI_BDG_CH2_DEBUG_2 CH2_DEBUG_2; + union REG_ISP_CSI_BDG_CH2_DEBUG_3 CH2_DEBUG_3; + union REG_ISP_CSI_BDG_CH3_DEBUG_0 CH3_DEBUG_0; + union REG_ISP_CSI_BDG_CH3_DEBUG_1 CH3_DEBUG_1; + union REG_ISP_CSI_BDG_CH3_DEBUG_2 CH3_DEBUG_2; + union REG_ISP_CSI_BDG_CH3_DEBUG_3 CH3_DEBUG_3; + union REG_ISP_CSI_BDG_INTERRUPT_STATUS_0 INTERRUPT_STATUS_0; + union REG_ISP_CSI_BDG_INTERRUPT_STATUS_1 INTERRUPT_STATUS_1; + union REG_ISP_CSI_BDG_DEBUG BDG_DEBUG; + union REG_ISP_CSI_BDG_OUT_VSYNC_LINE_DELAY CSI_OUT_VSYNC_LINE_DELAY; + union REG_ISP_CSI_BDG_WR_URGENT_CTRL CSI_WR_URGENT_CTRL; + union REG_ISP_CSI_BDG_RD_URGENT_CTRL CSI_RD_URGENT_CTRL; + union REG_ISP_CSI_BDG_DUMMY CSI_DUMMY; + union REG_ISP_CSI_BDG_LINE_INTP_HEIGHT_1 LINE_INTP_HEIGHT_1; + union REG_ISP_CSI_BDG_SLICE_LINE_INTP_HEIGHT_0 SLICE_LINE_INTP_HEIGHT_0; + union REG_ISP_CSI_BDG_SLICE_LINE_INTP_HEIGHT_1 SLICE_LINE_INTP_HEIGHT_1; + uint32_t _resv_0x108[2]; + union REG_ISP_CSI_BDG_WDMA_CH0_CROP_EN WDMA_CH0_CROP_EN; + union REG_ISP_CSI_BDG_WDMA_CH0_HORZ_CROP WDMA_CH0_HORZ_CROP; + union REG_ISP_CSI_BDG_WDMA_CH0_VERT_CROP WDMA_CH0_VERT_CROP; + uint32_t _resv_0x11c[1]; + union REG_ISP_CSI_BDG_WDMA_CH1_CROP_EN WDMA_CH1_CROP_EN; + union REG_ISP_CSI_BDG_WDMA_CH1_HORZ_CROP WDMA_CH1_HORZ_CROP; + union REG_ISP_CSI_BDG_WDMA_CH1_VERT_CROP WDMA_CH1_VERT_CROP; + uint32_t _resv_0x12c[1]; + union REG_ISP_CSI_BDG_WDMA_CH2_CROP_EN WDMA_CH2_CROP_EN; + union REG_ISP_CSI_BDG_WDMA_CH2_HORZ_CROP WDMA_CH2_HORZ_CROP; + union REG_ISP_CSI_BDG_WDMA_CH2_VERT_CROP WDMA_CH2_VERT_CROP; + uint32_t _resv_0x13c[1]; + union REG_ISP_CSI_BDG_WDMA_CH3_CROP_EN WDMA_CH3_CROP_EN; + union REG_ISP_CSI_BDG_WDMA_CH3_HORZ_CROP WDMA_CH3_HORZ_CROP; + union REG_ISP_CSI_BDG_WDMA_CH3_VERT_CROP WDMA_CH3_VERT_CROP; + uint32_t _resv_0x14c[1]; + union REG_ISP_CSI_BDG_TRIG_DLY_CONTROL_0 TRIG_DLY_CONTROL_0; + union REG_ISP_CSI_BDG_TRIG_DLY_CONTROL_1 TRIG_DLY_CONTROL_1; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_LCAC_T { + union REG_ISP_LCAC_REG00 REG00; + union REG_ISP_LCAC_REG04 REG04; + union REG_ISP_LCAC_REG08 REG08; + union REG_ISP_LCAC_REG0C REG0C; + union REG_ISP_LCAC_REG10 REG10; + union REG_ISP_LCAC_REG14 REG14; + union REG_ISP_LCAC_REG18 REG18; + union REG_ISP_LCAC_REG1C REG1C; + union REG_ISP_LCAC_REG20 REG20; + union REG_ISP_LCAC_REG24 REG24; + union REG_ISP_LCAC_REG28 REG28; + union REG_ISP_LCAC_REG2C REG2C; + union REG_ISP_LCAC_REG30 REG30; + union REG_ISP_LCAC_REG34 REG34; + union REG_ISP_LCAC_REG38 REG38; + union REG_ISP_LCAC_REG3C REG3C; + union REG_ISP_LCAC_REG40 REG40; + union REG_ISP_LCAC_REG44 REG44; + union REG_ISP_LCAC_REG48 REG48; + union REG_ISP_LCAC_REG4C REG4C; + union REG_ISP_LCAC_REG50 REG50; + union REG_ISP_LCAC_REG54 REG54; + union REG_ISP_LCAC_REG58 REG58; + union REG_ISP_LCAC_REG5C REG5C; + union REG_ISP_LCAC_REG60 REG60; + union REG_ISP_LCAC_REG64 REG64; + union REG_ISP_LCAC_REG68 REG68; + union REG_ISP_LCAC_REG6C REG6C; + union REG_ISP_LCAC_REG70 REG70; + union REG_ISP_LCAC_REG74 REG74; + union REG_ISP_LCAC_REG78 REG78; + union REG_ISP_LCAC_REG7C REG7C; + union REG_ISP_LCAC_REG80 REG80; + union REG_ISP_LCAC_REG84 REG84; + union REG_ISP_LCAC_REG88 REG88; + union REG_ISP_LCAC_REG8C REG8C; + union REG_ISP_LCAC_REG90 REG90; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_CFA_T { + union REG_ISP_CFA_00 REG_00; + union REG_ISP_CFA_04 REG_04; + uint32_t _resv_0x8[1]; + union REG_ISP_CFA_0C REG_0C; + union REG_ISP_CFA_10 REG_10; + union REG_ISP_CFA_14 REG_14; + union REG_ISP_CFA_18 REG_18; + union REG_ISP_CFA_1C REG_1C; + union REG_ISP_CFA_20 REG_20; + uint32_t _resv_0x24[3]; + union REG_ISP_CFA_30 REG_30; + union REG_ISP_CFA_34 REG_34; + union REG_ISP_CFA_38 REG_38; + union REG_ISP_CFA_3C REG_3C; + union REG_ISP_CFA_40 REG_40; + union REG_ISP_CFA_44 REG_44; + union REG_ISP_CFA_48 REG_48; + union REG_ISP_CFA_4C REG_4C; + uint32_t _resv_0x50[8]; + union REG_ISP_CFA_70 REG_70; + union REG_ISP_CFA_74 REG_74; + union REG_ISP_CFA_78 REG_78; + union REG_ISP_CFA_7C REG_7C; + union REG_ISP_CFA_80 REG_80; + uint32_t _resv_0x84[3]; + union REG_ISP_CFA_90 REG_90; + union REG_ISP_CFA_94 REG_94; + union REG_ISP_CFA_98 REG_98; + union REG_ISP_CFA_9C REG_9C; + union REG_ISP_CFA_A0 REG_A0; + union REG_ISP_CFA_A4 REG_A4; + union REG_ISP_CFA_A8 REG_A8; + uint32_t _resv_0xac[25]; + union REG_ISP_CFA_110 REG_110; + uint32_t _resv_0x114[3]; + union REG_ISP_CFA_120 REG_120; + union REG_ISP_CFA_124 REG_124; + union REG_ISP_CFA_128 REG_128; + union REG_ISP_CFA_12C REG_12C; + union REG_ISP_CFA_130 REG_130; + union REG_ISP_CFA_134 REG_134; + union REG_ISP_CFA_138 REG_138; + union REG_ISP_CFA_13C REG_13C; + union REG_ISP_CFA_140 REG_140; + union REG_ISP_CFA_144 REG_144; + union REG_ISP_CFA_148 REG_148; + union REG_ISP_CFA_14C REG_14C; + union REG_ISP_CFA_150 REG_150; + union REG_ISP_CFA_154 REG_154; + union REG_ISP_CFA_158 REG_158; + union REG_ISP_CFA_15C REG_15C; + union REG_ISP_CFA_160 REG_160; + union REG_ISP_CFA_164 REG_164; + union REG_ISP_CFA_168 REG_168; + union REG_ISP_CFA_16C REG_16C; + union REG_ISP_CFA_170 REG_170; + union REG_ISP_CFA_174 REG_174; + union REG_ISP_CFA_178 REG_178; + union REG_ISP_CFA_17C REG_17C; + union REG_ISP_CFA_180 REG_180; + union REG_ISP_CFA_184 REG_184; + union REG_ISP_CFA_188 REG_188; + union REG_ISP_CFA_18C REG_18C; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_PRE_RAW_VI_SEL_T { + union REG_PRE_RAW_VI_SEL_0 REG_0; + union REG_PRE_RAW_VI_SEL_1 REG_1; + uint32_t _resv_0x8[2]; + union REG_PRE_RAW_VI_SEL_2 REG_2; + union REG_PRE_RAW_VI_SEL_3 REG_3; + uint32_t _resv_0x18[2]; + union REG_PRE_RAW_VI_SEL_4 REG_4; + union REG_PRE_RAW_VI_SEL_5 REG_5; + union REG_PRE_RAW_VI_SEL_6 REG_6; + union REG_PRE_RAW_VI_SEL_7 REG_7; + union REG_PRE_RAW_VI_SEL_8 REG_8; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_YUV_TOP_T { + union REG_YUV_TOP_YUV_0 YUV_0; + uint32_t _resv_0x4[1]; + union REG_YUV_TOP_YUV_2 YUV_2; + union REG_YUV_TOP_YUV_3 YUV_3; + union REG_YUV_TOP_YUV_DEBUG_0 YUV_DEBUG_0; + union REG_YUV_TOP_YUV_4 YUV_4; + union REG_YUV_TOP_YUV_DEBUG_STATE YUV_DEBUG_STATE; + uint32_t _resv_0x1c[1]; + union REG_YUV_TOP_YUV_5 YUV_5; + uint32_t _resv_0x24[15]; + union REG_YUV_TOP_YUV_CTRL YUV_CTRL; + union REG_YUV_TOP_IMGW_M1 IMGW_M1; + uint32_t _resv_0x68[1]; + union REG_YUV_TOP_STVALID_STATUS STVALID_STATUS; + union REG_YUV_TOP_STREADY_STATUS STREADY_STATUS; + union REG_YUV_TOP_PATGEN1 PATGEN1; + union REG_YUV_TOP_PATGEN2 PATGEN2; + union REG_YUV_TOP_PATGEN3 PATGEN3; + union REG_YUV_TOP_PATGEN4 PATGEN4; + union REG_YUV_TOP_CHECK_SUM CHECK_SUM; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_ISP_LSC_T { + union REG_ISP_LSC_STATUS LSC_STATUS; + union REG_ISP_LSC_GRACE_RESET LSC_GRACE_RESET; + union REG_ISP_LSC_MONITOR LSC_MONITOR; + union REG_ISP_LSC_ENABLE LSC_ENABLE; + union REG_ISP_LSC_KICKOFF LSC_KICKOFF; + union REG_ISP_LSC_STRENGTH LSC_STRENGTH; + union REG_ISP_LSC_IMG_BAYERID IMG_BAYERID; + union REG_ISP_LSC_MONITOR_SELECT LSC_MONITOR_SELECT; + uint32_t _resv_0x20[2]; + union REG_ISP_LSC_DMI_WIDTHM1 LSC_DMI_WIDTHM1; + union REG_ISP_LSC_DMI_HEIGHTM1 LSC_DMI_HEIGHTM1; + uint32_t _resv_0x30[3]; + union REG_ISP_LSC_GAIN_BASE LSC_GAIN_BASE; + union REG_ISP_LSC_XSTEP LSC_XSTEP; + union REG_ISP_LSC_YSTEP LSC_YSTEP; + union REG_ISP_LSC_IMGX0 LSC_IMGX0; + union REG_ISP_LSC_IMGY0 LSC_IMGY0; + uint32_t _resv_0x50[2]; + union REG_ISP_LSC_INITX0 LSC_INITX0; + union REG_ISP_LSC_INITY0 LSC_INITY0; + union REG_ISP_LSC_KERNEL_TABLE_WRITE LSC_KERNEL_TABLE_WRITE; + union REG_ISP_LSC_KERNEL_TABLE_DATA LSC_KERNEL_TABLE_DATA; + union REG_ISP_LSC_KERNEL_TABLE_CTRL LSC_KERNEL_TABLE_CTRL; + union REG_ISP_LSC_DUMMY LSC_DUMMY; + union REG_ISP_LSC_LOCATION LSC_LOCATION; + union REG_ISP_LSC_1ST_RUNHIT LSC_1ST_RUNHIT; + union REG_ISP_LSC_COMPARE_VALUE LSC_COMPARE_VALUE; + uint32_t _resv_0x7c[1]; + union REG_ISP_LSC_MEM_SW_MODE LSC_SW_MODE; + union REG_ISP_LSC_MEM_SW_RADDR LSC_SW_RADDR; + uint32_t _resv_0x88[1]; + union REG_ISP_LSC_MEM_SW_RDATA LSC_SW_RDATA; + union REG_ISP_LSC_INTERPOLATION INTERPOLATION; + uint32_t _resv_0x94[3]; + union REG_ISP_LSC_DMI_ENABLE DMI_ENABLE; + union REG_ISP_LSC_BLD LSC_BLD; + union REG_ISP_LSC_INTP_GAIN_MAX LSC_INTP_GAIN_MAX; + union REG_ISP_LSC_INTP_GAIN_MIN LSC_INTP_GAIN_MIN; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* _VI_REG_BLOCKS_H_ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_reg_fields.h b/freertos/cvitek/install/include/driver/vi/vi_reg_fields.h new file mode 100644 index 000000000..7d4622df6 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_reg_fields.h @@ -0,0 +1,15304 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved. + * + * File Name:vi_reg_fields.h + * Description:HW register description + */ + +#ifndef _VI_REG_FIELDS_H_ +#define _VI_REG_FIELDS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_PRE_RAW_BE_TOP_CTRL { + uint32_t raw; + struct { + uint32_t BAYER_TYPE_LE : 4; + uint32_t BAYER_TYPE_SE : 4; + uint32_t RGBIR_EN : 1; + uint32_t CH_NUM : 1; + uint32_t _rsv_10 : 21; + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_PRE_RAW_BE_UP_PQ_EN { + uint32_t raw; + struct { + uint32_t UP_PQ_EN : 1; + } bits; +}; + +union REG_PRE_RAW_BE_IMG_SIZE_LE { + uint32_t raw; + struct { + uint32_t FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_PRE_RAW_BE_PRE_RAW_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_RW : 16; + uint32_t DUMMY_RO : 16; + } bits; +}; + +union REG_PRE_RAW_BE_DEBUG_INFO { + uint32_t raw; + struct { + uint32_t CH0_CROP_DONE : 1; + uint32_t CH0_BLC_DONE : 1; + uint32_t CH0_AF_DONE : 1; + uint32_t CH0_DPC_DONE : 1; + uint32_t CH0_ASYNC_DONE : 1; + uint32_t CH0_PRE_WDMA_DONE : 1; + uint32_t _rsv_6 : 10; + uint32_t CH1_CROP_DONE : 1; + uint32_t CH1_BLC_DONE : 1; + uint32_t CH1_DPC_DONE : 1; + uint32_t CH1_ASYNC_DONE : 1; + uint32_t CH1_PRE_WDMA_DONE : 1; + } bits; +}; + +union REG_PRE_RAW_BE_DMA_IDLE_INFO { + uint32_t raw; + struct { + uint32_t AF_DMA_IDLE : 1; + uint32_t PRE_WDMA0_IDLE : 1; + uint32_t PRE_WDMA1_IDLE : 1; + } bits; +}; + +union REG_PRE_RAW_BE_IP_IDLE_INFO { + uint32_t raw; + struct { + uint32_t CH0_CROP_IDLE : 1; + uint32_t CH0_BLC_IDLE : 1; + uint32_t CH0_DPC_IDLE : 1; + uint32_t CH0_AF_IDLE : 1; + uint32_t CH0_ASYNC_IDLE : 1; + uint32_t CH0_PRE_WDMA_IDLE : 1; + uint32_t _rsv_6 : 10; + uint32_t CH1_CROP_IDLE : 1; + uint32_t CH1_BLC_IDLE : 1; + uint32_t CH1_DPC_IDLE : 1; + uint32_t CH1_ASYNC_IDLE : 1; + uint32_t CH1_PRE_WDMA_IDLE : 1; + } bits; +}; + +union REG_PRE_RAW_BE_LINE_BALANCE_CTRL { + uint32_t raw; + struct { + uint32_t PASS_SEL : 1; + uint32_t _rsv_1 : 7; + uint32_t PASS_CNT_M1 : 8; + } bits; +}; + +union REG_PRE_RAW_BE_DEBUG_ENABLE { + uint32_t raw; + struct { + uint32_t DEBUG_EN : 1; + } bits; +}; + +union REG_PRE_RAW_BE_TVALID_STATUS { + uint32_t raw; + struct { + uint32_t IP_TVALID : 16; + } bits; +}; + +union REG_PRE_RAW_BE_TREADY_STATUS { + uint32_t raw; + struct { + uint32_t IP_TREADY : 16; + } bits; +}; + +union REG_PRE_RAW_BE_PATGEN1 { + uint32_t raw; + struct { + uint32_t X_CURSER : 14; + uint32_t _rsv_14 : 2; + uint32_t Y_CURSER : 14; + uint32_t CURSER_EN : 1; + uint32_t PG_ENABLE : 1; + } bits; +}; + +union REG_PRE_RAW_BE_PATGEN2 { + uint32_t raw; + struct { + uint32_t CURSER_VALUE : 16; + } bits; +}; + +union REG_PRE_RAW_BE_PATGEN3 { + uint32_t raw; + struct { + uint32_t VALUE_REPORT : 32; + } bits; +}; + +union REG_PRE_RAW_BE_PATGEN4 { + uint32_t raw; + struct { + uint32_t XCNT_RPT : 14; + uint32_t _rsv_14 : 2; + uint32_t YCNT_RPT : 14; + } bits; +}; + +union REG_PRE_RAW_BE_CHKSUM_ENABLE { + uint32_t raw; + struct { + uint32_t LEXP_CHKSUM_ENABLE : 1; + uint32_t SEXP_CHKSUM_ENABLE : 1; + } bits; +}; + +union REG_PRE_RAW_BE_CHKSUM { + uint32_t raw; + struct { + uint32_t UM_LEXP : 12; + uint32_t UM_SEXP : 16; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_DMA_CTL_SYS_CONTROL { + uint32_t raw; + struct { + uint32_t QOS_SEL : 1; + uint32_t SW_QOS : 1; + uint32_t ENABLE_SEL : 1; + uint32_t SW_DISABLE : 1; + uint32_t _rsv_4 : 4; + uint32_t BASEH : 8; + uint32_t BASE_SEL : 1; + uint32_t STRIDE_SEL : 1; + uint32_t SEGLEN_SEL : 1; + uint32_t SEGNUM_SEL : 1; + uint32_t SLICE_ENABLE : 1; + uint32_t UPDATE_BASE_ADDR : 1; + uint32_t _rsv_22 : 6; + uint32_t DBG_SEL : 3; + } bits; +}; + +union REG_ISP_DMA_CTL_BASE_ADDR { + uint32_t raw; + struct { + uint32_t BASEL : 32; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_SEGLEN { + uint32_t raw; + struct { + uint32_t SEGLEN : 24; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_STRIDE { + uint32_t raw; + struct { + uint32_t STRIDE : 24; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_SEGNUM { + uint32_t raw; + struct { + uint32_t SEGNUM : 13; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_STATUS { + uint32_t raw; + struct { + uint32_t STATUS : 32; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_SLICESIZE { + uint32_t raw; + struct { + uint32_t SLICE_SIZE : 6; + uint32_t _rsv_6 : 10; + uint32_t SLICE_NUM : 13; + } bits; +}; + +union REG_ISP_DMA_CTL_DMA_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY : 16; + uint32_t PERF_PATCH_ENABLE : 1; + uint32_t SEGLEN_LESS16_ENABLE : 1; + uint32_t SYNC_PATCH_ENABLE : 1; + uint32_t TRIG_PATCH_ENABLE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_AE_HIST_AE_HIST_STATUS { + uint32_t raw; + struct { + uint32_t AE_HIST_STATUS : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_GRACE_RESET { + uint32_t raw; + struct { + uint32_t AE_HIST_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_MONITOR { + uint32_t raw; + struct { + uint32_t AE_HIST_MONITOR : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_BYPASS { + uint32_t raw; + struct { + uint32_t AE_HIST_BYPASS : 1; + uint32_t _rsv_1 : 19; + uint32_t HIST_ZEROING_ENABLE : 1; + uint32_t _rsv_21 : 7; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_KICKOFF { + uint32_t raw; + struct { + uint32_t AE_ZERO_AE_SUM : 1; + uint32_t _rsv_1 : 1; + uint32_t AE_WBGAIN_APPLY : 1; + uint32_t _rsv_3 : 1; + uint32_t LOADSHADOWREG : 1; + uint32_t _rsv_5 : 1; + uint32_t HIST_ZEROHISTOGRAM : 1; + uint32_t _rsv_7 : 1; + uint32_t HIST_WBGAIN_APPLY : 1; + uint32_t _rsv_9 : 1; + uint32_t AE_HIST_SHADOW_SELECT : 1; + uint32_t _rsv_11 : 5; + uint32_t AE_FACE_ENABLE : 4; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE0_HIST_ENABLE { + uint32_t raw; + struct { + uint32_t STS_AE0_HIST_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t AE0_GAIN_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t HIST0_ENABLE : 1; + uint32_t _rsv_9 : 3; + uint32_t HIST0_GAIN_ENABLE : 1; + uint32_t _rsv_13 : 3; + uint32_t IR_AE_ENABLE : 1; + uint32_t _rsv_17 : 3; + uint32_t IR_AE_GAIN_ENABLE : 1; + uint32_t _rsv_21 : 3; + uint32_t IR_HIST_ENABLE : 1; + uint32_t _rsv_25 : 3; + uint32_t IR_HIST_GAIN_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_OFFSETX { + uint32_t raw; + struct { + uint32_t STS_AE0_OFFSETX : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_OFFSETY { + uint32_t raw; + struct { + uint32_t STS_AE0_OFFSETY : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_NUMXM1 { + uint32_t raw; + struct { + uint32_t STS_AE0_NUMXM1 : 6; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_NUMYM1 { + uint32_t raw; + struct { + uint32_t STS_AE0_NUMYM1 : 6; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_WIDTH { + uint32_t raw; + struct { + uint32_t STS_AE0_WIDTH : 8; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_HEIGHT { + uint32_t raw; + struct { + uint32_t STS_AE0_HEIGHT : 8; + } bits; +}; + +union REG_ISP_AE_HIST_STS_AE_STS_DIV { + uint32_t raw; + struct { + uint32_t STS_AE0_STS_DIV : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_HIST_MODE { + uint32_t raw; + struct { + uint32_t STS_HIST0_MODE : 2; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t AE_HIST_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_LOCATION { + uint32_t raw; + struct { + uint32_t AE_HIST_LOCATION : 32; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_OFFSETX { + uint32_t raw; + struct { + uint32_t STS_IR_AE_OFFSETX : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_OFFSETY { + uint32_t raw; + struct { + uint32_t STS_IR_AE_OFFSETY : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_NUMXM1 { + uint32_t raw; + struct { + uint32_t STS_IR_AE_NUMXM1 : 5; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_NUMYM1 { + uint32_t raw; + struct { + uint32_t STS_IR_AE_NUMYM1 : 5; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_WIDTH { + uint32_t raw; + struct { + uint32_t STS_IR_AE_WIDTH : 10; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_HEIGHT { + uint32_t raw; + struct { + uint32_t STS_IR_AE_HEIGHT : 10; + } bits; +}; + +union REG_ISP_AE_HIST_STS_IR_AE_STS_DIV { + uint32_t raw; + struct { + uint32_t STS_IR_AE_STS_DIV : 3; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_BAYER_STARTING { + uint32_t raw; + struct { + uint32_t AE_HIST_BAYER_STARTING : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_DUMMY { + uint32_t raw; + struct { + uint32_t AE_HIST_DUMMY : 16; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_CHECKSUM { + uint32_t raw; + struct { + uint32_t AE_HIST_CHECKSUM : 32; + } bits; +}; + +union REG_ISP_AE_HIST_WBG_4 { + uint32_t raw; + struct { + uint32_t AE0_WBG_RGAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t AE0_WBG_GGAIN : 14; + } bits; +}; + +union REG_ISP_AE_HIST_WBG_5 { + uint32_t raw; + struct { + uint32_t AE0_WBG_BGAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t AE1_WBG_BGAIN : 14; + } bits; +}; + +union REG_ISP_AE_HIST_WBG_6 { + uint32_t raw; + struct { + uint32_t AE1_WBG_RGAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t AE1_WBG_GGAIN : 14; + } bits; +}; + +union REG_ISP_AE_HIST_WBG_7 { + uint32_t raw; + struct { + uint32_t AE0_WBG_VGAIN : 14; + } bits; +}; + +union REG_ISP_AE_HIST_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + uint32_t _rsv_9 : 7; + uint32_t IR_DMI_ENABLE : 1; + uint32_t _rsv_17 : 3; + uint32_t IR_DMI_QOS : 1; + uint32_t _rsv_21 : 3; + uint32_t IR_FORCE_DMA_DISABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE0_LOCATION { + uint32_t raw; + struct { + uint32_t AE_FACE0_OFFSET_X : 13; + uint32_t AE_FACE0_OFFSET_Y : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE1_LOCATION { + uint32_t raw; + struct { + uint32_t AE_FACE1_OFFSET_X : 13; + uint32_t AE_FACE1_OFFSET_Y : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE2_LOCATION { + uint32_t raw; + struct { + uint32_t AE_FACE2_OFFSET_X : 13; + uint32_t AE_FACE2_OFFSET_Y : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE3_LOCATION { + uint32_t raw; + struct { + uint32_t AE_FACE3_OFFSET_X : 13; + uint32_t AE_FACE3_OFFSET_Y : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE0_SIZE { + uint32_t raw; + struct { + uint32_t AE_FACE0_SIZE_MINUS1_X : 8; + uint32_t _rsv_8 : 8; + uint32_t AE_FACE0_SIZE_MINUS1_Y : 8; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE1_SIZE { + uint32_t raw; + struct { + uint32_t AE_FACE1_SIZE_MINUS1_X : 8; + uint32_t _rsv_8 : 8; + uint32_t AE_FACE1_SIZE_MINUS1_Y : 8; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE2_SIZE { + uint32_t raw; + struct { + uint32_t AE_FACE2_SIZE_MINUS1_X : 8; + uint32_t _rsv_8 : 8; + uint32_t AE_FACE2_SIZE_MINUS1_Y : 8; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE3_SIZE { + uint32_t raw; + struct { + uint32_t AE_FACE3_SIZE_MINUS1_X : 8; + uint32_t _rsv_8 : 8; + uint32_t AE_FACE3_SIZE_MINUS1_Y : 8; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE0_LOCATION { + uint32_t raw; + struct { + uint32_t IR_AE_FACE0_OFFSET_X : 16; + uint32_t IR_AE_FACE0_OFFSET_Y : 16; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE1_LOCATION { + uint32_t raw; + struct { + uint32_t IR_AE_FACE1_OFFSET_X : 16; + uint32_t IR_AE_FACE1_OFFSET_Y : 16; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE2_LOCATION { + uint32_t raw; + struct { + uint32_t IR_AE_FACE2_OFFSET_X : 16; + uint32_t IR_AE_FACE2_OFFSET_Y : 16; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE3_LOCATION { + uint32_t raw; + struct { + uint32_t IR_AE_FACE3_OFFSET_X : 16; + uint32_t IR_AE_FACE3_OFFSET_Y : 16; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE0_SIZE { + uint32_t raw; + struct { + uint32_t IR_AE_FACE0_SIZE_MINUS1_X : 7; + uint32_t _rsv_7 : 9; + uint32_t IR_AE_FACE0_SIZE_MINUS1_Y : 7; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE1_SIZE { + uint32_t raw; + struct { + uint32_t IR_AE_FACE1_SIZE_MINUS1_X : 7; + uint32_t _rsv_7 : 9; + uint32_t IR_AE_FACE1_SIZE_MINUS1_Y : 7; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE2_SIZE { + uint32_t raw; + struct { + uint32_t IR_AE_FACE2_SIZE_MINUS1_X : 7; + uint32_t _rsv_7 : 9; + uint32_t IR_AE_FACE2_SIZE_MINUS1_Y : 7; + } bits; +}; + +union REG_ISP_AE_HIST_IR_AE_FACE3_SIZE { + uint32_t raw; + struct { + uint32_t IR_AE_FACE3_SIZE_MINUS1_X : 7; + uint32_t _rsv_7 : 9; + uint32_t IR_AE_FACE3_SIZE_MINUS1_Y : 7; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE0_ENABLE { + uint32_t raw; + struct { + uint32_t AE_FACE0_ENABLE : 1; + uint32_t AE_FACE1_ENABLE : 1; + uint32_t AE_FACE2_ENABLE : 1; + uint32_t AE_FACE3_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE0_STS_DIV { + uint32_t raw; + struct { + uint32_t AE_FACE0_STS_DIV : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE1_STS_DIV { + uint32_t raw; + struct { + uint32_t AE_FACE1_STS_DIV : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE2_STS_DIV { + uint32_t raw; + struct { + uint32_t AE_FACE2_STS_DIV : 13; + } bits; +}; + +union REG_ISP_AE_HIST_AE_FACE3_STS_DIV { + uint32_t raw; + struct { + uint32_t AE_FACE3_STS_DIV : 13; + } bits; +}; + +union REG_ISP_AE_HIST_STS_ENABLE { + uint32_t raw; + struct { + uint32_t STS_AWB_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_ALGO_ENABLE { + uint32_t raw; + struct { + uint32_t _rsv_0 : 1; + uint32_t AE_ALGO_ENABLE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_LOW { + uint32_t raw; + struct { + uint32_t AE_HIST_LOW : 8; + } bits; +}; + +union REG_ISP_AE_HIST_AE_HIST_HIGH { + uint32_t raw; + struct { + uint32_t _rsv_0 : 8; + uint32_t AE_HIST_HIGH : 8; + } bits; +}; + +union REG_ISP_AE_HIST_AE_TOP { + uint32_t raw; + struct { + uint32_t AE_AWB_TOP : 12; + } bits; +}; + +union REG_ISP_AE_HIST_AE_BOT { + uint32_t raw; + struct { + uint32_t _rsv_0 : 12; + uint32_t AE_AWB_BOT : 12; + } bits; +}; + +union REG_ISP_AE_HIST_AE_OVEREXP_THR { + uint32_t raw; + struct { + uint32_t AE_OVEREXP_THR : 10; + } bits; +}; + +union REG_ISP_AE_HIST_AE_NUM_GAPLINE { + uint32_t raw; + struct { + uint32_t AE_NUM_GAPLINE : 1; + } bits; +}; + +union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_LUMA { + uint32_t raw; + struct { + uint32_t SIMPLE2A_RESULT_LUMA : 10; + uint32_t _rsv_10 : 6; + uint32_t E_COUNTER_0 : 16; + } bits; +}; + +union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_RGAIN { + uint32_t raw; + struct { + uint32_t SIMPLE2A_RESULT_RGAIN : 10; + uint32_t _rsv_10 : 6; + uint32_t E_COUNTER_1 : 16; + } bits; +}; + +union REG_ISP_AE_HIST_AE_SIMPLE2A_RESULT_BGAIN { + uint32_t raw; + struct { + uint32_t SIMPLE2A_RESULT_BGAIN : 10; + uint32_t _rsv_10 : 6; + uint32_t E_COUNTER_2 : 16; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_00 { + uint32_t raw; + struct { + uint32_t AE_WGT_00 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_01 { + uint32_t raw; + struct { + uint32_t AE_WGT_01 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_02 { + uint32_t raw; + struct { + uint32_t AE_WGT_02 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_03 { + uint32_t raw; + struct { + uint32_t AE_WGT_03 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_04 { + uint32_t raw; + struct { + uint32_t AE_WGT_04 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_05 { + uint32_t raw; + struct { + uint32_t AE_WGT_05 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_06 { + uint32_t raw; + struct { + uint32_t AE_WGT_06 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_07 { + uint32_t raw; + struct { + uint32_t AE_WGT_07 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_08 { + uint32_t raw; + struct { + uint32_t AE_WGT_08 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_09 { + uint32_t raw; + struct { + uint32_t AE_WGT_09 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_10 { + uint32_t raw; + struct { + uint32_t AE_WGT_10 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_11 { + uint32_t raw; + struct { + uint32_t AE_WGT_11 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_12 { + uint32_t raw; + struct { + uint32_t AE_WGT_12 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_13 { + uint32_t raw; + struct { + uint32_t AE_WGT_13 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_14 { + uint32_t raw; + struct { + uint32_t AE_WGT_14 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_15 { + uint32_t raw; + struct { + uint32_t AE_WGT_15 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_16 { + uint32_t raw; + struct { + uint32_t AE_WGT_16 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_17 { + uint32_t raw; + struct { + uint32_t AE_WGT_17 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_18 { + uint32_t raw; + struct { + uint32_t AE_WGT_18 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_19 { + uint32_t raw; + struct { + uint32_t AE_WGT_19 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_20 { + uint32_t raw; + struct { + uint32_t AE_WGT_20 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_21 { + uint32_t raw; + struct { + uint32_t AE_WGT_21 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_22 { + uint32_t raw; + struct { + uint32_t AE_WGT_22 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_23 { + uint32_t raw; + struct { + uint32_t AE_WGT_23 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_24 { + uint32_t raw; + struct { + uint32_t AE_WGT_24 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_25 { + uint32_t raw; + struct { + uint32_t AE_WGT_25 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_26 { + uint32_t raw; + struct { + uint32_t AE_WGT_26 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_27 { + uint32_t raw; + struct { + uint32_t AE_WGT_27 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_28 { + uint32_t raw; + struct { + uint32_t AE_WGT_28 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_29 { + uint32_t raw; + struct { + uint32_t AE_WGT_29 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_30 { + uint32_t raw; + struct { + uint32_t AE_WGT_30 : 32; + } bits; +}; + +union REG_ISP_AE_HIST_AE_WGT_31 { + uint32_t raw; + struct { + uint32_t AE_WGT_31 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_GMS_STATUS { + uint32_t raw; + struct { + uint32_t GMS_STATUS : 32; + } bits; +}; + +union REG_ISP_GMS_GRACE_RESET { + uint32_t raw; + struct { + uint32_t GMS_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_GMS_MONITOR { + uint32_t raw; + struct { + uint32_t GMS_MONITOR : 32; + } bits; +}; + +union REG_ISP_GMS_ENABLE { + uint32_t raw; + struct { + uint32_t GMS_ENABLE : 1; + uint32_t OUT_SHIFTBIT : 3; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + uint32_t _rsv_17 : 11; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_GMS_FLOW { + uint32_t raw; + struct { + uint32_t GMS_ZEROGMSOGRAM : 1; + uint32_t _rsv_1 : 3; + uint32_t GMS_SHADOW_SELECT : 1; + } bits; +}; + +union REG_ISP_GMS_START_X { + uint32_t raw; + struct { + uint32_t GMS_START_X : 13; + } bits; +}; + +union REG_ISP_GMS_START_Y { + uint32_t raw; + struct { + uint32_t GMS_START_Y : 13; + } bits; +}; + +union REG_ISP_GMS_LOCATION { + uint32_t raw; + struct { + uint32_t GMS_LOCATION : 32; + } bits; +}; + +union REG_ISP_GMS_X_SIZEM1 { + uint32_t raw; + struct { + uint32_t GMS_X_SIZEM1 : 10; + } bits; +}; + +union REG_ISP_GMS_Y_SIZEM1 { + uint32_t raw; + struct { + uint32_t GMS_Y_SIZEM1 : 10; + } bits; +}; + +union REG_ISP_GMS_X_GAP { + uint32_t raw; + struct { + uint32_t GMS_X_GAP : 10; + } bits; +}; + +union REG_ISP_GMS_Y_GAP { + uint32_t raw; + struct { + uint32_t GMS_Y_GAP : 10; + } bits; +}; + +union REG_ISP_GMS_DUMMY { + uint32_t raw; + struct { + uint32_t GMS_DUMMY : 16; + } bits; +}; + +union REG_ISP_GMS_MEM_SW_MODE { + uint32_t raw; + struct { + uint32_t GMS_MEM_SW_MODE : 1; + uint32_t _rsv_1 : 3; + uint32_t GMS_MEM_SEL : 6; + } bits; +}; + +union REG_ISP_GMS_MEM_SW_RADDR { + uint32_t raw; + struct { + uint32_t GMS_SW_RADDR : 11; + } bits; +}; + +union REG_ISP_GMS_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t GMS_RDATA_R : 31; + uint32_t GMS_SW_R : 1; + } bits; +}; + +union REG_ISP_GMS_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t GMS_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_GMS_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_AF_STATUS { + uint32_t raw; + struct { + uint32_t AF_STATUS : 32; + } bits; +}; + +union REG_ISP_AF_GRACE_RESET { + uint32_t raw; + struct { + uint32_t AF_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_AF_MONITOR { + uint32_t raw; + struct { + uint32_t AF_MONITOR : 32; + } bits; +}; + +union REG_ISP_AF_BYPASS { + uint32_t raw; + struct { + uint32_t AF_BYPASS : 1; + } bits; +}; + +union REG_ISP_AF_KICKOFF { + uint32_t raw; + struct { + uint32_t AF_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t AF_WBGAIN_APPLY : 1; + uint32_t _rsv_5 : 3; + uint32_t AF_REVERT_EXPOSURE : 1; + uint32_t _rsv_9 : 7; + uint32_t AF_GAIN_ENABLE : 1; + } bits; +}; + +union REG_ISP_AF_ENABLES { + uint32_t raw; + struct { + uint32_t AF_HORIZON_0_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t AF_HORIZON_1_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t AF_VERTICAL_0_ENABLE : 1; + uint32_t _rsv_9 : 3; + uint32_t AF_GAMMA_ENABLE : 1; + uint32_t _rsv_13 : 3; + uint32_t AF_DPC_ENABLE : 1; + uint32_t _rsv_17 : 3; + uint32_t AF_HLC_ENABLE : 1; + uint32_t _rsv_21 : 3; + uint32_t AF_SHADOW_SELECT : 1; + uint32_t _rsv_25 : 3; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_AF_OFFSET_X { + uint32_t raw; + struct { + uint32_t AF_OFFSET_X : 13; + uint32_t _rsv_13 : 3; + uint32_t AF_OFFSET_Y : 13; + } bits; +}; + +union REG_ISP_AF_MXN_IMAGE_WIDTH_M1 { + uint32_t raw; + struct { + uint32_t AF_MXN_IMAGE_WIDTH : 13; + uint32_t _rsv_13 : 3; + uint32_t AF_MXN_IMAGE_HEIGHT : 13; + } bits; +}; + +union REG_ISP_AF_BLOCK_WIDTH { + uint32_t raw; + struct { + uint32_t AF_BLOCK_WIDTH : 8; + } bits; +}; + +union REG_ISP_AF_BLOCK_HEIGHT { + uint32_t raw; + struct { + uint32_t AF_BLOCK_HEIGHT : 8; + } bits; +}; + +union REG_ISP_AF_BLOCK_NUM_X { + uint32_t raw; + struct { + uint32_t AF_BLOCK_NUM_X : 5; + } bits; +}; + +union REG_ISP_AF_BLOCK_NUM_Y { + uint32_t raw; + struct { + uint32_t AF_BLOCK_NUM_Y : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_AF_HOR_LOW_PASS_VALUE_SHIFT { + uint32_t raw; + struct { + uint32_t AF_HOR_LOW_PASS_VALUE_SHIFT : 4; + } bits; +}; + +union REG_ISP_AF_CORNING_OFFSET_HORIZONTAL_0 { + uint32_t raw; + struct { + uint32_t AF_CORNING_OFFSET_HORIZONTAL_0 : 8; + } bits; +}; + +union REG_ISP_AF_CORNING_OFFSET_HORIZONTAL_1 { + uint32_t raw; + struct { + uint32_t AF_CORNING_OFFSET_HORIZONTAL_1 : 8; + } bits; +}; + +union REG_ISP_AF_CORNING_OFFSET_VERTICAL { + uint32_t raw; + struct { + uint32_t AF_CORNING_OFFSET_VERTICAL : 8; + } bits; +}; + +union REG_ISP_AF_HIGH_Y_THRE { + uint32_t raw; + struct { + uint32_t AF_HIGH_Y_THRE : 8; + } bits; +}; + +union REG_ISP_AF_LOW_PASS_HORIZON { + uint32_t raw; + struct { + uint32_t AF_LOW_PASS_HORIZON_0 : 6; + uint32_t AF_LOW_PASS_HORIZON_1 : 6; + uint32_t AF_LOW_PASS_HORIZON_2 : 6; + uint32_t AF_LOW_PASS_HORIZON_3 : 6; + uint32_t AF_LOW_PASS_HORIZON_4 : 6; + } bits; +}; + +union REG_ISP_AF_LOCATION { + uint32_t raw; + struct { + uint32_t AF_LOCATION : 32; + } bits; +}; + +union REG_ISP_AF_HIGH_PASS_HORIZON_0 { + uint32_t raw; + struct { + uint32_t AF_HIGH_PASS_HORIZON_0_0 : 6; + uint32_t AF_HIGH_PASS_HORIZON_0_1 : 6; + uint32_t AF_HIGH_PASS_HORIZON_0_2 : 6; + uint32_t AF_HIGH_PASS_HORIZON_0_3 : 6; + uint32_t AF_HIGH_PASS_HORIZON_0_4 : 6; + } bits; +}; + +union REG_ISP_AF_HIGH_PASS_HORIZON_1 { + uint32_t raw; + struct { + uint32_t AF_HIGH_PASS_HORIZON_1_0 : 6; + uint32_t AF_HIGH_PASS_HORIZON_1_1 : 6; + uint32_t AF_HIGH_PASS_HORIZON_1_2 : 6; + uint32_t AF_HIGH_PASS_HORIZON_1_3 : 6; + uint32_t AF_HIGH_PASS_HORIZON_1_4 : 6; + } bits; +}; + +union REG_ISP_AF_HIGH_PASS_VERTICAL_0 { + uint32_t raw; + struct { + uint32_t AF_HIGH_PASS_VERTICAL_0_0 : 6; + uint32_t AF_HIGH_PASS_VERTICAL_0_1 : 6; + uint32_t AF_HIGH_PASS_VERTICAL_0_2 : 6; + } bits; +}; + +union REG_ISP_AF_MEM_SW_MODE { + uint32_t raw; + struct { + uint32_t AF_MEM_SW_MODE : 1; + uint32_t AF_R_MEM_SEL : 1; + uint32_t AF_G_MEM_SEL : 1; + uint32_t AF_B_MEM_SEL : 1; + uint32_t AF_BLK_DIV_MEM_SEL : 1; + uint32_t AF_GAMMA_G_MEM_SEL : 1; + uint32_t AF_MAGFACTOR_MEM_SEL : 1; + uint32_t AF_BLK_DIV_DFF_SEL : 1; + uint32_t AF_GAMMA_G_DFF_SEL : 1; + uint32_t AF_MAGFACTOR_DFF_SEL : 1; + } bits; +}; + +union REG_ISP_AF_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t AF_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_AF_IMAGE_WIDTH { + uint32_t raw; + struct { + uint32_t AF_IMAGE_WIDTH : 16; + } bits; +}; + +union REG_ISP_AF_DUMMY { + uint32_t raw; + struct { + uint32_t AF_DUMMY : 16; + } bits; +}; + +union REG_ISP_AF_MEM_SW_RADDR { + uint32_t raw; + struct { + uint32_t AF_SW_RADDR : 7; + } bits; +}; + +union REG_ISP_AF_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t AF_RDATA : 31; + uint32_t AF_SW_READ : 1; + } bits; +}; + +union REG_ISP_AF_MXN_BORDER { + uint32_t raw; + struct { + uint32_t AF_MXN_BORDER : 2; + } bits; +}; + +union REG_ISP_AF_TH_LOW { + uint32_t raw; + struct { + uint32_t AF_TH_LOW : 8; + uint32_t _rsv_8 : 8; + uint32_t AF_TH_HIGH : 8; + } bits; +}; + +union REG_ISP_AF_GAIN_LOW { + uint32_t raw; + struct { + uint32_t AF_GAIN_LOW : 8; + uint32_t _rsv_8 : 8; + uint32_t AF_GAIN_HIGH : 8; + } bits; +}; + +union REG_ISP_AF_SLOP_LOW { + uint32_t raw; + struct { + uint32_t AF_SLOP_LOW : 4; + uint32_t AF_SLOP_HIGH : 4; + } bits; +}; + +union REG_ISP_AF_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +union REG_ISP_AF_SQUARE_ENABLE { + uint32_t raw; + struct { + uint32_t AF_SQUARE_ENABLE : 1; + } bits; +}; + +union REG_ISP_AF_OUTSHIFT { + uint32_t raw; + struct { + uint32_t _rsv_0 : 4; + uint32_t AF_OUTSHIFT : 3; + } bits; +}; + +union REG_ISP_AF_NUM_GAPLINE { + uint32_t raw; + struct { + uint32_t AF_NUM_GAPLINE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_PRE_RAW_FE_PRE_RAW_CTRL { + uint32_t raw; + struct { + uint32_t BAYER_TYPE_LE : 4; + uint32_t BAYER_TYPE_SE : 4; + uint32_t _rsv_8 : 8; + uint32_t UP_PQ_EN : 1; + uint32_t _rsv_17 : 3; + uint32_t RGBIR_EN : 1; + uint32_t _rsv_21 : 10; + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_FRAME_SIZE { + uint32_t raw; + struct { + uint32_t FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_PRE_RAW_FE_LE_RGBMAP_GRID_NUMBER { + uint32_t raw; + struct { + uint32_t LE_RGBMP_H_GRID_NUMM1 : 10; + uint32_t _rsv_10 : 2; + uint32_t LE_RGBMP_H_GRID_SIZE : 3; + uint32_t _rsv_15 : 1; + uint32_t LE_RGBMP_V_GRID_NUMM1 : 10; + uint32_t _rsv_26 : 2; + uint32_t LE_RGBMP_V_GRID_SIZE : 3; + } bits; +}; + +union REG_PRE_RAW_FE_SE_RGBMAP_GRID_NUMBER { + uint32_t raw; + struct { + uint32_t SE_RGBMP_H_GRID_NUMM1 : 10; + uint32_t _rsv_10 : 2; + uint32_t SE_RGBMP_H_GRID_SIZE : 3; + uint32_t _rsv_15 : 1; + uint32_t SE_RGBMP_V_GRID_NUMM1 : 10; + uint32_t _rsv_26 : 2; + uint32_t SE_RGBMP_V_GRID_SIZE : 3; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_POST_NO_RSPD_CYC { + uint32_t raw; + struct { + uint32_t POST_NO_RSPD_CYC : 32; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_POST_RGBMAP_NO_RSPD_CYC { + uint32_t raw; + struct { + uint32_t POST_RGBMAP_NO_RSPD_CYC : 32; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_FRAME_VLD { + uint32_t raw; + struct { + uint32_t FE_FRAME_VLD_CH0 : 1; + uint32_t FE_FRAME_VLD_CH1 : 1; + uint32_t FE_FRAME_VLD_CH2 : 1; + uint32_t FE_FRAME_VLD_CH3 : 1; + uint32_t FE_PQ_VLD_CH0 : 1; + uint32_t FE_PQ_VLD_CH1 : 1; + uint32_t FE_PQ_VLD_CH2 : 1; + uint32_t FE_PQ_VLD_CH3 : 1; + uint32_t _rsv_8 : 8; + uint32_t POST_RAW_IDLE : 1; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_DEBUG_STATE { + uint32_t raw; + struct { + uint32_t PRE_RAW_FE_IDLE : 32; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_RW : 16; + uint32_t DUMMY_RO : 16; + } bits; +}; + +union REG_PRE_RAW_FE_PRE_RAW_DEBUG_INFO { + uint32_t raw; + struct { + uint32_t IP_FRAME_DONE_STS : 32; + } bits; +}; + +union REG_PRE_RAW_FE_IDLE_INFO { + uint32_t raw; + struct { + uint32_t IP_DMA_IDLE : 32; + } bits; +}; + +union REG_PRE_RAW_FE_CHECK_SUM { + uint32_t raw; + struct { + uint32_t LEXP_CHKSUM_ENABLE : 1; + uint32_t SEXP_CHKSUM_ENABLE : 1; + } bits; +}; + +union REG_PRE_RAW_FE_CHECK_SUM_VALUE { + uint32_t raw; + struct { + uint32_t LEXP_CHKSUM_VALUE : 8; + uint32_t _rsv_8 : 8; + uint32_t SEXP_CHKSUM_VALUE : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CSI_BDG_DVP_BDG_TOP_CTRL { + uint32_t raw; + struct { + uint32_t CSI_MODE : 2; + uint32_t CSI_IN_FORMAT : 1; + uint32_t CSI_IN_YUV_FORMAT : 1; + uint32_t CH_NUM : 2; + uint32_t CH0_DMA_WR_ENABLE : 1; + uint32_t _rsv_7 : 2; + uint32_t Y_ONLY : 1; + uint32_t PXL_DATA_SEL : 1; + uint32_t VS_POL : 1; + uint32_t HS_POL : 1; + uint32_t RESET_MODE : 1; + uint32_t VS_MODE : 1; + uint32_t ABORT_MODE : 1; + uint32_t RESET : 1; + uint32_t ABORT : 1; + uint32_t _rsv_18 : 2; + uint32_t YUV_PACK_MODE : 1; + uint32_t MULTI_CH_FRAME_SYNC_EN : 1; + uint32_t CH0_DMA_420_WR_ENABLE : 1; + uint32_t _rsv_23 : 1; + uint32_t CSI_ENABLE : 1; + uint32_t TGEN_ENABLE : 1; + uint32_t YUV2BAY_ENABLE : 1; + uint32_t _rsv_27 : 1; + uint32_t SHDW_READ_SEL : 1; + uint32_t _rsv_29 : 2; + uint32_t CSI_UP_REG : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BDG_INTERRUPT_CTRL { + uint32_t raw; + struct { + uint32_t CH0_VS_INT_EN : 1; + uint32_t CH0_TRIG_INT_EN : 1; + uint32_t CH0_DROP_INT_EN : 1; + uint32_t CH0_SIZE_ERROR_INT_EN : 1; + uint32_t _rsv_4 : 24; + uint32_t SLICE_LINE_INTP_EN : 1; + uint32_t DMA_ERROR_INTP_EN : 1; + uint32_t LINE_INTP_EN : 1; + uint32_t FIFO_OVERFLOW_INT_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BDG_DMA_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DMA_ST_DPCM_MODE : 3; + uint32_t _rsv_3 : 1; + uint32_t DPCM_MIPI_OPT : 1; + uint32_t _rsv_5 : 3; + uint32_t DROP_MODE : 1; + uint32_t _rsv_9 : 3; + uint32_t AVG_MODE : 1; + uint32_t _rsv_13 : 3; + uint32_t DPCM_XSTR : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BDG_DMA_LD_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DMA_LD_DPCM_MODE : 3; + uint32_t _rsv_3 : 13; + uint32_t DPCM_RX_XSTR : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_SIZE { + uint32_t raw; + struct { + uint32_t CH0_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_CROP_EN { + uint32_t raw; + struct { + uint32_t CH0_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH0_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH0_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_BLC_SUM { + uint32_t raw; + struct { + uint32_t CH0_BLC_SUM : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_PAT_GEN_CTRL { + uint32_t raw; + struct { + uint32_t PAT_EN : 1; + uint32_t GRA_INV : 1; + uint32_t AUTO_EN : 1; + uint32_t DITH_EN : 1; + uint32_t SNOW_EN : 1; + uint32_t FIX_MC : 1; + uint32_t _rsv_6 : 2; + uint32_t DITH_MD : 3; + uint32_t _rsv_11 : 1; + uint32_t BAYER_ID : 2; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_PAT_IDX_CTRL { + uint32_t raw; + struct { + uint32_t PAT_PRD : 8; + uint32_t PAT_IDX : 5; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_PAT_COLOR_0 { + uint32_t raw; + struct { + uint32_t PAT_R : 12; + uint32_t _rsv_12 : 4; + uint32_t PAT_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_PAT_COLOR_1 { + uint32_t raw; + struct { + uint32_t PAT_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BACKGROUND_COLOR_0 { + uint32_t raw; + struct { + uint32_t FDE_R : 12; + uint32_t _rsv_12 : 4; + uint32_t FDE_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BACKGROUND_COLOR_1 { + uint32_t raw; + struct { + uint32_t FDE_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_FIX_COLOR_0 { + uint32_t raw; + struct { + uint32_t MDE_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MDE_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_FIX_COLOR_1 { + uint32_t raw; + struct { + uint32_t MDE_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_MDE_V_SIZE { + uint32_t raw; + struct { + uint32_t VMDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VMDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_MDE_H_SIZE { + uint32_t raw; + struct { + uint32_t HMDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HMDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_FDE_V_SIZE { + uint32_t raw; + struct { + uint32_t VFDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VFDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_FDE_H_SIZE { + uint32_t raw; + struct { + uint32_t HFDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HFDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_HSYNC_CTRL { + uint32_t raw; + struct { + uint32_t HS_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HS_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_VSYNC_CTRL { + uint32_t raw; + struct { + uint32_t VS_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VS_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_TGEN_TT_SIZE { + uint32_t raw; + struct { + uint32_t HTT : 13; + uint32_t _rsv_13 : 3; + uint32_t VTT : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_LINE_INTP_HEIGHT_0 { + uint32_t raw; + struct { + uint32_t CH0_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH0_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH0_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH0_VS_CNT : 16; + uint32_t CH0_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_CH0_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH0_TOT_BLK_IDLE : 1; + uint32_t CH0_TOT_DMA_IDLE : 1; + uint32_t CH0_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_INTERRUPT_STATUS_0 { + uint32_t raw; + struct { + uint32_t CH0_FRAME_DROP_INT : 1; + uint32_t CH0_VS_INT : 1; + uint32_t CH0_TRIG_INT : 1; + uint32_t _rsv_3 : 1; + uint32_t CH0_FRAME_WIDTH_GT_INT : 1; + uint32_t CH0_FRAME_WIDTH_LS_INT : 1; + uint32_t CH0_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH0_FRAME_HEIGHT_LS_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_INTERRUPT_STATUS_1 { + uint32_t raw; + struct { + uint32_t FIFO_OVERFLOW_INT : 1; + uint32_t FRAME_RESOLUTION_OVER_MAX_INT : 1; + uint32_t _rsv_2 : 2; + uint32_t DMA_ERROR_INT : 1; + uint32_t _rsv_5 : 3; + uint32_t CH0_LINE_INTP_INT : 1; + uint32_t _rsv_9 : 3; + uint32_t CH0_SLICE_LINE_INTP_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_BDG_DEBUG { + uint32_t raw; + struct { + uint32_t RING_BUFF_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_OUT_VSYNC_LINE_DELAY { + uint32_t raw; + struct { + uint32_t OUT_VSYNC_LINE_DELAY : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_WR_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t WR_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t WR_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_RD_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t RD_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t RD_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_IN : 16; + uint32_t DUMMY_OUT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_SLICE_LINE_INTP_HEIGHT_0 { + uint32_t raw; + struct { + uint32_t CH0_SLICE_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_WDMA_CH0_CROP_EN { + uint32_t raw; + struct { + uint32_t ST_CH0_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_WDMA_CH0_HORZ_CROP { + uint32_t raw; + struct { + uint32_t ST_CH0_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH0_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_WDMA_CH0_VERT_CROP { + uint32_t raw; + struct { + uint32_t ST_CH0_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH0_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_TRIG_DLY_CONTROL_0 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DVP_TRIG_DLY_CONTROL_1 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_VALUE : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_CROP_0 { + uint32_t raw; + struct { + uint32_t CROP_ENABLE : 1; + uint32_t DMA_ENABLE : 1; + uint32_t SHAW_READ_SEL : 1; + uint32_t DMI_QOS : 1; + uint32_t _rsv_4 : 4; + uint32_t DPCM_MODE : 3; + uint32_t _rsv_11 : 5; + uint32_t DPCM_XSTR : 13; + uint32_t _rsv_29 : 2; + uint32_t DMI16B_EN : 1; + } bits; +}; + +union REG_CROP_1 { + uint32_t raw; + struct { + uint32_t CROP_START_Y : 13; + uint32_t _rsv_13 : 3; + uint32_t CROP_END_Y : 13; + } bits; +}; + +union REG_CROP_2 { + uint32_t raw; + struct { + uint32_t CROP_START_X : 13; + uint32_t _rsv_13 : 3; + uint32_t CROP_END_X : 13; + } bits; +}; + +union REG_CROP_3 { + uint32_t raw; + struct { + uint32_t IN_WIDTHM1 : 16; + uint32_t IN_HEIGHTM1 : 16; + } bits; +}; + +union REG_CROP_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY : 32; + } bits; +}; + +union REG_CROP_DEBUG { + uint32_t raw; + struct { + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_BLC_0 { + uint32_t raw; + struct { + uint32_t BLC_BYPASS : 1; + } bits; +}; + +union REG_ISP_BLC_1 { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_ISP_BLC_2 { + uint32_t raw; + struct { + uint32_t BLC_ENABLE : 1; + uint32_t _rsv_1 : 27; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_BLC_3 { + uint32_t raw; + struct { + uint32_t BLC_OFFSET_R : 12; + uint32_t _rsv_12 : 4; + uint32_t BLC_OFFSET_GR : 12; + } bits; +}; + +union REG_ISP_BLC_4 { + uint32_t raw; + struct { + uint32_t BLC_OFFSET_GB : 12; + uint32_t _rsv_12 : 4; + uint32_t BLC_OFFSET_B : 12; + } bits; +}; + +union REG_ISP_BLC_5 { + uint32_t raw; + struct { + uint32_t BLC_GAIN_R : 16; + uint32_t BLC_GAIN_GR : 16; + } bits; +}; + +union REG_ISP_BLC_6 { + uint32_t raw; + struct { + uint32_t BLC_GAIN_GB : 16; + uint32_t BLC_GAIN_B : 16; + } bits; +}; + +union REG_ISP_BLC_7 { + uint32_t raw; + struct { + uint32_t BLC_CHECKSUM : 32; + } bits; +}; + +union REG_ISP_BLC_8 { + uint32_t raw; + struct { + uint32_t BLC_INT : 1; + uint32_t _rsv_1 : 15; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_BLC_DUMMY { + uint32_t raw; + struct { + uint32_t BLC_DUMMY : 16; + } bits; +}; + +union REG_ISP_BLC_LOCATION { + uint32_t raw; + struct { + uint32_t BLC_LOCATION : 32; + } bits; +}; + +union REG_ISP_BLC_9 { + uint32_t raw; + struct { + uint32_t BLC_2NDOFFSET_R : 12; + uint32_t _rsv_12 : 4; + uint32_t BLC_2NDOFFSET_GR : 12; + } bits; +}; + +union REG_ISP_BLC_A { + uint32_t raw; + struct { + uint32_t BLC_2NDOFFSET_GB : 12; + uint32_t _rsv_12 : 4; + uint32_t BLC_2NDOFFSET_B : 12; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_LMAP_LMP_0 { + uint32_t raw; + struct { + uint32_t LMAP_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t LMAP_Y_MODE : 2; + uint32_t LMAP_THD_L : 8; + uint32_t LMAP_THD_H : 8; + uint32_t _rsv_22 : 8; + uint32_t LMAP_SOFTRST : 1; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +union REG_ISP_LMAP_LMP_1 { + uint32_t raw; + struct { + uint32_t LMAP_CROP_WIDTHM1 : 13; + uint32_t LMAP_CROP_HEIGHTM1 : 13; + uint32_t _rsv_26 : 1; + uint32_t LMAP_BAYER_ID : 4; + uint32_t LMAP_SHDW_SEL : 1; + } bits; +}; + +union REG_ISP_LMAP_LMP_2 { + uint32_t raw; + struct { + uint32_t LMAP_W_GRID_NUM : 10; + uint32_t _rsv_10 : 2; + uint32_t LMAP_W_BIT : 3; + uint32_t _rsv_15 : 1; + uint32_t LMAP_H_GRID_NUM : 10; + uint32_t _rsv_26 : 2; + uint32_t LMAP_H_BIT : 3; + uint32_t LMAP_OUT_SEL : 1; + } bits; +}; + +union REG_ISP_LMAP_LMP_DEBUG_0 { + uint32_t raw; + struct { + uint32_t LMAP_DEBUG_0 : 32; + } bits; +}; + +union REG_ISP_LMAP_LMP_DEBUG_1 { + uint32_t raw; + struct { + uint32_t LMAP_DEBUG_1 : 32; + } bits; +}; + +union REG_ISP_LMAP_DUMMY { + uint32_t raw; + struct { + uint32_t LMAP_DUMMY : 32; + } bits; +}; + +union REG_ISP_LMAP_LMP_DEBUG_2 { + uint32_t raw; + struct { + uint32_t LMAP_DEBUG_2 : 32; + } bits; +}; + +union REG_ISP_LMAP_LMP_3 { + uint32_t raw; + struct { + uint32_t DEBUG_DATA_SEL : 2; + } bits; +}; + +union REG_ISP_LMAP_LMP_4 { + uint32_t raw; + struct { + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_LMAP_LMP_SET_SEL { + uint32_t raw; + struct { + uint32_t SET_SEL : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_RGBMAP_0 { + uint32_t raw; + struct { + uint32_t RGBMAP_ENABLE : 1; + uint32_t RGBMAP_W_BIT : 3; + uint32_t RGBMAP_H_BIT : 3; + uint32_t IMG_BAYERID : 4; + uint32_t RGBMAP_W_GRID_NUM : 10; + uint32_t RGBMAP_H_GRID_NUM : 10; + uint32_t RGBMAP_SOFTRST : 1; + } bits; +}; + +union REG_ISP_RGBMAP_1 { + uint32_t raw; + struct { + uint32_t IMG_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t IMG_HEIGHTM1 : 13; + uint32_t RGBMAP_SHDW_SEL : 1; + } bits; +}; + +union REG_ISP_RGBMAP_DEBUG_0 { + uint32_t raw; + struct { + uint32_t RGBMAP_DEBUG_0 : 32; + } bits; +}; + +union REG_ISP_RGBMAP_DEBUG_1 { + uint32_t raw; + struct { + uint32_t RGBMAP_DEBUG_1 : 32; + } bits; +}; + +union REG_ISP_RGBMAP_DUMMY { + uint32_t raw; + struct { + uint32_t RGBMAP_DUMMY : 32; + } bits; +}; + +union REG_ISP_RGBMAP_2 { + uint32_t raw; + struct { + uint32_t FORCE_DMA_DISABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DEBUG_DATA_SEL : 2; + } bits; +}; + +union REG_ISP_RGBMAP_DEBUG_2 { + uint32_t raw; + struct { + uint32_t RGBMAP_DEBUG_2 : 32; + } bits; +}; + +union REG_ISP_RGBMAP_3 { + uint32_t raw; + struct { + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_RGBMAP_SET_SEL { + uint32_t raw; + struct { + uint32_t SET_SEL : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_WBG_0 { + uint32_t raw; + struct { + uint32_t WBG_BYPASS : 1; + } bits; +}; + +union REG_ISP_WBG_1 { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_ISP_WBG_2 { + uint32_t raw; + struct { + uint32_t WBG_ENABLE : 1; + uint32_t _rsv_1 : 27; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_WBG_4 { + uint32_t raw; + struct { + uint32_t WBG_RGAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t WBG_GGAIN : 14; + } bits; +}; + +union REG_ISP_WBG_5 { + uint32_t raw; + struct { + uint32_t WBG_BGAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t WBG_IRGAIN : 14; + } bits; +}; + +union REG_ISP_WBG_6 { + uint32_t raw; + struct { + uint32_t WBG_CHECKSUM : 32; + } bits; +}; + +union REG_ISP_WBG_7 { + uint32_t raw; + struct { + uint32_t WBG_INT : 1; + } bits; +}; + +union REG_ISP_WBG_IMG_BAYERID { + uint32_t raw; + struct { + uint32_t IMG_BAYERID : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_WBG_DUMMY { + uint32_t raw; + struct { + uint32_t WBG_DUMMY : 32; + } bits; +}; + +union REG_ISP_WBG_LOCATION { + uint32_t raw; + struct { + uint32_t WBG_LOCATION : 32; + } bits; +}; + +union REG_ISP_WBG_34 { + uint32_t raw; + struct { + uint32_t RGAIN_FRACTION : 24; + } bits; +}; + +union REG_ISP_WBG_38 { + uint32_t raw; + struct { + uint32_t GGAIN_FRACTION : 24; + } bits; +}; + +union REG_ISP_WBG_3C { + uint32_t raw; + struct { + uint32_t BGAIN_FRACTION : 24; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_DPC_0 { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + uint32_t CONT_EN : 1; + uint32_t SOFTRST : 1; + uint32_t DBG_EN : 1; + uint32_t CH_NM : 1; + } bits; +}; + +union REG_ISP_DPC_1 { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_ISP_DPC_2 { + uint32_t raw; + struct { + uint32_t DPC_ENABLE : 1; + uint32_t GE_ENABLE : 1; + uint32_t DPC_DYNAMICBPC_ENABLE : 1; + uint32_t DPC_STATICBPC_ENABLE : 1; + uint32_t DELAY : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t _rsv_9 : 7; + uint32_t DPC_CLUSTER_SIZE : 2; + } bits; +}; + +union REG_ISP_DPC_3 { + uint32_t raw; + struct { + uint32_t DPC_R_BRIGHT_PIXEL_RATIO : 10; + uint32_t _rsv_10 : 6; + uint32_t DPC_G_BRIGHT_PIXEL_RATIO : 10; + } bits; +}; + +union REG_ISP_DPC_4 { + uint32_t raw; + struct { + uint32_t DPC_B_BRIGHT_PIXEL_RATIO : 10; + uint32_t _rsv_10 : 6; + uint32_t DPC_R_DARK_PIXEL_RATIO : 10; + } bits; +}; + +union REG_ISP_DPC_5 { + uint32_t raw; + struct { + uint32_t DPC_G_DARK_PIXEL_RATIO : 10; + uint32_t _rsv_10 : 6; + uint32_t DPC_B_DARK_PIXEL_RATIO : 10; + } bits; +}; + +union REG_ISP_DPC_6 { + uint32_t raw; + struct { + uint32_t DPC_R_DARK_PIXEL_MINDIFF : 8; + uint32_t DPC_G_DARK_PIXEL_MINDIFF : 8; + uint32_t DPC_B_DARK_PIXEL_MINDIFF : 8; + } bits; +}; + +union REG_ISP_DPC_7 { + uint32_t raw; + struct { + uint32_t DPC_R_BRIGHT_PIXEL_UPBOUD_RATIO : 8; + uint32_t DPC_G_BRIGHT_PIXEL_UPBOUD_RATIO : 8; + uint32_t DPC_B_BRIGHT_PIXEL_UPBOUD_RATIO : 8; + } bits; +}; + +union REG_ISP_DPC_8 { + uint32_t raw; + struct { + uint32_t DPC_FLAT_THRE_MIN_RB : 8; + uint32_t DPC_FLAT_THRE_MIN_G : 8; + } bits; +}; + +union REG_ISP_DPC_9 { + uint32_t raw; + struct { + uint32_t DPC_FLAT_THRE_R : 8; + uint32_t DPC_FLAT_THRE_G : 8; + uint32_t DPC_FLAT_THRE_B : 8; + } bits; +}; + +union REG_ISP_DPC_10 { + uint32_t raw; + struct { + uint32_t GE_STRENGTH : 9; + uint32_t _rsv_9 : 7; + uint32_t GE_COMBINEWEIGHT : 4; + } bits; +}; + +union REG_ISP_DPC_11 { + uint32_t raw; + struct { + uint32_t GE_THRE1 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE2 : 12; + } bits; +}; + +union REG_ISP_DPC_12 { + uint32_t raw; + struct { + uint32_t GE_THRE3 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE4 : 12; + } bits; +}; + +union REG_ISP_DPC_13 { + uint32_t raw; + struct { + uint32_t GE_THRE11 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE21 : 12; + } bits; +}; + +union REG_ISP_DPC_14 { + uint32_t raw; + struct { + uint32_t GE_THRE31 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE41 : 12; + } bits; +}; + +union REG_ISP_DPC_15 { + uint32_t raw; + struct { + uint32_t GE_THRE12 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE22 : 12; + } bits; +}; + +union REG_ISP_DPC_16 { + uint32_t raw; + struct { + uint32_t GE_THRE32 : 12; + uint32_t _rsv_12 : 4; + uint32_t GE_THRE42 : 12; + } bits; +}; + +union REG_ISP_DPC_17 { + uint32_t raw; + struct { + uint32_t DPC_MEM0_IMG0_ADDR : 11; + uint32_t _rsv_11 : 5; + uint32_t DPC_MEM0_IMG1_ADDR : 11; + uint32_t _rsv_27 : 3; + uint32_t DPC_MEM0_IMG_ADDR_SEL : 1; + uint32_t DPC_MEM_PROG_MODE : 1; + } bits; +}; + +union REG_ISP_DPC_18 { + uint32_t raw; + struct { + uint32_t DPC_SW_RADDR : 12; + } bits; +}; + +union REG_ISP_DPC_19 { + uint32_t raw; + struct { + uint32_t DPC_RDATA_R : 24; + uint32_t _rsv_24 : 7; + uint32_t DPC_SW_R : 1; + } bits; +}; + +union REG_ISP_DPC_MEM_W0 { + uint32_t raw; + struct { + uint32_t DPC_BP_MEM_D : 24; + uint32_t _rsv_24 : 7; + uint32_t DPC_BP_MEM_W : 1; + } bits; +}; + +union REG_ISP_DPC_WINDOW { + uint32_t raw; + struct { + uint32_t IMG_WD : 12; + uint32_t _rsv_12 : 4; + uint32_t IMG_HT : 12; + } bits; +}; + +union REG_ISP_DPC_MEM_ST_ADDR { + uint32_t raw; + struct { + uint32_t DPC_BP_MEM_ST_ADDR : 11; + uint32_t _rsv_11 : 20; + uint32_t DPC_BP_MEM_ST_ADDR_W : 1; + } bits; +}; + +union REG_ISP_DPC_CHECKSUM { + uint32_t raw; + struct { + uint32_t DPC_CHECKSUM : 32; + } bits; +}; + +union REG_ISP_DPC_INT { + uint32_t raw; + struct { + uint32_t DPC_INT : 1; + } bits; +}; + +union REG_ISP_DPC_20 { + uint32_t raw; + struct { + uint32_t PROB_OUT_SEL : 4; + uint32_t PROB_PERFMT : 1; + uint32_t _rsv_5 : 3; + uint32_t PROB_FMT : 6; + } bits; +}; + +union REG_ISP_DPC_21 { + uint32_t raw; + struct { + uint32_t PROB_LINE : 12; + uint32_t _rsv_12 : 4; + uint32_t PROB_PIX : 12; + } bits; +}; + +union REG_ISP_DPC_22 { + uint32_t raw; + struct { + uint32_t DPC_DBG0 : 32; + } bits; +}; + +union REG_ISP_DPC_23 { + uint32_t raw; + struct { + uint32_t DPC_DBG1 : 32; + } bits; +}; + +union REG_ISP_DPC_24 { + uint32_t raw; + struct { + uint32_t DPC_IR_BRIGHT_PIXEL_RATIO : 10; + uint32_t _rsv_10 : 6; + uint32_t DPC_IR_DARK_PIXEL_RATIO : 10; + } bits; +}; + +union REG_ISP_DPC_25 { + uint32_t raw; + struct { + uint32_t DPC_IR_DARK_PIXEL_MINDIFF : 8; + uint32_t DPC_IR_BRIGHT_PIXEL_UPBOUD_RATIO: 8; + uint32_t DPC_FLAT_THRE_MIN_IR : 8; + uint32_t DPC_FLAT_THRE_IR : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_RAW_TOP_RAW_0 { + uint32_t raw; + struct { + uint32_t SVN_VERSION : 32; + } bits; +}; + +union REG_RAW_TOP_READ_SEL { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_RAW_TOP_RAW_1 { + uint32_t raw; + struct { + uint32_t TIMESTAMP : 32; + } bits; +}; + +union REG_RAW_TOP_CTRL { + uint32_t raw; + struct { + uint32_t LS_CROP_DST_SEL : 1; + uint32_t _rsv_1 : 15; + uint32_t FRAME_DONE_SEL_TAIL0_ALL1 : 1; + } bits; +}; + +union REG_RAW_TOP_UP_PQ_EN { + uint32_t raw; + struct { + uint32_t UP_PQ_EN : 1; + uint32_t _rsv_1 : 15; + uint32_t CHK_SUM_EN : 1; + } bits; +}; + +union REG_RAW_TOP_RAW_2 { + uint32_t raw; + struct { + uint32_t IMG_WIDTHM1 : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHTM1 : 14; + } bits; +}; + +union REG_RAW_TOP_DUMMY { + uint32_t raw; + struct { + uint32_t RAW_TOP_DUMMY : 32; + } bits; +}; + +union REG_RAW_TOP_RAW_4 { + uint32_t raw; + struct { + uint32_t YUV_IN_MODE : 1; + } bits; +}; + +union REG_RAW_TOP_STATUS { + uint32_t raw; + struct { + uint32_t RAW_TOP_STATUS : 32; + } bits; +}; + +union REG_RAW_TOP_DEBUG { + uint32_t raw; + struct { + uint32_t RAW_TOP_DEBUG : 32; + } bits; +}; + +union REG_RAW_TOP_DEBUG_SELECT { + uint32_t raw; + struct { + uint32_t RAW_TOP_DEBUG_SELECT : 32; + } bits; +}; + +union REG_RAW_TOP_RAW_BAYER_TYPE_TOPLEFT { + uint32_t raw; + struct { + uint32_t BAYER_TYPE_TOPLEFT : 4; + uint32_t _rsv_4 : 12; + uint32_t RGBIR_ENABLE : 1; + } bits; +}; + +union REG_RAW_TOP_RDMI_ENBALE { + uint32_t raw; + struct { + uint32_t RDMI_EN : 1; + uint32_t _rsv_1 : 3; + uint32_t PASS_SEL : 1; + uint32_t _rsv_5 : 3; + uint32_t PASS_CNT_M1 : 8; + uint32_t CH_NUM : 1; + } bits; +}; + +union REG_RAW_TOP_RDMA_SIZE { + uint32_t raw; + struct { + uint32_t RDMI_WIDTHM1 : 16; + uint32_t RDMI_HEIGHTM1 : 16; + } bits; +}; + +union REG_RAW_TOP_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DPCM_MODE : 3; + uint32_t _rsv_3 : 5; + uint32_t DPCM_XSTR : 13; + } bits; +}; + +union REG_RAW_TOP_STVALID_STATUS { + uint32_t raw; + struct { + uint32_t STVALID_STATUS : 32; + } bits; +}; + +union REG_RAW_TOP_STREADY_STATUS { + uint32_t raw; + struct { + uint32_t STREADY_STATUS : 32; + } bits; +}; + +union REG_RAW_TOP_PATGEN1 { + uint32_t raw; + struct { + uint32_t X_CURSER : 14; + uint32_t _rsv_14 : 2; + uint32_t Y_CURSER : 14; + uint32_t CURSER_EN : 1; + uint32_t PG_ENABLE : 1; + } bits; +}; + +union REG_RAW_TOP_PATGEN2 { + uint32_t raw; + struct { + uint32_t CURSER_VALUE : 16; + } bits; +}; + +union REG_RAW_TOP_PATGEN3 { + uint32_t raw; + struct { + uint32_t VALUE_REPORT : 32; + } bits; +}; + +union REG_RAW_TOP_PATGEN4 { + uint32_t raw; + struct { + uint32_t XCNT_RPT : 14; + uint32_t _rsv_14 : 2; + uint32_t YCNT_RPT : 14; + uint32_t PG_LCAC_ENABLE : 1; + uint32_t CURSER_LCAC_EN : 1; + } bits; +}; + +union REG_RAW_TOP_RO_IDLE { + uint32_t raw; + struct { + uint32_t RAW_TOP_RO_IDLE : 32; + } bits; +}; + +union REG_RAW_TOP_RO_DONE { + uint32_t raw; + struct { + uint32_t RAW_TOP_RO_DONE : 32; + } bits; +}; + +union REG_RAW_TOP_DMA_IDLE { + uint32_t raw; + struct { + uint32_t RAW_TOP_DMA_IDLE : 32; + } bits; +}; + +union REG_RAW_TOP_LE_LMAP_GRID_NUMBER { + uint32_t raw; + struct { + uint32_t LE_LMP_H_GRID_NUMM1 : 10; + uint32_t _rsv_10 : 2; + uint32_t LE_LMP_H_GRID_SIZE : 3; + uint32_t _rsv_15 : 1; + uint32_t LE_LMP_V_GRID_NUMM1 : 10; + uint32_t _rsv_26 : 2; + uint32_t LE_LMP_V_GRID_SIZE : 3; + } bits; +}; + +union REG_RAW_TOP_SE_LMAP_GRID_NUMBER { + uint32_t raw; + struct { + uint32_t SE_LMP_H_GRID_NUMM1 : 10; + uint32_t _rsv_10 : 2; + uint32_t SE_LMP_H_GRID_SIZE : 3; + uint32_t _rsv_15 : 1; + uint32_t SE_LMP_V_GRID_NUMM1 : 10; + uint32_t _rsv_26 : 2; + uint32_t SE_LMP_V_GRID_SIZE : 3; + } bits; +}; + +union REG_RAW_TOP_CHECKSUM_0 { + uint32_t raw; + struct { + uint32_t RAW_TOP_CHECKSUM_0 : 32; + } bits; +}; + +union REG_RAW_TOP_CHECKSUM_1 { + uint32_t raw; + struct { + uint32_t RAW_TOP_CHECKSUM_1 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_RGBCAC_CTRL { + uint32_t raw; + struct { + uint32_t RGBCAC_ENABLE : 1; + uint32_t RGBCAC_OUT_SEL : 2; + uint32_t RGBCAC_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t SOFTRST : 1; + } bits; +}; + +union REG_ISP_RGBCAC_PURPLE_TH { + uint32_t raw; + struct { + uint32_t RGBCAC_PURPLE_TH_LE : 8; + uint32_t RGBCAC_PURPLE_TH_SE : 8; + uint32_t RGBCAC_CORRECT_STRENGTH_LE : 8; + uint32_t RGBCAC_CORRECT_STRENGTH_SE : 8; + } bits; +}; + +union REG_ISP_RGBCAC_PURPLE_CBCR { + uint32_t raw; + struct { + uint32_t RGBCAC_PURPLE_CB : 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_PURPLE_CR : 12; + } bits; +}; + +union REG_ISP_RGBCAC_PURPLE_CBCR2 { + uint32_t raw; + struct { + uint32_t RGBCAC_PURPLE_CB2 : 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_PURPLE_CR2 : 12; + } bits; +}; + +union REG_ISP_RGBCAC_PURPLE_CBCR3 { + uint32_t raw; + struct { + uint32_t RGBCAC_PURPLE_CB3 : 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_PURPLE_CR3 : 12; + } bits; +}; + +union REG_ISP_RGBCAC_GREEN_CBCR { + uint32_t raw; + struct { + uint32_t RGBCAC_GREEN_CB : 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_GREEN_CR : 12; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_CORING { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_CORING : 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_EDGE_SCALE : 12; + } bits; +}; + +union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MIN { + uint32_t raw; + struct { + uint32_t RGBCAC_DEPURPLE_STR_RATIO_MIN_LE: 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_DEPURPLE_STR_RATIO_MIN_SE: 12; + } bits; +}; + +union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MAX { + uint32_t raw; + struct { + uint32_t RGBCAC_DEPURPLE_STR_RATIO_MAX_LE: 12; + uint32_t _rsv_12 : 4; + uint32_t RGBCAC_DEPURPLE_STR_RATIO_MAX_SE: 12; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_WGT_LUT0 { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_WGT_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_03 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_WGT_LUT1 { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_WGT_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_07 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_WGT_LUT2 { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_WGT_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_11 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_WGT_LUT3 { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_WGT_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t RGBCAC_EDGE_WGT_LUT_15 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_EDGE_WGT_LUT4 { + uint32_t raw; + struct { + uint32_t RGBCAC_EDGE_WGT_LUT_16 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_LUMA { + uint32_t raw; + struct { + uint32_t RGBCAC_LUMA_SCALE : 11; + uint32_t _rsv_11 : 5; + uint32_t RGBCAC_LUMA2 : 12; + } bits; +}; + +union REG_ISP_RGBCAC_LUMA_BLEND { + uint32_t raw; + struct { + uint32_t RGBCAC_LUMA_BLEND_WGT : 6; + uint32_t _rsv_6 : 2; + uint32_t RGBCAC_LUMA_BLEND_WGT2 : 6; + uint32_t _rsv_14 : 2; + uint32_t RGBCAC_LUMA_BLEND_WGT3 : 6; + } bits; +}; + +union REG_ISP_RGBCAC_LUMA_FILTER0 { + uint32_t raw; + struct { + uint32_t RGBCAC_LUMA_FILTER_00 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_LUMA_FILTER_01 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_LUMA_FILTER_02 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_LUMA_FILTER1 { + uint32_t raw; + struct { + uint32_t RGBCAC_LUMA_FILTER_03 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_LUMA_FILTER_04 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_LUMA_FILTER_05 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_VAR_FILTER0 { + uint32_t raw; + struct { + uint32_t RGBCAC_VAR_FILTER_00 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_VAR_FILTER_01 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_VAR_FILTER_02 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_VAR_FILTER1 { + uint32_t raw; + struct { + uint32_t RGBCAC_VAR_FILTER_03 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_VAR_FILTER_04 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_VAR_FILTER_05 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_CHROMA_FILTER0 { + uint32_t raw; + struct { + uint32_t RGBCAC_CHROMA_FILTER_00 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_CHROMA_FILTER_01 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_CHROMA_FILTER_02 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_CHROMA_FILTER1 { + uint32_t raw; + struct { + uint32_t RGBCAC_CHROMA_FILTER_03 : 7; + uint32_t _rsv_7 : 1; + uint32_t RGBCAC_CHROMA_FILTER_04 : 7; + uint32_t _rsv_15 : 1; + uint32_t RGBCAC_CHROMA_FILTER_05 : 7; + } bits; +}; + +union REG_ISP_RGBCAC_CBCR_STR { + uint32_t raw; + struct { + uint32_t RGBCAC_CB_STR_LE : 5; + uint32_t _rsv_5 : 3; + uint32_t RGBCAC_CR_STR_LE : 5; + uint32_t _rsv_13 : 3; + uint32_t RGBCAC_CB_STR_SE : 5; + uint32_t _rsv_21 : 3; + uint32_t RGBCAC_CR_STR_SE : 5; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_BNR_SHADOW_RD_SEL { + uint32_t raw; + struct { + uint32_t SHADOW_RD_SEL : 1; + } bits; +}; + +union REG_ISP_BNR_OUT_SEL { + uint32_t raw; + struct { + uint32_t BNR_OUT_SEL : 4; + } bits; +}; + +union REG_ISP_BNR_INDEX_CLR { + uint32_t raw; + struct { + uint32_t BNR_INDEX_CLR : 1; + } bits; +}; + +union REG_ISP_BNR_NS_LUMA_TH_R { + uint32_t raw; + struct { + uint32_t BNR_NS_LUMA_TH_R : 10; + } bits; +}; + +union REG_ISP_BNR_NS_SLOPE_R { + uint32_t raw; + struct { + uint32_t BNR_NS_SLOPE_R : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET0_R { + uint32_t raw; + struct { + uint32_t BNR_NS_LOW_OFFSET_R : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET1_R { + uint32_t raw; + struct { + uint32_t BNR_NS_HIGH_OFFSET_R : 10; + } bits; +}; + +union REG_ISP_BNR_NS_LUMA_TH_GR { + uint32_t raw; + struct { + uint32_t BNR_NS_LUMA_TH_GR : 10; + } bits; +}; + +union REG_ISP_BNR_NS_SLOPE_GR { + uint32_t raw; + struct { + uint32_t BNR_NS_SLOPE_GR : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET0_GR { + uint32_t raw; + struct { + uint32_t BNR_NS_LOW_OFFSET_GR : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET1_GR { + uint32_t raw; + struct { + uint32_t BNR_NS_HIGH_OFFSET_GR : 10; + } bits; +}; + +union REG_ISP_BNR_NS_LUMA_TH_GB { + uint32_t raw; + struct { + uint32_t BNR_NS_LUMA_TH_GB : 10; + } bits; +}; + +union REG_ISP_BNR_NS_SLOPE_GB { + uint32_t raw; + struct { + uint32_t BNR_NS_SLOPE_GB : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET0_GB { + uint32_t raw; + struct { + uint32_t BNR_NS_LOW_OFFSET_GB : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET1_GB { + uint32_t raw; + struct { + uint32_t BNR_NS_HIGH_OFFSET_GB : 10; + } bits; +}; + +union REG_ISP_BNR_NS_LUMA_TH_B { + uint32_t raw; + struct { + uint32_t BNR_NS_LUMA_TH_B : 10; + } bits; +}; + +union REG_ISP_BNR_NS_SLOPE_B { + uint32_t raw; + struct { + uint32_t BNR_NS_SLOPE_B : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET0_B { + uint32_t raw; + struct { + uint32_t BNR_NS_LOW_OFFSET_B : 10; + } bits; +}; + +union REG_ISP_BNR_NS_OFFSET1_B { + uint32_t raw; + struct { + uint32_t BNR_NS_HIGH_OFFSET_B : 10; + } bits; +}; + +union REG_ISP_BNR_NS_GAIN { + uint32_t raw; + struct { + uint32_t BNR_NS_GAIN : 8; + } bits; +}; + +union REG_ISP_BNR_STRENGTH_MODE { + uint32_t raw; + struct { + uint32_t BNR_STRENGTH_MODE : 8; + } bits; +}; + +union REG_ISP_BNR_INTENSITY_SEL { + uint32_t raw; + struct { + uint32_t BNR_INTENSITY_SEL_00 : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_INTRA_0 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_INTRA_0 : 3; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_INTRA_1 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_INTRA_1 : 3; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_INTRA_2 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_INTRA_2 : 3; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_NORM_1 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_NORM_1 : 7; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_NORM_2 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_NORM_2 : 8; + } bits; +}; + +union REG_ISP_BNR_VAR_TH { + uint32_t raw; + struct { + uint32_t BNR_VAR_TH : 8; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_LUT { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_LUT : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_SM { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_SMOOTH : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_V { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_V : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_H { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_H : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_D45 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_D45 : 5; + } bits; +}; + +union REG_ISP_BNR_WEIGHT_D135 { + uint32_t raw; + struct { + uint32_t BNR_WEIGHT_D135 : 5; + } bits; +}; + +union REG_ISP_BNR_NEIGHBOR_MAX { + uint32_t raw; + struct { + uint32_t BNR_FLAG_NEIGHBOR_MAX : 1; + } bits; +}; + +union REG_ISP_BNR_RES_K_SMOOTH { + uint32_t raw; + struct { + uint32_t BNR_RES_RATIO_K_SMOOTH : 9; + } bits; +}; + +union REG_ISP_BNR_RES_K_TEXTURE { + uint32_t raw; + struct { + uint32_t BNR_RES_RATIO_K_TEXTURE : 9; + } bits; +}; + +union REG_ISP_BNR_RES_MAX { + uint32_t raw; + struct { + uint32_t BNR_RES_MAX : 12; + } bits; +}; + +union REG_ISP_BNR_DUMMY { + uint32_t raw; + struct { + uint32_t BNR_DUMMY : 16; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_CA_00 { + uint32_t raw; + struct { + uint32_t CACP_ENABLE : 1; + uint32_t CACP_MODE : 1; + uint32_t CACP_DBG_MODE : 1; + uint32_t CACP_MEM_SW_MODE : 1; + uint32_t CACP_SHDW_READ_SEL : 1; + uint32_t _rsv_5 : 3; + uint32_t PROG_HDK_DIS : 1; + uint32_t _rsv_9 : 7; + uint32_t CACP_ISO_RATIO : 11; + } bits; +}; + +union REG_CA_04 { + uint32_t raw; + struct { + uint32_t CACP_MEM_D : 24; + uint32_t _rsv_24 : 7; + uint32_t CACP_MEM_W : 1; + } bits; +}; + +union REG_CA_08 { + uint32_t raw; + struct { + uint32_t CACP_MEM_ST_ADDR : 8; + uint32_t _rsv_8 : 23; + uint32_t CACP_MEM_ST_ADDR_W : 1; + } bits; +}; + +union REG_CA_0C { + uint32_t raw; + struct { + uint32_t CACP_MEM_SW_RADDR : 8; + uint32_t _rsv_8 : 23; + uint32_t CACP_MEM_SW_R : 1; + } bits; +}; + +union REG_CA_10 { + uint32_t raw; + struct { + uint32_t CACP_MEM_SW_RDATA_R : 24; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CCM_00 { + uint32_t raw; + struct { + uint32_t CCM_00 : 14; + } bits; +}; + +union REG_ISP_CCM_01 { + uint32_t raw; + struct { + uint32_t CCM_01 : 14; + } bits; +}; + +union REG_ISP_CCM_02 { + uint32_t raw; + struct { + uint32_t CCM_02 : 14; + } bits; +}; + +union REG_ISP_CCM_10 { + uint32_t raw; + struct { + uint32_t CCM_10 : 14; + } bits; +}; + +union REG_ISP_CCM_11 { + uint32_t raw; + struct { + uint32_t CCM_11 : 14; + } bits; +}; + +union REG_ISP_CCM_12 { + uint32_t raw; + struct { + uint32_t CCM_12 : 14; + } bits; +}; + +union REG_ISP_CCM_20 { + uint32_t raw; + struct { + uint32_t CCM_20 : 14; + } bits; +}; + +union REG_ISP_CCM_21 { + uint32_t raw; + struct { + uint32_t CCM_21 : 14; + } bits; +}; + +union REG_ISP_CCM_22 { + uint32_t raw; + struct { + uint32_t CCM_22 : 14; + } bits; +}; + +union REG_ISP_CCM_CTRL { + uint32_t raw; + struct { + uint32_t CCM_SHDW_SEL : 1; + uint32_t _rsv_1 : 1; + uint32_t CCM_ENABLE : 1; + } bits; +}; + +union REG_ISP_CCM_DBG { + uint32_t raw; + struct { + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t SOFTRST : 1; + } bits; +}; + +union REG_ISP_CCM_DMY0 { + uint32_t raw; + struct { + uint32_t DMY_DEF0 : 32; + } bits; +}; + +union REG_ISP_CCM_DMY1 { + uint32_t raw; + struct { + uint32_t DMY_DEF1 : 32; + } bits; +}; + +union REG_ISP_CCM_DMY_R { + uint32_t raw; + struct { + uint32_t DMY_RO : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_MMAP_00 { + uint32_t raw; + struct { + uint32_t MMAP_0_ENABLE : 1; + uint32_t MMAP_1_ENABLE : 1; + uint32_t MMAP_MRG_MODE : 1; + uint32_t MM_DOUBLE_BUF_SEL : 1; + uint32_t ON_THE_FLY : 1; + uint32_t FIRST_FRAME_RESET : 1; + uint32_t REG_2_TAP_EN : 1; + uint32_t MIRROR_MODE_EN : 1; + uint32_t MMAP_MRG_ALPH : 8; + uint32_t GUARD_CNT : 8; + uint32_t BYPASS : 1; + uint32_t INTER_1_EN : 1; + uint32_t INTER_2_EN : 1; + uint32_t INTER_3_EN : 1; + uint32_t INTER_4_EN : 1; + uint32_t DMA_SEL : 1; + uint32_t RGBMAP_SW_CROP : 1; + } bits; +}; + +union REG_ISP_MMAP_04 { + uint32_t raw; + struct { + uint32_t MMAP_0_LPF_00 : 3; + uint32_t MMAP_0_LPF_01 : 3; + uint32_t MMAP_0_LPF_02 : 3; + uint32_t MMAP_0_LPF_10 : 3; + uint32_t MMAP_0_LPF_11 : 3; + uint32_t MMAP_0_LPF_12 : 3; + uint32_t MMAP_0_LPF_20 : 3; + uint32_t MMAP_0_LPF_21 : 3; + uint32_t MMAP_0_LPF_22 : 3; + uint32_t _rsv_27 : 2; + uint32_t FORCE_CLK_EN : 1; + uint32_t REG_8BIT_RGBMAP_MODE : 1; + uint32_t WH_SW_MODE : 1; + } bits; +}; + +union REG_ISP_MMAP_08 { + uint32_t raw; + struct { + uint32_t MMAP_0_MAP_CORING : 8; + uint32_t MMAP_0_MAP_GAIN : 8; + uint32_t MMAP_0_MAP_THD_L : 8; + uint32_t MMAP_0_MAP_THD_H : 8; + } bits; +}; + +union REG_ISP_MMAP_0C { + uint32_t raw; + struct { + uint32_t MMAP_0_LUMA_ADAPT_LUT_IN_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_LUMA_ADAPT_LUT_IN_1 : 12; + } bits; +}; + +union REG_ISP_MMAP_10 { + uint32_t raw; + struct { + uint32_t MMAP_0_LUMA_ADAPT_LUT_IN_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_LUMA_ADAPT_LUT_IN_3 : 12; + } bits; +}; + +union REG_ISP_MMAP_14 { + uint32_t raw; + struct { + uint32_t MMAP_0_LUMA_ADAPT_LUT_OUT_0 : 6; + uint32_t _rsv_6 : 2; + uint32_t MMAP_0_LUMA_ADAPT_LUT_OUT_1 : 6; + uint32_t _rsv_14 : 2; + uint32_t MMAP_0_LUMA_ADAPT_LUT_OUT_2 : 6; + uint32_t _rsv_22 : 2; + uint32_t MMAP_0_LUMA_ADAPT_LUT_OUT_3 : 6; + } bits; +}; + +union REG_ISP_MMAP_18 { + uint32_t raw; + struct { + uint32_t MMAP_0_LUMA_ADAPT_LUT_SLOPE_0 : 11; + uint32_t _rsv_11 : 5; + uint32_t MMAP_0_LUMA_ADAPT_LUT_SLOPE_1 : 11; + } bits; +}; + +union REG_ISP_MMAP_1C { + uint32_t raw; + struct { + uint32_t MMAP_0_LUMA_ADAPT_LUT_SLOPE_2 : 11; + uint32_t _rsv_11 : 1; + uint32_t MMAP_0_MAP_DSHIFT_BIT : 3; + } bits; +}; + +union REG_ISP_MMAP_20 { + uint32_t raw; + struct { + uint32_t MMAP_0_IIR_PRTCT_LUT_IN_0 : 8; + uint32_t MMAP_0_IIR_PRTCT_LUT_IN_1 : 8; + uint32_t MMAP_0_IIR_PRTCT_LUT_IN_2 : 8; + uint32_t MMAP_0_IIR_PRTCT_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_MMAP_24 { + uint32_t raw; + struct { + uint32_t MMAP_0_IIR_PRTCT_LUT_OUT_0 : 4; + uint32_t MMAP_0_IIR_PRTCT_LUT_OUT_1 : 4; + uint32_t MMAP_0_IIR_PRTCT_LUT_OUT_2 : 4; + uint32_t MMAP_0_IIR_PRTCT_LUT_OUT_3 : 4; + } bits; +}; + +union REG_ISP_MMAP_28 { + uint32_t raw; + struct { + uint32_t MMAP_0_IIR_PRTCT_LUT_SLOPE_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t MMAP_0_IIR_PRTCT_LUT_SLOPE_1 : 9; + } bits; +}; + +union REG_ISP_MMAP_2C { + uint32_t raw; + struct { + uint32_t MMAP_0_IIR_PRTCT_LUT_SLOPE_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t MMAP_0_MH_WGT : 4; + } bits; +}; + +union REG_ISP_MMAP_30 { + uint32_t raw; + struct { + uint32_t IMG_WIDTHM1_SW : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHTM1_SW : 14; + } bits; +}; + +union REG_ISP_MMAP_34 { + uint32_t raw; + struct { + uint32_t V_THD_L : 12; + uint32_t _rsv_12 : 4; + uint32_t V_THD_H : 12; + } bits; +}; + +union REG_ISP_MMAP_38 { + uint32_t raw; + struct { + uint32_t MMAP_1_MAP_CORING : 8; + } bits; +}; + +union REG_ISP_MMAP_3C { + uint32_t raw; + struct { + uint32_t V_WGT_SLP : 19; + uint32_t _rsv_19 : 5; + uint32_t MOTION_LS_MODE : 1; + uint32_t MOTION_LS_SEL : 1; + uint32_t MOTION_YV_LS_MODE : 1; + uint32_t MOTION_YV_LS_SEL : 1; + } bits; +}; + +union REG_ISP_MMAP_40 { + uint32_t raw; + struct { + uint32_t V_WGT_MAX : 9; + uint32_t _rsv_9 : 7; + uint32_t V_WGT_MIN : 9; + } bits; +}; + +union REG_ISP_MMAP_44 { + uint32_t raw; + struct { + uint32_t MMAP_MED_WGT : 9; + uint32_t _rsv_9 : 6; + uint32_t MMAP_MED_ENABLE : 1; + } bits; +}; + +union REG_ISP_MMAP_4C { + uint32_t raw; + struct { + uint32_t MMAP_1_LUMA_ADAPT_LUT_IN_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_LUMA_ADAPT_LUT_IN_1 : 12; + } bits; +}; + +union REG_ISP_MMAP_50 { + uint32_t raw; + struct { + uint32_t MMAP_1_LUMA_ADAPT_LUT_IN_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_LUMA_ADAPT_LUT_IN_3 : 12; + } bits; +}; + +union REG_ISP_MMAP_54 { + uint32_t raw; + struct { + uint32_t MMAP_1_LUMA_ADAPT_LUT_OUT_0 : 6; + uint32_t _rsv_6 : 2; + uint32_t MMAP_1_LUMA_ADAPT_LUT_OUT_1 : 6; + uint32_t _rsv_14 : 2; + uint32_t MMAP_1_LUMA_ADAPT_LUT_OUT_2 : 6; + uint32_t _rsv_22 : 2; + uint32_t MMAP_1_LUMA_ADAPT_LUT_OUT_3 : 6; + } bits; +}; + +union REG_ISP_MMAP_58 { + uint32_t raw; + struct { + uint32_t MMAP_1_LUMA_ADAPT_LUT_SLOPE_0 : 11; + uint32_t _rsv_11 : 5; + uint32_t MMAP_1_LUMA_ADAPT_LUT_SLOPE_1 : 11; + } bits; +}; + +union REG_ISP_MMAP_5C { + uint32_t raw; + struct { + uint32_t MMAP_1_LUMA_ADAPT_LUT_SLOPE_2 : 11; + } bits; +}; + +union REG_ISP_MMAP_60 { + uint32_t raw; + struct { + uint32_t RGBMAP_W_BIT : 3; + uint32_t _rsv_3 : 1; + uint32_t RGBMAP_H_BIT : 3; + } bits; +}; + +union REG_ISP_MMAP_64 { + uint32_t raw; + struct { + uint32_t SRAM_WDATA_0 : 32; + } bits; +}; + +union REG_ISP_MMAP_68 { + uint32_t raw; + struct { + uint32_t SRAM_WDATA_1 : 32; + } bits; +}; + +union REG_ISP_MMAP_6C { + uint32_t raw; + struct { + uint32_t SRAM_WADD : 7; + uint32_t SRAM_WEN : 1; + uint32_t FORCE_DMA_DISABLE : 8; + uint32_t MANR_DEBUG : 16; + } bits; +}; + +union REG_ISP_MMAP_70 { + uint32_t raw; + struct { + uint32_t MMAP_0_GAIN_RATIO_R : 16; + uint32_t MMAP_0_GAIN_RATIO_G : 16; + } bits; +}; + +union REG_ISP_MMAP_74 { + uint32_t raw; + struct { + uint32_t MMAP_0_GAIN_RATIO_B : 16; + } bits; +}; + +union REG_ISP_MMAP_78 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_SLOPE_R : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_0_NS_SLOPE_G : 10; + } bits; +}; + +union REG_ISP_MMAP_7C { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_SLOPE_B : 10; + } bits; +}; + +union REG_ISP_MMAP_80 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_LUMA_TH0_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_NS_LUMA_TH0_G : 12; + } bits; +}; + +union REG_ISP_MMAP_84 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_LUMA_TH0_B : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_NS_LOW_OFFSET_R : 12; + } bits; +}; + +union REG_ISP_MMAP_88 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_LOW_OFFSET_G : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_NS_LOW_OFFSET_B : 12; + } bits; +}; + +union REG_ISP_MMAP_8C { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_HIGH_OFFSET_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_NS_HIGH_OFFSET_G : 12; + } bits; +}; + +union REG_ISP_MMAP_90 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_HIGH_OFFSET_B : 12; + } bits; +}; + +union REG_ISP_MMAP_A0 { + uint32_t raw; + struct { + uint32_t MMAP_1_GAIN_RATIO_R : 16; + uint32_t MMAP_1_GAIN_RATIO_G : 16; + } bits; +}; + +union REG_ISP_MMAP_A4 { + uint32_t raw; + struct { + uint32_t MMAP_1_GAIN_RATIO_B : 16; + } bits; +}; + +union REG_ISP_MMAP_A8 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_SLOPE_R : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_1_NS_SLOPE_G : 10; + } bits; +}; + +union REG_ISP_MMAP_AC { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_SLOPE_B : 10; + } bits; +}; + +union REG_ISP_MMAP_B0 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_LUMA_TH0_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_NS_LUMA_TH0_G : 12; + } bits; +}; + +union REG_ISP_MMAP_B4 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_LUMA_TH0_B : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_NS_LOW_OFFSET_R : 12; + } bits; +}; + +union REG_ISP_MMAP_B8 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_LOW_OFFSET_G : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_NS_LOW_OFFSET_B : 12; + } bits; +}; + +union REG_ISP_MMAP_BC { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_HIGH_OFFSET_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_NS_HIGH_OFFSET_G : 12; + } bits; +}; + +union REG_ISP_MMAP_C0 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_HIGH_OFFSET_B : 12; + } bits; +}; + +union REG_ISP_MMAP_C4 { + uint32_t raw; + struct { + uint32_t IMG_WIDTH_CROP : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHT_CROP : 14; + uint32_t _rsv_30 : 1; + uint32_t CROP_ENABLE : 1; + } bits; +}; + +union REG_ISP_MMAP_C8 { + uint32_t raw; + struct { + uint32_t CROP_W_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_W_END : 14; + } bits; +}; + +union REG_ISP_MMAP_CC { + uint32_t raw; + struct { + uint32_t CROP_H_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_H_END : 14; + } bits; +}; + +union REG_ISP_MMAP_D0 { + uint32_t raw; + struct { + uint32_t IMG_WIDTH_CROP_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHT_CROP_SCALAR : 14; + uint32_t _rsv_30 : 1; + uint32_t CROP_ENABLE_SCALAR : 1; + } bits; +}; + +union REG_ISP_MMAP_D4 { + uint32_t raw; + struct { + uint32_t CROP_W_STR_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_W_END_SCALAR : 14; + } bits; +}; + +union REG_ISP_MMAP_D8 { + uint32_t raw; + struct { + uint32_t CROP_H_STR_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_H_END_SCALAR : 14; + } bits; +}; + +union REG_ISP_MMAP_DC { + uint32_t raw; + struct { + uint32_t COEF_R : 11; + uint32_t _rsv_11 : 5; + uint32_t COEF_G : 11; + } bits; +}; + +union REG_ISP_MMAP_E0 { + uint32_t raw; + struct { + uint32_t COEF_B : 11; + uint32_t _rsv_11 : 5; + uint32_t COEF_I : 11; + } bits; +}; + +union REG_ISP_MMAP_E4 { + uint32_t raw; + struct { + uint32_t MMAP_0_GAIN_RATIO_I : 16; + uint32_t MMAP_0_NS_SLOPE_I : 10; + } bits; +}; + +union REG_ISP_MMAP_E8 { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_LUMA_TH0_I : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_0_NS_LOW_OFFSET_I : 12; + } bits; +}; + +union REG_ISP_MMAP_EC { + uint32_t raw; + struct { + uint32_t MMAP_0_NS_HIGH_OFFSET_I : 12; + } bits; +}; + +union REG_ISP_MMAP_F0 { + uint32_t raw; + struct { + uint32_t MMAP_1_GAIN_RATIO_I : 16; + uint32_t MMAP_1_NS_SLOPE_I : 10; + } bits; +}; + +union REG_ISP_MMAP_F4 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_LUMA_TH0_I : 12; + uint32_t _rsv_12 : 4; + uint32_t MMAP_1_NS_LOW_OFFSET_I : 12; + } bits; +}; + +union REG_ISP_MMAP_F8 { + uint32_t raw; + struct { + uint32_t MMAP_1_NS_HIGH_OFFSET_I : 12; + uint32_t _rsv_12 : 4; + uint32_t HISTORY_SEL_0 : 1; + uint32_t HISTORY_SEL_1 : 1; + uint32_t HISTORY_SEL_2 : 1; + uint32_t HISTORY_SEL_3 : 1; + } bits; +}; + +union REG_ISP_MMAP_FC { + uint32_t raw; + struct { + uint32_t MANR_STATUS : 28; + uint32_t MANR_STATUS_MUX : 4; + } bits; +}; + +union REG_ISP_MMAP_100 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_CENTERX : 13; + uint32_t _rsv_13 : 3; + uint32_t MMAP_LSC_CENTERY : 13; + } bits; +}; + +union REG_ISP_MMAP_104 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_NORM : 15; + uint32_t _rsv_15 : 1; + uint32_t MMAP_LSC_DY_GAIN : 8; + } bits; +}; + +union REG_ISP_MMAP_108 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_01 : 10; + } bits; +}; + +union REG_ISP_MMAP_10C { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_03 : 10; + } bits; +}; + +union REG_ISP_MMAP_110 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_05 : 10; + } bits; +}; + +union REG_ISP_MMAP_114 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_07 : 10; + } bits; +}; + +union REG_ISP_MMAP_118 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_09 : 10; + } bits; +}; + +union REG_ISP_MMAP_11C { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_11 : 10; + } bits; +}; + +union REG_ISP_MMAP_120 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_13 : 10; + } bits; +}; + +union REG_ISP_MMAP_124 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t MMAP_LSC_COMP_GAIN_LUT_15 : 10; + } bits; +}; + +union REG_ISP_MMAP_128 { + uint32_t raw; + struct { + uint32_t MMAP_LSC_COMP_GAIN_LUT_16 : 10; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_GAMMA_CTRL { + uint32_t raw; + struct { + uint32_t GAMMA_ENABLE : 1; + uint32_t GAMMA_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_GAMMA_PROG_CTRL { + uint32_t raw; + struct { + uint32_t GAMMA_WSEL : 1; + uint32_t _rsv_1 : 3; + uint32_t GAMMA_RSEL : 1; + uint32_t _rsv_5 : 3; + uint32_t GAMMA_PROG_EN : 1; + uint32_t _rsv_9 : 3; + uint32_t GAMMA_PROG_1TO3_EN : 1; + uint32_t _rsv_13 : 3; + uint32_t GAMMA_PROG_MODE : 2; + } bits; +}; + +union REG_ISP_GAMMA_PROG_ST_ADDR { + uint32_t raw; + struct { + uint32_t GAMMA_ST_ADDR : 8; + uint32_t _rsv_8 : 23; + uint32_t GAMMA_ST_W : 1; + } bits; +}; + +union REG_ISP_GAMMA_PROG_DATA { + uint32_t raw; + struct { + uint32_t GAMMA_DATA_E : 12; + uint32_t _rsv_12 : 4; + uint32_t GAMMA_DATA_O : 12; + uint32_t _rsv_28 : 3; + uint32_t GAMMA_W : 1; + } bits; +}; + +union REG_ISP_GAMMA_PROG_MAX { + uint32_t raw; + struct { + uint32_t GAMMA_MAX : 13; + } bits; +}; + +union REG_ISP_GAMMA_MEM_SW_RADDR { + uint32_t raw; + struct { + uint32_t GAMMA_SW_RADDR : 8; + uint32_t _rsv_8 : 4; + uint32_t GAMMA_SW_R_MEM_SEL : 1; + } bits; +}; + +union REG_ISP_GAMMA_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t GAMMA_RDATA_R : 12; + uint32_t _rsv_12 : 19; + uint32_t GAMMA_SW_R : 1; + } bits; +}; + +union REG_ISP_GAMMA_MEM_SW_RDATA_BG { + uint32_t raw; + struct { + uint32_t GAMMA_RDATA_G : 12; + uint32_t _rsv_12 : 4; + uint32_t GAMMA_RDATA_B : 12; + } bits; +}; + +union REG_ISP_GAMMA_DBG { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + uint32_t SOFTRST : 1; + } bits; +}; + +union REG_ISP_GAMMA_DMY0 { + uint32_t raw; + struct { + uint32_t DMY_DEF0 : 32; + } bits; +}; + +union REG_ISP_GAMMA_DMY1 { + uint32_t raw; + struct { + uint32_t DMY_DEF1 : 32; + } bits; +}; + +union REG_ISP_GAMMA_DMY_R { + uint32_t raw; + struct { + uint32_t DMY_RO : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CLUT_CTRL { + uint32_t raw; + struct { + uint32_t CLUT_ENABLE : 1; + uint32_t CLUT_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t PROG_EN : 1; + } bits; +}; + +union REG_ISP_CLUT_PROG_ADDR { + uint32_t raw; + struct { + uint32_t SRAM_R_IDX : 5; + uint32_t _rsv_5 : 3; + uint32_t SRAM_G_IDX : 5; + uint32_t _rsv_13 : 3; + uint32_t SRAM_B_IDX : 5; + } bits; +}; + +union REG_ISP_CLUT_PROG_DATA { + uint32_t raw; + struct { + uint32_t SRAM_WDATA : 30; + uint32_t _rsv_30 : 1; + uint32_t SRAM_WR : 1; + } bits; +}; + +union REG_ISP_CLUT_PROG_RDATA { + uint32_t raw; + struct { + uint32_t SRAM_RDATA : 30; + uint32_t _rsv_30 : 1; + uint32_t SRAM_RD : 1; + } bits; +}; + +union REG_ISP_CLUT_DBG { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + } bits; +}; + +union REG_ISP_CLUT_DMY0 { + uint32_t raw; + struct { + uint32_t DMY_DEF0 : 32; + } bits; +}; + +union REG_ISP_CLUT_DMY1 { + uint32_t raw; + struct { + uint32_t DMY_DEF1 : 32; + } bits; +}; + +union REG_ISP_CLUT_DMY_R { + uint32_t raw; + struct { + uint32_t DMY_RO : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_DEHAZE_DHZ_SMOOTH { + uint32_t raw; + struct { + uint32_t DEHAZE_W : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TH_SMOOTH : 10; + } bits; +}; + +union REG_ISP_DEHAZE_DHZ_SKIN { + uint32_t raw; + struct { + uint32_t DEHAZE_SKIN_CB : 8; + uint32_t DEHAZE_SKIN_CR : 8; + } bits; +}; + +union REG_ISP_DEHAZE_DHZ_WGT { + uint32_t raw; + struct { + uint32_t DEHAZE_A_LUMA_WGT : 6; + uint32_t _rsv_6 : 2; + uint32_t DEHAZE_BLEND_WGT : 6; + uint32_t _rsv_14 : 2; + uint32_t DEHAZE_TMAP_SCALE : 8; + uint32_t DEHAZE_D_WGT : 5; + } bits; +}; + +union REG_ISP_DEHAZE_DHZ_BYPASS { + uint32_t raw; + struct { + uint32_t DEHAZE_ENABLE : 1; + uint32_t DEHAZE_LUMA_LUT_ENABLE : 1; + uint32_t DEHAZE_SKIN_LUT_ENABLE : 1; + uint32_t DEHAZE_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_DEHAZE_0 { + uint32_t raw; + struct { + uint32_t SOFTRST : 1; + uint32_t _rsv_1 : 4; + uint32_t DBG_EN : 1; + uint32_t _rsv_6 : 10; + uint32_t CHECK_SUM : 16; + } bits; +}; + +union REG_ISP_DEHAZE_1 { + uint32_t raw; + struct { + uint32_t DEHAZE_CUM_TH : 14; + uint32_t _rsv_14 : 2; + uint32_t DEHAZE_HIST_TH : 14; + } bits; +}; + +union REG_ISP_DEHAZE_2 { + uint32_t raw; + struct { + uint32_t DEHAZE_SW_DC_TH : 10; + uint32_t _rsv_10 : 6; + uint32_t DEHAZE_SW_AGLOBAL_R : 12; + uint32_t DEHAZE_SW_DC_TRIG : 1; + uint32_t _rsv_29 : 2; + uint32_t DEHAZE_SW_DC_AGLOBAL_TRIG : 1; + } bits; +}; + +union REG_ISP_DEHAZE_28 { + uint32_t raw; + struct { + uint32_t DEHAZE_SW_AGLOBAL_G : 12; + uint32_t _rsv_12 : 4; + uint32_t DEHAZE_SW_AGLOBAL_B : 12; + } bits; +}; + +union REG_ISP_DEHAZE_2C { + uint32_t raw; + struct { + uint32_t DEHAZE_AGLOBAL_MAX : 12; + uint32_t _rsv_12 : 4; + uint32_t DEHAZE_AGLOBAL_MIN : 12; + } bits; +}; + +union REG_ISP_DEHAZE_3 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_MIN : 13; + uint32_t _rsv_13 : 3; + uint32_t DEHAZE_TMAP_MAX : 13; + } bits; +}; + +union REG_ISP_DEHAZE_5 { + uint32_t raw; + struct { + uint32_t FMT_ST : 12; + uint32_t _rsv_12 : 4; + uint32_t FMT_END : 12; + uint32_t TILE_NM : 4; + } bits; +}; + +union REG_ISP_DEHAZE_6 { + uint32_t raw; + struct { + uint32_t DBG_SEL : 3; + } bits; +}; + +union REG_ISP_DEHAZE_7 { + uint32_t raw; + struct { + uint32_t DHZ_DBG0 : 32; + } bits; +}; + +union REG_ISP_DEHAZE_8 { + uint32_t raw; + struct { + uint32_t DHZ_DBG1 : 32; + } bits; +}; + +union REG_ISP_DEHAZE_9 { + uint32_t raw; + struct { + uint32_t DEHAZE_LUMA_LUT00 : 8; + uint32_t DEHAZE_LUMA_LUT01 : 8; + uint32_t DEHAZE_LUMA_LUT02 : 8; + uint32_t DEHAZE_LUMA_LUT03 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_10 { + uint32_t raw; + struct { + uint32_t DEHAZE_LUMA_LUT04 : 8; + uint32_t DEHAZE_LUMA_LUT05 : 8; + uint32_t DEHAZE_LUMA_LUT06 : 8; + uint32_t DEHAZE_LUMA_LUT07 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_11 { + uint32_t raw; + struct { + uint32_t DEHAZE_LUMA_LUT08 : 8; + uint32_t DEHAZE_LUMA_LUT09 : 8; + uint32_t DEHAZE_LUMA_LUT10 : 8; + uint32_t DEHAZE_LUMA_LUT11 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_12 { + uint32_t raw; + struct { + uint32_t DEHAZE_LUMA_LUT12 : 8; + uint32_t DEHAZE_LUMA_LUT13 : 8; + uint32_t DEHAZE_LUMA_LUT14 : 8; + uint32_t DEHAZE_LUMA_LUT15 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_17 { + uint32_t raw; + struct { + uint32_t DEHAZE_SKIN_LUT00 : 8; + uint32_t DEHAZE_SKIN_LUT01 : 8; + uint32_t DEHAZE_SKIN_LUT02 : 8; + uint32_t DEHAZE_SKIN_LUT03 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_18 { + uint32_t raw; + struct { + uint32_t DEHAZE_SKIN_LUT04 : 8; + uint32_t DEHAZE_SKIN_LUT05 : 8; + uint32_t DEHAZE_SKIN_LUT06 : 8; + uint32_t DEHAZE_SKIN_LUT07 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_19 { + uint32_t raw; + struct { + uint32_t DEHAZE_SKIN_LUT08 : 8; + uint32_t DEHAZE_SKIN_LUT09 : 8; + uint32_t DEHAZE_SKIN_LUT10 : 8; + uint32_t DEHAZE_SKIN_LUT11 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_20 { + uint32_t raw; + struct { + uint32_t DEHAZE_SKIN_LUT12 : 8; + uint32_t DEHAZE_SKIN_LUT13 : 8; + uint32_t DEHAZE_SKIN_LUT14 : 8; + uint32_t DEHAZE_SKIN_LUT15 : 8; + } bits; +}; + +union REG_ISP_DEHAZE_25 { + uint32_t raw; + struct { + uint32_t AGLOBAL_R : 12; + uint32_t _rsv_12 : 4; + uint32_t AGLOBAL_G : 12; + } bits; +}; + +union REG_ISP_DEHAZE_26 { + uint32_t raw; + struct { + uint32_t AGLOBAL_B : 12; + uint32_t _rsv_12 : 4; + uint32_t DC_TH : 10; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_00 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT000 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT001 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT002 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT003 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_01 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT004 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT005 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT006 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT007 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_02 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT008 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT009 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT010 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT011 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_03 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT012 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT013 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT014 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT015 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_04 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT016 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT017 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT018 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT019 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_05 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT020 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT021 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT022 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT023 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_06 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT024 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT025 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT026 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT027 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_07 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT028 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT029 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT030 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT031 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_08 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT032 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT033 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT034 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT035 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_09 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT036 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT037 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT038 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT039 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_10 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT040 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT041 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT042 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT043 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_11 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT044 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT045 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT046 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT047 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_12 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT048 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT049 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT050 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT051 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_13 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT052 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT053 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT054 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT055 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_14 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT056 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT057 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT058 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT059 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_15 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT060 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT061 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT062 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT063 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_16 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT064 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT065 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT066 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT067 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_17 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT068 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT069 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT070 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT071 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_18 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT072 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT073 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT074 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT075 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_19 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT076 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT077 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT078 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT079 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_20 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT080 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT081 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT082 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT083 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_21 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT084 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT085 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT086 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT087 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_22 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT088 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT089 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT090 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT091 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_23 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT092 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT093 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT094 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT095 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_24 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT096 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT097 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT098 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT099 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_25 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT100 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT101 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT102 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT103 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_26 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT104 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT105 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT106 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT107 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_27 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT108 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT109 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT110 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT111 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_28 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT112 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT113 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT114 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT115 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_29 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT116 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT117 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT118 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT119 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_30 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT120 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT121 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT122 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT123 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_31 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT124 : 7; + uint32_t _rsv_7 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT125 : 7; + uint32_t _rsv_15 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT126 : 7; + uint32_t _rsv_23 : 1; + uint32_t DEHAZE_TMAP_GAIN_LUT127 : 7; + } bits; +}; + +union REG_ISP_DEHAZE_TMAP_32 { + uint32_t raw; + struct { + uint32_t DEHAZE_TMAP_GAIN_LUT128 : 7; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CSC_0 { + uint32_t raw; + struct { + uint32_t CSC_ENABLE : 1; + uint32_t R2Y4_SHDW_SEL : 1; + } bits; +}; + +union REG_ISP_CSC_1 { + uint32_t raw; + struct { + uint32_t OP_START : 1; + uint32_t CONT_EN : 1; + uint32_t R2Y4_BYPASS : 1; + uint32_t SOFTRST : 1; + uint32_t AUTO_UPDATE_EN : 1; + uint32_t DBG_EN : 1; + uint32_t _rsv_6 : 10; + uint32_t CHECK_SUM : 16; + } bits; +}; + +union REG_ISP_CSC_2 { + uint32_t raw; + struct { + uint32_t SHDW_UPDATE_REQ : 1; + } bits; +}; + +union REG_ISP_CSC_3 { + uint32_t raw; + struct { + uint32_t DMY0 : 32; + } bits; +}; + +union REG_ISP_CSC_4 { + uint32_t raw; + struct { + uint32_t COEFF_00 : 14; + uint32_t _rsv_14 : 2; + uint32_t COEFF_01 : 14; + } bits; +}; + +union REG_ISP_CSC_5 { + uint32_t raw; + struct { + uint32_t COEFF_02 : 14; + uint32_t _rsv_14 : 2; + uint32_t COEFF_10 : 14; + } bits; +}; + +union REG_ISP_CSC_6 { + uint32_t raw; + struct { + uint32_t COEFF_11 : 14; + uint32_t _rsv_14 : 2; + uint32_t COEFF_12 : 14; + } bits; +}; + +union REG_ISP_CSC_7 { + uint32_t raw; + struct { + uint32_t COEFF_20 : 14; + uint32_t _rsv_14 : 2; + uint32_t COEFF_21 : 14; + } bits; +}; + +union REG_ISP_CSC_8 { + uint32_t raw; + struct { + uint32_t COEFF_22 : 14; + uint32_t _rsv_14 : 2; + uint32_t OFFSET_0 : 11; + } bits; +}; + +union REG_ISP_CSC_9 { + uint32_t raw; + struct { + uint32_t OFFSET_1 : 11; + uint32_t _rsv_11 : 5; + uint32_t OFFSET_2 : 11; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_RGB_DITHER_RGB_DITHER { + uint32_t raw; + struct { + uint32_t RGB_DITHER_ENABLE : 1; + uint32_t RGB_DITHER_MOD_EN : 1; + uint32_t RGB_DITHER_HISTIDX_EN : 1; + uint32_t RGB_DITHER_FMNUM_EN : 1; + uint32_t RGB_DITHER_SHDW_SEL : 1; + uint32_t RGB_DITHER_SOFTRST : 1; + uint32_t _rsv_6 : 2; + uint32_t CROP_WIDTHM1 : 12; + uint32_t CROP_HEIGHTM1 : 12; + } bits; +}; + +union REG_ISP_RGB_DITHER_RGB_DITHER_DEBUG0 { + uint32_t raw; + struct { + uint32_t RGB_DITHER_DEBUG0 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_DCI_STATUS { + uint32_t raw; + struct { + uint32_t DCI_STATUS : 32; + } bits; +}; + +union REG_ISP_DCI_GRACE_RESET { + uint32_t raw; + struct { + uint32_t DCI_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_DCI_MONITOR { + uint32_t raw; + struct { + uint32_t DCI_MONITOR : 32; + } bits; +}; + +union REG_ISP_DCI_ENABLE { + uint32_t raw; + struct { + uint32_t DCI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DCI_HIST_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t DCI_UV_GAIN_ENABLE : 1; + uint32_t _rsv_9 : 19; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_DCI_MAP_ENABLE { + uint32_t raw; + struct { + uint32_t DCI_MAP_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DCI_PER1SAMPLE_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t DCI_HISTO_BIG_ENDIAN : 1; + uint32_t _rsv_9 : 3; + uint32_t DCI_ROI_ENABLE : 1; + uint32_t _rsv_13 : 7; + uint32_t DCI_ZEROING_ENABLE : 1; + uint32_t _rsv_21 : 3; + uint32_t DCI_SHIFT_ENABLE : 1; + uint32_t _rsv_25 : 3; + uint32_t DCI_INDEX_ENABLE : 1; + } bits; +}; + +union REG_ISP_DCI_FLOW { + uint32_t raw; + struct { + uint32_t DCI_ZERODCIOGRAM : 1; + uint32_t _rsv_1 : 3; + uint32_t DCI_SHADOW_SELECT : 1; + } bits; +}; + +union REG_ISP_DCI_DEMO_MODE { + uint32_t raw; + struct { + uint32_t DCI_DEMO_MODE : 1; + } bits; +}; + +union REG_ISP_DCI_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t DCI_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_DCI_LOCATION { + uint32_t raw; + struct { + uint32_t DCI_LOCATION : 32; + } bits; +}; + +union REG_ISP_DCI_PROG_DATA { + uint32_t raw; + struct { + uint32_t DCI_PROG_DATA : 32; + } bits; +}; + +union REG_ISP_DCI_PROG_CTRL { + uint32_t raw; + struct { + uint32_t DCI_PROG_CTRL : 32; + } bits; +}; + +union REG_ISP_DCI_PROG_MAX { + uint32_t raw; + struct { + uint32_t DCI_PROG_MAX : 32; + } bits; +}; + +union REG_ISP_DCI_CTRL { + uint32_t raw; + struct { + uint32_t DCI_CTRL : 32; + } bits; +}; + +union REG_ISP_DCI_MEM_SW_MODE { + uint32_t raw; + struct { + uint32_t DCI_MEM_SW_MODE : 32; + } bits; +}; + +union REG_ISP_DCI_MEM_RADDR { + uint32_t raw; + struct { + uint32_t DCI_MEM_RADDR : 32; + } bits; +}; + +union REG_ISP_DCI_MEM_RDATA { + uint32_t raw; + struct { + uint32_t DCI_MEM_RDATA : 32; + } bits; +}; + +union REG_ISP_DCI_DEBUG { + uint32_t raw; + struct { + uint32_t DCI_DEBUG : 32; + } bits; +}; + +union REG_ISP_DCI_DUMMY { + uint32_t raw; + struct { + uint32_t DCI_DUMMY : 32; + } bits; +}; + +union REG_ISP_DCI_IMG_WIDTHM1 { + uint32_t raw; + struct { + uint32_t IMG_WIDTHM1 : 16; + } bits; +}; + +union REG_ISP_DCI_LUT_ORDER_SELECT { + uint32_t raw; + struct { + uint32_t DCI_LUT_ORDER_SELECT : 1; + } bits; +}; + +union REG_ISP_DCI_ROI_START { + uint32_t raw; + struct { + uint32_t DCI_ROI_START_X : 13; + uint32_t _rsv_13 : 3; + uint32_t DCI_ROI_START_Y : 13; + } bits; +}; + +union REG_ISP_DCI_ROI_GEO { + uint32_t raw; + struct { + uint32_t DCI_ROI_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t DCI_ROI_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_DCI_UV_GAIN_MAX { + uint32_t raw; + struct { + uint32_t DCI_UV_GAIN_MAX : 7; + uint32_t _rsv_7 : 9; + uint32_t DCI_UV_GAIN_MIN : 7; + } bits; +}; + +union REG_ISP_DCI_MAP_DBG { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + uint32_t CONT_EN : 1; + uint32_t SOFTRST : 1; + uint32_t DBG_EN : 1; + uint32_t _rsv_4 : 12; + uint32_t CHECK_SUM : 16; + } bits; +}; + +union REG_ISP_DCI_BAYER_STARTING { + uint32_t raw; + struct { + uint32_t DCI_BAYER_STARTING : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_DCI_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +union REG_ISP_DCI_GAMMA_CTRL { + uint32_t raw; + struct { + uint32_t _rsv_1 : 1; + uint32_t GAMMA_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_DCI_GAMMA_PROG_CTRL { + uint32_t raw; + struct { + uint32_t GAMMA_WSEL : 1; + uint32_t _rsv_1 : 3; + uint32_t GAMMA_RSEL : 1; + uint32_t _rsv_5 : 3; + uint32_t GAMMA_PROG_EN : 1; + uint32_t _rsv_9 : 3; + uint32_t GAMMA_PROG_1TO3_EN : 1; + uint32_t _rsv_13 : 3; + uint32_t GAMMA_PROG_MODE : 2; + } bits; +}; + +union REG_ISP_DCI_GAMMA_PROG_DATA { + uint32_t raw; + struct { + uint32_t GAMMA_DATA_E : 12; + uint32_t _rsv_12 : 4; + uint32_t GAMMA_DATA_O : 12; + uint32_t _rsv_28 : 3; + uint32_t GAMMA_W : 1; + } bits; +}; + +union REG_ISP_DCI_GAMMA_PROG_MAX { + uint32_t raw; + struct { + uint32_t GAMMA_MAX : 12; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_HIST_EDGE_V_STATUS { + uint32_t raw; + struct { + uint32_t STATUS : 32; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_SW_CTL { + uint32_t raw; + struct { + uint32_t SW_RESET : 1; + uint32_t CLR_SRAM : 1; + uint32_t _rsv_2 : 1; + uint32_t SHAW_SEL : 1; + uint32_t TILE_NM : 4; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_BYPASS { + uint32_t raw; + struct { + uint32_t BYPASS : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_IP_CONFIG { + uint32_t raw; + struct { + uint32_t HIST_EDGE_V_ENABLE : 1; + uint32_t HIST_EDGE_V_LUMA_MODE : 1; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_HIST_EDGE_V_OFFSETX { + uint32_t raw; + struct { + uint32_t HIST_EDGE_V_OFFSETX : 13; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_HIST_EDGE_V_OFFSETY { + uint32_t raw; + struct { + uint32_t HIST_EDGE_V_OFFSETY : 13; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_MONITOR { + uint32_t raw; + struct { + uint32_t MONITOR : 32; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t MONITOR_SEL : 32; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_LOCATION { + uint32_t raw; + struct { + uint32_t LOCATION : 32; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY : 16; + } bits; +}; + +union REG_ISP_HIST_EDGE_V_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_FUSION_FS_CTRL_0 { + uint32_t raw; + struct { + uint32_t FS_ENABLE : 1; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t SE_IN_SEL : 1; + uint32_t FORCE_PCLK_ENABLE : 1; + uint32_t FS_MC_ENABLE : 1; + uint32_t FS_DC_MODE : 1; + uint32_t FS_LUMA_MODE : 1; + uint32_t FS_LMAP_GUIDE_DC_MODE : 1; + uint32_t FS_LMAP_GUIDE_LUMA_MODE : 1; + uint32_t _rsv_9 : 3; + uint32_t FS_S_MAX : 20; + } bits; +}; + +union REG_FUSION_FS_SE_GAIN { + uint32_t raw; + struct { + uint32_t FS_LS_GAIN : 14; + uint32_t _rsv_14 : 2; + uint32_t FS_OUT_SEL : 4; + } bits; +}; + +union REG_FUSION_FS_LUMA_THD { + uint32_t raw; + struct { + uint32_t FS_LUMA_THD_L : 12; + uint32_t _rsv_12 : 4; + uint32_t FS_LUMA_THD_H : 12; + } bits; +}; + +union REG_FUSION_FS_WGT { + uint32_t raw; + struct { + uint32_t FS_WGT_MAX : 9; + uint32_t _rsv_9 : 7; + uint32_t FS_WGT_MIN : 9; + } bits; +}; + +union REG_FUSION_FS_WGT_SLOPE { + uint32_t raw; + struct { + uint32_t FS_WGT_SLP : 19; + } bits; +}; + +union REG_FUSION_FS_SHDW_READ_SEL { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_FUSION_FS_MOTION_LUT_IN { + uint32_t raw; + struct { + uint32_t FS_MOTION_LUT_IN_0 : 8; + uint32_t FS_MOTION_LUT_IN_1 : 8; + uint32_t FS_MOTION_LUT_IN_2 : 8; + uint32_t FS_MOTION_LUT_IN_3 : 8; + } bits; +}; + +union REG_FUSION_FS_MOTION_LUT_OUT_0 { + uint32_t raw; + struct { + uint32_t FS_MOTION_LUT_OUT_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t FS_MOTION_LUT_OUT_1 : 9; + } bits; +}; + +union REG_FUSION_FS_MOTION_LUT_OUT_1 { + uint32_t raw; + struct { + uint32_t FS_MOTION_LUT_OUT_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t FS_MOTION_LUT_OUT_3 : 9; + } bits; +}; + +union REG_FUSION_FS_MOTION_LUT_SLOPE_0 { + uint32_t raw; + struct { + uint32_t FS_MOTION_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t FS_MOTION_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_FUSION_FS_MOTION_LUT_SLOPE_1 { + uint32_t raw; + struct { + uint32_t FS_MOTION_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_FUSION_FS_CTRL_1 { + uint32_t raw; + struct { + uint32_t LE_IN_SEL : 1; + uint32_t _rsv_1 : 5; + uint32_t FS_FUSION_TYPE : 2; + uint32_t _rsv_8 : 8; + uint32_t FS_FUSION_LWGT : 9; + } bits; +}; + +union REG_FUSION_FS_CALIB_CTRL_0 { + uint32_t raw; + struct { + uint32_t FS_CALIB_LUMA_LOW_TH : 12; + uint32_t _rsv_12 : 4; + uint32_t FS_CALIB_LUMA_HIGH_TH : 12; + } bits; +}; + +union REG_FUSION_FS_CALIB_CTRL_1 { + uint32_t raw; + struct { + uint32_t FS_CALIB_DIF_TH : 12; + } bits; +}; + +union REG_FUSION_FS_SE_FIX_OFFSET_0 { + uint32_t raw; + struct { + uint32_t FS_SE_FIX_OFFSET_R : 21; + } bits; +}; + +union REG_FUSION_FS_SE_FIX_OFFSET_1 { + uint32_t raw; + struct { + uint32_t FS_SE_FIX_OFFSET_G : 21; + } bits; +}; + +union REG_FUSION_FS_SE_FIX_OFFSET_2 { + uint32_t raw; + struct { + uint32_t FS_SE_FIX_OFFSET_B : 21; + } bits; +}; + +union REG_FUSION_FS_CALIB_OUT_0 { + uint32_t raw; + struct { + uint32_t FS_CAL_PXL_NUM : 20; + } bits; +}; + +union REG_FUSION_FS_CALIB_OUT_1 { + uint32_t raw; + struct { + uint32_t FS_PXL_DIFF_SUM_R : 32; + } bits; +}; + +union REG_FUSION_FS_CALIB_OUT_2 { + uint32_t raw; + struct { + uint32_t FS_PXL_DIFF_SUM_G : 32; + } bits; +}; + +union REG_FUSION_FS_CALIB_OUT_3 { + uint32_t raw; + struct { + uint32_t FS_PXL_DIFF_SUM_B : 32; + } bits; +}; + +union REG_FUSION_FS_LMAP_DARK_THD { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_DARK_THD_L : 12; + uint32_t _rsv_12 : 4; + uint32_t FS_LMAP_GUIDE_DARK_THD_H : 12; + } bits; +}; + +union REG_FUSION_FS_LMAP_DARK_WGT { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_DARK_WGT_L : 9; + uint32_t _rsv_9 : 7; + uint32_t FS_LMAP_GUIDE_DARK_WGT_H : 9; + } bits; +}; + +union REG_FUSION_FS_LMAP_DARK_WGT_SLOPE { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_DARK_WGT_SLP : 19; + } bits; +}; + +union REG_FUSION_FS_LMAP_BRIT_THD { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_BRIT_THD_L : 12; + uint32_t _rsv_12 : 4; + uint32_t FS_LMAP_GUIDE_BRIT_THD_H : 12; + } bits; +}; + +union REG_FUSION_FS_LMAP_BRIT_WGT { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_BRIT_WGT_L : 9; + uint32_t _rsv_9 : 7; + uint32_t FS_LMAP_GUIDE_BRIT_WGT_H : 9; + } bits; +}; + +union REG_FUSION_FS_LMAP_BRIT_WGT_SLOPE { + uint32_t raw; + struct { + uint32_t FS_LMAP_GUIDE_BRIT_WGT_SLP : 19; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_LTM_H00 { + uint32_t raw; + struct { + uint32_t LTM_ENABLE : 1; + uint32_t LTM_DARK_ENH_ENABLE : 1; + uint32_t LTM_BRIT_ENH_ENABLE : 1; + uint32_t _rsv_3 : 2; + uint32_t SHDW_READ_SEL : 1; + uint32_t _rsv_6 : 4; + uint32_t FORCE_PCLK_ENABLE : 1; + uint32_t _rsv_11 : 2; + uint32_t LTM_DBG_MODE : 3; + uint32_t FORCE_DMA_DISABLE : 2; + uint32_t DARK_TONE_WGT_REFINE_ENABLE : 1; + uint32_t BRIT_TONE_WGT_REFINE_ENABLE : 1; + uint32_t _rsv_20 : 11; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_LTM_H04 { + uint32_t raw; + struct { + uint32_t IMG_WIDTHM1_SW : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHTM1_SW : 14; + uint32_t FIRST_FRAME_RESET : 1; + uint32_t WH_SW_MODE : 1; + } bits; +}; + +union REG_LTM_H08 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 8; + uint32_t LTM_BE_STRTH_DSHFT : 5; + uint32_t _rsv_13 : 3; + uint32_t LTM_BE_STRTH_GAIN : 11; + } bits; +}; + +union REG_LTM_H0C { + uint32_t raw; + struct { + uint32_t _rsv_0 : 8; + uint32_t LTM_DE_STRTH_DSHFT : 5; + uint32_t _rsv_13 : 3; + uint32_t LTM_DE_STRTH_GAIN : 11; + } bits; +}; + +union REG_LTM_H14 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 16; + uint32_t LTM_BE_RNG : 4; + uint32_t _rsv_20 : 4; + uint32_t LTM_DE_RNG : 4; + } bits; +}; + +union REG_LTM_H18 { + uint32_t raw; + struct { + uint32_t LTM_BRI_IN_THD_L : 8; + uint32_t LTM_BRI_IN_THD_H : 8; + uint32_t _rsv_16 : 7; + uint32_t LTM_BRI_OUT_THD_L : 9; + } bits; +}; + +union REG_LTM_H1C { + uint32_t raw; + struct { + uint32_t LTM_BRI_OUT_THD_H : 9; + uint32_t LTM_BRI_IN_GAIN_SLOP : 17; + } bits; +}; + +union REG_LTM_H20 { + uint32_t raw; + struct { + uint32_t LTM_DAR_IN_THD_L : 8; + uint32_t LTM_DAR_IN_THD_H : 8; + uint32_t _rsv_16 : 7; + uint32_t LTM_DAR_OUT_THD_L : 9; + } bits; +}; + +union REG_LTM_H24 { + uint32_t raw; + struct { + uint32_t LTM_DAR_OUT_THD_H : 9; + uint32_t LTM_DAR_IN_GAIN_SLOP : 17; + } bits; +}; + +union REG_LTM_H28 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 4; + uint32_t LTM_B_CURVE_QUAN_BIT : 4; + uint32_t _rsv_8 : 4; + uint32_t LTM_G_CURVE_1_QUAN_BIT : 4; + } bits; +}; + +union REG_LTM_H2C { + uint32_t raw; + struct { + uint32_t LTM_BE_DIST_WGT_00 : 5; + uint32_t LTM_BE_DIST_WGT_01 : 5; + uint32_t LTM_BE_DIST_WGT_02 : 5; + uint32_t LTM_BE_DIST_WGT_03 : 5; + uint32_t LTM_BE_DIST_WGT_04 : 5; + uint32_t LTM_BE_DIST_WGT_05 : 5; + } bits; +}; + +union REG_LTM_H30 { + uint32_t raw; + struct { + uint32_t LTM_DE_DIST_WGT_00 : 5; + uint32_t LTM_DE_DIST_WGT_01 : 5; + uint32_t LTM_DE_DIST_WGT_02 : 5; + uint32_t LTM_DE_DIST_WGT_03 : 5; + uint32_t LTM_DE_DIST_WGT_04 : 5; + uint32_t LTM_DE_DIST_WGT_05 : 5; + } bits; +}; + +union REG_LTM_H34 { + uint32_t raw; + struct { + uint32_t LUT_DBG_RADDR : 10; + uint32_t _rsv_10 : 4; + uint32_t LUT_DBG_RSEL : 1; + uint32_t LUT_DBG_READ_EN_1T : 1; + uint32_t LUT_PROG_EN_BRIGHT : 1; + uint32_t LUT_PROG_EN_DARK : 1; + uint32_t LUT_PROG_EN_GLOBAL : 1; + } bits; +}; + +union REG_LTM_H38 { + uint32_t raw; + struct { + uint32_t LUT_WDATA : 32; + } bits; +}; + +union REG_LTM_H3C { + uint32_t raw; + struct { + uint32_t LUT_WSTADDR : 10; + uint32_t _rsv_10 : 4; + uint32_t LUT_WSEL : 1; + uint32_t LUT_WDATA_TRIG_1T : 1; + uint32_t LUT_WSTADDR_TRIG_1T : 1; + } bits; +}; + +union REG_LTM_H40 { + uint32_t raw; + struct { + uint32_t BRIGHT_LUT_MAX : 16; + } bits; +}; + +union REG_LTM_H44 { + uint32_t raw; + struct { + uint32_t DARK_LUT_MAX : 16; + } bits; +}; + +union REG_LTM_H48 { + uint32_t raw; + struct { + uint32_t GLOBAL_LUT_MAX : 16; + } bits; +}; + +union REG_LTM_H4C { + uint32_t raw; + struct { + uint32_t LUT_DBG_RDATA : 32; + } bits; +}; + +union REG_LTM_H50 { + uint32_t raw; + struct { + uint32_t DUMMY_RW : 16; + uint32_t DUMMY_RO : 16; + } bits; +}; + +union REG_LTM_H54 { + uint32_t raw; + struct { + uint32_t CROP_W_STR_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_W_END_SCALAR : 14; + uint32_t _rsv_30 : 1; + uint32_t CROP_ENABLE_SCALAR : 1; + } bits; +}; + +union REG_LTM_H58 { + uint32_t raw; + struct { + uint32_t CROP_H_STR_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_H_END_SCALAR : 14; + } bits; +}; + +union REG_LTM_H5C { + uint32_t raw; + struct { + uint32_t IMG_HEIGHT_CROP_SCALAR : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_WIDTH_CROP_SCALAR : 14; + } bits; +}; + +union REG_LTM_H60 { + uint32_t raw; + struct { + uint32_t HW_MEM_SEL : 1; + uint32_t INTER_1_BYPASS : 1; + uint32_t INTER_2_BYPASS : 1; + uint32_t _rsv_3 : 1; + uint32_t LMAP_ASSIGN : 1; + uint32_t LMAP_DEBUG : 1; + uint32_t PHASE_COMP : 1; + uint32_t SCALER_PUSH_ON : 1; + uint32_t _rsv_8 : 16; + uint32_t LMAP_DEBUG_VALUE : 8; + } bits; +}; + +union REG_LTM_H64 { + uint32_t raw; + struct { + uint32_t LTM_EE_ENABLE : 1; + uint32_t LTM_EE_TOTAL_GAIN : 8; + uint32_t LTM_EE_LUMA_GAIN_ENABLE : 1; + uint32_t LTM_EE_LUMA_MODE : 1; + uint32_t LTM_EE_SOFT_CLAMP_ENABLE : 1; + } bits; +}; + +union REG_LTM_H68 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_00 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_01 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_02 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_03 : 8; + } bits; +}; + +union REG_LTM_H6C { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_04 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_05 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_06 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_07 : 8; + } bits; +}; + +union REG_LTM_H70 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_08 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_09 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_10 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_11 : 8; + } bits; +}; + +union REG_LTM_H74 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_12 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_13 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_14 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_15 : 8; + } bits; +}; + +union REG_LTM_H78 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_16 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_17 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_18 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_19 : 8; + } bits; +}; + +union REG_LTM_H7C { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_20 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_21 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_22 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_23 : 8; + } bits; +}; + +union REG_LTM_H80 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_24 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_25 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_26 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_27 : 8; + } bits; +}; + +union REG_LTM_H84 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_28 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_29 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_30 : 8; + uint32_t LTM_EE_LUMA_GAIN_LUT_31 : 8; + } bits; +}; + +union REG_LTM_H88 { + uint32_t raw; + struct { + uint32_t LTM_EE_LUMA_GAIN_LUT_32 : 8; + } bits; +}; + +union REG_LTM_H8C { + uint32_t raw; + struct { + uint32_t _rsv_0 : 12; + uint32_t LMAP_W_BIT : 3; + uint32_t _rsv_15 : 13; + uint32_t LMAP_H_BIT : 3; + } bits; +}; + +union REG_LTM_H90 { + uint32_t raw; + struct { + uint32_t LTM_V_BLEND_THD_L : 10; + uint32_t LTM_V_BLEND_THD_H : 10; + } bits; +}; + +union REG_LTM_H94 { + uint32_t raw; + struct { + uint32_t LTM_V_BLEND_WGT_MIN : 9; + uint32_t LTM_V_BLEND_WGT_MAX : 9; + } bits; +}; + +union REG_LTM_H98 { + uint32_t raw; + struct { + uint32_t LTM_V_BLEND_WGT_SLOPE : 19; + } bits; +}; + +union REG_LTM_H9C { + uint32_t raw; + struct { + uint32_t LTM_DE_LMAP_LUT_IN_0 : 8; + uint32_t LTM_DE_LMAP_LUT_IN_1 : 8; + uint32_t LTM_DE_LMAP_LUT_IN_2 : 8; + uint32_t LTM_DE_LMAP_LUT_IN_3 : 8; + } bits; +}; + +union REG_LTM_HA0 { + uint32_t raw; + struct { + uint32_t LTM_DE_LMAP_LUT_OUT_0 : 8; + uint32_t LTM_DE_LMAP_LUT_OUT_1 : 8; + uint32_t LTM_DE_LMAP_LUT_OUT_2 : 8; + uint32_t LTM_DE_LMAP_LUT_OUT_3 : 8; + } bits; +}; + +union REG_LTM_HA4 { + uint32_t raw; + struct { + uint32_t LTM_DE_LMAP_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t LTM_DE_LMAP_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_LTM_HA8 { + uint32_t raw; + struct { + uint32_t LTM_DE_LMAP_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_LTM_HAC { + uint32_t raw; + struct { + uint32_t LTM_BE_LMAP_LUT_IN_0 : 8; + uint32_t LTM_BE_LMAP_LUT_IN_1 : 8; + uint32_t LTM_BE_LMAP_LUT_IN_2 : 8; + uint32_t LTM_BE_LMAP_LUT_IN_3 : 8; + } bits; +}; + +union REG_LTM_HB0 { + uint32_t raw; + struct { + uint32_t LTM_BE_LMAP_LUT_OUT_0 : 8; + uint32_t LTM_BE_LMAP_LUT_OUT_1 : 8; + uint32_t LTM_BE_LMAP_LUT_OUT_2 : 8; + uint32_t LTM_BE_LMAP_LUT_OUT_3 : 8; + } bits; +}; + +union REG_LTM_HB4 { + uint32_t raw; + struct { + uint32_t LTM_BE_LMAP_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t LTM_BE_LMAP_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_LTM_HB8 { + uint32_t raw; + struct { + uint32_t LTM_BE_LMAP_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_LTM_HBC { + uint32_t raw; + struct { + uint32_t LTM_EE_MOTION_LUT_IN_0 : 8; + uint32_t LTM_EE_MOTION_LUT_IN_1 : 8; + uint32_t LTM_EE_MOTION_LUT_IN_2 : 8; + uint32_t LTM_EE_MOTION_LUT_IN_3 : 8; + } bits; +}; + +union REG_LTM_HC0 { + uint32_t raw; + struct { + uint32_t LTM_EE_MOTION_LUT_OUT_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t LTM_EE_MOTION_LUT_OUT_1 : 9; + } bits; +}; + +union REG_LTM_HC4 { + uint32_t raw; + struct { + uint32_t LTM_EE_MOTION_LUT_OUT_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t LTM_EE_MOTION_LUT_OUT_3 : 9; + } bits; +}; + +union REG_LTM_HC8 { + uint32_t raw; + struct { + uint32_t LTM_EE_MOTION_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t LTM_EE_MOTION_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_LTM_HCC { + uint32_t raw; + struct { + uint32_t LTM_EE_MOTION_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_LTM_HD0 { + uint32_t raw; + struct { + uint32_t LTM_EE_TOTAL_OSHTTHRD : 8; + uint32_t LTM_EE_TOTAL_USHTTHRD : 8; + uint32_t LTM_EE_SHTCTRL_OSHTGAIN : 6; + uint32_t _rsv_22 : 2; + uint32_t LTM_EE_SHTCTRL_USHTGAIN : 6; + } bits; +}; + +union REG_LTM_HD4 { + uint32_t raw; + struct { + uint32_t LTM_EE_TOTAL_OSHTTHRD_CLP : 8; + uint32_t LTM_EE_TOTAL_USHTTHRD_CLP : 8; + } bits; +}; + +union REG_LTM_HD8 { + uint32_t raw; + struct { + uint32_t LTM_EE_UPPER_BOUND_LEFT_DIFF : 8; + uint32_t LTM_EE_LOWER_BOUND_RIGHT_DIFF : 8; + } bits; +}; + +union REG_LTM_HDC { + uint32_t raw; + struct { + uint32_t _rsv_0 : 16; + uint32_t LTM_EE_MIN_Y : 12; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_CA_LITE_00 { + uint32_t raw; + struct { + uint32_t CA_LITE_ENABLE : 1; + uint32_t CA_LITE_SHDW_READ_SEL : 1; + } bits; +}; + +union REG_CA_LITE_04 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_IN_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t CA_LITE_LUT_IN_1 : 9; + } bits; +}; + +union REG_CA_LITE_08 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_IN_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t CA_LITE_LUT_IN_3 : 9; + } bits; +}; + +union REG_CA_LITE_0C { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_IN_4 : 9; + uint32_t _rsv_9 : 7; + uint32_t CA_LITE_LUT_IN_5 : 9; + } bits; +}; + +union REG_CA_LITE_10 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_OUT_0 : 11; + uint32_t _rsv_11 : 5; + uint32_t CA_LITE_LUT_OUT_1 : 11; + } bits; +}; + +union REG_CA_LITE_14 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_OUT_2 : 11; + uint32_t _rsv_11 : 5; + uint32_t CA_LITE_LUT_OUT_3 : 11; + } bits; +}; + +union REG_CA_LITE_18 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_OUT_4 : 11; + uint32_t _rsv_11 : 5; + uint32_t CA_LITE_LUT_OUT_5 : 11; + } bits; +}; + +union REG_CA_LITE_1C { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_SLP_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t CA_LITE_LUT_SLP_1 : 12; + } bits; +}; + +union REG_CA_LITE_20 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_SLP_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t CA_LITE_LUT_SLP_3 : 12; + } bits; +}; + +union REG_CA_LITE_24 { + uint32_t raw; + struct { + uint32_t CA_LITE_LUT_SLP_4 : 12; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_444_422_0 { + uint32_t raw; + struct { + uint32_t OP_START : 1; + uint32_t CONT_EN : 1; + uint32_t BYPASS_EN : 1; + uint32_t SOFTRST : 1; + uint32_t AUTO_UPDATE_EN : 1; + uint32_t DBG_EN : 1; + uint32_t _rsv_6 : 1; + uint32_t FORCE_CLK_EN : 1; + } bits; +}; + +union REG_ISP_444_422_1 { + uint32_t raw; + struct { + uint32_t SHDW_UPDATE_REQ : 1; + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_ISP_444_422_2 { + uint32_t raw; + struct { + uint32_t FD_INT : 1; + uint32_t _rsv_1 : 1; + uint32_t FRAME_OVERFLOW : 1; + } bits; +}; + +union REG_ISP_444_422_3 { + uint32_t raw; + struct { + uint32_t CHECKSUM : 32; + } bits; +}; + +union REG_ISP_444_422_4 { + uint32_t raw; + struct { + uint32_t REG_422_444 : 1; + uint32_t SWAP : 2; + } bits; +}; + +union REG_ISP_444_422_5 { + uint32_t raw; + struct { + uint32_t FIRST_FRAME_RESET : 1; + uint32_t TDNR_ENABLE : 1; + uint32_t DMA_CROP_ENABLE : 1; + uint32_t FORCE_MONO_ENABLE : 1; + uint32_t DEBUG_STATUS_EN : 1; + uint32_t REG_3DNR_COMP_GAIN_ENABLE : 1; + uint32_t REG_3DNR_LUMAREF_LPF_ENABLE : 1; + } bits; +}; + +union REG_ISP_444_422_6 { + uint32_t raw; + struct { + uint32_t TDNR_DEBUG_STATUS : 32; + } bits; +}; + +union REG_ISP_444_422_8 { + uint32_t raw; + struct { + uint32_t GUARD_CNT : 8; + uint32_t FORCE_DMA_DISABLE : 6; + uint32_t UV_ROUNDING_TYPE_SEL : 1; + uint32_t TDNR_PIXEL_LP : 1; + uint32_t TDNR_DEBUG_SEL : 16; + } bits; +}; + +union REG_ISP_444_422_9 { + uint32_t raw; + struct { + uint32_t DMA_WRITE_SEL_Y : 1; + uint32_t DMA_WRITE_SEL_C : 1; + uint32_t DMA_SEL : 1; + uint32_t _rsv_3 : 2; + uint32_t AVG_MODE_READ : 1; + uint32_t AVG_MODE_WRITE : 1; + uint32_t DROP_MODE_WRITE : 1; + } bits; +}; + +union REG_ISP_444_422_10 { + uint32_t raw; + struct { + uint32_t IMG_WIDTH_CROP : 14; + uint32_t _rsv_14 : 2; + uint32_t IMG_HEIGHT_CROP : 14; + uint32_t _rsv_30 : 1; + uint32_t CROP_ENABLE : 1; + } bits; +}; + +union REG_ISP_444_422_11 { + uint32_t raw; + struct { + uint32_t CROP_W_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_W_END : 14; + } bits; +}; + +union REG_ISP_444_422_12 { + uint32_t raw; + struct { + uint32_t CROP_H_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t CROP_H_END : 14; + } bits; +}; + +union REG_ISP_444_422_13 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_LUT_IN_0 : 8; + uint32_t REG_3DNR_Y_LUT_IN_1 : 8; + uint32_t REG_3DNR_Y_LUT_IN_2 : 8; + uint32_t REG_3DNR_Y_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_14 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_LUT_OUT_0 : 8; + uint32_t REG_3DNR_Y_LUT_OUT_1 : 8; + uint32_t REG_3DNR_Y_LUT_OUT_2 : 8; + uint32_t REG_3DNR_Y_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_15 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_Y_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_16 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_LUT_SLOPE_2 : 12; + uint32_t _rsv_12 : 3; + uint32_t MOTION_SEL : 1; + uint32_t REG_3DNR_Y_BETA_MAX : 8; + } bits; +}; + +union REG_ISP_444_422_17 { + uint32_t raw; + struct { + uint32_t REG_3DNR_U_LUT_IN_0 : 8; + uint32_t REG_3DNR_U_LUT_IN_1 : 8; + uint32_t REG_3DNR_U_LUT_IN_2 : 8; + uint32_t REG_3DNR_U_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_18 { + uint32_t raw; + struct { + uint32_t REG_3DNR_U_LUT_OUT_0 : 8; + uint32_t REG_3DNR_U_LUT_OUT_1 : 8; + uint32_t REG_3DNR_U_LUT_OUT_2 : 8; + uint32_t REG_3DNR_U_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_19 { + uint32_t raw; + struct { + uint32_t REG_3DNR_U_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_U_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_20 { + uint32_t raw; + struct { + uint32_t REG_3DNR_U_LUT_SLOPE_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_U_BETA_MAX : 8; + } bits; +}; + +union REG_ISP_444_422_21 { + uint32_t raw; + struct { + uint32_t REG_3DNR_V_LUT_IN_0 : 8; + uint32_t REG_3DNR_V_LUT_IN_1 : 8; + uint32_t REG_3DNR_V_LUT_IN_2 : 8; + uint32_t REG_3DNR_V_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_22 { + uint32_t raw; + struct { + uint32_t REG_3DNR_V_LUT_OUT_0 : 8; + uint32_t REG_3DNR_V_LUT_OUT_1 : 8; + uint32_t REG_3DNR_V_LUT_OUT_2 : 8; + uint32_t REG_3DNR_V_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_23 { + uint32_t raw; + struct { + uint32_t REG_3DNR_V_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_V_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_24 { + uint32_t raw; + struct { + uint32_t REG_3DNR_V_LUT_SLOPE_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_V_BETA_MAX : 8; + } bits; +}; + +union REG_ISP_444_422_25 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_Y_LUT_IN_0 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_IN_1 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_IN_2 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_26 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_Y_LUT_OUT_0 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_OUT_1 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_OUT_2 : 8; + uint32_t REG_3DNR_MOTION_Y_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_27 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_Y_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_MOTION_Y_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_28 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_Y_LUT_SLOPE_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_MOTION_C_LUT_SLOPE_0 : 12; + } bits; +}; + +union REG_ISP_444_422_29 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_C_LUT_SLOPE_1 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_MOTION_C_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_444_422_30 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_C_LUT_IN_0 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_IN_1 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_IN_2 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_31 { + uint32_t raw; + struct { + uint32_t REG_3DNR_MOTION_C_LUT_OUT_0 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_OUT_1 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_OUT_2 : 8; + uint32_t REG_3DNR_MOTION_C_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_80 { + uint32_t raw; + struct { + uint32_t REG_3DNR_EE_COMP_GAIN : 9; + } bits; +}; + +union REG_ISP_444_422_84 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_01 : 10; + } bits; +}; + +union REG_ISP_444_422_88 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_03 : 10; + } bits; +}; + +union REG_ISP_444_422_8C { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_05 : 10; + } bits; +}; + +union REG_ISP_444_422_90 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_07 : 10; + } bits; +}; + +union REG_ISP_444_422_94 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_09 : 10; + } bits; +}; + +union REG_ISP_444_422_98 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_11 : 10; + } bits; +}; + +union REG_ISP_444_422_9C { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_13 : 10; + } bits; +}; + +union REG_ISP_444_422_A0 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_15 : 10; + } bits; +}; + +union REG_ISP_444_422_A4 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LUMA_COMP_GAIN_LUT_16 : 10; + } bits; +}; + +union REG_ISP_444_422_A8 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_CENTERX : 13; + uint32_t _rsv_13 : 3; + uint32_t REG_3DNR_LSC_CENTERY : 13; + } bits; +}; + +union REG_ISP_444_422_AC { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_NORM : 15; + uint32_t _rsv_15 : 1; + uint32_t REG_3DNR_LSC_DY_GAIN : 8; + } bits; +}; + +union REG_ISP_444_422_B0 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_01 : 10; + } bits; +}; + +union REG_ISP_444_422_B4 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_03 : 10; + } bits; +}; + +union REG_ISP_444_422_B8 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_05 : 10; + } bits; +}; + +union REG_ISP_444_422_BC { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_07 : 10; + } bits; +}; + +union REG_ISP_444_422_C0 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_09 : 10; + } bits; +}; + +union REG_ISP_444_422_C4 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_11 : 10; + } bits; +}; + +union REG_ISP_444_422_C8 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_13 : 10; + } bits; +}; + +union REG_ISP_444_422_CC { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_15 : 10; + } bits; +}; + +union REG_ISP_444_422_D0 { + uint32_t raw; + struct { + uint32_t REG_3DNR_LSC_COMP_GAIN_LUT_16 : 10; + } bits; +}; + +union REG_ISP_444_422_D4 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_GAIN_LUT_IN_0 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_IN_1 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_IN_2 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_D8 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_GAIN_LUT_OUT_0 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_OUT_1 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_OUT_2 : 8; + uint32_t REG_3DNR_Y_GAIN_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_DC { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_GAIN_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_Y_GAIN_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_E0 { + uint32_t raw; + struct { + uint32_t REG_3DNR_Y_GAIN_LUT_SLOPE_2 : 12; + uint32_t _rsv_12 : 4; + uint32_t REG_3DNR_Y_MOTION_MAX : 8; + uint32_t REG_3DNR_C_MOTION_MAX : 8; + } bits; +}; + +union REG_ISP_444_422_E4 { + uint32_t raw; + struct { + uint32_t MOT_DEBUG_LUT_IN_0 : 8; + uint32_t MOT_DEBUG_LUT_IN_1 : 8; + uint32_t MOT_DEBUG_LUT_IN_2 : 8; + uint32_t MOT_DEBUG_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_444_422_E8 { + uint32_t raw; + struct { + uint32_t MOT_DEBUG_LUT_OUT_0 : 8; + uint32_t MOT_DEBUG_LUT_OUT_1 : 8; + uint32_t MOT_DEBUG_LUT_OUT_2 : 8; + uint32_t MOT_DEBUG_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_444_422_EC { + uint32_t raw; + struct { + uint32_t MOT_DEBUG_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t MOT_DEBUG_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_444_422_F0 { + uint32_t raw; + struct { + uint32_t MOT_DEBUG_LUT_SLOPE_2 : 12; + uint32_t MOT_DEBUG_SWITCH : 1; + uint32_t REG_3DNR_Y_PIX_GAIN_ENABLE : 1; + uint32_t REG_3DNR_C_PIX_GAIN_ENABLE : 1; + uint32_t REG_3DNR_PIX_GAIN_MODE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_FBCE_00 { + uint32_t raw; + struct { + uint32_t FBCE_EN : 1; + uint32_t SHD_RD : 1; + uint32_t FORCE_CKE : 1; + uint32_t _rsv_3 : 5; + uint32_t DEBUG : 16; + uint32_t DUMMY : 8; + } bits; +}; + +union REG_FBCE_10 { + uint32_t raw; + struct { + uint32_t Y_LOSSLESS : 1; + uint32_t Y_BASE_QDPCM_Q : 1; + uint32_t _rsv_2 : 2; + uint32_t Y_BASE_PCM_BD_MINUS2 : 3; + uint32_t _rsv_7 : 1; + uint32_t Y_DEFAULT_GR_K : 3; + uint32_t _rsv_11 : 1; + uint32_t Y_CPLX_SHIFT : 3; + uint32_t _rsv_15 : 1; + uint32_t Y_PEN_POS_SHIFT : 3; + } bits; +}; + +union REG_FBCE_14 { + uint32_t raw; + struct { + uint32_t Y_MIN_CU_BIT : 7; + uint32_t _rsv_7 : 1; + uint32_t Y_MAX_CU_BIT : 7; + uint32_t _rsv_15 : 1; + uint32_t Y_TOTAL_LINE_BIT_BUDGET : 15; + } bits; +}; + +union REG_FBCE_18 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 6; + uint32_t Y_BIT_STREAM_SIZE : 18; + } bits; +}; + +union REG_FBCE_20 { + uint32_t raw; + struct { + uint32_t C_LOSSLESS : 1; + uint32_t C_BASE_QDPCM_Q : 1; + uint32_t _rsv_2 : 2; + uint32_t C_BASE_PCM_BD_MINUS2 : 3; + uint32_t _rsv_7 : 1; + uint32_t C_DEFAULT_GR_K : 3; + uint32_t _rsv_11 : 1; + uint32_t C_CPLX_SHIFT : 3; + uint32_t _rsv_15 : 1; + uint32_t C_PEN_POS_SHIFT : 3; + } bits; +}; + +union REG_FBCE_24 { + uint32_t raw; + struct { + uint32_t C_MIN_CU_BIT : 7; + uint32_t _rsv_7 : 1; + uint32_t C_MAX_CU_BIT : 7; + uint32_t _rsv_15 : 1; + uint32_t C_TOTAL_LINE_BIT_BUDGET : 15; + } bits; +}; + +union REG_FBCE_28 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 6; + uint32_t C_BIT_STREAM_SIZE : 18; + } bits; +}; + +union REG_FBCE_2C { + uint32_t raw; + struct { + uint32_t Y_TOTAL_FIRST_LINE_BIT_BUDGET : 15; + uint32_t _rsv_15 : 1; + uint32_t C_TOTAL_FIRST_LINE_BIT_BUDGET : 15; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_FBCD_00 { + uint32_t raw; + struct { + uint32_t FBCD_EN : 1; + uint32_t FF_DROP : 1; + uint32_t FBCD_AUTO : 1; + uint32_t FORCE_CKE : 1; + } bits; +}; + +union REG_FBCD_0C { + uint32_t raw; + struct { + uint32_t Y_BIT_STREAM_SIZE : 22; + uint32_t _rsv_22 : 3; + uint32_t Y_STREAM_TAG : 3; + } bits; +}; + +union REG_FBCD_10 { + uint32_t raw; + struct { + uint32_t C_BIT_STREAM_SIZE : 22; + uint32_t _rsv_22 : 3; + uint32_t C_STREAM_TAG : 3; + } bits; +}; + +union REG_FBCD_14 { + uint32_t raw; + struct { + uint32_t DEBUG_SEL : 4; + } bits; +}; + +union REG_FBCD_20 { + uint32_t raw; + struct { + uint32_t DUMMY : 8; + uint32_t SHD_RD : 1; + } bits; +}; + +union REG_FBCD_24 { + uint32_t raw; + struct { + uint32_t Y_LOSSLESS : 1; + uint32_t Y_BASE_QDPCM_Q : 1; + uint32_t _rsv_2 : 2; + uint32_t Y_BASE_PCM_BD_MINUS2 : 3; + uint32_t _rsv_7 : 1; + uint32_t Y_DEFAULT_GR_K : 3; + } bits; +}; + +union REG_FBCD_28 { + uint32_t raw; + struct { + uint32_t C_LOSSLESS : 1; + uint32_t C_BASE_QDPCM_Q : 1; + uint32_t _rsv_2 : 2; + uint32_t C_BASE_PCM_BD_MINUS2 : 3; + uint32_t _rsv_7 : 1; + uint32_t C_DEFAULT_GR_K : 3; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_YUV_DITHER_Y_DITHER { + uint32_t raw; + struct { + uint32_t Y_DITHER_ENABLE : 1; + uint32_t Y_DITHER_MOD_ENABLE : 1; + uint32_t Y_DITHER_HISTIDX_ENABLE : 1; + uint32_t Y_DITHER_FMNUM_ENABLE : 1; + uint32_t Y_DITHER_SHDW_SEL : 1; + uint32_t Y_DITHER_SOFTRST : 1; + uint32_t _rsv_6 : 2; + uint32_t Y_DITHER_HEIGHTM1 : 12; + uint32_t Y_DITHER_WIDTHM1 : 12; + } bits; +}; + +union REG_ISP_YUV_DITHER_UV_DITHER { + uint32_t raw; + struct { + uint32_t UV_DITHER_ENABLE : 1; + uint32_t UV_DITHER_MOD_ENABLE : 1; + uint32_t UV_DITHER_HISTIDX_ENABLE : 1; + uint32_t UV_DITHER_FMNUM_ENABLE : 1; + uint32_t _rsv_4 : 4; + uint32_t UV_DITHER_HEIGHTM1 : 12; + uint32_t UV_DITHER_WIDTHM1 : 12; + } bits; +}; + +union REG_ISP_YUV_DITHER_DEBUG_00 { + uint32_t raw; + struct { + uint32_t UV_DITHER_DEBUG0 : 32; + } bits; +}; + +union REG_ISP_YUV_DITHER_DEBUG_01 { + uint32_t raw; + struct { + uint32_t Y_DITHER_DEBUG0 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_YNR_SHADOW_RD_SEL { + uint32_t raw; + struct { + uint32_t SHADOW_RD_SEL : 1; + } bits; +}; + +union REG_ISP_YNR_OUT_SEL { + uint32_t raw; + struct { + uint32_t YNR_OUT_SEL : 4; + } bits; +}; + +union REG_ISP_YNR_INDEX_CLR { + uint32_t raw; + struct { + uint32_t YNR_INDEX_CLR : 1; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_00 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_00 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_01 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_01 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_02 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_02 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_03 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_03 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_04 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_04 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_LUMA_TH_05 { + uint32_t raw; + struct { + uint32_t YNR_NS0_LUMA_TH_05 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_SLOPE_00 { + uint32_t raw; + struct { + uint32_t YNR_NS0_SLOPE_00 : 11; + } bits; +}; + +union REG_ISP_YNR_NS0_SLOPE_01 { + uint32_t raw; + struct { + uint32_t YNR_NS0_SLOPE_01 : 11; + } bits; +}; + +union REG_ISP_YNR_NS0_SLOPE_02 { + uint32_t raw; + struct { + uint32_t YNR_NS0_SLOPE_02 : 11; + } bits; +}; + +union REG_ISP_YNR_NS0_SLOPE_03 { + uint32_t raw; + struct { + uint32_t YNR_NS0_SLOPE_03 : 11; + } bits; +}; + +union REG_ISP_YNR_NS0_SLOPE_04 { + uint32_t raw; + struct { + uint32_t YNR_NS0_SLOPE_04 : 11; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_00 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_00 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_01 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_01 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_02 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_02 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_03 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_03 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_04 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_04 : 8; + } bits; +}; + +union REG_ISP_YNR_NS0_OFFSET_05 { + uint32_t raw; + struct { + uint32_t YNR_NS0_OFFSET_05 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_00 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_00 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_01 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_01 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_02 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_02 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_03 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_03 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_04 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_04 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_LUMA_TH_05 { + uint32_t raw; + struct { + uint32_t YNR_NS1_LUMA_TH_05 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_SLOPE_00 { + uint32_t raw; + struct { + uint32_t YNR_NS1_SLOPE_00 : 11; + } bits; +}; + +union REG_ISP_YNR_NS1_SLOPE_01 { + uint32_t raw; + struct { + uint32_t YNR_NS1_SLOPE_01 : 11; + } bits; +}; + +union REG_ISP_YNR_NS1_SLOPE_02 { + uint32_t raw; + struct { + uint32_t YNR_NS1_SLOPE_02 : 11; + } bits; +}; + +union REG_ISP_YNR_NS1_SLOPE_03 { + uint32_t raw; + struct { + uint32_t YNR_NS1_SLOPE_03 : 11; + } bits; +}; + +union REG_ISP_YNR_NS1_SLOPE_04 { + uint32_t raw; + struct { + uint32_t YNR_NS1_SLOPE_04 : 11; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_00 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_00 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_01 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_01 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_02 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_02 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_03 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_03 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_04 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_04 : 8; + } bits; +}; + +union REG_ISP_YNR_NS1_OFFSET_05 { + uint32_t raw; + struct { + uint32_t YNR_NS1_OFFSET_05 : 8; + } bits; +}; + +union REG_ISP_YNR_NS_GAIN { + uint32_t raw; + struct { + uint32_t YNR_NS_GAIN : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_00 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_00 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_01 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_01 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_02 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_02 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_03 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_03 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_04 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_04 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_05 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_05 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_06 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_06 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_07 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_07 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_08 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_08 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_09 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_09 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_10 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_10 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_11 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_11 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_12 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_12 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_13 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_13 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_14 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_14 : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_LUT_15 { + uint32_t raw; + struct { + uint32_t YNR_MOTION_LUT_15 : 8; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_INTRA_0 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_INTRA_0 : 3; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_INTRA_1 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_INTRA_1 : 3; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_INTRA_2 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_INTRA_2 : 3; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_NORM_1 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_NORM_1 : 7; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_NORM_2 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_NORM_2 : 8; + } bits; +}; + +union REG_ISP_YNR_ALPHA_GAIN { + uint32_t raw; + struct { + uint32_t YNR_ALPHA_GAIN : 10; + } bits; +}; + +union REG_ISP_YNR_VAR_TH { + uint32_t raw; + struct { + uint32_t YNR_VAR_TH : 8; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_SM { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_SMOOTH : 5; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_V { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_V : 5; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_H { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_H : 5; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_D45 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_D45 : 5; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_D135 { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_D135 : 5; + } bits; +}; + +union REG_ISP_YNR_NEIGHBOR_MAX { + uint32_t raw; + struct { + uint32_t YNR_FLAG_NEIGHBOR_MAX_WEIGHT : 1; + } bits; +}; + +union REG_ISP_YNR_RES_K_SMOOTH { + uint32_t raw; + struct { + uint32_t YNR_RES_RATIO_K_SMOOTH : 9; + } bits; +}; + +union REG_ISP_YNR_RES_K_TEXTURE { + uint32_t raw; + struct { + uint32_t YNR_RES_RATIO_K_TEXTURE : 9; + } bits; +}; + +union REG_ISP_YNR_FILTER_MODE_EN { + uint32_t raw; + struct { + uint32_t YNR_FILTER_MODE_ENABLE : 1; + } bits; +}; + +union REG_ISP_YNR_FILTER_MODE_ALPHA { + uint32_t raw; + struct { + uint32_t YNR_FILTER_MODE_ALPHA : 9; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_00 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_00 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_01 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_01 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_02 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_02 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_03 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_03 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_04 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_04 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_05 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_05 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_06 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_06 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_07 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_07 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_08 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_08 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_09 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_09 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_10 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_10 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_11 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_11 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_12 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_12 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_13 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_13 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_14 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_14 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOT_LUT_15 { + uint32_t raw; + struct { + uint32_t YNR_RES_MOT_LUT_15 : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MAX { + uint32_t raw; + struct { + uint32_t YNR_RES_MAX : 8; + } bits; +}; + +union REG_ISP_YNR_RES_MOTION_MAX { + uint32_t raw; + struct { + uint32_t YNR_RES_MOTION_MAX : 8; + } bits; +}; + +union REG_ISP_YNR_MOTION_NS_CLIP_MAX { + uint32_t raw; + struct { + uint32_t YNR_MOTION_NS_CLIP_MAX : 8; + } bits; +}; + +union REG_ISP_YNR_WEIGHT_LUT { + uint32_t raw; + struct { + uint32_t YNR_WEIGHT_LUT : 5; + } bits; +}; + +union REG_ISP_YNR_DUMMY { + uint32_t raw; + struct { + uint32_t YNR_DUMMY : 16; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CNR_ENABLE { + uint32_t raw; + struct { + uint32_t CNR_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t PFC_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t CNR_DIFF_SHIFT_VAL : 8; + uint32_t CNR_RATIO : 8; + uint32_t CNR_OUT_SEL : 2; + } bits; +}; + +union REG_ISP_CNR_STRENGTH_MODE { + uint32_t raw; + struct { + uint32_t CNR_STRENGTH_MODE : 8; + uint32_t CNR_FUSION_INTENSITY_WEIGHT : 4; + uint32_t _rsv_12 : 4; + uint32_t CNR_WEIGHT_INTER_SEL : 4; + uint32_t CNR_VAR_TH : 9; + uint32_t _rsv_29 : 1; + uint32_t CNR_FLAG_NEIGHBOR_MAX_WEIGHT : 1; + uint32_t CNR_SHDW_SEL : 1; + } bits; +}; + +union REG_ISP_CNR_PURPLE_TH { + uint32_t raw; + struct { + uint32_t CNR_PURPLE_TH : 8; + uint32_t CNR_CORRECT_STRENGTH : 8; + uint32_t CNR_DIFF_GAIN : 4; + uint32_t _rsv_20 : 4; + uint32_t CNR_MOTION_ENABLE : 1; + } bits; +}; + +union REG_ISP_CNR_PURPLE_CB { + uint32_t raw; + struct { + uint32_t CNR_PURPLE_CB : 8; + uint32_t _rsv_8 : 8; + uint32_t CNR_PURPLE_CR : 8; + } bits; +}; + +union REG_ISP_CNR_GREEN_CB { + uint32_t raw; + struct { + uint32_t CNR_GREEN_CB : 8; + uint32_t _rsv_8 : 8; + uint32_t CNR_GREEN_CR : 8; + } bits; +}; + +union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_00 { + uint32_t raw; + struct { + uint32_t WEIGHT_LUT_INTER_CNR_00 : 5; + uint32_t _rsv_5 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_01 : 5; + uint32_t _rsv_13 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_02 : 5; + uint32_t _rsv_21 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_03 : 5; + } bits; +}; + +union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_04 { + uint32_t raw; + struct { + uint32_t WEIGHT_LUT_INTER_CNR_04 : 5; + uint32_t _rsv_5 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_05 : 5; + uint32_t _rsv_13 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_06 : 5; + uint32_t _rsv_21 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_07 : 5; + } bits; +}; + +union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_08 { + uint32_t raw; + struct { + uint32_t WEIGHT_LUT_INTER_CNR_08 : 5; + uint32_t _rsv_5 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_09 : 5; + uint32_t _rsv_13 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_10 : 5; + uint32_t _rsv_21 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_11 : 5; + } bits; +}; + +union REG_ISP_CNR_WEIGHT_LUT_INTER_CNR_12 { + uint32_t raw; + struct { + uint32_t WEIGHT_LUT_INTER_CNR_12 : 5; + uint32_t _rsv_5 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_13 : 5; + uint32_t _rsv_13 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_14 : 5; + uint32_t _rsv_21 : 3; + uint32_t WEIGHT_LUT_INTER_CNR_15 : 5; + } bits; +}; + +union REG_ISP_CNR_MOTION_LUT_0 { + uint32_t raw; + struct { + uint32_t CNR_MOTION_LUT_0 : 8; + uint32_t CNR_MOTION_LUT_1 : 8; + uint32_t CNR_MOTION_LUT_2 : 8; + uint32_t CNR_MOTION_LUT_3 : 8; + } bits; +}; + +union REG_ISP_CNR_MOTION_LUT_4 { + uint32_t raw; + struct { + uint32_t CNR_MOTION_LUT_4 : 8; + uint32_t CNR_MOTION_LUT_5 : 8; + uint32_t CNR_MOTION_LUT_6 : 8; + uint32_t CNR_MOTION_LUT_7 : 8; + } bits; +}; + +union REG_ISP_CNR_MOTION_LUT_8 { + uint32_t raw; + struct { + uint32_t CNR_MOTION_LUT_8 : 8; + uint32_t CNR_MOTION_LUT_9 : 8; + uint32_t CNR_MOTION_LUT_10 : 8; + uint32_t CNR_MOTION_LUT_11 : 8; + } bits; +}; + +union REG_ISP_CNR_MOTION_LUT_12 { + uint32_t raw; + struct { + uint32_t CNR_MOTION_LUT_12 : 8; + uint32_t CNR_MOTION_LUT_13 : 8; + uint32_t CNR_MOTION_LUT_14 : 8; + uint32_t CNR_MOTION_LUT_15 : 8; + } bits; +}; + +union REG_ISP_CNR_PURPLE_CB2 { + uint32_t raw; + struct { + uint32_t CNR_PURPLE_CB2 : 8; + uint32_t CNR_PURPLE_CR2 : 8; + uint32_t CNR_PURPLE_CB3 : 8; + uint32_t CNR_PURPLE_CR3 : 8; + } bits; +}; + +union REG_ISP_CNR_MASK { + uint32_t raw; + struct { + uint32_t CNR_MASK : 8; + } bits; +}; + +union REG_ISP_CNR_DUMMY { + uint32_t raw; + struct { + uint32_t CNR_DUMMY : 32; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE : 8; + uint32_t CNR_EDGE_CORING : 8; + uint32_t CNR_EDGE_MIN : 8; + uint32_t CNR_EDGE_MAX : 8; + } bits; +}; + +union REG_ISP_CNR_EDGE_RATIO_SPEED { + uint32_t raw; + struct { + uint32_t CNR_RATIO_SPEED : 7; + uint32_t _rsv_7 : 1; + uint32_t CNR_CB_STR : 5; + uint32_t _rsv_13 : 3; + uint32_t CNR_CR_STR : 5; + } bits; +}; + +union REG_ISP_CNR_DEPURPLE_WEIGHT_TH { + uint32_t raw; + struct { + uint32_t CNR_DEPURPLE_WEIGHT_TH : 8; + uint32_t CNR_DEPURPLE_STR_MIN_RATIO : 7; + uint32_t _rsv_15 : 1; + uint32_t CNR_DEPURPLE_STR_MAX_RATIO : 7; + } bits; +}; + +union REG_ISP_CNR_CORING_MOTION_LUT_0 { + uint32_t raw; + struct { + uint32_t CNR_CORING_MOTION_LUT_00 : 8; + uint32_t CNR_CORING_MOTION_LUT_01 : 8; + uint32_t CNR_CORING_MOTION_LUT_02 : 8; + uint32_t CNR_CORING_MOTION_LUT_03 : 8; + } bits; +}; + +union REG_ISP_CNR_CORING_MOTION_LUT_4 { + uint32_t raw; + struct { + uint32_t CNR_CORING_MOTION_LUT_04 : 8; + uint32_t CNR_CORING_MOTION_LUT_05 : 8; + uint32_t CNR_CORING_MOTION_LUT_06 : 8; + uint32_t CNR_CORING_MOTION_LUT_07 : 8; + } bits; +}; + +union REG_ISP_CNR_CORING_MOTION_LUT_8 { + uint32_t raw; + struct { + uint32_t CNR_CORING_MOTION_LUT_08 : 8; + uint32_t CNR_CORING_MOTION_LUT_09 : 8; + uint32_t CNR_CORING_MOTION_LUT_10 : 8; + uint32_t CNR_CORING_MOTION_LUT_11 : 8; + } bits; +}; + +union REG_ISP_CNR_CORING_MOTION_LUT_12 { + uint32_t raw; + struct { + uint32_t CNR_CORING_MOTION_LUT_12 : 8; + uint32_t CNR_CORING_MOTION_LUT_13 : 8; + uint32_t CNR_CORING_MOTION_LUT_14 : 8; + uint32_t CNR_CORING_MOTION_LUT_15 : 8; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE_LUT_0 { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t CNR_EDGE_SCALE_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t CNR_EDGE_SCALE_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t CNR_EDGE_SCALE_LUT_03 : 6; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE_LUT_4 { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t CNR_EDGE_SCALE_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t CNR_EDGE_SCALE_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t CNR_EDGE_SCALE_LUT_07 : 6; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE_LUT_8 { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t CNR_EDGE_SCALE_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t CNR_EDGE_SCALE_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t CNR_EDGE_SCALE_LUT_11 : 6; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE_LUT_12 { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t CNR_EDGE_SCALE_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t CNR_EDGE_SCALE_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t CNR_EDGE_SCALE_LUT_15 : 6; + } bits; +}; + +union REG_ISP_CNR_EDGE_SCALE_LUT_16 { + uint32_t raw; + struct { + uint32_t CNR_EDGE_SCALE_LUT_16 : 6; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_YCURV_YCUR_CTRL { + uint32_t raw; + struct { + uint32_t YCUR_ENABLE : 1; + uint32_t YCUR_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_PROG_CTRL { + uint32_t raw; + struct { + uint32_t YCUR_WSEL : 1; + uint32_t _rsv_1 : 3; + uint32_t YCUR_RSEL : 1; + uint32_t _rsv_5 : 3; + uint32_t YCUR_PROG_EN : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_PROG_ST_ADDR { + uint32_t raw; + struct { + uint32_t YCUR_ST_ADDR : 6; + uint32_t _rsv_6 : 25; + uint32_t YCUR_ST_W : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_PROG_DATA { + uint32_t raw; + struct { + uint32_t YCUR_DATA_E : 8; + uint32_t _rsv_8 : 8; + uint32_t YCUR_DATA_O : 8; + uint32_t _rsv_24 : 7; + uint32_t YCUR_W : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_PROG_MAX { + uint32_t raw; + struct { + uint32_t YCUR_MAX : 9; + } bits; +}; + +union REG_ISP_YCURV_YCUR_MEM_SW_MODE { + uint32_t raw; + struct { + uint32_t YCUR_SW_RADDR : 6; + uint32_t _rsv_6 : 2; + uint32_t YCUR_SW_R_MEM_SEL : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t YCUR_RDATA_R : 8; + uint32_t _rsv_8 : 23; + uint32_t YCUR_SW_R : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_DBG { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + uint32_t SOFTRST : 1; + } bits; +}; + +union REG_ISP_YCURV_YCUR_DMY0 { + uint32_t raw; + struct { + uint32_t DMY_DEF0 : 32; + } bits; +}; + +union REG_ISP_YCURV_YCUR_DMY1 { + uint32_t raw; + struct { + uint32_t DMY_DEF1 : 32; + } bits; +}; + +union REG_ISP_YCURV_YCUR_DMY_R { + uint32_t raw; + struct { + uint32_t DMY_RO : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_TOP_INT_EVENT0 { + uint32_t raw; + struct { + uint32_t FRAME_DONE_FE0 : 4; + uint32_t FRAME_DONE_FE1 : 2; + uint32_t FRAME_DONE_FE2 : 2; + uint32_t FRAME_DONE_BE : 2; + uint32_t FRAME_DONE_RAW : 1; + uint32_t FRAME_DONE_RGB : 1; + uint32_t FRAME_DONE_YUV : 1; + uint32_t FRAME_DONE_POST : 1; + uint32_t _rsv_14 : 2; + uint32_t SHAW_DONE_FE0 : 4; + uint32_t SHAW_DONE_FE1 : 2; + uint32_t SHAW_DONE_FE2 : 2; + uint32_t SHAW_DONE_BE : 2; + uint32_t SHAW_DONE_RAW : 1; + uint32_t SHAW_DONE_RGB : 1; + uint32_t SHAW_DONE_YUV : 1; + uint32_t SHAW_DONE_POST : 1; + } bits; +}; + +union REG_ISP_TOP_INT_EVENT1 { + uint32_t raw; + struct { + uint32_t PQ_DONE_FE0 : 4; + uint32_t PQ_DONE_FE1 : 2; + uint32_t PQ_DONE_FE2 : 2; + uint32_t PQ_DONE_BE : 2; + uint32_t PQ_DONE_RAW : 1; + uint32_t PQ_DONE_RGB : 1; + uint32_t PQ_DONE_YUV : 1; + uint32_t PQ_DONE_POST : 1; + } bits; +}; + +union REG_ISP_TOP_INT_EVENT2 { + uint32_t raw; + struct { + uint32_t FRAME_START_FE0 : 4; + uint32_t FRAME_START_FE1 : 2; + uint32_t FRAME_START_FE2 : 2; + uint32_t FRAME_ERR : 1; + uint32_t PCHK_ERR : 1; + uint32_t CMDQ_INT : 1; + uint32_t LINE_INTP_FE0 : 1; + uint32_t LINE_INTP_FE1 : 1; + uint32_t LINE_INTP_FE2 : 1; + uint32_t LINE_INTP_POST : 1; + uint32_t INT_BDG_LITE : 1; + uint32_t INT_DMA_ERR : 1; + } bits; +}; + +union REG_ISP_TOP_ERROR_STS { + uint32_t raw; + struct { + uint32_t PCHK0_ERR_FE0 : 1; + uint32_t PCHK0_ERR_FE1 : 1; + uint32_t PCHK0_ERR_FE2 : 1; + uint32_t PCHK0_ERR_BE : 1; + uint32_t PCHK0_ERR_RAW : 1; + uint32_t PCHK0_ERR_RGB : 1; + uint32_t PCHK0_ERR_YUV : 1; + uint32_t PCHK1_ERR_FE0 : 1; + uint32_t PCHK1_ERR_FE1 : 1; + uint32_t PCHK1_ERR_FE2 : 1; + uint32_t PCHK1_ERR_BE : 1; + uint32_t PCHK1_ERR_RAW : 1; + uint32_t PCHK1_ERR_RGB : 1; + uint32_t PCHK1_ERR_YUV : 1; + } bits; +}; + +union REG_ISP_TOP_INT_EVENT0_EN { + uint32_t raw; + struct { + uint32_t FRAME_DONE_ENABLE_FE0 : 4; + uint32_t FRAME_DONE_ENABLE_FE1 : 2; + uint32_t FRAME_DONE_ENABLE_FE2 : 2; + uint32_t FRAME_DONE_ENABLE_BE : 2; + uint32_t FRAME_DONE_ENABLE_RAW : 1; + uint32_t FRAME_DONE_ENABLE_RGB : 1; + uint32_t FRAME_DONE_ENABLE_YUV : 1; + uint32_t FRAME_DONE_ENABLE_POST : 1; + uint32_t _rsv_14 : 2; + uint32_t SHAW_DONE_ENABLE_FE0 : 4; + uint32_t SHAW_DONE_ENABLE_FE1 : 2; + uint32_t SHAW_DONE_ENABLE_FE2 : 2; + uint32_t SHAW_DONE_ENABLE_BE : 2; + uint32_t SHAW_DONE_ENABLE_RAW : 1; + uint32_t SHAW_DONE_ENABLE_RGB : 1; + uint32_t SHAW_DONE_ENABLE_YUV : 1; + uint32_t SHAW_DONE_ENABLE_POST : 1; + } bits; +}; + +union REG_ISP_TOP_INT_EVENT1_EN { + uint32_t raw; + struct { + uint32_t PQ_DONE_ENABLE_FE0 : 4; + uint32_t PQ_DONE_ENABLE_FE1 : 2; + uint32_t PQ_DONE_ENABLE_FE2 : 2; + uint32_t PQ_DONE_ENABLE_BE : 2; + uint32_t PQ_DONE_ENABLE_RAW : 1; + uint32_t PQ_DONE_ENABLE_RGB : 1; + uint32_t PQ_DONE_ENABLE_YUV : 1; + uint32_t PQ_DONE_ENABLE_POST : 1; + } bits; +}; + +union REG_ISP_TOP_INT_EVENT2_EN { + uint32_t raw; + struct { + uint32_t FRAME_START_ENABLE_FE0 : 4; + uint32_t FRAME_START_ENABLE_FE1 : 2; + uint32_t FRAME_START_ENABLE_FE2 : 2; + uint32_t FRAME_ERR_ENABLE : 1; + uint32_t PCHK_ERR_ENABLE : 1; + uint32_t CMDQ_INT_ENABLE : 1; + uint32_t LINE_INTP_ENABLE_FE0 : 1; + uint32_t LINE_INTP_ENABLE_FE1 : 1; + uint32_t LINE_INTP_ENABLE_FE2 : 1; + uint32_t LINE_INTP_ENABLE_POST : 1; + uint32_t INT_BDG_LITE_ENABLE : 1; + uint32_t INT_DMA_ERR_ENABLE : 1; + } bits; +}; + +union REG_ISP_TOP_SW_CTRL_0 { + uint32_t raw; + struct { + uint32_t TRIG_STR_FE0 : 4; + uint32_t TRIG_STR_FE1 : 2; + uint32_t TRIG_STR_FE2 : 2; + uint32_t TRIG_STR_BE : 2; + uint32_t TRIG_STR_RAW : 1; + uint32_t TRIG_STR_POST : 1; + uint32_t _rsv_12 : 4; + uint32_t SHAW_UP_FE0 : 4; + uint32_t SHAW_UP_FE1 : 2; + uint32_t SHAW_UP_FE2 : 2; + uint32_t SHAW_UP_BE : 2; + uint32_t SHAW_UP_RAW : 1; + uint32_t SHAW_UP_POST : 1; + } bits; +}; + +union REG_ISP_TOP_SW_CTRL_1 { + uint32_t raw; + struct { + uint32_t PQ_UP_FE0 : 4; + uint32_t PQ_UP_FE1 : 2; + uint32_t PQ_UP_FE2 : 2; + uint32_t PQ_UP_BE : 2; + uint32_t PQ_UP_RAW : 1; + uint32_t PQ_UP_POST : 1; + } bits; +}; + +union REG_ISP_TOP_CTRL_MODE_SEL0 { + uint32_t raw; + struct { + uint32_t TRIG_STR_SEL_FE0 : 4; + uint32_t TRIG_STR_SEL_FE1 : 2; + uint32_t TRIG_STR_SEL_FE2 : 2; + uint32_t TRIG_STR_SEL_BE : 2; + uint32_t TRIG_STR_SEL_RAW : 1; + uint32_t TRIG_STR_SEL_POST : 1; + uint32_t _rsv_12 : 4; + uint32_t SHAW_UP_SEL_FE0 : 4; + uint32_t SHAW_UP_SEL_FE1 : 2; + uint32_t SHAW_UP_SEL_FE2 : 2; + uint32_t SHAW_UP_SEL_BE : 2; + uint32_t SHAW_UP_SEL_RAW : 1; + uint32_t SHAW_UP_SEL_POST : 1; + } bits; +}; + +union REG_ISP_TOP_CTRL_MODE_SEL1 { + uint32_t raw; + struct { + uint32_t PQ_UP_SEL_FE0 : 4; + uint32_t PQ_UP_SEL_FE1 : 2; + uint32_t PQ_UP_SEL_FE2 : 2; + uint32_t PQ_UP_SEL_BE : 2; + uint32_t PQ_UP_SEL_RAW : 1; + uint32_t PQ_UP_SEL_POST : 1; + } bits; +}; + +union REG_ISP_TOP_SCENARIOS_CTRL { + uint32_t raw; + struct { + uint32_t DST2SC : 1; + uint32_t DST2DMA : 1; + uint32_t PRE2BE_L_ENABLE : 1; + uint32_t PRE2BE_S_ENABLE : 1; + uint32_t PRE2YUV_422_ENABLE : 1; + uint32_t BE2RAW_L_ENABLE : 1; + uint32_t BE2RAW_S_ENABLE : 1; + uint32_t BE_RDMA_L_ENABLE : 1; + uint32_t BE_RDMA_S_ENABLE : 1; + uint32_t BE_WDMA_L_ENABLE : 1; + uint32_t BE_WDMA_S_ENABLE : 1; + uint32_t BE_SRC_SEL : 2; + uint32_t AF_RAW0YUV1 : 1; + uint32_t RGBMP_ONLINE_L_ENABLE : 1; + uint32_t RGBMP_ONLINE_S_ENABLE : 1; + uint32_t RAW2YUV_422_ENABLE : 1; + uint32_t HDR_ENABLE : 1; + uint32_t HW_AUTO_ENABLE : 1; + uint32_t HW_AUTO_ISO : 2; + uint32_t DCI_RGB0YUV1 : 1; + uint32_t FE_DMA_SHARE_ENABLE : 1; + uint32_t FE2_DMA_SHARE_ENABLE : 1; + } bits; +}; + +union REG_ISP_TOP_SW_RST { + uint32_t raw; + struct { + uint32_t ISP_RST : 1; + uint32_t CSI0_RST : 1; + uint32_t CSI1_RST : 1; + uint32_t CSI_BE_RST : 1; + uint32_t CSI2_RST : 1; + uint32_t BDG_LITE_RST : 1; + uint32_t AXI_RST : 1; + uint32_t CMDQ_RST : 1; + uint32_t APB_RST : 1; + uint32_t RAW_RST : 1; + } bits; +}; + +union REG_ISP_TOP_BLK_IDLE { + uint32_t raw; + struct { + uint32_t FE0_BLK_IDLE : 1; + uint32_t FE1_BLK_IDLE : 1; + uint32_t FE2_BLK_IDLE : 1; + uint32_t BE_BLK_IDLE : 1; + uint32_t RAW_BLK_IDLE : 1; + uint32_t RGB_BLK_IDLE : 1; + uint32_t YUV_BLK_IDLE : 1; + uint32_t RDMA_IDLE : 1; + uint32_t WDMA0_IDLE : 1; + uint32_t WDMA1_IDLE : 1; + } bits; +}; + +union REG_ISP_TOP_BLK_IDLE_ENABLE { + uint32_t raw; + struct { + uint32_t BLK_IDLE_CSI0_EN : 1; + uint32_t BLK_IDLE_CSI1_EN : 1; + uint32_t BLK_IDLE_CSI2_EN : 1; + uint32_t BLK_IDLE_BDG_LITE_EN : 1; + uint32_t BLK_IDLE_BE_EN : 1; + uint32_t BLK_IDLE_POST_EN : 1; + uint32_t BLK_IDLE_APB_EN : 1; + uint32_t BLK_IDLE_AXI_EN : 1; + uint32_t BLK_IDLE_CMDQ_EN : 1; + uint32_t BLK_IDLE_RAW_EN : 1; + uint32_t BLK_IDLE_RGB_EN : 1; + uint32_t BLK_IDLE_YUV_EN : 1; + } bits; +}; + +union REG_ISP_TOP_DBUS0 { + uint32_t raw; + struct { + uint32_t DBUS0 : 32; + } bits; +}; + +union REG_ISP_TOP_DBUS1 { + uint32_t raw; + struct { + uint32_t DBUS1 : 32; + } bits; +}; + +union REG_ISP_TOP_DBUS2 { + uint32_t raw; + struct { + uint32_t DBUS2 : 32; + } bits; +}; + +union REG_ISP_TOP_DBUS3 { + uint32_t raw; + struct { + uint32_t DBUS3 : 32; + } bits; +}; + +union REG_ISP_TOP_FORCE_INT { + uint32_t raw; + struct { + uint32_t FORCE_ISP_INT : 1; + uint32_t FORCE_ISP_INT_EN : 1; + } bits; +}; + +union REG_ISP_TOP_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY : 28; + uint32_t DBUS_SEL : 4; + } bits; +}; + +union REG_ISP_TOP_IP_ENABLE0 { + uint32_t raw; + struct { + uint32_t FE0_RGBMAP_L_ENABLE : 1; + uint32_t FE0_RGBMAP_S_ENABLE : 1; + uint32_t FE0_BLC_L_ENABLE : 1; + uint32_t FE0_BLC_S_ENABLE : 1; + uint32_t FE1_RGBMAP_L_ENABLE : 1; + uint32_t FE1_RGBMAP_S_ENABLE : 1; + uint32_t FE1_BLC_L_ENABLE : 1; + uint32_t FE1_BLC_S_ENABLE : 1; + uint32_t FE2_RGBMAP_L_ENABLE : 1; + uint32_t FE2_RGBMAP_S_ENABLE : 1; + uint32_t FE2_BLC_L_ENABLE : 1; + uint32_t FE2_BLC_S_ENABLE : 1; + uint32_t _rsv_12 : 4; + uint32_t BE_BLC_L_ENABLE : 1; + uint32_t BE_BLC_S_ENABLE : 1; + uint32_t BE_CROP_L_ENABLE : 1; + uint32_t BE_CROP_S_ENABLE : 1; + uint32_t BE_DPC_L_ENABLE : 1; + uint32_t BE_DPC_S_ENABLE : 1; + uint32_t BE_AF_ENABLE : 1; + } bits; +}; + +union REG_ISP_TOP_IP_ENABLE1 { + uint32_t raw; + struct { + uint32_t RAW_CROP_L_ENABLE : 1; + uint32_t RAW_CROP_S_ENABLE : 1; + uint32_t RAW_BNR_ENABLE : 1; + uint32_t RAW_CFA_ENABLE : 1; + uint32_t RAW_LSCM_ENABLE : 1; + uint32_t RAW_WBG_L_ENABLE : 1; + uint32_t RAW_WBG_S_ENABLE : 1; + uint32_t RAW_LMP_L_ENABLE : 1; + uint32_t RAW_LMP_S_ENABLE : 1; + uint32_t RAW_AE_L_ENABLE : 1; + uint32_t RAW_AE_S_ENABLE : 1; + uint32_t RAW_GMS_ENABLE : 1; + uint32_t RAW_RGBCAC_ENABLE : 1; + uint32_t RAW_LCAC_ENABLE : 1; + uint32_t _rsv_14 : 2; + uint32_t RGB_FUSION_ENABLE : 1; + uint32_t RGB_LTM_ENABLE : 1; + uint32_t RGB_MANR_ENABLE : 1; + uint32_t RGB_HISTV_ENABLE : 1; + uint32_t RGB_GAMMA_ENABLE : 1; + uint32_t RGB_DHZ_ENABLE : 1; + uint32_t RGB_RGBDITHER_ENABLE : 1; + uint32_t RGB_CLUT_ENABLE : 1; + uint32_t RGB_R2Y4_ENABLE : 1; + uint32_t RGB_USER_GAMMA_ENABLE : 1; + uint32_t RGB_CCM_0_ENABLE : 1; + uint32_t RGB_CCM_1_ENABLE : 1; + } bits; +}; + +union REG_ISP_TOP_IP_ENABLE2 { + uint32_t raw; + struct { + uint32_t YUV_PREYEE_ENABLE : 1; + uint32_t YUV_DITHER_ENABLE : 1; + uint32_t YUV_3DNR_ENABLE : 1; + uint32_t YUV_YNR_ENABLE : 1; + uint32_t YUV_CNR_ENABLE : 1; + uint32_t YUV_EE_ENABLE : 1; + uint32_t YUV_CROP_Y_ENABLE : 1; + uint32_t YUV_CROP_C_ENABLE : 1; + uint32_t YUV_YCURVE_ENABLE : 1; + uint32_t YUV_CA2_ENABLE : 1; + uint32_t YUV_CA_ENABLE : 1; + uint32_t YUV_DCI_ENABLE : 1; + uint32_t YUV_LDCI_ENABLE : 1; + } bits; +}; + +union REG_ISP_TOP_CMDQ_CTRL { + uint32_t raw; + struct { + uint32_t CMDQ_TSK_EN : 8; + uint32_t CMDQ_FLAG_SEL : 2; + uint32_t CMDQ_TASK_SEL : 2; + } bits; +}; + +union REG_ISP_TOP_CMDQ_TRIG { + uint32_t raw; + struct { + uint32_t CMDQ_TSK_TRIG : 8; + } bits; +}; + +union REG_ISP_TOP_TRIG_CNT { + uint32_t raw; + struct { + uint32_t TRIG_STR_CNT : 4; + uint32_t VSYNC_DELAY : 4; + } bits; +}; + +union REG_ISP_TOP_SVN_VERSION { + uint32_t raw; + struct { + uint32_t SVN_REVISION : 32; + } bits; +}; + +union REG_ISP_TOP_TIMESTAMP { + uint32_t raw; + struct { + uint32_t UNIX_TIMESTAMP : 32; + } bits; +}; + +union REG_ISP_TOP_SCLIE_ENABLE { + uint32_t raw; + struct { + uint32_t SLICE_ENABLE_MAIN_LEXP : 1; + uint32_t SLICE_ENABLE_MAIN_SEXP : 1; + uint32_t SLICE_ENABLE_SUB_LEXP : 1; + uint32_t SLICE_ENABLE_SUB_SEXP : 1; + } bits; +}; + +union REG_ISP_TOP_W_SLICE_THRESH_MAIN { + uint32_t raw; + struct { + uint32_t W_SLICE_THR_MAIN_LEXP : 16; + uint32_t W_SLICE_THR_MAIN_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_W_SLICE_THRESH_SUB_CURR { + uint32_t raw; + struct { + uint32_t W_SLICE_THR_SUB_CUR_LEXP : 16; + uint32_t W_SLICE_THR_SUB_CUR_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_W_SLICE_THRESH_SUB_PRV { + uint32_t raw; + struct { + uint32_t W_SLICE_THR_SUB_PRV_LEXP : 16; + uint32_t W_SLICE_THR_SUB_PRV_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_R_SLICE_THRESH_MAIN { + uint32_t raw; + struct { + uint32_t R_SLICE_THR_MAIN_LEXP : 16; + uint32_t R_SLICE_THR_MAIN_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_R_SLICE_THRESH_SUB_CURR { + uint32_t raw; + struct { + uint32_t R_SLICE_THR_SUB_CUR_LEXP : 16; + uint32_t R_SLICE_THR_SUB_CUR_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_R_SLICE_THRESH_SUB_PRV { + uint32_t raw; + struct { + uint32_t R_SLICE_THR_SUB_PRV_LEXP : 16; + uint32_t R_SLICE_THR_SUB_PRV_SEXP : 16; + } bits; +}; + +union REG_ISP_TOP_RAW_FRAME_VALID { + uint32_t raw; + struct { + uint32_t RAW_FRAME_VLD : 1; + uint32_t RAW_PQ_VLD : 1; + } bits; +}; + +union REG_ISP_TOP_FIRST_FRAME { + uint32_t raw; + struct { + uint32_t FIRST_FRAME_SW : 5; + uint32_t FIRST_FRAME_TOP : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_WDMA_CORE_SHADOW_RD_SEL { + uint32_t raw; + struct { + uint32_t SHADOW_RD_SEL : 1; + uint32_t ABORT_MODE : 1; + } bits; +}; + +union REG_WDMA_CORE_IP_DISABLE { + uint32_t raw; + struct { + uint32_t IP_DISABLE : 32; + } bits; +}; + +union REG_WDMA_CORE_DISABLE_SEGLEN { + uint32_t raw; + struct { + uint32_t SEGLEN_DISABLE : 32; + } bits; +}; + +union REG_WDMA_CORE_UP_RING_BASE { + uint32_t raw; + struct { + uint32_t UP_RING_BASE : 32; + } bits; +}; + +union REG_WDMA_CORE_NORM_STATUS0 { + uint32_t raw; + struct { + uint32_t ABORT_DONE : 1; + uint32_t _rsv_1 : 3; + uint32_t ERROR_AXI : 1; + uint32_t ERROR_DMI : 1; + uint32_t SLOT_FULL : 1; + uint32_t _rsv_7 : 1; + uint32_t ERROR_ID : 5; + uint32_t _rsv_13 : 3; + uint32_t DMA_VERSION : 16; + } bits; +}; + +union REG_WDMA_CORE_NORM_STATUS1 { + uint32_t raw; + struct { + uint32_t ID_IDLE : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_EN { + uint32_t raw; + struct { + uint32_t RING_ENABLE : 32; + } bits; +}; + +union REG_WDMA_CORE_NORM_PERF { + uint32_t raw; + struct { + uint32_t BWLWIN : 10; + uint32_t BWLTXN : 6; + uint32_t QOSO_TH : 4; + uint32_t QOSO_EN : 1; + } bits; +}; + +union REG_WDMA_CORE_RING_PATCH_ENABLE { + uint32_t raw; + struct { + uint32_t RING_PATCH_ENABLE : 32; + } bits; +}; + +union REG_WDMA_CORE_SET_RING_BASE { + uint32_t raw; + struct { + uint32_t SET_RING_BASE : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BASE_ADDR_L { + uint32_t raw; + struct { + uint32_t RING_BASE_L : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BASE_ADDR_H { + uint32_t raw; + struct { + uint32_t RING_BASE_H : 8; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE0 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE0 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE1 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE1 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE2 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE2 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE3 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE3 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE4 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE4 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE5 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE5 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE6 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE6 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE7 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE7 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE8 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE8 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE9 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE9 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE10 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE10 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE11 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE11 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE12 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE12 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE13 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE13 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE14 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE14 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE15 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE15 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE16 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE16 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE17 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE17 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE18 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE18 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE19 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE19 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE20 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE20 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE21 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE21 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE22 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE22 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE23 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE23 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE24 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE24 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE25 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE25 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE26 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE26 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE27 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE27 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE28 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE28 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE29 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE29 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE30 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE30 : 32; + } bits; +}; + +union REG_WDMA_CORE_RING_BUFFER_SIZE31 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE31 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS0 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR0 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS1 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR1 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS2 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR2 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS3 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR3 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS4 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR4 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS5 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR5 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS6 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR6 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS7 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR7 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS8 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR8 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS9 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR9 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS10 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR10 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS11 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR11 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS12 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR12 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS13 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR13 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS14 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR14 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS15 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR15 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS16 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR16 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS17 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR17 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS18 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR18 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS19 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR19 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS20 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR20 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS21 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR21 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS22 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR22 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS23 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR23 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS24 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR24 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS25 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR25 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS26 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR26 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS27 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR27 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS28 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR28 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS29 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR29 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS30 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR30 : 32; + } bits; +}; + +union REG_WDMA_CORE_NEXT_DMA_ADDR_STS31 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR31 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_RDMA_CORE_SHADOW_RD_SEL { + uint32_t raw; + struct { + uint32_t SHADOW_RD_SEL : 1; + uint32_t ABORT_MODE : 1; + uint32_t _rsv_2 : 6; + uint32_t MAX_OSTD : 8; + uint32_t OSTD_SW_EN : 1; + } bits; +}; + +union REG_RDMA_CORE_IP_DISABLE { + uint32_t raw; + struct { + uint32_t IP_DISABLE : 32; + } bits; +}; + +union REG_RDMA_CORE_UP_RING_BASE { + uint32_t raw; + struct { + uint32_t UP_RING_BASE : 32; + } bits; +}; + +union REG_RDMA_CORE_NORM_STATUS0 { + uint32_t raw; + struct { + uint32_t ABORT_DONE : 1; + uint32_t _rsv_1 : 3; + uint32_t ERROR_AXI : 1; + uint32_t _rsv_5 : 3; + uint32_t ERROR_ID : 5; + uint32_t _rsv_13 : 3; + uint32_t DMA_VERSION : 16; + } bits; +}; + +union REG_RDMA_CORE_NORM_STATUS1 { + uint32_t raw; + struct { + uint32_t ID_IDLE : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_EN { + uint32_t raw; + struct { + uint32_t RING_ENABLE : 32; + } bits; +}; + +union REG_RDMA_CORE_NORM_PERF { + uint32_t raw; + struct { + uint32_t BWLWIN : 10; + uint32_t BWLTXN : 6; + } bits; +}; + +union REG_RDMA_CORE_AR_PRIORITY_SEL { + uint32_t raw; + struct { + uint32_t AR_PRIORITY_SEL : 1; + uint32_t QOS_PRIORITY_SEL : 1; + uint32_t ARB_HIST_DISABLE : 1; + uint32_t _rsv_3 : 1; + uint32_t ARB_USAGE_TH : 4; + } bits; +}; + +union REG_RDMA_CORE_RING_PATCH_ENABLE { + uint32_t raw; + struct { + uint32_t RING_PATCH_ENABLE : 32; + } bits; +}; + +union REG_RDMA_CORE_SET_RING_BASE { + uint32_t raw; + struct { + uint32_t SET_RING_BASE : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BASE_ADDR_L { + uint32_t raw; + struct { + uint32_t RING_BASE_L : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BASE_ADDR_H { + uint32_t raw; + struct { + uint32_t RING_BASE_H : 8; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE0 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE0 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE1 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE1 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE2 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE2 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE3 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE3 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE4 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE4 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE5 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE5 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE6 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE6 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE7 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE7 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE8 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE8 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE9 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE9 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE10 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE10 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE11 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE11 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE12 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE12 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE13 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE13 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE14 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE14 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE15 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE15 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE16 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE16 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE17 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE17 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE18 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE18 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE19 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE19 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE20 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE20 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE21 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE21 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE22 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE22 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE23 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE23 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE24 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE24 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE25 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE25 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE26 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE26 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE27 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE27 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE28 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE28 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE29 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE29 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE30 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE30 : 32; + } bits; +}; + +union REG_RDMA_CORE_RING_BUFFER_SIZE31 { + uint32_t raw; + struct { + uint32_t RBUF_SIZE31 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS0 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR0 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS1 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR1 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS2 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR2 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS3 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR3 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS4 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR4 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS5 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR5 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS6 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR6 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS7 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR7 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS8 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR8 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS9 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR9 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS10 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR10 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS11 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR11 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS12 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR12 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS13 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR13 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS14 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR14 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS15 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR15 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS16 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR16 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS17 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR17 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS18 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR18 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS19 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR19 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS20 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR20 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS21 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR21 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS22 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR22 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS23 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR23 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS24 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR24 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS25 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR25 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS26 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR26 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS27 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR27 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS28 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR28 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS29 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR29 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS30 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR30 : 32; + } bits; +}; + +union REG_RDMA_CORE_NEXT_DMA_ADDR_STS31 { + uint32_t raw; + struct { + uint32_t NEXT_DMA_ADDR31 : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CSI_BDG_LITE_BDG_TOP_CTRL { + uint32_t raw; + struct { + uint32_t CSI_MODE : 2; + uint32_t _rsv_2 : 2; + uint32_t CH_NUM : 2; + uint32_t CH0_DMA_WR_ENABLE : 1; + uint32_t CH1_DMA_WR_ENABLE : 1; + uint32_t CH2_DMA_WR_ENABLE : 1; + uint32_t Y_ONLY : 1; + uint32_t _rsv_10 : 1; + uint32_t VS_POL : 1; + uint32_t HS_POL : 1; + uint32_t RESET_MODE : 1; + uint32_t VS_MODE : 1; + uint32_t ABORT_MODE : 1; + uint32_t RESET : 1; + uint32_t ABORT : 1; + uint32_t CH3_DMA_WR_ENABLE : 1; + uint32_t CH3_DMA_420_WR_ENABLE : 1; + uint32_t _rsv_20 : 2; + uint32_t CH0_DMA_420_WR_ENABLE : 1; + uint32_t CH1_DMA_420_WR_ENABLE : 1; + uint32_t CSI_ENABLE : 1; + uint32_t _rsv_25 : 2; + uint32_t CH2_DMA_420_WR_ENABLE : 1; + uint32_t SHDW_READ_SEL : 1; + uint32_t _rsv_29 : 2; + uint32_t CSI_UP_REG : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_BDG_INTERRUPT_CTRL_0 { + uint32_t raw; + struct { + uint32_t CH0_VS_INT_EN : 1; + uint32_t CH0_TRIG_INT_EN : 1; + uint32_t CH0_DROP_INT_EN : 1; + uint32_t CH0_SIZE_ERROR_INT_EN : 1; + uint32_t CH0_FRAME_DONE_EN : 1; + uint32_t _rsv_5 : 3; + uint32_t CH1_VS_INT_EN : 1; + uint32_t CH1_TRIG_INT_EN : 1; + uint32_t CH1_DROP_INT_EN : 1; + uint32_t CH1_SIZE_ERROR_INT_EN : 1; + uint32_t CH1_FRAME_DONE_EN : 1; + uint32_t _rsv_13 : 3; + uint32_t CH2_VS_INT_EN : 1; + uint32_t CH2_TRIG_INT_EN : 1; + uint32_t CH2_DROP_INT_EN : 1; + uint32_t CH2_SIZE_ERROR_INT_EN : 1; + uint32_t CH2_FRAME_DONE_EN : 1; + uint32_t _rsv_21 : 3; + uint32_t CH3_VS_INT_EN : 1; + uint32_t CH3_TRIG_INT_EN : 1; + uint32_t CH3_DROP_INT_EN : 1; + uint32_t CH3_SIZE_ERROR_INT_EN : 1; + uint32_t CH3_FRAME_DONE_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_BDG_INTERRUPT_CTRL_1 { + uint32_t raw; + struct { + uint32_t LINE_INTP_EN : 1; + uint32_t FIFO_OVERFLOW_INT_EN : 1; + uint32_t DMA_ERROR_INTP_EN : 1; + uint32_t _rsv_3 : 5; + uint32_t DROP_MODE : 4; + uint32_t AVG_MODE : 4; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_FRAME_VLD { + uint32_t raw; + struct { + uint32_t FRAME_VLD_CH0 : 1; + uint32_t FRAME_VLD_CH1 : 1; + uint32_t FRAME_VLD_CH2 : 1; + uint32_t FRAME_VLD_CH3 : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_SIZE { + uint32_t raw; + struct { + uint32_t CH0_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_SIZE { + uint32_t raw; + struct { + uint32_t CH1_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_SIZE { + uint32_t raw; + struct { + uint32_t CH2_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_SIZE { + uint32_t raw; + struct { + uint32_t CH3_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_CROP_EN { + uint32_t raw; + struct { + uint32_t CH0_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH0_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH0_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_CROP_EN { + uint32_t raw; + struct { + uint32_t CH1_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH1_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH1_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_CROP_EN { + uint32_t raw; + struct { + uint32_t CH2_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH2_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH2_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_CROP_EN { + uint32_t raw; + struct { + uint32_t CH3_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH3_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH3_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_LINE_INTP_HEIGHT { + uint32_t raw; + struct { + uint32_t LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH0_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH0_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH0_VS_CNT : 16; + uint32_t CH0_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH0_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH0_TOT_BLK_IDLE : 1; + uint32_t CH0_TOT_DMA_IDLE : 1; + uint32_t CH0_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH1_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH1_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH1_VS_CNT : 16; + uint32_t CH1_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH1_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH1_TOT_BLK_IDLE : 1; + uint32_t CH1_TOT_DMA_IDLE : 1; + uint32_t CH1_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH2_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH2_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH2_VS_CNT : 16; + uint32_t CH2_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH2_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH2_TOT_BLK_IDLE : 1; + uint32_t CH2_TOT_DMA_IDLE : 1; + uint32_t CH2_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH3_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH3_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH3_VS_CNT : 16; + uint32_t CH3_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_CH3_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH3_TOT_BLK_IDLE : 1; + uint32_t CH3_TOT_DMA_IDLE : 1; + uint32_t CH3_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_INTERRUPT_STATUS_0 { + uint32_t raw; + struct { + uint32_t CH0_FRAME_DROP_INT : 1; + uint32_t CH0_VS_INT : 1; + uint32_t CH0_TRIG_INT : 1; + uint32_t CH0_FRAME_DONE : 1; + uint32_t CH0_FRAME_WIDTH_GT_INT : 1; + uint32_t CH0_FRAME_WIDTH_LS_INT : 1; + uint32_t CH0_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH0_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH1_FRAME_DROP_INT : 1; + uint32_t CH1_VS_INT : 1; + uint32_t CH1_TRIG_INT : 1; + uint32_t CH1_FRAME_DONE : 1; + uint32_t CH1_FRAME_WIDTH_GT_INT : 1; + uint32_t CH1_FRAME_WIDTH_LS_INT : 1; + uint32_t CH1_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH1_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH2_FRAME_DROP_INT : 1; + uint32_t CH2_VS_INT : 1; + uint32_t CH2_TRIG_INT : 1; + uint32_t CH2_FRAME_DONE : 1; + uint32_t CH2_FRAME_WIDTH_GT_INT : 1; + uint32_t CH2_FRAME_WIDTH_LS_INT : 1; + uint32_t CH2_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH2_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH3_FRAME_DROP_INT : 1; + uint32_t CH3_VS_INT : 1; + uint32_t CH3_TRIG_INT : 1; + uint32_t CH3_FRAME_DONE : 1; + uint32_t CH3_FRAME_WIDTH_GT_INT : 1; + uint32_t CH3_FRAME_WIDTH_LS_INT : 1; + uint32_t CH3_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH3_FRAME_HEIGHT_LS_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_INTERRUPT_STATUS_1 { + uint32_t raw; + struct { + uint32_t FIFO_OVERFLOW_INT : 1; + uint32_t FRAME_RESOLUTION_OVER_MAX_INT : 1; + uint32_t _rsv_2 : 1; + uint32_t LINE_INTP_INT : 1; + uint32_t DMA_ERROR_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_BDG_DEBUG { + uint32_t raw; + struct { + uint32_t RING_BUFF_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_WR_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t WR_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t WR_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_RD_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t RD_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t RD_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_IN : 16; + uint32_t DUMMY_OUT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_TRIG_DLY_CONTROL_0 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_LITE_TRIG_DLY_CONTROL_1 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_VALUE : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_RAW_RDMA_CTRL_READ_SEL { + uint32_t raw; + struct { + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_RAW_RDMA_CTRL_CONFIG { + uint32_t raw; + struct { + uint32_t LE_RDMA_EN : 1; + uint32_t SE_RDMA_EN : 1; + } bits; +}; + +union REG_RAW_RDMA_CTRL_RDMA_SIZE { + uint32_t raw; + struct { + uint32_t RDMI_WIDTHM1 : 16; + uint32_t RDMI_HEIGHTM1 : 16; + } bits; +}; + +union REG_RAW_RDMA_CTRL_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DPCM_MODE : 3; + uint32_t _rsv_3 : 5; + uint32_t DPCM_XSTR : 13; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_LDCI_ENABLE { + uint32_t raw; + struct { + uint32_t LDCI_ENABLE : 1; + uint32_t LDCI_STATS_ENABLE : 1; + uint32_t LDCI_MAP_ENABLE : 1; + uint32_t LDCI_UV_GAIN_ENABLE : 1; + uint32_t _rsv_4 : 2; + uint32_t LDCI_FIRST_FRAME_ENABLE : 1; + uint32_t LDCI_ZEROING_ENABLE : 1; + uint32_t LDCI_IMAGE_SIZE_DIV_BY_16X12 : 1; + uint32_t _rsv_9 : 19; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_LDCI_STRENGTH { + uint32_t raw; + struct { + uint32_t LDCI_STRENGTH : 9; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_MAX { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_MAX : 8; + uint32_t _rsv_8 : 8; + uint32_t LDCI_LUMA_WGT_MIN : 8; + } bits; +}; + +union REG_ISP_LDCI_IDX_IIR_ALPHA { + uint32_t raw; + struct { + uint32_t LDCI_IDX_IIR_ALPHA : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_VAR_IIR_ALPHA : 10; + } bits; +}; + +union REG_ISP_LDCI_EDGE_SCALE { + uint32_t raw; + struct { + uint32_t LDCI_EDGE_SCALE : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_EDGE_CORING : 8; + } bits; +}; + +union REG_ISP_LDCI_EDGE_CLAMP { + uint32_t raw; + struct { + uint32_t LDCI_VAR_MAP_MAX : 8; + uint32_t _rsv_8 : 8; + uint32_t LDCI_VAR_MAP_MIN : 8; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_NORM { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_NORM : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_VAR_FILTER_NORM : 9; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_IDX_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_IDX_00 : 4; + uint32_t LDCI_TONE_CURVE_IDX_01 : 4; + uint32_t LDCI_TONE_CURVE_IDX_02 : 4; + uint32_t LDCI_TONE_CURVE_IDX_03 : 4; + uint32_t LDCI_TONE_CURVE_IDX_04 : 4; + uint32_t LDCI_TONE_CURVE_IDX_05 : 4; + uint32_t LDCI_TONE_CURVE_IDX_06 : 4; + uint32_t LDCI_TONE_CURVE_IDX_07 : 4; + } bits; +}; + +union REG_ISP_LDCI_BLK_SIZE_X { + uint32_t raw; + struct { + uint32_t LDCI_BLK_SIZE_X : 13; + uint32_t _rsv_13 : 3; + uint32_t LDCI_BLK_SIZE_Y : 13; + } bits; +}; + +union REG_ISP_LDCI_BLK_SIZE_X1 { + uint32_t raw; + struct { + uint32_t LDCI_BLK_SIZE_X1 : 13; + uint32_t _rsv_13 : 3; + uint32_t LDCI_BLK_SIZE_Y1 : 13; + } bits; +}; + +union REG_ISP_LDCI_SUBBLK_SIZE_X { + uint32_t raw; + struct { + uint32_t LDCI_SUBBLK_SIZE_X : 13; + uint32_t _rsv_13 : 3; + uint32_t LDCI_SUBBLK_SIZE_Y : 16; + } bits; +}; + +union REG_ISP_LDCI_SUBBLK_SIZE_X1 { + uint32_t raw; + struct { + uint32_t LDCI_SUBBLK_SIZE_X1 : 13; + uint32_t _rsv_13 : 3; + uint32_t LDCI_SUBBLK_SIZE_Y1 : 16; + } bits; +}; + +union REG_ISP_LDCI_INTERP_NORM_LR { + uint32_t raw; + struct { + uint32_t LDCI_INTERP_NORM_LR : 16; + uint32_t LDCI_INTERP_NORM_UD : 16; + } bits; +}; + +union REG_ISP_LDCI_SUB_INTERP_NORM_LR { + uint32_t raw; + struct { + uint32_t LDCI_SUB_INTERP_NORM_LR : 16; + uint32_t LDCI_SUB_INTERP_NORM_UD : 13; + } bits; +}; + +union REG_ISP_LDCI_MEAN_NORM_X { + uint32_t raw; + struct { + uint32_t LDCI_MEAN_NORM_X : 15; + uint32_t _rsv_15 : 1; + uint32_t LDCI_MEAN_NORM_Y : 14; + } bits; +}; + +union REG_ISP_LDCI_VAR_NORM_Y { + uint32_t raw; + struct { + uint32_t LDCI_VAR_NORM_Y : 14; + } bits; +}; + +union REG_ISP_LDCI_UV_GAIN_MAX { + uint32_t raw; + struct { + uint32_t LDCI_UV_GAIN_MAX : 7; + uint32_t _rsv_7 : 9; + uint32_t LDCI_UV_GAIN_MIN : 7; + } bits; +}; + +union REG_ISP_LDCI_IMG_WIDTHM1 { + uint32_t raw; + struct { + uint32_t LDCI_IMG_WIDTHM1 : 14; + uint32_t _rsv_14 : 2; + uint32_t LDCI_IMG_HEIGHTM1 : 14; + } bits; +}; + +union REG_ISP_LDCI_STATUS { + uint32_t raw; + struct { + uint32_t LDCI_STATUS : 32; + } bits; +}; + +union REG_ISP_LDCI_GRACE_RESET { + uint32_t raw; + struct { + uint32_t LDCI_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_LDCI_MONITOR { + uint32_t raw; + struct { + uint32_t LDCI_MONITOR : 32; + } bits; +}; + +union REG_ISP_LDCI_FLOW { + uint32_t raw; + struct { + uint32_t LDCI_ZERODCIOGRAM : 1; + uint32_t _rsv_1 : 3; + uint32_t LDCI_SHADOW_SELECT : 1; + } bits; +}; + +union REG_ISP_LDCI_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t LDCI_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_LDCI_LOCATION { + uint32_t raw; + struct { + uint32_t LDCI_LOCATION : 32; + } bits; +}; + +union REG_ISP_LDCI_DEBUG { + uint32_t raw; + struct { + uint32_t LDCI_DEBUG : 32; + } bits; +}; + +union REG_ISP_LDCI_DUMMY { + uint32_t raw; + struct { + uint32_t LDCI_DUMMY : 32; + } bits; +}; + +union REG_ISP_LDCI_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 2; + uint32_t _rsv_2 : 2; + uint32_t DMI_QOS : 2; + uint32_t _rsv_6 : 2; + uint32_t FORCE_DMA_DISABLE : 2; + } bits; +}; + +union REG_ISP_LDCI_DCI_BAYER_STARTING { + uint32_t raw; + struct { + uint32_t DCI_BAYER_STARTING : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_00 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_00 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_01 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_02 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_02 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_03 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_04 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_04 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_05 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_06 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_06 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_07 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_08 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_08 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_09 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_10 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_10 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_11 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_12 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_12 : 11; + uint32_t _rsv_11 : 5; + uint32_t LDCI_IDX_FILTER_LUT_13 : 11; + } bits; +}; + +union REG_ISP_LDCI_IDX_FILTER_LUT_14 { + uint32_t raw; + struct { + uint32_t LDCI_IDX_FILTER_LUT_14 : 11; + } bits; +}; + +union REG_ISP_LDCI_INTERP_NORM_LR1 { + uint32_t raw; + struct { + uint32_t LDCI_INTERP_NORM_LR1 : 16; + uint32_t LDCI_INTERP_NORM_UD1 : 16; + } bits; +}; + +union REG_ISP_LDCI_SUB_INTERP_NORM_LR1 { + uint32_t raw; + struct { + uint32_t LDCI_SUB_INTERP_NORM_LR1 : 16; + uint32_t LDCI_SUB_INTERP_NORM_UD1 : 13; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_00_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_00_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_00_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_01_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_01_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_01_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_02_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_02_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_02_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_03_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_03_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_03_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_04_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_04_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_04_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_05_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_05_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_05_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_06_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_06_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_06_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_07_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_07_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_07_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_00 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_02 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_04 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_05 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_06 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_06 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_07 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_08 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_08 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_09 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_10 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_10 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_11 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_12 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_12 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_13 : 10; + } bits; +}; + +union REG_ISP_LDCI_TONE_CURVE_LUT_P_14 { + uint32_t raw; + struct { + uint32_t LDCI_TONE_CURVE_LUT_P_14 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_TONE_CURVE_LUT_P_15 : 10; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_00 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_00 : 8; + uint32_t LDCI_LUMA_WGT_LUT_01 : 8; + uint32_t LDCI_LUMA_WGT_LUT_02 : 8; + uint32_t LDCI_LUMA_WGT_LUT_03 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_04 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_04 : 8; + uint32_t LDCI_LUMA_WGT_LUT_05 : 8; + uint32_t LDCI_LUMA_WGT_LUT_06 : 8; + uint32_t LDCI_LUMA_WGT_LUT_07 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_08 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_08 : 8; + uint32_t LDCI_LUMA_WGT_LUT_09 : 8; + uint32_t LDCI_LUMA_WGT_LUT_10 : 8; + uint32_t LDCI_LUMA_WGT_LUT_11 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_12 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_12 : 8; + uint32_t LDCI_LUMA_WGT_LUT_13 : 8; + uint32_t LDCI_LUMA_WGT_LUT_14 : 8; + uint32_t LDCI_LUMA_WGT_LUT_15 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_16 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_16 : 8; + uint32_t LDCI_LUMA_WGT_LUT_17 : 8; + uint32_t LDCI_LUMA_WGT_LUT_18 : 8; + uint32_t LDCI_LUMA_WGT_LUT_19 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_20 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_20 : 8; + uint32_t LDCI_LUMA_WGT_LUT_21 : 8; + uint32_t LDCI_LUMA_WGT_LUT_22 : 8; + uint32_t LDCI_LUMA_WGT_LUT_23 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_24 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_24 : 8; + uint32_t LDCI_LUMA_WGT_LUT_25 : 8; + uint32_t LDCI_LUMA_WGT_LUT_26 : 8; + uint32_t LDCI_LUMA_WGT_LUT_27 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_28 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_28 : 8; + uint32_t LDCI_LUMA_WGT_LUT_29 : 8; + uint32_t LDCI_LUMA_WGT_LUT_30 : 8; + uint32_t LDCI_LUMA_WGT_LUT_31 : 8; + } bits; +}; + +union REG_ISP_LDCI_LUMA_WGT_LUT_32 { + uint32_t raw; + struct { + uint32_t LDCI_LUMA_WGT_LUT_32 : 8; + } bits; +}; + +union REG_ISP_LDCI_VAR_FILTER_LUT_00 { + uint32_t raw; + struct { + uint32_t LDCI_VAR_FILTER_LUT_00 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_VAR_FILTER_LUT_01 : 10; + } bits; +}; + +union REG_ISP_LDCI_VAR_FILTER_LUT_02 { + uint32_t raw; + struct { + uint32_t LDCI_VAR_FILTER_LUT_02 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_VAR_FILTER_LUT_03 : 10; + } bits; +}; + +union REG_ISP_LDCI_VAR_FILTER_LUT_04 { + uint32_t raw; + struct { + uint32_t LDCI_VAR_FILTER_LUT_04 : 10; + uint32_t _rsv_10 : 6; + uint32_t LDCI_VAR_FILTER_LUT_05 : 10; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_RGB_TOP_0 { + uint32_t raw; + struct { + uint32_t RGBTOP_BAYER_TYPE : 4; + uint32_t RGBTOP_RGBIR_ENABLE : 1; + uint32_t _rsv_5 : 3; + uint32_t UP_PQ_EN : 1; + uint32_t _rsv_9 : 3; + uint32_t PROG_HDK_DIS : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_1 { + uint32_t raw; + struct { + uint32_t RGB_SHDW_SEL : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_2 { + uint32_t raw; + struct { + uint32_t SHDW_DMY : 32; + } bits; +}; + +union REG_ISP_RGB_TOP_3 { + uint32_t raw; + struct { + uint32_t DMY : 32; + } bits; +}; + +union REG_ISP_RGB_TOP_4 { + uint32_t raw; + struct { + uint32_t PROB_OUT_SEL : 5; + uint32_t PROB_PERFMT : 1; + uint32_t _rsv_6 : 2; + uint32_t PROB_FMT : 6; + } bits; +}; + +union REG_ISP_RGB_TOP_5 { + uint32_t raw; + struct { + uint32_t PROB_LINE : 12; + uint32_t _rsv_12 : 4; + uint32_t PROB_PIX : 12; + } bits; +}; + +union REG_ISP_RGB_TOP_6 { + uint32_t raw; + struct { + uint32_t PROB_R : 12; + uint32_t _rsv_12 : 4; + uint32_t PROB_G : 12; + } bits; +}; + +union REG_ISP_RGB_TOP_7 { + uint32_t raw; + struct { + uint32_t PROB_B : 12; + } bits; +}; + +union REG_ISP_RGB_TOP_8 { + uint32_t raw; + struct { + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t DBG_EN : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_9 { + uint32_t raw; + struct { + uint32_t RGBTOP_IMGW_M1 : 13; + uint32_t _rsv_13 : 3; + uint32_t RGBTOP_IMGH_M1 : 13; + } bits; +}; + +union REG_ISP_RGB_TOP_10 { + uint32_t raw; + struct { + uint32_t IR_BIT_MODE : 1; + uint32_t IR_SW_MODE : 1; + uint32_t IR_DMI_ENABLE : 1; + uint32_t IR_CROP_ENABLE : 1; + uint32_t IR_DMI_NUM_SW : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_11 { + uint32_t raw; + struct { + uint32_t IR_IMG_WIDTH : 14; + uint32_t _rsv_14 : 2; + uint32_t IR_IMG_HEIGHT : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_12 { + uint32_t raw; + struct { + uint32_t IR_CROP_W_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t IR_CROP_W_END : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_13 { + uint32_t raw; + struct { + uint32_t IR_CROP_H_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t IR_CROP_H_END : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_14 { + uint32_t raw; + struct { + uint32_t IRM_ENABLE : 1; + uint32_t IRM_HW_RQOS : 1; + uint32_t _rsv_2 : 2; + uint32_t IR_BLENDING_WGT : 9; + uint32_t _rsv_13 : 3; + uint32_t IR_DMI_NUM : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_DBG_IP_S_VLD { + uint32_t raw; + struct { + uint32_t IP_S_TVALID : 31; + uint32_t IP_DBG_EN : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_DBG_IP_S_RDY { + uint32_t raw; + struct { + uint32_t IP_S_TREADY : 31; + } bits; +}; + +union REG_ISP_RGB_TOP_DBG_DMI_VLD { + uint32_t raw; + struct { + uint32_t IP_DMI_VALID : 16; + } bits; +}; + +union REG_ISP_RGB_TOP_DBG_DMI_RDY { + uint32_t raw; + struct { + uint32_t IP_DMI_READY : 16; + } bits; +}; + +union REG_ISP_RGB_TOP_PATGEN1 { + uint32_t raw; + struct { + uint32_t X_CURSER : 14; + uint32_t _rsv_14 : 2; + uint32_t Y_CURSER : 14; + uint32_t CURSER_EN : 1; + uint32_t PG_ENABLE : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_PATGEN2 { + uint32_t raw; + struct { + uint32_t CURSER_VALUE : 16; + } bits; +}; + +union REG_ISP_RGB_TOP_PATGEN3 { + uint32_t raw; + struct { + uint32_t VALUE_REPORT : 32; + } bits; +}; + +union REG_ISP_RGB_TOP_PATGEN4 { + uint32_t raw; + struct { + uint32_t XCNT_RPT : 14; + uint32_t _rsv_14 : 2; + uint32_t YCNT_RPT : 14; + } bits; +}; + +union REG_ISP_RGB_TOP_CHK_SUM { + uint32_t raw; + struct { + uint32_t CHK_SUM_Y : 8; + uint32_t CHK_SUM_U : 8; + uint32_t CHK_SUM_V : 8; + uint32_t CHK_SUM_EN : 1; + } bits; +}; + +union REG_ISP_RGB_TOP_DMA_IDLE { + uint32_t raw; + struct { + uint32_t IP_DMA_IDLE : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_PRE_WDMA_CTRL { + uint32_t raw; + struct { + uint32_t WDMI_EN_LE : 1; + uint32_t WDMI_EN_SE : 1; + uint32_t DMA_WR_MODE : 1; + uint32_t DMA_WR_MSB : 1; + uint32_t _rsv_4 : 27; + uint32_t SHDW_READ_SEL : 1; + } bits; +}; + +union REG_PRE_WDMA_CTRL_PRE_RAW_BE_RDMI_DPCM { + uint32_t raw; + struct { + uint32_t DPCM_MODE : 3; + uint32_t MIPI_OPT : 1; + uint32_t _rsv_4 : 12; + uint32_t DPCM_XSTR : 13; + } bits; +}; + +union REG_PRE_WDMA_CTRL_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_RW : 16; + uint32_t DUMMY_RO : 16; + } bits; +}; + +union REG_PRE_WDMA_CTRL_DEBUG_INFO { + uint32_t raw; + struct { + uint32_t WDMA_DONE_LE : 1; + uint32_t WDMA_DONE_SE : 1; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_EE_00 { + uint32_t raw; + struct { + uint32_t EE_ENABLE : 1; + uint32_t EE_SHADOW_SEL : 1; + uint32_t _rsv_2 : 2; + uint32_t EE_DEBUG_MODE : 4; + uint32_t EE_TOTAL_CORING : 8; + uint32_t EE_TOTAL_MOTION_CORING : 8; + uint32_t EE_TOTAL_GAIN : 8; + } bits; +}; + +union REG_ISP_EE_04 { + uint32_t raw; + struct { + uint32_t EE_TOTAL_OSHTTHRD : 8; + uint32_t EE_TOTAL_USHTTHRD : 8; + uint32_t EE_DEBUG_SHIFT_BIT : 3; + uint32_t _rsv_19 : 12; + uint32_t EE_PRE_PROC_ENABLE : 1; + } bits; +}; + +union REG_ISP_EE_0C { + uint32_t raw; + struct { + uint32_t EE_LUMAREF_LPF_EN : 1; + uint32_t EE_LUMA_CORING_EN : 1; + uint32_t _rsv_2 : 4; + uint32_t EE_LUMA_ADPTCTRL_EN : 1; + uint32_t EE_DELTA_ADPTCTRL_EN : 1; + uint32_t EE_DELTA_ADPTCTRL_SHIFT : 2; + uint32_t EE_CHROMAREF_LPF_EN : 1; + uint32_t EE_CHROMA_ADPTCTRL_EN : 1; + uint32_t _rsv_12 : 4; + uint32_t EE_MF_CORE_GAIN : 8; + } bits; +}; + +union REG_ISP_EE_10 { + uint32_t raw; + struct { + uint32_t HF_BLEND_WGT : 8; + uint32_t MF_BLEND_WGT : 8; + } bits; +}; + +union REG_ISP_EE_A4 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_IN_0 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_1 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_2 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_EE_A8 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_OUT_0 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_1 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_2 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_EE_AC { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_LUMA_CORING_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_EE_B0 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_EE_B4 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_IN_0 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_1 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_2 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_EE_B8 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_OUT_0 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_1 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_2 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_EE_BC { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MOTION_CORING_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_EE_C0 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_EE_C4 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_IN_0 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_1 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_2 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_EE_C8 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_OUT_0 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_1 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_2 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_EE_HCC { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MCORE_GAIN_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_EE_HD0 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_EE_130 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_EE_134 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_EE_138 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_EE_13C { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_EE_140 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_EE_144 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_EE_148 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_EE_14C { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_EE_150 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_EE_154 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_EE_158 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_EE_15C { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_EE_160 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_EE_164 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_EE_168 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_EE_16C { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_EE_170 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_EE_174 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_EE_178 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_EE_17C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_EE_180 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_EE_184 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_EE_188 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_EE_18C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_EE_190 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_EE_194 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_EE_198 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_EE_19C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_IN_0 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_1 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_2 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_EE_1A0 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_OUT_0 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_1 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_2 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_EE_1A4 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_CHROMA_AMP_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_EE_1A8 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_EE_1C4 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 16; + uint32_t EE_SHTCTRL_OSHTGAIN : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_SHTCTRL_USHTGAIN : 6; + } bits; +}; + +union REG_ISP_EE_1C8 { + uint32_t raw; + struct { + uint32_t EE_TOTAL_OSHTTHRD_CLP : 8; + uint32_t EE_TOTAL_USHTTHRD_CLP : 8; + } bits; +}; + +union REG_ISP_EE_1CC { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_IN_0 : 8; + uint32_t EE_MOTION_LUT_IN_1 : 8; + uint32_t EE_MOTION_LUT_IN_2 : 8; + uint32_t EE_MOTION_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_EE_1D0 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_OUT_0 : 8; + uint32_t EE_MOTION_LUT_OUT_1 : 8; + uint32_t EE_MOTION_LUT_OUT_2 : 8; + uint32_t EE_MOTION_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_EE_1D4 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MOTION_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_EE_1D8 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_EE_1DC { + uint32_t raw; + struct { + uint32_t HF_COEF_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_1 : 9; + } bits; +}; + +union REG_ISP_EE_1E0 { + uint32_t raw; + struct { + uint32_t HF_COEF_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_3 : 9; + } bits; +}; + +union REG_ISP_EE_1E4 { + uint32_t raw; + struct { + uint32_t HF_COEF_4 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_5 : 9; + } bits; +}; + +union REG_ISP_EE_1E8 { + uint32_t raw; + struct { + uint32_t MF_COEF_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_1 : 9; + } bits; +}; + +union REG_ISP_EE_1EC { + uint32_t raw; + struct { + uint32_t MF_COEF_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_3 : 9; + } bits; +}; + +union REG_ISP_EE_1F0 { + uint32_t raw; + struct { + uint32_t MF_COEF_4 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_5 : 9; + } bits; +}; + +union REG_ISP_EE_1F4 { + uint32_t raw; + struct { + uint32_t MF_COEF_6 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_7 : 9; + } bits; +}; + +union REG_ISP_EE_1F8 { + uint32_t raw; + struct { + uint32_t MF_COEF_8 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_9 : 9; + } bits; +}; + +union REG_ISP_EE_1FC { + uint32_t raw; + struct { + uint32_t EE_SOFT_CLAMP_ENABLE : 1; + uint32_t EE_CBCR_SWITCH : 1; + uint32_t _rsv_2 : 6; + uint32_t EE_UPPER_BOUND_LEFT_DIFF : 8; + uint32_t EE_LOWER_BOUND_RIGHT_DIFF : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_YGAMMA_GAMMA_CTRL { + uint32_t raw; + struct { + uint32_t YGAMMA_ENABLE : 1; + uint32_t GAMMA_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_PROG_CTRL { + uint32_t raw; + struct { + uint32_t GAMMA_WSEL : 1; + uint32_t _rsv_1 : 3; + uint32_t GAMMA_RSEL : 1; + uint32_t _rsv_5 : 3; + uint32_t GAMMA_PROG_EN : 1; + uint32_t _rsv_9 : 3; + uint32_t GAMMA_PROG_1TO3_EN : 1; + uint32_t _rsv_13 : 3; + uint32_t GAMMA_PROG_MODE : 2; + uint32_t _rsv_18 : 6; + uint32_t GAMMA_W : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_PROG_ST_ADDR { + uint32_t raw; + struct { + uint32_t GAMMA_ST_ADDR : 8; + uint32_t _rsv_8 : 23; + uint32_t GAMMA_ST_W : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_PROG_DATA { + uint32_t raw; + struct { + uint32_t GAMMA_DATA_E : 16; + uint32_t GAMMA_DATA_O : 16; + } bits; +}; + +union REG_YGAMMA_GAMMA_PROG_MAX { + uint32_t raw; + struct { + uint32_t YGAMMA_MAX : 17; + } bits; +}; + +union REG_YGAMMA_GAMMA_MEM_SW_RADDR { + uint32_t raw; + struct { + uint32_t GAMMA_SW_RADDR : 8; + uint32_t _rsv_8 : 4; + uint32_t GAMMA_SW_R_MEM_SEL : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t GAMMA_RDATA_R : 16; + uint32_t _rsv_16 : 15; + uint32_t GAMMA_SW_R : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_MEM_SW_RDATA_BG { + uint32_t raw; + struct { + uint32_t GAMMA_RDATA_G : 12; + uint32_t _rsv_12 : 4; + uint32_t GAMMA_RDATA_B : 12; + } bits; +}; + +union REG_YGAMMA_GAMMA_DBG { + uint32_t raw; + struct { + uint32_t PROG_HDK_DIS : 1; + uint32_t SOFTRST : 1; + } bits; +}; + +union REG_YGAMMA_GAMMA_DMY0 { + uint32_t raw; + struct { + uint32_t DMY_DEF0 : 32; + } bits; +}; + +union REG_YGAMMA_GAMMA_DMY1 { + uint32_t raw; + struct { + uint32_t DMY_DEF1 : 32; + } bits; +}; + +union REG_YGAMMA_GAMMA_DMY_R { + uint32_t raw; + struct { + uint32_t DMY_RO : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_PREYEE_00 { + uint32_t raw; + struct { + uint32_t EE_ENABLE : 1; + uint32_t EE_SHADOW_SEL : 1; + uint32_t _rsv_2 : 2; + uint32_t EE_DEBUG_MODE : 4; + uint32_t EE_TOTAL_CORING : 8; + uint32_t EE_TOTAL_MOTION_CORING : 8; + uint32_t EE_TOTAL_GAIN : 8; + } bits; +}; + +union REG_ISP_PREYEE_04 { + uint32_t raw; + struct { + uint32_t EE_TOTAL_OSHTTHRD : 8; + uint32_t EE_TOTAL_USHTTHRD : 8; + uint32_t EE_DEBUG_SHIFT_BIT : 3; + uint32_t _rsv_19 : 12; + uint32_t EE_PRE_PROC_ENABLE : 1; + } bits; +}; + +union REG_ISP_PREYEE_0C { + uint32_t raw; + struct { + uint32_t EE_LUMAREF_LPF_EN : 1; + uint32_t EE_LUMA_CORING_EN : 1; + uint32_t _rsv_2 : 4; + uint32_t EE_LUMA_ADPTCTRL_EN : 1; + uint32_t EE_DELTA_ADPTCTRL_EN : 1; + uint32_t EE_DELTA_ADPTCTRL_SHIFT : 2; + uint32_t EE_CHROMAREF_LPF_EN : 1; + uint32_t EE_CHROMA_ADPTCTRL_EN : 1; + uint32_t _rsv_12 : 4; + uint32_t EE_MF_CORE_GAIN : 8; + } bits; +}; + +union REG_ISP_PREYEE_10 { + uint32_t raw; + struct { + uint32_t HF_BLEND_WGT : 8; + uint32_t MF_BLEND_WGT : 8; + } bits; +}; + +union REG_ISP_PREYEE_A4 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_IN_0 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_1 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_2 : 8; + uint32_t EE_LUMA_CORING_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_A8 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_OUT_0 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_1 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_2 : 8; + uint32_t EE_LUMA_CORING_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_AC { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_LUMA_CORING_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_PREYEE_B0 { + uint32_t raw; + struct { + uint32_t EE_LUMA_CORING_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_PREYEE_B4 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_IN_0 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_1 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_2 : 8; + uint32_t EE_MOTION_CORING_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_B8 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_OUT_0 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_1 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_2 : 8; + uint32_t EE_MOTION_CORING_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_BC { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MOTION_CORING_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_PREYEE_C0 { + uint32_t raw; + struct { + uint32_t EE_MOTION_CORING_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_PREYEE_C4 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_IN_0 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_1 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_2 : 8; + uint32_t EE_MCORE_GAIN_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_C8 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_OUT_0 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_1 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_2 : 8; + uint32_t EE_MCORE_GAIN_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_HCC { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MCORE_GAIN_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_PREYEE_HD0 { + uint32_t raw; + struct { + uint32_t EE_MCORE_GAIN_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_PREYEE_130 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_PREYEE_134 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_PREYEE_138 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_PREYEE_13C { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_PREYEE_140 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_PREYEE_144 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_PREYEE_148 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_PREYEE_14C { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_LUMA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_PREYEE_150 { + uint32_t raw; + struct { + uint32_t EE_LUMA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_PREYEE_154 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_PREYEE_158 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_PREYEE_15C { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_PREYEE_160 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_PREYEE_164 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_PREYEE_168 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_PREYEE_16C { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_PREYEE_170 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_DELTA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_PREYEE_174 { + uint32_t raw; + struct { + uint32_t EE_DELTA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_PREYEE_178 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_00 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_01 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_02 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_03 : 6; + } bits; +}; + +union REG_ISP_PREYEE_17C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_04 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_05 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_06 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_07 : 6; + } bits; +}; + +union REG_ISP_PREYEE_180 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_08 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_09 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_10 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_11 : 6; + } bits; +}; + +union REG_ISP_PREYEE_184 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_12 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_13 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_14 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_15 : 6; + } bits; +}; + +union REG_ISP_PREYEE_188 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_16 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_17 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_18 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_19 : 6; + } bits; +}; + +union REG_ISP_PREYEE_18C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_20 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_21 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_22 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_23 : 6; + } bits; +}; + +union REG_ISP_PREYEE_190 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_24 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_25 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_26 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_27 : 6; + } bits; +}; + +union REG_ISP_PREYEE_194 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_28 : 6; + uint32_t _rsv_6 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_29 : 6; + uint32_t _rsv_14 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_30 : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_CHROMA_ADPTCTRL_LUT_31 : 6; + } bits; +}; + +union REG_ISP_PREYEE_198 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_ADPTCTRL_LUT_32 : 6; + } bits; +}; + +union REG_ISP_PREYEE_19C { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_IN_0 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_1 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_2 : 8; + uint32_t EE_CHROMA_AMP_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_1A0 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_OUT_0 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_1 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_2 : 8; + uint32_t EE_CHROMA_AMP_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_1A4 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_CHROMA_AMP_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_PREYEE_1A8 { + uint32_t raw; + struct { + uint32_t EE_CHROMA_AMP_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_PREYEE_1C4 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 16; + uint32_t EE_SHTCTRL_OSHTGAIN : 6; + uint32_t _rsv_22 : 2; + uint32_t EE_SHTCTRL_USHTGAIN : 6; + } bits; +}; + +union REG_ISP_PREYEE_1C8 { + uint32_t raw; + struct { + uint32_t EE_TOTAL_OSHTTHRD_CLP : 8; + uint32_t EE_TOTAL_USHTTHRD_CLP : 8; + } bits; +}; + +union REG_ISP_PREYEE_1CC { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_IN_0 : 8; + uint32_t EE_MOTION_LUT_IN_1 : 8; + uint32_t EE_MOTION_LUT_IN_2 : 8; + uint32_t EE_MOTION_LUT_IN_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_1D0 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_OUT_0 : 8; + uint32_t EE_MOTION_LUT_OUT_1 : 8; + uint32_t EE_MOTION_LUT_OUT_2 : 8; + uint32_t EE_MOTION_LUT_OUT_3 : 8; + } bits; +}; + +union REG_ISP_PREYEE_1D4 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_SLOPE_0 : 12; + uint32_t _rsv_12 : 4; + uint32_t EE_MOTION_LUT_SLOPE_1 : 12; + } bits; +}; + +union REG_ISP_PREYEE_1D8 { + uint32_t raw; + struct { + uint32_t EE_MOTION_LUT_SLOPE_2 : 12; + } bits; +}; + +union REG_ISP_PREYEE_1DC { + uint32_t raw; + struct { + uint32_t HF_COEF_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_1 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1E0 { + uint32_t raw; + struct { + uint32_t HF_COEF_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_3 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1E4 { + uint32_t raw; + struct { + uint32_t HF_COEF_4 : 9; + uint32_t _rsv_9 : 7; + uint32_t HF_COEF_5 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1E8 { + uint32_t raw; + struct { + uint32_t MF_COEF_0 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_1 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1EC { + uint32_t raw; + struct { + uint32_t MF_COEF_2 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_3 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1F0 { + uint32_t raw; + struct { + uint32_t MF_COEF_4 : 9; + uint32_t _rsv_9 : 7; + uint32_t MF_COEF_5 : 9; + } bits; +}; + +union REG_ISP_PREYEE_1FC { + uint32_t raw; + struct { + uint32_t EE_SOFT_CLAMP_ENABLE : 1; + uint32_t EE_CBCR_SWITCH : 1; + uint32_t _rsv_2 : 6; + uint32_t EE_UPPER_BOUND_LEFT_DIFF : 8; + uint32_t EE_LOWER_BOUND_RIGHT_DIFF : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CSI_BDG_TOP_CTRL { + uint32_t raw; + struct { + uint32_t CSI_MODE : 2; + uint32_t CSI_IN_FORMAT : 1; + uint32_t CSI_IN_YUV_FORMAT : 1; + uint32_t CH_NUM : 2; + uint32_t CH0_DMA_WR_ENABLE : 1; + uint32_t CH1_DMA_WR_ENABLE : 1; + uint32_t CH2_DMA_WR_ENABLE : 1; + uint32_t Y_ONLY : 1; + uint32_t PXL_DATA_SEL : 1; + uint32_t VS_POL : 1; + uint32_t HS_POL : 1; + uint32_t RESET_MODE : 1; + uint32_t VS_MODE : 1; + uint32_t ABORT_MODE : 1; + uint32_t RESET : 1; + uint32_t ABORT : 1; + uint32_t CH3_DMA_WR_ENABLE : 1; + uint32_t CH3_DMA_420_WR_ENABLE : 1; + uint32_t YUV_PACK_MODE : 1; + uint32_t MULTI_CH_FRAME_SYNC_EN : 1; + uint32_t CH0_DMA_420_WR_ENABLE : 1; + uint32_t CH1_DMA_420_WR_ENABLE : 1; + uint32_t CSI_ENABLE : 1; + uint32_t TGEN_ENABLE : 1; + uint32_t YUV2BAY_ENABLE : 1; + uint32_t CH2_DMA_420_WR_ENABLE : 1; + uint32_t SHDW_READ_SEL : 1; + uint32_t _rsv_29 : 2; + uint32_t CSI_UP_REG : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_INTERRUPT_CTRL { + uint32_t raw; + struct { + uint32_t CH0_VS_INT_EN : 1; + uint32_t CH0_TRIG_INT_EN : 1; + uint32_t CH0_DROP_INT_EN : 1; + uint32_t CH0_SIZE_ERROR_INT_EN : 1; + uint32_t CH1_VS_INT_EN : 1; + uint32_t CH1_TRIG_INT_EN : 1; + uint32_t CH1_DROP_INT_EN : 1; + uint32_t CH1_SIZE_ERROR_INT_EN : 1; + uint32_t CH2_VS_INT_EN : 1; + uint32_t CH2_TRIG_INT_EN : 1; + uint32_t CH2_DROP_INT_EN : 1; + uint32_t CH2_SIZE_ERROR_INT_EN : 1; + uint32_t CH3_VS_INT_EN : 1; + uint32_t CH3_TRIG_INT_EN : 1; + uint32_t CH3_DROP_INT_EN : 1; + uint32_t CH3_SIZE_ERROR_INT_EN : 1; + uint32_t _rsv_16 : 12; + uint32_t SLICE_LINE_INTP_EN : 1; + uint32_t DMA_ERROR_INTP_EN : 1; + uint32_t LINE_INTP_EN : 1; + uint32_t FIFO_OVERFLOW_INT_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DMA_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DMA_ST_DPCM_MODE : 3; + uint32_t _rsv_3 : 1; + uint32_t DPCM_MIPI_OPT : 1; + uint32_t _rsv_5 : 3; + uint32_t DROP_MODE : 4; + uint32_t AVG_MODE : 4; + uint32_t DPCM_XSTR : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DMA_LD_DPCM_MODE { + uint32_t raw; + struct { + uint32_t DMA_LD_DPCM_MODE : 3; + uint32_t _rsv_3 : 13; + uint32_t DPCM_RX_XSTR : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_SIZE { + uint32_t raw; + struct { + uint32_t CH0_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_SIZE { + uint32_t raw; + struct { + uint32_t CH1_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_SIZE { + uint32_t raw; + struct { + uint32_t CH2_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_SIZE { + uint32_t raw; + struct { + uint32_t CH3_FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_CROP_EN { + uint32_t raw; + struct { + uint32_t CH0_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH0_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH0_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH0_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_BLC_SUM { + uint32_t raw; + struct { + uint32_t CH0_BLC_SUM : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_CROP_EN { + uint32_t raw; + struct { + uint32_t CH1_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH1_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH1_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_BLC_SUM { + uint32_t raw; + struct { + uint32_t CH1_BLC_SUM : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_CROP_EN { + uint32_t raw; + struct { + uint32_t CH2_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH2_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH2_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH2_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_BLC_SUM { + uint32_t raw; + struct { + uint32_t CH2_BLC_SUM : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_CROP_EN { + uint32_t raw; + struct { + uint32_t CH3_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_HORZ_CROP { + uint32_t raw; + struct { + uint32_t CH3_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_VERT_CROP { + uint32_t raw; + struct { + uint32_t CH3_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_BLC_SUM { + uint32_t raw; + struct { + uint32_t CH3_BLC_SUM : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_PAT_GEN_CTRL { + uint32_t raw; + struct { + uint32_t PAT_EN : 1; + uint32_t GRA_INV : 1; + uint32_t AUTO_EN : 1; + uint32_t DITH_EN : 1; + uint32_t SNOW_EN : 1; + uint32_t FIX_MC : 1; + uint32_t _rsv_6 : 2; + uint32_t DITH_MD : 3; + uint32_t _rsv_11 : 1; + uint32_t BAYER_ID : 2; + } bits; +}; + +union REG_ISP_CSI_BDG_PAT_IDX_CTRL { + uint32_t raw; + struct { + uint32_t PAT_PRD : 8; + uint32_t PAT_IDX : 5; + } bits; +}; + +union REG_ISP_CSI_BDG_PAT_COLOR_0 { + uint32_t raw; + struct { + uint32_t PAT_R : 12; + uint32_t _rsv_12 : 4; + uint32_t PAT_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_PAT_COLOR_1 { + uint32_t raw; + struct { + uint32_t PAT_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_BACKGROUND_COLOR_0 { + uint32_t raw; + struct { + uint32_t FDE_R : 12; + uint32_t _rsv_12 : 4; + uint32_t FDE_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_BACKGROUND_COLOR_1 { + uint32_t raw; + struct { + uint32_t FDE_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_FIX_COLOR_0 { + uint32_t raw; + struct { + uint32_t MDE_R : 12; + uint32_t _rsv_12 : 4; + uint32_t MDE_G : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_FIX_COLOR_1 { + uint32_t raw; + struct { + uint32_t MDE_B : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_MDE_V_SIZE { + uint32_t raw; + struct { + uint32_t VMDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VMDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_MDE_H_SIZE { + uint32_t raw; + struct { + uint32_t HMDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HMDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_FDE_V_SIZE { + uint32_t raw; + struct { + uint32_t VFDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VFDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_FDE_H_SIZE { + uint32_t raw; + struct { + uint32_t HFDE_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HFDE_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_HSYNC_CTRL { + uint32_t raw; + struct { + uint32_t HS_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t HS_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_VSYNC_CTRL { + uint32_t raw; + struct { + uint32_t VS_STR : 13; + uint32_t _rsv_13 : 3; + uint32_t VS_STP : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_TGEN_TT_SIZE { + uint32_t raw; + struct { + uint32_t HTT : 13; + uint32_t _rsv_13 : 3; + uint32_t VTT : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_LINE_INTP_HEIGHT_0 { + uint32_t raw; + struct { + uint32_t CH0_LINE_INTP_HEIGHTM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH0_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH0_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH0_VS_CNT : 16; + uint32_t CH0_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH0_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH0_TOT_BLK_IDLE : 1; + uint32_t CH0_TOT_DMA_IDLE : 1; + uint32_t CH0_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH1_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH1_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH1_VS_CNT : 16; + uint32_t CH1_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH1_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH1_TOT_BLK_IDLE : 1; + uint32_t CH1_TOT_DMA_IDLE : 1; + uint32_t CH1_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH2_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH2_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH2_VS_CNT : 16; + uint32_t CH2_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH2_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH2_TOT_BLK_IDLE : 1; + uint32_t CH2_TOT_DMA_IDLE : 1; + uint32_t CH2_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_DEBUG_0 { + uint32_t raw; + struct { + uint32_t CH3_PXL_CNT : 32; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_DEBUG_1 { + uint32_t raw; + struct { + uint32_t CH3_LINE_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_DEBUG_2 { + uint32_t raw; + struct { + uint32_t CH3_VS_CNT : 16; + uint32_t CH3_TRIG_CNT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_CH3_DEBUG_3 { + uint32_t raw; + struct { + uint32_t CH3_TOT_BLK_IDLE : 1; + uint32_t CH3_TOT_DMA_IDLE : 1; + uint32_t CH3_BDG_DMA_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_INTERRUPT_STATUS_0 { + uint32_t raw; + struct { + uint32_t CH0_FRAME_DROP_INT : 1; + uint32_t CH0_VS_INT : 1; + uint32_t CH0_TRIG_INT : 1; + uint32_t _rsv_3 : 1; + uint32_t CH0_FRAME_WIDTH_GT_INT : 1; + uint32_t CH0_FRAME_WIDTH_LS_INT : 1; + uint32_t CH0_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH0_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH1_FRAME_DROP_INT : 1; + uint32_t CH1_VS_INT : 1; + uint32_t CH1_TRIG_INT : 1; + uint32_t _rsv_11 : 1; + uint32_t CH1_FRAME_WIDTH_GT_INT : 1; + uint32_t CH1_FRAME_WIDTH_LS_INT : 1; + uint32_t CH1_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH1_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH2_FRAME_DROP_INT : 1; + uint32_t CH2_VS_INT : 1; + uint32_t CH2_TRIG_INT : 1; + uint32_t _rsv_19 : 1; + uint32_t CH2_FRAME_WIDTH_GT_INT : 1; + uint32_t CH2_FRAME_WIDTH_LS_INT : 1; + uint32_t CH2_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH2_FRAME_HEIGHT_LS_INT : 1; + uint32_t CH3_FRAME_DROP_INT : 1; + uint32_t CH3_VS_INT : 1; + uint32_t CH3_TRIG_INT : 1; + uint32_t _rsv_27 : 1; + uint32_t CH3_FRAME_WIDTH_GT_INT : 1; + uint32_t CH3_FRAME_WIDTH_LS_INT : 1; + uint32_t CH3_FRAME_HEIGHT_GT_INT : 1; + uint32_t CH3_FRAME_HEIGHT_LS_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_INTERRUPT_STATUS_1 { + uint32_t raw; + struct { + uint32_t FIFO_OVERFLOW_INT : 1; + uint32_t FRAME_RESOLUTION_OVER_MAX_INT : 1; + uint32_t _rsv_2 : 2; + uint32_t DMA_ERROR_INT : 1; + uint32_t _rsv_5 : 3; + uint32_t CH0_LINE_INTP_INT : 1; + uint32_t CH1_LINE_INTP_INT : 1; + uint32_t CH2_LINE_INTP_INT : 1; + uint32_t CH3_LINE_INTP_INT : 1; + uint32_t CH0_SLICE_LINE_INTP_INT : 1; + uint32_t CH1_SLICE_LINE_INTP_INT : 1; + uint32_t CH2_SLICE_LINE_INTP_INT : 1; + uint32_t CH3_SLICE_LINE_INTP_INT : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_DEBUG { + uint32_t raw; + struct { + uint32_t RING_BUFF_IDLE : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_OUT_VSYNC_LINE_DELAY { + uint32_t raw; + struct { + uint32_t OUT_VSYNC_LINE_DELAY : 12; + } bits; +}; + +union REG_ISP_CSI_BDG_WR_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t WR_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t WR_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_RD_URGENT_CTRL { + uint32_t raw; + struct { + uint32_t RD_NEAR_OVERFLOW_THRESHOLD : 13; + uint32_t _rsv_13 : 3; + uint32_t RD_SAFE_THRESHOLD : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_DUMMY { + uint32_t raw; + struct { + uint32_t DUMMY_IN : 16; + uint32_t DUMMY_OUT : 16; + } bits; +}; + +union REG_ISP_CSI_BDG_LINE_INTP_HEIGHT_1 { + uint32_t raw; + struct { + uint32_t CH2_LINE_INTP_HEIGHTM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_SLICE_LINE_INTP_HEIGHT_0 { + uint32_t raw; + struct { + uint32_t CH0_SLICE_LINE_INTP_HEIGHTM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH1_SLICE_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_SLICE_LINE_INTP_HEIGHT_1 { + uint32_t raw; + struct { + uint32_t CH2_SLICE_LINE_INTP_HEIGHTM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CH3_SLICE_LINE_INTP_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH0_CROP_EN { + uint32_t raw; + struct { + uint32_t ST_CH0_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH0_HORZ_CROP { + uint32_t raw; + struct { + uint32_t ST_CH0_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH0_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH0_VERT_CROP { + uint32_t raw; + struct { + uint32_t ST_CH0_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH0_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH1_CROP_EN { + uint32_t raw; + struct { + uint32_t ST_CH1_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH1_HORZ_CROP { + uint32_t raw; + struct { + uint32_t ST_CH1_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH1_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH1_VERT_CROP { + uint32_t raw; + struct { + uint32_t ST_CH1_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH1_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH2_CROP_EN { + uint32_t raw; + struct { + uint32_t ST_CH2_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH2_HORZ_CROP { + uint32_t raw; + struct { + uint32_t ST_CH2_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH2_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH2_VERT_CROP { + uint32_t raw; + struct { + uint32_t ST_CH2_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH2_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH3_CROP_EN { + uint32_t raw; + struct { + uint32_t ST_CH3_CROP_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH3_HORZ_CROP { + uint32_t raw; + struct { + uint32_t ST_CH3_HORZ_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH3_HORZ_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_WDMA_CH3_VERT_CROP { + uint32_t raw; + struct { + uint32_t ST_CH3_VERT_CROP_START : 13; + uint32_t _rsv_13 : 3; + uint32_t ST_CH3_VERT_CROP_END : 13; + } bits; +}; + +union REG_ISP_CSI_BDG_TRIG_DLY_CONTROL_0 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_EN : 1; + } bits; +}; + +union REG_ISP_CSI_BDG_TRIG_DLY_CONTROL_1 { + uint32_t raw; + struct { + uint32_t TRIG_DLY_VALUE : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_LCAC_REG00 { + uint32_t raw; + struct { + uint32_t LCAC_ENABLE : 1; + uint32_t LCAC_SHDW_SEL : 1; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t LCAC_OUT_SEL : 3; + } bits; +}; + +union REG_ISP_LCAC_REG04 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_STR_R1 : 12; + uint32_t _rsv_12 : 4; + uint32_t LCAC_LTI_STR_B1 : 12; + } bits; +}; + +union REG_ISP_LCAC_REG08 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_STR_R2_LE : 7; + uint32_t _rsv_7 : 1; + uint32_t LCAC_LTI_STR_B2_LE : 7; + uint32_t _rsv_15 : 1; + uint32_t LCAC_LTI_WGT_R_LE : 7; + uint32_t _rsv_23 : 1; + uint32_t LCAC_LTI_WGT_B_LE : 7; + } bits; +}; + +union REG_ISP_LCAC_REG0C { + uint32_t raw; + struct { + uint32_t LCAC_LTI_STR_R2_SE : 7; + uint32_t _rsv_7 : 1; + uint32_t LCAC_LTI_STR_B2_SE : 7; + uint32_t _rsv_15 : 1; + uint32_t LCAC_LTI_WGT_R_SE : 7; + uint32_t _rsv_23 : 1; + uint32_t LCAC_LTI_WGT_B_SE : 7; + } bits; +}; + +union REG_ISP_LCAC_REG10 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_KERNEL_R0 : 10; + uint32_t _rsv_10 : 6; + uint32_t LCAC_LTI_KERNEL_R1 : 10; + } bits; +}; + +union REG_ISP_LCAC_REG14 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_KERNEL_R2 : 10; + uint32_t _rsv_10 : 6; + uint32_t LCAC_LTI_KERNEL_B0 : 10; + } bits; +}; + +union REG_ISP_LCAC_REG18 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_KERNEL_B1 : 10; + uint32_t _rsv_10 : 6; + uint32_t LCAC_LTI_KERNEL_B2 : 10; + } bits; +}; + +union REG_ISP_LCAC_REG1C { + uint32_t raw; + struct { + uint32_t LCAC_LTI_EDGE_SCALE_R_LE : 6; + uint32_t _rsv_6 : 2; + uint32_t LCAC_LTI_EDGE_SCALE_G_LE : 6; + uint32_t _rsv_14 : 2; + uint32_t LCAC_LTI_EDGE_SCALE_B_LE : 6; + } bits; +}; + +union REG_ISP_LCAC_REG20 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_EDGE_SCALE_R_SE : 6; + uint32_t _rsv_6 : 2; + uint32_t LCAC_LTI_EDGE_SCALE_G_SE : 6; + uint32_t _rsv_14 : 2; + uint32_t LCAC_LTI_EDGE_SCALE_B_SE : 6; + } bits; +}; + +union REG_ISP_LCAC_REG24 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_EDGE_CORING_R : 8; + uint32_t LCAC_LTI_EDGE_CORING_G : 8; + uint32_t LCAC_LTI_EDGE_CORING_B : 8; + } bits; +}; + +union REG_ISP_LCAC_REG28 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_WGT_MAX_R : 8; + uint32_t LCAC_LTI_WGT_MIN_R : 8; + uint32_t LCAC_LTI_WGT_MAX_B : 8; + uint32_t LCAC_LTI_WGT_MIN_B : 8; + } bits; +}; + +union REG_ISP_LCAC_REG2C { + uint32_t raw; + struct { + uint32_t LCAC_LTI_VAR_WGT_R : 5; + uint32_t _rsv_5 : 3; + uint32_t LCAC_LTI_VAR_WGT_B : 5; + uint32_t _rsv_13 : 3; + uint32_t LCAC_FILTER_SCALE : 4; + uint32_t _rsv_20 : 4; + uint32_t LCAC_FCF_LUMA_BLEND_WGT : 7; + } bits; +}; + +union REG_ISP_LCAC_REG30 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_EDGE_SCALE_R_LE : 6; + uint32_t _rsv_6 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_G_LE : 6; + uint32_t _rsv_14 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_B_LE : 6; + uint32_t _rsv_22 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_Y_LE : 6; + } bits; +}; + +union REG_ISP_LCAC_REG34 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_EDGE_SCALE_R_SE : 6; + uint32_t _rsv_6 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_G_SE : 6; + uint32_t _rsv_14 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_B_SE : 6; + uint32_t _rsv_22 : 2; + uint32_t LCAC_FCF_EDGE_SCALE_Y_SE : 6; + } bits; +}; + +union REG_ISP_LCAC_REG38 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_EDGE_CORING_R : 8; + uint32_t LCAC_FCF_EDGE_CORING_G : 8; + uint32_t LCAC_FCF_EDGE_CORING_B : 8; + uint32_t LCAC_FCF_EDGE_CORING_Y : 8; + } bits; +}; + +union REG_ISP_LCAC_REG3C { + uint32_t raw; + struct { + uint32_t LCAC_FCF_WGT_MAX_R : 8; + uint32_t LCAC_FCF_WGT_MIN_R : 8; + uint32_t LCAC_FCF_WGT_MAX_B : 8; + uint32_t LCAC_FCF_WGT_MIN_B : 8; + } bits; +}; + +union REG_ISP_LCAC_REG40 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_VAR_WGT_R : 5; + uint32_t _rsv_5 : 3; + uint32_t LCAC_FCF_VAR_WGT_G : 5; + uint32_t _rsv_13 : 3; + uint32_t LCAC_FCF_VAR_WGT_B : 5; + } bits; +}; + +union REG_ISP_LCAC_REG44 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_FILTER_KERNEL_00 : 7; + uint32_t _rsv_7 : 1; + uint32_t LCAC_FCF_FILTER_KERNEL_01 : 7; + uint32_t _rsv_15 : 1; + uint32_t LCAC_FCF_FILTER_KERNEL_02 : 7; + uint32_t _rsv_23 : 1; + uint32_t LCAC_FCF_FILTER_KERNEL_03 : 7; + } bits; +}; + +union REG_ISP_LCAC_REG48 { + uint32_t raw; + struct { + uint32_t LCAC_LUMA_KERNEL_00 : 7; + uint32_t _rsv_7 : 1; + uint32_t LCAC_LUMA_KERNEL_01 : 7; + uint32_t _rsv_15 : 1; + uint32_t LCAC_LUMA_KERNEL_02 : 7; + uint32_t _rsv_23 : 1; + uint32_t LCAC_LUMA_KERNEL_03 : 7; + } bits; +}; + +union REG_ISP_LCAC_REG4C { + uint32_t raw; + struct { + uint32_t LCAC_FCF_FILTER_KERNEL_04 : 7; + uint32_t _rsv_7 : 1; + uint32_t LCAC_LUMA_KERNEL_04 : 7; + } bits; +}; + +union REG_ISP_LCAC_REG50 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_00 : 8; + uint32_t LCAC_LTI_LUMA_LUT_01 : 8; + uint32_t LCAC_LTI_LUMA_LUT_02 : 8; + uint32_t LCAC_LTI_LUMA_LUT_03 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG54 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_04 : 8; + uint32_t LCAC_LTI_LUMA_LUT_05 : 8; + uint32_t LCAC_LTI_LUMA_LUT_06 : 8; + uint32_t LCAC_LTI_LUMA_LUT_07 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG58 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_08 : 8; + uint32_t LCAC_LTI_LUMA_LUT_09 : 8; + uint32_t LCAC_LTI_LUMA_LUT_10 : 8; + uint32_t LCAC_LTI_LUMA_LUT_11 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG5C { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_12 : 8; + uint32_t LCAC_LTI_LUMA_LUT_13 : 8; + uint32_t LCAC_LTI_LUMA_LUT_14 : 8; + uint32_t LCAC_LTI_LUMA_LUT_15 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG60 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_16 : 8; + uint32_t LCAC_LTI_LUMA_LUT_17 : 8; + uint32_t LCAC_LTI_LUMA_LUT_18 : 8; + uint32_t LCAC_LTI_LUMA_LUT_19 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG64 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_20 : 8; + uint32_t LCAC_LTI_LUMA_LUT_21 : 8; + uint32_t LCAC_LTI_LUMA_LUT_22 : 8; + uint32_t LCAC_LTI_LUMA_LUT_23 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG68 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_24 : 8; + uint32_t LCAC_LTI_LUMA_LUT_25 : 8; + uint32_t LCAC_LTI_LUMA_LUT_26 : 8; + uint32_t LCAC_LTI_LUMA_LUT_27 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG6C { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_28 : 8; + uint32_t LCAC_LTI_LUMA_LUT_29 : 8; + uint32_t LCAC_LTI_LUMA_LUT_30 : 8; + uint32_t LCAC_LTI_LUMA_LUT_31 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG70 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_00 : 8; + uint32_t LCAC_FCF_LUMA_LUT_01 : 8; + uint32_t LCAC_FCF_LUMA_LUT_02 : 8; + uint32_t LCAC_FCF_LUMA_LUT_03 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG74 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_04 : 8; + uint32_t LCAC_FCF_LUMA_LUT_05 : 8; + uint32_t LCAC_FCF_LUMA_LUT_06 : 8; + uint32_t LCAC_FCF_LUMA_LUT_07 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG78 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_08 : 8; + uint32_t LCAC_FCF_LUMA_LUT_09 : 8; + uint32_t LCAC_FCF_LUMA_LUT_10 : 8; + uint32_t LCAC_FCF_LUMA_LUT_11 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG7C { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_12 : 8; + uint32_t LCAC_FCF_LUMA_LUT_13 : 8; + uint32_t LCAC_FCF_LUMA_LUT_14 : 8; + uint32_t LCAC_FCF_LUMA_LUT_15 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG80 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_16 : 8; + uint32_t LCAC_FCF_LUMA_LUT_17 : 8; + uint32_t LCAC_FCF_LUMA_LUT_18 : 8; + uint32_t LCAC_FCF_LUMA_LUT_19 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG84 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_20 : 8; + uint32_t LCAC_FCF_LUMA_LUT_21 : 8; + uint32_t LCAC_FCF_LUMA_LUT_22 : 8; + uint32_t LCAC_FCF_LUMA_LUT_23 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG88 { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_24 : 8; + uint32_t LCAC_FCF_LUMA_LUT_25 : 8; + uint32_t LCAC_FCF_LUMA_LUT_26 : 8; + uint32_t LCAC_FCF_LUMA_LUT_27 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG8C { + uint32_t raw; + struct { + uint32_t LCAC_FCF_LUMA_LUT_28 : 8; + uint32_t LCAC_FCF_LUMA_LUT_29 : 8; + uint32_t LCAC_FCF_LUMA_LUT_30 : 8; + uint32_t LCAC_FCF_LUMA_LUT_31 : 8; + } bits; +}; + +union REG_ISP_LCAC_REG90 { + uint32_t raw; + struct { + uint32_t LCAC_LTI_LUMA_LUT_32 : 8; + uint32_t _rsv_8 : 8; + uint32_t LCAC_FCF_LUMA_LUT_32 : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_CFA_00 { + uint32_t raw; + struct { + uint32_t CFA_SHDW_SEL : 1; + uint32_t CFA_ENABLE : 1; + uint32_t _rsv_2 : 1; + uint32_t CFA_YMOIRE_ENABLE : 1; + uint32_t DELAY : 1; + uint32_t FORCE_CLK_ENABLE : 1; + uint32_t CFA_FORCE_DIR_ENABLE : 1; + uint32_t _rsv_7 : 1; + uint32_t CFA_FORCE_DIR_SEL : 2; + } bits; +}; + +union REG_ISP_CFA_04 { + uint32_t raw; + struct { + uint32_t CFA_OUT_SEL : 1; + uint32_t CONT_EN : 1; + uint32_t _rsv_2 : 1; + uint32_t SOFTRST : 1; + uint32_t _rsv_4 : 1; + uint32_t DBG_EN : 1; + uint32_t _rsv_6 : 10; + uint32_t CFA_EDGEE_THD2 : 12; + } bits; +}; + +union REG_ISP_CFA_0C { + uint32_t raw; + struct { + uint32_t CFA_EDGEE_THD : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_SIGE_THD : 12; + } bits; +}; + +union REG_ISP_CFA_10 { + uint32_t raw; + struct { + uint32_t CFA_GSIG_TOL : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_RBSIG_TOL : 12; + } bits; +}; + +union REG_ISP_CFA_14 { + uint32_t raw; + struct { + uint32_t CFA_EDGE_TOL : 12; + } bits; +}; + +union REG_ISP_CFA_18 { + uint32_t raw; + struct { + uint32_t CFA_GHP_THD : 16; + } bits; +}; + +union REG_ISP_CFA_1C { + uint32_t raw; + struct { + uint32_t CFA_RB_VT_ENABLE : 1; + } bits; +}; + +union REG_ISP_CFA_20 { + uint32_t raw; + struct { + uint32_t CFA_RBSIG_LUMA_THD : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_VW_THD : 12; + } bits; +}; + +union REG_ISP_CFA_30 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT00 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT01 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT02 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT03 : 6; + } bits; +}; + +union REG_ISP_CFA_34 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT04 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT05 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT06 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT07 : 6; + } bits; +}; + +union REG_ISP_CFA_38 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT08 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT09 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT10 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT11 : 6; + } bits; +}; + +union REG_ISP_CFA_3C { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT12 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT13 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT14 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT15 : 6; + } bits; +}; + +union REG_ISP_CFA_40 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT16 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT17 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT18 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT19 : 6; + } bits; +}; + +union REG_ISP_CFA_44 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT20 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT21 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT22 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT23 : 6; + } bits; +}; + +union REG_ISP_CFA_48 { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT24 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT25 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT26 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT27 : 6; + } bits; +}; + +union REG_ISP_CFA_4C { + uint32_t raw; + struct { + uint32_t CFA_GHP_LUT28 : 6; + uint32_t _rsv_6 : 2; + uint32_t CFA_GHP_LUT29 : 6; + uint32_t _rsv_14 : 2; + uint32_t CFA_GHP_LUT30 : 6; + uint32_t _rsv_22 : 2; + uint32_t CFA_GHP_LUT31 : 6; + } bits; +}; + +union REG_ISP_CFA_70 { + uint32_t raw; + struct { + uint32_t DIR_READCNT_FROM_LINE0 : 5; + } bits; +}; + +union REG_ISP_CFA_74 { + uint32_t raw; + struct { + uint32_t PROB_OUT_SEL : 4; + uint32_t PROB_PERFMT : 1; + uint32_t _rsv_5 : 3; + uint32_t PROB_FMT : 6; + } bits; +}; + +union REG_ISP_CFA_78 { + uint32_t raw; + struct { + uint32_t PROB_LINE : 12; + uint32_t _rsv_12 : 4; + uint32_t PROB_PIX : 12; + } bits; +}; + +union REG_ISP_CFA_7C { + uint32_t raw; + struct { + uint32_t CFA_DBG0 : 32; + } bits; +}; + +union REG_ISP_CFA_80 { + uint32_t raw; + struct { + uint32_t CFA_DBG1 : 32; + } bits; +}; + +union REG_ISP_CFA_90 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_REF_MAXG_ONLY : 1; + uint32_t _rsv_1 : 7; + uint32_t CFA_YMOIRE_NP : 8; + } bits; +}; + +union REG_ISP_CFA_94 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_DETAIL_TH : 8; + uint32_t CFA_YMOIRE_DETAIL_LOW : 9; + } bits; +}; + +union REG_ISP_CFA_98 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_DETAIL_HIGH : 9; + uint32_t _rsv_9 : 7; + uint32_t CFA_YMOIRE_DETAIL_SLOPE : 15; + } bits; +}; + +union REG_ISP_CFA_9C { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_EDGE_TH : 8; + uint32_t CFA_YMOIRE_EDGE_LOW : 9; + } bits; +}; + +union REG_ISP_CFA_A0 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_EDGE_HIGH : 9; + uint32_t _rsv_9 : 7; + uint32_t CFA_YMOIRE_EDGE_SLOPE : 15; + } bits; +}; + +union REG_ISP_CFA_A4 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_LUT_TH : 10; + uint32_t _rsv_10 : 6; + uint32_t CFA_YMOIRE_LUT_LOW : 9; + } bits; +}; + +union REG_ISP_CFA_A8 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_LUT_HIGH : 9; + uint32_t _rsv_9 : 7; + uint32_t CFA_YMOIRE_LUT_SLOPE : 15; + } bits; +}; + +union REG_ISP_CFA_110 { + uint32_t raw; + struct { + uint32_t CFA_YMOIRE_LPF_W : 8; + uint32_t CFA_YMOIRE_DC_W : 8; + } bits; +}; + +union REG_ISP_CFA_120 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_ENABLE : 1; + uint32_t _rsv_1 : 7; + uint32_t CFA_CMOIRE_STRTH : 8; + } bits; +}; + +union REG_ISP_CFA_124 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_SAT_X0 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_SAT_Y0 : 12; + } bits; +}; + +union REG_ISP_CFA_128 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_SAT_SLP0 : 18; + } bits; +}; + +union REG_ISP_CFA_12C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_SAT_X1 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_SAT_Y1 : 12; + } bits; +}; + +union REG_ISP_CFA_130 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PTCLR_X0 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_PTCLR_Y0 : 12; + } bits; +}; + +union REG_ISP_CFA_134 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PTCLR_SLP0 : 18; + } bits; +}; + +union REG_ISP_CFA_138 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PTCLR_X1 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_PTCLR_Y1 : 12; + } bits; +}; + +union REG_ISP_CFA_13C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PROTCLR1_ENABLE : 1; + uint32_t CFA_CMOIRE_PROTCLR2_ENABLE : 1; + uint32_t CFA_CMOIRE_PROTCLR3_ENABLE : 1; + } bits; +}; + +union REG_ISP_CFA_140 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PROTCLR1 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_PROTCLR2 : 12; + } bits; +}; + +union REG_ISP_CFA_144 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PROTCLR3 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_PD_X0 : 12; + } bits; +}; + +union REG_ISP_CFA_148 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PD_Y0 : 12; + } bits; +}; + +union REG_ISP_CFA_14C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PD_SLP0 : 18; + } bits; +}; + +union REG_ISP_CFA_150 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_PD_X1 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_PD_Y1 : 12; + } bits; +}; + +union REG_ISP_CFA_154 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_X0 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_EDGE_Y0 : 12; + } bits; +}; + +union REG_ISP_CFA_158 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_SLP0 : 18; + } bits; +}; + +union REG_ISP_CFA_15C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_X1 : 12; + uint32_t _rsv_12 : 4; + uint32_t CFA_CMOIRE_EDGE_Y1 : 12; + } bits; +}; + +union REG_ISP_CFA_160 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_LUMAGAIN_ENABLE : 1; + } bits; +}; + +union REG_ISP_CFA_164 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_LUMATG : 12; + } bits; +}; + +union REG_ISP_CFA_168 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D0C0 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D0C1 : 13; + } bits; +}; + +union REG_ISP_CFA_16C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D0C2 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D45C0 : 13; + } bits; +}; + +union REG_ISP_CFA_170 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D45C1 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D45C2 : 13; + } bits; +}; + +union REG_ISP_CFA_174 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D45C3 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D45C4 : 13; + } bits; +}; + +union REG_ISP_CFA_178 { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D45C5 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D45C6 : 13; + } bits; +}; + +union REG_ISP_CFA_17C { + uint32_t raw; + struct { + uint32_t CFA_CMOIRE_EDGE_D45C7 : 13; + uint32_t _rsv_13 : 3; + uint32_t CFA_CMOIRE_EDGE_D45C8 : 13; + } bits; +}; + +union REG_ISP_CFA_180 { + uint32_t raw; + struct { + uint32_t _CFA_SHPN_ENABLE : 1; + uint32_t _CFA_SHPN_PRE_PROC_ENABLE : 1; + uint32_t _rsv_2 : 6; + uint32_t _CFA_SHPN_MIN_Y : 12; + } bits; +}; + +union REG_ISP_CFA_184 { + uint32_t raw; + struct { + uint32_t _CFA_SHPN_MIN_GAIN : 12; + uint32_t _rsv_12 : 4; + uint32_t _CFA_SHPN_MAX_GAIN : 12; + } bits; +}; + +union REG_ISP_CFA_188 { + uint32_t raw; + struct { + uint32_t CFA_SHPN_MF_CORE_GAIN : 8; + uint32_t CFA_SHPN_HF_BLEND_WGT : 8; + uint32_t CFA_SHPN_MF_BLEND_WGT : 8; + } bits; +}; + +union REG_ISP_CFA_18C { + uint32_t raw; + struct { + uint32_t CFA_SHPN_CORE_VALUE : 12; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_PRE_RAW_VI_SEL_0 { + uint32_t raw; + struct { + uint32_t RING_BUFF_RESET : 1; + uint32_t RING_BUFF_MONITOR_EN : 1; + uint32_t DMA_LD_DPCM_MODE : 3; + uint32_t _rsv_5 : 11; + uint32_t DPCM_RX_XSTR : 13; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_1 { + uint32_t raw; + struct { + uint32_t FRAME_WIDTHM1 : 13; + uint32_t _rsv_13 : 3; + uint32_t FRAME_HEIGHTM1 : 13; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_2 { + uint32_t raw; + struct { + uint32_t RING_BUFF_THRESHOLD_0 : 16; + uint32_t RING_BUFF_THRESHOLD_1 : 16; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_3 { + uint32_t raw; + struct { + uint32_t RING_BUFF_THRESHOLD_2 : 16; + uint32_t RING_BUFF_THRESHOLD_3 : 16; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_4 { + uint32_t raw; + struct { + uint32_t RING_BUFF_ABOVE_TH_0 : 32; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_5 { + uint32_t raw; + struct { + uint32_t RING_BUFF_ABOVE_TH_1 : 32; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_6 { + uint32_t raw; + struct { + uint32_t RING_BUFF_ABOVE_TH_2 : 32; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_7 { + uint32_t raw; + struct { + uint32_t RING_BUFF_ABOVE_TH_3 : 32; + } bits; +}; + +union REG_PRE_RAW_VI_SEL_8 { + uint32_t raw; + struct { + uint32_t IP_DMA_IDLE : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_YUV_TOP_YUV_0 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 8; + uint32_t YUV_TOP_SEL : 1; + } bits; +}; + +union REG_YUV_TOP_YUV_2 { + uint32_t raw; + struct { + uint32_t FD_INT : 1; + uint32_t DMA_INT : 1; + uint32_t FRAME_OVERFLOW : 1; + } bits; +}; + +union REG_YUV_TOP_YUV_3 { + uint32_t raw; + struct { + uint32_t _rsv_0 : 2; + uint32_t YONLY_EN : 1; + } bits; +}; + +union REG_YUV_TOP_YUV_DEBUG_0 { + uint32_t raw; + struct { + uint32_t DEBUG_BUS : 32; + } bits; +}; + +union REG_YUV_TOP_YUV_4 { + uint32_t raw; + struct { + uint32_t DUMMY : 32; + } bits; +}; + +union REG_YUV_TOP_YUV_DEBUG_STATE { + uint32_t raw; + struct { + uint32_t MA_IDLE : 16; + uint32_t _rsv_16 : 15; + uint32_t IDLE : 1; + } bits; +}; + +union REG_YUV_TOP_YUV_5 { + uint32_t raw; + struct { + uint32_t DIS_UV2DRAM : 1; + uint32_t LINE_THRES_EN : 1; + uint32_t _rsv_2 : 6; + uint32_t LINE_THRES : 12; + uint32_t _rsv_20 : 4; + uint32_t PG2_ENABLE : 1; + } bits; +}; + +union REG_YUV_TOP_YUV_CTRL { + uint32_t raw; + struct { + uint32_t CHECKSUM_ENABLE : 1; + uint32_t SC_DMA_SWITCH : 1; + uint32_t AVG_MODE : 1; + uint32_t BYPASS_H : 1; + uint32_t BYPASS_V : 1; + uint32_t DROP_MODE : 1; + uint32_t YC_SWAP : 1; + uint32_t CURSER2_EN : 1; + uint32_t GUARD_CNT : 8; + } bits; +}; + +union REG_YUV_TOP_IMGW_M1 { + uint32_t raw; + struct { + uint32_t YUV_TOP_IMGW_M1 : 13; + uint32_t _rsv_13 : 3; + uint32_t YUV_TOP_IMGH_M1 : 13; + } bits; +}; + +union REG_YUV_TOP_STVALID_STATUS { + uint32_t raw; + struct { + uint32_t STVALID_STATUS : 32; + } bits; +}; + +union REG_YUV_TOP_STREADY_STATUS { + uint32_t raw; + struct { + uint32_t STREADY_STATUS : 32; + } bits; +}; + +union REG_YUV_TOP_PATGEN1 { + uint32_t raw; + struct { + uint32_t X_CURSER : 14; + uint32_t _rsv_14 : 2; + uint32_t Y_CURSER : 14; + uint32_t CURSER_EN : 1; + uint32_t PG_ENABLE : 1; + } bits; +}; + +union REG_YUV_TOP_PATGEN2 { + uint32_t raw; + struct { + uint32_t CURSER_VALUE : 16; + } bits; +}; + +union REG_YUV_TOP_PATGEN3 { + uint32_t raw; + struct { + uint32_t VALUE_REPORT : 32; + } bits; +}; + +union REG_YUV_TOP_PATGEN4 { + uint32_t raw; + struct { + uint32_t XCNT_RPT : 14; + uint32_t _rsv_14 : 2; + uint32_t YCNT_RPT : 14; + } bits; +}; + +union REG_YUV_TOP_CHECK_SUM { + uint32_t raw; + struct { + uint32_t K_SUM : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_ISP_LSC_STATUS { + uint32_t raw; + struct { + uint32_t LSC_STATUS : 32; + } bits; +}; + +union REG_ISP_LSC_GRACE_RESET { + uint32_t raw; + struct { + uint32_t LSC_GRACE_RESET : 1; + } bits; +}; + +union REG_ISP_LSC_MONITOR { + uint32_t raw; + struct { + uint32_t LSC_MONITOR : 32; + } bits; +}; + +union REG_ISP_LSC_ENABLE { + uint32_t raw; + struct { + uint32_t LSC_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t LSC_GAIN_3P9_0_4P8_1 : 1; + uint32_t _rsv_5 : 3; + uint32_t LSC_GAIN_BICUBIC_0_BILINEAR_1 : 1; + uint32_t LSC_BOUNDARY_INTERPOLATION_MODE : 1; + uint32_t _rsv_10 : 2; + uint32_t LSC_RENORMALIZE_ENABLE : 1; + uint32_t _rsv_13 : 3; + uint32_t LSC_HDR_ENABLE : 1; + uint32_t _rsv_17 : 3; + uint32_t LSC_BLOCKING_GAIN_UPDATE_ENABLE : 1; + uint32_t _rsv_21 : 3; + uint32_t LSC_35TILE_ENABLE : 1; + uint32_t _rsv_25 : 3; + uint32_t FORCE_CLK_ENABLE : 1; + } bits; +}; + +union REG_ISP_LSC_KICKOFF { + uint32_t raw; + struct { + uint32_t LSC_KICKOFF : 1; + uint32_t _rsv_1 : 3; + uint32_t LSC_GAINMOVER_ENABLE : 1; + uint32_t _rsv_5 : 7; + uint32_t LSC_SHADOW_SELECT : 1; + } bits; +}; + +union REG_ISP_LSC_STRENGTH { + uint32_t raw; + struct { + uint32_t LSC_STRENGTH : 12; + } bits; +}; + +union REG_ISP_LSC_IMG_BAYERID { + uint32_t raw; + struct { + uint32_t IMG_BAYERID : 4; + uint32_t _rsv_4 : 12; + uint32_t FORCE_BAYER_ENABLE : 1; + } bits; +}; + +union REG_ISP_LSC_MONITOR_SELECT { + uint32_t raw; + struct { + uint32_t LSC_MONITOR_SELECT : 32; + } bits; +}; + +union REG_ISP_LSC_DMI_WIDTHM1 { + uint32_t raw; + struct { + uint32_t LSC_DMI_WIDTHM1 : 13; + } bits; +}; + +union REG_ISP_LSC_DMI_HEIGHTM1 { + uint32_t raw; + struct { + uint32_t LSC_DMI_HEIGHTM1 : 13; + } bits; +}; + +union REG_ISP_LSC_GAIN_BASE { + uint32_t raw; + struct { + uint32_t LSC_GAIN_BASE : 2; + } bits; +}; + +union REG_ISP_LSC_XSTEP { + uint32_t raw; + struct { + uint32_t LSC_XSTEP : 15; + } bits; +}; + +union REG_ISP_LSC_YSTEP { + uint32_t raw; + struct { + uint32_t LSC_YSTEP : 15; + } bits; +}; + +union REG_ISP_LSC_IMGX0 { + uint32_t raw; + struct { + uint32_t LSC_IMGX0 : 22; + } bits; +}; + +union REG_ISP_LSC_IMGY0 { + uint32_t raw; + struct { + uint32_t LSC_IMGY0 : 22; + } bits; +}; + +union REG_ISP_LSC_INITX0 { + uint32_t raw; + struct { + uint32_t LSC_INITX0 : 22; + } bits; +}; + +union REG_ISP_LSC_INITY0 { + uint32_t raw; + struct { + uint32_t LSC_INITY0 : 22; + } bits; +}; + +union REG_ISP_LSC_KERNEL_TABLE_WRITE { + uint32_t raw; + struct { + uint32_t LSC_KERNEL_TABLE_WRITE : 1; + } bits; +}; + +union REG_ISP_LSC_KERNEL_TABLE_DATA { + uint32_t raw; + struct { + uint32_t LSC_KERNEL_TABLE_DATA : 32; + } bits; +}; + +union REG_ISP_LSC_KERNEL_TABLE_CTRL { + uint32_t raw; + struct { + uint32_t LSC_KERNEL_TABLE_START : 1; + uint32_t _rsv_1 : 3; + uint32_t LSC_KERNEL_TABLE_W : 1; + uint32_t _rsv_5 : 3; + uint32_t LSC_KERNEL_TABLE_DONE : 1; + } bits; +}; + +union REG_ISP_LSC_DUMMY { + uint32_t raw; + struct { + uint32_t LSC_DUMMY : 16; + uint32_t LSC_DEBUG : 16; + } bits; +}; + +union REG_ISP_LSC_LOCATION { + uint32_t raw; + struct { + uint32_t LSC_LOCATION : 32; + } bits; +}; + +union REG_ISP_LSC_1ST_RUNHIT { + uint32_t raw; + struct { + uint32_t LSC_1ST_RUNHIT : 32; + } bits; +}; + +union REG_ISP_LSC_COMPARE_VALUE { + uint32_t raw; + struct { + uint32_t LSC_COMPARE_VALUE : 32; + } bits; +}; + +union REG_ISP_LSC_MEM_SW_MODE { + uint32_t raw; + struct { + uint32_t LSC_MEM_SW_MODE : 1; + uint32_t _rsv_1 : 4; + uint32_t LSC_CUBIC_KERNEL_MEM_SEL : 1; + } bits; +}; + +union REG_ISP_LSC_MEM_SW_RADDR { + uint32_t raw; + struct { + uint32_t LSC_SW_RADDR : 7; + } bits; +}; + +union REG_ISP_LSC_MEM_SW_RDATA { + uint32_t raw; + struct { + uint32_t LSC_RDATA : 31; + uint32_t LSC_SW_READ : 1; + } bits; +}; + +union REG_ISP_LSC_INTERPOLATION { + uint32_t raw; + struct { + uint32_t LSC_BOUNDARY_INTERPOLATION_LF_RANGE: 6; + uint32_t _rsv_6 : 2; + uint32_t LSC_BOUNDARY_INTERPOLATION_UP_RANGE: 6; + uint32_t _rsv_14 : 2; + uint32_t LSC_BOUNDARY_INTERPOLATION_RT_RANGE: 6; + uint32_t _rsv_22 : 2; + uint32_t LSC_BOUNDARY_INTERPOLATION_DN_RANGE: 6; + } bits; +}; + +union REG_ISP_LSC_DMI_ENABLE { + uint32_t raw; + struct { + uint32_t DMI_ENABLE : 1; + uint32_t _rsv_1 : 3; + uint32_t DMI_QOS : 1; + uint32_t _rsv_5 : 3; + uint32_t FORCE_DMA_DISABLE : 1; + uint32_t _rsv_9 : 3; + uint32_t DMI_PULL_AFTER_DONE : 1; + } bits; +}; + +union REG_ISP_LSC_BLD { + uint32_t raw; + struct { + uint32_t LSC_BLDRATIO_ENABLE : 1; + uint32_t _rsv_1 : 15; + uint32_t LSC_BLDRATIO : 9; + } bits; +}; + +union REG_ISP_LSC_INTP_GAIN_MAX { + uint32_t raw; + struct { + uint32_t LSC_INTP_GAIN_MAX : 26; + } bits; +}; + +union REG_ISP_LSC_INTP_GAIN_MIN { + uint32_t raw; + struct { + uint32_t LSC_INTP_GAIN_MIN : 26; + } bits; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* _VI_REG_FIELDS_H_ */ diff --git a/freertos/cvitek/install/include/driver/vi/vi_snsr.h b/freertos/cvitek/install/include/driver/vi/vi_snsr.h new file mode 100644 index 000000000..c586bd69e --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_snsr.h @@ -0,0 +1,164 @@ +#ifndef __U_VI_SNSR_H__ +#define __U_VI_SNSR_H__ + +//#include + +#define MAX_WDR_FRAME_NUM 2 +#define ISP_MAX_SNS_REGS 32 + +struct manual_wdr_attr_s { + unsigned int manual_en; + unsigned short l2s_distance; + unsigned short lsef_length; + unsigned int discard_padding_lines; + unsigned int update; +}; + +struct manual_wdr_s { + unsigned int devno; + struct manual_wdr_attr_s attr; +}; + +/** + * struct active_size_s - linear/wdr image information + * + * @width: image total width + * @height: image total height + * @start_x: horizontal shift of the 1st pixel + * @start_y: horizontal shift of the 1st pixel + * @active_w: effective image width + * @active_h: effective image height + * @max_width: max width for buffer allocation + * @max_height: max height for buffer allocation + */ + +struct active_size_s { + unsigned short width; + unsigned short height; + unsigned short start_x; + unsigned short start_y; + unsigned short active_w; + unsigned short active_h; + unsigned short max_width; + unsigned short max_height; +}; + +/** + * struct wdr_size_s - structure for CVI_SNSR_G_WDR_SIZE + * + * @frm_num: [output] Effective image instance. 1 for linear mode, >1 for wdr mode. + * @img_size: [output] Image information. + */ + +struct wdr_size_s { + unsigned int frm_num; + struct active_size_s img_size[MAX_WDR_FRAME_NUM]; +}; + +enum isp_sns_type_e { + ISP_SNS_I2C_TYPE = 0, + ISP_SNS_TYPE_BUTT, +}; + +enum sns_wdr_e { + SNS_WDR_MODE_NONE = 0, + SNS_WDR_MODE_2TO1_LINE, + SNS_WDR_MODE_BUTT +}; + +/** + * struct isp_i2c_data - sensor setting with i2c interface. + * + * @update: update this register or not + * @drop_frame: drop next frame or not + * @i2c_dev: i2c device number. + * @dev_addr: sensor slave address + * @dly_frm_num: this setting would be set with delay frame number + * @drop_frame_cnt: this setting would be set with drop frame + * @reg_addr: sensor register address + * @addr_bytes: sensor register address bytes number + * @data: sensor register value + * @data_bytes: sensor register value bytes number + */ + +struct isp_i2c_data { + unsigned char update; + unsigned char drop_frame; + unsigned char i2c_dev; + unsigned char dev_addr; + unsigned char dly_frm_num; + unsigned short drop_frame_cnt; + unsigned short reg_addr; + unsigned short addr_bytes; + unsigned short data; + unsigned short data_bytes; +}; + +/** + * struct snsr_regs_s - structure of sensor update wrapper + * + * @sns_type: i2c or other interface + * @regs_num: the maximum sensor registers to be updated + * @i2c_data: sensor registers to be updated + * @use_snsr_sram: does this sensor support group update + * @need_update: global flag for sensor update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_regs_s { + enum isp_sns_type_e sns_type; + unsigned int magic_num; + unsigned int regs_num; + struct isp_i2c_data i2c_data[ISP_MAX_SNS_REGS]; + unsigned char cfg_valid_max_dly_frm; + unsigned char use_snsr_sram; + unsigned char need_update; +}; + +/** + * struct snsr_isp_s - structure of isp update wrapper + * + * @wdr: the image information for isp driver. + * @need_update: global flag for isp update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_isp_s { + struct wdr_size_s wdr; + unsigned char dly_frm_num; + unsigned char need_update; +}; + +/** + * struct snsr_cif_s - structure of cif(mipi_rx) update wrapper + * + * @wdr: the image information for isp driver. + * @need_update: global flag for cif update. Ignore this wrapper + * when it is zero. + */ + +struct snsr_cif_s { + struct manual_wdr_s wdr_manu; + unsigned char dly_frm_num; + unsigned char need_update; +}; + +/** + * struct snsr_cfg_node_s - structure of cfg node for runtime update + * + * @snsr: [output] snsr wrapper for runtime update + * @isp: [output] isp wrapper for runtime update + * @cif: [output] cif wrapper for runtime update + * @configed: [intput] after CVI_SNSR_G_CFG_NODE is called, this flag + * is set as false by sensor driver. The caller shall set it as + * true after this cfg_node is passed to isp driver. + */ + +struct snsr_cfg_node_s { + struct snsr_regs_s snsr; + struct snsr_isp_s isp; + struct snsr_cif_s cif; + unsigned char configed; +}; + +#endif // __U_VI_SNSR_H__ diff --git a/freertos/cvitek/install/include/driver/vi/vi_tun_cfg.h b/freertos/cvitek/install/include/driver/vi/vi_tun_cfg.h new file mode 100644 index 000000000..b202b10d6 --- /dev/null +++ b/freertos/cvitek/install/include/driver/vi/vi_tun_cfg.h @@ -0,0 +1,1467 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: cvi_vip_tun_cfg.h + * Description: + */ + +#ifndef _U_CVI_VIP_TUN_CFG_H_ +#define _U_CVI_VIP_TUN_CFG_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "isp_reg.h" + +#define TUNING_NODE_NUM 2 + +enum cvi_isp_raw { + ISP_PRERAW_A, + ISP_PRERAW_B, + ISP_PRERAW_MAX, +}; + +enum cvi_isp_chn_num { + ISP_CHN0, + ISP_CHN1, + ISP_CHN2, + ISP_CHN3, + ISP_CHN_MAX, +}; + +enum cvi_isp_pre_chn_num { + ISP_FE_CH0, + ISP_FE_CH1, + ISP_FE_CH2, + ISP_FE_CH3, + ISP_FE_CHN_MAX, +}; + +enum cvi_isp_be_chn_num { + ISP_BE_CH0, + ISP_BE_CH1, + ISP_BE_CHN_MAX, +}; + +struct cvi_vip_isp_blc_config { + __u8 update; + __u8 inst; + __u8 enable; + __u8 bypass; + __u16 roffset; + __u16 groffset; + __u16 gboffset; + __u16 boffset; + __u16 roffset_2nd; + __u16 groffset_2nd; + __u16 gboffset_2nd; + __u16 boffset_2nd; + __u16 rgain; + __u16 grgain; + __u16 gbgain; + __u16 bgain; +}; + +struct cvi_vip_isp_wbg_config { + __u8 update; + __u8 inst; + __u8 enable; + __u8 bypass; + __u16 rgain; + __u16 ggain; + __u16 bgain; + __u32 rgain_fraction; + __u32 ggain_fraction; + __u32 bgain_fraction; +}; + +/* struct cvi_vip_isp_ccm_config + * @enable: ccm module enable or not + * @coef: s3.10, (2's complement) + */ +struct cvi_vip_isp_ccm_config { + __u8 update; + __u8 inst; + __u8 enable; + __u16 coef[3][3]; +}; + +struct cvi_vip_isp_cacp_config { + __u8 update; + __u8 enable; + __u8 mode; + __u16 iso_ratio; + __u16 ca_y_ratio_lut[256]; + __u8 cp_y_lut[256]; + __u8 cp_u_lut[256]; + __u8 cp_v_lut[256]; +}; + +struct cvi_vip_isp_ca2_config { + __u8 update; + __u8 enable; + __u16 lut_in[6]; + __u16 lut_out[6]; + __u16 lut_slp[5]; +}; + +struct cvi_vip_isp_ygamma_config { + __u8 update; + __u8 enable; + __u32 max; + __u16 lut[256]; +}; + +struct cvi_vip_isp_gamma_config { + __u8 update; + __u8 enable; + __u16 max; + __u16 lut[256]; +}; + +struct cvi_isp_demosiac_tun_cfg { + union REG_ISP_CFA_0C REG_0C; + union REG_ISP_CFA_10 REG_10; + union REG_ISP_CFA_14 REG_14; + union REG_ISP_CFA_18 REG_18; + union REG_ISP_CFA_1C REG_1C; +}; + +struct cvi_isp_demosiac_tun_1_cfg { + union REG_ISP_CFA_120 REG_120; + union REG_ISP_CFA_124 REG_124; + union REG_ISP_CFA_128 REG_128; + union REG_ISP_CFA_12C REG_12C; + union REG_ISP_CFA_130 REG_130; + union REG_ISP_CFA_134 REG_134; + union REG_ISP_CFA_138 REG_138; + union REG_ISP_CFA_13C REG_13C; + union REG_ISP_CFA_140 REG_140; + union REG_ISP_CFA_144 REG_144; + union REG_ISP_CFA_148 REG_148; + union REG_ISP_CFA_14C REG_14C; + union REG_ISP_CFA_150 REG_150; + union REG_ISP_CFA_154 REG_154; + union REG_ISP_CFA_158 REG_158; + union REG_ISP_CFA_15C REG_15C; + union REG_ISP_CFA_160 REG_160; + union REG_ISP_CFA_164 REG_164; + union REG_ISP_CFA_168 REG_168; + union REG_ISP_CFA_16C REG_16C; + union REG_ISP_CFA_170 REG_170; + union REG_ISP_CFA_174 REG_174; + union REG_ISP_CFA_178 REG_178; + union REG_ISP_CFA_17C REG_17C; + union REG_ISP_CFA_180 REG_180; + union REG_ISP_CFA_184 REG_184; + union REG_ISP_CFA_188 REG_188; + union REG_ISP_CFA_18C REG_18C; +}; + +struct cvi_isp_demosiac_tun_2_cfg { + union REG_ISP_CFA_90 REG_90; + union REG_ISP_CFA_94 REG_94; + union REG_ISP_CFA_98 REG_98; + union REG_ISP_CFA_9C REG_9C; + union REG_ISP_CFA_A0 REG_A0; + union REG_ISP_CFA_A4 REG_A4; + union REG_ISP_CFA_A8 REG_A8; +}; + +struct cvi_vip_isp_demosiac_config { + __u8 update; + __u8 cfa_enable; + __u16 cfa_edgee_thd2; + __u8 cfa_out_sel; + __u8 cfa_force_dir_enable; + __u8 cfa_force_dir_sel; + __u16 cfa_rbsig_luma_thd; + __u8 cfa_ghp_lut[32]; + __u8 cfa_ymoire_enable; + __u8 cfa_ymoire_dc_w; + __u8 cfa_ymoire_lpf_w; + struct cvi_isp_demosiac_tun_cfg demosiac_cfg; + struct cvi_isp_demosiac_tun_1_cfg demosiac_1_cfg; + struct cvi_isp_demosiac_tun_2_cfg demosiac_2_cfg; +}; + +struct cvi_vip_isp_lsc_config { + __u8 update; + __u8 enable; + __u16 strength; + __u8 debug; + __u8 gain_base; + __u8 gain_3p9_0_4p8_1; + __u8 renormalize_enable; + __u8 gain_bicubic_0_bilinear_1; + __u8 boundary_interpolation_mode; + __u8 boundary_interpolation_lf_range; + __u8 boundary_interpolation_up_range; + __u8 boundary_interpolation_rt_range; + __u8 boundary_interpolation_dn_range; + __u8 bldratio_enable; + __u16 bldratio; + __u32 intp_gain_max; + __u32 intp_gain_min; +}; + +struct cvi_isp_bnr_tun_1_cfg { + union REG_ISP_BNR_NS_LUMA_TH_R NS_LUMA_TH_R; + union REG_ISP_BNR_NS_SLOPE_R NS_SLOPE_R; + union REG_ISP_BNR_NS_OFFSET0_R NS_OFFSET0_R; + union REG_ISP_BNR_NS_OFFSET1_R NS_OFFSET1_R; + union REG_ISP_BNR_NS_LUMA_TH_GR NS_LUMA_TH_GR; + union REG_ISP_BNR_NS_SLOPE_GR NS_SLOPE_GR; + union REG_ISP_BNR_NS_OFFSET0_GR NS_OFFSET0_GR; + union REG_ISP_BNR_NS_OFFSET1_GR NS_OFFSET1_GR; + union REG_ISP_BNR_NS_LUMA_TH_GB NS_LUMA_TH_GB; + union REG_ISP_BNR_NS_SLOPE_GB NS_SLOPE_GB; + union REG_ISP_BNR_NS_OFFSET0_GB NS_OFFSET0_GB; + union REG_ISP_BNR_NS_OFFSET1_GB NS_OFFSET1_GB; + union REG_ISP_BNR_NS_LUMA_TH_B NS_LUMA_TH_B; + union REG_ISP_BNR_NS_SLOPE_B NS_SLOPE_B; + union REG_ISP_BNR_NS_OFFSET0_B NS_OFFSET0_B; + union REG_ISP_BNR_NS_OFFSET1_B NS_OFFSET1_B; + union REG_ISP_BNR_NS_GAIN NS_GAIN; + union REG_ISP_BNR_STRENGTH_MODE STRENGTH_MODE; +}; + +struct cvi_isp_bnr_tun_2_cfg { + union REG_ISP_BNR_VAR_TH VAR_TH; + union REG_ISP_BNR_WEIGHT_LUT WEIGHT_LUT; + union REG_ISP_BNR_WEIGHT_SM WEIGHT_SM; + union REG_ISP_BNR_WEIGHT_V WEIGHT_V; + union REG_ISP_BNR_WEIGHT_H WEIGHT_H; + union REG_ISP_BNR_WEIGHT_D45 WEIGHT_D45; + union REG_ISP_BNR_WEIGHT_D135 WEIGHT_D135; + union REG_ISP_BNR_NEIGHBOR_MAX NEIGHBOR_MAX; +}; + +struct cvi_vip_isp_bnr_config { + __u8 update; + __u8 enable; + __u8 out_sel; + __u8 weight_lut[256]; + __u8 intensity_sel[8]; + __u8 weight_intra_0; + __u8 weight_intra_1; + __u8 weight_intra_2; + __u8 weight_norm_1; + __u8 weight_norm_2; + __u16 k_smooth; + __u16 k_texture; + struct cvi_isp_bnr_tun_1_cfg bnr_1_cfg; + struct cvi_isp_bnr_tun_2_cfg bnr_2_cfg; +}; + +struct cvi_vip_isp_clut_config { + __u8 update; + __u8 enable; + __u8 is_update_partial; + __u8 tbl_idx; + __u16 r_lut[4913]; + __u16 g_lut[4913]; + __u16 b_lut[4913]; + __u16 update_length; + __u32 lut[1024][2]; //0:addr, 1:value +}; + +struct cvi_isp_drc_tun_1_cfg { + union REG_LTM_H90 REG_H90; + union REG_LTM_H94 REG_H94; + union REG_LTM_H98 REG_H98; + union REG_LTM_H9C REG_H9C; + union REG_LTM_HA0 REG_HA0; + union REG_LTM_HA4 REG_HA4; + union REG_LTM_HA8 REG_HA8; + union REG_LTM_HAC REG_HAC; + union REG_LTM_HB0 REG_HB0; + union REG_LTM_HB4 REG_HB4; + union REG_LTM_HB8 REG_HB8; + union REG_LTM_HBC REG_HBC; + union REG_LTM_HC0 REG_HC0; + union REG_LTM_HC4 REG_HC4; + union REG_LTM_HC8 REG_HC8; + union REG_LTM_HCC REG_HCC; + union REG_LTM_HD0 REG_HD0; + union REG_LTM_HD4 REG_HD4; + union REG_LTM_HD8 REG_HD8; + union REG_LTM_HDC REG_HDC; +}; + +struct cvi_isp_drc_tun_2_cfg { + union REG_LTM_H14 REG_H14; + union REG_LTM_H18 REG_H18; + union REG_LTM_H1C REG_H1C; + union REG_LTM_H20 REG_H20; + union REG_LTM_H24 REG_H24; + union REG_LTM_H28 REG_H28; + union REG_LTM_H2C REG_H2C; + union REG_LTM_H30 REG_H30; +}; + +struct cvi_isp_drc_tun_3_cfg { + union REG_LTM_H64 REG_H64; + union REG_LTM_H68 REG_H68; + union REG_LTM_H6C REG_H6C; + union REG_LTM_H70 REG_H70; + union REG_LTM_H74 REG_H74; + union REG_LTM_H78 REG_H78; + union REG_LTM_H7C REG_H7C; + union REG_LTM_H80 REG_H80; + union REG_LTM_H84 REG_H84; + union REG_LTM_H88 REG_H88; +}; + +struct cvi_vip_isp_drc_config { + __u8 update; + __u8 ltm_enable; + __u8 dark_enh_en; + __u8 brit_enh_en; + __u8 dbg_mode; + __u8 dark_tone_wgt_refine_en; + __u8 brit_tone_wgt_refine_en; + __u16 global_lut[769]; + __u16 dark_lut[257]; + __u16 brit_lut[513]; + __u8 lmap_enable; + __u8 lmap_w_bit; + __u8 lmap_h_bit; + __u16 lmap_thd_l; + __u16 lmap_thd_h; + __u8 lmap_y_mode; + __u8 de_strth_dshft; + __u16 de_strth_gain; + __u8 be_strth_dshft; + __u16 be_strth_gain; + struct cvi_isp_drc_tun_1_cfg drc_1_cfg; + struct cvi_isp_drc_tun_2_cfg drc_2_cfg; + struct cvi_isp_drc_tun_3_cfg drc_3_cfg; +}; + +struct cvi_isp_ynr_tun_1_cfg { + union REG_ISP_YNR_NS0_LUMA_TH_00 NS0_LUMA_TH_00; + union REG_ISP_YNR_NS0_LUMA_TH_01 NS0_LUMA_TH_01; + union REG_ISP_YNR_NS0_LUMA_TH_02 NS0_LUMA_TH_02; + union REG_ISP_YNR_NS0_LUMA_TH_03 NS0_LUMA_TH_03; + union REG_ISP_YNR_NS0_LUMA_TH_04 NS0_LUMA_TH_04; + union REG_ISP_YNR_NS0_LUMA_TH_05 NS0_LUMA_TH_05; + union REG_ISP_YNR_NS0_SLOPE_00 NS0_SLOPE_00; + union REG_ISP_YNR_NS0_SLOPE_01 NS0_SLOPE_01; + union REG_ISP_YNR_NS0_SLOPE_02 NS0_SLOPE_02; + union REG_ISP_YNR_NS0_SLOPE_03 NS0_SLOPE_03; + union REG_ISP_YNR_NS0_SLOPE_04 NS0_SLOPE_04; + union REG_ISP_YNR_NS0_OFFSET_00 NS0_OFFSET_00; + union REG_ISP_YNR_NS0_OFFSET_01 NS0_OFFSET_01; + union REG_ISP_YNR_NS0_OFFSET_02 NS0_OFFSET_02; + union REG_ISP_YNR_NS0_OFFSET_03 NS0_OFFSET_03; + union REG_ISP_YNR_NS0_OFFSET_04 NS0_OFFSET_04; + union REG_ISP_YNR_NS0_OFFSET_05 NS0_OFFSET_05; + union REG_ISP_YNR_NS1_LUMA_TH_00 NS1_LUMA_TH_00; + union REG_ISP_YNR_NS1_LUMA_TH_01 NS1_LUMA_TH_01; + union REG_ISP_YNR_NS1_LUMA_TH_02 NS1_LUMA_TH_02; + union REG_ISP_YNR_NS1_LUMA_TH_03 NS1_LUMA_TH_03; + union REG_ISP_YNR_NS1_LUMA_TH_04 NS1_LUMA_TH_04; + union REG_ISP_YNR_NS1_LUMA_TH_05 NS1_LUMA_TH_05; + union REG_ISP_YNR_NS1_SLOPE_00 NS1_SLOPE_00; + union REG_ISP_YNR_NS1_SLOPE_01 NS1_SLOPE_01; + union REG_ISP_YNR_NS1_SLOPE_02 NS1_SLOPE_02; + union REG_ISP_YNR_NS1_SLOPE_03 NS1_SLOPE_03; + union REG_ISP_YNR_NS1_SLOPE_04 NS1_SLOPE_04; + union REG_ISP_YNR_NS1_OFFSET_00 NS1_OFFSET_00; + union REG_ISP_YNR_NS1_OFFSET_01 NS1_OFFSET_01; + union REG_ISP_YNR_NS1_OFFSET_02 NS1_OFFSET_02; + union REG_ISP_YNR_NS1_OFFSET_03 NS1_OFFSET_03; + union REG_ISP_YNR_NS1_OFFSET_04 NS1_OFFSET_04; + union REG_ISP_YNR_NS1_OFFSET_05 NS1_OFFSET_05; + union REG_ISP_YNR_NS_GAIN NS_GAIN; +}; + +struct cvi_isp_ynr_tun_2_cfg { + union REG_ISP_YNR_MOTION_LUT_00 MOTION_LUT_00; + union REG_ISP_YNR_MOTION_LUT_01 MOTION_LUT_01; + union REG_ISP_YNR_MOTION_LUT_02 MOTION_LUT_02; + union REG_ISP_YNR_MOTION_LUT_03 MOTION_LUT_03; + union REG_ISP_YNR_MOTION_LUT_04 MOTION_LUT_04; + union REG_ISP_YNR_MOTION_LUT_05 MOTION_LUT_05; + union REG_ISP_YNR_MOTION_LUT_06 MOTION_LUT_06; + union REG_ISP_YNR_MOTION_LUT_07 MOTION_LUT_07; + union REG_ISP_YNR_MOTION_LUT_08 MOTION_LUT_08; + union REG_ISP_YNR_MOTION_LUT_09 MOTION_LUT_09; + union REG_ISP_YNR_MOTION_LUT_10 MOTION_LUT_10; + union REG_ISP_YNR_MOTION_LUT_11 MOTION_LUT_11; + union REG_ISP_YNR_MOTION_LUT_12 MOTION_LUT_12; + union REG_ISP_YNR_MOTION_LUT_13 MOTION_LUT_13; + union REG_ISP_YNR_MOTION_LUT_14 MOTION_LUT_14; + union REG_ISP_YNR_MOTION_LUT_15 MOTION_LUT_15; +}; + +struct cvi_isp_ynr_tun_3_cfg { + union REG_ISP_YNR_ALPHA_GAIN ALPHA_GAIN; + union REG_ISP_YNR_VAR_TH VAR_TH; + union REG_ISP_YNR_WEIGHT_SM WEIGHT_SM; + union REG_ISP_YNR_WEIGHT_V WEIGHT_V; + union REG_ISP_YNR_WEIGHT_H WEIGHT_H; + union REG_ISP_YNR_WEIGHT_D45 WEIGHT_D45; + union REG_ISP_YNR_WEIGHT_D135 WEIGHT_D135; + union REG_ISP_YNR_NEIGHBOR_MAX NEIGHBOR_MAX; + union REG_ISP_YNR_RES_K_SMOOTH RES_K_SMOOTH; + union REG_ISP_YNR_RES_K_TEXTURE RES_K_TEXTURE; + union REG_ISP_YNR_FILTER_MODE_EN FILTER_MODE_EN; + union REG_ISP_YNR_FILTER_MODE_ALPHA FILTER_MODE_ALPHA; +}; + +struct cvi_isp_ynr_tun_4_cfg { + union REG_ISP_YNR_RES_MOT_LUT_00 RES_MOT_LUT_00; + union REG_ISP_YNR_RES_MOT_LUT_01 RES_MOT_LUT_01; + union REG_ISP_YNR_RES_MOT_LUT_02 RES_MOT_LUT_02; + union REG_ISP_YNR_RES_MOT_LUT_03 RES_MOT_LUT_03; + union REG_ISP_YNR_RES_MOT_LUT_04 RES_MOT_LUT_04; + union REG_ISP_YNR_RES_MOT_LUT_05 RES_MOT_LUT_05; + union REG_ISP_YNR_RES_MOT_LUT_06 RES_MOT_LUT_06; + union REG_ISP_YNR_RES_MOT_LUT_07 RES_MOT_LUT_07; + union REG_ISP_YNR_RES_MOT_LUT_08 RES_MOT_LUT_08; + union REG_ISP_YNR_RES_MOT_LUT_09 RES_MOT_LUT_09; + union REG_ISP_YNR_RES_MOT_LUT_10 RES_MOT_LUT_10; + union REG_ISP_YNR_RES_MOT_LUT_11 RES_MOT_LUT_11; + union REG_ISP_YNR_RES_MOT_LUT_12 RES_MOT_LUT_12; + union REG_ISP_YNR_RES_MOT_LUT_13 RES_MOT_LUT_13; + union REG_ISP_YNR_RES_MOT_LUT_14 RES_MOT_LUT_14; + union REG_ISP_YNR_RES_MOT_LUT_15 RES_MOT_LUT_15; +}; + +struct cvi_vip_isp_ynr_config { + __u8 update; + __u8 enable; + __u8 out_sel; + __u8 weight_intra_0; + __u8 weight_intra_1; + __u8 weight_intra_2; + __u8 weight_norm_1; + __u8 weight_norm_2; + __u8 res_max; + __u8 res_motion_max; + __u8 motion_ns_clip_max; + __u8 weight_lut_h[64]; + struct cvi_isp_ynr_tun_1_cfg ynr_1_cfg; + struct cvi_isp_ynr_tun_2_cfg ynr_2_cfg; + struct cvi_isp_ynr_tun_3_cfg ynr_3_cfg; + struct cvi_isp_ynr_tun_4_cfg ynr_4_cfg; +}; + +struct cvi_vip_isp_cnr_config { + __u8 update; + __u8 enable; + __u8 strength_mode; + __u8 diff_shift_val; + __u8 diff_gain; + __u8 ratio; + __u8 fusion_intensity_weight; + __u8 flag_neighbor_max_weight; + __u8 weight_lut_inter[16]; + __u8 motion_enable; + __u8 coring_motion_lut[16]; + __u8 motion_lut[16]; +}; + +struct cvi_isp_tnr_tun_cfg { + union REG_ISP_MMAP_0C REG_0C; + union REG_ISP_MMAP_10 REG_10; + union REG_ISP_MMAP_14 REG_14; + union REG_ISP_MMAP_18 REG_18; +}; + +struct cvi_isp_tnr_tun_5_cfg { + union REG_ISP_MMAP_20 REG_20; + union REG_ISP_MMAP_24 REG_24; + union REG_ISP_MMAP_28 REG_28; + union REG_ISP_MMAP_2C REG_2C; +}; + +struct cvi_isp_tnr_tun_1_cfg { + union REG_ISP_MMAP_4C REG_4C; + union REG_ISP_MMAP_50 REG_50; + union REG_ISP_MMAP_54 REG_54; + union REG_ISP_MMAP_58 REG_58; + union REG_ISP_MMAP_5C REG_5C; +}; + +struct cvi_isp_tnr_tun_2_cfg { + union REG_ISP_MMAP_70 REG_70; + union REG_ISP_MMAP_74 REG_74; + union REG_ISP_MMAP_78 REG_78; + union REG_ISP_MMAP_7C REG_7C; + union REG_ISP_MMAP_80 REG_80; + union REG_ISP_MMAP_84 REG_84; + union REG_ISP_MMAP_88 REG_88; + union REG_ISP_MMAP_8C REG_8C; + union REG_ISP_MMAP_90 REG_90; +}; + +struct cvi_isp_tnr_tun_3_cfg { + union REG_ISP_MMAP_A0 REG_A0; + union REG_ISP_MMAP_A4 REG_A4; + union REG_ISP_MMAP_A8 REG_A8; + union REG_ISP_MMAP_AC REG_AC; + union REG_ISP_MMAP_B0 REG_B0; + union REG_ISP_MMAP_B4 REG_B4; + union REG_ISP_MMAP_B8 REG_B8; + union REG_ISP_MMAP_BC REG_BC; + union REG_ISP_MMAP_C0 REG_C0; +}; + +struct cvi_isp_tnr_tun_4_cfg { + union REG_ISP_444_422_13 REG_13; + union REG_ISP_444_422_14 REG_14; + union REG_ISP_444_422_15 REG_15; + union REG_ISP_444_422_16 REG_16; + union REG_ISP_444_422_17 REG_17; + union REG_ISP_444_422_18 REG_18; + union REG_ISP_444_422_19 REG_19; + union REG_ISP_444_422_20 REG_20; + union REG_ISP_444_422_21 REG_21; + union REG_ISP_444_422_22 REG_22; + union REG_ISP_444_422_23 REG_23; + union REG_ISP_444_422_24 REG_24; + union REG_ISP_444_422_25 REG_25; + union REG_ISP_444_422_26 REG_26; + union REG_ISP_444_422_27 REG_27; + union REG_ISP_444_422_28 REG_28; + union REG_ISP_444_422_29 REG_29; + union REG_ISP_444_422_30 REG_30; + union REG_ISP_444_422_31 REG_31; +}; + +struct cvi_isp_tnr_tun_6_cfg { + union REG_ISP_444_422_84 REG_84; + union REG_ISP_444_422_88 REG_88; + union REG_ISP_444_422_8C REG_8C; + union REG_ISP_444_422_90 REG_90; + union REG_ISP_444_422_94 REG_94; + union REG_ISP_444_422_98 REG_98; + union REG_ISP_444_422_9C REG_9C; + union REG_ISP_444_422_A0 REG_A0; + union REG_ISP_444_422_A4 REG_A4; + union REG_ISP_444_422_A8 REG_A8; + union REG_ISP_444_422_AC REG_AC; + union REG_ISP_444_422_B0 REG_B0; + union REG_ISP_444_422_B4 REG_B4; + union REG_ISP_444_422_B8 REG_B8; + union REG_ISP_444_422_BC REG_BC; + union REG_ISP_444_422_C0 REG_C0; + union REG_ISP_444_422_C4 REG_C4; + union REG_ISP_444_422_C8 REG_C8; + union REG_ISP_444_422_CC REG_CC; + union REG_ISP_444_422_D0 REG_D0; + union REG_ISP_444_422_D4 REG_D4; + union REG_ISP_444_422_D8 REG_D8; + union REG_ISP_444_422_DC REG_DC; + union REG_ISP_444_422_E0 REG_E0; + union REG_ISP_444_422_E4 REG_E4; + union REG_ISP_444_422_E8 REG_E8; + union REG_ISP_444_422_EC REG_EC; + union REG_ISP_444_422_F0 REG_F0; +}; + +struct cvi_isp_tnr_tun_7_cfg { + union REG_ISP_MMAP_100 REG_100; + union REG_ISP_MMAP_104 REG_104; + union REG_ISP_MMAP_108 REG_108; + union REG_ISP_MMAP_10C REG_10C; + union REG_ISP_MMAP_110 REG_110; + union REG_ISP_MMAP_114 REG_114; + union REG_ISP_MMAP_118 REG_118; + union REG_ISP_MMAP_11C REG_11C; + union REG_ISP_MMAP_120 REG_120; + union REG_ISP_MMAP_124 REG_124; + union REG_ISP_MMAP_128 REG_128; +}; + +struct cvi_vip_isp_tnr_config { + __u8 update; + __u8 manr_enable; + __u8 rgbmap_w_bit; + __u8 rgbmap_h_bit; + __u8 mh_wgt; + __u8 lpf[3][3]; + __u8 map_gain; + __u8 map_thd_l; + __u8 map_thd_h; + __u8 uv_rounding_type_sel; + __u8 history_sel_0; + __u8 history_sel_1; + __u8 history_sel_3; + __u16 tdnr_debug_sel; + __s16 luma_adapt_lut_slope_2; + __u8 med_enable; + __u16 med_wgt; + __u8 mtluma_mode; + __u8 avg_mode_write; + __u8 drop_mode_write; + __u8 tdnr_pixel_lp; + __u8 tdnr_comp_gain_enable; + __u16 tdnr_ee_comp_gain; + struct cvi_isp_tnr_tun_cfg tnr_cfg; + struct cvi_isp_tnr_tun_1_cfg tnr_1_cfg; + struct cvi_isp_tnr_tun_2_cfg tnr_2_cfg; + struct cvi_isp_tnr_tun_3_cfg tnr_3_cfg; + struct cvi_isp_tnr_tun_4_cfg tnr_4_cfg; + struct cvi_isp_tnr_tun_5_cfg tnr_5_cfg; + struct cvi_isp_tnr_tun_6_cfg tnr_6_cfg; + struct cvi_isp_tnr_tun_7_cfg tnr_7_cfg; +}; + +struct cvi_isp_ee_tun_1_cfg { + union REG_ISP_EE_A4 REG_A4; + union REG_ISP_EE_A8 REG_A8; + union REG_ISP_EE_AC REG_AC; + union REG_ISP_EE_B0 REG_B0; + union REG_ISP_EE_B4 REG_B4; + union REG_ISP_EE_B8 REG_B8; + union REG_ISP_EE_BC REG_BC; + union REG_ISP_EE_C0 REG_C0; + union REG_ISP_EE_C4 REG_C4; + union REG_ISP_EE_C8 REG_C8; + union REG_ISP_EE_HCC REG_HCC; + union REG_ISP_EE_HD0 REG_HD0; +}; + +struct cvi_isp_ee_tun_2_cfg { + union REG_ISP_EE_19C REG_19C; + union REG_ISP_EE_1A0 REG_1A0; + union REG_ISP_EE_1A4 REG_1A4; + union REG_ISP_EE_1A8 REG_1A8; +}; + +struct cvi_isp_ee_tun_3_cfg { + union REG_ISP_EE_1C4 REG_1C4; + union REG_ISP_EE_1C8 REG_1C8; + union REG_ISP_EE_1CC REG_1CC; + union REG_ISP_EE_1D0 REG_1D0; + union REG_ISP_EE_1D4 REG_1D4; + union REG_ISP_EE_1D8 REG_1D8; +}; + +struct cvi_vip_isp_ee_config { + __u8 update; + __u8 enable; + __u8 dbg_mode; + __u8 total_coring; + __u8 total_motion_coring; + __u8 total_gain; + __u8 total_oshtthrd; + __u8 total_ushtthrd; + __u8 pre_proc_enable; + __u8 lumaref_lpf_en; + __u8 luma_coring_en; + __u8 luma_adptctrl_en; + __u8 delta_adptctrl_en; + __u8 delta_adptctrl_shift; + __u8 chromaref_lpf_en; + __u8 chroma_adptctrl_en; + __u8 mf_core_gain; + __u8 hf_blend_wgt; + __u8 mf_blend_wgt; + __u8 soft_clamp_enable; + __u8 upper_bound_left_diff; + __u8 lower_bound_right_diff; + __u8 luma_adptctrl_lut[33]; + __u8 delta_adptctrl_lut[33]; + __u8 chroma_adptctrl_lut[33]; + struct cvi_isp_ee_tun_1_cfg ee_1_cfg; + struct cvi_isp_ee_tun_2_cfg ee_2_cfg; + struct cvi_isp_ee_tun_3_cfg ee_3_cfg; +}; + +struct cvi_vip_isp_pre_ee_config { + __u8 update; + __u8 enable; + __u8 dbg_mode; + __u8 total_coring; + __u8 total_motion_coring; + __u8 total_gain; + __u8 total_oshtthrd; + __u8 total_ushtthrd; + __u8 pre_proc_enable; + __u8 lumaref_lpf_en; + __u8 luma_coring_en; + __u8 luma_adptctrl_en; + __u8 delta_adptctrl_en; + __u8 delta_adptctrl_shift; + __u8 chromaref_lpf_en; + __u8 chroma_adptctrl_en; + __u8 mf_core_gain; + __u8 hf_blend_wgt; + __u8 mf_blend_wgt; + __u8 soft_clamp_enable; + __u8 upper_bound_left_diff; + __u8 lower_bound_right_diff; + __u8 luma_adptctrl_lut[33]; + __u8 delta_adptctrl_lut[33]; + __u8 chroma_adptctrl_lut[33]; + struct cvi_isp_ee_tun_1_cfg pre_ee_1_cfg; + struct cvi_isp_ee_tun_2_cfg pre_ee_2_cfg; + struct cvi_isp_ee_tun_3_cfg pre_ee_3_cfg; +}; + +struct cvi_isp_fswdr_tun_cfg { + union REG_FUSION_FS_SE_GAIN FS_SE_GAIN; + union REG_FUSION_FS_LUMA_THD FS_LUMA_THD; + union REG_FUSION_FS_WGT FS_WGT; + union REG_FUSION_FS_WGT_SLOPE FS_WGT_SLOPE; +}; + +struct cvi_isp_fswdr_tun_2_cfg { + union REG_FUSION_FS_MOTION_LUT_IN FS_MOTION_LUT_IN; + union REG_FUSION_FS_MOTION_LUT_OUT_0 FS_MOTION_LUT_OUT_0; + union REG_FUSION_FS_MOTION_LUT_OUT_1 FS_MOTION_LUT_OUT_1; + union REG_FUSION_FS_MOTION_LUT_SLOPE_0 FS_MOTION_LUT_SLOPE_0; + union REG_FUSION_FS_MOTION_LUT_SLOPE_1 FS_MOTION_LUT_SLOPE_1; +}; + +struct cvi_isp_fswdr_tun_3_cfg { + union REG_FUSION_FS_CALIB_CTRL_0 FS_CALIB_CTRL_0; + union REG_FUSION_FS_CALIB_CTRL_1 FS_CALIB_CTRL_1; + union REG_FUSION_FS_SE_FIX_OFFSET_0 FS_SE_FIX_OFFSET_0; + union REG_FUSION_FS_SE_FIX_OFFSET_1 FS_SE_FIX_OFFSET_1; + union REG_FUSION_FS_SE_FIX_OFFSET_2 FS_SE_FIX_OFFSET_2; + union REG_FUSION_FS_CALIB_OUT_0 FS_CALIB_OUT_0; + union REG_FUSION_FS_CALIB_OUT_1 FS_CALIB_OUT_1; + union REG_FUSION_FS_CALIB_OUT_2 FS_CALIB_OUT_2; + union REG_FUSION_FS_CALIB_OUT_3 FS_CALIB_OUT_3; + union REG_FUSION_FS_LMAP_DARK_THD FS_LMAP_DARK_THD; + union REG_FUSION_FS_LMAP_DARK_WGT FS_LMAP_DARK_WGT; + union REG_FUSION_FS_LMAP_DARK_WGT_SLOPE FS_LMAP_DARK_WGT_SLOPE; + union REG_FUSION_FS_LMAP_BRIT_THD FS_LMAP_BRIT_THD; + union REG_FUSION_FS_LMAP_BRIT_WGT FS_LMAP_BRIT_WGT; + union REG_FUSION_FS_LMAP_BRIT_WGT_SLOPE FS_LMAP_BRIT_WGT_SLOPE; +}; + +struct cvi_vip_isp_fswdr_config { + __u8 update; + __u8 enable; + __u8 mc_enable; + __u8 dc_mode; + __u8 luma_mode; + __u8 lmap_guide_dc_mode; + __u8 lmap_guide_luma_mode; + __u32 s_max; + __u8 fusion_type; + __u16 fusion_lwgt; + __u8 motion_ls_mode; + __u8 mmap_mrg_mode; + __u8 mmap_1_enable; + __u8 motion_ls_sel; + __u8 mmap_mrg_alph; + __u8 history_sel_2; + __u16 mmap_v_thd_l; + __u16 mmap_v_thd_h; + __u16 mmap_v_wgt_min; + __u16 mmap_v_wgt_max; + __s32 mmap_v_wgt_slp; + __u8 le_in_sel; + __u8 se_in_sel; + struct cvi_isp_fswdr_tun_cfg fswdr_cfg; + struct cvi_isp_fswdr_tun_2_cfg fswdr_2_cfg; + struct cvi_isp_fswdr_tun_3_cfg fswdr_3_cfg; +}; + +struct cvi_vip_isp_fswdr_report { + uint32_t cal_pix_num; + int32_t diff_sum_r; + int32_t diff_sum_g; + int32_t diff_sum_b; +}; + +struct cvi_vip_isp_ldci_tun_1_cfg { + union REG_ISP_LDCI_LUMA_WGT_MAX LDCI_LUMA_WGT_MAX; + union REG_ISP_LDCI_IDX_IIR_ALPHA LDCI_IDX_IIR_ALPHA; + union REG_ISP_LDCI_EDGE_SCALE LDCI_EDGE_SCALE; + union REG_ISP_LDCI_EDGE_CLAMP LDCI_EDGE_CLAMP; + union REG_ISP_LDCI_IDX_FILTER_NORM LDCI_IDX_FILTER_NORM; + union REG_ISP_LDCI_TONE_CURVE_IDX_00 LDCI_TONE_CURVE_IDX_00; +}; + +struct cvi_vip_isp_ldci_tun_2_cfg { + union REG_ISP_LDCI_BLK_SIZE_X LDCI_BLK_SIZE_X; + union REG_ISP_LDCI_BLK_SIZE_X1 LDCI_BLK_SIZE_X1; + union REG_ISP_LDCI_SUBBLK_SIZE_X LDCI_SUBBLK_SIZE_X; + union REG_ISP_LDCI_SUBBLK_SIZE_X1 LDCI_SUBBLK_SIZE_X1; + union REG_ISP_LDCI_INTERP_NORM_LR LDCI_INTERP_NORM_LR; + union REG_ISP_LDCI_SUB_INTERP_NORM_LR LDCI_SUB_INTERP_NORM_LR; + union REG_ISP_LDCI_MEAN_NORM_X LDCI_MEAN_NORM_X; + union REG_ISP_LDCI_VAR_NORM_Y LDCI_VAR_NORM_Y; + union REG_ISP_LDCI_UV_GAIN_MAX LDCI_UV_GAIN_MAX; +}; + +struct cvi_vip_isp_ldci_tun_3_cfg { + union REG_ISP_LDCI_IDX_FILTER_LUT_00 LDCI_IDX_FILTER_LUT_00; + union REG_ISP_LDCI_IDX_FILTER_LUT_02 LDCI_IDX_FILTER_LUT_02; + union REG_ISP_LDCI_IDX_FILTER_LUT_04 LDCI_IDX_FILTER_LUT_04; + union REG_ISP_LDCI_IDX_FILTER_LUT_06 LDCI_IDX_FILTER_LUT_06; + union REG_ISP_LDCI_IDX_FILTER_LUT_08 LDCI_IDX_FILTER_LUT_08; + union REG_ISP_LDCI_IDX_FILTER_LUT_10 LDCI_IDX_FILTER_LUT_10; + union REG_ISP_LDCI_IDX_FILTER_LUT_12 LDCI_IDX_FILTER_LUT_12; + union REG_ISP_LDCI_IDX_FILTER_LUT_14 LDCI_IDX_FILTER_LUT_14; + union REG_ISP_LDCI_INTERP_NORM_LR1 LDCI_INTERP_NORM_LR1; + union REG_ISP_LDCI_SUB_INTERP_NORM_LR1 LDCI_SUB_INTERP_NORM_LR1; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_00 LDCI_TONE_CURVE_LUT_00_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_02 LDCI_TONE_CURVE_LUT_00_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_04 LDCI_TONE_CURVE_LUT_00_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_06 LDCI_TONE_CURVE_LUT_00_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_08 LDCI_TONE_CURVE_LUT_00_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_10 LDCI_TONE_CURVE_LUT_00_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_12 LDCI_TONE_CURVE_LUT_00_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_00_14 LDCI_TONE_CURVE_LUT_00_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_00 LDCI_TONE_CURVE_LUT_01_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_02 LDCI_TONE_CURVE_LUT_01_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_04 LDCI_TONE_CURVE_LUT_01_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_06 LDCI_TONE_CURVE_LUT_01_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_08 LDCI_TONE_CURVE_LUT_01_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_10 LDCI_TONE_CURVE_LUT_01_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_12 LDCI_TONE_CURVE_LUT_01_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_01_14 LDCI_TONE_CURVE_LUT_01_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_00 LDCI_TONE_CURVE_LUT_02_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_02 LDCI_TONE_CURVE_LUT_02_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_04 LDCI_TONE_CURVE_LUT_02_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_06 LDCI_TONE_CURVE_LUT_02_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_08 LDCI_TONE_CURVE_LUT_02_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_10 LDCI_TONE_CURVE_LUT_02_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_12 LDCI_TONE_CURVE_LUT_02_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_02_14 LDCI_TONE_CURVE_LUT_02_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_00 LDCI_TONE_CURVE_LUT_03_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_02 LDCI_TONE_CURVE_LUT_03_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_04 LDCI_TONE_CURVE_LUT_03_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_06 LDCI_TONE_CURVE_LUT_03_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_08 LDCI_TONE_CURVE_LUT_03_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_10 LDCI_TONE_CURVE_LUT_03_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_12 LDCI_TONE_CURVE_LUT_03_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_03_14 LDCI_TONE_CURVE_LUT_03_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_00 LDCI_TONE_CURVE_LUT_04_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_02 LDCI_TONE_CURVE_LUT_04_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_04 LDCI_TONE_CURVE_LUT_04_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_06 LDCI_TONE_CURVE_LUT_04_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_08 LDCI_TONE_CURVE_LUT_04_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_10 LDCI_TONE_CURVE_LUT_04_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_12 LDCI_TONE_CURVE_LUT_04_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_04_14 LDCI_TONE_CURVE_LUT_04_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_00 LDCI_TONE_CURVE_LUT_05_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_02 LDCI_TONE_CURVE_LUT_05_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_04 LDCI_TONE_CURVE_LUT_05_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_06 LDCI_TONE_CURVE_LUT_05_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_08 LDCI_TONE_CURVE_LUT_05_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_10 LDCI_TONE_CURVE_LUT_05_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_12 LDCI_TONE_CURVE_LUT_05_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_05_14 LDCI_TONE_CURVE_LUT_05_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_00 LDCI_TONE_CURVE_LUT_06_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_02 LDCI_TONE_CURVE_LUT_06_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_04 LDCI_TONE_CURVE_LUT_06_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_06 LDCI_TONE_CURVE_LUT_06_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_08 LDCI_TONE_CURVE_LUT_06_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_10 LDCI_TONE_CURVE_LUT_06_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_12 LDCI_TONE_CURVE_LUT_06_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_06_14 LDCI_TONE_CURVE_LUT_06_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_00 LDCI_TONE_CURVE_LUT_07_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_02 LDCI_TONE_CURVE_LUT_07_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_04 LDCI_TONE_CURVE_LUT_07_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_06 LDCI_TONE_CURVE_LUT_07_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_08 LDCI_TONE_CURVE_LUT_07_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_10 LDCI_TONE_CURVE_LUT_07_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_12 LDCI_TONE_CURVE_LUT_07_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_07_14 LDCI_TONE_CURVE_LUT_07_14; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_00 LDCI_TONE_CURVE_LUT_P_00; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_02 LDCI_TONE_CURVE_LUT_P_02; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_04 LDCI_TONE_CURVE_LUT_P_04; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_06 LDCI_TONE_CURVE_LUT_P_06; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_08 LDCI_TONE_CURVE_LUT_P_08; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_10 LDCI_TONE_CURVE_LUT_P_10; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_12 LDCI_TONE_CURVE_LUT_P_12; + union REG_ISP_LDCI_TONE_CURVE_LUT_P_14 LDCI_TONE_CURVE_LUT_P_14; +}; + +struct cvi_vip_isp_ldci_tun_4_cfg { + union REG_ISP_LDCI_LUMA_WGT_LUT_00 LDCI_LUMA_WGT_LUT_00; + union REG_ISP_LDCI_LUMA_WGT_LUT_04 LDCI_LUMA_WGT_LUT_04; + union REG_ISP_LDCI_LUMA_WGT_LUT_08 LDCI_LUMA_WGT_LUT_08; + union REG_ISP_LDCI_LUMA_WGT_LUT_12 LDCI_LUMA_WGT_LUT_12; + union REG_ISP_LDCI_LUMA_WGT_LUT_16 LDCI_LUMA_WGT_LUT_16; + union REG_ISP_LDCI_LUMA_WGT_LUT_20 LDCI_LUMA_WGT_LUT_20; + union REG_ISP_LDCI_LUMA_WGT_LUT_24 LDCI_LUMA_WGT_LUT_24; + union REG_ISP_LDCI_LUMA_WGT_LUT_28 LDCI_LUMA_WGT_LUT_28; + union REG_ISP_LDCI_LUMA_WGT_LUT_32 LDCI_LUMA_WGT_LUT_32; +}; + +struct cvi_vip_isp_ldci_tun_5_cfg { + union REG_ISP_LDCI_VAR_FILTER_LUT_00 LDCI_VAR_FILTER_LUT_00; + union REG_ISP_LDCI_VAR_FILTER_LUT_02 LDCI_VAR_FILTER_LUT_02; + union REG_ISP_LDCI_VAR_FILTER_LUT_04 LDCI_VAR_FILTER_LUT_04; +}; + +struct cvi_vip_isp_ldci_config { + __u8 update; + __u8 enable; + __u8 stats_enable; + __u8 map_enable; + __u8 uv_gain_enable; + __u8 first_frame_enable; + __u8 image_size_div_by_16x12; + __u16 strength; + struct cvi_vip_isp_ldci_tun_1_cfg ldci_1_cfg; + struct cvi_vip_isp_ldci_tun_2_cfg ldci_2_cfg; + struct cvi_vip_isp_ldci_tun_3_cfg ldci_3_cfg; + struct cvi_vip_isp_ldci_tun_4_cfg ldci_4_cfg; + struct cvi_vip_isp_ldci_tun_5_cfg ldci_5_cfg; +}; + +struct cvi_vip_isp_ycur_config { + __u8 update; + __u8 enable; + __u8 lut[64]; + __u16 lut_256; +}; + +struct cvi_vip_isp_dci_config { + __u8 update; + __u8 enable; + __u8 map_enable; + __u8 demo_mode; + __u16 map_lut[256]; + __u8 per1sample_enable; + __u8 hist_enable; +}; + +struct cvi_vip_isp_dhz_luma_tun_cfg { + union REG_ISP_DEHAZE_9 LUMA_00; + union REG_ISP_DEHAZE_10 LUMA_04; + union REG_ISP_DEHAZE_11 LUMA_08; + union REG_ISP_DEHAZE_12 LUMA_12; +}; + +struct cvi_vip_isp_dhz_skin_tun_cfg { + union REG_ISP_DEHAZE_17 SKIN_00; + union REG_ISP_DEHAZE_18 SKIN_04; + union REG_ISP_DEHAZE_19 SKIN_08; + union REG_ISP_DEHAZE_20 SKIN_12; +}; + +struct cvi_vip_isp_dhz_tmap_tun_cfg { + union REG_ISP_DEHAZE_TMAP_00 TMAP_00; + union REG_ISP_DEHAZE_TMAP_01 TMAP_01; + union REG_ISP_DEHAZE_TMAP_02 TMAP_02; + union REG_ISP_DEHAZE_TMAP_03 TMAP_03; + union REG_ISP_DEHAZE_TMAP_04 TMAP_04; + union REG_ISP_DEHAZE_TMAP_05 TMAP_05; + union REG_ISP_DEHAZE_TMAP_06 TMAP_06; + union REG_ISP_DEHAZE_TMAP_07 TMAP_07; + union REG_ISP_DEHAZE_TMAP_08 TMAP_08; + union REG_ISP_DEHAZE_TMAP_09 TMAP_09; + union REG_ISP_DEHAZE_TMAP_10 TMAP_10; + union REG_ISP_DEHAZE_TMAP_11 TMAP_11; + union REG_ISP_DEHAZE_TMAP_12 TMAP_12; + union REG_ISP_DEHAZE_TMAP_13 TMAP_13; + union REG_ISP_DEHAZE_TMAP_14 TMAP_14; + union REG_ISP_DEHAZE_TMAP_15 TMAP_15; + union REG_ISP_DEHAZE_TMAP_16 TMAP_16; + union REG_ISP_DEHAZE_TMAP_17 TMAP_17; + union REG_ISP_DEHAZE_TMAP_18 TMAP_18; + union REG_ISP_DEHAZE_TMAP_19 TMAP_19; + union REG_ISP_DEHAZE_TMAP_20 TMAP_20; + union REG_ISP_DEHAZE_TMAP_21 TMAP_21; + union REG_ISP_DEHAZE_TMAP_22 TMAP_22; + union REG_ISP_DEHAZE_TMAP_23 TMAP_23; + union REG_ISP_DEHAZE_TMAP_24 TMAP_24; + union REG_ISP_DEHAZE_TMAP_25 TMAP_25; + union REG_ISP_DEHAZE_TMAP_26 TMAP_26; + union REG_ISP_DEHAZE_TMAP_27 TMAP_27; + union REG_ISP_DEHAZE_TMAP_28 TMAP_28; + union REG_ISP_DEHAZE_TMAP_29 TMAP_29; + union REG_ISP_DEHAZE_TMAP_30 TMAP_30; + union REG_ISP_DEHAZE_TMAP_31 TMAP_31; + union REG_ISP_DEHAZE_TMAP_32 TMAP_32; +}; + +/* struct cvi_vip_isp_dhz_config + * @param strength: (0~127) dehaze strength + * @param th_smooth: (0~1023) threshold for edge/smooth classification. + */ +struct cvi_vip_isp_dhz_config { + __u8 update; + __u8 enable; + __u8 strength; + __u16 cum_th; + __u16 hist_th; + __u16 tmap_min; + __u16 tmap_max; + __u16 th_smooth; + __u8 luma_lut_enable; + __u8 skin_lut_enable; + __u8 a_luma_wgt; + __u8 blend_wgt; + __u8 tmap_scale; + __u8 d_wgt; + __u16 sw_dc_th; + __u16 sw_aglobal_r; + __u16 sw_aglobal_g; + __u16 sw_aglobal_b; + __u16 aglobal_max; + __u16 aglobal_min; + __u8 skin_cb; + __u8 skin_cr; + struct cvi_vip_isp_dhz_luma_tun_cfg luma_cfg; + struct cvi_vip_isp_dhz_skin_tun_cfg skin_cfg; + struct cvi_vip_isp_dhz_tmap_tun_cfg tmap_cfg; +}; + +struct cvi_isp_rgbcac_tun_cfg { + union REG_ISP_RGBCAC_PURPLE_TH RGBCAC_PURPLE_TH; + union REG_ISP_RGBCAC_PURPLE_CBCR RGBCAC_PURPLE_CBCR; + union REG_ISP_RGBCAC_PURPLE_CBCR2 RGBCAC_PURPLE_CBCR2; + union REG_ISP_RGBCAC_PURPLE_CBCR3 RGBCAC_PURPLE_CBCR3; + union REG_ISP_RGBCAC_GREEN_CBCR RGBCAC_GREEN_CBCR; + union REG_ISP_RGBCAC_EDGE_CORING RGBCAC_EDGE_CORING; + union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MIN RGBCAC_DEPURPLE_STR_RATIO_MIN; + union REG_ISP_RGBCAC_DEPURPLE_STR_RATIO_MAX RGBCAC_DEPURPLE_STR_RATIO_MAX; + union REG_ISP_RGBCAC_EDGE_WGT_LUT0 RGBCAC_EDGE_WGT_LUT0; + union REG_ISP_RGBCAC_EDGE_WGT_LUT1 RGBCAC_EDGE_WGT_LUT1; + union REG_ISP_RGBCAC_EDGE_WGT_LUT2 RGBCAC_EDGE_WGT_LUT2; + union REG_ISP_RGBCAC_EDGE_WGT_LUT3 RGBCAC_EDGE_WGT_LUT3; + union REG_ISP_RGBCAC_EDGE_WGT_LUT4 RGBCAC_EDGE_WGT_LUT4; + union REG_ISP_RGBCAC_LUMA RGBCAC_LUMA; + union REG_ISP_RGBCAC_LUMA_BLEND RGBCAC_LUMA_BLEND; + union REG_ISP_RGBCAC_LUMA_FILTER0 RGBCAC_LUMA_FILTER0; + union REG_ISP_RGBCAC_LUMA_FILTER1 RGBCAC_LUMA_FILTER1; + union REG_ISP_RGBCAC_VAR_FILTER0 RGBCAC_VAR_FILTER0; + union REG_ISP_RGBCAC_VAR_FILTER1 RGBCAC_VAR_FILTER1; + union REG_ISP_RGBCAC_CHROMA_FILTER0 RGBCAC_CHROMA_FILTER0; + union REG_ISP_RGBCAC_CHROMA_FILTER1 RGBCAC_CHROMA_FILTER1; + union REG_ISP_RGBCAC_CBCR_STR RGBCAC_CBCR_STR; +}; + +struct cvi_vip_isp_rgbcac_config { + __u8 update; + __u8 enable; + __u8 out_sel; + struct cvi_isp_rgbcac_tun_cfg rgbcac_cfg; +}; + +struct cvi_isp_cac_tun_cfg { + union REG_ISP_CNR_PURPLE_CB CNR_PURPLE_CB; + union REG_ISP_CNR_GREEN_CB CNR_GREEN_CB; +}; + +struct cvi_isp_cac_2_tun_cfg { + union REG_ISP_CNR_EDGE_SCALE CNR_EDGE_SCALE; + union REG_ISP_CNR_EDGE_RATIO_SPEED CNR_EDGE_RATIO_SPEED; + union REG_ISP_CNR_DEPURPLE_WEIGHT_TH CNR_DEPURPLE_WEIGHT_TH; +}; + +struct cvi_isp_cac_3_tun_cfg { + union REG_ISP_CNR_EDGE_SCALE_LUT_0 CNR_EDGE_SCALE_LUT_0; + union REG_ISP_CNR_EDGE_SCALE_LUT_4 CNR_EDGE_SCALE_LUT_4; + union REG_ISP_CNR_EDGE_SCALE_LUT_8 CNR_EDGE_SCALE_LUT_8; + union REG_ISP_CNR_EDGE_SCALE_LUT_12 CNR_EDGE_SCALE_LUT_12; + union REG_ISP_CNR_EDGE_SCALE_LUT_16 CNR_EDGE_SCALE_LUT_16; +}; + +struct cvi_vip_isp_cac_config { + __u8 update; + __u8 enable; + __u8 out_sel; + __u8 purple_th; + __u8 correct_strength; + __u8 purple_cb2; + __u8 purple_cr2; + __u8 purple_cb3; + __u8 purple_cr3; + struct cvi_isp_cac_tun_cfg cac_cfg; + struct cvi_isp_cac_2_tun_cfg cac_2_cfg; + struct cvi_isp_cac_3_tun_cfg cac_3_cfg; +}; + +struct cvi_isp_lcac_tun_cfg { + union REG_ISP_LCAC_REG04 REG04; + union REG_ISP_LCAC_REG08 REG08; + union REG_ISP_LCAC_REG0C REG0C; + union REG_ISP_LCAC_REG10 REG10; + union REG_ISP_LCAC_REG14 REG14; + union REG_ISP_LCAC_REG18 REG18; + union REG_ISP_LCAC_REG1C REG1C; + union REG_ISP_LCAC_REG20 REG20; + union REG_ISP_LCAC_REG24 REG24; + union REG_ISP_LCAC_REG28 REG28; + union REG_ISP_LCAC_REG2C REG2C; + union REG_ISP_LCAC_REG30 REG30; + union REG_ISP_LCAC_REG34 REG34; + union REG_ISP_LCAC_REG38 REG38; + union REG_ISP_LCAC_REG3C REG3C; + union REG_ISP_LCAC_REG40 REG40; + union REG_ISP_LCAC_REG44 REG44; + union REG_ISP_LCAC_REG48 REG48; + union REG_ISP_LCAC_REG4C REG4C; +}; + +struct cvi_isp_lcac_2_tun_cfg { + union REG_ISP_LCAC_REG50 REG50; + union REG_ISP_LCAC_REG54 REG54; + union REG_ISP_LCAC_REG58 REG58; + union REG_ISP_LCAC_REG5C REG5C; + union REG_ISP_LCAC_REG60 REG60; + union REG_ISP_LCAC_REG64 REG64; + union REG_ISP_LCAC_REG68 REG68; + union REG_ISP_LCAC_REG6C REG6C; +}; + +struct cvi_isp_lcac_3_tun_cfg { + union REG_ISP_LCAC_REG70 REG70; + union REG_ISP_LCAC_REG74 REG74; + union REG_ISP_LCAC_REG78 REG78; + union REG_ISP_LCAC_REG7C REG7C; + union REG_ISP_LCAC_REG80 REG80; + union REG_ISP_LCAC_REG84 REG84; + union REG_ISP_LCAC_REG88 REG88; + union REG_ISP_LCAC_REG8C REG8C; +}; + +struct cvi_vip_isp_lcac_config { + __u8 update; + __u8 enable; + __u8 out_sel; + __u8 lti_luma_lut_32; + __u8 fcf_luma_lut_32; + struct cvi_isp_lcac_tun_cfg lcac_cfg; + struct cvi_isp_lcac_2_tun_cfg lcac_2_cfg; + struct cvi_isp_lcac_3_tun_cfg lcac_3_cfg; +}; + +struct cvi_vip_isp_csc_config { + __u8 update; + __u8 enable; + __s16 coeff[9]; + __s16 offset[3]; +}; + +struct cvi_isp_dpc_tun_cfg { + union REG_ISP_DPC_3 DPC_3; + union REG_ISP_DPC_4 DPC_4; + union REG_ISP_DPC_5 DPC_5; + union REG_ISP_DPC_6 DPC_6; + union REG_ISP_DPC_7 DPC_7; + union REG_ISP_DPC_8 DPC_8; + union REG_ISP_DPC_9 DPC_9; +}; + +struct cvi_vip_isp_dpc_config { + __u8 update; + __u8 inst; + __u8 enable; + __u8 staticbpc_enable; + __u8 dynamicbpc_enable; + __u8 cluster_size; + __u32 bp_tbl[2047]; + __u16 bp_cnt; + struct cvi_isp_dpc_tun_cfg dpc_cfg; +}; + +struct cvi_isp_ae_tun_cfg { + union REG_ISP_AE_HIST_AE_FACE0_ENABLE AE_FACE0_ENABLE; + union REG_ISP_AE_HIST_AE_FACE0_STS_DIV AE_FACE0_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE1_STS_DIV AE_FACE1_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE2_STS_DIV AE_FACE2_STS_DIV; + union REG_ISP_AE_HIST_AE_FACE3_STS_DIV AE_FACE3_STS_DIV; + union REG_ISP_AE_HIST_STS_ENABLE STS_ENABLE; + union REG_ISP_AE_HIST_AE_ALGO_ENABLE AE_ALGO_ENABLE; + union REG_ISP_AE_HIST_AE_HIST_LOW AE_HIST_LOW; + union REG_ISP_AE_HIST_AE_HIST_HIGH AE_HIST_HIGH; + union REG_ISP_AE_HIST_AE_TOP AE_TOP; + union REG_ISP_AE_HIST_AE_BOT AE_BOT; + union REG_ISP_AE_HIST_AE_OVEREXP_THR AE_OVEREXP_THR; + union REG_ISP_AE_HIST_AE_NUM_GAPLINE AE_NUM_GAPLINE; +}; + +struct cvi_isp_ae_2_tun_cfg { + union REG_ISP_AE_HIST_AE_WGT_00 AE_WGT_00; + union REG_ISP_AE_HIST_AE_WGT_01 AE_WGT_01; + union REG_ISP_AE_HIST_AE_WGT_02 AE_WGT_02; + union REG_ISP_AE_HIST_AE_WGT_03 AE_WGT_03; + union REG_ISP_AE_HIST_AE_WGT_04 AE_WGT_04; + union REG_ISP_AE_HIST_AE_WGT_05 AE_WGT_05; + union REG_ISP_AE_HIST_AE_WGT_06 AE_WGT_06; + union REG_ISP_AE_HIST_AE_WGT_07 AE_WGT_07; + union REG_ISP_AE_HIST_AE_WGT_08 AE_WGT_08; + union REG_ISP_AE_HIST_AE_WGT_09 AE_WGT_09; + union REG_ISP_AE_HIST_AE_WGT_10 AE_WGT_10; + union REG_ISP_AE_HIST_AE_WGT_11 AE_WGT_11; + union REG_ISP_AE_HIST_AE_WGT_12 AE_WGT_12; + union REG_ISP_AE_HIST_AE_WGT_13 AE_WGT_13; + union REG_ISP_AE_HIST_AE_WGT_14 AE_WGT_14; + union REG_ISP_AE_HIST_AE_WGT_15 AE_WGT_15; + union REG_ISP_AE_HIST_AE_WGT_16 AE_WGT_16; + union REG_ISP_AE_HIST_AE_WGT_17 AE_WGT_17; + union REG_ISP_AE_HIST_AE_WGT_18 AE_WGT_18; + union REG_ISP_AE_HIST_AE_WGT_19 AE_WGT_19; + union REG_ISP_AE_HIST_AE_WGT_20 AE_WGT_20; + union REG_ISP_AE_HIST_AE_WGT_21 AE_WGT_21; + union REG_ISP_AE_HIST_AE_WGT_22 AE_WGT_22; + union REG_ISP_AE_HIST_AE_WGT_23 AE_WGT_23; + union REG_ISP_AE_HIST_AE_WGT_24 AE_WGT_24; + union REG_ISP_AE_HIST_AE_WGT_25 AE_WGT_25; + union REG_ISP_AE_HIST_AE_WGT_26 AE_WGT_26; + union REG_ISP_AE_HIST_AE_WGT_27 AE_WGT_27; + union REG_ISP_AE_HIST_AE_WGT_28 AE_WGT_28; + union REG_ISP_AE_HIST_AE_WGT_29 AE_WGT_29; + union REG_ISP_AE_HIST_AE_WGT_30 AE_WGT_30; + union REG_ISP_AE_HIST_AE_WGT_31 AE_WGT_31; +}; + +struct cvi_vip_isp_ae_config { + __u8 update; + __u8 inst; + __u8 ae_enable; + __u16 ae_offsetx; + __u16 ae_offsety; + __u8 ae_numx; + __u8 ae_numy; + __u16 ae_width; + __u16 ae_height; + __u16 ae_sts_div; + __u16 ae_face_offset_x[4]; + __u16 ae_face_offset_y[4]; + __u8 ae_face_size_minus1_x[4]; + __u8 ae_face_size_minus1_y[4]; + struct cvi_isp_ae_tun_cfg ae_cfg; + struct cvi_isp_ae_2_tun_cfg ae_2_cfg; +}; + +struct cvi_isp_ge_tun_cfg { + union REG_ISP_DPC_10 DPC_10; + union REG_ISP_DPC_11 DPC_11; + union REG_ISP_DPC_12 DPC_12; + union REG_ISP_DPC_13 DPC_13; + union REG_ISP_DPC_14 DPC_14; + union REG_ISP_DPC_15 DPC_15; + union REG_ISP_DPC_16 DPC_16; +}; + +struct cvi_vip_isp_ge_config { + __u8 update; + __u8 inst; + __u8 enable; + struct cvi_isp_ge_tun_cfg ge_cfg; +}; + +struct cvi_vip_isp_af_config { + __u8 update; + __u8 inst; + __u8 enable; + __u8 dpc_enable; + __u8 hlc_enable; + __u8 square_enable; + __u8 outshift; + __u8 num_gapline; + __u16 offsetx; + __u16 offsety; + __u16 block_width; + __u16 block_height; + __u8 block_numx; + __u8 block_numy; + __u8 h_low_pass_value_shift; + __u32 h_corning_offset_0; + __u32 h_corning_offset_1; + __u16 v_corning_offset; + __u16 high_luma_threshold; + __u8 h_low_pass_coef[5]; + __u8 h_high_pass_coef_0[5]; + __u8 h_high_pass_coef_1[5]; + __u8 v_high_pass_coef[3]; + __u8 th_low; + __u8 th_high; + __u8 gain_low; + __u8 gain_high; + __u8 slop_low; + __u8 slop_high; +}; + +struct cvi_vip_isp_hist_v_config { + __u8 update; + __u8 enable; + __u8 luma_mode; + __u16 offset_x; + __u16 offset_y; +}; + +struct cvi_vip_isp_gms_config { + __u8 update; + __u8 inst; + __u8 enable; + __u16 offset_x; + __u16 offset_y; + __u16 x_section_size; + __u16 y_section_size; + __u8 x_gap; + __u8 y_gap; +}; + +struct cvi_vip_isp_mono_config { + __u8 update; + __u8 force_mono_enable; +}; + +#if 0 +struct cvi_vip_isp_3dlut_config { + __u8 update; + __u8 enable; + __u8 h_clamp_wrap_opt; + __u16 h_lut[3276]; + __u16 s_lut[3276]; + __u16 v_lut[3276]; +}; + +struct cvi_vip_isp_lscr_config { + __u8 update; + __u8 inst; + __u8 enable; + __u16 strength; + __u16 strength_ir; + __u16 norm; + __u16 norm_ir; + __u16 centerx; + __u16 centery; + __u16 gain_lut[32]; + __u16 gain_lut1[32]; + __u16 gain_lut2[32]; + __u16 gain_lut_ir[32]; +}; + +struct cvi_vip_isp_awb_config { + __u8 update; + __u8 inst; + __u8 enable; + __u8 bayer_start; + __u16 awb_offsetx; + __u16 awb_offsety; + __u16 awb_sub_win_w; + __u16 awb_sub_win_h; + __u8 awb_numx; + __u8 awb_numy; + __u8 corner_avg_en; + __u8 corner_size; + __u8 awb_sts_div; + __u16 r_lower_bound; + __u16 r_upper_bound; + __u16 g_lower_bound; + __u16 g_upper_bound; + __u16 b_lower_bound; + __u16 b_upper_bound; +}; + +struct cvi_vip_isp_hsv_config { + __u8 update; + __u8 enable; + __u8 htune_enable; + __u8 stune_enable; + __u8 hsgain_enable; + __u8 hvgain_enable; + __u16 h_lut[769]; + __u16 s_lut[513]; + __u16 sgain_lut[769]; + __u16 vgain_lut[769]; +}; + +struct cvi_vip_isp_preproc_config { + __u8 update; + __u8 inst; + __u8 enable; + __s16 r_ir_ratio[128]; + __s16 g_ir_ratio[128]; + __s16 b_ir_ratio[128]; + __u8 w_lut[128]; +}; + +#endif + +struct cvi_vip_isp_fe_tun_cfg { + struct cvi_vip_isp_blc_config blc_cfg[2]; + struct cvi_vip_isp_wbg_config wbg_cfg[2]; +}; + +struct cvi_vip_isp_be_tun_cfg { + struct cvi_vip_isp_blc_config blc_cfg[2]; + struct cvi_vip_isp_dpc_config dpc_cfg[2]; + struct cvi_vip_isp_ge_config ge_cfg[2]; + struct cvi_vip_isp_af_config af_cfg; +}; + +struct cvi_vip_isp_post_tun_cfg { + struct cvi_vip_isp_bnr_config bnr_cfg; + struct cvi_vip_isp_lsc_config lsc_cfg; + struct cvi_vip_isp_ae_config ae_cfg[2]; + struct cvi_vip_isp_rgbcac_config rgbcac_cfg; + struct cvi_vip_isp_lcac_config lcac_cfg; + struct cvi_vip_isp_wbg_config wbg_cfg[2]; + struct cvi_vip_isp_ccm_config ccm_cfg[2]; + struct cvi_vip_isp_ygamma_config ygamma_cfg; + struct cvi_vip_isp_gamma_config gamma_cfg; + struct cvi_vip_isp_dhz_config dhz_cfg; + struct cvi_vip_isp_csc_config csc_cfg; + struct cvi_vip_isp_dci_config dci_cfg; + struct cvi_vip_isp_ldci_config ldci_cfg; + struct cvi_vip_isp_pre_ee_config pre_ee_cfg; + struct cvi_vip_isp_tnr_config tnr_cfg; + struct cvi_vip_isp_cnr_config cnr_cfg; + struct cvi_vip_isp_cac_config cac_cfg; + struct cvi_vip_isp_ynr_config ynr_cfg; + struct cvi_vip_isp_ee_config ee_cfg; + struct cvi_vip_isp_cacp_config cacp_cfg; + struct cvi_vip_isp_ca2_config ca2_cfg; + struct cvi_vip_isp_ycur_config ycur_cfg; + struct cvi_vip_isp_demosiac_config demosiac_cfg; + struct cvi_vip_isp_clut_config clut_cfg; + struct cvi_vip_isp_drc_config drc_cfg; + struct cvi_vip_isp_fswdr_config fswdr_cfg; + struct cvi_vip_isp_hist_v_config hist_v_cfg; + struct cvi_vip_isp_gms_config gms_cfg; + struct cvi_vip_isp_mono_config mono_cfg; +}; + +struct cvi_vip_isp_fe_cfg { + uint8_t tun_update[TUNING_NODE_NUM]; + uint8_t tun_idx; + struct cvi_vip_isp_fe_tun_cfg tun_cfg[TUNING_NODE_NUM]; +}; + +struct cvi_vip_isp_be_cfg { + uint8_t tun_update[TUNING_NODE_NUM]; + uint8_t tun_idx; + struct cvi_vip_isp_be_tun_cfg tun_cfg[TUNING_NODE_NUM]; +}; + +struct cvi_vip_isp_post_cfg { + uint8_t tun_update[TUNING_NODE_NUM]; + uint8_t tun_idx; + struct cvi_vip_isp_post_tun_cfg tun_cfg[TUNING_NODE_NUM]; +}; + +struct isp_tuning_cfg { + uint64_t fe_addr[ISP_PRERAW_MAX]; + void *fe_vir[ISP_PRERAW_MAX]; +#ifdef __arm__ + __u32 fe_padding[ISP_PRERAW_MAX]; +#endif + uint64_t be_addr[ISP_PRERAW_MAX]; + void *be_vir[ISP_PRERAW_MAX]; +#ifdef __arm__ + __u32 be_padding[ISP_PRERAW_MAX]; +#endif + uint64_t post_addr[ISP_PRERAW_MAX]; + void *post_vir[ISP_PRERAW_MAX]; +#ifdef __arm__ + __u32 post_padding[ISP_PRERAW_MAX]; +#endif +}; + +#ifdef __cplusplus +} +#endif + +#endif /* _U_CVI_VIP_TUN_CFG_H_ */ diff --git a/freertos/cvitek/install/include/hal/cif/cif_drv.h b/freertos/cvitek/install/include/hal/cif/cif_drv.h new file mode 100644 index 000000000..da95545e2 --- /dev/null +++ b/freertos/cvitek/install/include/hal/cif/cif_drv.h @@ -0,0 +1,531 @@ +#ifndef _CIF_DRV_H_ +#define _CIF_DRV_H_ + +#define MAX_LINK_NUM 3 +#define MAX_HDR_FRAME_NUM 2 +#define MAX_VC_NUM 4 + + +#define EXPORT_SYMBOL_GPL(x) + +#ifndef _OFST +#define _OFST(_BLK_T, _REG) ((uintptr_t)&(((struct _BLK_T *)0)->_REG)) +#endif + +#define CIF_RD_REG(_BA, _BLK_T, _REG) \ + (_reg_read(_BA+_OFST(_BLK_T, _REG))) + +#define CIF_RD_BITS(_BA, _BLK_T, _REG, _FLD) \ + ({\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD;\ + }) + +#define CIF_WR_REG(_BA, _BLK_T, _REG, _V) \ + (_reg_write((_BA+_OFST(_BLK_T, _REG)), _V)) + +#define CIF_WR_BITS(_BA, _BLK_T, _REG, _FLD, _V) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD = _V;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define CIF_WR_BITS_GRP2(_BA, _BLK_T, _REG, _FLD1, _V1, _FLD2, _V2) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD1 = _V1;\ + _r.bits._FLD2 = _V2;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define CIF_WR_BITS_GRP3(_BA, _BLK_T, _REG, _FLD1, _V1, _FLD2, _V2, \ + _FLD3, _V3) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = _reg_read(_BA+_OFST(_BLK_T, _REG));\ + _r.bits._FLD1 = _V1;\ + _r.bits._FLD2 = _V2;\ + _r.bits._FLD3 = _V3;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define CIF_WO_BITS(_BA, _BLK_T, _REG, _FLD, _V) \ + do {\ + typeof(((struct _BLK_T *)0)->_REG) _r;\ + _r.raw = 0;\ + _r.bits._FLD = _V;\ + _reg_write((_BA+_OFST(_BLK_T, _REG)), _r.raw);\ + } while (0) + +#define CIF_INT_STS_ECC_ERR_OFFSET 0U +#define CIF_INT_STS_CRC_ERR_OFFSET 1U +#define CIF_INT_STS_HDR_ERR_OFFSET 2U +#define CIF_INT_STS_WC_ERR_OFFSET 3U +#define CIF_INT_STS_FIFO_FULL_OFFSET 4U + +#define CIF_INT_STS_ECC_ERR_MASK (1U<> CIF_BLK_REGS_BITW) \ + & ((1 << CIF_BLK_ID_BITW) - 1)) + +/* CIF REG FIELD DEFINE */ + +/* CIF CSI MAC BLOCK ADDR OFFSET DEFINE */ +#define CIF_MAC_BLK_BA_TOP (0x00000000) //sensor mac +#define CIF_MAC_BLK_BA_SLVDS (0x00000200) //subLVDS +#define CIF_MAC_BLK_BA_CSI (0x00000400) //csi_ctrl_top + +enum CIF_MAC_BLK_ID_T { + CIF_MAC_BLK_ID_TOP = MAP_CIF_BLOCK_ID(CIF_MAC_BLK_BA_TOP), + CIF_MAC_BLK_ID_SLVDS = MAP_CIF_BLOCK_ID(CIF_MAC_BLK_BA_SLVDS), + CIF_MAC_BLK_ID_CSI = MAP_CIF_BLOCK_ID(CIF_MAC_BLK_BA_CSI), + CIF_MAC_BLK_ID_MAX +}; + +/* CIF CSI WRAP BLOCK ADDR OFFSET DEFINE */ +#define CIF_WRAP_BLK_BA_TOP (0x00000000) +#define CIF_WRAP_BLK_BA_4L (0x00000300) +#define CIF_WRAP_BLK_BA_2L (0x00000600) + +enum CIF_WRAP_BLK_ID_T { + CIF_WRAP_BLK_ID_TOP = MAP_CIF_BLOCK_ID(CIF_WRAP_BLK_BA_TOP), + CIF_WRAP_BLK_ID_4L = MAP_CIF_BLOCK_ID(CIF_WRAP_BLK_BA_4L), + CIF_WRAP_BLK_ID_2L = MAP_CIF_BLOCK_ID(CIF_WRAP_BLK_BA_2L), + CIF_WRAP_BLK_ID_MAX +}; + +#endif //_CIF_REG_H_ diff --git a/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_mac.h b/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_mac.h new file mode 100644 index 000000000..c0d2daba9 --- /dev/null +++ b/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_mac.h @@ -0,0 +1,174 @@ +#ifndef _REG_BLOCKS_CSI_MAC_H_ +#define _REG_BLOCKS_CSI_MAC_H_ + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SENSOR_MAC_T { + union REG_SENSOR_MAC_00 REG_00; + uint32_t _resv_0x4[3]; + union REG_SENSOR_MAC_10 REG_10; + union REG_SENSOR_MAC_14 REG_14; + union REG_SENSOR_MAC_18 REG_18; + union REG_SENSOR_MAC_1C REG_1C; + union REG_SENSOR_MAC_20 REG_20; + union REG_SENSOR_MAC_24 REG_24; + union REG_SENSOR_MAC_28 REG_28; + uint32_t _resv_0x2c[1]; + union REG_SENSOR_MAC_30 REG_30; + union REG_SENSOR_MAC_34 REG_34; + uint32_t _resv_0x38[2]; + union REG_SENSOR_MAC_40 REG_40; + union REG_SENSOR_MAC_44 REG_44; + union REG_SENSOR_MAC_48 REG_48; + union REG_SENSOR_MAC_4C REG_4C; + union REG_SENSOR_MAC_50 REG_50; + union REG_SENSOR_MAC_54 REG_54; + union REG_SENSOR_MAC_58 REG_58; + uint32_t _resv_0x5c[1]; + union REG_SENSOR_MAC_60 REG_60; + union REG_SENSOR_MAC_64 REG_64; + union REG_SENSOR_MAC_68 REG_68; + union REG_SENSOR_MAC_6C REG_6C; + union REG_SENSOR_MAC_70 REG_70; + union REG_SENSOR_MAC_74 REG_74; + uint32_t _resv_0x78[2]; + union REG_SENSOR_MAC_80 REG_80; + union REG_SENSOR_MAC_84 REG_84; + union REG_SENSOR_MAC_88 REG_88; + union REG_SENSOR_MAC_8C REG_8C; + union REG_SENSOR_MAC_90 REG_90; + union REG_SENSOR_MAC_94 REG_94; + union REG_SENSOR_MAC_98 REG_98; + union REG_SENSOR_MAC_9C REG_9C; + union REG_SENSOR_MAC_A0 REG_A0; + union REG_SENSOR_MAC_A4 REG_A4; + union REG_SENSOR_MAC_A8 REG_A8; + uint32_t _resv_0xac[1]; + union REG_SENSOR_MAC_B0 REG_B0; + union REG_SENSOR_MAC_B4 REG_B4; + union REG_SENSOR_MAC_B8 REG_B8; + union REG_SENSOR_MAC_BC REG_BC; + union REG_SENSOR_MAC_C0 REG_C0; + union REG_SENSOR_MAC_C4 REG_C4; + union REG_SENSOR_MAC_C8 REG_C8; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SUBLVDS_CTRL_TOP_T { + union REG_SUBLVDS_CTRL_TOP_00 REG_00; + union REG_SUBLVDS_CTRL_TOP_04 REG_04; + union REG_SUBLVDS_CTRL_TOP_08 REG_08; + union REG_SUBLVDS_CTRL_TOP_0C REG_0C; + union REG_SUBLVDS_CTRL_TOP_10 REG_10; + union REG_SUBLVDS_CTRL_TOP_14 REG_14; + union REG_SUBLVDS_CTRL_TOP_18 REG_18; + union REG_SUBLVDS_CTRL_TOP_1C REG_1C; + union REG_SUBLVDS_CTRL_TOP_20 REG_20; + union REG_SUBLVDS_CTRL_TOP_24 REG_24; + union REG_SUBLVDS_CTRL_TOP_28 REG_28; + union REG_SUBLVDS_CTRL_TOP_2C REG_2C; + union REG_SUBLVDS_CTRL_TOP_30 REG_30; + uint32_t _resv_0x34[3]; + union REG_SUBLVDS_CTRL_TOP_40 REG_40; + uint32_t _resv_0x44[3]; + union REG_SUBLVDS_CTRL_TOP_50 REG_50; + union REG_SUBLVDS_CTRL_TOP_54 REG_54; + union REG_SUBLVDS_CTRL_TOP_58 REG_58; + uint32_t _resv_0x5c[1]; + union REG_SUBLVDS_CTRL_TOP_60 REG_60; + union REG_SUBLVDS_CTRL_TOP_64 REG_64; + union REG_SUBLVDS_CTRL_TOP_68 REG_68; + union REG_SUBLVDS_CTRL_TOP_6C REG_6C; + union REG_SUBLVDS_CTRL_TOP_70 REG_70; + union REG_SUBLVDS_CTRL_TOP_74 REG_74; + uint32_t _resv_0x78[2]; + union REG_SUBLVDS_CTRL_TOP_80 REG_80; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_CSI_CTRL_TOP_T { + union REG_CSI_CTRL_TOP_00 REG_00; + union REG_CSI_CTRL_TOP_04 REG_04; + union REG_CSI_CTRL_TOP_08 REG_08; + union REG_CSI_CTRL_TOP_0C REG_0C; + union REG_CSI_CTRL_TOP_10 REG_10; + union REG_CSI_CTRL_TOP_14 REG_14; + union REG_CSI_CTRL_TOP_18 REG_18; + union REG_CSI_CTRL_TOP_1C REG_1C; + union REG_CSI_CTRL_TOP_20 REG_20; + union REG_CSI_CTRL_TOP_24 REG_24; + uint32_t _resv_0x28[2]; + union REG_CSI_CTRL_TOP_30 REG_30; + union REG_CSI_CTRL_TOP_34 REG_34; + uint32_t _resv_0x38[2]; + union REG_CSI_CTRL_TOP_40 REG_40; + uint32_t _resv_0x44[1]; + union REG_CSI_CTRL_TOP_48 REG_48; + union REG_CSI_CTRL_TOP_4C REG_4C; + union REG_CSI_CTRL_TOP_50 REG_50; + union REG_CSI_CTRL_TOP_54 REG_54; + union REG_CSI_CTRL_TOP_58 REG_58; + union REG_CSI_CTRL_TOP_5C REG_5C; + union REG_CSI_CTRL_TOP_60 REG_60; + union REG_CSI_CTRL_TOP_64 REG_64; + uint32_t _resv_0x68[2]; + union REG_CSI_CTRL_TOP_70 REG_70; + union REG_CSI_CTRL_TOP_74 REG_74; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SENSOR_MAC_VI_T { + union REG_SENSOR_MAC_VI_00 REG_00; + uint32_t _resv_0x4[3]; + union REG_SENSOR_MAC_VI_10 REG_10; + union REG_SENSOR_MAC_VI_14 REG_14; + union REG_SENSOR_MAC_VI_18 REG_18; + union REG_SENSOR_MAC_VI_1C REG_1C; + union REG_SENSOR_MAC_VI_20 REG_20; + union REG_SENSOR_MAC_VI_24 REG_24; + union REG_SENSOR_MAC_VI_28 REG_28; + uint32_t _resv_0x2c[1]; + union REG_SENSOR_MAC_VI_30 REG_30; + union REG_SENSOR_MAC_VI_34 REG_34; + uint32_t _resv_0x38[2]; + union REG_SENSOR_MAC_VI_40 REG_40; + union REG_SENSOR_MAC_VI_44 REG_44; + union REG_SENSOR_MAC_VI_48 REG_48; + union REG_SENSOR_MAC_VI_4C REG_4C; + uint32_t _resv_0x50[4]; + union REG_SENSOR_MAC_VI_60 REG_60; + union REG_SENSOR_MAC_VI_64 REG_64; + union REG_SENSOR_MAC_VI_68 REG_68; + union REG_SENSOR_MAC_VI_6C REG_6C; + union REG_SENSOR_MAC_VI_70 REG_70; + union REG_SENSOR_MAC_VI_74 REG_74; + uint32_t _resv_0x78[2]; + union REG_SENSOR_MAC_VI_80 REG_80; + union REG_SENSOR_MAC_VI_84 REG_84; + union REG_SENSOR_MAC_VI_88 REG_88; + union REG_SENSOR_MAC_VI_8C REG_8C; + union REG_SENSOR_MAC_VI_90 REG_90; + union REG_SENSOR_MAC_VI_94 REG_94; + union REG_SENSOR_MAC_VI_98 REG_98; + union REG_SENSOR_MAC_VI_9C REG_9C; + union REG_SENSOR_MAC_VI_A0 REG_A0; + union REG_SENSOR_MAC_VI_A4 REG_A4; + union REG_SENSOR_MAC_VI_A8 REG_A8; + uint32_t _resv_0xac[1]; + union REG_SENSOR_MAC_VI_B0 REG_B0; + union REG_SENSOR_MAC_VI_B4 REG_B4; + union REG_SENSOR_MAC_VI_B8 REG_B8; + union REG_SENSOR_MAC_VI_BC REG_BC; + union REG_SENSOR_MAC_VI_C0 REG_C0; + union REG_SENSOR_MAC_VI_C4 REG_C4; + union REG_SENSOR_MAC_VI_C8 REG_C8; +}; + +#endif // _REG_BLOCKS_CSI_MAC_H_ diff --git a/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_wrap.h b/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_wrap.h new file mode 100644 index 000000000..ec4c86af1 --- /dev/null +++ b/freertos/cvitek/install/include/hal/cif/reg_blocks_csi_wrap.h @@ -0,0 +1,222 @@ +#ifndef _REG_BLOCKS_CSI_WRAP_H_ +#define _REG_BLOCKS_CSI_WRAP_H_ + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SENSOR_PHY_2L_T { + union REG_SENSOR_PHY_2L_00 REG_00; + union REG_SENSOR_PHY_2L_04 REG_04; + union REG_SENSOR_PHY_2L_08 REG_08; + union REG_SENSOR_PHY_2L_0C REG_0C; + union REG_SENSOR_PHY_2L_10 REG_10; + uint32_t _resv_0x14[3]; + union REG_SENSOR_PHY_2L_20 REG_20; + union REG_SENSOR_PHY_2L_24 REG_24; + union REG_SENSOR_PHY_2L_28 REG_28; + uint32_t _resv_0x2c[1]; + union REG_SENSOR_PHY_2L_30 REG_30; + union REG_SENSOR_PHY_2L_34 REG_34; + union REG_SENSOR_PHY_2L_38 REG_38; + union REG_SENSOR_PHY_2L_3C REG_3C; + union REG_SENSOR_PHY_2L_40 REG_40; + union REG_SENSOR_PHY_2L_44 REG_44; + union REG_SENSOR_PHY_2L_48 REG_48; + union REG_SENSOR_PHY_2L_4C REG_4C; + union REG_SENSOR_PHY_2L_50 REG_50; + union REG_SENSOR_PHY_2L_54 REG_54; + uint32_t _resv_0x58[14]; + union REG_SENSOR_PHY_2L_DBG_90 DBG_90; + union REG_SENSOR_PHY_2L_DBG_94 DBG_94; + union REG_SENSOR_PHY_2L_STATUS_98 STATUS_98; + union REG_SENSOR_PHY_2L_STATUS_9C STATUS_9C; + uint32_t _resv_0xa0[24]; + union REG_SENSOR_PHY_2L_D0_0 D0_0; + union REG_SENSOR_PHY_2L_D0_1 D0_1; + union REG_SENSOR_PHY_2L_D0_2 D0_2; + union REG_SENSOR_PHY_2L_D0_3 D0_3; + union REG_SENSOR_PHY_2L_D0_4 D0_4; + union REG_SENSOR_PHY_2L_D0_5 D0_5; + union REG_SENSOR_PHY_2L_D0_6 D0_6; + union REG_SENSOR_PHY_2L_D0_7 D0_7; + union REG_SENSOR_PHY_2L_D0_8 D0_8; + union REG_SENSOR_PHY_2L_D0_9 D0_9; + union REG_SENSOR_PHY_2L_D0_A D0_A; + union REG_SENSOR_PHY_2L_D0_B D0_B; + uint32_t _resv_0x130[4]; + union REG_SENSOR_PHY_2L_D1_0 D1_0; + union REG_SENSOR_PHY_2L_D1_1 D1_1; + union REG_SENSOR_PHY_2L_D1_2 D1_2; + union REG_SENSOR_PHY_2L_D1_3 D1_3; + union REG_SENSOR_PHY_2L_D1_4 D1_4; + union REG_SENSOR_PHY_2L_D1_5 D1_5; + union REG_SENSOR_PHY_2L_D1_6 D1_6; + union REG_SENSOR_PHY_2L_D1_7 D1_7; + union REG_SENSOR_PHY_2L_D1_8 D1_8; + union REG_SENSOR_PHY_2L_D1_9 D1_9; + union REG_SENSOR_PHY_2L_D1_A D1_A; + union REG_SENSOR_PHY_2L_D1_B D1_B; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SENSOR_PHY_4L_T { + union REG_SENSOR_PHY_4L_00 REG_00; + union REG_SENSOR_PHY_4L_04 REG_04; + union REG_SENSOR_PHY_4L_08 REG_08; + union REG_SENSOR_PHY_4L_0C REG_0C; + union REG_SENSOR_PHY_4L_10 REG_10; + uint32_t _resv_0x14[3]; + union REG_SENSOR_PHY_4L_20 REG_20; + union REG_SENSOR_PHY_4L_24 REG_24; + union REG_SENSOR_PHY_4L_28 REG_28; + uint32_t _resv_0x2c[1]; + union REG_SENSOR_PHY_4L_30 REG_30; + union REG_SENSOR_PHY_4L_34 REG_34; + union REG_SENSOR_PHY_4L_38 REG_38; + union REG_SENSOR_PHY_4L_3C REG_3C; + union REG_SENSOR_PHY_4L_40 REG_40; + union REG_SENSOR_PHY_4L_44 REG_44; + union REG_SENSOR_PHY_4L_48 REG_48; + union REG_SENSOR_PHY_4L_4C REG_4C; + union REG_SENSOR_PHY_4L_50 REG_50; + union REG_SENSOR_PHY_4L_54 REG_54; + union REG_SENSOR_PHY_4L_58 REG_58; + union REG_SENSOR_PHY_4L_5C REG_5C; + union REG_SENSOR_PHY_4L_60 REG_60; + union REG_SENSOR_PHY_4L_64 REG_64; + uint32_t _resv_0x68[10]; + union REG_SENSOR_PHY_4L_DBG_90 DBG_90; + union REG_SENSOR_PHY_4L_DBG_94 DBG_94; + union REG_SENSOR_PHY_4L_STATUS_98 STATUS_98; + union REG_SENSOR_PHY_4L_STATUS_9C STATUS_9C; + uint32_t _resv_0xa0[1]; + union REG_SENSOR_PHY_4L_STATUS_A4 STATUS_A4; + union REG_SENSOR_PHY_4L_STATUS_A8 STATUS_A8; + uint32_t _resv_0xac[21]; + union REG_SENSOR_PHY_4L_D0_0 D0_0; + union REG_SENSOR_PHY_4L_D0_1 D0_1; + union REG_SENSOR_PHY_4L_D0_2 D0_2; + union REG_SENSOR_PHY_4L_D0_3 D0_3; + union REG_SENSOR_PHY_4L_D0_4 D0_4; + union REG_SENSOR_PHY_4L_D0_5 D0_5; + union REG_SENSOR_PHY_4L_D0_6 D0_6; + union REG_SENSOR_PHY_4L_D0_7 D0_7; + union REG_SENSOR_PHY_4L_D0_8 D0_8; + union REG_SENSOR_PHY_4L_D0_9 D0_9; + union REG_SENSOR_PHY_4L_D0_A D0_A; + union REG_SENSOR_PHY_4L_D0_B D0_B; + uint32_t _resv_0x130[4]; + union REG_SENSOR_PHY_4L_D1_0 D1_0; + union REG_SENSOR_PHY_4L_D1_1 D1_1; + union REG_SENSOR_PHY_4L_D1_2 D1_2; + union REG_SENSOR_PHY_4L_D1_3 D1_3; + union REG_SENSOR_PHY_4L_D1_4 D1_4; + union REG_SENSOR_PHY_4L_D1_5 D1_5; + union REG_SENSOR_PHY_4L_D1_6 D1_6; + union REG_SENSOR_PHY_4L_D1_7 D1_7; + union REG_SENSOR_PHY_4L_D1_8 D1_8; + union REG_SENSOR_PHY_4L_D1_9 D1_9; + union REG_SENSOR_PHY_4L_D1_A D1_A; + union REG_SENSOR_PHY_4L_D1_B D1_B; + uint32_t _resv_0x170[4]; + union REG_SENSOR_PHY_4L_D2_0 D2_0; + union REG_SENSOR_PHY_4L_D2_1 D2_1; + union REG_SENSOR_PHY_4L_D2_2 D2_2; + union REG_SENSOR_PHY_4L_D2_3 D2_3; + union REG_SENSOR_PHY_4L_D2_4 D2_4; + union REG_SENSOR_PHY_4L_D2_5 D2_5; + union REG_SENSOR_PHY_4L_D2_6 D2_6; + union REG_SENSOR_PHY_4L_D2_7 D2_7; + union REG_SENSOR_PHY_4L_D2_8 D2_8; + union REG_SENSOR_PHY_4L_D2_9 D2_9; + union REG_SENSOR_PHY_4L_D2_A D2_A; + union REG_SENSOR_PHY_4L_D2_B D2_B; + uint32_t _resv_0x1b0[4]; + union REG_SENSOR_PHY_4L_D3_0 D3_0; + union REG_SENSOR_PHY_4L_D3_1 D3_1; + union REG_SENSOR_PHY_4L_D3_2 D3_2; + union REG_SENSOR_PHY_4L_D3_3 D3_3; + union REG_SENSOR_PHY_4L_D3_4 D3_4; + union REG_SENSOR_PHY_4L_D3_5 D3_5; + union REG_SENSOR_PHY_4L_D3_6 D3_6; + union REG_SENSOR_PHY_4L_D3_7 D3_7; + union REG_SENSOR_PHY_4L_D3_8 D3_8; + union REG_SENSOR_PHY_4L_D3_9 D3_9; + union REG_SENSOR_PHY_4L_D3_A D3_A; + union REG_SENSOR_PHY_4L_D3_B D3_B; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +struct REG_SENSOR_PHY_TOP_T { + union REG_SENSOR_PHY_TOP_00 REG_00; + union REG_SENSOR_PHY_TOP_04 REG_04; + union REG_SENSOR_PHY_TOP_08 REG_08; + union REG_SENSOR_PHY_TOP_0C REG_0C; + union REG_SENSOR_PHY_TOP_10 REG_10; + uint32_t _resv_0x14[3]; + union REG_SENSOR_PHY_TOP_20 REG_20; + union REG_SENSOR_PHY_TOP_24 REG_24; + uint32_t _resv_0x28[1]; + union REG_SENSOR_PHY_TOP_2C REG_2C; + union REG_SENSOR_PHY_TOP_30 REG_30; + union REG_SENSOR_PHY_TOP_34 REG_34; + union REG_SENSOR_PHY_TOP_38 REG_38; + union REG_SENSOR_PHY_TOP_3C REG_3C; + union REG_SENSOR_PHY_TOP_40 REG_40; + union REG_SENSOR_PHY_TOP_44 REG_44; + union REG_SENSOR_PHY_TOP_48 REG_48; + uint32_t _resv_0x4c[9]; + union REG_SENSOR_PHY_TOP_70 REG_70; + union REG_SENSOR_PHY_TOP_74 REG_74; + uint32_t _resv_0x78[1]; + union REG_SENSOR_PHY_TOP_7C REG_7C; + union REG_SENSOR_PHY_TOP_80 REG_80; + union REG_SENSOR_PHY_TOP_84 REG_84; + union REG_SENSOR_PHY_TOP_88 REG_88; + uint32_t _resv_0x8c[1]; + union REG_SENSOR_PHY_TOP_90 REG_90; + union REG_SENSOR_PHY_TOP_94 REG_94; + uint32_t _resv_0x98[2]; + union REG_SENSOR_PHY_TOP_A0 REG_A0; + union REG_SENSOR_PHY_TOP_A4 REG_A4; + union REG_SENSOR_PHY_TOP_A8 REG_A8; + union REG_SENSOR_PHY_TOP_AC REG_AC; + uint32_t _resv_0xb0[20]; + union REG_SENSOR_PHY_TOP_DFT_100 DFT_100; + union REG_SENSOR_PHY_TOP_DFT_104 DFT_104; + union REG_SENSOR_PHY_TOP_DFT_108 DFT_108; + union REG_SENSOR_PHY_TOP_DFT_10C DFT_10C; + union REG_SENSOR_PHY_TOP_DFT_110 DFT_110; + union REG_SENSOR_PHY_TOP_DFT_114 DFT_114; + uint32_t _resv_0x118[1]; + union REG_SENSOR_PHY_TOP_DFT_11C DFT_11C; + union REG_SENSOR_PHY_TOP_DBG_12 DBG_12; + uint32_t _resv_0x124[55]; + union REG_SENSOR_PHY_TOP_TEST_0 TEST_0; + union REG_SENSOR_PHY_TOP_TEST_1 TEST_1; + union REG_SENSOR_PHY_TOP_TEST_2 TEST_2; + union REG_SENSOR_PHY_TOP_TEST_3 TEST_3; + union REG_SENSOR_PHY_TOP_TEST_4 TEST_4; + union REG_SENSOR_PHY_TOP_TEST_5 TEST_5; + union REG_SENSOR_PHY_TOP_TEST_6 TEST_6; + union REG_SENSOR_PHY_TOP_TEST_7 TEST_7; + union REG_SENSOR_PHY_TOP_TEST_8 TEST_8; + union REG_SENSOR_PHY_TOP_TEST_9 TEST_9; + union REG_SENSOR_PHY_TOP_TEST_A TEST_A; + union REG_SENSOR_PHY_TOP_TEST_B TEST_B; + uint32_t _resv_0x230[12]; + union REG_SENSOR_PHY_TOP_DUMMY_D0 DUMMY_D0; + union REG_SENSOR_PHY_TOP_DUMMY_D1 DUMMY_D1; + union REG_SENSOR_PHY_TOP_DUMMY_D2 DUMMY_D2; + union REG_SENSOR_PHY_TOP_DUMMY_D3 DUMMY_D3; + union REG_SENSOR_PHY_TOP_DUMMY_D4 DUMMY_D4; + union REG_SENSOR_PHY_TOP_DUMMY_D5 DUMMY_D5; + union REG_SENSOR_PHY_TOP_DUMMY_D6 DUMMY_D6; + union REG_SENSOR_PHY_TOP_DUMMY_D7 DUMMY_D7; +}; + +#endif // _REG_BLOCKS_CSI_WRAP_H_ diff --git a/freertos/cvitek/install/include/hal/cif/reg_fields_csi_mac.h b/freertos/cvitek/install/include/hal/cif/reg_fields_csi_mac.h new file mode 100644 index 000000000..9be26f6fc --- /dev/null +++ b/freertos/cvitek/install/include/hal/cif/reg_fields_csi_mac.h @@ -0,0 +1,1311 @@ +#ifndef _REG_FIELDS_CSI_MAC_H_ +#define _REG_FIELDS_CSI_MAC_H_ + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SENSOR_MAC_00 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_MODE : 3; + uint32_t BT_DEMUX_ENABLE : 1; + uint32_t CSI_CTRL_ENABLE : 1; + uint32_t CSI_VS_INV : 1; + uint32_t CSI_HS_INV : 1; + uint32_t _rsv_7 : 1; + uint32_t SUBLVDS_CTRL_ENABLE : 1; + uint32_t SUBLVDS_VS_INV : 1; + uint32_t SUBLVDS_HS_INV : 1; + uint32_t SUBLVDS_HDR_INV : 1; + uint32_t SLVSEC_CTRL_ENABLE : 1; + uint32_t SLVSEC_VS_INV : 1; + uint32_t SLVSEC_HS_INV : 1; + uint32_t _rsv_15 : 1; + uint32_t MASK_UP : 1; + uint32_t SHRD_SEL : 1; + uint32_t SW_UP : 1; + uint32_t _rsv_19 : 5; + uint32_t DBG_SEL : 8; + } bits; +}; + +union REG_SENSOR_MAC_10 { + uint32_t raw; + struct { + uint32_t TTL_IP_EN : 1; + uint32_t TTL_SENSOR_BIT : 2; + uint32_t _rsv_3 : 1; + uint32_t TTL_BT_FMT_OUT : 2; + uint32_t _rsv_6 : 2; + uint32_t TTL_FMT_IN : 4; + uint32_t TTL_BT_DATA_SEQ : 2; + uint32_t TTL_VS_INV : 1; + uint32_t TTL_HS_INV : 1; + } bits; +}; + +union REG_SENSOR_MAC_14 { + uint32_t raw; + struct { + uint32_t TTL_VS_BP : 12; + uint32_t _rsv_12 : 4; + uint32_t TTL_HS_BP : 12; + } bits; +}; + +union REG_SENSOR_MAC_18 { + uint32_t raw; + struct { + uint32_t TTL_IMG_WD : 12; + uint32_t _rsv_12 : 4; + uint32_t TTL_IMG_HT : 12; + } bits; +}; + +union REG_SENSOR_MAC_1C { + uint32_t raw; + struct { + uint32_t TTL_SYNC_0 : 16; + uint32_t TTL_SYNC_1 : 16; + } bits; +}; + +union REG_SENSOR_MAC_20 { + uint32_t raw; + struct { + uint32_t TTL_SYNC_2 : 16; + } bits; +}; + +union REG_SENSOR_MAC_24 { + uint32_t raw; + struct { + uint32_t TTL_SAV_VLD : 16; + uint32_t TTL_SAV_BLK : 16; + } bits; +}; + +union REG_SENSOR_MAC_28 { + uint32_t raw; + struct { + uint32_t TTL_EAV_VLD : 16; + uint32_t TTL_EAV_BLK : 16; + } bits; +}; + +union REG_SENSOR_MAC_30 { + uint32_t raw; + struct { + uint32_t VI_SEL : 3; + uint32_t VI_FROM : 1; + uint32_t VI_CLK_INV : 1; + uint32_t VI_V_SEL_VS : 1; + uint32_t VI_VS_DBG : 1; + uint32_t _rsv_7 : 1; + uint32_t PAD_VI0_CLK_INV : 1; + uint32_t PAD_VI1_CLK_INV : 1; + uint32_t PAD_VI2_CLK_INV : 1; + } bits; +}; + +union REG_SENSOR_MAC_34 { + uint32_t raw; + struct { + uint32_t VI_VS_DLY : 5; + uint32_t _rsv_5 : 1; + uint32_t VI_VS_DLY_EN : 1; + uint32_t _rsv_7 : 1; + uint32_t VI_HS_DLY : 5; + uint32_t _rsv_13 : 1; + uint32_t VI_HS_DLY_EN : 1; + uint32_t _rsv_15 : 1; + uint32_t VI_VDE_DLY : 5; + uint32_t _rsv_21 : 1; + uint32_t VI_VDE_DLY_EN : 1; + uint32_t _rsv_23 : 1; + uint32_t VI_HDE_DLY : 5; + uint32_t _rsv_29 : 1; + uint32_t VI_HDE_DLY_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_40 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_EN : 1; + uint32_t SENSOR_MAC_HDR_VSINV : 1; + uint32_t SENSOR_MAC_HDR_HSINV : 1; + uint32_t SENSOR_MAC_HDR_DEINV : 1; + uint32_t SENSOR_MAC_HDR_HDR0INV : 1; + uint32_t SENSOR_MAC_HDR_HDR1INV : 1; + uint32_t SENSOR_MAC_HDR_BLCINV : 1; + uint32_t _rsv_7 : 1; + uint32_t SENSOR_MAC_HDR_MODE : 1; + } bits; +}; + +union REG_SENSOR_MAC_44 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_SHIFT : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_HDR_VSIZE : 13; + } bits; +}; + +union REG_SENSOR_MAC_48 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_INFO_LINE_NUM : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_RM_INFO_LINE : 1; + } bits; +}; + +union REG_SENSOR_MAC_4C { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_LINE_CNT : 14; + } bits; +}; + +union REG_SENSOR_MAC_50 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_BLC0_EN : 1; + uint32_t SENSOR_MAC_BLC1_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_54 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_BLC0_START : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_BLC0_SIZE : 13; + } bits; +}; + +union REG_SENSOR_MAC_58 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_BLC1_START : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_BLC1_SIZE : 13; + } bits; +}; + +union REG_SENSOR_MAC_60 { + uint32_t raw; + struct { + uint32_t VI_VS_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_HS_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_VDE_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_HDE_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_64 { + uint32_t raw; + struct { + uint32_t VI_D0_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D1_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D2_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D3_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_68 { + uint32_t raw; + struct { + uint32_t VI_D4_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D5_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D6_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D7_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_6C { + uint32_t raw; + struct { + uint32_t VI_D8_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D9_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D10_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D11_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_70 { + uint32_t raw; + struct { + uint32_t VI_D12_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D13_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D14_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D15_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_74 { + uint32_t raw; + struct { + uint32_t VI_BT_D0_SEL : 3; + uint32_t _rsv_3 : 1; + uint32_t VI_BT_D1_SEL : 3; + uint32_t _rsv_7 : 1; + uint32_t VI_BT_D2_SEL : 3; + uint32_t _rsv_11 : 1; + uint32_t VI_BT_D3_SEL : 3; + uint32_t _rsv_15 : 1; + uint32_t VI_BT_D4_SEL : 3; + uint32_t _rsv_19 : 1; + uint32_t VI_BT_D5_SEL : 3; + uint32_t _rsv_23 : 1; + uint32_t VI_BT_D6_SEL : 3; + uint32_t _rsv_27 : 1; + uint32_t VI_BT_D7_SEL : 3; + } bits; +}; + +union REG_SENSOR_MAC_80 { + uint32_t raw; + struct { + uint32_t BT_CLR_SYNC_LOST_1T : 1; + uint32_t BT_IP_EN : 1; + uint32_t BT_DDR_MODE : 1; + uint32_t BT_HS_GATE_BY_VDE : 1; + uint32_t BT_VS_INV : 1; + uint32_t BT_HS_INV : 1; + uint32_t BT_VS_AS_VDE : 1; + uint32_t BT_HS_AS_HDE : 1; + uint32_t BT_SW_EN_CLK : 7; + uint32_t _rsv_15 : 1; + uint32_t BT_DEMUX_CH : 2; + uint32_t _rsv_18 : 2; + uint32_t BT_FMT_SEL : 3; + uint32_t _rsv_23 : 1; + uint32_t BT_SYNC_LOST : 1; + } bits; +}; + +union REG_SENSOR_MAC_84 { + uint32_t raw; + struct { + uint32_t BT_V_CTRL_DLY : 5; + uint32_t _rsv_5 : 3; + uint32_t BT_H_CTRL_DLY : 5; + } bits; +}; + +union REG_SENSOR_MAC_88 { + uint32_t raw; + struct { + uint32_t BT_IMG_WD_M1 : 12; + uint32_t _rsv_12 : 4; + uint32_t BT_IMG_HT_M1 : 12; + } bits; +}; + +union REG_SENSOR_MAC_8C { + uint32_t raw; + struct { + uint32_t BT_VS_BP_M1 : 12; + uint32_t _rsv_12 : 4; + uint32_t BT_HS_BP_M1 : 12; + } bits; +}; + +union REG_SENSOR_MAC_90 { + uint32_t raw; + struct { + uint32_t BT_VS_FP_M1 : 8; + uint32_t BT_HS_FP_M1 : 8; + } bits; +}; + +union REG_SENSOR_MAC_94 { + uint32_t raw; + struct { + uint32_t BT_SYNC_0 : 8; + uint32_t BT_SYNC_1 : 8; + uint32_t BT_SYNC_2 : 8; + } bits; +}; + +union REG_SENSOR_MAC_98 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_0 : 8; + uint32_t BT_SAV_BLK_0 : 8; + uint32_t BT_EAV_VLD_0 : 8; + uint32_t BT_EAV_BLK_0 : 8; + } bits; +}; + +union REG_SENSOR_MAC_9C { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_1 : 8; + uint32_t BT_SAV_BLK_1 : 8; + uint32_t BT_EAV_VLD_1 : 8; + uint32_t BT_EAV_BLK_1 : 8; + } bits; +}; + +union REG_SENSOR_MAC_A0 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_2 : 8; + uint32_t BT_SAV_BLK_2 : 8; + uint32_t BT_EAV_VLD_2 : 8; + uint32_t BT_EAV_BLK_2 : 8; + } bits; +}; + +union REG_SENSOR_MAC_A4 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_3 : 8; + uint32_t BT_SAV_BLK_3 : 8; + uint32_t BT_EAV_VLD_3 : 8; + uint32_t BT_EAV_BLK_3 : 8; + } bits; +}; + +union REG_SENSOR_MAC_A8 { + uint32_t raw; + struct { + uint32_t BT_YC_INV : 4; + } bits; +}; + +union REG_SENSOR_MAC_B0 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_CROP_START_X : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_CROP_END_X : 13; + uint32_t _rsv_29 : 2; + uint32_t SENSOR_MAC_CROP_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_B4 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_CROP_START_Y : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_CROP_END_Y : 13; + } bits; +}; + +union REG_SENSOR_MAC_B8 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_SWAPUV_EN : 1; + uint32_t SENSOR_MAC_SWAPYC_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_BC { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_HTOTAL_MAX : 16; + uint32_t SENSOR_MAC_DBG_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_C0 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_VTOTAL_MAX : 32; + } bits; +}; + +union REG_SENSOR_MAC_C4 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_HTOTAL : 16; + } bits; +}; + +union REG_SENSOR_MAC_C8 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_VTOTAL : 32; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SUBLVDS_CTRL_TOP_00 { + uint32_t raw; + struct { + uint32_t SLVDS_ENABLE : 8; + uint32_t SLVDS_BIT_MODE : 2; + uint32_t SLVDS_DATA_REVERSE : 1; + uint32_t _rsv_11 : 1; + uint32_t SLVDS_HDR_MODE : 1; + uint32_t SLVDS_HDR_PATTERN : 1; + uint32_t _rsv_14 : 2; + uint32_t SLVDS_VFPORCH : 10; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_04 { + uint32_t raw; + struct { + uint32_t SLVDS_SYNC_1ST : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_SYNC_2ND : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_08 { + uint32_t raw; + struct { + uint32_t SLVDS_SYNC_3RD : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_NORM_BK_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_0C { + uint32_t raw; + struct { + uint32_t SLVDS_NORM_BK_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_NORM_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_10 { + uint32_t raw; + struct { + uint32_t SLVDS_NORM_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N0_BK_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_14 { + uint32_t raw; + struct { + uint32_t SLVDS_N0_BK_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N1_BK_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_18 { + uint32_t raw; + struct { + uint32_t SLVDS_N1_BK_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N0_LEF_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_1C { + uint32_t raw; + struct { + uint32_t SLVDS_N0_LEF_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N0_SEF_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_20 { + uint32_t raw; + struct { + uint32_t SLVDS_N0_SEF_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N1_LEF_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_24 { + uint32_t raw; + struct { + uint32_t SLVDS_N1_LEF_EAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N1_SEF_SAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_28 { + uint32_t raw; + struct { + uint32_t SLVDS_N1_SEF_EAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_2C { + uint32_t raw; + struct { + uint32_t VS_GEN_SYNC_CODE : 12; + uint32_t VS_GEN_BY_SYNC_CODE : 1; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_30 { + uint32_t raw; + struct { + uint32_t SLVDS_LANE_MODE : 3; + uint32_t _rsv_3 : 1; + uint32_t SLVDS_SYNC_SOURCE : 8; + uint32_t SLVDS_FIFO_CLR : 1; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_40 { + uint32_t raw; + struct { + uint32_t SLVDS_FIFO_FULL : 1; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_50 { + uint32_t raw; + struct { + uint32_t SLVDS_N0_LSEF_SAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N0_LSEF_EAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_54 { + uint32_t raw; + struct { + uint32_t SLVDS_N1_LSEF_SAV : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_N1_LSEF_EAV : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_58 { + uint32_t raw; + struct { + uint32_t SLVDS_HDR_P2_HSIZE : 14; + uint32_t _rsv_14 : 2; + uint32_t SLVDS_HDR_P2_HBLANK : 14; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_60 { + uint32_t raw; + struct { + uint32_t HISPI_MODE : 1; + uint32_t HISPI_USE_HSIZE : 1; + uint32_t _rsv_2 : 2; + uint32_t HISPI_HDR_PSP_MODE : 1; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_64 { + uint32_t raw; + struct { + uint32_t HISPI_NORM_SOF : 12; + uint32_t _rsv_12 : 4; + uint32_t HISPI_NORM_EOF : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_68 { + uint32_t raw; + struct { + uint32_t HISPI_HDR_T1_SOF : 12; + uint32_t _rsv_12 : 4; + uint32_t HISPI_HDR_T1_EOF : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_6C { + uint32_t raw; + struct { + uint32_t HISPI_HDR_T1_SOL : 12; + uint32_t _rsv_12 : 4; + uint32_t HISPI_HDR_T1_EOL : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_70 { + uint32_t raw; + struct { + uint32_t HISPI_HDR_T2_SOF : 12; + uint32_t _rsv_12 : 4; + uint32_t HISPI_HDR_T2_EOF : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_74 { + uint32_t raw; + struct { + uint32_t HISPI_HDR_T2_SOL : 12; + uint32_t _rsv_12 : 4; + uint32_t HISPI_HDR_T2_EOL : 12; + } bits; +}; + +union REG_SUBLVDS_CTRL_TOP_80 { + uint32_t raw; + struct { + uint32_t DBG_SEL : 8; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_CSI_CTRL_TOP_00 { + uint32_t raw; + struct { + uint32_t CSI_LANE_MODE : 3; + uint32_t CSI_IGNORE_ECC : 1; + uint32_t CSI_VC_CHECK : 1; + uint32_t _rsv_5 : 3; + uint32_t CSI_VC_SET : 4; + uint32_t CSI_LINE_START_SENT : 1; + uint32_t CSI_FORMAT_FRC : 1; + uint32_t _rsv_14 : 2; + uint32_t CSI_FORMAT_SET : 8; + } bits; +}; + +union REG_CSI_CTRL_TOP_04 { + uint32_t raw; + struct { + uint32_t CSI_INTR_MASK : 8; + uint32_t CSI_INTR_CLR : 8; + uint32_t CSI_HDR_EN : 1; + uint32_t CSI_HDR_MODE : 1; + uint32_t CSI_ID_RM_ELSE : 1; + uint32_t CSI_ID_RM_OB : 1; + } bits; +}; + +union REG_CSI_CTRL_TOP_08 { + uint32_t raw; + struct { + uint32_t CSI_N0_OB_LEF : 16; + uint32_t CSI_N0_OB_SEF : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_0C { + uint32_t raw; + struct { + uint32_t CSI_N0_LEF : 16; + uint32_t CSI_N1_OB_LEF : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_10 { + uint32_t raw; + struct { + uint32_t CSI_N1_OB_SEF : 16; + uint32_t CSI_N1_LEF : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_14 { + uint32_t raw; + struct { + uint32_t CSI_BLC_DT : 6; + uint32_t _rsv_6 : 2; + uint32_t CSI_BLC_EN : 1; + uint32_t _rsv_9 : 3; + uint32_t CSI_BLC_FORMAT_SET : 3; + } bits; +}; + +union REG_CSI_CTRL_TOP_18 { + uint32_t raw; + struct { + uint32_t CSI_VC_MAP_CH00 : 4; + uint32_t CSI_VC_MAP_CH01 : 4; + uint32_t CSI_VC_MAP_CH10 : 4; + uint32_t CSI_VC_MAP_CH11 : 4; + } bits; +}; + +union REG_CSI_CTRL_TOP_1C { + uint32_t raw; + struct { + uint32_t CSI_N0_SEF : 16; + uint32_t CSI_N1_SEF : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_20 { + uint32_t raw; + struct { + uint32_t CSI_N0_SEF2 : 16; + uint32_t CSI_N1_SEF2 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_24 { + uint32_t raw; + struct { + uint32_t CSI_N0_OB_SEF2 : 16; + uint32_t CSI_N1_OB_SEF2 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_30 { + uint32_t raw; + struct { + uint32_t CSI_ECC_PH_DBG : 32; + } bits; +}; + +union REG_CSI_CTRL_TOP_34 { + uint32_t raw; + struct { + uint32_t CSI_ECC_CLR_PH_DBG : 1; + } bits; +}; + +union REG_CSI_CTRL_TOP_40 { + uint32_t raw; + struct { + uint32_t CSI_ECC_NO_ERROR : 1; + uint32_t CSI_ECC_CORRECTED_ERROR : 1; + uint32_t CSI_ECC_ERROR : 1; + uint32_t _rsv_3 : 1; + uint32_t CSI_CRC_ERROR : 1; + uint32_t CSI_WC_ERROR : 1; + uint32_t _rsv_6 : 2; + uint32_t CSI_FIFO_FULL : 1; + uint32_t _rsv_9 : 7; + uint32_t CSI_DECODE_FORMAT : 6; + } bits; +}; + +union REG_CSI_CTRL_TOP_48 { + uint32_t raw; + struct { + uint32_t SHORT_PKT_RSV1 : 16; + uint32_t SHORT_PKT_RSV2 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_4C { + uint32_t raw; + struct { + uint32_t SHORT_PKT_RSV3 : 16; + uint32_t SHORT_PKT_RSV4 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_50 { + uint32_t raw; + struct { + uint32_t GENERIC_SHORT_PKT1 : 16; + uint32_t GENERIC_SHORT_PKT2 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_54 { + uint32_t raw; + struct { + uint32_t GENERIC_SHORT_PKT3 : 16; + uint32_t GENERIC_SHORT_PKT4 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_58 { + uint32_t raw; + struct { + uint32_t GENERIC_SHORT_PKT5 : 16; + uint32_t GENERIC_SHORT_PKT6 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_5C { + uint32_t raw; + struct { + uint32_t GENERIC_SHORT_PKT7 : 16; + uint32_t GENERIC_SHORT_PKT8 : 16; + } bits; +}; + +union REG_CSI_CTRL_TOP_60 { + uint32_t raw; + struct { + uint32_t CSI_INTR_STATUS : 8; + } bits; +}; + +union REG_CSI_CTRL_TOP_64 { + uint32_t raw; + struct { + uint32_t CSI_DBG_SEL : 8; + } bits; +}; + +union REG_CSI_CTRL_TOP_70 { + uint32_t raw; + struct { + uint32_t CSI_VS_GEN_MODE : 2; + uint32_t _rsv_2 : 2; + uint32_t CSI_VS_GEN_BY_VCSET : 1; + uint32_t _rsv_5 : 3; + uint32_t CSI_VS_DELAY_SEL : 2; + uint32_t CSI_HS_DELAY_SEL : 2; + } bits; +}; + +union REG_CSI_CTRL_TOP_74 { + uint32_t raw; + struct { + uint32_t CSI_HDR_DT_MODE : 1; + uint32_t _rsv_1 : 3; + uint32_t CSI_HDR_DT_FORMAT : 6; + uint32_t _rsv_10 : 2; + uint32_t CSI_HDR_DT_LEF : 6; + uint32_t _rsv_18 : 2; + uint32_t CSI_HDR_DT_SEF : 6; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SENSOR_MAC_VI_00 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_MODE : 3; + uint32_t BT_DEMUX_ENABLE : 1; + uint32_t CSI_CTRL_ENABLE : 1; + uint32_t CSI_VS_INV : 1; + uint32_t CSI_HS_INV : 1; + uint32_t _rsv_7 : 1; + uint32_t SUBLVDS_CTRL_ENABLE : 1; + uint32_t SUBLVDS_VS_INV : 1; + uint32_t SUBLVDS_HS_INV : 1; + uint32_t SUBLVDS_HDR_INV : 1; + uint32_t SLVSEC_CTRL_ENABLE : 1; + uint32_t SLVSEC_VS_INV : 1; + uint32_t SLVSEC_HS_INV : 1; + uint32_t _rsv_15 : 1; + uint32_t MASK_UP : 1; + uint32_t SHRD_SEL : 1; + uint32_t SW_UP : 1; + uint32_t _rsv_19 : 5; + uint32_t DBG_SEL : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_10 { + uint32_t raw; + struct { + uint32_t TTL_IP_EN : 1; + uint32_t TTL_SENSOR_BIT : 2; + uint32_t _rsv_3 : 1; + uint32_t TTL_BT_FMT_OUT : 2; + uint32_t _rsv_6 : 2; + uint32_t TTL_FMT_IN : 4; + uint32_t TTL_BT_DATA_SEQ : 2; + uint32_t TTL_VS_INV : 1; + uint32_t TTL_HS_INV : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_14 { + uint32_t raw; + struct { + uint32_t TTL_VS_BP : 12; + uint32_t _rsv_12 : 4; + uint32_t TTL_HS_BP : 12; + } bits; +}; + +union REG_SENSOR_MAC_VI_18 { + uint32_t raw; + struct { + uint32_t TTL_IMG_WD : 12; + uint32_t _rsv_12 : 4; + uint32_t TTL_IMG_HT : 12; + } bits; +}; + +union REG_SENSOR_MAC_VI_1C { + uint32_t raw; + struct { + uint32_t TTL_SYNC_0 : 16; + uint32_t TTL_SYNC_1 : 16; + } bits; +}; + +union REG_SENSOR_MAC_VI_20 { + uint32_t raw; + struct { + uint32_t TTL_SYNC_2 : 16; + } bits; +}; + +union REG_SENSOR_MAC_VI_24 { + uint32_t raw; + struct { + uint32_t TTL_SAV_VLD : 16; + uint32_t TTL_SAV_BLK : 16; + } bits; +}; + +union REG_SENSOR_MAC_VI_28 { + uint32_t raw; + struct { + uint32_t TTL_EAV_VLD : 16; + uint32_t TTL_EAV_BLK : 16; + } bits; +}; + +union REG_SENSOR_MAC_VI_30 { + uint32_t raw; + struct { + uint32_t VI_SEL : 3; + uint32_t VI_FROM : 1; + uint32_t VI_CLK_INV : 1; + uint32_t VI_V_SEL_VS : 1; + uint32_t VI_VS_DBG : 1; + uint32_t _rsv_7 : 1; + uint32_t PAD_VI0_CLK_INV : 1; + uint32_t PAD_VI1_CLK_INV : 1; + uint32_t PAD_VI2_CLK_INV : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_34 { + uint32_t raw; + struct { + uint32_t VI_VS_DLY : 5; + uint32_t _rsv_5 : 1; + uint32_t VI_VS_DLY_EN : 1; + uint32_t _rsv_7 : 1; + uint32_t VI_HS_DLY : 5; + uint32_t _rsv_13 : 1; + uint32_t VI_HS_DLY_EN : 1; + uint32_t _rsv_15 : 1; + uint32_t VI_VDE_DLY : 5; + uint32_t _rsv_21 : 1; + uint32_t VI_VDE_DLY_EN : 1; + uint32_t _rsv_23 : 1; + uint32_t VI_HDE_DLY : 5; + uint32_t _rsv_29 : 1; + uint32_t VI_HDE_DLY_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_40 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_EN : 1; + uint32_t SENSOR_MAC_HDR_VSINV : 1; + uint32_t SENSOR_MAC_HDR_HSINV : 1; + uint32_t SENSOR_MAC_HDR_DEINV : 1; + uint32_t SENSOR_MAC_HDR_HDR0INV : 1; + uint32_t SENSOR_MAC_HDR_HDR1INV : 1; + uint32_t SENSOR_MAC_HDR_BLCINV : 1; + uint32_t _rsv_7 : 1; + uint32_t SENSOR_MAC_HDR_MODE : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_44 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_SHIFT : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_HDR_VSIZE : 13; + } bits; +}; + +union REG_SENSOR_MAC_VI_48 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_INFO_LINE_NUM : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_RM_INFO_LINE : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_4C { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_HDR_LINE_CNT : 14; + } bits; +}; + +union REG_SENSOR_MAC_VI_60 { + uint32_t raw; + struct { + uint32_t VI_VS_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_HS_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_VDE_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_HDE_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_VI_64 { + uint32_t raw; + struct { + uint32_t VI_D0_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D1_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D2_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D3_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_VI_68 { + uint32_t raw; + struct { + uint32_t VI_D4_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D5_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D6_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D7_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_VI_6C { + uint32_t raw; + struct { + uint32_t VI_D8_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D9_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D10_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D11_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_VI_70 { + uint32_t raw; + struct { + uint32_t VI_D12_SEL : 6; + uint32_t _rsv_6 : 2; + uint32_t VI_D13_SEL : 6; + uint32_t _rsv_14 : 2; + uint32_t VI_D14_SEL : 6; + uint32_t _rsv_22 : 2; + uint32_t VI_D15_SEL : 6; + } bits; +}; + +union REG_SENSOR_MAC_VI_74 { + uint32_t raw; + struct { + uint32_t VI_BT_D0_SEL : 3; + uint32_t _rsv_3 : 1; + uint32_t VI_BT_D1_SEL : 3; + uint32_t _rsv_7 : 1; + uint32_t VI_BT_D2_SEL : 3; + uint32_t _rsv_11 : 1; + uint32_t VI_BT_D3_SEL : 3; + uint32_t _rsv_15 : 1; + uint32_t VI_BT_D4_SEL : 3; + uint32_t _rsv_19 : 1; + uint32_t VI_BT_D5_SEL : 3; + uint32_t _rsv_23 : 1; + uint32_t VI_BT_D6_SEL : 3; + uint32_t _rsv_27 : 1; + uint32_t VI_BT_D7_SEL : 3; + } bits; +}; + +union REG_SENSOR_MAC_VI_80 { + uint32_t raw; + struct { + uint32_t BT_CLR_SYNC_LOST_1T : 1; + uint32_t BT_IP_EN : 1; + uint32_t BT_DDR_MODE : 1; + uint32_t BT_HS_GATE_BY_VDE : 1; + uint32_t BT_VS_INV : 1; + uint32_t BT_HS_INV : 1; + uint32_t BT_VS_AS_VDE : 1; + uint32_t BT_HS_AS_HDE : 1; + uint32_t BT_SW_EN_CLK : 7; + uint32_t _rsv_15 : 1; + uint32_t BT_DEMUX_CH : 2; + uint32_t _rsv_18 : 2; + uint32_t BT_FMT_SEL : 3; + uint32_t _rsv_23 : 1; + uint32_t BT_SYNC_LOST : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_84 { + uint32_t raw; + struct { + uint32_t BT_V_CTRL_DLY : 5; + uint32_t _rsv_5 : 3; + uint32_t BT_H_CTRL_DLY : 5; + } bits; +}; + +union REG_SENSOR_MAC_VI_88 { + uint32_t raw; + struct { + uint32_t BT_IMG_WD_M1 : 12; + uint32_t _rsv_12 : 4; + uint32_t BT_IMG_HT_M1 : 12; + } bits; +}; + +union REG_SENSOR_MAC_VI_8C { + uint32_t raw; + struct { + uint32_t BT_VS_BP_M1 : 12; + uint32_t _rsv_12 : 4; + uint32_t BT_HS_BP_M1 : 12; + } bits; +}; + +union REG_SENSOR_MAC_VI_90 { + uint32_t raw; + struct { + uint32_t BT_VS_FP_M1 : 8; + uint32_t BT_HS_FP_M1 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_94 { + uint32_t raw; + struct { + uint32_t BT_SYNC_0 : 8; + uint32_t BT_SYNC_1 : 8; + uint32_t BT_SYNC_2 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_98 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_0 : 8; + uint32_t BT_SAV_BLK_0 : 8; + uint32_t BT_EAV_VLD_0 : 8; + uint32_t BT_EAV_BLK_0 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_9C { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_1 : 8; + uint32_t BT_SAV_BLK_1 : 8; + uint32_t BT_EAV_VLD_1 : 8; + uint32_t BT_EAV_BLK_1 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_A0 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_2 : 8; + uint32_t BT_SAV_BLK_2 : 8; + uint32_t BT_EAV_VLD_2 : 8; + uint32_t BT_EAV_BLK_2 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_A4 { + uint32_t raw; + struct { + uint32_t BT_SAV_VLD_3 : 8; + uint32_t BT_SAV_BLK_3 : 8; + uint32_t BT_EAV_VLD_3 : 8; + uint32_t BT_EAV_BLK_3 : 8; + } bits; +}; + +union REG_SENSOR_MAC_VI_A8 { + uint32_t raw; + struct { + uint32_t BT_YC_INV : 4; + } bits; +}; + +union REG_SENSOR_MAC_VI_B0 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_CROP_START_X : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_CROP_END_X : 13; + uint32_t _rsv_29 : 2; + uint32_t SENSOR_MAC_CROP_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_B4 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_CROP_START_Y : 13; + uint32_t _rsv_13 : 3; + uint32_t SENSOR_MAC_CROP_END_Y : 13; + } bits; +}; + +union REG_SENSOR_MAC_VI_B8 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_SWAPUV_EN : 1; + uint32_t SENSOR_MAC_SWAPYC_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_BC { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_HTOTAL_MAX : 16; + uint32_t SENSOR_MAC_DBG_EN : 1; + } bits; +}; + +union REG_SENSOR_MAC_VI_C0 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_VTOTAL_MAX : 32; + } bits; +}; + +union REG_SENSOR_MAC_VI_C4 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_HTOTAL : 16; + } bits; +}; + +union REG_SENSOR_MAC_VI_C8 { + uint32_t raw; + struct { + uint32_t SENSOR_MAC_DBG_VTOTAL : 32; + } bits; +}; + +#endif // _REG_FIELDS_CSI_MAC_H_ diff --git a/freertos/cvitek/install/include/hal/cif/reg_fields_csi_wrap.h b/freertos/cvitek/install/include/hal/cif/reg_fields_csi_wrap.h new file mode 100644 index 000000000..456f8140a --- /dev/null +++ b/freertos/cvitek/install/include/hal/cif/reg_fields_csi_wrap.h @@ -0,0 +1,1686 @@ +#ifndef _REG_FIELDS_CSI_WRAP_H_ +#define _REG_FIELDS_CSI_WRAP_H_ + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SENSOR_PHY_2L_00 { + uint32_t raw; + struct { + uint32_t SENSOR_MODE : 2; + } bits; +}; + +union REG_SENSOR_PHY_2L_04 { + uint32_t raw; + struct { + uint32_t CSI_LANE_D0_SEL : 2; + uint32_t _rsv_2 : 2; + uint32_t CSI_LANE_D1_SEL : 2; + } bits; +}; + +union REG_SENSOR_PHY_2L_08 { + uint32_t raw; + struct { + uint32_t CSI_LANE_CK_SEL : 2; + uint32_t _rsv_2 : 2; + uint32_t CSI_LANE_CK_PNSWAP : 1; + uint32_t _rsv_5 : 3; + uint32_t CSI_LANE_D0_PNSWAP : 1; + uint32_t CSI_LANE_D1_PNSWAP : 1; + uint32_t _rsv_10 : 6; + uint32_t CSI_CK_PHASE : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_0C { + uint32_t raw; + struct { + uint32_t DESKEW_LANE_EN : 2; + uint32_t _rsv_2 : 14; + uint32_t PRBS9_TEST_PERIOD : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_10 { + uint32_t raw; + struct { + uint32_t T_HS_SETTLE : 8; + uint32_t T_ALL_ZERO : 8; + uint32_t AUTO_IGNORE : 1; + uint32_t AUTO_SYNC : 1; + } bits; +}; + +union REG_SENSOR_PHY_2L_20 { + uint32_t raw; + struct { + uint32_t SLVDS_INV_EN : 1; + uint32_t _rsv_1 : 1; + uint32_t SLVDS_BIT_MODE : 2; + uint32_t SLVDS_LANE_EN : 2; + uint32_t _rsv_6 : 6; + uint32_t SLVDS_FORCE_RESYNC : 1; + uint32_t SLVDS_RESYNC : 1; + uint32_t _rsv_14 : 2; + uint32_t SLVDS_SAV_1ST : 12; + } bits; +}; + +union REG_SENSOR_PHY_2L_24 { + uint32_t raw; + struct { + uint32_t SLVDS_SAV_2ND : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_SAV_3RD : 12; + } bits; +}; + +union REG_SENSOR_PHY_2L_28 { + uint32_t raw; + struct { + uint32_t SLVDS_D0_SYNC_STATE : 2; + uint32_t _rsv_2 : 2; + uint32_t SLVDS_D1_SYNC_STATE : 2; + } bits; +}; + +union REG_SENSOR_PHY_2L_30 { + uint32_t raw; + struct { + uint32_t SLVSEC_LANE_EN : 2; + uint32_t _rsv_2 : 6; + uint32_t SLVSEC_SKEW_CNT_EN : 1; + uint32_t SLVSEC_TRAIN_SEQ_CHK_EN : 1; + uint32_t _rsv_10 : 6; + uint32_t SLVSEC_SKEW_CONS : 5; + uint32_t SLVSEC_FORCE_RESYNC : 1; + uint32_t SLVSEC_RESYNC : 1; + uint32_t _rsv_23 : 1; + uint32_t SLVSEC_UNSTABLE_SKEW_CNT : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_34 { + uint32_t raw; + struct { + uint32_t SLVSEC_SYNC_SYMBOL : 9; + uint32_t _rsv_9 : 1; + uint32_t SLVSEC_STANDBY_SYMBOL : 9; + uint32_t _rsv_19 : 1; + uint32_t SLVSEC_DESKEW_SYMBOL : 9; + } bits; +}; + +union REG_SENSOR_PHY_2L_38 { + uint32_t raw; + struct { + uint32_t SLVSEC_PRBS9_TEST_PERIOD : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_3C { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_CLR : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_40 { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_MASK : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_44 { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_STATUS : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_48 { + uint32_t raw; + struct { + uint32_t SLVSEC_D0_TEST_PAT_EN : 1; + uint32_t SLVSEC_D0_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D0_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_2L_4C { + uint32_t raw; + struct { + uint32_t SLVSEC_D0_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D0_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D0_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D0_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D0_START_CODE_ERR : 1; + uint32_t SLVSEC_D0_END_CODE_ERR : 1; + uint32_t SLVSEC_D0_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D0_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D0_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_2L_50 { + uint32_t raw; + struct { + uint32_t SLVSEC_D1_TEST_PAT_EN : 1; + uint32_t SLVSEC_D1_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D1_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_2L_54 { + uint32_t raw; + struct { + uint32_t SLVSEC_D1_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D1_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D1_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D1_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D1_START_CODE_ERR : 1; + uint32_t SLVSEC_D1_END_CODE_ERR : 1; + uint32_t SLVSEC_D1_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D1_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D1_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_2L_DBG_90 { + uint32_t raw; + struct { + uint32_t CK_HS_STATE : 1; + uint32_t CK_ULPS_STATE : 1; + uint32_t CK_STOPSTATE : 1; + uint32_t CK_ERR_STATE : 1; + uint32_t DESKEW_STATE : 2; + } bits; +}; + +union REG_SENSOR_PHY_2L_DBG_94 { + uint32_t raw; + struct { + uint32_t D0_DATAHS_STATE : 3; + uint32_t _rsv_3 : 1; + uint32_t D1_DATAHS_STATE : 3; + } bits; +}; + +union REG_SENSOR_PHY_2L_STATUS_98 { + uint32_t raw; + struct { + uint32_t CK_LP_STATUS_CLR : 8; + uint32_t D0_LP_STATUS_CLR : 8; + uint32_t D1_LP_STATUS_CLR : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_STATUS_9C { + uint32_t raw; + struct { + uint32_t CK_LP_STATUS_OUT : 8; + uint32_t D0_LP_STATUS_OUT : 8; + uint32_t D1_LP_STATUS_OUT : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_0 { + uint32_t raw; + struct { + uint32_t D0_PRBS9_EN : 1; + uint32_t D0_PRBS9_CLR_ERR : 1; + uint32_t D0_PRBS9_SOURCE : 1; + uint32_t D0_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D0_CALIB_MAX : 8; + uint32_t D0_CALIB_STEP : 8; + uint32_t D0_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_1 { + uint32_t raw; + struct { + uint32_t D0_CALIB_EN : 1; + uint32_t D0_CALIB_SOURCE : 1; + uint32_t D0_CALIB_MODE : 1; + uint32_t D0_CALIB_IGNORE : 1; + uint32_t D0_CALIB_SETTLE : 3; + uint32_t D0_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D0_CALIB_SET_PHASE : 8; + uint32_t D0_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_2 { + uint32_t raw; + struct { + uint32_t D0_PRBS9_RX_ERR : 1; + uint32_t D0_PRBS9_TEST_DONE : 1; + uint32_t D0_PRBS9_TEST_PASS : 1; + uint32_t D0_SKEW_CALIB_DONE : 1; + uint32_t D0_SKEW_CALIB_FAIL : 1; + uint32_t D0_DATALP_STATE : 4; + uint32_t D0_DATALP_LPREQ2ERR : 1; + uint32_t D0_DATALP_DATAESC2ERR : 1; + uint32_t D0_DATALP_RSTTRI2ERR : 1; + uint32_t D0_DATALP_HSTEST2ERR : 1; + uint32_t D0_DATALP_ESCULP2ERR : 1; + uint32_t D0_DATALP_HS2ERR : 1; + uint32_t D0_DATA_EXIST_1ST_BYTE : 1; + uint32_t D0_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_3 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_4 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_5 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_6 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_7 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_8 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_9 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_A { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D0_B { + uint32_t raw; + struct { + uint32_t D0_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D0_CALIB_THRESHOLD : 8; + uint32_t D0_CALIB_GP_COUNT : 9; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_0 { + uint32_t raw; + struct { + uint32_t D1_PRBS9_EN : 1; + uint32_t D1_PRBS9_CLR_ERR : 1; + uint32_t D1_PRBS9_SOURCE : 1; + uint32_t D1_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D1_CALIB_MAX : 8; + uint32_t D1_CALIB_STEP : 8; + uint32_t D1_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_1 { + uint32_t raw; + struct { + uint32_t D1_CALIB_EN : 1; + uint32_t D1_CALIB_SOURCE : 1; + uint32_t D1_CALIB_MODE : 1; + uint32_t D1_CALIB_IGNORE : 1; + uint32_t D1_CALIB_SETTLE : 3; + uint32_t D1_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D1_CALIB_SET_PHASE : 8; + uint32_t D1_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_2 { + uint32_t raw; + struct { + uint32_t D1_PRBS9_RX_ERR : 1; + uint32_t D1_PRBS9_TEST_DONE : 1; + uint32_t D1_PRBS9_TEST_PASS : 1; + uint32_t D1_SKEW_CALIB_DONE : 1; + uint32_t D1_SKEW_CALIB_FAIL : 1; + uint32_t D1_DATALP_STATE : 4; + uint32_t D1_DATALP_LPREQ2ERR : 1; + uint32_t D1_DATALP_DATAESC2ERR : 1; + uint32_t D1_DATALP_RSTTRI2ERR : 1; + uint32_t D1_DATALP_HSTEST2ERR : 1; + uint32_t D1_DATALP_ESCULP2ERR : 1; + uint32_t D1_DATALP_HS2ERR : 1; + uint32_t D1_DATA_EXIST_1ST_BYTE : 1; + uint32_t D1_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_3 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_4 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_5 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_6 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_7 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_8 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_9 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_A { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_2L_D1_B { + uint32_t raw; + struct { + uint32_t D1_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D1_CALIB_THRESHOLD : 8; + uint32_t D1_CALIB_GP_COUNT : 9; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SENSOR_PHY_4L_00 { + uint32_t raw; + struct { + uint32_t SENSOR_MODE : 2; + } bits; +}; + +union REG_SENSOR_PHY_4L_04 { + uint32_t raw; + struct { + uint32_t CSI_LANE_D0_SEL : 3; + uint32_t _rsv_3 : 1; + uint32_t CSI_LANE_D1_SEL : 3; + uint32_t _rsv_7 : 1; + uint32_t CSI_LANE_D2_SEL : 3; + uint32_t _rsv_11 : 1; + uint32_t CSI_LANE_D3_SEL : 3; + } bits; +}; + +union REG_SENSOR_PHY_4L_08 { + uint32_t raw; + struct { + uint32_t CSI_LANE_CK_SEL : 3; + uint32_t _rsv_3 : 1; + uint32_t CSI_LANE_CK_PNSWAP : 1; + uint32_t _rsv_5 : 3; + uint32_t CSI_LANE_D0_PNSWAP : 1; + uint32_t CSI_LANE_D1_PNSWAP : 1; + uint32_t CSI_LANE_D2_PNSWAP : 1; + uint32_t CSI_LANE_D3_PNSWAP : 1; + uint32_t _rsv_12 : 4; + uint32_t CSI_CK_PHASE : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_0C { + uint32_t raw; + struct { + uint32_t DESKEW_LANE_EN : 4; + uint32_t _rsv_4 : 12; + uint32_t PRBS9_TEST_PERIOD : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_10 { + uint32_t raw; + struct { + uint32_t T_HS_SETTLE : 8; + uint32_t T_ALL_ZERO : 8; + uint32_t AUTO_IGNORE : 1; + uint32_t AUTO_SYNC : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_20 { + uint32_t raw; + struct { + uint32_t SLVDS_INV_EN : 1; + uint32_t _rsv_1 : 1; + uint32_t SLVDS_BIT_MODE : 2; + uint32_t SLVDS_LANE_EN : 4; + uint32_t _rsv_8 : 4; + uint32_t SLVDS_FORCE_RESYNC : 1; + uint32_t SLVDS_RESYNC : 1; + uint32_t _rsv_14 : 2; + uint32_t SLVDS_SAV_1ST : 12; + } bits; +}; + +union REG_SENSOR_PHY_4L_24 { + uint32_t raw; + struct { + uint32_t SLVDS_SAV_2ND : 12; + uint32_t _rsv_12 : 4; + uint32_t SLVDS_SAV_3RD : 12; + } bits; +}; + +union REG_SENSOR_PHY_4L_28 { + uint32_t raw; + struct { + uint32_t SLVDS_D0_SYNC_STATE : 2; + uint32_t _rsv_2 : 2; + uint32_t SLVDS_D1_SYNC_STATE : 2; + uint32_t _rsv_6 : 2; + uint32_t SLVDS_D2_SYNC_STATE : 2; + uint32_t _rsv_10 : 2; + uint32_t SLVDS_D3_SYNC_STATE : 2; + } bits; +}; + +union REG_SENSOR_PHY_4L_30 { + uint32_t raw; + struct { + uint32_t SLVSEC_LANE_EN : 4; + uint32_t _rsv_4 : 4; + uint32_t SLVSEC_SKEW_CNT_EN : 1; + uint32_t SLVSEC_TRAIN_SEQ_CHK_EN : 1; + uint32_t _rsv_10 : 6; + uint32_t SLVSEC_SKEW_CONS : 5; + uint32_t SLVSEC_FORCE_RESYNC : 1; + uint32_t SLVSEC_RESYNC : 1; + uint32_t _rsv_23 : 1; + uint32_t SLVSEC_UNSTABLE_SKEW_CNT : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_34 { + uint32_t raw; + struct { + uint32_t SLVSEC_SYNC_SYMBOL : 9; + uint32_t _rsv_9 : 1; + uint32_t SLVSEC_STANDBY_SYMBOL : 9; + uint32_t _rsv_19 : 1; + uint32_t SLVSEC_DESKEW_SYMBOL : 9; + } bits; +}; + +union REG_SENSOR_PHY_4L_38 { + uint32_t raw; + struct { + uint32_t SLVSEC_PRBS9_TEST_PERIOD : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_3C { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_CLR : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_40 { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_MASK : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_44 { + uint32_t raw; + struct { + uint32_t SLVSEC_PHY_INTR_STATUS : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_48 { + uint32_t raw; + struct { + uint32_t SLVSEC_D0_TEST_PAT_EN : 1; + uint32_t SLVSEC_D0_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D0_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_4C { + uint32_t raw; + struct { + uint32_t SLVSEC_D0_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D0_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D0_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D0_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D0_START_CODE_ERR : 1; + uint32_t SLVSEC_D0_END_CODE_ERR : 1; + uint32_t SLVSEC_D0_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D0_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D0_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_50 { + uint32_t raw; + struct { + uint32_t SLVSEC_D1_TEST_PAT_EN : 1; + uint32_t SLVSEC_D1_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D1_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_54 { + uint32_t raw; + struct { + uint32_t SLVSEC_D1_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D1_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D1_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D1_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D1_START_CODE_ERR : 1; + uint32_t SLVSEC_D1_END_CODE_ERR : 1; + uint32_t SLVSEC_D1_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D1_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D1_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_58 { + uint32_t raw; + struct { + uint32_t SLVSEC_D2_TEST_PAT_EN : 1; + uint32_t SLVSEC_D2_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D2_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_5C { + uint32_t raw; + struct { + uint32_t SLVSEC_D2_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D2_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D2_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D2_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D2_START_CODE_ERR : 1; + uint32_t SLVSEC_D2_END_CODE_ERR : 1; + uint32_t SLVSEC_D2_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D2_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D2_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_60 { + uint32_t raw; + struct { + uint32_t SLVSEC_D3_TEST_PAT_EN : 1; + uint32_t SLVSEC_D3_CLR_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D3_TEST_STOP_WHEN_DONE : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_64 { + uint32_t raw; + struct { + uint32_t SLVSEC_D3_TEST_PAT_ERR_CNT : 16; + uint32_t SLVSEC_D3_TEST_PAT_ERR : 1; + uint32_t SLVSEC_D3_TEST_PAT_PASS : 1; + uint32_t SLVSEC_D3_TEST_PAT_DONE : 1; + uint32_t _rsv_19 : 5; + uint32_t SLVSEC_D3_START_CODE_ERR : 1; + uint32_t SLVSEC_D3_END_CODE_ERR : 1; + uint32_t SLVSEC_D3_DESKEW_CODE_ERR : 1; + uint32_t SLVSEC_D3_STANDBY_CODE_ERR : 1; + uint32_t SLVSEC_D3_SYNC_CODE_ERR : 1; + } bits; +}; + +union REG_SENSOR_PHY_4L_DBG_90 { + uint32_t raw; + struct { + uint32_t CK_HS_STATE : 1; + uint32_t CK_ULPS_STATE : 1; + uint32_t CK_STOPSTATE : 1; + uint32_t CK_ERR_STATE : 1; + uint32_t DESKEW_STATE : 2; + } bits; +}; + +union REG_SENSOR_PHY_4L_DBG_94 { + uint32_t raw; + struct { + uint32_t D0_DATAHS_STATE : 3; + uint32_t _rsv_3 : 1; + uint32_t D1_DATAHS_STATE : 3; + uint32_t _rsv_7 : 1; + uint32_t D2_DATAHS_STATE : 3; + uint32_t _rsv_11 : 1; + uint32_t D3_DATAHS_STATE : 3; + } bits; +}; + +union REG_SENSOR_PHY_4L_STATUS_98 { + uint32_t raw; + struct { + uint32_t CK_LP_STATUS_CLR : 8; + uint32_t D0_LP_STATUS_CLR : 8; + uint32_t D1_LP_STATUS_CLR : 8; + uint32_t D2_LP_STATUS_CLR : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_STATUS_9C { + uint32_t raw; + struct { + uint32_t D3_LP_STATUS_CLR : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_STATUS_A4 { + uint32_t raw; + struct { + uint32_t CK_LP_STATUS_OUT : 8; + uint32_t D0_LP_STATUS_OUT : 8; + uint32_t D1_LP_STATUS_OUT : 8; + uint32_t D2_LP_STATUS_OUT : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_STATUS_A8 { + uint32_t raw; + struct { + uint32_t D3_LP_STATUS_OUT : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_0 { + uint32_t raw; + struct { + uint32_t D0_PRBS9_EN : 1; + uint32_t D0_PRBS9_CLR_ERR : 1; + uint32_t D0_PRBS9_SOURCE : 1; + uint32_t D0_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D0_CALIB_MAX : 8; + uint32_t D0_CALIB_STEP : 8; + uint32_t D0_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_1 { + uint32_t raw; + struct { + uint32_t D0_CALIB_EN : 1; + uint32_t D0_CALIB_SOURCE : 1; + uint32_t D0_CALIB_MODE : 1; + uint32_t D0_CALIB_IGNORE : 1; + uint32_t D0_CALIB_SETTLE : 3; + uint32_t D0_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D0_CALIB_SET_PHASE : 8; + uint32_t D0_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_2 { + uint32_t raw; + struct { + uint32_t D0_PRBS9_RX_ERR : 1; + uint32_t D0_PRBS9_TEST_DONE : 1; + uint32_t D0_PRBS9_TEST_PASS : 1; + uint32_t D0_SKEW_CALIB_DONE : 1; + uint32_t D0_SKEW_CALIB_FAIL : 1; + uint32_t D0_DATALP_STATE : 4; + uint32_t D0_DATALP_LPREQ2ERR : 1; + uint32_t D0_DATALP_DATAESC2ERR : 1; + uint32_t D0_DATALP_RSTTRI2ERR : 1; + uint32_t D0_DATALP_HSTEST2ERR : 1; + uint32_t D0_DATALP_ESCULP2ERR : 1; + uint32_t D0_DATALP_HS2ERR : 1; + uint32_t D0_DATA_EXIST_1ST_BYTE : 1; + uint32_t D0_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_3 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_4 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_5 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_6 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_7 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_8 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_9 { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_A { + uint32_t raw; + struct { + uint32_t D0_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D0_B { + uint32_t raw; + struct { + uint32_t D0_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D0_CALIB_THRESHOLD : 8; + uint32_t D0_CALIB_GP_COUNT : 9; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_0 { + uint32_t raw; + struct { + uint32_t D1_PRBS9_EN : 1; + uint32_t D1_PRBS9_CLR_ERR : 1; + uint32_t D1_PRBS9_SOURCE : 1; + uint32_t D1_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D1_CALIB_MAX : 8; + uint32_t D1_CALIB_STEP : 8; + uint32_t D1_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_1 { + uint32_t raw; + struct { + uint32_t D1_CALIB_EN : 1; + uint32_t D1_CALIB_SOURCE : 1; + uint32_t D1_CALIB_MODE : 1; + uint32_t D1_CALIB_IGNORE : 1; + uint32_t D1_CALIB_SETTLE : 3; + uint32_t D1_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D1_CALIB_SET_PHASE : 8; + uint32_t D1_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_2 { + uint32_t raw; + struct { + uint32_t D1_PRBS9_RX_ERR : 1; + uint32_t D1_PRBS9_TEST_DONE : 1; + uint32_t D1_PRBS9_TEST_PASS : 1; + uint32_t D1_SKEW_CALIB_DONE : 1; + uint32_t D1_SKEW_CALIB_FAIL : 1; + uint32_t D1_DATALP_STATE : 4; + uint32_t D1_DATALP_LPREQ2ERR : 1; + uint32_t D1_DATALP_DATAESC2ERR : 1; + uint32_t D1_DATALP_RSTTRI2ERR : 1; + uint32_t D1_DATALP_HSTEST2ERR : 1; + uint32_t D1_DATALP_ESCULP2ERR : 1; + uint32_t D1_DATALP_HS2ERR : 1; + uint32_t D1_DATA_EXIST_1ST_BYTE : 1; + uint32_t D1_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_3 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_4 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_5 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_6 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_7 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_8 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_9 { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_A { + uint32_t raw; + struct { + uint32_t D1_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D1_B { + uint32_t raw; + struct { + uint32_t D1_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D1_CALIB_THRESHOLD : 8; + uint32_t D1_CALIB_GP_COUNT : 9; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_0 { + uint32_t raw; + struct { + uint32_t D2_PRBS9_EN : 1; + uint32_t D2_PRBS9_CLR_ERR : 1; + uint32_t D2_PRBS9_SOURCE : 1; + uint32_t D2_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D2_CALIB_MAX : 8; + uint32_t D2_CALIB_STEP : 8; + uint32_t D2_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_1 { + uint32_t raw; + struct { + uint32_t D2_CALIB_EN : 1; + uint32_t D2_CALIB_SOURCE : 1; + uint32_t D2_CALIB_MODE : 1; + uint32_t D2_CALIB_IGNORE : 1; + uint32_t D2_CALIB_SETTLE : 3; + uint32_t D2_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D2_CALIB_SET_PHASE : 8; + uint32_t D2_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_2 { + uint32_t raw; + struct { + uint32_t D2_PRBS9_RX_ERR : 1; + uint32_t D2_PRBS9_TEST_DONE : 1; + uint32_t D2_PRBS9_TEST_PASS : 1; + uint32_t D2_SKEW_CALIB_DONE : 1; + uint32_t D2_SKEW_CALIB_FAIL : 1; + uint32_t D2_DATALP_STATE : 4; + uint32_t D2_DATALP_LPREQ2ERR : 1; + uint32_t D2_DATALP_DATAESC2ERR : 1; + uint32_t D2_DATALP_RSTTRI2ERR : 1; + uint32_t D2_DATALP_HSTEST2ERR : 1; + uint32_t D2_DATALP_ESCULP2ERR : 1; + uint32_t D2_DATALP_HS2ERR : 1; + uint32_t D2_DATA_EXIST_1ST_BYTE : 1; + uint32_t D2_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_3 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_4 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_5 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_6 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_7 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_8 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_9 { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_A { + uint32_t raw; + struct { + uint32_t D2_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D2_B { + uint32_t raw; + struct { + uint32_t D2_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D2_CALIB_THRESHOLD : 8; + uint32_t D2_CALIB_GP_COUNT : 9; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_0 { + uint32_t raw; + struct { + uint32_t D3_PRBS9_EN : 1; + uint32_t D3_PRBS9_CLR_ERR : 1; + uint32_t D3_PRBS9_SOURCE : 1; + uint32_t D3_PRBS9_STOP_WHEN_DONE : 1; + uint32_t _rsv_4 : 4; + uint32_t D3_CALIB_MAX : 8; + uint32_t D3_CALIB_STEP : 8; + uint32_t D3_CALIB_PATTERN : 8; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_1 { + uint32_t raw; + struct { + uint32_t D3_CALIB_EN : 1; + uint32_t D3_CALIB_SOURCE : 1; + uint32_t D3_CALIB_MODE : 1; + uint32_t D3_CALIB_IGNORE : 1; + uint32_t D3_CALIB_SETTLE : 3; + uint32_t D3_CALIB_PHASE_NO_SHIFT : 1; + uint32_t D3_CALIB_SET_PHASE : 8; + uint32_t D3_CALIB_CYCLE : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_2 { + uint32_t raw; + struct { + uint32_t D3_PRBS9_RX_ERR : 1; + uint32_t D3_PRBS9_TEST_DONE : 1; + uint32_t D3_PRBS9_TEST_PASS : 1; + uint32_t D3_SKEW_CALIB_DONE : 1; + uint32_t D3_SKEW_CALIB_FAIL : 1; + uint32_t D3_DATALP_STATE : 4; + uint32_t D3_DATALP_LPREQ2ERR : 1; + uint32_t D3_DATALP_DATAESC2ERR : 1; + uint32_t D3_DATALP_RSTTRI2ERR : 1; + uint32_t D3_DATALP_HSTEST2ERR : 1; + uint32_t D3_DATALP_ESCULP2ERR : 1; + uint32_t D3_DATALP_HS2ERR : 1; + uint32_t D3_DATA_EXIST_1ST_BYTE : 1; + uint32_t D3_PRBS9_ERR_CNT : 16; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_3 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_4 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_5 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_6 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_7 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_8 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_9 { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_A { + uint32_t raw; + struct { + uint32_t D3_SKEW_CALIB_RESULT_7 : 32; + } bits; +}; + +union REG_SENSOR_PHY_4L_D3_B { + uint32_t raw; + struct { + uint32_t D3_CALIB_OPTION : 1; + uint32_t _rsv_1 : 7; + uint32_t D3_CALIB_THRESHOLD : 8; + uint32_t D3_CALIB_GP_COUNT : 9; + } bits; +}; + +/******************************************/ +/* Module Definition */ +/******************************************/ +union REG_SENSOR_PHY_TOP_00 { + uint32_t raw; + struct { + uint32_t MIPIRX_EN_BIST : 6; + uint32_t _rsv_6 : 6; + uint32_t MIPIRX_EN_LOW_BAND_RXAFE : 2; + uint32_t MIPIRX_PD_IBIAS : 1; + uint32_t _rsv_15 : 1; + uint32_t MIPIRX_PD_RXLP : 6; + } bits; +}; + +union REG_SENSOR_PHY_TOP_04 { + uint32_t raw; + struct { + uint32_t MIPIRX_RT_CTRL : 4; + uint32_t MIPIRX_SAMPLE_MODE : 2; + uint32_t MIPIRX_SEL_CLK_P0TOP1 : 1; + uint32_t MIPIRX_SEL_CLK_P1TOP0 : 1; + uint32_t _rsv_8 : 8; + uint32_t MIPIRX_SEL_CLK_CHANNEL : 6; + uint32_t _rsv_22 : 6; + uint32_t MIPIRX_EN_CLKIN_MPLL_TOP0 : 1; + uint32_t MIPIRX_SEL_MPLL_DIV_TOP0 : 2; + uint32_t MIPIMPLL_CLK_CSI_EN : 1; + } bits; +}; + +union REG_SENSOR_PHY_TOP_08 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_BIST0 : 16; + uint32_t MIPIRX_TEST_BIST1 : 16; + } bits; +}; + +union REG_SENSOR_PHY_TOP_0C { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_BIST2 : 16; + uint32_t MIPIRX_TEST_BIST3 : 16; + } bits; +}; + +union REG_SENSOR_PHY_TOP_10 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_BIST4 : 16; + uint32_t MIPIRX_TEST_BIST5 : 16; + } bits; +}; + +union REG_SENSOR_PHY_TOP_20 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_DEMUX0 : 8; + uint32_t MIPIRX_TEST_DEMUX1 : 8; + uint32_t MIPIRX_TEST_DEMUX2 : 8; + uint32_t MIPIRX_TEST_DEMUX3 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_24 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_DEMUX4 : 8; + uint32_t MIPIRX_TEST_DEMUX5 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_2C { + uint32_t raw; + struct { + uint32_t MIPIRX_SEL_IBIAS_MODE : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_30 { + uint32_t raw; + struct { + uint32_t SENSOR_PHY_MODE : 3; + } bits; +}; + +union REG_SENSOR_PHY_TOP_34 { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_38 { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_3C { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_40 { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_44 { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_48 { + uint32_t raw; + struct { + uint32_t MIPIRX_RO_CAL5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_70 { + uint32_t raw; + struct { + uint32_t AD_D0_DATA : 8; + uint32_t AD_D1_DATA : 8; + uint32_t AD_D2_DATA : 8; + uint32_t AD_D3_DATA : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_74 { + uint32_t raw; + struct { + uint32_t AD_D4_DATA : 8; + uint32_t AD_D5_DATA : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_7C { + uint32_t raw; + struct { + uint32_t AD_LPOUTN : 6; + uint32_t _rsv_6 : 10; + uint32_t AD_LPOUTP : 6; + } bits; +}; + +union REG_SENSOR_PHY_TOP_80 { + uint32_t raw; + struct { + uint32_t AD_D0_CLK_INV : 1; + uint32_t AD_D1_CLK_INV : 1; + uint32_t AD_D2_CLK_INV : 1; + uint32_t AD_D3_CLK_INV : 1; + uint32_t AD_D4_CLK_INV : 1; + uint32_t AD_D5_CLK_INV : 1; + uint32_t _rsv_6 : 10; + uint32_t FORCE_DESKEW_CODE0 : 1; + uint32_t FORCE_DESKEW_CODE1 : 1; + uint32_t FORCE_DESKEW_CODE2 : 1; + uint32_t FORCE_DESKEW_CODE3 : 1; + uint32_t FORCE_DESKEW_CODE4 : 1; + uint32_t FORCE_DESKEW_CODE5 : 1; + } bits; +}; + +union REG_SENSOR_PHY_TOP_84 { + uint32_t raw; + struct { + uint32_t DESKEW_CODE0 : 8; + uint32_t DESKEW_CODE1 : 8; + uint32_t DESKEW_CODE2 : 8; + uint32_t DESKEW_CODE3 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_88 { + uint32_t raw; + struct { + uint32_t DESKEW_CODE4 : 8; + uint32_t DESKEW_CODE5 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_90 { + uint32_t raw; + struct { + uint32_t PD_RT : 6; + uint32_t _rsv_6 : 10; + uint32_t FORCE_PD_RT : 6; + } bits; +}; + +union REG_SENSOR_PHY_TOP_94 { + uint32_t raw; + struct { + uint32_t PD_RXAFE_IB : 6; + uint32_t _rsv_6 : 10; + uint32_t FORCE_PD_RXAFE_IB : 6; + } bits; +}; + +union REG_SENSOR_PHY_TOP_A0 { + uint32_t raw; + struct { + uint32_t CAM0_VTT : 14; + uint32_t _rsv_14 : 2; + uint32_t CAM0_VS_STR : 14; + } bits; +}; + +union REG_SENSOR_PHY_TOP_A4 { + uint32_t raw; + struct { + uint32_t CAM0_VS_STP : 14; + uint32_t _rsv_14 : 2; + uint32_t CAM0_HTT : 14; + } bits; +}; + +union REG_SENSOR_PHY_TOP_A8 { + uint32_t raw; + struct { + uint32_t CAM0_HS_STR : 14; + uint32_t _rsv_14 : 2; + uint32_t CAM0_HS_STP : 14; + } bits; +}; + +union REG_SENSOR_PHY_TOP_AC { + uint32_t raw; + struct { + uint32_t CAM0_VS_POL : 1; + uint32_t CAM0_HS_POL : 1; + uint32_t CAM0_TGEN_EN : 1; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_100 { + uint32_t raw; + struct { + uint32_t DUMMY_0 : 8; + uint32_t DUMMY_1 : 8; + uint32_t DUMMY_2 : 8; + uint32_t DUMMY_3 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_104 { + uint32_t raw; + struct { + uint32_t DUMMY_4 : 8; + uint32_t DUMMY_5 : 8; + uint32_t DUMMY_6 : 8; + uint32_t DUMMY_7 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_108 { + uint32_t raw; + struct { + uint32_t DUMMY_8 : 8; + uint32_t DUMMY_9 : 8; + uint32_t DUMMY_10 : 8; + uint32_t DUMMY_11 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_10C { + uint32_t raw; + struct { + uint32_t DUMMY_12 : 8; + uint32_t DUMMY_13 : 8; + uint32_t DUMMY_14 : 8; + uint32_t DUMMY_15 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_110 { + uint32_t raw; + struct { + uint32_t RO_DESKEW_CODE0 : 8; + uint32_t RO_DESKEW_CODE1 : 8; + uint32_t RO_DESKEW_CODE2 : 8; + uint32_t RO_DESKEW_CODE3 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_114 { + uint32_t raw; + struct { + uint32_t RO_DESKEW_CODE4 : 8; + uint32_t RO_DESKEW_CODE5 : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DFT_11C { + uint32_t raw; + struct { + uint32_t RO_PD_RT : 6; + uint32_t _rsv_6 : 10; + uint32_t RO_PD_RXAFE_IB : 6; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DBG_12 { + uint32_t raw; + struct { + uint32_t DBG_SEL : 16; + uint32_t DBG_CK_SEL : 8; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_0 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE0_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_1 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE0_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_2 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE1_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_3 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE1_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_4 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE2_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_5 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE2_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_6 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE3_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_7 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE3_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_8 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE4_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_9 { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE4_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_A { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE5_L : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_TEST_B { + uint32_t raw; + struct { + uint32_t MIPIRX_TEST_RXAFE5_H : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D0 { + uint32_t raw; + struct { + uint32_t DUMMY_D0 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D1 { + uint32_t raw; + struct { + uint32_t DUMMY_D1 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D2 { + uint32_t raw; + struct { + uint32_t DUMMY_D2 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D3 { + uint32_t raw; + struct { + uint32_t DUMMY_D3 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D4 { + uint32_t raw; + struct { + uint32_t DUMMY_D4 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D5 { + uint32_t raw; + struct { + uint32_t DUMMY_D5 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D6 { + uint32_t raw; + struct { + uint32_t DUMMY_D6 : 32; + } bits; +}; + +union REG_SENSOR_PHY_TOP_DUMMY_D7 { + uint32_t raw; + struct { + uint32_t DUMMY_D7 : 32; + } bits; +}; + +#endif // _REG_FIELDS_CSI_WRAP_H_ diff --git a/freertos/cvitek/install/include/hal/config/cv180x_pinlist_swconfig.h b/freertos/cvitek/install/include/hal/config/cv180x_pinlist_swconfig.h new file mode 100644 index 000000000..2a13a616e --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/cv180x_pinlist_swconfig.h @@ -0,0 +1,407 @@ +//##============================================================================== +//##=== This script is generate by genswconfig.pl from .\00_Phobos_Pinlist_20220315.xls +//##=== Generate Time stamp is : 2022-03-17 14:04:49 +//##============================================================================== + +#ifndef __CV180X_PINLIST_SWCONFIG_H__ +#define __CV180X_PINLIST_SWCONFIG_H__ + +#define SD0_CLK__SDIO0_CLK 0 +#define SD0_CLK__IIC1_SDA 1 +#define SD0_CLK__SPI0_SCK 2 +#define SD0_CLK__XGPIOA_7 3 +#define SD0_CLK__PWM_15 5 +#define SD0_CLK__EPHY_LNK_LED 6 +#define SD0_CLK__DBG_0 7 +#define SD0_CMD__SDIO0_CMD 0 +#define SD0_CMD__IIC1_SCL 1 +#define SD0_CMD__SPI0_SDO 2 +#define SD0_CMD__XGPIOA_8 3 +#define SD0_CMD__PWM_14 5 +#define SD0_CMD__EPHY_SPD_LED 6 +#define SD0_CMD__DBG_1 7 +#define SD0_D0__SDIO0_D_0 0 +#define SD0_D0__CAM_MCLK1 1 +#define SD0_D0__SPI0_SDI 2 +#define SD0_D0__XGPIOA_9 3 +#define SD0_D0__UART3_TX 4 +#define SD0_D0__PWM_13 5 +#define SD0_D0__WG0_D0 6 +#define SD0_D0__DBG_2 7 +#define SD0_D1__SDIO0_D_1 0 +#define SD0_D1__IIC1_SDA 1 +#define SD0_D1__AUX0 2 +#define SD0_D1__XGPIOA_10 3 +#define SD0_D1__UART1_TX 4 +#define SD0_D1__PWM_12 5 +#define SD0_D1__WG0_D1 6 +#define SD0_D1__DBG_3 7 +#define SD0_D2__SDIO0_D_2 0 +#define SD0_D2__IIC1_SCL 1 +#define SD0_D2__AUX1 2 +#define SD0_D2__XGPIOA_11 3 +#define SD0_D2__UART1_RX 4 +#define SD0_D2__PWM_11 5 +#define SD0_D2__WG1_D0 6 +#define SD0_D2__DBG_4 7 +#define SD0_D3__SDIO0_D_3 0 +#define SD0_D3__CAM_MCLK0 1 +#define SD0_D3__SPI0_CS_X 2 +#define SD0_D3__XGPIOA_12 3 +#define SD0_D3__UART3_RX 4 +#define SD0_D3__PWM_10 5 +#define SD0_D3__WG1_D1 6 +#define SD0_D3__DBG_5 7 +#define SD0_CD__SDIO0_CD 0 +#define SD0_CD__XGPIOA_13 3 +#define SD0_PWR_EN__SDIO0_PWR_EN 0 +#define SD0_PWR_EN__XGPIOA_14 3 +#define SPK_EN__XGPIOA_15 3 +#define UART0_TX__UART0_TX 0 +#define UART0_TX__CAM_MCLK1 1 +#define UART0_TX__PWM_4 2 +#define UART0_TX__XGPIOA_16 3 +#define UART0_TX__UART1_TX 4 +#define UART0_TX__AUX1 5 +#define UART0_TX__JTAG_TMS 6 +#define UART0_TX__DBG_6 7 +#define UART0_RX__UART0_RX 0 +#define UART0_RX__CAM_MCLK0 1 +#define UART0_RX__PWM_5 2 +#define UART0_RX__XGPIOA_17 3 +#define UART0_RX__UART1_RX 4 +#define UART0_RX__AUX0 5 +#define UART0_RX__JTAG_TCK 6 +#define UART0_RX__DBG_7 7 +#define SPINOR_HOLD_X__SPINOR_HOLD_X 1 +#define SPINOR_HOLD_X__SPINAND_HOLD 2 +#define SPINOR_HOLD_X__XGPIOA_26 3 +#define SPINOR_SCK__SPINOR_SCK 1 +#define SPINOR_SCK__SPINAND_CLK 2 +#define SPINOR_SCK__XGPIOA_22 3 +#define SPINOR_MOSI__SPINOR_MOSI 1 +#define SPINOR_MOSI__SPINAND_MOSI 2 +#define SPINOR_MOSI__XGPIOA_25 3 +#define SPINOR_WP_X__SPINOR_WP_X 1 +#define SPINOR_WP_X__SPINAND_WP 2 +#define SPINOR_WP_X__XGPIOA_27 3 +#define SPINOR_MISO__SPINOR_MISO 1 +#define SPINOR_MISO__SPINAND_MISO 2 +#define SPINOR_MISO__XGPIOA_23 3 +#define SPINOR_CS_X__SPINOR_CS_X 1 +#define SPINOR_CS_X__SPINAND_CS 2 +#define SPINOR_CS_X__XGPIOA_24 3 +#define JTAG_CPU_TMS__JTAG_TMS 0 +#define JTAG_CPU_TMS__CAM_MCLK0 1 +#define JTAG_CPU_TMS__PWM_7 2 +#define JTAG_CPU_TMS__XGPIOA_19 3 +#define JTAG_CPU_TMS__UART1_RTS 4 +#define JTAG_CPU_TMS__AUX0 5 +#define JTAG_CPU_TMS__UART1_TX 6 +#define JTAG_CPU_TCK__JTAG_TCK 0 +#define JTAG_CPU_TCK__CAM_MCLK1 1 +#define JTAG_CPU_TCK__PWM_6 2 +#define JTAG_CPU_TCK__XGPIOA_18 3 +#define JTAG_CPU_TCK__UART1_CTS 4 +#define JTAG_CPU_TCK__AUX1 5 +#define JTAG_CPU_TCK__UART1_RX 6 +#define IIC0_SCL__CV_SCL0__CR_4WTDI 0 +#define IIC0_SDA__CV_SDA0__CR_4WTDO 0 +#define IIC0_SCL__JTAG_TDI 0 +#define IIC0_SCL__UART1_TX 1 +#define IIC0_SCL__UART2_TX 2 +#define IIC0_SCL__XGPIOA_28 3 +#define IIC0_SCL__IIC0_SCL 4 +#define IIC0_SCL__WG0_D0 5 +#define IIC0_SCL__DBG_10 7 +#define IIC0_SDA__JTAG_TDO 0 +#define IIC0_SDA__UART1_RX 1 +#define IIC0_SDA__UART2_RX 2 +#define IIC0_SDA__XGPIOA_29 3 +#define IIC0_SDA__IIC0_SDA 4 +#define IIC0_SDA__WG0_D1 5 +#define IIC0_SDA__WG1_D0 6 +#define IIC0_SDA__DBG_11 7 +#define AUX0__AUX0 0 +#define AUX0__XGPIOA_30 3 +#define AUX0__IIS1_MCLK 4 +#define AUX0__WG1_D1 6 +#define AUX0__DBG_12 7 +#define GPIO_ZQ__PWR_GPIO_24 3 +#define GPIO_ZQ__PWM_2 4 +#define PWR_VBAT_DET__PWR_VBAT_DET 0 +#define PWR_RSTN__PWR_RSTN 0 +#define PWR_SEQ1__PWR_SEQ1 0 +#define PWR_SEQ1__PWR_GPIO_3 3 +#define PWR_SEQ2__PWR_SEQ2 0 +#define PWR_SEQ2__PWR_GPIO_4 3 +#define PTEST__PWR_PTEST 0 +#define PWR_WAKEUP0__PWR_WAKEUP0 0 +#define PWR_WAKEUP0__PWR_IR0 1 +#define PWR_WAKEUP0__PWR_UART0_TX 2 +#define PWR_WAKEUP0__PWR_GPIO_6 3 +#define PWR_WAKEUP0__UART1_TX 4 +#define PWR_WAKEUP0__IIC4_SCL 5 +#define PWR_WAKEUP0__EPHY_LNK_LED 6 +#define PWR_WAKEUP0__WG2_D0 7 +#define PWR_BUTTON1__PWR_BUTTON1 0 +#define PWR_BUTTON1__PWR_GPIO_8 3 +#define PWR_BUTTON1__UART1_RX 4 +#define PWR_BUTTON1__IIC4_SDA 5 +#define PWR_BUTTON1__EPHY_SPD_LED 6 +#define PWR_BUTTON1__WG2_D1 7 +#define XTAL_XIN__PWR_XTAL_CLKIN 0 +#define PWR_GPIO0__PWR_GPIO_0 0 +#define PWR_GPIO0__UART2_TX 1 +#define PWR_GPIO0__PWR_UART0_RX 2 +#define PWR_GPIO0__PWM_8 4 +#define PWR_GPIO1__PWR_GPIO_1 0 +#define PWR_GPIO1__UART2_RX 1 +#define PWR_GPIO1__EPHY_LNK_LED 3 +#define PWR_GPIO1__PWM_9 4 +#define PWR_GPIO1__PWR_IIC_SCL 5 +#define PWR_GPIO1__IIC2_SCL 6 +#define PWR_GPIO1__IIC0_SDA 7 +#define PWR_GPIO2__PWR_GPIO_2 0 +#define PWR_GPIO2__PWR_SECTICK 2 +#define PWR_GPIO2__EPHY_SPD_LED 3 +#define PWR_GPIO2__PWM_10 4 +#define PWR_GPIO2__PWR_IIC_SDA 5 +#define PWR_GPIO2__IIC2_SDA 6 +#define PWR_GPIO2__IIC0_SCL 7 +#define SD1_GPIO1__UART4_TX 1 +#define SD1_GPIO1__PWR_GPIO_26 3 +#define SD1_GPIO1__PWM_10 7 +#define SD1_GPIO0__UART4_RX 1 +#define SD1_GPIO0__PWR_GPIO_25 3 +#define SD1_GPIO0__PWM_11 7 +#define SD1_D3__PWR_SD1_D3 0 +#define SD1_D3__SPI2_CS_X 1 +#define SD1_D3__IIC1_SCL 2 +#define SD1_D3__PWR_GPIO_18 3 +#define SD1_D3__CAM_MCLK0 4 +#define SD1_D3__UART3_CTS 5 +#define SD1_D3__PWR_SPINOR1_CS_X 6 +#define SD1_D3__PWM_4 7 +#define SD1_D2__PWR_SD1_D2 0 +#define SD1_D2__IIC1_SCL 1 +#define SD1_D2__UART2_TX 2 +#define SD1_D2__PWR_GPIO_19 3 +#define SD1_D2__CAM_MCLK0 4 +#define SD1_D2__UART3_TX 5 +#define SD1_D2__PWR_SPINOR1_HOLD_X 6 +#define SD1_D2__PWM_5 7 +#define SD1_D1__PWR_SD1_D1 0 +#define SD1_D1__IIC1_SDA 1 +#define SD1_D1__UART2_RX 2 +#define SD1_D1__PWR_GPIO_20 3 +#define SD1_D1__CAM_MCLK1 4 +#define SD1_D1__UART3_RX 5 +#define SD1_D1__PWR_SPINOR1_WP_X 6 +#define SD1_D1__PWM_6 7 +#define SD1_D0__PWR_SD1_D0 0 +#define SD1_D0__SPI2_SDI 1 +#define SD1_D0__IIC1_SDA 2 +#define SD1_D0__PWR_GPIO_21 3 +#define SD1_D0__CAM_MCLK1 4 +#define SD1_D0__UART3_RTS 5 +#define SD1_D0__PWR_SPINOR1_MISO 6 +#define SD1_D0__PWM_7 7 +#define SD1_CMD__PWR_SD1_CMD 0 +#define SD1_CMD__SPI2_SDO 1 +#define SD1_CMD__IIC3_SCL 2 +#define SD1_CMD__PWR_GPIO_22 3 +#define SD1_CMD__CAM_VS0 4 +#define SD1_CMD__EPHY_LNK_LED 5 +#define SD1_CMD__PWR_SPINOR1_MOSI 6 +#define SD1_CMD__PWM_8 7 +#define SD1_CLK__PWR_SD1_CLK 0 +#define SD1_CLK__SPI2_SCK 1 +#define SD1_CLK__IIC3_SDA 2 +#define SD1_CLK__PWR_GPIO_23 3 +#define SD1_CLK__CAM_HS0 4 +#define SD1_CLK__EPHY_SPD_LED 5 +#define SD1_CLK__PWR_SPINOR1_SCK 6 +#define SD1_CLK__PWM_9 7 +#define PWM0_BUCK__PWM_0 0 +#define PWM0_BUCK__XGPIOB_0 3 +#define ADC1__XGPIOB_3 3 +#define ADC1__KEY_COL2 4 +#define ADC1__PWM_3 6 +#define USB_VBUS_DET__USB_VBUS_DET 0 +#define USB_VBUS_DET__XGPIOB_6 3 +#define USB_VBUS_DET__CAM_MCLK0 4 +#define USB_VBUS_DET__CAM_MCLK1 5 +#define USB_VBUS_DET__PWM_4 6 +#define MUX_SPI1_MISO__UART3_RTS 1 +#define MUX_SPI1_MISO__IIC1_SDA 2 +#define MUX_SPI1_MISO__XGPIOB_8 3 +#define MUX_SPI1_MISO__PWM_9 4 +#define MUX_SPI1_MISO__KEY_COL1 5 +#define MUX_SPI1_MISO__SPI1_SDI 6 +#define MUX_SPI1_MISO__DBG_14 7 +#define MUX_SPI1_MOSI__UART3_RX 1 +#define MUX_SPI1_MOSI__IIC1_SCL 2 +#define MUX_SPI1_MOSI__XGPIOB_7 3 +#define MUX_SPI1_MOSI__PWM_8 4 +#define MUX_SPI1_MOSI__KEY_COL0 5 +#define MUX_SPI1_MOSI__SPI1_SDO 6 +#define MUX_SPI1_MOSI__DBG_13 7 +#define MUX_SPI1_CS__UART3_CTS 1 +#define MUX_SPI1_CS__CAM_MCLK0 2 +#define MUX_SPI1_CS__XGPIOB_10 3 +#define MUX_SPI1_CS__PWM_11 4 +#define MUX_SPI1_CS__KEY_ROW3 5 +#define MUX_SPI1_CS__SPI1_CS_X 6 +#define MUX_SPI1_CS__DBG_16 7 +#define MUX_SPI1_SCK__UART3_TX 1 +#define MUX_SPI1_SCK__CAM_MCLK1 2 +#define MUX_SPI1_SCK__XGPIOB_9 3 +#define MUX_SPI1_SCK__PWM_10 4 +#define MUX_SPI1_SCK__KEY_ROW2 5 +#define MUX_SPI1_SCK__SPI1_SCK 6 +#define MUX_SPI1_SCK__DBG_15 7 +#define PAD_ETH_TXP__UART3_RX 1 +#define PAD_ETH_TXP__IIC1_SCL 2 +#define PAD_ETH_TXP__XGPIOB_25 3 +#define PAD_ETH_TXP__PWM_13 4 +#define PAD_ETH_TXP__CAM_MCLK0 5 +#define PAD_ETH_TXP__SPI1_SDO 6 +#define PAD_ETH_TXP__IIS2_LRCK 7 +#define PAD_ETH_TXM__UART3_RTS 1 +#define PAD_ETH_TXM__IIC1_SDA 2 +#define PAD_ETH_TXM__XGPIOB_24 3 +#define PAD_ETH_TXM__PWM_12 4 +#define PAD_ETH_TXM__CAM_MCLK1 5 +#define PAD_ETH_TXM__SPI1_SDI 6 +#define PAD_ETH_TXM__IIS2_BCLK 7 +#define PAD_ETH_RXP__UART3_TX 1 +#define PAD_ETH_RXP__CAM_MCLK1 2 +#define PAD_ETH_RXP__XGPIOB_27 3 +#define PAD_ETH_RXP__PWM_15 4 +#define PAD_ETH_RXP__CAM_HS0 5 +#define PAD_ETH_RXP__SPI1_SCK 6 +#define PAD_ETH_RXP__IIS2_DO 7 +#define PAD_ETH_RXM__UART3_CTS 1 +#define PAD_ETH_RXM__CAM_MCLK0 2 +#define PAD_ETH_RXM__XGPIOB_26 3 +#define PAD_ETH_RXM__PWM_14 4 +#define PAD_ETH_RXM__CAM_VS0 5 +#define PAD_ETH_RXM__SPI1_CS_X 6 +#define PAD_ETH_RXM__IIS2_DI 7 +#define GPIO_RTX__VI0_D_15 1 +#define GPIO_RTX__XGPIOB_23 3 +#define GPIO_RTX__PWM_1 4 +#define GPIO_RTX__CAM_MCLK0 5 +#define GPIO_RTX__IIS2_MCLK 7 +#define PAD_MIPIRX4N__VI0_CLK 1 +#define PAD_MIPIRX4N__IIC0_SCL 2 +#define PAD_MIPIRX4N__XGPIOC_2 3 +#define PAD_MIPIRX4N__IIC1_SDA 4 +#define PAD_MIPIRX4N__CAM_MCLK0 5 +#define PAD_MIPIRX4N__KEY_ROW0 6 +#define PAD_MIPIRX4N__MUX_SPI1_SCK 7 +#define PAD_MIPIRX4P__VI0_D_0 1 +#define PAD_MIPIRX4P__IIC0_SDA 2 +#define PAD_MIPIRX4P__XGPIOC_3 3 +#define PAD_MIPIRX4P__IIC1_SCL 4 +#define PAD_MIPIRX4P__CAM_MCLK1 5 +#define PAD_MIPIRX4P__KEY_ROW1 6 +#define PAD_MIPIRX4P__MUX_SPI1_CS 7 +#define PAD_MIPIRX3N__VI0_D_1 1 +#define PAD_MIPIRX3N__XGPIOC_4 3 +#define PAD_MIPIRX3N__CAM_MCLK0 4 +#define PAD_MIPIRX3N__MUX_SPI1_MISO 7 +#define PAD_MIPIRX3P__VI0_D_2 1 +#define PAD_MIPIRX3P__XGPIOC_5 3 +#define PAD_MIPIRX3P__MUX_SPI1_MOSI 7 +#define PAD_MIPIRX2N__VI0_D_3 1 +#define PAD_MIPIRX2N__XGPIOC_6 3 +#define PAD_MIPIRX2N__IIC4_SCL 5 +#define PAD_MIPIRX2N__DBG_6 7 +#define PAD_MIPIRX2P__VI0_D_4 1 +#define PAD_MIPIRX2P__XGPIOC_7 3 +#define PAD_MIPIRX2P__IIC4_SDA 5 +#define PAD_MIPIRX2P__DBG_7 7 +#define PAD_MIPIRX1N__VI0_D_5 1 +#define PAD_MIPIRX1N__XGPIOC_8 3 +#define PAD_MIPIRX1N__KEY_ROW3 6 +#define PAD_MIPIRX1N__DBG_8 7 +#define PAD_MIPIRX1P__VI0_D_6 1 +#define PAD_MIPIRX1P__XGPIOC_9 3 +#define PAD_MIPIRX1P__IIC1_SDA 4 +#define PAD_MIPIRX1P__KEY_ROW2 6 +#define PAD_MIPIRX1P__DBG_9 7 +#define PAD_MIPIRX0N__VI0_D_7 1 +#define PAD_MIPIRX0N__XGPIOC_10 3 +#define PAD_MIPIRX0N__IIC1_SCL 4 +#define PAD_MIPIRX0N__CAM_MCLK1 5 +#define PAD_MIPIRX0N__DBG_10 7 +#define PAD_MIPIRX0P__VI0_D_8 1 +#define PAD_MIPIRX0P__XGPIOC_11 3 +#define PAD_MIPIRX0P__CAM_MCLK0 4 +#define PAD_MIPIRX0P__DBG_11 7 +#define PAD_MIPI_TXM2__VI0_D_13 1 +#define PAD_MIPI_TXM2__IIC0_SDA 2 +#define PAD_MIPI_TXM2__XGPIOC_16 3 +#define PAD_MIPI_TXM2__IIC1_SDA 4 +#define PAD_MIPI_TXM2__PWM_8 5 +#define PAD_MIPI_TXM2__SPI0_SCK 6 +#define PAD_MIPI_TXP2__VI0_D_14 1 +#define PAD_MIPI_TXP2__IIC0_SCL 2 +#define PAD_MIPI_TXP2__XGPIOC_17 3 +#define PAD_MIPI_TXP2__IIC1_SCL 4 +#define PAD_MIPI_TXP2__PWM_9 5 +#define PAD_MIPI_TXP2__SPI0_CS_X 6 +#define PAD_MIPI_TXP2__IIS1_MCLK 7 +#define PAD_MIPI_TXM1__SPI3_SDO 0 +#define PAD_MIPI_TXM1__VI0_D_11 1 +#define PAD_MIPI_TXM1__IIS1_LRCK 2 +#define PAD_MIPI_TXM1__XGPIOC_14 3 +#define PAD_MIPI_TXM1__IIC2_SDA 4 +#define PAD_MIPI_TXM1__PWM_10 5 +#define PAD_MIPI_TXM1__SPI0_SDO 6 +#define PAD_MIPI_TXM1__DBG_14 7 +#define PAD_MIPI_TXP1__SPI3_SDI 0 +#define PAD_MIPI_TXP1__VI0_D_12 1 +#define PAD_MIPI_TXP1__IIS1_DO 2 +#define PAD_MIPI_TXP1__XGPIOC_15 3 +#define PAD_MIPI_TXP1__IIC2_SCL 4 +#define PAD_MIPI_TXP1__PWM_11 5 +#define PAD_MIPI_TXP1__SPI0_SDI 6 +#define PAD_MIPI_TXP1__DBG_15 7 +#define PAD_MIPI_TXM0__SPI3_SCK 0 +#define PAD_MIPI_TXM0__VI0_D_9 1 +#define PAD_MIPI_TXM0__IIS1_DI 2 +#define PAD_MIPI_TXM0__XGPIOC_12 3 +#define PAD_MIPI_TXM0__CAM_MCLK1 4 +#define PAD_MIPI_TXM0__PWM_14 5 +#define PAD_MIPI_TXM0__CAM_VS0 6 +#define PAD_MIPI_TXM0__DBG_12 7 +#define PAD_MIPI_TXP0__SPI3_CS_X 0 +#define PAD_MIPI_TXP0__VI0_D_10 1 +#define PAD_MIPI_TXP0__IIS1_BCLK 2 +#define PAD_MIPI_TXP0__XGPIOC_13 3 +#define PAD_MIPI_TXP0__CAM_MCLK0 4 +#define PAD_MIPI_TXP0__PWM_15 5 +#define PAD_MIPI_TXP0__CAM_HS0 6 +#define PAD_MIPI_TXP0__DBG_13 7 +#define PKG_TYPE0__PKG_TYPE0 0 +#define PKG_TYPE1__PKG_TYPE1 0 +#define PKG_TYPE2__PKG_TYPE2 0 +#define PAD_AUD_AINL_MIC__XGPIOC_23 3 +#define PAD_AUD_AINL_MIC__IIS1_BCLK 4 +#define PAD_AUD_AINL_MIC__IIS2_BCLK 5 +#define PAD_AUD_AINR_MIC__XGPIOC_22 3 +#define PAD_AUD_AINR_MIC__IIS1_DO 4 +#define PAD_AUD_AINR_MIC__IIS2_DI 5 +#define PAD_AUD_AINR_MIC__IIS1_DI 6 +#define PAD_AUD_AOUTL__XGPIOC_25 3 +#define PAD_AUD_AOUTL__IIS1_LRCK 4 +#define PAD_AUD_AOUTL__IIS2_LRCK 5 +#define PAD_AUD_AOUTR__XGPIOC_24 3 +#define PAD_AUD_AOUTR__IIS1_DI 4 +#define PAD_AUD_AOUTR__IIS2_DO 5 +#define PAD_AUD_AOUTR__IIS1_DO 6 + +#endif /* __CV180X_PINLIST_SWCONFIG_H__ */ diff --git a/freertos/cvitek/install/include/hal/config/cv180x_pinmux.h b/freertos/cvitek/install/include/hal/config/cv180x_pinmux.h new file mode 100644 index 000000000..1b72bc23e --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/cv180x_pinmux.h @@ -0,0 +1,51 @@ +#ifndef _CV180X_PINMUX_H_ +#define _CV180X_PINMUX_H_ + +/* + * Pinmux definitions + */ +#define PINMUX_UART0 0 +#define PINMUX_UART1 1 +#define PINMUX_UART2 2 +#define PINMUX_UART3 3 +#define PINMUX_UART3_2 4 +#define PINMUX_I2C0 5 +#define PINMUX_I2C1 6 +#define PINMUX_I2C2 7 +#define PINMUX_I2C3 8 +#define PINMUX_I2C4 9 +#define PINMUX_I2C4_2 10 +#define PINMUX_SPI0 11 +#define PINMUX_SPI1 12 +#define PINMUX_SPI2 13 +#define PINMUX_SPI2_2 14 +#define PINMUX_SPI3 15 +#define PINMUX_SPI3_2 16 +#define PINMUX_I2S0 17 +#define PINMUX_I2S1 18 +#define PINMUX_I2S2 19 +#define PINMUX_I2S3 20 +#define PINMUX_USBID 21 +#define PINMUX_SDIO0 22 +#define PINMUX_SDIO1 23 +#define PINMUX_ND 24 +#define PINMUX_EMMC 25 +#define PINMUX_SPI_NOR 26 +#define PINMUX_SPI_NAND 27 +#define PINMUX_CAM0 28 +#define PINMUX_CAM1 29 +#define PINMUX_PCM0 30 +#define PINMUX_PCM1 31 +#define PINMUX_CSI0 32 +#define PINMUX_CSI1 33 +#define PINMUX_CSI2 34 +#define PINMUX_DSI 35 +#define PINMUX_VI0 36 +#define PINMUX_VO 37 +#define PINMUX_RMII1 38 +#define PINMUX_EPHY_LED 39 +#define PINMUX_I80 40 +#define PINMUX_LVDS 41 +#define PINMUX_USB 42 + +#endif // end of _CV180X_PINMUX_H_ diff --git a/freertos/cvitek/install/include/hal/config/cv180x_reg_fmux_gpio.h b/freertos/cvitek/install/include/hal/config/cv180x_reg_fmux_gpio.h new file mode 100644 index 000000000..a07236fba --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/cv180x_reg_fmux_gpio.h @@ -0,0 +1,337 @@ +// $Module: fmux_gpio $ +// $RegisterBank Version: V 1.0.00 $ +// $Author: ghost $ +// $Date: Thu, 17 Mar 2022 04:53:31 PM $ +// + +//GEN REG ADDR/OFFSET/MASK + +#ifndef __CV180X_REG_FMUX_GPIO_H__ +#define __CV180X_REG_FMUX_GPIO_H__ + +#define FMUX_GPIO_REG_IOCTRL_SD0_CLK 0x0 +#define FMUX_GPIO_REG_IOCTRL_SD0_CMD 0x4 +#define FMUX_GPIO_REG_IOCTRL_SD0_D0 0x8 +#define FMUX_GPIO_REG_IOCTRL_SD0_D1 0xc +#define FMUX_GPIO_REG_IOCTRL_SD0_D2 0x10 +#define FMUX_GPIO_REG_IOCTRL_SD0_D3 0x14 +#define FMUX_GPIO_REG_IOCTRL_SD0_CD 0x18 +#define FMUX_GPIO_REG_IOCTRL_SD0_PWR_EN 0x1c +#define FMUX_GPIO_REG_IOCTRL_SPK_EN 0x20 +#define FMUX_GPIO_REG_IOCTRL_UART0_TX 0x24 +#define FMUX_GPIO_REG_IOCTRL_UART0_RX 0x28 +#define FMUX_GPIO_REG_IOCTRL_SPINOR_HOLD_X 0x2c +#define FMUX_GPIO_REG_IOCTRL_SPINOR_SCK 0x30 +#define FMUX_GPIO_REG_IOCTRL_SPINOR_MOSI 0x34 +#define FMUX_GPIO_REG_IOCTRL_SPINOR_WP_X 0x38 +#define FMUX_GPIO_REG_IOCTRL_SPINOR_MISO 0x3c +#define FMUX_GPIO_REG_IOCTRL_SPINOR_CS_X 0x40 +#define FMUX_GPIO_REG_IOCTRL_JTAG_CPU_TMS 0x44 +#define FMUX_GPIO_REG_IOCTRL_JTAG_CPU_TCK 0x48 +#define FMUX_GPIO_REG_IOCTRL_IIC0_SCL 0x4c +#define FMUX_GPIO_REG_IOCTRL_IIC0_SDA 0x50 +#define FMUX_GPIO_REG_IOCTRL_AUX0 0x54 +#define FMUX_GPIO_REG_IOCTRL_GPIO_ZQ 0x58 +#define FMUX_GPIO_REG_IOCTRL_PWR_VBAT_DET 0x5c +#define FMUX_GPIO_REG_IOCTRL_PWR_RSTN 0x60 +#define FMUX_GPIO_REG_IOCTRL_PWR_SEQ1 0x64 +#define FMUX_GPIO_REG_IOCTRL_PWR_SEQ2 0x68 +#define FMUX_GPIO_REG_IOCTRL_PWR_WAKEUP0 0x6c +#define FMUX_GPIO_REG_IOCTRL_PWR_BUTTON1 0x70 +#define FMUX_GPIO_REG_IOCTRL_XTAL_XIN 0x74 +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO0 0x78 +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO1 0x7c +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO2 0x80 +#define FMUX_GPIO_REG_IOCTRL_SD1_GPIO1 0x84 +#define FMUX_GPIO_REG_IOCTRL_SD1_GPIO0 0x88 +#define FMUX_GPIO_REG_IOCTRL_SD1_D3 0x8c +#define FMUX_GPIO_REG_IOCTRL_SD1_D2 0x90 +#define FMUX_GPIO_REG_IOCTRL_SD1_D1 0x94 +#define FMUX_GPIO_REG_IOCTRL_SD1_D0 0x98 +#define FMUX_GPIO_REG_IOCTRL_SD1_CMD 0x9c +#define FMUX_GPIO_REG_IOCTRL_SD1_CLK 0xa0 +#define FMUX_GPIO_REG_IOCTRL_PWM0_BUCK 0xa4 +#define FMUX_GPIO_REG_IOCTRL_ADC1 0xa8 +#define FMUX_GPIO_REG_IOCTRL_USB_VBUS_DET 0xac +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_MISO 0xb0 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_MOSI 0xb4 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_CS 0xb8 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_SCK 0xbc +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_TXP 0xc0 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_TXM 0xc4 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_RXP 0xc8 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_RXM 0xcc +#define FMUX_GPIO_REG_IOCTRL_GPIO_RTX 0xd0 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX4N 0xd4 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX4P 0xd8 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX3N 0xdc +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX3P 0xe0 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX2N 0xe4 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX2P 0xe8 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX1N 0xec +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX1P 0xf0 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX0N 0xf4 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX0P 0xf8 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM2 0xfc +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP2 0x100 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM1 0x104 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP1 0x108 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM0 0x10c +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP0 0x110 +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE0 0x114 +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE1 0x118 +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE2 0x11c +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AINL_MIC 0x120 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AINR_MIC 0x124 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AOUTL 0x128 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AOUTR 0x12c +#define FMUX_GPIO_REG_DEVMATRIX_UART0_IP_SEL 0x1d4 +#define FMUX_GPIO_REG_DEVMATRIX_UART1_IP_SEL 0x1d8 +#define FMUX_GPIO_REG_DEVMATRIX_UART2_IP_SEL 0x1dc +#define FMUX_GPIO_REG_DEVMATRIX_UART3_IP_SEL 0x1e0 +#define FMUX_GPIO_REG_DEVMATRIX_UART4_IP_SEL 0x1e4 +#define FMUX_GPIO_FUNCSEL_SD0_CLK 0x0 +#define FMUX_GPIO_FUNCSEL_SD0_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_CMD 0x4 +#define FMUX_GPIO_FUNCSEL_SD0_CMD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CMD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D0 0x8 +#define FMUX_GPIO_FUNCSEL_SD0_D0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D1 0xc +#define FMUX_GPIO_FUNCSEL_SD0_D1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D2 0x10 +#define FMUX_GPIO_FUNCSEL_SD0_D2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D3 0x14 +#define FMUX_GPIO_FUNCSEL_SD0_D3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_CD 0x18 +#define FMUX_GPIO_FUNCSEL_SD0_CD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN 0x1c +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPK_EN 0x20 +#define FMUX_GPIO_FUNCSEL_SPK_EN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPK_EN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART0_TX 0x24 +#define FMUX_GPIO_FUNCSEL_UART0_TX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART0_TX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART0_RX 0x28 +#define FMUX_GPIO_FUNCSEL_UART0_RX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART0_RX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_HOLD_X 0x2c +#define FMUX_GPIO_FUNCSEL_SPINOR_HOLD_X_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_HOLD_X_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_SCK 0x30 +#define FMUX_GPIO_FUNCSEL_SPINOR_SCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_SCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_MOSI 0x34 +#define FMUX_GPIO_FUNCSEL_SPINOR_MOSI_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_MOSI_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_WP_X 0x38 +#define FMUX_GPIO_FUNCSEL_SPINOR_WP_X_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_WP_X_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_MISO 0x3c +#define FMUX_GPIO_FUNCSEL_SPINOR_MISO_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_MISO_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPINOR_CS_X 0x40 +#define FMUX_GPIO_FUNCSEL_SPINOR_CS_X_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPINOR_CS_X_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS 0x44 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK 0x48 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC0_SCL 0x4c +#define FMUX_GPIO_FUNCSEL_IIC0_SCL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC0_SCL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA 0x50 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_AUX0 0x54 +#define FMUX_GPIO_FUNCSEL_AUX0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_AUX0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ 0x58 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET 0x5c +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN 0x60 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1 0x64 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2 0x68 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0 0x6c +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1 0x70 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN 0x74 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0 0x78 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1 0x7c +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2 0x80 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO1 0x84 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO0 0x88 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_GPIO0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D3 0x8c +#define FMUX_GPIO_FUNCSEL_SD1_D3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D2 0x90 +#define FMUX_GPIO_FUNCSEL_SD1_D2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D1 0x94 +#define FMUX_GPIO_FUNCSEL_SD1_D1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D0 0x98 +#define FMUX_GPIO_FUNCSEL_SD1_D0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_CMD 0x9c +#define FMUX_GPIO_FUNCSEL_SD1_CMD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_CMD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_CLK 0xa0 +#define FMUX_GPIO_FUNCSEL_SD1_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK 0xa4 +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_ADC1 0xa8 +#define FMUX_GPIO_FUNCSEL_ADC1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_ADC1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET 0xac +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO 0xb0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI 0xb4 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS 0xb8 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK 0xbc +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP 0xc0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM 0xc4 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP 0xc8 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM 0xcc +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_GPIO_RTX 0xd0 +#define FMUX_GPIO_FUNCSEL_GPIO_RTX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_GPIO_RTX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N 0xd4 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P 0xd8 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N 0xdc +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P 0xe0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N 0xe4 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P 0xe8 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N 0xec +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P 0xf0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N 0xf4 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P 0xf8 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2 0xfc +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2 0x100 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1 0x104 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1 0x108 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0 0x10c +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0 0x110 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0 0x114 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1 0x118 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2 0x11c +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC 0x120 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC 0x124 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL 0x128 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR 0x12c +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR_MASK 0x7 +#define FMUX_GPIO_MUX_UART0_IP_SEL 0x1d4 +#define FMUX_GPIO_MUX_UART0_IP_SEL_OFFSET 0 +#define FMUX_GPIO_MUX_UART0_IP_SEL_MASK 0x7 +#define FMUX_GPIO_MUX_UART1_IP_SEL 0x1d8 +#define FMUX_GPIO_MUX_UART1_IP_SEL_OFFSET 0 +#define FMUX_GPIO_MUX_UART1_IP_SEL_MASK 0x7 +#define FMUX_GPIO_MUX_UART2_IP_SEL 0x1dc +#define FMUX_GPIO_MUX_UART2_IP_SEL_OFFSET 0 +#define FMUX_GPIO_MUX_UART2_IP_SEL_MASK 0x7 +#define FMUX_GPIO_MUX_UART3_IP_SEL 0x1e0 +#define FMUX_GPIO_MUX_UART3_IP_SEL_OFFSET 0 +#define FMUX_GPIO_MUX_UART3_IP_SEL_MASK 0x7 +#define FMUX_GPIO_MUX_UART4_IP_SEL 0x1e4 +#define FMUX_GPIO_MUX_UART4_IP_SEL_OFFSET 0 +#define FMUX_GPIO_MUX_UART4_IP_SEL_MASK 0x7 + +#endif /* __CV180X_REG_FMUX_GPIO_H__ */ diff --git a/freertos/cvitek/install/include/hal/config/intr_conf.h b/freertos/cvitek/install/include/hal/config/intr_conf.h new file mode 100644 index 000000000..bd6843409 --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/intr_conf.h @@ -0,0 +1,140 @@ +#ifndef _CV180X_INTERRUPT_CONFIG_H_ +#define _CV180X_INTERRUPT_CONFIG_H_ + +/* irq */ +#define IRQ_LEVEL 0 +#define IRQ_EDGE 3 + +#define NA 0xFFFF + +#define TEMPSEN_IRQ_O NA +#define RTC_ALARM_O NA +#define RTC_PWR_BUTTON1_LONGPRESS_O NA +#define VBAT_DEB_IRQ_O NA +#define JPEG_INTERRUPT 16 +#define H264_INTERRUPT 17 +#define H265_INTERRUPT 18 +#define VC_SBM_INT 19 +#define ISP_INT 20 +#define SC_INTR_0 21 +#define VIP_INT_CSI_MAC0 22 +#define VIP_INT_CSI_MAC1 23 +#define LDC_INT 24 +#define SDMA_INTR_CPU0 NA +#define SDMA_INTR_CPU1 NA +#define SDMA_INTR_CPU2 25 +#define USB_IRQS NA +#define ETH0_SBD_INTR_O NA +#define ETH0_LPI_INTR_O NA +#define EMMC_WAKEUP_INTR NA +#define EMMC_INTR NA +#define SD0_WAKEUP_INTR NA +#define SD0_INTR NA +#define SD1_WAKEUP_INTR NA +#define SD1_INTR NA +#define SPI_NAND_INTR NA +#define I2S0_INT 26 +#define I2S1_INT 27 +#define I2S2_INT 28 +#define I2S3_INT 29 +#define UART0_INTR 30 +#define UART1_INTR 31 +#define UART2_INTR NA +#define UART3_INTR NA +#define UART4_INTR NA +#define I2C0_INTR 32 +#define I2C1_INTR 33 +#define I2C2_INTR 34 +#define I2C3_INTR 35 +#define I2C4_INTR 36 +#define SPI_0_SSI_INTR 37 +#define SPI_1_SSI_INTR 38 +#define SPI_2_SSI_INTR NA +#define SPI_3_SSI_INTR NA +#define WDT0_INTR NA +#define WDT1_INTR NA +#define WDT2_INTR 39 +#define KEYSCAN_IRQ 40 +#define GPIO0_INTR_FLAG 41 +#define GPIO1_INTR_FLAG 42 +#define GPIO2_INTR_FLAG 43 +#define GPIO3_INTR_FLAG 44 +#define WGN0_IRQ 45 +#define WGN1_IRQ NA +#define WGN2_IRQ NA +#define MBOX_INT1 46 +#define IRRX_INT 47 +#define GPIO_INT 48 +#define UART_INT 49 +#define SPI_INT NA +#define I2C_INT 50 +#define WDT_INT 51 +#define TPU_INTR NA +#define TDMA_INTERRUPT 52 +#define SW_INT_0_CPU0 NA +#define SW_INT_1_CPU0 NA +#define SW_INT_0_CPU1 NA +#define SW_INT_1_CPU1 NA +#define SW_INT_0_CPU2 53 +#define SW_INT_1_CPU2 54 +#define TIMER_INTR_0 NA +#define TIMER_INTR_1 NA +#define TIMER_INTR_2 NA +#define TIMER_INTR_3 NA +#define TIMER_INTR_4 55 +#define TIMER_INTR_5 56 +#define TIMER_INTR_6 57 +#define TIMER_INTR_7 58 +#define PERI_FIREWALL_IRQ NA +#define HSPERI_FIREWALL_IRQ NA +#define DDR_FW_INTR NA +#define ROM_FIREWALL_IRQ NA +#define SPACC_IRQ 59 +#define TRNG_IRQ NA +#define AXI_MON_INTR NA +#define DDRC_PI_PHY_INTR NA +#define SF_SPI_INT NA +#define EPHY_INT_N_O NA +#define IVE_INT 60 +#define DBGSYS_APBUSMON_HANG_INT NA +#define INTR_SARADC NA +#define MBOX_INT_CA53 NA +#define MBOX_INT_C906 NA +#define MBOX_INT_C906_2ND 61 +#define NPMUIRQ_0 NA +#define CTIIRQ_0 NA +#define NEXTERRIRQ NA + +#define IRQF_TRIGGER_NONE 0x00000000 +#define IRQF_TRIGGER_RISING 0x00000001 +#define IRQF_TRIGGER_FALLING 0x00000002 +#define IRQF_TRIGGER_HIGH 0x00000004 +#define IRQF_TRIGGER_LOW 0x00000008 +#define IRQF_TRIGGER_MASK \ + (IRQF_TRIGGER_HIGH | IRQF_TRIGGER_LOW | IRQF_TRIGGER_RISING | \ + IRQF_TRIGGER_FALLING) + +typedef int (*irq_handler_t)(int irqn, void *priv); + +int request_irq(int irqn, irq_handler_t handler, + unsigned long flags, const char *name, void *priv); + +/* +void disable_irq(unsigned int irqn); +void enable_irq(unsigned int irqn); + +void cpu_enable_irqs(void); +void cpu_disable_irqs(void); + +extern void irq_trigger(int irqn); +extern void irq_clear(int irqn); +extern int irq_get_nums(void); +void pinmux_config(int io_type); +*/ +/*FIXME + * NUM_IRQ may be different accross + * different platform, we should review it when porting + */ +#define NUM_IRQ (62) + +#endif //end of_CV180X_INTERRUPT_CONFIG_H_ diff --git a/freertos/cvitek/install/include/hal/config/memmap.h b/freertos/cvitek/install/include/hal/config/memmap.h new file mode 100644 index 000000000..b145f8a3c --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/memmap.h @@ -0,0 +1,33 @@ +#ifndef __MEMMAP_H__ +#define __MEMMAP_H__ + +/* confirm with CONFIG_SYS_RESVIONSZ & CONFIG_SYS_RESVOSSZ by uboot defconfig */ +/* H26X_BITSTREAM_ADDR = CONFIG_SYS_BOOTMAPSZ - CONFIG_SYS_RESVIONSZ - CONFIG_SYS_RESVOSSZ*/ +#ifdef LINUX_BSP_64MB +#define H26X_BITSTREAM_ADDR (0x82700000) +#define H26X_BITSTREAM_SIZE (0x00200000) +#define H26X_ENC_BUFF_ADDR (H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE) +#define H26X_ENC_BUFF_SIZE (0x00000000) + +#define ISP_MEM_BASE_ADDR (H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE) +#define ISP_MEM_BASE_SIZE (0x00A00000) +#elif defined (LINUX_BSP_128MB) +#define H26X_BITSTREAM_ADDR (0x83C80000) +#define H26X_BITSTREAM_SIZE (0x00200000) +#define H26X_ENC_BUFF_ADDR (H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE) +#define H26X_ENC_BUFF_SIZE (0x00000000) + +#define ISP_MEM_BASE_ADDR (H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE) +#define ISP_MEM_BASE_SIZE (0x00A00000) +#else +#define H26X_BITSTREAM_ADDR (0x00000000) +#define H26X_BITSTREAM_SIZE (0x00000000) +#define H26X_ENC_BUFF_ADDR (H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE) +#define H26X_ENC_BUFF_SIZE (0x00000000) + +#define ISP_MEM_BASE_ADDR (H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE) +#define ISP_MEM_BASE_SIZE (0x00000000) +#endif + + +#endif // end of __MEMMAP_H__ diff --git a/freertos/cvitek/install/include/hal/config/pinctrl.h b/freertos/cvitek/install/include/hal/config/pinctrl.h new file mode 100644 index 000000000..0e5c3c911 --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/pinctrl.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: pinctrl.h + * Description: + */ + +#ifndef __PINCTRL_CV180X_H__ +#define __PINCTRL_CV180X_H__ + +#include "cv180x_pinlist_swconfig.h" +#include "cv180x_reg_fmux_gpio.h" + +#define PAD_MIPI_TXM4__MIPI_TXM4 0 +#define PAD_MIPI_TXP4__MIPI_TXP4 0 +#define PAD_MIPI_TXM3__MIPI_TXM3 0 +#define PAD_MIPI_TXP3__MIPI_TXP3 0 +#define PAD_MIPI_TXM2__MIPI_TXM2 0 +#define PAD_MIPI_TXP2__MIPI_TXP2 0 +#define PAD_MIPI_TXM1__MIPI_TXM1 0 +#define PAD_MIPI_TXP1__MIPI_TXP1 0 +#define PAD_MIPI_TXM0__MIPI_TXM0 0 +#define PAD_MIPI_TXP0__MIPI_TXP0 0 + +#define PINMUX_BASE 0x03001000 +#define PINMUX_MASK(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK +#define PINMUX_OFFSET(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET +#define PINMUX_VALUE(PIN_NAME, FUNC_NAME) PIN_NAME##__##FUNC_NAME +#define PINMUX_CONFIG(PIN_NAME, FUNC_NAME) \ + mmio_clrsetbits_32(PINMUX_BASE + FMUX_GPIO_FUNCSEL_##PIN_NAME, \ + FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK << FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET, \ + PIN_NAME##__##FUNC_NAME) + +#endif /* __PINCTRL_CV180X_H__ */ diff --git a/freertos/cvitek/install/include/hal/config/reg.h b/freertos/cvitek/install/include/hal/config/reg.h new file mode 100644 index 000000000..0d601d2aa --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/reg.h @@ -0,0 +1,9 @@ +#ifndef _CVI_REG_H_ +#define _CVI_REG_H_ +#include "mmio.h" + +#define _reg_read(addr) mmio_read_32(addr) +#define _reg_write(addr, data) mmio_write_32(addr, data) +#define _reg_write_mask(addr, mask, data) mmio_clrsetbits_32(addr, mask, data) + +#endif //_CVI_REG_H_ diff --git a/freertos/cvitek/install/include/hal/config/top_reg.h b/freertos/cvitek/install/include/hal/config/top_reg.h new file mode 100644 index 000000000..ca3026338 --- /dev/null +++ b/freertos/cvitek/install/include/hal/config/top_reg.h @@ -0,0 +1,77 @@ +#ifndef __CV180X_REG_H +#define __CV180X_REG_H + +#define SEC_BASE 0x02000000 +#define TOP_BASE 0x03000000 +// #define PINMUX_BASE (TOP_BASE + 0x00001000) +#define CLKGEN_BASE (TOP_BASE + 0x00002000) +#define WDT_BASE (TOP_BASE + 0x00011000) +#define TEMPSEN_BASE (TOP_BASE + 0x000E0000) + +#ifdef RISCV_QEMU +#define UART0_BASE 0x10000000 +#else +#define UART0_BASE 0x04140000 +#endif +#define UART1_BASE 0x04150000 +#define UART2_BASE 0x04160000 +#define UART3_BASE 0x04170000 +#define SRAM_BASE 0x0E000000 + +#define MAILBOX_REG_BASE 0x01900000 +#define MAILBOX_REG_BUFF (MAILBOX_REG_BASE + 0x0400) +#define SPINLOCK_REG_BASE (MAILBOX_REG_BASE + 0x00c0) + +#define I2C0 0x0 +#define I2C1 0x1 +#define I2C2 0x2 +#define I2C3 0x3 +#define I2C4 0x4 + +/* I2C */ +#define I2C0_BASE 0x4000000 +#define I2C1_BASE 0x4010000 +#define I2C2_BASE 0x4020000 +#define I2C3_BASE 0x4030000 +#define I2C4_BASE 0x4040000 + +/* Clock */ +#define REG_CLK_ENABLE_REG0 (CLKGEN_BASE) +#define REG_CLK_ENABLE_REG1 (CLKGEN_BASE + 0x4) +#define REG_CLK_ENABLE_REG2 (CLKGEN_BASE + 0x8) +#define REG_CLK_BYPASS_SEL_REG (CLKGEN_BASE + 0x30) +#define REG_CLK_BYPASS_SEL_REG2 (CLKGEN_BASE + 0x34) +#define REG_CLK_DIV0_CTL_CA53_REG (CLKGEN_BASE + 0x40) +#define REG_CLK_DIV0_CTL_CPU_AXI0_REG (CLKGEN_BASE + 0x48) +#define REG_CLK_DIV0_CTL_TPU_AXI_REG (CLKGEN_BASE + 0x54) +#define REG_CLK_DIV0_CTL_TPU_FAB_REG (CLKGEN_BASE + 0x5C) + +/* USB */ +#define TOP_USB_PHY_CTRSTS_REG (TOP_BASE + 0x48) +#define UPCR_EXTERNAL_VBUS_VALID_OFFSET 0 + +/* DRAM */ +#define TOP_DDR_ADDR_MODE_REG (TOP_BASE + 0x64) +#define DAMR_REG_USB_REMAP_ADDR_39_32_OFFSET 16 +#define DAMR_REG_USB_REMAP_ADDR_39_32_MSK (0xff) + +#define DAMR_REG_VD_REMAP_ADDR_39_32_OFFSET 24 +#define DAMR_REG_VD_REMAP_ADDR_39_32_MSK (0xff) + +#define SW_RESET (TOP_BASE + 0x3000) +#define JPEG_RESET 4 + +#define JPU_BASE 0x0B000000 + +/* rst */ +#define REG_TOP_SOFT_RST 0x3000 + +/* addr remap */ +#define REG_TOP_ADDR_REMAP 0x0064 +#define ADDR_REMAP_USB(a) ((a & 0xFF) << 16) + +/* ethernet phy */ + +/* watchdog */ + +#endif /* __CV180X_REG_H */ diff --git a/freertos/cvitek/install/include/hal/pinmux/hal_pinmux.h b/freertos/cvitek/install/include/hal/pinmux/hal_pinmux.h new file mode 100644 index 000000000..e715b6728 --- /dev/null +++ b/freertos/cvitek/install/include/hal/pinmux/hal_pinmux.h @@ -0,0 +1,6 @@ +#ifndef __HAL_PINMUX_CONFIG_H__ +#define __HAL_PINMUX_CONFIG_H__ +#include "cv180x_pinmux.h" +void hal_pinmux_config(int io_type); + +#endif //end of __HAL_PINMUX_CONFIG_H__ diff --git a/freertos/cvitek/install/include/hal/snsr_i2c/cvi_i2c.h b/freertos/cvitek/install/include/hal/snsr_i2c/cvi_i2c.h new file mode 100644 index 000000000..5d4c0bc69 --- /dev/null +++ b/freertos/cvitek/install/include/hal/snsr_i2c/cvi_i2c.h @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef __CVI_I2C_H__ +#define __CVI_I2C_H__ + +#define CVI_I2C_MAX_NUM 4 +#define CVI_I2C_DMA_ENABLE 0 + +/* register definitions */ +#define REG_I2C_CON 0x000 +#define REG_I2C_TAR 0x004 +#define REG_I2C_SAR 0x008 +#define REG_I2C_HS_MADDR 0x00C +#define REG_I2C_DATA_CMD 0x010 +#define REG_I2C_SS_SCL_HCNT 0x014 +#define REG_I2C_SS_SCL_LCNT 0x018 +#define REG_I2C_FS_SCL_HCNT 0x01C +#define REG_I2C_FS_SCL_LCNT 0x020 +#define REG_I2C_HS_SCL_HCNT 0x024 +#define REG_I2C_HS_SCL_LCNT 0x028 +#define REG_I2C_INT_STAT 0x02C +#define REG_I2C_INT_MASK 0x030 +#define REG_I2C_RAW_INT_STAT 0x034 +#define REG_I2C_RX_TL 0x038 +#define REG_I2C_TX_TL 0x03C +#define REG_I2C_CLR_INTR 0x040 +#define REG_I2C_CLR_RX_UNDER 0x044 +#define REG_I2C_CLR_RX_OVER 0x048 +#define REG_I2C_CLR_TX_OVER 0x04C +#define REG_I2C_CLR_RD_REQ 0x050 +#define REG_I2C_CLR_TX_ABRT 0x054 +#define REG_I2C_CLR_RX_DONE 0x058 +#define REG_I2C_CLR_ACTIVITY 0x05C +#define REG_I2C_CLR_STOP_DET 0x060 +#define REG_I2C_CLR_START_DET 0x064 +#define REG_I2C_CLR_GEN_ALL 0x068 +#define REG_I2C_ENABLE 0x06C +#define REG_I2C_STATUS 0x070 +#define REG_I2C_TXFLR 0x074 +#define REG_I2C_RXFLR 0x078 +#define REG_I2C_SDA_HOLD 0x07C +#define REG_I2C_TX_ABRT_SOURCE 0x080 +#define REG_I2C_SLV_DATA_NACK_ONLY 0x084 +#define REG_I2C_DMA_CR 0x088 +#define REG_I2C_DMA_TDLR 0x08C +#define REG_I2C_DMA_RDLR 0x090 +#define REG_I2C_SDA_SETUP 0x094 +#define REG_I2C_ACK_GENERAL_CALL 0x098 +#define REG_I2C_ENABLE_STATUS 0x09C +#define REG_I2C_FS_SPKLEN 0x0A0 +#define REG_I2C_HS_SPKLEN 0x0A4 +#define REG_I2C_COMP_PARAM_1 0x0F4 +#define REG_I2C_COMP_VERSION 0x0F8 +#define REG_I2C_COMP_TYPE 0x0FC + +/* bit definition */ +#define BIT_I2C_CON_MASTER_MODE (0x01 << 0) +#define BIT_I2C_CON_STANDARD_SPEED (0x01 << 1) +#define BIT_I2C_CON_FULL_SPEED (0x02 << 1) +#define BIT_I2C_CON_HIGH_SPEED (0x03 << 1) +#define BIT_I2C_CON_10B_ADDR_SLAVE (0x01 << 3) +#define BIT_I2C_CON_10B_ADDR_MASTER (0x01 << 4) +#define BIT_I2C_CON_RESTART_EN (0x01 << 5) +#define BIT_I2C_CON_SLAVE_DIS (0x01 << 6) + +#define BIT_I2C_INT_RX_UNDER (0x01 << 0) +#define BIT_I2C_INT_RX_OVER (0x01 << 1) +#define BIT_I2C_INT_RX_FULL (0x01 << 2) +#define BIT_I2C_INT_TX_OVER (0x01 << 3) +#define BIT_I2C_INT_TX_EMPTY (0x01 << 4) +#define BIT_I2C_INT_RD_REQ (0x01 << 5) +#define BIT_I2C_INT_TX_ABRT (0x01 << 6) +#define BIT_I2C_INT_RX_DONE (0x01 << 7) +#define BIT_I2C_INT_ACTIVITY (0x01 << 8) +#define BIT_I2C_INT_STOP_DET (0x01 << 9) +#define BIT_I2C_INT_START_DET (0x01 << 10) +#define BIT_I2C_INT_GEN_ALL (0x01 << 11) + +#define BIT_I2C_INT_RX_UNDER_MASK (0x01 << 0) +#define BIT_I2C_INT_RX_OVER_MASK (0x01 << 1) +#define BIT_I2C_INT_RX_FULL_MASK (0x01 << 2) +#define BIT_I2C_INT_TX_OVER_MASK (0x01 << 3) +#define BIT_I2C_INT_TX_EMPTY_MASK (0x01 << 4) +#define BIT_I2C_INT_RD_REQ_MASK (0x01 << 5) +#define BIT_I2C_INT_TX_ABRT_MASK (0x01 << 6) +#define BIT_I2C_INT_RX_DONE_MASK (0x01 << 7) +#define BIT_I2C_INT_ACTIVITY_MASK (0x01 << 8) +#define BIT_I2C_INT_STOP_DET_MASK (0x01 << 9) +#define BIT_I2C_INT_START_DET_MASK (0x01 << 10) +#define BIT_I2C_INT_GEN_ALL_MASK (0x01 << 11) + +#define BIT_I2C_INT_RX_UNDER_RAW (0x01 << 0) +#define BIT_I2C_INT_RX_OVER_RAW (0x01 << 1) +#define BIT_I2C_INT_RX_FULL_RAW (0x01 << 2) +#define BIT_I2C_INT_TX_OVER_RAW (0x01 << 3) +#define BIT_I2C_INT_TX_EMPTY_RAW (0x01 << 4) +#define BIT_I2C_INT_RD_REQ_RAW (0x01 << 5) +#define BIT_I2C_INT_TX_ABRT_RAW (0x01 << 6) +#define BIT_I2C_INT_RX_DONE_RAW (0x01 << 7) +#define BIT_I2C_INT_ACTIVITY_RAW (0x01 << 8) +#define BIT_I2C_INT_STOP_DET_RAW (0x01 << 9) +#define BIT_I2C_INT_START_DET_RAW (0x01 << 10) +#define BIT_I2C_INT_GEN_ALL_RAW (0x01 << 11) + +#define BIT_I2C_CMD_DATA_READ_BIT (0x01 << 8) +#define BIT_I2C_CMD_DATA_STOP_BIT (0x01 << 9) +#define BIT_I2C_CMD_DATA_RESTART_BIT (0x01 << 10) + +#define BIT_I2C_DMA_CR_RDMAE (0x01 << 0) +#define BIT_I2C_DMA_CR_TDMAE (0x01 << 1) + +#define CH_I2C_TX 5 + +#define I2C_MAX_SPEED 3400000 // 3.4MHz +#define I2C_HIGH_SPEED 1000000 // 1MHz +#define I2C_FAST_SPEED 400000 // 400KHz +#define I2C_STANDARD_SPEED 100000 // 100KHz + +#define I2C_100KHZ 0 +#define I2C_400KHZ 1 + +struct i2c_info { + uint64_t ctrl_base; // i2c base address + uint8_t enable; + uint8_t slave_id; + uint8_t alen; // address length + uint8_t dlen; // data length +} __attribute__((packed)); + +int cvi_i2c_master_init(uint8_t bus_id, uint16_t slave_id, uint16_t speed, uint8_t alen, uint8_t dlen); +int cvi_i2c_master_write(uint8_t bus_id, uint16_t reg, uint16_t value); +uint16_t cvi_i2c_master_read(uint8_t bus_id, uint16_t reg); + +#if CVI_I2C_DMA_ENABLE +void cvi_i2c_master_dma_init(unsigned long base, uint32_t ch, uint16_t *tx_buf, uint32_t len); +void cvi_i2c_master_dma_write(uint32_t ch); +void cvi_i2c_enable_dma(void); +void cvi_i2c_disable_dma(void); +void cvi_i2c_enable_dma_ch(uint32_t ch); +uint8_t cvi_i2c_is_dma_ch_enable(uint32_t ch); +void cvi_i2c_dma_bind_ch(uint32_t i2c_ch); +#endif + +#endif /* __CVI_I2C_H__ */ diff --git a/freertos/cvitek/install/include/hal/uart/hal_uart_dw.h b/freertos/cvitek/install/include/hal/uart/hal_uart_dw.h new file mode 100644 index 000000000..ba4bba7fd --- /dev/null +++ b/freertos/cvitek/install/include/hal/uart/hal_uart_dw.h @@ -0,0 +1,77 @@ +#ifndef __HAL_UART_DW_HEADER__ +#define __HAL_UART_DW_HEADER__ +#include +//#include "linux/types.h" + +#define thr rbr +#define iir fcr +#define dll rbr +#define dlm ier + +#ifdef RISCV_QEMU +struct dw_regs { + volatile uint8_t rbr; /* 0x00 Data register */ + volatile uint8_t ier; /* 0x04 Interrupt Enable Register */ + volatile uint8_t fcr; /* 0x08 FIFO Control Register */ + volatile uint8_t lcr; /* 0x0C Line control register */ + volatile uint8_t mcr; /* 0x10 Line control register */ + volatile uint8_t lsr; /* 0x14 Line Status Register */ + volatile uint8_t msr; /* 0x18 Modem Status Register */ + volatile uint8_t spr; /* 0x20 Scratch Register */ +}; + +#else +struct dw_regs { + volatile uint32_t rbr; /* 0x00 Data register */ + volatile uint32_t ier; /* 0x04 Interrupt Enable Register */ + volatile uint32_t fcr; /* 0x08 FIFO Control Register */ + volatile uint32_t lcr; /* 0x0C Line control register */ + volatile uint32_t mcr; /* 0x10 Line control register */ + volatile uint32_t lsr; /* 0x14 Line Status Register */ + volatile uint32_t msr; /* 0x18 Modem Status Register */ + volatile uint32_t spr; /* 0x20 Scratch Register */ +}; +#endif +#define UART_LCR_WLS_MSK 0x03 /* character length select mask */ +#define UART_LCR_WLS_5 0x00 /* 5 bit character length */ +#define UART_LCR_WLS_6 0x01 /* 6 bit character length */ +#define UART_LCR_WLS_7 0x02 /* 7 bit character length */ +#define UART_LCR_WLS_8 0x03 /* 8 bit character length */ +#define UART_LCR_STB 0x04 /* # stop Bits, off=1, on=1.5 or 2) */ +#define UART_LCR_PEN 0x08 /* Parity eneble */ +#define UART_LCR_EPS 0x10 /* Even Parity Select */ +#define UART_LCR_STKP 0x20 /* Stick Parity */ +#define UART_LCR_SBRK 0x40 /* Set Break */ +#define UART_LCR_BKSE 0x80 /* Bank select enable */ +#define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ + +#define UART_MCR_DTR 0x01 /* DTR */ +#define UART_MCR_RTS 0x02 /* RTS */ + +#define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ +#define UART_LSR_DR 0x01 /* Receiver data ready */ +#define UART_LSR_TEMT 0x40 /* Xmitter empty */ + +#define UART_FCR_FIFO_EN 0x01 /* Fifo enable */ +#define UART_FCR_RXSR 0x02 /* Receiver soft reset */ +#define UART_FCR_TXSR 0x04 /* Transmitter soft reset */ + +#define UART_MCRVAL (UART_MCR_DTR | UART_MCR_RTS) /* RTS/DTR */ +#define UART_FCR_DEFVAL (UART_FCR_FIFO_EN | UART_FCR_RXSR | UART_FCR_TXSR) +#define UART_LCR_8N1 0x03 + +typedef enum DEV_UART device_uart; + +enum DEV_UART{ + UART0, + UART1, + UART2, + UART3, +}; + +void hal_uart_init(device_uart dev_uart, int baudrate, int uart_clock); +void hal_uart_putc(uint8_t ch); +int hal_uart_getc(void); +int hal_uart_tstc(void); + +#endif // end of __HAL_UART_DW_HEADER__ diff --git a/freertos/cvitek/install/include/kernel/FreeRTOS.h b/freertos/cvitek/install/include/kernel/FreeRTOS.h new file mode 100644 index 000000000..61097df4f --- /dev/null +++ b/freertos/cvitek/install/include/kernel/FreeRTOS.h @@ -0,0 +1,1365 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef INC_FREERTOS_H +#define INC_FREERTOS_H + +/* + * Include the generic headers required for the FreeRTOS port being used. + */ +#include + +/* + * If stdint.h cannot be located then: + * + If using GCC ensure the -nostdint options is *not* being used. + * + Ensure the project's include path includes the directory in which your + * compiler stores stdint.h. + * + Set any compiler options necessary for it to support C99, as technically + * stdint.h is only mandatory with C99 (FreeRTOS does not require C99 in any + * other way). + * + The FreeRTOS download includes a simple stdint.h definition that can be + * used in cases where none is provided by the compiler. The files only + * contains the typedefs required to build FreeRTOS. Read the instructions + * in FreeRTOS/source/stdint.readme for more information. + */ + +#ifdef __BUILD_RTOS_KERNEL__ +#include /* READ COMMENT ABOVE. */ +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/* Application specific configuration options. */ +#include "FreeRTOSConfig.h" + +/* Basic FreeRTOS definitions. */ +#include "projdefs.h" + +/* Definitions specific to the port being used. */ +#include "portable.h" + +/* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */ +#ifndef configUSE_NEWLIB_REENTRANT + #define configUSE_NEWLIB_REENTRANT 0 +#endif + +/* Required if struct _reent is used. */ +#if ( configUSE_NEWLIB_REENTRANT == 1 ) + #include +#endif + +/* + * Check all the required application specific macros have been defined. + * These macros are application specific and (as downloaded) are defined + * within FreeRTOSConfig.h. + */ + +#ifndef configMINIMAL_STACK_SIZE + #error Missing definition: configMINIMAL_STACK_SIZE must be defined in FreeRTOSConfig.h. configMINIMAL_STACK_SIZE defines the size (in words) of the stack allocated to the idle task. Refer to the demo project provided for your port for a suitable value. +#endif + +#ifndef configMAX_PRIORITIES + #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details. +#endif + +#if configMAX_PRIORITIES < 1 + #error configMAX_PRIORITIES must be defined to be greater than or equal to 1. +#endif + +#ifndef configUSE_PREEMPTION + #error Missing definition: configUSE_PREEMPTION must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. +#endif + +#ifndef configUSE_IDLE_HOOK + #error Missing definition: configUSE_IDLE_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. +#endif + +#ifndef configUSE_TICK_HOOK + #error Missing definition: configUSE_TICK_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. +#endif + +#ifndef configUSE_16_BIT_TICKS + #error Missing definition: configUSE_16_BIT_TICKS must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. +#endif + +#ifndef configUSE_CO_ROUTINES + #define configUSE_CO_ROUTINES 0 +#endif + +#ifndef INCLUDE_vTaskPrioritySet + #define INCLUDE_vTaskPrioritySet 0 +#endif + +#ifndef INCLUDE_uxTaskPriorityGet + #define INCLUDE_uxTaskPriorityGet 0 +#endif + +#ifndef INCLUDE_vTaskDelete + #define INCLUDE_vTaskDelete 0 +#endif + +#ifndef INCLUDE_vTaskSuspend + #define INCLUDE_vTaskSuspend 0 +#endif + +#ifdef INCLUDE_xTaskDelayUntil + #ifdef INCLUDE_vTaskDelayUntil + +/* INCLUDE_vTaskDelayUntil was replaced by INCLUDE_xTaskDelayUntil. Backward + * compatibility is maintained if only one or the other is defined, but + * there is a conflict if both are defined. */ + #error INCLUDE_vTaskDelayUntil and INCLUDE_xTaskDelayUntil are both defined. INCLUDE_vTaskDelayUntil is no longer required and should be removed + #endif +#endif + +#ifndef INCLUDE_xTaskDelayUntil + #ifdef INCLUDE_vTaskDelayUntil + +/* If INCLUDE_vTaskDelayUntil is set but INCLUDE_xTaskDelayUntil is not then + * the project's FreeRTOSConfig.h probably pre-dates the introduction of + * xTaskDelayUntil and setting INCLUDE_xTaskDelayUntil to whatever + * INCLUDE_vTaskDelayUntil is set to will ensure backward compatibility. + */ + #define INCLUDE_xTaskDelayUntil INCLUDE_vTaskDelayUntil + #endif +#endif + +#ifndef INCLUDE_xTaskDelayUntil + #define INCLUDE_xTaskDelayUntil 0 +#endif + +#ifndef INCLUDE_vTaskDelay + #define INCLUDE_vTaskDelay 0 +#endif + +#ifndef INCLUDE_xTaskGetIdleTaskHandle + #define INCLUDE_xTaskGetIdleTaskHandle 0 +#endif + +#ifndef INCLUDE_xTaskAbortDelay + #define INCLUDE_xTaskAbortDelay 0 +#endif + +#ifndef INCLUDE_xQueueGetMutexHolder + #define INCLUDE_xQueueGetMutexHolder 0 +#endif + +#ifndef INCLUDE_xSemaphoreGetMutexHolder + #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder +#endif + +#ifndef INCLUDE_xTaskGetHandle + #define INCLUDE_xTaskGetHandle 0 +#endif + +#ifndef INCLUDE_uxTaskGetStackHighWaterMark + #define INCLUDE_uxTaskGetStackHighWaterMark 0 +#endif + +#ifndef INCLUDE_uxTaskGetStackHighWaterMark2 + #define INCLUDE_uxTaskGetStackHighWaterMark2 0 +#endif + +#ifndef INCLUDE_eTaskGetState + #define INCLUDE_eTaskGetState 0 +#endif + +#ifndef INCLUDE_xTaskResumeFromISR + #define INCLUDE_xTaskResumeFromISR 1 +#endif + +#ifndef INCLUDE_xTimerPendFunctionCall + #define INCLUDE_xTimerPendFunctionCall 0 +#endif + +#ifndef INCLUDE_xTaskGetSchedulerState + #define INCLUDE_xTaskGetSchedulerState 0 +#endif + +#ifndef INCLUDE_xTaskGetCurrentTaskHandle + #define INCLUDE_xTaskGetCurrentTaskHandle 0 +#endif + +#if configUSE_CO_ROUTINES != 0 + #ifndef configMAX_CO_ROUTINE_PRIORITIES + #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1. + #endif +#endif + +#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK + #define configUSE_DAEMON_TASK_STARTUP_HOOK 0 +#endif + +#ifndef configUSE_APPLICATION_TASK_TAG + #define configUSE_APPLICATION_TASK_TAG 0 +#endif + +#ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS + #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0 +#endif + +#ifndef configUSE_RECURSIVE_MUTEXES + #define configUSE_RECURSIVE_MUTEXES 0 +#endif + +#ifndef configUSE_MUTEXES + #define configUSE_MUTEXES 0 +#endif + +#ifndef configUSE_TIMERS + #define configUSE_TIMERS 0 +#endif + +#ifndef configUSE_COUNTING_SEMAPHORES + #define configUSE_COUNTING_SEMAPHORES 0 +#endif + +#ifndef configUSE_ALTERNATIVE_API + #define configUSE_ALTERNATIVE_API 0 +#endif + +#ifndef portCRITICAL_NESTING_IN_TCB + #define portCRITICAL_NESTING_IN_TCB 0 +#endif + +#ifndef configMAX_TASK_NAME_LEN + #define configMAX_TASK_NAME_LEN 16 +#endif + +#ifndef configIDLE_SHOULD_YIELD + #define configIDLE_SHOULD_YIELD 1 +#endif + +#if configMAX_TASK_NAME_LEN < 1 + #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h +#endif + +#ifndef configASSERT + #define configASSERT( x ) + #define configASSERT_DEFINED 0 +#else + #define configASSERT_DEFINED 1 +#endif + +/* configPRECONDITION should be defined as configASSERT. + * The CBMC proofs need a way to track assumptions and assertions. + * A configPRECONDITION statement should express an implicit invariant or + * assumption made. A configASSERT statement should express an invariant that must + * hold explicit before calling the code. */ +#ifndef configPRECONDITION + #define configPRECONDITION( X ) configASSERT( X ) + #define configPRECONDITION_DEFINED 0 +#else + #define configPRECONDITION_DEFINED 1 +#endif + +#ifndef portMEMORY_BARRIER + #define portMEMORY_BARRIER() +#endif + +#ifndef portSOFTWARE_BARRIER + #define portSOFTWARE_BARRIER() +#endif + +/* The timers module relies on xTaskGetSchedulerState(). */ +#if configUSE_TIMERS == 1 + + #ifndef configTIMER_TASK_PRIORITY + #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined. + #endif /* configTIMER_TASK_PRIORITY */ + + #ifndef configTIMER_QUEUE_LENGTH + #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined. + #endif /* configTIMER_QUEUE_LENGTH */ + + #ifndef configTIMER_TASK_STACK_DEPTH + #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined. + #endif /* configTIMER_TASK_STACK_DEPTH */ + +#endif /* configUSE_TIMERS */ + +#ifndef portSET_INTERRUPT_MASK_FROM_ISR + #define portSET_INTERRUPT_MASK_FROM_ISR() 0 +#endif + +#ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR + #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue +#endif + +#ifndef portCLEAN_UP_TCB + #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB +#endif + +#ifndef portPRE_TASK_DELETE_HOOK + #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending ) +#endif + +#ifndef portSETUP_TCB + #define portSETUP_TCB( pxTCB ) ( void ) pxTCB +#endif + +#ifndef configQUEUE_REGISTRY_SIZE + #define configQUEUE_REGISTRY_SIZE 0U +#endif + +#if ( configQUEUE_REGISTRY_SIZE < 1 ) + #define vQueueAddToRegistry( xQueue, pcName ) + #define vQueueUnregisterQueue( xQueue ) + #define pcQueueGetName( xQueue ) +#endif + +#ifndef portPOINTER_SIZE_TYPE + #define portPOINTER_SIZE_TYPE uint32_t +#endif + +/* Remove any unused trace macros. */ +#ifndef traceSTART + +/* Used to perform any necessary initialisation - for example, open a file + * into which trace is to be written. */ + #define traceSTART() +#endif + +#ifndef traceEND + +/* Use to close a trace, for example close a file into which trace has been + * written. */ + #define traceEND() +#endif + +#ifndef traceTASK_SWITCHED_IN + +/* Called after a task has been selected to run. pxCurrentTCB holds a pointer + * to the task control block of the selected task. */ + #define traceTASK_SWITCHED_IN() +#endif + +#ifndef traceINCREASE_TICK_COUNT + +/* Called before stepping the tick count after waking from tickless idle + * sleep. */ + #define traceINCREASE_TICK_COUNT( x ) +#endif + +#ifndef traceLOW_POWER_IDLE_BEGIN + /* Called immediately before entering tickless idle. */ + #define traceLOW_POWER_IDLE_BEGIN() +#endif + +#ifndef traceLOW_POWER_IDLE_END + /* Called when returning to the Idle task after a tickless idle. */ + #define traceLOW_POWER_IDLE_END() +#endif + +#ifndef traceTASK_SWITCHED_OUT + +/* Called before a task has been selected to run. pxCurrentTCB holds a pointer + * to the task control block of the task being switched out. */ + #define traceTASK_SWITCHED_OUT() +#endif + +#ifndef traceTASK_PRIORITY_INHERIT + +/* Called when a task attempts to take a mutex that is already held by a + * lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task + * that holds the mutex. uxInheritedPriority is the priority the mutex holder + * will inherit (the priority of the task that is attempting to obtain the + * muted. */ + #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority ) +#endif + +#ifndef traceTASK_PRIORITY_DISINHERIT + +/* Called when a task releases a mutex, the holding of which had resulted in + * the task inheriting the priority of a higher priority task. + * pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the + * mutex. uxOriginalPriority is the task's configured (base) priority. */ + #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority ) +#endif + +#ifndef traceBLOCKING_ON_QUEUE_RECEIVE + +/* Task is about to block because it cannot read from a + * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore + * upon which the read was attempted. pxCurrentTCB points to the TCB of the + * task that attempted the read. */ + #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) +#endif + +#ifndef traceBLOCKING_ON_QUEUE_PEEK + +/* Task is about to block because it cannot read from a + * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore + * upon which the read was attempted. pxCurrentTCB points to the TCB of the + * task that attempted the read. */ + #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue ) +#endif + +#ifndef traceBLOCKING_ON_QUEUE_SEND + +/* Task is about to block because it cannot write to a + * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore + * upon which the write was attempted. pxCurrentTCB points to the TCB of the + * task that attempted the write. */ + #define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) +#endif + +#ifndef configCHECK_FOR_STACK_OVERFLOW + #define configCHECK_FOR_STACK_OVERFLOW 0 +#endif + +#ifndef configRECORD_STACK_HIGH_ADDRESS + #define configRECORD_STACK_HIGH_ADDRESS 0 +#endif + +#ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H + #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0 +#endif + +/* The following event macros are embedded in the kernel API calls. */ + +#ifndef traceMOVED_TASK_TO_READY_STATE + #define traceMOVED_TASK_TO_READY_STATE( pxTCB ) +#endif + +#ifndef tracePOST_MOVED_TASK_TO_READY_STATE + #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB ) +#endif + +#ifndef traceQUEUE_CREATE + #define traceQUEUE_CREATE( pxNewQueue ) +#endif + +#ifndef traceQUEUE_CREATE_FAILED + #define traceQUEUE_CREATE_FAILED( ucQueueType ) +#endif + +#ifndef traceCREATE_MUTEX + #define traceCREATE_MUTEX( pxNewQueue ) +#endif + +#ifndef traceCREATE_MUTEX_FAILED + #define traceCREATE_MUTEX_FAILED() +#endif + +#ifndef traceGIVE_MUTEX_RECURSIVE + #define traceGIVE_MUTEX_RECURSIVE( pxMutex ) +#endif + +#ifndef traceGIVE_MUTEX_RECURSIVE_FAILED + #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) +#endif + +#ifndef traceTAKE_MUTEX_RECURSIVE + #define traceTAKE_MUTEX_RECURSIVE( pxMutex ) +#endif + +#ifndef traceTAKE_MUTEX_RECURSIVE_FAILED + #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex ) +#endif + +#ifndef traceCREATE_COUNTING_SEMAPHORE + #define traceCREATE_COUNTING_SEMAPHORE() +#endif + +#ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED + #define traceCREATE_COUNTING_SEMAPHORE_FAILED() +#endif + +#ifndef traceQUEUE_SET_SEND + #define traceQUEUE_SET_SEND traceQUEUE_SEND +#endif + +#ifndef traceQUEUE_SEND + #define traceQUEUE_SEND( pxQueue ) +#endif + +#ifndef traceQUEUE_SEND_FAILED + #define traceQUEUE_SEND_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_RECEIVE + #define traceQUEUE_RECEIVE( pxQueue ) +#endif + +#ifndef traceQUEUE_PEEK + #define traceQUEUE_PEEK( pxQueue ) +#endif + +#ifndef traceQUEUE_PEEK_FAILED + #define traceQUEUE_PEEK_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_PEEK_FROM_ISR + #define traceQUEUE_PEEK_FROM_ISR( pxQueue ) +#endif + +#ifndef traceQUEUE_RECEIVE_FAILED + #define traceQUEUE_RECEIVE_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_SEND_FROM_ISR + #define traceQUEUE_SEND_FROM_ISR( pxQueue ) +#endif + +#ifndef traceQUEUE_SEND_FROM_ISR_FAILED + #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_RECEIVE_FROM_ISR + #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) +#endif + +#ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED + #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_PEEK_FROM_ISR_FAILED + #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue ) +#endif + +#ifndef traceQUEUE_DELETE + #define traceQUEUE_DELETE( pxQueue ) +#endif + +#ifndef traceTASK_CREATE + #define traceTASK_CREATE( pxNewTCB ) +#endif + +#ifndef traceTASK_CREATE_FAILED + #define traceTASK_CREATE_FAILED() +#endif + +#ifndef traceTASK_DELETE + #define traceTASK_DELETE( pxTaskToDelete ) +#endif + +#ifndef traceTASK_DELAY_UNTIL + #define traceTASK_DELAY_UNTIL( x ) +#endif + +#ifndef traceTASK_DELAY + #define traceTASK_DELAY() +#endif + +#ifndef traceTASK_PRIORITY_SET + #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) +#endif + +#ifndef traceTASK_SUSPEND + #define traceTASK_SUSPEND( pxTaskToSuspend ) +#endif + +#ifndef traceTASK_RESUME + #define traceTASK_RESUME( pxTaskToResume ) +#endif + +#ifndef traceTASK_RESUME_FROM_ISR + #define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) +#endif + +#ifndef traceTASK_INCREMENT_TICK + #define traceTASK_INCREMENT_TICK( xTickCount ) +#endif + +#ifndef traceTIMER_CREATE + #define traceTIMER_CREATE( pxNewTimer ) +#endif + +#ifndef traceTIMER_CREATE_FAILED + #define traceTIMER_CREATE_FAILED() +#endif + +#ifndef traceTIMER_COMMAND_SEND + #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn ) +#endif + +#ifndef traceTIMER_EXPIRED + #define traceTIMER_EXPIRED( pxTimer ) +#endif + +#ifndef traceTIMER_COMMAND_RECEIVED + #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue ) +#endif + +#ifndef traceMALLOC + #define traceMALLOC( pvAddress, uiSize ) +#endif + +#ifndef traceFREE + #define traceFREE( pvAddress, uiSize ) +#endif + +#ifndef traceEVENT_GROUP_CREATE + #define traceEVENT_GROUP_CREATE( xEventGroup ) +#endif + +#ifndef traceEVENT_GROUP_CREATE_FAILED + #define traceEVENT_GROUP_CREATE_FAILED() +#endif + +#ifndef traceEVENT_GROUP_SYNC_BLOCK + #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor ) +#endif + +#ifndef traceEVENT_GROUP_SYNC_END + #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred +#endif + +#ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK + #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor ) +#endif + +#ifndef traceEVENT_GROUP_WAIT_BITS_END + #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred +#endif + +#ifndef traceEVENT_GROUP_CLEAR_BITS + #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear ) +#endif + +#ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR + #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear ) +#endif + +#ifndef traceEVENT_GROUP_SET_BITS + #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet ) +#endif + +#ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR + #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet ) +#endif + +#ifndef traceEVENT_GROUP_DELETE + #define traceEVENT_GROUP_DELETE( xEventGroup ) +#endif + +#ifndef tracePEND_FUNC_CALL + #define tracePEND_FUNC_CALL( xFunctionToPend, pvParameter1, ulParameter2, ret ) +#endif + +#ifndef tracePEND_FUNC_CALL_FROM_ISR + #define tracePEND_FUNC_CALL_FROM_ISR( xFunctionToPend, pvParameter1, ulParameter2, ret ) +#endif + +#ifndef traceQUEUE_REGISTRY_ADD + #define traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName ) +#endif + +#ifndef traceTASK_NOTIFY_TAKE_BLOCK + #define traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWait ) +#endif + +#ifndef traceTASK_NOTIFY_TAKE + #define traceTASK_NOTIFY_TAKE( uxIndexToWait ) +#endif + +#ifndef traceTASK_NOTIFY_WAIT_BLOCK + #define traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWait ) +#endif + +#ifndef traceTASK_NOTIFY_WAIT + #define traceTASK_NOTIFY_WAIT( uxIndexToWait ) +#endif + +#ifndef traceTASK_NOTIFY + #define traceTASK_NOTIFY( uxIndexToNotify ) +#endif + +#ifndef traceTASK_NOTIFY_FROM_ISR + #define traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify ) +#endif + +#ifndef traceTASK_NOTIFY_GIVE_FROM_ISR + #define traceTASK_NOTIFY_GIVE_FROM_ISR( uxIndexToNotify ) +#endif + +#ifndef traceSTREAM_BUFFER_CREATE_FAILED + #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED + #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_CREATE + #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_DELETE + #define traceSTREAM_BUFFER_DELETE( xStreamBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_RESET + #define traceSTREAM_BUFFER_RESET( xStreamBuffer ) +#endif + +#ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND + #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_SEND + #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent ) +#endif + +#ifndef traceSTREAM_BUFFER_SEND_FAILED + #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_SEND_FROM_ISR + #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent ) +#endif + +#ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE + #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_RECEIVE + #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength ) +#endif + +#ifndef traceSTREAM_BUFFER_RECEIVE_FAILED + #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer ) +#endif + +#ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR + #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength ) +#endif + +#ifndef configGENERATE_RUN_TIME_STATS + #define configGENERATE_RUN_TIME_STATS 0 +#endif + +#if ( configGENERATE_RUN_TIME_STATS == 1 ) + + #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS + #error If configGENERATE_RUN_TIME_STATS is defined then portCONFIGURE_TIMER_FOR_RUN_TIME_STATS must also be defined. portCONFIGURE_TIMER_FOR_RUN_TIME_STATS should call a port layer function to setup a peripheral timer/counter that can then be used as the run time counter time base. + #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */ + + #ifndef portGET_RUN_TIME_COUNTER_VALUE + #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE + #error If configGENERATE_RUN_TIME_STATS is defined then either portGET_RUN_TIME_COUNTER_VALUE or portALT_GET_RUN_TIME_COUNTER_VALUE must also be defined. See the examples provided and the FreeRTOS web site for more information. + #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */ + #endif /* portGET_RUN_TIME_COUNTER_VALUE */ + +#endif /* configGENERATE_RUN_TIME_STATS */ + +#ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS + #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() +#endif + +#ifndef configUSE_MALLOC_FAILED_HOOK + #define configUSE_MALLOC_FAILED_HOOK 0 +#endif + +#ifndef portPRIVILEGE_BIT + #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 ) +#endif + +#ifndef portYIELD_WITHIN_API + #define portYIELD_WITHIN_API portYIELD +#endif + +#ifndef portSUPPRESS_TICKS_AND_SLEEP + #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) +#endif + +#ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP + #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2 +#endif + +#if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2 + #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2 +#endif + +#ifndef configUSE_TICKLESS_IDLE + #define configUSE_TICKLESS_IDLE 0 +#endif + +#ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING + #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x ) +#endif + +#ifndef configPRE_SLEEP_PROCESSING + #define configPRE_SLEEP_PROCESSING( x ) +#endif + +#ifndef configPOST_SLEEP_PROCESSING + #define configPOST_SLEEP_PROCESSING( x ) +#endif + +#ifndef configUSE_QUEUE_SETS + #define configUSE_QUEUE_SETS 0 +#endif + +#ifndef portTASK_USES_FLOATING_POINT + #define portTASK_USES_FLOATING_POINT() +#endif + +#ifndef portALLOCATE_SECURE_CONTEXT + #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize ) +#endif + +#ifndef portDONT_DISCARD + #define portDONT_DISCARD +#endif + +#ifndef configUSE_TIME_SLICING + #define configUSE_TIME_SLICING 1 +#endif + +#ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS + #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0 +#endif + +#ifndef configUSE_STATS_FORMATTING_FUNCTIONS + #define configUSE_STATS_FORMATTING_FUNCTIONS 0 +#endif + +#ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID + #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() +#endif + +#ifndef configUSE_TRACE_FACILITY + #define configUSE_TRACE_FACILITY 0 +#endif + +#ifndef mtCOVERAGE_TEST_MARKER + #define mtCOVERAGE_TEST_MARKER() +#endif + +#ifndef mtCOVERAGE_TEST_DELAY + #define mtCOVERAGE_TEST_DELAY() +#endif + +#ifndef portASSERT_IF_IN_ISR + #define portASSERT_IF_IN_ISR() +#endif + +#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION + #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 +#endif + +#ifndef configAPPLICATION_ALLOCATED_HEAP + #define configAPPLICATION_ALLOCATED_HEAP 0 +#endif + +#ifndef configUSE_TASK_NOTIFICATIONS + #define configUSE_TASK_NOTIFICATIONS 1 +#endif + +#ifndef configTASK_NOTIFICATION_ARRAY_ENTRIES + #define configTASK_NOTIFICATION_ARRAY_ENTRIES 1 +#endif + +#if configTASK_NOTIFICATION_ARRAY_ENTRIES < 1 + #error configTASK_NOTIFICATION_ARRAY_ENTRIES must be at least 1 +#endif + +#ifndef configUSE_POSIX_ERRNO + #define configUSE_POSIX_ERRNO 0 +#endif + +#ifndef portTICK_TYPE_IS_ATOMIC + #define portTICK_TYPE_IS_ATOMIC 0 +#endif + +#ifndef configSUPPORT_STATIC_ALLOCATION + /* Defaults to 0 for backward compatibility. */ + #define configSUPPORT_STATIC_ALLOCATION 0 +#endif + +#ifndef configSUPPORT_DYNAMIC_ALLOCATION + /* Defaults to 1 for backward compatibility. */ + #define configSUPPORT_DYNAMIC_ALLOCATION 1 +#endif + +#ifndef configSTACK_DEPTH_TYPE + +/* Defaults to uint16_t for backward compatibility, but can be overridden + * in FreeRTOSConfig.h if uint16_t is too restrictive. */ + #define configSTACK_DEPTH_TYPE uint16_t +#endif + +#ifndef configRUN_TIME_COUNTER_TYPE + +/* Defaults to uint32_t for backward compatibility, but can be overridden in + * FreeRTOSConfig.h if uint32_t is too restrictive. */ + + #define configRUN_TIME_COUNTER_TYPE uint32_t +#endif + +#ifndef configMESSAGE_BUFFER_LENGTH_TYPE + +/* Defaults to size_t for backward compatibility, but can be overridden + * in FreeRTOSConfig.h if lengths will always be less than the number of bytes + * in a size_t. */ + #define configMESSAGE_BUFFER_LENGTH_TYPE size_t +#endif + +/* Sanity check the configuration. */ +#if ( configUSE_TICKLESS_IDLE != 0 ) + #if ( INCLUDE_vTaskSuspend != 1 ) + #error INCLUDE_vTaskSuspend must be set to 1 if configUSE_TICKLESS_IDLE is not set to 0 + #endif /* INCLUDE_vTaskSuspend */ +#endif /* configUSE_TICKLESS_IDLE */ + +#if ( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) ) + #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1. +#endif + +#if ( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) ) + #error configUSE_MUTEXES must be set to 1 to use recursive mutexes +#endif + +#ifndef configINITIAL_TICK_COUNT + #define configINITIAL_TICK_COUNT 0 +#endif + +#if ( portTICK_TYPE_IS_ATOMIC == 0 ) + +/* Either variables of tick type cannot be read atomically, or + * portTICK_TYPE_IS_ATOMIC was not set - map the critical sections used when + * the tick count is returned to the standard critical section macros. */ + #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL() + #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL() + #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR() + #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) ) +#else + +/* The tick type can be read atomically, so critical sections used when the + * tick count is returned can be defined away. */ + #define portTICK_TYPE_ENTER_CRITICAL() + #define portTICK_TYPE_EXIT_CRITICAL() + #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0 + #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) x +#endif /* if ( portTICK_TYPE_IS_ATOMIC == 0 ) */ + +/* Definitions to allow backward compatibility with FreeRTOS versions prior to + * V8 if desired. */ +#ifndef configENABLE_BACKWARD_COMPATIBILITY + #define configENABLE_BACKWARD_COMPATIBILITY 1 +#endif + +#ifndef configPRINTF + +/* configPRINTF() was not defined, so define it away to nothing. To use + * configPRINTF() then define it as follows (where MyPrintFunction() is + * provided by the application writer): + * + * void MyPrintFunction(const char *pcFormat, ... ); + #define configPRINTF( X ) MyPrintFunction X + * + * Then call like a standard printf() function, but placing brackets around + * all parameters so they are passed as a single parameter. For example: + * configPRINTF( ("Value = %d", MyVariable) ); */ + #define configPRINTF( X ) +#endif + +#ifndef configMAX + +/* The application writer has not provided their own MAX macro, so define + * the following generic implementation. */ + #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) ) +#endif + +#ifndef configMIN + +/* The application writer has not provided their own MIN macro, so define + * the following generic implementation. */ + #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) ) +#endif + +#if configENABLE_BACKWARD_COMPATIBILITY == 1 + #define eTaskStateGet eTaskGetState + #define portTickType TickType_t + #define xTaskHandle TaskHandle_t + #define xQueueHandle QueueHandle_t + #define xSemaphoreHandle SemaphoreHandle_t + #define xQueueSetHandle QueueSetHandle_t + #define xQueueSetMemberHandle QueueSetMemberHandle_t + #define xTimeOutType TimeOut_t + #define xMemoryRegion MemoryRegion_t + #define xTaskParameters TaskParameters_t + #define xTaskStatusType TaskStatus_t + #define xTimerHandle TimerHandle_t + #define xCoRoutineHandle CoRoutineHandle_t + #define pdTASK_HOOK_CODE TaskHookFunction_t + #define portTICK_RATE_MS portTICK_PERIOD_MS + #define pcTaskGetTaskName pcTaskGetName + #define pcTimerGetTimerName pcTimerGetName + #define pcQueueGetQueueName pcQueueGetName + #define vTaskGetTaskInfo vTaskGetInfo + #define xTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter + +/* Backward compatibility within the scheduler code only - these definitions + * are not really required but are included for completeness. */ + #define tmrTIMER_CALLBACK TimerCallbackFunction_t + #define pdTASK_CODE TaskFunction_t + #define xListItem ListItem_t + #define xList List_t + +/* For libraries that break the list data hiding, and access list structure + * members directly (which is not supposed to be done). */ + #define pxContainer pvContainer +#endif /* configENABLE_BACKWARD_COMPATIBILITY */ + +#if ( configUSE_ALTERNATIVE_API != 0 ) + #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0 +#endif + +/* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even + * if floating point hardware is otherwise supported by the FreeRTOS port in use. + * This constant is not supported by all FreeRTOS ports that include floating + * point support. */ +#ifndef configUSE_TASK_FPU_SUPPORT + #define configUSE_TASK_FPU_SUPPORT 1 +#endif + +/* Set configENABLE_MPU to 1 to enable MPU support and 0 to disable it. This is + * currently used in ARMv8M ports. */ +#ifndef configENABLE_MPU + #define configENABLE_MPU 0 +#endif + +/* Set configENABLE_FPU to 1 to enable FPU support and 0 to disable it. This is + * currently used in ARMv8M ports. */ +#ifndef configENABLE_FPU + #define configENABLE_FPU 1 +#endif + +/* Set configENABLE_TRUSTZONE to 1 enable TrustZone support and 0 to disable it. + * This is currently used in ARMv8M ports. */ +#ifndef configENABLE_TRUSTZONE + #define configENABLE_TRUSTZONE 1 +#endif + +/* Set configRUN_FREERTOS_SECURE_ONLY to 1 to run the FreeRTOS ARMv8M port on + * the Secure Side only. */ +#ifndef configRUN_FREERTOS_SECURE_ONLY + #define configRUN_FREERTOS_SECURE_ONLY 0 +#endif + +#ifndef configRUN_ADDITIONAL_TESTS + #define configRUN_ADDITIONAL_TESTS 0 +#endif + + +/* Sometimes the FreeRTOSConfig.h settings only allow a task to be created using + * dynamically allocated RAM, in which case when any task is deleted it is known + * that both the task's stack and TCB need to be freed. Sometimes the + * FreeRTOSConfig.h settings only allow a task to be created using statically + * allocated RAM, in which case when any task is deleted it is known that neither + * the task's stack or TCB should be freed. Sometimes the FreeRTOSConfig.h + * settings allow a task to be created using either statically or dynamically + * allocated RAM, in which case a member of the TCB is used to record whether the + * stack and/or TCB were allocated statically or dynamically, so when a task is + * deleted the RAM that was allocated dynamically is freed again and no attempt is + * made to free the RAM that was allocated statically. + * tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE is only true if it is possible for a + * task to be created using either statically or dynamically allocated RAM. Note + * that if portUSING_MPU_WRAPPERS is 1 then a protected task can be created with + * a statically allocated stack and a dynamically allocated TCB. + * + * The following table lists various combinations of portUSING_MPU_WRAPPERS, + * configSUPPORT_DYNAMIC_ALLOCATION and configSUPPORT_STATIC_ALLOCATION and + * when it is possible to have both static and dynamic allocation: + * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+ + * | MPU | Dynamic | Static | Available Functions | Possible Allocations | Both Dynamic and | Need Free | + * | | | | | | Static Possible | | + * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+ + * | 0 | 0 | 1 | xTaskCreateStatic | TCB - Static, Stack - Static | No | No | + * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------| + * | 0 | 1 | 0 | xTaskCreate | TCB - Dynamic, Stack - Dynamic | No | Yes | + * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------| + * | 0 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes | + * | | | | xTaskCreateStatic | 2. TCB - Static, Stack - Static | | | + * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------| + * | 1 | 0 | 1 | xTaskCreateStatic, | TCB - Static, Stack - Static | No | No | + * | | | | xTaskCreateRestrictedStatic | | | | + * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------| + * | 1 | 1 | 0 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes | + * | | | | xTaskCreateRestricted | 2. TCB - Dynamic, Stack - Static | | | + * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------| + * | 1 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes | + * | | | | xTaskCreateStatic, | 2. TCB - Dynamic, Stack - Static | | | + * | | | | xTaskCreateRestricted, | 3. TCB - Static, Stack - Static | | | + * | | | | xTaskCreateRestrictedStatic | | | | + * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+ + */ +#define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE \ + ( ( ( portUSING_MPU_WRAPPERS == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) || \ + ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) ) + +/* + * In line with software engineering best practice, FreeRTOS implements a strict + * data hiding policy, so the real structures used by FreeRTOS to maintain the + * state of tasks, queues, semaphores, etc. are not accessible to the application + * code. However, if the application writer wants to statically allocate such + * an object then the size of the object needs to be known. Dummy structures + * that are guaranteed to have the same size and alignment requirements of the + * real objects are used for this purpose. The dummy list and list item + * structures below are used for inclusion in such a dummy structure. + */ +struct xSTATIC_LIST_ITEM +{ + #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 ) + TickType_t xDummy1; + #endif + TickType_t xDummy2; + void * pvDummy3[ 4 ]; + #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 ) + TickType_t xDummy4; + #endif +}; +typedef struct xSTATIC_LIST_ITEM StaticListItem_t; + +/* See the comments above the struct xSTATIC_LIST_ITEM definition. */ +struct xSTATIC_MINI_LIST_ITEM +{ + #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 ) + TickType_t xDummy1; + #endif + TickType_t xDummy2; + void * pvDummy3[ 2 ]; +}; +typedef struct xSTATIC_MINI_LIST_ITEM StaticMiniListItem_t; + +/* See the comments above the struct xSTATIC_LIST_ITEM definition. */ +typedef struct xSTATIC_LIST +{ + #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 ) + TickType_t xDummy1; + #endif + UBaseType_t uxDummy2; + void * pvDummy3; + StaticMiniListItem_t xDummy4; + #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 ) + TickType_t xDummy5; + #endif +} StaticList_t; + +/* + * In line with software engineering best practice, especially when supplying a + * library that is likely to change in future versions, FreeRTOS implements a + * strict data hiding policy. This means the Task structure used internally by + * FreeRTOS is not accessible to application code. However, if the application + * writer wants to statically allocate the memory required to create a task then + * the size of the task object needs to be known. The StaticTask_t structure + * below is provided for this purpose. Its sizes and alignment requirements are + * guaranteed to match those of the genuine structure, no matter which + * architecture is being used, and no matter how the values in FreeRTOSConfig.h + * are set. Its contents are somewhat obfuscated in the hope users will + * recognise that it would be unwise to make direct use of the structure members. + */ +typedef struct xSTATIC_TCB +{ + void * pxDummy1; + #if ( portUSING_MPU_WRAPPERS == 1 ) + xMPU_SETTINGS xDummy2; + #endif + StaticListItem_t xDummy3[ 2 ]; + UBaseType_t uxDummy5; + void * pxDummy6; + uint8_t ucDummy7[ configMAX_TASK_NAME_LEN ]; + #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) + void * pxDummy8; + #endif + #if ( portCRITICAL_NESTING_IN_TCB == 1 ) + UBaseType_t uxDummy9; + #endif + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxDummy10[ 2 ]; + #endif + #if ( configUSE_MUTEXES == 1 ) + UBaseType_t uxDummy12[ 2 ]; + #endif + #if ( configUSE_APPLICATION_TASK_TAG == 1 ) + void * pxDummy14; + #endif + #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 ) + void * pvDummy15[ configNUM_THREAD_LOCAL_STORAGE_POINTERS ]; + #endif + #if ( configGENERATE_RUN_TIME_STATS == 1 ) + configRUN_TIME_COUNTER_TYPE ulDummy16; + #endif + #if ( configUSE_NEWLIB_REENTRANT == 1 ) + struct _reent xDummy17; + #endif + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + uint32_t ulDummy18[ configTASK_NOTIFICATION_ARRAY_ENTRIES ]; + uint8_t ucDummy19[ configTASK_NOTIFICATION_ARRAY_ENTRIES ]; + #endif + #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 ) + uint8_t uxDummy20; + #endif + + #if ( INCLUDE_xTaskAbortDelay == 1 ) + uint8_t ucDummy21; + #endif + #if ( configUSE_POSIX_ERRNO == 1 ) + int iDummy22; + #endif +} StaticTask_t; + +/* + * In line with software engineering best practice, especially when supplying a + * library that is likely to change in future versions, FreeRTOS implements a + * strict data hiding policy. This means the Queue structure used internally by + * FreeRTOS is not accessible to application code. However, if the application + * writer wants to statically allocate the memory required to create a queue + * then the size of the queue object needs to be known. The StaticQueue_t + * structure below is provided for this purpose. Its sizes and alignment + * requirements are guaranteed to match those of the genuine structure, no + * matter which architecture is being used, and no matter how the values in + * FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in the hope + * users will recognise that it would be unwise to make direct use of the + * structure members. + */ +typedef struct xSTATIC_QUEUE +{ + void * pvDummy1[ 3 ]; + + union + { + void * pvDummy2; + UBaseType_t uxDummy2; + } u; + + StaticList_t xDummy3[ 2 ]; + UBaseType_t uxDummy4[ 3 ]; + uint8_t ucDummy5[ 2 ]; + + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) + uint8_t ucDummy6; + #endif + + #if ( configUSE_QUEUE_SETS == 1 ) + void * pvDummy7; + #endif + + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxDummy8; + uint8_t ucDummy9; + #endif +} StaticQueue_t; +typedef StaticQueue_t StaticSemaphore_t; + +/* + * In line with software engineering best practice, especially when supplying a + * library that is likely to change in future versions, FreeRTOS implements a + * strict data hiding policy. This means the event group structure used + * internally by FreeRTOS is not accessible to application code. However, if + * the application writer wants to statically allocate the memory required to + * create an event group then the size of the event group object needs to be + * know. The StaticEventGroup_t structure below is provided for this purpose. + * Its sizes and alignment requirements are guaranteed to match those of the + * genuine structure, no matter which architecture is being used, and no matter + * how the values in FreeRTOSConfig.h are set. Its contents are somewhat + * obfuscated in the hope users will recognise that it would be unwise to make + * direct use of the structure members. + */ +typedef struct xSTATIC_EVENT_GROUP +{ + TickType_t xDummy1; + StaticList_t xDummy2; + + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxDummy3; + #endif + + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) + uint8_t ucDummy4; + #endif +} StaticEventGroup_t; + +/* + * In line with software engineering best practice, especially when supplying a + * library that is likely to change in future versions, FreeRTOS implements a + * strict data hiding policy. This means the software timer structure used + * internally by FreeRTOS is not accessible to application code. However, if + * the application writer wants to statically allocate the memory required to + * create a software timer then the size of the queue object needs to be known. + * The StaticTimer_t structure below is provided for this purpose. Its sizes + * and alignment requirements are guaranteed to match those of the genuine + * structure, no matter which architecture is being used, and no matter how the + * values in FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in + * the hope users will recognise that it would be unwise to make direct use of + * the structure members. + */ +typedef struct xSTATIC_TIMER +{ + void * pvDummy1; + StaticListItem_t xDummy2; + TickType_t xDummy3; + void * pvDummy5; + TaskFunction_t pvDummy6; + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxDummy7; + #endif + uint8_t ucDummy8; +} StaticTimer_t; + +/* + * In line with software engineering best practice, especially when supplying a + * library that is likely to change in future versions, FreeRTOS implements a + * strict data hiding policy. This means the stream buffer structure used + * internally by FreeRTOS is not accessible to application code. However, if + * the application writer wants to statically allocate the memory required to + * create a stream buffer then the size of the stream buffer object needs to be + * known. The StaticStreamBuffer_t structure below is provided for this + * purpose. Its size and alignment requirements are guaranteed to match those + * of the genuine structure, no matter which architecture is being used, and + * no matter how the values in FreeRTOSConfig.h are set. Its contents are + * somewhat obfuscated in the hope users will recognise that it would be unwise + * to make direct use of the structure members. + */ +typedef struct xSTATIC_STREAM_BUFFER +{ + size_t uxDummy1[ 4 ]; + void * pvDummy2[ 3 ]; + uint8_t ucDummy3; + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxDummy4; + #endif +} StaticStreamBuffer_t; + +/* Message buffers are built on stream buffers. */ +typedef StaticStreamBuffer_t StaticMessageBuffer_t; + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* INC_FREERTOS_H */ diff --git a/freertos/cvitek/install/include/kernel/FreeRTOSConfig.h b/freertos/cvitek/install/include/kernel/FreeRTOSConfig.h new file mode 100644 index 000000000..b3aaacbe5 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/FreeRTOSConfig.h @@ -0,0 +1,148 @@ +/* + * FreeRTOS V202107.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://www.github.com/FreeRTOS + * + * 1 tab == 4 spaces! + */ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +#include "riscv-virt.h" +#include "arch_cpu.h" +/*----------------------------------------------------------- + * Application specific definitions. + * + * These definitions should be adjusted for your particular hardware and + * application requirements. + * + * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE + * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. + * + * See http://www.freertos.org/a00110.html. + *----------------------------------------------------------*/ + +/* See https://www.freertos.org/Using-FreeRTOS-on-RISC-V.html */ + + +#define _WINDOWS_ +#ifdef RISCV_QEMU +#define configMTIME_BASE_ADDRESS ( CLINT_ADDR + CLINT_MTIME ) +#else +#undef configMTIME_BASE_ADDRESS // get MTIME from rdtime +#endif +#define configMTIMECMP_BASE_ADDRESS ( CLINT_ADDR + CLINT_MTIMECMP ) + +#define configUSE_PREEMPTION 1 +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 1 +#define configTICK_RATE_HZ ( ( TickType_t ) 200 ) +#define configMAX_PRIORITIES ( 8 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 1024 ) +#ifndef FAST_IMAGE_ENABLE +#define configTOTAL_HEAP_SIZE ( ( size_t ) 1 * 512 * 1024 ) +#else +#define configTOTAL_HEAP_SIZE ( ( size_t ) 1 * 650 * 1024 ) +#endif +#define configMAX_TASK_NAME_LEN ( 16 ) +#define configUSE_TRACE_FACILITY 0 +#define configUSE_16_BIT_TICKS 0 +#define configUSE_TICKLESS_IDLE 0 +#define configIDLE_SHOULD_YIELD 1 +#define configUSE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 50 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_MALLOC_FAILED_HOOK 1 +#define configUSE_APPLICATION_TASK_TAG 0 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 +#define configUSE_STATIC_ALLOCATION 1 +#define configGENERATE_RUN_TIME_STATS 0 +#define configSUPPORT_STATIC_ALLOCATION 1 +#define configAPPLICATION_ALLOCATED_HEAP 1 +//#define configSUPPORT_DYNAMIC_ALLOCATION 1 +/* Co-routine definitions. */ +#define configUSE_CO_ROUTINES 0 +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Software timer definitions. */ +#define configUSE_TIMERS 1 +#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) +#define configTIMER_QUEUE_LENGTH 5 +#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 ) + + +#define configTASK_NOTIFICATION_ARRAY_ENTRIES 3 +/* RISC-V definitions. */ +#define configISR_STACK_SIZE_WORDS 1024 + +/* Task priorities. Allow these to be overridden. */ +#ifndef uartPRIMARY_PRIORITY + #define uartPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 ) +#endif + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_xTimerPendFunctionCall 1 +#define INCLUDE_xTaskAbortDelay 1 +#define INCLUDE_xTaskGetHandle 1 +#define INCLUDE_xSemaphoreGetMutexHolder 1 + +#define fabs(x) __builtin_fabs(x) + + +/* FreeRTOS+POSIX + * Portable Operating System Interface (POSIX threading wrapper) for FreeRTOS + * + * Dependencies + * Both configUSE_POSIX_ERRNO and configUSE_APPLICATION_TASK_TAG must be set to 1 in FreeRTOSConfig.h. + */ +#define configUSE_POSIX_ERRNO 1 + + +/* Overwrite some of the stack sizes allocated to various test and demo tasks. +Like all task stack sizes, the value is the number of words, not bytes. */ +#define bktBLOCK_TIME_TASK_STACK_SIZE 100 +#define notifyNOTIFIED_TASK_STACK_SIZE 110 +#define priSUSPENDED_RX_TASK_STACK_SIZE 90 +#define tmrTIMER_TEST_TASK_STACK_SIZE 100 +#define ebRENDESVOUS_TEST_TASK_STACK_SIZE 100 +#define ebEVENT_GROUP_SET_BITS_TEST_TASK_STACK_SIZE 115 +#define genqMUTEX_TEST_TASK_STACK_SIZE 90 +#define recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE 110 + +/* Integrates the Tracealyzer recorder with FreeRTOS */ +#if ( configUSE_TRACE_FACILITY == 1 ) +#include "trcRecorder.h" +#endif + +#endif /* FREERTOS_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/StackMacros.h b/freertos/cvitek/install/include/kernel/StackMacros.h new file mode 100644 index 000000000..6ddeb3a95 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/StackMacros.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +#ifndef _MSC_VER /* Visual Studio doesn't support #warning. */ + #warning The name of this file has changed to stack_macros.h. Please update your code accordingly. This source file (which has the original name) will be removed in future released. +#endif + +#include "stack_macros.h" diff --git a/freertos/cvitek/install/include/kernel/atomic.h b/freertos/cvitek/install/include/kernel/atomic.h new file mode 100644 index 000000000..8d7c1076f --- /dev/null +++ b/freertos/cvitek/install/include/kernel/atomic.h @@ -0,0 +1,419 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/** + * @file atomic.h + * @brief FreeRTOS atomic operation support. + * + * This file implements atomic functions by disabling interrupts globally. + * Implementations with architecture specific atomic instructions can be + * provided under each compiler directory. + */ + +#ifndef ATOMIC_H +#define ATOMIC_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include atomic.h" +#endif + +/* Standard includes. */ +#include + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/* + * Port specific definitions -- entering/exiting critical section. + * Refer template -- ./lib/FreeRTOS/portable/Compiler/Arch/portmacro.h + * + * Every call to ATOMIC_EXIT_CRITICAL() must be closely paired with + * ATOMIC_ENTER_CRITICAL(). + * + */ +#if defined( portSET_INTERRUPT_MASK_FROM_ISR ) + +/* Nested interrupt scheme is supported in this port. */ + #define ATOMIC_ENTER_CRITICAL() \ + UBaseType_t uxCriticalSectionType = portSET_INTERRUPT_MASK_FROM_ISR() + + #define ATOMIC_EXIT_CRITICAL() \ + portCLEAR_INTERRUPT_MASK_FROM_ISR( uxCriticalSectionType ) + +#else + +/* Nested interrupt scheme is NOT supported in this port. */ + #define ATOMIC_ENTER_CRITICAL() portENTER_CRITICAL() + #define ATOMIC_EXIT_CRITICAL() portEXIT_CRITICAL() + +#endif /* portSET_INTERRUPT_MASK_FROM_ISR() */ + +/* + * Port specific definition -- "always inline". + * Inline is compiler specific, and may not always get inlined depending on your + * optimization level. Also, inline is considered as performance optimization + * for atomic. Thus, if portFORCE_INLINE is not provided by portmacro.h, + * instead of resulting error, simply define it away. + */ +#ifndef portFORCE_INLINE + #define portFORCE_INLINE +#endif + +#define ATOMIC_COMPARE_AND_SWAP_SUCCESS 0x1U /**< Compare and swap succeeded, swapped. */ +#define ATOMIC_COMPARE_AND_SWAP_FAILURE 0x0U /**< Compare and swap failed, did not swap. */ + +/*----------------------------- Swap && CAS ------------------------------*/ + +/** + * Atomic compare-and-swap + * + * @brief Performs an atomic compare-and-swap operation on the specified values. + * + * @param[in, out] pulDestination Pointer to memory location from where value is + * to be loaded and checked. + * @param[in] ulExchange If condition meets, write this value to memory. + * @param[in] ulComparand Swap condition. + * + * @return Unsigned integer of value 1 or 0. 1 for swapped, 0 for not swapped. + * + * @note This function only swaps *pulDestination with ulExchange, if previous + * *pulDestination value equals ulComparand. + */ +static portFORCE_INLINE uint32_t Atomic_CompareAndSwap_u32( uint32_t volatile * pulDestination, + uint32_t ulExchange, + uint32_t ulComparand ) +{ + uint32_t ulReturnValue; + + ATOMIC_ENTER_CRITICAL(); + { + if( *pulDestination == ulComparand ) + { + *pulDestination = ulExchange; + ulReturnValue = ATOMIC_COMPARE_AND_SWAP_SUCCESS; + } + else + { + ulReturnValue = ATOMIC_COMPARE_AND_SWAP_FAILURE; + } + } + ATOMIC_EXIT_CRITICAL(); + + return ulReturnValue; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic swap (pointers) + * + * @brief Atomically sets the address pointed to by *ppvDestination to the value + * of *pvExchange. + * + * @param[in, out] ppvDestination Pointer to memory location from where a pointer + * value is to be loaded and written back to. + * @param[in] pvExchange Pointer value to be written to *ppvDestination. + * + * @return The initial value of *ppvDestination. + */ +static portFORCE_INLINE void * Atomic_SwapPointers_p32( void * volatile * ppvDestination, + void * pvExchange ) +{ + void * pReturnValue; + + ATOMIC_ENTER_CRITICAL(); + { + pReturnValue = *ppvDestination; + *ppvDestination = pvExchange; + } + ATOMIC_EXIT_CRITICAL(); + + return pReturnValue; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic compare-and-swap (pointers) + * + * @brief Performs an atomic compare-and-swap operation on the specified pointer + * values. + * + * @param[in, out] ppvDestination Pointer to memory location from where a pointer + * value is to be loaded and checked. + * @param[in] pvExchange If condition meets, write this value to memory. + * @param[in] pvComparand Swap condition. + * + * @return Unsigned integer of value 1 or 0. 1 for swapped, 0 for not swapped. + * + * @note This function only swaps *ppvDestination with pvExchange, if previous + * *ppvDestination value equals pvComparand. + */ +static portFORCE_INLINE uint32_t Atomic_CompareAndSwapPointers_p32( void * volatile * ppvDestination, + void * pvExchange, + void * pvComparand ) +{ + uint32_t ulReturnValue = ATOMIC_COMPARE_AND_SWAP_FAILURE; + + ATOMIC_ENTER_CRITICAL(); + { + if( *ppvDestination == pvComparand ) + { + *ppvDestination = pvExchange; + ulReturnValue = ATOMIC_COMPARE_AND_SWAP_SUCCESS; + } + } + ATOMIC_EXIT_CRITICAL(); + + return ulReturnValue; +} + + +/*----------------------------- Arithmetic ------------------------------*/ + +/** + * Atomic add + * + * @brief Atomically adds count to the value of the specified pointer points to. + * + * @param[in,out] pulAddend Pointer to memory location from where value is to be + * loaded and written back to. + * @param[in] ulCount Value to be added to *pulAddend. + * + * @return previous *pulAddend value. + */ +static portFORCE_INLINE uint32_t Atomic_Add_u32( uint32_t volatile * pulAddend, + uint32_t ulCount ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulAddend; + *pulAddend += ulCount; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic subtract + * + * @brief Atomically subtracts count from the value of the specified pointer + * pointers to. + * + * @param[in,out] pulAddend Pointer to memory location from where value is to be + * loaded and written back to. + * @param[in] ulCount Value to be subtract from *pulAddend. + * + * @return previous *pulAddend value. + */ +static portFORCE_INLINE uint32_t Atomic_Subtract_u32( uint32_t volatile * pulAddend, + uint32_t ulCount ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulAddend; + *pulAddend -= ulCount; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic increment + * + * @brief Atomically increments the value of the specified pointer points to. + * + * @param[in,out] pulAddend Pointer to memory location from where value is to be + * loaded and written back to. + * + * @return *pulAddend value before increment. + */ +static portFORCE_INLINE uint32_t Atomic_Increment_u32( uint32_t volatile * pulAddend ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulAddend; + *pulAddend += 1; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic decrement + * + * @brief Atomically decrements the value of the specified pointer points to + * + * @param[in,out] pulAddend Pointer to memory location from where value is to be + * loaded and written back to. + * + * @return *pulAddend value before decrement. + */ +static portFORCE_INLINE uint32_t Atomic_Decrement_u32( uint32_t volatile * pulAddend ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulAddend; + *pulAddend -= 1; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} + +/*----------------------------- Bitwise Logical ------------------------------*/ + +/** + * Atomic OR + * + * @brief Performs an atomic OR operation on the specified values. + * + * @param [in, out] pulDestination Pointer to memory location from where value is + * to be loaded and written back to. + * @param [in] ulValue Value to be ORed with *pulDestination. + * + * @return The original value of *pulDestination. + */ +static portFORCE_INLINE uint32_t Atomic_OR_u32( uint32_t volatile * pulDestination, + uint32_t ulValue ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulDestination; + *pulDestination |= ulValue; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic AND + * + * @brief Performs an atomic AND operation on the specified values. + * + * @param [in, out] pulDestination Pointer to memory location from where value is + * to be loaded and written back to. + * @param [in] ulValue Value to be ANDed with *pulDestination. + * + * @return The original value of *pulDestination. + */ +static portFORCE_INLINE uint32_t Atomic_AND_u32( uint32_t volatile * pulDestination, + uint32_t ulValue ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulDestination; + *pulDestination &= ulValue; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic NAND + * + * @brief Performs an atomic NAND operation on the specified values. + * + * @param [in, out] pulDestination Pointer to memory location from where value is + * to be loaded and written back to. + * @param [in] ulValue Value to be NANDed with *pulDestination. + * + * @return The original value of *pulDestination. + */ +static portFORCE_INLINE uint32_t Atomic_NAND_u32( uint32_t volatile * pulDestination, + uint32_t ulValue ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulDestination; + *pulDestination = ~( ulCurrent & ulValue ); + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} +/*-----------------------------------------------------------*/ + +/** + * Atomic XOR + * + * @brief Performs an atomic XOR operation on the specified values. + * + * @param [in, out] pulDestination Pointer to memory location from where value is + * to be loaded and written back to. + * @param [in] ulValue Value to be XORed with *pulDestination. + * + * @return The original value of *pulDestination. + */ +static portFORCE_INLINE uint32_t Atomic_XOR_u32( uint32_t volatile * pulDestination, + uint32_t ulValue ) +{ + uint32_t ulCurrent; + + ATOMIC_ENTER_CRITICAL(); + { + ulCurrent = *pulDestination; + *pulDestination ^= ulValue; + } + ATOMIC_EXIT_CRITICAL(); + + return ulCurrent; +} + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* ATOMIC_H */ diff --git a/freertos/cvitek/install/include/kernel/aws_secure_sockets.tzext.h b/freertos/cvitek/install/include/kernel/aws_secure_sockets.tzext.h new file mode 100644 index 000000000..073023525 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/aws_secure_sockets.tzext.h @@ -0,0 +1,136 @@ +/* + * Trace Recorder for Tracealyzer v989.878.767 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * An example of a Tracealyzer extension for tracing API calls, in this case + * for tracing selected functions in Amazon FreeRTOS/aws_secure_sockets. + * See trcExtensions.h for information on how to use this. + * + * To create your own extension, first make sure to read the documentation + * in trcExtensions.h. Then, to create an extension header file like this + * one, you need to provide: + * + * - Extension Definitions - name and event codes of the extensions. + * + * - Trace Wrappers - calls the original function and traces the event. + * + * - Function Redefinitions - changes the function calls to the trace wrappers. + * + * See the below comments for details about these definitions. Note that you + * also need a matching .xml file for Tracealyzer to understand the data. + * See trcExtensions.h for further information. + */ + +#ifndef _AWS_SECURE_SOCKETS_TZEXT_H +#define _AWS_SECURE_SOCKETS_TZEXT_H + +/***** Extension Definitions *****/ + +/****************************************************************************** + * _NAME + * The name of the extension as a string constant. This name is used by the + * Tracealyzer host application to find the right XML file for interpreting + * the events. Assuming the extension name is "aws_secure_sockets", Tracealyzer + * will look for an XML file named "aws_secure_sockets-.xml", first in + * the folder of the current trace file, next in the Tracealyzer 4/cfg folder. + * For the VERSION part, see the TRC_EXT__VERSION macros below. + * + * Note: The extension name displayed in Tracealyzer is defined in the XML file + * in the EventGroup element (e.g. ) + * + *****************************************************************************/ +#define TRC_EXT_SOCKETS_NAME "aws_secure_sockets" + +/****************************************************************************** + * _VERSION_MAJOR + * _VERSION_MINOR + * _VERSION_PATCH + * + * The version code of the extension (MAJOR.MINOR.PATCH) + * + * If you increment the version code when modifying an extension, you can still + * show old traces recorded using an earlier version of the extension. + * + * Assuming the extension name is "aws_secure_sockets", and the below version + * codes are 1 (MAJOR), 2 (MINOR), 3 (PATCH), Tracealyzer will assume the + * corresponding XML file is named "aws_secure_sockets-v1.2.3.xml". So if then + * view a trace recorded with extension version 1.2.2, those traces will look + * for "aws_secure_sockets-v1.2.2.xml" instead. + * + * Note that major and minor are stored as 8 bit values, while patch is stored + * using 16 bits. They are treated as unsigned integers, so the maximum values + * are 256, 256 and 65535. + *****************************************************************************/ +#define TRC_EXT_SOCKETS_VERSION_MAJOR 1 + +#define TRC_EXT_SOCKETS_VERSION_MINOR 0 + +#define TRC_EXT_SOCKETS_VERSION_PATCH 0 + + +/****************************************************************************** + * _ + * The event codes used in the trace wrapper functions. Important that these + * are relative to _FIRST. + *****************************************************************************/ +#define EVENTCODE_SOCKETS_Connect (TRC_EXT_BASECODE + 0) + +#define EVENTCODE_SOCKETS_Send (TRC_EXT_BASECODE + 1) + +#define EVENTCODE_SOCKETS_Recv (TRC_EXT_BASECODE + 2) + +/****************************************************************************** + * _COUNT + * The number of event codes used by this extension. Should be at least 1. + * Tracealyzer allows for events codes up to 4095. + *****************************************************************************/ +#define TRC_EXT_SOCKETS_COUNT 2 + + +/***** Trace Wrappers *****/ + +#include /* Including the original header file, so that custom data types are understood. */ + +static inline int32_t SOCKETS_Connect__trace( Socket_t xSocket, SocketsSockaddr_t * pxAddress, Socklen_t xAddressLength ) +{ + int32_t ret = SOCKETS_Connect(xSocket, pxAddress, xAddressLength); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + prvTraceStoreEvent3(EVENTCODE_SOCKETS_Connect, (uint32_t)xSocket, (uint32_t)pxAddress->ulAddress, (uint32_t)ret); + + return ret; +} + +static inline int32_t SOCKETS_Send__trace( Socket_t xSocket, const void * pvBuffer, size_t xDataLength, uint32_t ulFlags ) +{ + int32_t ret = SOCKETS_Send(xSocket, pvBuffer, xDataLength, ulFlags); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + prvTraceStoreEvent2(EVENTCODE_SOCKETS_Send, (uint32_t)xSocket, (uint32_t)ret); + + return ret; +} + + +static inline int32_t SOCKETS_Recv__trace( Socket_t xSocket, void * pvBuffer, size_t xBufferLength, uint32_t ulFlags ) +{ + int32_t ret = SOCKETS_Recv(xSocket, pvBuffer, xBufferLength, ulFlags); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + prvTraceStoreEvent2(EVENTCODE_SOCKETS_Recv, (uint32_t)xSocket, (uint32_t)ret); + + return ret; +} + +/***** Function Redefinitions *****/ + +#define SOCKETS_Connect SOCKETS_Connect__trace + +#define SOCKETS_Send SOCKETS_Send__trace + +#define SOCKETS_Recv SOCKETS_Recv__trace + +#endif /* _AWS_SECURE_SOCKETS_TZEXT_H */ diff --git a/freertos/cvitek/install/include/kernel/aws_wifi.tzext.h b/freertos/cvitek/install/include/kernel/aws_wifi.tzext.h new file mode 100644 index 000000000..6bbb01dee --- /dev/null +++ b/freertos/cvitek/install/include/kernel/aws_wifi.tzext.h @@ -0,0 +1,135 @@ +/* + * Trace Recorder for Tracealyzer v989.878.767 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * An example of a Tracealyzer extension for tracing API calls, in this case + * for tracing selected functions in Amazon FreeRTOS/aws_wifi. + * See trcExtensions.h for information on how to use this. + * + * To create your own extension, first make sure to read the documentation + * in trcExtensions.h. Then, to create an extension header file like this + * one, you need to provide: + * + * - Extension Definitions - name and event codes of the extensions. + * + * - Trace Wrappers - calls the original function and traces the event. + * + * - Function Redefinitions - changes the function calls to the trace wrappers. + * + * See the below comments for details about these definitions. Note that you + * also need a matching .xml file for Tracealyzer to understand the data. + * See trcExtensions.h for further information. + */ + +#ifndef _AWS_WIFI_TZEXT_H +#define _AWS_WIFI_TZEXT_H + +/***** Extension Definitions (must use the same prefix!) *****/ + +/****************************************************************************** + * _NAME + * The name of the extension as a string constant. This name is used by the + * Tracealyzer host application to find the right XML file for interpreting + * the events. Assuming the extension name is "aws_secure_sockets", Tracealyzer + * will look for an XML file named "aws_secure_sockets-.xml", first in + * the folder of the current trace file, next in the Tracealyzer 4/cfg folder. + * For the VERSION part, see the TRC_EXT__VERSION macros below. + * + * Note: The extension name displayed in Tracealyzer is defined in the XML file + * in the EventGroup element (e.g. ) + * + *****************************************************************************/ +#define TRC_EXT_WIFI_NAME "aws_wifi" + +/****************************************************************************** + * _VERSION_MAJOR + * _VERSION_MINOR + * _VERSION_PATCH + * + * The version code of the extension (MAJOR.MINOR.PATCH) + * + * If you increment the version code when modifying an extension, you can still + * show old traces recorded using an earlier version of the extension. + * + * Assuming the extension name is "aws_secure_sockets", and the below version + * codes are 1 (MAJOR), 2 (MINOR), 3 (PATCH), Tracealyzer will assume the + * corresponding XML file is named "aws_secure_sockets-v1.2.3.xml". So if then + * view a trace recorded with extension version 1.2.2, those traces will look + * for "aws_secure_sockets-v1.2.2.xml" instead. + * + * Note that major and minor are stored as 8 bit values, while patch is stored + * using 16 bits. They are treated as unsigned integers, so the maximum values + * are 256, 256 and 65535. + *****************************************************************************/ +#define TRC_EXT_WIFI_VERSION_MAJOR 1 + +#define TRC_EXT_WIFI_VERSION_MINOR 0 + +#define TRC_EXT_WIFI_VERSION_PATCH 0 + +/****************************************************************************** + * _ + * The event codes used in the trace wrapper functions. Important that these + * are relative to _FIRST. + *****************************************************************************/ +#define EVENTCODE_WIFI_On (TRC_EXT_BASECODE + 0) + +#define EVENTCODE_WIFI_Off (TRC_EXT_BASECODE + 1) + +#define EVENTCODE_WIFI_ConnectAP (TRC_EXT_BASECODE + 2) + +/****************************************************************************** + * _COUNT + * The number of event codes used by this extension. Should be at least 1. + * Tracealyzer allows for events codes up to 4095. + *****************************************************************************/ +#define TRC_EXT_WIFI_COUNT 3 + + +/***** Trace Wrappers *****/ + +#include /* Including the original header file, so that custom data types are understood. */ + +static inline WIFIReturnCode_t WIFI_On__trace( void ) +{ + WIFIReturnCode_t ret = WIFI_On(); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + prvTraceStoreEvent1(EVENTCODE_WIFI_On, (uint32_t)ret); + + return ret; +} + + static inline WIFIReturnCode_t WIFI_Off__trace( void ) + { + WIFIReturnCode_t ret = WIFI_Off(); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + prvTraceStoreEvent1(EVENTCODE_WIFI_Off, (uint32_t)ret); + + return ret; + } + + static inline WIFIReturnCode_t WIFI_ConnectAP__trace( const WIFINetworkParams_t * const pxNetworkParams ) + { + WIFIReturnCode_t ret = WIFI_ConnectAP(pxNetworkParams); + + // Note: The host-side xml file assumes that ret == 0 means OK, otherwise timeout/error. + + prvTraceStoreStringEvent(2, EVENTCODE_WIFI_ConnectAP, pxNetworkParams->pcSSID, pxNetworkParams->xSecurity, ret); + + return ret; + } + +/***** Function Redefinitions *****/ + +#define WIFI_On WIFI_On__trace + +#define WIFI_Off WIFI_Off__trace + +#define WIFI_ConnectAP WIFI_ConnectAP__trace + +#endif /* _AWS_SECURE_SOCKETS2_TZEXT_H */ diff --git a/freertos/cvitek/install/include/kernel/croutine.h b/freertos/cvitek/install/include/kernel/croutine.h new file mode 100644 index 000000000..51bdd4f3d --- /dev/null +++ b/freertos/cvitek/install/include/kernel/croutine.h @@ -0,0 +1,753 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef CO_ROUTINE_H +#define CO_ROUTINE_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include croutine.h" +#endif + +#include "list.h" + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/* Used to hide the implementation of the co-routine control block. The + * control block structure however has to be included in the header due to + * the macro implementation of the co-routine functionality. */ +typedef void * CoRoutineHandle_t; + +/* Defines the prototype to which co-routine functions must conform. */ +typedef void (* crCOROUTINE_CODE)( CoRoutineHandle_t, + UBaseType_t ); + +typedef struct corCoRoutineControlBlock +{ + crCOROUTINE_CODE pxCoRoutineFunction; + ListItem_t xGenericListItem; /*< List item used to place the CRCB in ready and blocked queues. */ + ListItem_t xEventListItem; /*< List item used to place the CRCB in event lists. */ + UBaseType_t uxPriority; /*< The priority of the co-routine in relation to other co-routines. */ + UBaseType_t uxIndex; /*< Used to distinguish between co-routines when multiple co-routines use the same co-routine function. */ + uint16_t uxState; /*< Used internally by the co-routine implementation. */ +} CRCB_t; /* Co-routine control block. Note must be identical in size down to uxPriority with TCB_t. */ + +/** + * croutine. h + * @code{c} + * BaseType_t xCoRoutineCreate( + * crCOROUTINE_CODE pxCoRoutineCode, + * UBaseType_t uxPriority, + * UBaseType_t uxIndex + * ); + * @endcode + * + * Create a new co-routine and add it to the list of co-routines that are + * ready to run. + * + * @param pxCoRoutineCode Pointer to the co-routine function. Co-routine + * functions require special syntax - see the co-routine section of the WEB + * documentation for more information. + * + * @param uxPriority The priority with respect to other co-routines at which + * the co-routine will run. + * + * @param uxIndex Used to distinguish between different co-routines that + * execute the same function. See the example below and the co-routine section + * of the WEB documentation for further information. + * + * @return pdPASS if the co-routine was successfully created and added to a ready + * list, otherwise an error code defined with ProjDefs.h. + * + * Example usage: + * @code{c} + * // Co-routine to be created. + * void vFlashCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * // This may not be necessary for const variables. + * static const char cLedToFlash[ 2 ] = { 5, 6 }; + * static const TickType_t uxFlashRates[ 2 ] = { 200, 400 }; + * + * // Must start every co-routine with a call to crSTART(); + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // This co-routine just delays for a fixed period, then toggles + * // an LED. Two co-routines are created using this function, so + * // the uxIndex parameter is used to tell the co-routine which + * // LED to flash and how int32_t to delay. This assumes xQueue has + * // already been created. + * vParTestToggleLED( cLedToFlash[ uxIndex ] ); + * crDELAY( xHandle, uxFlashRates[ uxIndex ] ); + * } + * + * // Must end every co-routine with a call to crEND(); + * crEND(); + * } + * + * // Function that creates two co-routines. + * void vOtherFunction( void ) + * { + * uint8_t ucParameterToPass; + * TaskHandle_t xHandle; + * + * // Create two co-routines at priority 0. The first is given index 0 + * // so (from the code above) toggles LED 5 every 200 ticks. The second + * // is given index 1 so toggles LED 6 every 400 ticks. + * for( uxIndex = 0; uxIndex < 2; uxIndex++ ) + * { + * xCoRoutineCreate( vFlashCoRoutine, 0, uxIndex ); + * } + * } + * @endcode + * \defgroup xCoRoutineCreate xCoRoutineCreate + * \ingroup Tasks + */ +BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode, + UBaseType_t uxPriority, + UBaseType_t uxIndex ); + + +/** + * croutine. h + * @code{c} + * void vCoRoutineSchedule( void ); + * @endcode + * + * Run a co-routine. + * + * vCoRoutineSchedule() executes the highest priority co-routine that is able + * to run. The co-routine will execute until it either blocks, yields or is + * preempted by a task. Co-routines execute cooperatively so one + * co-routine cannot be preempted by another, but can be preempted by a task. + * + * If an application comprises of both tasks and co-routines then + * vCoRoutineSchedule should be called from the idle task (in an idle task + * hook). + * + * Example usage: + * @code{c} + * // This idle task hook will schedule a co-routine each time it is called. + * // The rest of the idle task will execute between co-routine calls. + * void vApplicationIdleHook( void ) + * { + * vCoRoutineSchedule(); + * } + * + * // Alternatively, if you do not require any other part of the idle task to + * // execute, the idle task hook can call vCoRoutineSchedule() within an + * // infinite loop. + * void vApplicationIdleHook( void ) + * { + * for( ;; ) + * { + * vCoRoutineSchedule(); + * } + * } + * @endcode + * \defgroup vCoRoutineSchedule vCoRoutineSchedule + * \ingroup Tasks + */ +void vCoRoutineSchedule( void ); + +/** + * croutine. h + * @code{c} + * crSTART( CoRoutineHandle_t xHandle ); + * @endcode + * + * This macro MUST always be called at the start of a co-routine function. + * + * Example usage: + * @code{c} + * // Co-routine to be created. + * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * static int32_t ulAVariable; + * + * // Must start every co-routine with a call to crSTART(); + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Co-routine functionality goes here. + * } + * + * // Must end every co-routine with a call to crEND(); + * crEND(); + * } + * @endcode + * \defgroup crSTART crSTART + * \ingroup Tasks + */ +#define crSTART( pxCRCB ) \ + switch( ( ( CRCB_t * ) ( pxCRCB ) )->uxState ) { \ + case 0: + +/** + * croutine. h + * @code{c} + * crEND(); + * @endcode + * + * This macro MUST always be called at the end of a co-routine function. + * + * Example usage: + * @code{c} + * // Co-routine to be created. + * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * static int32_t ulAVariable; + * + * // Must start every co-routine with a call to crSTART(); + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Co-routine functionality goes here. + * } + * + * // Must end every co-routine with a call to crEND(); + * crEND(); + * } + * @endcode + * \defgroup crSTART crSTART + * \ingroup Tasks + */ +#define crEND() } + +/* + * These macros are intended for internal use by the co-routine implementation + * only. The macros should not be used directly by application writers. + */ +#define crSET_STATE0( xHandle ) \ + ( ( CRCB_t * ) ( xHandle ) )->uxState = ( __LINE__ * 2 ); return; \ + case ( __LINE__ * 2 ): +#define crSET_STATE1( xHandle ) \ + ( ( CRCB_t * ) ( xHandle ) )->uxState = ( ( __LINE__ * 2 ) + 1 ); return; \ + case ( ( __LINE__ * 2 ) + 1 ): + +/** + * croutine. h + * @code{c} + * crDELAY( CoRoutineHandle_t xHandle, TickType_t xTicksToDelay ); + * @endcode + * + * Delay a co-routine for a fixed period of time. + * + * crDELAY can only be called from the co-routine function itself - not + * from within a function called by the co-routine function. This is because + * co-routines do not maintain their own stack. + * + * @param xHandle The handle of the co-routine to delay. This is the xHandle + * parameter of the co-routine function. + * + * @param xTickToDelay The number of ticks that the co-routine should delay + * for. The actual amount of time this equates to is defined by + * configTICK_RATE_HZ (set in FreeRTOSConfig.h). The constant portTICK_PERIOD_MS + * can be used to convert ticks to milliseconds. + * + * Example usage: + * @code{c} + * // Co-routine to be created. + * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * // This may not be necessary for const variables. + * // We are to delay for 200ms. + * static const xTickType xDelayTime = 200 / portTICK_PERIOD_MS; + * + * // Must start every co-routine with a call to crSTART(); + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Delay for 200ms. + * crDELAY( xHandle, xDelayTime ); + * + * // Do something here. + * } + * + * // Must end every co-routine with a call to crEND(); + * crEND(); + * } + * @endcode + * \defgroup crDELAY crDELAY + * \ingroup Tasks + */ +#define crDELAY( xHandle, xTicksToDelay ) \ + if( ( xTicksToDelay ) > 0 ) \ + { \ + vCoRoutineAddToDelayedList( ( xTicksToDelay ), NULL ); \ + } \ + crSET_STATE0( ( xHandle ) ); + +/** + * @code{c} + * crQUEUE_SEND( + * CoRoutineHandle_t xHandle, + * QueueHandle_t pxQueue, + * void *pvItemToQueue, + * TickType_t xTicksToWait, + * BaseType_t *pxResult + * ) + * @endcode + * + * The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine + * equivalent to the xQueueSend() and xQueueReceive() functions used by tasks. + * + * crQUEUE_SEND and crQUEUE_RECEIVE can only be used from a co-routine whereas + * xQueueSend() and xQueueReceive() can only be used from tasks. + * + * crQUEUE_SEND can only be called from the co-routine function itself - not + * from within a function called by the co-routine function. This is because + * co-routines do not maintain their own stack. + * + * See the co-routine section of the WEB documentation for information on + * passing data between tasks and co-routines and between ISR's and + * co-routines. + * + * @param xHandle The handle of the calling co-routine. This is the xHandle + * parameter of the co-routine function. + * + * @param pxQueue The handle of the queue on which the data will be posted. + * The handle is obtained as the return value when the queue is created using + * the xQueueCreate() API function. + * + * @param pvItemToQueue A pointer to the data being posted onto the queue. + * The number of bytes of each queued item is specified when the queue is + * created. This number of bytes is copied from pvItemToQueue into the queue + * itself. + * + * @param xTickToDelay The number of ticks that the co-routine should block + * to wait for space to become available on the queue, should space not be + * available immediately. The actual amount of time this equates to is defined + * by configTICK_RATE_HZ (set in FreeRTOSConfig.h). The constant + * portTICK_PERIOD_MS can be used to convert ticks to milliseconds (see example + * below). + * + * @param pxResult The variable pointed to by pxResult will be set to pdPASS if + * data was successfully posted onto the queue, otherwise it will be set to an + * error defined within ProjDefs.h. + * + * Example usage: + * @code{c} + * // Co-routine function that blocks for a fixed period then posts a number onto + * // a queue. + * static void prvCoRoutineFlashTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * static BaseType_t xNumberToPost = 0; + * static BaseType_t xResult; + * + * // Co-routines must begin with a call to crSTART(). + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // This assumes the queue has already been created. + * crQUEUE_SEND( xHandle, xCoRoutineQueue, &xNumberToPost, NO_DELAY, &xResult ); + * + * if( xResult != pdPASS ) + * { + * // The message was not posted! + * } + * + * // Increment the number to be posted onto the queue. + * xNumberToPost++; + * + * // Delay for 100 ticks. + * crDELAY( xHandle, 100 ); + * } + * + * // Co-routines must end with a call to crEND(). + * crEND(); + * } + * @endcode + * \defgroup crQUEUE_SEND crQUEUE_SEND + * \ingroup Tasks + */ +#define crQUEUE_SEND( xHandle, pxQueue, pvItemToQueue, xTicksToWait, pxResult ) \ + { \ + *( pxResult ) = xQueueCRSend( ( pxQueue ), ( pvItemToQueue ), ( xTicksToWait ) ); \ + if( *( pxResult ) == errQUEUE_BLOCKED ) \ + { \ + crSET_STATE0( ( xHandle ) ); \ + *pxResult = xQueueCRSend( ( pxQueue ), ( pvItemToQueue ), 0 ); \ + } \ + if( *pxResult == errQUEUE_YIELD ) \ + { \ + crSET_STATE1( ( xHandle ) ); \ + *pxResult = pdPASS; \ + } \ + } + +/** + * croutine. h + * @code{c} + * crQUEUE_RECEIVE( + * CoRoutineHandle_t xHandle, + * QueueHandle_t pxQueue, + * void *pvBuffer, + * TickType_t xTicksToWait, + * BaseType_t *pxResult + * ) + * @endcode + * + * The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine + * equivalent to the xQueueSend() and xQueueReceive() functions used by tasks. + * + * crQUEUE_SEND and crQUEUE_RECEIVE can only be used from a co-routine whereas + * xQueueSend() and xQueueReceive() can only be used from tasks. + * + * crQUEUE_RECEIVE can only be called from the co-routine function itself - not + * from within a function called by the co-routine function. This is because + * co-routines do not maintain their own stack. + * + * See the co-routine section of the WEB documentation for information on + * passing data between tasks and co-routines and between ISR's and + * co-routines. + * + * @param xHandle The handle of the calling co-routine. This is the xHandle + * parameter of the co-routine function. + * + * @param pxQueue The handle of the queue from which the data will be received. + * The handle is obtained as the return value when the queue is created using + * the xQueueCreate() API function. + * + * @param pvBuffer The buffer into which the received item is to be copied. + * The number of bytes of each queued item is specified when the queue is + * created. This number of bytes is copied into pvBuffer. + * + * @param xTickToDelay The number of ticks that the co-routine should block + * to wait for data to become available from the queue, should data not be + * available immediately. The actual amount of time this equates to is defined + * by configTICK_RATE_HZ (set in FreeRTOSConfig.h). The constant + * portTICK_PERIOD_MS can be used to convert ticks to milliseconds (see the + * crQUEUE_SEND example). + * + * @param pxResult The variable pointed to by pxResult will be set to pdPASS if + * data was successfully retrieved from the queue, otherwise it will be set to + * an error code as defined within ProjDefs.h. + * + * Example usage: + * @code{c} + * // A co-routine receives the number of an LED to flash from a queue. It + * // blocks on the queue until the number is received. + * static void prvCoRoutineFlashWorkTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // Variables in co-routines must be declared static if they must maintain value across a blocking call. + * static BaseType_t xResult; + * static UBaseType_t uxLEDToFlash; + * + * // All co-routines must start with a call to crSTART(). + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Wait for data to become available on the queue. + * crQUEUE_RECEIVE( xHandle, xCoRoutineQueue, &uxLEDToFlash, portMAX_DELAY, &xResult ); + * + * if( xResult == pdPASS ) + * { + * // We received the LED to flash - flash it! + * vParTestToggleLED( uxLEDToFlash ); + * } + * } + * + * crEND(); + * } + * @endcode + * \defgroup crQUEUE_RECEIVE crQUEUE_RECEIVE + * \ingroup Tasks + */ +#define crQUEUE_RECEIVE( xHandle, pxQueue, pvBuffer, xTicksToWait, pxResult ) \ + { \ + *( pxResult ) = xQueueCRReceive( ( pxQueue ), ( pvBuffer ), ( xTicksToWait ) ); \ + if( *( pxResult ) == errQUEUE_BLOCKED ) \ + { \ + crSET_STATE0( ( xHandle ) ); \ + *( pxResult ) = xQueueCRReceive( ( pxQueue ), ( pvBuffer ), 0 ); \ + } \ + if( *( pxResult ) == errQUEUE_YIELD ) \ + { \ + crSET_STATE1( ( xHandle ) ); \ + *( pxResult ) = pdPASS; \ + } \ + } + +/** + * croutine. h + * @code{c} + * crQUEUE_SEND_FROM_ISR( + * QueueHandle_t pxQueue, + * void *pvItemToQueue, + * BaseType_t xCoRoutinePreviouslyWoken + * ) + * @endcode + * + * The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the + * co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR() + * functions used by tasks. + * + * crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() can only be used to + * pass data between a co-routine and and ISR, whereas xQueueSendFromISR() and + * xQueueReceiveFromISR() can only be used to pass data between a task and and + * ISR. + * + * crQUEUE_SEND_FROM_ISR can only be called from an ISR to send data to a queue + * that is being used from within a co-routine. + * + * See the co-routine section of the WEB documentation for information on + * passing data between tasks and co-routines and between ISR's and + * co-routines. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param xCoRoutinePreviouslyWoken This is included so an ISR can post onto + * the same queue multiple times from a single interrupt. The first call + * should always pass in pdFALSE. Subsequent calls should pass in + * the value returned from the previous call. + * + * @return pdTRUE if a co-routine was woken by posting onto the queue. This is + * used by the ISR to determine if a context switch may be required following + * the ISR. + * + * Example usage: + * @code{c} + * // A co-routine that blocks on a queue waiting for characters to be received. + * static void vReceivingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * char cRxedChar; + * BaseType_t xResult; + * + * // All co-routines must start with a call to crSTART(). + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Wait for data to become available on the queue. This assumes the + * // queue xCommsRxQueue has already been created! + * crQUEUE_RECEIVE( xHandle, xCommsRxQueue, &uxLEDToFlash, portMAX_DELAY, &xResult ); + * + * // Was a character received? + * if( xResult == pdPASS ) + * { + * // Process the character here. + * } + * } + * + * // All co-routines must end with a call to crEND(). + * crEND(); + * } + * + * // An ISR that uses a queue to send characters received on a serial port to + * // a co-routine. + * void vUART_ISR( void ) + * { + * char cRxedChar; + * BaseType_t xCRWokenByPost = pdFALSE; + * + * // We loop around reading characters until there are none left in the UART. + * while( UART_RX_REG_NOT_EMPTY() ) + * { + * // Obtain the character from the UART. + * cRxedChar = UART_RX_REG; + * + * // Post the character onto a queue. xCRWokenByPost will be pdFALSE + * // the first time around the loop. If the post causes a co-routine + * // to be woken (unblocked) then xCRWokenByPost will be set to pdTRUE. + * // In this manner we can ensure that if more than one co-routine is + * // blocked on the queue only one is woken by this ISR no matter how + * // many characters are posted to the queue. + * xCRWokenByPost = crQUEUE_SEND_FROM_ISR( xCommsRxQueue, &cRxedChar, xCRWokenByPost ); + * } + * } + * @endcode + * \defgroup crQUEUE_SEND_FROM_ISR crQUEUE_SEND_FROM_ISR + * \ingroup Tasks + */ +#define crQUEUE_SEND_FROM_ISR( pxQueue, pvItemToQueue, xCoRoutinePreviouslyWoken ) \ + xQueueCRSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) ) + + +/** + * croutine. h + * @code{c} + * crQUEUE_SEND_FROM_ISR( + * QueueHandle_t pxQueue, + * void *pvBuffer, + * BaseType_t * pxCoRoutineWoken + * ) + * @endcode + * + * The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the + * co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR() + * functions used by tasks. + * + * crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() can only be used to + * pass data between a co-routine and and ISR, whereas xQueueSendFromISR() and + * xQueueReceiveFromISR() can only be used to pass data between a task and and + * ISR. + * + * crQUEUE_RECEIVE_FROM_ISR can only be called from an ISR to receive data + * from a queue that is being used from within a co-routine (a co-routine + * posted to the queue). + * + * See the co-routine section of the WEB documentation for information on + * passing data between tasks and co-routines and between ISR's and + * co-routines. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvBuffer A pointer to a buffer into which the received item will be + * placed. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from the queue into + * pvBuffer. + * + * @param pxCoRoutineWoken A co-routine may be blocked waiting for space to become + * available on the queue. If crQUEUE_RECEIVE_FROM_ISR causes such a + * co-routine to unblock *pxCoRoutineWoken will get set to pdTRUE, otherwise + * *pxCoRoutineWoken will remain unchanged. + * + * @return pdTRUE an item was successfully received from the queue, otherwise + * pdFALSE. + * + * Example usage: + * @code{c} + * // A co-routine that posts a character to a queue then blocks for a fixed + * // period. The character is incremented each time. + * static void vSendingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex ) + * { + * // cChar holds its value while this co-routine is blocked and must therefore + * // be declared static. + * static char cCharToTx = 'a'; + * BaseType_t xResult; + * + * // All co-routines must start with a call to crSTART(). + * crSTART( xHandle ); + * + * for( ;; ) + * { + * // Send the next character to the queue. + * crQUEUE_SEND( xHandle, xCoRoutineQueue, &cCharToTx, NO_DELAY, &xResult ); + * + * if( xResult == pdPASS ) + * { + * // The character was successfully posted to the queue. + * } + * else + * { + * // Could not post the character to the queue. + * } + * + * // Enable the UART Tx interrupt to cause an interrupt in this + * // hypothetical UART. The interrupt will obtain the character + * // from the queue and send it. + * ENABLE_RX_INTERRUPT(); + * + * // Increment to the next character then block for a fixed period. + * // cCharToTx will maintain its value across the delay as it is + * // declared static. + * cCharToTx++; + * if( cCharToTx > 'x' ) + * { + * cCharToTx = 'a'; + * } + * crDELAY( 100 ); + * } + * + * // All co-routines must end with a call to crEND(). + * crEND(); + * } + * + * // An ISR that uses a queue to receive characters to send on a UART. + * void vUART_ISR( void ) + * { + * char cCharToTx; + * BaseType_t xCRWokenByPost = pdFALSE; + * + * while( UART_TX_REG_EMPTY() ) + * { + * // Are there any characters in the queue waiting to be sent? + * // xCRWokenByPost will automatically be set to pdTRUE if a co-routine + * // is woken by the post - ensuring that only a single co-routine is + * // woken no matter how many times we go around this loop. + * if( crQUEUE_RECEIVE_FROM_ISR( pxQueue, &cCharToTx, &xCRWokenByPost ) ) + * { + * SEND_CHARACTER( cCharToTx ); + * } + * } + * } + * @endcode + * \defgroup crQUEUE_RECEIVE_FROM_ISR crQUEUE_RECEIVE_FROM_ISR + * \ingroup Tasks + */ +#define crQUEUE_RECEIVE_FROM_ISR( pxQueue, pvBuffer, pxCoRoutineWoken ) \ + xQueueCRReceiveFromISR( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) ) + +/* + * This function is intended for internal use by the co-routine macros only. + * The macro nature of the co-routine implementation requires that the + * prototype appears here. The function should not be used by application + * writers. + * + * Removes the current co-routine from its ready list and places it in the + * appropriate delayed list. + */ +void vCoRoutineAddToDelayedList( TickType_t xTicksToDelay, + List_t * pxEventList ); + +/* + * This function is intended for internal use by the queue implementation only. + * The function should not be used by application writers. + * + * Removes the highest priority co-routine from the event list and places it in + * the pending ready list. + */ +BaseType_t xCoRoutineRemoveFromEventList( const List_t * pxEventList ); + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* CO_ROUTINE_H */ diff --git a/freertos/cvitek/install/include/kernel/deprecated_definitions.h b/freertos/cvitek/install/include/kernel/deprecated_definitions.h new file mode 100644 index 000000000..a83314124 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/deprecated_definitions.h @@ -0,0 +1,281 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef DEPRECATED_DEFINITIONS_H +#define DEPRECATED_DEFINITIONS_H + + +/* Each FreeRTOS port has a unique portmacro.h header file. Originally a + * pre-processor definition was used to ensure the pre-processor found the correct + * portmacro.h file for the port being used. That scheme was deprecated in favour + * of setting the compiler's include path such that it found the correct + * portmacro.h file - removing the need for the constant and allowing the + * portmacro.h file to be located anywhere in relation to the port being used. The + * definitions below remain in the code for backward compatibility only. New + * projects should not use them. */ + +#ifdef OPEN_WATCOM_INDUSTRIAL_PC_PORT + #include "..\..\Source\portable\owatcom\16bitdos\pc\portmacro.h" + typedef void ( __interrupt __far * pxISR )(); +#endif + +#ifdef OPEN_WATCOM_FLASH_LITE_186_PORT + #include "..\..\Source\portable\owatcom\16bitdos\flsh186\portmacro.h" + typedef void ( __interrupt __far * pxISR )(); +#endif + +#ifdef GCC_MEGA_AVR + #include "../portable/GCC/ATMega323/portmacro.h" +#endif + +#ifdef IAR_MEGA_AVR + #include "../portable/IAR/ATMega323/portmacro.h" +#endif + +#ifdef MPLAB_PIC24_PORT + #include "../../Source/portable/MPLAB/PIC24_dsPIC/portmacro.h" +#endif + +#ifdef MPLAB_DSPIC_PORT + #include "../../Source/portable/MPLAB/PIC24_dsPIC/portmacro.h" +#endif + +#ifdef MPLAB_PIC18F_PORT + #include "../../Source/portable/MPLAB/PIC18F/portmacro.h" +#endif + +#ifdef MPLAB_PIC32MX_PORT + #include "../../Source/portable/MPLAB/PIC32MX/portmacro.h" +#endif + +#ifdef _FEDPICC + #include "libFreeRTOS/Include/portmacro.h" +#endif + +#ifdef SDCC_CYGNAL + #include "../../Source/portable/SDCC/Cygnal/portmacro.h" +#endif + +#ifdef GCC_ARM7 + #include "../../Source/portable/GCC/ARM7_LPC2000/portmacro.h" +#endif + +#ifdef GCC_ARM7_ECLIPSE + #include "portmacro.h" +#endif + +#ifdef ROWLEY_LPC23xx + #include "../../Source/portable/GCC/ARM7_LPC23xx/portmacro.h" +#endif + +#ifdef IAR_MSP430 + #include "..\..\Source\portable\IAR\MSP430\portmacro.h" +#endif + +#ifdef GCC_MSP430 + #include "../../Source/portable/GCC/MSP430F449/portmacro.h" +#endif + +#ifdef ROWLEY_MSP430 + #include "../../Source/portable/Rowley/MSP430F449/portmacro.h" +#endif + +#ifdef ARM7_LPC21xx_KEIL_RVDS + #include "..\..\Source\portable\RVDS\ARM7_LPC21xx\portmacro.h" +#endif + +#ifdef SAM7_GCC + #include "../../Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h" +#endif + +#ifdef SAM7_IAR + #include "..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h" +#endif + +#ifdef SAM9XE_IAR + #include "..\..\Source\portable\IAR\AtmelSAM9XE\portmacro.h" +#endif + +#ifdef LPC2000_IAR + #include "..\..\Source\portable\IAR\LPC2000\portmacro.h" +#endif + +#ifdef STR71X_IAR + #include "..\..\Source\portable\IAR\STR71x\portmacro.h" +#endif + +#ifdef STR75X_IAR + #include "..\..\Source\portable\IAR\STR75x\portmacro.h" +#endif + +#ifdef STR75X_GCC + #include "..\..\Source\portable\GCC\STR75x\portmacro.h" +#endif + +#ifdef STR91X_IAR + #include "..\..\Source\portable\IAR\STR91x\portmacro.h" +#endif + +#ifdef GCC_H8S + #include "../../Source/portable/GCC/H8S2329/portmacro.h" +#endif + +#ifdef GCC_AT91FR40008 + #include "../../Source/portable/GCC/ARM7_AT91FR40008/portmacro.h" +#endif + +#ifdef RVDS_ARMCM3_LM3S102 + #include "../../Source/portable/RVDS/ARM_CM3/portmacro.h" +#endif + +#ifdef GCC_ARMCM3_LM3S102 + #include "../../Source/portable/GCC/ARM_CM3/portmacro.h" +#endif + +#ifdef GCC_ARMCM3 + #include "../../Source/portable/GCC/ARM_CM3/portmacro.h" +#endif + +#ifdef IAR_ARM_CM3 + #include "../../Source/portable/IAR/ARM_CM3/portmacro.h" +#endif + +#ifdef IAR_ARMCM3_LM + #include "../../Source/portable/IAR/ARM_CM3/portmacro.h" +#endif + +#ifdef HCS12_CODE_WARRIOR + #include "../../Source/portable/CodeWarrior/HCS12/portmacro.h" +#endif + +#ifdef MICROBLAZE_GCC + #include "../../Source/portable/GCC/MicroBlaze/portmacro.h" +#endif + +#ifdef TERN_EE + #include "..\..\Source\portable\Paradigm\Tern_EE\small\portmacro.h" +#endif + +#ifdef GCC_HCS12 + #include "../../Source/portable/GCC/HCS12/portmacro.h" +#endif + +#ifdef GCC_MCF5235 + #include "../../Source/portable/GCC/MCF5235/portmacro.h" +#endif + +#ifdef COLDFIRE_V2_GCC + #include "../../../Source/portable/GCC/ColdFire_V2/portmacro.h" +#endif + +#ifdef COLDFIRE_V2_CODEWARRIOR + #include "../../Source/portable/CodeWarrior/ColdFire_V2/portmacro.h" +#endif + +#ifdef GCC_PPC405 + #include "../../Source/portable/GCC/PPC405_Xilinx/portmacro.h" +#endif + +#ifdef GCC_PPC440 + #include "../../Source/portable/GCC/PPC440_Xilinx/portmacro.h" +#endif + +#ifdef _16FX_SOFTUNE + #include "..\..\Source\portable\Softune\MB96340\portmacro.h" +#endif + +#ifdef BCC_INDUSTRIAL_PC_PORT + +/* A short file name has to be used in place of the normal + * FreeRTOSConfig.h when using the Borland compiler. */ + #include "frconfig.h" + #include "..\portable\BCC\16BitDOS\PC\prtmacro.h" + typedef void ( __interrupt __far * pxISR )(); +#endif + +#ifdef BCC_FLASH_LITE_186_PORT + +/* A short file name has to be used in place of the normal + * FreeRTOSConfig.h when using the Borland compiler. */ + #include "frconfig.h" + #include "..\portable\BCC\16BitDOS\flsh186\prtmacro.h" + typedef void ( __interrupt __far * pxISR )(); +#endif + +#ifdef __GNUC__ + #ifdef __AVR32_AVR32A__ + #include "portmacro.h" + #endif +#endif + +#ifdef __ICCAVR32__ + #ifdef __CORE__ + #if __CORE__ == __AVR32A__ + #include "portmacro.h" + #endif + #endif +#endif + +#ifdef __91467D + #include "portmacro.h" +#endif + +#ifdef __96340 + #include "portmacro.h" +#endif + + +#ifdef __IAR_V850ES_Fx3__ + #include "../../Source/portable/IAR/V850ES/portmacro.h" +#endif + +#ifdef __IAR_V850ES_Jx3__ + #include "../../Source/portable/IAR/V850ES/portmacro.h" +#endif + +#ifdef __IAR_V850ES_Jx3_L__ + #include "../../Source/portable/IAR/V850ES/portmacro.h" +#endif + +#ifdef __IAR_V850ES_Jx2__ + #include "../../Source/portable/IAR/V850ES/portmacro.h" +#endif + +#ifdef __IAR_V850ES_Hx2__ + #include "../../Source/portable/IAR/V850ES/portmacro.h" +#endif + +#ifdef __IAR_78K0R_Kx3__ + #include "../../Source/portable/IAR/78K0R/portmacro.h" +#endif + +#ifdef __IAR_78K0R_Kx3L__ + #include "../../Source/portable/IAR/78K0R/portmacro.h" +#endif + +#endif /* DEPRECATED_DEFINITIONS_H */ diff --git a/freertos/cvitek/install/include/kernel/event_groups.h b/freertos/cvitek/install/include/kernel/event_groups.h new file mode 100644 index 000000000..601a29ba9 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/event_groups.h @@ -0,0 +1,777 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef EVENT_GROUPS_H +#define EVENT_GROUPS_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h" must appear in source files before "include event_groups.h" +#endif + +/* FreeRTOS includes. */ +#include "timers.h" + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/** + * An event group is a collection of bits to which an application can assign a + * meaning. For example, an application may create an event group to convey + * the status of various CAN bus related events in which bit 0 might mean "A CAN + * message has been received and is ready for processing", bit 1 might mean "The + * application has queued a message that is ready for sending onto the CAN + * network", and bit 2 might mean "It is time to send a SYNC message onto the + * CAN network" etc. A task can then test the bit values to see which events + * are active, and optionally enter the Blocked state to wait for a specified + * bit or a group of specified bits to be active. To continue the CAN bus + * example, a CAN controlling task can enter the Blocked state (and therefore + * not consume any processing time) until either bit 0, bit 1 or bit 2 are + * active, at which time the bit that was actually active would inform the task + * which action it had to take (process a received message, send a message, or + * send a SYNC). + * + * The event groups implementation contains intelligence to avoid race + * conditions that would otherwise occur were an application to use a simple + * variable for the same purpose. This is particularly important with respect + * to when a bit within an event group is to be cleared, and when bits have to + * be set and then tested atomically - as is the case where event groups are + * used to create a synchronisation point between multiple tasks (a + * 'rendezvous'). + * + * \defgroup EventGroup + */ + + + +/** + * event_groups.h + * + * Type by which event groups are referenced. For example, a call to + * xEventGroupCreate() returns an EventGroupHandle_t variable that can then + * be used as a parameter to other event group functions. + * + * \defgroup EventGroupHandle_t EventGroupHandle_t + * \ingroup EventGroup + */ +struct EventGroupDef_t; +typedef struct EventGroupDef_t * EventGroupHandle_t; + +/* + * The type that holds event bits always matches TickType_t - therefore the + * number of bits it holds is set by configUSE_16_BIT_TICKS (16 bits if set to 1, + * 32 bits if set to 0. + * + * \defgroup EventBits_t EventBits_t + * \ingroup EventGroup + */ +typedef TickType_t EventBits_t; + +/** + * event_groups.h + * @code{c} + * EventGroupHandle_t xEventGroupCreate( void ); + * @endcode + * + * Create a new event group. + * + * Internally, within the FreeRTOS implementation, event groups use a [small] + * block of memory, in which the event group's structure is stored. If an event + * groups is created using xEventGroupCreate() then the required memory is + * automatically dynamically allocated inside the xEventGroupCreate() function. + * (see https://www.FreeRTOS.org/a00111.html). If an event group is created + * using xEventGroupCreateStatic() then the application writer must instead + * provide the memory that will get used by the event group. + * xEventGroupCreateStatic() therefore allows an event group to be created + * without using any dynamic memory allocation. + * + * Although event groups are not related to ticks, for internal implementation + * reasons the number of bits available for use in an event group is dependent + * on the configUSE_16_BIT_TICKS setting in FreeRTOSConfig.h. If + * configUSE_16_BIT_TICKS is 1 then each event group contains 8 usable bits (bit + * 0 to bit 7). If configUSE_16_BIT_TICKS is set to 0 then each event group has + * 24 usable bits (bit 0 to bit 23). The EventBits_t type is used to store + * event bits within an event group. + * + * @return If the event group was created then a handle to the event group is + * returned. If there was insufficient FreeRTOS heap available to create the + * event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html + * + * Example usage: + * @code{c} + * // Declare a variable to hold the created event group. + * EventGroupHandle_t xCreatedEventGroup; + * + * // Attempt to create the event group. + * xCreatedEventGroup = xEventGroupCreate(); + * + * // Was the event group created successfully? + * if( xCreatedEventGroup == NULL ) + * { + * // The event group was not created because there was insufficient + * // FreeRTOS heap available. + * } + * else + * { + * // The event group was created. + * } + * @endcode + * \defgroup xEventGroupCreate xEventGroupCreate + * \ingroup EventGroup + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + EventGroupHandle_t xEventGroupCreate( void ) PRIVILEGED_FUNCTION; +#endif + +/** + * event_groups.h + * @code{c} + * EventGroupHandle_t xEventGroupCreateStatic( EventGroupHandle_t * pxEventGroupBuffer ); + * @endcode + * + * Create a new event group. + * + * Internally, within the FreeRTOS implementation, event groups use a [small] + * block of memory, in which the event group's structure is stored. If an event + * groups is created using xEventGroupCreate() then the required memory is + * automatically dynamically allocated inside the xEventGroupCreate() function. + * (see https://www.FreeRTOS.org/a00111.html). If an event group is created + * using xEventGroupCreateStatic() then the application writer must instead + * provide the memory that will get used by the event group. + * xEventGroupCreateStatic() therefore allows an event group to be created + * without using any dynamic memory allocation. + * + * Although event groups are not related to ticks, for internal implementation + * reasons the number of bits available for use in an event group is dependent + * on the configUSE_16_BIT_TICKS setting in FreeRTOSConfig.h. If + * configUSE_16_BIT_TICKS is 1 then each event group contains 8 usable bits (bit + * 0 to bit 7). If configUSE_16_BIT_TICKS is set to 0 then each event group has + * 24 usable bits (bit 0 to bit 23). The EventBits_t type is used to store + * event bits within an event group. + * + * @param pxEventGroupBuffer pxEventGroupBuffer must point to a variable of type + * StaticEventGroup_t, which will be then be used to hold the event group's data + * structures, removing the need for the memory to be allocated dynamically. + * + * @return If the event group was created then a handle to the event group is + * returned. If pxEventGroupBuffer was NULL then NULL is returned. + * + * Example usage: + * @code{c} + * // StaticEventGroup_t is a publicly accessible structure that has the same + * // size and alignment requirements as the real event group structure. It is + * // provided as a mechanism for applications to know the size of the event + * // group (which is dependent on the architecture and configuration file + * // settings) without breaking the strict data hiding policy by exposing the + * // real event group internals. This StaticEventGroup_t variable is passed + * // into the xSemaphoreCreateEventGroupStatic() function and is used to store + * // the event group's data structures + * StaticEventGroup_t xEventGroupBuffer; + * + * // Create the event group without dynamically allocating any memory. + * xEventGroup = xEventGroupCreateStatic( &xEventGroupBuffer ); + * @endcode + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + EventGroupHandle_t xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) PRIVILEGED_FUNCTION; +#endif + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + * const EventBits_t uxBitsToWaitFor, + * const BaseType_t xClearOnExit, + * const BaseType_t xWaitForAllBits, + * const TickType_t xTicksToWait ); + * @endcode + * + * [Potentially] block to wait for one or more bits to be set within a + * previously created event group. + * + * This function cannot be called from an interrupt. + * + * @param xEventGroup The event group in which the bits are being tested. The + * event group must have previously been created using a call to + * xEventGroupCreate(). + * + * @param uxBitsToWaitFor A bitwise value that indicates the bit or bits to test + * inside the event group. For example, to wait for bit 0 and/or bit 2 set + * uxBitsToWaitFor to 0x05. To wait for bits 0 and/or bit 1 and/or bit 2 set + * uxBitsToWaitFor to 0x07. Etc. + * + * @param xClearOnExit If xClearOnExit is set to pdTRUE then any bits within + * uxBitsToWaitFor that are set within the event group will be cleared before + * xEventGroupWaitBits() returns if the wait condition was met (if the function + * returns for a reason other than a timeout). If xClearOnExit is set to + * pdFALSE then the bits set in the event group are not altered when the call to + * xEventGroupWaitBits() returns. + * + * @param xWaitForAllBits If xWaitForAllBits is set to pdTRUE then + * xEventGroupWaitBits() will return when either all the bits in uxBitsToWaitFor + * are set or the specified block time expires. If xWaitForAllBits is set to + * pdFALSE then xEventGroupWaitBits() will return when any one of the bits set + * in uxBitsToWaitFor is set or the specified block time expires. The block + * time is specified by the xTicksToWait parameter. + * + * @param xTicksToWait The maximum amount of time (specified in 'ticks') to wait + * for one/all (depending on the xWaitForAllBits value) of the bits specified by + * uxBitsToWaitFor to become set. + * + * @return The value of the event group at the time either the bits being waited + * for became set, or the block time expired. Test the return value to know + * which bits were set. If xEventGroupWaitBits() returned because its timeout + * expired then not all the bits being waited for will be set. If + * xEventGroupWaitBits() returned because the bits it was waiting for were set + * then the returned value is the event group value before any bits were + * automatically cleared in the case that xClearOnExit parameter was set to + * pdTRUE. + * + * Example usage: + * @code{c} + * #define BIT_0 ( 1 << 0 ) + * #define BIT_4 ( 1 << 4 ) + * + * void aFunction( EventGroupHandle_t xEventGroup ) + * { + * EventBits_t uxBits; + * const TickType_t xTicksToWait = 100 / portTICK_PERIOD_MS; + * + * // Wait a maximum of 100ms for either bit 0 or bit 4 to be set within + * // the event group. Clear the bits before exiting. + * uxBits = xEventGroupWaitBits( + * xEventGroup, // The event group being tested. + * BIT_0 | BIT_4, // The bits within the event group to wait for. + * pdTRUE, // BIT_0 and BIT_4 should be cleared before returning. + * pdFALSE, // Don't wait for both bits, either bit will do. + * xTicksToWait ); // Wait a maximum of 100ms for either bit to be set. + * + * if( ( uxBits & ( BIT_0 | BIT_4 ) ) == ( BIT_0 | BIT_4 ) ) + * { + * // xEventGroupWaitBits() returned because both bits were set. + * } + * else if( ( uxBits & BIT_0 ) != 0 ) + * { + * // xEventGroupWaitBits() returned because just BIT_0 was set. + * } + * else if( ( uxBits & BIT_4 ) != 0 ) + * { + * // xEventGroupWaitBits() returned because just BIT_4 was set. + * } + * else + * { + * // xEventGroupWaitBits() returned because xTicksToWait ticks passed + * // without either BIT_0 or BIT_4 becoming set. + * } + * } + * @endcode + * \defgroup xEventGroupWaitBits xEventGroupWaitBits + * \ingroup EventGroup + */ +EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xClearOnExit, + const BaseType_t xWaitForAllBits, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ); + * @endcode + * + * Clear bits within an event group. This function cannot be called from an + * interrupt. + * + * @param xEventGroup The event group in which the bits are to be cleared. + * + * @param uxBitsToClear A bitwise value that indicates the bit or bits to clear + * in the event group. For example, to clear bit 3 only, set uxBitsToClear to + * 0x08. To clear bit 3 and bit 0 set uxBitsToClear to 0x09. + * + * @return The value of the event group before the specified bits were cleared. + * + * Example usage: + * @code{c} + * #define BIT_0 ( 1 << 0 ) + * #define BIT_4 ( 1 << 4 ) + * + * void aFunction( EventGroupHandle_t xEventGroup ) + * { + * EventBits_t uxBits; + * + * // Clear bit 0 and bit 4 in xEventGroup. + * uxBits = xEventGroupClearBits( + * xEventGroup, // The event group being updated. + * BIT_0 | BIT_4 );// The bits being cleared. + * + * if( ( uxBits & ( BIT_0 | BIT_4 ) ) == ( BIT_0 | BIT_4 ) ) + * { + * // Both bit 0 and bit 4 were set before xEventGroupClearBits() was + * // called. Both will now be clear (not set). + * } + * else if( ( uxBits & BIT_0 ) != 0 ) + * { + * // Bit 0 was set before xEventGroupClearBits() was called. It will + * // now be clear. + * } + * else if( ( uxBits & BIT_4 ) != 0 ) + * { + * // Bit 4 was set before xEventGroupClearBits() was called. It will + * // now be clear. + * } + * else + * { + * // Neither bit 0 nor bit 4 were set in the first place. + * } + * } + * @endcode + * \defgroup xEventGroupClearBits xEventGroupClearBits + * \ingroup EventGroup + */ +EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION; + +/** + * event_groups.h + * @code{c} + * BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ); + * @endcode + * + * A version of xEventGroupClearBits() that can be called from an interrupt. + * + * Setting bits in an event group is not a deterministic operation because there + * are an unknown number of tasks that may be waiting for the bit or bits being + * set. FreeRTOS does not allow nondeterministic operations to be performed + * while interrupts are disabled, so protects event groups that are accessed + * from tasks by suspending the scheduler rather than disabling interrupts. As + * a result event groups cannot be accessed directly from an interrupt service + * routine. Therefore xEventGroupClearBitsFromISR() sends a message to the + * timer task to have the clear operation performed in the context of the timer + * task. + * + * @param xEventGroup The event group in which the bits are to be cleared. + * + * @param uxBitsToClear A bitwise value that indicates the bit or bits to clear. + * For example, to clear bit 3 only, set uxBitsToClear to 0x08. To clear bit 3 + * and bit 0 set uxBitsToClear to 0x09. + * + * @return If the request to execute the function was posted successfully then + * pdPASS is returned, otherwise pdFALSE is returned. pdFALSE will be returned + * if the timer service queue was full. + * + * Example usage: + * @code{c} + * #define BIT_0 ( 1 << 0 ) + * #define BIT_4 ( 1 << 4 ) + * + * // An event group which it is assumed has already been created by a call to + * // xEventGroupCreate(). + * EventGroupHandle_t xEventGroup; + * + * void anInterruptHandler( void ) + * { + * // Clear bit 0 and bit 4 in xEventGroup. + * xResult = xEventGroupClearBitsFromISR( + * xEventGroup, // The event group being updated. + * BIT_0 | BIT_4 ); // The bits being set. + * + * if( xResult == pdPASS ) + * { + * // The message was posted successfully. + * } + * } + * @endcode + * \defgroup xEventGroupClearBitsFromISR xEventGroupClearBitsFromISR + * \ingroup EventGroup + */ +#if ( configUSE_TRACE_FACILITY == 1 ) + BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION; +#else + #define xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear ) \ + xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL ) +#endif + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ); + * @endcode + * + * Set bits within an event group. + * This function cannot be called from an interrupt. xEventGroupSetBitsFromISR() + * is a version that can be called from an interrupt. + * + * Setting bits in an event group will automatically unblock tasks that are + * blocked waiting for the bits. + * + * @param xEventGroup The event group in which the bits are to be set. + * + * @param uxBitsToSet A bitwise value that indicates the bit or bits to set. + * For example, to set bit 3 only, set uxBitsToSet to 0x08. To set bit 3 + * and bit 0 set uxBitsToSet to 0x09. + * + * @return The value of the event group at the time the call to + * xEventGroupSetBits() returns. There are two reasons why the returned value + * might have the bits specified by the uxBitsToSet parameter cleared. First, + * if setting a bit results in a task that was waiting for the bit leaving the + * blocked state then it is possible the bit will be cleared automatically + * (see the xClearBitOnExit parameter of xEventGroupWaitBits()). Second, any + * unblocked (or otherwise Ready state) task that has a priority above that of + * the task that called xEventGroupSetBits() will execute and may change the + * event group value before the call to xEventGroupSetBits() returns. + * + * Example usage: + * @code{c} + * #define BIT_0 ( 1 << 0 ) + * #define BIT_4 ( 1 << 4 ) + * + * void aFunction( EventGroupHandle_t xEventGroup ) + * { + * EventBits_t uxBits; + * + * // Set bit 0 and bit 4 in xEventGroup. + * uxBits = xEventGroupSetBits( + * xEventGroup, // The event group being updated. + * BIT_0 | BIT_4 );// The bits being set. + * + * if( ( uxBits & ( BIT_0 | BIT_4 ) ) == ( BIT_0 | BIT_4 ) ) + * { + * // Both bit 0 and bit 4 remained set when the function returned. + * } + * else if( ( uxBits & BIT_0 ) != 0 ) + * { + * // Bit 0 remained set when the function returned, but bit 4 was + * // cleared. It might be that bit 4 was cleared automatically as a + * // task that was waiting for bit 4 was removed from the Blocked + * // state. + * } + * else if( ( uxBits & BIT_4 ) != 0 ) + * { + * // Bit 4 remained set when the function returned, but bit 0 was + * // cleared. It might be that bit 0 was cleared automatically as a + * // task that was waiting for bit 0 was removed from the Blocked + * // state. + * } + * else + * { + * // Neither bit 0 nor bit 4 remained set. It might be that a task + * // was waiting for both of the bits to be set, and the bits were + * // cleared as the task left the Blocked state. + * } + * } + * @endcode + * \defgroup xEventGroupSetBits xEventGroupSetBits + * \ingroup EventGroup + */ +EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) PRIVILEGED_FUNCTION; + +/** + * event_groups.h + * @code{c} + * BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * A version of xEventGroupSetBits() that can be called from an interrupt. + * + * Setting bits in an event group is not a deterministic operation because there + * are an unknown number of tasks that may be waiting for the bit or bits being + * set. FreeRTOS does not allow nondeterministic operations to be performed in + * interrupts or from critical sections. Therefore xEventGroupSetBitsFromISR() + * sends a message to the timer task to have the set operation performed in the + * context of the timer task - where a scheduler lock is used in place of a + * critical section. + * + * @param xEventGroup The event group in which the bits are to be set. + * + * @param uxBitsToSet A bitwise value that indicates the bit or bits to set. + * For example, to set bit 3 only, set uxBitsToSet to 0x08. To set bit 3 + * and bit 0 set uxBitsToSet to 0x09. + * + * @param pxHigherPriorityTaskWoken As mentioned above, calling this function + * will result in a message being sent to the timer daemon task. If the + * priority of the timer daemon task is higher than the priority of the + * currently running task (the task the interrupt interrupted) then + * *pxHigherPriorityTaskWoken will be set to pdTRUE by + * xEventGroupSetBitsFromISR(), indicating that a context switch should be + * requested before the interrupt exits. For that reason + * *pxHigherPriorityTaskWoken must be initialised to pdFALSE. See the + * example code below. + * + * @return If the request to execute the function was posted successfully then + * pdPASS is returned, otherwise pdFALSE is returned. pdFALSE will be returned + * if the timer service queue was full. + * + * Example usage: + * @code{c} + * #define BIT_0 ( 1 << 0 ) + * #define BIT_4 ( 1 << 4 ) + * + * // An event group which it is assumed has already been created by a call to + * // xEventGroupCreate(). + * EventGroupHandle_t xEventGroup; + * + * void anInterruptHandler( void ) + * { + * BaseType_t xHigherPriorityTaskWoken, xResult; + * + * // xHigherPriorityTaskWoken must be initialised to pdFALSE. + * xHigherPriorityTaskWoken = pdFALSE; + * + * // Set bit 0 and bit 4 in xEventGroup. + * xResult = xEventGroupSetBitsFromISR( + * xEventGroup, // The event group being updated. + * BIT_0 | BIT_4 // The bits being set. + * &xHigherPriorityTaskWoken ); + * + * // Was the message posted successfully? + * if( xResult == pdPASS ) + * { + * // If xHigherPriorityTaskWoken is now set to pdTRUE then a context + * // switch should be requested. The macro used is port specific and + * // will be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() - + * // refer to the documentation page for the port being used. + * portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * } + * } + * @endcode + * \defgroup xEventGroupSetBitsFromISR xEventGroupSetBitsFromISR + * \ingroup EventGroup + */ +#if ( configUSE_TRACE_FACILITY == 1 ) + BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; +#else + #define xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ) \ + xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken ) +#endif + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, + * const EventBits_t uxBitsToSet, + * const EventBits_t uxBitsToWaitFor, + * TickType_t xTicksToWait ); + * @endcode + * + * Atomically set bits within an event group, then wait for a combination of + * bits to be set within the same event group. This functionality is typically + * used to synchronise multiple tasks, where each task has to wait for the other + * tasks to reach a synchronisation point before proceeding. + * + * This function cannot be used from an interrupt. + * + * The function will return before its block time expires if the bits specified + * by the uxBitsToWait parameter are set, or become set within that time. In + * this case all the bits specified by uxBitsToWait will be automatically + * cleared before the function returns. + * + * @param xEventGroup The event group in which the bits are being tested. The + * event group must have previously been created using a call to + * xEventGroupCreate(). + * + * @param uxBitsToSet The bits to set in the event group before determining + * if, and possibly waiting for, all the bits specified by the uxBitsToWait + * parameter are set. + * + * @param uxBitsToWaitFor A bitwise value that indicates the bit or bits to test + * inside the event group. For example, to wait for bit 0 and bit 2 set + * uxBitsToWaitFor to 0x05. To wait for bits 0 and bit 1 and bit 2 set + * uxBitsToWaitFor to 0x07. Etc. + * + * @param xTicksToWait The maximum amount of time (specified in 'ticks') to wait + * for all of the bits specified by uxBitsToWaitFor to become set. + * + * @return The value of the event group at the time either the bits being waited + * for became set, or the block time expired. Test the return value to know + * which bits were set. If xEventGroupSync() returned because its timeout + * expired then not all the bits being waited for will be set. If + * xEventGroupSync() returned because all the bits it was waiting for were + * set then the returned value is the event group value before any bits were + * automatically cleared. + * + * Example usage: + * @code{c} + * // Bits used by the three tasks. + * #define TASK_0_BIT ( 1 << 0 ) + * #define TASK_1_BIT ( 1 << 1 ) + * #define TASK_2_BIT ( 1 << 2 ) + * + * #define ALL_SYNC_BITS ( TASK_0_BIT | TASK_1_BIT | TASK_2_BIT ) + * + * // Use an event group to synchronise three tasks. It is assumed this event + * // group has already been created elsewhere. + * EventGroupHandle_t xEventBits; + * + * void vTask0( void *pvParameters ) + * { + * EventBits_t uxReturn; + * TickType_t xTicksToWait = 100 / portTICK_PERIOD_MS; + * + * for( ;; ) + * { + * // Perform task functionality here. + * + * // Set bit 0 in the event flag to note this task has reached the + * // sync point. The other two tasks will set the other two bits defined + * // by ALL_SYNC_BITS. All three tasks have reached the synchronisation + * // point when all the ALL_SYNC_BITS are set. Wait a maximum of 100ms + * // for this to happen. + * uxReturn = xEventGroupSync( xEventBits, TASK_0_BIT, ALL_SYNC_BITS, xTicksToWait ); + * + * if( ( uxReturn & ALL_SYNC_BITS ) == ALL_SYNC_BITS ) + * { + * // All three tasks reached the synchronisation point before the call + * // to xEventGroupSync() timed out. + * } + * } + * } + * + * void vTask1( void *pvParameters ) + * { + * for( ;; ) + * { + * // Perform task functionality here. + * + * // Set bit 1 in the event flag to note this task has reached the + * // synchronisation point. The other two tasks will set the other two + * // bits defined by ALL_SYNC_BITS. All three tasks have reached the + * // synchronisation point when all the ALL_SYNC_BITS are set. Wait + * // indefinitely for this to happen. + * xEventGroupSync( xEventBits, TASK_1_BIT, ALL_SYNC_BITS, portMAX_DELAY ); + * + * // xEventGroupSync() was called with an indefinite block time, so + * // this task will only reach here if the synchronisation was made by all + * // three tasks, so there is no need to test the return value. + * } + * } + * + * void vTask2( void *pvParameters ) + * { + * for( ;; ) + * { + * // Perform task functionality here. + * + * // Set bit 2 in the event flag to note this task has reached the + * // synchronisation point. The other two tasks will set the other two + * // bits defined by ALL_SYNC_BITS. All three tasks have reached the + * // synchronisation point when all the ALL_SYNC_BITS are set. Wait + * // indefinitely for this to happen. + * xEventGroupSync( xEventBits, TASK_2_BIT, ALL_SYNC_BITS, portMAX_DELAY ); + * + * // xEventGroupSync() was called with an indefinite block time, so + * // this task will only reach here if the synchronisation was made by all + * // three tasks, so there is no need to test the return value. + * } + * } + * + * @endcode + * \defgroup xEventGroupSync xEventGroupSync + * \ingroup EventGroup + */ +EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupGetBits( EventGroupHandle_t xEventGroup ); + * @endcode + * + * Returns the current value of the bits in an event group. This function + * cannot be used from an interrupt. + * + * @param xEventGroup The event group being queried. + * + * @return The event group bits at the time xEventGroupGetBits() was called. + * + * \defgroup xEventGroupGetBits xEventGroupGetBits + * \ingroup EventGroup + */ +#define xEventGroupGetBits( xEventGroup ) xEventGroupClearBits( xEventGroup, 0 ) + +/** + * event_groups.h + * @code{c} + * EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ); + * @endcode + * + * A version of xEventGroupGetBits() that can be called from an ISR. + * + * @param xEventGroup The event group being queried. + * + * @return The event group bits at the time xEventGroupGetBitsFromISR() was called. + * + * \defgroup xEventGroupGetBitsFromISR xEventGroupGetBitsFromISR + * \ingroup EventGroup + */ +EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION; + +/** + * event_groups.h + * @code{c} + * void xEventGroupDelete( EventGroupHandle_t xEventGroup ); + * @endcode + * + * Delete an event group that was previously created by a call to + * xEventGroupCreate(). Tasks that are blocked on the event group will be + * unblocked and obtain 0 as the event group's value. + * + * @param xEventGroup The event group being deleted. + */ +void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION; + +/* For internal use only. */ +void vEventGroupSetBitsCallback( void * pvEventGroup, + const uint32_t ulBitsToSet ) PRIVILEGED_FUNCTION; +void vEventGroupClearBitsCallback( void * pvEventGroup, + const uint32_t ulBitsToClear ) PRIVILEGED_FUNCTION; + + +#if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxEventGroupGetNumber( void * xEventGroup ) PRIVILEGED_FUNCTION; + void vEventGroupSetNumber( void * xEventGroup, + UBaseType_t uxEventGroupNumber ) PRIVILEGED_FUNCTION; +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* EVENT_GROUPS_H */ diff --git a/freertos/cvitek/install/include/kernel/freertos_risc_v_chip_specific_extensions.h b/freertos/cvitek/install/include/kernel/freertos_risc_v_chip_specific_extensions.h new file mode 100644 index 000000000..2df01c523 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/freertos_risc_v_chip_specific_extensions.h @@ -0,0 +1,148 @@ +/* + * FreeRTOS Kernel V10.3.1 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * The FreeRTOS kernel's RISC-V port is split between the the code that is + * common across all currently supported RISC-V chips (implementations of the + * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: + * + * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that + * is common to all currently supported RISC-V chips. There is only one + * portASM.S file because the same file is built for all RISC-V target chips. + * + * + Header files called freertos_risc_v_chip_specific_extensions.h contain the + * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V + * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files + * as there are multiple RISC-V chip implementations. + * + * !!!NOTE!!! + * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h + * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the + * compiler's!) include path. For example, if the chip in use includes a core + * local interrupter (CLINT) and does not include any chip specific register + * extensions then add the path below to the assembler's include path: + * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions + * + */ + + +#ifndef __FREERTOS_RISC_V_EXTENSIONS_H__ +#define __FREERTOS_RISC_V_EXTENSIONS_H__ + +#define portasmHAS_SIFIVE_CLINT 1 +#define portasmHAS_MTIME 1 +#ifdef RISCV_FPU +#define portasmADDITIONAL_CONTEXT_SIZE (34) /*in test_if_asynchronous, it will store mepc in 0 * sp position*/ +#else +#define portasmADDITIONAL_CONTEXT_SIZE (0) /* Must be even number on 32-bit cores. */ +#endif + +#define portasmHANDLE_INTERRUPT do_irq + +.macro portasmSAVE_ADDITIONAL_REGISTERS + /* No additional registers to save, so this macro does nothing. */ +#ifdef RISCV_FPU + addi sp, sp, -(portasmADDITIONAL_CONTEXT_SIZE * portWORD_SIZE) + store_f f0, 1 * portWORD_SIZE( sp ) + store_f f1, 2 * portWORD_SIZE( sp ) + store_f f2, 3 * portWORD_SIZE( sp ) + store_f f3, 4 * portWORD_SIZE( sp ) + store_f f4, 5 * portWORD_SIZE( sp ) + store_f f5, 6 * portWORD_SIZE( sp ) + store_f f6, 7 * portWORD_SIZE( sp ) + store_f f7, 8 * portWORD_SIZE( sp ) + store_f f8, 9 * portWORD_SIZE( sp ) + store_f f9, 10 * portWORD_SIZE( sp ) + store_f f10, 11 * portWORD_SIZE( sp ) + store_f f11, 12 * portWORD_SIZE( sp ) + store_f f12, 13 * portWORD_SIZE( sp ) + store_f f13, 14 * portWORD_SIZE( sp ) + store_f f14, 15 * portWORD_SIZE( sp ) + store_f f15, 16 * portWORD_SIZE( sp ) + store_f f16, 17 * portWORD_SIZE( sp ) + store_f f17, 18 * portWORD_SIZE( sp ) + store_f f18, 19 * portWORD_SIZE( sp ) + store_f f19, 20 * portWORD_SIZE( sp ) + store_f f20, 21 * portWORD_SIZE( sp ) + store_f f21, 22 * portWORD_SIZE( sp ) + store_f f22, 23 * portWORD_SIZE( sp ) + store_f f23, 24 * portWORD_SIZE( sp ) + store_f f24, 25 * portWORD_SIZE( sp ) + store_f f25, 26 * portWORD_SIZE( sp ) + store_f f26, 27 * portWORD_SIZE( sp ) + store_f f27, 28 * portWORD_SIZE( sp ) + store_f f28, 29 * portWORD_SIZE( sp ) + store_f f29, 30 * portWORD_SIZE( sp ) + store_f f30, 31 * portWORD_SIZE( sp ) + store_f f31, 32 * portWORD_SIZE( sp ) + csrr t0, fcsr + store_x t0, 33 * portWORD_SIZE( sp ) +#endif + .endm + +.macro portasmRESTORE_ADDITIONAL_REGISTERS + /* No additional registers to restore, so this macro does nothing. */ +#ifdef RISCV_FPU + load_f f0, 1 * portWORD_SIZE( sp ) + load_f f1, 2 * portWORD_SIZE( sp ) + load_f f2, 3 * portWORD_SIZE( sp ) + load_f f3, 4 * portWORD_SIZE( sp ) + load_f f4, 5 * portWORD_SIZE( sp ) + load_f f5, 6 * portWORD_SIZE( sp ) + load_f f6, 7 * portWORD_SIZE( sp ) + load_f f7, 8 * portWORD_SIZE( sp ) + load_f f8, 9 * portWORD_SIZE( sp ) + load_f f9, 10 * portWORD_SIZE( sp ) + load_f f10, 11 * portWORD_SIZE( sp ) + load_f f11, 12 * portWORD_SIZE( sp ) + load_f f12, 13 * portWORD_SIZE( sp ) + load_f f13, 14 * portWORD_SIZE( sp ) + load_f f14, 15 * portWORD_SIZE( sp ) + load_f f15, 16 * portWORD_SIZE( sp ) + load_f f16, 17 * portWORD_SIZE( sp ) + load_f f17, 18 * portWORD_SIZE( sp ) + load_f f18, 19 * portWORD_SIZE( sp ) + load_f f19, 20 * portWORD_SIZE( sp ) + load_f f20, 21 * portWORD_SIZE( sp ) + load_f f21, 22 * portWORD_SIZE( sp ) + load_f f22, 23 * portWORD_SIZE( sp ) + load_f f23, 24 * portWORD_SIZE( sp ) + load_f f24, 25 * portWORD_SIZE( sp ) + load_f f25, 26 * portWORD_SIZE( sp ) + load_f f26, 27 * portWORD_SIZE( sp ) + load_f f27, 28 * portWORD_SIZE( sp ) + load_f f28, 29 * portWORD_SIZE( sp ) + load_f f29, 30 * portWORD_SIZE( sp ) + load_f f30, 31 * portWORD_SIZE( sp ) + load_f f31, 32 * portWORD_SIZE( sp ) + load_x t0, 33 * portWORD_SIZE( sp ) + csrw fcsr, t0 + addi sp, sp, (portasmADDITIONAL_CONTEXT_SIZE * portWORD_SIZE) +#endif + .endm + +#endif /* __FREERTOS_RISC_V_EXTENSIONS_H__ */ diff --git a/freertos/cvitek/install/include/kernel/list.h b/freertos/cvitek/install/include/kernel/list.h new file mode 100644 index 000000000..f866f9fd5 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/list.h @@ -0,0 +1,499 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* + * This is the list implementation used by the scheduler. While it is tailored + * heavily for the schedulers needs, it is also available for use by + * application code. + * + * list_ts can only store pointers to list_item_ts. Each ListItem_t contains a + * numeric value (xItemValue). Most of the time the lists are sorted in + * ascending item value order. + * + * Lists are created already containing one list item. The value of this + * item is the maximum possible that can be stored, it is therefore always at + * the end of the list and acts as a marker. The list member pxHead always + * points to this marker - even though it is at the tail of the list. This + * is because the tail contains a wrap back pointer to the true head of + * the list. + * + * In addition to it's value, each list item contains a pointer to the next + * item in the list (pxNext), a pointer to the list it is in (pxContainer) + * and a pointer to back to the object that contains it. These later two + * pointers are included for efficiency of list manipulation. There is + * effectively a two way link between the object containing the list item and + * the list item itself. + * + * + * \page ListIntroduction List Implementation + * \ingroup FreeRTOSIntro + */ + + +#ifndef LIST_H +#define LIST_H + +#ifndef INC_FREERTOS_H + #error "FreeRTOS.h must be included before list.h" +#endif + +/* + * The list structure members are modified from within interrupts, and therefore + * by rights should be declared volatile. However, they are only modified in a + * functionally atomic way (within critical sections of with the scheduler + * suspended) and are either passed by reference into a function or indexed via + * a volatile variable. Therefore, in all use cases tested so far, the volatile + * qualifier can be omitted in order to provide a moderate performance + * improvement without adversely affecting functional behaviour. The assembly + * instructions generated by the IAR, ARM and GCC compilers when the respective + * compiler's options were set for maximum optimisation has been inspected and + * deemed to be as intended. That said, as compiler technology advances, and + * especially if aggressive cross module optimisation is used (a use case that + * has not been exercised to any great extend) then it is feasible that the + * volatile qualifier will be needed for correct optimisation. It is expected + * that a compiler removing essential code because, without the volatile + * qualifier on the list structure members and with aggressive cross module + * optimisation, the compiler deemed the code unnecessary will result in + * complete and obvious failure of the scheduler. If this is ever experienced + * then the volatile qualifier can be inserted in the relevant places within the + * list structures by simply defining configLIST_VOLATILE to volatile in + * FreeRTOSConfig.h (as per the example at the bottom of this comment block). + * If configLIST_VOLATILE is not defined then the preprocessor directives below + * will simply #define configLIST_VOLATILE away completely. + * + * To use volatile list structure members then add the following line to + * FreeRTOSConfig.h (without the quotes): + * "#define configLIST_VOLATILE volatile" + */ +#ifndef configLIST_VOLATILE + #define configLIST_VOLATILE +#endif /* configSUPPORT_CROSS_MODULE_OPTIMISATION */ + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/* Macros that can be used to place known values within the list structures, + * then check that the known values do not get corrupted during the execution of + * the application. These may catch the list data structures being overwritten in + * memory. They will not catch data errors caused by incorrect configuration or + * use of FreeRTOS.*/ +#if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 0 ) + /* Define the macros to do nothing. */ + #define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE + #define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE + #define listFIRST_LIST_INTEGRITY_CHECK_VALUE + #define listSECOND_LIST_INTEGRITY_CHECK_VALUE + #define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) + #define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) + #define listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList ) + #define listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ) + #define listTEST_LIST_ITEM_INTEGRITY( pxItem ) + #define listTEST_LIST_INTEGRITY( pxList ) +#else /* if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 0 ) */ + /* Define macros that add new members into the list structures. */ + #define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE TickType_t xListItemIntegrityValue1; + #define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE TickType_t xListItemIntegrityValue2; + #define listFIRST_LIST_INTEGRITY_CHECK_VALUE TickType_t xListIntegrityValue1; + #define listSECOND_LIST_INTEGRITY_CHECK_VALUE TickType_t xListIntegrityValue2; + +/* Define macros that set the new structure members to known values. */ + #define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) ( pxItem )->xListItemIntegrityValue1 = pdINTEGRITY_CHECK_VALUE + #define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) ( pxItem )->xListItemIntegrityValue2 = pdINTEGRITY_CHECK_VALUE + #define listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList ) ( pxList )->xListIntegrityValue1 = pdINTEGRITY_CHECK_VALUE + #define listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ) ( pxList )->xListIntegrityValue2 = pdINTEGRITY_CHECK_VALUE + +/* Define macros that will assert if one of the structure members does not + * contain its expected value. */ + #define listTEST_LIST_ITEM_INTEGRITY( pxItem ) configASSERT( ( ( pxItem )->xListItemIntegrityValue1 == pdINTEGRITY_CHECK_VALUE ) && ( ( pxItem )->xListItemIntegrityValue2 == pdINTEGRITY_CHECK_VALUE ) ) + #define listTEST_LIST_INTEGRITY( pxList ) configASSERT( ( ( pxList )->xListIntegrityValue1 == pdINTEGRITY_CHECK_VALUE ) && ( ( pxList )->xListIntegrityValue2 == pdINTEGRITY_CHECK_VALUE ) ) +#endif /* configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES */ + + +/* + * Definition of the only type of object that a list can contain. + */ +struct xLIST; +struct xLIST_ITEM +{ + listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ + configLIST_VOLATILE TickType_t xItemValue; /*< The value being listed. In most cases this is used to sort the list in ascending order. */ + struct xLIST_ITEM * configLIST_VOLATILE pxNext; /*< Pointer to the next ListItem_t in the list. */ + struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; /*< Pointer to the previous ListItem_t in the list. */ + void * pvOwner; /*< Pointer to the object (normally a TCB) that contains the list item. There is therefore a two way link between the object containing the list item and the list item itself. */ + struct xLIST * configLIST_VOLATILE pxContainer; /*< Pointer to the list in which this list item is placed (if any). */ + listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ +}; +typedef struct xLIST_ITEM ListItem_t; /* For some reason lint wants this as two separate definitions. */ + +struct xMINI_LIST_ITEM +{ + listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ + configLIST_VOLATILE TickType_t xItemValue; + struct xLIST_ITEM * configLIST_VOLATILE pxNext; + struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; +}; +typedef struct xMINI_LIST_ITEM MiniListItem_t; + +/* + * Definition of the type of queue used by the scheduler. + */ +typedef struct xLIST +{ + listFIRST_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ + volatile UBaseType_t uxNumberOfItems; + ListItem_t * configLIST_VOLATILE pxIndex; /*< Used to walk through the list. Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */ + MiniListItem_t xListEnd; /*< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */ + listSECOND_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ +} List_t; + +/* + * Access macro to set the owner of a list item. The owner of a list item + * is the object (usually a TCB) that contains the list item. + * + * \page listSET_LIST_ITEM_OWNER listSET_LIST_ITEM_OWNER + * \ingroup LinkedList + */ +#define listSET_LIST_ITEM_OWNER( pxListItem, pxOwner ) ( ( pxListItem )->pvOwner = ( void * ) ( pxOwner ) ) + +/* + * Access macro to get the owner of a list item. The owner of a list item + * is the object (usually a TCB) that contains the list item. + * + * \page listGET_LIST_ITEM_OWNER listSET_LIST_ITEM_OWNER + * \ingroup LinkedList + */ +#define listGET_LIST_ITEM_OWNER( pxListItem ) ( ( pxListItem )->pvOwner ) + +/* + * Access macro to set the value of the list item. In most cases the value is + * used to sort the list in ascending order. + * + * \page listSET_LIST_ITEM_VALUE listSET_LIST_ITEM_VALUE + * \ingroup LinkedList + */ +#define listSET_LIST_ITEM_VALUE( pxListItem, xValue ) ( ( pxListItem )->xItemValue = ( xValue ) ) + +/* + * Access macro to retrieve the value of the list item. The value can + * represent anything - for example the priority of a task, or the time at + * which a task should be unblocked. + * + * \page listGET_LIST_ITEM_VALUE listGET_LIST_ITEM_VALUE + * \ingroup LinkedList + */ +#define listGET_LIST_ITEM_VALUE( pxListItem ) ( ( pxListItem )->xItemValue ) + +/* + * Access macro to retrieve the value of the list item at the head of a given + * list. + * + * \page listGET_LIST_ITEM_VALUE listGET_LIST_ITEM_VALUE + * \ingroup LinkedList + */ +#define listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext->xItemValue ) + +/* + * Return the list item at the head of the list. + * + * \page listGET_HEAD_ENTRY listGET_HEAD_ENTRY + * \ingroup LinkedList + */ +#define listGET_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext ) + +/* + * Return the next list item. + * + * \page listGET_NEXT listGET_NEXT + * \ingroup LinkedList + */ +#define listGET_NEXT( pxListItem ) ( ( pxListItem )->pxNext ) + +/* + * Return the list item that marks the end of the list + * + * \page listGET_END_MARKER listGET_END_MARKER + * \ingroup LinkedList + */ +#define listGET_END_MARKER( pxList ) ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) ) + +/* + * Access macro to determine if a list contains any items. The macro will + * only have the value true if the list is empty. + * + * \page listLIST_IS_EMPTY listLIST_IS_EMPTY + * \ingroup LinkedList + */ +#define listLIST_IS_EMPTY( pxList ) ( ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? pdTRUE : pdFALSE ) + +/* + * Access macro to return the number of items in the list. + */ +#define listCURRENT_LIST_LENGTH( pxList ) ( ( pxList )->uxNumberOfItems ) + +/* + * Access function to obtain the owner of the next entry in a list. + * + * The list member pxIndex is used to walk through a list. Calling + * listGET_OWNER_OF_NEXT_ENTRY increments pxIndex to the next item in the list + * and returns that entry's pxOwner parameter. Using multiple calls to this + * function it is therefore possible to move through every item contained in + * a list. + * + * The pxOwner parameter of a list item is a pointer to the object that owns + * the list item. In the scheduler this is normally a task control block. + * The pxOwner parameter effectively creates a two way link between the list + * item and its owner. + * + * @param pxTCB pxTCB is set to the address of the owner of the next list item. + * @param pxList The list from which the next item owner is to be returned. + * + * \page listGET_OWNER_OF_NEXT_ENTRY listGET_OWNER_OF_NEXT_ENTRY + * \ingroup LinkedList + */ +#define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \ + { \ + List_t * const pxConstList = ( pxList ); \ + /* Increment the index to the next item and return the item, ensuring */ \ + /* we don't return the marker used at the end of the list. */ \ + ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \ + if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \ + { \ + ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \ + } \ + ( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \ + } + +/* + * Version of uxListRemove() that does not return a value. Provided as a slight + * optimisation for xTaskIncrementTick() by being inline. + * + * Remove an item from a list. The list item has a pointer to the list that + * it is in, so only the list item need be passed into the function. + * + * @param uxListRemove The item to be removed. The item will remove itself from + * the list pointed to by it's pxContainer parameter. + * + * @return The number of items that remain in the list after the list item has + * been removed. + * + * \page listREMOVE_ITEM listREMOVE_ITEM + * \ingroup LinkedList + */ +#define listREMOVE_ITEM( pxItemToRemove ) \ + { \ + /* The list item knows which list it is in. Obtain the list from the list \ + * item. */ \ + List_t * const pxList = ( pxItemToRemove )->pxContainer; \ + \ + ( pxItemToRemove )->pxNext->pxPrevious = ( pxItemToRemove )->pxPrevious; \ + ( pxItemToRemove )->pxPrevious->pxNext = ( pxItemToRemove )->pxNext; \ + /* Make sure the index is left pointing to a valid item. */ \ + if( pxList->pxIndex == ( pxItemToRemove ) ) \ + { \ + pxList->pxIndex = ( pxItemToRemove )->pxPrevious; \ + } \ + \ + ( pxItemToRemove )->pxContainer = NULL; \ + ( pxList->uxNumberOfItems )--; \ + } + +/* + * Inline version of vListInsertEnd() to provide slight optimisation for + * xTaskIncrementTick(). + * + * Insert a list item into a list. The item will be inserted in a position + * such that it will be the last item within the list returned by multiple + * calls to listGET_OWNER_OF_NEXT_ENTRY. + * + * The list member pxIndex is used to walk through a list. Calling + * listGET_OWNER_OF_NEXT_ENTRY increments pxIndex to the next item in the list. + * Placing an item in a list using vListInsertEnd effectively places the item + * in the list position pointed to by pxIndex. This means that every other + * item within the list will be returned by listGET_OWNER_OF_NEXT_ENTRY before + * the pxIndex parameter again points to the item being inserted. + * + * @param pxList The list into which the item is to be inserted. + * + * @param pxNewListItem The list item to be inserted into the list. + * + * \page listINSERT_END listINSERT_END + * \ingroup LinkedList + */ +#define listINSERT_END( pxList, pxNewListItem ) \ + { \ + ListItem_t * const pxIndex = ( pxList )->pxIndex; \ + \ + /* Only effective when configASSERT() is also defined, these tests may catch \ + * the list data structures being overwritten in memory. They will not catch \ + * data errors caused by incorrect configuration or use of FreeRTOS. */ \ + listTEST_LIST_INTEGRITY( ( pxList ) ); \ + listTEST_LIST_ITEM_INTEGRITY( ( pxNewListItem ) ); \ + \ + /* Insert a new list item into ( pxList ), but rather than sort the list, \ + * makes the new list item the last item to be removed by a call to \ + * listGET_OWNER_OF_NEXT_ENTRY(). */ \ + ( pxNewListItem )->pxNext = pxIndex; \ + ( pxNewListItem )->pxPrevious = pxIndex->pxPrevious; \ + \ + pxIndex->pxPrevious->pxNext = ( pxNewListItem ); \ + pxIndex->pxPrevious = ( pxNewListItem ); \ + \ + /* Remember which list the item is in. */ \ + ( pxNewListItem )->pxContainer = ( pxList ); \ + \ + ( ( pxList )->uxNumberOfItems )++; \ + } + +/* + * Access function to obtain the owner of the first entry in a list. Lists + * are normally sorted in ascending item value order. + * + * This function returns the pxOwner member of the first item in the list. + * The pxOwner parameter of a list item is a pointer to the object that owns + * the list item. In the scheduler this is normally a task control block. + * The pxOwner parameter effectively creates a two way link between the list + * item and its owner. + * + * @param pxList The list from which the owner of the head item is to be + * returned. + * + * \page listGET_OWNER_OF_HEAD_ENTRY listGET_OWNER_OF_HEAD_ENTRY + * \ingroup LinkedList + */ +#define listGET_OWNER_OF_HEAD_ENTRY( pxList ) ( ( &( ( pxList )->xListEnd ) )->pxNext->pvOwner ) + +/* + * Check to see if a list item is within a list. The list item maintains a + * "container" pointer that points to the list it is in. All this macro does + * is check to see if the container and the list match. + * + * @param pxList The list we want to know if the list item is within. + * @param pxListItem The list item we want to know if is in the list. + * @return pdTRUE if the list item is in the list, otherwise pdFALSE. + */ +#define listIS_CONTAINED_WITHIN( pxList, pxListItem ) ( ( ( pxListItem )->pxContainer == ( pxList ) ) ? ( pdTRUE ) : ( pdFALSE ) ) + +/* + * Return the list a list item is contained within (referenced from). + * + * @param pxListItem The list item being queried. + * @return A pointer to the List_t object that references the pxListItem + */ +#define listLIST_ITEM_CONTAINER( pxListItem ) ( ( pxListItem )->pxContainer ) + +/* + * This provides a crude means of knowing if a list has been initialised, as + * pxList->xListEnd.xItemValue is set to portMAX_DELAY by the vListInitialise() + * function. + */ +#define listLIST_IS_INITIALISED( pxList ) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY ) + +/* + * Must be called before a list is used! This initialises all the members + * of the list structure and inserts the xListEnd item into the list as a + * marker to the back of the list. + * + * @param pxList Pointer to the list being initialised. + * + * \page vListInitialise vListInitialise + * \ingroup LinkedList + */ +void vListInitialise( List_t * const pxList ) PRIVILEGED_FUNCTION; + +/* + * Must be called before a list item is used. This sets the list container to + * null so the item does not think that it is already contained in a list. + * + * @param pxItem Pointer to the list item being initialised. + * + * \page vListInitialiseItem vListInitialiseItem + * \ingroup LinkedList + */ +void vListInitialiseItem( ListItem_t * const pxItem ) PRIVILEGED_FUNCTION; + +/* + * Insert a list item into a list. The item will be inserted into the list in + * a position determined by its item value (ascending item value order). + * + * @param pxList The list into which the item is to be inserted. + * + * @param pxNewListItem The item that is to be placed in the list. + * + * \page vListInsert vListInsert + * \ingroup LinkedList + */ +void vListInsert( List_t * const pxList, + ListItem_t * const pxNewListItem ) PRIVILEGED_FUNCTION; + +/* + * Insert a list item into a list. The item will be inserted in a position + * such that it will be the last item within the list returned by multiple + * calls to listGET_OWNER_OF_NEXT_ENTRY. + * + * The list member pxIndex is used to walk through a list. Calling + * listGET_OWNER_OF_NEXT_ENTRY increments pxIndex to the next item in the list. + * Placing an item in a list using vListInsertEnd effectively places the item + * in the list position pointed to by pxIndex. This means that every other + * item within the list will be returned by listGET_OWNER_OF_NEXT_ENTRY before + * the pxIndex parameter again points to the item being inserted. + * + * @param pxList The list into which the item is to be inserted. + * + * @param pxNewListItem The list item to be inserted into the list. + * + * \page vListInsertEnd vListInsertEnd + * \ingroup LinkedList + */ +void vListInsertEnd( List_t * const pxList, + ListItem_t * const pxNewListItem ) PRIVILEGED_FUNCTION; + +/* + * Remove an item from a list. The list item has a pointer to the list that + * it is in, so only the list item need be passed into the function. + * + * @param uxListRemove The item to be removed. The item will remove itself from + * the list pointed to by it's pxContainer parameter. + * + * @return The number of items that remain in the list after the list item has + * been removed. + * + * \page uxListRemove uxListRemove + * \ingroup LinkedList + */ +UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) PRIVILEGED_FUNCTION; + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* ifndef LIST_H */ diff --git a/freertos/cvitek/install/include/kernel/message_buffer.h b/freertos/cvitek/install/include/kernel/message_buffer.h new file mode 100644 index 000000000..140626737 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/message_buffer.h @@ -0,0 +1,823 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +/* + * Message buffers build functionality on top of FreeRTOS stream buffers. + * Whereas stream buffers are used to send a continuous stream of data from one + * task or interrupt to another, message buffers are used to send variable + * length discrete messages from one task or interrupt to another. Their + * implementation is light weight, making them particularly suited for interrupt + * to task and core to core communication scenarios. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xMessageBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xMessageBufferRead()) inside a critical section and set the receive + * timeout to 0. + * + * Message buffers hold variable length messages. To enable that, when a + * message is written to the message buffer an additional sizeof( size_t ) bytes + * are also written to store the message's length (that happens internally, with + * the API function). sizeof( size_t ) is typically 4 bytes on a 32-bit + * architecture, so writing a 10 byte message to a message buffer on a 32-bit + * architecture will actually reduce the available space in the message buffer + * by 14 bytes (10 byte are used by the message, and 4 bytes to hold the length + * of the message). + */ + +#ifndef FREERTOS_MESSAGE_BUFFER_H +#define FREERTOS_MESSAGE_BUFFER_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include message_buffer.h" +#endif + +/* Message buffers are built onto of stream buffers. */ +#include "stream_buffer.h" + +/* *INDENT-OFF* */ +#if defined( __cplusplus ) + extern "C" { +#endif +/* *INDENT-ON* */ + +/** + * Type by which message buffers are referenced. For example, a call to + * xMessageBufferCreate() returns an MessageBufferHandle_t variable that can + * then be used as a parameter to xMessageBufferSend(), xMessageBufferReceive(), + * etc. + */ +typedef void * MessageBufferHandle_t; + +/*-----------------------------------------------------------*/ + +/** + * message_buffer.h + * + * @code{c} + * MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes ); + * @endcode + * + * Creates a new message buffer using dynamically allocated memory. See + * xMessageBufferCreateStatic() for a version that uses statically allocated + * memory (memory that is allocated at compile time). + * + * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in + * FreeRTOSConfig.h for xMessageBufferCreate() to be available. + * + * @param xBufferSizeBytes The total number of bytes (not messages) the message + * buffer will be able to hold at any one time. When a message is written to + * the message buffer an additional sizeof( size_t ) bytes are also written to + * store the message's length. sizeof( size_t ) is typically 4 bytes on a + * 32-bit architecture, so on most 32-bit architectures a 10 byte message will + * take up 14 bytes of message buffer space. + * + * @return If NULL is returned, then the message buffer cannot be created + * because there is insufficient heap memory available for FreeRTOS to allocate + * the message buffer data structures and storage area. A non-NULL value being + * returned indicates that the message buffer has been created successfully - + * the returned value should be stored as the handle to the created message + * buffer. + * + * Example use: + * @code{c} + * + * void vAFunction( void ) + * { + * MessageBufferHandle_t xMessageBuffer; + * const size_t xMessageBufferSizeBytes = 100; + * + * // Create a message buffer that can hold 100 bytes. The memory used to hold + * // both the message buffer structure and the messages themselves is allocated + * // dynamically. Each message added to the buffer consumes an additional 4 + * // bytes which are used to hold the lengh of the message. + * xMessageBuffer = xMessageBufferCreate( xMessageBufferSizeBytes ); + * + * if( xMessageBuffer == NULL ) + * { + * // There was not enough heap memory space available to create the + * // message buffer. + * } + * else + * { + * // The message buffer was created successfully and can now be used. + * } + * + * @endcode + * \defgroup xMessageBufferCreate xMessageBufferCreate + * \ingroup MessageBufferManagement + */ +#define xMessageBufferCreate( xBufferSizeBytes ) \ + ( MessageBufferHandle_t ) xStreamBufferGenericCreate( xBufferSizeBytes, ( size_t ) 0, pdTRUE ) + +/** + * message_buffer.h + * + * @code{c} + * MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes, + * uint8_t *pucMessageBufferStorageArea, + * StaticMessageBuffer_t *pxStaticMessageBuffer ); + * @endcode + * Creates a new message buffer using statically allocated memory. See + * xMessageBufferCreate() for a version that uses dynamically allocated memory. + * + * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the + * pucMessageBufferStorageArea parameter. When a message is written to the + * message buffer an additional sizeof( size_t ) bytes are also written to store + * the message's length. sizeof( size_t ) is typically 4 bytes on a 32-bit + * architecture, so on most 32-bit architecture a 10 byte message will take up + * 14 bytes of message buffer space. The maximum number of bytes that can be + * stored in the message buffer is actually (xBufferSizeBytes - 1). + * + * @param pucMessageBufferStorageArea Must point to a uint8_t array that is at + * least xBufferSizeBytes big. This is the array to which messages are + * copied when they are written to the message buffer. + * + * @param pxStaticMessageBuffer Must point to a variable of type + * StaticMessageBuffer_t, which will be used to hold the message buffer's data + * structure. + * + * @return If the message buffer is created successfully then a handle to the + * created message buffer is returned. If either pucMessageBufferStorageArea or + * pxStaticmessageBuffer are NULL then NULL is returned. + * + * Example use: + * @code{c} + * + * // Used to dimension the array used to hold the messages. The available space + * // will actually be one less than this, so 999. + #define STORAGE_SIZE_BYTES 1000 + * + * // Defines the memory that will actually hold the messages within the message + * // buffer. + * static uint8_t ucStorageBuffer[ STORAGE_SIZE_BYTES ]; + * + * // The variable used to hold the message buffer structure. + * StaticMessageBuffer_t xMessageBufferStruct; + * + * void MyFunction( void ) + * { + * MessageBufferHandle_t xMessageBuffer; + * + * xMessageBuffer = xMessageBufferCreateStatic( sizeof( ucStorageBuffer ), + * ucStorageBuffer, + * &xMessageBufferStruct ); + * + * // As neither the pucMessageBufferStorageArea or pxStaticMessageBuffer + * // parameters were NULL, xMessageBuffer will not be NULL, and can be used to + * // reference the created message buffer in other message buffer API calls. + * + * // Other code that uses the message buffer can go here. + * } + * + * @endcode + * \defgroup xMessageBufferCreateStatic xMessageBufferCreateStatic + * \ingroup MessageBufferManagement + */ +#define xMessageBufferCreateStatic( xBufferSizeBytes, pucMessageBufferStorageArea, pxStaticMessageBuffer ) \ + ( MessageBufferHandle_t ) xStreamBufferGenericCreateStatic( xBufferSizeBytes, 0, pdTRUE, pucMessageBufferStorageArea, pxStaticMessageBuffer ) + +/** + * message_buffer.h + * + * @code{c} + * size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer, + * const void *pvTxData, + * size_t xDataLengthBytes, + * TickType_t xTicksToWait ); + * @endcode + * + * Sends a discrete message to the message buffer. The message can be any + * length that fits within the buffer's free space, and is copied into the + * buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xMessageBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xMessageBufferRead()) inside a critical section and set the receive + * block time to 0. + * + * Use xMessageBufferSend() to write to a message buffer from a task. Use + * xMessageBufferSendFromISR() to write to a message buffer from an interrupt + * service routine (ISR). + * + * @param xMessageBuffer The handle of the message buffer to which a message is + * being sent. + * + * @param pvTxData A pointer to the message that is to be copied into the + * message buffer. + * + * @param xDataLengthBytes The length of the message. That is, the number of + * bytes to copy from pvTxData into the message buffer. When a message is + * written to the message buffer an additional sizeof( size_t ) bytes are also + * written to store the message's length. sizeof( size_t ) is typically 4 bytes + * on a 32-bit architecture, so on most 32-bit architecture setting + * xDataLengthBytes to 20 will reduce the free space in the message buffer by 24 + * bytes (20 bytes of message data and 4 bytes to hold the message length). + * + * @param xTicksToWait The maximum amount of time the calling task should remain + * in the Blocked state to wait for enough space to become available in the + * message buffer, should the message buffer have insufficient space when + * xMessageBufferSend() is called. The calling task will never block if + * xTicksToWait is zero. The block time is specified in tick periods, so the + * absolute time it represents is dependent on the tick frequency. The macro + * pdMS_TO_TICKS() can be used to convert a time specified in milliseconds into + * a time specified in ticks. Setting xTicksToWait to portMAX_DELAY will cause + * the task to wait indefinitely (without timing out), provided + * INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h. Tasks do not use any + * CPU time when they are in the Blocked state. + * + * @return The number of bytes written to the message buffer. If the call to + * xMessageBufferSend() times out before there was enough space to write the + * message into the message buffer then zero is returned. If the call did not + * time out then xDataLengthBytes is returned. + * + * Example use: + * @code{c} + * void vAFunction( MessageBufferHandle_t xMessageBuffer ) + * { + * size_t xBytesSent; + * uint8_t ucArrayToSend[] = { 0, 1, 2, 3 }; + * char *pcStringToSend = "String to send"; + * const TickType_t x100ms = pdMS_TO_TICKS( 100 ); + * + * // Send an array to the message buffer, blocking for a maximum of 100ms to + * // wait for enough space to be available in the message buffer. + * xBytesSent = xMessageBufferSend( xMessageBuffer, ( void * ) ucArrayToSend, sizeof( ucArrayToSend ), x100ms ); + * + * if( xBytesSent != sizeof( ucArrayToSend ) ) + * { + * // The call to xMessageBufferSend() times out before there was enough + * // space in the buffer for the data to be written. + * } + * + * // Send the string to the message buffer. Return immediately if there is + * // not enough space in the buffer. + * xBytesSent = xMessageBufferSend( xMessageBuffer, ( void * ) pcStringToSend, strlen( pcStringToSend ), 0 ); + * + * if( xBytesSent != strlen( pcStringToSend ) ) + * { + * // The string could not be added to the message buffer because there was + * // not enough free space in the buffer. + * } + * } + * @endcode + * \defgroup xMessageBufferSend xMessageBufferSend + * \ingroup MessageBufferManagement + */ +#define xMessageBufferSend( xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait ) \ + xStreamBufferSend( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait ) + +/** + * message_buffer.h + * + * @code{c} + * size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer, + * const void *pvTxData, + * size_t xDataLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * Interrupt safe version of the API function that sends a discrete message to + * the message buffer. The message can be any length that fits within the + * buffer's free space, and is copied into the buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xMessageBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xMessageBufferRead()) inside a critical section and set the receive + * block time to 0. + * + * Use xMessageBufferSend() to write to a message buffer from a task. Use + * xMessageBufferSendFromISR() to write to a message buffer from an interrupt + * service routine (ISR). + * + * @param xMessageBuffer The handle of the message buffer to which a message is + * being sent. + * + * @param pvTxData A pointer to the message that is to be copied into the + * message buffer. + * + * @param xDataLengthBytes The length of the message. That is, the number of + * bytes to copy from pvTxData into the message buffer. When a message is + * written to the message buffer an additional sizeof( size_t ) bytes are also + * written to store the message's length. sizeof( size_t ) is typically 4 bytes + * on a 32-bit architecture, so on most 32-bit architecture setting + * xDataLengthBytes to 20 will reduce the free space in the message buffer by 24 + * bytes (20 bytes of message data and 4 bytes to hold the message length). + * + * @param pxHigherPriorityTaskWoken It is possible that a message buffer will + * have a task blocked on it waiting for data. Calling + * xMessageBufferSendFromISR() can make data available, and so cause a task that + * was waiting for data to leave the Blocked state. If calling + * xMessageBufferSendFromISR() causes a task to leave the Blocked state, and the + * unblocked task has a priority higher than the currently executing task (the + * task that was interrupted), then, internally, xMessageBufferSendFromISR() + * will set *pxHigherPriorityTaskWoken to pdTRUE. If + * xMessageBufferSendFromISR() sets this value to pdTRUE, then normally a + * context switch should be performed before the interrupt is exited. This will + * ensure that the interrupt returns directly to the highest priority Ready + * state task. *pxHigherPriorityTaskWoken should be set to pdFALSE before it + * is passed into the function. See the code example below for an example. + * + * @return The number of bytes actually written to the message buffer. If the + * message buffer didn't have enough free space for the message to be stored + * then 0 is returned, otherwise xDataLengthBytes is returned. + * + * Example use: + * @code{c} + * // A message buffer that has already been created. + * MessageBufferHandle_t xMessageBuffer; + * + * void vAnInterruptServiceRoutine( void ) + * { + * size_t xBytesSent; + * char *pcStringToSend = "String to send"; + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; // Initialised to pdFALSE. + * + * // Attempt to send the string to the message buffer. + * xBytesSent = xMessageBufferSendFromISR( xMessageBuffer, + * ( void * ) pcStringToSend, + * strlen( pcStringToSend ), + * &xHigherPriorityTaskWoken ); + * + * if( xBytesSent != strlen( pcStringToSend ) ) + * { + * // The string could not be added to the message buffer because there was + * // not enough free space in the buffer. + * } + * + * // If xHigherPriorityTaskWoken was set to pdTRUE inside + * // xMessageBufferSendFromISR() then a task that has a priority above the + * // priority of the currently executing task was unblocked and a context + * // switch should be performed to ensure the ISR returns to the unblocked + * // task. In most FreeRTOS ports this is done by simply passing + * // xHigherPriorityTaskWoken into portYIELD_FROM_ISR(), which will test the + * // variables value, and perform the context switch if necessary. Check the + * // documentation for the port in use for port specific instructions. + * portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * } + * @endcode + * \defgroup xMessageBufferSendFromISR xMessageBufferSendFromISR + * \ingroup MessageBufferManagement + */ +#define xMessageBufferSendFromISR( xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken ) \ + xStreamBufferSendFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken ) + +/** + * message_buffer.h + * + * @code{c} + * size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer, + * void *pvRxData, + * size_t xBufferLengthBytes, + * TickType_t xTicksToWait ); + * @endcode + * + * Receives a discrete message from a message buffer. Messages can be of + * variable length and are copied out of the buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xMessageBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xMessageBufferRead()) inside a critical section and set the receive + * block time to 0. + * + * Use xMessageBufferReceive() to read from a message buffer from a task. Use + * xMessageBufferReceiveFromISR() to read from a message buffer from an + * interrupt service routine (ISR). + * + * @param xMessageBuffer The handle of the message buffer from which a message + * is being received. + * + * @param pvRxData A pointer to the buffer into which the received message is + * to be copied. + * + * @param xBufferLengthBytes The length of the buffer pointed to by the pvRxData + * parameter. This sets the maximum length of the message that can be received. + * If xBufferLengthBytes is too small to hold the next message then the message + * will be left in the message buffer and 0 will be returned. + * + * @param xTicksToWait The maximum amount of time the task should remain in the + * Blocked state to wait for a message, should the message buffer be empty. + * xMessageBufferReceive() will return immediately if xTicksToWait is zero and + * the message buffer is empty. The block time is specified in tick periods, so + * the absolute time it represents is dependent on the tick frequency. The + * macro pdMS_TO_TICKS() can be used to convert a time specified in milliseconds + * into a time specified in ticks. Setting xTicksToWait to portMAX_DELAY will + * cause the task to wait indefinitely (without timing out), provided + * INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h. Tasks do not use any + * CPU time when they are in the Blocked state. + * + * @return The length, in bytes, of the message read from the message buffer, if + * any. If xMessageBufferReceive() times out before a message became available + * then zero is returned. If the length of the message is greater than + * xBufferLengthBytes then the message will be left in the message buffer and + * zero is returned. + * + * Example use: + * @code{c} + * void vAFunction( MessageBuffer_t xMessageBuffer ) + * { + * uint8_t ucRxData[ 20 ]; + * size_t xReceivedBytes; + * const TickType_t xBlockTime = pdMS_TO_TICKS( 20 ); + * + * // Receive the next message from the message buffer. Wait in the Blocked + * // state (so not using any CPU processing time) for a maximum of 100ms for + * // a message to become available. + * xReceivedBytes = xMessageBufferReceive( xMessageBuffer, + * ( void * ) ucRxData, + * sizeof( ucRxData ), + * xBlockTime ); + * + * if( xReceivedBytes > 0 ) + * { + * // A ucRxData contains a message that is xReceivedBytes long. Process + * // the message here.... + * } + * } + * @endcode + * \defgroup xMessageBufferReceive xMessageBufferReceive + * \ingroup MessageBufferManagement + */ +#define xMessageBufferReceive( xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ) \ + xStreamBufferReceive( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ) + + +/** + * message_buffer.h + * + * @code{c} + * size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer, + * void *pvRxData, + * size_t xBufferLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * An interrupt safe version of the API function that receives a discrete + * message from a message buffer. Messages can be of variable length and are + * copied out of the buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xMessageBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xMessageBufferRead()) inside a critical section and set the receive + * block time to 0. + * + * Use xMessageBufferReceive() to read from a message buffer from a task. Use + * xMessageBufferReceiveFromISR() to read from a message buffer from an + * interrupt service routine (ISR). + * + * @param xMessageBuffer The handle of the message buffer from which a message + * is being received. + * + * @param pvRxData A pointer to the buffer into which the received message is + * to be copied. + * + * @param xBufferLengthBytes The length of the buffer pointed to by the pvRxData + * parameter. This sets the maximum length of the message that can be received. + * If xBufferLengthBytes is too small to hold the next message then the message + * will be left in the message buffer and 0 will be returned. + * + * @param pxHigherPriorityTaskWoken It is possible that a message buffer will + * have a task blocked on it waiting for space to become available. Calling + * xMessageBufferReceiveFromISR() can make space available, and so cause a task + * that is waiting for space to leave the Blocked state. If calling + * xMessageBufferReceiveFromISR() causes a task to leave the Blocked state, and + * the unblocked task has a priority higher than the currently executing task + * (the task that was interrupted), then, internally, + * xMessageBufferReceiveFromISR() will set *pxHigherPriorityTaskWoken to pdTRUE. + * If xMessageBufferReceiveFromISR() sets this value to pdTRUE, then normally a + * context switch should be performed before the interrupt is exited. That will + * ensure the interrupt returns directly to the highest priority Ready state + * task. *pxHigherPriorityTaskWoken should be set to pdFALSE before it is + * passed into the function. See the code example below for an example. + * + * @return The length, in bytes, of the message read from the message buffer, if + * any. + * + * Example use: + * @code{c} + * // A message buffer that has already been created. + * MessageBuffer_t xMessageBuffer; + * + * void vAnInterruptServiceRoutine( void ) + * { + * uint8_t ucRxData[ 20 ]; + * size_t xReceivedBytes; + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; // Initialised to pdFALSE. + * + * // Receive the next message from the message buffer. + * xReceivedBytes = xMessageBufferReceiveFromISR( xMessageBuffer, + * ( void * ) ucRxData, + * sizeof( ucRxData ), + * &xHigherPriorityTaskWoken ); + * + * if( xReceivedBytes > 0 ) + * { + * // A ucRxData contains a message that is xReceivedBytes long. Process + * // the message here.... + * } + * + * // If xHigherPriorityTaskWoken was set to pdTRUE inside + * // xMessageBufferReceiveFromISR() then a task that has a priority above the + * // priority of the currently executing task was unblocked and a context + * // switch should be performed to ensure the ISR returns to the unblocked + * // task. In most FreeRTOS ports this is done by simply passing + * // xHigherPriorityTaskWoken into portYIELD_FROM_ISR(), which will test the + * // variables value, and perform the context switch if necessary. Check the + * // documentation for the port in use for port specific instructions. + * portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * } + * @endcode + * \defgroup xMessageBufferReceiveFromISR xMessageBufferReceiveFromISR + * \ingroup MessageBufferManagement + */ +#define xMessageBufferReceiveFromISR( xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken ) \ + xStreamBufferReceiveFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken ) + +/** + * message_buffer.h + * + * @code{c} + * void vMessageBufferDelete( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * + * Deletes a message buffer that was previously created using a call to + * xMessageBufferCreate() or xMessageBufferCreateStatic(). If the message + * buffer was created using dynamic memory (that is, by xMessageBufferCreate()), + * then the allocated memory is freed. + * + * A message buffer handle must not be used after the message buffer has been + * deleted. + * + * @param xMessageBuffer The handle of the message buffer to be deleted. + * + */ +#define vMessageBufferDelete( xMessageBuffer ) \ + vStreamBufferDelete( ( StreamBufferHandle_t ) xMessageBuffer ) + +/** + * message_buffer.h + * @code{c} + * BaseType_t xMessageBufferIsFull( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * + * Tests to see if a message buffer is full. A message buffer is full if it + * cannot accept any more messages, of any size, until space is made available + * by a message being removed from the message buffer. + * + * @param xMessageBuffer The handle of the message buffer being queried. + * + * @return If the message buffer referenced by xMessageBuffer is full then + * pdTRUE is returned. Otherwise pdFALSE is returned. + */ +#define xMessageBufferIsFull( xMessageBuffer ) \ + xStreamBufferIsFull( ( StreamBufferHandle_t ) xMessageBuffer ) + +/** + * message_buffer.h + * @code{c} + * BaseType_t xMessageBufferIsEmpty( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * + * Tests to see if a message buffer is empty (does not contain any messages). + * + * @param xMessageBuffer The handle of the message buffer being queried. + * + * @return If the message buffer referenced by xMessageBuffer is empty then + * pdTRUE is returned. Otherwise pdFALSE is returned. + * + */ +#define xMessageBufferIsEmpty( xMessageBuffer ) \ + xStreamBufferIsEmpty( ( StreamBufferHandle_t ) xMessageBuffer ) + +/** + * message_buffer.h + * @code{c} + * BaseType_t xMessageBufferReset( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * + * Resets a message buffer to its initial empty state, discarding any message it + * contained. + * + * A message buffer can only be reset if there are no tasks blocked on it. + * + * @param xMessageBuffer The handle of the message buffer being reset. + * + * @return If the message buffer was reset then pdPASS is returned. If the + * message buffer could not be reset because either there was a task blocked on + * the message queue to wait for space to become available, or to wait for a + * a message to be available, then pdFAIL is returned. + * + * \defgroup xMessageBufferReset xMessageBufferReset + * \ingroup MessageBufferManagement + */ +#define xMessageBufferReset( xMessageBuffer ) \ + xStreamBufferReset( ( StreamBufferHandle_t ) xMessageBuffer ) + + +/** + * message_buffer.h + * @code{c} + * size_t xMessageBufferSpaceAvailable( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * Returns the number of bytes of free space in the message buffer. + * + * @param xMessageBuffer The handle of the message buffer being queried. + * + * @return The number of bytes that can be written to the message buffer before + * the message buffer would be full. When a message is written to the message + * buffer an additional sizeof( size_t ) bytes are also written to store the + * message's length. sizeof( size_t ) is typically 4 bytes on a 32-bit + * architecture, so if xMessageBufferSpacesAvailable() returns 10, then the size + * of the largest message that can be written to the message buffer is 6 bytes. + * + * \defgroup xMessageBufferSpaceAvailable xMessageBufferSpaceAvailable + * \ingroup MessageBufferManagement + */ +#define xMessageBufferSpaceAvailable( xMessageBuffer ) \ + xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer ) +#define xMessageBufferSpacesAvailable( xMessageBuffer ) \ + xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer ) /* Corrects typo in original macro name. */ + +/** + * message_buffer.h + * @code{c} + * size_t xMessageBufferNextLengthBytes( MessageBufferHandle_t xMessageBuffer ); + * @endcode + * Returns the length (in bytes) of the next message in a message buffer. + * Useful if xMessageBufferReceive() returned 0 because the size of the buffer + * passed into xMessageBufferReceive() was too small to hold the next message. + * + * @param xMessageBuffer The handle of the message buffer being queried. + * + * @return The length (in bytes) of the next message in the message buffer, or 0 + * if the message buffer is empty. + * + * \defgroup xMessageBufferNextLengthBytes xMessageBufferNextLengthBytes + * \ingroup MessageBufferManagement + */ +#define xMessageBufferNextLengthBytes( xMessageBuffer ) \ + xStreamBufferNextMessageLengthBytes( ( StreamBufferHandle_t ) xMessageBuffer ) PRIVILEGED_FUNCTION; + +/** + * message_buffer.h + * + * @code{c} + * BaseType_t xMessageBufferSendCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * For advanced users only. + * + * The sbSEND_COMPLETED() macro is called from within the FreeRTOS APIs when + * data is sent to a message buffer or stream buffer. If there was a task that + * was blocked on the message or stream buffer waiting for data to arrive then + * the sbSEND_COMPLETED() macro sends a notification to the task to remove it + * from the Blocked state. xMessageBufferSendCompletedFromISR() does the same + * thing. It is provided to enable application writers to implement their own + * version of sbSEND_COMPLETED(), and MUST NOT BE USED AT ANY OTHER TIME. + * + * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for + * additional information. + * + * @param xMessageBuffer The handle of the stream buffer to which data was + * written. + * + * @param pxHigherPriorityTaskWoken *pxHigherPriorityTaskWoken should be + * initialised to pdFALSE before it is passed into + * xMessageBufferSendCompletedFromISR(). If calling + * xMessageBufferSendCompletedFromISR() removes a task from the Blocked state, + * and the task has a priority above the priority of the currently running task, + * then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a + * context switch should be performed before exiting the ISR. + * + * @return If a task was removed from the Blocked state then pdTRUE is returned. + * Otherwise pdFALSE is returned. + * + * \defgroup xMessageBufferSendCompletedFromISR xMessageBufferSendCompletedFromISR + * \ingroup StreamBufferManagement + */ +#define xMessageBufferSendCompletedFromISR( xMessageBuffer, pxHigherPriorityTaskWoken ) \ + xStreamBufferSendCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken ) + +/** + * message_buffer.h + * + * @code{c} + * BaseType_t xMessageBufferReceiveCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * For advanced users only. + * + * The sbRECEIVE_COMPLETED() macro is called from within the FreeRTOS APIs when + * data is read out of a message buffer or stream buffer. If there was a task + * that was blocked on the message or stream buffer waiting for data to arrive + * then the sbRECEIVE_COMPLETED() macro sends a notification to the task to + * remove it from the Blocked state. xMessageBufferReceiveCompletedFromISR() + * does the same thing. It is provided to enable application writers to + * implement their own version of sbRECEIVE_COMPLETED(), and MUST NOT BE USED AT + * ANY OTHER TIME. + * + * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for + * additional information. + * + * @param xMessageBuffer The handle of the stream buffer from which data was + * read. + * + * @param pxHigherPriorityTaskWoken *pxHigherPriorityTaskWoken should be + * initialised to pdFALSE before it is passed into + * xMessageBufferReceiveCompletedFromISR(). If calling + * xMessageBufferReceiveCompletedFromISR() removes a task from the Blocked state, + * and the task has a priority above the priority of the currently running task, + * then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a + * context switch should be performed before exiting the ISR. + * + * @return If a task was removed from the Blocked state then pdTRUE is returned. + * Otherwise pdFALSE is returned. + * + * \defgroup xMessageBufferReceiveCompletedFromISR xMessageBufferReceiveCompletedFromISR + * \ingroup StreamBufferManagement + */ +#define xMessageBufferReceiveCompletedFromISR( xMessageBuffer, pxHigherPriorityTaskWoken ) \ + xStreamBufferReceiveCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken ) + +/* *INDENT-OFF* */ +#if defined( __cplusplus ) + } /* extern "C" */ +#endif +/* *INDENT-ON* */ + +#endif /* !defined( FREERTOS_MESSAGE_BUFFER_H ) */ diff --git a/freertos/cvitek/install/include/kernel/mpu_prototypes.h b/freertos/cvitek/install/include/kernel/mpu_prototypes.h new file mode 100644 index 000000000..cb743be55 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/mpu_prototypes.h @@ -0,0 +1,260 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* + * When the MPU is used the standard (non MPU) API functions are mapped to + * equivalents that start "MPU_", the prototypes for which are defined in this + * header files. This will cause the application code to call the MPU_ version + * which wraps the non-MPU version with privilege promoting then demoting code, + * so the kernel code always runs will full privileges. + */ + + +#ifndef MPU_PROTOTYPES_H +#define MPU_PROTOTYPES_H + +/* MPU versions of tasks.h API functions. */ +BaseType_t MPU_xTaskCreate( TaskFunction_t pxTaskCode, + const char * const pcName, + const uint16_t usStackDepth, + void * const pvParameters, + UBaseType_t uxPriority, + TaskHandle_t * const pxCreatedTask ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode, + const char * const pcName, + const uint32_t ulStackDepth, + void * const pvParameters, + UBaseType_t uxPriority, + StackType_t * const puxStackBuffer, + StaticTask_t * const pxTaskBuffer ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskDelete( TaskHandle_t xTaskToDelete ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskDelay( const TickType_t xTicksToDelay ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, + const TickType_t xTimeIncrement ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskGetInfo( TaskHandle_t xTask, + TaskStatus_t * pxTaskStatus, + BaseType_t xGetFreeStackSpace, + eTaskState eState ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskPrioritySet( TaskHandle_t xTask, + UBaseType_t uxNewPriority ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskResume( TaskHandle_t xTaskToResume ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskStartScheduler( void ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskSuspendAll( void ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskResumeAll( void ) FREERTOS_SYSTEM_CALL; +TickType_t MPU_xTaskGetTickCount( void ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) FREERTOS_SYSTEM_CALL; +char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xTaskGetHandle( const char * pcNameToQuery ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, + TaskHookFunction_t pxHookFunction ) FREERTOS_SYSTEM_CALL; +TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, + BaseType_t xIndex, + void * pvValue ) FREERTOS_SYSTEM_CALL; +void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, + BaseType_t xIndex ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskCallApplicationTaskHook( TaskHandle_t xTask, + void * pvParameter ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, + const UBaseType_t uxArraySize, + configRUN_TIME_COUNTER_TYPE * const pulTotalRunTime ) FREERTOS_SYSTEM_CALL; +configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) FREERTOS_SYSTEM_CALL; +configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskList( char * pcWriteBuffer ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskGetRunTimeStats( char * pcWriteBuffer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify, + UBaseType_t uxIndexToNotify, + uint32_t ulValue, + eNotifyAction eAction, + uint32_t * pulPreviousNotificationValue ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn, + uint32_t ulBitsToClearOnEntry, + uint32_t ulBitsToClearOnExit, + uint32_t * pulNotificationValue, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn, + BaseType_t xClearCountOnExit, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear ) FREERTOS_SYSTEM_CALL; +uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear, + uint32_t ulBitsToClear ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskIncrementTick( void ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, + TickType_t * const pxTicksToWait ) FREERTOS_SYSTEM_CALL; +void MPU_vTaskMissedYield( void ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskGetSchedulerState( void ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) FREERTOS_SYSTEM_CALL; + +/* MPU versions of queue.h API functions. */ +BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, + const void * const pvItemToQueue, + TickType_t xTicksToWait, + const BaseType_t xCopyPosition ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +void MPU_vQueueDelete( QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueCreateMutex( const uint8_t ucQueueType ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueCreateMutexStatic( const uint8_t ucQueueType, + StaticQueue_t * pxStaticQueue ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueCreateCountingSemaphore( const UBaseType_t uxMaxCount, + const UBaseType_t uxInitialCount ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxMaxCount, + const UBaseType_t uxInitialCount, + StaticQueue_t * pxStaticQueue ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) FREERTOS_SYSTEM_CALL; +void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, + const char * pcName ) FREERTOS_SYSTEM_CALL; +void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueGenericCreate( const UBaseType_t uxQueueLength, + const UBaseType_t uxItemSize, + const uint8_t ucQueueType ) FREERTOS_SYSTEM_CALL; +QueueHandle_t MPU_xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, + const UBaseType_t uxItemSize, + uint8_t * pucQueueStorage, + StaticQueue_t * pxStaticQueue, + const uint8_t ucQueueType ) FREERTOS_SYSTEM_CALL; +QueueSetHandle_t MPU_xQueueCreateSet( const UBaseType_t uxEventQueueLength ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) FREERTOS_SYSTEM_CALL; +QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, + const TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xQueueGenericReset( QueueHandle_t xQueue, + BaseType_t xNewQueue ) FREERTOS_SYSTEM_CALL; +void MPU_vQueueSetQueueNumber( QueueHandle_t xQueue, + UBaseType_t uxQueueNumber ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxQueueGetQueueNumber( QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; +uint8_t MPU_ucQueueGetQueueType( QueueHandle_t xQueue ) FREERTOS_SYSTEM_CALL; + +/* MPU versions of timers.h API functions. */ +TimerHandle_t MPU_xTimerCreate( const char * const pcTimerName, + const TickType_t xTimerPeriodInTicks, + const UBaseType_t uxAutoReload, + void * const pvTimerID, + TimerCallbackFunction_t pxCallbackFunction ) FREERTOS_SYSTEM_CALL; +TimerHandle_t MPU_xTimerCreateStatic( const char * const pcTimerName, + const TickType_t xTimerPeriodInTicks, + const UBaseType_t uxAutoReload, + void * const pvTimerID, + TimerCallbackFunction_t pxCallbackFunction, + StaticTimer_t * pxTimerBuffer ) FREERTOS_SYSTEM_CALL; +void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +void MPU_vTimerSetTimerID( TimerHandle_t xTimer, + void * pvNewID ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, + void * pvParameter1, + uint32_t ulParameter2, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, + const UBaseType_t uxAutoReload ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTimerCreateTimerTask( void ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer, + const BaseType_t xCommandID, + const TickType_t xOptionalValue, + BaseType_t * const pxHigherPriorityTaskWoken, + const TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; + +/* MPU versions of event_group.h API functions. */ +EventGroupHandle_t MPU_xEventGroupCreate( void ) FREERTOS_SYSTEM_CALL; +EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) FREERTOS_SYSTEM_CALL; +EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xClearOnExit, + const BaseType_t xWaitForAllBits, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL; +EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) FREERTOS_SYSTEM_CALL; +EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) FREERTOS_SYSTEM_CALL; +UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) FREERTOS_SYSTEM_CALL; + +/* MPU versions of message/stream_buffer.h API functions. */ +size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL; +size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; +BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) FREERTOS_SYSTEM_CALL; +StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, + size_t xTriggerLevelBytes, + BaseType_t xIsMessageBuffer ) FREERTOS_SYSTEM_CALL; +StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, + size_t xTriggerLevelBytes, + BaseType_t xIsMessageBuffer, + uint8_t * const pucStreamBufferStorageArea, + StaticStreamBuffer_t * const pxStaticStreamBuffer ) FREERTOS_SYSTEM_CALL; + + + +#endif /* MPU_PROTOTYPES_H */ diff --git a/freertos/cvitek/install/include/kernel/mpu_wrappers.h b/freertos/cvitek/install/include/kernel/mpu_wrappers.h new file mode 100644 index 000000000..9b6cd7c92 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/mpu_wrappers.h @@ -0,0 +1,217 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef MPU_WRAPPERS_H +#define MPU_WRAPPERS_H + +/* This file redefines API functions to be called through a wrapper macro, but + * only for ports that are using the MPU. */ +#if ( portUSING_MPU_WRAPPERS == 1 ) + +/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE will be defined when this file is + * included from queue.c or task.c to prevent it from having an effect within + * those files. */ + #ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +/* + * Map standard (non MPU) API functions to equivalents that start + * "MPU_". This will cause the application code to call the MPU_ + * version, which wraps the non-MPU version with privilege promoting + * then demoting code, so the kernel code always runs will full + * privileges. + */ + +/* Map standard tasks.h API functions to the MPU equivalents. */ + #define xTaskCreate MPU_xTaskCreate + #define xTaskCreateStatic MPU_xTaskCreateStatic + #define vTaskDelete MPU_vTaskDelete + #define vTaskDelay MPU_vTaskDelay + #define xTaskDelayUntil MPU_xTaskDelayUntil + #define xTaskAbortDelay MPU_xTaskAbortDelay + #define uxTaskPriorityGet MPU_uxTaskPriorityGet + #define eTaskGetState MPU_eTaskGetState + #define vTaskGetInfo MPU_vTaskGetInfo + #define vTaskPrioritySet MPU_vTaskPrioritySet + #define vTaskSuspend MPU_vTaskSuspend + #define vTaskResume MPU_vTaskResume + #define vTaskSuspendAll MPU_vTaskSuspendAll + #define xTaskResumeAll MPU_xTaskResumeAll + #define xTaskGetTickCount MPU_xTaskGetTickCount + #define uxTaskGetNumberOfTasks MPU_uxTaskGetNumberOfTasks + #define pcTaskGetName MPU_pcTaskGetName + #define xTaskGetHandle MPU_xTaskGetHandle + #define uxTaskGetStackHighWaterMark MPU_uxTaskGetStackHighWaterMark + #define uxTaskGetStackHighWaterMark2 MPU_uxTaskGetStackHighWaterMark2 + #define vTaskSetApplicationTaskTag MPU_vTaskSetApplicationTaskTag + #define xTaskGetApplicationTaskTag MPU_xTaskGetApplicationTaskTag + #define vTaskSetThreadLocalStoragePointer MPU_vTaskSetThreadLocalStoragePointer + #define pvTaskGetThreadLocalStoragePointer MPU_pvTaskGetThreadLocalStoragePointer + #define xTaskCallApplicationTaskHook MPU_xTaskCallApplicationTaskHook + #define xTaskGetIdleTaskHandle MPU_xTaskGetIdleTaskHandle + #define uxTaskGetSystemState MPU_uxTaskGetSystemState + #define vTaskList MPU_vTaskList + #define vTaskGetRunTimeStats MPU_vTaskGetRunTimeStats + #define ulTaskGetIdleRunTimeCounter MPU_ulTaskGetIdleRunTimeCounter + #define ulTaskGetIdleRunTimePercent MPU_ulTaskGetIdleRunTimePercent + #define xTaskGenericNotify MPU_xTaskGenericNotify + #define xTaskGenericNotifyWait MPU_xTaskGenericNotifyWait + #define ulTaskGenericNotifyTake MPU_ulTaskGenericNotifyTake + #define xTaskGenericNotifyStateClear MPU_xTaskGenericNotifyStateClear + #define ulTaskGenericNotifyValueClear MPU_ulTaskGenericNotifyValueClear + #define xTaskCatchUpTicks MPU_xTaskCatchUpTicks + + #define xTaskGetCurrentTaskHandle MPU_xTaskGetCurrentTaskHandle + #define vTaskSetTimeOutState MPU_vTaskSetTimeOutState + #define xTaskCheckForTimeOut MPU_xTaskCheckForTimeOut + #define xTaskGetSchedulerState MPU_xTaskGetSchedulerState + +/* Map standard queue.h API functions to the MPU equivalents. */ + #define xQueueGenericSend MPU_xQueueGenericSend + #define xQueueReceive MPU_xQueueReceive + #define xQueuePeek MPU_xQueuePeek + #define xQueueSemaphoreTake MPU_xQueueSemaphoreTake + #define uxQueueMessagesWaiting MPU_uxQueueMessagesWaiting + #define uxQueueSpacesAvailable MPU_uxQueueSpacesAvailable + #define vQueueDelete MPU_vQueueDelete + #define xQueueCreateMutex MPU_xQueueCreateMutex + #define xQueueCreateMutexStatic MPU_xQueueCreateMutexStatic + #define xQueueCreateCountingSemaphore MPU_xQueueCreateCountingSemaphore + #define xQueueCreateCountingSemaphoreStatic MPU_xQueueCreateCountingSemaphoreStatic + #define xQueueGetMutexHolder MPU_xQueueGetMutexHolder + #define xQueueTakeMutexRecursive MPU_xQueueTakeMutexRecursive + #define xQueueGiveMutexRecursive MPU_xQueueGiveMutexRecursive + #define xQueueGenericCreate MPU_xQueueGenericCreate + #define xQueueGenericCreateStatic MPU_xQueueGenericCreateStatic + #define xQueueCreateSet MPU_xQueueCreateSet + #define xQueueAddToSet MPU_xQueueAddToSet + #define xQueueRemoveFromSet MPU_xQueueRemoveFromSet + #define xQueueSelectFromSet MPU_xQueueSelectFromSet + #define xQueueGenericReset MPU_xQueueGenericReset + + #if ( configQUEUE_REGISTRY_SIZE > 0 ) + #define vQueueAddToRegistry MPU_vQueueAddToRegistry + #define vQueueUnregisterQueue MPU_vQueueUnregisterQueue + #define pcQueueGetName MPU_pcQueueGetName + #endif + +/* Map standard timer.h API functions to the MPU equivalents. */ + #define xTimerCreate MPU_xTimerCreate + #define xTimerCreateStatic MPU_xTimerCreateStatic + #define pvTimerGetTimerID MPU_pvTimerGetTimerID + #define vTimerSetTimerID MPU_vTimerSetTimerID + #define xTimerIsTimerActive MPU_xTimerIsTimerActive + #define xTimerGetTimerDaemonTaskHandle MPU_xTimerGetTimerDaemonTaskHandle + #define xTimerPendFunctionCall MPU_xTimerPendFunctionCall + #define pcTimerGetName MPU_pcTimerGetName + #define vTimerSetReloadMode MPU_vTimerSetReloadMode + #define uxTimerGetReloadMode MPU_uxTimerGetReloadMode + #define xTimerGetPeriod MPU_xTimerGetPeriod + #define xTimerGetExpiryTime MPU_xTimerGetExpiryTime + #define xTimerGenericCommand MPU_xTimerGenericCommand + +/* Map standard event_group.h API functions to the MPU equivalents. */ + #define xEventGroupCreate MPU_xEventGroupCreate + #define xEventGroupCreateStatic MPU_xEventGroupCreateStatic + #define xEventGroupWaitBits MPU_xEventGroupWaitBits + #define xEventGroupClearBits MPU_xEventGroupClearBits + #define xEventGroupSetBits MPU_xEventGroupSetBits + #define xEventGroupSync MPU_xEventGroupSync + #define vEventGroupDelete MPU_vEventGroupDelete + +/* Map standard message/stream_buffer.h API functions to the MPU + * equivalents. */ + #define xStreamBufferSend MPU_xStreamBufferSend + #define xStreamBufferReceive MPU_xStreamBufferReceive + #define xStreamBufferNextMessageLengthBytes MPU_xStreamBufferNextMessageLengthBytes + #define vStreamBufferDelete MPU_vStreamBufferDelete + #define xStreamBufferIsFull MPU_xStreamBufferIsFull + #define xStreamBufferIsEmpty MPU_xStreamBufferIsEmpty + #define xStreamBufferReset MPU_xStreamBufferReset + #define xStreamBufferSpacesAvailable MPU_xStreamBufferSpacesAvailable + #define xStreamBufferBytesAvailable MPU_xStreamBufferBytesAvailable + #define xStreamBufferSetTriggerLevel MPU_xStreamBufferSetTriggerLevel + #define xStreamBufferGenericCreate MPU_xStreamBufferGenericCreate + #define xStreamBufferGenericCreateStatic MPU_xStreamBufferGenericCreateStatic + + +/* Remove the privileged function macro, but keep the PRIVILEGED_DATA + * macro so applications can place data in privileged access sections + * (useful when using statically allocated objects). */ + #define PRIVILEGED_FUNCTION + #define PRIVILEGED_DATA __attribute__( ( section( "privileged_data" ) ) ) + #define FREERTOS_SYSTEM_CALL + + #else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */ + + /* Ensure API functions go in the privileged execution section. */ + #define PRIVILEGED_FUNCTION __attribute__( ( section( "privileged_functions" ) ) ) + #define PRIVILEGED_DATA __attribute__( ( section( "privileged_data" ) ) ) + #define FREERTOS_SYSTEM_CALL __attribute__( ( section( "freertos_system_calls" ) ) ) + + /** + * @brief Calls the port specific code to raise the privilege. + * + * Sets xRunningPrivileged to pdFALSE if privilege was raised, else sets + * it to pdTRUE. + */ + #define xPortRaisePrivilege( xRunningPrivileged ) \ + { \ + /* Check whether the processor is already privileged. */ \ + xRunningPrivileged = portIS_PRIVILEGED(); \ + \ + /* If the processor is not already privileged, raise privilege. */ \ + if( xRunningPrivileged == pdFALSE ) \ + { \ + portRAISE_PRIVILEGE(); \ + } \ + } + + /** + * @brief If xRunningPrivileged is not pdTRUE, calls the port specific + * code to reset the privilege, otherwise does nothing. + */ + #define vPortResetPrivilege( xRunningPrivileged ) \ + { \ + if( xRunningPrivileged == pdFALSE ) \ + { \ + portRESET_PRIVILEGE(); \ + } \ + } + + #endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */ + +#else /* portUSING_MPU_WRAPPERS */ + + #define PRIVILEGED_FUNCTION + #define PRIVILEGED_DATA + #define FREERTOS_SYSTEM_CALL + +#endif /* portUSING_MPU_WRAPPERS */ + + +#endif /* MPU_WRAPPERS_H */ diff --git a/freertos/cvitek/install/include/kernel/portable.h b/freertos/cvitek/install/include/kernel/portable.h new file mode 100644 index 000000000..0ec6416ae --- /dev/null +++ b/freertos/cvitek/install/include/kernel/portable.h @@ -0,0 +1,223 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/*----------------------------------------------------------- +* Portable layer API. Each function must be defined for each port. +*----------------------------------------------------------*/ + +#ifndef PORTABLE_H +#define PORTABLE_H + +/* Each FreeRTOS port has a unique portmacro.h header file. Originally a + * pre-processor definition was used to ensure the pre-processor found the correct + * portmacro.h file for the port being used. That scheme was deprecated in favour + * of setting the compiler's include path such that it found the correct + * portmacro.h file - removing the need for the constant and allowing the + * portmacro.h file to be located anywhere in relation to the port being used. + * Purely for reasons of backward compatibility the old method is still valid, but + * to make it clear that new projects should not use it, support for the port + * specific constants has been moved into the deprecated_definitions.h header + * file. */ +#include "deprecated_definitions.h" + +/* If portENTER_CRITICAL is not defined then including deprecated_definitions.h + * did not result in a portmacro.h header file being included - and it should be + * included here. In this case the path to the correct portmacro.h header file + * must be set in the compiler's include path. */ +#ifndef portENTER_CRITICAL + #include "portmacro.h" +#endif + +#if portBYTE_ALIGNMENT == 32 + #define portBYTE_ALIGNMENT_MASK ( 0x001f ) +#elif portBYTE_ALIGNMENT == 16 + #define portBYTE_ALIGNMENT_MASK ( 0x000f ) +#elif portBYTE_ALIGNMENT == 8 + #define portBYTE_ALIGNMENT_MASK ( 0x0007 ) +#elif portBYTE_ALIGNMENT == 4 + #define portBYTE_ALIGNMENT_MASK ( 0x0003 ) +#elif portBYTE_ALIGNMENT == 2 + #define portBYTE_ALIGNMENT_MASK ( 0x0001 ) +#elif portBYTE_ALIGNMENT == 1 + #define portBYTE_ALIGNMENT_MASK ( 0x0000 ) +#else /* if portBYTE_ALIGNMENT == 32 */ + #error "Invalid portBYTE_ALIGNMENT definition" +#endif /* if portBYTE_ALIGNMENT == 32 */ + +#ifndef portUSING_MPU_WRAPPERS + #define portUSING_MPU_WRAPPERS 0 +#endif + +#ifndef portNUM_CONFIGURABLE_REGIONS + #define portNUM_CONFIGURABLE_REGIONS 1 +#endif + +#ifndef portHAS_STACK_OVERFLOW_CHECKING + #define portHAS_STACK_OVERFLOW_CHECKING 0 +#endif + +#ifndef portARCH_NAME + #define portARCH_NAME NULL +#endif + +#ifndef configSTACK_ALLOCATION_FROM_SEPARATE_HEAP + /* Defaults to 0 for backward compatibility. */ + #define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP 0 +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +#include "mpu_wrappers.h" + +/* + * Setup the stack of a new task so it is ready to be placed under the + * scheduler control. The registers have to be placed on the stack in + * the order that the port expects to find them. + * + */ +#if ( portUSING_MPU_WRAPPERS == 1 ) + #if ( portHAS_STACK_OVERFLOW_CHECKING == 1 ) + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + StackType_t * pxEndOfStack, + TaskFunction_t pxCode, + void * pvParameters, + BaseType_t xRunPrivileged ) PRIVILEGED_FUNCTION; + #else + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + TaskFunction_t pxCode, + void * pvParameters, + BaseType_t xRunPrivileged ) PRIVILEGED_FUNCTION; + #endif +#else /* if ( portUSING_MPU_WRAPPERS == 1 ) */ + #if ( portHAS_STACK_OVERFLOW_CHECKING == 1 ) + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + StackType_t * pxEndOfStack, + TaskFunction_t pxCode, + void * pvParameters ) PRIVILEGED_FUNCTION; + #else + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + TaskFunction_t pxCode, + void * pvParameters ) PRIVILEGED_FUNCTION; + #endif +#endif /* if ( portUSING_MPU_WRAPPERS == 1 ) */ + +/* Used by heap_5.c to define the start address and size of each memory region + * that together comprise the total FreeRTOS heap space. */ +typedef struct HeapRegion +{ + uint8_t * pucStartAddress; + size_t xSizeInBytes; +} HeapRegion_t; + +/* Used to pass information about the heap out of vPortGetHeapStats(). */ +typedef struct xHeapStats +{ + size_t xAvailableHeapSpaceInBytes; /* The total heap size currently available - this is the sum of all the free blocks, not the largest block that can be allocated. */ + size_t xSizeOfLargestFreeBlockInBytes; /* The maximum size, in bytes, of all the free blocks within the heap at the time vPortGetHeapStats() is called. */ + size_t xSizeOfSmallestFreeBlockInBytes; /* The minimum size, in bytes, of all the free blocks within the heap at the time vPortGetHeapStats() is called. */ + size_t xNumberOfFreeBlocks; /* The number of free memory blocks within the heap at the time vPortGetHeapStats() is called. */ + size_t xMinimumEverFreeBytesRemaining; /* The minimum amount of total free memory (sum of all free blocks) there has been in the heap since the system booted. */ + size_t xNumberOfSuccessfulAllocations; /* The number of calls to pvPortMalloc() that have returned a valid memory block. */ + size_t xNumberOfSuccessfulFrees; /* The number of calls to vPortFree() that has successfully freed a block of memory. */ +} HeapStats_t; + +/* + * Used to define multiple heap regions for use by heap_5.c. This function + * must be called before any calls to pvPortMalloc() - not creating a task, + * queue, semaphore, mutex, software timer, event group, etc. will result in + * pvPortMalloc being called. + * + * pxHeapRegions passes in an array of HeapRegion_t structures - each of which + * defines a region of memory that can be used as the heap. The array is + * terminated by a HeapRegions_t structure that has a size of 0. The region + * with the lowest start address must appear first in the array. + */ +void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions ) PRIVILEGED_FUNCTION; + +/* + * Returns a HeapStats_t structure filled with information about the current + * heap state. + */ +void vPortGetHeapStats( HeapStats_t * pxHeapStats ); + +/* + * Map to the memory management routines required for the port. + */ +void * pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION; +void vPortFree( void * pv ) PRIVILEGED_FUNCTION; +void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION; +size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION; +size_t xPortGetMinimumEverFreeHeapSize( void ) PRIVILEGED_FUNCTION; + +#if ( configSTACK_ALLOCATION_FROM_SEPARATE_HEAP == 1 ) + void * pvPortMallocStack( size_t xSize ) PRIVILEGED_FUNCTION; + void vPortFreeStack( void * pv ) PRIVILEGED_FUNCTION; +#else + #define pvPortMallocStack pvPortMalloc + #define vPortFreeStack vPortFree +#endif + +/* + * Setup the hardware ready for the scheduler to take control. This generally + * sets up a tick interrupt and sets timers for the correct tick frequency. + */ +BaseType_t xPortStartScheduler( void ) PRIVILEGED_FUNCTION; + +/* + * Undo any hardware/ISR setup that was performed by xPortStartScheduler() so + * the hardware is left in its original condition after the scheduler stops + * executing. + */ +void vPortEndScheduler( void ) PRIVILEGED_FUNCTION; + +/* + * The structures and methods of manipulating the MPU are contained within the + * port layer. + * + * Fills the xMPUSettings structure with the memory region information + * contained in xRegions. + */ +#if ( portUSING_MPU_WRAPPERS == 1 ) + struct xMEMORY_REGION; + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, + const struct xMEMORY_REGION * const xRegions, + StackType_t * pxBottomOfStack, + uint32_t ulStackDepth ) PRIVILEGED_FUNCTION; +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* PORTABLE_H */ diff --git a/freertos/cvitek/install/include/kernel/portmacro.h b/freertos/cvitek/install/include/kernel/portmacro.h new file mode 100644 index 000000000..438560939 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/portmacro.h @@ -0,0 +1,191 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +#ifndef PORTMACRO_H +#define PORTMACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*----------------------------------------------------------- + * Port specific definitions. + * + * The settings in this file configure FreeRTOS correctly for the + * given hardware and compiler. + * + * These settings should not be altered. + *----------------------------------------------------------- + */ + +/* Type definitions. */ +#if __riscv_xlen == 64 + #define portSTACK_TYPE uint64_t + #define portBASE_TYPE long long + #define portUBASE_TYPE uint64_t + #define portMAX_DELAY ( TickType_t ) 0xffffffffffffffffUL + #define portPOINTER_SIZE_TYPE uint64_t +#elif __riscv_xlen == 32 + #define portSTACK_TYPE uint32_t + #define portBASE_TYPE int32_t + #define portUBASE_TYPE uint32_t + #define portMAX_DELAY ( TickType_t ) 0xffffffffUL +#else + #error Assembler did not define __riscv_xlen +#endif + + +typedef portSTACK_TYPE StackType_t; +typedef portBASE_TYPE BaseType_t; +typedef portUBASE_TYPE UBaseType_t; +typedef portUBASE_TYPE TickType_t; + +/* Legacy type definitions. */ +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short + +/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do +not need to be guarded with a critical section. */ +#define portTICK_TYPE_IS_ATOMIC 1 +/*-----------------------------------------------------------*/ + +/* Architecture specifics. */ +#define portSTACK_GROWTH ( -1 ) +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#ifdef __riscv64 + #error This is the RV32 port that has not yet been adapted for 64. + #define portBYTE_ALIGNMENT 16 +#else + #define portBYTE_ALIGNMENT 16 +#endif +/*-----------------------------------------------------------*/ + + +/* Scheduler utilities. */ +extern void vTaskSwitchContext( void ); +#define portYIELD() __asm volatile( "ecall" ); +#define portEND_SWITCHING_ISR( xSwitchRequired ) do { if( xSwitchRequired ) vTaskSwitchContext(); } while( 0 ) +#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x ) +/*-----------------------------------------------------------*/ + + +/* Critical section management. */ +#define portCRITICAL_NESTING_IN_TCB 1 +extern void vTaskEnterCritical( void ); +extern void vTaskExitCritical( void ); + +#define portSET_INTERRUPT_MASK_FROM_ISR() 0 +#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue +#define portDISABLE_INTERRUPTS() __asm volatile( "csrc mstatus, 8" ) +#define portENABLE_INTERRUPTS() __asm volatile( "csrs mstatus, 8" ) +#define portENTER_CRITICAL() vTaskEnterCritical() +#define portEXIT_CRITICAL() vTaskExitCritical() + +/*-----------------------------------------------------------*/ + +/* Architecture specific optimisations. */ +#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION + #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 +#endif + +#if( configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 ) + + /* Check the configuration. */ + #if( configMAX_PRIORITIES > 32 ) + #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice. + #endif + + /* Store/clear the ready priorities in a bit map. */ + #define portRECORD_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) ) + #define portRESET_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) ) + + /*-----------------------------------------------------------*/ + + #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities ) uxTopPriority = ( 31UL - __builtin_clz( uxReadyPriorities ) ) + +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ + + +/*-----------------------------------------------------------*/ + +/* Task function macros as described on the FreeRTOS.org WEB site. These are +not necessary for to use this port. They are defined so the common demo files +(which build with all the ports) will build. */ +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) + +/*-----------------------------------------------------------*/ + +#define portNOP() __asm volatile ( " nop " ) + +#define portINLINE __inline + +#ifndef portFORCE_INLINE + #define portFORCE_INLINE inline __attribute__(( always_inline)) +#endif + +#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" ) +/*-----------------------------------------------------------*/ + + +/* configCLINT_BASE_ADDRESS is a legacy definition that was replaced by the +configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRESS definitions. For +backward compatibility derive the newer definitions from the old if the old +definition is found. */ +#if defined( configCLINT_BASE_ADDRESS ) && !defined( configMTIME_BASE_ADDRESS ) && ( configCLINT_BASE_ADDRESS == 0 ) + /* Legacy case where configCLINT_BASE_ADDRESS was defined as 0 to indicate + there was no CLINT. Equivalent now is to set the MTIME and MTIMECMP + addresses to 0. */ + #define configMTIME_BASE_ADDRESS ( 0 ) + #define configMTIMECMP_BASE_ADDRESS ( 0 ) +#elif defined( configCLINT_BASE_ADDRESS ) && !defined( configMTIME_BASE_ADDRESS ) + /* Legacy case where configCLINT_BASE_ADDRESS was set to the base address of + the CLINT. Equivalent now is to derive the MTIME and MTIMECMP addresses + from the CLINT address. */ + #define configMTIME_BASE_ADDRESS ( ( configCLINT_BASE_ADDRESS ) + 0xBFF8UL ) + #define configMTIMECMP_BASE_ADDRESS ( ( configCLINT_BASE_ADDRESS ) + 0x4000UL ) +#elif defined(THEAD_C906) + /* configMTIMECMP_BASE_ADDRESS is defined in FreeRTOSConfig.h & + * get mtime by rdcycle SPR + */ +#elif !defined( configMTIME_BASE_ADDRESS ) || !defined( configMTIMECMP_BASE_ADDRESS ) + #error configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRESS must be defined in FreeRTOSConfig.h. Set them to zero if there is no MTIME (machine time) clock. See https://www.FreeRTOS.org/Using-FreeRTOS-on-RISC-V.html +#endif + + + +#ifdef __cplusplus +} +#endif + +#endif /* PORTMACRO_H */ + diff --git a/freertos/cvitek/install/include/kernel/projdefs.h b/freertos/cvitek/install/include/kernel/projdefs.h new file mode 100644 index 000000000..e623bf7d9 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/projdefs.h @@ -0,0 +1,122 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef PROJDEFS_H +#define PROJDEFS_H + +/* + * Defines the prototype to which task functions must conform. Defined in this + * file to ensure the type is known before portable.h is included. + */ +typedef void (* TaskFunction_t)( void * ); + +/* Converts a time in milliseconds to a time in ticks. This macro can be + * overridden by a macro of the same name defined in FreeRTOSConfig.h in case the + * definition here is not suitable for your application. */ +#ifndef pdMS_TO_TICKS + #define pdMS_TO_TICKS( xTimeInMs ) ( ( TickType_t ) ( ( ( TickType_t ) ( xTimeInMs ) * ( TickType_t ) configTICK_RATE_HZ ) / ( TickType_t ) 1000U ) ) +#endif + +#define pdFALSE ( ( BaseType_t ) 0 ) +#define pdTRUE ( ( BaseType_t ) 1 ) + +#define pdPASS ( pdTRUE ) +#define pdFAIL ( pdFALSE ) +#define errQUEUE_EMPTY ( ( BaseType_t ) 0 ) +#define errQUEUE_FULL ( ( BaseType_t ) 0 ) + +/* FreeRTOS error definitions. */ +#define errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ( -1 ) +#define errQUEUE_BLOCKED ( -4 ) +#define errQUEUE_YIELD ( -5 ) + +/* Macros used for basic data corruption checks. */ +#ifndef configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES + #define configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 0 +#endif + +#if ( configUSE_16_BIT_TICKS == 1 ) + #define pdINTEGRITY_CHECK_VALUE 0x5a5a +#else + #define pdINTEGRITY_CHECK_VALUE 0x5a5a5a5aUL +#endif + +/* The following errno values are used by FreeRTOS+ components, not FreeRTOS + * itself. */ +#define pdFREERTOS_ERRNO_NONE 0 /* No errors */ +#define pdFREERTOS_ERRNO_ENOENT 2 /* No such file or directory */ +#define pdFREERTOS_ERRNO_EINTR 4 /* Interrupted system call */ +#define pdFREERTOS_ERRNO_EIO 5 /* I/O error */ +#define pdFREERTOS_ERRNO_ENXIO 6 /* No such device or address */ +#define pdFREERTOS_ERRNO_EBADF 9 /* Bad file number */ +#define pdFREERTOS_ERRNO_EAGAIN 11 /* No more processes */ +#define pdFREERTOS_ERRNO_EWOULDBLOCK 11 /* Operation would block */ +#define pdFREERTOS_ERRNO_ENOMEM 12 /* Not enough memory */ +#define pdFREERTOS_ERRNO_EACCES 13 /* Permission denied */ +#define pdFREERTOS_ERRNO_EFAULT 14 /* Bad address */ +#define pdFREERTOS_ERRNO_EBUSY 16 /* Mount device busy */ +#define pdFREERTOS_ERRNO_EEXIST 17 /* File exists */ +#define pdFREERTOS_ERRNO_EXDEV 18 /* Cross-device link */ +#define pdFREERTOS_ERRNO_ENODEV 19 /* No such device */ +#define pdFREERTOS_ERRNO_ENOTDIR 20 /* Not a directory */ +#define pdFREERTOS_ERRNO_EISDIR 21 /* Is a directory */ +#define pdFREERTOS_ERRNO_EINVAL 22 /* Invalid argument */ +#define pdFREERTOS_ERRNO_ENOSPC 28 /* No space left on device */ +#define pdFREERTOS_ERRNO_ESPIPE 29 /* Illegal seek */ +#define pdFREERTOS_ERRNO_EROFS 30 /* Read only file system */ +#define pdFREERTOS_ERRNO_EUNATCH 42 /* Protocol driver not attached */ +#define pdFREERTOS_ERRNO_EBADE 50 /* Invalid exchange */ +#define pdFREERTOS_ERRNO_EFTYPE 79 /* Inappropriate file type or format */ +#define pdFREERTOS_ERRNO_ENMFILE 89 /* No more files */ +#define pdFREERTOS_ERRNO_ENOTEMPTY 90 /* Directory not empty */ +#define pdFREERTOS_ERRNO_ENAMETOOLONG 91 /* File or path name too long */ +#define pdFREERTOS_ERRNO_EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define pdFREERTOS_ERRNO_ENOBUFS 105 /* No buffer space available */ +#define pdFREERTOS_ERRNO_ENOPROTOOPT 109 /* Protocol not available */ +#define pdFREERTOS_ERRNO_EADDRINUSE 112 /* Address already in use */ +#define pdFREERTOS_ERRNO_ETIMEDOUT 116 /* Connection timed out */ +#define pdFREERTOS_ERRNO_EINPROGRESS 119 /* Connection already in progress */ +#define pdFREERTOS_ERRNO_EALREADY 120 /* Socket already connected */ +#define pdFREERTOS_ERRNO_EADDRNOTAVAIL 125 /* Address not available */ +#define pdFREERTOS_ERRNO_EISCONN 127 /* Socket is already connected */ +#define pdFREERTOS_ERRNO_ENOTCONN 128 /* Socket is not connected */ +#define pdFREERTOS_ERRNO_ENOMEDIUM 135 /* No medium inserted */ +#define pdFREERTOS_ERRNO_EILSEQ 138 /* An invalid UTF-16 sequence was encountered. */ +#define pdFREERTOS_ERRNO_ECANCELED 140 /* Operation canceled. */ + +/* The following endian values are used by FreeRTOS+ components, not FreeRTOS + * itself. */ +#define pdFREERTOS_LITTLE_ENDIAN 0 +#define pdFREERTOS_BIG_ENDIAN 1 + +/* Re-defining endian values for generic naming. */ +#define pdLITTLE_ENDIAN pdFREERTOS_LITTLE_ENDIAN +#define pdBIG_ENDIAN pdFREERTOS_BIG_ENDIAN + + +#endif /* PROJDEFS_H */ diff --git a/freertos/cvitek/install/include/kernel/queue.h b/freertos/cvitek/install/include/kernel/queue.h new file mode 100644 index 000000000..6a92b6bcb --- /dev/null +++ b/freertos/cvitek/install/include/kernel/queue.h @@ -0,0 +1,1722 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +#ifndef QUEUE_H +#define QUEUE_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h" must appear in source files before "include queue.h" +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +#include "task.h" + +/** + * Type by which queues are referenced. For example, a call to xQueueCreate() + * returns an QueueHandle_t variable that can then be used as a parameter to + * xQueueSend(), xQueueReceive(), etc. + */ +struct QueueDefinition; /* Using old naming convention so as not to break kernel aware debuggers. */ +typedef struct QueueDefinition * QueueHandle_t; + +/** + * Type by which queue sets are referenced. For example, a call to + * xQueueCreateSet() returns an xQueueSet variable that can then be used as a + * parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc. + */ +typedef struct QueueDefinition * QueueSetHandle_t; + +/** + * Queue sets can contain both queues and semaphores, so the + * QueueSetMemberHandle_t is defined as a type to be used where a parameter or + * return value can be either an QueueHandle_t or an SemaphoreHandle_t. + */ +typedef struct QueueDefinition * QueueSetMemberHandle_t; + +/* For internal use only. */ +#define queueSEND_TO_BACK ( ( BaseType_t ) 0 ) +#define queueSEND_TO_FRONT ( ( BaseType_t ) 1 ) +#define queueOVERWRITE ( ( BaseType_t ) 2 ) + +/* For internal use only. These definitions *must* match those in queue.c. */ +#define queueQUEUE_TYPE_BASE ( ( uint8_t ) 0U ) +#define queueQUEUE_TYPE_SET ( ( uint8_t ) 0U ) +#define queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U ) +#define queueQUEUE_TYPE_COUNTING_SEMAPHORE ( ( uint8_t ) 2U ) +#define queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U ) +#define queueQUEUE_TYPE_RECURSIVE_MUTEX ( ( uint8_t ) 4U ) + +/** + * queue. h + * @code{c} + * QueueHandle_t xQueueCreate( + * UBaseType_t uxQueueLength, + * UBaseType_t uxItemSize + * ); + * @endcode + * + * Creates a new queue instance, and returns a handle by which the new queue + * can be referenced. + * + * Internally, within the FreeRTOS implementation, queues use two blocks of + * memory. The first block is used to hold the queue's data structures. The + * second block is used to hold items placed into the queue. If a queue is + * created using xQueueCreate() then both blocks of memory are automatically + * dynamically allocated inside the xQueueCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a queue is created using + * xQueueCreateStatic() then the application writer must provide the memory that + * will get used by the queue. xQueueCreateStatic() therefore allows a queue to + * be created without using any dynamic memory allocation. + * + * https://www.FreeRTOS.org/Embedded-RTOS-Queues.html + * + * @param uxQueueLength The maximum number of items that the queue can contain. + * + * @param uxItemSize The number of bytes each item in the queue will require. + * Items are queued by copy, not by reference, so this is the number of bytes + * that will be copied for each posted item. Each item on the queue must be + * the same size. + * + * @return If the queue is successfully create then a handle to the newly + * created queue is returned. If the queue cannot be created then 0 is + * returned. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * }; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1, xQueue2; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) ); + * if( xQueue1 == 0 ) + * { + * // Queue was not created and must not be used. + * } + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * if( xQueue2 == 0 ) + * { + * // Queue was not created and must not be used. + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueCreate xQueueCreate + * \ingroup QueueManagement + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #define xQueueCreate( uxQueueLength, uxItemSize ) xQueueGenericCreate( ( uxQueueLength ), ( uxItemSize ), ( queueQUEUE_TYPE_BASE ) ) +#endif + +/** + * queue. h + * @code{c} + * QueueHandle_t xQueueCreateStatic( + * UBaseType_t uxQueueLength, + * UBaseType_t uxItemSize, + * uint8_t *pucQueueStorage, + * StaticQueue_t *pxQueueBuffer + * ); + * @endcode + * + * Creates a new queue instance, and returns a handle by which the new queue + * can be referenced. + * + * Internally, within the FreeRTOS implementation, queues use two blocks of + * memory. The first block is used to hold the queue's data structures. The + * second block is used to hold items placed into the queue. If a queue is + * created using xQueueCreate() then both blocks of memory are automatically + * dynamically allocated inside the xQueueCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a queue is created using + * xQueueCreateStatic() then the application writer must provide the memory that + * will get used by the queue. xQueueCreateStatic() therefore allows a queue to + * be created without using any dynamic memory allocation. + * + * https://www.FreeRTOS.org/Embedded-RTOS-Queues.html + * + * @param uxQueueLength The maximum number of items that the queue can contain. + * + * @param uxItemSize The number of bytes each item in the queue will require. + * Items are queued by copy, not by reference, so this is the number of bytes + * that will be copied for each posted item. Each item on the queue must be + * the same size. + * + * @param pucQueueStorage If uxItemSize is not zero then + * pucQueueStorage must point to a uint8_t array that is at least large + * enough to hold the maximum number of items that can be in the queue at any + * one time - which is ( uxQueueLength * uxItemsSize ) bytes. If uxItemSize is + * zero then pucQueueStorage can be NULL. + * + * @param pxQueueBuffer Must point to a variable of type StaticQueue_t, which + * will be used to hold the queue's data structure. + * + * @return If the queue is created then a handle to the created queue is + * returned. If pxQueueBuffer is NULL then NULL is returned. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * }; + * + #define QUEUE_LENGTH 10 + #define ITEM_SIZE sizeof( uint32_t ) + * + * // xQueueBuffer will hold the queue structure. + * StaticQueue_t xQueueBuffer; + * + * // ucQueueStorage will hold the items posted to the queue. Must be at least + * // [(queue length) * ( queue item size)] bytes long. + * uint8_t ucQueueStorage[ QUEUE_LENGTH * ITEM_SIZE ]; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( QUEUE_LENGTH, // The number of items the queue can hold. + * ITEM_SIZE // The size of each item in the queue + * &( ucQueueStorage[ 0 ] ), // The buffer that will hold the items in the queue. + * &xQueueBuffer ); // The buffer that will hold the queue structure. + * + * // The queue is guaranteed to be created successfully as no dynamic memory + * // allocation is used. Therefore xQueue1 is now a handle to a valid queue. + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueCreateStatic xQueueCreateStatic + * \ingroup QueueManagement + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #define xQueueCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxQueueBuffer ) xQueueGenericCreateStatic( ( uxQueueLength ), ( uxItemSize ), ( pucQueueStorage ), ( pxQueueBuffer ), ( queueQUEUE_TYPE_BASE ) ) +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSendToToFront( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * TickType_t xTicksToWait + * ); + * @endcode + * + * Post an item to the front of a queue. The item is queued by copy, not by + * reference. This function must not be called from an interrupt service + * routine. See xQueueSendFromISR () for an alternative which may be used + * in an ISR. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for space to become available on the queue, should it already + * be full. The call will return immediately if this is set to 0 and the + * queue is full. The time is defined in tick periods so the constant + * portTICK_PERIOD_MS should be used to convert to real time if this is required. + * + * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * uint32_t ulVar = 10UL; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1, xQueue2; + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) ); + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * + * // ... + * + * if( xQueue1 != 0 ) + * { + * // Send an uint32_t. Wait for 10 ticks for space to become + * // available if necessary. + * if( xQueueSendToFront( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10 ) != pdPASS ) + * { + * // Failed to post the message, even after 10 ticks. + * } + * } + * + * if( xQueue2 != 0 ) + * { + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueSendToFront( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0 ); + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueSend xQueueSend + * \ingroup QueueManagement + */ +#define xQueueSendToFront( xQueue, pvItemToQueue, xTicksToWait ) \ + xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSendToBack( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * TickType_t xTicksToWait + * ); + * @endcode + * + * This is a macro that calls xQueueGenericSend(). + * + * Post an item to the back of a queue. The item is queued by copy, not by + * reference. This function must not be called from an interrupt service + * routine. See xQueueSendFromISR () for an alternative which may be used + * in an ISR. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for space to become available on the queue, should it already + * be full. The call will return immediately if this is set to 0 and the queue + * is full. The time is defined in tick periods so the constant + * portTICK_PERIOD_MS should be used to convert to real time if this is required. + * + * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * uint32_t ulVar = 10UL; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1, xQueue2; + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) ); + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * + * // ... + * + * if( xQueue1 != 0 ) + * { + * // Send an uint32_t. Wait for 10 ticks for space to become + * // available if necessary. + * if( xQueueSendToBack( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10 ) != pdPASS ) + * { + * // Failed to post the message, even after 10 ticks. + * } + * } + * + * if( xQueue2 != 0 ) + * { + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueSendToBack( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0 ); + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueSend xQueueSend + * \ingroup QueueManagement + */ +#define xQueueSendToBack( xQueue, pvItemToQueue, xTicksToWait ) \ + xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSend( + * QueueHandle_t xQueue, + * const void * pvItemToQueue, + * TickType_t xTicksToWait + * ); + * @endcode + * + * This is a macro that calls xQueueGenericSend(). It is included for + * backward compatibility with versions of FreeRTOS.org that did not + * include the xQueueSendToFront() and xQueueSendToBack() macros. It is + * equivalent to xQueueSendToBack(). + * + * Post an item on a queue. The item is queued by copy, not by reference. + * This function must not be called from an interrupt service routine. + * See xQueueSendFromISR () for an alternative which may be used in an ISR. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for space to become available on the queue, should it already + * be full. The call will return immediately if this is set to 0 and the + * queue is full. The time is defined in tick periods so the constant + * portTICK_PERIOD_MS should be used to convert to real time if this is required. + * + * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * uint32_t ulVar = 10UL; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1, xQueue2; + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) ); + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * + * // ... + * + * if( xQueue1 != 0 ) + * { + * // Send an uint32_t. Wait for 10 ticks for space to become + * // available if necessary. + * if( xQueueSend( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10 ) != pdPASS ) + * { + * // Failed to post the message, even after 10 ticks. + * } + * } + * + * if( xQueue2 != 0 ) + * { + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueSend( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0 ); + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueSend xQueueSend + * \ingroup QueueManagement + */ +#define xQueueSend( xQueue, pvItemToQueue, xTicksToWait ) \ + xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueOverwrite( + * QueueHandle_t xQueue, + * const void * pvItemToQueue + * ); + * @endcode + * + * Only for use with queues that have a length of one - so the queue is either + * empty or full. + * + * Post an item on a queue. If the queue is already full then overwrite the + * value held in the queue. The item is queued by copy, not by reference. + * + * This function must not be called from an interrupt service routine. + * See xQueueOverwriteFromISR () for an alternative which may be used in an ISR. + * + * @param xQueue The handle of the queue to which the data is being sent. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @return xQueueOverwrite() is a macro that calls xQueueGenericSend(), and + * therefore has the same return values as xQueueSendToFront(). However, pdPASS + * is the only value that can be returned because xQueueOverwrite() will write + * to the queue even when the queue is already full. + * + * Example usage: + * @code{c} + * + * void vFunction( void *pvParameters ) + * { + * QueueHandle_t xQueue; + * uint32_t ulVarToSend, ulValReceived; + * + * // Create a queue to hold one uint32_t value. It is strongly + * // recommended *not* to use xQueueOverwrite() on queues that can + * // contain more than one value, and doing so will trigger an assertion + * // if configASSERT() is defined. + * xQueue = xQueueCreate( 1, sizeof( uint32_t ) ); + * + * // Write the value 10 to the queue using xQueueOverwrite(). + * ulVarToSend = 10; + * xQueueOverwrite( xQueue, &ulVarToSend ); + * + * // Peeking the queue should now return 10, but leave the value 10 in + * // the queue. A block time of zero is used as it is known that the + * // queue holds a value. + * ulValReceived = 0; + * xQueuePeek( xQueue, &ulValReceived, 0 ); + * + * if( ulValReceived != 10 ) + * { + * // Error unless the item was removed by a different task. + * } + * + * // The queue is still full. Use xQueueOverwrite() to overwrite the + * // value held in the queue with 100. + * ulVarToSend = 100; + * xQueueOverwrite( xQueue, &ulVarToSend ); + * + * // This time read from the queue, leaving the queue empty once more. + * // A block time of 0 is used again. + * xQueueReceive( xQueue, &ulValReceived, 0 ); + * + * // The value read should be the last value written, even though the + * // queue was already full when the value was written. + * if( ulValReceived != 100 ) + * { + * // Error! + * } + * + * // ... + * } + * @endcode + * \defgroup xQueueOverwrite xQueueOverwrite + * \ingroup QueueManagement + */ +#define xQueueOverwrite( xQueue, pvItemToQueue ) \ + xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE ) + + +/** + * queue. h + * @code{c} + * BaseType_t xQueueGenericSend( + * QueueHandle_t xQueue, + * const void * pvItemToQueue, + * TickType_t xTicksToWait + * BaseType_t xCopyPosition + * ); + * @endcode + * + * It is preferred that the macros xQueueSend(), xQueueSendToFront() and + * xQueueSendToBack() are used in place of calling this function directly. + * + * Post an item on a queue. The item is queued by copy, not by reference. + * This function must not be called from an interrupt service routine. + * See xQueueSendFromISR () for an alternative which may be used in an ISR. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for space to become available on the queue, should it already + * be full. The call will return immediately if this is set to 0 and the + * queue is full. The time is defined in tick periods so the constant + * portTICK_PERIOD_MS should be used to convert to real time if this is required. + * + * @param xCopyPosition Can take the value queueSEND_TO_BACK to place the + * item at the back of the queue, or queueSEND_TO_FRONT to place the item + * at the front of the queue (for high priority messages). + * + * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * uint32_t ulVar = 10UL; + * + * void vATask( void *pvParameters ) + * { + * QueueHandle_t xQueue1, xQueue2; + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 uint32_t values. + * xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) ); + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * + * // ... + * + * if( xQueue1 != 0 ) + * { + * // Send an uint32_t. Wait for 10 ticks for space to become + * // available if necessary. + * if( xQueueGenericSend( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10, queueSEND_TO_BACK ) != pdPASS ) + * { + * // Failed to post the message, even after 10 ticks. + * } + * } + * + * if( xQueue2 != 0 ) + * { + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueGenericSend( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0, queueSEND_TO_BACK ); + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueSend xQueueSend + * \ingroup QueueManagement + */ +BaseType_t xQueueGenericSend( QueueHandle_t xQueue, + const void * const pvItemToQueue, + TickType_t xTicksToWait, + const BaseType_t xCopyPosition ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * BaseType_t xQueuePeek( + * QueueHandle_t xQueue, + * void * const pvBuffer, + * TickType_t xTicksToWait + * ); + * @endcode + * + * Receive an item from a queue without removing the item from the queue. + * The item is received by copy so a buffer of adequate size must be + * provided. The number of bytes copied into the buffer was defined when + * the queue was created. + * + * Successfully received items remain on the queue so will be returned again + * by the next call, or a call to xQueueReceive(). + * + * This macro must not be used in an interrupt service routine. See + * xQueuePeekFromISR() for an alternative that can be called from an interrupt + * service routine. + * + * @param xQueue The handle to the queue from which the item is to be + * received. + * + * @param pvBuffer Pointer to the buffer into which the received item will + * be copied. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for an item to receive should the queue be empty at the time + * of the call. The time is defined in tick periods so the constant + * portTICK_PERIOD_MS should be used to convert to real time if this is required. + * xQueuePeek() will return immediately if xTicksToWait is 0 and the queue + * is empty. + * + * @return pdTRUE if an item was successfully received from the queue, + * otherwise pdFALSE. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * QueueHandle_t xQueue; + * + * // Task to create a queue and post a value. + * void vATask( void *pvParameters ) + * { + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * if( xQueue == 0 ) + * { + * // Failed to create the queue. + * } + * + * // ... + * + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueSend( xQueue, ( void * ) &pxMessage, ( TickType_t ) 0 ); + * + * // ... Rest of task code. + * } + * + * // Task to peek the data from the queue. + * void vADifferentTask( void *pvParameters ) + * { + * struct AMessage *pxRxedMessage; + * + * if( xQueue != 0 ) + * { + * // Peek a message on the created queue. Block for 10 ticks if a + * // message is not immediately available. + * if( xQueuePeek( xQueue, &( pxRxedMessage ), ( TickType_t ) 10 ) ) + * { + * // pcRxedMessage now points to the struct AMessage variable posted + * // by vATask, but the item still remains on the queue. + * } + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueuePeek xQueuePeek + * \ingroup QueueManagement + */ +BaseType_t xQueuePeek( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * BaseType_t xQueuePeekFromISR( + * QueueHandle_t xQueue, + * void *pvBuffer, + * ); + * @endcode + * + * A version of xQueuePeek() that can be called from an interrupt service + * routine (ISR). + * + * Receive an item from a queue without removing the item from the queue. + * The item is received by copy so a buffer of adequate size must be + * provided. The number of bytes copied into the buffer was defined when + * the queue was created. + * + * Successfully received items remain on the queue so will be returned again + * by the next call, or a call to xQueueReceive(). + * + * @param xQueue The handle to the queue from which the item is to be + * received. + * + * @param pvBuffer Pointer to the buffer into which the received item will + * be copied. + * + * @return pdTRUE if an item was successfully received from the queue, + * otherwise pdFALSE. + * + * \defgroup xQueuePeekFromISR xQueuePeekFromISR + * \ingroup QueueManagement + */ +BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue, + void * const pvBuffer ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * BaseType_t xQueueReceive( + * QueueHandle_t xQueue, + * void *pvBuffer, + * TickType_t xTicksToWait + * ); + * @endcode + * + * Receive an item from a queue. The item is received by copy so a buffer of + * adequate size must be provided. The number of bytes copied into the buffer + * was defined when the queue was created. + * + * Successfully received items are removed from the queue. + * + * This function must not be used in an interrupt service routine. See + * xQueueReceiveFromISR for an alternative that can. + * + * @param xQueue The handle to the queue from which the item is to be + * received. + * + * @param pvBuffer Pointer to the buffer into which the received item will + * be copied. + * + * @param xTicksToWait The maximum amount of time the task should block + * waiting for an item to receive should the queue be empty at the time + * of the call. xQueueReceive() will return immediately if xTicksToWait + * is zero and the queue is empty. The time is defined in tick periods so the + * constant portTICK_PERIOD_MS should be used to convert to real time if this is + * required. + * + * @return pdTRUE if an item was successfully received from the queue, + * otherwise pdFALSE. + * + * Example usage: + * @code{c} + * struct AMessage + * { + * char ucMessageID; + * char ucData[ 20 ]; + * } xMessage; + * + * QueueHandle_t xQueue; + * + * // Task to create a queue and post a value. + * void vATask( void *pvParameters ) + * { + * struct AMessage *pxMessage; + * + * // Create a queue capable of containing 10 pointers to AMessage structures. + * // These should be passed by pointer as they contain a lot of data. + * xQueue = xQueueCreate( 10, sizeof( struct AMessage * ) ); + * if( xQueue == 0 ) + * { + * // Failed to create the queue. + * } + * + * // ... + * + * // Send a pointer to a struct AMessage object. Don't block if the + * // queue is already full. + * pxMessage = & xMessage; + * xQueueSend( xQueue, ( void * ) &pxMessage, ( TickType_t ) 0 ); + * + * // ... Rest of task code. + * } + * + * // Task to receive from the queue. + * void vADifferentTask( void *pvParameters ) + * { + * struct AMessage *pxRxedMessage; + * + * if( xQueue != 0 ) + * { + * // Receive a message on the created queue. Block for 10 ticks if a + * // message is not immediately available. + * if( xQueueReceive( xQueue, &( pxRxedMessage ), ( TickType_t ) 10 ) ) + * { + * // pcRxedMessage now points to the struct AMessage variable posted + * // by vATask. + * } + * } + * + * // ... Rest of task code. + * } + * @endcode + * \defgroup xQueueReceive xQueueReceive + * \ingroup QueueManagement + */ +BaseType_t xQueueReceive( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ); + * @endcode + * + * Return the number of messages stored in a queue. + * + * @param xQueue A handle to the queue being queried. + * + * @return The number of messages available in the queue. + * + * \defgroup uxQueueMessagesWaiting uxQueueMessagesWaiting + * \ingroup QueueManagement + */ +UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ); + * @endcode + * + * Return the number of free spaces available in a queue. This is equal to the + * number of items that can be sent to the queue before the queue becomes full + * if no items are removed. + * + * @param xQueue A handle to the queue being queried. + * + * @return The number of spaces available in the queue. + * + * \defgroup uxQueueMessagesWaiting uxQueueMessagesWaiting + * \ingroup QueueManagement + */ +UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * void vQueueDelete( QueueHandle_t xQueue ); + * @endcode + * + * Delete a queue - freeing all the memory allocated for storing of items + * placed on the queue. + * + * @param xQueue A handle to the queue to be deleted. + * + * \defgroup vQueueDelete vQueueDelete + * \ingroup QueueManagement + */ +void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSendToFrontFromISR( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * This is a macro that calls xQueueGenericSendFromISR(). + * + * Post an item to the front of a queue. It is safe to use this macro from + * within an interrupt service routine. + * + * Items are queued by copy not reference so it is preferable to only + * queue small items, especially when called from an ISR. In most cases + * it would be preferable to store a pointer to the item being queued. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param pxHigherPriorityTaskWoken xQueueSendToFrontFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xQueueSendToFromFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return pdTRUE if the data was successfully sent to the queue, otherwise + * errQUEUE_FULL. + * + * Example usage for buffered IO (where the ISR can obtain more than one value + * per call): + * @code{c} + * void vBufferISR( void ) + * { + * char cIn; + * BaseType_t xHigherPrioritTaskWoken; + * + * // We have not woken a task at the start of the ISR. + * xHigherPriorityTaskWoken = pdFALSE; + * + * // Loop until the buffer is empty. + * do + * { + * // Obtain a byte from the buffer. + * cIn = portINPUT_BYTE( RX_REGISTER_ADDRESS ); + * + * // Post the byte. + * xQueueSendToFrontFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWoken ); + * + * } while( portINPUT_BYTE( BUFFER_COUNT ) ); + * + * // Now the buffer is empty we can switch context if necessary. + * if( xHigherPriorityTaskWoken ) + * { + * taskYIELD (); + * } + * } + * @endcode + * + * \defgroup xQueueSendFromISR xQueueSendFromISR + * \ingroup QueueManagement + */ +#define xQueueSendToFrontFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) \ + xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT ) + + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSendToBackFromISR( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * This is a macro that calls xQueueGenericSendFromISR(). + * + * Post an item to the back of a queue. It is safe to use this macro from + * within an interrupt service routine. + * + * Items are queued by copy not reference so it is preferable to only + * queue small items, especially when called from an ISR. In most cases + * it would be preferable to store a pointer to the item being queued. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param pxHigherPriorityTaskWoken xQueueSendToBackFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xQueueSendToBackFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return pdTRUE if the data was successfully sent to the queue, otherwise + * errQUEUE_FULL. + * + * Example usage for buffered IO (where the ISR can obtain more than one value + * per call): + * @code{c} + * void vBufferISR( void ) + * { + * char cIn; + * BaseType_t xHigherPriorityTaskWoken; + * + * // We have not woken a task at the start of the ISR. + * xHigherPriorityTaskWoken = pdFALSE; + * + * // Loop until the buffer is empty. + * do + * { + * // Obtain a byte from the buffer. + * cIn = portINPUT_BYTE( RX_REGISTER_ADDRESS ); + * + * // Post the byte. + * xQueueSendToBackFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWoken ); + * + * } while( portINPUT_BYTE( BUFFER_COUNT ) ); + * + * // Now the buffer is empty we can switch context if necessary. + * if( xHigherPriorityTaskWoken ) + * { + * taskYIELD (); + * } + * } + * @endcode + * + * \defgroup xQueueSendFromISR xQueueSendFromISR + * \ingroup QueueManagement + */ +#define xQueueSendToBackFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) \ + xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueOverwriteFromISR( + * QueueHandle_t xQueue, + * const void * pvItemToQueue, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * A version of xQueueOverwrite() that can be used in an interrupt service + * routine (ISR). + * + * Only for use with queues that can hold a single item - so the queue is either + * empty or full. + * + * Post an item on a queue. If the queue is already full then overwrite the + * value held in the queue. The item is queued by copy, not by reference. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param pxHigherPriorityTaskWoken xQueueOverwriteFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xQueueOverwriteFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return xQueueOverwriteFromISR() is a macro that calls + * xQueueGenericSendFromISR(), and therefore has the same return values as + * xQueueSendToFrontFromISR(). However, pdPASS is the only value that can be + * returned because xQueueOverwriteFromISR() will write to the queue even when + * the queue is already full. + * + * Example usage: + * @code{c} + * + * QueueHandle_t xQueue; + * + * void vFunction( void *pvParameters ) + * { + * // Create a queue to hold one uint32_t value. It is strongly + * // recommended *not* to use xQueueOverwriteFromISR() on queues that can + * // contain more than one value, and doing so will trigger an assertion + * // if configASSERT() is defined. + * xQueue = xQueueCreate( 1, sizeof( uint32_t ) ); + * } + * + * void vAnInterruptHandler( void ) + * { + * // xHigherPriorityTaskWoken must be set to pdFALSE before it is used. + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; + * uint32_t ulVarToSend, ulValReceived; + * + * // Write the value 10 to the queue using xQueueOverwriteFromISR(). + * ulVarToSend = 10; + * xQueueOverwriteFromISR( xQueue, &ulVarToSend, &xHigherPriorityTaskWoken ); + * + * // The queue is full, but calling xQueueOverwriteFromISR() again will still + * // pass because the value held in the queue will be overwritten with the + * // new value. + * ulVarToSend = 100; + * xQueueOverwriteFromISR( xQueue, &ulVarToSend, &xHigherPriorityTaskWoken ); + * + * // Reading from the queue will now return 100. + * + * // ... + * + * if( xHigherPrioritytaskWoken == pdTRUE ) + * { + * // Writing to the queue caused a task to unblock and the unblocked task + * // has a priority higher than or equal to the priority of the currently + * // executing task (the task this interrupt interrupted). Perform a context + * // switch so this interrupt returns directly to the unblocked task. + * portYIELD_FROM_ISR(); // or portEND_SWITCHING_ISR() depending on the port. + * } + * } + * @endcode + * \defgroup xQueueOverwriteFromISR xQueueOverwriteFromISR + * \ingroup QueueManagement + */ +#define xQueueOverwriteFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) \ + xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueSendFromISR( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * This is a macro that calls xQueueGenericSendFromISR(). It is included + * for backward compatibility with versions of FreeRTOS.org that did not + * include the xQueueSendToBackFromISR() and xQueueSendToFrontFromISR() + * macros. + * + * Post an item to the back of a queue. It is safe to use this function from + * within an interrupt service routine. + * + * Items are queued by copy not reference so it is preferable to only + * queue small items, especially when called from an ISR. In most cases + * it would be preferable to store a pointer to the item being queued. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param pxHigherPriorityTaskWoken xQueueSendFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xQueueSendFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return pdTRUE if the data was successfully sent to the queue, otherwise + * errQUEUE_FULL. + * + * Example usage for buffered IO (where the ISR can obtain more than one value + * per call): + * @code{c} + * void vBufferISR( void ) + * { + * char cIn; + * BaseType_t xHigherPriorityTaskWoken; + * + * // We have not woken a task at the start of the ISR. + * xHigherPriorityTaskWoken = pdFALSE; + * + * // Loop until the buffer is empty. + * do + * { + * // Obtain a byte from the buffer. + * cIn = portINPUT_BYTE( RX_REGISTER_ADDRESS ); + * + * // Post the byte. + * xQueueSendFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWoken ); + * + * } while( portINPUT_BYTE( BUFFER_COUNT ) ); + * + * // Now the buffer is empty we can switch context if necessary. + * if( xHigherPriorityTaskWoken ) + * { + * // Actual macro used here is port specific. + * portYIELD_FROM_ISR (); + * } + * } + * @endcode + * + * \defgroup xQueueSendFromISR xQueueSendFromISR + * \ingroup QueueManagement + */ +#define xQueueSendFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) \ + xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK ) + +/** + * queue. h + * @code{c} + * BaseType_t xQueueGenericSendFromISR( + * QueueHandle_t xQueue, + * const void *pvItemToQueue, + * BaseType_t *pxHigherPriorityTaskWoken, + * BaseType_t xCopyPosition + * ); + * @endcode + * + * It is preferred that the macros xQueueSendFromISR(), + * xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place + * of calling this function directly. xQueueGiveFromISR() is an + * equivalent for use by semaphores that don't actually copy any data. + * + * Post an item on a queue. It is safe to use this function from within an + * interrupt service routine. + * + * Items are queued by copy not reference so it is preferable to only + * queue small items, especially when called from an ISR. In most cases + * it would be preferable to store a pointer to the item being queued. + * + * @param xQueue The handle to the queue on which the item is to be posted. + * + * @param pvItemToQueue A pointer to the item that is to be placed on the + * queue. The size of the items the queue will hold was defined when the + * queue was created, so this many bytes will be copied from pvItemToQueue + * into the queue storage area. + * + * @param pxHigherPriorityTaskWoken xQueueGenericSendFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xQueueGenericSendFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @param xCopyPosition Can take the value queueSEND_TO_BACK to place the + * item at the back of the queue, or queueSEND_TO_FRONT to place the item + * at the front of the queue (for high priority messages). + * + * @return pdTRUE if the data was successfully sent to the queue, otherwise + * errQUEUE_FULL. + * + * Example usage for buffered IO (where the ISR can obtain more than one value + * per call): + * @code{c} + * void vBufferISR( void ) + * { + * char cIn; + * BaseType_t xHigherPriorityTaskWokenByPost; + * + * // We have not woken a task at the start of the ISR. + * xHigherPriorityTaskWokenByPost = pdFALSE; + * + * // Loop until the buffer is empty. + * do + * { + * // Obtain a byte from the buffer. + * cIn = portINPUT_BYTE( RX_REGISTER_ADDRESS ); + * + * // Post each byte. + * xQueueGenericSendFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWokenByPost, queueSEND_TO_BACK ); + * + * } while( portINPUT_BYTE( BUFFER_COUNT ) ); + * + * // Now the buffer is empty we can switch context if necessary. Note that the + * // name of the yield function required is port specific. + * if( xHigherPriorityTaskWokenByPost ) + * { + * portYIELD_FROM_ISR(); + * } + * } + * @endcode + * + * \defgroup xQueueSendFromISR xQueueSendFromISR + * \ingroup QueueManagement + */ +BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue, + const void * const pvItemToQueue, + BaseType_t * const pxHigherPriorityTaskWoken, + const BaseType_t xCopyPosition ) PRIVILEGED_FUNCTION; +BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue, + BaseType_t * const pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/** + * queue. h + * @code{c} + * BaseType_t xQueueReceiveFromISR( + * QueueHandle_t xQueue, + * void *pvBuffer, + * BaseType_t *pxTaskWoken + * ); + * @endcode + * + * Receive an item from a queue. It is safe to use this function from within an + * interrupt service routine. + * + * @param xQueue The handle to the queue from which the item is to be + * received. + * + * @param pvBuffer Pointer to the buffer into which the received item will + * be copied. + * + * @param pxTaskWoken A task may be blocked waiting for space to become + * available on the queue. If xQueueReceiveFromISR causes such a task to + * unblock *pxTaskWoken will get set to pdTRUE, otherwise *pxTaskWoken will + * remain unchanged. + * + * @return pdTRUE if an item was successfully received from the queue, + * otherwise pdFALSE. + * + * Example usage: + * @code{c} + * + * QueueHandle_t xQueue; + * + * // Function to create a queue and post some values. + * void vAFunction( void *pvParameters ) + * { + * char cValueToPost; + * const TickType_t xTicksToWait = ( TickType_t )0xff; + * + * // Create a queue capable of containing 10 characters. + * xQueue = xQueueCreate( 10, sizeof( char ) ); + * if( xQueue == 0 ) + * { + * // Failed to create the queue. + * } + * + * // ... + * + * // Post some characters that will be used within an ISR. If the queue + * // is full then this task will block for xTicksToWait ticks. + * cValueToPost = 'a'; + * xQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait ); + * cValueToPost = 'b'; + * xQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait ); + * + * // ... keep posting characters ... this task may block when the queue + * // becomes full. + * + * cValueToPost = 'c'; + * xQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait ); + * } + * + * // ISR that outputs all the characters received on the queue. + * void vISR_Routine( void ) + * { + * BaseType_t xTaskWokenByReceive = pdFALSE; + * char cRxedChar; + * + * while( xQueueReceiveFromISR( xQueue, ( void * ) &cRxedChar, &xTaskWokenByReceive) ) + * { + * // A character was received. Output the character now. + * vOutputCharacter( cRxedChar ); + * + * // If removing the character from the queue woke the task that was + * // posting onto the queue cTaskWokenByReceive will have been set to + * // pdTRUE. No matter how many times this loop iterates only one + * // task will be woken. + * } + * + * if( cTaskWokenByPost != ( char ) pdFALSE; + * { + * taskYIELD (); + * } + * } + * @endcode + * \defgroup xQueueReceiveFromISR xQueueReceiveFromISR + * \ingroup QueueManagement + */ +BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue, + void * const pvBuffer, + BaseType_t * const pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/* + * Utilities to query queues that are safe to use from an ISR. These utilities + * should be used only from witin an ISR, or within a critical section. + */ +BaseType_t xQueueIsQueueEmptyFromISR( const QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; +BaseType_t xQueueIsQueueFullFromISR( const QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; +UBaseType_t uxQueueMessagesWaitingFromISR( const QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; + +/* + * The functions defined above are for passing data to and from tasks. The + * functions below are the equivalents for passing data to and from + * co-routines. + * + * These functions are called from the co-routine macro implementation and + * should not be called directly from application code. Instead use the macro + * wrappers defined within croutine.h. + */ +BaseType_t xQueueCRSendFromISR( QueueHandle_t xQueue, + const void * pvItemToQueue, + BaseType_t xCoRoutinePreviouslyWoken ); +BaseType_t xQueueCRReceiveFromISR( QueueHandle_t xQueue, + void * pvBuffer, + BaseType_t * pxTaskWoken ); +BaseType_t xQueueCRSend( QueueHandle_t xQueue, + const void * pvItemToQueue, + TickType_t xTicksToWait ); +BaseType_t xQueueCRReceive( QueueHandle_t xQueue, + void * pvBuffer, + TickType_t xTicksToWait ); + +/* + * For internal use only. Use xSemaphoreCreateMutex(), + * xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling + * these functions directly. + */ +QueueHandle_t xQueueCreateMutex( const uint8_t ucQueueType ) PRIVILEGED_FUNCTION; +QueueHandle_t xQueueCreateMutexStatic( const uint8_t ucQueueType, + StaticQueue_t * pxStaticQueue ) PRIVILEGED_FUNCTION; +QueueHandle_t xQueueCreateCountingSemaphore( const UBaseType_t uxMaxCount, + const UBaseType_t uxInitialCount ) PRIVILEGED_FUNCTION; +QueueHandle_t xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxMaxCount, + const UBaseType_t uxInitialCount, + StaticQueue_t * pxStaticQueue ) PRIVILEGED_FUNCTION; +BaseType_t xQueueSemaphoreTake( QueueHandle_t xQueue, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; +TaskHandle_t xQueueGetMutexHolder( QueueHandle_t xSemaphore ) PRIVILEGED_FUNCTION; +TaskHandle_t xQueueGetMutexHolderFromISR( QueueHandle_t xSemaphore ) PRIVILEGED_FUNCTION; + +/* + * For internal use only. Use xSemaphoreTakeMutexRecursive() or + * xSemaphoreGiveMutexRecursive() instead of calling these functions directly. + */ +BaseType_t xQueueTakeMutexRecursive( QueueHandle_t xMutex, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; +BaseType_t xQueueGiveMutexRecursive( QueueHandle_t xMutex ) PRIVILEGED_FUNCTION; + +/* + * Reset a queue back to its original empty state. The return value is now + * obsolete and is always set to pdPASS. + */ +#define xQueueReset( xQueue ) xQueueGenericReset( xQueue, pdFALSE ) + +/* + * The registry is provided as a means for kernel aware debuggers to + * locate queues, semaphores and mutexes. Call vQueueAddToRegistry() add + * a queue, semaphore or mutex handle to the registry if you want the handle + * to be available to a kernel aware debugger. If you are not using a kernel + * aware debugger then this function can be ignored. + * + * configQUEUE_REGISTRY_SIZE defines the maximum number of handles the + * registry can hold. configQUEUE_REGISTRY_SIZE must be greater than 0 + * within FreeRTOSConfig.h for the registry to be available. Its value + * does not effect the number of queues, semaphores and mutexes that can be + * created - just the number that the registry can hold. + * + * If vQueueAddToRegistry is called more than once with the same xQueue + * parameter, the registry will store the pcQueueName parameter from the + * most recent call to vQueueAddToRegistry. + * + * @param xQueue The handle of the queue being added to the registry. This + * is the handle returned by a call to xQueueCreate(). Semaphore and mutex + * handles can also be passed in here. + * + * @param pcQueueName The name to be associated with the handle. This is the + * name that the kernel aware debugger will display. The queue registry only + * stores a pointer to the string - so the string must be persistent (global or + * preferably in ROM/Flash), not on the stack. + */ +#if ( configQUEUE_REGISTRY_SIZE > 0 ) + void vQueueAddToRegistry( QueueHandle_t xQueue, + const char * pcQueueName ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ +#endif + +/* + * The registry is provided as a means for kernel aware debuggers to + * locate queues, semaphores and mutexes. Call vQueueAddToRegistry() add + * a queue, semaphore or mutex handle to the registry if you want the handle + * to be available to a kernel aware debugger, and vQueueUnregisterQueue() to + * remove the queue, semaphore or mutex from the register. If you are not using + * a kernel aware debugger then this function can be ignored. + * + * @param xQueue The handle of the queue being removed from the registry. + */ +#if ( configQUEUE_REGISTRY_SIZE > 0 ) + void vQueueUnregisterQueue( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; +#endif + +/* + * The queue registry is provided as a means for kernel aware debuggers to + * locate queues, semaphores and mutexes. Call pcQueueGetName() to look + * up and return the name of a queue in the queue registry from the queue's + * handle. + * + * @param xQueue The handle of the queue the name of which will be returned. + * @return If the queue is in the registry then a pointer to the name of the + * queue is returned. If the queue is not in the registry then NULL is + * returned. + */ +#if ( configQUEUE_REGISTRY_SIZE > 0 ) + const char * pcQueueGetName( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ +#endif + +/* + * Generic version of the function used to create a queue using dynamic memory + * allocation. This is called by other functions and macros that create other + * RTOS objects that use the queue structure as their base. + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + QueueHandle_t xQueueGenericCreate( const UBaseType_t uxQueueLength, + const UBaseType_t uxItemSize, + const uint8_t ucQueueType ) PRIVILEGED_FUNCTION; +#endif + +/* + * Generic version of the function used to create a queue using dynamic memory + * allocation. This is called by other functions and macros that create other + * RTOS objects that use the queue structure as their base. + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + QueueHandle_t xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, + const UBaseType_t uxItemSize, + uint8_t * pucQueueStorage, + StaticQueue_t * pxStaticQueue, + const uint8_t ucQueueType ) PRIVILEGED_FUNCTION; +#endif + +/* + * Queue sets provide a mechanism to allow a task to block (pend) on a read + * operation from multiple queues or semaphores simultaneously. + * + * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this + * function. + * + * A queue set must be explicitly created using a call to xQueueCreateSet() + * before it can be used. Once created, standard FreeRTOS queues and semaphores + * can be added to the set using calls to xQueueAddToSet(). + * xQueueSelectFromSet() is then used to determine which, if any, of the queues + * or semaphores contained in the set is in a state where a queue read or + * semaphore take operation would be successful. + * + * Note 1: See the documentation on https://www.FreeRTOS.org/RTOS-queue-sets.html + * for reasons why queue sets are very rarely needed in practice as there are + * simpler methods of blocking on multiple objects. + * + * Note 2: Blocking on a queue set that contains a mutex will not cause the + * mutex holder to inherit the priority of the blocked task. + * + * Note 3: An additional 4 bytes of RAM is required for each space in a every + * queue added to a queue set. Therefore counting semaphores that have a high + * maximum count value should not be added to a queue set. + * + * Note 4: A receive (in the case of a queue) or take (in the case of a + * semaphore) operation must not be performed on a member of a queue set unless + * a call to xQueueSelectFromSet() has first returned a handle to that set member. + * + * @param uxEventQueueLength Queue sets store events that occur on + * the queues and semaphores contained in the set. uxEventQueueLength specifies + * the maximum number of events that can be queued at once. To be absolutely + * certain that events are not lost uxEventQueueLength should be set to the + * total sum of the length of the queues added to the set, where binary + * semaphores and mutexes have a length of 1, and counting semaphores have a + * length set by their maximum count value. Examples: + * + If a queue set is to hold a queue of length 5, another queue of length 12, + * and a binary semaphore, then uxEventQueueLength should be set to + * (5 + 12 + 1), or 18. + * + If a queue set is to hold three binary semaphores then uxEventQueueLength + * should be set to (1 + 1 + 1 ), or 3. + * + If a queue set is to hold a counting semaphore that has a maximum count of + * 5, and a counting semaphore that has a maximum count of 3, then + * uxEventQueueLength should be set to (5 + 3), or 8. + * + * @return If the queue set is created successfully then a handle to the created + * queue set is returned. Otherwise NULL is returned. + */ +QueueSetHandle_t xQueueCreateSet( const UBaseType_t uxEventQueueLength ) PRIVILEGED_FUNCTION; + +/* + * Adds a queue or semaphore to a queue set that was previously created by a + * call to xQueueCreateSet(). + * + * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this + * function. + * + * Note 1: A receive (in the case of a queue) or take (in the case of a + * semaphore) operation must not be performed on a member of a queue set unless + * a call to xQueueSelectFromSet() has first returned a handle to that set member. + * + * @param xQueueOrSemaphore The handle of the queue or semaphore being added to + * the queue set (cast to an QueueSetMemberHandle_t type). + * + * @param xQueueSet The handle of the queue set to which the queue or semaphore + * is being added. + * + * @return If the queue or semaphore was successfully added to the queue set + * then pdPASS is returned. If the queue could not be successfully added to the + * queue set because it is already a member of a different queue set then pdFAIL + * is returned. + */ +BaseType_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION; + +/* + * Removes a queue or semaphore from a queue set. A queue or semaphore can only + * be removed from a set if the queue or semaphore is empty. + * + * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this + * function. + * + * @param xQueueOrSemaphore The handle of the queue or semaphore being removed + * from the queue set (cast to an QueueSetMemberHandle_t type). + * + * @param xQueueSet The handle of the queue set in which the queue or semaphore + * is included. + * + * @return If the queue or semaphore was successfully removed from the queue set + * then pdPASS is returned. If the queue was not in the queue set, or the + * queue (or semaphore) was not empty, then pdFAIL is returned. + */ +BaseType_t xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION; + +/* + * xQueueSelectFromSet() selects from the members of a queue set a queue or + * semaphore that either contains data (in the case of a queue) or is available + * to take (in the case of a semaphore). xQueueSelectFromSet() effectively + * allows a task to block (pend) on a read operation on all the queues and + * semaphores in a queue set simultaneously. + * + * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this + * function. + * + * Note 1: See the documentation on https://www.FreeRTOS.org/RTOS-queue-sets.html + * for reasons why queue sets are very rarely needed in practice as there are + * simpler methods of blocking on multiple objects. + * + * Note 2: Blocking on a queue set that contains a mutex will not cause the + * mutex holder to inherit the priority of the blocked task. + * + * Note 3: A receive (in the case of a queue) or take (in the case of a + * semaphore) operation must not be performed on a member of a queue set unless + * a call to xQueueSelectFromSet() has first returned a handle to that set member. + * + * @param xQueueSet The queue set on which the task will (potentially) block. + * + * @param xTicksToWait The maximum time, in ticks, that the calling task will + * remain in the Blocked state (with other tasks executing) to wait for a member + * of the queue set to be ready for a successful queue read or semaphore take + * operation. + * + * @return xQueueSelectFromSet() will return the handle of a queue (cast to + * a QueueSetMemberHandle_t type) contained in the queue set that contains data, + * or the handle of a semaphore (cast to a QueueSetMemberHandle_t type) contained + * in the queue set that is available, or NULL if no such queue or semaphore + * exists before before the specified block time expires. + */ +QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, + const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/* + * A version of xQueueSelectFromSet() that can be used from an ISR. + */ +QueueSetMemberHandle_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION; + +/* Not public API functions. */ +void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, + TickType_t xTicksToWait, + const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION; +BaseType_t xQueueGenericReset( QueueHandle_t xQueue, + BaseType_t xNewQueue ) PRIVILEGED_FUNCTION; +void vQueueSetQueueNumber( QueueHandle_t xQueue, + UBaseType_t uxQueueNumber ) PRIVILEGED_FUNCTION; +UBaseType_t uxQueueGetQueueNumber( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; +uint8_t ucQueueGetQueueType( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION; + + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ + +#endif /* QUEUE_H */ diff --git a/freertos/cvitek/install/include/kernel/semphr.h b/freertos/cvitek/install/include/kernel/semphr.h new file mode 100644 index 000000000..d28d4a045 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/semphr.h @@ -0,0 +1,1189 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef SEMAPHORE_H +#define SEMAPHORE_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h" must appear in source files before "include semphr.h" +#endif + +#include "queue.h" + +typedef QueueHandle_t SemaphoreHandle_t; + +#define semBINARY_SEMAPHORE_QUEUE_LENGTH ( ( uint8_t ) 1U ) +#define semSEMAPHORE_QUEUE_ITEM_LENGTH ( ( uint8_t ) 0U ) +#define semGIVE_BLOCK_TIME ( ( TickType_t ) 0U ) + + +/** + * semphr. h + * @code{c} + * vSemaphoreCreateBinary( SemaphoreHandle_t xSemaphore ); + * @endcode + * + * In many usage scenarios it is faster and more memory efficient to use a + * direct to task notification in place of a binary semaphore! + * https://www.FreeRTOS.org/RTOS-task-notifications.html + * + * This old vSemaphoreCreateBinary() macro is now deprecated in favour of the + * xSemaphoreCreateBinary() function. Note that binary semaphores created using + * the vSemaphoreCreateBinary() macro are created in a state such that the + * first call to 'take' the semaphore would pass, whereas binary semaphores + * created using xSemaphoreCreateBinary() are created in a state such that the + * the semaphore must first be 'given' before it can be 'taken'. + * + * Macro that implements a semaphore by using the existing queue mechanism. + * The queue length is 1 as this is a binary semaphore. The data size is 0 + * as we don't want to actually store any data - we just want to know if the + * queue is empty or full. + * + * This type of semaphore can be used for pure synchronisation between tasks or + * between an interrupt and a task. The semaphore need not be given back once + * obtained, so one task/interrupt can continuously 'give' the semaphore while + * another continuously 'takes' the semaphore. For this reason this type of + * semaphore does not use a priority inheritance mechanism. For an alternative + * that does use priority inheritance see xSemaphoreCreateMutex(). + * + * @param xSemaphore Handle to the created semaphore. Should be of type SemaphoreHandle_t. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore = NULL; + * + * void vATask( void * pvParameters ) + * { + * // Semaphore cannot be used before a call to vSemaphoreCreateBinary (). + * // This is a macro so pass the variable in directly. + * vSemaphoreCreateBinary( xSemaphore ); + * + * if( xSemaphore != NULL ) + * { + * // The semaphore was created successfully. + * // The semaphore can now be used. + * } + * } + * @endcode + * \defgroup vSemaphoreCreateBinary vSemaphoreCreateBinary + * \ingroup Semaphores + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #define vSemaphoreCreateBinary( xSemaphore ) \ + { \ + ( xSemaphore ) = xQueueGenericCreate( ( UBaseType_t ) 1, semSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_BINARY_SEMAPHORE ); \ + if( ( xSemaphore ) != NULL ) \ + { \ + ( void ) xSemaphoreGive( ( xSemaphore ) ); \ + } \ + } +#endif + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateBinary( void ); + * @endcode + * + * Creates a new binary semaphore instance, and returns a handle by which the + * new semaphore can be referenced. + * + * In many usage scenarios it is faster and more memory efficient to use a + * direct to task notification in place of a binary semaphore! + * https://www.FreeRTOS.org/RTOS-task-notifications.html + * + * Internally, within the FreeRTOS implementation, binary semaphores use a block + * of memory, in which the semaphore structure is stored. If a binary semaphore + * is created using xSemaphoreCreateBinary() then the required memory is + * automatically dynamically allocated inside the xSemaphoreCreateBinary() + * function. (see https://www.FreeRTOS.org/a00111.html). If a binary semaphore + * is created using xSemaphoreCreateBinaryStatic() then the application writer + * must provide the memory. xSemaphoreCreateBinaryStatic() therefore allows a + * binary semaphore to be created without using any dynamic memory allocation. + * + * The old vSemaphoreCreateBinary() macro is now deprecated in favour of this + * xSemaphoreCreateBinary() function. Note that binary semaphores created using + * the vSemaphoreCreateBinary() macro are created in a state such that the + * first call to 'take' the semaphore would pass, whereas binary semaphores + * created using xSemaphoreCreateBinary() are created in a state such that the + * the semaphore must first be 'given' before it can be 'taken'. + * + * This type of semaphore can be used for pure synchronisation between tasks or + * between an interrupt and a task. The semaphore need not be given back once + * obtained, so one task/interrupt can continuously 'give' the semaphore while + * another continuously 'takes' the semaphore. For this reason this type of + * semaphore does not use a priority inheritance mechanism. For an alternative + * that does use priority inheritance see xSemaphoreCreateMutex(). + * + * @return Handle to the created semaphore, or NULL if the memory required to + * hold the semaphore's data structures could not be allocated. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore = NULL; + * + * void vATask( void * pvParameters ) + * { + * // Semaphore cannot be used before a call to xSemaphoreCreateBinary(). + * // This is a macro so pass the variable in directly. + * xSemaphore = xSemaphoreCreateBinary(); + * + * if( xSemaphore != NULL ) + * { + * // The semaphore was created successfully. + * // The semaphore can now be used. + * } + * } + * @endcode + * \defgroup xSemaphoreCreateBinary xSemaphoreCreateBinary + * \ingroup Semaphores + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #define xSemaphoreCreateBinary() xQueueGenericCreate( ( UBaseType_t ) 1, semSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_BINARY_SEMAPHORE ) +#endif + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateBinaryStatic( StaticSemaphore_t *pxSemaphoreBuffer ); + * @endcode + * + * Creates a new binary semaphore instance, and returns a handle by which the + * new semaphore can be referenced. + * + * NOTE: In many usage scenarios it is faster and more memory efficient to use a + * direct to task notification in place of a binary semaphore! + * https://www.FreeRTOS.org/RTOS-task-notifications.html + * + * Internally, within the FreeRTOS implementation, binary semaphores use a block + * of memory, in which the semaphore structure is stored. If a binary semaphore + * is created using xSemaphoreCreateBinary() then the required memory is + * automatically dynamically allocated inside the xSemaphoreCreateBinary() + * function. (see https://www.FreeRTOS.org/a00111.html). If a binary semaphore + * is created using xSemaphoreCreateBinaryStatic() then the application writer + * must provide the memory. xSemaphoreCreateBinaryStatic() therefore allows a + * binary semaphore to be created without using any dynamic memory allocation. + * + * This type of semaphore can be used for pure synchronisation between tasks or + * between an interrupt and a task. The semaphore need not be given back once + * obtained, so one task/interrupt can continuously 'give' the semaphore while + * another continuously 'takes' the semaphore. For this reason this type of + * semaphore does not use a priority inheritance mechanism. For an alternative + * that does use priority inheritance see xSemaphoreCreateMutex(). + * + * @param pxSemaphoreBuffer Must point to a variable of type StaticSemaphore_t, + * which will then be used to hold the semaphore's data structure, removing the + * need for the memory to be allocated dynamically. + * + * @return If the semaphore is created then a handle to the created semaphore is + * returned. If pxSemaphoreBuffer is NULL then NULL is returned. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore = NULL; + * StaticSemaphore_t xSemaphoreBuffer; + * + * void vATask( void * pvParameters ) + * { + * // Semaphore cannot be used before a call to xSemaphoreCreateBinary(). + * // The semaphore's data structures will be placed in the xSemaphoreBuffer + * // variable, the address of which is passed into the function. The + * // function's parameter is not NULL, so the function will not attempt any + * // dynamic memory allocation, and therefore the function will not return + * // return NULL. + * xSemaphore = xSemaphoreCreateBinary( &xSemaphoreBuffer ); + * + * // Rest of task code goes here. + * } + * @endcode + * \defgroup xSemaphoreCreateBinaryStatic xSemaphoreCreateBinaryStatic + * \ingroup Semaphores + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #define xSemaphoreCreateBinaryStatic( pxStaticSemaphore ) xQueueGenericCreateStatic( ( UBaseType_t ) 1, semSEMAPHORE_QUEUE_ITEM_LENGTH, NULL, pxStaticSemaphore, queueQUEUE_TYPE_BINARY_SEMAPHORE ) +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * semphr. h + * @code{c} + * xSemaphoreTake( + * SemaphoreHandle_t xSemaphore, + * TickType_t xBlockTime + * ); + * @endcode + * + * Macro to obtain a semaphore. The semaphore must have previously been + * created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or + * xSemaphoreCreateCounting(). + * + * @param xSemaphore A handle to the semaphore being taken - obtained when + * the semaphore was created. + * + * @param xBlockTime The time in ticks to wait for the semaphore to become + * available. The macro portTICK_PERIOD_MS can be used to convert this to a + * real time. A block time of zero can be used to poll the semaphore. A block + * time of portMAX_DELAY can be used to block indefinitely (provided + * INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h). + * + * @return pdTRUE if the semaphore was obtained. pdFALSE + * if xBlockTime expired without the semaphore becoming available. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore = NULL; + * + * // A task that creates a semaphore. + * void vATask( void * pvParameters ) + * { + * // Create the semaphore to guard a shared resource. + * xSemaphore = xSemaphoreCreateBinary(); + * } + * + * // A task that uses the semaphore. + * void vAnotherTask( void * pvParameters ) + * { + * // ... Do other things. + * + * if( xSemaphore != NULL ) + * { + * // See if we can obtain the semaphore. If the semaphore is not available + * // wait 10 ticks to see if it becomes free. + * if( xSemaphoreTake( xSemaphore, ( TickType_t ) 10 ) == pdTRUE ) + * { + * // We were able to obtain the semaphore and can now access the + * // shared resource. + * + * // ... + * + * // We have finished accessing the shared resource. Release the + * // semaphore. + * xSemaphoreGive( xSemaphore ); + * } + * else + * { + * // We could not obtain the semaphore and can therefore not access + * // the shared resource safely. + * } + * } + * } + * @endcode + * \defgroup xSemaphoreTake xSemaphoreTake + * \ingroup Semaphores + */ +#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) ) + +/** + * semphr. h + * @code{c} + * xSemaphoreTakeRecursive( + * SemaphoreHandle_t xMutex, + * TickType_t xBlockTime + * ); + * @endcode + * + * Macro to recursively obtain, or 'take', a mutex type semaphore. + * The mutex must have previously been created using a call to + * xSemaphoreCreateRecursiveMutex(); + * + * configUSE_RECURSIVE_MUTEXES must be set to 1 in FreeRTOSConfig.h for this + * macro to be available. + * + * This macro must not be used on mutexes created using xSemaphoreCreateMutex(). + * + * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex + * doesn't become available again until the owner has called + * xSemaphoreGiveRecursive() for each successful 'take' request. For example, + * if a task successfully 'takes' the same mutex 5 times then the mutex will + * not be available to any other task until it has also 'given' the mutex back + * exactly five times. + * + * @param xMutex A handle to the mutex being obtained. This is the + * handle returned by xSemaphoreCreateRecursiveMutex(); + * + * @param xBlockTime The time in ticks to wait for the semaphore to become + * available. The macro portTICK_PERIOD_MS can be used to convert this to a + * real time. A block time of zero can be used to poll the semaphore. If + * the task already owns the semaphore then xSemaphoreTakeRecursive() will + * return immediately no matter what the value of xBlockTime. + * + * @return pdTRUE if the semaphore was obtained. pdFALSE if xBlockTime + * expired without the semaphore becoming available. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xMutex = NULL; + * + * // A task that creates a mutex. + * void vATask( void * pvParameters ) + * { + * // Create the mutex to guard a shared resource. + * xMutex = xSemaphoreCreateRecursiveMutex(); + * } + * + * // A task that uses the mutex. + * void vAnotherTask( void * pvParameters ) + * { + * // ... Do other things. + * + * if( xMutex != NULL ) + * { + * // See if we can obtain the mutex. If the mutex is not available + * // wait 10 ticks to see if it becomes free. + * if( xSemaphoreTakeRecursive( xSemaphore, ( TickType_t ) 10 ) == pdTRUE ) + * { + * // We were able to obtain the mutex and can now access the + * // shared resource. + * + * // ... + * // For some reason due to the nature of the code further calls to + * // xSemaphoreTakeRecursive() are made on the same mutex. In real + * // code these would not be just sequential calls as this would make + * // no sense. Instead the calls are likely to be buried inside + * // a more complex call structure. + * xSemaphoreTakeRecursive( xMutex, ( TickType_t ) 10 ); + * xSemaphoreTakeRecursive( xMutex, ( TickType_t ) 10 ); + * + * // The mutex has now been 'taken' three times, so will not be + * // available to another task until it has also been given back + * // three times. Again it is unlikely that real code would have + * // these calls sequentially, but instead buried in a more complex + * // call structure. This is just for illustrative purposes. + * xSemaphoreGiveRecursive( xMutex ); + * xSemaphoreGiveRecursive( xMutex ); + * xSemaphoreGiveRecursive( xMutex ); + * + * // Now the mutex can be taken by other tasks. + * } + * else + * { + * // We could not obtain the mutex and can therefore not access + * // the shared resource safely. + * } + * } + * } + * @endcode + * \defgroup xSemaphoreTakeRecursive xSemaphoreTakeRecursive + * \ingroup Semaphores + */ +#if ( configUSE_RECURSIVE_MUTEXES == 1 ) + #define xSemaphoreTakeRecursive( xMutex, xBlockTime ) xQueueTakeMutexRecursive( ( xMutex ), ( xBlockTime ) ) +#endif + +/** + * semphr. h + * @code{c} + * xSemaphoreGive( SemaphoreHandle_t xSemaphore ); + * @endcode + * + * Macro to release a semaphore. The semaphore must have previously been + * created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or + * xSemaphoreCreateCounting(). and obtained using sSemaphoreTake(). + * + * This macro must not be used from an ISR. See xSemaphoreGiveFromISR () for + * an alternative which can be used from an ISR. + * + * This macro must also not be used on semaphores created using + * xSemaphoreCreateRecursiveMutex(). + * + * @param xSemaphore A handle to the semaphore being released. This is the + * handle returned when the semaphore was created. + * + * @return pdTRUE if the semaphore was released. pdFALSE if an error occurred. + * Semaphores are implemented using queues. An error can occur if there is + * no space on the queue to post a message - indicating that the + * semaphore was not first obtained correctly. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore = NULL; + * + * void vATask( void * pvParameters ) + * { + * // Create the semaphore to guard a shared resource. + * xSemaphore = vSemaphoreCreateBinary(); + * + * if( xSemaphore != NULL ) + * { + * if( xSemaphoreGive( xSemaphore ) != pdTRUE ) + * { + * // We would expect this call to fail because we cannot give + * // a semaphore without first "taking" it! + * } + * + * // Obtain the semaphore - don't block if the semaphore is not + * // immediately available. + * if( xSemaphoreTake( xSemaphore, ( TickType_t ) 0 ) ) + * { + * // We now have the semaphore and can access the shared resource. + * + * // ... + * + * // We have finished accessing the shared resource so can free the + * // semaphore. + * if( xSemaphoreGive( xSemaphore ) != pdTRUE ) + * { + * // We would not expect this call to fail because we must have + * // obtained the semaphore to get here. + * } + * } + * } + * } + * @endcode + * \defgroup xSemaphoreGive xSemaphoreGive + * \ingroup Semaphores + */ +#define xSemaphoreGive( xSemaphore ) xQueueGenericSend( ( QueueHandle_t ) ( xSemaphore ), NULL, semGIVE_BLOCK_TIME, queueSEND_TO_BACK ) + +/** + * semphr. h + * @code{c} + * xSemaphoreGiveRecursive( SemaphoreHandle_t xMutex ); + * @endcode + * + * Macro to recursively release, or 'give', a mutex type semaphore. + * The mutex must have previously been created using a call to + * xSemaphoreCreateRecursiveMutex(); + * + * configUSE_RECURSIVE_MUTEXES must be set to 1 in FreeRTOSConfig.h for this + * macro to be available. + * + * This macro must not be used on mutexes created using xSemaphoreCreateMutex(). + * + * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex + * doesn't become available again until the owner has called + * xSemaphoreGiveRecursive() for each successful 'take' request. For example, + * if a task successfully 'takes' the same mutex 5 times then the mutex will + * not be available to any other task until it has also 'given' the mutex back + * exactly five times. + * + * @param xMutex A handle to the mutex being released, or 'given'. This is the + * handle returned by xSemaphoreCreateMutex(); + * + * @return pdTRUE if the semaphore was given. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xMutex = NULL; + * + * // A task that creates a mutex. + * void vATask( void * pvParameters ) + * { + * // Create the mutex to guard a shared resource. + * xMutex = xSemaphoreCreateRecursiveMutex(); + * } + * + * // A task that uses the mutex. + * void vAnotherTask( void * pvParameters ) + * { + * // ... Do other things. + * + * if( xMutex != NULL ) + * { + * // See if we can obtain the mutex. If the mutex is not available + * // wait 10 ticks to see if it becomes free. + * if( xSemaphoreTakeRecursive( xMutex, ( TickType_t ) 10 ) == pdTRUE ) + * { + * // We were able to obtain the mutex and can now access the + * // shared resource. + * + * // ... + * // For some reason due to the nature of the code further calls to + * // xSemaphoreTakeRecursive() are made on the same mutex. In real + * // code these would not be just sequential calls as this would make + * // no sense. Instead the calls are likely to be buried inside + * // a more complex call structure. + * xSemaphoreTakeRecursive( xMutex, ( TickType_t ) 10 ); + * xSemaphoreTakeRecursive( xMutex, ( TickType_t ) 10 ); + * + * // The mutex has now been 'taken' three times, so will not be + * // available to another task until it has also been given back + * // three times. Again it is unlikely that real code would have + * // these calls sequentially, it would be more likely that the calls + * // to xSemaphoreGiveRecursive() would be called as a call stack + * // unwound. This is just for demonstrative purposes. + * xSemaphoreGiveRecursive( xMutex ); + * xSemaphoreGiveRecursive( xMutex ); + * xSemaphoreGiveRecursive( xMutex ); + * + * // Now the mutex can be taken by other tasks. + * } + * else + * { + * // We could not obtain the mutex and can therefore not access + * // the shared resource safely. + * } + * } + * } + * @endcode + * \defgroup xSemaphoreGiveRecursive xSemaphoreGiveRecursive + * \ingroup Semaphores + */ +#if ( configUSE_RECURSIVE_MUTEXES == 1 ) + #define xSemaphoreGiveRecursive( xMutex ) xQueueGiveMutexRecursive( ( xMutex ) ) +#endif + +/** + * semphr. h + * @code{c} + * xSemaphoreGiveFromISR( + * SemaphoreHandle_t xSemaphore, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * Macro to release a semaphore. The semaphore must have previously been + * created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting(). + * + * Mutex type semaphores (those created using a call to xSemaphoreCreateMutex()) + * must not be used with this macro. + * + * This macro can be used from an ISR. + * + * @param xSemaphore A handle to the semaphore being released. This is the + * handle returned when the semaphore was created. + * + * @param pxHigherPriorityTaskWoken xSemaphoreGiveFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if giving the semaphore caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xSemaphoreGiveFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return pdTRUE if the semaphore was successfully given, otherwise errQUEUE_FULL. + * + * Example usage: + * @code{c} + \#define LONG_TIME 0xffff + \#define TICKS_TO_WAIT 10 + * SemaphoreHandle_t xSemaphore = NULL; + * + * // Repetitive task. + * void vATask( void * pvParameters ) + * { + * for( ;; ) + * { + * // We want this task to run every 10 ticks of a timer. The semaphore + * // was created before this task was started. + * + * // Block waiting for the semaphore to become available. + * if( xSemaphoreTake( xSemaphore, LONG_TIME ) == pdTRUE ) + * { + * // It is time to execute. + * + * // ... + * + * // We have finished our task. Return to the top of the loop where + * // we will block on the semaphore until it is time to execute + * // again. Note when using the semaphore for synchronisation with an + * // ISR in this manner there is no need to 'give' the semaphore back. + * } + * } + * } + * + * // Timer ISR + * void vTimerISR( void * pvParameters ) + * { + * static uint8_t ucLocalTickCount = 0; + * static BaseType_t xHigherPriorityTaskWoken; + * + * // A timer tick has occurred. + * + * // ... Do other time functions. + * + * // Is it time for vATask () to run? + * xHigherPriorityTaskWoken = pdFALSE; + * ucLocalTickCount++; + * if( ucLocalTickCount >= TICKS_TO_WAIT ) + * { + * // Unblock the task by releasing the semaphore. + * xSemaphoreGiveFromISR( xSemaphore, &xHigherPriorityTaskWoken ); + * + * // Reset the count so we release the semaphore again in 10 ticks time. + * ucLocalTickCount = 0; + * } + * + * if( xHigherPriorityTaskWoken != pdFALSE ) + * { + * // We can force a context switch here. Context switching from an + * // ISR uses port specific syntax. Check the demo task for your port + * // to find the syntax required. + * } + * } + * @endcode + * \defgroup xSemaphoreGiveFromISR xSemaphoreGiveFromISR + * \ingroup Semaphores + */ +#define xSemaphoreGiveFromISR( xSemaphore, pxHigherPriorityTaskWoken ) xQueueGiveFromISR( ( QueueHandle_t ) ( xSemaphore ), ( pxHigherPriorityTaskWoken ) ) + +/** + * semphr. h + * @code{c} + * xSemaphoreTakeFromISR( + * SemaphoreHandle_t xSemaphore, + * BaseType_t *pxHigherPriorityTaskWoken + * ); + * @endcode + * + * Macro to take a semaphore from an ISR. The semaphore must have + * previously been created with a call to xSemaphoreCreateBinary() or + * xSemaphoreCreateCounting(). + * + * Mutex type semaphores (those created using a call to xSemaphoreCreateMutex()) + * must not be used with this macro. + * + * This macro can be used from an ISR, however taking a semaphore from an ISR + * is not a common operation. It is likely to only be useful when taking a + * counting semaphore when an interrupt is obtaining an object from a resource + * pool (when the semaphore count indicates the number of resources available). + * + * @param xSemaphore A handle to the semaphore being taken. This is the + * handle returned when the semaphore was created. + * + * @param pxHigherPriorityTaskWoken xSemaphoreTakeFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if taking the semaphore caused a task + * to unblock, and the unblocked task has a priority higher than the currently + * running task. If xSemaphoreTakeFromISR() sets this value to pdTRUE then + * a context switch should be requested before the interrupt is exited. + * + * @return pdTRUE if the semaphore was successfully taken, otherwise + * pdFALSE + */ +#define xSemaphoreTakeFromISR( xSemaphore, pxHigherPriorityTaskWoken ) xQueueReceiveFromISR( ( QueueHandle_t ) ( xSemaphore ), NULL, ( pxHigherPriorityTaskWoken ) ) + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateMutex( void ); + * @endcode + * + * Creates a new mutex type semaphore instance, and returns a handle by which + * the new mutex can be referenced. + * + * Internally, within the FreeRTOS implementation, mutex semaphores use a block + * of memory, in which the mutex structure is stored. If a mutex is created + * using xSemaphoreCreateMutex() then the required memory is automatically + * dynamically allocated inside the xSemaphoreCreateMutex() function. (see + * https://www.FreeRTOS.org/a00111.html). If a mutex is created using + * xSemaphoreCreateMutexStatic() then the application writer must provided the + * memory. xSemaphoreCreateMutexStatic() therefore allows a mutex to be created + * without using any dynamic memory allocation. + * + * Mutexes created using this function can be accessed using the xSemaphoreTake() + * and xSemaphoreGive() macros. The xSemaphoreTakeRecursive() and + * xSemaphoreGiveRecursive() macros must not be used. + * + * This type of semaphore uses a priority inheritance mechanism so a task + * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the + * semaphore it is no longer required. + * + * Mutex type semaphores cannot be used from within interrupt service routines. + * + * See xSemaphoreCreateBinary() for an alternative implementation that can be + * used for pure synchronisation (where one task or interrupt always 'gives' the + * semaphore and another always 'takes' the semaphore) and from within interrupt + * service routines. + * + * @return If the mutex was successfully created then a handle to the created + * semaphore is returned. If there was not enough heap to allocate the mutex + * data structures then NULL is returned. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * + * void vATask( void * pvParameters ) + * { + * // Semaphore cannot be used before a call to xSemaphoreCreateMutex(). + * // This is a macro so pass the variable in directly. + * xSemaphore = xSemaphoreCreateMutex(); + * + * if( xSemaphore != NULL ) + * { + * // The semaphore was created successfully. + * // The semaphore can now be used. + * } + * } + * @endcode + * \defgroup xSemaphoreCreateMutex xSemaphoreCreateMutex + * \ingroup Semaphores + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #define xSemaphoreCreateMutex() xQueueCreateMutex( queueQUEUE_TYPE_MUTEX ) +#endif + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateMutexStatic( StaticSemaphore_t *pxMutexBuffer ); + * @endcode + * + * Creates a new mutex type semaphore instance, and returns a handle by which + * the new mutex can be referenced. + * + * Internally, within the FreeRTOS implementation, mutex semaphores use a block + * of memory, in which the mutex structure is stored. If a mutex is created + * using xSemaphoreCreateMutex() then the required memory is automatically + * dynamically allocated inside the xSemaphoreCreateMutex() function. (see + * https://www.FreeRTOS.org/a00111.html). If a mutex is created using + * xSemaphoreCreateMutexStatic() then the application writer must provided the + * memory. xSemaphoreCreateMutexStatic() therefore allows a mutex to be created + * without using any dynamic memory allocation. + * + * Mutexes created using this function can be accessed using the xSemaphoreTake() + * and xSemaphoreGive() macros. The xSemaphoreTakeRecursive() and + * xSemaphoreGiveRecursive() macros must not be used. + * + * This type of semaphore uses a priority inheritance mechanism so a task + * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the + * semaphore it is no longer required. + * + * Mutex type semaphores cannot be used from within interrupt service routines. + * + * See xSemaphoreCreateBinary() for an alternative implementation that can be + * used for pure synchronisation (where one task or interrupt always 'gives' the + * semaphore and another always 'takes' the semaphore) and from within interrupt + * service routines. + * + * @param pxMutexBuffer Must point to a variable of type StaticSemaphore_t, + * which will be used to hold the mutex's data structure, removing the need for + * the memory to be allocated dynamically. + * + * @return If the mutex was successfully created then a handle to the created + * mutex is returned. If pxMutexBuffer was NULL then NULL is returned. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * StaticSemaphore_t xMutexBuffer; + * + * void vATask( void * pvParameters ) + * { + * // A mutex cannot be used before it has been created. xMutexBuffer is + * // into xSemaphoreCreateMutexStatic() so no dynamic memory allocation is + * // attempted. + * xSemaphore = xSemaphoreCreateMutexStatic( &xMutexBuffer ); + * + * // As no dynamic memory allocation was performed, xSemaphore cannot be NULL, + * // so there is no need to check it. + * } + * @endcode + * \defgroup xSemaphoreCreateMutexStatic xSemaphoreCreateMutexStatic + * \ingroup Semaphores + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #define xSemaphoreCreateMutexStatic( pxMutexBuffer ) xQueueCreateMutexStatic( queueQUEUE_TYPE_MUTEX, ( pxMutexBuffer ) ) +#endif /* configSUPPORT_STATIC_ALLOCATION */ + + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void ); + * @endcode + * + * Creates a new recursive mutex type semaphore instance, and returns a handle + * by which the new recursive mutex can be referenced. + * + * Internally, within the FreeRTOS implementation, recursive mutexs use a block + * of memory, in which the mutex structure is stored. If a recursive mutex is + * created using xSemaphoreCreateRecursiveMutex() then the required memory is + * automatically dynamically allocated inside the + * xSemaphoreCreateRecursiveMutex() function. (see + * https://www.FreeRTOS.org/a00111.html). If a recursive mutex is created using + * xSemaphoreCreateRecursiveMutexStatic() then the application writer must + * provide the memory that will get used by the mutex. + * xSemaphoreCreateRecursiveMutexStatic() therefore allows a recursive mutex to + * be created without using any dynamic memory allocation. + * + * Mutexes created using this macro can be accessed using the + * xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() macros. The + * xSemaphoreTake() and xSemaphoreGive() macros must not be used. + * + * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex + * doesn't become available again until the owner has called + * xSemaphoreGiveRecursive() for each successful 'take' request. For example, + * if a task successfully 'takes' the same mutex 5 times then the mutex will + * not be available to any other task until it has also 'given' the mutex back + * exactly five times. + * + * This type of semaphore uses a priority inheritance mechanism so a task + * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the + * semaphore it is no longer required. + * + * Mutex type semaphores cannot be used from within interrupt service routines. + * + * See xSemaphoreCreateBinary() for an alternative implementation that can be + * used for pure synchronisation (where one task or interrupt always 'gives' the + * semaphore and another always 'takes' the semaphore) and from within interrupt + * service routines. + * + * @return xSemaphore Handle to the created mutex semaphore. Should be of type + * SemaphoreHandle_t. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * + * void vATask( void * pvParameters ) + * { + * // Semaphore cannot be used before a call to xSemaphoreCreateMutex(). + * // This is a macro so pass the variable in directly. + * xSemaphore = xSemaphoreCreateRecursiveMutex(); + * + * if( xSemaphore != NULL ) + * { + * // The semaphore was created successfully. + * // The semaphore can now be used. + * } + * } + * @endcode + * \defgroup xSemaphoreCreateRecursiveMutex xSemaphoreCreateRecursiveMutex + * \ingroup Semaphores + */ +#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_RECURSIVE_MUTEXES == 1 ) ) + #define xSemaphoreCreateRecursiveMutex() xQueueCreateMutex( queueQUEUE_TYPE_RECURSIVE_MUTEX ) +#endif + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateRecursiveMutexStatic( StaticSemaphore_t *pxMutexBuffer ); + * @endcode + * + * Creates a new recursive mutex type semaphore instance, and returns a handle + * by which the new recursive mutex can be referenced. + * + * Internally, within the FreeRTOS implementation, recursive mutexs use a block + * of memory, in which the mutex structure is stored. If a recursive mutex is + * created using xSemaphoreCreateRecursiveMutex() then the required memory is + * automatically dynamically allocated inside the + * xSemaphoreCreateRecursiveMutex() function. (see + * https://www.FreeRTOS.org/a00111.html). If a recursive mutex is created using + * xSemaphoreCreateRecursiveMutexStatic() then the application writer must + * provide the memory that will get used by the mutex. + * xSemaphoreCreateRecursiveMutexStatic() therefore allows a recursive mutex to + * be created without using any dynamic memory allocation. + * + * Mutexes created using this macro can be accessed using the + * xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() macros. The + * xSemaphoreTake() and xSemaphoreGive() macros must not be used. + * + * A mutex used recursively can be 'taken' repeatedly by the owner. The mutex + * doesn't become available again until the owner has called + * xSemaphoreGiveRecursive() for each successful 'take' request. For example, + * if a task successfully 'takes' the same mutex 5 times then the mutex will + * not be available to any other task until it has also 'given' the mutex back + * exactly five times. + * + * This type of semaphore uses a priority inheritance mechanism so a task + * 'taking' a semaphore MUST ALWAYS 'give' the semaphore back once the + * semaphore it is no longer required. + * + * Mutex type semaphores cannot be used from within interrupt service routines. + * + * See xSemaphoreCreateBinary() for an alternative implementation that can be + * used for pure synchronisation (where one task or interrupt always 'gives' the + * semaphore and another always 'takes' the semaphore) and from within interrupt + * service routines. + * + * @param pxMutexBuffer Must point to a variable of type StaticSemaphore_t, + * which will then be used to hold the recursive mutex's data structure, + * removing the need for the memory to be allocated dynamically. + * + * @return If the recursive mutex was successfully created then a handle to the + * created recursive mutex is returned. If pxMutexBuffer was NULL then NULL is + * returned. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * StaticSemaphore_t xMutexBuffer; + * + * void vATask( void * pvParameters ) + * { + * // A recursive semaphore cannot be used before it is created. Here a + * // recursive mutex is created using xSemaphoreCreateRecursiveMutexStatic(). + * // The address of xMutexBuffer is passed into the function, and will hold + * // the mutexes data structures - so no dynamic memory allocation will be + * // attempted. + * xSemaphore = xSemaphoreCreateRecursiveMutexStatic( &xMutexBuffer ); + * + * // As no dynamic memory allocation was performed, xSemaphore cannot be NULL, + * // so there is no need to check it. + * } + * @endcode + * \defgroup xSemaphoreCreateRecursiveMutexStatic xSemaphoreCreateRecursiveMutexStatic + * \ingroup Semaphores + */ +#if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_RECURSIVE_MUTEXES == 1 ) ) + #define xSemaphoreCreateRecursiveMutexStatic( pxStaticSemaphore ) xQueueCreateMutexStatic( queueQUEUE_TYPE_RECURSIVE_MUTEX, pxStaticSemaphore ) +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount ); + * @endcode + * + * Creates a new counting semaphore instance, and returns a handle by which the + * new counting semaphore can be referenced. + * + * In many usage scenarios it is faster and more memory efficient to use a + * direct to task notification in place of a counting semaphore! + * https://www.FreeRTOS.org/RTOS-task-notifications.html + * + * Internally, within the FreeRTOS implementation, counting semaphores use a + * block of memory, in which the counting semaphore structure is stored. If a + * counting semaphore is created using xSemaphoreCreateCounting() then the + * required memory is automatically dynamically allocated inside the + * xSemaphoreCreateCounting() function. (see + * https://www.FreeRTOS.org/a00111.html). If a counting semaphore is created + * using xSemaphoreCreateCountingStatic() then the application writer can + * instead optionally provide the memory that will get used by the counting + * semaphore. xSemaphoreCreateCountingStatic() therefore allows a counting + * semaphore to be created without using any dynamic memory allocation. + * + * Counting semaphores are typically used for two things: + * + * 1) Counting events. + * + * In this usage scenario an event handler will 'give' a semaphore each time + * an event occurs (incrementing the semaphore count value), and a handler + * task will 'take' a semaphore each time it processes an event + * (decrementing the semaphore count value). The count value is therefore + * the difference between the number of events that have occurred and the + * number that have been processed. In this case it is desirable for the + * initial count value to be zero. + * + * 2) Resource management. + * + * In this usage scenario the count value indicates the number of resources + * available. To obtain control of a resource a task must first obtain a + * semaphore - decrementing the semaphore count value. When the count value + * reaches zero there are no free resources. When a task finishes with the + * resource it 'gives' the semaphore back - incrementing the semaphore count + * value. In this case it is desirable for the initial count value to be + * equal to the maximum count value, indicating that all resources are free. + * + * @param uxMaxCount The maximum count value that can be reached. When the + * semaphore reaches this value it can no longer be 'given'. + * + * @param uxInitialCount The count value assigned to the semaphore when it is + * created. + * + * @return Handle to the created semaphore. Null if the semaphore could not be + * created. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * + * void vATask( void * pvParameters ) + * { + * SemaphoreHandle_t xSemaphore = NULL; + * + * // Semaphore cannot be used before a call to xSemaphoreCreateCounting(). + * // The max value to which the semaphore can count should be 10, and the + * // initial value assigned to the count should be 0. + * xSemaphore = xSemaphoreCreateCounting( 10, 0 ); + * + * if( xSemaphore != NULL ) + * { + * // The semaphore was created successfully. + * // The semaphore can now be used. + * } + * } + * @endcode + * \defgroup xSemaphoreCreateCounting xSemaphoreCreateCounting + * \ingroup Semaphores + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #define xSemaphoreCreateCounting( uxMaxCount, uxInitialCount ) xQueueCreateCountingSemaphore( ( uxMaxCount ), ( uxInitialCount ) ) +#endif + +/** + * semphr. h + * @code{c} + * SemaphoreHandle_t xSemaphoreCreateCountingStatic( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount, StaticSemaphore_t *pxSemaphoreBuffer ); + * @endcode + * + * Creates a new counting semaphore instance, and returns a handle by which the + * new counting semaphore can be referenced. + * + * In many usage scenarios it is faster and more memory efficient to use a + * direct to task notification in place of a counting semaphore! + * https://www.FreeRTOS.org/RTOS-task-notifications.html + * + * Internally, within the FreeRTOS implementation, counting semaphores use a + * block of memory, in which the counting semaphore structure is stored. If a + * counting semaphore is created using xSemaphoreCreateCounting() then the + * required memory is automatically dynamically allocated inside the + * xSemaphoreCreateCounting() function. (see + * https://www.FreeRTOS.org/a00111.html). If a counting semaphore is created + * using xSemaphoreCreateCountingStatic() then the application writer must + * provide the memory. xSemaphoreCreateCountingStatic() therefore allows a + * counting semaphore to be created without using any dynamic memory allocation. + * + * Counting semaphores are typically used for two things: + * + * 1) Counting events. + * + * In this usage scenario an event handler will 'give' a semaphore each time + * an event occurs (incrementing the semaphore count value), and a handler + * task will 'take' a semaphore each time it processes an event + * (decrementing the semaphore count value). The count value is therefore + * the difference between the number of events that have occurred and the + * number that have been processed. In this case it is desirable for the + * initial count value to be zero. + * + * 2) Resource management. + * + * In this usage scenario the count value indicates the number of resources + * available. To obtain control of a resource a task must first obtain a + * semaphore - decrementing the semaphore count value. When the count value + * reaches zero there are no free resources. When a task finishes with the + * resource it 'gives' the semaphore back - incrementing the semaphore count + * value. In this case it is desirable for the initial count value to be + * equal to the maximum count value, indicating that all resources are free. + * + * @param uxMaxCount The maximum count value that can be reached. When the + * semaphore reaches this value it can no longer be 'given'. + * + * @param uxInitialCount The count value assigned to the semaphore when it is + * created. + * + * @param pxSemaphoreBuffer Must point to a variable of type StaticSemaphore_t, + * which will then be used to hold the semaphore's data structure, removing the + * need for the memory to be allocated dynamically. + * + * @return If the counting semaphore was successfully created then a handle to + * the created counting semaphore is returned. If pxSemaphoreBuffer was NULL + * then NULL is returned. + * + * Example usage: + * @code{c} + * SemaphoreHandle_t xSemaphore; + * StaticSemaphore_t xSemaphoreBuffer; + * + * void vATask( void * pvParameters ) + * { + * SemaphoreHandle_t xSemaphore = NULL; + * + * // Counting semaphore cannot be used before they have been created. Create + * // a counting semaphore using xSemaphoreCreateCountingStatic(). The max + * // value to which the semaphore can count is 10, and the initial value + * // assigned to the count will be 0. The address of xSemaphoreBuffer is + * // passed in and will be used to hold the semaphore structure, so no dynamic + * // memory allocation will be used. + * xSemaphore = xSemaphoreCreateCounting( 10, 0, &xSemaphoreBuffer ); + * + * // No memory allocation was attempted so xSemaphore cannot be NULL, so there + * // is no need to check its value. + * } + * @endcode + * \defgroup xSemaphoreCreateCountingStatic xSemaphoreCreateCountingStatic + * \ingroup Semaphores + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #define xSemaphoreCreateCountingStatic( uxMaxCount, uxInitialCount, pxSemaphoreBuffer ) xQueueCreateCountingSemaphoreStatic( ( uxMaxCount ), ( uxInitialCount ), ( pxSemaphoreBuffer ) ) +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * semphr. h + * @code{c} + * void vSemaphoreDelete( SemaphoreHandle_t xSemaphore ); + * @endcode + * + * Delete a semaphore. This function must be used with care. For example, + * do not delete a mutex type semaphore if the mutex is held by a task. + * + * @param xSemaphore A handle to the semaphore to be deleted. + * + * \defgroup vSemaphoreDelete vSemaphoreDelete + * \ingroup Semaphores + */ +#define vSemaphoreDelete( xSemaphore ) vQueueDelete( ( QueueHandle_t ) ( xSemaphore ) ) + +/** + * semphr.h + * @code{c} + * TaskHandle_t xSemaphoreGetMutexHolder( SemaphoreHandle_t xMutex ); + * @endcode + * + * If xMutex is indeed a mutex type semaphore, return the current mutex holder. + * If xMutex is not a mutex type semaphore, or the mutex is available (not held + * by a task), return NULL. + * + * Note: This is a good way of determining if the calling task is the mutex + * holder, but not a good way of determining the identity of the mutex holder as + * the holder may change between the function exiting and the returned value + * being tested. + */ +#define xSemaphoreGetMutexHolder( xSemaphore ) xQueueGetMutexHolder( ( xSemaphore ) ) + +/** + * semphr.h + * @code{c} + * TaskHandle_t xSemaphoreGetMutexHolderFromISR( SemaphoreHandle_t xMutex ); + * @endcode + * + * If xMutex is indeed a mutex type semaphore, return the current mutex holder. + * If xMutex is not a mutex type semaphore, or the mutex is available (not held + * by a task), return NULL. + * + */ +#define xSemaphoreGetMutexHolderFromISR( xSemaphore ) xQueueGetMutexHolderFromISR( ( xSemaphore ) ) + +/** + * semphr.h + * @code{c} + * UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore ); + * @endcode + * + * If the semaphore is a counting semaphore then uxSemaphoreGetCount() returns + * its current count value. If the semaphore is a binary semaphore then + * uxSemaphoreGetCount() returns 1 if the semaphore is available, and 0 if the + * semaphore is not available. + * + */ +#define uxSemaphoreGetCount( xSemaphore ) uxQueueMessagesWaiting( ( QueueHandle_t ) ( xSemaphore ) ) + +/** + * semphr.h + * @code{c} + * UBaseType_t uxSemaphoreGetCountFromISR( SemaphoreHandle_t xSemaphore ); + * @endcode + * + * If the semaphore is a counting semaphore then uxSemaphoreGetCountFromISR() returns + * its current count value. If the semaphore is a binary semaphore then + * uxSemaphoreGetCountFromISR() returns 1 if the semaphore is available, and 0 if the + * semaphore is not available. + * + */ +#define uxSemaphoreGetCountFromISR( xSemaphore ) uxQueueMessagesWaitingFromISR( ( QueueHandle_t ) ( xSemaphore ) ) + +#endif /* SEMAPHORE_H */ diff --git a/freertos/cvitek/install/include/kernel/stack_macros.h b/freertos/cvitek/install/include/kernel/stack_macros.h new file mode 100644 index 000000000..cfe5b9532 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/stack_macros.h @@ -0,0 +1,137 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef STACK_MACROS_H +#define STACK_MACROS_H + +/* + * Call the stack overflow hook function if the stack of the task being swapped + * out is currently overflowed, or looks like it might have overflowed in the + * past. + * + * Setting configCHECK_FOR_STACK_OVERFLOW to 1 will cause the macro to check + * the current stack state only - comparing the current top of stack value to + * the stack limit. Setting configCHECK_FOR_STACK_OVERFLOW to greater than 1 + * will also cause the last few stack bytes to be checked to ensure the value + * to which the bytes were set when the task was created have not been + * overwritten. Note this second test does not guarantee that an overflowed + * stack will always be recognised. + */ + +/*-----------------------------------------------------------*/ + +/* + * portSTACK_LIMIT_PADDING is a number of extra words to consider to be in + * use on the stack. + */ +#ifndef portSTACK_LIMIT_PADDING + #define portSTACK_LIMIT_PADDING 0 +#endif + +#if ( ( configCHECK_FOR_STACK_OVERFLOW == 1 ) && ( portSTACK_GROWTH < 0 ) ) + +/* Only the current stack state is to be checked. */ + #define taskCHECK_FOR_STACK_OVERFLOW() \ + { \ + /* Is the currently saved stack pointer within the stack limit? */ \ + if( pxCurrentTCB->pxTopOfStack <= pxCurrentTCB->pxStack + portSTACK_LIMIT_PADDING ) \ + { \ + vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName ); \ + } \ + } + +#endif /* configCHECK_FOR_STACK_OVERFLOW == 1 */ +/*-----------------------------------------------------------*/ + +#if ( ( configCHECK_FOR_STACK_OVERFLOW == 1 ) && ( portSTACK_GROWTH > 0 ) ) + +/* Only the current stack state is to be checked. */ + #define taskCHECK_FOR_STACK_OVERFLOW() \ + { \ + \ + /* Is the currently saved stack pointer within the stack limit? */ \ + if( pxCurrentTCB->pxTopOfStack >= pxCurrentTCB->pxEndOfStack - portSTACK_LIMIT_PADDING ) \ + { \ + vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName ); \ + } \ + } + +#endif /* configCHECK_FOR_STACK_OVERFLOW == 1 */ +/*-----------------------------------------------------------*/ + +#if ( ( configCHECK_FOR_STACK_OVERFLOW > 1 ) && ( portSTACK_GROWTH < 0 ) ) + + #define taskCHECK_FOR_STACK_OVERFLOW() \ + { \ + const uint32_t * const pulStack = ( uint32_t * ) pxCurrentTCB->pxStack; \ + const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5; \ + \ + if( ( pulStack[ 0 ] != ulCheckValue ) || \ + ( pulStack[ 1 ] != ulCheckValue ) || \ + ( pulStack[ 2 ] != ulCheckValue ) || \ + ( pulStack[ 3 ] != ulCheckValue ) ) \ + { \ + vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName ); \ + } \ + } + +#endif /* #if( configCHECK_FOR_STACK_OVERFLOW > 1 ) */ +/*-----------------------------------------------------------*/ + +#if ( ( configCHECK_FOR_STACK_OVERFLOW > 1 ) && ( portSTACK_GROWTH > 0 ) ) + + #define taskCHECK_FOR_STACK_OVERFLOW() \ + { \ + int8_t * pcEndOfStack = ( int8_t * ) pxCurrentTCB->pxEndOfStack; \ + static const uint8_t ucExpectedStackBytes[] = { tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, \ + tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, \ + tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, \ + tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, \ + tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE }; \ + \ + \ + pcEndOfStack -= sizeof( ucExpectedStackBytes ); \ + \ + /* Has the extremity of the task stack ever been written over? */ \ + if( memcmp( ( void * ) pcEndOfStack, ( void * ) ucExpectedStackBytes, sizeof( ucExpectedStackBytes ) ) != 0 ) \ + { \ + vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName ); \ + } \ + } + +#endif /* #if( configCHECK_FOR_STACK_OVERFLOW > 1 ) */ +/*-----------------------------------------------------------*/ + +/* Remove stack overflow macro if not being used. */ +#ifndef taskCHECK_FOR_STACK_OVERFLOW + #define taskCHECK_FOR_STACK_OVERFLOW() +#endif + + + +#endif /* STACK_MACROS_H */ diff --git a/freertos/cvitek/install/include/kernel/stream_buffer.h b/freertos/cvitek/install/include/kernel/stream_buffer.h new file mode 100644 index 000000000..c2812d411 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/stream_buffer.h @@ -0,0 +1,869 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* + * Stream buffers are used to send a continuous stream of data from one task or + * interrupt to another. Their implementation is light weight, making them + * particularly suited for interrupt to task and core to core communication + * scenarios. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xStreamBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xStreamBufferReceive()) inside a critical section section and set the + * receive block time to 0. + * + */ + +#ifndef STREAM_BUFFER_H +#define STREAM_BUFFER_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include stream_buffer.h" +#endif + +/* *INDENT-OFF* */ +#if defined( __cplusplus ) + extern "C" { +#endif +/* *INDENT-ON* */ + +/** + * Type by which stream buffers are referenced. For example, a call to + * xStreamBufferCreate() returns an StreamBufferHandle_t variable that can + * then be used as a parameter to xStreamBufferSend(), xStreamBufferReceive(), + * etc. + */ +struct StreamBufferDef_t; +typedef struct StreamBufferDef_t * StreamBufferHandle_t; + + +/** + * stream_buffer.h + * + * @code{c} + * StreamBufferHandle_t xStreamBufferCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes ); + * @endcode + * + * Creates a new stream buffer using dynamically allocated memory. See + * xStreamBufferCreateStatic() for a version that uses statically allocated + * memory (memory that is allocated at compile time). + * + * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in + * FreeRTOSConfig.h for xStreamBufferCreate() to be available. + * + * @param xBufferSizeBytes The total number of bytes the stream buffer will be + * able to hold at any one time. + * + * @param xTriggerLevelBytes The number of bytes that must be in the stream + * buffer before a task that is blocked on the stream buffer to wait for data is + * moved out of the blocked state. For example, if a task is blocked on a read + * of an empty stream buffer that has a trigger level of 1 then the task will be + * unblocked when a single byte is written to the buffer or the task's block + * time expires. As another example, if a task is blocked on a read of an empty + * stream buffer that has a trigger level of 10 then the task will not be + * unblocked until the stream buffer contains at least 10 bytes or the task's + * block time expires. If a reading task's block time expires before the + * trigger level is reached then the task will still receive however many bytes + * are actually available. Setting a trigger level of 0 will result in a + * trigger level of 1 being used. It is not valid to specify a trigger level + * that is greater than the buffer size. + * + * @return If NULL is returned, then the stream buffer cannot be created + * because there is insufficient heap memory available for FreeRTOS to allocate + * the stream buffer data structures and storage area. A non-NULL value being + * returned indicates that the stream buffer has been created successfully - + * the returned value should be stored as the handle to the created stream + * buffer. + * + * Example use: + * @code{c} + * + * void vAFunction( void ) + * { + * StreamBufferHandle_t xStreamBuffer; + * const size_t xStreamBufferSizeBytes = 100, xTriggerLevel = 10; + * + * // Create a stream buffer that can hold 100 bytes. The memory used to hold + * // both the stream buffer structure and the data in the stream buffer is + * // allocated dynamically. + * xStreamBuffer = xStreamBufferCreate( xStreamBufferSizeBytes, xTriggerLevel ); + * + * if( xStreamBuffer == NULL ) + * { + * // There was not enough heap memory space available to create the + * // stream buffer. + * } + * else + * { + * // The stream buffer was created successfully and can now be used. + * } + * } + * @endcode + * \defgroup xStreamBufferCreate xStreamBufferCreate + * \ingroup StreamBufferManagement + */ +#define xStreamBufferCreate( xBufferSizeBytes, xTriggerLevelBytes ) xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, pdFALSE ) + +/** + * stream_buffer.h + * + * @code{c} + * StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes, + * size_t xTriggerLevelBytes, + * uint8_t *pucStreamBufferStorageArea, + * StaticStreamBuffer_t *pxStaticStreamBuffer ); + * @endcode + * Creates a new stream buffer using statically allocated memory. See + * xStreamBufferCreate() for a version that uses dynamically allocated memory. + * + * configSUPPORT_STATIC_ALLOCATION must be set to 1 in FreeRTOSConfig.h for + * xStreamBufferCreateStatic() to be available. + * + * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the + * pucStreamBufferStorageArea parameter. + * + * @param xTriggerLevelBytes The number of bytes that must be in the stream + * buffer before a task that is blocked on the stream buffer to wait for data is + * moved out of the blocked state. For example, if a task is blocked on a read + * of an empty stream buffer that has a trigger level of 1 then the task will be + * unblocked when a single byte is written to the buffer or the task's block + * time expires. As another example, if a task is blocked on a read of an empty + * stream buffer that has a trigger level of 10 then the task will not be + * unblocked until the stream buffer contains at least 10 bytes or the task's + * block time expires. If a reading task's block time expires before the + * trigger level is reached then the task will still receive however many bytes + * are actually available. Setting a trigger level of 0 will result in a + * trigger level of 1 being used. It is not valid to specify a trigger level + * that is greater than the buffer size. + * + * @param pucStreamBufferStorageArea Must point to a uint8_t array that is at + * least xBufferSizeBytes big. This is the array to which streams are + * copied when they are written to the stream buffer. + * + * @param pxStaticStreamBuffer Must point to a variable of type + * StaticStreamBuffer_t, which will be used to hold the stream buffer's data + * structure. + * + * @return If the stream buffer is created successfully then a handle to the + * created stream buffer is returned. If either pucStreamBufferStorageArea or + * pxStaticstreamBuffer are NULL then NULL is returned. + * + * Example use: + * @code{c} + * + * // Used to dimension the array used to hold the streams. The available space + * // will actually be one less than this, so 999. + #define STORAGE_SIZE_BYTES 1000 + * + * // Defines the memory that will actually hold the streams within the stream + * // buffer. + * static uint8_t ucStorageBuffer[ STORAGE_SIZE_BYTES ]; + * + * // The variable used to hold the stream buffer structure. + * StaticStreamBuffer_t xStreamBufferStruct; + * + * void MyFunction( void ) + * { + * StreamBufferHandle_t xStreamBuffer; + * const size_t xTriggerLevel = 1; + * + * xStreamBuffer = xStreamBufferCreateStatic( sizeof( ucStorageBuffer ), + * xTriggerLevel, + * ucStorageBuffer, + * &xStreamBufferStruct ); + * + * // As neither the pucStreamBufferStorageArea or pxStaticStreamBuffer + * // parameters were NULL, xStreamBuffer will not be NULL, and can be used to + * // reference the created stream buffer in other stream buffer API calls. + * + * // Other code that uses the stream buffer can go here. + * } + * + * @endcode + * \defgroup xStreamBufferCreateStatic xStreamBufferCreateStatic + * \ingroup StreamBufferManagement + */ +#define xStreamBufferCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, pucStreamBufferStorageArea, pxStaticStreamBuffer ) \ + xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, pdFALSE, pucStreamBufferStorageArea, pxStaticStreamBuffer ) + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + * const void *pvTxData, + * size_t xDataLengthBytes, + * TickType_t xTicksToWait ); + * @endcode + * + * Sends bytes to a stream buffer. The bytes are copied into the stream buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xStreamBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xStreamBufferReceive()) inside a critical section and set the receive + * block time to 0. + * + * Use xStreamBufferSend() to write to a stream buffer from a task. Use + * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt + * service routine (ISR). + * + * @param xStreamBuffer The handle of the stream buffer to which a stream is + * being sent. + * + * @param pvTxData A pointer to the buffer that holds the bytes to be copied + * into the stream buffer. + * + * @param xDataLengthBytes The maximum number of bytes to copy from pvTxData + * into the stream buffer. + * + * @param xTicksToWait The maximum amount of time the task should remain in the + * Blocked state to wait for enough space to become available in the stream + * buffer, should the stream buffer contain too little space to hold the + * another xDataLengthBytes bytes. The block time is specified in tick periods, + * so the absolute time it represents is dependent on the tick frequency. The + * macro pdMS_TO_TICKS() can be used to convert a time specified in milliseconds + * into a time specified in ticks. Setting xTicksToWait to portMAX_DELAY will + * cause the task to wait indefinitely (without timing out), provided + * INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h. If a task times out + * before it can write all xDataLengthBytes into the buffer it will still write + * as many bytes as possible. A task does not use any CPU time when it is in + * the blocked state. + * + * @return The number of bytes written to the stream buffer. If a task times + * out before it can write all xDataLengthBytes into the buffer it will still + * write as many bytes as possible. + * + * Example use: + * @code{c} + * void vAFunction( StreamBufferHandle_t xStreamBuffer ) + * { + * size_t xBytesSent; + * uint8_t ucArrayToSend[] = { 0, 1, 2, 3 }; + * char *pcStringToSend = "String to send"; + * const TickType_t x100ms = pdMS_TO_TICKS( 100 ); + * + * // Send an array to the stream buffer, blocking for a maximum of 100ms to + * // wait for enough space to be available in the stream buffer. + * xBytesSent = xStreamBufferSend( xStreamBuffer, ( void * ) ucArrayToSend, sizeof( ucArrayToSend ), x100ms ); + * + * if( xBytesSent != sizeof( ucArrayToSend ) ) + * { + * // The call to xStreamBufferSend() times out before there was enough + * // space in the buffer for the data to be written, but it did + * // successfully write xBytesSent bytes. + * } + * + * // Send the string to the stream buffer. Return immediately if there is not + * // enough space in the buffer. + * xBytesSent = xStreamBufferSend( xStreamBuffer, ( void * ) pcStringToSend, strlen( pcStringToSend ), 0 ); + * + * if( xBytesSent != strlen( pcStringToSend ) ) + * { + * // The entire string could not be added to the stream buffer because + * // there was not enough free space in the buffer, but xBytesSent bytes + * // were sent. Could try again to send the remaining bytes. + * } + * } + * @endcode + * \defgroup xStreamBufferSend xStreamBufferSend + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, + * const void *pvTxData, + * size_t xDataLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * Interrupt safe version of the API function that sends a stream of bytes to + * the stream buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xStreamBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xStreamBufferReceive()) inside a critical section and set the receive + * block time to 0. + * + * Use xStreamBufferSend() to write to a stream buffer from a task. Use + * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt + * service routine (ISR). + * + * @param xStreamBuffer The handle of the stream buffer to which a stream is + * being sent. + * + * @param pvTxData A pointer to the data that is to be copied into the stream + * buffer. + * + * @param xDataLengthBytes The maximum number of bytes to copy from pvTxData + * into the stream buffer. + * + * @param pxHigherPriorityTaskWoken It is possible that a stream buffer will + * have a task blocked on it waiting for data. Calling + * xStreamBufferSendFromISR() can make data available, and so cause a task that + * was waiting for data to leave the Blocked state. If calling + * xStreamBufferSendFromISR() causes a task to leave the Blocked state, and the + * unblocked task has a priority higher than the currently executing task (the + * task that was interrupted), then, internally, xStreamBufferSendFromISR() + * will set *pxHigherPriorityTaskWoken to pdTRUE. If + * xStreamBufferSendFromISR() sets this value to pdTRUE, then normally a + * context switch should be performed before the interrupt is exited. This will + * ensure that the interrupt returns directly to the highest priority Ready + * state task. *pxHigherPriorityTaskWoken should be set to pdFALSE before it + * is passed into the function. See the example code below for an example. + * + * @return The number of bytes actually written to the stream buffer, which will + * be less than xDataLengthBytes if the stream buffer didn't have enough free + * space for all the bytes to be written. + * + * Example use: + * @code{c} + * // A stream buffer that has already been created. + * StreamBufferHandle_t xStreamBuffer; + * + * void vAnInterruptServiceRoutine( void ) + * { + * size_t xBytesSent; + * char *pcStringToSend = "String to send"; + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; // Initialised to pdFALSE. + * + * // Attempt to send the string to the stream buffer. + * xBytesSent = xStreamBufferSendFromISR( xStreamBuffer, + * ( void * ) pcStringToSend, + * strlen( pcStringToSend ), + * &xHigherPriorityTaskWoken ); + * + * if( xBytesSent != strlen( pcStringToSend ) ) + * { + * // There was not enough free space in the stream buffer for the entire + * // string to be written, ut xBytesSent bytes were written. + * } + * + * // If xHigherPriorityTaskWoken was set to pdTRUE inside + * // xStreamBufferSendFromISR() then a task that has a priority above the + * // priority of the currently executing task was unblocked and a context + * // switch should be performed to ensure the ISR returns to the unblocked + * // task. In most FreeRTOS ports this is done by simply passing + * // xHigherPriorityTaskWoken into taskYIELD_FROM_ISR(), which will test the + * // variables value, and perform the context switch if necessary. Check the + * // documentation for the port in use for port specific instructions. + * taskYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * } + * @endcode + * \defgroup xStreamBufferSendFromISR xStreamBufferSendFromISR + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + BaseType_t * const pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + * void *pvRxData, + * size_t xBufferLengthBytes, + * TickType_t xTicksToWait ); + * @endcode + * + * Receives bytes from a stream buffer. + * + * ***NOTE***: Uniquely among FreeRTOS objects, the stream buffer + * implementation (so also the message buffer implementation, as message buffers + * are built on top of stream buffers) assumes there is only one task or + * interrupt that will write to the buffer (the writer), and only one task or + * interrupt that will read from the buffer (the reader). It is safe for the + * writer and reader to be different tasks or interrupts, but, unlike other + * FreeRTOS objects, it is not safe to have multiple different writers or + * multiple different readers. If there are to be multiple different writers + * then the application writer must place each call to a writing API function + * (such as xStreamBufferSend()) inside a critical section and set the send + * block time to 0. Likewise, if there are to be multiple different readers + * then the application writer must place each call to a reading API function + * (such as xStreamBufferReceive()) inside a critical section and set the receive + * block time to 0. + * + * Use xStreamBufferReceive() to read from a stream buffer from a task. Use + * xStreamBufferReceiveFromISR() to read from a stream buffer from an + * interrupt service routine (ISR). + * + * @param xStreamBuffer The handle of the stream buffer from which bytes are to + * be received. + * + * @param pvRxData A pointer to the buffer into which the received bytes will be + * copied. + * + * @param xBufferLengthBytes The length of the buffer pointed to by the + * pvRxData parameter. This sets the maximum number of bytes to receive in one + * call. xStreamBufferReceive will return as many bytes as possible up to a + * maximum set by xBufferLengthBytes. + * + * @param xTicksToWait The maximum amount of time the task should remain in the + * Blocked state to wait for data to become available if the stream buffer is + * empty. xStreamBufferReceive() will return immediately if xTicksToWait is + * zero. The block time is specified in tick periods, so the absolute time it + * represents is dependent on the tick frequency. The macro pdMS_TO_TICKS() can + * be used to convert a time specified in milliseconds into a time specified in + * ticks. Setting xTicksToWait to portMAX_DELAY will cause the task to wait + * indefinitely (without timing out), provided INCLUDE_vTaskSuspend is set to 1 + * in FreeRTOSConfig.h. A task does not use any CPU time when it is in the + * Blocked state. + * + * @return The number of bytes actually read from the stream buffer, which will + * be less than xBufferLengthBytes if the call to xStreamBufferReceive() timed + * out before xBufferLengthBytes were available. + * + * Example use: + * @code{c} + * void vAFunction( StreamBuffer_t xStreamBuffer ) + * { + * uint8_t ucRxData[ 20 ]; + * size_t xReceivedBytes; + * const TickType_t xBlockTime = pdMS_TO_TICKS( 20 ); + * + * // Receive up to another sizeof( ucRxData ) bytes from the stream buffer. + * // Wait in the Blocked state (so not using any CPU processing time) for a + * // maximum of 100ms for the full sizeof( ucRxData ) number of bytes to be + * // available. + * xReceivedBytes = xStreamBufferReceive( xStreamBuffer, + * ( void * ) ucRxData, + * sizeof( ucRxData ), + * xBlockTime ); + * + * if( xReceivedBytes > 0 ) + * { + * // A ucRxData contains another xRecievedBytes bytes of data, which can + * // be processed here.... + * } + * } + * @endcode + * \defgroup xStreamBufferReceive xStreamBufferReceive + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, + * void *pvRxData, + * size_t xBufferLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * An interrupt safe version of the API function that receives bytes from a + * stream buffer. + * + * Use xStreamBufferReceive() to read bytes from a stream buffer from a task. + * Use xStreamBufferReceiveFromISR() to read bytes from a stream buffer from an + * interrupt service routine (ISR). + * + * @param xStreamBuffer The handle of the stream buffer from which a stream + * is being received. + * + * @param pvRxData A pointer to the buffer into which the received bytes are + * copied. + * + * @param xBufferLengthBytes The length of the buffer pointed to by the + * pvRxData parameter. This sets the maximum number of bytes to receive in one + * call. xStreamBufferReceive will return as many bytes as possible up to a + * maximum set by xBufferLengthBytes. + * + * @param pxHigherPriorityTaskWoken It is possible that a stream buffer will + * have a task blocked on it waiting for space to become available. Calling + * xStreamBufferReceiveFromISR() can make space available, and so cause a task + * that is waiting for space to leave the Blocked state. If calling + * xStreamBufferReceiveFromISR() causes a task to leave the Blocked state, and + * the unblocked task has a priority higher than the currently executing task + * (the task that was interrupted), then, internally, + * xStreamBufferReceiveFromISR() will set *pxHigherPriorityTaskWoken to pdTRUE. + * If xStreamBufferReceiveFromISR() sets this value to pdTRUE, then normally a + * context switch should be performed before the interrupt is exited. That will + * ensure the interrupt returns directly to the highest priority Ready state + * task. *pxHigherPriorityTaskWoken should be set to pdFALSE before it is + * passed into the function. See the code example below for an example. + * + * @return The number of bytes read from the stream buffer, if any. + * + * Example use: + * @code{c} + * // A stream buffer that has already been created. + * StreamBuffer_t xStreamBuffer; + * + * void vAnInterruptServiceRoutine( void ) + * { + * uint8_t ucRxData[ 20 ]; + * size_t xReceivedBytes; + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; // Initialised to pdFALSE. + * + * // Receive the next stream from the stream buffer. + * xReceivedBytes = xStreamBufferReceiveFromISR( xStreamBuffer, + * ( void * ) ucRxData, + * sizeof( ucRxData ), + * &xHigherPriorityTaskWoken ); + * + * if( xReceivedBytes > 0 ) + * { + * // ucRxData contains xReceivedBytes read from the stream buffer. + * // Process the stream here.... + * } + * + * // If xHigherPriorityTaskWoken was set to pdTRUE inside + * // xStreamBufferReceiveFromISR() then a task that has a priority above the + * // priority of the currently executing task was unblocked and a context + * // switch should be performed to ensure the ISR returns to the unblocked + * // task. In most FreeRTOS ports this is done by simply passing + * // xHigherPriorityTaskWoken into taskYIELD_FROM_ISR(), which will test the + * // variables value, and perform the context switch if necessary. Check the + * // documentation for the port in use for port specific instructions. + * taskYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * } + * @endcode + * \defgroup xStreamBufferReceiveFromISR xStreamBufferReceiveFromISR + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + BaseType_t * const pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Deletes a stream buffer that was previously created using a call to + * xStreamBufferCreate() or xStreamBufferCreateStatic(). If the stream + * buffer was created using dynamic memory (that is, by xStreamBufferCreate()), + * then the allocated memory is freed. + * + * A stream buffer handle must not be used after the stream buffer has been + * deleted. + * + * @param xStreamBuffer The handle of the stream buffer to be deleted. + * + * \defgroup vStreamBufferDelete vStreamBufferDelete + * \ingroup StreamBufferManagement + */ +void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Queries a stream buffer to see if it is full. A stream buffer is full if it + * does not have any free space, and therefore cannot accept any more data. + * + * @param xStreamBuffer The handle of the stream buffer being queried. + * + * @return If the stream buffer is full then pdTRUE is returned. Otherwise + * pdFALSE is returned. + * + * \defgroup xStreamBufferIsFull xStreamBufferIsFull + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Queries a stream buffer to see if it is empty. A stream buffer is empty if + * it does not contain any data. + * + * @param xStreamBuffer The handle of the stream buffer being queried. + * + * @return If the stream buffer is empty then pdTRUE is returned. Otherwise + * pdFALSE is returned. + * + * \defgroup xStreamBufferIsEmpty xStreamBufferIsEmpty + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Resets a stream buffer to its initial, empty, state. Any data that was in + * the stream buffer is discarded. A stream buffer can only be reset if there + * are no tasks blocked waiting to either send to or receive from the stream + * buffer. + * + * @param xStreamBuffer The handle of the stream buffer being reset. + * + * @return If the stream buffer is reset then pdPASS is returned. If there was + * a task blocked waiting to send to or read from the stream buffer then the + * stream buffer is not reset and pdFAIL is returned. + * + * \defgroup xStreamBufferReset xStreamBufferReset + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Queries a stream buffer to see how much free space it contains, which is + * equal to the amount of data that can be sent to the stream buffer before it + * is full. + * + * @param xStreamBuffer The handle of the stream buffer being queried. + * + * @return The number of bytes that can be written to the stream buffer before + * the stream buffer would be full. + * + * \defgroup xStreamBufferSpacesAvailable xStreamBufferSpacesAvailable + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ); + * @endcode + * + * Queries a stream buffer to see how much data it contains, which is equal to + * the number of bytes that can be read from the stream buffer before the stream + * buffer would be empty. + * + * @param xStreamBuffer The handle of the stream buffer being queried. + * + * @return The number of bytes that can be read from the stream buffer before + * the stream buffer would be empty. + * + * \defgroup xStreamBufferBytesAvailable xStreamBufferBytesAvailable + * \ingroup StreamBufferManagement + */ +size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel ); + * @endcode + * + * A stream buffer's trigger level is the number of bytes that must be in the + * stream buffer before a task that is blocked on the stream buffer to + * wait for data is moved out of the blocked state. For example, if a task is + * blocked on a read of an empty stream buffer that has a trigger level of 1 + * then the task will be unblocked when a single byte is written to the buffer + * or the task's block time expires. As another example, if a task is blocked + * on a read of an empty stream buffer that has a trigger level of 10 then the + * task will not be unblocked until the stream buffer contains at least 10 bytes + * or the task's block time expires. If a reading task's block time expires + * before the trigger level is reached then the task will still receive however + * many bytes are actually available. Setting a trigger level of 0 will result + * in a trigger level of 1 being used. It is not valid to specify a trigger + * level that is greater than the buffer size. + * + * A trigger level is set when the stream buffer is created, and can be modified + * using xStreamBufferSetTriggerLevel(). + * + * @param xStreamBuffer The handle of the stream buffer being updated. + * + * @param xTriggerLevel The new trigger level for the stream buffer. + * + * @return If xTriggerLevel was less than or equal to the stream buffer's length + * then the trigger level will be updated and pdTRUE is returned. Otherwise + * pdFALSE is returned. + * + * \defgroup xStreamBufferSetTriggerLevel xStreamBufferSetTriggerLevel + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * For advanced users only. + * + * The sbSEND_COMPLETED() macro is called from within the FreeRTOS APIs when + * data is sent to a message buffer or stream buffer. If there was a task that + * was blocked on the message or stream buffer waiting for data to arrive then + * the sbSEND_COMPLETED() macro sends a notification to the task to remove it + * from the Blocked state. xStreamBufferSendCompletedFromISR() does the same + * thing. It is provided to enable application writers to implement their own + * version of sbSEND_COMPLETED(), and MUST NOT BE USED AT ANY OTHER TIME. + * + * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for + * additional information. + * + * @param xStreamBuffer The handle of the stream buffer to which data was + * written. + * + * @param pxHigherPriorityTaskWoken *pxHigherPriorityTaskWoken should be + * initialised to pdFALSE before it is passed into + * xStreamBufferSendCompletedFromISR(). If calling + * xStreamBufferSendCompletedFromISR() removes a task from the Blocked state, + * and the task has a priority above the priority of the currently running task, + * then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a + * context switch should be performed before exiting the ISR. + * + * @return If a task was removed from the Blocked state then pdTRUE is returned. + * Otherwise pdFALSE is returned. + * + * \defgroup xStreamBufferSendCompletedFromISR xStreamBufferSendCompletedFromISR + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/** + * stream_buffer.h + * + * @code{c} + * BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * For advanced users only. + * + * The sbRECEIVE_COMPLETED() macro is called from within the FreeRTOS APIs when + * data is read out of a message buffer or stream buffer. If there was a task + * that was blocked on the message or stream buffer waiting for data to arrive + * then the sbRECEIVE_COMPLETED() macro sends a notification to the task to + * remove it from the Blocked state. xStreamBufferReceiveCompletedFromISR() + * does the same thing. It is provided to enable application writers to + * implement their own version of sbRECEIVE_COMPLETED(), and MUST NOT BE USED AT + * ANY OTHER TIME. + * + * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for + * additional information. + * + * @param xStreamBuffer The handle of the stream buffer from which data was + * read. + * + * @param pxHigherPriorityTaskWoken *pxHigherPriorityTaskWoken should be + * initialised to pdFALSE before it is passed into + * xStreamBufferReceiveCompletedFromISR(). If calling + * xStreamBufferReceiveCompletedFromISR() removes a task from the Blocked state, + * and the task has a priority above the priority of the currently running task, + * then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a + * context switch should be performed before exiting the ISR. + * + * @return If a task was removed from the Blocked state then pdTRUE is returned. + * Otherwise pdFALSE is returned. + * + * \defgroup xStreamBufferReceiveCompletedFromISR xStreamBufferReceiveCompletedFromISR + * \ingroup StreamBufferManagement + */ +BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/* Functions below here are not part of the public API. */ +StreamBufferHandle_t xStreamBufferGenericCreate( size_t xBufferSizeBytes, + size_t xTriggerLevelBytes, + BaseType_t xIsMessageBuffer ) PRIVILEGED_FUNCTION; + +StreamBufferHandle_t xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, + size_t xTriggerLevelBytes, + BaseType_t xIsMessageBuffer, + uint8_t * const pucStreamBufferStorageArea, + StaticStreamBuffer_t * const pxStaticStreamBuffer ) PRIVILEGED_FUNCTION; + +size_t xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + +#if ( configUSE_TRACE_FACILITY == 1 ) + void vStreamBufferSetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer, + UBaseType_t uxStreamBufferNumber ) PRIVILEGED_FUNCTION; + UBaseType_t uxStreamBufferGetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + uint8_t ucStreamBufferGetStreamBufferType( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; +#endif + +/* *INDENT-OFF* */ +#if defined( __cplusplus ) + } +#endif +/* *INDENT-ON* */ + +#endif /* !defined( STREAM_BUFFER_H ) */ diff --git a/freertos/cvitek/install/include/kernel/task.h b/freertos/cvitek/install/include/kernel/task.h new file mode 100644 index 000000000..ec80cd9a9 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/task.h @@ -0,0 +1,3112 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +#ifndef INC_TASK_H +#define INC_TASK_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include task.h" +#endif + +#include "list.h" + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/*----------------------------------------------------------- +* MACROS AND DEFINITIONS +*----------------------------------------------------------*/ + +/* + * If tskKERNEL_VERSION_NUMBER ends with + it represents the version in development + * after the numbered release. + * + * The tskKERNEL_VERSION_MAJOR, tskKERNEL_VERSION_MINOR, tskKERNEL_VERSION_BUILD + * values will reflect the last released version number. + */ +#define tskKERNEL_VERSION_NUMBER "V10.4.6" +#define tskKERNEL_VERSION_MAJOR 10 +#define tskKERNEL_VERSION_MINOR 4 +#define tskKERNEL_VERSION_BUILD 6 + +/* MPU region parameters passed in ulParameters + * of MemoryRegion_t struct. */ +#define tskMPU_REGION_READ_ONLY ( 1UL << 0UL ) +#define tskMPU_REGION_READ_WRITE ( 1UL << 1UL ) +#define tskMPU_REGION_EXECUTE_NEVER ( 1UL << 2UL ) +#define tskMPU_REGION_NORMAL_MEMORY ( 1UL << 3UL ) +#define tskMPU_REGION_DEVICE_MEMORY ( 1UL << 4UL ) + +/* The direct to task notification feature used to have only a single notification + * per task. Now there is an array of notifications per task that is dimensioned by + * configTASK_NOTIFICATION_ARRAY_ENTRIES. For backward compatibility, any use of the + * original direct to task notification defaults to using the first index in the + * array. */ +#define tskDEFAULT_INDEX_TO_NOTIFY ( 0 ) + +/** + * task. h + * + * Type by which tasks are referenced. For example, a call to xTaskCreate + * returns (via a pointer parameter) an TaskHandle_t variable that can then + * be used as a parameter to vTaskDelete to delete the task. + * + * \defgroup TaskHandle_t TaskHandle_t + * \ingroup Tasks + */ +struct tskTaskControlBlock; /* The old naming convention is used to prevent breaking kernel aware debuggers. */ +typedef struct tskTaskControlBlock * TaskHandle_t; + +/* + * Defines the prototype to which the application task hook function must + * conform. + */ +typedef BaseType_t (* TaskHookFunction_t)( void * ); + +/* Task states returned by eTaskGetState. */ +typedef enum +{ + eRunning = 0, /* A task is querying the state of itself, so must be running. */ + eReady, /* The task being queried is in a ready or pending ready list. */ + eBlocked, /* The task being queried is in the Blocked state. */ + eSuspended, /* The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */ + eDeleted, /* The task being queried has been deleted, but its TCB has not yet been freed. */ + eInvalid /* Used as an 'invalid state' value. */ +} eTaskState; + +/* Actions that can be performed when vTaskNotify() is called. */ +typedef enum +{ + eNoAction = 0, /* Notify the task without updating its notify value. */ + eSetBits, /* Set bits in the task's notification value. */ + eIncrement, /* Increment the task's notification value. */ + eSetValueWithOverwrite, /* Set the task's notification value to a specific value even if the previous value has not yet been read by the task. */ + eSetValueWithoutOverwrite /* Set the task's notification value if the previous value has been read by the task. */ +} eNotifyAction; + +/* + * Used internally only. + */ +typedef struct xTIME_OUT +{ + BaseType_t xOverflowCount; + TickType_t xTimeOnEntering; +} TimeOut_t; + +/* + * Defines the memory ranges allocated to the task when an MPU is used. + */ +typedef struct xMEMORY_REGION +{ + void * pvBaseAddress; + uint32_t ulLengthInBytes; + uint32_t ulParameters; +} MemoryRegion_t; + +/* + * Parameters required to create an MPU protected task. + */ +typedef struct xTASK_PARAMETERS +{ + TaskFunction_t pvTaskCode; + const char * pcName; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + configSTACK_DEPTH_TYPE usStackDepth; + void * pvParameters; + UBaseType_t uxPriority; + StackType_t * puxStackBuffer; + MemoryRegion_t xRegions[ portNUM_CONFIGURABLE_REGIONS ]; + #if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) + StaticTask_t * const pxTaskBuffer; + #endif +} TaskParameters_t; + +/* Used with the uxTaskGetSystemState() function to return the state of each task + * in the system. */ +typedef struct xTASK_STATUS +{ + TaskHandle_t xHandle; /* The handle of the task to which the rest of the information in the structure relates. */ + const char * pcTaskName; /* A pointer to the task's name. This value will be invalid if the task was deleted since the structure was populated! */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + UBaseType_t xTaskNumber; /* A number unique to the task. */ + eTaskState eCurrentState; /* The state in which the task existed when the structure was populated. */ + UBaseType_t uxCurrentPriority; /* The priority at which the task was running (may be inherited) when the structure was populated. */ + UBaseType_t uxBasePriority; /* The priority to which the task will return if the task's current priority has been inherited to avoid unbounded priority inversion when obtaining a mutex. Only valid if configUSE_MUTEXES is defined as 1 in FreeRTOSConfig.h. */ + configRUN_TIME_COUNTER_TYPE ulRunTimeCounter; /* The total run time allocated to the task so far, as defined by the run time stats clock. See https://www.FreeRTOS.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h. */ + StackType_t * pxStackBase; /* Points to the lowest address of the task's stack area. */ + configSTACK_DEPTH_TYPE usStackHighWaterMark; /* The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack. */ +} TaskStatus_t; + +/* Possible return values for eTaskConfirmSleepModeStatus(). */ +typedef enum +{ + eAbortSleep = 0, /* A task has been made ready or a context switch pended since portSUPPRESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode. */ + eStandardSleep, /* Enter a sleep mode that will not last any longer than the expected idle time. */ + eNoTasksWaitingTimeout /* No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt. */ +} eSleepModeStatus; + +/** + * Defines the priority used by the idle task. This must not be modified. + * + * \ingroup TaskUtils + */ +#define tskIDLE_PRIORITY ( ( UBaseType_t ) 0U ) + +/** + * task. h + * + * Macro for forcing a context switch. + * + * \defgroup taskYIELD taskYIELD + * \ingroup SchedulerControl + */ +#define taskYIELD() portYIELD() + +/** + * task. h + * + * Macro to mark the start of a critical code region. Preemptive context + * switches cannot occur when in a critical region. + * + * NOTE: This may alter the stack (depending on the portable implementation) + * so must be used with care! + * + * \defgroup taskENTER_CRITICAL taskENTER_CRITICAL + * \ingroup SchedulerControl + */ +#define taskENTER_CRITICAL() portENTER_CRITICAL() +#define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR() + +/** + * task. h + * + * Macro to mark the end of a critical code region. Preemptive context + * switches cannot occur when in a critical region. + * + * NOTE: This may alter the stack (depending on the portable implementation) + * so must be used with care! + * + * \defgroup taskEXIT_CRITICAL taskEXIT_CRITICAL + * \ingroup SchedulerControl + */ +#define taskEXIT_CRITICAL() portEXIT_CRITICAL() +#define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x ) + +/** + * task. h + * + * Macro to disable all maskable interrupts. + * + * \defgroup taskDISABLE_INTERRUPTS taskDISABLE_INTERRUPTS + * \ingroup SchedulerControl + */ +#define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS() + +/** + * task. h + * + * Macro to enable microcontroller interrupts. + * + * \defgroup taskENABLE_INTERRUPTS taskENABLE_INTERRUPTS + * \ingroup SchedulerControl + */ +#define taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS() + +/* Definitions returned by xTaskGetSchedulerState(). taskSCHEDULER_SUSPENDED is + * 0 to generate more optimal code when configASSERT() is defined as the constant + * is used in assert() statements. */ +#define taskSCHEDULER_SUSPENDED ( ( BaseType_t ) 0 ) +#define taskSCHEDULER_NOT_STARTED ( ( BaseType_t ) 1 ) +#define taskSCHEDULER_RUNNING ( ( BaseType_t ) 2 ) + + +/*----------------------------------------------------------- +* TASK CREATION API +*----------------------------------------------------------*/ + +/** + * task. h + * @code{c} + * BaseType_t xTaskCreate( + * TaskFunction_t pxTaskCode, + * const char *pcName, + * configSTACK_DEPTH_TYPE usStackDepth, + * void *pvParameters, + * UBaseType_t uxPriority, + * TaskHandle_t *pxCreatedTask + * ); + * @endcode + * + * Create a new task and add it to the list of tasks that are ready to run. + * + * Internally, within the FreeRTOS implementation, tasks use two blocks of + * memory. The first block is used to hold the task's data structures. The + * second block is used by the task as its stack. If a task is created using + * xTaskCreate() then both blocks of memory are automatically dynamically + * allocated inside the xTaskCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a task is created using + * xTaskCreateStatic() then the application writer must provide the required + * memory. xTaskCreateStatic() therefore allows a task to be created without + * using any dynamic memory allocation. + * + * See xTaskCreateStatic() for a version that does not use any dynamic memory + * allocation. + * + * xTaskCreate() can only be used to create a task that has unrestricted + * access to the entire microcontroller memory map. Systems that include MPU + * support can alternatively create an MPU constrained task using + * xTaskCreateRestricted(). + * + * @param pxTaskCode Pointer to the task entry function. Tasks + * must be implemented to never return (i.e. continuous loop). + * + * @param pcName A descriptive name for the task. This is mainly used to + * facilitate debugging. Max length defined by configMAX_TASK_NAME_LEN - default + * is 16. + * + * @param usStackDepth The size of the task stack specified as the number of + * variables the stack can hold - not the number of bytes. For example, if + * the stack is 16 bits wide and usStackDepth is defined as 100, 200 bytes + * will be allocated for stack storage. + * + * @param pvParameters Pointer that will be used as the parameter for the task + * being created. + * + * @param uxPriority The priority at which the task should run. Systems that + * include MPU support can optionally create tasks in a privileged (system) + * mode by setting bit portPRIVILEGE_BIT of the priority parameter. For + * example, to create a privileged task at priority 2 the uxPriority parameter + * should be set to ( 2 | portPRIVILEGE_BIT ). + * + * @param pxCreatedTask Used to pass back a handle by which the created task + * can be referenced. + * + * @return pdPASS if the task was successfully created and added to a ready + * list, otherwise an error code defined in the file projdefs.h + * + * Example usage: + * @code{c} + * // Task to be created. + * void vTaskCode( void * pvParameters ) + * { + * for( ;; ) + * { + * // Task code goes here. + * } + * } + * + * // Function that creates a task. + * void vOtherFunction( void ) + * { + * static uint8_t ucParameterToPass; + * TaskHandle_t xHandle = NULL; + * + * // Create the task, storing the handle. Note that the passed parameter ucParameterToPass + * // must exist for the lifetime of the task, so in this case is declared static. If it was just an + * // an automatic stack variable it might no longer exist, or at least have been corrupted, by the time + * // the new task attempts to access it. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle ); + * configASSERT( xHandle ); + * + * // Use the handle to delete the task. + * if( xHandle != NULL ) + * { + * vTaskDelete( xHandle ); + * } + * } + * @endcode + * \defgroup xTaskCreate xTaskCreate + * \ingroup Tasks + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, + const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + const configSTACK_DEPTH_TYPE usStackDepth, + void * const pvParameters, + UBaseType_t uxPriority, + TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION; +#endif + +/** + * task. h + * @code{c} + * TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode, + * const char *pcName, + * uint32_t ulStackDepth, + * void *pvParameters, + * UBaseType_t uxPriority, + * StackType_t *puxStackBuffer, + * StaticTask_t *pxTaskBuffer ); + * @endcode + * + * Create a new task and add it to the list of tasks that are ready to run. + * + * Internally, within the FreeRTOS implementation, tasks use two blocks of + * memory. The first block is used to hold the task's data structures. The + * second block is used by the task as its stack. If a task is created using + * xTaskCreate() then both blocks of memory are automatically dynamically + * allocated inside the xTaskCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a task is created using + * xTaskCreateStatic() then the application writer must provide the required + * memory. xTaskCreateStatic() therefore allows a task to be created without + * using any dynamic memory allocation. + * + * @param pxTaskCode Pointer to the task entry function. Tasks + * must be implemented to never return (i.e. continuous loop). + * + * @param pcName A descriptive name for the task. This is mainly used to + * facilitate debugging. The maximum length of the string is defined by + * configMAX_TASK_NAME_LEN in FreeRTOSConfig.h. + * + * @param ulStackDepth The size of the task stack specified as the number of + * variables the stack can hold - not the number of bytes. For example, if + * the stack is 32-bits wide and ulStackDepth is defined as 100 then 400 bytes + * will be allocated for stack storage. + * + * @param pvParameters Pointer that will be used as the parameter for the task + * being created. + * + * @param uxPriority The priority at which the task will run. + * + * @param puxStackBuffer Must point to a StackType_t array that has at least + * ulStackDepth indexes - the array will then be used as the task's stack, + * removing the need for the stack to be allocated dynamically. + * + * @param pxTaskBuffer Must point to a variable of type StaticTask_t, which will + * then be used to hold the task's data structures, removing the need for the + * memory to be allocated dynamically. + * + * @return If neither puxStackBuffer nor pxTaskBuffer are NULL, then the task + * will be created and a handle to the created task is returned. If either + * puxStackBuffer or pxTaskBuffer are NULL then the task will not be created and + * NULL is returned. + * + * Example usage: + * @code{c} + * + * // Dimensions of the buffer that the task being created will use as its stack. + * // NOTE: This is the number of words the stack will hold, not the number of + * // bytes. For example, if each stack item is 32-bits, and this is set to 100, + * // then 400 bytes (100 * 32-bits) will be allocated. + #define STACK_SIZE 200 + * + * // Structure that will hold the TCB of the task being created. + * StaticTask_t xTaskBuffer; + * + * // Buffer that the task being created will use as its stack. Note this is + * // an array of StackType_t variables. The size of StackType_t is dependent on + * // the RTOS port. + * StackType_t xStack[ STACK_SIZE ]; + * + * // Function that implements the task being created. + * void vTaskCode( void * pvParameters ) + * { + * // The parameter value is expected to be 1 as 1 is passed in the + * // pvParameters value in the call to xTaskCreateStatic(). + * configASSERT( ( uint32_t ) pvParameters == 1UL ); + * + * for( ;; ) + * { + * // Task code goes here. + * } + * } + * + * // Function that creates a task. + * void vOtherFunction( void ) + * { + * TaskHandle_t xHandle = NULL; + * + * // Create the task without using any dynamic memory allocation. + * xHandle = xTaskCreateStatic( + * vTaskCode, // Function that implements the task. + * "NAME", // Text name for the task. + * STACK_SIZE, // Stack size in words, not bytes. + * ( void * ) 1, // Parameter passed into the task. + * tskIDLE_PRIORITY,// Priority at which the task is created. + * xStack, // Array to use as the task's stack. + * &xTaskBuffer ); // Variable to hold the task's data structure. + * + * // puxStackBuffer and pxTaskBuffer were not NULL, so the task will have + * // been created, and xHandle will be the task's handle. Use the handle + * // to suspend the task. + * vTaskSuspend( xHandle ); + * } + * @endcode + * \defgroup xTaskCreateStatic xTaskCreateStatic + * \ingroup Tasks + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode, + const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + const uint32_t ulStackDepth, + void * const pvParameters, + UBaseType_t uxPriority, + StackType_t * const puxStackBuffer, + StaticTask_t * const pxTaskBuffer ) PRIVILEGED_FUNCTION; +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * task. h + * @code{c} + * BaseType_t xTaskCreateRestricted( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask ); + * @endcode + * + * Only available when configSUPPORT_DYNAMIC_ALLOCATION is set to 1. + * + * xTaskCreateRestricted() should only be used in systems that include an MPU + * implementation. + * + * Create a new task and add it to the list of tasks that are ready to run. + * The function parameters define the memory regions and associated access + * permissions allocated to the task. + * + * See xTaskCreateRestrictedStatic() for a version that does not use any + * dynamic memory allocation. + * + * @param pxTaskDefinition Pointer to a structure that contains a member + * for each of the normal xTaskCreate() parameters (see the xTaskCreate() API + * documentation) plus an optional stack buffer and the memory region + * definitions. + * + * @param pxCreatedTask Used to pass back a handle by which the created task + * can be referenced. + * + * @return pdPASS if the task was successfully created and added to a ready + * list, otherwise an error code defined in the file projdefs.h + * + * Example usage: + * @code{c} + * // Create an TaskParameters_t structure that defines the task to be created. + * static const TaskParameters_t xCheckTaskParameters = + * { + * vATask, // pvTaskCode - the function that implements the task. + * "ATask", // pcName - just a text name for the task to assist debugging. + * 100, // usStackDepth - the stack size DEFINED IN WORDS. + * NULL, // pvParameters - passed into the task function as the function parameters. + * ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state. + * cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack. + * + * // xRegions - Allocate up to three separate memory regions for access by + * // the task, with appropriate access permissions. Different processors have + * // different memory alignment requirements - refer to the FreeRTOS documentation + * // for full information. + * { + * // Base address Length Parameters + * { cReadWriteArray, 32, portMPU_REGION_READ_WRITE }, + * { cReadOnlyArray, 32, portMPU_REGION_READ_ONLY }, + * { cPrivilegedOnlyAccessArray, 128, portMPU_REGION_PRIVILEGED_READ_WRITE } + * } + * }; + * + * int main( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task from the const structure defined above. The task handle + * // is requested (the second parameter is not NULL) but in this case just for + * // demonstration purposes as its not actually used. + * xTaskCreateRestricted( &xRegTest1Parameters, &xHandle ); + * + * // Start the scheduler. + * vTaskStartScheduler(); + * + * // Will only get here if there was insufficient memory to create the idle + * // and/or timer task. + * for( ;; ); + * } + * @endcode + * \defgroup xTaskCreateRestricted xTaskCreateRestricted + * \ingroup Tasks + */ +#if ( portUSING_MPU_WRAPPERS == 1 ) + BaseType_t xTaskCreateRestricted( const TaskParameters_t * const pxTaskDefinition, + TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION; +#endif + +/** + * task. h + * @code{c} + * BaseType_t xTaskCreateRestrictedStatic( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask ); + * @endcode + * + * Only available when configSUPPORT_STATIC_ALLOCATION is set to 1. + * + * xTaskCreateRestrictedStatic() should only be used in systems that include an + * MPU implementation. + * + * Internally, within the FreeRTOS implementation, tasks use two blocks of + * memory. The first block is used to hold the task's data structures. The + * second block is used by the task as its stack. If a task is created using + * xTaskCreateRestricted() then the stack is provided by the application writer, + * and the memory used to hold the task's data structure is automatically + * dynamically allocated inside the xTaskCreateRestricted() function. If a task + * is created using xTaskCreateRestrictedStatic() then the application writer + * must provide the memory used to hold the task's data structures too. + * xTaskCreateRestrictedStatic() therefore allows a memory protected task to be + * created without using any dynamic memory allocation. + * + * @param pxTaskDefinition Pointer to a structure that contains a member + * for each of the normal xTaskCreate() parameters (see the xTaskCreate() API + * documentation) plus an optional stack buffer and the memory region + * definitions. If configSUPPORT_STATIC_ALLOCATION is set to 1 the structure + * contains an additional member, which is used to point to a variable of type + * StaticTask_t - which is then used to hold the task's data structure. + * + * @param pxCreatedTask Used to pass back a handle by which the created task + * can be referenced. + * + * @return pdPASS if the task was successfully created and added to a ready + * list, otherwise an error code defined in the file projdefs.h + * + * Example usage: + * @code{c} + * // Create an TaskParameters_t structure that defines the task to be created. + * // The StaticTask_t variable is only included in the structure when + * // configSUPPORT_STATIC_ALLOCATION is set to 1. The PRIVILEGED_DATA macro can + * // be used to force the variable into the RTOS kernel's privileged data area. + * static PRIVILEGED_DATA StaticTask_t xTaskBuffer; + * static const TaskParameters_t xCheckTaskParameters = + * { + * vATask, // pvTaskCode - the function that implements the task. + * "ATask", // pcName - just a text name for the task to assist debugging. + * 100, // usStackDepth - the stack size DEFINED IN WORDS. + * NULL, // pvParameters - passed into the task function as the function parameters. + * ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state. + * cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack. + * + * // xRegions - Allocate up to three separate memory regions for access by + * // the task, with appropriate access permissions. Different processors have + * // different memory alignment requirements - refer to the FreeRTOS documentation + * // for full information. + * { + * // Base address Length Parameters + * { cReadWriteArray, 32, portMPU_REGION_READ_WRITE }, + * { cReadOnlyArray, 32, portMPU_REGION_READ_ONLY }, + * { cPrivilegedOnlyAccessArray, 128, portMPU_REGION_PRIVILEGED_READ_WRITE } + * } + * + * &xTaskBuffer; // Holds the task's data structure. + * }; + * + * int main( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task from the const structure defined above. The task handle + * // is requested (the second parameter is not NULL) but in this case just for + * // demonstration purposes as its not actually used. + * xTaskCreateRestricted( &xRegTest1Parameters, &xHandle ); + * + * // Start the scheduler. + * vTaskStartScheduler(); + * + * // Will only get here if there was insufficient memory to create the idle + * // and/or timer task. + * for( ;; ); + * } + * @endcode + * \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic + * \ingroup Tasks + */ +#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) + BaseType_t xTaskCreateRestrictedStatic( const TaskParameters_t * const pxTaskDefinition, + TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION; +#endif + +/** + * task. h + * @code{c} + * void vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const pxRegions ); + * @endcode + * + * Memory regions are assigned to a restricted task when the task is created by + * a call to xTaskCreateRestricted(). These regions can be redefined using + * vTaskAllocateMPURegions(). + * + * @param xTask The handle of the task being updated. + * + * @param xRegions A pointer to a MemoryRegion_t structure that contains the + * new memory region definitions. + * + * Example usage: + * @code{c} + * // Define an array of MemoryRegion_t structures that configures an MPU region + * // allowing read/write access for 1024 bytes starting at the beginning of the + * // ucOneKByte array. The other two of the maximum 3 definable regions are + * // unused so set to zero. + * static const MemoryRegion_t xAltRegions[ portNUM_CONFIGURABLE_REGIONS ] = + * { + * // Base address Length Parameters + * { ucOneKByte, 1024, portMPU_REGION_READ_WRITE }, + * { 0, 0, 0 }, + * { 0, 0, 0 } + * }; + * + * void vATask( void *pvParameters ) + * { + * // This task was created such that it has access to certain regions of + * // memory as defined by the MPU configuration. At some point it is + * // desired that these MPU regions are replaced with that defined in the + * // xAltRegions const struct above. Use a call to vTaskAllocateMPURegions() + * // for this purpose. NULL is used as the task handle to indicate that this + * // function should modify the MPU regions of the calling task. + * vTaskAllocateMPURegions( NULL, xAltRegions ); + * + * // Now the task can continue its function, but from this point on can only + * // access its stack and the ucOneKByte array (unless any other statically + * // defined or shared regions have been declared elsewhere). + * } + * @endcode + * \defgroup xTaskCreateRestricted xTaskCreateRestricted + * \ingroup Tasks + */ +void vTaskAllocateMPURegions( TaskHandle_t xTask, + const MemoryRegion_t * const pxRegions ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskDelete( TaskHandle_t xTaskToDelete ); + * @endcode + * + * INCLUDE_vTaskDelete must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Remove a task from the RTOS real time kernel's management. The task being + * deleted will be removed from all ready, blocked, suspended and event lists. + * + * NOTE: The idle task is responsible for freeing the kernel allocated + * memory from tasks that have been deleted. It is therefore important that + * the idle task is not starved of microcontroller processing time if your + * application makes any calls to vTaskDelete (). Memory allocated by the + * task code is not automatically freed, and should be freed before the task + * is deleted. + * + * See the demo application file death.c for sample code that utilises + * vTaskDelete (). + * + * @param xTaskToDelete The handle of the task to be deleted. Passing NULL will + * cause the calling task to be deleted. + * + * Example usage: + * @code{c} + * void vOtherFunction( void ) + * { + * TaskHandle_t xHandle; + * + * // Create the task, storing the handle. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle ); + * + * // Use the handle to delete the task. + * vTaskDelete( xHandle ); + * } + * @endcode + * \defgroup vTaskDelete vTaskDelete + * \ingroup Tasks + */ +void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION; + +/*----------------------------------------------------------- +* TASK CONTROL API +*----------------------------------------------------------*/ + +/** + * task. h + * @code{c} + * void vTaskDelay( const TickType_t xTicksToDelay ); + * @endcode + * + * Delay a task for a given number of ticks. The actual time that the + * task remains blocked depends on the tick rate. The constant + * portTICK_PERIOD_MS can be used to calculate real time from the tick + * rate - with the resolution of one tick period. + * + * INCLUDE_vTaskDelay must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * + * vTaskDelay() specifies a time at which the task wishes to unblock relative to + * the time at which vTaskDelay() is called. For example, specifying a block + * period of 100 ticks will cause the task to unblock 100 ticks after + * vTaskDelay() is called. vTaskDelay() does not therefore provide a good method + * of controlling the frequency of a periodic task as the path taken through the + * code, as well as other task and interrupt activity, will affect the frequency + * at which vTaskDelay() gets called and therefore the time at which the task + * next executes. See xTaskDelayUntil() for an alternative API function designed + * to facilitate fixed frequency execution. It does this by specifying an + * absolute time (rather than a relative time) at which the calling task should + * unblock. + * + * @param xTicksToDelay The amount of time, in tick periods, that + * the calling task should block. + * + * Example usage: + * + * void vTaskFunction( void * pvParameters ) + * { + * // Block for 500ms. + * const TickType_t xDelay = 500 / portTICK_PERIOD_MS; + * + * for( ;; ) + * { + * // Simply toggle the LED every 500ms, blocking between each toggle. + * vToggleLED(); + * vTaskDelay( xDelay ); + * } + * } + * + * \defgroup vTaskDelay vTaskDelay + * \ingroup TaskCtrl + */ +void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement ); + * @endcode + * + * INCLUDE_xTaskDelayUntil must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Delay a task until a specified time. This function can be used by periodic + * tasks to ensure a constant execution frequency. + * + * This function differs from vTaskDelay () in one important aspect: vTaskDelay () will + * cause a task to block for the specified number of ticks from the time vTaskDelay () is + * called. It is therefore difficult to use vTaskDelay () by itself to generate a fixed + * execution frequency as the time between a task starting to execute and that task + * calling vTaskDelay () may not be fixed [the task may take a different path though the + * code between calls, or may get interrupted or preempted a different number of times + * each time it executes]. + * + * Whereas vTaskDelay () specifies a wake time relative to the time at which the function + * is called, xTaskDelayUntil () specifies the absolute (exact) time at which it wishes to + * unblock. + * + * The macro pdMS_TO_TICKS() can be used to calculate the number of ticks from a + * time specified in milliseconds with a resolution of one tick period. + * + * @param pxPreviousWakeTime Pointer to a variable that holds the time at which the + * task was last unblocked. The variable must be initialised with the current time + * prior to its first use (see the example below). Following this the variable is + * automatically updated within xTaskDelayUntil (). + * + * @param xTimeIncrement The cycle time period. The task will be unblocked at + * time *pxPreviousWakeTime + xTimeIncrement. Calling xTaskDelayUntil with the + * same xTimeIncrement parameter value will cause the task to execute with + * a fixed interface period. + * + * @return Value which can be used to check whether the task was actually delayed. + * Will be pdTRUE if the task way delayed and pdFALSE otherwise. A task will not + * be delayed if the next expected wake time is in the past. + * + * Example usage: + * @code{c} + * // Perform an action every 10 ticks. + * void vTaskFunction( void * pvParameters ) + * { + * TickType_t xLastWakeTime; + * const TickType_t xFrequency = 10; + * BaseType_t xWasDelayed; + * + * // Initialise the xLastWakeTime variable with the current time. + * xLastWakeTime = xTaskGetTickCount (); + * for( ;; ) + * { + * // Wait for the next cycle. + * xWasDelayed = xTaskDelayUntil( &xLastWakeTime, xFrequency ); + * + * // Perform action here. xWasDelayed value can be used to determine + * // whether a deadline was missed if the code here took too long. + * } + * } + * @endcode + * \defgroup xTaskDelayUntil xTaskDelayUntil + * \ingroup TaskCtrl + */ +BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, + const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION; + +/* + * vTaskDelayUntil() is the older version of xTaskDelayUntil() and does not + * return a value. + */ +#define vTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement ) \ + { \ + ( void ) xTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement ); \ + } + + +/** + * task. h + * @code{c} + * BaseType_t xTaskAbortDelay( TaskHandle_t xTask ); + * @endcode + * + * INCLUDE_xTaskAbortDelay must be defined as 1 in FreeRTOSConfig.h for this + * function to be available. + * + * A task will enter the Blocked state when it is waiting for an event. The + * event it is waiting for can be a temporal event (waiting for a time), such + * as when vTaskDelay() is called, or an event on an object, such as when + * xQueueReceive() or ulTaskNotifyTake() is called. If the handle of a task + * that is in the Blocked state is used in a call to xTaskAbortDelay() then the + * task will leave the Blocked state, and return from whichever function call + * placed the task into the Blocked state. + * + * There is no 'FromISR' version of this function as an interrupt would need to + * know which object a task was blocked on in order to know which actions to + * take. For example, if the task was blocked on a queue the interrupt handler + * would then need to know if the queue was locked. + * + * @param xTask The handle of the task to remove from the Blocked state. + * + * @return If the task referenced by xTask was not in the Blocked state then + * pdFAIL is returned. Otherwise pdPASS is returned. + * + * \defgroup xTaskAbortDelay xTaskAbortDelay + * \ingroup TaskCtrl + */ +BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ); + * @endcode + * + * INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Obtain the priority of any task. + * + * @param xTask Handle of the task to be queried. Passing a NULL + * handle results in the priority of the calling task being returned. + * + * @return The priority of xTask. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task, storing the handle. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle ); + * + * // ... + * + * // Use the handle to obtain the priority of the created task. + * // It was created with tskIDLE_PRIORITY, but may have changed + * // it itself. + * if( uxTaskPriorityGet( xHandle ) != tskIDLE_PRIORITY ) + * { + * // The task has changed it's priority. + * } + * + * // ... + * + * // Is our priority higher than the created task? + * if( uxTaskPriorityGet( xHandle ) < uxTaskPriorityGet( NULL ) ) + * { + * // Our priority (obtained using NULL handle) is higher. + * } + * } + * @endcode + * \defgroup uxTaskPriorityGet uxTaskPriorityGet + * \ingroup TaskCtrl + */ +UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ); + * @endcode + * + * A version of uxTaskPriorityGet() that can be used from an ISR. + */ +UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * eTaskState eTaskGetState( TaskHandle_t xTask ); + * @endcode + * + * INCLUDE_eTaskGetState must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Obtain the state of any task. States are encoded by the eTaskState + * enumerated type. + * + * @param xTask Handle of the task to be queried. + * + * @return The state of xTask at the time the function was called. Note the + * state of the task might change between the function being called, and the + * functions return value being tested by the calling task. + */ +eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ); + * @endcode + * + * configUSE_TRACE_FACILITY must be defined as 1 for this function to be + * available. See the configuration section for more information. + * + * Populates a TaskStatus_t structure with information about a task. + * + * @param xTask Handle of the task being queried. If xTask is NULL then + * information will be returned about the calling task. + * + * @param pxTaskStatus A pointer to the TaskStatus_t structure that will be + * filled with information about the task referenced by the handle passed using + * the xTask parameter. + * + * @xGetFreeStackSpace The TaskStatus_t structure contains a member to report + * the stack high water mark of the task being queried. Calculating the stack + * high water mark takes a relatively long time, and can make the system + * temporarily unresponsive - so the xGetFreeStackSpace parameter is provided to + * allow the high water mark checking to be skipped. The high watermark value + * will only be written to the TaskStatus_t structure if xGetFreeStackSpace is + * not set to pdFALSE; + * + * @param eState The TaskStatus_t structure contains a member to report the + * state of the task being queried. Obtaining the task state is not as fast as + * a simple assignment - so the eState parameter is provided to allow the state + * information to be omitted from the TaskStatus_t structure. To obtain state + * information then set eState to eInvalid - otherwise the value passed in + * eState will be reported as the task state in the TaskStatus_t structure. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * TaskHandle_t xHandle; + * TaskStatus_t xTaskDetails; + * + * // Obtain the handle of a task from its name. + * xHandle = xTaskGetHandle( "Task_Name" ); + * + * // Check the handle is not NULL. + * configASSERT( xHandle ); + * + * // Use the handle to obtain further information about the task. + * vTaskGetInfo( xHandle, + * &xTaskDetails, + * pdTRUE, // Include the high water mark in xTaskDetails. + * eInvalid ); // Include the task state in xTaskDetails. + * } + * @endcode + * \defgroup vTaskGetInfo vTaskGetInfo + * \ingroup TaskCtrl + */ +void vTaskGetInfo( TaskHandle_t xTask, + TaskStatus_t * pxTaskStatus, + BaseType_t xGetFreeStackSpace, + eTaskState eState ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority ); + * @endcode + * + * INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Set the priority of any task. + * + * A context switch will occur before the function returns if the priority + * being set is higher than the currently executing task. + * + * @param xTask Handle to the task for which the priority is being set. + * Passing a NULL handle results in the priority of the calling task being set. + * + * @param uxNewPriority The priority to which the task will be set. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task, storing the handle. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle ); + * + * // ... + * + * // Use the handle to raise the priority of the created task. + * vTaskPrioritySet( xHandle, tskIDLE_PRIORITY + 1 ); + * + * // ... + * + * // Use a NULL handle to raise our priority to the same value. + * vTaskPrioritySet( NULL, tskIDLE_PRIORITY + 1 ); + * } + * @endcode + * \defgroup vTaskPrioritySet vTaskPrioritySet + * \ingroup TaskCtrl + */ +void vTaskPrioritySet( TaskHandle_t xTask, + UBaseType_t uxNewPriority ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskSuspend( TaskHandle_t xTaskToSuspend ); + * @endcode + * + * INCLUDE_vTaskSuspend must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Suspend any task. When suspended a task will never get any microcontroller + * processing time, no matter what its priority. + * + * Calls to vTaskSuspend are not accumulative - + * i.e. calling vTaskSuspend () twice on the same task still only requires one + * call to vTaskResume () to ready the suspended task. + * + * @param xTaskToSuspend Handle to the task being suspended. Passing a NULL + * handle will cause the calling task to be suspended. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task, storing the handle. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle ); + * + * // ... + * + * // Use the handle to suspend the created task. + * vTaskSuspend( xHandle ); + * + * // ... + * + * // The created task will not run during this period, unless + * // another task calls vTaskResume( xHandle ). + * + * //... + * + * + * // Suspend ourselves. + * vTaskSuspend( NULL ); + * + * // We cannot get here unless another task calls vTaskResume + * // with our handle as the parameter. + * } + * @endcode + * \defgroup vTaskSuspend vTaskSuspend + * \ingroup TaskCtrl + */ +void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskResume( TaskHandle_t xTaskToResume ); + * @endcode + * + * INCLUDE_vTaskSuspend must be defined as 1 for this function to be available. + * See the configuration section for more information. + * + * Resumes a suspended task. + * + * A task that has been suspended by one or more calls to vTaskSuspend () + * will be made available for running again by a single call to + * vTaskResume (). + * + * @param xTaskToResume Handle to the task being readied. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * TaskHandle_t xHandle; + * + * // Create a task, storing the handle. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle ); + * + * // ... + * + * // Use the handle to suspend the created task. + * vTaskSuspend( xHandle ); + * + * // ... + * + * // The created task will not run during this period, unless + * // another task calls vTaskResume( xHandle ). + * + * //... + * + * + * // Resume the suspended task ourselves. + * vTaskResume( xHandle ); + * + * // The created task will once again get microcontroller processing + * // time in accordance with its priority within the system. + * } + * @endcode + * \defgroup vTaskResume vTaskResume + * \ingroup TaskCtrl + */ +void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void xTaskResumeFromISR( TaskHandle_t xTaskToResume ); + * @endcode + * + * INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be + * available. See the configuration section for more information. + * + * An implementation of vTaskResume() that can be called from within an ISR. + * + * A task that has been suspended by one or more calls to vTaskSuspend () + * will be made available for running again by a single call to + * xTaskResumeFromISR (). + * + * xTaskResumeFromISR() should not be used to synchronise a task with an + * interrupt if there is a chance that the interrupt could arrive prior to the + * task being suspended - as this can lead to interrupts being missed. Use of a + * semaphore as a synchronisation mechanism would avoid this eventuality. + * + * @param xTaskToResume Handle to the task being readied. + * + * @return pdTRUE if resuming the task should result in a context switch, + * otherwise pdFALSE. This is used by the ISR to determine if a context switch + * may be required following the ISR. + * + * \defgroup vTaskResumeFromISR vTaskResumeFromISR + * \ingroup TaskCtrl + */ +BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION; + +/*----------------------------------------------------------- +* SCHEDULER CONTROL +*----------------------------------------------------------*/ + +/** + * task. h + * @code{c} + * void vTaskStartScheduler( void ); + * @endcode + * + * Starts the real time kernel tick processing. After calling the kernel + * has control over which tasks are executed and when. + * + * See the demo application file main.c for an example of creating + * tasks and starting the kernel. + * + * Example usage: + * @code{c} + * void vAFunction( void ) + * { + * // Create at least one task before starting the kernel. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); + * + * // Start the real time kernel with preemption. + * vTaskStartScheduler (); + * + * // Will not get here unless a task calls vTaskEndScheduler () + * } + * @endcode + * + * \defgroup vTaskStartScheduler vTaskStartScheduler + * \ingroup SchedulerControl + */ +void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskEndScheduler( void ); + * @endcode + * + * NOTE: At the time of writing only the x86 real mode port, which runs on a PC + * in place of DOS, implements this function. + * + * Stops the real time kernel tick. All created tasks will be automatically + * deleted and multitasking (either preemptive or cooperative) will + * stop. Execution then resumes from the point where vTaskStartScheduler () + * was called, as if vTaskStartScheduler () had just returned. + * + * See the demo application file main. c in the demo/PC directory for an + * example that uses vTaskEndScheduler (). + * + * vTaskEndScheduler () requires an exit function to be defined within the + * portable layer (see vPortEndScheduler () in port. c for the PC port). This + * performs hardware specific operations such as stopping the kernel tick. + * + * vTaskEndScheduler () will cause all of the resources allocated by the + * kernel to be freed - but will not free resources allocated by application + * tasks. + * + * Example usage: + * @code{c} + * void vTaskCode( void * pvParameters ) + * { + * for( ;; ) + * { + * // Task code goes here. + * + * // At some point we want to end the real time kernel processing + * // so call ... + * vTaskEndScheduler (); + * } + * } + * + * void vAFunction( void ) + * { + * // Create at least one task before starting the kernel. + * xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); + * + * // Start the real time kernel with preemption. + * vTaskStartScheduler (); + * + * // Will only get here when the vTaskCode () task has called + * // vTaskEndScheduler (). When we get here we are back to single task + * // execution. + * } + * @endcode + * + * \defgroup vTaskEndScheduler vTaskEndScheduler + * \ingroup SchedulerControl + */ +void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskSuspendAll( void ); + * @endcode + * + * Suspends the scheduler without disabling interrupts. Context switches will + * not occur while the scheduler is suspended. + * + * After calling vTaskSuspendAll () the calling task will continue to execute + * without risk of being swapped out until a call to xTaskResumeAll () has been + * made. + * + * API functions that have the potential to cause a context switch (for example, + * xTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler + * is suspended. + * + * Example usage: + * @code{c} + * void vTask1( void * pvParameters ) + * { + * for( ;; ) + * { + * // Task code goes here. + * + * // ... + * + * // At some point the task wants to perform a long operation during + * // which it does not want to get swapped out. It cannot use + * // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the + * // operation may cause interrupts to be missed - including the + * // ticks. + * + * // Prevent the real time kernel swapping out the task. + * vTaskSuspendAll (); + * + * // Perform the operation here. There is no need to use critical + * // sections as we have all the microcontroller processing time. + * // During this time interrupts will still operate and the kernel + * // tick count will be maintained. + * + * // ... + * + * // The operation is complete. Restart the kernel. + * xTaskResumeAll (); + * } + * } + * @endcode + * \defgroup vTaskSuspendAll vTaskSuspendAll + * \ingroup SchedulerControl + */ +void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * BaseType_t xTaskResumeAll( void ); + * @endcode + * + * Resumes scheduler activity after it was suspended by a call to + * vTaskSuspendAll(). + * + * xTaskResumeAll() only resumes the scheduler. It does not unsuspend tasks + * that were previously suspended by a call to vTaskSuspend(). + * + * @return If resuming the scheduler caused a context switch then pdTRUE is + * returned, otherwise pdFALSE is returned. + * + * Example usage: + * @code{c} + * void vTask1( void * pvParameters ) + * { + * for( ;; ) + * { + * // Task code goes here. + * + * // ... + * + * // At some point the task wants to perform a long operation during + * // which it does not want to get swapped out. It cannot use + * // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the + * // operation may cause interrupts to be missed - including the + * // ticks. + * + * // Prevent the real time kernel swapping out the task. + * vTaskSuspendAll (); + * + * // Perform the operation here. There is no need to use critical + * // sections as we have all the microcontroller processing time. + * // During this time interrupts will still operate and the real + * // time kernel tick count will be maintained. + * + * // ... + * + * // The operation is complete. Restart the kernel. We want to force + * // a context switch - but there is no point if resuming the scheduler + * // caused a context switch already. + * if( !xTaskResumeAll () ) + * { + * taskYIELD (); + * } + * } + * } + * @endcode + * \defgroup xTaskResumeAll xTaskResumeAll + * \ingroup SchedulerControl + */ +BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION; + +/*----------------------------------------------------------- +* TASK UTILITIES +*----------------------------------------------------------*/ + +/** + * task. h + * @code{c} + * TickType_t xTaskGetTickCount( void ); + * @endcode + * + * @return The count of ticks since vTaskStartScheduler was called. + * + * \defgroup xTaskGetTickCount xTaskGetTickCount + * \ingroup TaskUtils + */ +TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * TickType_t xTaskGetTickCountFromISR( void ); + * @endcode + * + * @return The count of ticks since vTaskStartScheduler was called. + * + * This is a version of xTaskGetTickCount() that is safe to be called from an + * ISR - provided that TickType_t is the natural word size of the + * microcontroller being used or interrupt nesting is either not supported or + * not being used. + * + * \defgroup xTaskGetTickCountFromISR xTaskGetTickCountFromISR + * \ingroup TaskUtils + */ +TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * uint16_t uxTaskGetNumberOfTasks( void ); + * @endcode + * + * @return The number of tasks that the real time kernel is currently managing. + * This includes all ready, blocked and suspended tasks. A task that + * has been deleted but not yet freed by the idle task will also be + * included in the count. + * + * \defgroup uxTaskGetNumberOfTasks uxTaskGetNumberOfTasks + * \ingroup TaskUtils + */ +UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * char *pcTaskGetName( TaskHandle_t xTaskToQuery ); + * @endcode + * + * @return The text (human readable) name of the task referenced by the handle + * xTaskToQuery. A task can query its own name by either passing in its own + * handle, or by setting xTaskToQuery to NULL. + * + * \defgroup pcTaskGetName pcTaskGetName + * \ingroup TaskUtils + */ +char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + +/** + * task. h + * @code{c} + * TaskHandle_t xTaskGetHandle( const char *pcNameToQuery ); + * @endcode + * + * NOTE: This function takes a relatively long time to complete and should be + * used sparingly. + * + * @return The handle of the task that has the human readable name pcNameToQuery. + * NULL is returned if no matching name is found. INCLUDE_xTaskGetHandle + * must be set to 1 in FreeRTOSConfig.h for pcTaskGetHandle() to be available. + * + * \defgroup pcTaskGetHandle pcTaskGetHandle + * \ingroup TaskUtils + */ +TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + +/** + * task.h + * @code{c} + * UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ); + * @endcode + * + * INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for + * this function to be available. + * + * Returns the high water mark of the stack associated with xTask. That is, + * the minimum free stack space there has been (in words, so on a 32 bit machine + * a value of 1 means 4 bytes) since the task started. The smaller the returned + * number the closer the task has come to overflowing its stack. + * + * uxTaskGetStackHighWaterMark() and uxTaskGetStackHighWaterMark2() are the + * same except for their return type. Using configSTACK_DEPTH_TYPE allows the + * user to determine the return type. It gets around the problem of the value + * overflowing on 8-bit types without breaking backward compatibility for + * applications that expect an 8-bit return type. + * + * @param xTask Handle of the task associated with the stack to be checked. + * Set xTask to NULL to check the stack of the calling task. + * + * @return The smallest amount of free stack space there has been (in words, so + * actual spaces on the stack rather than bytes) since the task referenced by + * xTask was created. + */ +UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task.h + * @code{c} + * configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ); + * @endcode + * + * INCLUDE_uxTaskGetStackHighWaterMark2 must be set to 1 in FreeRTOSConfig.h for + * this function to be available. + * + * Returns the high water mark of the stack associated with xTask. That is, + * the minimum free stack space there has been (in words, so on a 32 bit machine + * a value of 1 means 4 bytes) since the task started. The smaller the returned + * number the closer the task has come to overflowing its stack. + * + * uxTaskGetStackHighWaterMark() and uxTaskGetStackHighWaterMark2() are the + * same except for their return type. Using configSTACK_DEPTH_TYPE allows the + * user to determine the return type. It gets around the problem of the value + * overflowing on 8-bit types without breaking backward compatibility for + * applications that expect an 8-bit return type. + * + * @param xTask Handle of the task associated with the stack to be checked. + * Set xTask to NULL to check the stack of the calling task. + * + * @return The smallest amount of free stack space there has been (in words, so + * actual spaces on the stack rather than bytes) since the task referenced by + * xTask was created. + */ +configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/* When using trace macros it is sometimes necessary to include task.h before + * FreeRTOS.h. When this is done TaskHookFunction_t will not yet have been defined, + * so the following two prototypes will cause a compilation error. This can be + * fixed by simply guarding against the inclusion of these two prototypes unless + * they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration + * constant. */ +#ifdef configUSE_APPLICATION_TASK_TAG + #if configUSE_APPLICATION_TASK_TAG == 1 + +/** + * task.h + * @code{c} + * void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction ); + * @endcode + * + * Sets pxHookFunction to be the task hook function used by the task xTask. + * Passing xTask as NULL has the effect of setting the calling tasks hook + * function. + */ + void vTaskSetApplicationTaskTag( TaskHandle_t xTask, + TaskHookFunction_t pxHookFunction ) PRIVILEGED_FUNCTION; + +/** + * task.h + * @code{c} + * void xTaskGetApplicationTaskTag( TaskHandle_t xTask ); + * @endcode + * + * Returns the pxHookFunction value assigned to the task xTask. Do not + * call from an interrupt service routine - call + * xTaskGetApplicationTaskTagFromISR() instead. + */ + TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/** + * task.h + * @code{c} + * void xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask ); + * @endcode + * + * Returns the pxHookFunction value assigned to the task xTask. Can + * be called from an interrupt service routine. + */ + TaskHookFunction_t xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + #endif /* configUSE_APPLICATION_TASK_TAG ==1 */ +#endif /* ifdef configUSE_APPLICATION_TASK_TAG */ + +#if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 ) + +/* Each task contains an array of pointers that is dimensioned by the + * configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The + * kernel does not use the pointers itself, so the application writer can use + * the pointers for any purpose they wish. The following two functions are + * used to set and query a pointer respectively. */ + void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, + BaseType_t xIndex, + void * pvValue ) PRIVILEGED_FUNCTION; + void * pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, + BaseType_t xIndex ) PRIVILEGED_FUNCTION; + +#endif + +#if ( configCHECK_FOR_STACK_OVERFLOW > 0 ) + +/** + * task.h + * @code{c} + * void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); + * @endcode + * + * The application stack overflow hook is called when a stack overflow is detected for a task. + * + * Details on stack overflow detection can be found here: https://www.FreeRTOS.org/Stacks-and-stack-overflow-checking.html + * + * @param xTask the task that just exceeded its stack boundaries. + * @param pcTaskName A character string containing the name of the offending task. + */ + void vApplicationStackOverflowHook( TaskHandle_t xTask, + char * pcTaskName ); + +#endif + +#if ( configUSE_TICK_HOOK > 0 ) + +/** + * task.h + * @code{c} + * void vApplicationTickHook( void ); + * @endcode + * + * This hook function is called in the system tick handler after any OS work is completed. + */ + void vApplicationTickHook( void ); /*lint !e526 Symbol not defined as it is an application callback. */ + +#endif + +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + +/** + * task.h + * @code{c} + * void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) + * @endcode + * + * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB. This function is required when + * configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION + * + * @param ppxIdleTaskTCBBuffer A handle to a statically allocated TCB buffer + * @param ppxIdleTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task + * @param pulIdleTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer + */ + void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, + StackType_t ** ppxIdleTaskStackBuffer, + uint32_t * pulIdleTaskStackSize ); /*lint !e526 Symbol not defined as it is an application callback. */ +#endif + +/** + * task.h + * @code{c} + * BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter ); + * @endcode + * + * Calls the hook function associated with xTask. Passing xTask as NULL has + * the effect of calling the Running tasks (the calling task) hook function. + * + * pvParameter is passed to the hook function for the task to interpret as it + * wants. The return value is the value returned by the task hook function + * registered by the user. + */ +BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, + void * pvParameter ) PRIVILEGED_FUNCTION; + +/** + * xTaskGetIdleTaskHandle() is only available if + * INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h. + * + * Simply returns the handle of the idle task. It is not valid to call + * xTaskGetIdleTaskHandle() before the scheduler has been started. + */ +TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION; + +/** + * configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for + * uxTaskGetSystemState() to be available. + * + * uxTaskGetSystemState() populates an TaskStatus_t structure for each task in + * the system. TaskStatus_t structures contain, among other things, members + * for the task handle, task name, task priority, task state, and total amount + * of run time consumed by the task. See the TaskStatus_t structure + * definition in this file for the full member list. + * + * NOTE: This function is intended for debugging use only as its use results in + * the scheduler remaining suspended for an extended period. + * + * @param pxTaskStatusArray A pointer to an array of TaskStatus_t structures. + * The array must contain at least one TaskStatus_t structure for each task + * that is under the control of the RTOS. The number of tasks under the control + * of the RTOS can be determined using the uxTaskGetNumberOfTasks() API function. + * + * @param uxArraySize The size of the array pointed to by the pxTaskStatusArray + * parameter. The size is specified as the number of indexes in the array, or + * the number of TaskStatus_t structures contained in the array, not by the + * number of bytes in the array. + * + * @param pulTotalRunTime If configGENERATE_RUN_TIME_STATS is set to 1 in + * FreeRTOSConfig.h then *pulTotalRunTime is set by uxTaskGetSystemState() to the + * total run time (as defined by the run time stats clock, see + * https://www.FreeRTOS.org/rtos-run-time-stats.html) since the target booted. + * pulTotalRunTime can be set to NULL to omit the total run time information. + * + * @return The number of TaskStatus_t structures that were populated by + * uxTaskGetSystemState(). This should equal the number returned by the + * uxTaskGetNumberOfTasks() API function, but will be zero if the value passed + * in the uxArraySize parameter was too small. + * + * Example usage: + * @code{c} + * // This example demonstrates how a human readable table of run time stats + * // information is generated from raw data provided by uxTaskGetSystemState(). + * // The human readable table is written to pcWriteBuffer + * void vTaskGetRunTimeStats( char *pcWriteBuffer ) + * { + * TaskStatus_t *pxTaskStatusArray; + * volatile UBaseType_t uxArraySize, x; + * configRUN_TIME_COUNTER_TYPE ulTotalRunTime, ulStatsAsPercentage; + * + * // Make sure the write buffer does not contain a string. + * pcWriteBuffer = 0x00; + * + * // Take a snapshot of the number of tasks in case it changes while this + * // function is executing. + * uxArraySize = uxTaskGetNumberOfTasks(); + * + * // Allocate a TaskStatus_t structure for each task. An array could be + * // allocated statically at compile time. + * pxTaskStatusArray = pvPortMalloc( uxArraySize * sizeof( TaskStatus_t ) ); + * + * if( pxTaskStatusArray != NULL ) + * { + * // Generate raw status information about each task. + * uxArraySize = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, &ulTotalRunTime ); + * + * // For percentage calculations. + * ulTotalRunTime /= 100UL; + * + * // Avoid divide by zero errors. + * if( ulTotalRunTime > 0 ) + * { + * // For each populated position in the pxTaskStatusArray array, + * // format the raw data as human readable ASCII data + * for( x = 0; x < uxArraySize; x++ ) + * { + * // What percentage of the total run time has the task used? + * // This will always be rounded down to the nearest integer. + * // ulTotalRunTimeDiv100 has already been divided by 100. + * ulStatsAsPercentage = pxTaskStatusArray[ x ].ulRunTimeCounter / ulTotalRunTime; + * + * if( ulStatsAsPercentage > 0UL ) + * { + * sprintf( pcWriteBuffer, "%s\t\t%lu\t\t%lu%%\r\n", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter, ulStatsAsPercentage ); + * } + * else + * { + * // If the percentage is zero here then the task has + * // consumed less than 1% of the total run time. + * sprintf( pcWriteBuffer, "%s\t\t%lu\t\t<1%%\r\n", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter ); + * } + * + * pcWriteBuffer += strlen( ( char * ) pcWriteBuffer ); + * } + * } + * + * // The array is no longer needed, free the memory it consumes. + * vPortFree( pxTaskStatusArray ); + * } + * } + * @endcode + */ +UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, + const UBaseType_t uxArraySize, + configRUN_TIME_COUNTER_TYPE * const pulTotalRunTime ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * void vTaskList( char *pcWriteBuffer ); + * @endcode + * + * configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must + * both be defined as 1 for this function to be available. See the + * configuration section of the FreeRTOS.org website for more information. + * + * NOTE 1: This function will disable interrupts for its duration. It is + * not intended for normal application runtime use but as a debug aid. + * + * Lists all the current tasks, along with their current state and stack + * usage high water mark. + * + * Tasks are reported as blocked ('B'), ready ('R'), deleted ('D') or + * suspended ('S'). + * + * PLEASE NOTE: + * + * This function is provided for convenience only, and is used by many of the + * demo applications. Do not consider it to be part of the scheduler. + * + * vTaskList() calls uxTaskGetSystemState(), then formats part of the + * uxTaskGetSystemState() output into a human readable table that displays task: + * names, states, priority, stack usage and task number. + * Stack usage specified as the number of unused StackType_t words stack can hold + * on top of stack - not the number of bytes. + * + * vTaskList() has a dependency on the sprintf() C library function that might + * bloat the code size, use a lot of stack, and provide different results on + * different platforms. An alternative, tiny, third party, and limited + * functionality implementation of sprintf() is provided in many of the + * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note + * printf-stdarg.c does not provide a full snprintf() implementation!). + * + * It is recommended that production systems call uxTaskGetSystemState() + * directly to get access to raw stats data, rather than indirectly through a + * call to vTaskList(). + * + * @param pcWriteBuffer A buffer into which the above mentioned details + * will be written, in ASCII form. This buffer is assumed to be large + * enough to contain the generated report. Approximately 40 bytes per + * task should be sufficient. + * + * \defgroup vTaskList vTaskList + * \ingroup TaskUtils + */ +void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + +/** + * task. h + * @code{c} + * void vTaskGetRunTimeStats( char *pcWriteBuffer ); + * @endcode + * + * configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS + * must both be defined as 1 for this function to be available. The application + * must also then provide definitions for + * portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() + * to configure a peripheral timer/counter and return the timers current count + * value respectively. The counter should be at least 10 times the frequency of + * the tick count. + * + * NOTE 1: This function will disable interrupts for its duration. It is + * not intended for normal application runtime use but as a debug aid. + * + * Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total + * accumulated execution time being stored for each task. The resolution + * of the accumulated time value depends on the frequency of the timer + * configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro. + * Calling vTaskGetRunTimeStats() writes the total execution time of each + * task into a buffer, both as an absolute count value and as a percentage + * of the total system execution time. + * + * NOTE 2: + * + * This function is provided for convenience only, and is used by many of the + * demo applications. Do not consider it to be part of the scheduler. + * + * vTaskGetRunTimeStats() calls uxTaskGetSystemState(), then formats part of the + * uxTaskGetSystemState() output into a human readable table that displays the + * amount of time each task has spent in the Running state in both absolute and + * percentage terms. + * + * vTaskGetRunTimeStats() has a dependency on the sprintf() C library function + * that might bloat the code size, use a lot of stack, and provide different + * results on different platforms. An alternative, tiny, third party, and + * limited functionality implementation of sprintf() is provided in many of the + * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note + * printf-stdarg.c does not provide a full snprintf() implementation!). + * + * It is recommended that production systems call uxTaskGetSystemState() directly + * to get access to raw stats data, rather than indirectly through a call to + * vTaskGetRunTimeStats(). + * + * @param pcWriteBuffer A buffer into which the execution times will be + * written, in ASCII form. This buffer is assumed to be large enough to + * contain the generated report. Approximately 40 bytes per task should + * be sufficient. + * + * \defgroup vTaskGetRunTimeStats vTaskGetRunTimeStats + * \ingroup TaskUtils + */ +void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + +/** + * task. h + * @code{c} + * configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void ); + * configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ); + * @endcode + * + * configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and + * INCLUDE_xTaskGetIdleTaskHandle must all be defined as 1 for these functions + * to be available. The application must also then provide definitions for + * portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() + * to configure a peripheral timer/counter and return the timers current count + * value respectively. The counter should be at least 10 times the frequency of + * the tick count. + * + * Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total + * accumulated execution time being stored for each task. The resolution + * of the accumulated time value depends on the frequency of the timer + * configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro. + * While uxTaskGetSystemState() and vTaskGetRunTimeStats() writes the total + * execution time of each task into a buffer, ulTaskGetIdleRunTimeCounter() + * returns the total execution time of just the idle task and + * ulTaskGetIdleRunTimePercent() returns the percentage of the CPU time used by + * just the idle task. + * + * Note the amount of idle time is only a good measure of the slack time in a + * system if there are no other tasks executing at the idle priority, tickless + * idle is not used, and configIDLE_SHOULD_YIELD is set to 0. + * + * @return The total run time of the idle task or the percentage of the total + * run time consumed by the idle task. This is the amount of time the + * idle task has actually been executing. The unit of time is dependent on the + * frequency configured using the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and + * portGET_RUN_TIME_COUNTER_VALUE() macros. + * + * \defgroup ulTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter + * \ingroup TaskUtils + */ +configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION; +configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ) PRIVILEGED_FUNCTION; + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction ); + * BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for these + * functions to be available. + * + * Sends a direct to task notification to a task, with an optional value and + * action. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * A task can use xTaskNotifyWaitIndexed() or ulTaskNotifyTakeIndexed() to + * [optionally] block to wait for a notification to be pending. The task does + * not consume any CPU time while it is in the Blocked state. + * + * A notification sent to a task will remain pending until it is cleared by the + * task calling xTaskNotifyWaitIndexed() or ulTaskNotifyTakeIndexed() (or their + * un-indexed equivalents). If the task was already in the Blocked state to + * wait for a notification when the notification arrives then the task will + * automatically be removed from the Blocked state (unblocked) and the + * notification cleared. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotify() is the original API function, and remains backward + * compatible by always operating on the notification value at index 0 in the + * array. Calling xTaskNotify() is equivalent to calling xTaskNotifyIndexed() + * with the uxIndexToNotify parameter set to 0. + * + * @param xTaskToNotify The handle of the task being notified. The handle to a + * task can be returned from the xTaskCreate() API function used to create the + * task, and the handle of the currently running task can be obtained by calling + * xTaskGetCurrentTaskHandle(). + * + * @param uxIndexToNotify The index within the target task's array of + * notification values to which the notification is to be sent. uxIndexToNotify + * must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. xTaskNotify() does + * not have this parameter and always sends notifications to index 0. + * + * @param ulValue Data that can be sent with the notification. How the data is + * used depends on the value of the eAction parameter. + * + * @param eAction Specifies how the notification updates the task's notification + * value, if at all. Valid values for eAction are as follows: + * + * eSetBits - + * The target notification value is bitwise ORed with ulValue. + * xTaskNotifyIndexed() always returns pdPASS in this case. + * + * eIncrement - + * The target notification value is incremented. ulValue is not used and + * xTaskNotifyIndexed() always returns pdPASS in this case. + * + * eSetValueWithOverwrite - + * The target notification value is set to the value of ulValue, even if the + * task being notified had not yet processed the previous notification at the + * same array index (the task already had a notification pending at that index). + * xTaskNotifyIndexed() always returns pdPASS in this case. + * + * eSetValueWithoutOverwrite - + * If the task being notified did not already have a notification pending at the + * same array index then the target notification value is set to ulValue and + * xTaskNotifyIndexed() will return pdPASS. If the task being notified already + * had a notification pending at the same array index then no action is + * performed and pdFAIL is returned. + * + * eNoAction - + * The task receives a notification at the specified array index without the + * notification value at that index being updated. ulValue is not used and + * xTaskNotifyIndexed() always returns pdPASS in this case. + * + * pulPreviousNotificationValue - + * Can be used to pass out the subject task's notification value before any + * bits are modified by the notify function. + * + * @return Dependent on the value of eAction. See the description of the + * eAction parameter. + * + * \defgroup xTaskNotifyIndexed xTaskNotifyIndexed + * \ingroup TaskNotifications + */ +BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, + UBaseType_t uxIndexToNotify, + uint32_t ulValue, + eNotifyAction eAction, + uint32_t * pulPreviousNotificationValue ) PRIVILEGED_FUNCTION; +#define xTaskNotify( xTaskToNotify, ulValue, eAction ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL ) +#define xTaskNotifyIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyAndQueryIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue ); + * BaseType_t xTaskNotifyAndQuery( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * xTaskNotifyAndQueryIndexed() performs the same operation as + * xTaskNotifyIndexed() with the addition that it also returns the subject + * task's prior notification value (the notification value at the time the + * function is called rather than when the function returns) in the additional + * pulPreviousNotifyValue parameter. + * + * xTaskNotifyAndQuery() performs the same operation as xTaskNotify() with the + * addition that it also returns the subject task's prior notification value + * (the notification value as it was at the time the function is called, rather + * than when the function returns) in the additional pulPreviousNotifyValue + * parameter. + * + * \defgroup xTaskNotifyAndQueryIndexed xTaskNotifyAndQueryIndexed + * \ingroup TaskNotifications + */ +#define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) ) +#define xTaskNotifyAndQueryIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotifyValue ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); + * BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for these + * functions to be available. + * + * A version of xTaskNotifyIndexed() that can be used from an interrupt service + * routine (ISR). + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * A task can use xTaskNotifyWaitIndexed() to [optionally] block to wait for a + * notification to be pending, or ulTaskNotifyTakeIndexed() to [optionally] block + * to wait for a notification value to have a non-zero value. The task does + * not consume any CPU time while it is in the Blocked state. + * + * A notification sent to a task will remain pending until it is cleared by the + * task calling xTaskNotifyWaitIndexed() or ulTaskNotifyTakeIndexed() (or their + * un-indexed equivalents). If the task was already in the Blocked state to + * wait for a notification when the notification arrives then the task will + * automatically be removed from the Blocked state (unblocked) and the + * notification cleared. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotifyFromISR() is the original API function, and remains + * backward compatible by always operating on the notification value at index 0 + * within the array. Calling xTaskNotifyFromISR() is equivalent to calling + * xTaskNotifyIndexedFromISR() with the uxIndexToNotify parameter set to 0. + * + * @param uxIndexToNotify The index within the target task's array of + * notification values to which the notification is to be sent. uxIndexToNotify + * must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. xTaskNotifyFromISR() + * does not have this parameter and always sends notifications to index 0. + * + * @param xTaskToNotify The handle of the task being notified. The handle to a + * task can be returned from the xTaskCreate() API function used to create the + * task, and the handle of the currently running task can be obtained by calling + * xTaskGetCurrentTaskHandle(). + * + * @param ulValue Data that can be sent with the notification. How the data is + * used depends on the value of the eAction parameter. + * + * @param eAction Specifies how the notification updates the task's notification + * value, if at all. Valid values for eAction are as follows: + * + * eSetBits - + * The task's notification value is bitwise ORed with ulValue. xTaskNotify() + * always returns pdPASS in this case. + * + * eIncrement - + * The task's notification value is incremented. ulValue is not used and + * xTaskNotify() always returns pdPASS in this case. + * + * eSetValueWithOverwrite - + * The task's notification value is set to the value of ulValue, even if the + * task being notified had not yet processed the previous notification (the + * task already had a notification pending). xTaskNotify() always returns + * pdPASS in this case. + * + * eSetValueWithoutOverwrite - + * If the task being notified did not already have a notification pending then + * the task's notification value is set to ulValue and xTaskNotify() will + * return pdPASS. If the task being notified already had a notification + * pending then no action is performed and pdFAIL is returned. + * + * eNoAction - + * The task receives a notification without its notification value being + * updated. ulValue is not used and xTaskNotify() always returns pdPASS in + * this case. + * + * @param pxHigherPriorityTaskWoken xTaskNotifyFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the + * task to which the notification was sent to leave the Blocked state, and the + * unblocked task has a priority higher than the currently running task. If + * xTaskNotifyFromISR() sets this value to pdTRUE then a context switch should + * be requested before the interrupt is exited. How a context switch is + * requested from an ISR is dependent on the port - see the documentation page + * for the port in use. + * + * @return Dependent on the value of eAction. See the description of the + * eAction parameter. + * + * \defgroup xTaskNotifyIndexedFromISR xTaskNotifyIndexedFromISR + * \ingroup TaskNotifications + */ +BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify, + UBaseType_t uxIndexToNotify, + uint32_t ulValue, + eNotifyAction eAction, + uint32_t * pulPreviousNotificationValue, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; +#define xTaskNotifyFromISR( xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) \ + xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) ) +#define xTaskNotifyIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) \ + xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyAndQueryIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken ); + * BaseType_t xTaskNotifyAndQueryFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * xTaskNotifyAndQueryIndexedFromISR() performs the same operation as + * xTaskNotifyIndexedFromISR() with the addition that it also returns the + * subject task's prior notification value (the notification value at the time + * the function is called rather than at the time the function returns) in the + * additional pulPreviousNotifyValue parameter. + * + * xTaskNotifyAndQueryFromISR() performs the same operation as + * xTaskNotifyFromISR() with the addition that it also returns the subject + * task's prior notification value (the notification value at the time the + * function is called rather than at the time the function returns) in the + * additional pulPreviousNotifyValue parameter. + * + * \defgroup xTaskNotifyAndQueryIndexedFromISR xTaskNotifyAndQueryIndexedFromISR + * \ingroup TaskNotifications + */ +#define xTaskNotifyAndQueryIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) \ + xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) ) +#define xTaskNotifyAndQueryFromISR( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) \ + xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyWaitIndexed( UBaseType_t uxIndexToWaitOn, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait ); + * + * BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait ); + * @endcode + * + * Waits for a direct to task notification to be pending at a given index within + * an array of direct to task notifications. + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this + * function to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * A notification sent to a task will remain pending until it is cleared by the + * task calling xTaskNotifyWaitIndexed() or ulTaskNotifyTakeIndexed() (or their + * un-indexed equivalents). If the task was already in the Blocked state to + * wait for a notification when the notification arrives then the task will + * automatically be removed from the Blocked state (unblocked) and the + * notification cleared. + * + * A task can use xTaskNotifyWaitIndexed() to [optionally] block to wait for a + * notification to be pending, or ulTaskNotifyTakeIndexed() to [optionally] block + * to wait for a notification value to have a non-zero value. The task does + * not consume any CPU time while it is in the Blocked state. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotifyWait() is the original API function, and remains backward + * compatible by always operating on the notification value at index 0 in the + * array. Calling xTaskNotifyWait() is equivalent to calling + * xTaskNotifyWaitIndexed() with the uxIndexToWaitOn parameter set to 0. + * + * @param uxIndexToWaitOn The index within the calling task's array of + * notification values on which the calling task will wait for a notification to + * be received. uxIndexToWaitOn must be less than + * configTASK_NOTIFICATION_ARRAY_ENTRIES. xTaskNotifyWait() does + * not have this parameter and always waits for notifications on index 0. + * + * @param ulBitsToClearOnEntry Bits that are set in ulBitsToClearOnEntry value + * will be cleared in the calling task's notification value before the task + * checks to see if any notifications are pending, and optionally blocks if no + * notifications are pending. Setting ulBitsToClearOnEntry to ULONG_MAX (if + * limits.h is included) or 0xffffffffUL (if limits.h is not included) will have + * the effect of resetting the task's notification value to 0. Setting + * ulBitsToClearOnEntry to 0 will leave the task's notification value unchanged. + * + * @param ulBitsToClearOnExit If a notification is pending or received before + * the calling task exits the xTaskNotifyWait() function then the task's + * notification value (see the xTaskNotify() API function) is passed out using + * the pulNotificationValue parameter. Then any bits that are set in + * ulBitsToClearOnExit will be cleared in the task's notification value (note + * *pulNotificationValue is set before any bits are cleared). Setting + * ulBitsToClearOnExit to ULONG_MAX (if limits.h is included) or 0xffffffffUL + * (if limits.h is not included) will have the effect of resetting the task's + * notification value to 0 before the function exits. Setting + * ulBitsToClearOnExit to 0 will leave the task's notification value unchanged + * when the function exits (in which case the value passed out in + * pulNotificationValue will match the task's notification value). + * + * @param pulNotificationValue Used to pass the task's notification value out + * of the function. Note the value passed out will not be effected by the + * clearing of any bits caused by ulBitsToClearOnExit being non-zero. + * + * @param xTicksToWait The maximum amount of time that the task should wait in + * the Blocked state for a notification to be received, should a notification + * not already be pending when xTaskNotifyWait() was called. The task + * will not consume any processing time while it is in the Blocked state. This + * is specified in kernel ticks, the macro pdMS_TO_TICKS( value_in_ms ) can be + * used to convert a time specified in milliseconds to a time specified in + * ticks. + * + * @return If a notification was received (including notifications that were + * already pending when xTaskNotifyWait was called) then pdPASS is + * returned. Otherwise pdFAIL is returned. + * + * \defgroup xTaskNotifyWaitIndexed xTaskNotifyWaitIndexed + * \ingroup TaskNotifications + */ +BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn, + uint32_t ulBitsToClearOnEntry, + uint32_t ulBitsToClearOnExit, + uint32_t * pulNotificationValue, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; +#define xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) \ + xTaskGenericNotifyWait( tskDEFAULT_INDEX_TO_NOTIFY, ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) ) +#define xTaskNotifyWaitIndexed( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) \ + xTaskGenericNotifyWait( ( uxIndexToWaitOn ), ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify ); + * BaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify ); + * @endcode + * + * Sends a direct to task notification to a particular index in the target + * task's notification array in a manner similar to giving a counting semaphore. + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for more details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for these + * macros to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * xTaskNotifyGiveIndexed() is a helper macro intended for use when task + * notifications are used as light weight and faster binary or counting + * semaphore equivalents. Actual FreeRTOS semaphores are given using the + * xSemaphoreGive() API function, the equivalent action that instead uses a task + * notification is xTaskNotifyGiveIndexed(). + * + * When task notifications are being used as a binary or counting semaphore + * equivalent then the task being notified should wait for the notification + * using the ulTaskNotificationTakeIndexed() API function rather than the + * xTaskNotifyWaitIndexed() API function. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotifyGive() is the original API function, and remains backward + * compatible by always operating on the notification value at index 0 in the + * array. Calling xTaskNotifyGive() is equivalent to calling + * xTaskNotifyGiveIndexed() with the uxIndexToNotify parameter set to 0. + * + * @param xTaskToNotify The handle of the task being notified. The handle to a + * task can be returned from the xTaskCreate() API function used to create the + * task, and the handle of the currently running task can be obtained by calling + * xTaskGetCurrentTaskHandle(). + * + * @param uxIndexToNotify The index within the target task's array of + * notification values to which the notification is to be sent. uxIndexToNotify + * must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. xTaskNotifyGive() + * does not have this parameter and always sends notifications to index 0. + * + * @return xTaskNotifyGive() is a macro that calls xTaskNotify() with the + * eAction parameter set to eIncrement - so pdPASS is always returned. + * + * \defgroup xTaskNotifyGiveIndexed xTaskNotifyGiveIndexed + * \ingroup TaskNotifications + */ +#define xTaskNotifyGive( xTaskToNotify ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( 0 ), eIncrement, NULL ) +#define xTaskNotifyGiveIndexed( xTaskToNotify, uxIndexToNotify ) \ + xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( 0 ), eIncrement, NULL ) + +/** + * task. h + * @code{c} + * void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken ); + * void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken ); + * @endcode + * + * A version of xTaskNotifyGiveIndexed() that can be called from an interrupt + * service routine (ISR). + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for more details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this macro + * to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * vTaskNotifyGiveIndexedFromISR() is intended for use when task notifications + * are used as light weight and faster binary or counting semaphore equivalents. + * Actual FreeRTOS semaphores are given from an ISR using the + * xSemaphoreGiveFromISR() API function, the equivalent action that instead uses + * a task notification is vTaskNotifyGiveIndexedFromISR(). + * + * When task notifications are being used as a binary or counting semaphore + * equivalent then the task being notified should wait for the notification + * using the ulTaskNotificationTakeIndexed() API function rather than the + * xTaskNotifyWaitIndexed() API function. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotifyFromISR() is the original API function, and remains + * backward compatible by always operating on the notification value at index 0 + * within the array. Calling xTaskNotifyGiveFromISR() is equivalent to calling + * xTaskNotifyGiveIndexedFromISR() with the uxIndexToNotify parameter set to 0. + * + * @param xTaskToNotify The handle of the task being notified. The handle to a + * task can be returned from the xTaskCreate() API function used to create the + * task, and the handle of the currently running task can be obtained by calling + * xTaskGetCurrentTaskHandle(). + * + * @param uxIndexToNotify The index within the target task's array of + * notification values to which the notification is to be sent. uxIndexToNotify + * must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. + * xTaskNotifyGiveFromISR() does not have this parameter and always sends + * notifications to index 0. + * + * @param pxHigherPriorityTaskWoken vTaskNotifyGiveFromISR() will set + * *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the + * task to which the notification was sent to leave the Blocked state, and the + * unblocked task has a priority higher than the currently running task. If + * vTaskNotifyGiveFromISR() sets this value to pdTRUE then a context switch + * should be requested before the interrupt is exited. How a context switch is + * requested from an ISR is dependent on the port - see the documentation page + * for the port in use. + * + * \defgroup vTaskNotifyGiveIndexedFromISR vTaskNotifyGiveIndexedFromISR + * \ingroup TaskNotifications + */ +void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify, + UBaseType_t uxIndexToNotify, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; +#define vTaskNotifyGiveFromISR( xTaskToNotify, pxHigherPriorityTaskWoken ) \ + vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( pxHigherPriorityTaskWoken ) ); +#define vTaskNotifyGiveIndexedFromISR( xTaskToNotify, uxIndexToNotify, pxHigherPriorityTaskWoken ) \ + vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( pxHigherPriorityTaskWoken ) ); + +/** + * task. h + * @code{c} + * uint32_t ulTaskNotifyTakeIndexed( UBaseType_t uxIndexToWaitOn, BaseType_t xClearCountOnExit, TickType_t xTicksToWait ); + * + * uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait ); + * @endcode + * + * Waits for a direct to task notification on a particular index in the calling + * task's notification array in a manner similar to taking a counting semaphore. + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this + * function to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * Events can be sent to a task using an intermediary object. Examples of such + * objects are queues, semaphores, mutexes and event groups. Task notifications + * are a method of sending an event directly to a task without the need for such + * an intermediary object. + * + * A notification sent to a task can optionally perform an action, such as + * update, overwrite or increment one of the task's notification values. In + * that way task notifications can be used to send data to a task, or be used as + * light weight and fast binary or counting semaphores. + * + * ulTaskNotifyTakeIndexed() is intended for use when a task notification is + * used as a faster and lighter weight binary or counting semaphore alternative. + * Actual FreeRTOS semaphores are taken using the xSemaphoreTake() API function, + * the equivalent action that instead uses a task notification is + * ulTaskNotifyTakeIndexed(). + * + * When a task is using its notification value as a binary or counting semaphore + * other tasks should send notifications to it using the xTaskNotifyGiveIndexed() + * macro, or xTaskNotifyIndex() function with the eAction parameter set to + * eIncrement. + * + * ulTaskNotifyTakeIndexed() can either clear the task's notification value at + * the array index specified by the uxIndexToWaitOn parameter to zero on exit, + * in which case the notification value acts like a binary semaphore, or + * decrement the notification value on exit, in which case the notification + * value acts like a counting semaphore. + * + * A task can use ulTaskNotifyTakeIndexed() to [optionally] block to wait for + * a notification. The task does not consume any CPU time while it is in the + * Blocked state. + * + * Where as xTaskNotifyWaitIndexed() will return when a notification is pending, + * ulTaskNotifyTakeIndexed() will return when the task's notification value is + * not zero. + * + * **NOTE** Each notification within the array operates independently - a task + * can only block on one notification within the array at a time and will not be + * unblocked by a notification sent to any other array index. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. ulTaskNotifyTake() is the original API function, and remains backward + * compatible by always operating on the notification value at index 0 in the + * array. Calling ulTaskNotifyTake() is equivalent to calling + * ulTaskNotifyTakeIndexed() with the uxIndexToWaitOn parameter set to 0. + * + * @param uxIndexToWaitOn The index within the calling task's array of + * notification values on which the calling task will wait for a notification to + * be non-zero. uxIndexToWaitOn must be less than + * configTASK_NOTIFICATION_ARRAY_ENTRIES. xTaskNotifyTake() does + * not have this parameter and always waits for notifications on index 0. + * + * @param xClearCountOnExit if xClearCountOnExit is pdFALSE then the task's + * notification value is decremented when the function exits. In this way the + * notification value acts like a counting semaphore. If xClearCountOnExit is + * not pdFALSE then the task's notification value is cleared to zero when the + * function exits. In this way the notification value acts like a binary + * semaphore. + * + * @param xTicksToWait The maximum amount of time that the task should wait in + * the Blocked state for the task's notification value to be greater than zero, + * should the count not already be greater than zero when + * ulTaskNotifyTake() was called. The task will not consume any processing + * time while it is in the Blocked state. This is specified in kernel ticks, + * the macro pdMS_TO_TICKS( value_in_ms ) can be used to convert a time + * specified in milliseconds to a time specified in ticks. + * + * @return The task's notification count before it is either cleared to zero or + * decremented (see the xClearCountOnExit parameter). + * + * \defgroup ulTaskNotifyTakeIndexed ulTaskNotifyTakeIndexed + * \ingroup TaskNotifications + */ +uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn, + BaseType_t xClearCountOnExit, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; +#define ulTaskNotifyTake( xClearCountOnExit, xTicksToWait ) \ + ulTaskGenericNotifyTake( ( tskDEFAULT_INDEX_TO_NOTIFY ), ( xClearCountOnExit ), ( xTicksToWait ) ) +#define ulTaskNotifyTakeIndexed( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait ) \ + ulTaskGenericNotifyTake( ( uxIndexToWaitOn ), ( xClearCountOnExit ), ( xTicksToWait ) ) + +/** + * task. h + * @code{c} + * BaseType_t xTaskNotifyStateClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToCLear ); + * + * BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for these + * functions to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * If a notification is sent to an index within the array of notifications then + * the notification at that index is said to be 'pending' until it is read or + * explicitly cleared by the receiving task. xTaskNotifyStateClearIndexed() + * is the function that clears a pending notification without reading the + * notification value. The notification value at the same array index is not + * altered. Set xTask to NULL to clear the notification state of the calling + * task. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. xTaskNotifyStateClear() is the original API function, and remains + * backward compatible by always operating on the notification value at index 0 + * within the array. Calling xTaskNotifyStateClear() is equivalent to calling + * xTaskNotifyStateClearIndexed() with the uxIndexToNotify parameter set to 0. + * + * @param xTask The handle of the RTOS task that will have a notification state + * cleared. Set xTask to NULL to clear a notification state in the calling + * task. To obtain a task's handle create the task using xTaskCreate() and + * make use of the pxCreatedTask parameter, or create the task using + * xTaskCreateStatic() and store the returned value, or use the task's name in + * a call to xTaskGetHandle(). + * + * @param uxIndexToClear The index within the target task's array of + * notification values to act upon. For example, setting uxIndexToClear to 1 + * will clear the state of the notification at index 1 within the array. + * uxIndexToClear must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. + * ulTaskNotifyStateClear() does not have this parameter and always acts on the + * notification at index 0. + * + * @return pdTRUE if the task's notification state was set to + * eNotWaitingNotification, otherwise pdFALSE. + * + * \defgroup xTaskNotifyStateClearIndexed xTaskNotifyStateClearIndexed + * \ingroup TaskNotifications + */ +BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear ) PRIVILEGED_FUNCTION; +#define xTaskNotifyStateClear( xTask ) \ + xTaskGenericNotifyStateClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ) ) +#define xTaskNotifyStateClearIndexed( xTask, uxIndexToClear ) \ + xTaskGenericNotifyStateClear( ( xTask ), ( uxIndexToClear ) ) + +/** + * task. h + * @code{c} + * uint32_t ulTaskNotifyValueClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear ); + * + * uint32_t ulTaskNotifyValueClear( TaskHandle_t xTask, uint32_t ulBitsToClear ); + * @endcode + * + * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details. + * + * configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for these + * functions to be available. + * + * Each task has a private array of "notification values" (or 'notifications'), + * each of which is a 32-bit unsigned integer (uint32_t). The constant + * configTASK_NOTIFICATION_ARRAY_ENTRIES sets the number of indexes in the + * array, and (for backward compatibility) defaults to 1 if left undefined. + * Prior to FreeRTOS V10.4.0 there was only one notification value per task. + * + * ulTaskNotifyValueClearIndexed() clears the bits specified by the + * ulBitsToClear bit mask in the notification value at array index uxIndexToClear + * of the task referenced by xTask. + * + * Backward compatibility information: + * Prior to FreeRTOS V10.4.0 each task had a single "notification value", and + * all task notification API functions operated on that value. Replacing the + * single notification value with an array of notification values necessitated a + * new set of API functions that could address specific notifications within the + * array. ulTaskNotifyValueClear() is the original API function, and remains + * backward compatible by always operating on the notification value at index 0 + * within the array. Calling ulTaskNotifyValueClear() is equivalent to calling + * ulTaskNotifyValueClearIndexed() with the uxIndexToClear parameter set to 0. + * + * @param xTask The handle of the RTOS task that will have bits in one of its + * notification values cleared. Set xTask to NULL to clear bits in a + * notification value of the calling task. To obtain a task's handle create the + * task using xTaskCreate() and make use of the pxCreatedTask parameter, or + * create the task using xTaskCreateStatic() and store the returned value, or + * use the task's name in a call to xTaskGetHandle(). + * + * @param uxIndexToClear The index within the target task's array of + * notification values in which to clear the bits. uxIndexToClear + * must be less than configTASK_NOTIFICATION_ARRAY_ENTRIES. + * ulTaskNotifyValueClear() does not have this parameter and always clears bits + * in the notification value at index 0. + * + * @param ulBitsToClear Bit mask of the bits to clear in the notification value of + * xTask. Set a bit to 1 to clear the corresponding bits in the task's notification + * value. Set ulBitsToClear to 0xffffffff (UINT_MAX on 32-bit architectures) to clear + * the notification value to 0. Set ulBitsToClear to 0 to query the task's + * notification value without clearing any bits. + * + * + * @return The value of the target task's notification value before the bits + * specified by ulBitsToClear were cleared. + * \defgroup ulTaskNotifyValueClear ulTaskNotifyValueClear + * \ingroup TaskNotifications + */ +uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear, + uint32_t ulBitsToClear ) PRIVILEGED_FUNCTION; +#define ulTaskNotifyValueClear( xTask, ulBitsToClear ) \ + ulTaskGenericNotifyValueClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulBitsToClear ) ) +#define ulTaskNotifyValueClearIndexed( xTask, uxIndexToClear, ulBitsToClear ) \ + ulTaskGenericNotifyValueClear( ( xTask ), ( uxIndexToClear ), ( ulBitsToClear ) ) + +/** + * task.h + * @code{c} + * void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ); + * @endcode + * + * Capture the current time for future use with xTaskCheckForTimeOut(). + * + * @param pxTimeOut Pointer to a timeout object into which the current time + * is to be captured. The captured time includes the tick count and the number + * of times the tick count has overflowed since the system first booted. + * \defgroup vTaskSetTimeOutState vTaskSetTimeOutState + * \ingroup TaskCtrl + */ +void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION; + +/** + * task.h + * @code{c} + * BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait ); + * @endcode + * + * Determines if pxTicksToWait ticks has passed since a time was captured + * using a call to vTaskSetTimeOutState(). The captured time includes the tick + * count and the number of times the tick count has overflowed. + * + * @param pxTimeOut The time status as captured previously using + * vTaskSetTimeOutState. If the timeout has not yet occurred, it is updated + * to reflect the current time status. + * @param pxTicksToWait The number of ticks to check for timeout i.e. if + * pxTicksToWait ticks have passed since pxTimeOut was last updated (either by + * vTaskSetTimeOutState() or xTaskCheckForTimeOut()), the timeout has occurred. + * If the timeout has not occurred, pxTicksToWait is updated to reflect the + * number of remaining ticks. + * + * @return If timeout has occurred, pdTRUE is returned. Otherwise pdFALSE is + * returned and pxTicksToWait is updated to reflect the number of remaining + * ticks. + * + * @see https://www.FreeRTOS.org/xTaskCheckForTimeOut.html + * + * Example Usage: + * @code{c} + * // Driver library function used to receive uxWantedBytes from an Rx buffer + * // that is filled by a UART interrupt. If there are not enough bytes in the + * // Rx buffer then the task enters the Blocked state until it is notified that + * // more data has been placed into the buffer. If there is still not enough + * // data then the task re-enters the Blocked state, and xTaskCheckForTimeOut() + * // is used to re-calculate the Block time to ensure the total amount of time + * // spent in the Blocked state does not exceed MAX_TIME_TO_WAIT. This + * // continues until either the buffer contains at least uxWantedBytes bytes, + * // or the total amount of time spent in the Blocked state reaches + * // MAX_TIME_TO_WAIT - at which point the task reads however many bytes are + * // available up to a maximum of uxWantedBytes. + * + * size_t xUART_Receive( uint8_t *pucBuffer, size_t uxWantedBytes ) + * { + * size_t uxReceived = 0; + * TickType_t xTicksToWait = MAX_TIME_TO_WAIT; + * TimeOut_t xTimeOut; + * + * // Initialize xTimeOut. This records the time at which this function + * // was entered. + * vTaskSetTimeOutState( &xTimeOut ); + * + * // Loop until the buffer contains the wanted number of bytes, or a + * // timeout occurs. + * while( UART_bytes_in_rx_buffer( pxUARTInstance ) < uxWantedBytes ) + * { + * // The buffer didn't contain enough data so this task is going to + * // enter the Blocked state. Adjusting xTicksToWait to account for + * // any time that has been spent in the Blocked state within this + * // function so far to ensure the total amount of time spent in the + * // Blocked state does not exceed MAX_TIME_TO_WAIT. + * if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) != pdFALSE ) + * { + * //Timed out before the wanted number of bytes were available, + * // exit the loop. + * break; + * } + * + * // Wait for a maximum of xTicksToWait ticks to be notified that the + * // receive interrupt has placed more data into the buffer. + * ulTaskNotifyTake( pdTRUE, xTicksToWait ); + * } + * + * // Attempt to read uxWantedBytes from the receive buffer into pucBuffer. + * // The actual number of bytes read (which might be less than + * // uxWantedBytes) is returned. + * uxReceived = UART_read_from_receive_buffer( pxUARTInstance, + * pucBuffer, + * uxWantedBytes ); + * + * return uxReceived; + * } + * @endcode + * \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut + * \ingroup TaskCtrl + */ +BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, + TickType_t * const pxTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * task.h + * @code{c} + * BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ); + * @endcode + * + * This function corrects the tick count value after the application code has held + * interrupts disabled for an extended period resulting in tick interrupts having + * been missed. + * + * This function is similar to vTaskStepTick(), however, unlike + * vTaskStepTick(), xTaskCatchUpTicks() may move the tick count forward past a + * time at which a task should be removed from the blocked state. That means + * tasks may have to be removed from the blocked state as the tick count is + * moved. + * + * @param xTicksToCatchUp The number of tick interrupts that have been missed due to + * interrupts being disabled. Its value is not computed automatically, so must be + * computed by the application writer. + * + * @return pdTRUE if moving the tick count forward resulted in a task leaving the + * blocked state and a context switch being performed. Otherwise pdFALSE. + * + * \defgroup xTaskCatchUpTicks xTaskCatchUpTicks + * \ingroup TaskCtrl + */ +BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION; + + +/*----------------------------------------------------------- +* SCHEDULER INTERNALS AVAILABLE FOR PORTING PURPOSES +*----------------------------------------------------------*/ + +/* + * THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS ONLY + * INTENDED FOR USE WHEN IMPLEMENTING A PORT OF THE SCHEDULER AND IS + * AN INTERFACE WHICH IS FOR THE EXCLUSIVE USE OF THE SCHEDULER. + * + * Called from the real time kernel tick (either preemptive or cooperative), + * this increments the tick count and checks if any tasks that are blocked + * for a finite period required removing from a blocked list and placing on + * a ready list. If a non-zero value is returned then a context switch is + * required because either: + * + A task was removed from a blocked list because its timeout had expired, + * or + * + Time slicing is in use and there is a task of equal priority to the + * currently running task. + */ +BaseType_t xTaskIncrementTick( void ) PRIVILEGED_FUNCTION; + +/* + * THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS AN + * INTERFACE WHICH IS FOR THE EXCLUSIVE USE OF THE SCHEDULER. + * + * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED. + * + * Removes the calling task from the ready list and places it both + * on the list of tasks waiting for a particular event, and the + * list of delayed tasks. The task will be removed from both lists + * and replaced on the ready list should either the event occur (and + * there be no higher priority tasks waiting on the same event) or + * the delay period expires. + * + * The 'unordered' version replaces the event list item value with the + * xItemValue value, and inserts the list item at the end of the list. + * + * The 'ordered' version uses the existing event list item value (which is the + * owning task's priority) to insert the list item into the event list in task + * priority order. + * + * @param pxEventList The list containing tasks that are blocked waiting + * for the event to occur. + * + * @param xItemValue The item value to use for the event list item when the + * event list is not ordered by task priority. + * + * @param xTicksToWait The maximum amount of time that the task should wait + * for the event to occur. This is specified in kernel ticks, the constant + * portTICK_PERIOD_MS can be used to convert kernel ticks into a real time + * period. + */ +void vTaskPlaceOnEventList( List_t * const pxEventList, + const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; +void vTaskPlaceOnUnorderedEventList( List_t * pxEventList, + const TickType_t xItemValue, + const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/* + * THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS AN + * INTERFACE WHICH IS FOR THE EXCLUSIVE USE OF THE SCHEDULER. + * + * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED. + * + * This function performs nearly the same function as vTaskPlaceOnEventList(). + * The difference being that this function does not permit tasks to block + * indefinitely, whereas vTaskPlaceOnEventList() does. + * + */ +void vTaskPlaceOnEventListRestricted( List_t * const pxEventList, + TickType_t xTicksToWait, + const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION; + +/* + * THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS AN + * INTERFACE WHICH IS FOR THE EXCLUSIVE USE OF THE SCHEDULER. + * + * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED. + * + * Removes a task from both the specified event list and the list of blocked + * tasks, and places it on a ready queue. + * + * xTaskRemoveFromEventList()/vTaskRemoveFromUnorderedEventList() will be called + * if either an event occurs to unblock a task, or the block timeout period + * expires. + * + * xTaskRemoveFromEventList() is used when the event list is in task priority + * order. It removes the list item from the head of the event list as that will + * have the highest priority owning task of all the tasks on the event list. + * vTaskRemoveFromUnorderedEventList() is used when the event list is not + * ordered and the event list items hold something other than the owning tasks + * priority. In this case the event list item value is updated to the value + * passed in the xItemValue parameter. + * + * @return pdTRUE if the task being removed has a higher priority than the task + * making the call, otherwise pdFALSE. + */ +BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList ) PRIVILEGED_FUNCTION; +void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem, + const TickType_t xItemValue ) PRIVILEGED_FUNCTION; + +/* + * THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS ONLY + * INTENDED FOR USE WHEN IMPLEMENTING A PORT OF THE SCHEDULER AND IS + * AN INTERFACE WHICH IS FOR THE EXCLUSIVE USE OF THE SCHEDULER. + * + * Sets the pointer to the current TCB to the TCB of the highest priority task + * that is ready to run. + */ +portDONT_DISCARD void vTaskSwitchContext( void ) PRIVILEGED_FUNCTION; + +/* + * THESE FUNCTIONS MUST NOT BE USED FROM APPLICATION CODE. THEY ARE USED BY + * THE EVENT BITS MODULE. + */ +TickType_t uxTaskResetEventItemValue( void ) PRIVILEGED_FUNCTION; + +/* + * Return the handle of the calling task. + */ +TaskHandle_t xTaskGetCurrentTaskHandle( void ) PRIVILEGED_FUNCTION; + +/* + * Shortcut used by the queue implementation to prevent unnecessary call to + * taskYIELD(); + */ +void vTaskMissedYield( void ) PRIVILEGED_FUNCTION; + +/* + * Returns the scheduler state as taskSCHEDULER_RUNNING, + * taskSCHEDULER_NOT_STARTED or taskSCHEDULER_SUSPENDED. + */ +BaseType_t xTaskGetSchedulerState( void ) PRIVILEGED_FUNCTION; + +/* + * Raises the priority of the mutex holder to that of the calling task should + * the mutex holder have a priority less than the calling task. + */ +BaseType_t xTaskPriorityInherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION; + +/* + * Set the priority of a task back to its proper priority in the case that it + * inherited a higher priority while it was holding a semaphore. + */ +BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION; + +/* + * If a higher priority task attempting to obtain a mutex caused a lower + * priority task to inherit the higher priority task's priority - but the higher + * priority task then timed out without obtaining the mutex, then the lower + * priority task will disinherit the priority again - but only down as far as + * the highest priority task that is still waiting for the mutex (if there were + * more than one task waiting for the mutex). + */ +void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t const pxMutexHolder, + UBaseType_t uxHighestPriorityWaitingTask ) PRIVILEGED_FUNCTION; + +/* + * Get the uxTCBNumber assigned to the task referenced by the xTask parameter. + */ +UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask ) PRIVILEGED_FUNCTION; + +/* + * Set the uxTaskNumber of the task referenced by the xTask parameter to + * uxHandle. + */ +void vTaskSetTaskNumber( TaskHandle_t xTask, + const UBaseType_t uxHandle ) PRIVILEGED_FUNCTION; + +/* + * Only available when configUSE_TICKLESS_IDLE is set to 1. + * If tickless mode is being used, or a low power mode is implemented, then + * the tick interrupt will not execute during idle periods. When this is the + * case, the tick count value maintained by the scheduler needs to be kept up + * to date with the actual execution time by being skipped forward by a time + * equal to the idle period. + */ +void vTaskStepTick( const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION; + +/* + * Only available when configUSE_TICKLESS_IDLE is set to 1. + * Provided for use within portSUPPRESS_TICKS_AND_SLEEP() to allow the port + * specific sleep function to determine if it is ok to proceed with the sleep, + * and if it is ok to proceed, if it is ok to sleep indefinitely. + * + * This function is necessary because portSUPPRESS_TICKS_AND_SLEEP() is only + * called with the scheduler suspended, not from within a critical section. It + * is therefore possible for an interrupt to request a context switch between + * portSUPPRESS_TICKS_AND_SLEEP() and the low power mode actually being + * entered. eTaskConfirmSleepModeStatus() should be called from a short + * critical section between the timer being stopped and the sleep mode being + * entered to ensure it is ok to proceed into the sleep mode. + */ +eSleepModeStatus eTaskConfirmSleepModeStatus( void ) PRIVILEGED_FUNCTION; + +/* + * For internal use only. Increment the mutex held count when a mutex is + * taken and return the handle of the task that has taken the mutex. + */ +TaskHandle_t pvTaskIncrementMutexHeldCount( void ) PRIVILEGED_FUNCTION; + +/* + * For internal use only. Same as vTaskSetTimeOutState(), but without a critical + * section. + */ +void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION; + + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ +#endif /* INC_TASK_H */ diff --git a/freertos/cvitek/install/include/kernel/timers.h b/freertos/cvitek/install/include/kernel/timers.h new file mode 100644 index 000000000..2be826c21 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/timers.h @@ -0,0 +1,1355 @@ +/* + * FreeRTOS Kernel V10.4.6 + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + +#ifndef TIMERS_H +#define TIMERS_H + +#ifndef INC_FREERTOS_H + #error "include FreeRTOS.h must appear in source files before include timers.h" +#endif + +/*lint -save -e537 This headers are only multiply included if the application code + * happens to also be including task.h. */ +#include "task.h" +/*lint -restore */ + +/* *INDENT-OFF* */ +#ifdef __cplusplus + extern "C" { +#endif +/* *INDENT-ON* */ + +/*----------------------------------------------------------- +* MACROS AND DEFINITIONS +*----------------------------------------------------------*/ + +/* IDs for commands that can be sent/received on the timer queue. These are to + * be used solely through the macros that make up the public software timer API, + * as defined below. The commands that are sent from interrupts must use the + * highest numbers as tmrFIRST_FROM_ISR_COMMAND is used to determine if the task + * or interrupt version of the queue send function should be used. */ +#define tmrCOMMAND_EXECUTE_CALLBACK_FROM_ISR ( ( BaseType_t ) -2 ) +#define tmrCOMMAND_EXECUTE_CALLBACK ( ( BaseType_t ) -1 ) +#define tmrCOMMAND_START_DONT_TRACE ( ( BaseType_t ) 0 ) +#define tmrCOMMAND_START ( ( BaseType_t ) 1 ) +#define tmrCOMMAND_RESET ( ( BaseType_t ) 2 ) +#define tmrCOMMAND_STOP ( ( BaseType_t ) 3 ) +#define tmrCOMMAND_CHANGE_PERIOD ( ( BaseType_t ) 4 ) +#define tmrCOMMAND_DELETE ( ( BaseType_t ) 5 ) + +#define tmrFIRST_FROM_ISR_COMMAND ( ( BaseType_t ) 6 ) +#define tmrCOMMAND_START_FROM_ISR ( ( BaseType_t ) 6 ) +#define tmrCOMMAND_RESET_FROM_ISR ( ( BaseType_t ) 7 ) +#define tmrCOMMAND_STOP_FROM_ISR ( ( BaseType_t ) 8 ) +#define tmrCOMMAND_CHANGE_PERIOD_FROM_ISR ( ( BaseType_t ) 9 ) + + +/** + * Type by which software timers are referenced. For example, a call to + * xTimerCreate() returns an TimerHandle_t variable that can then be used to + * reference the subject timer in calls to other software timer API functions + * (for example, xTimerStart(), xTimerReset(), etc.). + */ +struct tmrTimerControl; /* The old naming convention is used to prevent breaking kernel aware debuggers. */ +typedef struct tmrTimerControl * TimerHandle_t; + +/* + * Defines the prototype to which timer callback functions must conform. + */ +typedef void (* TimerCallbackFunction_t)( TimerHandle_t xTimer ); + +/* + * Defines the prototype to which functions used with the + * xTimerPendFunctionCallFromISR() function must conform. + */ +typedef void (* PendedFunction_t)( void *, + uint32_t ); + +/** + * TimerHandle_t xTimerCreate( const char * const pcTimerName, + * TickType_t xTimerPeriodInTicks, + * UBaseType_t uxAutoReload, + * void * pvTimerID, + * TimerCallbackFunction_t pxCallbackFunction ); + * + * Creates a new software timer instance, and returns a handle by which the + * created software timer can be referenced. + * + * Internally, within the FreeRTOS implementation, software timers use a block + * of memory, in which the timer data structure is stored. If a software timer + * is created using xTimerCreate() then the required memory is automatically + * dynamically allocated inside the xTimerCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a software timer is created using + * xTimerCreateStatic() then the application writer must provide the memory that + * will get used by the software timer. xTimerCreateStatic() therefore allows a + * software timer to be created without using any dynamic memory allocation. + * + * Timers are created in the dormant state. The xTimerStart(), xTimerReset(), + * xTimerStartFromISR(), xTimerResetFromISR(), xTimerChangePeriod() and + * xTimerChangePeriodFromISR() API functions can all be used to transition a + * timer into the active state. + * + * @param pcTimerName A text name that is assigned to the timer. This is done + * purely to assist debugging. The kernel itself only ever references a timer + * by its handle, and never by its name. + * + * @param xTimerPeriodInTicks The timer period. The time is defined in tick + * periods so the constant portTICK_PERIOD_MS can be used to convert a time that + * has been specified in milliseconds. For example, if the timer must expire + * after 100 ticks, then xTimerPeriodInTicks should be set to 100. + * Alternatively, if the timer must expire after 500ms, then xPeriod can be set + * to ( 500 / portTICK_PERIOD_MS ) provided configTICK_RATE_HZ is less than or + * equal to 1000. Time timer period must be greater than 0. + * + * @param uxAutoReload If uxAutoReload is set to pdTRUE then the timer will + * expire repeatedly with a frequency set by the xTimerPeriodInTicks parameter. + * If uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and + * enter the dormant state after it expires. + * + * @param pvTimerID An identifier that is assigned to the timer being created. + * Typically this would be used in the timer callback function to identify which + * timer expired when the same callback function is assigned to more than one + * timer. + * + * @param pxCallbackFunction The function to call when the timer expires. + * Callback functions must have the prototype defined by TimerCallbackFunction_t, + * which is "void vCallbackFunction( TimerHandle_t xTimer );". + * + * @return If the timer is successfully created then a handle to the newly + * created timer is returned. If the timer cannot be created because there is + * insufficient FreeRTOS heap remaining to allocate the timer + * structures then NULL is returned. + * + * Example usage: + * @verbatim + * #define NUM_TIMERS 5 + * + * // An array to hold handles to the created timers. + * TimerHandle_t xTimers[ NUM_TIMERS ]; + * + * // An array to hold a count of the number of times each timer expires. + * int32_t lExpireCounters[ NUM_TIMERS ] = { 0 }; + * + * // Define a callback function that will be used by multiple timer instances. + * // The callback function does nothing but count the number of times the + * // associated timer expires, and stop the timer once the timer has expired + * // 10 times. + * void vTimerCallback( TimerHandle_t pxTimer ) + * { + * int32_t lArrayIndex; + * const int32_t xMaxExpiryCountBeforeStopping = 10; + * + * // Optionally do something if the pxTimer parameter is NULL. + * configASSERT( pxTimer ); + * + * // Which timer expired? + * lArrayIndex = ( int32_t ) pvTimerGetTimerID( pxTimer ); + * + * // Increment the number of times that pxTimer has expired. + * lExpireCounters[ lArrayIndex ] += 1; + * + * // If the timer has expired 10 times then stop it from running. + * if( lExpireCounters[ lArrayIndex ] == xMaxExpiryCountBeforeStopping ) + * { + * // Do not use a block time if calling a timer API function from a + * // timer callback function, as doing so could cause a deadlock! + * xTimerStop( pxTimer, 0 ); + * } + * } + * + * void main( void ) + * { + * int32_t x; + * + * // Create then start some timers. Starting the timers before the scheduler + * // has been started means the timers will start running immediately that + * // the scheduler starts. + * for( x = 0; x < NUM_TIMERS; x++ ) + * { + * xTimers[ x ] = xTimerCreate( "Timer", // Just a text name, not used by the kernel. + * ( 100 * x ), // The timer period in ticks. + * pdTRUE, // The timers will auto-reload themselves when they expire. + * ( void * ) x, // Assign each timer a unique id equal to its array index. + * vTimerCallback // Each timer calls the same callback when it expires. + * ); + * + * if( xTimers[ x ] == NULL ) + * { + * // The timer was not created. + * } + * else + * { + * // Start the timer. No block time is specified, and even if one was + * // it would be ignored because the scheduler has not yet been + * // started. + * if( xTimerStart( xTimers[ x ], 0 ) != pdPASS ) + * { + * // The timer could not be set into the Active state. + * } + * } + * } + * + * // ... + * // Create tasks here. + * // ... + * + * // Starting the scheduler will start the timers running as they have already + * // been set into the active state. + * vTaskStartScheduler(); + * + * // Should not reach here. + * for( ;; ); + * } + * @endverbatim + */ +#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + TimerHandle_t xTimerCreate( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + const TickType_t xTimerPeriodInTicks, + const UBaseType_t uxAutoReload, + void * const pvTimerID, + TimerCallbackFunction_t pxCallbackFunction ) PRIVILEGED_FUNCTION; +#endif + +/** + * TimerHandle_t xTimerCreateStatic(const char * const pcTimerName, + * TickType_t xTimerPeriodInTicks, + * UBaseType_t uxAutoReload, + * void * pvTimerID, + * TimerCallbackFunction_t pxCallbackFunction, + * StaticTimer_t *pxTimerBuffer ); + * + * Creates a new software timer instance, and returns a handle by which the + * created software timer can be referenced. + * + * Internally, within the FreeRTOS implementation, software timers use a block + * of memory, in which the timer data structure is stored. If a software timer + * is created using xTimerCreate() then the required memory is automatically + * dynamically allocated inside the xTimerCreate() function. (see + * https://www.FreeRTOS.org/a00111.html). If a software timer is created using + * xTimerCreateStatic() then the application writer must provide the memory that + * will get used by the software timer. xTimerCreateStatic() therefore allows a + * software timer to be created without using any dynamic memory allocation. + * + * Timers are created in the dormant state. The xTimerStart(), xTimerReset(), + * xTimerStartFromISR(), xTimerResetFromISR(), xTimerChangePeriod() and + * xTimerChangePeriodFromISR() API functions can all be used to transition a + * timer into the active state. + * + * @param pcTimerName A text name that is assigned to the timer. This is done + * purely to assist debugging. The kernel itself only ever references a timer + * by its handle, and never by its name. + * + * @param xTimerPeriodInTicks The timer period. The time is defined in tick + * periods so the constant portTICK_PERIOD_MS can be used to convert a time that + * has been specified in milliseconds. For example, if the timer must expire + * after 100 ticks, then xTimerPeriodInTicks should be set to 100. + * Alternatively, if the timer must expire after 500ms, then xPeriod can be set + * to ( 500 / portTICK_PERIOD_MS ) provided configTICK_RATE_HZ is less than or + * equal to 1000. The timer period must be greater than 0. + * + * @param uxAutoReload If uxAutoReload is set to pdTRUE then the timer will + * expire repeatedly with a frequency set by the xTimerPeriodInTicks parameter. + * If uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and + * enter the dormant state after it expires. + * + * @param pvTimerID An identifier that is assigned to the timer being created. + * Typically this would be used in the timer callback function to identify which + * timer expired when the same callback function is assigned to more than one + * timer. + * + * @param pxCallbackFunction The function to call when the timer expires. + * Callback functions must have the prototype defined by TimerCallbackFunction_t, + * which is "void vCallbackFunction( TimerHandle_t xTimer );". + * + * @param pxTimerBuffer Must point to a variable of type StaticTimer_t, which + * will be then be used to hold the software timer's data structures, removing + * the need for the memory to be allocated dynamically. + * + * @return If the timer is created then a handle to the created timer is + * returned. If pxTimerBuffer was NULL then NULL is returned. + * + * Example usage: + * @verbatim + * + * // The buffer used to hold the software timer's data structure. + * static StaticTimer_t xTimerBuffer; + * + * // A variable that will be incremented by the software timer's callback + * // function. + * UBaseType_t uxVariableToIncrement = 0; + * + * // A software timer callback function that increments a variable passed to + * // it when the software timer was created. After the 5th increment the + * // callback function stops the software timer. + * static void prvTimerCallback( TimerHandle_t xExpiredTimer ) + * { + * UBaseType_t *puxVariableToIncrement; + * BaseType_t xReturned; + * + * // Obtain the address of the variable to increment from the timer ID. + * puxVariableToIncrement = ( UBaseType_t * ) pvTimerGetTimerID( xExpiredTimer ); + * + * // Increment the variable to show the timer callback has executed. + * ( *puxVariableToIncrement )++; + * + * // If this callback has executed the required number of times, stop the + * // timer. + * if( *puxVariableToIncrement == 5 ) + * { + * // This is called from a timer callback so must not block. + * xTimerStop( xExpiredTimer, staticDONT_BLOCK ); + * } + * } + * + * + * void main( void ) + * { + * // Create the software time. xTimerCreateStatic() has an extra parameter + * // than the normal xTimerCreate() API function. The parameter is a pointer + * // to the StaticTimer_t structure that will hold the software timer + * // structure. If the parameter is passed as NULL then the structure will be + * // allocated dynamically, just as if xTimerCreate() had been called. + * xTimer = xTimerCreateStatic( "T1", // Text name for the task. Helps debugging only. Not used by FreeRTOS. + * xTimerPeriod, // The period of the timer in ticks. + * pdTRUE, // This is an auto-reload timer. + * ( void * ) &uxVariableToIncrement, // A variable incremented by the software timer's callback function + * prvTimerCallback, // The function to execute when the timer expires. + * &xTimerBuffer ); // The buffer that will hold the software timer structure. + * + * // The scheduler has not started yet so a block time is not used. + * xReturned = xTimerStart( xTimer, 0 ); + * + * // ... + * // Create tasks here. + * // ... + * + * // Starting the scheduler will start the timers running as they have already + * // been set into the active state. + * vTaskStartScheduler(); + * + * // Should not reach here. + * for( ;; ); + * } + * @endverbatim + */ +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + TimerHandle_t xTimerCreateStatic( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + const TickType_t xTimerPeriodInTicks, + const UBaseType_t uxAutoReload, + void * const pvTimerID, + TimerCallbackFunction_t pxCallbackFunction, + StaticTimer_t * pxTimerBuffer ) PRIVILEGED_FUNCTION; +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/** + * void *pvTimerGetTimerID( TimerHandle_t xTimer ); + * + * Returns the ID assigned to the timer. + * + * IDs are assigned to timers using the pvTimerID parameter of the call to + * xTimerCreated() that was used to create the timer, and by calling the + * vTimerSetTimerID() API function. + * + * If the same callback function is assigned to multiple timers then the timer + * ID can be used as time specific (timer local) storage. + * + * @param xTimer The timer being queried. + * + * @return The ID assigned to the timer being queried. + * + * Example usage: + * + * See the xTimerCreate() API function example usage scenario. + */ +void * pvTimerGetTimerID( const TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; + +/** + * void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID ); + * + * Sets the ID assigned to the timer. + * + * IDs are assigned to timers using the pvTimerID parameter of the call to + * xTimerCreated() that was used to create the timer. + * + * If the same callback function is assigned to multiple timers then the timer + * ID can be used as time specific (timer local) storage. + * + * @param xTimer The timer being updated. + * + * @param pvNewID The ID to assign to the timer. + * + * Example usage: + * + * See the xTimerCreate() API function example usage scenario. + */ +void vTimerSetTimerID( TimerHandle_t xTimer, + void * pvNewID ) PRIVILEGED_FUNCTION; + +/** + * BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer ); + * + * Queries a timer to see if it is active or dormant. + * + * A timer will be dormant if: + * 1) It has been created but not started, or + * 2) It is an expired one-shot timer that has not been restarted. + * + * Timers are created in the dormant state. The xTimerStart(), xTimerReset(), + * xTimerStartFromISR(), xTimerResetFromISR(), xTimerChangePeriod() and + * xTimerChangePeriodFromISR() API functions can all be used to transition a timer into the + * active state. + * + * @param xTimer The timer being queried. + * + * @return pdFALSE will be returned if the timer is dormant. A value other than + * pdFALSE will be returned if the timer is active. + * + * Example usage: + * @verbatim + * // This function assumes xTimer has already been created. + * void vAFunction( TimerHandle_t xTimer ) + * { + * if( xTimerIsTimerActive( xTimer ) != pdFALSE ) // or more simply and equivalently "if( xTimerIsTimerActive( xTimer ) )" + * { + * // xTimer is active, do something. + * } + * else + * { + * // xTimer is not active, do something else. + * } + * } + * @endverbatim + */ +BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; + +/** + * TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ); + * + * Simply returns the handle of the timer service/daemon task. It it not valid + * to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started. + */ +TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION; + +/** + * BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait ); + * + * Timer functionality is provided by a timer service/daemon task. Many of the + * public FreeRTOS timer API functions send commands to the timer service task + * through a queue called the timer command queue. The timer command queue is + * private to the kernel itself and is not directly accessible to application + * code. The length of the timer command queue is set by the + * configTIMER_QUEUE_LENGTH configuration constant. + * + * xTimerStart() starts a timer that was previously created using the + * xTimerCreate() API function. If the timer had already been started and was + * already in the active state, then xTimerStart() has equivalent functionality + * to the xTimerReset() API function. + * + * Starting a timer ensures the timer is in the active state. If the timer + * is not stopped, deleted, or reset in the mean time, the callback function + * associated with the timer will get called 'n' ticks after xTimerStart() was + * called, where 'n' is the timers defined period. + * + * It is valid to call xTimerStart() before the scheduler has been started, but + * when this is done the timer will not actually start until the scheduler is + * started, and the timers expiry time will be relative to when the scheduler is + * started, not relative to when xTimerStart() was called. + * + * The configUSE_TIMERS configuration constant must be set to 1 for xTimerStart() + * to be available. + * + * @param xTimer The handle of the timer being started/restarted. + * + * @param xTicksToWait Specifies the time, in ticks, that the calling task should + * be held in the Blocked state to wait for the start command to be successfully + * sent to the timer command queue, should the queue already be full when + * xTimerStart() was called. xTicksToWait is ignored if xTimerStart() is called + * before the scheduler is started. + * + * @return pdFAIL will be returned if the start command could not be sent to + * the timer command queue even after xTicksToWait ticks had passed. pdPASS will + * be returned if the command was successfully sent to the timer command queue. + * When the command is actually processed will depend on the priority of the + * timer service/daemon task relative to other tasks in the system, although the + * timers expiry time is relative to when xTimerStart() is actually called. The + * timer service/daemon task priority is set by the configTIMER_TASK_PRIORITY + * configuration constant. + * + * Example usage: + * + * See the xTimerCreate() API function example usage scenario. + * + */ +#define xTimerStart( xTimer, xTicksToWait ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) ) + +/** + * BaseType_t xTimerStop( TimerHandle_t xTimer, TickType_t xTicksToWait ); + * + * Timer functionality is provided by a timer service/daemon task. Many of the + * public FreeRTOS timer API functions send commands to the timer service task + * through a queue called the timer command queue. The timer command queue is + * private to the kernel itself and is not directly accessible to application + * code. The length of the timer command queue is set by the + * configTIMER_QUEUE_LENGTH configuration constant. + * + * xTimerStop() stops a timer that was previously started using either of the + * The xTimerStart(), xTimerReset(), xTimerStartFromISR(), xTimerResetFromISR(), + * xTimerChangePeriod() or xTimerChangePeriodFromISR() API functions. + * + * Stopping a timer ensures the timer is not in the active state. + * + * The configUSE_TIMERS configuration constant must be set to 1 for xTimerStop() + * to be available. + * + * @param xTimer The handle of the timer being stopped. + * + * @param xTicksToWait Specifies the time, in ticks, that the calling task should + * be held in the Blocked state to wait for the stop command to be successfully + * sent to the timer command queue, should the queue already be full when + * xTimerStop() was called. xTicksToWait is ignored if xTimerStop() is called + * before the scheduler is started. + * + * @return pdFAIL will be returned if the stop command could not be sent to + * the timer command queue even after xTicksToWait ticks had passed. pdPASS will + * be returned if the command was successfully sent to the timer command queue. + * When the command is actually processed will depend on the priority of the + * timer service/daemon task relative to other tasks in the system. The timer + * service/daemon task priority is set by the configTIMER_TASK_PRIORITY + * configuration constant. + * + * Example usage: + * + * See the xTimerCreate() API function example usage scenario. + * + */ +#define xTimerStop( xTimer, xTicksToWait ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP, 0U, NULL, ( xTicksToWait ) ) + +/** + * BaseType_t xTimerChangePeriod( TimerHandle_t xTimer, + * TickType_t xNewPeriod, + * TickType_t xTicksToWait ); + * + * Timer functionality is provided by a timer service/daemon task. Many of the + * public FreeRTOS timer API functions send commands to the timer service task + * through a queue called the timer command queue. The timer command queue is + * private to the kernel itself and is not directly accessible to application + * code. The length of the timer command queue is set by the + * configTIMER_QUEUE_LENGTH configuration constant. + * + * xTimerChangePeriod() changes the period of a timer that was previously + * created using the xTimerCreate() API function. + * + * xTimerChangePeriod() can be called to change the period of an active or + * dormant state timer. + * + * The configUSE_TIMERS configuration constant must be set to 1 for + * xTimerChangePeriod() to be available. + * + * @param xTimer The handle of the timer that is having its period changed. + * + * @param xNewPeriod The new period for xTimer. Timer periods are specified in + * tick periods, so the constant portTICK_PERIOD_MS can be used to convert a time + * that has been specified in milliseconds. For example, if the timer must + * expire after 100 ticks, then xNewPeriod should be set to 100. Alternatively, + * if the timer must expire after 500ms, then xNewPeriod can be set to + * ( 500 / portTICK_PERIOD_MS ) provided configTICK_RATE_HZ is less than + * or equal to 1000. + * + * @param xTicksToWait Specifies the time, in ticks, that the calling task should + * be held in the Blocked state to wait for the change period command to be + * successfully sent to the timer command queue, should the queue already be + * full when xTimerChangePeriod() was called. xTicksToWait is ignored if + * xTimerChangePeriod() is called before the scheduler is started. + * + * @return pdFAIL will be returned if the change period command could not be + * sent to the timer command queue even after xTicksToWait ticks had passed. + * pdPASS will be returned if the command was successfully sent to the timer + * command queue. When the command is actually processed will depend on the + * priority of the timer service/daemon task relative to other tasks in the + * system. The timer service/daemon task priority is set by the + * configTIMER_TASK_PRIORITY configuration constant. + * + * Example usage: + * @verbatim + * // This function assumes xTimer has already been created. If the timer + * // referenced by xTimer is already active when it is called, then the timer + * // is deleted. If the timer referenced by xTimer is not active when it is + * // called, then the period of the timer is set to 500ms and the timer is + * // started. + * void vAFunction( TimerHandle_t xTimer ) + * { + * if( xTimerIsTimerActive( xTimer ) != pdFALSE ) // or more simply and equivalently "if( xTimerIsTimerActive( xTimer ) )" + * { + * // xTimer is already active - delete it. + * xTimerDelete( xTimer ); + * } + * else + * { + * // xTimer is not active, change its period to 500ms. This will also + * // cause the timer to start. Block for a maximum of 100 ticks if the + * // change period command cannot immediately be sent to the timer + * // command queue. + * if( xTimerChangePeriod( xTimer, 500 / portTICK_PERIOD_MS, 100 ) == pdPASS ) + * { + * // The command was successfully sent. + * } + * else + * { + * // The command could not be sent, even after waiting for 100 ticks + * // to pass. Take appropriate action here. + * } + * } + * } + * @endverbatim + */ +#define xTimerChangePeriod( xTimer, xNewPeriod, xTicksToWait ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD, ( xNewPeriod ), NULL, ( xTicksToWait ) ) + +/** + * BaseType_t xTimerDelete( TimerHandle_t xTimer, TickType_t xTicksToWait ); + * + * Timer functionality is provided by a timer service/daemon task. Many of the + * public FreeRTOS timer API functions send commands to the timer service task + * through a queue called the timer command queue. The timer command queue is + * private to the kernel itself and is not directly accessible to application + * code. The length of the timer command queue is set by the + * configTIMER_QUEUE_LENGTH configuration constant. + * + * xTimerDelete() deletes a timer that was previously created using the + * xTimerCreate() API function. + * + * The configUSE_TIMERS configuration constant must be set to 1 for + * xTimerDelete() to be available. + * + * @param xTimer The handle of the timer being deleted. + * + * @param xTicksToWait Specifies the time, in ticks, that the calling task should + * be held in the Blocked state to wait for the delete command to be + * successfully sent to the timer command queue, should the queue already be + * full when xTimerDelete() was called. xTicksToWait is ignored if xTimerDelete() + * is called before the scheduler is started. + * + * @return pdFAIL will be returned if the delete command could not be sent to + * the timer command queue even after xTicksToWait ticks had passed. pdPASS will + * be returned if the command was successfully sent to the timer command queue. + * When the command is actually processed will depend on the priority of the + * timer service/daemon task relative to other tasks in the system. The timer + * service/daemon task priority is set by the configTIMER_TASK_PRIORITY + * configuration constant. + * + * Example usage: + * + * See the xTimerChangePeriod() API function example usage scenario. + */ +#define xTimerDelete( xTimer, xTicksToWait ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_DELETE, 0U, NULL, ( xTicksToWait ) ) + +/** + * BaseType_t xTimerReset( TimerHandle_t xTimer, TickType_t xTicksToWait ); + * + * Timer functionality is provided by a timer service/daemon task. Many of the + * public FreeRTOS timer API functions send commands to the timer service task + * through a queue called the timer command queue. The timer command queue is + * private to the kernel itself and is not directly accessible to application + * code. The length of the timer command queue is set by the + * configTIMER_QUEUE_LENGTH configuration constant. + * + * xTimerReset() re-starts a timer that was previously created using the + * xTimerCreate() API function. If the timer had already been started and was + * already in the active state, then xTimerReset() will cause the timer to + * re-evaluate its expiry time so that it is relative to when xTimerReset() was + * called. If the timer was in the dormant state then xTimerReset() has + * equivalent functionality to the xTimerStart() API function. + * + * Resetting a timer ensures the timer is in the active state. If the timer + * is not stopped, deleted, or reset in the mean time, the callback function + * associated with the timer will get called 'n' ticks after xTimerReset() was + * called, where 'n' is the timers defined period. + * + * It is valid to call xTimerReset() before the scheduler has been started, but + * when this is done the timer will not actually start until the scheduler is + * started, and the timers expiry time will be relative to when the scheduler is + * started, not relative to when xTimerReset() was called. + * + * The configUSE_TIMERS configuration constant must be set to 1 for xTimerReset() + * to be available. + * + * @param xTimer The handle of the timer being reset/started/restarted. + * + * @param xTicksToWait Specifies the time, in ticks, that the calling task should + * be held in the Blocked state to wait for the reset command to be successfully + * sent to the timer command queue, should the queue already be full when + * xTimerReset() was called. xTicksToWait is ignored if xTimerReset() is called + * before the scheduler is started. + * + * @return pdFAIL will be returned if the reset command could not be sent to + * the timer command queue even after xTicksToWait ticks had passed. pdPASS will + * be returned if the command was successfully sent to the timer command queue. + * When the command is actually processed will depend on the priority of the + * timer service/daemon task relative to other tasks in the system, although the + * timers expiry time is relative to when xTimerStart() is actually called. The + * timer service/daemon task priority is set by the configTIMER_TASK_PRIORITY + * configuration constant. + * + * Example usage: + * @verbatim + * // When a key is pressed, an LCD back-light is switched on. If 5 seconds pass + * // without a key being pressed, then the LCD back-light is switched off. In + * // this case, the timer is a one-shot timer. + * + * TimerHandle_t xBacklightTimer = NULL; + * + * // The callback function assigned to the one-shot timer. In this case the + * // parameter is not used. + * void vBacklightTimerCallback( TimerHandle_t pxTimer ) + * { + * // The timer expired, therefore 5 seconds must have passed since a key + * // was pressed. Switch off the LCD back-light. + * vSetBacklightState( BACKLIGHT_OFF ); + * } + * + * // The key press event handler. + * void vKeyPressEventHandler( char cKey ) + * { + * // Ensure the LCD back-light is on, then reset the timer that is + * // responsible for turning the back-light off after 5 seconds of + * // key inactivity. Wait 10 ticks for the command to be successfully sent + * // if it cannot be sent immediately. + * vSetBacklightState( BACKLIGHT_ON ); + * if( xTimerReset( xBacklightTimer, 100 ) != pdPASS ) + * { + * // The reset command was not executed successfully. Take appropriate + * // action here. + * } + * + * // Perform the rest of the key processing here. + * } + * + * void main( void ) + * { + * int32_t x; + * + * // Create then start the one-shot timer that is responsible for turning + * // the back-light off if no keys are pressed within a 5 second period. + * xBacklightTimer = xTimerCreate( "BacklightTimer", // Just a text name, not used by the kernel. + * ( 5000 / portTICK_PERIOD_MS), // The timer period in ticks. + * pdFALSE, // The timer is a one-shot timer. + * 0, // The id is not used by the callback so can take any value. + * vBacklightTimerCallback // The callback function that switches the LCD back-light off. + * ); + * + * if( xBacklightTimer == NULL ) + * { + * // The timer was not created. + * } + * else + * { + * // Start the timer. No block time is specified, and even if one was + * // it would be ignored because the scheduler has not yet been + * // started. + * if( xTimerStart( xBacklightTimer, 0 ) != pdPASS ) + * { + * // The timer could not be set into the Active state. + * } + * } + * + * // ... + * // Create tasks here. + * // ... + * + * // Starting the scheduler will start the timer running as it has already + * // been set into the active state. + * vTaskStartScheduler(); + * + * // Should not reach here. + * for( ;; ); + * } + * @endverbatim + */ +#define xTimerReset( xTimer, xTicksToWait ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) ) + +/** + * BaseType_t xTimerStartFromISR( TimerHandle_t xTimer, + * BaseType_t *pxHigherPriorityTaskWoken ); + * + * A version of xTimerStart() that can be called from an interrupt service + * routine. + * + * @param xTimer The handle of the timer being started/restarted. + * + * @param pxHigherPriorityTaskWoken The timer service/daemon task spends most + * of its time in the Blocked state, waiting for messages to arrive on the timer + * command queue. Calling xTimerStartFromISR() writes a message to the timer + * command queue, so has the potential to transition the timer service/daemon + * task out of the Blocked state. If calling xTimerStartFromISR() causes the + * timer service/daemon task to leave the Blocked state, and the timer service/ + * daemon task has a priority equal to or greater than the currently executing + * task (the task that was interrupted), then *pxHigherPriorityTaskWoken will + * get set to pdTRUE internally within the xTimerStartFromISR() function. If + * xTimerStartFromISR() sets this value to pdTRUE then a context switch should + * be performed before the interrupt exits. + * + * @return pdFAIL will be returned if the start command could not be sent to + * the timer command queue. pdPASS will be returned if the command was + * successfully sent to the timer command queue. When the command is actually + * processed will depend on the priority of the timer service/daemon task + * relative to other tasks in the system, although the timers expiry time is + * relative to when xTimerStartFromISR() is actually called. The timer + * service/daemon task priority is set by the configTIMER_TASK_PRIORITY + * configuration constant. + * + * Example usage: + * @verbatim + * // This scenario assumes xBacklightTimer has already been created. When a + * // key is pressed, an LCD back-light is switched on. If 5 seconds pass + * // without a key being pressed, then the LCD back-light is switched off. In + * // this case, the timer is a one-shot timer, and unlike the example given for + * // the xTimerReset() function, the key press event handler is an interrupt + * // service routine. + * + * // The callback function assigned to the one-shot timer. In this case the + * // parameter is not used. + * void vBacklightTimerCallback( TimerHandle_t pxTimer ) + * { + * // The timer expired, therefore 5 seconds must have passed since a key + * // was pressed. Switch off the LCD back-light. + * vSetBacklightState( BACKLIGHT_OFF ); + * } + * + * // The key press interrupt service routine. + * void vKeyPressEventInterruptHandler( void ) + * { + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; + * + * // Ensure the LCD back-light is on, then restart the timer that is + * // responsible for turning the back-light off after 5 seconds of + * // key inactivity. This is an interrupt service routine so can only + * // call FreeRTOS API functions that end in "FromISR". + * vSetBacklightState( BACKLIGHT_ON ); + * + * // xTimerStartFromISR() or xTimerResetFromISR() could be called here + * // as both cause the timer to re-calculate its expiry time. + * // xHigherPriorityTaskWoken was initialised to pdFALSE when it was + * // declared (in this function). + * if( xTimerStartFromISR( xBacklightTimer, &xHigherPriorityTaskWoken ) != pdPASS ) + * { + * // The start command was not executed successfully. Take appropriate + * // action here. + * } + * + * // Perform the rest of the key processing here. + * + * // If xHigherPriorityTaskWoken equals pdTRUE, then a context switch + * // should be performed. The syntax required to perform a context switch + * // from inside an ISR varies from port to port, and from compiler to + * // compiler. Inspect the demos for the port you are using to find the + * // actual syntax required. + * if( xHigherPriorityTaskWoken != pdFALSE ) + * { + * // Call the interrupt safe yield function here (actual function + * // depends on the FreeRTOS port being used). + * } + * } + * @endverbatim + */ +#define xTimerStartFromISR( xTimer, pxHigherPriorityTaskWoken ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U ) + +/** + * BaseType_t xTimerStopFromISR( TimerHandle_t xTimer, + * BaseType_t *pxHigherPriorityTaskWoken ); + * + * A version of xTimerStop() that can be called from an interrupt service + * routine. + * + * @param xTimer The handle of the timer being stopped. + * + * @param pxHigherPriorityTaskWoken The timer service/daemon task spends most + * of its time in the Blocked state, waiting for messages to arrive on the timer + * command queue. Calling xTimerStopFromISR() writes a message to the timer + * command queue, so has the potential to transition the timer service/daemon + * task out of the Blocked state. If calling xTimerStopFromISR() causes the + * timer service/daemon task to leave the Blocked state, and the timer service/ + * daemon task has a priority equal to or greater than the currently executing + * task (the task that was interrupted), then *pxHigherPriorityTaskWoken will + * get set to pdTRUE internally within the xTimerStopFromISR() function. If + * xTimerStopFromISR() sets this value to pdTRUE then a context switch should + * be performed before the interrupt exits. + * + * @return pdFAIL will be returned if the stop command could not be sent to + * the timer command queue. pdPASS will be returned if the command was + * successfully sent to the timer command queue. When the command is actually + * processed will depend on the priority of the timer service/daemon task + * relative to other tasks in the system. The timer service/daemon task + * priority is set by the configTIMER_TASK_PRIORITY configuration constant. + * + * Example usage: + * @verbatim + * // This scenario assumes xTimer has already been created and started. When + * // an interrupt occurs, the timer should be simply stopped. + * + * // The interrupt service routine that stops the timer. + * void vAnExampleInterruptServiceRoutine( void ) + * { + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; + * + * // The interrupt has occurred - simply stop the timer. + * // xHigherPriorityTaskWoken was set to pdFALSE where it was defined + * // (within this function). As this is an interrupt service routine, only + * // FreeRTOS API functions that end in "FromISR" can be used. + * if( xTimerStopFromISR( xTimer, &xHigherPriorityTaskWoken ) != pdPASS ) + * { + * // The stop command was not executed successfully. Take appropriate + * // action here. + * } + * + * // If xHigherPriorityTaskWoken equals pdTRUE, then a context switch + * // should be performed. The syntax required to perform a context switch + * // from inside an ISR varies from port to port, and from compiler to + * // compiler. Inspect the demos for the port you are using to find the + * // actual syntax required. + * if( xHigherPriorityTaskWoken != pdFALSE ) + * { + * // Call the interrupt safe yield function here (actual function + * // depends on the FreeRTOS port being used). + * } + * } + * @endverbatim + */ +#define xTimerStopFromISR( xTimer, pxHigherPriorityTaskWoken ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP_FROM_ISR, 0, ( pxHigherPriorityTaskWoken ), 0U ) + +/** + * BaseType_t xTimerChangePeriodFromISR( TimerHandle_t xTimer, + * TickType_t xNewPeriod, + * BaseType_t *pxHigherPriorityTaskWoken ); + * + * A version of xTimerChangePeriod() that can be called from an interrupt + * service routine. + * + * @param xTimer The handle of the timer that is having its period changed. + * + * @param xNewPeriod The new period for xTimer. Timer periods are specified in + * tick periods, so the constant portTICK_PERIOD_MS can be used to convert a time + * that has been specified in milliseconds. For example, if the timer must + * expire after 100 ticks, then xNewPeriod should be set to 100. Alternatively, + * if the timer must expire after 500ms, then xNewPeriod can be set to + * ( 500 / portTICK_PERIOD_MS ) provided configTICK_RATE_HZ is less than + * or equal to 1000. + * + * @param pxHigherPriorityTaskWoken The timer service/daemon task spends most + * of its time in the Blocked state, waiting for messages to arrive on the timer + * command queue. Calling xTimerChangePeriodFromISR() writes a message to the + * timer command queue, so has the potential to transition the timer service/ + * daemon task out of the Blocked state. If calling xTimerChangePeriodFromISR() + * causes the timer service/daemon task to leave the Blocked state, and the + * timer service/daemon task has a priority equal to or greater than the + * currently executing task (the task that was interrupted), then + * *pxHigherPriorityTaskWoken will get set to pdTRUE internally within the + * xTimerChangePeriodFromISR() function. If xTimerChangePeriodFromISR() sets + * this value to pdTRUE then a context switch should be performed before the + * interrupt exits. + * + * @return pdFAIL will be returned if the command to change the timers period + * could not be sent to the timer command queue. pdPASS will be returned if the + * command was successfully sent to the timer command queue. When the command + * is actually processed will depend on the priority of the timer service/daemon + * task relative to other tasks in the system. The timer service/daemon task + * priority is set by the configTIMER_TASK_PRIORITY configuration constant. + * + * Example usage: + * @verbatim + * // This scenario assumes xTimer has already been created and started. When + * // an interrupt occurs, the period of xTimer should be changed to 500ms. + * + * // The interrupt service routine that changes the period of xTimer. + * void vAnExampleInterruptServiceRoutine( void ) + * { + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; + * + * // The interrupt has occurred - change the period of xTimer to 500ms. + * // xHigherPriorityTaskWoken was set to pdFALSE where it was defined + * // (within this function). As this is an interrupt service routine, only + * // FreeRTOS API functions that end in "FromISR" can be used. + * if( xTimerChangePeriodFromISR( xTimer, &xHigherPriorityTaskWoken ) != pdPASS ) + * { + * // The command to change the timers period was not executed + * // successfully. Take appropriate action here. + * } + * + * // If xHigherPriorityTaskWoken equals pdTRUE, then a context switch + * // should be performed. The syntax required to perform a context switch + * // from inside an ISR varies from port to port, and from compiler to + * // compiler. Inspect the demos for the port you are using to find the + * // actual syntax required. + * if( xHigherPriorityTaskWoken != pdFALSE ) + * { + * // Call the interrupt safe yield function here (actual function + * // depends on the FreeRTOS port being used). + * } + * } + * @endverbatim + */ +#define xTimerChangePeriodFromISR( xTimer, xNewPeriod, pxHigherPriorityTaskWoken ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD_FROM_ISR, ( xNewPeriod ), ( pxHigherPriorityTaskWoken ), 0U ) + +/** + * BaseType_t xTimerResetFromISR( TimerHandle_t xTimer, + * BaseType_t *pxHigherPriorityTaskWoken ); + * + * A version of xTimerReset() that can be called from an interrupt service + * routine. + * + * @param xTimer The handle of the timer that is to be started, reset, or + * restarted. + * + * @param pxHigherPriorityTaskWoken The timer service/daemon task spends most + * of its time in the Blocked state, waiting for messages to arrive on the timer + * command queue. Calling xTimerResetFromISR() writes a message to the timer + * command queue, so has the potential to transition the timer service/daemon + * task out of the Blocked state. If calling xTimerResetFromISR() causes the + * timer service/daemon task to leave the Blocked state, and the timer service/ + * daemon task has a priority equal to or greater than the currently executing + * task (the task that was interrupted), then *pxHigherPriorityTaskWoken will + * get set to pdTRUE internally within the xTimerResetFromISR() function. If + * xTimerResetFromISR() sets this value to pdTRUE then a context switch should + * be performed before the interrupt exits. + * + * @return pdFAIL will be returned if the reset command could not be sent to + * the timer command queue. pdPASS will be returned if the command was + * successfully sent to the timer command queue. When the command is actually + * processed will depend on the priority of the timer service/daemon task + * relative to other tasks in the system, although the timers expiry time is + * relative to when xTimerResetFromISR() is actually called. The timer service/daemon + * task priority is set by the configTIMER_TASK_PRIORITY configuration constant. + * + * Example usage: + * @verbatim + * // This scenario assumes xBacklightTimer has already been created. When a + * // key is pressed, an LCD back-light is switched on. If 5 seconds pass + * // without a key being pressed, then the LCD back-light is switched off. In + * // this case, the timer is a one-shot timer, and unlike the example given for + * // the xTimerReset() function, the key press event handler is an interrupt + * // service routine. + * + * // The callback function assigned to the one-shot timer. In this case the + * // parameter is not used. + * void vBacklightTimerCallback( TimerHandle_t pxTimer ) + * { + * // The timer expired, therefore 5 seconds must have passed since a key + * // was pressed. Switch off the LCD back-light. + * vSetBacklightState( BACKLIGHT_OFF ); + * } + * + * // The key press interrupt service routine. + * void vKeyPressEventInterruptHandler( void ) + * { + * BaseType_t xHigherPriorityTaskWoken = pdFALSE; + * + * // Ensure the LCD back-light is on, then reset the timer that is + * // responsible for turning the back-light off after 5 seconds of + * // key inactivity. This is an interrupt service routine so can only + * // call FreeRTOS API functions that end in "FromISR". + * vSetBacklightState( BACKLIGHT_ON ); + * + * // xTimerStartFromISR() or xTimerResetFromISR() could be called here + * // as both cause the timer to re-calculate its expiry time. + * // xHigherPriorityTaskWoken was initialised to pdFALSE when it was + * // declared (in this function). + * if( xTimerResetFromISR( xBacklightTimer, &xHigherPriorityTaskWoken ) != pdPASS ) + * { + * // The reset command was not executed successfully. Take appropriate + * // action here. + * } + * + * // Perform the rest of the key processing here. + * + * // If xHigherPriorityTaskWoken equals pdTRUE, then a context switch + * // should be performed. The syntax required to perform a context switch + * // from inside an ISR varies from port to port, and from compiler to + * // compiler. Inspect the demos for the port you are using to find the + * // actual syntax required. + * if( xHigherPriorityTaskWoken != pdFALSE ) + * { + * // Call the interrupt safe yield function here (actual function + * // depends on the FreeRTOS port being used). + * } + * } + * @endverbatim + */ +#define xTimerResetFromISR( xTimer, pxHigherPriorityTaskWoken ) \ + xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U ) + + +/** + * BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, + * void *pvParameter1, + * uint32_t ulParameter2, + * BaseType_t *pxHigherPriorityTaskWoken ); + * + * + * Used from application interrupt service routines to defer the execution of a + * function to the RTOS daemon task (the timer service task, hence this function + * is implemented in timers.c and is prefixed with 'Timer'). + * + * Ideally an interrupt service routine (ISR) is kept as short as possible, but + * sometimes an ISR either has a lot of processing to do, or needs to perform + * processing that is not deterministic. In these cases + * xTimerPendFunctionCallFromISR() can be used to defer processing of a function + * to the RTOS daemon task. + * + * A mechanism is provided that allows the interrupt to return directly to the + * task that will subsequently execute the pended callback function. This + * allows the callback function to execute contiguously in time with the + * interrupt - just as if the callback had executed in the interrupt itself. + * + * @param xFunctionToPend The function to execute from the timer service/ + * daemon task. The function must conform to the PendedFunction_t + * prototype. + * + * @param pvParameter1 The value of the callback function's first parameter. + * The parameter has a void * type to allow it to be used to pass any type. + * For example, unsigned longs can be cast to a void *, or the void * can be + * used to point to a structure. + * + * @param ulParameter2 The value of the callback function's second parameter. + * + * @param pxHigherPriorityTaskWoken As mentioned above, calling this function + * will result in a message being sent to the timer daemon task. If the + * priority of the timer daemon task (which is set using + * configTIMER_TASK_PRIORITY in FreeRTOSConfig.h) is higher than the priority of + * the currently running task (the task the interrupt interrupted) then + * *pxHigherPriorityTaskWoken will be set to pdTRUE within + * xTimerPendFunctionCallFromISR(), indicating that a context switch should be + * requested before the interrupt exits. For that reason + * *pxHigherPriorityTaskWoken must be initialised to pdFALSE. See the + * example code below. + * + * @return pdPASS is returned if the message was successfully sent to the + * timer daemon task, otherwise pdFALSE is returned. + * + * Example usage: + * @verbatim + * + * // The callback function that will execute in the context of the daemon task. + * // Note callback functions must all use this same prototype. + * void vProcessInterface( void *pvParameter1, uint32_t ulParameter2 ) + * { + * BaseType_t xInterfaceToService; + * + * // The interface that requires servicing is passed in the second + * // parameter. The first parameter is not used in this case. + * xInterfaceToService = ( BaseType_t ) ulParameter2; + * + * // ...Perform the processing here... + * } + * + * // An ISR that receives data packets from multiple interfaces + * void vAnISR( void ) + * { + * BaseType_t xInterfaceToService, xHigherPriorityTaskWoken; + * + * // Query the hardware to determine which interface needs processing. + * xInterfaceToService = prvCheckInterfaces(); + * + * // The actual processing is to be deferred to a task. Request the + * // vProcessInterface() callback function is executed, passing in the + * // number of the interface that needs processing. The interface to + * // service is passed in the second parameter. The first parameter is + * // not used in this case. + * xHigherPriorityTaskWoken = pdFALSE; + * xTimerPendFunctionCallFromISR( vProcessInterface, NULL, ( uint32_t ) xInterfaceToService, &xHigherPriorityTaskWoken ); + * + * // If xHigherPriorityTaskWoken is now set to pdTRUE then a context + * // switch should be requested. The macro used is port specific and will + * // be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() - refer to + * // the documentation page for the port being used. + * portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + * + * } + * @endverbatim + */ +BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, + void * pvParameter1, + uint32_t ulParameter2, + BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION; + +/** + * BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, + * void *pvParameter1, + * uint32_t ulParameter2, + * TickType_t xTicksToWait ); + * + * + * Used to defer the execution of a function to the RTOS daemon task (the timer + * service task, hence this function is implemented in timers.c and is prefixed + * with 'Timer'). + * + * @param xFunctionToPend The function to execute from the timer service/ + * daemon task. The function must conform to the PendedFunction_t + * prototype. + * + * @param pvParameter1 The value of the callback function's first parameter. + * The parameter has a void * type to allow it to be used to pass any type. + * For example, unsigned longs can be cast to a void *, or the void * can be + * used to point to a structure. + * + * @param ulParameter2 The value of the callback function's second parameter. + * + * @param xTicksToWait Calling this function will result in a message being + * sent to the timer daemon task on a queue. xTicksToWait is the amount of + * time the calling task should remain in the Blocked state (so not using any + * processing time) for space to become available on the timer queue if the + * queue is found to be full. + * + * @return pdPASS is returned if the message was successfully sent to the + * timer daemon task, otherwise pdFALSE is returned. + * + */ +BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, + void * pvParameter1, + uint32_t ulParameter2, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +/** + * const char * const pcTimerGetName( TimerHandle_t xTimer ); + * + * Returns the name that was assigned to a timer when the timer was created. + * + * @param xTimer The handle of the timer being queried. + * + * @return The name assigned to the timer specified by the xTimer parameter. + */ +const char * pcTimerGetName( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ + +/** + * void vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAutoReload ); + * + * Updates a timer to be either an auto-reload timer, in which case the timer + * automatically resets itself each time it expires, or a one-shot timer, in + * which case the timer will only expire once unless it is manually restarted. + * + * @param xTimer The handle of the timer being updated. + * + * @param uxAutoReload If uxAutoReload is set to pdTRUE then the timer will + * expire repeatedly with a frequency set by the timer's period (see the + * xTimerPeriodInTicks parameter of the xTimerCreate() API function). If + * uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and + * enter the dormant state after it expires. + */ +void vTimerSetReloadMode( TimerHandle_t xTimer, + const UBaseType_t uxAutoReload ) PRIVILEGED_FUNCTION; + +/** + * UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer ); + * + * Queries a timer to determine if it is an auto-reload timer, in which case the timer + * automatically resets itself each time it expires, or a one-shot timer, in + * which case the timer will only expire once unless it is manually restarted. + * + * @param xTimer The handle of the timer being queried. + * + * @return If the timer is an auto-reload timer then pdTRUE is returned, otherwise + * pdFALSE is returned. + */ +UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; + +/** + * TickType_t xTimerGetPeriod( TimerHandle_t xTimer ); + * + * Returns the period of a timer. + * + * @param xTimer The handle of the timer being queried. + * + * @return The period of the timer in ticks. + */ +TickType_t xTimerGetPeriod( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; + +/** + * TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer ); + * + * Returns the time in ticks at which the timer will expire. If this is less + * than the current tick count then the expiry time has overflowed from the + * current time. + * + * @param xTimer The handle of the timer being queried. + * + * @return If the timer is running then the time in ticks at which the timer + * will next expire is returned. If the timer is not running then the return + * value is undefined. + */ +TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; + +/* + * Functions beyond this part are not part of the public API and are intended + * for use by the kernel only. + */ +BaseType_t xTimerCreateTimerTask( void ) PRIVILEGED_FUNCTION; +BaseType_t xTimerGenericCommand( TimerHandle_t xTimer, + const BaseType_t xCommandID, + const TickType_t xOptionalValue, + BaseType_t * const pxHigherPriorityTaskWoken, + const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + +#if ( configUSE_TRACE_FACILITY == 1 ) + void vTimerSetTimerNumber( TimerHandle_t xTimer, + UBaseType_t uxTimerNumber ) PRIVILEGED_FUNCTION; + UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; +#endif + +#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + +/** + * task.h + * @code{c} + * void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize ) + * @endcode + * + * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer Task TCB. This function is required when + * configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION + * + * @param ppxTimerTaskTCBBuffer A handle to a statically allocated TCB buffer + * @param ppxTimerTaskStackBuffer A handle to a statically allocated Stack buffer for thie idle task + * @param pulTimerTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer + */ + void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, + StackType_t ** ppxTimerTaskStackBuffer, + uint32_t * pulTimerTaskStackSize ); + +#endif + +/* *INDENT-OFF* */ +#ifdef __cplusplus + } +#endif +/* *INDENT-ON* */ +#endif /* TIMERS_H */ diff --git a/freertos/cvitek/install/include/kernel/trcAssert.h b/freertos/cvitek/install/include/kernel/trcAssert.h new file mode 100644 index 000000000..a1cc7b9ea --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcAssert.h @@ -0,0 +1,143 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace assert APIs. + */ + +#ifndef TRC_ASSERT_H +#define TRC_ASSERT_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_assert_apis Trace Asserts APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#ifndef TRC_CFG_USE_TRACE_ASSERT +#error "TRC_CFG_USE_TRACE_ASSERT is not defined. Please define it in trcConfig.h" +#endif + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/* Standard assert */ +#define TRC_ASSERT(__condition) if (!(__condition)) { prvTraceAssertCreate(__FILE__, __LINE__); return TRC_FAIL; } + +#define TRC_ASSERT_ALWAYS_EVALUATE TRC_ASSERT + +/* Standard assert with custom on fail actions */ +#define TRC_ASSERT_CUSTOM_ON_FAIL(__condition, __custom_on_fail) if (!(__condition)) { prvTraceAssertCreate(__FILE__, __LINE__); __custom_on_fail; } + +#define TRC_ASSERT_CUSTOM_ON_FAIL_ALWAYS_EVALUATE TRC_ASSERT_CUSTOM_ON_FAIL + +#if (defined(TRC_CFG_TEST_MODE) && (TRC_CFG_TEST_MODE) == 1) + +/* Asserts that two types have an equal size. Condition passed to function to avoid compilers warning about unreachable code due to constant value. */ +#define TRC_ASSERT_EQUAL_SIZE(x, y) if (!prvTraceAssertCheckCondition((TraceBaseType_t)(sizeof(x) == sizeof(y)))) { prvTraceAssertCreate(__FILE__, __LINE__); return TRC_FAIL; } + +/** + * @brief Inlined condition check to get around some compiler warnings for unused variables. + * + * @param[in] condition The condition + */ +inline TraceBaseType_t prvTraceAssertCheckCondition(TraceBaseType_t condition) +{ + return condition; +} + +#else + +#define TRC_ASSERT_EQUAL_SIZE(x, y) + +#endif + +#define TRC_ASSERT_BUFFER_SIZE (sizeof(TraceEntryHandle_t)) + +typedef struct TraceAssertBuffer +{ + uint8_t buffer[TRC_ASSERT_BUFFER_SIZE]; +} TraceAssertBuffer_t; + +/** + * @internal Initializes assert system + * + * @param[in] pxBuffer The assert data buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceAssertInitialize(TraceAssertBuffer_t *pxBuffer); + +/** + * @internal Creates an assert + * + * @param[in] szFilePath File name + * @param[in] uxLineNumber Line number + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +void prvTraceAssertCreate(const char* szFilePath, TraceUnsignedBaseType_t uxLineNumber); + +/** + * @brief Retrieves the assert and line number + * + * @param[out] pxFileNameStringHandle File name string handle + * @param[out] puxLineNumber Line number + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceAssertGet(TraceStringHandle_t* pxFileNameStringHandle, TraceUnsignedBaseType_t* puxLineNumber); + +#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +#define TRC_ASSERT(__condition) + +#define TRC_ASSERT_ALWAYS_EVALUATE(__condition) (void)(__condition) + +#define TRC_ASSERT_CUSTOM_ON_FAIL(__condition, __custom_on_fail) + +#define TRC_ASSERT_CUSTOM_ON_FAIL_ALWAYS_EVALUATE(__condition, __custom_on_fail) (__condition) + +#define TRC_ASSERT_EQUAL_SIZE(x, y) + +typedef struct TraceAssertBuffer +{ + uint32_t buffer[1]; +} TraceAssertBuffer_t; + +#define xTraceAssertInitialize(pxBuffer) ((void)pxBuffer, TRC_SUCCESS) + +#define xTraceAssertGet(pxFileNameStringHandle, puxLineNumber) ((void)pxFileNameStringHandle, (void)puxLineNumber, TRC_FAIL) + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_ASSERT_H */ diff --git a/freertos/cvitek/install/include/kernel/trcConfig.h b/freertos/cvitek/install/include/kernel/trcConfig.h new file mode 100644 index 000000000..3ed377351 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcConfig.h @@ -0,0 +1,320 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Main configuration parameters for the trace recorder library. + * More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h. + */ + +#ifndef TRC_CONFIG_H +#define TRC_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * Include of processor header file + * + * Here you may need to include the header file for your processor. This is + * required at least for the ARM Cortex-M port, that uses the ARM CMSIS API. + * Try that in case of build problems. Otherwise, remove the #error line below. + *****************************************************************************/ +//#error "Trace Recorder: Please include your processor's header file here and remove this line." + +/** + * @def TRC_CFG_HARDWARE_PORT + * @brief Specify what hardware port to use (i.e., the "timestamping driver"). + * + * All ARM Cortex-M MCUs are supported by "TRC_HARDWARE_PORT_ARM_Cortex_M". + * This port uses the DWT cycle counter for Cortex-M3/M4/M7 devices, which is + * available on most such devices. In case your device don't have DWT support, + * you will get an error message opening the trace. In that case, you may + * force the recorder to use SysTick timestamping instead, using this define: + * + * #define TRC_CFG_ARM_CM_USE_SYSTICK + * + * For ARM Cortex-M0/M0+ devices, SysTick mode is used automatically. + * + * See trcHardwarePort.h for available ports and information on how to + * define your own port, if not already present. + */ +#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_RISCV_RV32I + +/** + * @def TRC_CFG_SCHEDULING_ONLY + * @brief Macro which should be defined as an integer value. + * + * If this setting is enabled (= 1), only scheduling events are recorded. + * If disabled (= 0), all events are recorded (unless filtered in other ways). + * + * Default value is 0 (= include additional events). + */ +#define TRC_CFG_SCHEDULING_ONLY 0 + +/** + * @def TRC_CFG_INCLUDE_MEMMANG_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * This controls if malloc and free calls should be traced. Set this to zero (0) + * to exclude malloc/free calls, or one (1) to include such events in the trace. + * + * Default value is 1. + */ +#define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_USER_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), all code related to User Events is excluded in order + * to reduce code size. Any attempts of storing User Events are then silently + * ignored. + * + * User Events are application-generated events, like "printf" but for the + * trace log, generated using vTracePrint and vTracePrintF. + * The formatting is done on host-side, by Tracealyzer. User Events are + * therefore much faster than a console printf and can often be used + * in timing critical code without problems. + * + * Note: In streaming mode, User Events are used to provide error messages + * and warnings from the recorder (in case of incorrect configuration) for + * display in Tracealyzer. Disabling user events will also disable these + * warnings. You can however still catch them by calling xTraceErrorGetLast + * or by putting breakpoints in xTraceError and xTraceWarning. + * + * Default value is 1. + */ +#define TRC_CFG_INCLUDE_USER_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_ISR_TRACING + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the code for recording Interrupt Service Routines is + * excluded, in order to reduce code size. This means that any calls to + * vTraceStoreISRBegin/vTraceStoreISREnd will be ignored. + * This does not completely disable ISR tracing, in cases where an ISR is + * calling a traced kernel service. These events will still be recorded and + * show up in anonymous ISR instances in Tracealyzer, with names such as + * "ISR sending to ". + * To disable such tracing, please refer to vTraceSetFilterGroup and + * vTraceSetFilterMask. + * + * Default value is 1. + * + * Note: tracing ISRs requires that you insert calls to vTraceStoreISRBegin + * and vTraceStoreISREnd in your interrupt handlers. + */ +#define TRC_CFG_INCLUDE_ISR_TRACING 1 + +/** + * @def TRC_CFG_INCLUDE_READY_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If one (1), events are recorded when tasks enter scheduling state "ready". + * This allows Tracealyzer to show the initial pending time before tasks enter + * the execution state, and present accurate response times. + * If zero (0), "ready events" are not created, which allows for recording + * longer traces in the same amount of RAM. + * + * Default value is 1. + */ +#define TRC_CFG_INCLUDE_READY_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_OSTICK_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is one (1), events will be generated whenever the OS clock is + * increased. If zero (0), OS tick events are not generated, which allows for + * recording longer traces in the same amount of RAM. + * + * Default value is 1. + */ +#define TRC_CFG_INCLUDE_OSTICK_EVENTS 1 + +/** + * @def TRC_CFG_ENABLE_STACK_MONITOR + * @brief If enabled (1), the recorder periodically reports the unused stack space of + * all active tasks. + * The stack monitoring runs in the Tracealyzer Control task, TzCtrl. This task + * is always created by the recorder when in streaming mode. + * In snapshot mode, the TzCtrl task is only used for stack monitoring and is + * not created unless this is enabled. + */ +#define TRC_CFG_ENABLE_STACK_MONITOR 1 + +/** + * @def TRC_CFG_STACK_MONITOR_MAX_TASKS + * @brief Macro which should be defined as a non-zero integer value. + * + * This controls how many tasks that can be monitored by the stack monitor. + * If this is too small, some tasks will be excluded and a warning is shown. + * + * Default value is 10. + */ +#define TRC_CFG_STACK_MONITOR_MAX_TASKS 10 + +/** + * @def TRC_CFG_STACK_MONITOR_MAX_REPORTS + * @brief Macro which should be defined as a non-zero integer value. + * + * This defines how many tasks that will be subject to stack usage analysis for + * each execution of the Tracealyzer Control task (TzCtrl). Note that the stack + * monitoring cycles between the tasks, so this does not affect WHICH tasks that + * are monitored, but HOW OFTEN each task stack is analyzed. + * + * This setting can be combined with TRC_CFG_CTRL_TASK_DELAY to tune the + * frequency of the stack monitoring. This is motivated since the stack analysis + * can take some time to execute. + * However, note that the stack analysis runs in a separate task (TzCtrl) that + * can be executed on low priority. This way, you can avoid that the stack + * analysis disturbs any time-sensitive tasks. + * + * Default value is 1. + */ +#define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1 + +/** + * @def TRC_CFG_CTRL_TASK_PRIORITY + * @brief The scheduling priority of the Tracealyzer Control (TzCtrl) task. + * + * In streaming mode, TzCtrl is used to receive start/stop commands from + * Tracealyzer and in some cases also to transmit the trace data (for stream + * ports that uses the internal buffer, like TCP/IP). For such stream ports, + * make sure the TzCtrl priority is high enough to ensure reliable periodic + * execution and transfer of the data, but low enough to avoid disturbing any + * time-sensitive functions. + * + * In Snapshot mode, TzCtrl is only used for the stack usage monitoring and is + * not created if stack monitoring is disabled. TRC_CFG_CTRL_TASK_PRIORITY should + * be low, to avoid disturbing any time-sensitive tasks. + */ +#define TRC_CFG_CTRL_TASK_PRIORITY 1 + +/** + * @def TRC_CFG_CTRL_TASK_DELAY + * @brief The delay between loops of the TzCtrl task (see TRC_CFG_CTRL_TASK_PRIORITY), + * which affects the frequency of the stack monitoring. + * + * In streaming mode, this also affects the trace data transfer if you are using + * a stream port leveraging the internal buffer (like TCP/IP). A shorter delay + * increases the CPU load of TzCtrl somewhat, but may improve the performance of + * of the trace streaming, especially if the trace buffer is small. + */ +#define TRC_CFG_CTRL_TASK_DELAY 2 + +/** + * @def TRC_CFG_CTRL_TASK_STACK_SIZE + * @brief The stack size of the Tracealyzer Control (TzCtrl) task. + * See TRC_CFG_CTRL_TASK_PRIORITY for further information about TzCtrl. + */ +#define TRC_CFG_CTRL_TASK_STACK_SIZE 1024 + +/** + * @def TRC_CFG_RECORDER_BUFFER_ALLOCATION + * @brief Specifies how the recorder buffer is allocated (also in case of streaming, in + * port using the recorder's internal temporary buffer) + * + * Values: + * TRC_RECORDER_BUFFER_ALLOCATION_STATIC - Static allocation (internal) + * TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC - Malloc in vTraceEnable + * TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM - Use vTraceSetRecorderDataBuffer + * + * Static and dynamic mode does the allocation for you, either in compile time + * (static) or in runtime (malloc). + * The custom mode allows you to control how and where the allocation is made, + * for details see TRC_ALLOC_CUSTOM_BUFFER and vTraceSetRecorderDataBuffer(). + */ +#define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC + +/** + * @def TRC_CFG_MAX_ISR_NESTING + * @brief Defines how many levels of interrupt nesting the recorder can handle, in + * case multiple ISRs are traced and ISR nesting is possible. If this + * is exceeded, the particular ISR will not be traced and the recorder then + * logs an error message. This setting is used to allocate an internal stack + * for keeping track of the previous execution context (4 byte per entry). + * + * This value must be a non-zero positive constant, at least 1. + * + * Default value: 8 + */ +#define TRC_CFG_MAX_ISR_NESTING 8 + +/** + * @def TRC_CFG_ISR_TAILCHAINING_THRESHOLD + * @brief Macro which should be defined as an integer value. + * + * If tracing multiple ISRs, this setting allows for accurate display of the + * context-switching also in cases when the ISRs execute in direct sequence. + * + * vTraceStoreISREnd normally assumes that the ISR returns to the previous + * context, i.e., a task or a preempted ISR. But if another traced ISR + * executes in direct sequence, Tracealyzer may incorrectly display a minimal + * fragment of the previous context in between the ISRs. + * + * By using TRC_CFG_ISR_TAILCHAINING_THRESHOLD you can avoid this. This is + * however a threshold value that must be measured for your specific setup. + * See http://percepio.com/2014/03/21/isr_tailchaining_threshold/ + * + * The default setting is 0, meaning "disabled" and that you may get an + * extra fragments of the previous context in between tail-chained ISRs. + * + * Note: This setting has separate definitions in trcSnapshotConfig.h and + * trcStreamingConfig.h, since it is affected by the recorder mode. + */ +#define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0 + +/** + * @def TRC_CFG_RECORDER_DATA_INIT + * @brief Macro which states wether the recorder data should have an initial value. + * + * In very specific cases where traced objects are created before main(), + * the recorder will need to be started even before that. In these cases, + * the recorder data would be initialized by vTraceEnable(TRC_INIT) but could + * then later be overwritten by the initialization value. + * If this is an issue for you, set TRC_CFG_RECORDER_DATA_INIT to 0. + * The following code can then be used before any traced objects are created: + * + * extern uint32_t RecorderEnabled; + * RecorderEnabled = 0; + * xTraceInitialize(); + * + * After the clocks are properly initialized, use vTraceEnable(...) to start + * the tracing. + * + * Default value is 1. + */ +#define TRC_CFG_RECORDER_DATA_INIT 1 + +/** + * @def TRC_CFG_RECORDER_DATA_ATTRIBUTE + * @brief When setting TRC_CFG_RECORDER_DATA_INIT to 0, you might also need to make + * sure certain recorder data is placed in a specific RAM section to avoid being + * zeroed out after initialization. Define TRC_CFG_RECORDER_DATA_ATTRIBUTE as + * that attribute. + * + * Example: + * #define TRC_CFG_RECORDER_DATA_ATTRIBUTE __attribute__((section(".bss.trace_recorder_data"))) + * + * Default value is empty. + */ +#define TRC_CFG_RECORDER_DATA_ATTRIBUTE + +/** + * @def TRC_CFG_USE_TRACE_ASSERT + * @brief Enable or disable debug asserts. Information regarding any assert that is + * triggered will be in trcAssert.c. + */ +#define TRC_CFG_USE_TRACE_ASSERT 0 + +#ifdef __cplusplus +} +#endif + +#endif /* _TRC_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/trcCounter.h b/freertos/cvitek/install/include/kernel/trcCounter.h new file mode 100644 index 000000000..71687550e --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcCounter.h @@ -0,0 +1,210 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace counter APIs. + */ + +#ifndef TRC_COUNTER_H +#define TRC_COUNTER_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#define TRC_COUNTER_VALUE_INDEX 0 +#define TRC_COUNTER_LOWER_LIMIT_INDEX 1 +#define TRC_COUNTER_UPPER_LIMIT_INDEX 2 + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_counter_apis Trace Counter APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Sets trace counter callback. + * + * @param[in] xCallback Callback + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceCounterSetCallback(TraceCounterCallback_t xCallback); + +/** + * @brief Creates trace counter. + * + * @param[in] szName Name. + * @param[in] xInitialValue Initial value. + * @param[in] xLowerLimit Lower limit. + * @param[in] xUpperLimit Upper limit. + * @param[out] pxCounterHandle Uninitialized trace counter handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceCounterCreate(const char* szName, TraceBaseType_t xInitialValue, TraceBaseType_t xLowerLimit, TraceBaseType_t xUpperLimit, TraceCounterHandle_t* pxCounterHandle); + +/** + * @brief Adds value to trace counter. + * + * @param[in] xCounterHandle Initialized trace counter handle. + * @param[in] xValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterAdd(xCounterHandle, xValue) xTraceCounterSet(xCounterHandle, (TraceBaseType_t)(xTraceEntryGetStateReturn((TraceEntryHandle_t)(xCounterHandle), TRC_COUNTER_VALUE_INDEX)) + (xValue)) + +/** + * @brief Sets trace counter value. + * + * @param[in] xCounterHandle Initialized trace counter handle. + * @param[in] xValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceCounterSet(TraceCounterHandle_t xCounterHandle, TraceBaseType_t xValue); + +/** + * @brief Gets trace counter value. + * + * @param[in] xCounterHandle Initialized trace counter handle. + * @param[out] pxValue Returned value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterGet(xCounterHandle, pxValue) xTraceEntryGetState((TraceEntryHandle_t)(xCounterHandle), TRC_COUNTER_VALUE_INDEX, (TraceUnsignedBaseType_t*)(pxValue)) + +/** + * @brief Increases trace counter value. + * + * @param[in] xCounterHandle Initialized trace counter handle + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterIncrease(xCounterHandle) xTraceCounterAdd(xCounterHandle, 1) + +/** + * @brief Decreases trace counter value. + * + * @param[in] xCounterHandle Initialized trace counter handle + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterDecrease(xCounterHandle) xTraceCounterAdd(xCounterHandle, -1) + +/** + * @brief Gets trace counter upper limit. + * + * @param[in] xCounterHandle Initialized trace counter handle + * @param[out] pxValue Returned value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterGetUpperLimit(xCounterHandle, pxValue) xTraceEntryGetState((TraceEntryHandle_t)(xCounterHandle), TRC_COUNTER_UPPER_LIMIT_INDEX, (TraceUnsignedBaseType_t*)(pxValue)) + +/** + * @brief Gets trace counter lower limit. + * + * @param[in] xCounterHandle Initialized trace counter handle + * @param[out] pxValue Returned value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterGetLowerLimit(xCounterHandle, pxValue) xTraceEntryGetState((TraceEntryHandle_t)(xCounterHandle), TRC_COUNTER_LOWER_LIMIT_INDEX, (TraceUnsignedBaseType_t*)(pxValue)) + +/** + * @brief Gets trace counter name. + * + * @param[in] xCounterHandle Initialized trace counter handle. + * @param[out] pszName Returned name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceCounterGetName(xCounterHandle, pszName) xTraceEntryGetSymbol((TraceEntryHandle_t)(xCounterHandle), pszName) + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#else + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterSetCallback(__xCallback) ((void)(__xCallback), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterCreate(__szName, __xInitialValue, __xLowerLimit, __xUpperLimit, __pxCounterHandle) ((void)(__szName), (void)(__xInitialValue), (void)(__xLowerLimit), (void)(__xUpperLimit), *(__pxCounterHandle) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterAdd(__xCounterHandle, __xValue) ((void)(__xCounterHandle), (void)(__xValue), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterSet(__xCounterHandle, __xValue) ((void)(__xCounterHandle), (void)(__xValue), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterGet(__xCounterHandle, __pxValue) ((void)(__xCounterHandle), *(__pxValue) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterIncrease(__xCounterHandle) ((void)(__xCounterHandle), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterDecrease(__xCounterHandle) ((void)(__xCounterHandle), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterGetUpperLimit(__xCounterHandle, __pxValue) ((void)(__xCounterHandle), *(__pxValue) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterGetLowerLimit(__xCounterHandle, __pxValue) ((void)(__xCounterHandle), *(__pxValue) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceCounterGetName(__xCounterHandle, __pszName) ((void)(__xCounterHandle), *(__pszName) = "N/A", TRC_SUCCESS) + +#endif + +#endif + +#endif diff --git a/freertos/cvitek/install/include/kernel/trcDefines.h b/freertos/cvitek/install/include/kernel/trcDefines.h new file mode 100644 index 000000000..d013b24e2 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcDefines.h @@ -0,0 +1,183 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Some common defines for the trace recorder. + */ + +#ifndef TRC_DEFINES_H +#define TRC_DEFINES_H + +#define TRC_SUCCESS (0) +#define TRC_FAIL (1) + +#define TRC_FREE_RUNNING_32BIT_INCR 1 +#define TRC_FREE_RUNNING_32BIT_DECR 2 +#define TRC_OS_TIMER_INCR 3 +#define TRC_OS_TIMER_DECR 4 +#define TRC_CUSTOM_TIMER_INCR 5 +#define TRC_CUSTOM_TIMER_DECR 6 + +#define TRC_STATE_IN_STARTUP 0 +#define TRC_STATE_IN_TASKSWITCH 1 +#define TRC_STATE_IN_APPLICATION 2 + +/* Start options for vTraceEnable. */ +#define TRC_START_FROM_HOST 0 +#define TRC_START 1 +#define TRC_START_AWAIT_HOST 2 + +#define TRC_ACKNOWLEDGED (0xABC99123) + +/* Command codes for TzCtrl task */ +#define CMD_SET_ACTIVE 1 /* Start (param1 = 1) or Stop (param1 = 0) */ + +/* The final command code, used to validate commands. */ +#define CMD_LAST_COMMAND 1 + +#define TRC_RECORDER_MODE_SNAPSHOT 0 +#define TRC_RECORDER_MODE_STREAMING 1 + +#define TRC_SNAPSHOT_MODE_RING_BUFFER (0x01) +#define TRC_SNAPSHOT_MODE_STOP_WHEN_FULL (0x02) + +#define TRC_RECORDER_BUFFER_ALLOCATION_STATIC (0x00) +#define TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC (0x01) +#define TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM (0x02) + +#define TRC_OPTION_BIT_SHIFT_IRQ_ORDER 0 +#define TRC_OPTION_BIT_SHIFT_BASE_SIZE 8 + +/******************************************************************************/ +/*** ERROR AND WARNING CODES (check using xTraceErrorGetLast) *****************/ +/******************************************************************************/ + +#define TRC_ERROR_NONE 0x00 + +#define TRC_ERROR_ASSERT 0x01 +#define TRC_ERROR_EVENT_CODE_TOO_LARGE 0x02 +#define TRC_ERROR_ISR_NESTING_OVERFLOW 0x03 +#define TRC_ERROR_DWT_NOT_SUPPORTED 0x04 +#define TRC_ERROR_DWT_CYCCNT_NOT_SUPPORTED 0x05 +#define TRC_ERROR_TZCTRLTASK_NOT_CREATED 0x06 +#define TRC_ERROR_STREAM_PORT_WRITE 0x07 + +#define TRC_WARNING_ENTRY_TABLE_SLOTS 0x08 +#define TRC_WARNING_ENTRY_SYMBOL_MAX_LENGTH 0x09 +#define TRC_WARNING_EVENT_SIZE_TRUNCATED 0x0A +#define TRC_WARNING_STREAM_PORT_READ 0x0B +#define TRC_WARNING_STREAM_PORT_WRITE 0x0C +#define TRC_WARNING_STREAM_PORT_INITIAL_BLOCKING 0x0D +#define TRC_WARNING_STACKMON_NO_SLOTS 0x0E + +/* Entry Option definitions */ +#define TRC_ENTRY_OPTION_EXCLUDED 0x00000001 +#define TRC_ENTRY_OPTION_HEAP 0x80000000 +#define TRC_ENTRY_OPTION_EXTENSION 0x40000000 +#define TRC_ENTRY_OPTION_STATE_MACHINE 0x20000000 +#define TRC_ENTRY_OPTION_STATE_MACHINE_STATE 0x10000000 +#define TRC_ENTRY_OPTION_INTERVAL_CHANNEL 0x08000000 +#define TRC_ENTRY_OPTION_COUNTER 0x04000000 +#define TRC_ENTRY_OPTION_INTERVAL_CHANNEL_SET 0x02000000 + +#define TRC_RECORDER_COMPONENT_CORE 0x00000001 +#define TRC_RECORDER_COMPONENT_ASSERT 0x00000002 +#define TRC_RECORDER_COMPONENT_BLOB 0x00000004 +#define TRC_RECORDER_COMPONENT_DIAGNOSTICS 0x00000008 +#define TRC_RECORDER_COMPONENT_ENTRY 0x00000010 +#define TRC_RECORDER_COMPONENT_ERROR 0x00000020 +#define TRC_RECORDER_COMPONENT_EVENT 0x00000040 +#define TRC_RECORDER_COMPONENT_EVENT_BUFFER 0x00000080 +#define TRC_RECORDER_COMPONENT_EXTENSION 0x00000100 +#define TRC_RECORDER_COMPONENT_HEAP 0x00000200 +#define TRC_RECORDER_COMPONENT_INTERNAL_EVENT_BUFFER 0x00000400 +#define TRC_RECORDER_COMPONENT_INTERVAL 0x00000800 +#define TRC_RECORDER_COMPONENT_ISR 0x00001000 +#define TRC_RECORDER_COMPONENT_MULTI_CORE_EVENT_BUFFER 0x00002000 +#define TRC_RECORDER_COMPONENT_OBJECT 0x00004000 +#define TRC_RECORDER_COMPONENT_PRINT 0x00008000 +#define TRC_RECORDER_COMPONENT_STACK_MONITOR 0x00010000 +#define TRC_RECORDER_COMPONENT_STATE_MACHINE 0x00020000 +#define TRC_RECORDER_COMPONENT_STATIC_BUFFER 0x00040000 +#define TRC_RECORDER_COMPONENT_STRING 0x00080000 +#define TRC_RECORDER_COMPONENT_TASK 0x00100000 +#define TRC_RECORDER_COMPONENT_TIMESTAMP 0x00200000 +#define TRC_RECORDER_COMPONENT_COUNTER 0x00400000 + +/* Filter Groups */ +#define FilterGroup0 (uint16_t)0x0001 +#define FilterGroup1 (uint16_t)0x0002 +#define FilterGroup2 (uint16_t)0x0004 +#define FilterGroup3 (uint16_t)0x0008 +#define FilterGroup4 (uint16_t)0x0010 +#define FilterGroup5 (uint16_t)0x0020 +#define FilterGroup6 (uint16_t)0x0040 +#define FilterGroup7 (uint16_t)0x0080 +#define FilterGroup8 (uint16_t)0x0100 +#define FilterGroup9 (uint16_t)0x0200 +#define FilterGroup10 (uint16_t)0x0400 +#define FilterGroup11 (uint16_t)0x0800 +#define FilterGroup12 (uint16_t)0x1000 +#define FilterGroup13 (uint16_t)0x2000 +#define FilterGroup14 (uint16_t)0x4000 +#define FilterGroup15 (uint16_t)0x8000 + +/****************************************************************************** + * Supported ports + * + * TRC_HARDWARE_PORT_HWIndependent + * A hardware independent fallback option for event timestamping. Provides low + * resolution timestamps based on the OS tick. + * This may be used on the Win32 port, but may also be used on embedded hardware + * platforms. All time durations will be truncated to the OS tick frequency, + * typically 1 KHz. This means that a task or ISR that executes in less than + * 1 ms get an execution time of zero. + * + * TRC_HARDWARE_PORT_APPLICATION_DEFINED + * Allows for defining the port macros in other source code files. + * + * TRC_HARDWARE_PORT_Win32 + * "Accurate" timestamping based on the Windows performance counter for Win32 + * builds. Note that this gives the host machine time, not the kernel time. + * + * Hardware specific ports + * To get accurate timestamping, a hardware timer is necessary. Below are the + * available ports. Some of these are "unofficial", meaning that + * they have not yet been verified by Percepio but have been contributed by + * external developers. They should work, otherwise let us know by emailing + * support@percepio.com. Some work on any OS platform, while other are specific + * to a certain operating system. + *****************************************************************************/ + +/****** Port Name ************************************* Code ** Official ** OS Platform *********/ +#define TRC_HARDWARE_PORT_APPLICATION_DEFINED 98 /* - - */ +#define TRC_HARDWARE_PORT_NOT_SET 99 /* - - */ +#define TRC_HARDWARE_PORT_HWIndependent 0 /* Yes Any */ +#define TRC_HARDWARE_PORT_Win32 1 /* Yes FreeRTOS on Win32 */ +#define TRC_HARDWARE_PORT_Atmel_AT91SAM7 2 /* No Any */ +#define TRC_HARDWARE_PORT_Atmel_UC3A0 3 /* No Any */ +#define TRC_HARDWARE_PORT_ARM_Cortex_M 4 /* Yes Any */ +#define TRC_HARDWARE_PORT_Renesas_RX600 6 /* Yes Any */ +#define TRC_HARDWARE_PORT_MICROCHIP_PIC24_PIC32 7 /* Yes Any */ +#define TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_TMS570_RM48 8 /* Yes Any */ +#define TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_MSP430 9 /* No Any */ +#define TRC_HARDWARE_PORT_XILINX_PPC405 11 /* No FreeRTOS */ +#define TRC_HARDWARE_PORT_XILINX_PPC440 12 /* No FreeRTOS */ +#define TRC_HARDWARE_PORT_XILINX_MICROBLAZE 13 /* No Any */ +#define TRC_HARDWARE_PORT_XILINX_ZyncUltraScaleR5 14 /* No FreeRTOS */ +#define TRC_HARDWARE_PORT_NXP_LPC210X 15 /* No Any */ +#define TRC_HARDWARE_PORT_ARM_CORTEX_A9 16 /* Yes Any */ +#define TRC_HARDWARE_PORT_POWERPC_Z4 17 /* No FreeRTOS */ +#define TRC_HARDWARE_PORT_Altera_NiosII 18 /* Yes Any (Tested with FreeRTOS) */ +#define TRC_HARDWARE_PORT_ZEPHYR 19 /* Yes Zephyr */ +#define TRC_HARDWARE_PORT_XTensa_LX6 20 /* Yes ESP-IDF FreeRTOS */ +#define TRC_HARDWARE_PORT_XTensa_LX7 21 /* Yes ESP-IDF FreeRTOS */ +#define TRC_HARDWARE_PORT_Win64 22 /* Yes FreeRTOS on Win64 */ +#define TRC_HARDWARE_PORT_XMOS_XCOREAI 23 /* Yes FreeRTOS SMP */ +#define TRC_HARDWARE_PORT_RISCV_RV32I 24 /* Yes FreeRTOS */ +#define TRC_HARDWARE_PORT_CYCLONE_V_HPS 25 /* Yes FreeRTOS */ + +#endif /* TRC_PORTDEFINES_H */ diff --git a/freertos/cvitek/install/include/kernel/trcDiagnostics.h b/freertos/cvitek/install/include/kernel/trcDiagnostics.h new file mode 100644 index 000000000..796a940fd --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcDiagnostics.h @@ -0,0 +1,145 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace diagnostic APIs. + */ + +#ifndef TRC_DIAGNOSTICS_H +#define TRC_DIAGNOSTICS_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define TRC_DIAGNOSTICS_COUNT 5 + +typedef enum TraceDiagnosticsType +{ + TRC_DIAGNOSTICS_ENTRY_SYMBOL_LONGEST_LENGTH = 0x00, + TRC_DIAGNOSTICS_ENTRY_SLOTS_NO_ROOM = 0x01, + TRC_DIAGNOSTICS_BLOB_MAX_BYTES_TRUNCATED = 0x02, + TRC_DIAGNOSTICS_STACK_MONITOR_NO_SLOTS = 0x03, + TRC_DIAGNOSTICS_ASSERTS_TRIGGERED = 0x04, +} TraceDiagnosticsType_t; + +typedef struct TraceDiagnosticsBuffer +{ + uint8_t buffer[sizeof(TraceBaseType_t) * (TRC_DIAGNOSTICS_COUNT)]; +} TraceDiagnosticsBuffer_t; + +/** + * @internal Initialize diagnostics + * + * @param[in] pxBuffer Diagnostics buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsInitialize(TraceDiagnosticsBuffer_t* pxBuffer); + +/** + * @brief Retrieve diagnostics value + * + * @param[in] xType Diagnostics type + * @param[out] pxValue Pointer to value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsGet(TraceDiagnosticsType_t xType, TraceBaseType_t* pxValue); + +/** + * @brief Set diagnostics value + * + * @param[in] xType Diagnostics type + * @param[in] xValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsSet(TraceDiagnosticsType_t xType, TraceBaseType_t xValue); + +/** + * @brief Add to diagnostics value + * + * @param[in] xType Diagnostics type + * @param[in] xValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsAdd(TraceDiagnosticsType_t xType, TraceBaseType_t xValue); + +/** + * @brief Increase diagnostics value + * + * @param[in] xType Diagnostics type + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsIncrease(TraceDiagnosticsType_t xType); + +/** + * @brief Decrease diagnostics value + * + * @param[in] xType Diagnostics type + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsDecrease(TraceDiagnosticsType_t xType); + +/** + * @brief Set a new diagnostics value if higher than previous value + * + * @param[in] xType Dagnostics type + * @param[in] xValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsSetIfHigher(TraceDiagnosticsType_t xType, TraceBaseType_t xValue); + +/** + * @brief Set a new diagnostics value if lower than previous value + * + * @param[in] xType Dagnostics type + * @param[in] xValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsSetIfLower(TraceDiagnosticsType_t xType, TraceBaseType_t xValue); + +/** + * @brief Check the diagnostics status + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDiagnosticsCheckStatus(void); + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_DIAGNOSTICS_H */ diff --git a/freertos/cvitek/install/include/kernel/trcEntryTable.h b/freertos/cvitek/install/include/kernel/trcEntryTable.h new file mode 100644 index 000000000..520bb9a45 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcEntryTable.h @@ -0,0 +1,270 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace entry table APIs. + */ + +#ifndef TRC_ENTRY_TABLE_H +#define TRC_ENTRY_TABLE_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_entry_table_apis Trace Entry Table APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#define TRC_ENTRY_CREATE_WITH_ADDRESS(_pvAddress, _pxEntryHandle) (xTraceEntryCreate(_pxEntryHandle) == TRC_SUCCESS ? (((TraceEntry_t*)*(_pxEntryHandle))->pvAddress = (_pvAddress), TRC_SUCCESS) : TRC_FAIL) +#define TRC_ENTRY_SET_STATE(xEntryHandle, uiStateIndex, uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(((TraceEntry_t*)(xEntryHandle))->xStates[uiStateIndex] = (uxState), TRC_SUCCESS) +#define TRC_ENTRY_SET_OPTIONS(xEntryHandle, uiMask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(((TraceEntry_t*)(xEntryHandle))->uiOptions |= (uiMask), TRC_SUCCESS) +#define TRC_ENTRY_CLEAR_OPTIONS(xEntryHandle, uiMask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(((TraceEntry_t*)(xEntryHandle))->uiOptions &= ~(uiMask), TRC_SUCCESS) +#define TRC_ENTRY_GET_ADDRESS(xEntryHandle, ppvAddress) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvAddress) = ((TraceEntry_t*)(xEntryHandle))->pvAddress, TRC_SUCCESS) +#define TRC_ENTRY_GET_SYMBOL(xEntryHandle, pszSymbol) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(pszSymbol) = ((TraceEntry_t*)(xEntryHandle))->szSymbol, TRC_SUCCESS) +#define TRC_ENTRY_GET_STATE(xEntryHandle, uiStateIndex, puxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puxState) = ((TraceEntry_t*)(xEntryHandle))->xStates[uiStateIndex], TRC_SUCCESS) +#define TRC_ENTRY_GET_STATE_RETURN(xEntryHandle, uiStateIndex) (((TraceEntry_t*)(xEntryHandle))->xStates[uiStateIndex]) +#define TRC_ENTRY_GET_OPTIONS(xEntryHandle, puiOptions) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiOptions) = ((TraceEntry_t*)(xEntryHandle))->uiOptions, TRC_SUCCESS) + +#define TRC_ENTRY_TABLE_SLOTS (TRC_CFG_ENTRY_SLOTS) +#define TRC_ENTRY_TABLE_STATE_COUNT (3) +#define TRC_ENTRY_TABLE_SYMBOL_LENGTH (TRC_CFG_ENTRY_SYMBOL_MAX_LENGTH) +#define TRC_ENTRY_TABLE_SLOT_SYMBOL_SIZE ((((sizeof(char) * TRC_ENTRY_TABLE_SYMBOL_LENGTH) + (sizeof(uint32_t) - 1)) / sizeof(uint32_t)) * sizeof(uint32_t)) + +/** Trace Entry Structure */ +typedef struct TraceEntry +{ + void* pvAddress; /**< */ + TraceUnsignedBaseType_t xStates[TRC_ENTRY_TABLE_STATE_COUNT]; /**< */ + uint32_t uiOptions; /**< */ + char szSymbol[TRC_ENTRY_TABLE_SLOT_SYMBOL_SIZE]; /**< */ +} TraceEntry_t; + +#define TRC_ENTRY_TABLE_SIZE (sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + (sizeof(TraceEntry_t) * (TRC_ENTRY_TABLE_SLOTS))) + +/** Trace Entry Table Buffer Structure */ +typedef struct TraceEntryTableBuffer +{ + uint8_t buffer[(TRC_ENTRY_TABLE_SIZE)]; /**< */ +} TraceEntryTableBuffer_t; + +/** + * @internal Initialize trace entry table. + * + * This routine initializes the trace entry table which maps objects to + * symbolic identifiers, state information, and options. + * + * @param[in] pxBuffer Pointer to uninitialized trace entry table buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryTableInitialize(TraceEntryTableBuffer_t* pxBuffer); + +/** + * @brief Creates trace entry. + * + * @param[out] pxEntryHandle Pointer to uninitialized trace entry handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryCreate(TraceEntryHandle_t *pxEntryHandle); + +/** + * @brief Deletes trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryDelete(TraceEntryHandle_t xEntryHandle); + +/** + * @brief Finds trace entry mapped to object address. + * + * @param[in] pvAddress Address of object. + * @param[out] pxEntryHandle Pointer to uninitialized trace entry handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryFind(void* pvAddress, TraceEntryHandle_t* pxEntryHandle); + +/** + * @brief Gets the number of entries in the trace entry table. + * + * @param[out] puiCount Count. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetCount(uint32_t* puiCount); + +/** + * @brief Gets trace table entry at index. + * + * @param[in] index Entry index. + * @param[out] pxEntryHandle Pointer to uninitialized trace entry handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetAtIndex(uint32_t index, TraceEntryHandle_t* pxEntryHandle); + +/** + * @brief Sets symbol for entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[out] szSymbol Pointer to symbol string, set by function + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntrySetSymbol(TraceEntryHandle_t xEntryHandle, const char* szSymbol); + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Creates trace entry mapped to memory address. + * + * @param[in] pvAddress Address. + * @param[out] pxEntryHandle Pointer to uninitialized trace entry handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryCreateWithAddress(void* pvAddress, TraceEntryHandle_t* pxEntryHandle); + +/** + * @brief Sets trace entry state. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[in] uiStateIndex Index of state (< TRC_ENTRY_TABLE_STATE_COUNT). + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntrySetState(TraceEntryHandle_t xEntryHandle, uint32_t uiStateIndex, TraceUnsignedBaseType_t uxState); + +/** + * @brief Sets trace entry option(s). + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[in] uiMask Option(s) set mask. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntrySetOptions(TraceEntryHandle_t xEntryHandle, uint32_t uiMask); + +/** + * @brief Clears trace entry option(s). + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[in] uiMask Options(s) clear mask. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryClearOptions(TraceEntryHandle_t xEntryHandle, uint32_t uiMask); + +/** + * @brief Gets linked address for trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[out] ppvAddress Address. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetAddress(TraceEntryHandle_t xEntryHandle, void **ppvAddress); + +/** + * @brief Gets symbol for trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[out] pszSymbol Symbol. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetSymbol(TraceEntryHandle_t xEntryHandle, const char** pszSymbol); + +/** + * @brief Gets state for trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[in] uiStateIndex State index (< TRC_ENTRY_TABLE_STATE_COUNT). + * @param[out] puxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetState(TraceEntryHandle_t xEntryHandle, uint32_t uiStateIndex, TraceUnsignedBaseType_t *puxState); + +/** + * @internal Returns state for trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[in] uiStateIndex State index (< TRC_ENTRY_TABLE_STATE_COUNT). + * + * @returns State + */ +TraceUnsignedBaseType_t xTraceEntryGetStateReturn(TraceEntryHandle_t xEntryHandle, uint32_t uiStateIndex); + +/** + * @brief Gets options for trace entry. + * + * @param[in] xEntryHandle Pointer to initialized trace entry handle. + * @param[out] puiOptions Options. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEntryGetOptions(TraceEntryHandle_t xEntryHandle, uint32_t *puiOptions); + +#else + +#define xTraceEntryCreateWithAddress TRC_ENTRY_CREATE_WITH_ADDRESS + +#define xTraceEntrySetState TRC_ENTRY_SET_STATE +#define xTraceEntrySetOptions TRC_ENTRY_SET_OPTIONS +#define xTraceEntryClearOptions TRC_ENTRY_CLEAR_OPTIONS + +#define xTraceEntryGetAddress TRC_ENTRY_GET_ADDRESS +#define xTraceEntryGetSymbol TRC_ENTRY_GET_SYMBOL +#define xTraceEntryGetState TRC_ENTRY_GET_STATE +#define xTraceEntryGetStateReturn TRC_ENTRY_GET_STATE_RETURN +#define xTraceEntryGetOptions TRC_ENTRY_GET_OPTIONS + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_ENTRY_TABLE_H */ diff --git a/freertos/cvitek/install/include/kernel/trcError.h b/freertos/cvitek/install/include/kernel/trcError.h new file mode 100644 index 000000000..aa9d12d80 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcError.h @@ -0,0 +1,99 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace error APIs. + */ + +#ifndef TRC_ERROR_H +#define TRC_ERROR_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_assert_apis Trace Asserts APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#define TRC_ERROR_BUFFER_SIZE (sizeof(uint32_t) + sizeof(uint32_t) + sizeof(TraceStringHandle_t)) + +typedef struct TraceErrorBuffer +{ + uint32_t buffer[(TRC_ERROR_BUFFER_SIZE) / sizeof(uint32_t)]; +} TraceErrorBuffer_t; + +/** + * @internal Initializes the error system + * + * @param[in] pxBuffer Pointer to buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceErrorInitialize(TraceErrorBuffer_t* pxBuffer); + +/** + * @brief Register a warning + * + * @param[in] uiErrorCode Label + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceWarning(uint32_t uiErrorCode); + +/** + * @brief Register an error + * + * @param[in] uiErrorCode Error code + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceError(uint32_t uiErrorCode); + +/** + * @brief Retrieve the string for the last error + * + * @param[out] pszError Error string pointer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceErrorGetLast(const char** pszError); + +/** + * @brief Clears any errors + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceErrorClear(void); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_ERROR_H*/ diff --git a/freertos/cvitek/install/include/kernel/trcEvent.h b/freertos/cvitek/install/include/kernel/trcEvent.h new file mode 100644 index 000000000..a54c364f7 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcEvent.h @@ -0,0 +1,615 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace event APIs. + */ + +#ifndef TRC_EVENT_H +#define TRC_EVENT_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_event_apis Trace Event APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @internal Macro helper for setting trace event parameter count. + */ +#define TRC_EVENT_SET_PARAM_COUNT(id, n) (((uint16_t)(id)) | ((((uint16_t)(n)) & 0xF) << 12)) + +/** + * @internal Macro helper for getting trace event parameter count. + */ +#define TRC_EVENT_GET_PARAM_COUNT(id) (((id) >> 12) & 0xF) + +#if (TRC_CFG_CORE_COUNT > 1) +#define TRC_EVENT_SET_EVENT_COUNT(c) (((TRC_CFG_GET_CURRENT_CORE() & 0xF) << 12) | ((uint16_t)(c) & 0xFFF)) +#else +#define TRC_EVENT_SET_EVENT_COUNT(c) (uint16_t)(c) +#endif + +/** + * @internal Macro helpder for setting base event data. + */ +#define SET_BASE_EVENT_DATA(pxEvent, eventId, paramCount, eventCount) \ + ( \ + (pxEvent)->EventID = TRC_EVENT_SET_PARAM_COUNT(eventId, paramCount), \ + (pxEvent)->EventCount = TRC_EVENT_SET_EVENT_COUNT(eventCount), \ + xTraceTimestampGet(&(pxEvent)->TS) \ + ) + +/** + * @internal Macro helper for resetting trace event data. + */ +#define RESET_EVENT_DATA(p) \ + ( \ + (p)->pvBlob = 0, \ + (p)->size = 0, \ + (p)->offset = 0 \ + ) + +/** + * @internal Macro optimization for getting trace event size. + */ +#define TRC_EVENT_GET_SIZE(pvAddress, puiSize) (*(uint32_t*)(puiSize) = sizeof(TraceBaseEvent_t) + (TRC_EVENT_GET_PARAM_COUNT(((TraceBaseEvent_t*)(pvAddress))->EventID)) * sizeof(uint32_t), TRC_SUCCESS) + +/** + * @internal Macro optimization for getting trace event data pointer with an offset. + */ +#define TRC_EVENT_GET_RAW_DATA(xEventHandle, uiOffset, uiSize, ppvData) ((void)(uiSize), *(void**)(ppvData) = (void*)&((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[uiOffset], TRC_SUCCESS) + +/** + * @internal Macro optimization for getting trace event payload pointer with an offset. + */ +#define TRC_EVENT_GET_PAYLOAD(xEventHandle, uiOffset, uiSize, ppvData) ((void)(uiSize), *(void**)(ppvData) = (void*)&((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[sizeof(TraceBaseEvent_t) + (uiOffset)], TRC_SUCCESS) + +/** + * @internal Macro optimization for getting trace event remaining payload size. + */ +#define TRC_EVENT_PAYLOAD_REMAINING(xEventHandle, puiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->size - ((TraceEventData_t*)(xEventHandle))->offset, TRC_SUCCESS) + +/** + * @internal Macro optimization for getting trace event used payload size. + */ +#define TRC_EVENT_PAYLOAD_USED(xEventHandle, puiValue) (*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->offset - sizeof(TraceBaseEvent_t), TRC_SUCCESS) + +/** + * @internal Macro optimization getting trace event payload size. + */ +#define TRC_EVENT_PAYLOAD_SIZE(xEventHandle, puiValue) (*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->size - sizeof(TraceBaseEvent_t), TRC_SUCCESS) + +/** + * @internal Macro optimization for adding a pointer address to trace event. + */ +#define TRC_EVENT_ADD_POINTER(xEventHandle, value) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \ + ((void**)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(void*)] = (value), \ + ((TraceEventData_t*)(xEventHandle))->offset += sizeof(void*), \ + TRC_SUCCESS \ + ) + +/** + * @internal Macro optimization for adding a unsigned base type to trace event. + */ +#define TRC_EVENT_ADD_UNSIGNED_BASE_TYPE(xEventHandle, value) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \ + ((TraceUnsignedBaseType_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(TraceUnsignedBaseType_t)] = (value), \ + ((TraceEventData_t*)(xEventHandle))->offset += sizeof(TraceUnsignedBaseType_t), \ + TRC_SUCCESS \ + ) + +/** + * @internal Macro optimization for adding a 32-bit value to trace event. + */ +#define TRC_EVENT_ADD_32(xEventHandle, value) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \ + ((uint32_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint32_t)] = (value), \ + ((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint32_t), \ + TRC_SUCCESS \ + ) + +/** + * @internal Macro optimization for adding a 16-bit value to trace event. + */ +#define TRC_EVENT_ADD_16(xEventHandle, value) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \ + ((uint16_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint16_t)] = (value), \ + ((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint16_t), \ + TRC_SUCCESS \ + ) + +/** + * @internal Macro optimization for adding a 8-bit value to trace event. + */ +#define TRC_EVENT_ADD_8(xEventHandle, value) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \ + ((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint8_t)] = (value), \ + ((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint8_t), \ + TRC_SUCCESS \ + ) + +/** + * @internal Macro optimization for beginning an offline trace event. + */ +#define TRC_EVENT_BEGIN_OFFLINE(uiEventCode, uiPayloadSize, pxEventHandle) \ + ( \ + (xTraceEventBeginRawOffline(sizeof(TraceBaseEvent_t) + (uiPayloadSize), pxEventHandle)) == TRC_SUCCESS ? \ + ( \ + pxTraceEventDataTable->coreEventData[TRC_CFG_GET_CURRENT_CORE()].eventCounter++, \ + SET_BASE_EVENT_DATA((TraceBaseEvent_t*)(((TraceEventData_t*)*(pxEventHandle))->pvBlob), \ + uiEventCode, \ + (((TraceEventData_t*)*(pxEventHandle))->size - sizeof(TraceBaseEvent_t)) / sizeof(uint32_t), \ + pxTraceEventDataTable->coreEventData[TRC_CFG_GET_CURRENT_CORE()].eventCounter), \ + ((TraceEventData_t*)*(pxEventHandle))->offset += sizeof(TraceBaseEvent_t), \ + TRC_SUCCESS \ + ) : TRC_FAIL \ + ) + +/** + * @internal Macro optimization for ending an offline trace event. + */ +#define TRC_EVENT_END_OFFLINE(xEventHandle) \ + TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4( \ + xTraceStreamPortCommit(((TraceEventData_t*)(xEventHandle))->pvBlob, \ + ((TraceEventData_t*)(xEventHandle))->size, &DUMMY_iTraceBytesCommitted), \ + RESET_EVENT_DATA((TraceEventData_t*)(xEventHandle)), \ + TRC_SUCCESS \ + ) + +/** + * @internal Trace Base Event Structure + */ +typedef struct { + uint16_t EventID; /**< */ + uint16_t EventCount; /**< */ + uint32_t TS; /**< */ +} TraceBaseEvent_t; + +/** + * @internal Trace Event Data Structure + */ +typedef struct TraceEventData +{ + void* pvBlob; /**< */ + uint32_t size; /**< */ + uint32_t offset; /**< */ +} TraceEventData_t; + +/** + * @internal Trace Core Event Data Structure + */ +typedef struct TraceCoreEventData +{ + TraceEventData_t eventData[(TRC_CFG_MAX_ISR_NESTING)+1]; /**< */ + uint32_t eventCounter; /**< */ +} TraceCoreEventData_t; + +/** + * @internal Trace Event Data Table Structure. + */ +typedef struct TraceEventDataTable +{ + TraceCoreEventData_t coreEventData[TRC_CFG_CORE_COUNT]; /**< Holds data about current event for each core/isr depth */ +} TraceEventDataTable_t; + +#define TRC_EVENT_DATA_BUFFER_SIZE (sizeof(TraceEventDataTable_t)) + +/** + * @internal Trace Event Data Buffer Structure. + */ +typedef struct TraceEventDataBuffer +{ + uint8_t buffer[TRC_EVENT_DATA_BUFFER_SIZE]; /**< */ +} TraceEventDataBuffer_t; + +extern TraceEventDataTable_t* pxTraceEventDataTable; + +/** + * @internal Initialize event trace system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the event + * trace system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventInitialize(TraceEventDataBuffer_t* pxBuffer); + +/** + * @brief Gets trace event size. + * + * @param[in] pvAddress Pointer to initialized trace event. + * @param[out] puiSize Size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventGetSize(void* pvAddress, uint32_t* puiSize); + +/** + * @internal Begins a raw trace event offline. + * + * This routine begins a trace event with specified size. Must call xTraceEventEnd() + * to finalize event creation. Does not care about RecorderEnabled. + * + * @param[in] uiSize Size. + * @param[in] pxEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBeginRawOffline(uint32_t uiSize, TraceEventHandle_t* pxEventHandle); + +/** + * @internal Begins a blocking trace event offline. + * + * This routine begins a trace event with specified size. Must call xTraceEventEnd() + * to finalize event creation. Does not care about RecorderEnabled. + * + * @param[in] uiSize Size. + * @param[in] pxEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBeginRawOfflineBlocking(uint32_t uiSize, TraceEventHandle_t* pxEventHandle); + +/** + * @internal Begins a trace event offline. + * + * This routine begins a trace event with specified size. Must call xTraceEventEnd() + * to finalize event creation. Does not care about RecorderEnabled. + * + * @param[in] uiSize Size. + * @param[in] pxEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventBeginOffline TRC_EVENT_BEGIN_OFFLINE + +/** + * @brief Begins a trace event. + * + * This routine begins a trace event with specified size. Must call xTraceEventEnd() + * to finalize event creation. Does not care about RecorderEnabled. + * + * @param[in] uiSize Size. + * @param[in] pxEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventBegin(uiEventCode, uiTotalPayloadSize, pxEventHandle) \ + (xTraceIsRecorderEnabled() ? xTraceEventBeginOffline(uiEventCode, uiTotalPayloadSize, pxEventHandle) : TRC_FAIL) + +/** + * @internal Ends a trace event offline. + * + * This routine ends the event that was begun by calling on xTraceEventBegin(). + * Does not care about uiRecorderEnabled. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventEndOffline(TraceEventHandle_t xEventHandle); + +/** + * @internal Ends a blocking event offline. + * + * Ends the event that was begun by calling on xTraceEventBegin() + * + * @param[in] xEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventEndOfflineBlocking(TraceEventHandle_t xEventHandle); + +/** + * @brief Ends a trace event. + * + * This routine ends the event that was begun by calling on xTraceEventBegin(). + * Does not care about uiRecorderEnabled. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventEnd(xEventHandle) \ + (xTraceIsRecorderEnabled() == 0 ? TRC_FAIL : xTraceEventEndOffline(xEventHandle)) + +/** + * @brief Adds data to event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] pvData Pointer to data. + * @param[in] uiSize Size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAddData(TraceEventHandle_t xEventHandle, void* pvData, uint32_t uiSize); + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Gets trace event data pointer with an offset. + * + * This routine gets a trace event data pointer with an offset. It also verfies + * that the size so it won't go outside its buffer. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uiOffset Offset. + * @param[in] uiSize Size. + * @param[out] ppvData Data. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventGetRawData(TraceEventHandle_t xEventHandle, uint32_t uiOffset, uint32_t uiSize, void** ppvData); + +/** + * @brief Gets trace event payload pointer with an offset. + * + * This routine gets a trace event payload pointer with an offset. It also verifies + * that the size so it won't go outside its payload buffer. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uiOffset Offset. + * @param[in] uiSize Size. + * @param[out] ppvData Data. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventGetPayload(TraceEventHandle_t xEventHandle, uint32_t uiOffset, uint32_t uiSize, void** ppvData); + +/** + * @brief Gets the amount of remaining trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventPayloadRemaining(TraceEventHandle_t xEventHandle, uint32_t* puiValue); + +/** + * @brief Gets the amount of used trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventPayloadUsed(TraceEventHandle_t xEventHandle, uint32_t* puiValue); + +/** + * @brief Gets trace event payload size. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventPayloadSize(TraceEventHandle_t xEventHandle, uint32_t* puiValue); + +/** + * @brief Adds an unsigned base type value as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uxValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAddUnsignedBaseType(TraceEventHandle_t xEventHandle, TraceUnsignedBaseType_t uxValue); + +/** + * @brief Adds a pointer address as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] pvAddress Address. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAddPointer(TraceEventHandle_t xEventHandle, void *pvAddress); + +/** + * @brief Adds an uint32_t as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAdd32(TraceEventHandle_t xEventHandle, uint32_t value); + +/** + * @brief Adds an uint16_t as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAdd16(TraceEventHandle_t xEventHandle, uint16_t value); + +/** + * @brief Adds an uint8_t as trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventAdd8(TraceEventHandle_t xEventHandle, uint8_t value); + +#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** + * @brief Gets trace event size. + * + * @param[in] pvAddress Pointer to initialized trace event. + * @param[out] puiSize Size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventGetSize(pvAddress, puiSize) (*(uint32_t*)(puiSize) = sizeof(TraceBaseEvent_t) + (TRC_EVENT_GET_PARAM_COUNT(((TraceBaseEvent_t*)(pvAddress))->EventID)) * sizeof(uint32_t), TRC_SUCCESS) + +/** + * @brief Gets trace event data pointer with an offset. + * + * This routine gets a trace event data pointer with an offset. It also verfies + * that the size so it won't go outside its buffer. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uiOffset Offset. + * @param[in] uiSize Size. + * @param[out] ppvData Data. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventGetRawData TRC_EVENT_GET_RAW_DATA + +/** + * @brief Gets trace event payload pointer with an offset. + * + * This routine gets a trace event payload pointer with an offset. It also verifies + * that the size so it won't go outside its payload buffer. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uiOffset Offset. + * @param[in] uiSize Size. + * @param[out] ppvData Data. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventGetPayload TRC_EVENT_GET_PAYLOAD + +/** + * @brief Gets the amount of remaining trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventPayloadRemaining TRC_EVENT_PAYLOAD_REMAINING + +/** + * @brief Gets the amount of used trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventPayloadUsed TRC_EVENT_PAYLOAD_USED + +/** + * @brief Gets trace event payload size. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[out] puiValue Value + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventPayloadSize TRC_EVENT_PAYLOAD_SIZE + +/* Adds a pointer as event payload with no errors checks */ +#define xTraceEventAddPointer TRC_EVENT_ADD_POINTER + +/** + * @brief Adds an unsigned base type value as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] uxValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventAddUnsignedBaseType TRC_EVENT_ADD_UNSIGNED_BASE_TYPE + +/** + * @brief Adds an uint32_t as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventAdd32 TRC_EVENT_ADD_32 + +/** + * @brief Adds an uint16_t as trace event payload + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventAdd16 TRC_EVENT_ADD_16 + +/** + * @brief Adds an uint8_t as trace event payload. + * + * @param[in] xEventHandle Pointer to initialized trace event. + * @param[in] value Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceEventAdd8 TRC_EVENT_ADD_8 + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_EVENT_H */ diff --git a/freertos/cvitek/install/include/kernel/trcEventBuffer.h b/freertos/cvitek/install/include/kernel/trcEventBuffer.h new file mode 100644 index 000000000..81c060822 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcEventBuffer.h @@ -0,0 +1,132 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace event buffer APIs. + */ + +#ifndef TRC_EVENT_BUFFER_H +#define TRC_EVENT_BUFFER_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_event_buffer_apis Trace Event Buffer APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @def TRC_EVENT_BUFFER_OPTION_SKIP + * @brief Buffer should skip new events when full + */ +#define TRC_EVENT_BUFFER_OPTION_SKIP (0U) + +/** + * @def TRC_EVENT_BUFFER_OPTION_OVERWRITE + * @brief Buffer should overwrite old events when full + */ +#define TRC_EVENT_BUFFER_OPTION_OVERWRITE (1U) + +/** + * @brief Trace Event Buffer Structure + */ +typedef struct TraceEventBuffer +{ + uint32_t uiHead; /**< Head index of buffer */ + uint32_t uiTail; /**< Tail index of buffer */ + uint32_t uiSize; /**< Buffer size */ + uint32_t uiOptions; /**< Options (skip/overwrite when full) */ + uint32_t uiDroppedEvents; /**< Nr of dropped events */ + uint32_t uiFree; /**< Nr of free bytes */ + uint32_t uiTimerWraparounds; /**< Nr of timer wraparounds */ + uint8_t* puiBuffer; /**< Trace Event Buffer: may be NULL */ +} TraceEventBuffer_t; + +/** + * @internal Initialize trace event buffer. + * + * This routine initializes a trace event buffer and assigns it a + * memory area based on the supplied buffer. + * + * Trace event buffer options specifies the buffer behavior regarding + * old data, the alternatives are TRC_EVENT_BUFFER_OPTION_SKIP and + * TRC_EVENT_BUFFER_OPTION_OVERWRITE (mutal exclusive). + * + * @param[out] pxTraceEventBuffer Pointer to uninitialized trace event buffer. + * @param[in] uiOptions Trace event buffer options. + * @param[in] puiBuffer Pointer to buffer that will be used by the trace event buffer. + * @param[in] uiSize Size of buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBufferInitialize(TraceEventBuffer_t * pxTraceEventBuffer, uint32_t uiOptions, + uint8_t *puiBuffer, uint32_t uiSize); + +/** + * @brief Pushes data into trace event buffer. + * + * This routine attempts to push data into the trace event buffer. + * + * @param[in] pxTraceEventBuffer Pointer to initialized trace event buffer. + * @param[in] pxData Pointer to data that should be pushed into trace event buffer. + * @param[in] uiSize Size of data. + * @param[out] piBytesWritten Bytes written. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBufferPush(TraceEventBuffer_t *pxTraceEventBuffer, void *pxData, uint32_t uiSize, int32_t *piBytesWritten); + +/** + * @brief Transfer trace event buffer data through streamport. + * + * This routine will attempt to transfer all existing data in the trace event + * buffer through the streamport. New data pushed to the trace event buffer + * during the execution of this routine will not be transfered to + * + * @param[in] pxTraceEventBuffer Pointer to initialized trace event buffer. + * @param[out] piBytesWritten Bytes written. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBufferTransfer(TraceEventBuffer_t* pxTraceEventBuffer, int32_t* piBytesWritten); + +/** + * @brief Clears all data from event buffer. + * + * @param[in] pxTraceEventBuffer Pointer to initialized trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEventBufferClear(TraceEventBuffer_t* pxTraceEventBuffer); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_EVENT_BUFFER_H */ diff --git a/freertos/cvitek/install/include/kernel/trcExtension.h b/freertos/cvitek/install/include/kernel/trcExtension.h new file mode 100644 index 000000000..94d2d89ee --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcExtension.h @@ -0,0 +1,95 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace extension APIs. + */ + +#ifndef TRC_EXTENSION_H +#define TRC_EXTENSION_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define TRC_EXTENSION_STATE_INDEX_VERSION 0 +#define TRC_EXTENSION_STATE_INDEX_BASE_EVENT_ID 1 +#define TRC_EXTENSION_STATE_INDEX_EVENT_COUNT 2 + +/** + * @defgroup trace_extension_apis Trace Extension APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Creates trace extension. + * + * @param[in] szName Name. + * @param[in] uiMajor Major version. + * @param[in] uiMinor Minor version. + * @param[in] uiPatch Patch version. + * @param[in] uiEventCount Event count. + * @param[out] pxExtensionHandle Pointer to uninitialized extension handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceExtensionCreate(const char *szName, uint8_t uiMajor, uint8_t uiMinor, uint16_t uiPatch, uint32_t uiEventCount, TraceExtensionHandle_t *pxExtensionHandle); + +/** + * @brief Gets extension base event id. + * + * @param[in] xExtensionHandle Pointer to initialized extension handle. + * @param[out] puiBaseEventId Base event id. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceExtensionGetBaseEventId(TraceExtensionHandle_t xExtensionHandle, uint32_t *puiBaseEventId); + +/** + * @brief Gets extension configuration name. + * + * @param[in] xExtensionHandle Pointer to initialized extension handle. + * @param[out] pszName Name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceExtensionGetConfigName(TraceExtensionHandle_t xExtensionHandle, const char** pszName); + +/** + * @brief Returns extension event id. + * + * @param[in] xExtensionHandle Pointer to initialized extension handle. + * @param[in] uiLocalEventId Local event id. + * + * @returns Extension event id + */ +#define xTraceExtensionGetEventId(xExtensionHandle, uiLocalEventId) ((uint32_t)xTraceEntryGetStateReturn((TraceEntryHandle_t)(xExtensionHandle), TRC_EXTENSION_STATE_INDEX_BASE_EVENT_ID) + (uiLocalEventId)) + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_EXTENSION_H */ diff --git a/freertos/cvitek/install/include/kernel/trcHardwarePort.h b/freertos/cvitek/install/include/kernel/trcHardwarePort.h new file mode 100644 index 000000000..9505c93f7 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcHardwarePort.h @@ -0,0 +1,715 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * The hardware abstraction layer for the trace recorder. + */ + +#ifndef TRC_HARDWARE_PORT_H +#define TRC_HARDWARE_PORT_H + +#include + + +#if (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_NOT_SET) + #error "TRC_CFG_HARDWARE_PORT not selected - see trcConfig.h" +#endif + +/******************************************************************************* + * TRC_IRQ_PRIORITY_ORDER + * + * Macro which should be defined as an integer of 0 or 1. + * + * This should be 0 if lower IRQ priority values implies higher priority + * levels, such as on ARM Cortex M. If the opposite scheme is used, i.e., + * if higher IRQ priority values means higher priority, this should be 1. + * + * This setting is not critical. It is used only to sort and colorize the + * interrupts in priority order, in case you record interrupts using + * the vTraceStoreISRBegin and vTraceStoreISREnd routines. + * + ****************************************************************************** + * + * HWTC Macros + * + * These macros provides a hardware isolation layer representing the + * hardware timer/counter used for the event timestamping. + * + * TRC_HWTC_COUNT: How to read the current value of the timer/counter. + * + * TRC_HWTC_TYPE: Tells the type of timer/counter used for TRC_HWTC_COUNT: + * + * - TRC_FREE_RUNNING_32BIT_INCR: + * Free-running 32-bit timer/counter, counting upwards from 0. + * + * - TRC_FREE_RUNNING_32BIT_DECR + * Free-running 32-bit timer/counter, counting downwards from 0xFFFFFFFF. + * + * - TRC_OS_TIMER_INCR + * Periodic timer that drives the OS tick interrupt, counting upwards + * from 0 until (TRC_HWTC_PERIOD-1). + * + * - TRC_OS_TIMER_DECR + * Periodic timer that drives the OS tick interrupt, counting downwards + * from TRC_HWTC_PERIOD-1 until 0. + * + * - TRC_CUSTOM_TIMER_INCR + * A custom timer or counter independent of the OS tick, counting + * downwards from TRC_HWTC_PERIOD-1 until 0. (Currently only supported + * in streaming mode). + * + * - TRC_CUSTOM_TIMER_DECR + * A custom timer independent of the OS tick, counting downwards + * from TRC_HWTC_PERIOD-1 until 0. (Currently only supported + * in streaming mode). + * + * TRC_HWTC_PERIOD: The number of HWTC_COUNT ticks until the timer wraps + * around. If using TRC_FREE_RUNNING_32BIT_INCR/DECR, this should be 0. + * + * TRC_HWTC_FREQ_HZ: The clock rate of the TRC_HWTC_COUNT counter in Hz. If using + * TRC_OS_TIMER_INCR/DECR, this is should be TRC_HWTC_PERIOD * TRC_TICK_RATE_HZ. + * If using a free-running timer, this is often TRACE_CPU_CLOCK_HZ (if running at + * the core clock rate). If using TRC_CUSTOM_TIMER_INCR/DECR, this should match + * the clock rate of your custom timer (i.e., TRC_HWTC_COUNT). If the default value + * of TRC_HWTC_FREQ_HZ is incorrect for your setup, you can override it by calling + * vTraceSetFrequency before calling vTraceEnable. + * + * TRC_HWTC_DIVISOR (used in snapshot mode only): + * In snapshot mode, the timestamp resolution is TRC_HWTC_FREQ_HZ/TRC_HWTC_DIVISOR. + * If the timer frequency is very high (hundreds of MHz), we recommend increasing + * the TRC_HWTC_DIVISOR prescaler, to reduce the bandwidth needed to store + * timestamps. This since extra "XTS" events are inserted if the time since the + * previous event exceeds a certain limit (255 or 65535 depending on event type). + * It is advised to keep the time between most events below 65535 native ticks + * (after division by TRC_HWTC_DIVISOR) to avoid frequent XTS events. + ******************************************************************************/ + +#if (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_NOT_SET) + #error "TRC_CFG_HARDWARE_PORT not selected - see trcConfig.h" +#endif + +#if (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Win32) +/* This can be used as a template for any free-running 32-bit counter */ +void vTraceTimerReset(void); +uint32_t uiTraceTimerGetFrequency(void); +uint32_t uiTraceTimerGetValue(void); + +#define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR +#define TRC_HWTC_COUNT ((TraceUnsignedBaseType_t)uiTraceTimerGetValue()) +#define TRC_HWTC_PERIOD 0 +#define TRC_HWTC_DIVISOR 1 +#define TRC_HWTC_FREQ_HZ ((TraceUnsignedBaseType_t)uiTraceTimerGetFrequency()) + +#define TRC_IRQ_PRIORITY_ORDER 1 + +#define TRC_PORT_SPECIFIC_INIT() vTraceTimerReset() + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Win64) +/* This can be used as a template for any free-running 32-bit counter */ +void vTraceTimerReset(void); +uint32_t uiTraceTimerGetFrequency(void); +uint32_t uiTraceTimerGetValue(void); + +#define TRC_BASE_TYPE int64_t + +#define TRC_UNSIGNED_BASE_TYPE uint64_t + +#define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR +#define TRC_HWTC_COUNT ((TraceUnsignedBaseType_t)uiTraceTimerGetValue()) +#define TRC_HWTC_PERIOD 0 +#define TRC_HWTC_DIVISOR 1 +#define TRC_HWTC_FREQ_HZ ((TraceUnsignedBaseType_t)uiTraceTimerGetFrequency()) + +#define TRC_IRQ_PRIORITY_ORDER 1 + +#define TRC_PORT_SPECIFIC_INIT() vTraceTimerReset() + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_HWIndependent) + /* Timestamping by OS tick only (typically 1 ms resolution) */ + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT 0 + #define TRC_HWTC_PERIOD 1 + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ TRC_TICK_RATE_HZ + + /* Set the meaning of IRQ priorities in ISR tracing - see above */ + #define TRC_IRQ_PRIORITY_ORDER NOT_SET + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_ARM_Cortex_M) + + #ifndef __CORTEX_M + #error "Can't find the CMSIS API. Please include your processor's header file in trcConfig.h" + #endif + + #define TRACE_ALLOC_CRITICAL_SECTION() uint32_t __irq_status; + #define TRACE_ENTER_CRITICAL_SECTION() {__irq_status = __get_PRIMASK(); __set_PRIMASK(1);} /* PRIMASK disables ALL interrupts - allows for tracing in any ISR */ + #define TRACE_EXIT_CRITICAL_SECTION() {__set_PRIMASK(__irq_status);} + + /************************************************************************** + * For Cortex-M3, M4 and M7, the DWT cycle counter is used for timestamping. + * For Cortex-M0 and M0+, the SysTick timer is used since DWT is not + * available. Systick timestamping can also be forced on Cortex-M3, M4 and + * M7 by defining the preprocessor directive TRC_CFG_ARM_CM_USE_SYSTICK, + * either directly below or in trcConfig.h. + * + * #define TRC_CFG_ARM_CM_USE_SYSTICK + **************************************************************************/ + + #if ((__CORTEX_M >= 0x03) && (! defined TRC_CFG_ARM_CM_USE_SYSTICK)) + + void xTraceHardwarePortInitCortexM(void); + + #define TRC_REG_DEMCR (*(volatile uint32_t*)0xE000EDFC) + #define TRC_REG_DWT_CTRL (*(volatile uint32_t*)0xE0001000) + #define TRC_REG_DWT_CYCCNT (*(volatile uint32_t*)0xE0001004) + #define TRC_REG_DWT_EXCCNT (*(volatile uint32_t*)0xE000100C) + + #define TRC_REG_ITM_LOCKACCESS (*(volatile uint32_t*)0xE0001FB0) + #define TRC_ITM_LOCKACCESS_UNLOCK (0xC5ACCE55) + + /* Bit mask for TRCENA bit in DEMCR - Global enable for DWT and ITM */ + #define TRC_DEMCR_TRCENA (1 << 24) + + /* Bit mask for NOPRFCNT bit in DWT_CTRL. If 1, DWT_EXCCNT is not supported */ + #define TRC_DWT_CTRL_NOPRFCNT (1 << 24) + + /* Bit mask for NOCYCCNT bit in DWT_CTRL. If 1, DWT_CYCCNT is not supported */ + #define TRC_DWT_CTRL_NOCYCCNT (1 << 25) + + /* Bit mask for EXCEVTENA_ bit in DWT_CTRL. Set to 1 to enable DWT_EXCCNT */ + #define TRC_DWT_CTRL_EXCEVTENA (1 << 18) + + /* Bit mask for EXCEVTENA_ bit in DWT_CTRL. Set to 1 to enable DWT_CYCCNT */ + #define TRC_DWT_CTRL_CYCCNTENA (1) + + #define TRC_PORT_SPECIFIC_INIT() xTraceHardwarePortInitCortexM() + + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT TRC_REG_DWT_CYCCNT + #define TRC_HWTC_PERIOD 0 + #define TRC_HWTC_DIVISOR 4 + #define TRC_HWTC_FREQ_HZ TRACE_CPU_CLOCK_HZ + #define TRC_IRQ_PRIORITY_ORDER 0 + + #else + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT (*((volatile uint32_t*)0xE000E018)) + #define TRC_HWTC_PERIOD ((*((volatile uint32_t*)0xE000E014)) + 1) + #define TRC_HWTC_DIVISOR 4 + #define TRC_HWTC_FREQ_HZ TRACE_CPU_CLOCK_HZ + #define TRC_IRQ_PRIORITY_ORDER 0 + + #endif + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Renesas_RX600) + #define TRACE_ALLOC_CRITICAL_SECTION() TraceBaseType_t __x_irq_status; + #define TRACE_ENTER_CRITICAL_SECTION() { __x_irq_status = TRC_KERNEL_PORT_SET_INTERRUPT_MASK(); } + #define TRACE_EXIT_CRITICAL_SECTION() { TRC_KERNEL_PORT_CLEAR_INTERRUPT_MASK(__x_irq_status); } + + #include + + #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT (CMT0.CMCNT) + + #elif (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) + + /* Decreasing counters better for Tickless Idle? */ + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT (CMT0.CMCOR - CMT0.CMCNT) + + #endif + + #define TRC_HWTC_PERIOD (CMT0.CMCOR + 1) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 1 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_MICROCHIP_PIC24_PIC32) + + #define TRACE_ALLOC_CRITICAL_SECTION() TraceBaseType_t __x_irq_status; + #define TRACE_ENTER_CRITICAL_SECTION() { __x_irq_status = TRC_KERNEL_PORT_SET_INTERRUPT_MASK(); } + #define TRACE_EXIT_CRITICAL_SECTION() { TRC_KERNEL_PORT_CLEAR_INTERRUPT_MASK(__x_irq_status); } + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT (TMR1) + #define TRC_HWTC_PERIOD (PR1 + 1) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 1 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_TMS570_RM48) + + #define TRC_RTIFRC0 *((uint32_t *)0xFFFFFC10) + #define TRC_RTICOMP0 *((uint32_t *)0xFFFFFC50) + #define TRC_RTIUDCP0 *((uint32_t *)0xFFFFFC54) + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT (TRC_RTIFRC0 - (TRC_RTICOMP0 - TRC_RTIUDCP0)) + #define TRC_HWTC_PERIOD (TRC_RTIUDCP0) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Atmel_AT91SAM7) + + /* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT ((uint32_t)(AT91C_BASE_PITC->PITC_PIIR & 0xFFFFF)) + #define TRC_HWTC_PERIOD ((uint32_t)(AT91C_BASE_PITC->PITC_PIMR + 1)) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 1 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Atmel_UC3A0) + + /* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO*/ + + /* For Atmel AVR32 (AT32UC3A) */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT ((uint32_t)sysreg_read(AVR32_COUNT)) + #define TRC_HWTC_PERIOD ((uint32_t)(sysreg_read(AVR32_COMPARE) + 1)) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 1 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_NXP_LPC210X) + + /* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO */ + + /* Tested with LPC2106, but should work with most LPC21XX chips. */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT *((uint32_t *)0xE0004008 ) + #define TRC_HWTC_PERIOD *((uint32_t *)0xE0004018 ) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_MSP430) + + /* UNOFFICIAL PORT - NOT YET VERIFIED */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT (TA0R) + #define TRC_HWTC_PERIOD (((uint16_t)TACCR0)+1) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 1 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XILINX_PPC405) + + /* UNOFFICIAL PORT - NOT YET VERIFIED */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT mfspr(0x3db) + #define TRC_HWTC_PERIOD (TRACE_CPU_CLOCK_HZ / TRC_TICK_RATE_HZ) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XILINX_PPC440) + + /* UNOFFICIAL PORT */ + + /* This should work with most PowerPC chips */ + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT mfspr(0x016) + #define TRC_HWTC_PERIOD (TRACE_CPU_CLOCK_HZ / TRC_TICK_RATE_HZ) + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XILINX_MICROBLAZE) + + /* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO */ + + /* This should work with most Microblaze configurations. + * It uses the AXI Timer 0 - the tick interrupt source. + * If an AXI Timer 0 peripheral is available on your hardware platform, no modifications are required. + */ + #include + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT XTmrCtr_GetTimerCounterReg( XPAR_TMRCTR_0_BASEADDR, 0 ) + #define TRC_HWTC_PERIOD (XTmrCtr_GetLoadReg( XPAR_TMRCTR_0_BASEADDR, 0) + 1) + #define TRC_HWTC_DIVISOR 16 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XILINX_ZyncUltraScaleR5) + + extern int cortex_a9_r5_enter_critical(void); + extern void cortex_a9_r5_exit_critical(int irq_already_masked_at_enter); + + #define TRACE_ALLOC_CRITICAL_SECTION() uint32_t __irq_mask_status; + + #define TRACE_ENTER_CRITICAL_SECTION() { __irq_mask_status = cortex_a9_r5_enter_critical(); } + + #define TRACE_EXIT_CRITICAL_SECTION() { cortex_a9_r5_exit_critical(__irq_mask_status); } + + #include + + #define TRC_HWTC_TYPE TRC_OS_TIMER_INCR + #define TRC_HWTC_COUNT (*(volatile uint32_t *)(configTIMER_BASEADDR + XTTCPS_COUNT_VALUE_OFFSET)) + #define TRC_HWTC_PERIOD (*(volatile uint32_t *)(configTIMER_BASEADDR + XTTCPS_INTERVAL_VAL_OFFSET)) + #define TRC_HWTC_DIVISOR 16 + #define TRC_HWTC_FREQ_HZ (TRC_HWTC_PERIOD * TRC_TICK_RATE_HZ) + #define TRC_IRQ_PRIORITY_ORDER 0 + + #ifdef __GNUC__ + /* For Arm Cortex-A and Cortex-R in general. */ + static inline uint32_t prvGetCPSR(void) + { + unsigned long ret; + /* GCC-style assembly for getting the CPSR/APSR register, where the system execution mode is found. */ + asm volatile (" mrs %0, cpsr" : "=r" (ret) : /* no inputs */ ); + return ret; + } + #else + #error "Only GCC Supported!" + #endif + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_Altera_NiosII) + + /* OFFICIAL PORT */ + + #include + #include + #include + + #define TRACE_ALLOC_CRITICAL_SECTION() alt_irq_context __irq_status; + #define TRACE_ENTER_CRITICAL_SECTION(){__irq_status = alt_irq_disable_all();} + #define TRACE_EXIT_CRITICAL_SECTION() {alt_irq_enable_all(__irq_status);} + + #define NOT_SET 1 + + /* The base address for the sustem timer set. + * The name user for the system timer can be found in the BSP editor. + * If the name of the timer is sys_tmr SYSTEM_TIMER_BASE should be set to SYS_TMR_BASE. + */ + #define SYSTEM_TIMER_BASE NOT_SET + + #if (SYSTEM_TIMER == NOT_SET) + #error "Set SYSTEM_TIMER_BASE to the timer base used for system ticks." + #endif + + static inline uint32_t altera_nios2_GetTimerSnapReg(void) + { + /* A processor can read the current counter value by first writing to either snapl or snaph to request a coherent snapshot of the counter, + * and then reading snapl and snaph for the full 32-bit value. + */ + IOWR_ALTERA_AVALON_TIMER_SNAPL(SYSTEM_TIMER_BASE, 0); + return (IORD_ALTERA_AVALON_TIMER_SNAPH(SYSTEM_TIMER_BASE) << 16) | IORD_ALTERA_AVALON_TIMER_SNAPL(SYSTEM_TIMER_BASE); + } + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT altera_nios2_GetTimerSnapReg() + #define TRC_HWTC_PERIOD (configCPU_CLOCK_HZ / configTICK_RATE_HZ ) + #define TRC_HWTC_DIVISOR 16 + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_ARM_CORTEX_A9) + + /************************************************************************** + * This hardware port only supports FreeRTOS and the GCC compiler at the + * moment, due to the implementation of critical sections (trcKernelPort.h). + * + * Assuming FreeRTOS is used: + * + * For critical sections, this uses vTaskEnterCritical is when called from + * task context and ulPortSetInterruptMask when called from ISR context. + * Thus, it does not disable all ISRs. This means that the trace recorder + * can only be called from ISRs with priority less or equal to + * configMAX_API_CALL_INTERRUPT_PRIORITY (like FreeRTOS fromISR functions). + * + * This hardware port has been tested on it a Xilinx Zync 7000 (Cortex-A9), + * but should work with all Cortex-A and R processors assuming that + * TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS is set accordingly. + **************************************************************************/ + + extern int cortex_a9_r5_enter_critical(void); + extern void cortex_a9_r5_exit_critical(int irq_already_masked_at_enter); + + #define TRACE_ALLOC_CRITICAL_SECTION() uint32_t __irq_mask_status; + + #define TRACE_ENTER_CRITICAL_SECTION() { __irq_mask_status = cortex_a9_r5_enter_critical(); } + + #define TRACE_EXIT_CRITICAL_SECTION() { cortex_a9_r5_exit_critical(__irq_mask_status); } + + /* INPUT YOUR PERIPHERAL BASE ADDRESS HERE (0xF8F00000 for Xilinx Zynq 7000)*/ + #define TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS 0 + + #if (TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS == 0) + #error "Please specify TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS." + #endif + + #define TRC_CA9_MPCORE_PRIVATE_MEMORY_OFFSET 0x0600 + #define TRC_CA9_MPCORE_PRIVCTR_PERIOD_REG (*(volatile uint32_t*)(TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS + TRC_CA9_MPCORE_PRIVATE_MEMORY_OFFSET + 0x00)) + #define TRC_CA9_MPCORE_PRIVCTR_COUNTER_REG (*(volatile uint32_t*)(TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS + TRC_CA9_MPCORE_PRIVATE_MEMORY_OFFSET + 0x04)) + #define TRC_CA9_MPCORE_PRIVCTR_CONTROL_REG (*(volatile uint32_t*)(TRC_CA9_MPCORE_PERIPHERAL_BASE_ADDRESS + TRC_CA9_MPCORE_PRIVATE_MEMORY_OFFSET + 0x08)) + + #define TRC_CA9_MPCORE_PRIVCTR_CONTROL_PRESCALER_MASK 0x0000FF00 + #define TRC_CA9_MPCORE_PRIVCTR_CONTROL_PRESCALER_SHIFT 8 + #define TRC_CA9_MPCORE_PRIVCTR_PRESCALER (((TRC_CA9_MPCORE_PRIVCTR_CONTROL_REG & TRC_CA9_MPCORE_PRIVCTR_CONTROL_PRESCALER_MASK) >> TRC_CA9_MPCORE_PRIVCTR_CONTROL_PRESCALER_SHIFT) + 1) + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + #define TRC_HWTC_COUNT TRC_CA9_MPCORE_PRIVCTR_COUNTER_REG + #define TRC_HWTC_PERIOD (TRC_CA9_MPCORE_PRIVCTR_PERIOD_REG + 1) + + /**************************************************************************************** + NOTE: The private timer ticks with a very high frequency (half the core-clock usually), + depending on the prescaler used. If a low prescaler is used, the number of HW ticks between + the trace events gets large, and thereby inefficient to store (sometimes extra events are + needed). To improve efficiency, you may use the TRC_HWTC_DIVISOR as an additional prescaler. + *****************************************************************************************/ + #define TRC_HWTC_DIVISOR 1 + + #define TRC_HWTC_FREQ_HZ (TRC_TICK_RATE_HZ * TRC_HWTC_PERIOD) + #define TRC_IRQ_PRIORITY_ORDER 0 + + #ifdef __GNUC__ + /* For Arm Cortex-A and Cortex-R in general. */ + static inline uint32_t prvGetCPSR(void) + { + unsigned long ret; + /* GCC-style assembly for getting the CPSR/APSR register, where the system execution mode is found. */ + asm volatile (" mrs %0, cpsr" : "=r" (ret) : /* no inputs */ ); + return ret; + } + #else + #error "Only GCC Supported!" + #endif + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_CYCLONE_V_HPS) + #include "alt_clock_manager.h" + + extern int cortex_a9_r5_enter_critical(void); + extern void cortex_a9_r5_exit_critical(int irq_already_masked_at_enter); + + #define TRACE_ALLOC_CRITICAL_SECTION() uint32_t __irq_mask_status; + #define TRACE_ENTER_CRITICAL_SECTION() { __irq_mask_status = cortex_a9_r5_enter_critical(); } + #define TRACE_EXIT_CRITICAL_SECTION() { cortex_a9_r5_exit_critical(__irq_mask_status); } + + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT *((uint32_t *)0xFFFEC200) + #define TRC_HWTC_PERIOD 0 + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ (({ \ + uint32_t __freq; \ + alt_clk_freq_get( ALT_CLK_MPU_PERIPH, &__freq ); \ + __freq; \ + })) + #define TRC_IRQ_PRIORITY_ORDER 0 + + #ifdef __GNUC__ + /* For Arm Cortex-A and Cortex-R in general. */ + static inline uint32_t prvGetCPSR(void) + { + unsigned long ret; + /* GCC-style assembly for getting the CPSR/APSR register, where the system execution mode is found. */ + __asm__ __volatile__(" mrs %0, cpsr" : "=r" (ret) : /* no inputs */ ); + return ret; + } + #else + #error "Only GCC Supported!" + #endif + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_ZEPHYR) + #define TRACE_ALLOC_CRITICAL_SECTION() int key; + #define TRACE_ENTER_CRITICAL_SECTION() { key = irq_lock(); } + #define TRACE_EXIT_CRITICAL_SECTION() { irq_unlock(key); } + + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT k_cycle_get_32() + #define TRC_HWTC_PERIOD (CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC / CONFIG_SYS_CLOCK_TICKS_PER_SEC) + #define TRC_HWTC_DIVISOR 4 + #define TRC_HWTC_FREQ_HZ CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC + #define TRC_IRQ_PRIORITY_ORDER 0 // Lower IRQ priority values are more significant + + #define TRC_PORT_SPECIFIC_INIT() + +#elif ((TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XTensa_LX6) || (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XTensa_LX7)) + /** + * @note When running with SMP FreeRTOS we cannot use the CCOUNT register for timestamping, + * instead we use the external 40MHz timer for synchronized timestamping between the cores. + */ + #if CONFIG_FREERTOS_UNICORE == 1 + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT ({ unsigned int __ccount; \ + __asm__ __volatile__("rsr.ccount %0" : "=a"(__ccount)); \ + __ccount; }) +#ifdef CONFIG_IDF_TARGET_ESP32 + #define TRC_HWTC_FREQ_HZ (CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ * 1000000) +#elif defined(CONFIG_IDF_TARGET_ESP32S2) + #define TRC_HWTC_FREQ_HZ (CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ * 1000000) +#else + #error "Invalid IDF target, check your sdkconfig." +#endif + #define TRC_HWTC_PERIOD 0 + #define TRC_HWTC_DIVISOR 4 + #define TRC_IRQ_PRIORITY_ORDER 0 + #else + /** + * @brief Fetch core agnostic timestamp using the external 40MHz timer. This is used by tracerecorder + * when running with both cores. + * + * @return Ticks since the timer started + */ + uint32_t prvGetSMPTimestamp(); + + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT prvGetSMPTimestamp() + #define TRC_HWTC_FREQ_HZ 40000000 + #define TRC_HWTC_PERIOD 0 + #define TRC_HWTC_DIVISOR 4 + #define TRC_IRQ_PRIORITY_ORDER 0 + #endif + + #if !defined(TRC_HWTC_FREQ_HZ) + #error "The XTensa LX6/LX7 trace hardware clock frequency is not defined." + #endif + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_RISCV_RV32I) + + #define TRACE_ALLOC_CRITICAL_SECTION() unsigned long __irq_status; + #define TRACE_ENTER_CRITICAL_SECTION() __asm__ __volatile__("csrr %0, mstatus \n\t" \ + "csrci mstatus, 8 \n\t" \ + "andi %0, %0, 8 \n\t" \ + : "=r"(__irq_status)) + #define TRACE_EXIT_CRITICAL_SECTION() __asm__ __volatile__("csrr a1, mstatus \n\t" \ + "or %0, %0, a1 \n\t" \ + "csrs mstatus, %0 \n\t" \ + : \ + : "r" (__irq_status) \ + : "a1") + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT ({ uint64_t __count; \ + __asm__ __volatile__("rdtime %0" : "=r"(__count)); \ + (__count & 0xFFFFFFFF); }) + #define TRC_HWTC_PERIOD 0 + #define TRC_HWTC_DIVISOR 1 + #define TRC_HWTC_FREQ_HZ 25000000 + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XMOS_XCOREAI) + #define TRC_PORT_SPECIFIC_INIT() + #define TRC_HWTC_TYPE TRC_FREE_RUNNING_32BIT_INCR + #define TRC_HWTC_COUNT xscope_gettime() + #define TRC_HWTC_PERIOD (configCPU_CLOCK_HZ / configTICK_RATE_HZ ) + #define TRC_HWTC_DIVISOR 4 + #define TRC_HWTC_FREQ_HZ 100000000 + #define TRC_IRQ_PRIORITY_ORDER 0 + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_POWERPC_Z4) + + /* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO */ + + #define TRACE_ALLOC_CRITICAL_SECTION() TraceBaseType_t __x_irq_status; + #define TRACE_ENTER_CRITICAL_SECTION() { __x_irq_status = TRC_KERNEL_PORT_SET_INTERRUPT_MASK(); } + #define TRACE_EXIT_CRITICAL_SECTION() { TRC_KERNEL_PORT_CLEAR_INTERRUPT_MASK(__x_irq_status); } + + #define TRC_HWTC_TYPE TRC_OS_TIMER_DECR + //#define HWTC_COUNT_DIRECTION DIRECTION_DECREMENTING + #define TRC_HWTC_COUNT PIT.TIMER[configTICK_PIT_CHANNEL].CVAL.R // must be the PIT channel used for the systick + #define TRC_HWTC_PERIOD ((configPIT_CLOCK_HZ / configTICK_RATE_HZ) - 1U) // TODO FIXME or maybe not -1? what's the right "period" value? + #define TRC_HWTC_FREQ_HZ configPIT_CLOCK_HZ + #define TRC_HWTC_DIVISOR 1 + #define TRC_IRQ_PRIORITY_ORDER 1 // higher IRQ priority values are more significant + +#elif (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_APPLICATION_DEFINED) + + #if !( defined (TRC_HWTC_TYPE) && defined (TRC_HWTC_COUNT) && defined (TRC_HWTC_PERIOD) && defined (TRC_HWTC_FREQ_HZ) && defined (TRC_IRQ_PRIORITY_ORDER) ) + #error "The hardware port is not completely defined!" + #endif + +#elif (TRC_CFG_HARDWARE_PORT != TRC_HARDWARE_PORT_NOT_SET) + + #error "TRC_CFG_HARDWARE_PORT had unsupported value!" + #define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_NOT_SET + +#endif + +#ifndef TRC_HWTC_DIVISOR + #define TRC_HWTC_DIVISOR 1 +#endif + +#ifndef TRC_PORT_SPECIFIC_INIT + #define TRC_PORT_SPECIFIC_INIT() +#endif + +/* If Win32 port */ +#ifdef WIN32 + + #undef _WIN32_WINNT + #define _WIN32_WINNT 0x0600 + + /* Standard includes. */ + #include + #include + #include + + /*************************************************************************** + * The Win32 port by default saves the trace to file and then kills the + * program when the recorder is stopped, to facilitate quick, simple tests + * of the recorder. + ***************************************************************************/ + #define WIN32_PORT_SAVE_WHEN_STOPPED 1 + #define WIN32_PORT_EXIT_WHEN_STOPPED 1 + +#endif + +#if (TRC_CFG_HARDWARE_PORT != TRC_HARDWARE_PORT_NOT_SET) + + #ifndef TRC_HWTC_TYPE + #error "TRC_HWTC_TYPE is not set!" + #endif + + #ifndef TRC_HWTC_COUNT + #error "TRC_HWTC_COUNT is not set!" + #endif + + #ifndef TRC_HWTC_PERIOD + #error "TRC_HWTC_PERIOD is not set!" + #endif + + #ifndef TRC_HWTC_DIVISOR + #error "TRC_HWTC_DIVISOR is not set!" + #endif + + #ifndef TRC_IRQ_PRIORITY_ORDER + #error "TRC_IRQ_PRIORITY_ORDER is not set!" + #elif (TRC_IRQ_PRIORITY_ORDER != 0) && (TRC_IRQ_PRIORITY_ORDER != 1) + #error "TRC_IRQ_PRIORITY_ORDER has bad value!" + #endif + + #if (TRC_HWTC_DIVISOR < 1) + #error "TRC_HWTC_DIVISOR must be a non-zero positive value!" + #endif + + #ifndef TRC_HWTC_FREQ_HZ + #error "TRC_HWTC_FREQ_HZ not defined!" + #endif + +#endif + +#ifndef TRACE_ALLOC_CRITICAL_SECTION +#define TRACE_ALLOC_CRITICAL_SECTION() TRC_KERNEL_PORT_ALLOC_CRITICAL_SECTION() +#endif +#ifndef TRACE_ENTER_CRITICAL_SECTION + #define TRACE_ENTER_CRITICAL_SECTION() TRC_KERNEL_PORT_ENTER_CRITICAL_SECTION() +#endif +#ifndef TRACE_EXIT_CRITICAL_SECTION +#define TRACE_EXIT_CRITICAL_SECTION() TRC_KERNEL_PORT_EXIT_CRITICAL_SECTION() +#endif + +#endif /*TRC_SNAPSHOT_HARDWARE_PORT_H*/ diff --git a/freertos/cvitek/install/include/kernel/trcHeap.h b/freertos/cvitek/install/include/kernel/trcHeap.h new file mode 100644 index 000000000..09fad9554 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcHeap.h @@ -0,0 +1,172 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace heap APIs. + */ + +#ifndef TRC_HEAP_H +#define TRC_HEAP_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#ifndef TRC_USE_HEAPS +#define TRC_USE_HEAPS 1 +#endif + +#if (TRC_USE_HEAPS == 1) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define TRC_HEAP_STATE_INDEX_CURRENT 0 +#define TRC_HEAP_STATE_INDEX_HIGHWATERMARK 1 +#define TRC_HEAP_STATE_INDEX_MAX 2 + +/** + * @defgroup trace_heap_apis Trace Heap APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Creates trace heap. + * + * @param[in] szName Name. + * @param[in] uxCurrent Current level. + * @param[in] uxHighWaterMark High water mark + * @param[in] uxMax Maximum level. + * @param[out] pxHeapHandle Pointer to uninitialized trace heap handle. + * @return traceResult + */ +traceResult xTraceHeapCreate(const char *szName, TraceUnsignedBaseType_t uxCurrent, TraceUnsignedBaseType_t uxHighWaterMark, TraceUnsignedBaseType_t uxMax, TraceHeapHandle_t *pxHeapHandle); + +/** + * @brief Signals trace heap alloc. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[in] pvAddress Address. + * @param[in] uxSize Size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceHeapAlloc(TraceHeapHandle_t xHeapHandle, void *pvAddress, TraceUnsignedBaseType_t uxSize); + +/** + * @brief Signals trace heap free. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[in] pvAddress Address. + * @param[in] uxSize Size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceHeapFree(TraceHeapHandle_t xHeapHandle, void* pvAddress, TraceUnsignedBaseType_t uxSize); + +/** + * @brief Gets trace heap current allocation size. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[out] puxCurrent Current. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapGetCurrent(xHeapHandle, puxCurrent) xTraceEntryGetState(xHeapHandle, TRC_HEAP_STATE_INDEX_CURRENT, puxCurrent) + +/** + * @brief Sets trace heap current allocation size. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[in] uxCurrent Current. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapSetCurrent(xHeapHandle, uxCurrent) xTraceEntrySetState(xHeapHandle, TRC_HEAP_STATE_INDEX_CURRENT, uxCurrent) + +/** + * @brief Gets trace heap high water mark. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[out] puxHighWaterMark High water mark. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapGetHighWaterMark(xHeapHandle, puxHighWaterMark) xTraceEntryGetState(xHeapHandle, TRC_HEAP_STATE_INDEX_HIGHWATERMARK, puxHighWaterMark) + +/** + * @brief Sets trace heap high water mark. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[in] uxHighWaterMark High water mark. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapSetHighWaterMark(xHeapHandle, uxHighWaterMark) xTraceEntrySetState(xHeapHandle, TRC_HEAP_STATE_INDEX_HIGHWATERMARK, uxHighWaterMark) + +/** + * @brief Gets trace heap max size. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[out] puxMax Max. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapGetMax(xHeapHandle, puxMax) xTraceEntryGetState(xHeapHandle, TRC_HEAP_STATE_INDEX_MAX, puxMax) + +/** + * @brief Sets trace heap max size. + * + * @param[in] xHeapHandle Trace heap handle. + * @param[in] uxMax Max heap size. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceHeapSetMax(xHeapHandle, uxMax) xTraceEntrySetState(xHeapHandle, TRC_HEAP_STATE_INDEX_MAX, uxMax) + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#else + +#define xTraceHeapCreate(szName, uxCurrent, uxHighWaterMark, uxMax, pxHeapHandle) ((void)szName, (void)uxCurrent, (void)uxHighWaterMark, (void)uxMax, pxHeapHandle != 0 ? TRC_SUCCESS : TRC_FAIL) + +#define xTraceHeapAlloc(xHeapHandle, pvAddress, uxSize) ((void)xHeapHandle, (void)pvAddress, (void)uxSize, TRC_SUCCESS) + +#define xTraceHeapFree(xHeapHandle, pvAddress, uxSize) ((void)xHeapHandle, (void)pvAddress, (void)uxSize, TRC_SUCCESS) + +#define xTraceHeapGetCurrent(xHeapHandle, puxCurrent) ((void)xHeapHandle, puxCurrent != 0 ? *puxCurrent = 0 : 0, puxCurrent != 0 ? TRC_SUCCESS : TRC_FAIL) + +#define xTraceHeapGetHighWaterMark(xHeapHandle, puxHighWaterMark) ((void)xHeapHandle, puxHighWaterMark != 0 ? *puxHighWaterMark = 0 : 0, puxHighWaterMark != 0 ? TRC_SUCCESS : TRC_FAIL) + +#define xTraceHeapGetMax(xHeapHandle, puxMax) ((void)xHeapHandle, puxMax != 0 ? *puxMax = 0 : 0, puxMax != 0 ? TRC_SUCCESS : TRC_FAIL) + +#endif /* (TRC_USE_HEAPS == 1) */ + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_HEAP_H */ diff --git a/freertos/cvitek/install/include/kernel/trcISR.h b/freertos/cvitek/install/include/kernel/trcISR.h new file mode 100644 index 000000000..8eab33419 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcISR.h @@ -0,0 +1,226 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace ISR APIs. + */ + +#ifndef TRC_ISR_H +#define TRC_ISR_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_isr_apis Trace ISR APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @internal Trace ISR Core Info Structure + */ +typedef struct TraceISRCoreInfo +{ + TraceISRHandle_t handleStack[TRC_CFG_MAX_ISR_NESTING]; /**< */ + int32_t stackIndex; /**< */ + int32_t isPendingContextSwitch; /**< */ +} TraceISRCoreInfo_t; + +/** + * @internal Trace ISR Info Structure + */ +typedef struct TraceISRInfo +{ + TraceISRCoreInfo_t coreInfos[TRC_CFG_CORE_COUNT]; /* ISR handles */ +} TraceISRInfo_t; + +/* We expose this to enable faster access */ +extern TraceISRInfo_t* pxTraceISRInfo; + +#define TRACE_ISR_INFO_BUFFER_SIZE (sizeof(TraceISRInfo_t)) + +/** + * @internal Trace ISR Info Buffer + */ +typedef struct TraceISRInfoBuffer +{ + uint8_t buffer[(TRACE_ISR_INFO_BUFFER_SIZE)]; /**< */ +} TraceISRInfoBuffer_t; + +/** + * @internal Initialize ISR trace system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the ISR + * trace system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRInitialize(TraceISRInfoBuffer_t *pxBuffer); + +/** + * @brief Registers trace ISR. + * + * This routine stores a name and priority level for an Interrupt Service Routine, + * to allow for better visualization. Returns a TraceISRHandle_t used by + * xTraceISRBegin/xTraceISREnd. + * + * Example: + * #define PRIO_OF_ISR_TIMER1 3 // the hardware priority of the interrupt + * TraceISRHandle_t xISRTimer1Handle = 0; // The ID set by the recorder + * ... + * xTraceISRRegister("ISRTimer1", PRIO_OF_ISR_TIMER1, &xISRTimer1Handle); + * ... + * void ISR_handler() + * { + * xTraceISRBegin(xISRTimer1Handle); + * ... + * xTraceISREnd(0); + * } + * + * @param[in] szName Name. + * @param[in] uiPriority Priority. + * @param[out] pxISRHandle Pointer to uninitialized ISR trace handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRRegister(const char* szName, uint32_t uiPriority, TraceISRHandle_t* pxISRHandle); + +/** + * @brief Registers the beginning of an Interrupt Service Routine. + * + * This routine register the beginning of an ISR using a TraceISRHandle_t. + * See xTraceISRRegister for and example of using ISR tracing. + * + * @param[in] xISRHandle Pointer to initialized ISR trace handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRBegin(TraceISRHandle_t xISRHandle); + +/** + * @brief Registers the end of an Interrupt Service Routine. + * + * This routine register the end of an ISR using a TraceISRHandle_t. + * See xTraceISRRegister for and example of using ISR tracing. + * + * The parameter uxIsTaskSwitchRequired indicates if the interrupt has requested + * a task-switch (= 1), e.g., by signaling a semaphore. Otherwise (= 0) the + * interrupt is assumed to return to the previous context. + * + * @param[in] xIsTaskSwitchRequired Task switch required. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISREnd(TraceBaseType_t xIsTaskSwitchRequired); + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Gets current trace ISR nesting level. + * + * This routine gets the current trace ISR nesting level for the + * CPU on which it is called. + * + * @param[out] puiValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRGetCurrentNesting(int32_t* puiValue); + +/** + * @brief + * + * @return int32_t + */ +int32_t xTraceISRGetCurrentNestingReturned(void); + +/** + * @brief Gets current ISR trace handle. + * + * @param[out] pxISRHandle ISR Handle. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRGetCurrent(TraceISRHandle_t* pxISRHandle); + +#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** + * @brief Gets current trace ISR nesting level. + * + * This routine gets the current trace ISR nesting level for the + * CPU on which it is called. + * + * @param[out] puiValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceISRGetCurrentNesting(puiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiValue) = pxTraceISRInfo->coreInfos[TRC_CFG_GET_CURRENT_CORE()].stackIndex, TRC_SUCCESS) + +/** + * @brief + * + * @return int32_t + */ +#define xTraceISRGetCurrentNestingReturned() (pxTraceISRInfo->coreInfos[TRC_CFG_GET_CURRENT_CORE()].stackIndex) + +/** + * @brief Gets current trace ISR nesting level. + * + * This routine gets the current trace ISR nesting level for the + * CPU on which it is called. + * + * @param[out] puiValue Value. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceISRGetCurrent(pxISRHandle) (xTraceISRGetCurrentNestingReturned() >= 0 ? (*(pxISRHandle) = pxTraceISRInfo->coreInfos[TRC_CFG_GET_CURRENT_CORE()].handleStack[xTraceISRGetCurrentNestingReturned()], TRC_SUCCESS) : TRC_FAIL) + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @internal Deprecated - Provides backwards-compability with older recorders for now, will be removed in the future */ +TraceISRHandle_t xTraceSetISRProperties(const char* szName, uint32_t uiPriority); + +/** @internal Deprecated - Provides backwards-compability with older recorders for now, will be removed in the future */ +#define xTraceGetCurrentISRNesting(puiValue) xTraceISRGetCurrentNesting(puiValue) + +/** @internal Deprecated - Provides backwards-compability with older recorders for now, will be removed in the future */ +#define vTraceStoreISRBegin(xISRHandle) xTraceISRBegin(xISRHandle) + +/** @internal Deprecated - Provides backwards-compability with older recorders for now, will be removed in the future */ +#define vTraceStoreISREnd(xIsTaskSwitchRequired) xTraceISREnd(xIsTaskSwitchRequired) + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif + +#endif + +#endif diff --git a/freertos/cvitek/install/include/kernel/trcInternalEventBuffer.h b/freertos/cvitek/install/include/kernel/trcInternalEventBuffer.h new file mode 100644 index 000000000..1a93cb1da --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcInternalEventBuffer.h @@ -0,0 +1,107 @@ +/* + * Percepio Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/** + * @file + * + * @brief Public internal event buffer APIs. + */ + +#ifndef TRC_INTERNAL_BUFFER_H +#define TRC_INTERNAL_BUFFER_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#ifndef TRC_USE_INTERNAL_BUFFER +#define TRC_USE_INTERNAL_BUFFER 1 +#endif + +#if (TRC_USE_INTERNAL_BUFFER == 1) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_internal_event_buffer_apis Trace Internal Event Buffer APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @internal Initializes the internal trace event buffer used by certain stream ports. + * + * @param[in] puiBuffer Pointer to previously allocated memory buffer + * @param[in] uiSize Size of buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceInternalEventBufferInitialize(uint8_t* puiBuffer, uint32_t uiSize); + +/** + * @brief Pushes data to the internal trace event buffer. + * + * @param[in] pvData Pointer to data + * @param[in] uiSize Size of data + * @param[out] piBytesWritten Bytes written. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceInternalEventBufferPush(void *pvData, uint32_t uiSize, int32_t *piBytesWritten); + +/** + * @brief Transfers all internal trace event buffer data using the function + * xTraceStreamPortWriteData(...) as defined in trcStreamPort.h. + * + * This function is intended to be called by the periodic TzCtrl task with a + * suitable delay (e.g. 10-100 ms). + * + * In case of errors from the streaming interface, it registers a warning + * (TRC_WARNING_STREAM_PORT_WRITE) provided by xTraceErrorGetLast(). + * + * @param[out] piBytesWritten Bytes written. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceInternalEventBufferTransfer(int32_t *piBytesWritten); + +/** + * @brief Clears all trace events in the internal trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceInternalEventBufferClear(void); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#else /* (TRC_USE_INTERNAL_BUFFER == 1)*/ + +#define xTraceInternalEventBufferInitialize(puiBuffer, uiSize) ((void)uiSize, puiBuffer != 0 ? TRC_SUCCESS : TRC_FAIL) +#define xTraceInternalEventBufferPush(pvData, uiSize, piBytesWritten) ((void)uiSize, (void)piBytesWritten, pvData != 0 ? TRC_SUCCESS : TRC_FAIL) +#define xTraceInternalEventBufferTransfer(piBytesWritten) ((void)piBytesWritten, TRC_SUCCESS) +#define xTraceInternalEventBufferClear() (void)(TRC_SUCCESS) + +#endif /* (TRC_USE_INTERNAL_BUFFER == 1)*/ + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_INTERNAL_BUFFER_H */ diff --git a/freertos/cvitek/install/include/kernel/trcInterval.h b/freertos/cvitek/install/include/kernel/trcInterval.h new file mode 100644 index 000000000..e16c570e4 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcInterval.h @@ -0,0 +1,130 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace interval APIs. + */ + +#ifndef TRC_INTERVAL_H +#define TRC_INTERVAL_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#ifdef __cplusplus +extern "C" { +#endif + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#define TRC_INTERVAL_CHANNEL_SET_INDEX 0 + +/** + * @defgroup trace_interval_apis Trace Interval APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Creates trace interval channel set. + * + * @param[in] szName Name. + * @param[out] pxIntervalChannelSetHandle Pointer to uninitialized trace interval channel set. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ + traceResult xTraceIntervalChannelSetCreate(const char* szName, TraceIntervalChannelSetHandle_t* pxIntervalChannelSetHandle); + +/** + * @brief Creates trace interval channel. + * + * @param[in] szName Name. + * @param[in] xIntervalChannelSetHandle Interval set that this channel belongs to. + * @param[out] pxIntervalChannelHandle Pointer to uninitialized trace interval channel. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceIntervalChannelCreate(const char *szName, TraceIntervalChannelSetHandle_t xIntervalChannelSetHandle, TraceIntervalChannelHandle_t *pxIntervalChannelHandle); + +/** + * @brief Starts trace interval instance. + * + * @param[in] xIntervalChannelHandle Interval handle. + * @param[in] uxValue Value that can be used to tell instances apart. + * @param[out] pxIntervalInstanceHandle Pointer to interval instance variable. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceIntervalStart(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceUnsignedBaseType_t uxValue, TraceIntervalInstanceHandle_t* pxIntervalInstanceHandle); + +/** + * @brief Stops trace interval instance. + * + * @param[in] xIntervalChannelHandle Interval handle. + * @param[in] xIntervalInstanceHandle Interval instance. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceIntervalStop(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceIntervalInstanceHandle_t xIntervalInstanceHandle); + +/** + * @brief Gets trace interval channel state. + * + * @param[in] xIntervalChannelHandle Pointer to initialized trace interval. + * @param[out] puxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceIntervalGetState(xIntervalChannelHandle, puxState) xTraceEntryGetState((TraceEntryHandle_t)(xIntervalChannelHandle), TRC_INTERVAL_CHANNEL_SET_INDEX, puxState) + +/** @} */ + +#else + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceIntervalChannelSetCreate(__szName, __pxIntervalChannelSetHandle) ((void)(__szName), *(__pxIntervalChannelSetHandle) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceIntervalChannelCreate(__szName, __xIntervalChannelSetHandle, __pxIntervalChannelHandle) ((void)(__szName), (void)(__xIntervalChannelSetHandle), *(__pxIntervalChannelHandle) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceIntervalStart(__xIntervalHandle, __uxValue, __pxIntervalInstanceHandle) ((void)(__xIntervalHandle), (void)(__uxValue), *(__pxIntervalInstanceHandle) = 0, TRC_SUCCESS) + + /** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceIntervalStop(__xIntervalHandle, __xIntervalInstanceHandle) ((void)(__xIntervalHandle), (void)(__xIntervalInstanceHandle), TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceIntervalGetState(__xIntervalHandle, __puxState) ((void)(__xIntervalHandle), *(__puxState) = 0, TRC_SUCCESS) + +#endif + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/freertos/cvitek/install/include/kernel/trcKernelPort.h b/freertos/cvitek/install/include/kernel/trcKernelPort.h new file mode 100644 index 000000000..155018325 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcKernelPort.h @@ -0,0 +1,2985 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * FreeRTOS specific definitions needed by the trace recorder + */ + +#ifndef TRC_KERNEL_PORT_H +#define TRC_KERNEL_PORT_H + +#include +#include /* Defines configUSE_TRACE_FACILITY */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define TRC_USE_TRACEALYZER_RECORDER configUSE_TRACE_FACILITY + +/* FreeRTOS version codes */ +#define FREERTOS_VERSION_NOT_SET 0 +#define TRC_FREERTOS_VERSION_7_3_X 1 /* v7.3 is earliest supported.*/ +#define TRC_FREERTOS_VERSION_7_4_X 2 +#define TRC_FREERTOS_VERSION_7_5_X 3 +#define TRC_FREERTOS_VERSION_7_6_X TRC_FREERTOS_VERSION_7_5_X +#define TRC_FREERTOS_VERSION_8_X_X 4 +#define TRC_FREERTOS_VERSION_9_0_0 5 +#define TRC_FREERTOS_VERSION_9_0_1 6 +#define TRC_FREERTOS_VERSION_9_0_2 7 +#define TRC_FREERTOS_VERSION_10_0_0 8 +#define TRC_FREERTOS_VERSION_10_0_1 TRC_FREERTOS_VERSION_10_0_0 +#define TRC_FREERTOS_VERSION_10_1_0 TRC_FREERTOS_VERSION_10_0_0 +#define TRC_FREERTOS_VERSION_10_1_1 TRC_FREERTOS_VERSION_10_0_0 +#define TRC_FREERTOS_VERSION_10_2_0 TRC_FREERTOS_VERSION_10_0_0 +#define TRC_FREERTOS_VERSION_10_2_1 TRC_FREERTOS_VERSION_10_0_0 +#define TRC_FREERTOS_VERSION_10_3_0 9 +#define TRC_FREERTOS_VERSION_10_3_1 TRC_FREERTOS_VERSION_10_3_0 +#define TRC_FREERTOS_VERSION_10_4_0 10 +#define TRC_FREERTOS_VERSION_10_4_1 TRC_FREERTOS_VERSION_10_4_0 + +/* Legacy FreeRTOS version codes for backwards compatibility with old trace configurations */ +#define TRC_FREERTOS_VERSION_7_3 TRC_FREERTOS_VERSION_7_3_X +#define TRC_FREERTOS_VERSION_7_4 TRC_FREERTOS_VERSION_7_4_X +#define TRC_FREERTOS_VERSION_7_5_OR_7_6 TRC_FREERTOS_VERSION_7_5_X +#define TRC_FREERTOS_VERSION_8_X TRC_FREERTOS_VERSION_8_X_X + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) +#define prvGetStreamBufferType(x) ((( StreamBuffer_t * )(x) )->ucFlags & sbFLAGS_IS_MESSAGE_BUFFER) +#else +#define prvGetStreamBufferType(x) 0 +#endif + +/* Added mainly for our internal testing. This makes it easier to create test applications that + runs on multiple FreeRTOS versions. */ +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_8_X_X) + /* FreeRTOS v7.x */ + #define STRING_CAST(x) ( (signed char*) x ) + #define TickType portTickType + #define TaskType xTaskHandle +#else + /* FreeRTOS v8.0 and later */ + #define STRING_CAST(x) x + #define TraceKernelPortTickType_t TickType_t + #define TraceKernelPortTaskHandle_t TaskHandle_t +#endif + +#if (defined(TRC_USE_TRACEALYZER_RECORDER)) && (TRC_USE_TRACEALYZER_RECORDER == 1) + +#define TRC_PLATFORM_CFG "FreeRTOS" +#define TRC_PLATFORM_CFG_MAJOR 1 +#define TRC_PLATFORM_CFG_MINOR 0 +#define TRC_PLATFORM_CFG_PATCH 0 + +#if defined(TRC_CFG_ENABLE_STACK_MONITOR) && (TRC_CFG_ENABLE_STACK_MONITOR == 1) && (TRC_CFG_SCHEDULING_ONLY == 0) + +/* Required for stack monitoring */ +#undef INCLUDE_uxTaskGetStackHighWaterMark +#define INCLUDE_uxTaskGetStackHighWaterMark 1 + +#endif + +/* INCLUDE_xTaskGetCurrentTaskHandle must be set to 1 for tracing to work properly */ +#undef INCLUDE_xTaskGetCurrentTaskHandle +#define INCLUDE_xTaskGetCurrentTaskHandle 1 + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) +#include + +#define TRC_KERNEL_PORT_BUFFER_SIZE (sizeof(TraceHeapHandle_t) + sizeof(void*)) +#elif (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) +#define TRC_KERNEL_PORT_BUFFER_SIZE (sizeof(TraceUnsignedBaseType_t)) +#endif + +#if (TRC_CFG_FREERTOS_VERSION == FREERTOS_VERSION_NOT_SET) +#error "Please set TRC_CFG_FREERTOS_VERSION in trcKernelPortConfig.h to the FreeRTOS version used." +#endif + +/** + * @internal The kernel port data buffer + */ +typedef struct TraceKernelPortDataBuffer +{ + uint8_t buffer[TRC_KERNEL_PORT_BUFFER_SIZE]; +} TraceKernelPortDataBuffer_t; + +/** + * @internal Initializes the kernel port + * + * @param[in] pxBuffer Kernel port data buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceKernelPortInitialize(TraceKernelPortDataBuffer_t* pxBuffer); + +/** + * @internal Enables the kernel port + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceKernelPortEnable(void); + +/** + * @internal Calls on FreeRTOS vTaskDelay(...) + * + * @param[in] uiTicks Tick count to delay + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceKernelPortDelay(uint32_t uiTicks); + +/** + * @internal Query if FreeRTOS scheduler is suspended + * + * @retval 1 Scheduler suspended + * @retval 0 Scheduler not suspended + */ +unsigned char xTraceKernelPortIsSchedulerSuspended(void); + +/** + * @brief Kernel specific way to properly allocate critical sections + */ +#define TRC_KERNEL_PORT_ALLOC_CRITICAL_SECTION() + +/** + * @brief Kernel specific way to properly allocate critical sections + */ +#define TRC_KERNEL_PORT_ENTER_CRITICAL_SECTION() portENTER_CRITICAL() + +/** + * @brief Kernel specific way to properly allocate critical sections + */ +#define TRC_KERNEL_PORT_EXIT_CRITICAL_SECTION() portEXIT_CRITICAL() + +/** +* @brief Kernel specific way to set interrupt mask +*/ +#define TRC_KERNEL_PORT_SET_INTERRUPT_MASK() ((TraceBaseType_t)portSET_INTERRUPT_MASK_FROM_ISR()) + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +/** + * @brief Kernel specific way to clear interrupt mask + */ +#define TRC_KERNEL_PORT_CLEAR_INTERRUPT_MASK(xMask) portCLEAR_INTERRUPT_MASK_FROM_ISR((UBaseType_t)(xMask)) + +#else + +/** + * @brief Kernel specific way to clear interrupt mask + */ +#define TRC_KERNEL_PORT_CLEAR_INTERRUPT_MASK(xMask) portCLEAR_INTERRUPT_MASK_FROM_ISR((unsigned portBASE_TYPE)xMask) +#endif + +#if (TRC_CFG_SCHEDULING_ONLY == 0) + +/** + * @brief Set the queue name + * + * @param[in] pvQueue Queue pointer + * @param[in] szName Queue name + */ +void vTraceSetQueueName(void* pvQueue, const char* szName); + +/** + * @brief Set the semaphore name + * + * @param[in] pvSemaphore Semaphore pointer + * @param[in] szName Semaphore name + */ +void vTraceSetSemaphoreName(void* pvSemaphore, const char* szName); + +/** + * @brief Set the mutex name + * + * @param[in] pvMutex Mutex pointer + * @param[in] szName Mutex name + */ +void vTraceSetMutexName(void* pvMutex, const char* szName); + +#if (TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS == 1) + +/** + * @brief Set the event group name + * + * @param[in] pvEventGroup Event group pointer + * @param[in] szName Event group name + */ +void vTraceSetEventGroupName(void* pvEventGroup, const char* szName); + +#else + +/** + * @brief Disabled by TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS + */ +#define vTraceSetEventGroupName(__pvEventGroup, __szName) ((void)(__pvEventGroup), (void)(__szName)) + +#endif + +#if (TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS == 1) + +/** + * @brief Set the stream buffer name + * + * @param[in] pvStreamBuffer Stream buffer pointer + * @param[in] szName Stream buffer name + */ +void vTraceSetStreamBufferName(void* pvStreamBuffer, const char* szName); + +/** + * @brief Set the message buffer name + * + * @param[in] pvMessageBuffer Message buffer pointer + * @param[in] szName Message buffer name + */ +void vTraceSetMessageBufferName(void* pvMessageBuffer, const char* szName); + +#else + +/** + * @brief Disabled by TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS + */ +#define vTraceSetStreamBufferName(__pvStreamBuffer, __szName) ((void)(__pvStreamBuffer), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS + */ +#define vTraceSetMessageBufferName(__pvMessageBuffer, __szName) ((void)(__pvMessageBuffer), (void)(__szName)) + +#endif + +#if defined(TRC_CFG_ENABLE_STACK_MONITOR) && (TRC_CFG_ENABLE_STACK_MONITOR == 1) + + /** + * @internal Retrieves the unused stack for a task + * + * @param[in] pvTask Task pointer + * @param[out] puxUnusedStack The unused stack + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceKernelPortGetUnusedStack(void* pvTask, TraceUnsignedBaseType_t *puxUnusedStack); + +#endif + +#else + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetQueueName(__pvQueue, __szName) ((void)(__pvQueue), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetSemaphoreName(__pvSemaphore, __szName) ((void)(__pvSemaphore), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetMutexName(__pvMutex, __szName) ((void)(__pvMutex), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetEventGroupName(__pvEventGroup, __szName) ((void)(__pvEventGroup), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetStreamBufferName(__pvStreamBuffer, __szName) ((void)(__pvStreamBuffer), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define vTraceSetMessageBufferName(__pvMessageBuffer, __szName) ((void)(__pvMessageBuffer), (void)(__szName)) + +/** + * @brief Disabled by TRC_CFG_SCHEDULING_ONLY + */ +#define xTraceKernelPortGetUnusedStack(pvTask, puxUnusedStack) ((void)(pvTask), (void)(puxUnusedStack)) + +#endif + +#if (((TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) && (TRC_CFG_INCLUDE_ISR_TRACING == 1)) || (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)) + +/* Required for ISR tracing and Streaming */ +#undef INCLUDE_xTaskGetSchedulerState +#define INCLUDE_xTaskGetSchedulerState 1 + +#endif + +/** + * @internal Legacy ID used by Tracealyzer to identify FreeRTOS traces + */ +#define TRACE_KERNEL_VERSION 0x1AA1 + +/** + * @internal Kernel specific tick rate frequency definition + */ +#define TRC_TICK_RATE_HZ configTICK_RATE_HZ /* Defined in "FreeRTOS.h" */ + +/** + * @internal Kernel specific CPU clock frequency definition + */ +#define TRACE_CPU_CLOCK_HZ configCPU_CLOCK_HZ /* Defined in "FreeRTOSConfig.h" */ + +#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC) +/** + * @internal Kernel port specific heap initialization + */ +#define TRC_KERNEL_PORT_HEAP_INIT(size) + +/** + * @internal Kernel port specific heap malloc definition + */ +#define TRC_KERNEL_PORT_HEAP_MALLOC(size) pvPortMalloc(size) +#endif /* (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC) */ + +#if (defined(configUSE_TIMERS) && (configUSE_TIMERS == 1)) + +#undef INCLUDE_xTimerGetTimerDaemonTaskHandle +#define INCLUDE_xTimerGetTimerDaemonTaskHandle 1 + +#endif + +#if (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_XMOS_XCOREAI) + +#undef TRC_CFG_CORE_COUNT +#define TRC_CFG_CORE_COUNT configNUM_CORES + +#undef TRC_CFG_GET_CURRENT_CORE +#define TRC_CFG_GET_CURRENT_CORE() rtos_core_id_get() + +#endif + +#if (TRC_CFG_FREERTOS_VERSION == TRC_FREERTOS_VERSION_9_0_1) + +/** + * @brief Fix for FreeRTOS v9.0.1 to correctly identify xQueuePeek events. + * + * In FreeRTOS v9.0.1, the below trace hooks are incorrectly used from three + * different functions. This as the earlier function xQueueGenericReceive + * has been replaced by xQueuePeek, xQueueSemaphoreTake and xQueueReceive. + * + * xQueueGenericReceive had a parameter "xJustPeeking", used by the trace hooks + * to tell between xQueuePeek events and others. This is no longer present, so + * we need another way to correctly identify peek events. Since all three + * functions call the same trace macros, the context of these macro is unknown. + * + * We therefore check the __LINE__ macro inside of the trace macros. This gives + * the line number of queue.c, where the macros are used. This can be used to + * tell if the context is xQueuePeek or another function. + * __LINE__ is a standard compiler feature since ancient times, so it should + * work on all common compilers. + * + * This might seem as a quite brittle and unusual solution, but works in this + * particular case and is only for FreeRTOS v9.0.1. + * Future versions of FreeRTOS should not need this fix, as we have submitted + * a correction of queue.c with individual trace macros for each function. + */ +#define isQueueReceiveHookActuallyPeek (__LINE__ > 1674) /* Half way between the closes trace points */ + +#elif (TRC_CFG_FREERTOS_VERSION <= TRC_FREERTOS_VERSION_9_0_0) + +/** + * @brief Is receive actually a peek + */ +#define isQueueReceiveHookActuallyPeek xJustPeeking + +#elif (TRC_CFG_FREERTOS_VERSION > TRC_FREERTOS_VERSION_9_0_1) + +/** + * @brief Is never a peek for this FreeRTOS version + */ +#define isQueueReceiveHookActuallyPeek (__LINE__ < 0) /* instead of pdFALSE to fix a warning of "constant condition" */ + +#endif + +/* Helpers needed to correctly expand names */ +#define TZ__CAT2(a,b) a ## b +#define TZ__CAT(a,b) TZ__CAT2(a, b) + +/* + * The following xQueueGiveFromISR macro hacks make sure xQueueGiveFromISR also has a xCopyPosition parameter + */ + +/* Expands name if this header is included... uxQueueType must be a macro that only exists in queue.c or whatever, and it must expand to nothing or to something that's valid in identifiers */ +#define xQueueGiveFromISR(a,b) TZ__CAT(xQueueGiveFromISR__, uxQueueType) (a,b) + +/* If in queue.c, the "uxQueueType" macro expands to "pcHead". queueSEND_TO_BACK is the value we need to send in */ +#define xQueueGiveFromISR__pcHead(__a, __b) MyWrapper_xQueueGiveFromISR(__a, __b, const BaseType_t xCopyPosition); \ +BaseType_t xQueueGiveFromISR(__a, __b) { return MyWrapper_xQueueGiveFromISR(xQueue, pxHigherPriorityTaskWoken, queueSEND_TO_BACK); } \ +BaseType_t MyWrapper_xQueueGiveFromISR(__a, __b, const BaseType_t xCopyPosition) + +/* If not in queue.c, "uxQueueType" isn't expanded */ +#define xQueueGiveFromISR__uxQueueType(__a, __b) xQueueGiveFromISR(__a,__b) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) + +/** + * @internal Kernel specific way to get current task handle + */ +#define TRACE_GET_CURRENT_TASK() prvTraceGetCurrentTaskHandle() + +extern uint16_t CurrentFilterMask; +extern uint16_t CurrentFilterGroup; + +/** + * @internal Get specific queue type + * + * @param[in] pvQueue Queue handle + * + * @returns uint8_t Queue type + */ +uint8_t prvTraceGetQueueType(void* pvQueue); + +/** + * @internal Retrieve lower 16-bit of task number + * + * @param[in] pvTask Task handle + * + * @returns uint16_t Lower 16-bit of task number + */ +uint16_t prvTraceGetTaskNumberLow16(void* pvTask); + +/** + * @internal Retrieve upper 16-bit of task number + * + * @param[in] pvTask Task handle + * + * @returns uint16_t Upper 16-bit of task number + */ +uint16_t prvTraceGetTaskNumberHigh16(void* pvTask); + +/** + * @internal Set lower 16-bit of task number + * + * @param[in] pvTask Task handle + * @param[in] uiValue Value + */ +void prvTraceSetTaskNumberLow16(void* pvTask, uint16_t uiValue); + +/** + * @internal Set upper 16-bit of task number + * + * @param[in] pvTask Task handle + * @param[in] uiValue Value + */ +void prvTraceSetTaskNumberHigh16(void* pvTask, uint16_t uiValue); + +/** + * @internal Retrieve lower 16-bit of queue number + * + * @param[in] pvQueue Queue handle + * + * @returns uint16_t Lower 16-bit of queue number + */ +uint16_t prvTraceGetQueueNumberLow16(void* pvQueue); + +/** + * @internal Retrieve upper 16-bit of queue number + * + * @param[in] pvQueuevQueue handle + * + * @returns uint16_t Upper 16-bit of queue number + */ +uint16_t prvTraceGetQueueNumberHigh16(void* pvQueue); + + +/** + * @internal Set lower 16-bit of queue number + * + * @param[in] pvQueue Queue handle + * @param[in] uiValue Value + */ +void prvTraceSetQueueNumberLow16(void* pvQueue, uint16_t uiValue); + + +/** + * @internal Set upper 16-bit of queue number + * + * @param[in] pvQueue Queue handle + * @param[in] uiValue Value + */ +void prvTraceSetQueueNumberHigh16(void* pvQueue, uint16_t uiValue); + +#if (TRC_CFG_INCLUDE_TIMER_EVENTS == 1 && TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) + +/** + * @internal Retrieve lower 16-bit of timer number + * + * @param[in] pvTimer Timer handle + * + * @returns uint16_t Lower 16-bit of timer number + */ +uint16_t prvTraceGetTimerNumberLow16(void* pvTimer); + +/** + * @internal Retrieve upper 16-bit of timer number + * + * @param[in] pvTimer Timer handle + * + * @returns uint16_t Upper 16-bit of timer number + */ +uint16_t prvTraceGetTimerNumberHigh16(void* pvTimer); + +/** + * @internal Set lower 16-bit of timer number + * + * @param[in] pvTimer Timer handle + * @param[in] uiValue Value + */ +void prvTraceSetTimerNumberLow16(void* pvTimer, uint16_t uiValue); + +/** + * @internal Set upper 16-bit of timer number + * + * @param[in] pvTimer Timer handle + * @param[in] uiValue Value + */ +void prvTraceSetTimerNumberHigh16(void* pvTimer, uint16_t uiValue); + +#endif + +#if (TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS == 1 && TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) + +/** + * @internal Retrieve lower 16-bit of event group number + * + * @param[in] pvEventGroup Event group handle + * + * @returns uint16_t Lower 16-bit of event group number + */ +uint16_t prvTraceGetEventGroupNumberLow16(void* pvEventGroup); + +/** + * @internal Retrieve upper 16-bit of event group number + * + * @param[in] pvEventGroup Event group handle + * + * @returns uint16_t Upper 16-bit of event group number + */ +uint16_t prvTraceGetEventGroupNumberHigh16(void* pvEventGroup); + +/** + * @internal Set lower 16-bit of event group number + * + * @param[in] pvEventGroup Event group handle + * @param[in] uiValue Value + */ +void prvTraceSetEventGroupNumberLow16(void* pvEventGroup, uint16_t uiValue); + +/** + * @internal Set upper 16-bit of event group number + * + * @param[in] pvEventGroup Event group handle + * @param[in] uiValue Value + */ +void prvTraceSetEventGroupNumberHigh16(void* handle, uint16_t value); + +#endif + +#if (TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS == 1 && TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) + +/** + * @internal Retrieve lower 16-bit of stream buffer number + * + * @param[in] pvStreamBuffer Stream buffer handle + * + * @returns uint16_t Lower 16-bit of stream buffer number + */ +uint16_t prvTraceGetStreamBufferNumberLow16(void* pvStreamBuffer); + +/** + * @internal Retrieve upper 16-bit of stream buffer number + * + * @param[in] pvStreamBuffer Stream buffer handle + * + * @returns uint16_t Upper 16-bit of stream buffer number + */ +uint16_t prvTraceGetStreamBufferNumberHigh16(void* pvStreamBuffer); + +/** + * @internal Set lower 16-bit of stream buffer number + * + * @param[in] pvStreamBuffer Stream buffer handle + * @param[in] uiValue Value + */ +void prvTraceSetStreamBufferNumberLow16(void* pvStreamBuffer, uint16_t uiValue); + +/** + * @internal Set upper 16-bit of stream buffer number + * + * @param[in] pvStreamBuffer Stream buffer handle + * @param[in] uiValue Value + */ +void prvTraceSetStreamBufferNumberHigh16(void* pvStreamBuffer, uint16_t uiValue); + +#endif + +/** + * @brief Retrieve filter of task + * + * @param[in] pxTask Task handle + * + * @returns uint16_t Task filter + */ +#define TRACE_GET_TASK_FILTER(pxTask) prvTraceGetTaskNumberHigh16((void*)pxTask) + +/** + * @brief Set filter of task + * + * @param[in] pxTask Task handle + * @param[in] group Group + */ +#define TRACE_SET_TASK_FILTER(pxTask, group) prvTraceSetTaskNumberHigh16((void*)pxTask, group) + +/** + * @brief Retrieve filter of queue + * + * @param[in] pxQueue Queue handle + * + * @returns uint16_t Queue filter + */ +#define TRACE_GET_QUEUE_FILTER(pxQueue) prvTraceGetQueueNumberHigh16((void*)pxQueue) + +/** + * @brief Set filter of queue + * + * @param[in] pxQueue Queue handle + * @param[in] group Group + */ +#define TRACE_SET_QUEUE_FILTER(pxQueue, group) prvTraceSetQueueNumberHigh16((void*)pxQueue, group) + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) + +/** + * @brief Retrieve filter of event group + * + * @param[in] pxEventGroup Queue handle + * + * @returns uint16_t Queue filter + */ +#define TRACE_GET_EVENTGROUP_FILTER(pxEventGroup) prvTraceGetEventGroupNumberHigh16((void*)pxEventGroup) + +/** + * @brief Set filter of event group + * + * @param[in] pxEventGroup Queue handle + * @param[in] group Group + */ +#define TRACE_SET_EVENTGROUP_FILTER(pxEventGroup, group) prvTraceSetEventGroupNumberHigh16((void*)pxEventGroup, group) + +#else + +/** + * @brief Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_GET_EVENTGROUP_FILTER(pxEventGroup) ((void)(pxEventGroup), 1) + +/** + * @brief Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_SET_EVENTGROUP_FILTER(pxEventGroup, group) ((void)(pxEventGroup), (void)(group)) + +#endif + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) + +/** + * @brief Retrieve filter of timer + * + * @param[in] pxEventGroup Timer handle + * + * @returns uint16_t Timer filter + */ +#define TRACE_GET_TIMER_FILTER(pxTimer) prvTraceGetTimerNumberHigh16((void*)pxTimer) + +/** + * @brief Set filter of timer + * + * @param[in] pxTimer Timer handle + * @param[in] group Group + */ +#define TRACE_SET_TIMER_FILTER(pxTimer, group) prvTraceSetTimerNumberHigh16((void*)pxTimer, group) + +#else + +/** + * @brief Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_GET_TIMER_FILTER(pxTimer) ((void)(pxTimer), 1) + +/** + * @brief Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_SET_TIMER_FILTER(pxTimer, group) ((void)(pxTimer), (void)(group)) + +#endif + +/** + * @brief Retrieve filter of stream buffer + * + * @param[in] pxStreamBuffer Stream buffer handle + * + * @returns uint16_t Timer filter + */ +#define TRACE_GET_STREAMBUFFER_FILTER(pxStreamBuffer) prvTraceGetStreamBufferNumberHigh16((void*)pxStreamBuffer) + +/** + * @brief Set filter of stream buffer + * + * @param[in] pxStreamBuffer Stream buffer handle + * @param[in] group Group + */ +#define TRACE_SET_STREAMBUFFER_FILTER(pxStreamBuffer, group) prvTraceSetStreamBufferNumberHigh16((void*)pxStreamBuffer, group) + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +/** + * @internal Get object filter + */ +#define TRACE_GET_OBJECT_FILTER(CLASS, pxObject) TRACE_GET_##CLASS##_FILTER(pxObject) + +/** + * @internal Set object filter + */ +#define TRACE_SET_OBJECT_FILTER(CLASS, pxObject, group) TRACE_SET_##CLASS##_FILTER(pxObject, group) + +#else + +/** + * @internal Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_GET_OBJECT_FILTER(CLASS, pxObject) 0xFFFF + +/** + * @internal Disabled by TRC_CFG_FREERTOS_VERSION + */ +#define TRACE_SET_OBJECT_FILTER(CLASS, pxObject, group) + +#endif + +/* The object classes */ +#define TRACE_NCLASSES 9 +#define TRACE_CLASS_QUEUE ((traceObjectClass)0) +#define TRACE_CLASS_SEMAPHORE ((traceObjectClass)1) +#define TRACE_CLASS_MUTEX ((traceObjectClass)2) +#define TRACE_CLASS_TASK ((traceObjectClass)3) +#define TRACE_CLASS_ISR ((traceObjectClass)4) +#define TRACE_CLASS_TIMER ((traceObjectClass)5) +#define TRACE_CLASS_EVENTGROUP ((traceObjectClass)6) +#define TRACE_CLASS_STREAMBUFFER ((traceObjectClass)7) +#define TRACE_CLASS_MESSAGEBUFFER ((traceObjectClass)8) + +/* Definitions for Object Table */ +#define TRACE_KERNEL_OBJECT_COUNT ((TRC_CFG_NQUEUE) + (TRC_CFG_NSEMAPHORE) + (TRC_CFG_NMUTEX) + (TRC_CFG_NTASK) + (TRC_CFG_NISR) + (TRC_CFG_NTIMER) + (TRC_CFG_NEVENTGROUP) + (TRC_CFG_NSTREAMBUFFER) + (TRC_CFG_NMESSAGEBUFFER)) + +/* Queue properties (except name): current number of message in queue */ +#define PropertyTableSizeQueue ((TRC_CFG_NAME_LEN_QUEUE) + 1) + +/* Semaphore properties (except name): state (signaled = 1, cleared = 0) */ +#define PropertyTableSizeSemaphore ((TRC_CFG_NAME_LEN_SEMAPHORE) + 1) + +/* Mutex properties (except name): owner (task handle, 0 = free) */ +#define PropertyTableSizeMutex ((TRC_CFG_NAME_LEN_MUTEX) + 1) + +/* Task properties (except name): Byte 0: Current priority + Byte 1: state (if already active) + Byte 2: legacy, not used + Byte 3: legacy, not used */ +#define PropertyTableSizeTask ((TRC_CFG_NAME_LEN_TASK) + 4) + +/* ISR properties: Byte 0: priority + Byte 1: state (if already active) */ +#define PropertyTableSizeISR ((TRC_CFG_NAME_LEN_ISR) + 2) + +/* TRC_CFG_NTIMER properties: Byte 0: state (unused for now) */ +#define PropertyTableSizeTimer ((TRC_CFG_NAME_LEN_TIMER) + 1) + +/* TRC_CFG_NEVENTGROUP properties: Byte 0-3: state (unused for now)*/ +#define PropertyTableSizeEventGroup ((TRC_CFG_NAME_LEN_EVENTGROUP) + 4) + +/* TRC_CFG_NSTREAMBUFFER properties: Byte 0-3: state (unused for now)*/ +#define PropertyTableSizeStreamBuffer ((TRC_CFG_NAME_LEN_STREAMBUFFER) + 4) + +/* TRC_CFG_NMESSAGEBUFFER properties: Byte 0-3: state (unused for now)*/ +#define PropertyTableSizeMessageBuffer ((TRC_CFG_NAME_LEN_MESSAGEBUFFER) + 4) + + +/* The layout of the byte array representing the Object Property Table */ +#define StartIndexQueue (0) +#define StartIndexSemaphore (StartIndexQueue + (TRC_CFG_NQUEUE) * PropertyTableSizeQueue) +#define StartIndexMutex (StartIndexSemaphore + (TRC_CFG_NSEMAPHORE) * PropertyTableSizeSemaphore) +#define StartIndexTask (StartIndexMutex + (TRC_CFG_NMUTEX) * PropertyTableSizeMutex) +#define StartIndexISR (StartIndexTask + (TRC_CFG_NTASK) * PropertyTableSizeTask) +#define StartIndexTimer (StartIndexISR + (TRC_CFG_NISR) * PropertyTableSizeISR) +#define StartIndexEventGroup (StartIndexTimer + (TRC_CFG_NTIMER) * PropertyTableSizeTimer) +#define StartIndexStreamBuffer (StartIndexEventGroup + (TRC_CFG_NEVENTGROUP) * PropertyTableSizeEventGroup) +#define StartIndexMessageBuffer (StartIndexStreamBuffer + (TRC_CFG_NSTREAMBUFFER) * PropertyTableSizeStreamBuffer) + +/* Number of bytes used by the object table */ +#define TRACE_OBJECT_TABLE_SIZE (StartIndexMessageBuffer + (TRC_CFG_NMESSAGEBUFFER) * PropertyTableSizeMessageBuffer) + +/* Flag to tell the context of tracePEND_FUNC_CALL_FROM_ISR */ +extern int uiInEventGroupSetBitsFromISR; + +/** + * @internal Initialized the object property table + */ +traceResult xTraceKernelPortInitObjectPropertyTable(void); + +/** + * @internal Initialized the object handle stack + */ +traceResult xTraceKernelPortInitObjectHandleStack(void); + +/** + * @internal Retrieve error string + */ +const char* pszTraceGetErrorNotEnoughHandles(traceObjectClass objectclass); + +/** + * @internal Retrieve current task handle + */ +void* prvTraceGetCurrentTaskHandle(void); + +extern traceObjectClass TraceQueueClassTable[5]; + + +/*** Event codes for snapshot mode - must match Tracealyzer config files ******/ + +#define NULL_EVENT (0x00UL) + +/******************************************************************************* + * EVENTGROUP_DIV + * + * Miscellaneous events. + ******************************************************************************/ +#define EVENTGROUP_DIV (NULL_EVENT + 1UL) /*0x01*/ +#define DIV_XPS (EVENTGROUP_DIV + 0UL) /*0x01*/ +#define DIV_TASK_READY (EVENTGROUP_DIV + 1UL) /*0x02*/ +#define DIV_NEW_TIME (EVENTGROUP_DIV + 2UL) /*0x03*/ + +/******************************************************************************* + * EVENTGROUP_TS + * + * Events for storing task-switches and interrupts. The RESUME events are + * generated if the task/interrupt is already marked active. + ******************************************************************************/ +#define EVENTGROUP_TS (EVENTGROUP_DIV + 3UL) /*0x04*/ +#define TS_ISR_BEGIN (EVENTGROUP_TS + 0UL) /*0x04*/ +#define TS_ISR_RESUME (EVENTGROUP_TS + 1UL) /*0x05*/ +#define TS_TASK_BEGIN (EVENTGROUP_TS + 2UL) /*0x06*/ +#define TS_TASK_RESUME (EVENTGROUP_TS + 3UL) /*0x07*/ + +/******************************************************************************* + * EVENTGROUP_OBJCLOSE_NAME + * + * About Close Events + * When an object is evicted from the object property table (object close), two + * internal events are stored (EVENTGROUP_OBJCLOSE_NAME and + * EVENTGROUP_OBJCLOSE_PROP), containing the handle-name mapping and object + * properties valid up to this point. + ******************************************************************************/ +#define EVENTGROUP_OBJCLOSE_NAME_TRCSUCCESS (EVENTGROUP_TS + 4UL) /*0x08*/ + +/******************************************************************************* + * EVENTGROUP_OBJCLOSE_PROP + * + * The internal event carrying properties of deleted objects + * The handle and object class of the closed object is not stored in this event, + * but is assumed to be the same as in the preceding CLOSE event. Thus, these + * two events must be generated from within a critical section. + * When queues are closed, arg1 is the "state" property (i.e., number of + * buffered messages/signals). + * When actors are closed, arg1 is priority, arg2 is handle of the "instance + * finish" event, and arg3 is event code of the "instance finish" event. + * In this case, the lower three bits is the object class of the instance finish + * handle. The lower three bits are not used (always zero) when queues are + * closed since the queue type is given in the previous OBJCLOSE_NAME event. + ******************************************************************************/ +#define EVENTGROUP_OBJCLOSE_PROP_TRCSUCCESS (EVENTGROUP_OBJCLOSE_NAME_TRCSUCCESS + 8UL) /*0x10*/ + +/******************************************************************************* + * EVENTGROUP_CREATE + * + * The events in this group are used to log Kernel object creations. + * The lower three bits in the event code gives the object class, i.e., type of + * create operation (task, queue, semaphore, etc). + ******************************************************************************/ +#define EVENTGROUP_CREATE_OBJ_TRCSUCCESS (EVENTGROUP_OBJCLOSE_PROP_TRCSUCCESS + 8UL) /*0x18*/ + +/******************************************************************************* + * EVENTGROUP_SEND + * + * The events in this group are used to log Send/Give events on queues, + * semaphores and mutexes The lower three bits in the event code gives the + * object class, i.e., what type of object that is operated on (queue, semaphore + * or mutex). + ******************************************************************************/ +#define EVENTGROUP_SEND_TRCSUCCESS (EVENTGROUP_CREATE_OBJ_TRCSUCCESS + 8UL) /*0x20*/ + +/******************************************************************************* + * EVENTGROUP_RECEIVE + * + * The events in this group are used to log Receive/Take events on queues, + * semaphores and mutexes. The lower three bits in the event code gives the + * object class, i.e., what type of object that is operated on (queue, semaphore + * or mutex). + ******************************************************************************/ +#define EVENTGROUP_RECEIVE_TRCSUCCESS (EVENTGROUP_SEND_TRCSUCCESS + 8UL) /*0x28*/ + +/* Send/Give operations, from ISR */ +#define EVENTGROUP_SEND_FROM_ISR_TRCSUCCESS \ + (EVENTGROUP_RECEIVE_TRCSUCCESS + 8UL) /*0x30*/ + +/* Receive/Take operations, from ISR */ +#define EVENTGROUP_RECEIVE_FROM_ISR_TRCSUCCESS \ + (EVENTGROUP_SEND_FROM_ISR_TRCSUCCESS + 8UL) /*0x38*/ + +/* "Failed" event type versions of above (timeout, failed allocation, etc) */ +#define EVENTGROUP_KSE_TRCFAILED \ + (EVENTGROUP_RECEIVE_FROM_ISR_TRCSUCCESS + 8UL) /*0x40*/ + +/* Failed create calls - memory allocation failed */ +#define EVENTGROUP_CREATE_OBJ_TRCFAILED (EVENTGROUP_KSE_TRCFAILED) /*0x40*/ + +/* Failed send/give - timeout! */ +#define EVENTGROUP_SEND_TRCFAILED (EVENTGROUP_CREATE_OBJ_TRCFAILED + 8UL) /*0x48*/ + +/* Failed receive/take - timeout! */ +#define EVENTGROUP_RECEIVE_TRCFAILED (EVENTGROUP_SEND_TRCFAILED + 8UL) /*0x50*/ + +/* Failed non-blocking send/give - queue full */ +#define EVENTGROUP_SEND_FROM_ISR_TRCFAILED (EVENTGROUP_RECEIVE_TRCFAILED + 8UL) /*0x58*/ + +/* Failed non-blocking receive/take - queue empty */ +#define EVENTGROUP_RECEIVE_FROM_ISR_TRCFAILED \ + (EVENTGROUP_SEND_FROM_ISR_TRCFAILED + 8UL) /*0x60*/ + +/* Events when blocking on receive/take */ +#define EVENTGROUP_RECEIVE_TRCBLOCK \ + (EVENTGROUP_RECEIVE_FROM_ISR_TRCFAILED + 8UL) /*0x68*/ + +/* Events when blocking on send/give */ +#define EVENTGROUP_SEND_TRCBLOCK (EVENTGROUP_RECEIVE_TRCBLOCK + 8UL) /*0x70*/ + +/* Events on queue peek (receive) */ +#define EVENTGROUP_PEEK_TRCSUCCESS (EVENTGROUP_SEND_TRCBLOCK + 8UL) /*0x78*/ + +/* Events on object delete (vTaskDelete or vQueueDelete) */ +#define EVENTGROUP_DELETE_OBJ_TRCSUCCESS (EVENTGROUP_PEEK_TRCSUCCESS + 8UL) /*0x80*/ + +/* Other events - object class is implied: TASK */ +#define EVENTGROUP_OTHERS (EVENTGROUP_DELETE_OBJ_TRCSUCCESS + 8UL) /*0x88*/ +#define TASK_DELAY_UNTIL (EVENTGROUP_OTHERS + 0UL) /*0x88*/ +#define TASK_DELAY (EVENTGROUP_OTHERS + 1UL) /*0x89*/ +#define TASK_SUSPEND (EVENTGROUP_OTHERS + 2UL) /*0x8A*/ +#define TASK_RESUME (EVENTGROUP_OTHERS + 3UL) /*0x8B*/ +#define TASK_RESUME_FROM_ISR (EVENTGROUP_OTHERS + 4UL) /*0x8C*/ +#define TASK_PRIORITY_SET (EVENTGROUP_OTHERS + 5UL) /*0x8D*/ +#define TASK_PRIORITY_INHERIT (EVENTGROUP_OTHERS + 6UL) /*0x8E*/ +#define TASK_PRIORITY_DISINHERIT (EVENTGROUP_OTHERS + 7UL) /*0x8F*/ + +#define EVENTGROUP_MISC_PLACEHOLDER (EVENTGROUP_OTHERS + 8UL) /*0x90*/ +#define PEND_FUNC_CALL (EVENTGROUP_MISC_PLACEHOLDER+0UL) /*0x90*/ +#define PEND_FUNC_CALL_FROM_ISR (EVENTGROUP_MISC_PLACEHOLDER+1UL) /*0x91*/ +#define PEND_FUNC_CALL_TRCFAILED (EVENTGROUP_MISC_PLACEHOLDER+2UL) /*0x92*/ +#define PEND_FUNC_CALL_FROM_ISR_TRCFAILED (EVENTGROUP_MISC_PLACEHOLDER+3UL) /*0x93*/ +#define MEM_MALLOC_SIZE (EVENTGROUP_MISC_PLACEHOLDER+4UL) /*0x94*/ +#define MEM_MALLOC_ADDR (EVENTGROUP_MISC_PLACEHOLDER+5UL) /*0x95*/ +#define MEM_FREE_SIZE (EVENTGROUP_MISC_PLACEHOLDER+6UL) /*0x96*/ +#define MEM_FREE_ADDR (EVENTGROUP_MISC_PLACEHOLDER+7UL) /*0x97*/ + +/* User events */ +#define EVENTGROUP_USEREVENT (EVENTGROUP_MISC_PLACEHOLDER + 8UL) /*0x98*/ +#define USER_EVENT (EVENTGROUP_USEREVENT + 0UL) + +/* Allow for 0-15 arguments (the number of args is added to event code) */ +#define USER_EVENT_LAST (EVENTGROUP_USEREVENT + 15UL) /*0xA7*/ + +/******************************************************************************* + * XTS Event - eXtended TimeStamp events + * The timestamps used in the recorder are "differential timestamps" (DTS), i.e. + * the time since the last stored event. The DTS fields are either 1 or 2 bytes + * in the other events, depending on the bytes available in the event struct. + * If the time since the last event (the DTS) is larger than allowed for by + * the DTS field of the current event, an XTS event is inserted immediately + * before the original event. The XTS event contains up to 3 additional bytes + * of the DTS value - the higher bytes of the true DTS value. The lower 1-2 + * bytes are stored in the normal DTS field. + * There are two types of XTS events, XTS8 and XTS16. An XTS8 event is stored + * when there is only room for 1 byte (8 bit) DTS data in the original event, + * which means a limit of 0xFF (255UL). The XTS16 is used when the original event + * has a 16 bit DTS field and thereby can handle values up to 0xFFFF (65535UL). + * + * Using a very high frequency time base can result in many XTS events. + * Preferably, the time between two OS ticks should fit in 16 bits, i.e., + * at most 65535. If your time base has a higher frequency, you can define + * the TRACE + ******************************************************************************/ + +#define EVENTGROUP_SYS (EVENTGROUP_USEREVENT + 16UL) /*0xA8*/ +#define XTS8 (EVENTGROUP_SYS + 0UL) /*0xA8*/ +#define XTS16 (EVENTGROUP_SYS + 1UL) /*0xA9*/ +#define EVENT_BEING_WRITTEN (EVENTGROUP_SYS + 2UL) /*0xAA*/ +#define RESERVED_DUMMY_CODE (EVENTGROUP_SYS + 3UL) /*0xAB*/ +#define LOW_POWER_BEGIN (EVENTGROUP_SYS + 4UL) /*0xAC*/ +#define LOW_POWER_END (EVENTGROUP_SYS + 5UL) /*0xAD*/ +#define XID (EVENTGROUP_SYS + 6UL) /*0xAE*/ +#define XTS16L (EVENTGROUP_SYS + 7UL) /*0xAF*/ + +#define EVENTGROUP_TIMER (EVENTGROUP_SYS + 8UL) /*0xB0*/ +#define TIMER_CREATE (EVENTGROUP_TIMER + 0UL) /*0xB0*/ +#define TIMER_START (EVENTGROUP_TIMER + 1UL) /*0xB1*/ +#define TIMER_RST (EVENTGROUP_TIMER + 2UL) /*0xB2*/ +#define TIMER_STOP (EVENTGROUP_TIMER + 3UL) /*0xB3*/ +#define TIMER_CHANGE_PERIOD (EVENTGROUP_TIMER + 4UL) /*0xB4*/ +#define TIMER_DELETE_OBJ (EVENTGROUP_TIMER + 5UL) /*0xB5*/ +#define TIMER_START_FROM_ISR (EVENTGROUP_TIMER + 6UL) /*0xB6*/ +#define TIMER_RESET_FROM_ISR (EVENTGROUP_TIMER + 7UL) /*0xB7*/ +#define TIMER_STOP_FROM_ISR (EVENTGROUP_TIMER + 8UL) /*0xB8*/ + +#define TIMER_CREATE_TRCFAILED (EVENTGROUP_TIMER + 9UL) /*0xB9*/ +#define TIMER_START_TRCFAILED (EVENTGROUP_TIMER + 10UL) /*0xBA*/ +#define TIMER_RESET_TRCFAILED (EVENTGROUP_TIMER + 11UL) /*0xBB*/ +#define TIMER_STOP_TRCFAILED (EVENTGROUP_TIMER + 12UL) /*0xBC*/ +#define TIMER_CHANGE_PERIOD_TRCFAILED (EVENTGROUP_TIMER + 13UL) /*0xBD*/ +#define TIMER_DELETE_TRCFAILED (EVENTGROUP_TIMER + 14UL) /*0xBE*/ +#define TIMER_START_FROM_ISR_TRCFAILED (EVENTGROUP_TIMER + 15UL) /*0xBF*/ +#define TIMER_RESET_FROM_ISR_TRCFAILED (EVENTGROUP_TIMER + 16UL) /*0xC0*/ +#define TIMER_STOP_FROM_ISR_TRCFAILED (EVENTGROUP_TIMER + 17UL) /*0xC1*/ + +#define EVENTGROUP_EG (EVENTGROUP_TIMER + 18UL) /*0xC2*/ +#define EVENT_GROUP_CREATE (EVENTGROUP_EG + 0UL) /*0xC2*/ +#define EVENT_GROUP_CREATE_TRCFAILED (EVENTGROUP_EG + 1UL) /*0xC3*/ +#define EVENT_GROUP_SYNC_TRCBLOCK (EVENTGROUP_EG + 2UL) /*0xC4*/ +#define EVENT_GROUP_SYNC_END (EVENTGROUP_EG + 3UL) /*0xC5*/ +#define EVENT_GROUP_WAIT_BITS_TRCBLOCK (EVENTGROUP_EG + 4UL) /*0xC6*/ +#define EVENT_GROUP_WAIT_BITS_END (EVENTGROUP_EG + 5UL) /*0xC7*/ +#define EVENT_GROUP_CLEAR_BITS (EVENTGROUP_EG + 6UL) /*0xC8*/ +#define EVENT_GROUP_CLEAR_BITS_FROM_ISR (EVENTGROUP_EG + 7UL) /*0xC9*/ +#define EVENT_GROUP_SET_BITS (EVENTGROUP_EG + 8UL) /*0xCA*/ +#define EVENT_GROUP_DELETE_OBJ (EVENTGROUP_EG + 9UL) /*0xCB*/ +#define EVENT_GROUP_SYNC_END_TRCFAILED (EVENTGROUP_EG + 10UL) /*0xCC*/ +#define EVENT_GROUP_WAIT_BITS_END_TRCFAILED (EVENTGROUP_EG + 11UL) /*0xCD*/ +#define EVENT_GROUP_SET_BITS_FROM_ISR (EVENTGROUP_EG + 12UL) /*0xCE*/ +#define EVENT_GROUP_SET_BITS_FROM_ISR_TRCFAILED (EVENTGROUP_EG + 13UL) /*0xCF*/ + +#define TASK_INSTANCE_FINISHED_NEXT_KSE (EVENTGROUP_EG + 14UL) /*0xD0*/ +#define TASK_INSTANCE_FINISHED_DIRECT (EVENTGROUP_EG + 15UL) /*0xD1*/ + +#define TRACE_TASK_NOTIFY_GROUP (EVENTGROUP_EG + 16UL) /*0xD2*/ +#define TRACE_TASK_NOTIFY (TRACE_TASK_NOTIFY_GROUP + 0UL) /*0xD2*/ +#define TRACE_TASK_NOTIFY_TAKE (TRACE_TASK_NOTIFY_GROUP + 1UL) /*0xD3*/ +#define TRACE_TASK_NOTIFY_TAKE_TRCBLOCK (TRACE_TASK_NOTIFY_GROUP + 2UL) /*0xD4*/ +#define TRACE_TASK_NOTIFY_TAKE_TRCFAILED (TRACE_TASK_NOTIFY_GROUP + 3UL) /*0xD5*/ +#define TRACE_TASK_NOTIFY_WAIT (TRACE_TASK_NOTIFY_GROUP + 4UL) /*0xD6*/ +#define TRACE_TASK_NOTIFY_WAIT_TRCBLOCK (TRACE_TASK_NOTIFY_GROUP + 5UL) /*0xD7*/ +#define TRACE_TASK_NOTIFY_WAIT_TRCFAILED (TRACE_TASK_NOTIFY_GROUP + 6UL) /*0xD8*/ +#define TRACE_TASK_NOTIFY_FROM_ISR (TRACE_TASK_NOTIFY_GROUP + 7UL) /*0xD9*/ +#define TRACE_TASK_NOTIFY_GIVE_FROM_ISR (TRACE_TASK_NOTIFY_GROUP + 8UL) /*0xDA*/ + +#define TIMER_EXPIRED (TRACE_TASK_NOTIFY_GROUP + 9UL) /*0xDB*/ + + /* Events on queue peek (receive) */ +#define EVENTGROUP_PEEK_TRCBLOCK (TRACE_TASK_NOTIFY_GROUP + 10UL) /*0xDC*/ +/* peek block on queue: 0xDC */ +/* peek block on semaphore: 0xDD */ +/* peek block on mutex: 0xDE */ + +/* Events on queue peek (receive) */ +#define EVENTGROUP_PEEK_TRCFAILED (EVENTGROUP_PEEK_TRCBLOCK + 3UL) /*0xDF*/ +/* peek failed on queue: 0xDF */ +/* peek failed on semaphore: 0xE0 */ +/* peek failed on mutex: 0xE1 */ + +#define EVENTGROUP_STREAMBUFFER_DIV (EVENTGROUP_PEEK_TRCFAILED + 3UL) /*0xE2*/ +#define TRACE_STREAMBUFFER_RESET (EVENTGROUP_STREAMBUFFER_DIV + 0) /*0xE2*/ +#define TRACE_MESSAGEBUFFER_RESET (EVENTGROUP_STREAMBUFFER_DIV + 1UL) /*0xE3*/ +#define TRACE_STREAMBUFFER_OBJCLOSE_NAME_TRCSUCCESS (EVENTGROUP_STREAMBUFFER_DIV + 2UL) /*0xE4*/ +#define TRACE_MESSAGEBUFFER_OBJCLOSE_NAME_TRCSUCCESS (EVENTGROUP_STREAMBUFFER_DIV + 3UL) /*0xE5*/ +#define TRACE_STREAMBUFFER_OBJCLOSE_PROP_TRCSUCCESS (EVENTGROUP_STREAMBUFFER_DIV + 4UL) /*0xE6*/ +#define TRACE_MESSAGEBUFFER_OBJCLOSE_PROP_TRCSUCCESS (EVENTGROUP_STREAMBUFFER_DIV + 5UL) /*0xE7*/ + +#define EVENTGROUP_MALLOC_FAILED (EVENTGROUP_STREAMBUFFER_DIV + 6UL) /*0xE8*/ +#define MEM_MALLOC_SIZE_TRCFAILED (EVENTGROUP_MALLOC_FAILED + 0UL) /*0xE8*/ +#define MEM_MALLOC_ADDR_TRCFAILED (EVENTGROUP_MALLOC_FAILED + 1UL) /*0xE9*/ + +/* The following are using previously "lost" event codes */ +#define TRACE_STREAMBUFFER_CREATE_OBJ_TRCSUCCESS (EVENTGROUP_CREATE_OBJ_TRCSUCCESS + 4UL) /*0x1C*/ +#define TRACE_STREAMBUFFER_CREATE_OBJ_TRCFAILED (EVENTGROUP_CREATE_OBJ_TRCFAILED + 4UL) /*0x44*/ +#define TRACE_STREAMBUFFER_DELETE_OBJ_TRCSUCCESS (EVENTGROUP_DELETE_OBJ_TRCSUCCESS + 4UL) /*0x84*/ +#define TRACE_STREAMBUFFER_SEND_TRCSUCCESS (EVENTGROUP_SEND_TRCSUCCESS + 3UL) /*0x23*/ +#define TRACE_STREAMBUFFER_SEND_TRCBLOCK (EVENTGROUP_SEND_TRCBLOCK + 3UL) /*0x73*/ +#define TRACE_STREAMBUFFER_SEND_TRCFAILED (EVENTGROUP_SEND_TRCFAILED + 3UL) /*0x4B*/ +#define TRACE_STREAMBUFFER_RECEIVE_TRCSUCCESS (EVENTGROUP_RECEIVE_TRCSUCCESS + 3UL) /*0x2B*/ +#define TRACE_STREAMBUFFER_RECEIVE_TRCBLOCK (EVENTGROUP_RECEIVE_TRCBLOCK + 3UL) /*0x6B*/ +#define TRACE_STREAMBUFFER_RECEIVE_TRCFAILED (EVENTGROUP_RECEIVE_TRCFAILED + 3UL) /*0x53*/ +#define TRACE_STREAMBUFFER_SEND_FROM_ISR_TRCSUCCESS (EVENTGROUP_SEND_FROM_ISR_TRCSUCCESS + 3UL) /*0x33*/ +#define TRACE_STREAMBUFFER_SEND_FROM_ISR_TRCFAILED (EVENTGROUP_SEND_FROM_ISR_TRCFAILED + 3UL) /*0x5B*/ +#define TRACE_STREAMBUFFER_RECEIVE_FROM_ISR_TRCSUCCESS (EVENTGROUP_RECEIVE_FROM_ISR_TRCSUCCESS + 3UL) /*0x3B*/ +#define TRACE_STREAMBUFFER_RECEIVE_FROM_ISR_TRCFAILED (EVENTGROUP_RECEIVE_FROM_ISR_TRCFAILED + 3UL) /*0x63*/ + +/* The following are using previously "lost" event codes. These macros aren't even directly referenced, instead we do (equivalent STREAMBUFFER code) + 1. */ +#define TRACE_MESSAGEBUFFER_CREATE_OBJ_TRCSUCCESS (EVENTGROUP_CREATE_OBJ_TRCSUCCESS + 5UL) /*0x1D*/ +#define TRACE_MESSAGEBUFFER_CREATE_OBJ_TRCFAILED (EVENTGROUP_CREATE_OBJ_TRCFAILED + 5UL) /*0x45*/ +#define TRACE_MESSAGEBUFFER_DELETE_OBJ_TRCSUCCESS (EVENTGROUP_DELETE_OBJ_TRCSUCCESS + 5UL) /*0x85*/ +#define TRACE_MESSAGEBUFFER_SEND_TRCSUCCESS (EVENTGROUP_SEND_TRCSUCCESS + 4UL) /*0x24*/ +#define TRACE_MESSAGEBUFFER_SEND_TRCBLOCK (EVENTGROUP_SEND_TRCBLOCK + 4UL) /*0x74*/ +#define TRACE_MESSAGEBUFFER_SEND_TRCFAILED (EVENTGROUP_SEND_TRCFAILED + 4UL) /*0x4C*/ +#define TRACE_MESSAGEBUFFER_RECEIVE_TRCSUCCESS (EVENTGROUP_RECEIVE_TRCSUCCESS + 4UL) /*0x2C*/ +#define TRACE_MESSAGEBUFFER_RECEIVE_TRCBLOCK (EVENTGROUP_RECEIVE_TRCBLOCK + 4UL) /*0x6C*/ +#define TRACE_MESSAGEBUFFER_RECEIVE_TRCFAILED (EVENTGROUP_RECEIVE_TRCFAILED + 4UL) /*0x54*/ +#define TRACE_MESSAGEBUFFER_SEND_FROM_ISR_TRCSUCCESS (EVENTGROUP_SEND_FROM_ISR_TRCSUCCESS + 4UL) /*0x34*/ +#define TRACE_MESSAGEBUFFER_SEND_FROM_ISR_TRCFAILED (EVENTGROUP_SEND_FROM_ISR_TRCFAILED + 4UL) /*0x5C*/ +#define TRACE_MESSAGEBUFFER_RECEIVE_FROM_ISR_TRCSUCCESS (EVENTGROUP_RECEIVE_FROM_ISR_TRCSUCCESS + 4UL) /*0x3C*/ +#define TRACE_MESSAGEBUFFER_RECEIVE_FROM_ISR_TRCFAILED (EVENTGROUP_RECEIVE_FROM_ISR_TRCFAILED + 4UL) /*0x64*/ + +#define TRACE_QUEUE_SEND_TO_FRONT_TRCSUCCESS (EVENTGROUP_SEND_TRCSUCCESS + 5UL) /*0x25*/ +#define TRACE_QUEUE_SEND_TO_FRONT_TRCBLOCK (EVENTGROUP_SEND_TRCBLOCK + 5UL) /*0x75*/ +#define TRACE_QUEUE_SEND_TO_FRONT_TRCFAILED (EVENTGROUP_SEND_TRCFAILED + 5UL) /*0x4D*/ +#define TRACE_QUEUE_SEND_TO_FRONT_FROM_ISR_TRCSUCCESS (EVENTGROUP_SEND_FROM_ISR_TRCSUCCESS + 5UL) /*0x35*/ +#define TRACE_QUEUE_SEND_TO_FRONT_FROM_ISR_TRCFAILED (EVENTGROUP_SEND_FROM_ISR_TRCFAILED + 5UL) /*0x5D*/ + +#define TRACE_UNUSED_STACK (EVENTGROUP_MALLOC_FAILED + 2UL) /*0xEA*/ + +/* LAST EVENT (0xEA) */ + +/**************************** +* MACROS TO GET TRACE CLASS * +****************************/ +#define TRACE_GET_TRACE_CLASS_FROM_TASK_CLASS(kernelClass) (TRACE_CLASS_TASK) +#define TRACE_GET_TRACE_CLASS_FROM_TASK_OBJECT(pxObject) (TRACE_CLASS_TASK) + +#define TRACE_GET_TRACE_CLASS_FROM_QUEUE_CLASS(kernelClass) TraceQueueClassTable[kernelClass] +#define TRACE_GET_TRACE_CLASS_FROM_QUEUE_OBJECT(pxObject) TRACE_GET_TRACE_CLASS_FROM_QUEUE_CLASS(prvTraceGetQueueType(pxObject)) + +#define TRACE_GET_TRACE_CLASS_FROM_TIMER_CLASS(kernelClass) (TRACE_CLASS_TIMER) +#define TRACE_GET_TRACE_CLASS_FROM_TIMER_OBJECT(pxObject) (TRACE_CLASS_TIMER) + +#define TRACE_GET_TRACE_CLASS_FROM_EVENTGROUP_CLASS(kernelClass) (TRACE_CLASS_EVENTGROUP) +#define TRACE_GET_TRACE_CLASS_FROM_EVENTGROUP_OBJECT(pxObject) (TRACE_CLASS_EVENTGROUP) + +/* TRACE_GET_TRACE_CLASS_FROM_STREAMBUFFER_CLASS can only be accessed with a parameter indicating if it is a MessageBuffer */ +#define TRACE_GET_TRACE_CLASS_FROM_STREAMBUFFER_CLASS(xIsMessageBuffer) (xIsMessageBuffer == 1 ? TRACE_CLASS_MESSAGEBUFFER : TRACE_CLASS_STREAMBUFFER) +#define TRACE_GET_TRACE_CLASS_FROM_STREAMBUFFER_OBJECT(pxObject) (prvGetStreamBufferType(pxObject) == 1 ? TRACE_CLASS_MESSAGEBUFFER : TRACE_CLASS_STREAMBUFFER) + +/* Generic versions */ +#define TRACE_GET_CLASS_TRACE_CLASS(CLASS, kernelClass) TRACE_GET_TRACE_CLASS_FROM_##CLASS##_CLASS(kernelClass) +#define TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject) TRACE_GET_TRACE_CLASS_FROM_##CLASS##_OBJECT(pxObject) + +/****************************** +* MACROS TO GET OBJECT NUMBER * +******************************/ +#define TRACE_GET_TASK_NUMBER(pxTCB) (traceHandle)(prvTraceGetTaskNumberLow16(pxTCB)) +#define TRACE_SET_TASK_NUMBER(pxTCB) prvTraceSetTaskNumberLow16(pxTCB, prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(TASK, pxTCB))); + +#define TRACE_GET_QUEUE_NUMBER(queue) ( ( traceHandle ) prvTraceGetQueueNumberLow16(queue) ) +#define TRACE_SET_QUEUE_NUMBER(queue) prvTraceSetQueueNumberLow16(queue, (uint16_t)prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, queue))); + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) +#define TRACE_GET_TIMER_NUMBER(tmr) ( ( traceHandle ) prvTraceGetTimerNumberLow16(tmr) ) +#define TRACE_SET_TIMER_NUMBER(tmr) prvTraceSetTimerNumberLow16(tmr, (uint16_t)prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(TIMER, tmr))); +#else /* (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) */ +#define TRACE_GET_TIMER_NUMBER(tmr) ( ( traceHandle ) ((Timer_t*)tmr)->uxTimerNumber ) +#define TRACE_SET_TIMER_NUMBER(tmr) ((Timer_t*)tmr)->uxTimerNumber = prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(TIMER, tmr)); +#endif /* (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) */ + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) +#define TRACE_GET_EVENTGROUP_NUMBER(eg) ( ( traceHandle ) prvTraceGetEventGroupNumberLow16(eg) ) +#define TRACE_SET_EVENTGROUP_NUMBER(eg) prvTraceSetEventGroupNumberLow16(eg, (uint16_t)prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(EVENTGROUP, eg))); +#else /* (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) */ +#define TRACE_GET_EVENTGROUP_NUMBER(eg) ( ( traceHandle ) uxEventGroupGetNumber(eg) ) +#define TRACE_SET_EVENTGROUP_NUMBER(eg) ((EventGroup_t*)eg)->uxEventGroupNumber = prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(EVENTGROUP, eg)); +#endif /* (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_0_0) */ + + +#define TRACE_GET_STREAMBUFFER_NUMBER(sb) ( ( traceHandle ) prvTraceGetStreamBufferNumberLow16(sb) ) +#define TRACE_SET_STREAMBUFFER_NUMBER(sb) prvTraceSetStreamBufferNumberLow16(sb, (uint16_t)prvTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(STREAMBUFFER, sb))); + +/* Generic versions */ +#define TRACE_GET_OBJECT_NUMBER(CLASS, pxObject) TRACE_GET_##CLASS##_NUMBER(pxObject) +#define TRACE_SET_OBJECT_NUMBER(CLASS, pxObject) TRACE_SET_##CLASS##_NUMBER(pxObject) + +/****************************** +* MACROS TO GET EVENT CODES * +******************************/ +#define TRACE_GET_TASK_CLASS_EVENT_CODE(SERVICE, RESULT, kernelClass) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_CLASS_TRACE_CLASS(TASK, kernelClass)) +#define TRACE_GET_QUEUE_CLASS_EVENT_CODE(SERVICE, RESULT, kernelClass) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_CLASS_TRACE_CLASS(QUEUE, kernelClass)) +#define TRACE_GET_TIMER_CLASS_EVENT_CODE(SERVICE, RESULT, kernelClass) -- THIS IS NOT USED -- +#define TRACE_GET_EVENTGROUP_CLASS_EVENT_CODE(SERVICE, RESULT, kernelClass) -- THIS IS NOT USED -- +#define TRACE_GET_STREAMBUFFER_CLASS_EVENT_CODE(SERVICE, RESULT, isMessageBuffer) (uint8_t)(TRACE_STREAMBUFFER_##SERVICE##_##RESULT + (uint8_t)isMessageBuffer) + +#define TRACE_GET_TASK_OBJECT_EVENT_CODE(SERVICE, RESULT, pxTCB) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_CLASS_TASK) +#define TRACE_GET_QUEUE_OBJECT_EVENT_CODE(SERVICE, RESULT, pxObject) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, pxObject)) +#define TRACE_GET_TIMER_OBJECT_EVENT_CODE(SERVICE, RESULT, UNUSED) -- THIS IS NOT USED -- +#define TRACE_GET_EVENTGROUP_OBJECT_EVENT_CODE(SERVICE, RESULT, UNUSED) -- THIS IS NOT USED -- +#define TRACE_GET_STREAMBUFFER_OBJECT_EVENT_CODE(SERVICE, RESULT, pxObject) (uint8_t)(TRACE_STREAMBUFFER_##SERVICE##_##RESULT + prvGetStreamBufferType(pxObject)) + +/* Generic versions */ +#define TRACE_GET_CLASS_EVENT_CODE(SERVICE, RESULT, CLASS, kernelClass) TRACE_GET_##CLASS##_CLASS_EVENT_CODE(SERVICE, RESULT, kernelClass) +#define TRACE_GET_OBJECT_EVENT_CODE(SERVICE, RESULT, CLASS, pxObject) TRACE_GET_##CLASS##_OBJECT_EVENT_CODE(SERVICE, RESULT, pxObject) + +/****************************** +* SPECIAL MACROS FOR TASKS * +******************************/ +#define TRACE_GET_TASK_PRIORITY(pxTCB) ((uint8_t)pxTCB->uxPriority) +#define TRACE_GET_TASK_NAME(pxTCB) ((char*)pxTCB->pcTaskName) + +/*** The trace macros for snapshot mode **************************************/ + +/* A macro that will update the tick count when returning from tickless idle */ +#undef traceINCREASE_TICK_COUNT +#define traceINCREASE_TICK_COUNT( xCount ) + +/* Called for each task that becomes ready */ +#undef traceMOVED_TASK_TO_READY_STATE +#define traceMOVED_TASK_TO_READY_STATE( pxTCB ) \ + trcKERNEL_HOOKS_MOVED_TASK_TO_READY_STATE(pxTCB); + +/* Called on each OS tick. Will call uiPortGetTimestamp to make sure it is called at least once every OS tick. */ +#undef traceTASK_INCREMENT_TICK + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_3_0) + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || xPendedTicks == 0) { trcKERNEL_HOOKS_INCREMENT_TICK(); } \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE) { trcKERNEL_HOOKS_NEW_TIME(DIV_NEW_TIME, xTickCount + 1); } + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_5_X) + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || uxPendedTicks == 0) { trcKERNEL_HOOKS_INCREMENT_TICK(); } \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE) { trcKERNEL_HOOKS_NEW_TIME(DIV_NEW_TIME, xTickCount + 1); } + +#else + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || uxMissedTicks == 0) { trcKERNEL_HOOKS_INCREMENT_TICK(); } \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE) { trcKERNEL_HOOKS_NEW_TIME(DIV_NEW_TIME, xTickCount + 1); } + +#endif + +extern volatile uint32_t uiTraceSystemState; + +/* Called on each task-switch */ +#undef traceTASK_SWITCHED_IN +#define traceTASK_SWITCHED_IN() \ + uiTraceSystemState = TRC_STATE_IN_TASKSWITCH; \ + trcKERNEL_HOOKS_TASK_SWITCH(TRACE_GET_CURRENT_TASK()); \ + uiTraceSystemState = TRC_STATE_IN_APPLICATION; + +/* Called on vTaskCreate */ +#undef traceTASK_CREATE +#define traceTASK_CREATE(pxNewTCB) \ + if (pxNewTCB != 0) \ + { \ + trcKERNEL_HOOKS_TASK_CREATE(TRACE_GET_OBJECT_EVENT_CODE(CREATE_OBJ, TRCSUCCESS, TASK, pxNewTCB), TASK, pxNewTCB); \ + prvAddTaskToStackMonitor(pxNewTCB); \ + } + +/* Called in vTaskCreate, if it fails (typically if the stack can not be allocated) */ +#undef traceTASK_CREATE_FAILED +#define traceTASK_CREATE_FAILED() \ + trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(TRACE_GET_CLASS_EVENT_CODE(CREATE_OBJ, TRCFAILED, TASK, NOT_USED), TRACE_GET_CLASS_TRACE_CLASS(TASK, NOT_USED)) + +/* Called on vTaskDelete */ +#undef traceTASK_DELETE +#define traceTASK_DELETE( pxTaskToDelete ) \ + { TRACE_ALLOC_CRITICAL_SECTION(); \ + TRACE_ENTER_CRITICAL_SECTION(); \ + trcKERNEL_HOOKS_TASK_DELETE(TRACE_GET_OBJECT_EVENT_CODE(DELETE_OBJ, TRCSUCCESS, TASK, pxTaskToDelete), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_NAME, TRCSUCCESS, TASK, pxTaskToDelete), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_PROP, TRCSUCCESS, TASK, pxTaskToDelete), pxTaskToDelete); \ + prvRemoveTaskFromStackMonitor(pxTaskToDelete); \ + TRACE_EXIT_CRITICAL_SECTION(); } + +#if (TRC_CFG_SCHEDULING_ONLY == 0) + +#if defined(configUSE_TICKLESS_IDLE) && (configUSE_TICKLESS_IDLE != 0) + +#undef traceLOW_POWER_IDLE_BEGIN +#define traceLOW_POWER_IDLE_BEGIN() \ + { \ + extern uint32_t trace_disable_timestamp; \ + prvTraceStoreLowPower(0); \ + trace_disable_timestamp = 1; \ + } + +#undef traceLOW_POWER_IDLE_END +#define traceLOW_POWER_IDLE_END() \ + { \ + extern uint32_t trace_disable_timestamp; \ + trace_disable_timestamp = 0; \ + prvTraceStoreLowPower(1); \ + } + +#endif + +/* Called on vTaskSuspend */ +#undef traceTASK_SUSPEND +#define traceTASK_SUSPEND( pxTaskToSuspend ) \ + trcKERNEL_HOOKS_TASK_SUSPEND(TASK_SUSPEND, pxTaskToSuspend); + +/* Called from special case with timer only */ +#undef traceTASK_DELAY_SUSPEND +#define traceTASK_DELAY_SUSPEND( pxTaskToSuspend ) \ + trcKERNEL_HOOKS_TASK_SUSPEND(TASK_SUSPEND, pxTaskToSuspend); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +/* Called on vTaskDelay - note the use of FreeRTOS variable xTicksToDelay */ +#undef traceTASK_DELAY +#define traceTASK_DELAY() \ + trcKERNEL_HOOKS_TASK_DELAY(TASK_DELAY, pxCurrentTCB, xTicksToDelay); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +/* Called on vTaskDelayUntil - note the use of FreeRTOS variable xTimeToWake */ +#undef traceTASK_DELAY_UNTIL +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0) + +#define traceTASK_DELAY_UNTIL(xTimeToWake) \ + trcKERNEL_HOOKS_TASK_DELAY(TASK_DELAY_UNTIL, pxCurrentTCB, xTimeToWake); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); +#else + +#define traceTASK_DELAY_UNTIL() \ + trcKERNEL_HOOKS_TASK_DELAY(TASK_DELAY_UNTIL, pxCurrentTCB, xTimeToWake); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#endif + +/* Called in xQueueCreate, and thereby for all other object based on queues, such as semaphores. */ +#undef traceQUEUE_CREATE +#define traceQUEUE_CREATE( pxNewQueue ) \ + trcKERNEL_HOOKS_OBJECT_CREATE(TRACE_GET_OBJECT_EVENT_CODE(CREATE_OBJ, TRCSUCCESS, QUEUE, pxNewQueue), QUEUE, pxNewQueue); + +/* Called in xQueueCreate, if the queue creation fails */ +#undef traceQUEUE_CREATE_FAILED +#define traceQUEUE_CREATE_FAILED( queueType ) \ + trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(TRACE_GET_CLASS_EVENT_CODE(CREATE_OBJ, TRCFAILED, QUEUE, queueType), TRACE_GET_CLASS_TRACE_CLASS(QUEUE, queueType)) + +/* Called on vQueueDelete */ +#undef traceQUEUE_DELETE +#define traceQUEUE_DELETE( pxQueue ) \ + { TRACE_ALLOC_CRITICAL_SECTION(); \ + TRACE_ENTER_CRITICAL_SECTION(); \ + trcKERNEL_HOOKS_OBJECT_DELETE(TRACE_GET_OBJECT_EVENT_CODE(DELETE_OBJ, TRCSUCCESS, QUEUE, pxQueue), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_NAME, TRCSUCCESS, QUEUE, pxQueue), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_PROP, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); \ + TRACE_EXIT_CRITICAL_SECTION(); } + +/* This macro is not necessary as of FreeRTOS v9.0.0 */ +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_9_0_0) + +/* Called in xQueueCreateMutex, and thereby also from xSemaphoreCreateMutex and xSemaphoreCreateRecursiveMutex */ +#undef traceCREATE_MUTEX +#define traceCREATE_MUTEX( pxNewQueue ) \ + trcKERNEL_HOOKS_OBJECT_CREATE(TRACE_GET_OBJECT_EVENT_CODE(CREATE_OBJ, TRCSUCCESS, QUEUE, pxNewQueue), QUEUE, pxNewQueue); + +/* Called in xQueueCreateMutex when the operation fails (when memory allocation fails) */ +#undef traceCREATE_MUTEX_FAILED +#define traceCREATE_MUTEX_FAILED() \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_NUMERIC_PARAM_ONLY(TRACE_GET_CLASS_EVENT_CODE(CREATE_OBJ, TRCFAILED, QUEUE, queueQUEUE_TYPE_MUTEX), 0); + +#endif + +/* Called when the Mutex can not be given, since not holder */ +#undef traceGIVE_MUTEX_RECURSIVE_FAILED +#define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCFAILED, QUEUE, pxMutex), QUEUE, pxMutex); + +/* Called when a message is sent to a queue */ /* CS IS NEW ! */ +#undef traceQUEUE_SEND +#define traceQUEUE_SEND( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(xCopyPosition == queueSEND_TO_BACK ? (TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCSUCCESS, QUEUE, pxQueue)) : TRACE_QUEUE_SEND_TO_FRONT_TRCSUCCESS, QUEUE, pxQueue); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(QUEUE, pxQueue, TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, pxQueue) == TRACE_CLASS_MUTEX ? (uint8_t)0 : (uint8_t)(pxQueue->uxMessagesWaiting + 1)); + +/* Called when a message is sent to a queue set */ +#undef traceQUEUE_SET_SEND +#define traceQUEUE_SET_SEND( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(QUEUE, pxQueue, (uint8_t)(pxQueue->uxMessagesWaiting + 1)); + +/* Called when a message failed to be sent to a queue (timeout) */ +#undef traceQUEUE_SEND_FAILED +#define traceQUEUE_SEND_FAILED( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(xCopyPosition == queueSEND_TO_BACK ? (TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCFAILED, QUEUE, pxQueue)) : TRACE_QUEUE_SEND_TO_FRONT_TRCFAILED, QUEUE, pxQueue); + +/* Called when the task is blocked due to a send operation on a full queue */ +#undef traceBLOCKING_ON_QUEUE_SEND +#define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(xCopyPosition == queueSEND_TO_BACK ? (TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCBLOCK, QUEUE, pxQueue)) : TRACE_QUEUE_SEND_TO_FRONT_TRCBLOCK, QUEUE, pxQueue); + +/* Called when a message is received from a queue */ +#undef traceQUEUE_RECEIVE +#define traceQUEUE_RECEIVE( pxQueue ) \ + if (isQueueReceiveHookActuallyPeek) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); \ + } \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(QUEUE, pxQueue, TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, pxQueue) == TRACE_CLASS_MUTEX ? (uint8_t)TRACE_GET_TASK_NUMBER(TRACE_GET_CURRENT_TASK()) : (uint8_t)(pxQueue->uxMessagesWaiting - 1)); + +/* Called when a receive operation on a queue fails (timeout) */ +#undef traceQUEUE_RECEIVE_FAILED +#define traceQUEUE_RECEIVE_FAILED( pxQueue ) \ + if (isQueueReceiveHookActuallyPeek) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCFAILED, QUEUE, pxQueue), QUEUE, pxQueue); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCFAILED, QUEUE, pxQueue), QUEUE, pxQueue); \ + } + +/* Called when the task is blocked due to a receive operation on an empty queue */ +#undef traceBLOCKING_ON_QUEUE_RECEIVE +#define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) \ + if (isQueueReceiveHookActuallyPeek) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCBLOCK, QUEUE, pxQueue), QUEUE, pxQueue); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCBLOCK, QUEUE, pxQueue), QUEUE, pxQueue); \ + } \ + if (TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, pxQueue) != TRACE_CLASS_MUTEX) \ + { \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); \ + } + +/* Called on xQueuePeek */ +#undef traceQUEUE_PEEK +#define traceQUEUE_PEEK( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); + +/* Called on xQueuePeek fail/timeout (added in FreeRTOS v9.0.2) */ +#undef traceQUEUE_PEEK_FAILED +#define traceQUEUE_PEEK_FAILED( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCFAILED, QUEUE, pxQueue), QUEUE, pxQueue); + +/* Called on xQueuePeek blocking (added in FreeRTOS v9.0.2) */ +#undef traceBLOCKING_ON_QUEUE_PEEK +#define traceBLOCKING_ON_QUEUE_PEEK( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(PEEK, TRCBLOCK, QUEUE, pxQueue), QUEUE, pxQueue); \ + if (TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, pxQueue) != TRACE_CLASS_MUTEX) \ + { \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); \ + } + +/* Called when a message is sent from interrupt context, e.g., using xQueueSendFromISR */ +#undef traceQUEUE_SEND_FROM_ISR +#define traceQUEUE_SEND_FROM_ISR( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(xCopyPosition == queueSEND_TO_BACK ? (TRACE_GET_OBJECT_EVENT_CODE(SEND_FROM_ISR, TRCSUCCESS, QUEUE, pxQueue)) : TRACE_QUEUE_SEND_TO_FRONT_FROM_ISR_TRCSUCCESS, QUEUE, pxQueue); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(QUEUE, pxQueue, (uint8_t)(pxQueue->uxMessagesWaiting + 1)); + +/* Called when a message send from interrupt context fails (since the queue was full) */ +#undef traceQUEUE_SEND_FROM_ISR_FAILED +#define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(xCopyPosition == queueSEND_TO_BACK ? (TRACE_GET_OBJECT_EVENT_CODE(SEND_FROM_ISR, TRCFAILED, QUEUE, pxQueue)) : TRACE_QUEUE_SEND_TO_FRONT_FROM_ISR_TRCFAILED, QUEUE, pxQueue); + +/* Called when a message is received in interrupt context, e.g., using xQueueReceiveFromISR */ +#undef traceQUEUE_RECEIVE_FROM_ISR +#define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE_FROM_ISR, TRCSUCCESS, QUEUE, pxQueue), QUEUE, pxQueue); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(QUEUE, pxQueue, (uint8_t)(pxQueue->uxMessagesWaiting - 1)); + +/* Called when a message receive from interrupt context fails (since the queue was empty) */ +#undef traceQUEUE_RECEIVE_FROM_ISR_FAILED +#define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE_FROM_ISR, TRCFAILED, QUEUE, pxQueue), QUEUE, pxQueue); + +#undef traceQUEUE_REGISTRY_ADD +#define traceQUEUE_REGISTRY_ADD(object, name) prvTraceSetObjectName(TRACE_GET_OBJECT_TRACE_CLASS(QUEUE, object), TRACE_GET_OBJECT_NUMBER(QUEUE, object), name); + +/* Called in vTaskPrioritySet */ +#undef traceTASK_PRIORITY_SET +#define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) \ + trcKERNEL_HOOKS_TASK_PRIORITY_CHANGE(TASK_PRIORITY_SET, pxTask, uxNewPriority); + +/* Called in vTaskPriorityInherit, which is called by Mutex operations */ +#undef traceTASK_PRIORITY_INHERIT +#define traceTASK_PRIORITY_INHERIT( pxTask, uxNewPriority ) \ + trcKERNEL_HOOKS_TASK_PRIORITY_CHANGE(TASK_PRIORITY_INHERIT, pxTask, uxNewPriority); + +/* Called in vTaskPriorityDisinherit, which is called by Mutex operations */ +#undef traceTASK_PRIORITY_DISINHERIT +#define traceTASK_PRIORITY_DISINHERIT( pxTask, uxNewPriority ) \ + trcKERNEL_HOOKS_TASK_PRIORITY_CHANGE(TASK_PRIORITY_DISINHERIT, pxTask, uxNewPriority); + +/* Called in vTaskResume */ +#undef traceTASK_RESUME +#define traceTASK_RESUME( pxTaskToResume ) \ + trcKERNEL_HOOKS_TASK_RESUME(TASK_RESUME, pxTaskToResume); + +/* Called in vTaskResumeFromISR */ +#undef traceTASK_RESUME_FROM_ISR +#define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) \ + trcKERNEL_HOOKS_TASK_RESUME_FROM_ISR(TASK_RESUME_FROM_ISR, pxTaskToResume); + + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +#if (TRC_CFG_INCLUDE_MEMMANG_EVENTS == 1) + +extern void vTraceStoreMemMangEvent(uint32_t ecode, uint32_t address, int32_t size); + +/* MALLOC and FREE are always stored, no matter if they happen inside filtered task */ +#undef traceMALLOC +#define traceMALLOC( pvAddress, uiSize ) \ + if (pvAddress != 0) \ + { \ + vTraceStoreMemMangEvent(MEM_MALLOC_SIZE, ( uint32_t ) pvAddress, (int32_t)uiSize); \ + } \ + else \ + { \ + vTraceStoreMemMangEvent(MEM_MALLOC_SIZE_TRCFAILED, ( uint32_t ) pvAddress, (int32_t)uiSize); \ + } + +#undef traceFREE +#define traceFREE( pvAddress, uiSize ) \ + vTraceStoreMemMangEvent(MEM_FREE_SIZE, ( uint32_t ) pvAddress, -((int32_t)uiSize)); + +#endif + +#if (TRC_CFG_INCLUDE_TIMER_EVENTS == 1) + +/* Called in timer.c - xTimerCreate */ +#undef traceTIMER_CREATE +#define traceTIMER_CREATE(tmr) \ + trcKERNEL_HOOKS_OBJECT_CREATE(TIMER_CREATE, TIMER, tmr); + +#undef traceTIMER_CREATE_FAILED +#define traceTIMER_CREATE_FAILED() \ + trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(TIMER_CREATE_TRCFAILED, TRACE_GET_CLASS_TRACE_CLASS(TIMER, NOT_USED)) + +/* Note that xCommandID can never be tmrCOMMAND_EXECUTE_CALLBACK (-1) since the trace macro is not called in that case */ +#undef traceTIMER_COMMAND_SEND +#define traceTIMER_COMMAND_SEND(tmr, xCommandID, xOptionalValue, xReturn) \ + if (xCommandID > tmrCOMMAND_START_DONT_TRACE) \ + { \ + if (xCommandID == tmrCOMMAND_CHANGE_PERIOD) \ + { \ + if (xReturn == pdPASS) { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TIMER_CHANGE_PERIOD, TIMER, tmr, xOptionalValue); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TIMER_CHANGE_PERIOD_TRCFAILED, TIMER, tmr, xOptionalValue); \ + } \ + } \ + else if ((xCommandID == tmrCOMMAND_DELETE) && (xReturn == pdPASS)) \ + { \ + trcKERNEL_HOOKS_OBJECT_DELETE(TIMER_DELETE_OBJ, EVENTGROUP_OBJCLOSE_NAME_TRCSUCCESS + TRACE_GET_OBJECT_TRACE_CLASS(TIMER, tmr), EVENTGROUP_OBJCLOSE_PROP_TRCSUCCESS + TRACE_GET_OBJECT_TRACE_CLASS(TIMER, tmr), TIMER, tmr); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENTGROUP_TIMER + (uint32_t)xCommandID + ((xReturn == pdPASS) ? 0 : (TIMER_CREATE_TRCFAILED - TIMER_CREATE)), TIMER, tmr, xOptionalValue); \ + }\ + } + +#undef traceTIMER_EXPIRED +#define traceTIMER_EXPIRED(tmr) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TIMER_EXPIRED, TIMER, tmr); + +#endif + +#if (TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS == 1) + +#undef tracePEND_FUNC_CALL +#define tracePEND_FUNC_CALL(func, arg1, arg2, ret) \ + if (ret == pdPASS){ \ + trcKERNEL_HOOKS_KERNEL_SERVICE(PEND_FUNC_CALL, TASK, xTimerGetTimerDaemonTaskHandle() ); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE(PEND_FUNC_CALL_TRCFAILED, TASK, xTimerGetTimerDaemonTaskHandle() ); \ + } + +#undef tracePEND_FUNC_CALL_FROM_ISR +#define tracePEND_FUNC_CALL_FROM_ISR(func, arg1, arg2, ret) \ + if (! uiInEventGroupSetBitsFromISR) \ + prvTraceStoreKernelCall(PEND_FUNC_CALL_FROM_ISR, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTimerGetTimerDaemonTaskHandle()) ); \ + uiInEventGroupSetBitsFromISR = 0; + +#endif + +#endif + +#if (TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS == 1) + +#undef traceEVENT_GROUP_CREATE +#define traceEVENT_GROUP_CREATE(eg) \ + trcKERNEL_HOOKS_OBJECT_CREATE(EVENT_GROUP_CREATE, EVENTGROUP, eg) + +#undef traceEVENT_GROUP_CREATE_FAILED +#define traceEVENT_GROUP_CREATE_FAILED() \ + trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(EVENT_GROUP_CREATE_TRCFAILED, TRACE_GET_CLASS_TRACE_CLASS(EVENTGROUP, NOT_USED)) + +#undef traceEVENT_GROUP_DELETE +#define traceEVENT_GROUP_DELETE(eg) \ + { TRACE_ALLOC_CRITICAL_SECTION(); \ + TRACE_ENTER_CRITICAL_SECTION(); \ + trcKERNEL_HOOKS_OBJECT_DELETE(EVENT_GROUP_DELETE_OBJ, EVENTGROUP_OBJCLOSE_NAME_TRCSUCCESS + TRACE_GET_OBJECT_TRACE_CLASS(EVENTGROUP, eg), EVENTGROUP_OBJCLOSE_NAME_TRCSUCCESS + TRACE_GET_OBJECT_TRACE_CLASS(EVENTGROUP, eg), EVENTGROUP, eg); \ + TRACE_EXIT_CRITICAL_SECTION(); } + +#undef traceEVENT_GROUP_SYNC_BLOCK +#define traceEVENT_GROUP_SYNC_BLOCK(eg, bitsToSet, bitsToWaitFor) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_SYNC_TRCBLOCK, EVENTGROUP, eg, bitsToWaitFor); + +#undef traceEVENT_GROUP_SYNC_END +#define traceEVENT_GROUP_SYNC_END(eg, bitsToSet, bitsToWaitFor, wasTimeout) \ + if (wasTimeout) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_SYNC_END_TRCFAILED, EVENTGROUP, eg, bitsToWaitFor); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_SYNC_END, EVENTGROUP, eg, bitsToWaitFor); \ + } + +#undef traceEVENT_GROUP_WAIT_BITS_BLOCK +#define traceEVENT_GROUP_WAIT_BITS_BLOCK(eg, bitsToWaitFor) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_WAIT_BITS_TRCBLOCK, EVENTGROUP, eg, bitsToWaitFor); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#undef traceEVENT_GROUP_WAIT_BITS_END +#define traceEVENT_GROUP_WAIT_BITS_END(eg, bitsToWaitFor, wasTimeout) \ + if (wasTimeout) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_WAIT_BITS_END_TRCFAILED, EVENTGROUP, eg, bitsToWaitFor); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_WAIT_BITS_END, EVENTGROUP, eg, bitsToWaitFor); \ + } + +#undef traceEVENT_GROUP_CLEAR_BITS +#define traceEVENT_GROUP_CLEAR_BITS(eg, bitsToClear) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_CLEAR_BITS, EVENTGROUP, eg, bitsToClear); + +#undef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR +#define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR(eg, bitsToClear) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM_FROM_ISR(EVENT_GROUP_CLEAR_BITS_FROM_ISR, EVENTGROUP, eg, bitsToClear); + +#undef traceEVENT_GROUP_SET_BITS +#define traceEVENT_GROUP_SET_BITS(eg, bitsToSet) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(EVENT_GROUP_SET_BITS, EVENTGROUP, eg, bitsToSet); + +#undef traceEVENT_GROUP_SET_BITS_FROM_ISR +#define traceEVENT_GROUP_SET_BITS_FROM_ISR(eg, bitsToSet) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM_FROM_ISR(EVENT_GROUP_SET_BITS_FROM_ISR, EVENTGROUP, eg, bitsToSet); \ + uiInEventGroupSetBitsFromISR = 1; + +#endif + +#undef traceTASK_NOTIFY_TAKE +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_9_0_0) + +#define traceTASK_NOTIFY_TAKE() \ + if (pxCurrentTCB->eNotifyState == eNotified){ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE, TASK, pxCurrentTCB, xTicksToWait); \ + } \ + else{ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE_TRCFAILED, TASK, pxCurrentTCB, xTicksToWait); \ + } + +#elif (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_TAKE() \ + if (pxCurrentTCB->ucNotifyState == taskNOTIFICATION_RECEIVED){ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE, TASK, pxCurrentTCB, xTicksToWait); \ + }else{ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE_TRCFAILED, TASK, pxCurrentTCB, xTicksToWait);} + +#else + +#define traceTASK_NOTIFY_TAKE(index) \ + if (pxCurrentTCB->ucNotifyState[index] == taskNOTIFICATION_RECEIVED){ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE, TASK, pxCurrentTCB, xTicksToWait); \ + }else{ \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE_TRCFAILED, TASK, pxCurrentTCB, xTicksToWait);} + +#endif + +#undef traceTASK_NOTIFY_TAKE_BLOCK +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_TAKE_BLOCK() \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE_TRCBLOCK, TASK, pxCurrentTCB, xTicksToWait); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#else + +#define traceTASK_NOTIFY_TAKE_BLOCK(index) \ + trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(TRACE_TASK_NOTIFY_TAKE_TRCBLOCK, TASK, pxCurrentTCB, xTicksToWait); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#endif + +#undef traceTASK_NOTIFY_WAIT +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_9_0_0) + +#define traceTASK_NOTIFY_WAIT() \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxCurrentTCB) & CurrentFilterMask) \ + { \ + if (pxCurrentTCB->eNotifyState == eNotified) \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + else \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT_TRCFAILED, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + } + +#elif (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_WAIT() \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxCurrentTCB) & CurrentFilterMask) \ + { \ + if (pxCurrentTCB->ucNotifyState == taskNOTIFICATION_RECEIVED) \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + else \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT_TRCFAILED, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + } + +#else + +#define traceTASK_NOTIFY_WAIT(index) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxCurrentTCB) & CurrentFilterMask) \ + { \ + if (pxCurrentTCB->ucNotifyState[index] == taskNOTIFICATION_RECEIVED) \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + else \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT_TRCFAILED, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + } + +#endif + +#undef traceTASK_NOTIFY_WAIT_BLOCK +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_WAIT_BLOCK() \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxCurrentTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT_TRCBLOCK, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#else + +#define traceTASK_NOTIFY_WAIT_BLOCK(index) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxCurrentTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithParam(TRACE_TASK_NOTIFY_WAIT_TRCBLOCK, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxCurrentTCB), xTicksToWait); \ + trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED(); + +#endif + +#undef traceTASK_NOTIFY +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY() \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#else + +#define traceTASK_NOTIFY(index) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#endif + +#undef traceTASK_NOTIFY_FROM_ISR +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_FROM_ISR() \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY_FROM_ISR, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#else + +#define traceTASK_NOTIFY_FROM_ISR(index) \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY_FROM_ISR, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#endif + +#undef traceTASK_NOTIFY_GIVE_FROM_ISR +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_GIVE_FROM_ISR() \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY_GIVE_FROM_ISR, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#else + +#define traceTASK_NOTIFY_GIVE_FROM_ISR(index) \ + if (TRACE_GET_OBJECT_FILTER(TASK, xTaskToNotify) & CurrentFilterMask) \ + prvTraceStoreKernelCall(TRACE_TASK_NOTIFY_GIVE_FROM_ISR, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(xTaskToNotify)); + +#endif + +#if (TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS == 1) + +#undef traceSTREAM_BUFFER_CREATE +#define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer ) \ + trcKERNEL_HOOKS_OBJECT_CREATE(TRACE_GET_OBJECT_EVENT_CODE(CREATE_OBJ, TRCSUCCESS, STREAMBUFFER, pxStreamBuffer), STREAMBUFFER, pxStreamBuffer); + +#undef traceSTREAM_BUFFER_CREATE_FAILED +#define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) \ + trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(TRACE_GET_CLASS_EVENT_CODE(CREATE_OBJ, TRCFAILED, STREAMBUFFER, xIsMessageBuffer), TRACE_GET_CLASS_TRACE_CLASS(STREAMBUFFER, xIsMessageBuffer)) + +#undef traceSTREAM_BUFFER_CREATE_STATIC_FAILED +#define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer ) \ + traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) + +#undef traceSTREAM_BUFFER_DELETE +#define traceSTREAM_BUFFER_DELETE( xStreamBuffer ) \ + trcKERNEL_HOOKS_OBJECT_DELETE(TRACE_GET_OBJECT_EVENT_CODE(DELETE_OBJ, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_NAME, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), TRACE_GET_OBJECT_EVENT_CODE(OBJCLOSE_PROP, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); + +#undef traceSTREAM_BUFFER_RESET +#define traceSTREAM_BUFFER_RESET( xStreamBuffer ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(prvGetStreamBufferType(xStreamBuffer) > 0 ? TRACE_MESSAGEBUFFER_RESET : TRACE_STREAMBUFFER_RESET, STREAMBUFFER, xStreamBuffer); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(STREAMBUFFER, xStreamBuffer, 0); + +#undef traceSTREAM_BUFFER_SEND +#define traceSTREAM_BUFFER_SEND( xStreamBuffer, xReturn ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(STREAMBUFFER, xStreamBuffer, prvBytesInBuffer(xStreamBuffer)); + +#undef traceBLOCKING_ON_STREAM_BUFFER_SEND +#define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCBLOCK, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); + +#undef traceSTREAM_BUFFER_SEND_FAILED +#define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(SEND, TRCFAILED, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); + +#undef traceSTREAM_BUFFER_RECEIVE +#define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(STREAMBUFFER, xStreamBuffer, prvBytesInBuffer(xStreamBuffer)); + + +#undef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE +#define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCBLOCK, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); + +#undef traceSTREAM_BUFFER_RECEIVE_FAILED +#define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer ) \ + trcKERNEL_HOOKS_KERNEL_SERVICE(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE, TRCFAILED, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); + +#undef traceSTREAM_BUFFER_SEND_FROM_ISR +#define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xReturn ) \ + if( xReturn > ( size_t ) 0 ) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(SEND_FROM_ISR, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(STREAMBUFFER, xStreamBuffer, prvBytesInBuffer(xStreamBuffer)); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(SEND_FROM_ISR, TRCFAILED, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + } + +#undef traceSTREAM_BUFFER_RECEIVE_FROM_ISR +#define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength ) \ + if( xReceivedLength > ( size_t ) 0 ) \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE_FROM_ISR, TRCSUCCESS, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + trcKERNEL_HOOKS_SET_OBJECT_STATE(STREAMBUFFER, xStreamBuffer, prvBytesInBuffer(xStreamBuffer)); \ + } \ + else \ + { \ + trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(TRACE_GET_OBJECT_EVENT_CODE(RECEIVE_FROM_ISR, TRCFAILED, STREAMBUFFER, xStreamBuffer), STREAMBUFFER, xStreamBuffer); \ + } + +#endif + +#endif + +#endif + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +TraceHeapHandle_t xTraceKernelPortGetSystemHeapHandle(void); + +/*************************************************************************/ +/* KERNEL SPECIFIC OBJECT CONFIGURATION */ +/*************************************************************************/ + +/******************************************************************************* + * The event codes - should match the offline config file. + ******************************************************************************/ + +/*** Event codes for streaming - should match the Tracealyzer config file *****/ +#define PSF_EVENT_NULL_EVENT 0x00 + +#define PSF_EVENT_TRACE_START 0x01 +#define PSF_EVENT_TS_CONFIG 0x02 +#define PSF_EVENT_OBJ_NAME 0x03 +#define PSF_EVENT_TASK_PRIORITY 0x04 +#define PSF_EVENT_TASK_PRIO_INHERIT 0x05 +#define PSF_EVENT_TASK_PRIO_DISINHERIT 0x06 +#define PSF_EVENT_DEFINE_ISR 0x07 + +#define PSF_EVENT_TASK_CREATE 0x10 +#define PSF_EVENT_QUEUE_CREATE 0x11 +#define PSF_EVENT_SEMAPHORE_BINARY_CREATE 0x12 +#define PSF_EVENT_MUTEX_CREATE 0x13 +#define PSF_EVENT_TIMER_CREATE 0x14 +#define PSF_EVENT_EVENTGROUP_CREATE 0x15 +#define PSF_EVENT_SEMAPHORE_COUNTING_CREATE 0x16 +#define PSF_EVENT_MUTEX_RECURSIVE_CREATE 0x17 +#define PSF_EVENT_STREAMBUFFER_CREATE 0x18 +#define PSF_EVENT_MESSAGEBUFFER_CREATE 0x19 + +#define PSF_EVENT_TASK_DELETE 0x20 +#define PSF_EVENT_QUEUE_DELETE 0x21 +#define PSF_EVENT_SEMAPHORE_DELETE 0x22 +#define PSF_EVENT_MUTEX_DELETE 0x23 +#define PSF_EVENT_TIMER_DELETE 0x24 +#define PSF_EVENT_EVENTGROUP_DELETE 0x25 +#define PSF_EVENT_STREAMBUFFER_DELETE 0x28 +#define PSF_EVENT_MESSAGEBUFFER_DELETE 0x29 + +#define PSF_EVENT_TASK_READY 0x30 +#define PSF_EVENT_NEW_TIME 0x31 +#define PSF_EVENT_NEW_TIME_SCHEDULER_SUSPENDED 0x32 +#define PSF_EVENT_ISR_BEGIN 0x33 +#define PSF_EVENT_ISR_RESUME 0x34 +#define PSF_EVENT_TS_BEGIN 0x35 +#define PSF_EVENT_TS_RESUME 0x36 +#define PSF_EVENT_TASK_ACTIVATE 0x37 + +#define PSF_EVENT_MALLOC 0x38 +#define PSF_EVENT_FREE 0x39 + +#define PSF_EVENT_LOWPOWER_BEGIN 0x3A +#define PSF_EVENT_LOWPOWER_END 0x3B + +#define PSF_EVENT_IFE_NEXT 0x3C +#define PSF_EVENT_IFE_DIRECT 0x3D + +#define PSF_EVENT_TASK_CREATE_FAILED 0x40 +#define PSF_EVENT_QUEUE_CREATE_FAILED 0x41 +#define PSF_EVENT_SEMAPHORE_BINARY_CREATE_FAILED 0x42 +#define PSF_EVENT_MUTEX_CREATE_FAILED 0x43 +#define PSF_EVENT_TIMER_CREATE_FAILED 0x44 +#define PSF_EVENT_EVENTGROUP_CREATE_FAILED 0x45 +#define PSF_EVENT_SEMAPHORE_COUNTING_CREATE_FAILED 0x46 +#define PSF_EVENT_MUTEX_RECURSIVE_CREATE_FAILED 0x47 +#define PSF_EVENT_STREAMBUFFER_CREATE_FAILED 0x49 +#define PSF_EVENT_MESSAGEBUFFER_CREATE_FAILED 0x4A + +#define PSF_EVENT_TIMER_DELETE_FAILED 0x48 + +#define PSF_EVENT_QUEUE_SEND 0x50 +#define PSF_EVENT_SEMAPHORE_GIVE 0x51 +#define PSF_EVENT_MUTEX_GIVE 0x52 + +#define PSF_EVENT_QUEUE_SEND_FAILED 0x53 +#define PSF_EVENT_SEMAPHORE_GIVE_FAILED 0x54 +#define PSF_EVENT_MUTEX_GIVE_FAILED 0x55 + +#define PSF_EVENT_QUEUE_SEND_BLOCK 0x56 +#define PSF_EVENT_SEMAPHORE_GIVE_BLOCK 0x57 +#define PSF_EVENT_MUTEX_GIVE_BLOCK 0x58 + +#define PSF_EVENT_QUEUE_SEND_FROMISR 0x59 +#define PSF_EVENT_SEMAPHORE_GIVE_FROMISR 0x5A + +#define PSF_EVENT_QUEUE_SEND_FROMISR_FAILED 0x5C +#define PSF_EVENT_SEMAPHORE_GIVE_FROMISR_FAILED 0x5D + +#define PSF_EVENT_QUEUE_RECEIVE 0x60 +#define PSF_EVENT_SEMAPHORE_TAKE 0x61 +#define PSF_EVENT_MUTEX_TAKE 0x62 + +#define PSF_EVENT_QUEUE_RECEIVE_FAILED 0x63 +#define PSF_EVENT_SEMAPHORE_TAKE_FAILED 0x64 +#define PSF_EVENT_MUTEX_TAKE_FAILED 0x65 + +#define PSF_EVENT_QUEUE_RECEIVE_BLOCK 0x66 +#define PSF_EVENT_SEMAPHORE_TAKE_BLOCK 0x67 +#define PSF_EVENT_MUTEX_TAKE_BLOCK 0x68 + +#define PSF_EVENT_QUEUE_RECEIVE_FROMISR 0x69 +#define PSF_EVENT_SEMAPHORE_TAKE_FROMISR 0x6A + +#define PSF_EVENT_QUEUE_RECEIVE_FROMISR_FAILED 0x6C +#define PSF_EVENT_SEMAPHORE_TAKE_FROMISR_FAILED 0x6D + +#define PSF_EVENT_QUEUE_PEEK 0x70 +#define PSF_EVENT_SEMAPHORE_PEEK 0x71 +#define PSF_EVENT_MUTEX_PEEK 0x72 + +#define PSF_EVENT_QUEUE_PEEK_FAILED 0x73 +#define PSF_EVENT_SEMAPHORE_PEEK_FAILED 0x74 +#define PSF_EVENT_MUTEX_PEEK_FAILED 0x75 + +#define PSF_EVENT_QUEUE_PEEK_BLOCK 0x76 +#define PSF_EVENT_SEMAPHORE_PEEK_BLOCK 0x77 +#define PSF_EVENT_MUTEX_PEEK_BLOCK 0x78 + +#define PSF_EVENT_TASK_DELAY_UNTIL 0x79 +#define PSF_EVENT_TASK_DELAY 0x7A +#define PSF_EVENT_TASK_SUSPEND 0x7B +#define PSF_EVENT_TASK_RESUME 0x7C +#define PSF_EVENT_TASK_RESUME_FROMISR 0x7D + +#define PSF_EVENT_TIMER_PENDFUNCCALL 0x80 +#define PSF_EVENT_TIMER_PENDFUNCCALL_FROMISR 0x81 +#define PSF_EVENT_TIMER_PENDFUNCCALL_FAILED 0x82 +#define PSF_EVENT_TIMER_PENDFUNCCALL_FROMISR_FAILED 0x83 + +#define PSF_EVENT_USER_EVENT 0x90 + +#define PSF_EVENT_TIMER_START 0xA0 +#define PSF_EVENT_TIMER_RESET 0xA1 +#define PSF_EVENT_TIMER_STOP 0xA2 +#define PSF_EVENT_TIMER_CHANGEPERIOD 0xA3 +#define PSF_EVENT_TIMER_START_FROMISR 0xA4 +#define PSF_EVENT_TIMER_RESET_FROMISR 0xA5 +#define PSF_EVENT_TIMER_STOP_FROMISR 0xA6 +#define PSF_EVENT_TIMER_CHANGEPERIOD_FROMISR 0xA7 +#define PSF_EVENT_TIMER_START_FAILED 0xA8 +#define PSF_EVENT_TIMER_RESET_FAILED 0xA9 +#define PSF_EVENT_TIMER_STOP_FAILED 0xAA +#define PSF_EVENT_TIMER_CHANGEPERIOD_FAILED 0xAB +#define PSF_EVENT_TIMER_START_FROMISR_FAILED 0xAC +#define PSF_EVENT_TIMER_RESET_FROMISR_FAILED 0xAD +#define PSF_EVENT_TIMER_STOP_FROMISR_FAILED 0xAE +#define PSF_EVENT_TIMER_CHANGEPERIOD_FROMISR_FAILED 0xAF + +#define PSF_EVENT_EVENTGROUP_SYNC 0xB0 +#define PSF_EVENT_EVENTGROUP_WAITBITS 0xB1 +#define PSF_EVENT_EVENTGROUP_CLEARBITS 0xB2 +#define PSF_EVENT_EVENTGROUP_CLEARBITS_FROMISR 0xB3 +#define PSF_EVENT_EVENTGROUP_SETBITS 0xB4 +#define PSF_EVENT_EVENTGROUP_SETBITS_FROMISR 0xB5 +#define PSF_EVENT_EVENTGROUP_SYNC_BLOCK 0xB6 +#define PSF_EVENT_EVENTGROUP_WAITBITS_BLOCK 0xB7 +#define PSF_EVENT_EVENTGROUP_SYNC_FAILED 0xB8 +#define PSF_EVENT_EVENTGROUP_WAITBITS_FAILED 0xB9 + +#define PSF_EVENT_QUEUE_SEND_FRONT 0xC0 +#define PSF_EVENT_QUEUE_SEND_FRONT_FAILED 0xC1 +#define PSF_EVENT_QUEUE_SEND_FRONT_BLOCK 0xC2 +#define PSF_EVENT_QUEUE_SEND_FRONT_FROMISR 0xC3 +#define PSF_EVENT_QUEUE_SEND_FRONT_FROMISR_FAILED 0xC4 +#define PSF_EVENT_MUTEX_GIVE_RECURSIVE 0xC5 +#define PSF_EVENT_MUTEX_GIVE_RECURSIVE_FAILED 0xC6 +#define PSF_EVENT_MUTEX_TAKE_RECURSIVE 0xC7 +#define PSF_EVENT_MUTEX_TAKE_RECURSIVE_FAILED 0xC8 + +#define PSF_EVENT_TASK_NOTIFY 0xC9 +#define PSF_EVENT_TASK_NOTIFY_WAIT 0xCA +#define PSF_EVENT_TASK_NOTIFY_WAIT_BLOCK 0xCB +#define PSF_EVENT_TASK_NOTIFY_WAIT_FAILED 0xCC +#define PSF_EVENT_TASK_NOTIFY_FROM_ISR 0xCD + +#define PSF_EVENT_TIMER_EXPIRED 0xD2 + +#define PSF_EVENT_STREAMBUFFER_SEND 0xD3 +#define PSF_EVENT_STREAMBUFFER_SEND_BLOCK 0xD4 +#define PSF_EVENT_STREAMBUFFER_SEND_FAILED 0xD5 +#define PSF_EVENT_STREAMBUFFER_RECEIVE 0xD6 +#define PSF_EVENT_STREAMBUFFER_RECEIVE_BLOCK 0xD7 +#define PSF_EVENT_STREAMBUFFER_RECEIVE_FAILED 0xD8 +#define PSF_EVENT_STREAMBUFFER_SEND_FROM_ISR 0xD9 +#define PSF_EVENT_STREAMBUFFER_SEND_FROM_ISR_FAILED 0xDA +#define PSF_EVENT_STREAMBUFFER_RECEIVE_FROM_ISR 0xDB +#define PSF_EVENT_STREAMBUFFER_RECEIVE_FROM_ISR_FAILED 0xDC +#define PSF_EVENT_STREAMBUFFER_RESET 0xDD + +#define PSF_EVENT_MESSAGEBUFFER_SEND 0xDE +#define PSF_EVENT_MESSAGEBUFFER_SEND_BLOCK 0xDF +#define PSF_EVENT_MESSAGEBUFFER_SEND_FAILED 0xE0 +#define PSF_EVENT_MESSAGEBUFFER_RECEIVE 0xE1 +#define PSF_EVENT_MESSAGEBUFFER_RECEIVE_BLOCK 0xE2 +#define PSF_EVENT_MESSAGEBUFFER_RECEIVE_FAILED 0xE3 +#define PSF_EVENT_MESSAGEBUFFER_SEND_FROM_ISR 0xE4 +#define PSF_EVENT_MESSAGEBUFFER_SEND_FROM_ISR_FAILED 0xE5 +#define PSF_EVENT_MESSAGEBUFFER_RECEIVE_FROM_ISR 0xE6 +#define PSF_EVENT_MESSAGEBUFFER_RECEIVE_FROM_ISR_FAILED 0xE7 +#define PSF_EVENT_MESSAGEBUFFER_RESET 0xE8 + +#define PSF_EVENT_MALLOC_FAILED 0xE9 +#define PSF_EVENT_FREE_FAILED 0xEA + +#define PSF_EVENT_UNUSED_STACK 0xEB + +#define PSF_EVENT_STATEMACHINE_STATE_CREATE 0xEC +#define PSF_EVENT_STATEMACHINE_CREATE 0xED +#define PSF_EVENT_STATEMACHINE_STATECHANGE 0xEE + +#define PSF_EVENT_INTERVAL_CHANNEL_CREATE 0xEF +#define PSF_EVENT_INTERVAL_START 0xF0 + +#define PSF_EVENT_EXTENSION_CREATE 0xF1 + +#define PSF_EVENT_HEAP_CREATE 0xF2 + +#define PSF_EVENT_COUNTER_CREATE 0xF3 +#define PSF_EVENT_COUNTER_CHANGE 0xF4 +#define PSF_EVENT_COUNTER_LIMIT_EXCEEDED 0xF5 + +#define PSF_EVENT_MUTEX_TAKE_RECURSIVE_BLOCK 0xF6 + +#define PSF_EVENT_INTERVAL_STOP 0xF7 +#define PSF_EVENT_INTERVAL_CHANNEL_SET_CREATE 0xF8 + +#define TRC_EVENT_LAST_ID PSF_EVENT_INTERVAL_CHANNEL_SET_CREATE + +/*** The trace macros for streaming ******************************************/ + +/* A macro that will update the tick count when returning from tickless idle */ +#undef traceINCREASE_TICK_COUNT +/* Note: This can handle time adjustments of max 2^32 ticks, i.e., 35 seconds at 120 MHz. Thus, tick-less idle periods longer than 2^32 ticks will appear "compressed" on the time line.*/ +#define traceINCREASE_TICK_COUNT( xCount ) { uint32_t uiTraceTickCount; xTraceTimestampGetOsTickCount(&uiTraceTickCount); xTraceTimestampSetOsTickCount(uiTraceTickCount + (xCount)); } + +#if (TRC_CFG_INCLUDE_OSTICK_EVENTS == 1) + +#define OS_TICK_EVENT(uxSchedulerSuspended, xTickCount) if ((uxSchedulerSuspended) == (unsigned portBASE_TYPE) pdFALSE) { prvTraceStoreEvent_Param(PSF_EVENT_NEW_TIME, (uint32_t)(xTickCount)); } + +#else + +#define OS_TICK_EVENT(uxSchedulerSuspended, xTickCount) + +#endif + +/* Called on each OS tick. Will call uiPortGetTimestamp to make sure it is called at least once every OS tick. */ +#undef traceTASK_INCREMENT_TICK +#if TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_3_0 + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || xPendedTicks == 0) { xTraceTimestampSetOsTickCount((xTickCount) + 1); } \ + OS_TICK_EVENT(uxSchedulerSuspended, (xTickCount) + 1) + +#elif TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_5_X + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || uxPendedTicks == 0) { xTraceTimestampSetOsTickCount(xTickCount + 1); } \ + OS_TICK_EVENT(uxSchedulerSuspended, xTickCount + 1) + +#else + +#define traceTASK_INCREMENT_TICK( xTickCount ) \ + if (uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdTRUE || uxMissedTicks == 0) { xTraceTimestampSetOsTickCount(xTickCount + 1); } \ + OS_TICK_EVENT(uxSchedulerSuspended, xTickCount + 1) + +#endif + +/* Called on each task-switch */ +#undef traceTASK_SWITCHED_IN +#define traceTASK_SWITCHED_IN() \ + xTraceTaskSwitch(pxCurrentTCB, pxCurrentTCB->uxPriority) + +/* Called for each task that becomes ready */ +#undef traceMOVED_TASK_TO_READY_STATE +#define traceMOVED_TASK_TO_READY_STATE( pxTCB ) \ + xTraceTaskReady(pxTCB) + +#undef traceTASK_CREATE +#if TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0 + +#define traceTASK_CREATE(pxNewTCB) \ + if ((pxNewTCB) != 0) \ + { \ + xTraceTaskRegisterWithoutHandle((void*)(pxNewTCB), (pxNewTCB)->pcTaskName, (pxNewTCB)->uxPriority); \ + } + +#else + +#define traceTASK_CREATE(pxNewTCB) \ + if (pxNewTCB != 0) \ + { \ + xTraceTaskRegisterWithoutHandle((void*)pxNewTCB, (const char*)pcName, (uint32_t)uxPriority); \ + } + +#endif + +/* Called in vTaskCreate, if it fails (typically if the stack can not be allocated) */ +#undef traceTASK_CREATE_FAILED +#define traceTASK_CREATE_FAILED() \ + prvTraceStoreEvent_None(PSF_EVENT_TASK_CREATE_FAILED) + +/* Called on vTaskDelete */ +#undef traceTASK_DELETE // We don't allow for filtering out "delete" events. They are important and not very frequent. Moreover, we can't exclude create events, so this should be symmetrical. +#define traceTASK_DELETE( pxTaskToDelete ) \ + xTraceTaskUnregisterWithoutHandle(pxTaskToDelete, (pxTaskToDelete)->uxPriority) + +#if (TRC_CFG_SCHEDULING_ONLY == 0) + +#if (defined(configUSE_TICKLESS_IDLE) && configUSE_TICKLESS_IDLE != 0) + +#undef traceLOW_POWER_IDLE_BEGIN +#define traceLOW_POWER_IDLE_BEGIN() \ + prvTraceStoreEvent_Param(PSF_EVENT_LOWPOWER_BEGIN, xExpectedIdleTime) + +#undef traceLOW_POWER_IDLE_END +#define traceLOW_POWER_IDLE_END() \ + prvTraceStoreEvent_None(PSF_EVENT_LOWPOWER_END) + +#endif + +/* Called on vTaskSuspend */ +#undef traceTASK_SUSPEND +#define traceTASK_SUSPEND( pxTaskToSuspend ) \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_SUSPEND, pxTaskToSuspend) + +/* Called on vTaskDelay - note the use of FreeRTOS variable xTicksToDelay */ +#undef traceTASK_DELAY +#define traceTASK_DELAY() \ + prvTraceStoreEvent_Param(PSF_EVENT_TASK_DELAY, xTicksToDelay) + +/* Called on vTaskDelayUntil - note the use of FreeRTOS variable xTimeToWake */ +#undef traceTASK_DELAY_UNTIL +#if TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0 + +#define traceTASK_DELAY_UNTIL(xTimeToWake) \ + prvTraceStoreEvent_Param(PSF_EVENT_TASK_DELAY_UNTIL, (xTimeToWake)) + +#else + +#define traceTASK_DELAY_UNTIL() \ + prvTraceStoreEvent_Param(PSF_EVENT_TASK_DELAY_UNTIL, xTimeToWake) + +#endif + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0) + +#define traceQUEUE_CREATE_HELPER() \ + case queueQUEUE_TYPE_MUTEX: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_MUTEX_CREATE, (void*)pxNewQueue, "", 0); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_MUTEX_RECURSIVE_CREATE, (void*)pxNewQueue, "", 0); \ + break; + +#else + +#define traceQUEUE_CREATE_HELPER() + +#endif + +/* Called in xQueueCreate, and thereby for all other object based on queues, such as semaphores. */ +#undef traceQUEUE_CREATE +#define traceQUEUE_CREATE( pxNewQueue )\ + switch ((pxNewQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_QUEUE_CREATE, (void*)(pxNewQueue), "", (uint32_t)uxQueueLength); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_SEMAPHORE_BINARY_CREATE, (void*)(pxNewQueue), "", 0); \ + break; \ + traceQUEUE_CREATE_HELPER() \ + } + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0) + +#define traceQUEUE_CREATE_FAILED_HELPER() \ + case queueQUEUE_TYPE_MUTEX: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_CREATE_FAILED, 0, 0); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_RECURSIVE_CREATE_FAILED, 0, 0); \ + break; + +#else + +#define traceQUEUE_CREATE_FAILED_HELPER() + +#endif + +/* Called in xQueueCreate, if the queue creation fails */ +#undef traceQUEUE_CREATE_FAILED +#define traceQUEUE_CREATE_FAILED( queueType ) \ + switch (queueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_QUEUE_CREATE_FAILED, 0, uxQueueLength); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_BINARY_CREATE_FAILED, 0, 0); \ + break; \ + traceQUEUE_CREATE_FAILED_HELPER() \ + } + +#undef traceQUEUE_DELETE // We don't allow for filtering out "delete" events. They are important and not very frequent. Moreover, we can't exclude create events, so this should be symmetrical. +#define traceQUEUE_DELETE( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + xTraceObjectUnregisterWithoutHandle(PSF_EVENT_QUEUE_DELETE, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + xTraceObjectUnregisterWithoutHandle(PSF_EVENT_MUTEX_DELETE, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + xTraceObjectUnregisterWithoutHandle(PSF_EVENT_SEMAPHORE_DELETE, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + } + +/* Called in xQueueCreateCountingSemaphore, if the queue creation fails */ +#undef traceCREATE_COUNTING_SEMAPHORE +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +#define traceCREATE_COUNTING_SEMAPHORE() \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_SEMAPHORE_COUNTING_CREATE, (void*)xHandle, "", (uint32_t)uxMaxCount) + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_5_X) + +#define traceCREATE_COUNTING_SEMAPHORE() \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_SEMAPHORE_COUNTING_CREATE, (void*)xHandle, "", uxInitialCount) + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_4_X) + +#define traceCREATE_COUNTING_SEMAPHORE() \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_SEMAPHORE_COUNTING_CREATE, (void*)xHandle, "", uxCountValue) + +#else + +#define traceCREATE_COUNTING_SEMAPHORE() \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_SEMAPHORE_COUNTING_CREATE, (void*)pxHandle, "", uxCountValue) + +#endif + +#undef traceCREATE_COUNTING_SEMAPHORE_FAILED +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +#define traceCREATE_COUNTING_SEMAPHORE_FAILED() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_COUNTING_CREATE_FAILED, 0, uxMaxCount) + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_5_X) + +#define traceCREATE_COUNTING_SEMAPHORE_FAILED() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_COUNTING_CREATE_FAILED, 0, uxInitialCount) + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_7_4_X) + +#define traceCREATE_COUNTING_SEMAPHORE_FAILED() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_COUNTING_CREATE_FAILED, 0, uxCountValue) + +#else + +#define traceCREATE_COUNTING_SEMAPHORE_FAILED() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_COUNTING_CREATE_FAILED, 0, uxCountValue) + +#endif + + +/* This macro is not necessary as of FreeRTOS v9.0.0 */ +#if (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_9_0_0) + +/* Called in xQueueCreateMutex, and thereby also from xSemaphoreCreateMutex and xSemaphoreCreateRecursiveMutex */ +#undef traceCREATE_MUTEX +#define traceCREATE_MUTEX( pxNewQueue ) \ + switch (pxNewQueue->ucQueueType) \ + { \ + case queueQUEUE_TYPE_MUTEX: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_MUTEX_CREATE, (void*)(pxNewQueue), "", 0); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_MUTEX_RECURSIVE_CREATE, (void*)(pxNewQueue), "", 0); \ + break; \ + } + +/* Called in xQueueCreateMutex when the operation fails (when memory allocation fails) */ +#undef traceCREATE_MUTEX_FAILED +#define traceCREATE_MUTEX_FAILED() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_CREATE_FAILED, 0, 0) +#endif /* (TRC_CFG_FREERTOS_VERSION < TRC_FREERTOS_VERSION_9_0_0) */ + +/* Called when the Mutex can not be given, since not holder */ +#undef traceGIVE_MUTEX_RECURSIVE_FAILED +#define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) \ + prvTraceStoreEvent_Handle(PSF_EVENT_MUTEX_GIVE_RECURSIVE_FAILED, (void*)(pxMutex)) + +/* Called when a message is sent to a queue */ /* CS IS NEW ! */ +#undef traceQUEUE_SEND +#define traceQUEUE_SEND( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(xCopyPosition == queueSEND_TO_BACK ? PSF_EVENT_QUEUE_SEND : PSF_EVENT_QUEUE_SEND_FRONT, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting + 1); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_GIVE, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting + 1); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + prvTraceStoreEvent_Handle(PSF_EVENT_MUTEX_GIVE, (void*)(pxQueue)); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_Handle(PSF_EVENT_MUTEX_GIVE_RECURSIVE, (void*)(pxQueue)); \ + break; \ + } + +#undef traceQUEUE_SET_SEND +#define traceQUEUE_SET_SEND( pxQueue ) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_QUEUE_SEND, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting + 1) + +/* Called when a message failed to be sent to a queue (timeout) */ +#undef traceQUEUE_SEND_FAILED +#define traceQUEUE_SEND_FAILED( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(xCopyPosition == queueSEND_TO_BACK ? PSF_EVENT_QUEUE_SEND_FAILED : PSF_EVENT_QUEUE_SEND_FRONT_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_GIVE_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_Handle(PSF_EVENT_MUTEX_GIVE_FAILED, (void*)(pxQueue)); \ + break; \ + } + +/* Called when the task is blocked due to a send operation on a full queue */ +#undef traceBLOCKING_ON_QUEUE_SEND +#define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(xCopyPosition == queueSEND_TO_BACK ? PSF_EVENT_QUEUE_SEND_BLOCK : PSF_EVENT_QUEUE_SEND_FRONT_BLOCK, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_GIVE_BLOCK, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_Handle(PSF_EVENT_MUTEX_GIVE_BLOCK, (void*)(pxQueue)); \ + break; \ + } + +/* Called when a message is sent from interrupt context, e.g., using xQueueSendFromISR */ +#undef traceQUEUE_SEND_FROM_ISR +#define traceQUEUE_SEND_FROM_ISR( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(xCopyPosition == queueSEND_TO_BACK ? PSF_EVENT_QUEUE_SEND_FROMISR : PSF_EVENT_QUEUE_SEND_FRONT_FROMISR, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting + 1); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_GIVE_FROMISR, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting + 1); \ + break; \ + } + +/* Called when a message send from interrupt context fails (since the queue was full) */ +#undef traceQUEUE_SEND_FROM_ISR_FAILED +#define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(xCopyPosition == queueSEND_TO_BACK ? PSF_EVENT_QUEUE_SEND_FROMISR_FAILED : PSF_EVENT_QUEUE_SEND_FRONT_FROMISR_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_GIVE_FROMISR_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + } + +/* Called when a message is received from a queue */ +#undef traceQUEUE_RECEIVE +#define traceQUEUE_RECEIVE( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + if (isQueueReceiveHookActuallyPeek) \ + { \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_QUEUE_PEEK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting - 1); \ + } \ + else\ + { \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_QUEUE_RECEIVE, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting - 1); \ + } \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + if (isQueueReceiveHookActuallyPeek) \ + { \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_SEMAPHORE_PEEK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting - 1); \ + } \ + else \ + { \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_SEMAPHORE_TAKE, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting - 1); \ + } \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK : PSF_EVENT_MUTEX_TAKE, (void*)(pxQueue), xTicksToWait); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK : PSF_EVENT_MUTEX_TAKE_RECURSIVE, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +/* Called when a receive operation on a queue fails (timeout) */ +#undef traceQUEUE_RECEIVE_FAILED +#define traceQUEUE_RECEIVE_FAILED( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParamParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_QUEUE_PEEK_FAILED : PSF_EVENT_QUEUE_RECEIVE_FAILED, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParamParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_SEMAPHORE_PEEK_FAILED : PSF_EVENT_SEMAPHORE_TAKE_FAILED, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK_FAILED : PSF_EVENT_MUTEX_TAKE_FAILED, (void*)(pxQueue), xTicksToWait); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK_FAILED : PSF_EVENT_MUTEX_TAKE_RECURSIVE_FAILED, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +/* Called when the task is blocked due to a receive operation on an empty queue */ +#undef traceBLOCKING_ON_QUEUE_RECEIVE +#define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParamParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_QUEUE_PEEK_BLOCK : PSF_EVENT_QUEUE_RECEIVE_BLOCK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParamParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_SEMAPHORE_PEEK_BLOCK : PSF_EVENT_SEMAPHORE_TAKE_BLOCK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK_BLOCK : PSF_EVENT_MUTEX_TAKE_BLOCK, (void*)(pxQueue), xTicksToWait); \ + break; \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(isQueueReceiveHookActuallyPeek ? PSF_EVENT_MUTEX_PEEK_BLOCK : PSF_EVENT_MUTEX_TAKE_RECURSIVE_BLOCK, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +#if (TRC_CFG_FREERTOS_VERSION > TRC_FREERTOS_VERSION_9_0_1) + +/* Called when a peek operation on a queue fails (timeout) */ +#undef traceQUEUE_PEEK_FAILED +#define traceQUEUE_PEEK_FAILED( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_QUEUE_PEEK_FAILED, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_SEMAPHORE_PEEK_FAILED, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_PEEK_FAILED, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +/* Called when the task is blocked due to a peek operation on an empty queue */ +#undef traceBLOCKING_ON_QUEUE_PEEK +#define traceBLOCKING_ON_QUEUE_PEEK( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_QUEUE_PEEK_BLOCK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_SEMAPHORE_PEEK_BLOCK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_PEEK_BLOCK, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +#endif + +/* Called when a message is received in interrupt context, e.g., using xQueueReceiveFromISR */ +#undef traceQUEUE_RECEIVE_FROM_ISR +#define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_QUEUE_RECEIVE_FROMISR, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting - 1); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_TAKE_FROMISR, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting - 1); \ + break; \ + } + +/* Called when a message receive from interrupt context fails (since the queue was empty) */ +#undef traceQUEUE_RECEIVE_FROM_ISR_FAILED +#define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_QUEUE_RECEIVE_FROMISR_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_SEMAPHORE_TAKE_FROMISR_FAILED, (void*)(pxQueue), (pxQueue)->uxMessagesWaiting); \ + break; \ + } + +/* Called on xQueuePeek */ +#undef traceQUEUE_PEEK +#define traceQUEUE_PEEK( pxQueue ) \ + switch ((pxQueue)->ucQueueType) \ + { \ + case queueQUEUE_TYPE_BASE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_QUEUE_PEEK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_BINARY_SEMAPHORE: \ + case queueQUEUE_TYPE_COUNTING_SEMAPHORE: \ + prvTraceStoreEvent_HandleParamParam(PSF_EVENT_SEMAPHORE_PEEK, (void*)(pxQueue), xTicksToWait, (pxQueue)->uxMessagesWaiting); \ + break; \ + case queueQUEUE_TYPE_MUTEX: \ + case queueQUEUE_TYPE_RECURSIVE_MUTEX: \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_MUTEX_PEEK, (void*)(pxQueue), xTicksToWait); \ + break; \ + } + +/* Called in vTaskPrioritySet */ +#undef traceTASK_PRIORITY_SET +#define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) \ + xTraceTaskSetPriorityWithoutHandle(pxTask, uxNewPriority) + +/* Called in vTaskPriorityInherit, which is called by Mutex operations */ +#undef traceTASK_PRIORITY_INHERIT +#define traceTASK_PRIORITY_INHERIT( pxTask, uxNewPriority ) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_TASK_PRIO_INHERIT, (void*)(pxTask), uxNewPriority) + +/* Called in vTaskPriorityDisinherit, which is called by Mutex operations */ +#undef traceTASK_PRIORITY_DISINHERIT +#define traceTASK_PRIORITY_DISINHERIT( pxTask, uxNewPriority ) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_TASK_PRIO_DISINHERIT, (void*)(pxTask), uxNewPriority) + +/* Called in vTaskResume */ +#undef traceTASK_RESUME +#define traceTASK_RESUME( pxTaskToResume ) \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_RESUME, (void*)(pxTaskToResume)) + +/* Called in vTaskResumeFromISR */ +#undef traceTASK_RESUME_FROM_ISR +#define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_RESUME_FROMISR, (void*)(pxTaskToResume)) + +#if (TRC_CFG_INCLUDE_MEMMANG_EVENTS == 1) + +#undef traceMALLOC +#define traceMALLOC( pvAddress, uiSize ) \ + if (xTraceIsRecorderEnabled()) \ + { \ + xTraceHeapAlloc(xTraceKernelPortGetSystemHeapHandle(), pvAddress, uiSize); \ + } + +#undef traceFREE +#define traceFREE( pvAddress, uiSize ) \ + if (xTraceIsRecorderEnabled()) \ + { \ + xTraceHeapFree(xTraceKernelPortGetSystemHeapHandle(), pvAddress, uiSize); \ + } + +#endif + +#if (TRC_CFG_INCLUDE_TIMER_EVENTS == 1) + +/* Called in timer.c - xTimerCreate */ +#undef traceTIMER_CREATE +#define traceTIMER_CREATE(tmr) \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_TIMER_CREATE, (void*)(tmr), (const char*)(tmr)->pcTimerName, (uint32_t)(tmr)->xTimerPeriodInTicks) + +#undef traceTIMER_CREATE_FAILED +#define traceTIMER_CREATE_FAILED() \ + prvTraceStoreEvent_None(PSF_EVENT_TIMER_CREATE_FAILED); + +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_8_X_X) + +#define traceTIMER_COMMAND_SEND_8_0_CASES(tmr) \ + case tmrCOMMAND_RESET: \ + prvTraceStoreEvent_HandleParam((xReturn == pdPASS) ? PSF_EVENT_TIMER_RESET : PSF_EVENT_TIMER_RESET_FAILED, (void*)(tmr), xOptionalValue); \ + break; \ + case tmrCOMMAND_START_FROM_ISR: \ + prvTraceStoreEvent_HandleParam((xReturn == pdPASS) ? PSF_EVENT_TIMER_START_FROMISR : PSF_EVENT_TIMER_START_FROMISR_FAILED, (void*)(tmr), xOptionalValue); \ + break; \ + case tmrCOMMAND_RESET_FROM_ISR: \ + prvTraceStoreEvent_HandleParam((xReturn == pdPASS) ? PSF_EVENT_TIMER_RESET_FROMISR : PSF_EVENT_TIMER_RESET_FROMISR_FAILED, (void*)(tmr), xOptionalValue); \ + break; \ + case tmrCOMMAND_STOP_FROM_ISR: \ + prvTraceStoreEvent_HandleParam((xReturn == pdPASS) ? PSF_EVENT_TIMER_STOP_FROMISR : PSF_EVENT_TIMER_STOP_FROMISR_FAILED, (void*)(tmr), xOptionalValue); \ + break; \ + case tmrCOMMAND_CHANGE_PERIOD_FROM_ISR: \ + prvTraceStoreEvent_HandleParam((xReturn == pdPASS) ? PSF_EVENT_TIMER_CHANGEPERIOD_FROMISR : PSF_EVENT_TIMER_CHANGEPERIOD_FROMISR_FAILED, (void*)(tmr), xOptionalValue); \ + break; +#else + +#define traceTIMER_COMMAND_SEND_8_0_CASES(tmr) + +#endif + +/* Note that xCommandID can never be tmrCOMMAND_EXECUTE_CALLBACK (-1) since the trace macro is not called in that case */ +#undef traceTIMER_COMMAND_SEND +#define traceTIMER_COMMAND_SEND(tmr, xCommandID, xOptionalValue, xReturn) \ + switch(xCommandID) \ + { \ + case tmrCOMMAND_START: \ + prvTraceStoreEvent_Handle(((xReturn) == pdPASS) ? PSF_EVENT_TIMER_START : PSF_EVENT_TIMER_START_FAILED, (void*)(tmr)); \ + break; \ + case tmrCOMMAND_STOP: \ + prvTraceStoreEvent_Handle(((xReturn) == pdPASS) ? PSF_EVENT_TIMER_STOP : PSF_EVENT_TIMER_STOP_FAILED, (void*)(tmr)); \ + break; \ + case tmrCOMMAND_CHANGE_PERIOD: \ + prvTraceStoreEvent_HandleParam(((xReturn) == pdPASS) ? PSF_EVENT_TIMER_CHANGEPERIOD : PSF_EVENT_TIMER_CHANGEPERIOD_FAILED, (void*)(tmr), xOptionalValue); \ + break; \ + case tmrCOMMAND_DELETE: \ + xTraceObjectUnregisterWithoutHandle(((xReturn) == pdPASS) ? PSF_EVENT_TIMER_DELETE : PSF_EVENT_TIMER_DELETE_FAILED, (void*)(tmr), 0); \ + break; \ + traceTIMER_COMMAND_SEND_8_0_CASES(tmr) \ + } + +#undef traceTIMER_EXPIRED +#define traceTIMER_EXPIRED(tmr) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_TIMER_EXPIRED, (void*)(tmr), (uint32_t)((tmr)->pxCallbackFunction)) + +#endif + + +#if (TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS == 1) + +#undef tracePEND_FUNC_CALL +#define tracePEND_FUNC_CALL(func, arg1, arg2, ret) \ + prvTraceStoreEvent_Param(((ret) == pdPASS) ? PSF_EVENT_TIMER_PENDFUNCCALL : PSF_EVENT_TIMER_PENDFUNCCALL_FAILED, (uint32_t)(func)) + +#undef tracePEND_FUNC_CALL_FROM_ISR +#define tracePEND_FUNC_CALL_FROM_ISR(func, arg1, arg2, ret) \ + prvTraceStoreEvent_Param(((ret) == pdPASS) ? PSF_EVENT_TIMER_PENDFUNCCALL_FROMISR : PSF_EVENT_TIMER_PENDFUNCCALL_FROMISR_FAILED, (uint32_t)(func)) + +#endif + +#if (TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS == 1) + +#undef traceEVENT_GROUP_CREATE +#define traceEVENT_GROUP_CREATE(eg) \ + xTraceObjectRegisterWithoutHandle(PSF_EVENT_EVENTGROUP_CREATE, (void*)(eg), 0, (uint32_t)(eg)->uxEventBits) + +#undef traceEVENT_GROUP_DELETE +#define traceEVENT_GROUP_DELETE(eg) \ + xTraceObjectUnregisterWithoutHandle(PSF_EVENT_EVENTGROUP_DELETE, (void*)(eg), (uint32_t)(eg)->uxEventBits) + +#undef traceEVENT_GROUP_CREATE_FAILED +#define traceEVENT_GROUP_CREATE_FAILED() \ + prvTraceStoreEvent_None(PSF_EVENT_EVENTGROUP_CREATE_FAILED) + +#undef traceEVENT_GROUP_SYNC_BLOCK +#define traceEVENT_GROUP_SYNC_BLOCK(eg, bitsToSet, bitsToWaitFor) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_SYNC_BLOCK, (void*)(eg), bitsToWaitFor) + +#undef traceEVENT_GROUP_SYNC_END +#define traceEVENT_GROUP_SYNC_END(eg, bitsToSet, bitsToWaitFor, wasTimeout) \ + prvTraceStoreEvent_HandleParam(((wasTimeout) != pdTRUE) ? PSF_EVENT_EVENTGROUP_SYNC : PSF_EVENT_EVENTGROUP_SYNC_FAILED, (void*)(eg), bitsToWaitFor) + +#undef traceEVENT_GROUP_WAIT_BITS_BLOCK +#define traceEVENT_GROUP_WAIT_BITS_BLOCK(eg, bitsToWaitFor) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_WAITBITS_BLOCK, (void*)(eg), bitsToWaitFor) + +#undef traceEVENT_GROUP_WAIT_BITS_END +#define traceEVENT_GROUP_WAIT_BITS_END(eg, bitsToWaitFor, wasTimeout) \ + prvTraceStoreEvent_HandleParam(((wasTimeout) != pdTRUE) ? PSF_EVENT_EVENTGROUP_WAITBITS : PSF_EVENT_EVENTGROUP_WAITBITS_FAILED, (void*)(eg), bitsToWaitFor) + +#undef traceEVENT_GROUP_CLEAR_BITS +#define traceEVENT_GROUP_CLEAR_BITS(eg, bitsToClear) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_CLEARBITS, (void*)(eg), bitsToClear) + +#undef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR +#define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR(eg, bitsToClear) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_CLEARBITS_FROMISR, (void*)(eg), bitsToClear) + +#undef traceEVENT_GROUP_SET_BITS +#define traceEVENT_GROUP_SET_BITS(eg, bitsToSet) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_SETBITS, (void*)(eg), bitsToSet) + +#undef traceEVENT_GROUP_SET_BITS_FROM_ISR +#define traceEVENT_GROUP_SET_BITS_FROM_ISR(eg, bitsToSet) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_EVENTGROUP_SETBITS_FROMISR, (void*)(eg), bitsToSet) + +#endif + +#undef traceTASK_NOTIFY +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY(index) \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_NOTIFY, (void*)xTaskToNotify) + +#else + +#define traceTASK_NOTIFY() \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_NOTIFY, (void*)xTaskToNotify) + +#endif + +#undef traceTASK_NOTIFY_FROM_ISR +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_FROM_ISR(index) \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_NOTIFY_FROM_ISR, (void*)xTaskToNotify) + +#else + +#define traceTASK_NOTIFY_FROM_ISR() \ + prvTraceStoreEvent_Handle(PSF_EVENT_TASK_NOTIFY_FROM_ISR, (void*)xTaskToNotify) + +#endif + +/* NOTIFY and NOTIFY_GIVE will be handled identically */ +#undef traceTASK_NOTIFY_GIVE_FROM_ISR +#define traceTASK_NOTIFY_GIVE_FROM_ISR traceTASK_NOTIFY_FROM_ISR + +#undef traceTASK_NOTIFY_WAIT +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_WAIT(index) \ + prvTraceStoreEvent_HandleParam(pxCurrentTCB->ucNotifyState[index] == taskNOTIFICATION_RECEIVED ? PSF_EVENT_TASK_NOTIFY_WAIT : PSF_EVENT_TASK_NOTIFY_WAIT_FAILED, (void*)pxCurrentTCB, xTicksToWait) + +#elif (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_9_0_0) + +#define traceTASK_NOTIFY_WAIT() \ + prvTraceStoreEvent_HandleParam(pxCurrentTCB->ucNotifyState == taskNOTIFICATION_RECEIVED ? PSF_EVENT_TASK_NOTIFY_WAIT : PSF_EVENT_TASK_NOTIFY_WAIT_FAILED, (void*)pxCurrentTCB, xTicksToWait) + +#else + +#define traceTASK_NOTIFY_WAIT() \ + prvTraceStoreEvent_HandleParam(pxCurrentTCB->eNotifyState == eNotified ? PSF_EVENT_TASK_NOTIFY_WAIT : PSF_EVENT_TASK_NOTIFY_WAIT_FAILED, (void*)pxCurrentTCB, xTicksToWait) + +#endif + +/* WAIT and TAKE will be handled identically */ +#undef traceTASK_NOTIFY_TAKE +#define traceTASK_NOTIFY_TAKE traceTASK_NOTIFY_WAIT + +#undef traceTASK_NOTIFY_WAIT_BLOCK +#if (TRC_CFG_FREERTOS_VERSION >= TRC_FREERTOS_VERSION_10_4_0) + +#define traceTASK_NOTIFY_WAIT_BLOCK(index) \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_TASK_NOTIFY_WAIT_BLOCK, (void*)pxCurrentTCB, xTicksToWait) + +#else + +#define traceTASK_NOTIFY_WAIT_BLOCK() \ + prvTraceStoreEvent_HandleParam(PSF_EVENT_TASK_NOTIFY_WAIT_BLOCK, (void*)pxCurrentTCB, xTicksToWait) + +#endif + +/* WAIT_BLOCK and TAKE_BLOCK will be handled identically */ +#undef traceTASK_NOTIFY_TAKE_BLOCK +#define traceTASK_NOTIFY_TAKE_BLOCK traceTASK_NOTIFY_WAIT_BLOCK + +#undef traceQUEUE_REGISTRY_ADD +#define traceQUEUE_REGISTRY_ADD(object, name) \ + xTraceObjectSetNameWithoutHandle(object, (const char*)(name)); + +#if (TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS == 1) + +#undef traceSTREAM_BUFFER_CREATE +#define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer ) \ + xTraceObjectRegisterWithoutHandle((xIsMessageBuffer) == 1 ? PSF_EVENT_MESSAGEBUFFER_CREATE : PSF_EVENT_STREAMBUFFER_CREATE, (void*)(pxStreamBuffer), "", (uint32_t)xBufferSizeBytes) + +#undef traceSTREAM_BUFFER_CREATE_FAILED +#define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) \ + prvTraceStoreEvent_HandleParam((xIsMessageBuffer) == 1 ? PSF_EVENT_MESSAGEBUFFER_CREATE_FAILED : PSF_EVENT_STREAMBUFFER_CREATE_FAILED, 0 , xBufferSizeBytes) + +#undef traceSTREAM_BUFFER_CREATE_STATIC_FAILED +#define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer ) \ + traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) + +#undef traceSTREAM_BUFFER_DELETE +#define traceSTREAM_BUFFER_DELETE( xStreamBuffer ) \ + xTraceObjectUnregisterWithoutHandle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_DELETE : PSF_EVENT_STREAMBUFFER_DELETE, (void*)(xStreamBuffer), prvBytesInBuffer(xStreamBuffer)); + +#undef traceSTREAM_BUFFER_RESET +#define traceSTREAM_BUFFER_RESET( xStreamBuffer ) \ + prvTraceStoreEvent_HandleParam(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RESET : PSF_EVENT_STREAMBUFFER_RESET, (void*)(xStreamBuffer), 0) + +#undef traceSTREAM_BUFFER_SEND +#define traceSTREAM_BUFFER_SEND( xStreamBuffer, xReturn ) \ + prvTraceStoreEvent_HandleParam(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_SEND : PSF_EVENT_STREAMBUFFER_SEND, (void*)(xStreamBuffer), prvBytesInBuffer(xStreamBuffer)) + +#undef traceBLOCKING_ON_STREAM_BUFFER_SEND +#define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer ) \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_SEND_BLOCK : PSF_EVENT_STREAMBUFFER_SEND_BLOCK, (void*)(xStreamBuffer)) + +#undef traceSTREAM_BUFFER_SEND_FAILED +#define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer ) \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_SEND_FAILED : PSF_EVENT_STREAMBUFFER_SEND_FAILED, (void*)(xStreamBuffer)) + +#undef traceSTREAM_BUFFER_RECEIVE +#define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength ) \ + prvTraceStoreEvent_HandleParam(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RECEIVE: PSF_EVENT_STREAMBUFFER_RECEIVE, (void*)(xStreamBuffer), prvBytesInBuffer(xStreamBuffer)) + +#undef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE +#define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer ) \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RECEIVE_BLOCK: PSF_EVENT_STREAMBUFFER_RECEIVE_BLOCK, (void*)(xStreamBuffer)) + +#undef traceSTREAM_BUFFER_RECEIVE_FAILED +#define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer ) \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RECEIVE_FAILED: PSF_EVENT_STREAMBUFFER_RECEIVE_FAILED, (void*)(xStreamBuffer)) + +#undef traceSTREAM_BUFFER_SEND_FROM_ISR +#define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xReturn ) \ + if ( (xReturn) > ( size_t ) 0 ) \ + { \ + prvTraceStoreEvent_HandleParam(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_SEND_FROM_ISR : PSF_EVENT_STREAMBUFFER_SEND_FROM_ISR, (void*)(xStreamBuffer), prvBytesInBuffer(xStreamBuffer)); \ + } \ + else \ + { \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_SEND_FROM_ISR_FAILED : PSF_EVENT_STREAMBUFFER_SEND_FROM_ISR_FAILED, (void*)(xStreamBuffer)); \ + } + +#undef traceSTREAM_BUFFER_RECEIVE_FROM_ISR +#define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength ) \ + if ( (xReceivedLength) > ( size_t ) 0 ) \ + { \ + prvTraceStoreEvent_HandleParam(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RECEIVE_FROM_ISR : PSF_EVENT_STREAMBUFFER_RECEIVE_FROM_ISR, (void*)(xStreamBuffer), prvBytesInBuffer(xStreamBuffer)); \ + } \ + else \ + { \ + prvTraceStoreEvent_Handle(prvGetStreamBufferType(xStreamBuffer) > 0 ? PSF_EVENT_MESSAGEBUFFER_RECEIVE_FROM_ISR_FAILED : PSF_EVENT_STREAMBUFFER_RECEIVE_FROM_ISR_FAILED, (void*)(xStreamBuffer)); \ + } + +#endif + +#endif + +#endif + +#else + +/* When recorder is disabled */ +#define vTraceSetQueueName(object, name) +#define vTraceSetSemaphoreName(object, name) +#define vTraceSetMutexName(object, name) +#define vTraceSetEventGroupName(object, name) +#define vTraceSetStreamBufferName(object, name) +#define vTraceSetMessageBufferName(object, name) + +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_KERNEL_PORT_H */ diff --git a/freertos/cvitek/install/include/kernel/trcKernelPortConfig.h b/freertos/cvitek/install/include/kernel/trcKernelPortConfig.h new file mode 100644 index 000000000..f90e45a09 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcKernelPortConfig.h @@ -0,0 +1,116 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Configuration parameters for the kernel port. + * More settings can be found in trcKernelPortStreamingConfig.h and + * trcKernelPortSnapshotConfig.h. + */ + +#ifndef TRC_KERNEL_PORT_CONFIG_H +#define TRC_KERNEL_PORT_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @def TRC_CFG_RECORDER_MODE + * @brief Specify what recording mode to use. Snapshot means that the data is saved in + * an internal RAM buffer, for later upload. Streaming means that the data is + * transferred continuously to the host PC. + * + * For more information, see http://percepio.com/2016/10/05/rtos-tracing/ + * and the Tracealyzer User Manual. + * + * Values: + * TRC_RECORDER_MODE_SNAPSHOT + * TRC_RECORDER_MODE_STREAMING + */ +#define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_SNAPSHOT + +/** + * @def TRC_CFG_FREERTOS_VERSION + * @brief Specify what version of FreeRTOS that is used (don't change unless using the + * trace recorder library with an older version of FreeRTOS). + * + * TRC_FREERTOS_VERSION_7_3_X If using FreeRTOS v7.3.X + * TRC_FREERTOS_VERSION_7_4_X If using FreeRTOS v7.4.X + * TRC_FREERTOS_VERSION_7_5_X If using FreeRTOS v7.5.X + * TRC_FREERTOS_VERSION_7_6_X If using FreeRTOS v7.6.X + * TRC_FREERTOS_VERSION_8_X_X If using FreeRTOS v8.X.X + * TRC_FREERTOS_VERSION_9_0_0 If using FreeRTOS v9.0.0 + * TRC_FREERTOS_VERSION_9_0_1 If using FreeRTOS v9.0.1 + * TRC_FREERTOS_VERSION_9_0_2 If using FreeRTOS v9.0.2 + * TRC_FREERTOS_VERSION_10_0_0 If using FreeRTOS v10.0.0 + * TRC_FREERTOS_VERSION_10_0_1 If using FreeRTOS v10.0.1 + * TRC_FREERTOS_VERSION_10_1_0 If using FreeRTOS v10.1.0 + * TRC_FREERTOS_VERSION_10_1_1 If using FreeRTOS v10.1.1 + * TRC_FREERTOS_VERSION_10_2_0 If using FreeRTOS v10.2.0 + * TRC_FREERTOS_VERSION_10_2_1 If using FreeRTOS v10.2.1 + * TRC_FREERTOS_VERSION_10_3_0 If using FreeRTOS v10.3.0 + * TRC_FREERTOS_VERSION_10_3_1 If using FreeRTOS v10.3.1 + * TRC_FREERTOS_VERSION_10_4_0 If using FreeRTOS v10.4.0 + * TRC_FREERTOS_VERSION_10_4_1 If using FreeRTOS v10.4.1 or later + */ +#define TRC_CFG_FREERTOS_VERSION TRC_FREERTOS_VERSION_10_4_1 + +/** + * @def TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the trace will exclude any "event group" events. + * + * Default value is 0 (excluded) since dependent on event_groups.c + */ +#define TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_TIMER_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the trace will exclude any Timer events. + * + * Default value is 0 since dependent on timers.c + */ +#define TRC_CFG_INCLUDE_TIMER_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the trace will exclude any "pending function call" + * events, such as xTimerPendFunctionCall(). + * + * Default value is 0 since dependent on timers.c + */ +#define TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS 1 + +/** + * @def TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the trace will exclude any stream buffer or message + * buffer events. + * + * Default value is 0 since dependent on stream_buffer.c (new in FreeRTOS v10) + */ +#define TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS 1 + +/** + * @def TRC_CFG_ACKNOWLEDGE_QUEUE_SET_SEND + * @brief When using FreeRTOS v10.3.0 or v10.3.1, please make sure that the trace + * point in prvNotifyQueueSetContainer() in queue.c is renamed from + * traceQUEUE_SEND to traceQUEUE_SET_SEND in order to tell them apart from + * other traceQUEUE_SEND trace points. Then set this to TRC_ACKNOWLEDGED. + */ +#define TRC_CFG_ACKNOWLEDGE_QUEUE_SET_SEND 0 /* TRC_ACKNOWLEDGED */ + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_KERNEL_PORT_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/trcKernelPortSnapshotConfig.h b/freertos/cvitek/install/include/kernel/trcKernelPortSnapshotConfig.h new file mode 100644 index 000000000..16c6e4d81 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcKernelPortSnapshotConfig.h @@ -0,0 +1,69 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Kernel port configuration parameters for snapshot mode. + */ + +#ifndef TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H +#define TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @def TRC_CFG_NTASK, TRC_CFG_NISR, TRC_CFG_NQUEUE, TRC_CFG_NSEMAPHORE... + * @brief A group of macros which should be defined as integer values, zero or larger. + * + * These define the capacity of the Object Property Table, i.e., the maximum + * number of objects active at any given point, within each object class (e.g., + * task, queue, semaphore, ...). + * + * If tasks or other objects are deleted in your system, this + * setting does not limit the total amount of objects created, only the number + * of objects that have been successfully created but not yet deleted. + * + * Using too small values will cause vTraceError to be called, which stores an + * error message in the trace that is shown when opening the trace file. The + * error message can also be retrieved using xTraceGetLastError. + * + * It can be wise to start with large values for these constants, + * unless you are very confident on these numbers. Then do a recording and + * check the actual usage by selecting View menu -> Trace Details -> + * Resource Usage -> Object Table. + */ +#define TRC_CFG_NTASK 15 +#define TRC_CFG_NISR 5 +#define TRC_CFG_NQUEUE 40 +#define TRC_CFG_NSEMAPHORE 40 +#define TRC_CFG_NMUTEX 40 +#define TRC_CFG_NTIMER 5 +#define TRC_CFG_NEVENTGROUP 5 +#define TRC_CFG_NSTREAMBUFFER 5 +#define TRC_CFG_NMESSAGEBUFFER 5 + +/** + * @def TRC_CFG_NAME_LEN_TASK, TRC_CFG_NAME_LEN_QUEUE, ... + * @brief Macros that specify the maximum lengths (number of characters) for names of + * kernel objects, such as tasks and queues. If longer names are used, they will + * be truncated when stored in the recorder. + */ +#define TRC_CFG_NAME_LEN_TASK 15 +#define TRC_CFG_NAME_LEN_ISR 15 +#define TRC_CFG_NAME_LEN_QUEUE 15 +#define TRC_CFG_NAME_LEN_SEMAPHORE 15 +#define TRC_CFG_NAME_LEN_MUTEX 15 +#define TRC_CFG_NAME_LEN_TIMER 15 +#define TRC_CFG_NAME_LEN_EVENTGROUP 15 +#define TRC_CFG_NAME_LEN_STREAMBUFFER 15 +#define TRC_CFG_NAME_LEN_MESSAGEBUFFER 15 + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/trcKernelPortStreamingConfig.h b/freertos/cvitek/install/include/kernel/trcKernelPortStreamingConfig.h new file mode 100644 index 000000000..3abd6606a --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcKernelPortStreamingConfig.h @@ -0,0 +1,24 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Kernel port configuration parameters for streaming mode. + */ + +#ifndef TRC_KERNEL_PORT_STREAMING_CONFIG_H +#define TRC_KERNEL_PORT_STREAMING_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Nothing yet */ + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_KERNEL_PORT_STREAMING_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/trcMultiCoreEventBuffer.h b/freertos/cvitek/install/include/kernel/trcMultiCoreEventBuffer.h new file mode 100644 index 000000000..ac07a48dd --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcMultiCoreEventBuffer.h @@ -0,0 +1,143 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @internal Public trace multicore event buffer APIs. + */ + +#ifndef TRC_MULTI_CORE_EVENT_BUFFER_H +#define TRC_MULTI_CORE_EVENT_BUFFER_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_multi_core_event_buffer_apis Trace Multi-Core Event Buffer APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Trace Multi-Core Event Buffer Structure + */ +typedef struct TraceMultiCoreEventBuffer +{ + TraceEventBuffer_t *xEventBuffer[TRC_CFG_CORE_COUNT]; /**< */ +} TraceMultiCoreEventBuffer_t; + +/** + * @internal Initialize multi-core event buffer. + * + * This routine initializes a multi-core trace event buffer and assignts it + * a memory area based on the supplied buffer. + * + * Trace event buffer options specifies the buffer behavior regarding + * old data, the alternatives are TRC_EVENT_BUFFER_OPTION_SKIP and + * TRC_EVENT_BUFFER_OPTION_OVERWRITE (mutal exclusive). + * + * @param[out] pxTraceMultiCoreEventBuffer Pointer to unitialized multi-core trace event buffer. + * @param[in] uiOptions Trace event buffer options. + * @param[in] puiBuffer Pointer to buffer that will be used by the multi-core trace event buffer. + * @param[in] uiSize Size of buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceMultiCoreEventBufferInitialize(TraceMultiCoreEventBuffer_t* pxTraceMultiCoreEventBuffer, uint32_t uiOptions, + uint8_t* puiBuffer, uint32_t uiSize); + + + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Pushes data into multi-core trace event buffer. + * + * This routine attempts to push data into the multi-core trace event buffer. Selection + * of which core the data is pushed for is managed automatically through the + * TRC_CFG_GET_CURRENT_CORE macro which is defined on an RTOS basis. + * + * @param[in] pxTraceMultiCoreEventBuffer Pointer to initialized multi-core event buffer. + * @param[in] pvData Pointer to data should be pushed into multi-core event buffer. + * @param[in] uiSize Size of data that should be pushed into multi-core trace event buffer. + * @param[out] piBytesWritten Pointer to variable which the routine will write the number + * of bytes that was pushed into the multi-core trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceMultiCoreEventBufferPush(TraceMultiCoreEventBuffer_t* pxTraceMultiCoreEventBuffer, void* pvData, uint32_t uiSize, int32_t* piBytesWritten); + +#else + +/** + * @brief Pushes data into multi-core trace event buffer. + * + * This routine attempts to push data into the multi-core trace event buffer. Selection + * of which core the data is pushed for is managed automatically through the + * TRC_CFG_GET_CURRENT_CORE macro which is defined on an RTOS basis. + * + * @param[in] pxTraceMultiCoreEventBuffer Pointer to initialized multi-core event buffer. + * @param[in] pvData Pointer to data should be pushed into multi-core event buffer. + * @param[in] uiSize Size of data that should be pushed into multi-core trace event buffer. + * @param[out] piBytesWritten Pointer to variable which the routine will write the number + * of bytes that was pushed into the multi-core trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceMultiCoreEventBufferPush(pxTraceMultiCoreEventBuffer, pvData, uiSize, piBytesWritten) xTraceEventBufferPush((pxTraceMultiCoreEventBuffer)->xEventBuffer[TRC_CFG_GET_CURRENT_CORE()], pvData, uiSize, piBytesWritten) + +#endif + +/** + * @brief Transfer multi-core trace event buffer data through streamport. + * + * This routine will attempt to transfer all existing data in the multi-core trace event + * buffer through the streamport. New data pushed to the trace event buffer + * during the execution of this routine will not be transfered to + * + * @param[in] pxTraceMultiCoreEventBuffer Pointer to initialized multi-core event buffer. + * @param[out] piBytesWritten Pointer to variable which the routine will write the number + * of bytes that was pushed into the multi-core trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceMultiCoreEventBufferTransfer(TraceMultiCoreEventBuffer_t* pxTraceMultiCoreEventBuffer, int32_t* piBytesWritten); + +/** + * @brief Clears all data from event buffer. + * + * @param[in] pxTraceMultiCoreEventBuffer Pointer to initialized multi-core trace event buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceMultiCoreEventBufferClear(TraceMultiCoreEventBuffer_t* pxTraceMultiCoreEventBuffer); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_MULTI_CORE_EVENT_BUFFER_H */ diff --git a/freertos/cvitek/install/include/kernel/trcObject.h b/freertos/cvitek/install/include/kernel/trcObject.h new file mode 100644 index 000000000..5df857487 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcObject.h @@ -0,0 +1,202 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace object APIs. + */ + +#ifndef TRC_OBJECT_H +#define TRC_OBJECT_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_object_apis Trace Object APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Registers trace object. + * + * @param[in] uiEventCode Event code. + * @param[in] pvObject Object. + * @param[in] szName Name. + * @param[in] uxStateCount State count. + * @param[in] uxStates States. + * @param[in] uxOptions Options. + * @param[out] pxObjectHandle Pointer to uninitialized trace object. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectRegisterInternal(uint32_t uiEventCode, void* pvObject, const char* szName, TraceUnsignedBaseType_t uxStateCount, TraceUnsignedBaseType_t uxStates[], TraceUnsignedBaseType_t uxOptions, TraceObjectHandle_t* pxObjectHandle); + +/** + * @brief Registers trace object. + * + * @param[in] uiEventCode Event code. + * @param[in] pvObject Object. + * @param[in] szName Name. + * @param[in] uxState State. + * @param[out] pxObjectHandle Pointer to uninitialized trace object. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectRegister(uint32_t uiEventCode, void *pvObject, const char* szName, TraceUnsignedBaseType_t uxState, TraceObjectHandle_t *pxObjectHandle); + +/** + * @brief Unregisters trace object. + * + * @param[in] xObjectHandle Pointer to initialized trace object. + * @param[in] uiEventCode Event code. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectUnregister(TraceObjectHandle_t xObjectHandle, uint32_t uiEventCode, TraceUnsignedBaseType_t uxState); + +/** + * @brief Sets trace object name. + * + * @param[in] xObjectHandle Pointer to initialized trace object. + * @param[in] szName Name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectSetName(TraceObjectHandle_t xObjectHandle, const char *szName); + +/** + * @brief Sets trace object state. + * + * @param[in] xObjectHandle Pointer to initialized trace object. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceObjectSetState(xObjectHandle, uxState) xTraceObjectSetSpecificState(xObjectHandle, 0, uxState) + +/** + * @brief Sets trace object specific state state. + * + * @param[in] xObjectHandle Pointer to initialized trace object. + * @param[in] uiIndex State Index. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceObjectSetSpecificState(xObjectHandle, uiIndex, uxState) xTraceEntrySetState((TraceEntryHandle_t)(xObjectHandle), uiIndex, uxState) + +/** + * @brief Sets trace object options. + * + * @param[in] xObjectHandle Pointer to initialized trace object. + * @param[in] uiOptions Options. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceObjectSetOptions(xObjectHandle, uiOptions) xTraceEntrySetOptions((TraceEntryHandle_t)(xObjectHandle), uiOptions) + +/** + * @brief Registers trace object without trace object handle. + * + * @param[in] uiEventCode Event code. + * @param[in] pvObject Object. + * @param[in] szName Name. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectRegisterWithoutHandle(uint32_t uiEventCode, void* pvObject, const char* szName, TraceUnsignedBaseType_t uxState); + +/** + * @brief Unregisters trace object without trace object handle. + * + * @param[in] uiEventCode Event code. + * @param[in] pvObject Object. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectUnregisterWithoutHandle(uint32_t uiEventCode, void* pvObject, TraceUnsignedBaseType_t uxState); + +/** + * @brief Set trace object name without trace object handle. + * + * @param[in] pvObject Object. + * @param[in] szName Name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectSetNameWithoutHandle(void* pvObject, const char* szName); + +/** + * @brief Set trace object state without trace object handle. + * + * @param[in] pvObject Object. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceObjectSetStateWithoutHandle(pvObject, uxState) xTraceObjectSetSpecificStateWithoutHandle(pvObject, 0, uxState) + +/** + * @brief Sets trace object specific state without trace object + * handle. + * + * @param[in] pvObject Object. + * @param[in] uiIndex State index. + * @param[in] uxState State. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectSetSpecificStateWithoutHandle(void* pvObject, uint32_t uiIndex, TraceUnsignedBaseType_t uxState); + +/** + * @brief Sets trace object options without trace object handle. + * + * @param[in] pvObject Object. + * @param[in] uiOptions Options. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceObjectSetOptionsWithoutHandle(void* pvObject, uint32_t uiOptions); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_OBJECT_H */ diff --git a/freertos/cvitek/install/include/kernel/trcPrint.h b/freertos/cvitek/install/include/kernel/trcPrint.h new file mode 100644 index 000000000..d1ecfe723 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcPrint.h @@ -0,0 +1,207 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace print APIs. + */ + +#ifndef TRC_PRINT_H +#define TRC_PRINT_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_print_apis Trace Print APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#if (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) + +/** @internal */ +#define TRC_PRINT_BUFFER_SIZE (sizeof(TraceStringHandle_t) + sizeof(TraceStringHandle_t)) + +/** + * @internal Trace Print Buffer Structure + */ +typedef struct TracePrintBuffer +{ + uint32_t buffer[(TRC_PRINT_BUFFER_SIZE) / sizeof(uint32_t)]; +} TracePrintBuffer_t; + +/** + * @internal Initialize print trace system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the print + * trace system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTracePrintInitialize(TracePrintBuffer_t* pxBuffer); + +/** + * @brief Generate "User Events" with unformatted text. + * + * User Events can be used for very efficient application logging, and are shown + * as yellow labels in the main trace view. + * + * You may group User Events into User Event Channels. The yellow User Event + * labels shows the logged string, preceded by the channel name within + * brackets. For example: + * + * "[MyChannel] Hello World!" + * + * The User Event Channels are shown in the View Filter, which makes it easy to + * select what User Events you wish to display. User Event Channels are created + * using xTraceStringRegister(). + * + * Example: + * + * TraceStringHandle_t xChannel = xTraceStringRegister("MyChannel"); + * ... + * xTracePrint(xChannel, "Hello World!"); + * + * @param[in] xChannel Channel. + * @param[in] szString String. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTracePrint(TraceStringHandle_t xChannel, const char* szString); + +/** + * @brief Wrapper for vTracePrintF for printing to default channel. + * + * Wrapper for vTracePrintF, using the default channel. Can be used as a drop-in + * replacement for printf and similar functions, e.g. in a debug logging macro. + * + * Example: + * // Old: #define LogString debug_console_printf + * + * // New, log to Tracealyzer instead: + * #define LogString xTraceConsoleChannelPrintF + * ... + * LogString("My value is: %d", myValue); + * + * @param[in] szFormat Format + * @param[in] ... + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceConsoleChannelPrintF(const char* szFormat, ...); + +/** + * @brief Generates "User Events" with formatted text and data. + * + * Generates "User Events", with formatted text and data, similar to a "printf". + * It is very fast since the actual formatting is done on the host side when the + * trace is displayed. + * + * User Events can be used for very efficient application logging, and are shown + * as yellow labels in the main trace view. + * An advantage of User Events is that data can be plotted in the "User Event + * Signal Plot" view, visualizing any data you log as User Events, discrete + * states or control system signals (e.g. system inputs or outputs). + * + * You may group User Events into User Event Channels. The yellow User Event + * labels show the logged string, preceded by the channel name within brackets. + * + * Example: + * + * "[MyChannel] Hello World!" + * + * The User Event Channels are shown in the View Filter, which makes it easy to + * select what User Events you wish to display. User Event Channels are created + * using xTraceStringRegister(). + * + * Example: + * + * TraceStringHandle_t adc_uechannel = xTraceStringRegister("ADC User Events"); + * ... + * xTracePrintF(adc_uechannel, + * "ADC channel %d: %d volts", + * ch, adc_reading); + * + * All data arguments are assumed to be 32 bit wide. The following formats are + * supported: + * %d - signed integer. The following width and padding format is supported: "%05d" -> "-0042" and "%5d" -> " -42" + * %u - unsigned integer. The following width and padding format is supported: "%05u" -> "00042" and "%5u" -> " 42" + * %X - hexadecimal (uppercase). The following width and padding format is supported: "%04X" -> "002A" and "%4X" -> " 2A" + * %x - hexadecimal (lowercase). The following width and padding format is supported: "%04x" -> "002a" and "%4x" -> " 2a" + * %s - string (currently, this must be an earlier stored symbol name) + * + * Up to 15 data arguments are allowed, with a total size of maximum 60 byte + * including 8 byte for the base event fields and the format string. So with + * one data argument, the maximum string length is 48 chars. If this is exceeded + * the string is truncated (4 bytes at a time). + * + * @param[in] xChannel Channel. + * @param[in] szFormat Format. + * @param[in] ... + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTracePrintF(TraceStringHandle_t xChannel, const char* szFormat, ...); + +/** + * @brief Generates "User Events" with formatted text and data. + * + * @param[in] xChannel Channel. + * @param[in] szFormat Format. + * @param[in] xVL Variable list arguments. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceVPrintF(TraceStringHandle_t xChannel, const char* szFormat, va_list xVL); + +#else /* (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) */ + +typedef struct TracePrintBuffer +{ + uint32_t buffer[1]; +} TracePrintBuffer_t; + +#define xTracePrintInitialize(p) ((void)p, p != 0 ? TRC_SUCCESS : TRC_FAIL) + +#define xTracePrint(c, s) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)c, (void)s, TRC_SUCCESS) + +#define xTracePrintF(c, s, ...) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)c, (void)s, TRC_SUCCESS) + +#define xTraceConsoleChannelPrintF(s, ...) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)s, TRC_SUCCESS) + +#define xTraceVPrintF(c, s, v) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)c, (void)s, (void)v, TRC_SUCCESS) + +#endif /* (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + + +#endif /* TRC_PRINT_H */ diff --git a/freertos/cvitek/install/include/kernel/trcRecorder.h b/freertos/cvitek/install/include/kernel/trcRecorder.h new file mode 100644 index 000000000..9802062b6 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcRecorder.h @@ -0,0 +1,1970 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef TRC_RECORDER_H +#define TRC_RECORDER_H + +/** + * @file + * + * @brief The public API of the Percepio trace recorder. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Trace Recorder APIs + * @defgroup trace_recorder_apis Trace Recorder APIs + * @{ + * @} + */ + +#define TRC_ACKNOWLEDGED (0xABC99123) + +#include +#include +#include +#include + +#ifndef TRC_CFG_TEST_MODE +#define TRC_CFG_TEST_MODE 0 +#endif + +/* Unless defined by the kernel port, we assume there is no support for + * the classic snapshot mode and default to streaming mode where + * the new RingBuffer snapshot mode provides snapshot functionality. + */ +#ifndef TRC_CFG_RECORDER_MODE +#define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_STREAMING +#endif + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) +#include +#include + +/* Calls xTraceError if the _assert condition is false. For void functions, +where no return value is to be provided. */ +#define TRC_ASSERT_VOID(_assert, _err) if (! (_assert)){ prvTraceError(_err); return; } + +/* Calls xTraceError if the _assert condition is false. For non-void functions, +where a return value is to be provided. */ +#define TRC_ASSERT_RET(_assert, _err, _return) if (! (_assert)){ prvTraceError(_err); return _return; } + +typedef uint8_t traceUBChannel; +typedef uint8_t traceObjectClass; + +#undef traceHandle +#if (TRC_CFG_USE_16BIT_OBJECT_HANDLES == 1) +typedef uint16_t traceHandle; +#else /* (TRC_CFG_USE_16BIT_OBJECT_HANDLES == 1) */ +typedef uint8_t traceHandle; +#endif /* (TRC_CFG_USE_16BIT_OBJECT_HANDLES == 1) */ + +#undef TraceISRHandle_t +#define TraceISRHandle_t traceHandle + +#include +#include + +/* Not yet available in snapshot mode */ +#define vTraceConsoleChannelPrintF(fmt, ...) (void) +#define xTraceConsoleChannelPrintF(fmt, ...) (void) +#define prvTraceStoreEvent_None(...) +#define prvTraceStoreEvent_Handle(...) +#define prvTraceStoreEvent_Param(...) +#define prvTraceStoreEvent_HandleParam(...) +#define prvTraceStoreEvent_ParamParam(...) +#define prvTraceStoreEvent_HandleParamParam(...) +#define prvTraceStoreEvent_ParamParamParam(...) + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) */ + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) +#include +#include + +/* Unless specified in trcConfig.h we assume this is a single core target */ +#ifndef TRC_CFG_CORE_COUNT +#define TRC_CFG_CORE_COUNT 1 +#endif + +/* Unless specified in trcConfig.h we assume this is a single core target */ +#ifndef TRC_CFG_GET_CURRENT_CORE +#define TRC_CFG_GET_CURRENT_CORE() 0 +#endif + +/* Unless specified in trcConfig.h or trcKernelPortConfig.h we assume + * GCC statement expressions aren't supported. */ +#ifndef TRC_CFG_USE_GCC_STATEMENT_EXPR +#define TRC_CFG_USE_GCC_STATEMENT_EXPR 0 +#endif + +/* Backwards compatibility */ +#undef traceHandle +#define traceHandle TraceISRHandle_t + +/* Maximum event size */ +#define TRC_MAX_BLOB_SIZE (16 * sizeof(uint32_t)) + +/* Platform name length */ +#define TRC_PLATFORM_CFG_LENGTH 8 + +/* Header size */ +#define TRC_HEADER_BUFFER_SIZE (sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + (sizeof(char) * (TRC_PLATFORM_CFG_LENGTH)) + sizeof(uint16_t) + sizeof(uint8_t) + sizeof(uint8_t)) + +typedef struct TraceHeaderBuffer +{ + uint8_t buffer[TRC_HEADER_BUFFER_SIZE]; +} TraceHeaderBuffer_t; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +/* These includes offer functionality for Streaming mode only, but they are included here in order to avoid compilation errors */ +#include +#include +#include + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +/******************************************************************************/ +/*** Common API - both Snapshot and Streaming mode ****************************/ +/******************************************************************************/ + +/** + * @brief + * + * Initializes the recorder data. xTraceInitialize() or xTraceEnable(...) + * must be called before any attempts at adding trace data/information. + * See xTraceEnable(...) for more information. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceInitialize(void); + +/** + * @brief + * + * This function enables tracing. + * To use the trace recorder, the startup must call xTraceInitialize() or + * xTraceEnable(...) before any RTOS calls are made (including "create" calls). + * Three start options are provided: + * + * TRC_START: Starts the tracing directly. In snapshot mode this allows for + * starting the trace at any point in your code, assuming xTraceInitialize() + * has been called in the startup. Can also be used for streaming without + * Tracealyzer control, e.g. to a local flash file system (assuming such a + * "stream port", see trcStreamPort.h). + * + * TRC_START_AWAIT_HOST: For streaming mode only. Initializes the trace recorder + * if necessary and waits for a Start command from Tracealyzer ("Start Recording" + * button). This call is intentionally blocking! By calling xTraceEnable with + * this option from the startup code, you start tracing at this point and capture + * the early events. + * + * TRC_START_FROM_HOST: For streaming mode only. Initializes the trace recorder + * if necessary and creates a task that waits for a Start command from + * Tracealyzer ("Start Recording" button). This call is not blocking. + * + * @example Usage examples + * + * Snapshot trace, from startup: + * + * xTraceEnable(TRC_START); // Will call xTraceInitialize() + * + * + * Snapshot trace, from a later point: + * + * xTraceInitialize(); + * + * ... + * xTraceEnable(TRC_START); // e.g., in task context, at some relevant event + * + * Streaming trace, from startup (can only be used with certain stream ports): + * + * xTraceInitialize(); + * + * xTraceEnable(TRC_START); + * + * Streaming trace, from startup: + * + * xTraceEnable(TRC_START_AWAIT_HOST); // Blocks! + * + * + * Streaming trace, from a later point: + * + * xTraceInitialize(); + * + * xTraceEnable(TRC_START); + * + * Streaming trace, system executes normally until host starts tracing: + * + * xTraceInitialize(); + * + * xTraceEnable(TRC_START_FROM_HOST) + * + * @param[in] uiStartOption Start option. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceEnable(uint32_t uiStartOption); + +/** + * @brief Disables tracing. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceDisable(void); + +/** + * @brief + * + * For snapshot mode only: Sets the "filter group" to assign when creating + * RTOS objects, such as tasks, queues, semaphores and mutexes. This together + * with vTraceSetFilterMask allows you to control what events that are recorded, + * based on the objects they refer to. + * + * There are 16 filter groups named FilterGroup0 .. FilterGroup15. + * + * Note: We don't recommend filtering out the Idle task, so make sure to call + * vTraceSetFilterGroup just before initializing the RTOS, in order to assign + * such "default" objects to the right Filter Group (typically group 0). + * + * Example: + * + * // Assign tasks T1 to FilterGroup0 (default) + * + * + * // Assign Q1 and Q2 to FilterGroup1 + * vTraceSetFilterGroup(FilterGroup1); + * + * + * + * // Assigns Q3 to FilterGroup2 + * vTraceSetFilterGroup(FilterGroup2); + * + * + * // Only include FilterGroup0 and FilterGroup2, exclude FilterGroup1 (Q1 and Q2) from the trace + * vTraceSetFilterMask( FilterGroup0 | FilterGroup2 ); + * + * // Assign the default RTOS objects (e.g. Idle task) to FilterGroup0 + * vTraceSetFilterGroup(FilterGroup0); + * + * + * Note that you may define your own names for the filter groups using + * preprocessor definitions, to make the code easier to understand. + * + * Example: + * + * #define BASE FilterGroup0 + * #define USB_EVENTS FilterGroup1 + * #define CAN_EVENTS FilterGroup2 + * + * Note that filtering per event type (regardless of object) is also available + * in trcKernelPortConfig.h for certain kernels. + * + * @param[in] filterGroup Filter group + */ +void vTraceSetFilterGroup(uint16_t filterGroup); + +/** + * @brief + * + * For snapshot mode only: Sets the "filter mask" that is used to filter + * the events by object. This can be used to reduce the trace data rate, i.e., + * if your streaming interface is a bottleneck or if you want longer snapshot + * traces without increasing the buffer size. + * + * Note: There are two kinds of filters in the recorder. The other filter type + * excludes all events of certain kinds (e.g., OS ticks). See trcConfig.h. + * + * The filtering is based on bitwise AND with the Filter Group ID, assigned + * to RTOS objects such as tasks, queues, semaphores and mutexes. + * This together with vTraceSetFilterGroup allows you to control what + * events that are recorded, based on the objects they refer to. + * + * See example for vTraceSetFilterGroup. + * + * @param[in] filterMask Filter mask + */ +void vTraceSetFilterMask(uint16_t filterMask); + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT) + +#include + +/** + * @brief Returns lower 16 bits of a value + * + * @param[in] value The starting value + */ +#define TRACE_GET_LOW16(value) ((uint16_t)((value) & 0x0000FFFF)) + +/** + * @brief Returns upper 16 bits + * + * @param[in] value The starting value + */ +#define TRACE_GET_HIGH16(value) ((uint16_t)(((value) >> 16) & 0x0000FFFF)) + +/** + * @brief Sets lower 16 bits + * + * @param[in] current The starting value + * @param[in] value The value to set + */ +#define TRACE_SET_LOW16(current, value) (((current) & 0xFFFF0000) | (value)) + +/** + * @brief Sets upper 16 bits + * + * @param[in] current The starting value + * @param[in] value The value to set + */ +#define TRACE_SET_HIGH16(current, value) (((current) & 0x0000FFFF) | (((uint32_t)(value)) << 16)) + +#if defined (TRC_CFG_ENABLE_STACK_MONITOR) && (TRC_CFG_ENABLE_STACK_MONITOR == 1) && (TRC_CFG_SCHEDULING_ONLY == 0) +/** + * @brief Adds a task to the stack monitor + * + * @param[in] task The task + */ +void prvAddTaskToStackMonitor(void* task); + +/** + * @brief Remove a task from the stack monitor + * + * @param[in] task The task + */ +void prvRemoveTaskFromStackMonitor(void* task); + +/** + * @brief Reports on the current stack usage + */ +void prvReportStackUsage(void); + +#else /* defined (TRC_CFG_ENABLE_STACK_MONITOR) && (TRC_CFG_ENABLE_STACK_MONITOR == 1) && (TRC_CFG_SCHEDULING_ONLY == 0) */ + +#define prvAddTaskToStackMonitor(task) +#define prvRemoveTaskFromStackMonitor(task) +#define prvReportStackUsage() + +#endif /* defined (TRC_CFG_ENABLE_STACK_MONITOR) && (TRC_CFG_ENABLE_STACK_MONITOR == 1) && (TRC_CFG_SCHEDULING_ONLY == 0) */ + +/** + * @internal Deprecated - Registers an ISR + */ +traceHandle xTraceSetISRProperties(const char* szName, uint8_t uiPriority); + +/** + * @brief + * + * Registers an ISR. + * + * Example: + * #define PRIO_ISR_TIMER1 3 // the hardware priority of the interrupt + * ... + * TraceISRHandle_t Timer1Handle; + * xTraceISRRegister("ISRTimer1", PRIO_ISR_TIMER1, &Timer1Handle); + * + * @param[in] szName ISR name + * @param[in] uiPriority ISR priority + * @param[in] pxISRHandle + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRRegister(const char* szName, uint32_t uiPriority, TraceISRHandle_t* pxISRHandle); + +/** + * @brief + * + * Registers the beginning of an Interrupt Service Routine, using a TraceISRHandle_t + * provided by xTraceISRRegister. + * + * Example: + * #define PRIO_ISR_TIMER1 3 // the hardware priority of the interrupt + * ... + * TraceISRHandle_t Timer1Handle; + * xTraceISRRegister("ISRTimer1", PRIO_ISR_TIMER1, &Timer1Handle); + * ... + * void ISR_handler() + * { + * xTraceISRBegin(Timer1Handle); + * ... + * xTraceISREnd(0); + * } + * + * @param[in] xHandle Handle for the previously registered ISR + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISRBegin(TraceISRHandle_t xHandle); + +#define vTraceStoreISRBegin(__handle) (void)xTraceISRBegin((TraceISRHandle_t)(__handle)) + +/** + * @brief + * + * Registers the end of an Interrupt Service Routine. + * + * The parameter pendingISR indicates if the interrupt has requested a + * task-switch (= 1), e.g., by signaling a semaphore. Otherwise (= 0) the + * interrupt is assumed to return to the previous context. + * + * Example: + * #define PRIO_ISR_TIMER1 3 // the hardware priority of the interrupt + * ... + * TraceISRHandle_t Timer1Handle; + * xTraceISRRegister("ISRTimer1", PRIO_ISR_TIMER1, &Timer1Handle); + * ... + * void ISR_handler() + * { + * xTraceISRBegin(Timer1Handle); + * ... + * xTraceISREnd(0); + * } + * + * @param[in] pendingISR Flag that indicates whether an ISR is pending + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceISREnd(int pendingISR); + +#define vTraceStoreISREnd(__pendingISR) (void)xTraceISREnd(__pendingISR) + +/** + * @brief Query if recorder is enabled + * + * @retval 1 if recorder is enabled + * @retval 0 if recorder is disabled + */ +uint32_t xTraceIsRecorderEnabled(void); + +/** + * @brief + * + * @retval 1 if recorder is initialized + * @retval 0 if recorder isn't initialized + */ +uint32_t xTraceIsRecorderInitialized(void); + +/** + * @brief + * + * Creates an event that ends the current task instance at this very instant. + * This makes the viewer to splits the current fragment at this point and begin + * a new actor instance, even if no task-switch has occurred. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskInstanceFinishedNow(void); + +/** + * @brief + * + * Marks the current "task instance" as finished on the next kernel call. + * + * If that kernel call is blocking, the instance ends after the blocking event + * and the corresponding return event is then the start of the next instance. + * If the kernel call is not blocking, the viewer instead splits the current + * fragment right before the kernel call, which makes this call the first event + * of the next instance. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskInstanceFinishedNext(void); + +/** + * @brief Registers a string and returns a handle that can be used when tracing + * + * @param[in] label Label + * @param[out] pxString String handle + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStringRegister(const char* label, TraceStringHandle_t* pxString); + +/** + * @brief Registers a string and returns a handle that can be used when tracing + * + * @deprecated Backwards compatibility + * + * @param[in] name Name. + * + * @return TraceStringHandle_t String handle + */ +TraceStringHandle_t xTraceRegisterString(const char* name); + +#if (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) +/** + * @brief + * + * Generates "User Events", with formatted text and data, similar to a "printf". + * User Events can be used for very efficient logging from your application code. + * It is very fast since the actual string formatting is done on the host side, + * when the trace is displayed. The execution time is just some microseconds on + * a 32-bit MCU. + * + * User Events are shown as yellow labels in the main trace view of $PNAME. + * + * An advantage of User Events is that data can be plotted in the "User Event + * Signal Plot" view, visualizing any data you log as User Events, discrete + * states or control system signals (e.g. system inputs or outputs). + * + * You may group User Events into User Event Channels. The yellow User Event + * labels show the logged string, preceded by the channel name within brackets. + * + * Example: + * + * "[MyChannel] Hello World!" + * + * The User Event Channels are shown in the View Filter, which makes it easy to + * select what User Events you wish to display. User Event Channels are created + * using xTraceStringRegister(). + * + * Example: + * + * TraceStringHandle_t adc_uechannel; + * xTraceStringRegister("ADC User Events", &adc_uechannel); + * ... + * xTracePrintF(adc_uechannel, + * "ADC channel %d: %d volts", + * ch, adc_reading); + * + * The following format specifiers are supported in both modes: + * %d - signed integer. + * %u - unsigned integer. + * %X - hexadecimal, uppercase. + * %x - hexadecimal, lowercase. + * %s - string (see comment below) + * + * For integer formats (%d, %u, %x, %X) you may also use width and padding. + * If using -42 as data argument, two examples are: + * "%05d" -> "-0042" + * "%5d" -> " -42". + * + * String arguments are supported in both snapshot and streaming, but in streaming + * mode you need to use xTraceStringRegister and use the returned TraceStringHandle_t as + * the argument. In snapshot you simply provide a char* as argument. + * + * Snapshot: xTracePrintF(myChn, "my string: %s", str); + * Streaming: xTracePrintF(myChn, "my string: %s", strTraceString); + * + * In snapshot mode you can specify 8-bit or 16-bit arguments to reduce RAM usage: + * %hd -> 16 bit (h) signed integer (d). + * %bu -> 8 bit (b) unsigned integer (u). + * + * However, in streaming mode all data arguments are assumed to be 32 bit wide. + * Width specifiers (e.g. %hd) are accepted but ignored (%hd treated like %d). + * + * The maximum event size also differs between the modes. In streaming this is + * limited by a maximum payload size of 52 bytes, including format string and + * data arguments. So if using one data argument, the format string is limited + * to 48 byte, etc. If this is exceeded, the format string is truncated and you + * get a warning in Tracealyzer. + * + * In snapshot mode you are limited to maximum 15 arguments, that must not exceed + * 32 bytes in total (not counting the format string). If exceeded, the recorder + * logs an internal error (displayed when opening the trace) and stops recording. + * + * @param[in] chn Channel. + * @param[in] fmt Formatting. + * @param[in] ... + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTracePrintF(TraceStringHandle_t chn, const char* fmt, ...); +#else +#define xTracePrintF(chn, fmt, ...) ((void)(chn), (void)(fmt), TRC_SUCCESS) /* Comma operator is used to avoid "unused variable" compiler warnings in a single statement */ +#endif + +#if (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) +/** + * @brief + * + * xTracePrintF variant that accepts a va_list. + * See xTracePrintF documentation for further details. + * + * @param[in] eventLabel + * @param[in] formatStr + * @param[in] vl + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceVPrintF(TraceStringHandle_t eventLabel, const char* formatStr, va_list vl); +#else +#define xTraceVPrintF(chn, formatStr, vl) ((void)(chn), (void)(formatStr), (void)(vl), TRC_SUCCESS) /* Comma operator is used to avoid "unused variable" compiler warnings in a single statement */ +#endif + +#if (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) +/** + * @brief A faster version of xTracePrintF, that only allows for logging a string. + * + * Example: + * + * TraceStringHandle_t chn; + * xTraceStringRegister("MyChannel", &chn); + * ... + * xTracePrint(chn, "Hello World!"); + * + * @param[in] chn Channel. + * @param[in] str String. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTracePrint(TraceStringHandle_t chn, const char* str); +#else +#define xTracePrint(chn, str) ((void)(chn), (void)(str), TRC_SUCCESS) +#endif + +/******************************************************************************/ +/*** Extended API for Snapshot mode *******************************************/ +/******************************************************************************/ + +/** + * @brief Trace stop callback type. + */ +typedef void(*TRACE_STOP_HOOK)(void); + +/** + * @brief Sets a function to be called when the recorder is stopped. + * + * @note Snapshot mode only! + * + * @param[in] stopHookFunction + */ +void vTraceSetStopHook(TRACE_STOP_HOOK stopHookFunction); + +/** + * @brief + * + * Resets the recorder. + * + * Only necessary if a restart is desired - this is not + * needed in the startup initialization. + * + * @note Snapshot mode only! + */ +void vTraceClear(void); + +/*****************************************************************************/ +/*** INTERNAL SNAPSHOT FUNCTIONS *********************************************/ +/*****************************************************************************/ + +#define TRC_UNUSED + +#ifndef TRC_CFG_INCLUDE_OBJECT_DELETE +#define TRC_CFG_INCLUDE_OBJECT_DELETE 0 +#endif + +#ifndef TRC_CFG_INCLUDE_READY_EVENTS +#define TRC_CFG_INCLUDE_READY_EVENTS 1 +#endif + +#ifndef TRC_CFG_INCLUDE_OSTICK_EVENTS +#define TRC_CFG_INCLUDE_OSTICK_EVENTS 0 +#endif + +/* This macro will create a task in the object table */ +#undef trcKERNEL_HOOKS_TASK_CREATE +#define trcKERNEL_HOOKS_TASK_CREATE(SERVICE, CLASS, pxTCB) \ + if ((pxTCB) != 0) \ + { \ + TRACE_SET_OBJECT_NUMBER(TASK, pxTCB); \ + TRACE_SET_OBJECT_FILTER(TASK, pxTCB, CurrentFilterGroup); \ + prvTraceSetObjectName(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), TRACE_GET_TASK_NAME(pxTCB)); \ + prvTraceSetPriorityProperty(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), TRACE_GET_TASK_PRIORITY(pxTCB)); \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); \ + } \ + else \ + { \ + /* pxTCB is null */ \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + { \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, 0); \ + } \ + } + +/* This macro will remove the task and store it in the event buffer */ +#undef trcKERNEL_HOOKS_TASK_DELETE +#define trcKERNEL_HOOKS_TASK_DELETE(SERVICE, SERVICE_NAME, SERVICE_PROP, pxTCB) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); \ + prvTraceStoreObjectNameOnCloseEvent(SERVICE_NAME, TRACE_GET_TASK_NUMBER(pxTCB), TRACE_CLASS_TASK); \ + prvTraceStoreObjectPropertiesOnCloseEvent(SERVICE_PROP, TRACE_GET_TASK_NUMBER(pxTCB), TRACE_CLASS_TASK); \ + prvTraceSetPriorityProperty(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), TRACE_GET_TASK_PRIORITY(pxTCB)); \ + prvTraceSetObjectState(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), TASK_STATE_INSTANCE_NOT_ACTIVE); \ + prvTraceFreeObjectHandle(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); + + +/* This macro will setup a task in the object table */ +#undef trcKERNEL_HOOKS_OBJECT_CREATE +#define trcKERNEL_HOOKS_OBJECT_CREATE(SERVICE, CLASS, pxObject) \ + TRACE_SET_OBJECT_NUMBER(CLASS, pxObject); \ + TRACE_SET_OBJECT_FILTER(CLASS, pxObject, CurrentFilterGroup); \ + prvMarkObjectAsUsed(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject));\ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject)); \ + prvTraceSetObjectState(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), 0); + +/* This macro will setup a task in the object table */ +#undef trcKERNEL_HOOKS_OBJECT_CREATE_FAILED +#define trcKERNEL_HOOKS_OBJECT_CREATE_FAILED(SERVICE, TRACE_CLASS)\ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + { \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS, 0); \ + } + +/* This macro will remove the object and store it in the event buffer */ +#undef trcKERNEL_HOOKS_OBJECT_DELETE +#define trcKERNEL_HOOKS_OBJECT_DELETE(SERVICE, SERVICE_NAME, SERVICE_PROP, CLASS, pxObject) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject)); \ + prvTraceStoreObjectNameOnCloseEvent(SERVICE_NAME, TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject)); \ + prvTraceStoreObjectPropertiesOnCloseEvent(SERVICE_PROP, TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject)); \ + prvTraceFreeObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject)); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE +#define trcKERNEL_HOOKS_KERNEL_SERVICE(SERVICE, CLASS, pxObject) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject)); + +/* This macro will create a call to a kernel service with a certain result, with a null object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT +#define trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT(SERVICE, TRACECLASS) \ + if (TRACE_GET_TASK_FILTER(TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACECLASS, 0); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM +#define trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM(SERVICE, CLASS, pxObject, param) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithParam(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), (uint32_t)param); + +/* This macro will create a call to a kernel service with a certain result, with a null object and other value as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_WITH_PARAM +#define trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_WITH_PARAM(SERVICE, TRACECLASS, param) \ + if (TRACE_GET_TASK_FILTER(TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithParam(SERVICE, TRACECLASS, 0, param); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_NUMERIC_PARAM_ONLY +#define trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_NUMERIC_PARAM_ONLY(SERVICE, param) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithNumericParamOnly(SERVICE, (uint32_t)param); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR +#define trcKERNEL_HOOKS_KERNEL_SERVICE_FROM_ISR(SERVICE, CLASS, pxObject) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject)); + +/* This macro will create a call to a kernel service with a certain result, with a null object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_FROM_ISR +#define trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_FROM_ISR(SERVICE, TRACECLASS) \ + prvTraceStoreKernelCall(SERVICE, TRACECLASS, 0); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM_FROM_ISR +#define trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_PARAM_FROM_ISR(SERVICE, CLASS, pxObject, param) \ + if (TRACE_GET_OBJECT_FILTER(CLASS, pxObject) & CurrentFilterMask) \ + prvTraceStoreKernelCallWithParam(SERVICE, TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), (uint32_t)param); + +/* This macro will create a call to a kernel service with a certain result, with a null object and other value as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_WITH_PARAM_FROM_ISR +#define trcKERNEL_HOOKS_KERNEL_SERVICE_NULL_OBJECT_WITH_PARAM_FROM_ISR(SERVICE, TRACECLASS, param) \ + prvTraceStoreKernelCallWithParam(SERVICE, TRACECLASS, 0, param); + +/* This macro will create a call to a kernel service with a certain result, with an object as parameter */ +#undef trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_NUMERIC_PARAM_ONLY_FROM_ISR +#define trcKERNEL_HOOKS_KERNEL_SERVICE_WITH_NUMERIC_PARAM_ONLY_FROM_ISR(SERVICE, param) \ + prvTraceStoreKernelCallWithNumericParamOnly(SERVICE, (uint32_t)param); + +/* This macro will set the state for an object */ +#undef trcKERNEL_HOOKS_SET_OBJECT_STATE +#define trcKERNEL_HOOKS_SET_OBJECT_STATE(CLASS, pxObject, STATE) \ + prvTraceSetObjectState(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject), TRACE_GET_OBJECT_NUMBER(CLASS, pxObject), (uint8_t)STATE); + +/* This macro will flag a certain task as a finished instance */ +#undef trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED +#define trcKERNEL_HOOKS_SET_TASK_INSTANCE_FINISHED() \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + prvTraceSetTaskInstanceFinished(TRACE_GET_TASK_NUMBER(TRACE_GET_CURRENT_TASK())); + +#if (TRC_CFG_INCLUDE_READY_EVENTS == 1) +/* This macro will create an event to indicate that a task became Ready */ +#undef trcKERNEL_HOOKS_MOVED_TASK_TO_READY_STATE +#define trcKERNEL_HOOKS_MOVED_TASK_TO_READY_STATE(pxTCB) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreTaskReady(TRACE_GET_TASK_NUMBER(pxTCB)); +#else /*(TRC_CFG_INCLUDE_READY_EVENTS == 1)*/ +#undef trcKERNEL_HOOKS_MOVED_TASK_TO_READY_STATE +#define trcKERNEL_HOOKS_MOVED_TASK_TO_READY_STATE(pxTCB) +#endif /*(TRC_CFG_INCLUDE_READY_EVENTS == 1)*/ + +/* This macro will update the internal tick counter and call prvTracePortGetTimeStamp(0) to update the internal counters */ +#undef trcKERNEL_HOOKS_INCREMENT_TICK +#define trcKERNEL_HOOKS_INCREMENT_TICK() \ + { \ + extern uint32_t uiTraceTickCount; \ + uiTraceTickCount++; \ + prvTracePortGetTimeStamp(0); \ + } + +#if (TRC_CFG_INCLUDE_OSTICK_EVENTS == 1) +/* This macro will create an event indicating that the OS tick count has increased */ +#undef trcKERNEL_HOOKS_NEW_TIME +#define trcKERNEL_HOOKS_NEW_TIME(SERVICE, xValue) \ + prvTraceStoreKernelCallWithNumericParamOnly(SERVICE, xValue); +#else /*(TRC_CFG_INCLUDE_OSTICK_EVENTS == 1)*/ +#undef trcKERNEL_HOOKS_NEW_TIME +#define trcKERNEL_HOOKS_NEW_TIME(SERVICE, xValue) +#endif /*(TRC_CFG_INCLUDE_OSTICK_EVENTS == 1)*/ + +/* This macro will create a task switch event to the currently executing task */ +#undef trcKERNEL_HOOKS_TASK_SWITCH +#define trcKERNEL_HOOKS_TASK_SWITCH( pxTCB ) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreTaskswitch(TRACE_GET_TASK_NUMBER(pxTCB)); + +/* This macro will create an event to indicate that the task has been suspended */ +#undef trcKERNEL_HOOKS_TASK_SUSPEND +#define trcKERNEL_HOOKS_TASK_SUSPEND(SERVICE, pxTCB) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); \ + prvTraceSetTaskInstanceFinished((uint8_t)TRACE_GET_TASK_NUMBER(pxTCB)); + +/* This macro will create an event to indicate that a task has called a wait/delay function */ +#undef trcKERNEL_HOOKS_TASK_DELAY +#define trcKERNEL_HOOKS_TASK_DELAY(SERVICE, pxTCB, xValue) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + { \ + prvTraceStoreKernelCallWithNumericParamOnly(SERVICE, xValue); \ + prvTraceSetTaskInstanceFinished((uint8_t)TRACE_GET_TASK_NUMBER(pxTCB)); \ + } + +/* This macro will create an event to indicate that a task has gotten its priority changed */ +#undef trcKERNEL_HOOKS_TASK_PRIORITY_CHANGE +#define trcKERNEL_HOOKS_TASK_PRIORITY_CHANGE(SERVICE, pxTCB, uxNewPriority) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + { \ + prvTraceStoreKernelCallWithParam(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), prvTraceGetPriorityProperty(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)));\ + prvTraceSetPriorityProperty(TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB), (uint8_t)uxNewPriority); \ + } + +/* This macro will create an event to indicate that the task has been resumed */ +#undef trcKERNEL_HOOKS_TASK_RESUME +#define trcKERNEL_HOOKS_TASK_RESUME(SERVICE, pxTCB) \ + if (TRACE_GET_OBJECT_FILTER(TASK, TRACE_GET_CURRENT_TASK()) & CurrentFilterMask) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); + +/* This macro will create an event to indicate that the task has been resumed from ISR */ +#undef trcKERNEL_HOOKS_TASK_RESUME_FROM_ISR +#define trcKERNEL_HOOKS_TASK_RESUME_FROM_ISR(SERVICE, pxTCB) \ + if (TRACE_GET_OBJECT_FILTER(TASK, pxTCB) & CurrentFilterMask) \ + prvTraceStoreKernelCall(SERVICE, TRACE_CLASS_TASK, TRACE_GET_TASK_NUMBER(pxTCB)); + +#if !defined TRC_CFG_INCLUDE_READY_EVENTS || TRC_CFG_INCLUDE_READY_EVENTS == 1 +/** + * @brief Dynamically enables ready events + * + * @param[in] flag Flag + */ +void prvTraceSetReadyEventsEnabled(uint32_t flag); + +/** + * @brief Stores a Task Ready event + * + * @param[in] handle Task handle + */ +void prvTraceStoreTaskReady(traceHandle handle); +#else +#define prvTraceSetReadyEventsEnabled(status) (void)status; +#endif + +/** + * @brief Stores a Low Power mode event + * + * @param[in] flag Flag + */ +void prvTraceStoreLowPower(uint32_t flag); + +/** + * @brief Stores a Task Switch event + * + * @param[in] task_handle Task + */ +void prvTraceStoreTaskswitch(traceHandle task_handle); + +#if (TRC_CFG_SCHEDULING_ONLY == 0) + +/** + * @brief Stores a Kernel Service call event with an Object handle parameter + * + * @param[in] eventcode Event code + * @param[in] objectClass Object class + * @param[in] objectNumber Object handle + */ +void prvTraceStoreKernelCall(uint32_t eventcode, traceObjectClass objectClass, uint32_t objectNumber); + +/** + * @brief Stores a Kernel Service call event with only a numeric parameter + * + * @param[in] evtcode Event code + * @param[in] param Parameter + */ +void prvTraceStoreKernelCallWithNumericParamOnly(uint32_t evtcode, uint32_t param); + +/** + * @brief Stores a Kernel Service call event with an Object handle and a numeric parameter + * + * @param[in] evtcode Event code + * @param[in] objectClass Object class + * @param[in] objectNumber Object handle + * @param[in] param Parameter + */ +void prvTraceStoreKernelCallWithParam(uint32_t evtcode, traceObjectClass objectClass, + uint32_t objectNumber, uint32_t param); +#else + +#define prvTraceStoreKernelCall(eventcode, objectClass, byteParam) {} +#define prvTraceStoreKernelCallWithNumericParamOnly(evtcode, param) {} +#define prvTraceStoreKernelCallWithParam(evtcode, objectClass, objectNumber, param) {} + +#endif + +/** + * @brief Flags a task instance as finished + * + * @param[in] handle Task handle + */ +void prvTraceSetTaskInstanceFinished(traceHandle handle); + +/** + * @brief Set priority + * + * @param[in] objectclass Object class + * @param[in] id Object handle + * @param[in] value Value + */ +void prvTraceSetPriorityProperty(uint8_t objectclass, traceHandle id, uint8_t value); + +/** + * @brief Get priority + * + * @param[in] objectclass Object class + * @param[in] id Object handle + * + * @return uint8_t Value + */ +uint8_t prvTraceGetPriorityProperty(uint8_t objectclass, traceHandle id); + +/** + * @brief Set object state + * + * @param[in] objectclass Object class + * @param[in] id Object handle + * @param[in] value Value + */ +void prvTraceSetObjectState(uint8_t objectclass, traceHandle id, uint8_t value); + +/** + * @brief Mark object as used + * + * @param[in] objectclass Object class + * @param[in] handle Object handle + */ +void prvMarkObjectAsUsed(traceObjectClass objectclass, traceHandle handle); + +/** + * @brief Stores the name of an object because it is being deleted + * + * @param[in] evtcode Event code + * @param[in] handle Object handle + * @param[in] objectclass Object class + */ +void prvTraceStoreObjectNameOnCloseEvent(uint8_t evtcode, traceHandle handle, + traceObjectClass objectclass); + +/** + * @brief Stores the property of an object because it is being deleted + * + * @param[in] evtcode Event code + * @param[in] handle Object handle + * @param[in] objectclass Object class + */ +void prvTraceStoreObjectPropertiesOnCloseEvent(uint8_t evtcode, traceHandle handle, + traceObjectClass objectclass); + +/* Internal constants for task state */ +#define TASK_STATE_INSTANCE_NOT_ACTIVE 0 +#define TASK_STATE_INSTANCE_ACTIVE 1 + + +#if (TRC_CFG_INCLUDE_ISR_TRACING == 0) + +#undef vTraceSetISRProperties +#define vTraceSetISRProperties(handle, name, priority) (void)(handle), (void)(name), (void)(priority) /* Comma operator is used to avoid "unused variable" compiler warnings in a single statement */ + +#undef vTraceStoreISRBegin +#define vTraceStoreISRBegin(x) (void)(x) + +#undef vTraceStoreISREnd +#define vTraceStoreISREnd(x) (void)(x) + +#undef xTraceSetISRProperties +#define xTraceSetISRProperties(name, priority) ((void)(name), (void)(priority), (traceHandle)0) /* Comma operator in parenthesis is used to avoid "unused variable" compiler warnings and return 0 in a single statement */ + +#endif /*(TRC_CFG_INCLUDE_ISR_TRACING == 0)*/ + +/** + * @brief + * + * Returns a pointer to the recorder data structure. Use this together with + * uiTraceGetTraceBufferSize if you wish to implement an own store/upload + * solution, e.g., in case a debugger connection is not available for uploading + * the data. + * + * @return void* Buffer pointer + */ +void* xTraceGetTraceBuffer(void); + +/** + * @brief + * + * Gets the size of the recorder data structure. For use together with + * xTraceGetTraceBuffer if you wish to implement an own store/upload solution, + * e.g., in case a debugger connection is not available for uploading the data. + * + * @return uint32_t Buffer size + */ +uint32_t uiTraceGetTraceBufferSize(void); + +#if (TRC_CFG_SCHEDULING_ONLY == 1) +#undef TRC_CFG_INCLUDE_USER_EVENTS +#define TRC_CFG_INCLUDE_USER_EVENTS 0 +#endif /*(TRC_CFG_SCHEDULING_ONLY == 1)*/ + +#if ((TRC_CFG_INCLUDE_USER_EVENTS == 1) && (TRC_CFG_SCHEDULING_ONLY == 0)) && (TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER == 1) + +/** + * @brief Register a channel and fixed format string for use with the separate User Event Buffer functions + * + * @param[in] channel Channel name handle + * @param[in] formatStr Format string that will be used for all events on this channel + * + * @return traceUBChannel Channel handle + */ +traceUBChannel xTraceRegisterUBChannel(TraceStringHandle_t channel, TraceStringHandle_t formatStr); + +/** + * @brief Creates a User Event using the channel, previously set format string and data parameters + * + * @param[in] channel Channel + * @param[in] ... + */ +void vTraceUBData(traceUBChannel channel, ...); + +/** + * @brief Creates a User Event using the channel and previously set string + * + * @param[in] channel Channel + */ +void vTraceUBEvent(traceUBChannel channel); +#else +#define xTraceRegisterChannelFormat(eventLabel, formatStr) ((void)(eventLabel), (void)(formatStr), 0) +#define vTraceUBData(label, ...) (void)(label) +#endif /*(TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER == 1)*/ + +#define NEventCodes 0x100 + +/* Our local critical sections for the recorder */ +#define trcCRITICAL_SECTION_BEGIN() {TRACE_ENTER_CRITICAL_SECTION(); recorder_busy++;} +#define trcCRITICAL_SECTION_END() {recorder_busy--; TRACE_EXIT_CRITICAL_SECTION();} + +#if (TRC_CFG_HARDWARE_PORT == TRC_HARDWARE_PORT_ARM_Cortex_M) + #define trcSR_ALLOC_CRITICAL_SECTION_ON_CORTEX_M_ONLY TRACE_ALLOC_CRITICAL_SECTION + #define trcCRITICAL_SECTION_BEGIN_ON_CORTEX_M_ONLY trcCRITICAL_SECTION_BEGIN + #define trcCRITICAL_SECTION_END_ON_CORTEX_M_ONLY trcCRITICAL_SECTION_END +#else + #define trcSR_ALLOC_CRITICAL_SECTION_ON_CORTEX_M_ONLY() {} + #define trcCRITICAL_SECTION_BEGIN_ON_CORTEX_M_ONLY() recorder_busy++; + #define trcCRITICAL_SECTION_END_ON_CORTEX_M_ONLY() recorder_busy--; +#endif + +/** + * @brief Object handle stack struct. + * + * This data-structure is used to provide a mechanism for 1-byte trace object + * handles. This way, only 1 byte is necessary instead of 4 bytes (a pointer) + * when storing a reference to an object. This allows for up to 255 objects of + * each object class active at any given moment. There can be more "historic" + * objects, that have been deleted - that number is only limited by the size of + * the symbol table. + * + * Note that handle zero (0) is not used, it is a code for an invalid handle. + * + * This data structure keeps track of the FREE handles, not the handles in use. + * This data structure contains one stack per object class. When a handle is + * allocated to an object, the next free handle is popped from the stack. When + * a handle is released (on object delete), it is pushed back on the stack. + * Note that there is no initialization code that pushed the free handles + * initially, that is not necessary due to the following optimization: + * + * The stack of handles (objectHandles) is initially all zeros. Since zero + * is not a valid handle, that is a signal of additional handles needed. + * If a zero is received when popping a new handle, it is replaced by the + * index of the popped handle instead. + */ +typedef struct +{ + uint16_t indexOfNextAvailableHandle[ TRACE_NCLASSES ]; /**< For each object class, the index of the next handle to allocate */ + uint16_t lowestIndexOfClass[ TRACE_NCLASSES ]; /**< The lowest index of this class (constant) */ + uint16_t highestIndexOfClass[ TRACE_NCLASSES ]; /**< The highest index of this class (constant) */ + uint16_t handleCountWaterMarksOfClass[ TRACE_NCLASSES ]; /**< The highest use count for this class (for statistics) */ + traceHandle objectHandles[ TRACE_KERNEL_OBJECT_COUNT ]; /**< The free object handles - a set of stacks within this array */ +} objectHandleStackType; + +extern objectHandleStackType objectHandleStacks; + +/** + * @brief Object property table struct + * + * The Object Table contains name and other properties of the objects (tasks, + * queues, mutexes, etc). The below data structures defines the properties of + * each object class and are used to cast the byte buffer into a cleaner format. + * + * The values in the object table are continuously overwritten and always + * represent the current state. If a property is changed during runtime, the OLD + * value should be stored in the trace buffer, not the new value (since the new + * value is found in the Object Property Table). + * + * For close events this mechanism is the old names are stored in the symbol + * table), for "priority set" (the old priority is stored in the event data) + * and for "isActive", where the value decides if the task switch event type + * should be "new" or "resume". + */ +typedef struct +{ + /* = NCLASSES */ + uint32_t NumberOfObjectClasses; /**< */ + uint32_t ObjectPropertyTableSizeInBytes; /**< */ + + /* This is used to calculate the index in the dynamic object table + (handle - 1 - nofStaticObjects = index)*/ +#if (TRC_CFG_USE_16BIT_OBJECT_HANDLES == 1) + traceHandle NumberOfObjectsPerClass[2*((TRACE_NCLASSES+1)/2)]; /** */ +#else + traceHandle NumberOfObjectsPerClass[4*((TRACE_NCLASSES+3)/4)]; /** */ +#endif + /* Allocation size rounded up to the closest multiple of 4 */ + uint8_t NameLengthPerClass[ 4*((TRACE_NCLASSES+3)/4) ]; /**< */ + + /* Allocation size rounded up to the closest multiple of 2 */ + uint8_t TotalPropertyBytesPerClass[ 4*((TRACE_NCLASSES+3)/4) ]; /**< */ + + /* */ + uint16_t StartIndexOfClass[ 2*((TRACE_NCLASSES+1)/2) ]; /**< */ + + /* The actual handles issued, should be Initiated to all zeros */ + uint8_t objbytes[ 4*((TRACE_OBJECT_TABLE_SIZE+3)/4) ]; /**< */ +} ObjectPropertyTableType; + +/** + * @brief Symbol table structure + */ +typedef struct +{ + /* = SYMBOL_HISTORY_TABLE_SIZE_IN_BYTES */ + uint32_t symTableSize; /**< */ + + /* Entry 0 is reserved. Any reference to entry 0 implies NULL*/ + uint32_t nextFreeSymbolIndex; /**< */ + + /* Size rounded up to closest multiple of 4, to avoid alignment issues*/ + uint8_t symbytes[4*(((TRC_CFG_SYMBOL_TABLE_SIZE)+3)/4)]; /**< */ + + /* Used for lookups - Up to 64 linked lists within the symbol table + connecting all entries with the same 6 bit checksum. + This field holds the current list heads. Should be initiated to zeros */ + uint16_t latestEntryOfChecksum[64]; /**< */ +} symbolTableType; + + +/******************************************************************************* + * The data structures of the different events, all 4 bytes long + ******************************************************************************/ + +typedef struct +{ + uint8_t type; + uint8_t objHandle; + uint16_t dts; /* differential timestamp - time since last event */ +} TSEvent, TREvent; + +typedef struct +{ + uint8_t type; + uint8_t dummy; + uint16_t dts; /* differential timestamp - time since last event */ +} LPEvent; + +typedef struct +{ + uint8_t type; + uint8_t objHandle; + uint16_t dts; /* differential timestamp - time since last event */ +} KernelCall; + +typedef struct +{ + uint8_t type; + uint8_t objHandle; + uint8_t param; + uint8_t dts; /* differential timestamp - time since last event */ +} KernelCallWithParamAndHandle; + +typedef struct +{ + uint8_t type; + uint8_t dts; /* differential timestamp - time since last event */ + uint16_t param; +} KernelCallWithParam16; + +typedef struct +{ + uint8_t type; + uint8_t objHandle; /* the handle of the closed object */ + uint16_t symbolIndex; /* the name of the closed object */ +} ObjCloseNameEvent; + +typedef struct +{ + uint8_t type; + uint8_t arg1; + uint8_t arg2; + uint8_t arg3; +} ObjClosePropEvent; + +typedef struct +{ + uint8_t type; + uint8_t unused1; + uint8_t unused2; + uint8_t dts; +} TaskInstanceStatusEvent; + +typedef struct +{ + uint8_t type; + uint8_t dts; + uint16_t payload; /* the name of the user event */ +} UserEvent; + +typedef struct +{ + uint8_t type; + + /* 8 bits extra for storing DTS, if it does not fit in ordinary event + (this one is always MSB if used) */ + uint8_t xts_8; + + /* 16 bits extra for storing DTS, if it does not fit in ordinary event. */ + uint16_t xts_16; +} XTSEvent; + +typedef struct +{ + uint8_t type; + + uint8_t xps_8; + uint16_t xps_16; +} XPSEvent; + +typedef struct{ + uint8_t type; + uint8_t dts; + uint16_t size; +} MemEventSize; + +typedef struct{ + uint8_t type; + uint8_t addr_high; + uint16_t addr_low; +} MemEventAddr; + +/******************************************************************************* + * The separate user event buffer structure. Can be enabled in trcConfig.h. + ******************************************************************************/ + +#if (TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER == 1) +typedef struct +{ + TraceStringHandle_t name; + TraceStringHandle_t defaultFormat; +} ChannelFormatPair; + +typedef struct +{ + uint16_t bufferID; + uint16_t version; + uint32_t wraparoundCounter; + uint32_t numberOfSlots; + uint32_t nextSlotToWrite; + uint8_t numberOfChannels; + uint8_t padding1; + uint8_t padding2; + uint8_t padding3; + ChannelFormatPair channels[(TRC_CFG_UB_CHANNELS)+1]; + uint8_t channelBuffer[((TRC_CFG_SEPARATE_USER_EVENT_BUFFER_SIZE) + 3) & 0xFFFFFFFC]; /* 1 byte per slot, with padding for 4 byte alignment */ + uint8_t dataBuffer[(TRC_CFG_SEPARATE_USER_EVENT_BUFFER_SIZE) * 4]; /* 4 bytes per slot */ + +} UserEventBuffer; +#endif /* (TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER == 1) */ + +/******************************************************************************* + * The main data structure, read by Tracealyzer from the RAM dump + ******************************************************************************/ + +typedef struct +{ + volatile uint8_t startmarker0; /* Volatile is important, see init code. */ + volatile uint8_t startmarker1; + volatile uint8_t startmarker2; + volatile uint8_t startmarker3; + volatile uint8_t startmarker4; + volatile uint8_t startmarker5; + volatile uint8_t startmarker6; + volatile uint8_t startmarker7; + volatile uint8_t startmarker8; + volatile uint8_t startmarker9; + volatile uint8_t startmarker10; + volatile uint8_t startmarker11; + + /* Used to determine Kernel and Endianess */ + uint16_t version; + + /* Currently 7 */ + uint8_t minor_version; + + /* This should be 0 if lower IRQ priority values implies higher priority + levels, such as on ARM Cortex M. If the opposite scheme is used, i.e., + if higher IRQ priority values means higher priority, this should be 1. */ + uint8_t irq_priority_order; + + /* sizeof(RecorderDataType) - just for control */ + uint32_t filesize; + + /* Current number of events recorded */ + uint32_t numEvents; + + /* The buffer size, in number of event records */ + uint32_t maxEvents; + + /* The event buffer index, where to write the next event */ + uint32_t nextFreeIndex; + + /* 1 if the buffer is full, 0 otherwise */ + uint32_t bufferIsFull; + + /* The frequency of the clock/timer/counter used as time base */ + uint32_t frequency; + + /* The absolute timestamp of the last stored event, in the native + timebase, modulo frequency! */ + uint32_t absTimeLastEvent; + + /* The number of seconds in total - lasts for 136 years */ + uint32_t absTimeLastEventSecond; + + /* 1 if the recorder has been started, 0 if not yet started or stopped. + This is a 32 bit variable due to alignment issues. */ + uint32_t recorderActive; + + /* If > 0, tells the maximum time between two traced ISRs that execute + back-to-back. If the time between vTraceStoreISREnd and a directly + following vTraceISRBegin is above isrTailchainingThreshold, we assume a + return to the previous context in between the ISRs, otherwise we assume + the have executed back-to-back and don't show any fragment of the previous + context in between. */ + uint32_t isrTailchainingThreshold; + + /* The maximum amount of heap memory that was allocated */ + uint32_t heapMemMaxUsage; + + /* The amount of heap memory used */ + uint32_t heapMemUsage; + + /* 0xF0F0F0F0 - for control only */ + int32_t debugMarker0; + + /* Set to value of TRC_CFG_USE_16BIT_OBJECT_HANDLES */ + uint32_t isUsing16bitHandles; + + /* The Object Property Table holds information about currently active + tasks, queues, and other recorded objects. This is updated on each + create call and includes object name and other properties. */ + ObjectPropertyTableType ObjectPropertyTable; + + /* 0xF1F1F1F1 - for control only */ + int32_t debugMarker1; + + /* The Symbol Table stores strings for User Events and is also used to + store names of deleted objects, which still may be in the trace but no + longer are available. */ + symbolTableType SymbolTable; + + /* For inclusion of float support, and for endian detection of floats. + The value should be (float)1 or (uint32_t)0 */ +#if (TRC_CFG_INCLUDE_FLOAT_SUPPORT == 1) + float exampleFloatEncoding; +#else + uint32_t exampleFloatEncoding; +#endif + /* This is non-zero if an internal error occurred in the recorder, e.g., if + one of the Nxxx constants was too small. The systemInfo string will then + contain an error message that is displayed when attempting to view the + trace file. */ + uint32_t internalErrorOccured; + + /* 0xF2F2F2F2 - for control only */ + int32_t debugMarker2; + + /* Error messages from the recorder. */ + char systemInfo[80]; + + /* 0xF3F3F3F3 - for control only */ + int32_t debugMarker3; + + /* The event data, in 4-byte records */ + uint8_t eventData[ (TRC_CFG_EVENT_BUFFER_SIZE) * 4 ]; + +#if (TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER == 1) + UserEventBuffer userEventBuffer; +#endif + + /* This should always be 0 */ + uint32_t endOfSecondaryBlocks; + + uint8_t endmarker0; + uint8_t endmarker1; + uint8_t endmarker2; + uint8_t endmarker3; + uint8_t endmarker4; + uint8_t endmarker5; + uint8_t endmarker6; + uint8_t endmarker7; + uint8_t endmarker8; + uint8_t endmarker9; + uint8_t endmarker10; + uint8_t endmarker11; +} RecorderDataType; + +extern RecorderDataType* RecorderDataPtr; + +/* Internal functions */ + +/** + * @brief Signals a trace error + * + * @param[in] msg Message + */ +void prvTraceError(const char* msg); + +/** + * @brief + * + * Returns the current time based on the HWTC macros which provide a hardware + * isolation layer towards the hardware timer/counter. + * + * The HWTC macros and prvTracePortGetTimeStamp is the main porting issue + * or the trace recorder library. Typically you should not need to change + * the code of prvTracePortGetTimeStamp if using the HWTC macros. + * + * @param[out] puiTimestamp Timestamp + */ +void prvTracePortGetTimeStamp(uint32_t *puiTimestamp); + +/** + * @brief Reserve an object handle + * + * @param[in] objectclass Object class + * + * @return traceHandle + */ +traceHandle prvTraceGetObjectHandle(traceObjectClass objectclass); + +/** + * @brief Free an object handle + * + * @param[in] objectclass Object class + * @param[in] handle Handle + */ +void prvTraceFreeObjectHandle(traceObjectClass objectclass, + traceHandle handle); + +/* Private function. Use the public functions in trcKernelPort.h */ + +/** + * @brief Set the object name + * + * @param[in] objectclass Object class + * @param[in] handle Handle + * @param[in] name Name + */ +void prvTraceSetObjectName(traceObjectClass objectclass, + traceHandle handle, + const char* name); + +/* Internal macros */ + +#define TRACE_PROPERTY_NAME_GET(objectclass, objecthandle) \ + (const char*)(& RecorderDataPtr->ObjectPropertyTable.objbytes \ + [uiIndexOfObject(objecthandle, objectclass)]) + +#define TRACE_PROPERTY_OBJECT_STATE(objectclass, handle) \ + RecorderDataPtr->ObjectPropertyTable.objbytes[uiIndexOfObject(handle, objectclass) \ + + RecorderDataPtr->ObjectPropertyTable.NameLengthPerClass[objectclass]] + +#define TRACE_PROPERTY_ACTOR_PRIORITY(objectclass, handle) \ + RecorderDataPtr->ObjectPropertyTable.objbytes[uiIndexOfObject(handle, objectclass) \ + + RecorderDataPtr->ObjectPropertyTable.NameLengthPerClass[objectclass] + 1] + +/* DEBUG ASSERTS */ +#if defined TRC_CFG_USE_TRACE_ASSERT && TRC_CFG_USE_TRACE_ASSERT != 0 +#define TRACE_ASSERT(eval, msg, defRetVal) \ + if (!(eval)) \ + { \ + prvTraceError("TRACE_ASSERT: " msg); \ + return defRetVal; \ + } +#else +#define TRACE_ASSERT(eval, msg, defRetVal) +#endif + +typedef RecorderDataType TraceRecorderDataBuffer_t; + +#endif /*(TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT)*/ + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#ifndef TRC_EXTERNAL_BUFFERS +#define TRC_EXTERNAL_BUFFERS 0 +#endif + +typedef struct TraceRecorderData +{ + uint32_t uiSessionCounter; + uint32_t uiRecorderEnabled; + uint32_t uiTraceSystemState; + + TraceAssertBuffer_t xAssertBuffer; +#if (TRC_EXTERNAL_BUFFERS == 0) + TraceHeaderBuffer_t xHeaderBuffer; + TraceEntryTableBuffer_t xEntryTableBuffer; + TraceTimestampBuffer_t xTimestampBuffer; +#endif + TraceStreamPortBuffer_t xStreamPortBuffer; + TraceStaticBufferBuffer_t xStaticBufferBuffer; + TraceEventDataBuffer_t xEventDataBuffer; + TracePrintBuffer_t xPrintBuffer; + TraceErrorBuffer_t xErrorBuffer; + TraceISRInfoBuffer_t xISRInfoBuffer; + TraceKernelPortDataBuffer_t xKernelPortBuffer; + TraceTaskInfoBuffer_t xTaskInfoBuffer; + TraceStackMonitorBuffer_t xStackMonitorBuffer; + TraceDiagnosticsBuffer_t xDiagnosticsBuffer; +} TraceRecorderData_t; + +extern TraceRecorderData_t* pxTraceRecorderData; +extern uint32_t RecorderInitialized; + +#define TRC_RECORDER_DATA_BUFFER_SIZE (sizeof(TraceRecorderData_t)) + +typedef struct TraceRecorderDataBuffer +{ + uint8_t buffer[(TRC_RECORDER_DATA_BUFFER_SIZE)]; +} TraceRecorderDataBuffer_t; + +/** + * @brief Initializes the header data + * + * @param[in] pxBuffer Pointer to header buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceHeaderInitialize(TraceHeaderBuffer_t* pxBuffer); + +/** + * @brief Query if recorder is enabled + * + * @retval 1 Recorder enabled + * @retval 0 Recorder not enabled + */ +#define xTraceIsRecorderEnabled() (xTraceIsRecorderInitialized() & pxTraceRecorderData->uiRecorderEnabled) + +/** + * @brief Query if recorder initialized + * + * @retval 1 Recorder initialized + * @retval 0 Recorder not initialized + */ +#define xTraceIsRecorderInitialized() xTraceIsComponentInitialized(TRC_RECORDER_COMPONENT_CORE) + +/** + * @brief Flag component as initialized + * + * @param[in] uiComponentBit Component bit + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceSetComponentInitialized(uiComponentBit) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(RecorderInitialized |= (uiComponentBit), TRC_SUCCESS) + +/** + * @brief Query if component is initialized + * + * @param[in] uiComponentBit Component bit + * + * @retval 1 Component initialized + * @retval 0 Component not initialized + */ +#define xTraceIsComponentInitialized(uiComponentBit) ((RecorderInitialized & (uiComponentBit)) ? 1 : 0) + +/** + * @brief Set the trace state + * + * @param[in] uiState State + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceStateSet(uiState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceRecorderData->uiTraceSystemState = (uiState), TRC_SUCCESS) + +/** + * @brief Query the trace state + * + * @param[out] puiState State + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceStateGet(puiState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiState) = pxTraceRecorderData->uiTraceSystemState, TRC_SUCCESS) + +/** + * @brief Call this function periodically + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTzCtrl(void); + +/******************************************************************************/ +/*** INTERNAL STREAMING FUNCTIONS *********************************************/ +/******************************************************************************/ + +/** + * @brief Stores an event without parameters + * + * @param[in] _eventID Event id + */ +#define prvTraceStoreEvent_None(_eventID) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, 0, &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with a handle parameter + * + * @param[in] _eventID Event id + * @param[in] _handle Handle + */ +#define prvTraceStoreEvent_Handle(_eventID, _handle) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(void*), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAddPointer(_xEventHandle, (void*)(_handle)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with one 32-bit parameter + * + * @param[in] _eventID Event id + * @param[in] _param1 Param + */ +#define prvTraceStoreEvent_Param(_eventID, _param1) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(uint32_t), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param1)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with a handle and one 32-bit parameter + * + * @param[in] _eventID Event id + * @param[in] _handle Handle + * @param[in] _param1 Param + */ +#define prvTraceStoreEvent_HandleParam(_eventID, _handle, _param1) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(void*) + sizeof(uint32_t), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAddPointer(_xEventHandle, (void*)(_handle)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param1)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with two 32-bit parameters + * + * @param[in] _eventID Event id + * @param[in] _param1 Param 1 + * @param[in] _param2 Param 2 + */ +#define prvTraceStoreEvent_ParamParam(_eventID, _param1, _param2) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(uint32_t) + sizeof(uint32_t), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param1)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param2)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with a handle and two 32-bit parameters + * + * @param[in] _eventID Event id + * @param[in] _handle Handle + * @param[in] _param1 Param 1 + * @param[in] _param2 Param 2 + */ +#define prvTraceStoreEvent_HandleParamParam(_eventID, _handle, _param1, _param2) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(void*) + sizeof(uint32_t) + sizeof(uint32_t), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAddPointer(_xEventHandle, (void*)(_handle)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param1)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param2)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Stores an event with three 32-bit parameters + * + * @param[in] _eventID Event id + * @param[in] _param1 Param 1 + * @param[in] _param2 Param 2 + * @param[in] _param3 Param 3 + */ +#define prvTraceStoreEvent_ParamParamParam(_eventID, _param1, _param2, _param3) \ + { \ + TraceEventHandle_t _xEventHandle = 0; \ + if (xTraceEventBegin(_eventID, sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t), &_xEventHandle) == TRC_SUCCESS) \ + { \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param1)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param2)); \ + xTraceEventAdd32(_xEventHandle, (uint32_t)(_param3)); \ + xTraceEventEnd(_xEventHandle); \ + } \ + } + +/** + * @brief Snapshot mode only. Trace stop hook. + * + * @param[in] x + */ +#define vTraceSetStopHook(x) (void)(x) + +/** + * @brief Snapshot mode only. Initialize timestamps. + */ +#define vTraceInitTimestamps() + +#endif /*(TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)*/ + +#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM) +/** + * @brief Set the recorder data buffer + * + * @param[in] pxBuffer Pointer to the recorder data buffer + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceSetBuffer(TraceRecorderDataBuffer_t *pxBuffer); +#else +#define xTraceSetBuffer(p) (TRC_SUCCESS) +#endif + +/** + * @brief Retrieve the event buffer and event buffer size + * + * @param[out] ppvBuffer Pointer where event buffer pointer will be written + * @param[out] puiSize Event buffer size + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceGetEventBuffer(void** ppvBuffer, TraceUnsignedBaseType_t * puiSize); + +#else /* when TRC_USE_TRACEALYZER_RECORDER == 0 */ + +#define xTraceInitialize() (TRC_SUCCESS) +#define xTraceEnable(x) ((void)(x), TRC_SUCCESS) +#define xTraceDisable() (TRC_SUCCESS) +#define xTraceStringRegister(x, y) ((void)(x), (void)y, TRC_SUCCESS) /* Comma operator in parenthesis is used to avoid "unused variable" compiler warnings and return 0 in a single statement */ +#define xTracePrint(chn, ...) ((void)(chn), TRC_SUCCESS) +#define xTracePrintF(chn, fmt, ...) ((void)(chn), (void)(fmt), TRC_SUCCESS) /* Comma operator is used to avoid "unused variable" compiler warnings in a single statement */ +#define xTraceVPrintF(chn, formatStr, vl) ((void)(chn), (void)(formatStr), (void)(vl), TRC_SUCCESS) /* Comma operator is used to avoid "unused variable" compiler warnings in a single statement */ +#define xTraceTaskInstanceFinishedNow() +#define xTraceTaskInstanceFinishedNext() +#define vTraceStoreISRBegin(x) (void)(x) +#define vTraceStoreISREnd(x) (void)(x) +#define xTraceSetISRProperties(a, b) ((void)(a), (void)(b), (traceHandle)0) /* Comma operator in parenthesis is used to avoid "unused variable" compiler warnings and return 0 in a single statement */ +#define xTraceRegisterChannelFormat(eventLabel, formatStr) ((void)(eventLabel), (void)(formatStr), 0) /* Comma operator in parenthesis is used to avoid "unused variable" compiler warnings and return 0 in a single statement */ +#define vTraceUBData(label, ...) (void)(label) + +#define vTraceSetFilterGroup(x) (void)(x) +#define vTraceSetFilterMask(x) (void)(x) + +#define prvTraceSetReadyEventsEnabled(status) (void)(status) + +#define vTraceExcludeTask(handle) (void)(handle) + +#define vTraceConsoleChannelPrintF(fmt, ...) (void)(fmt) + +#ifndef TRC_ALLOC_CUSTOM_BUFFER +#define TRC_ALLOC_CUSTOM_BUFFER(bufname) +#endif + +#define xTraceIsRecorderEnabled() (0) +#define xTraceIsRecorderInitialized() (0) + +#define xTraceSetBuffer(p) (TRC_SUCCESS) +#define xTraceGetEventBuffer(p) (TRC_FAIL) + +#define vTraceSetStopHook(x) (void)(x) + +#define TraceRecorderDataBuffer_t uint32_t + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +/** + * @deprecated Backwards compatibility. Use xTraceInitialize instead. + */ +#define vTraceInitialize (void)xTraceInitialize + +/** + * @deprecated Backwards compatibility. Use xTraceEnable instead. + */ +#define vTraceEnable (void)xTraceEnable + +/** + * @deprecated Backwards compatibility. Use xTraceDisable instead. + */ +#define vTraceStop (void)xTraceDisable + +/** + * @deprecated Backwards compatibility. Use xTraceTaskInstanceFinishedNow instead. + */ +#define vTraceInstanceFinishedNow (void)xTraceTaskInstanceFinishedNow + +/** + * @deprecated Backwards compatibility. Use xTraceTaskInstanceFinishedNext instead. + */ +#define vTraceInstanceFinishedNext (void)xTraceTaskInstanceFinishedNext + +/** + * @deprecated Backwards compatibility. Use xTracePrintF instead. + */ +#define vTracePrintF (void)xTracePrintF + +/** + * @deprecated Backwards compatibility. Use xTraceVPrintF instead. + */ +#define vTraceVPrintF (void)xTraceVPrintF + +/** + * @deprecated Backwards compatibility. Use xTracePrint instead. + */ +#define vTracePrint (void)xTracePrint + +/** + * @deprecated Backwards compatibility. Use xTraceSetBuffer instead. + */ +#define vTraceSetRecorderDataBuffer(pxBuffer) xTraceSetBuffer((TraceRecorderDataBuffer_t*)(pxBuffer)) + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_RECORDER_H */ diff --git a/freertos/cvitek/install/include/kernel/trcSnapshotConfig.h b/freertos/cvitek/install/include/kernel/trcSnapshotConfig.h new file mode 100644 index 000000000..485ac97ab --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcSnapshotConfig.h @@ -0,0 +1,245 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Configuration parameters for trace recorder library in snapshot mode. + * Read more at http://percepio.com/2016/10/05/rtos-tracing/ + */ + +#ifndef TRC_SNAPSHOT_CONFIG_H +#define TRC_SNAPSHOT_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @def TRC_CFG_SNAPSHOT_MODE + * @brief Macro which should be defined as one of: + * - TRC_SNAPSHOT_MODE_RING_BUFFER + * - TRC_SNAPSHOT_MODE_STOP_WHEN_FULL + * Default is TRC_SNAPSHOT_MODE_RING_BUFFER. + * + * With TRC_CFG_SNAPSHOT_MODE set to TRC_SNAPSHOT_MODE_RING_BUFFER, the + * events are stored in a ring buffer, i.e., where the oldest events are + * overwritten when the buffer becomes full. This allows you to get the last + * events leading up to an interesting state, e.g., an error, without having + * to store the whole run since startup. + * + * When TRC_CFG_SNAPSHOT_MODE is TRC_SNAPSHOT_MODE_STOP_WHEN_FULL, the + * recording is stopped when the buffer becomes full. This is useful for + * recording events following a specific state, e.g., the startup sequence. + */ +#define TRC_CFG_SNAPSHOT_MODE TRC_SNAPSHOT_MODE_RING_BUFFER + +/** + * @def TRC_CFG_EVENT_BUFFER_SIZE + * @brief Macro which should be defined as an integer value. + * + * This defines the capacity of the event buffer, i.e., the number of records + * it may store. Most events use one record (4 byte), although some events + * require multiple 4-byte records. You should adjust this to the amount of RAM + * available in the target system. + * + * Default value is 1000, which means that 4000 bytes is allocated for the + * event buffer. + */ +#define TRC_CFG_EVENT_BUFFER_SIZE 8192 + +/** + * @def TRC_CFG_INCLUDE_FLOAT_SUPPORT + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If this is zero (0), the support for logging floating point values in + * vTracePrintF is stripped out, in case floating point values are not used or + * supported by the platform used. + * + * Floating point values are only used in vTracePrintF and its subroutines, to + * allow for storing float (%f) or double (%lf) arguments. + * + * vTracePrintF can be used with integer and string arguments in either case. + * + * Default value is 0. + */ +#define TRC_CFG_INCLUDE_FLOAT_SUPPORT 0 + +/** + * @def TRC_CFG_SYMBOL_TABLE_SIZE + * @brief Macro which should be defined as an integer value. + * + * This defines the capacity of the symbol table, in bytes. This symbol table + * stores User Events labels and names of deleted tasks, queues, or other kernel + * objects. If you don't use User Events or delete any kernel + * objects you set this to a very low value. The minimum recommended value is 4. + * A size of zero (0) is not allowed since a zero-sized array may result in a + * 32-bit pointer, i.e., using 4 bytes rather than 0. + * + * Default value is 800. + */ +#define TRC_CFG_SYMBOL_TABLE_SIZE 800 + +#if (TRC_CFG_SYMBOL_TABLE_SIZE == 0) +#error "TRC_CFG_SYMBOL_TABLE_SIZE may not be zero!" +#endif + +/****************************************************************************** + *** ADVANCED SETTINGS ******************************************************** + ****************************************************************************** + * The remaining settings are not necessary to modify but allows for optimizing + * the recorder setup for your specific needs, e.g., to exclude events that you + * are not interested in, in order to get longer traces. + *****************************************************************************/ + +/** + * @def TRC_CFG_HEAP_SIZE_BELOW_16M + * @brief An integer constant that can be used to reduce the buffer usage of memory + * allocation events (malloc/free). This value should be 1 if the heap size is + * below 16 MB (2^24 byte), and you can live with reported addresses showing the + * lower 24 bits only. If 0, you get the full 32-bit addresses. + * + * Default value is 0. + */ +#define TRC_CFG_HEAP_SIZE_BELOW_16M 0 + +/** + * @def TRC_CFG_USE_IMPLICIT_IFE_RULES + * @brief Macro which should be defined as either zero (0) or one (1). + * Default is 1. + * + * Tracealyzer groups the events into "instances" based on Instance Finish + * Events (IFEs), produced either by default rules or calls to the recorder + * functions xTraceTaskInstanceFinishedNow and xTraceTaskInstanceFinishedNext. + * + * If TRC_CFG_USE_IMPLICIT_IFE_RULES is one (1), the default IFE rules is + * used, resulting in a "typical" grouping of events into instances. + * If these rules don't give appropriate instances in your case, you can + * override the default rules using xTraceTaskInstanceFinishedNow/Next for one + * or several tasks. The default IFE rules are then disabled for those tasks. + * + * If TRC_CFG_USE_IMPLICIT_IFE_RULES is zero (0), the implicit IFE rules are + * disabled globally. You must then call xTraceTaskInstanceFinishedNow or + * xTraceTaskInstanceFinishedNext to manually group the events into instances, + * otherwise the tasks will appear a single long instance. + * + * The default IFE rules count the following events as "instance finished": + * - Task delay, delay until + * - Task suspend + * - Blocking on "input" operations, i.e., when the task is waiting for the + * next a message/signal/event. But only if this event is blocking. + */ +#define TRC_CFG_USE_IMPLICIT_IFE_RULES 1 + +/** + * @def TRC_CFG_USE_16BIT_OBJECT_HANDLES + * @brief Macro which should be defined as either zero (0) or one (1). + * + * If set to 0 (zero), the recorder uses 8-bit handles to identify kernel + * objects such as tasks and queues. This limits the supported number of + * concurrently active objects to 255 of each type (tasks, queues, mutexes, + * etc.) Note: 255, not 256, since handle 0 is reserved. + * + * If set to 1 (one), the recorder uses 16-bit handles to identify kernel + * objects such as tasks and queues. This limits the supported number of + * concurrent objects to 65535 of each type (object class). However, since the + * object property table is limited to 64 KB, the practical limit is about + * 3000 objects in total. + * + * Default is 0 (8-bit handles) + * + * NOTE: An object with handle above 255 will use an extra 4-byte record in + * the event buffer whenever the object is referenced. Moreover, some internal + * tables in the recorder gets slightly larger when using 16-bit handles. + */ +#define TRC_CFG_USE_16BIT_OBJECT_HANDLES 0 + +/** + * @def TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER + * @brief Macro which should be defined as an integer value. + * + * Set TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER to 1 to enable the + * separate user event buffer (UB). + * In this mode, user events are stored separately from other events, + * e.g., RTOS events. Thereby you can get a much longer history of + * user events as they don't need to share the buffer space with more + * frequent events. + * + * The UB is typically used with the snapshot ring-buffer mode, so the + * recording can continue when the main buffer gets full. And since the + * main buffer then overwrites the earliest events, Tracealyzer displays + * "Unknown Actor" instead of task scheduling for periods with UB data only. + * + * In UB mode, user events are structured as UB channels, which contains + * a channel name and a default format string. Register a UB channel using + * xTraceRegisterUBChannel. + * + * Events and data arguments are written using vTraceUBEvent and + * vTraceUBData. They are designed to provide efficient logging of + * repeating events, using the same format string within each channel. + * + * Examples: + * TraceStringHandle_t chn1; + * TraceStringHandle_t fmt1; + * xTraceStringRegister("Channel 1", &chn1); + * xTraceStringRegister("Event!", &fmt1); + * traceUBChannel UBCh1 = xTraceRegisterUBChannel(chn1, fmt1); + * + * TraceStringHandle_t chn2; + * TraceStringHandle_t fmt2; + * xTraceStringRegister("Channel 2", &chn2); + * xTraceStringRegister("X: %d, Y: %d", &fmt2); + * traceUBChannel UBCh2 = xTraceRegisterUBChannel(chn2, fmt2); + * + * // Result in "[Channel 1] Event!" + * vTraceUBEvent(UBCh1); + * + * // Result in "[Channel 2] X: 23, Y: 19" + * vTraceUBData(UBCh2, 23, 19); + * + * You can also use the other user event functions, like xTracePrintF. + * as they are then rerouted to the UB instead of the main event buffer. + * vTracePrintF then looks up the correct UB channel based on the + * provided channel name and format string, or creates a new UB channel + * if no match is found. The format string should therefore not contain + * "random" messages but mainly format specifiers. Random strings should + * be stored using %s and with the string as an argument. + * + * // Creates a new UB channel ("Channel 2", "%Z: %d") + * xTracePrintF(chn2, "%Z: %d", value1); + * + * // Finds the existing UB channel + * xTracePrintF(chn2, "%Z: %d", value2); + */ +#define TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER 0 + +/** + * @def TRC_CFG_SEPARATE_USER_EVENT_BUFFER_SIZE + * @brief Macro which should be defined as an integer value. + * + * This defines the capacity of the user event buffer (UB), in number of slots. + * A single user event can use multiple slots, depending on the arguments. + * + * Only applicable if TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER is 1. + */ +#define TRC_CFG_SEPARATE_USER_EVENT_BUFFER_SIZE 200 + +/** + * @def TRC_CFG_UB_CHANNELS + * @brief Macro which should be defined as an integer value. + * + * This defines the number of User Event Buffer Channels (UB channels). + * These are used to structure the events when using the separate user + * event buffer, and contains both a User Event Channel (the name) and + * a default format string for the channel. + * + * Only applicable if TRC_CFG_USE_SEPARATE_USER_EVENT_BUFFER is 1. + */ +#define TRC_CFG_UB_CHANNELS 32 + +#ifdef __cplusplus +} +#endif + +#endif /*TRC_SNAPSHOT_CONFIG_H*/ diff --git a/freertos/cvitek/install/include/kernel/trcStackMonitor.h b/freertos/cvitek/install/include/kernel/trcStackMonitor.h new file mode 100644 index 000000000..348d64d93 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcStackMonitor.h @@ -0,0 +1,135 @@ +/* +* Percepio Trace Recorder SDK for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace stack monitor APIs. + */ + +#ifndef TRC_STACK_MONITOR_H +#define TRC_STACK_MONITOR_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_stack_monitor_apis Trace Stack Monitor APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#if (((TRC_CFG_ENABLE_STACK_MONITOR) == 1) && ((TRC_CFG_SCHEDULING_ONLY) == 0)) + +#define TRACE_STACK_MONITOR_BUFFER_SIZE ((sizeof(void*) + sizeof(TraceUnsignedBaseType_t)) * (TRC_CFG_STACK_MONITOR_MAX_TASKS) + sizeof(uint32_t)) + +/** + * @internal Trace Stack Monitor Buffer Structure + */ +typedef struct TraceStackMonitorBuffer +{ + uint32_t buffer[(TRACE_STACK_MONITOR_BUFFER_SIZE) / sizeof(uint32_t)]; +} TraceStackMonitorBuffer_t; + +/** + * @internal Initialize trace stack monitor system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the trace + * stack monitor system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStackMonitorInitialize(TraceStackMonitorBuffer_t* pxBuffer); + +/** + * @brief Adds task/thread to trace stack monitor. + * + * @param[in] pvTask Task/Thread. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStackMonitorAdd(void* pvTask); + +/** + * @brief Removes task/thread from trace stack monitor. + * + * @param[in] pvTask Task/Thread. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStackMonitorRemove(void* pvTask); + +/** + * @brief Gets trace stack monitor tread/task at index. + * + * @param[in] uiIndex Index. + * @param[in] ppvTask Task/Thread. + * @param[out] puxLowWaterMark Low water mark. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStackMonitorGetAtIndex(uint32_t uiIndex, void** ppvTask, TraceUnsignedBaseType_t* puxLowWaterMark); + +/** + * @brief Performs trace stack monitor reporting. + * + * This routine performs a trace stack monitor check and report + * for TRC_CFG_STACK_MONITOR_MAX_REPORTS number of registered + * tasks/threads. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStackMonitorReport(void); + +#else /* (((TRC_CFG_ENABLE_STACK_MONITOR) == 1) && ((TRC_CFG_SCHEDULING_ONLY) == 0)) */ + +typedef struct TraceStackMonitorBuffer +{ + uint32_t buffer[1]; +} TraceStackMonitorBuffer_t; + +#define xTraceStackMonitorInitialize(pxBuffer) ((void)pxBuffer, TRC_SUCCESS) + +#define xTraceStackMonitorDiagnosticsGet(xType, puiValue) ((void)xType, puiValue != 0 ? *puiValue = 0 : 0, puiValue != 0 ? TRC_SUCCESS : TRC_FAIL) + +#define xTraceStackMonitorDiagnosticsSet(xType, uiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)xType, (void)uiValue, TRC_SUCCESS) + +#define xTraceStackMonitorAdd(pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)pvTask, TRC_SUCCESS) + +#define xTraceStackMonitorRemove(pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)pvTask, TRC_SUCCESS) + +#define xTraceStackMonitorGetAtIndex(uiIndex, ppvTask, puxLowWaterMark) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)uiIndex, (void)ppvTask, (void)puxLowWaterMark, TRC_SUCCESS) + +#define xTraceStackMonitorReport() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS) + +#endif /* (((TRC_CFG_ENABLE_STACK_MONITOR) == 1) && ((TRC_CFG_SCHEDULING_ONLY) == 0)) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_STACK_MONITOR_H */ diff --git a/freertos/cvitek/install/include/kernel/trcStateMachine.h b/freertos/cvitek/install/include/kernel/trcStateMachine.h new file mode 100644 index 000000000..b9d362ac5 --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcStateMachine.h @@ -0,0 +1,95 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace state machine APIs. + */ + +#ifndef TRC_STATE_MACHINE_H +#define TRC_STATE_MACHINE_H + +#include + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_state_machine_apis Trace State Machine APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Creates trace state machine. + * + * @param[in] szName Name. + * @param[out] pxStateMachineHandle Pointer to uninitialized trace state machine. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStateMachineCreate(const char *szName, TraceStateMachineHandle_t *pxStateMachineHandle); + +/** + * @brief Creates trace state machine state. + * + * @param[in] xStateMachineHandle Pointer to initialized trace state machine. + * @param[in] szName Name. + * @param[out] pxStateHandle Pointer to uninitialized trace state machine state. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStateMachineStateCreate(TraceStateMachineHandle_t xStateMachineHandle, const char *szName, TraceStateMachineStateHandle_t *pxStateHandle); + +/** + * @brief Sets trace state machine state. + * + * @param[in] xStateMachineHandle Pointer to initialized trace state machine. + * @param[in] xStateHandle Pointer to initialized trace state machine state. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStateMachineSetState(TraceStateMachineHandle_t xStateMachineHandle, TraceStateMachineStateHandle_t xStateHandle); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#else + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceStateMachineCreate(__szName, __pxStateMachineHandle) ((void)(__szName), *(__pxStateMachineHandle) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceStateMachineStateCreate(__xStateMachineHandle, __szName, __pxStateHandle) ((void)(__xStateMachineHandle), (void)(__szName), *(__pxStateHandle) = 0, TRC_SUCCESS) + +/** + * @brief Disabled by TRC_CFG_RECORDER_MODE + */ +#define xTraceStateMachineSetState(__xStateMachineHandle, __xStateHandle) ((void)(__xStateMachineHandle), (void)(__xStateHandle), TRC_SUCCESS) + +#endif + +#endif + +#endif diff --git a/freertos/cvitek/install/include/kernel/trcStaticBuffer.h b/freertos/cvitek/install/include/kernel/trcStaticBuffer.h new file mode 100644 index 000000000..c7a5531ab --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcStaticBuffer.h @@ -0,0 +1,112 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace static buffer APIs. + */ + +#ifndef TRC_STATIC_BUFFER_H +#define TRC_STATIC_BUFFER_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_static_buffer_apis Trace Static Buffer APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/* A buffer type that is maximum size */ +typedef uint8_t TraceStaticBuffer_t[TRC_MAX_BLOB_SIZE]; + +/** + * @internal Trace Core Static Buffer Core Structure + */ +typedef struct TraceCoreStaticBufferCore +{ + TraceStaticBuffer_t dummyEvents[(TRC_CFG_MAX_ISR_NESTING)+1]; /**< */ +} TraceCoreStaticBuffer_t; + +/** + * @internal Trace Static Buffer Table Structure + */ +typedef struct TraceStaticBufferTable +{ + TraceCoreStaticBuffer_t coreDummyEvents[TRC_CFG_CORE_COUNT]; /**< Temporary buffers used for event or blob creation. */ +} TraceStaticBufferTable_t; + +#define TRC_STATIC_BUFFER_BUFFER_SIZE (sizeof(TraceStaticBufferTable_t)) + +/** + * @internal Trace Static Buffer Buffer Structure + */ +typedef struct TraceStaticBufferBuffer +{ + uint8_t buffer[TRC_STATIC_BUFFER_BUFFER_SIZE]; /**< */ +} TraceStaticBufferBuffer_t; + +extern TraceStaticBufferTable_t* pxTraceStaticBufferTable; + +/** + * @internal Initialize trace static buffer. + * + * @param[in] pxBuffer Pointer to memory that will be used by the + * trace static buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStaticBufferInitialize(TraceStaticBufferBuffer_t* pxBuffer); + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Gets trace static buffer. + * + * @param[out] ppvBuffer Buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStaticBufferGet(void **ppvBuffer); + +#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** + * @brief Gets trace static buffer. + * + * @param[out] ppvBuffer Buffer. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceStaticBufferGet(ppvBuffer) (*ppvBuffer = (void*)&pxTraceStaticBufferTable->coreDummyEvents[TRC_CFG_GET_CURRENT_CORE()].dummyEvents[xTraceISRGetCurrentNestingReturned() + 1], TRC_SUCCESS) + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_STATIC_BUFFER_H */ diff --git a/freertos/cvitek/install/include/kernel/trcStreamingConfig.h b/freertos/cvitek/install/include/kernel/trcStreamingConfig.h new file mode 100644 index 000000000..bec4a8c6a --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcStreamingConfig.h @@ -0,0 +1,51 @@ +/* + * Trace Recorder for Tracealyzer v4.6.4 + * Copyright 2021 Percepio AB + * www.percepio.com + * + * SPDX-License-Identifier: Apache-2.0 + * + * Configuration parameters for the trace recorder library in streaming mode. + * Read more at http://percepio.com/2016/10/05/rtos-tracing/ + */ + +#ifndef TRC_STREAMING_CONFIG_H +#define TRC_STREAMING_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @def TRC_CFG_ENTRY_SLOTS + * @brief The maximum number of objects and symbols that can be stored. This includes: + * - Task names + * - Named ISRs (vTraceSetISRProperties) + * - Named kernel objects (vTraceStoreKernelObjectName) + * - User event channels (xTraceStringRegister) + * + * If this value is too small, not all symbol names will be stored and the + * trace display will be affected. In that case, there will be warnings + * (as User Events) from TzCtrl task, that monitors this. + */ +#define TRC_CFG_ENTRY_SLOTS 50 + +/** + * @def TRC_CFG_ENTRY_SYMBOL_MAX_LENGTH + * @brief The maximum length of symbol names, including: + * - Task names + * - Named ISRs (vTraceSetISRProperties) + * - Named kernel objects (vTraceStoreKernelObjectName) + * - User event channel names (xTraceStringRegister) + * + * If longer symbol names are used, they will be truncated by the recorder, + * which will affect the trace display. In that case, there will be warnings + * (as User Events) from TzCtrl task, that monitors this. + */ +#define TRC_CFG_ENTRY_SYMBOL_MAX_LENGTH 32 + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_STREAMING_CONFIG_H */ diff --git a/freertos/cvitek/install/include/kernel/trcString.h b/freertos/cvitek/install/include/kernel/trcString.h new file mode 100644 index 000000000..330c9382f --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcString.h @@ -0,0 +1,76 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace string APIs. + */ + +#ifndef TRC_STRING_H +#define TRC_STRING_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_string_apis Trace String APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Registers a trace string. + * + * This routine registers a strings in the recorder, e.g. for names of user + * event channels. + * + * Example: + * TraceStringHandle_t myEventHandle; + * xTraceStringRegister("MyUserEvent", &myEventHandle); + * ... + * xTracePrintF(myEventHandle, "My value is: %d", myValue); + * + * @param[in] szString String. + * @param[out] pString Pointer to uninitialized trace string. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceStringRegister(const char *szString, TraceStringHandle_t* pString); + +/** + * @brief Registers a trace string. + * + * @deprecated Remains for backward compability with pre v4.6 versions + * of the recorder. + * + * @param[in] name Name. + * + * @return TraceStringHandle_t + */ +TraceStringHandle_t xTraceRegisterString(const char *name); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_STRING_H */ diff --git a/freertos/cvitek/install/include/kernel/trcTask.h b/freertos/cvitek/install/include/kernel/trcTask.h new file mode 100644 index 000000000..ab3757a9c --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcTask.h @@ -0,0 +1,243 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace task APIs. + */ + +#ifndef TRC_TASK_H +#define TRC_TASK_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_task_apis Trace Task APIs + * @ingroup trace_recorder_apis + * @{ + */ + +#ifndef TRC_CFG_ENABLE_STACK_MONITOR +#define TRC_CFG_ENABLE_STACK_MONITOR 0 +#endif + +/** + * @internal Trace Task Info Structure + */ +typedef struct TraceTaskInfo +{ + void* coreTasks[TRC_CFG_CORE_COUNT]; +} TraceTaskInfo_t; + +extern TraceTaskInfo_t* pxTraceTaskInfo; + +#define TRACE_TASK_INFO_BUFFER_SIZE (sizeof(TraceTaskInfo_t)) + +/** + * @internal Trace Task Info Buffer Structure + */ +typedef struct TraceTaskInfoBuffer +{ + uint8_t buffer[TRACE_TASK_INFO_BUFFER_SIZE]; +} TraceTaskInfoBuffer_t; + +/** + * @internal Initialize trace task system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the + * trace task system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskInitialize(TraceTaskInfoBuffer_t* pxBuffer); + +/** + * @brief Register trace task in the trace. + * + * @param[in] pvTask Task. + * @param[in] szName Name. + * @param[in] uxPriority Priority. + * @param[out] pxTaskHandle Pointer to uninitialized trace task. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskRegister(pvTask, szName, uxPriority, pxTaskHandle) ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL) + +/** + * @brief Unregister trace task from trace. + * + * @param[in] xTaskHandle Pointer to initialized trace task. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskUnregister(TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority); + +/** + * @brief Sets trace task name. + * + * @param[in] pvTask Task. + * @param[in] szName Name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskSetName xTraceObjectSetName + +/** + * @brief Sets trace task priority. + * + * @param[in] xTaskHandle Pointer to initialized trace task. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskSetPriority(TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority); + +/** + * @brief Registers trace task without trace task handle. + * + * @param[in] pvTask Task. + * @param[in] szName Name. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskRegisterWithoutHandle(pvTask, szName, uxPriority) ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL) + +/** + * @brief Unregisters trace task without trace task handle. + * + * @param[in] pvTask Task. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskUnregisterWithoutHandle(pvTask, uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority)) + +/** + * @brief Sets trace task name without trace task handle. + * + * @param[in] pvTask Task. + * @param[in] szName Name. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskSetNameWithoutHandle xTraceObjectSetNameWithoutHandle + +/** + * @brief Sets trace task priority without trace task handle. + * + * @param[in] pvTask Task. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskSetPriorityWithoutHandle(void* pvTask, TraceUnsignedBaseType_t uxPriority); + +/** + * @brief Registers trace task switch event. + * + * @param[in] pvTask Task. + * @param[in] uxPriority Priority. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskSwitch(void* pvTask, TraceUnsignedBaseType_t uxPriority); + +#if (TRC_CFG_INCLUDE_READY_EVENTS == 1) +/** + * @brief Registers trace task ready event. + * + * @param[in] pvTask Task. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskReady(void* pvTask); +#else +#define xTraceTaskReady(p) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)p, TRC_SUCCESS) +#endif + +/** + * @brief Sets current trace task. + * + * @param[in] pvTask Task. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskSetCurrent(pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()] = (pvTask), TRC_SUCCESS) + +/** + * @brief Gets current trace task. + * + * @param[out] ppvTask Task. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTaskGetCurrent(ppvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS) + +/** + * @brief Registers trace task instance finished event. + * + * This routine creates a trace event that ends the current task instance at + * this very instant. This makes the viewer split the current fragment at + * this point and begin a new actor instance, even if no task-switch has + * occurred + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskInstanceFinishedNow(void); + +/** + * @brief Marks the current trace task instance as finished on the next + * kernel call. + * + * If that kernel call is blocking, the instance ends after the blocking event + * and the corresponding return event is then the start of the next instance. + * If the kernel call is not blocking, the viewer instead splits the current + * fragment right before the kernel call, which makes this call the first event + * of the next instance. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTaskInstanceFinishedNext(void); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_TASK_H */ diff --git a/freertos/cvitek/install/include/kernel/trcTimestamp.h b/freertos/cvitek/install/include/kernel/trcTimestamp.h new file mode 100644 index 000000000..771314f4c --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcTimestamp.h @@ -0,0 +1,253 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * @file + * + * @brief Public trace timestamp APIs. + */ + +#ifndef TRC_TIMESTAMP_H +#define TRC_TIMESTAMP_H + +#if (TRC_USE_TRACEALYZER_RECORDER == 1) + +#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup trace_timestamp_apis Trace Timestamp APIs + * @ingroup trace_recorder_apis + * @{ + */ + +/** + * @brief Trace Timestamp Structure + */ +typedef struct TraceTimestamp +{ + uint32_t type; /**< Timer type (direction) */ + TraceUnsignedBaseType_t frequency; /**< Timer Frequency */ + uint32_t period; /**< Timer Period */ + uint32_t wraparounds; /**< Nr of timer wraparounds */ + uint32_t osTickHz; /**< RTOS tick frequency */ + uint32_t latestTimestamp; /**< Latest timestamp */ + uint32_t osTickCount; /**< RTOS tick count */ +} TraceTimestamp_t; + +extern TraceTimestamp_t* pxTraceTimestamp; + +#define TRC_TIMESTAMP_RECORD_SIZE (sizeof(TraceTimestamp_t)) + +/** + * @internal Trace Timestamp Buffer Structure + */ +typedef struct TraceTimestampBuffer +{ + uint32_t buffer[(TRC_TIMESTAMP_RECORD_SIZE) / sizeof(uint32_t)]; +} TraceTimestampBuffer_t; + +/** + * @internal Initialize trace timestamp system. + * + * @param[in] pxBuffer Pointer to memory that will be used by the + * trace timestamp system. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampInitialize(TraceTimestampBuffer_t *pxBuffer); + +#if ((TRC_CFG_USE_TRACE_ASSERT) == 1) + +/** + * @brief Gets current trace timestamp. + * + * @param[out] puiTimestamp Timestamp. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampGet(uint32_t* puiTimestamp); + +/** + * @brief Gets trace timestamp wraparounds. + * + * @param[out] puiTimerWraparounds Timer wraparounds. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampGetWraparounds(uint32_t* puiTimerWraparounds); + +/** + * @brief Sets trace timestamp frequency. + * + * @param[in] uxFrequency Frequency. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampSetFrequency(TraceUnsignedBaseType_t uxFrequency); + +/** + * @brief Gets trace timestamp frequency. + * + * @param[out] puxFrequency Frequency. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampGetFrequency(TraceUnsignedBaseType_t* puxFrequency); + +/** + * @brief Sets trace timestamp period. + * + * @param[in] uiPeriod Period. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampSetPeriod(uint32_t uiPeriod); + +/** + * @brief Gets trace timestamp period. + * + * @param[out] puiPeriod Period. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampGetPeriod(uint32_t* puiPeriod); + +/** + * @brief Sets trace timestamp OS tick count. + * + * @param[in] uiOsTickCount OS tick count. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampSetOsTickCount(uint32_t uiOsTickCount); + +/** + * @brief Gets trace timestamp OS tick count. + * + * @param[in] puiOsTickCount + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +traceResult xTraceTimestampGetOsTickCount(uint32_t *puiOsTickCount); + +#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** + * @brief Gets current trace timestamp. + * + * @param[out] puiTimestamp Timestamp. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#if ((TRC_HWTC_TYPE == TRC_FREE_RUNNING_32BIT_INCR) || (TRC_HWTC_TYPE == TRC_CUSTOM_TIMER_INCR)) +#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = TRC_HWTC_COUNT, (*(puiTimestamp) < pxTraceTimestamp->latestTimestamp) ? pxTraceTimestamp->wraparounds++ : 0, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS) +#elif ((TRC_HWTC_TYPE == TRC_FREE_RUNNING_32BIT_DECR) || (TRC_HWTC_TYPE == TRC_CUSTOM_TIMER_DECR)) +#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = TRC_HWTC_COUNT, (*(puiTimestamp) > pxTraceTimestamp->latestTimestamp) ? pxTraceTimestamp->wraparounds++ : 0, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS) +#elif ((TRC_HWTC_TYPE == TRC_OS_TIMER_INCR) || (TRC_HWTC_TYPE == TRC_OS_TIMER_DECR)) +#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = ((TRC_HWTC_COUNT) & 0x00FFFFFFU) + ((pxTraceTimestamp->osTickCount & 0x000000FFU) << 24), pxTraceTimestamp->wraparounds = pxTraceTimestamp->osTickCount, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS) +#endif + +/** + * @brief Gets trace timestamp wraparounds. + * + * @param[out] puiTimerWraparounds Timer wraparounds. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampGetWraparounds(puiTimerWraparounds) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiTimerWraparounds) = pxTraceTimestamp->wraparounds, TRC_SUCCESS) + +/** + * @brief Sets trace timestamp frequency. + * + * @param[in] uxFrequency Frequency. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampSetFrequency(uxFrequency) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->frequency = uxFrequency, TRC_SUCCESS) + +/** + * @brief Sets trace timestamp period. + * + * @param[in] uiPeriod Period. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampSetPeriod(uiPeriod) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->period = uiPeriod, TRC_SUCCESS) + +/** + * @brief Sets trace timestamp OS tick count. + * + * @param[in] uiOsTickCount OS tick count. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampSetOsTickCount(uiOsTickCount) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->osTickCount = uiOsTickCount, TRC_SUCCESS) + +/** + * @brief Gets trace timestamp frequency. + * + * @param[out] puxFrequency Frequency. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampGetFrequency(puxFrequency) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puxFrequency) = pxTraceTimestamp->frequency, TRC_SUCCESS) + +/** + * @brief Gets trace timestamp period. + * + * @param[out] puiPeriod Period. + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampGetPeriod(puiPeriod) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiPeriod) = pxTraceTimestamp->period, TRC_SUCCESS) + +/** + * @brief Gets trace timestamp OS tick count. + * + * @param[in] puiOsTickCount + * + * @retval TRC_FAIL Failure + * @retval TRC_SUCCESS Success + */ +#define xTraceTimestampGetOsTickCount(puiOsTickCount) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiOsTickCount) = pxTraceTimestamp->osTickCount, TRC_SUCCESS) + +#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ + +#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ + +#endif /* TRC_TIMESTAMP_H */ diff --git a/freertos/cvitek/install/include/kernel/trcTypes.h b/freertos/cvitek/install/include/kernel/trcTypes.h new file mode 100644 index 000000000..b58eba62e --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcTypes.h @@ -0,0 +1,73 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +* +* The common types. +*/ + +#ifndef TRC_TYPES_H +#define TRC_TYPES_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef TRC_BASE_TYPE +#define TRC_BASE_TYPE int32_t +#endif + +#ifndef TRC_UNSIGNED_BASE_TYPE +#define TRC_UNSIGNED_BASE_TYPE uint32_t +#endif + +typedef TRC_UNSIGNED_BASE_TYPE TraceUnsignedBaseType_t; + +typedef TRC_BASE_TYPE TraceBaseType_t; + +typedef TraceUnsignedBaseType_t traceResult; + +typedef TraceUnsignedBaseType_t TraceEventHandle_t; + +typedef TraceUnsignedBaseType_t TraceISRHandle_t; + +typedef TraceUnsignedBaseType_t TraceEntryHandle_t; + +typedef TraceUnsignedBaseType_t TraceTaskHandle_t; + +typedef TraceUnsignedBaseType_t TraceObjectHandle_t; + +typedef TraceUnsignedBaseType_t TraceExtensionHandle_t; + +typedef TraceUnsignedBaseType_t TraceHeapHandle_t; + +typedef TraceUnsignedBaseType_t TraceIntervalChannelSetHandle_t; + +typedef TraceUnsignedBaseType_t TraceIntervalChannelHandle_t; + +typedef TraceUnsignedBaseType_t TraceIntervalInstanceHandle_t; + +typedef TraceUnsignedBaseType_t TraceStateMachineHandle_t; + +typedef TraceUnsignedBaseType_t TraceStateMachineStateHandle_t; + +typedef TraceUnsignedBaseType_t TraceStringHandle_t; + +typedef TraceUnsignedBaseType_t TraceCounterHandle_t; + +typedef void (*TraceCounterCallback_t)(TraceCounterHandle_t xCounterHandle); + +/* DEPRECATED. Backwards compatibility */ +typedef TraceStringHandle_t traceString; + +#ifdef __cplusplus +} +#endif + +#endif /* TRC_TYPES_H */ diff --git a/freertos/cvitek/install/include/kernel/trcUtility.h b/freertos/cvitek/install/include/kernel/trcUtility.h new file mode 100644 index 000000000..ae4d880ef --- /dev/null +++ b/freertos/cvitek/install/include/kernel/trcUtility.h @@ -0,0 +1,51 @@ +/* +* Percepio Trace Recorder for Tracealyzer v4.6.4 +* Copyright 2021 Percepio AB +* www.percepio.com +* +* SPDX-License-Identifier: Apache-2.0 +* +* The interface for trace utility functions. +*/ + +#ifndef TRC_UTILITY_H +#define TRC_UTILITY_H + +#ifndef TRC_MEMCPY +#define TRC_MEMCPY(dst, src, size) \ + { \ + uint32_t __i; \ + for (__i = 0; __i < size; __i++) { \ + ((uint8_t*)(dst))[__i] = ((uint8_t*)(src))[__i]; \ + } \ + } +#endif + +#define TRC_STRCAT(dst, dst_size, pDstLength, src) \ + { \ + TraceUnsignedBaseType_t uxTRC_STRCAT_INDEX = 0; \ + while (*(pDstLength) < (dst_size)) \ + { \ + dst[*(pDstLength)] = src[uxTRC_STRCAT_INDEX]; \ + if (dst[*(pDstLength)] == 0) \ + break; \ + (*(pDstLength))++; \ + uxTRC_STRCAT_INDEX++; \ + } \ + } + +#if (defined(TRC_CFG_USE_GCC_STATEMENT_EXPR) && TRC_CFG_USE_GCC_STATEMENT_EXPR == 1) || __GNUC__ || __IAR_SYSTEMS_ICC__ || __TI_ARM__ + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(e1) __extension__({e1;}) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(e1, e2) __extension__({e1; e2;}) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3(e1, e2, e3) __extension__({e1; e2; e3;}) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(e1, e2, e3, e4) __extension__({e1; e2; e3; e4;}) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_5(e1, e2, e3, e4, e5) __extension__({e1; e2; e3; e4; e5;}) +#else + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(e1) (e1) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(e1, e2) (e1, e2) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3(e1, e2, e3) (e1, e2, e3) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(e1, e2, e3, e4) (e1, e2, e3, e4) + #define TRC_COMMA_EXPR_TO_STATEMENT_EXPR_5(e1, e2, e3, e4, e5) (e1, e2, e3, e4, e5) +#endif + +#endif /* TRC_UTILITY_H */ diff --git a/freertos/cvitek/install/lib/libarch.a b/freertos/cvitek/install/lib/libarch.a new file mode 100644 index 0000000000000000000000000000000000000000..b938d921cf98dd311a004da425a8d528058636c2 GIT binary patch literal 66432 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

CFs9Q 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

Fnp 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

a-QP~`)xK^HARs|~W@ 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/lib/libhal.a b/freertos/cvitek/install/lib/libhal.a new file mode 100644 index 0000000000000000000000000000000000000000..6de12c8bcf1a567a528c32823bc3fbf1ce48ed75 GIT binary patch literal 1324766 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%0D`zlHeki7z7l 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 z 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

;rD?RPf)J+s$#A-p>RAHCYftM35(O`QTIvW z@mX;^pzyEcc>qd69_yILf#P^TVJ;XZnGZlo$fLzml#fHj@qogTV3;HiKuO4BGxPYa zI37@#pF9sh3F8s#i$52~0SeQhS0tGWKndeOeQ{J+UtGA6XYix+Nf7&*o>h%ft?&tG zOmTxM4dX>2#ks7|(=6Da5W6S-bbo~n3jO{%Sc|Ydp)dCHyUm7YsF_Su3QwiJvQrUd z_{j~Pngdg}0eKw)(-OfnyUl8{G@=ZMG5K)c(>ji0C7&M%G! z6gps-Bo9DI$YT@pxKAm3ttmVoP&hw%9)OaNN5}P)57>J%@fZMwmB28`d;m&99=n*w zGNte>#_)VV;X}#u0F;D0u6%*=0o#ZsZl_RK8w``o2cRV6@fq`YytwuOh0i3<15gt3 z$bs{rf4Q)>xb^{s&A>3pd;m&99^W$$*iEA5i$8 z9e?^Y6ngCq=_EcEE3IC%G{i6-rFNfQNZAE`M1^y0{Ge8Ze zJN-jOz2QGoEE>iNKYA+?8D$D1Fh7k|f(q7eqCdR8hB|Q+)^->9iDjukM6U@sYF)_T z>MMuutV~>Li9bL7@2m?rTz#DYpRa&n#Q$jpe7>Tv0zO|+Sn+dA(GVAxiepxJq=3Jc z_~+?YsD=J+S@^zS_!$lgr-5OTtpiZPT8Gc0=_cZFqBtH<7zM*5c>qd69?xIkeB7$%tyKuO5sUFP8^g|D-Rw+|>>kvtDTNyww` zYm|=?O5v^%;XI(QE*K`64?s!C;}hmlS{2hipm5#)!lQA~Dv7C2AW`*a-}i%m<((of1C?_u2{>s^_7kBh2uiu|A^aY3-N7M z-0_1#1&03^JN!-npd`%O%gm!?amNn|?@68qpd{qcb}Qwhoj!i&7abiU@Dot@C-UI? zX!^cJ_%Q+7f1EdcthX?SPWo7fbAZA-!0;b&0NekOL$_^|hn~v9{oBIFd??HW!+(q& z-Yx*eL{aqa%m>Wl3NR|0hzAs|N}dP0;3FE~aWNip{H<&uB1gat%r!-)*t8VYXN|gz zw$;|!65dn5mx|hBiTKEJ#HBC`?BFkL|H!I^6VVz})CMP^9dH8vk=4_mfHw6@mRliD zgZJ*_>FjdLyx363w|~g0j7VaD79Y0CA($9g(=UBQPfUegY}XV!NIWe7fdi2DVGX9x=G zf?<*w0+cXjK94V$2Yfj(@sWbUb;u|~a4qqe#e z*!akUE$j6xC~mcgHN!0nw~dRmdXzOcu;xY9jA6}A*4)CHPgpaVk-ulnzgTmIHB(tr z7UJ;v%pi@9dyeJ5kArdJYneLk3nA|JOxzb*O=EF4w9fNOFz!ZHg;?D1)oILTtI6!A zxn=nqJ+_+7nhvZfU`>43;=(1@Q=u_TIf-@`K{FjYRpg6wX8v(z+;tJP*5NL;IIB-`iI}T8$3c%=V$02 zd*6;kx~vBwd;lsbvvcmyNSO@65nMe%S1thj7BvDSv24ImS2|x)Y@gb2ofF$-M zB#|cN`s7IfN+^kMh{UjWfW*;+B+{j90TxMS0#HIpoFEe4A&I{dlBg=>Ysr%Ulu#1U z8oJ?*eHTcS1|hs*o-1Vsut+i!fD%fg3X%97Nt~CEM0F{5CQkxTLP=aeByN2VNHj`F zqL!3B!6L~_07@u{i;2YFNTOpx5_P5gAbApi5=!E7B9XfrNc2reqMnrfz#_>^07@u{ zAw(kjK9CrZkVFG1KTDnjpoEf`KqTfNiCYtrXe8wzut+i!fD%e#CXuM{0g#xRkVF$H z4<%0mP(n#8B@#=J#PWnBnoD^DSR|PVKnW%B1d+)65J)_mkVGpfe@>nRpoEfml}J2- zB(@|Z(N@X{V3A}d040>fdqkr49w4zNA&GWUo=TnspoEe*KqQ_-5{D9!=qTkKV3A}d z040>fuSBBZM?m6aLK2;&w7?=s5`Yp)LeHk!bZX zkf@rFL{BM8gGG{=0F+P?b&13qNTPm15|>GNZ}KDnC6q)fBGG9tkhmlvi7TW`2a6;# z0Vts)dJ>7ZkVNlGCZEO`=u5=!DaB5~8UGgLVC5%Lq z$B9Ij)d>lVkg^e6+a{R>KnWuNcX~Dv1-_aVwJhuCDY%$^3kvGvAOB){Fa4ttN(~N@ z)cF|wqsFI@#p57^kG8diJdu15fD#r&XIV>=T!SQB5W-1#Lf!@zNoEpILP?|%iTa-b ziOLB{TqvvvSR_dTP(n%6CKAshiFyf1TqLZ#Rc0#HIpd`cufMG{{oByp9no=%fkexMB!&yCGgu^<2|x)Y(V0kWMG`$g2w#eD zgRm06$f4g1zYY#+=RXOq{Xu{`3qtdvt02T2Vf_uxTI2I_ab0VCZ`-;v^Wg-J!TKLZ z9_d`Fj_@1T4s>50gz(wXJQ)AM;vWNtFFpX2(3GA_Bzk-UBx)oiu@J_8ut<^wpoEgR zpsvou`$(b@2;rI73gdtBBmgCp#KlCS?;#-3F(HZVF#dx@l9>RMP!g9DiBFM4--IOI zg7H6j5`Yp)VhEAA{#zh1A|Z))Vf+V+Br^dhp(G{{iEog^tqDoI595FGBmgCp#7rVF z>M)R)n~=mF82`Z{$xHxBD2b&+;wL1rJRym_F#ab`0#HIpJV7MJ9|022CM59*jQ?Pf zWF`P5l*Fq<;twRTB_WB=g|#br5`Yp);yofU^(c_olaR!h!nzzRlFS64gpxQwB;{xScD|1CM5B_u!e#~l9>RMP!e^CM5P~qME!&$eiGKvNoE32LP_)_5P zVgKv)GJp~qS9c=u2a>ofA&HhS{v}TWP(n%EOv#=46Ob5}@CcuQ@eeGL%mko>l4wZN zR{1lKXqs@^dLN8`$&&z-P!b)8#4IGyB_WBWF#dr>l9>RMP!fHJM5$vy;+ljc3Sj(8 zo&=zTk{C`T79okz2}wKz;~!WgnF&A%B{79aRQd%-Oif7Q5g7lHCjls-B<2u_0wl2@ zA&FHm{((i3nE;ef63d80)~`U~k%S~x3+uP!NdQVHiD!t!V@P6sLK061YYJE-nF&A% zC9#=Ec)tOO?FmUdEvz%ilK_-Z5+4$YXOYCdge2ApYX(>(nF&A%CGicBX!1LdIGT{e zdSSU>kt7K~2_&3@`MCpXn)|Z7<9xRf~1fYbH zs6r&RA&K)6l6X~E_a{#RP(n%EKsUg;o&XYKK?t8a-y*E4V3A}d040>f?L^|;|A)PA z0j#5_`rmsu3F(6ZCGrxn0-yHdqivF=4=V7{JlaM>8t7)hKgNwob9NPLGSab(W_50Dt9B|wXj#08SX{~?L* zvn2js&cA&4BtVOi#I=&dLGJ*GpRgppl=CNn#4s%ZT8t#_mLz_SB<^ELd?n{!KYS9P z#YkeEB(W53y3hUupHK;V5XQ?dChRN^YEWciojjYkpE_t!2Mg7~5_vFdg*>?VT`=+>oXko5 zmPvR1oA6~|U(*9F&GChMB$DekZwOc;i`@GkP~=zPFQ3gz%Z?Fl$pZcB!x$j!h0-*FXq2Ldffi#JP?SfWnq=VvY-I^5a2Z zm{wS0rm&-=@P9~Q7nZ`Y`5z6R!m(xwdq@h4yqq_C5=-Iu{6r8KrWKAiQ~0!`@GMf; zkEQU9{58X;@C`GC7D?fd98mZiOW|AjIuID96~1Mr@IR8mZ;--bmcps|pA4VEsb&g& zlETtFP#9n-oSvTn0>iYz>1GOFmK1)E6pmvloR$CC@F|>Srf`a+(CY(*(^(4V=Jx}E zVOrr_GldH!g+C#MOIZpR=6^nX3KyCwTq`N`mjQ*JuoN!I&jNvATHz8ig`Z0be?^^I(0m|K#u~+-#<>gQRdAQur84 z;WmFE2n^E-x0xyYr=+k2Ovh$VWGUR`|7!RY?lMxSn;|L8{xnVF63wPx%XmPvK8y3X3I$d0PU7Ls<%M=63^uVOrr$Glc<3;W4CeBun8P z|I*=8c*ht^XI&~O954nb{0L6Ww*$&^{vIGN z3DEW+F-#Jm#Yo~_N#b@S@gPg$n|c4#;gbL@MiT2KiN@`K#PckPQ}X`yATdl!fEFW( z*CdJiki?%^5~t<;bB0d>v=~X$?J9!W-0gwHUT|WL2j7S1|3PAymH;hA60;ms_9TexH+s z@O1nDU}Bd9KDn}U2?G24P-@$qB%aCBOBZvC#?$Gu`BCb70X!E1)&1S@O9#(~fRK1T zPj8^b%gsUL&HRX^A9XO5`JKpb=lwHKOY$wg=2CP1h-ZdhYMJkk-q~1cGHd&7endUW zsx;V?wVCVoO5X1`mtwBlyZI3}=_M7*7tE#pGw;9RQfj3?Vj{R+P``Agj`ID3QHyOm zZsm`-#HCboZZy{X?pM*v9x?T@({{n2QsZZqd_-5^-kH8m8L2+P1laH8d09P7prUJ!vrYhjfMf|4lb*c&?EL@kLrh2&o zKBE8;7H*JXLHx|{;UCY5H^1JT_vcrd>IGly3qmRC1y`EtwHF%nO;zrld3tBFxi`R< zYxS~=`K8&upoQh}|HjGs-#ru$_;M}?1~y2?1GJcUguZp3Xaln?;LFE`&jGZUILLSV z_U5=e`J|s?7>L>rJpY)5988}6y&I5B;dO`OL zoHr5zlS+Z$WR4J+=?Mg9ScJgzOCUJiAq3__yN?4RGjQ%f2ux1evDePPi2xxmQ@~$b z_hw*LP6(v!0>N~M5Xhmwy${M@ZbAqoFZgTe-V96>2!TvOAedMa0z>=E|3n$gatVPn z_|9Ds!IYB_$Vml)`5z&WAQB>8RScOLok_!&f#Gl1T^YVCuf0sVJpWPrM%a1_X;FNy zFKHd6Y=bY^B?RBXyA^W5H{KFbmCxU_H6r->Swi6bv;x6*!4d*5i(O1I_+nN<;LWW9 z!MCIm0Rhm5d!bq69~TBju3eHoj~wKbA-T~=sqAl_|`W<;I(i9!B?;m0`F)O z2)+-E5O`slK=9>cguvU&ZYalk;hVw;IV7KN+!hghZ5JW%Uax;(n+o57mu%4)yyp72 zlRfD{<8oW(z6^K1MAsdc)4J{_ay#NT!h?3piC1ys%dAK@yzNT#E_|~TA@J%c9OAqg z_?jm|;5|@+BR)4sNUcKfAwEK;Dg@ulL5t&2!U6pe4h|}O$j0J9utA!J3|P8mx}zAWbg$Zguoj<1hP;ehpD>b zLkT3aTp{>`03q-QK{?d|x9bxE`}qZed*=y(&GiDojqHTLPIrOeu5vK?uC>L)Zu3qCv$)0*@1x zlV*H$j}UmaPayal9U<_bT{p?#Lv4h>Q*Q#nC(Hg?;epc0yiM2tH~~$ZwU!@VRe7 z;K6WVAAAU#5O_*kAoxTyA@Inwun#_-Ob9%`ERcg00*@pMi{VqYB=a|kh)4#{!;)g68TGKYKgTj-}&9-yE6+n>I8@MHK}4Rh)EVTxkn_z~^+QSJCK5$SL% z!n^|f8sd{O(BTFF0-lxt-nJ*;842LcbOK(G0N&ar;3e@312gbOGXbyU>8BxP;B8+5 zUXv1d6PAEK5!Mk3Bz-=*+x!^4*Lf{@1{xFpsS>R?7oynH?{Fb>n z6I4rlo^le=5(j+(f9FA1|6tAH1?~6{?YNVU=M8juxy9R|${G070@bWL|KtwH8lNE` zU|D|e9TC7C{RA8?0o-3tKwti1lEB^W1pKcAaPK(*gZYs=p$^;$PQVcozS9F?C( z61Yp6fG_6nqgKK_%LJ^E0PY|r;Mjci&Zrdk^Ad2p1aNmP0pF0`f_q&F_?854=P3cF zN&xqP5^%Z%a91V)XGs9}ND^?abTHhpNWg{CeQ^IE0hdSz!`*xYTqY%OZyfH%kEbWD#(ibRFCwMZjIsbLeEPbewUOGr#V6tzaiFcRc|Fsa}hWzukJyi_?Ic`kmHK<1e@7J|Fy&>$E)~R_cGbU-|x=I=Bxu z1HPDm|KQ(*4s|eF9@HQ_@ep}73x6yI|IVERtG4<3xRpTo;h2>mG0YhdfJj04*jGb@*FX_&56vmH_MAY$)GS&O>uRdsfNgXD@c{4Cj1dR6RKoZ(6{ z{mHw_NGpiJi1M88?@mraC zW!uZZDa$5bG30ZRgYQS4J7F-#Jm#Yh5wxD5ZEMiSSuB;ZHPt{6TE&|)Nk zzm-+9W#IXZE{<04;km~ z-l$Rg0t8v-cAh_G#;8w^+G|uZEF_l6Zz?^nd@B(0yb2Jg3u;^`qG9)lomO)xPZ`*BS9IEs}k>y87qCBk4b`c3!d)>YabnH876wnH#b{G$J z-Wjgnar=lZcG?nbgnB{PD7nOFC2`1jb<_VZ(i*PBVKR zrpdcb%>DO{)U+V{sU4fQ9Y;3Wtz5{F2G84FUPh;Q*?+_@+a@=5i~V-^ZvBpE;ZMTV z*l0o=Jn2)qI=p^-L?KB0=f`q2+oF<%qYf-TfH>???$v;@{~9H~ffTh45WIW>ewByI zCK3V%lcLvqUNw{u;ZQRwHy;FRbsTnV;&pBCjVRai>aaKzoD!{Kq=Hi;6$C=lqH53x z(<5~Th2VYjx5sa0jLPB1r>PQf@!nrQCI{UQE4$B$$K<^H4&SZ^cwYsh@PCVw)9ZIc zvHd23dkF)7YR3q(nNilFHS2Y{u)MEdEhHNC_JBF%CbNR-hQ z1tVr^*9$~P>WBbf{rNfvlvtp%KmclsezGuX6wf= zjZwBy(OCP;d5g3&IxO?v%q==Ujv55xB6;u25U!(t<=#=16}u&1lW6op7#zGWgO#Fx zLR|tjiAFDk5ykt`DY-(kFUD0+9*p*qBw-B#e{M@>gx31W&c!B?BwNlH- zaia$3n{r$I3p$pe$iP(cAh6gW3Gar!_d-cR3LEeainEEIGgrpNtfF<%u4!FZFi%uG zFhG7jVL$b)`pkKW`r?HLSzK5&NLhrHoR{FOn5j<-JNn+5aTbJ&8rxtD#X@~r73F(h z+<1Jfib`0y#NJ`BoY{>w2SL@=>a)!I;&C?Fs)c_Q6|pM|q}G&(QKI{+TB}dHvg~+U zMTE>o%Jkf)g&FPI!>(;DiZgWUIC;CW?08!-`Y`*^2_@?NHa4;-%dTy$TCH^P$bz>O zqYtf(44F6%+Exo!{|18b0A|Ql%~_N|FsUoC=3!`!4GhIeK`(xzBy+0|x1zU7Wuww4 zGI(2Rw=}IO!whs2S$?j7#c^0sJwNWZ@$=F|^^K?{F*}Rb$oIZneBI4rqHG~zRg{&G zMPU{qRz+C}Srld=VpWutkVRn@B34CN30V|oA!1dOm5@bY79y5KCAy$FhQ>RlVcvrm zCYR4XRDy9UY?A5!rnf+nF^W4*>^$=$n`wPw=715Ww3D`2yLi?)X7a+seE#1cK9)Y% zC+(WJ?TB{$pG0n)^EQ3Kc;)imm*SA;<18eOngmT4?Zw#5?t1HjHi%MV>G5ih#QqM| zvAG#J()f`ea;-RZ&(#7B;XDu__Ak+vHBBc+Cv) zJB5g4QHk*>MNwAPS-tTb!=fnPvka29}8Et^q-=4N9+P`@ut{J{l~&SMMbP!HS?c%Sc;x+dj4Y(G%dzK zi;!T|l`ZX4id|opMI{o6oVPIArnn{DJoilq8WLgiweb=Rxf5QvLATZ|j+2O=8%QNZ z5;jPR7)(s>G0-K=X3B{d9;6b~FT!I(ZJ4G`T75WzNgjz*2P^+?wwh~LGAJdKG7e*kzIS9Y`@z+P&l@(|4_`Q5yusK>k)kPz#VBM|P@4WLK8&9W(m;c-zF!t(>ALXRD%o@7RsU$Ev7J$CIrL_;1`+V4o6g z*SGQI;zfZk7Z)m3ds!4^X`iAq1Iv0@=*ikE9%}V-3)d)BlUfyJ;bIo^TzIIaL|eZS zNxp78Jhm#Tgg2{;h7H@Y64Nh6;4 z1+`;jQI;KVi{dOq?8>r}GR!aI4p}lrhEQXGEQ+^aWDqex$+8kdpcTVJr?&3>o19?M zB$kznU+8=PFFCo63t6>^MWjnKTe2Vvk)j2`GtgFB$%@`bwD2msvOvn}#UK{7FDhbJ zmYtM^0W3u9$^xmAZ07Jq4PeK}qAXiRCGsOXMx}Z$Oi?pJ?Jdf(ld@3#886h@NdxR>r7!du)<6I;S{q3%9ipf!bS?WhZ4(oP~&8S$0wu#aW2hm1QSo zQJjT{U0EP?!AA5Wi?T9C#oNQyMxF7bI)0w>ii+5k1yYw3=WXG(79w_K*-7QRL*h1x zpIeC7m1QSo*nE*>l$hbgMeNG5ld{;AW+7r%mgT#?={?ZtNfnMM;sOlS+%$HqeU~ z1ijeiR!31+w_syclvPx*TEi`BK&zsxge)p=A!1b&2-&n((aPKLDPEK%pN;81Rp-Z@ zJbrFbc?%J!dhw#Hge-=C3lXcLKxhXG`&hJBQ4y=6tb{BY!$QQWC=lAYH1;Xl1+9v* z60)egg@{#AAY`*)q^NUPgm9~(Kxp^Uv{zBeRz+C}SybLa#HuI|8gF5rqRwjPKgEmM z1o_zX_oDWJdR1>cI~Ol%6Xa7onXqs&3lXS#@uIAREIQ#v=2O%UGd}TTFM3`=`xH<9 zEDEy_0aq1J|B~q`o~4AiUJ{;Jcu|&oO4Prs_}Gj)MUxUc z|0!M+*r&LVMPU{qRz-o3O`cgI|0!M+@X7MbcqGuy!9K;4KMUuu5V0!CO30!x3lXcL zK&WI%TZw`~$@r8gXj<_pp4nwdo7OE2ha1;E#WNR+9%dl|{i}FURzemThlPk$Q6N-2 zQ?P2Uq9MVmC@Ue0#;_2vDhh;bl9Hm8x8qa1C`&#iiicKwif1k*^Pl2Hfqk+h$q;fC z1op|2BxMZ4C)lTW5@6ApEkvw}0wJ4xqeT6^cu|&oN)!)E#%EKr&&K3aJSnkoRtphu zjp9XF30WjJ79v(ffl!wJ7~-IUhO<{Cv5aT2vX}D~sG`-U0a9P7Ps1ii1Ei$Yr&U@~ zP}1BdSZLS8Z5JaL*I?;;C0bxA?&iR!c*19~m(oJSswgWVi^42Ktcn7m;t8llVHP4* zMOg`16lNh}RTK!>S5yS5Uc4ySiTQ|^2wf>k zvmj(wmYtMEaTX$WWr5TaHa0pWZnpTjg;U#=WhZ5kA6cYywq=zf-M64)HDG64;;x71 zR;II zl9)B=eG-qY=vsJQ(SqR3%r;qaDVo5lC@Z1TSjV!cq7UqqhK`f*6I-zK1>NMebgH0htg4-HV94*aT%m-z9TxR6ztE}AB6#G*<=xKvt- zy0=w9rHH|{NsUEWMMZ4Ovan9kvaE8fq6NV`JWHVBeP5p2wq_}s%C@XS7_I?q5&x`2 ziWcO1Yc}4{Y*CaYpQ1g&!a9~kB?i5qk>r6zQC1>F3-Z0AH(py=6lKY$G;L+U2YTOA z-udz7iJx0V+@it2t}NSlP_#G;(spHKsbOoGQC7KI(cHLHT8cJ;MHjFV zDOwP8q&GHV7_le|MyldlRIDmrG|*TTWhJx``B>caC=DBnf*=(yeha)bY^;j160+*V z7QSOq^^8w^0E(VNQnm5=xa9g4He0}Q_hm^xudog2Um`d%9kE!xVq2Dlb6U*2Eo^8}kcEgvK^7tw1zCt#6l5V{QBW!SbNZ#Bc>gM8Y%qkP z5>F~$%Xwa&s!%kz$19qhXBNmTkXazJKxTo=0+|Ie3uG3^ERb0svp{Bn%mSGOG7DrD z$SjaqAhSSbfy@G#1u_d{7RW4+Ss=4OW`WECnFTTnWERLQkXazJKxTo=0+|Ie3uG3^ zERb0svp{Bn%mSGOG7DrD$SjaqAhSSbfy@G#1u_d{7RW4+Ss=4OW`WECnFTTnWERLQ zkXazJKxTo=0+|Ie3uG3^ERb0svp{Bn%mSGOG7DrD$SjaqAhSSbfy@G#1u_d{7RW4+ zSs=4OW`WECnFTTnYyb-^{gLPS-t+L261m(z#%u}y=HM45Joqm+sei?a!ATPj>+U0L5uX@7Tj|KN%N z5b7E1K77)$&R!`$sjFw{q=Eh}uOxbb(O_q9@1&l-uHIEkfYXZQ%UATJ)4goPz~F?z z6)SoNCLP+!1>JG^hj5qtCV zL~;Axm(IRFiQD&XJBDTct>Q}Iy1XCQTKM)f{LB42iA9CKJ(@{2BRRpvcJ(OtpH-G# zWohYa(=aXbABtQ0$94?M{Krdc>C4jaFZZ7kb}I9m(N4PClD(f#qqWSxFm9FgwpLlE zT`4;b_SCD=@px3zM)kSemdEYdl^Tz=>3H0tX(JwY+VLp&@@0AdI=Y$;DdvPnsEf`X zlf1&OhI53mimtyhR&r3@gH)b-8B%kZf4|aPCaeppQXvr-V=_ZhI7ze2*#_ zqA$f4(4YdbEE_T!RX-VgP$nQc#E~qe!vA$pO8l~*j7!4$4WZGw27lGflF zK(-;_0D%IwL`0M;{zaSkFMojq-O@$hKf5B-MtXitdUW;4V`wMeKcB9Il4&-k3qhxQ zE)AQ!e^G>u|Fjhs{|ABz40Uqgt?-`^&64-870I<2aRW=Ule@>Pctic6L4G8PmBTz3 zZ-g%{m(C#@2W@p_q+VdN2d!#`bK&F2AyF;=0LpnC6$JvOKN%!{TF^yFsNrL{3NnvE+ z`qRO>wf_jMQ^^!$ib@c7@~;sI;Ya1F^%VaXVnJ(~zZDI+Q~dv>&yV=m3&|<|143e| zO#Y_$D@Z~O^kTS|!@>{fBAEe<5fy+gE0%1;!uTjfW~%?ZASv>N5t8gE{~S^BCo6oB zTNKfgS}rdVTv>s2y2Yj`lEzwIBnSq)Ag`Bo43El3;c=jbz7W-+FQkb+C4^)>Nl503 z+SMu%-%e@E34@wk;9*F{$_5Z`h1wSkIACYU;+=|;( zBw-T>!?MhOT4PB=-bHr&%KYcVmFCcO zNjf&q#Mzv0$Hw@04AV98|IPPqVTe z_z1Z6t3(vW3W_c0+VXPg^-?Kzhu0!?^1o$OBmd8$05!`q)n|QJpRl);%R4QjeNh{T zFIsSv$H@s4&9ck4QGHfUjLOy3uVbxxhtLvuKcx0TJ@}6p zgGNec*dkUQvO1c)W(&D2q?l0Y|FEbpMeh^Hjw0EhD_>979^Y|mkC!d@#r*2xm|sQe z`$9U_7rL>2%8@lt{1KHvmVG)M$IIL}K5D@cS|0lBb)?u7DbK73^AcaKUFQAgMU)D< zF$6nu)`$=1{bz++x~&!E{fo5$8kPv3A}zY=!jEQ9zV6?aSzYqXX$wSJj&xHJ0AD)JZ?$HV{Mej4R$ltB9zV3>@qavzAEo2* zWR%CHc0AVeJT6Pef`#|u1)^7yVDkKgk=&PvDQcTpav+3|Rd=W#|l9T;imOa{;YsOuycOl~H9H=E=Xsovj>kJu9>?18 z_$SZfxO6<;i}LuuZaMKQqD8c8gFN{w>3Dpg>4H4@Jv$!95f7ZLuN7;Eu%sZiHs$^I z#R`)?AJ@tV_}(QJl3eHGw~1vfH4pw7X%R}fe_=lUb8(f)pKnXY>y$bvSkJqzuQYX-hAOOv(&J=a^Ygd1@W2%d&^11&eEv6%1QAF&wdxyF{w z!*nHFA-1cT_6N~Yxb6V7v~_7Zrt9NOFSKR){7`ngI31g3<802eW%J@tY%WO0=7l($ z@7c2X?NDsaO~>XpaW-e#vUz1FHfN_}^KzWc>9%bCFch2brepK_IGa;#*}Og!o72*< zc`eT7TefWeJQSO6r(^S{IGdAf*}OFro0HSA`AeM5*KOJSZ74S1NXO={aW==>vUztX zHYcQG^G=-2v9@gfITV|(repJuIGZ)LY}SYo$~>YTla9^%aW?;?TOs-|m^`N2YsU&U zhI|M{+4sc_l_HrL2qtnx(*1*>YWgcH-8yU1`F(ACr;&Y~ZA~v9ip^8$*jyH8^SCXW zAM0#RB4+?Q-Y)LI?I>@o%Ui6Y#YU&tP55w&fV!y<_JEtNw4WVpHCpB2(Hp=9zZ2>m zlghlHBN_i9$C*P^N5Tzt_mNC~97;(Bvmsu8zPo zL_Bn0YKt`YVDo-tZ=g?)z3C+;kAZ`>eNF!!>L9l27wPtqYw&g~?b#P7=;+6L|GG@_ z7&uTKZ)^*(W6qTWJz5!XpnZqQa&-ha&?72F4q|7cD+k&a8F1*evO^U~nf##-zj5vt zW5ZIREqcN;z3%!k*nyshGTPzrR2)7MmI@q}hG%-Y`Y~|WiKI++SeA;z4q>Ulp({Mo z%hiv8!^c<--KjWyG%OW391@=C&IXR@nnR_C+Rs3XAXOWr2>b~ zg=c!X`Y~{rL{cUW?f8u|hY4Y+z+rB9rkAT91BY6YGPT9LR2*u;Qh~!~!ZW>G{TMh* zWjTB{6^AKdslZ`Yc&3-D9|MOOEQi^tIP4Xc3LNUgGre5>7&z=pQYL?BOvPdEuvFl1 zyVw+}C0Ba!;uuKWDFjR&v0o|{cW5O7ji1`lxQC~4D`{}<9d}20{KSsOec~!=lyd!9 zO>L4OZHJF63ayUZd|#GAWzhskJ|e17HZ>M3u1jMn-+xdmme^crWh-Fw z*idY)O2_8WIGf9D*{l;+{+^5j=J>I=brGG2;rz-!i&WD5>UVTeuq!$_A(Oj~X8h$=O~X8?RdN`t}@x6Z2p>* zmW!W5kIip~*PR$#XX@i`inPFWMd+Ja{Di#rb<(0YbMhF*fK$a)+O?`D`F~2sl25WahAAByEd@LE9rQgsp$fH{Kk&Qxjc`T((yPa%Hw%E z9vAXFUP#B|f+&w)+41@?y~PL^?KCXxgY&58JZ2MqEkD=1{(AvG3<;IOYAHML7AlSuyhO z5?7gG%^m4@+!5vRQ#&5_@H~E&j>pfVJZ`e%aWBu~mUKMUMtR&|$K#iD6>jqr-8}Dq zOWZ7j?S98-BfI9ymkI&5vC{X~YZ)2&@`a>F@3_fhx;6Z~xYFP|;Mo_aWAkjB&3U$L zUKCeq*4AuuemXY4j-?3%$$D!Dq zo{r5Q;%rW_W%I^RY)(zb=Jhz6Z`!hXb0{`41i1F_KgZdeXv^m9q1c?1&Ngqw*?i5G z&EJP&^YwIW{uXC*oGqL8hGKJkIyUdd*?h&8%?CrVIW`@ef5zFoZ?$C~GQeX*q%p^v zHR;%_(X`Px^$%M%Umc3gKhtd9hu5aX*}P-R=7gcxyqk{A@o_ePwPo{-q1gN_9heIQIm%V( z*gP6%bGa>>b>hmeCRXaHQsP#Q^R!Xk*a@eN-%qI5+d6D1(3Z{fL$SFi9h>LkY|gc1bEDZRV%q84MsgAwTIGJLNeQ%(rVHkV{?4J@-X+K z-=|~q-8h?=NRbI9o{v{7_{ppF=NXo>9Z|CkLw||G-=^@+9 z`r4r~>qpY%vRB75>tEWkxnU?a52j;tU7XFmwrp-1ip~A$*xVRrbB`^XpAN<57wOpC z9A|TvEt}hhVsm#oHn+yv+-}R}&Y{@cnU2lvaW=QwvblRGHn*i?b61?r&9-cQF%+Ah zrekwYoXw54Z0;Y5%}wdp+#6?eoh_ROhhlR>IyS$Iv$@)q%_Bpxxi%e}hvIC0Y|G~H zq1arNj?JTSHkaG7SvM4$E7GxfBF^Rqwrrl(*@(T4kwgKvS-hQ&)QNFYf3_v{EuB<+ zF7{?RHs6f1dEJ)HsY9`OBORMl;%xq4%jWc<*!(daoA1Qgykg7d%%Rx4nvTsGaW=oT zW%IqE*!(UXo3r9;ZSUTosP}D`+UAm> z*gThx%|&rGPbb*G=KI8}{?FHbqc(UWOSyb`?`Zj?DLhF^+QV%efNU2&8z77hTV<|F z^BV^6icjr1#X#5Pq$}B;Is(h6>%_IRl`rxYyb?7Xo2L?N0!|m(ae7v05KnVPBDjA+ zI!-TWoWRcCv*YnwaTTpqLXgk6f ze0LhF`Tnh%)e<^yw`F;!&|+v!V0LRdW_N4MXu;qowruVbR|6Jz zo0>w+6I!SVo`aFk*_z~^sl>;JMc@G!(UyrqSOq907Clddt($R z7PA6czW*)yO1&r_$`?d@Swb#)ZsPwc@fRiRq!g)#^27T+Mnn}Re&#v(i_{5k{z00D zv*G6{G_NKXXMXqQcKph%2>KG$BY@E=kAcnK+yC?btx;{GKkwhCK}XfrZ7c zNyqWwIL9mOIF|WO3}vw^)3JFh&gO@fY%2Uyg~cl5`y=3&XUK4)zqDm@gR-Ca8J1x5E)$QvgZ;)2ZNIzHF}^L%_-D3^e=e>x``_*9*xVUsbBisT zwR9!?qE%iz=TAq}tHLAnXgU*K4O^E{JSOCh;h0BPi9Qf22+I34)gt`D_9)PNepoxo z?o0}T(q5FdHwn380f+NK4l$E$?2?1>o*k}TFAnQO8`(|fiIrAzuhBRJqX6-EYPhw# zEUX>%(jjZNe#3apr6GrC?VcQ7?aKU{mFC2+eajXr^B)N7ln?@AIAXFVl=;`kN)F2V zg{o6p&03vQizQSArQNq-YWEYac6Sf2b`}2pO0%5tKoiI#S*HsBr(vBELZP_rk!-OF z|DIUML3uZ-IysgWXx8eaS}dU|DD9>VQ@eY)+Fh5jc93Z#Rs$ay5&nQuuo@Vw{`vk# zF+I^Igjj3;@2e?maozC!waA;nK+jvGM^~RbhBop2lf;$O7LnB>dOMhY5%GIJ9lvAZ z{6sx<^~q!6Cu>Ihl5g1}PNzyQNowE_()>Dkfe;}*-y}WUHBu05_NKT}aH8b}{US}5 zYluhU77|y7WY9J5#rP z$JlM<3RPkeA683trVa~J{H4YY{c5@nb4I+w{MNQZe^2Ysx(&!Jf0vHUS#dTm+Oj!M zXEV}hq4nuFT^i@~q%Ef(>72-ggq_Gj|Cf%<594eevt@Io#wHSg>9vH378I6u?l7_) z!VdGSEx(I3ehD_ur?b|Dacc=5(A6i8sr$-SXS?s&Bg0V_)&NMZd`G!1rLIZT|7NNa_|OPnTqe^RQ4u14cf8s^v2BF=hH8YHtyt;?B{si^v$@`u z%>zTRxiKA^`{Qh`v1RixU5Qx z?V#nOB1Xsj?o2BVk;`(R<`q##UwE$c-=y}_(rJG!s$H!5C$(RePWw|)?ZQGy?U$s} z{*0aW3({$S!A|=*>9oHT(T=yVmQykTaq1Iv06tA_W%9!p7(Y}VxCd&8I1>8bdU40W zb$)TFHgr>8dNR?)^rFNuMVTLoD@CpxkFWoij?E9_Y#y^^bEU?{X0T1i@4Ps_XKndi ztnt$gN;ZE!9h(c|Y=jT!>XXORcCyt)+buHs(=lm0AAaJRJYTvA`sF`uEp+Tq7WyEa zg}xHE(7U#5j@Q|kXM#ePbHXMyhY8zXZ8?2I=M?X8e@kbfug5L)7h5(b>uk&x61to% zBsGT?`lBtU@93Q37Wz{<3w=9op;v9$oT0NZTS(|~wvf~uTIjd7oW7@Xid*P+=`3_s z+(IwfvXSwWP5Qq#Dopxe5EUcfj$(HSCFH-Pk|3sy_HQ5-L%mVdFjV<#(^NU{-x8^^ zf2UQ2{oBP=@vUYe6(}$F#iOW@=8BXv-aMidXJ?V6hR$-U6M{MX{Z^aqi3D)STIP$U^>9Y8=4}LE_QWyU! ztD5+a7O%(6T0O`Y;O^`d4%{CXMQjtkL|0y(tiw7X3O{~ArYg_ziRqmhD?>Q*FLq$~ zD^aZ6x<*zOmnRuMOQI^J@Xxce@{6K?p}gh(BK0}jp*}Aq>mx2t*5~DDeNMNl&mW4{ z=kX%-`L;uS{+O(fxI9^(KSk?vl3jh?Dqf#w;`K31yH9Ya)7zrRQ6e;u&xy<9bsFWr z6R;ykH%-%CvS7Eyf!+H_cH;6RyEXLlGZ+b3cCTsd#ArhQmT#Mgu>$G`HAOJJ;e5veStd>q{NRMKPc zSbag8TGWZ$$7*W3e}vY-E#HDzvBkvEa{8dI4cY$oy$wG;s<6nU%3Uf&oUh=Ad1S z5cF?(ARTytD%Dil*@@DosnVuK)K2q_rA<}ROlggi3$1PS?RynEn%X-Gtux!(y=6=K z3;oLrD?67g>FGPvYj0W5-qcWNtW_c%g{HaQvYvsJJ%xcU^mP@wRxIiE8rqu+O$`l& zhL*NM>zqPk{cNwkqcEqvP~TeEzsBq8SqcjKJC~!n#`eOT#JfJY$>*#1HEC4<2O>^7lwRz&Bu>Z`4LVZg^4N^hfhjtGZmUng) zRxbO(0H`^%u()%ed%#=J3?((ewJjc0v|(mTbA6$`qp20oT3X?7X2<;Y!o2w%UIDc% z9$eDBeASUqqrRm*RCA!(K661~a$BR!>I?N9Q>%qPfVI)sXsZHQi`;Cos9HO!IbcrH+(P5LxlPJ);Dqf5&IK=nS{BIu zH8J~Z{t@_CYh!^dRcNjcXzev!Fek49k3Eoh&jiz9ePU>xa1ZPl!tcBLIv4kL8)c^l zTx()n!PT3rAK*^al(B2hLwmS6f?{UN1U>2aP7`0B(yiFSVIFth?vXWrI*4gz*~jQ7b+six03n zem6yYOcfu~#0Q29_zrA5fB*dt1P?|ZgZQhWC0cgDYzPQw=fW%)G@87bjRhGx<6ec~ zLnvyjm5OFH&zeVOMc;x5g&)*hDr!}OIaFg($0*F5S7@KpJgdVXTjv3nrncq=keJs7 zJ?XO@5JwX##Q-Kvl)MCdD{zLU_J;W_trYvABQAhSHntoX_DL8llj<8pXcm2-2Ar$8 zLmwg=+Q1A=a~lf_jp%{Y${0{7AW>))?Tc6~^*$Jry9a{+(A(M9U0BjRaCr9-9t}|4 zeM@>e`!J}WOXD~VW2#`PMNy1BHPGv@0ttAE@=F+|p?yAEXsw3UgF!29OmK-LhAt)2 zhMLLMUMqOSf@bLTpr(25g3zto=gn_xX!07GXB7@;o7qZ!-P~A+SPPOC9F~O+a0I18 z1(A8J9nJIRQjF6a5u(cEf*5-#znC?%nX(PEN1=T{>;U?n>e5erwL0=gMJSq zD&-BtU5&NS?I8Hqf0nYAInC{@&CnIv_Aj*0n}sd|85NX0Z%4n$r7NsWfehNTYE=GTQhZ@gpW+FBO_8E zf%04DqKz~NOaKXD(2YUYf|}?lgb>xq@!QGK(>fVoAXH0}VORn00*f_4@~8Zp#*BJ! zi0TAVlR#<{$m9ePjp(R(3YsL|pipNqLdAj_WpYc&u$lwai-w!7x0M!}RBx*_1kk!_ znmkbUi#?4jK6n29$+oKt( zR*G0M!zAw-2os;#t&l*@hh)94y3pIbv@ihvyBa1l-MtuX!M_`)kVo{@1Ye_1X@Lte z4X|@9mD_P(YZF}r<0)R>SOehz{KgbSu!T{*#)y& z=e0G=!A>1bJCN42fK_DBn*ym)BnD9YY9MR37h31Fcwh$TOf966t%cG=L^B_tVac(QI8VI*Ab|)$=BXz(B^BM@-cqKUM zto=K1_F6cwq3ytidVP$C(9=8@@|~7um_4DN4@gJHnoueqjyG7SMhymQIWgX=fe1lf zgd%cEQ7t-twfIgoS}^tNK);Pgp#5jIf3`5c)uYI;vZl}lqua6pnaxM*LPcq8u&Y%= zei9=oV38ywq$w?JR7(uTD-*ehP&mb0&Qvoz%?u}|mO?jVw#qMLHezHp)2y_f;F>xW zqU4|@GCz!clc}ov9vlW3|dr3H_wK=BAni9F`oj9zSuz% zmgqQ1P;{UqNF?H#TVSt&>@lGZCn6$wtm_JLT+GH+_VmHpgvh4jM*&n+5`(=mFgkU^Z(GoH`&8)Qe z)!w`avd>_c5Gk(69=khXJpfu6=F^~c0JAoTt74rEC2+w^B=envofM|UY)j4|lv!X3 z4g_G%j9n1^p(!<;!rDYNWc2XQ6mRDIj(G*ylmJW%1`4e`VGO4QGWZ@k0xS=Zae-4~ zQ_IW)$ty&ni4N1+4hw>~JcuKUHn3wn1wLr?XwC;(MF)YT5KRp!AFld{fI3;0B?AJq zW6YA!1JIHbj&bILs~LOIQq>gE^Cv@!0ga0j1WFafk|=blxsBi#?Fa5(591^)A>vS@ zmKEeWf{M5p^dO}telgz!&p_6YKhXyabYZ`SmIi*;8nb;(z7Ummj-YVxP(A8)q zXFzil742ST&Jjz07PAOK6AXf>}N-g<f!U~Tv6|55&CH4v>ri6!6JuwTGT~-=KW^4Xc7fk0xc4!(g^KGh{V=75do%!8%# zn15kfP-9MQXz@}hz^G@uG%?Nzjg%wIYMUqKU0TJ&*9r3oIAI$B8xomJlGa&T4B=Js$2`Kpqeb%;Gc{>yj=y);;Tgsu+D$lC265n5ybhBCEGJM76O7*;gGF@-DxK?4@Z zOtLh#CpFV(pM;@Po0LF!H^IWqrdNBx6b^3;4i;vL+eDGOL}C1IRS{zTTxboLk;#g~ zBp&^6y2(pn*y>(#Xm^m;;rL4cU6JV2V0y?JCiSmaF*s@BVcmU)_w)@+I$}lt;R7o> zySgWJt*)6~ePm&E-NfpN)sPSJrwRx)sa^Kn~gqS6AVmNKhmJwKjl(7jv7KGs}B2 zxR5ULD$K87VIGqfaj#3>42>5|cUbDlxU2f`enTYPl;a^VG7Q3diF{(OI$G(2F^}31 z?*7nVB@%3P4;L#XrV6vwstq!MnJM(naFGM=mdG-NgU+S9)KC|3F=TWdO>K~&sA)>W zfekRNk5vkW0!;I$cf#!t$m8PzB2UvA5At`qAEpW7EgT4Y(2rq!#*<(f3_66QgSXwn zy9+8JLGq{vN}O$AKDoTJZx#3w-J8}Kp>FV6$QqILf(FQx!A5f+)I`r|5Eli9W0A^A zaT?wYQ=V?Tu{$7^XJmdI-iub5#;lnwu%Iwoi1zAS(AQ+{tyu>;)XHU@FjZ2e(UhZS z37vP*dJ5fu3l~&y%`I4}fDYT!x0+_FOS*BJ0WFbthY3}1lL%I;@g_UmQq{hsEQQiw zSd-ImF+Spr&c>Q4qtZzb~D0-LU~0mhl$?yf=XByyw^GfK$y8mCjPCtHEm+RzMQNgXDjVo6=AjPy;2 z!6E}ytN1|&47zjs0k|@xU5a*q>!cZB>J2$=Gu-xTZK2HtB6w)TVP3KtZyUr_O!x5K zRsZVlAcMdr!GyWB1_G>N2EMOfs))yzMdj!^*<0P&yNc%i$&qlH2PsZNQ$b8U6S+mL zX(b?iKaq(!`f>6GMM?p6a->5eMG)T8wHteq&*_vBv$8wYa&xEDnBtC z2eOGIH~5C<1l(1q#pGGV*C6Gf{vkY}790VDWyr%1wTi38uxh%48q7z~m~x9lO*JI8 z5ahL<2DgE+o58>XYA54*Nv#;h=?JF8wJ=)8Obu(i0MpzElBQZ%KZy&#*j|gvCX;a= zLM`M7Do|gS+{E1&OUEVRB z3HN8fR$7@!^$>Kz1wyE6cmgS2cmnRA+&c`TVogfeM(j?3-3jv&lTPeCPz{ZxjCe4N zX_Ho5ZKQ!vYzk=aKK1;D z*e}tHyB2hg*c=dwa8e8R_alLYzM>($u|}*eLpV*029RB9<1&pUjm--%iX~bBa!al1 zwR0QsRNtE>H#^aCCfZT%8k;F@GdDI-s1TD~-Ce|zZLp9xGcjj@Tn>y}ClX-1r)6lQ z$f<+z_z2HW`7h!{6?Qyh3;2`n5_al0dK;zL=uO$~E;*y*5V(e-u0 z_0aD~V7j-Yy08S6w}U%P%L)TMM~MNlzJY2YQa6zmspa9u4uj#V!+lgWa&_3|cgqDA3rDgkg*@Nkbqo!4MKmFa!q^48w~Fo=SBG*DMH!g&;2$AXI9Hc}J{m zz)#`sA6Oq9jN(JfJly5dK`ui8b`d#T$o7t|*Q*{C4f#QjY6#Ll@?Tn+nGD$z5@`sQ zeDv=G$p#9xkWq@PG1mKVAlK`Hk)uQQby}>2-5WTAP~;%S7VklF_D;J1C=bvs*FrXp zF9XX~^bd{;Zk)lr8A{^BPA?><-%%4=9fRqwyuCtU6h}o&Ln!Ftq+@=&xCeu_N0rbv z*xJx^c!WFsKs(*Y27O7ttHx^@YjDa#w-S;P;DV+LY2hI$4K8Ss1{XBJ!Uge0wOlL! z$1!z5ynQwq*E-YAf?G_uo4rQdUV@#_ z)Q)r)6!*_#OcffSA4YcPMusU_Kd}QU9)n}Ol_DwKP-#r)(7ua|sY-uhY|t)s(7sDFl=j_JxuX+Pb6TCGt;}RsnV@Ssk#Ja{nP{xS5T4+E9kvu0y1rG$`9P&w z5|VeyViyw`DplNP!-`QT4Ceg}bDA1H8(rHG_o4z(vF#-|g|t9l2!h+CwAiKy;Tbf# ztTCR|1!v*nOfc3$ln}SaaOHuT6^2N80DVIs&{M?06!KrOp$1h?2~k=iC350-U;z!AG` zg(E(Uhtcc~Ga~adFrqU@1`raCM0!HVCE{ZklqNT{V_ZqBjMYJIheoB4B9=huuqH$y z#zMveMukUGU}csz^`j9)6cRfyNP?c1Ac;UDW}`LJa6?B;4X*JAekXU`DesZpBW5Wa zXA(C!!1bgD!19iE5b8{7;1evg8lZJs)S-5h;(i9|kV{s;GdSI%nZ>;_wGC2rey|iw2V#bSNkAL{ zQ;B6fs6X~$*i{zZe8Z{a9NKIFv=-{u%7G28jT92Xro;%OBTJZ}bflF-I6^ms6S)v{ za?qW)LoeXSx?rfp6vRM@w%st;$s;WiUYodIFG{KxjT4!vV3I-)319}Ijv-6M=c=@} zK;4)`!Gsw|$gE9!VzRHAHniX@J@EidO%hTM@5t#(;u6DSI8%~Zrjmm-?~hK9{C2w9 zWrL(JXn+S{_Nj*{nnb}0L$%rq9R?8`upq)fDj&oZ2?-y;4xw$26(b%5GTMQR^Gyse z;%1n>V{b`qbnycEIX*^&aYa0>BTs?{vVw@C#NaUnIV_5$L%B~4V=>(~zz{*3H?jF5 zEMXZga(k7YkX37Ruw0Fd-Ynv7h}+Y6*F)Z%rmJSEsT(ZBMK&1A5giuXqVrGM>5i++ zw3`#ng5x0=2R&DgVEC}Gv|?n9S*=)hig|&&WsF-tMf*Z#B}OI@iGuWmnCc6N^bieg z?+R`s&S@9B$b%Jh5zgr0A=*AKxXBd(^g8{KCX8>Y-L;MSl<$crjztKkJ{x~<7kaH3 zmjNsx4>nafq}=#|4zYlq_6_E^W|c6lQ#1KsQUjat#LT4;<}xbC$eCJLsbKJ9lM7{rv;5L+Nd?(nXuy96yAvKT6$=(=G@t(q^NCZt!WD6BiJG6k-=H>TLMM8 zh_+P{8kDvdXd{k%^v-NfnIhs7?r>-{5A5tf1|%ZKnz-?ymx9xZeV&jApt$ry3i$YZ z9=48*!TN0&bBX#qJG}R=)d{sPplw6AEn#)An5qpcxZkT97HJ@S1miGz1Vk?+03Gae zL^Md`f+}E+j=oHp3eJY%Ne{dO5g*3Io=F1aGBz5ml-m1}u1r@zz7NYgPFpI^JOw8Qn zZP1mp&lmSnsW7SSy{FiZMZ+E;T;EqBV5Im0xBQCo6}4onKg5nR{3Cjn3@(c|5aoO{ z-4rG=q}e1Q_TrNbAV$dD2oT290vH@(;E2vkgQQa3ngh3zi}l7n3fpMJ#DkXgahp3C zI82DZD{=KISSU~y(H2NxOwuB%yqzbVr~~7w=J2u$%PfW#jm4@vJdCG?Ai4LXVb09C zbD?&qJ9y9^T63m+P>iNyg1qpNa1s+d&_(MR#)`wf8C4Z+?8o61ItbW1uxs3F#q)-8 zs1W&vxq#{New=o11MbVxwigYmNkZyIo+dRpDOHz*#Op`o*7_hblgpNBvzGJ*OiW?% z3vM;4ee|&ENsj~uX&iRqxYyI8?CRYyurP&P1ybbT$&^?yLPv(716&n{HSu62oWO1} zGO*~2a?^>apVY$pI$)T8e?z$2%V?J&ZloOa#MWj-H#nV1vF94tn8~6jFianXnGqUQfvpIIenll>t_{ecVe+a<}?_m#gip8Sr51NVJTBZA-E)T$1FiB@OD)<5xLjCo=kPb@&FFc^*B7zD-egj2}2rUgxH z@Ky~q)2e|fkfBB4nH=d-_~sJG4=|=7XWZ;Zz9|rJPuZATVczQX;AFP;M-9S(bn>hEPcfT1fON_a28O|TTY}mNs z(THHvIozI(ZaT-8k!UG4dDs+Hb{|3gsu=~5*-D2!lbaMscjxbJeXubz|)`3 zh|$GyMljP>e8k;kMiQzo-)+*~(W)J{g@dhnR}{uKh?MemmQ;00w#d}5u>qzC^34Fj zWHJa!wOz_TI@)H!(+jZf1&`*y{<6ppG-)ceR1}Fd@a#;i3Sd-tl$}C0Op(KvDXKsS zSCCC>djlFEZ%|^|lL4toB8;MSaSwY;g@BD~LAXCly#5XMOTz2iV3&&clrMsV2XVx? zd=(r#fFoUF4)k;-EZ+rJvlo5|b%njta1S9|;*^AFT`>Jj3c5;k`$$8#8Tc2Lr0Ob)tKR+0p$Ze@ICBIGJI`n zblgj$5=U8v3?5>vR_zbjwRXD|k_A}zz#@!s0QTU-HX}eUja^RrDj?+%Q$lh7nOd(_ zz1>f?YVBk)6g_$*1msKoYWE7?6M}m$RK5}Je^b+Bv^r)Lt<|;g?zb?u#)lWGkeF`D z{znY}27>W5xMLzGz!<%8)WO+y_yieLocw^A4?3jEMsYMS%r~LcV0A=2i;8bVlI(;t z&70dEU$+Ji&?056C-!~P-V++{VP`UI;1QeGAQ0o`8{v9VF@^8g>Z3mF1}|AA5%hy4##s`RHV5jwv)W2hf#r^0sy+81IGc#pj84bgE4LM zz~OmdSVS4oM^?zZ z*$oXd#*JS9o5?0lo>)EM$ezyLrT;0nm%*>)dZXdL58yB7<&Ms6nfDqIH2l?%ss79f zWnZuOO8(T!?~Kf!GV;#)d+YD3f2{uT`Y~SpsJ_^_S7p$F(7zkLH)DtTG2`Z-Jx{It zN`66LJT&E!d+YD4f2{F7uMYs?N`7k%!$XCSW$^77dK$r0a~k>~Jnj68?$&d9ss;~71h zJH97VuXra^e!}6kj2`U%`k&In;nQ_tI9BpAG8`;W=DFHoU&e0rj`%D_evTvF!pP6v z#PC*z&xaLXz|?ne**f%O(ZSMGqOubGn5q>J8 zhr`ccy3@N*bGm;IaJS1|RxxcSz65$UqdN}+s zM*fLS3}46adC?Jnm66}v@i&-yy;UOoZAK4=zstzKznS3ir4N;dZ0>kjY)MDetFlD+ z){GtwuVUmmd^<*dhkp@1jwzSJ$20PqJ3f)AS8a*#Mn(^Z&tc?SHZVSy(a+%>jQr+~ zFJkI-aEb86j2;eO%E%wKnc%$)&()6j(Tx1&jvvF+>v%`}L`ME>20zCUzkrdyWCP=u zGWt3E3Pyf&$FF7Tbz_O}TNphYej6iy*JgsRWq3Z~h_7ShH+TFQrd}^N;x9Aun>+p* zQ?EBlg#U%n!{Ki;^6!=ie~;0#x#RhKbYidOl@%qzM>2Xid<-K$wnTUpqi1u+cVg3ApVLQS->cM5>3CQ8H?QF;&l2NxQohu9tXgtE zQl+DtHM$dK(Zr+bq>2df@j2;f(g^}lQ^ZvR@Z*#}TGj=fVqpS2dyqeKd z>xfTfl0Ot~HZB76Z;ZmIA^jQ$TRZr(3f z=^f12VKIZ7_r+Cu9Nx$1S?P!mGV-f8Fn%PX-xWWa(Zk_iV&pk|4I_X2hZHyO8?5wB zX6nn~=KXS&-sOxQ4!@F-zdFOg0+pVt9j<5Wc9SFi1S7xB5ns>9Ka=5LflANS4lgiv zd&v=hi;;iZ5r3DFe=ozq0+n8=?BE&K`71s1{wp4@VDy;xYgKw2KAO=prbM`Te;3T_ z8U33JZr+Cm>i|r>T=88PJsiF(Bft9w#y`pE-`w#%n0lG_vsHSocpamk!>2RyGyX;R z-b}fhJH8)NFY|uFO3xKH??0^cIJ|}7W8OCi>l>Lojn|wV+8FyRaKx7}^5%Vml^%!p zF?v>JIJKjz9R?Y@9qEXh_xn|PCoy_B{1it1)C{Ngb+yA8jNQ(5#4lsyFL%VRWaO{j z!1%R{{>>e~k*Sw?pJb)S;pY95mEIkUeh$BzkzbqP)PG&=a6e>uQJR7`wgbh`-Fpzv76$#>l_Ef$=wD`oWm+euI(t5&0AQ88$tYcGYmeL!COD1_(G;$=KHxLy+asz^L@{e%>B&`j~~YH z+|YO*Q|_jQ_cJ^|E&^l9#VK^tOg$z zJno6AURyKub;WmK^o(=FcW2~3xryQCJZCF!bH~m5D!1~g8T)hiR7QTfBfd8yZ_XRH zV)DrhSN*-7vF9vDd=4XT&d;~Wdi-45|QQ0Xz}W81*an&_XBH|HnYBrk@@*Ho;jb{@c6hGA3XKFu?bYzVZ-C*_8rUQ)nl2wdc)%*V-`~O;qds(M#-D= z-m%PcNn;bgGobYB!0<8q+gQfm#(KLlddzw9SSJ5;$M;~$ow%9cwG2;lUOLuu#m#x_ zSmrsPv7R}Pb;tK(>Q%pi@kT~Jhnw@gu}mH~)-&gOn;ve?yT&s4l{;=;za8swxH%si z%RJ}8Cx50jQoiu!cS)O zoU(!OQyKl68h!@D^XwAg=P-IW`~pVa6~BbhbLj@gFJts`_?3+OriNe3@Vv1^_)Ux+ z4!@O=cg62u^xU<9@w*xQn;L#E!}Ea>;SVu-IQ%h2-W6ZR=y_@bq5;u9JD9A3-F*JU_ZpvrT# z!wkl5`#Rz+jQm_jyp54xkl|o~D$msp2QhX##1S{of2%z6e3Qrfm~#6w94t`fx!U1K z#%@PD;^z5am3Jzmhr`ccs@2ZxVj zuQIxJY1&zDSxPR#J6MQ zcW}gaX5`0ZIJ8og=V}M@@6o`0K*pXNKAn-D;fU|c$k%5$wXdrk%)eh#<(YrKhR4mn z+XC}4rd>GvU`Bp%hEw~x+F==Ew_Zow{JS|-p80ohc-;K^I91-47(N+}gDY>J;~2Z0 z;E12W$e-zmpTo#skm1yhu6DSTvD@X2_)U!bEspqYjQm|0PVMVzhkF^jJ>ZBx!^l79 zh`-3lzntOJzOHt7jj`Jsj`&-Q{JW0$`;2_vhw5p6Y95#2Xp}0CvqL3gx6zLH&W!vn zj`*&O{3kP<+R@bxdop&bcEtB(n5!_Q{q&&zOXUspR^!r1LH zNBl-c{w7EKR!07g45#*WwZmG*ZudLl&oS~ZIN~oc@~`}h@K>2~UGdi$J)1lJ7p7is zmk584(Zk{K7X}6M=rZUY+FynXV-&MP1!K37j`&zczRD5bfsx;76T^3A_>B9I;=42T z8t;hLGV*nf_;f~oMutPjuku{&urFh``V!%dj2;f3!^nST6T@2=K8Jir@g+>XmX!z} zWb|~@SJei9>pvLk*fBY#?kQ~SEw;Y`ME=Q!e5GV)hD;@30s zH)c4sud5wyVeEFBBfg%If5s7ifsubP!>N5;?eH>Vw^tqUw;B0&9P#%U`S&xN+Sk<% z`Es~S`&0Ax3P*f9Mt%oJd}l^}mkftig7;ZD+F^G_ete1WT1F3tPi5q%XE?R5s~z@c z?6zNt@OnlMhtFc<=VUmwud5we7`wGP;vJ0q0!MriBY#kaQ~SEw;Sk1dOC0gT82MgD zd?h2_pW)QLu69_>*zKqi;m0s~IQ)1<{)7yt_I0(xNsQf2am3GNP3ziWnrajQI6JB(-Swx=V$FC)L7Bi_i!&&hCVUspTKW$f1G zh%aU2mpS6SjQq+Br}lNV!)nHEM>*mrGV&)m;-@h3r)4;`ud5x-X6$yJBYrI-f4w7q z6C;0XhEw~x+Tkw7ZfhO!b&UK|j`%Z-{0kXQ?dxiXml?ag>WIJ3$a`A=E$vU`)f`^N z$X8}KSh31;wZj<3ZetzsT^ae^9r5vu{GJ(3?dxiXTE=cu9r0O={2WKTg^_Q~aB5#y zJ1k)Aw#X6hW8_yl;)9I*kr__y>uQHDF?Kt~5kHlYKg|(8laW6s!>N5;?Qj8Ow@V!H z8yWeV9PwKj`P(v_+Sk<%cQJNbTO#}cMh}NS!pJ|C;ncpac38*QZGDOG=NLU4{vsp) zQifCey4v9t#%`~b2!Dgo!{Ki+@^5E2wXdrk-ev6eeu?mkN}#3vsr3yGAIZp%$#Ae@ zmFH@Qv5eieD-pgEqld$HVdTeUIJK{<9d>8zHoipo9*iCipUB8pXE?R5s~zeXyG?h* z=Q8rGj(7(nzaYb@eO>Lah_TzjCBhG5^l*3|Bfm1kseN7TFv!^LNJsn_M*cWQ`~*h+ z#0;nQb+yCEjNMLk#4ljvFLJ~$W#lj0#PF*bKASs!BU7(iN`&9R=;83Y8TorNocg<~ z9Ufxr_Lw8So{@jX5r2V^e<{PMeO>MFDr2|TON76}=;8497nf$f^NfC1 zyo}LP!Qhn)KH3oN5;?QkSxx1&phuVM6X_;HN<@fl9->uQG+8M~eA zh+o3UU+Rco&d6Vp;ncpacDS0c+w~>F?_l(B_}z^B+6<@mb+yC&jNKk`#Ghj1*E{0R zG4d~LV))AppUoYAm8sY3CBole^lpX6!c35g*UU@8O6~WaMizoZ8pb4$~RC?Oh^#7Ndv5Kf}n+-N1M& zqu&*8WAt<|_yPuB%kJhr^FyENjM2m4>lpc`HZlAKhR^1X zzs%I@)e_-vFnT!rEk^#G45$9?YKQk3yX8lLI_*!b6T0G+j2;dj&B$+^;m{gYo~s?U zW9+t5iSV5nJsduck>5STseMajhw+R(_bd@UmC?iDGZ^{3Go0Gp)eieHc58IRTN(K_ zM|=Szzc9n8eO>Kv5M#GP9PyQme7_^Unvp*;!>N5;?Qk?>w>6IV$&CCdj`(Se{2Biu z{7k0Y^FE~bMNGXeEfIb#qld$9WaMwkaO&@_cDR+X+Z~Sh{fztrj`$;t{9_qT?dxiX zb&TECmk583(Zk^{GV(8FIJK{<9bRGV_L?L9IwSvvBmNd6|8|B``?}iUUB+(jJK|-d zp?K|2t(#Ri;v*UP(HRcbt@2#$ur*`1Do6a2jQn^AM?--VGMm*LdDu6Ed+vD^3(;nj>D4zFY6 zr)D^{ud5xVGj`+feHr=99j|BVHOmoiW#ro&@db?h!VD)rceTSojNJ|?5x#`c!{N&q z`NRG{d*>Y|)Aj%V!>-<0CCXZhwHB+hR$HCXN3RjR_aLH0i#L=m|jx zqC|@lB?Jk=Z|=FT{aoj@^L~6D^LX&c*XOtMhrOQjn&&z9+;h)8_s-0n*UY;M{x_ZX z71nFOE8;^0kHm)y`O&dl@4vpb!vvw-Ci%!`3i(++@_9mjVJz3%*VlGfDzw{*SHw36 z9*J)j^4nh#|5ot4>3ol{Ui)7W|3UCb{FsnG5zF;{>T5gvEVSD%uZUj~JQBYqLYI@mxrX z6ccqG1E z$bTEl_4f6(9rg(Aw%+S1n zJNzlM+h4DUtCXHANdj?ztl&* zLddU-<$C-2+74@kcH7`1-zDVt_{jGQ`Gc`sZ(m>A;Rm7Jj`_$h3Hd8N^6NtWW-Qm+ z*VlHqBedK7SH%AkJQ9B<A9<9JFCWW2Es#O^+76Y4c5}UE-dONA^^vy}@~vXIrv)-7U)!Or z&~6=lIsJS+>X}(d-1~ZE zjS_0rK$Xx(&i&k8-ypI$>l;kZM3*b^ zP$B=O^KfCk3i-&(2>B= z_KNrl!Lw4}YXrVQ;G2Bp-wOF%0{4DC8>rrNzF%11!~dUg@8{`(>V(h^62C6wZ~DmZ z2>E-l+|vSq%GY*yB(&R;SHx8uQxtukB5{8qpD>o|?dxkhBp2E(wU0bN$Y=18XBP57 zubBr6eu;+&`A~s}{g3hj!g>{XMLbgQNW6@YFCWYG_~2_hR2AB-hL7AWy$8w>g7 zubHwfNQJ6sXk?fNU?cLa~b?+f`yv0QIoU)$lC&~7TONB7d>Ki8K8?l188KJvsu zKKU!+DFx4)&eI9&mGKqv5WyqyFd-iv%RPHlpz^gHiU{o%;Uh02g?VuzJ%uw{-OShEPlVHy$qJ3;4*32>FQrV?0u* z&zsJpg!QWEBX7?8&Zh|LHQh%(N663fkuMbTOa3LkR4DgN=iWcp8mzp3 zu2tsVKi3+pHVf@0@$Eu>*T2O1bF)@8{8R|lCi;6oub;=IlI?kTi159q5EWm@rxtj? z|0vHOte5xmwGiPvPUb;^U*ddb8ND632gP!`VgFk@gbD5M{X8^8`N|6keu)(%iU@veeL;@;2qLsW0U6U(iJk=w`n^@k8OP-stI z`4GV)aqrhFLexmX^Sb$HD%bk2p9+mZ?Q!+>bAKv1y4?7$h$j?0|EoN)u)fI!p86H> z41!1E-p`vtJ)cl8AJP3GmRs#2w@sn#LeamIuUTC+D|D(LCuwLG;3xz3(_Z2+euZM)G0YYBle4WI4xnGQTL86aGJZiss z&hrhsJ_Ts4oN~R-E5e0&#hb&upZA3e=Y2Bwe*P7%icpK%c~fCKw){WFTM6}f)4BKKW4P)ptgo-!`|%}QIPQci@5h~R z;rJ5EqsLG0$JuZ-MA(kQedLpb{1hMgbRj?MU*dCwa^G~mP*|@euZXV@JQ80ey4TXHue~Ej)e`C0M(|K#5J-y%WF?02m z^4>rHP$(1vD>RCYGyvIb>^G)a8-}fmbyx-wFj}qEb;@&@>R!I2V!mHyh zp`LF#uO+OP`xWtqf=A-s--jxsnhT!S&H4Q=s~UbW-aU;z?i8U~#`5R}vByKXeZ0>H ziU_~YSVVb0UdudVbVcwtx;~kGI`?yyu#xG#M>O7CDcE2r7wT$k!vD|Kd-`l}^zb!8G+u}mMEiUw1 z-?{hm&EmrEeHRyg*Sok%M?EFFeO@=`{mAaOd=?blZ)3T=U3_l`@BKDH=(iCzl{+3ZG_NoBZPkY`nmUhTY~nY=zbf^?SAWfJ9zK6C4_!kLg=?8gnlb?@BOnx zjDBd3SCPVYkLC7u_q`pwZ}&)HyGIJ!JyO{2zH{ym_I58RZ1-4hZ}(T%4&M7iNufWK z6#7F+p+Cr+w|n$@c|R{G8Do6-Z+Y+YtCEV3FVPi- zzsJ4r*QJH~c*xxQ{##o3espQ!`%N+r6Z*5~6L~QneyVH?X76AB9{1kPWmOQ>G`gPN z$G5V=`=q{e@9kMO#yA;WAAXq+UrMGO z;P!anJh>bE8tpIp!SmAo^*wk1@nhg_;-|p*_YHpmA4K_I!N*a3u7N+-f1Q7Bf$yUH zJ@C%NAA+}{a-V=-(tn+QUVzskkH7xEzvAB!P6*E5W3s=`;2+~YhbeVFVT|vGrUh^4 zR7Edk1n1*&R&d+ryeJ2FDgD>sxxv>Ew?BWMFvfmS82J#&+n<|HsO;_O_)8=I%t3m| z{=9fX;r`5th4cNy!u8?A!hV-H#{G(`==vm%F^<*HJVlHnOkMD{RDb((=c!{H7nX(l2_6u8qPa#h`aNbYt{+c?*xZOkN`6@&7@h%|7^^m?gAE2)LnFYTG9+AxCL%D{ zod%yq{DS5gWAulsnrDu2K5`43XK;UL9z^!&{uUTxe0Z$$fib>!{|`9N6a4h}>+#Sy zoCutMUor*w3aU|B@L*kz^JFIQmc+AxcXgtADOa?Ics|W@5RGn!;276=3hR7ujPb1m zIFILL!Fy5(mB1$uuMW=RMqTho$~OY%&lR-LJS4_^vJE(UI)U@`(jJ|@{#JtL<9z=?dZ7mRAlfeVz$0m5*A%>6Bh&K^c`7(HV+Ag=i>oqVv55Vtb zGx<~SA#_UUr`yY|`qeP=Nx%otyeJL$c$!~j0{5qWl^r}~Mbn=Lyh?hL7Y3hJ!Q>^u z-=|aE3gGQ&$F2^(lImFxe0Z?wZw5Y-{B6MZl{fQUz?)<;c^~lp)X(1spAu^3M}U7w z{c1dTYua8@!AH>g&Ia#K`9trH_k5wqRIP!C#G@xeee-9ks1MhB%$dU51xk3ccy~BOMEtX=^)dy2>bz!OUuD~ z(*CkGI#2z43;34orhhkh7wXT4z>m^#=Q#Lu+P-JO3(|4(GI$5-SGT~+QT_pVYufHl z!JAUvPp`jQ4Wr{u67bs8o@u}@)HK^66L@fx$+LssqH!`0co*V@!GEL)UrF$fsQ**| zZ%Ff;>flFd|EdQ*jE;}Zz~83vp)L6Oy5@Ry17Av>e&7o#nfamM-_vn?4ESd9Oa@;> zQ_xx9Pbt3${5+istpHzTR!6M|A4A8%?cg)gnlIP~{y4zoN5R*T=QMb$+-Cj~_*ZF6 zehd5%dHw{C$YAFG0iR6cPkg;!xm6$9A5(xYr2RJocnR7svVosBi&bIZ$H`MT+TYlG zK`HS4=}cY;{BIg>Yk|*loB2lIe^I%uz`Iia?*tx6$Nk>m$?4SNeei2E-x~>@IEPuE zkHB-#_Oiz{x5`5M>1W74r}wRvf+q+!{j0$TP`R7Im(uvN8@x8v|1kK0P}Bbtc(p1f zKM($HPLuxzzPX6W?|~1b@!@aqHMG8Q^>NOvno<8u0)9N7=??(!N9&sfJO!<92>8YZ zrYAqRoBDYKc&RF8z8v^;Y6lm1B#krmz(1w_-yHlD%~#uj7Y;GY?G9duPT>24|60(@ z4+C$T%j9Fh=TkdR0soQeKO4LujoXXCCz0nX@auG(+5ldV+F=KHGOFi(@Le=d_z^rC z?Z0Qhvy$gBct;vHeg_{x^?wNNCeL&5Y!%G*OrYmmo_=d$l@fdidENpaM)_dy>oor7 z0iP3UzMu&Biv%Vw4W3BX*LkiocpBoh!8ek>G59i?@4W;5mOjon{?6bLw7vR(cky$w z*3uyG(^T##@QqaN$KWAU?hNosRPKE60aWgn;QqPI`m6!pL*;G(x94BZYxaPWZXb?_)!-#@_LrgEQvPoZ-C^myS`1*qJl;9JAY`lJOfPx(Ob z9W-v|0zXduumE_ivZlWTxL;C}mj^#Z{_5a2$X_44E44!l@Pvg-e|zw~x}BWodVo(P z&j9dWBAl$X^Z|Gr@{9vNN1mzRi=s@=9PsJn{~UZ_1v9@Ad@1EOg7-*o=D!8sO!))R ze!32D4E$5NZg3WSDb0(nfcG+sRky+aBF`i6eRN!Y0se%}ixcYi3*9OcjSs27)8#e` z&Iq2mjLEZuPt9)fyx`|(y^4Z|k*5rJT$+be0dGL`U+~p5&mRn4S^srBqrpd#XCnBH%1+i=vfqbxt1Z<`z5w|z$g>RmQiz#f3*NN6 z$+v<(BF}f=JA=&p58#PiCO-v!Bg*6#!OPL{_XhaiRG<6cS<0E7r{JmSywYEfUvAZc z^2xwg(>Rb0yi`5YpA~!pc|yU9Q$HyPo|WdSk>FS9cu@hoG>s=Uz&qD9>(c;yC-tkA z;P&S)oY!;!?@hMu7=6SgFhh8H1NDM|DOx~u!`wf0-lNb z`Pbmn$-fEwZJKB91h=n?IAt6JpAg_MYw0-nI;zhv;Mr+^zY2bu+W!vtIr2OP&rIXI z(&MaK-AilMClPqLxF$~x-ikb#z~iJd^Eto^RyBD(@FUc3i-AulV&=<&_n~p7DtL10 z=XJrqBu`WD@#JX(?y7E<+ZDVA?HBKYe?Z%P2zZ`?rsqTOo8*}UK8nuYKLzhd=SK^{ zCucSN%fX-0e!ULdP1|c5_ zmL7m-@HhE0@V-$dkEiS5R`&HC=egwIVKjcG2cH|y$y!T6;9pUFa)URZ?Ntc82AzME z1h>zFoiZwd->u~^YpEucG&UenVN{Og1!?*+b>`pH1>lf*}WXQ$)W z1n|PdKLL+N*U9IBH!Nz_=L_)sbbh@Gd?9(h0pCdda2I%!MyCG|cvTuFPk=8kX6Da< ze^2}xcysdH1M!tRl#i3bD$gC`b2y2?k5fJk__R!BJu`z>qwzB*_#ZXRd^mU= z>gUD58-(zJM)>3cq3UnU& zK6pwRS4V=|{mXHE1U{GMC)2^7)N-=c(r4glY5ZRbzRhLkSA%D+ZSu|F-_y9d8@vzA zCl7;1()$!YfnUvT`p<*^N#_f{fmfjV+yj3|{p4@(Vl_;^{k29HDSycoP2mHQR=p+K`f8^D{< zan`<`=vGDPxW6Cy9JD|F2p*o!^q&F$GPB7qgZH6we+S=8^Mr@sMQJ>=-=A}<^K_n@ zAhlJVr{9u4CHR3{W_{iQpG)~*@Ue7!&jWsm@pw* z!87GF`5N$gv|d}li$|FGJ>Yj~T>T#WH(KA5;0fq>bOHQUWz&BhJRV&~`UCs`_46m- z{pmR3m&WqC)kqqbl7e3=Y?hlA-2NPp^PGKLcdJIUU*|&pL^&sGEfoNNK;@PIA4T(l z^5FISOiy+20P45(!5c@J`4-@rX}oO@o`U*k5AYAjKLETejkh0wr*oU-jsrhT{bVY* zAN7Yh;8n@f6jt0rQ_oj@NMM3 z4L+Ezdp`nir2jf?_X2zu@q~I@aI4wLoUFB!3cOQ%lV=3~Ifu!!gQuh8NM7*LG@mRA zK1I({99J3ea&+9O0$z>!TOIJ!ly3swPw%gezcu)IYR@j<-Dv*V7kq6Z$6+lE246+v z$!PE|X}uDzLWO%r{KNm{MtXQ)h=#Tmg<=d{99^=bl}^lpJW9u7iG3{ zDEJA=7X-gd{z&kXg-lNc@F$e70nT6iZUCN2&x0ISOYrn`-01)wO8K7P;go+5ye#F1 zgIA*bc<_dlp9bEX@^irlQ+^3}cG_RQ20u*KjW>aBr1{%U@M+{f2;P{EFUP?X(s=a? z_yxMYcNP2@dG3JErq3Hc20uajul+?{&vn%N&Nj4`66x{Ct-6uN9;e(Y1Rb1d_K*iih<{&`CD0V`*Vm+U8{oEFXk|7sV?~61x?-*d?c+`8}Ln3ZddTn zXuk0-__x$r@|t-zjC*XA*dYY$pE{Jb9GK7lM~fVe;kR+v&REI`A+Wf3|@y zDPVf`f{&x);1Te%v|s!TzJuN;`V~AE9hYx{-=ppR0DLKJmuKMbmNV-aFTM4Dx7tDZ zzkfl;E|Lc2)<8`2hM9ofH$T3PXJ#)^UP1c>ym#Sc)C1}+gkbp{0a5XRp5PT zT>1vQIC*w~-=J~t5cqH8KLK8YJmMgD0W=Jqmme@oM0!X+G%&&qDKuX5f{H zw*_xQyc>8;x~|v{JVg<+eTITlT#W%gmfOrv2EX7k`7H3fS|ANNhKf&W?H}n61AFE{Y_h{>h^G+>jb`>&QE)TA143%;H%t@!&Eo|CLRFZiFg+9VZ=kgXAsX1zLIzZ_;Nro)SDsJ(Ir$K94-X-~);00WU`WBH){=n*P$@lW6`> z8T>BI_iBUhrg9sDx1sU;9q>RJe>#Jg3N!1|2b^!rF$mnB#{W^^v*~#8G5B*TcLsP9 znrF@jk4xuMUxN3g^VT)sA0#mAzXkkzI$rMquSfHN@4=Vr`J>}H34Vs!`2zR@%3lZn zgYtiX+w)Dw{{%c?4To7vetN#>R@pL`JSliq%BKa-MDvP3@LP0T&IMkc`~|?PlD`Ca z6Uvtdf1C2v!Fy7^K6o-}w-(?LRR8wi8_C}Td^XJo27q6qdGZI~J!$+I2mS;3r-Cn_ zdBPmtJQTous`~1$;b}TL-)%T~}!Wp09~%Y7L$`$mCtXFVg!I_I)MXYE6Kd zAB=oYI$s_Qo;j(Rp9p@K-jACJ-iYeI0Q`Aj)3XdbC$;lh@OSc<`K{okDE}S!0LuRW zKA6rsPJvIP{6+A&l)nMKg!1>n*HQi{_%_P>>;1>A?EBL=>y`}s1m)9#-zI-n@LQA* z1^1`pX+iJ^I=_nq-%jmW0sIfT4p0O96wTinfZw8i(h~e9@^=9DqxnWp@RmiKwy~Dp z10O}lk>TKb=sa#bcx9UZOas4L-1N@{zfi{HOTb6bJo#(zYc!s30&h+2yc2vD z&HNDXdf80=A$V&lcM`b$d06K)pMo!@dHX_e`+UyHF9$zH`E}r<^?8Yt-v*wjn!~Im z`}5*%^$F#VAYYO4KZD!nd5-H>@Je)kbQ63n`5%Bcqx>`QU6hX(WR>Ms6DXe?+`bQo zm9Zb`gRH-9^_0fRAn=03bAu<)`;GNl`%x&!`s-GMXg@6pzM_!zyz{6SWG%bZ+}aMa zmTCrB|GL!_@-zhhf#!Q}ga2CDdY$v=7-TKG)jsm{0-r?V`9Sc?#7BS+r}OIx;C+dI z6745G5BwJKFTe{^{a1lkCjJe06XLtTyAnSHK9u+g@F~R4fgh*sat*v!E@eFKg4>@1 za-RANd=lm3=>6Zb-H9g#zeGF@_%h;|!KbBh%Cwepf(OuXFdY0$fSE52UYpK$qQEba zryBT`xTePqzKHghX5fkIn)$ZiU(!6G8~6*inePYwl*%0n{($mhz~|9^HyJz?&HrbC z&!u_AqG+zqGn_iD0546R_2BmRik$p*@Z60YW-aXl-$MK-_!{z`1`miZJ(s|1QvGj% zHz58ecnjkHfcJ8l{`h*n;#Tb_p8~ua@eJVh`{9l&8~9+#hk-Aoatnj^p!O*R{t0<1 zflrO^lxZ#10$)etPb2U+#9M)HBi;#oFY(^sM~J@<{xk8B;GxycdVUn`k7M%b;3tWH z27ZnBQt(H_SA(Z5X8JdS$B%3B-Qekn9|oUO!_5B#o}cEu=fQ85H}k)NKP1mR@ayFH z8+3pTPZ&b{8P%01wTpoDd4NA zzs&~UPW4|5{x0>yufXHIW!7^8cxYLZ?*I>>{QhVU<$nZ^qWl@~f^^)!41PSnS?=%P zk(7T3ewXsk!N-;{JqdKXxYYp~uTp|fq5NCmK{QVb25(FC$pc=B@IW6DkA%~(##JAx9{WVJU1Hr9hwhJ1Ye%Y$y!S@ z!S51Z0A947nO_Eek*+tc1@B1nv8~{Ph<^uOhx|W)AEtTQDe&XOFM^*U&kgXgbRK#i zd=l}e;9n8<&uOi{TU{ca3_OUAzv;kp5zh)f)8A~*Q1IG~OO=`YiIQTBgj|cyg_%v|) zdYI#y3*Mj3LzjS$CjK?}TH>3)qjEcLYiTEV72*fM`w>45{)EP>U%=PX@%k$GUgCGa zPZEC&{wHz!2NgZ%%QS8z3bEG0tyU6G1AdTr7I6D}rPgchM=tPOH2xF>4<}v{yeRQX z;Hw)(o9(}~!S~SqYrh}qR(l$l`8LSEP1mEkf!p_YabD9O{7c#&KL9^R``vhO`}&#V z`2_r%Iu5gzJ_ENuFYi3}C3rB68*9PS(>S&bJhL8$9M3-R?8JWrPo3Y%T1#iaD-yp7 z9#PuN-v!S__4ymz{+@^P8b5s=?p6gUZ{L5=t%?y(k9(x%ZJjP2>D1@H@mOg6|^F zr{MdDF9JVI{44NG@tnF?OZMmQ-71LqPULeEKLj2|{3r0yl}!Hy@RBsH-T)s)@3%ex z|Gt#z`3L+8@dUabcs?IOJQesmIZcm!zcaULPdq2`U5Mugw~u3vs|5H1+FljFKO|30 z@Cn2lflns>4tPK6Z(YEbQvO}=HN=O4_lW1z-C7z8zJ>bvRPaXRnG4>W_!r>8RL|Am zE5prlw}9`basE5-y_7!!o|^iPeP2trx=8uU$bUukybb=G@{hrL=<&>{YaD(2cB{-Z zP9_1jKR4~<(}F9S$7TgDPyIYMc$2t}!&)i~evf!*@I(5q^BQ~p;a1Trry`{4&JnynJ*XZr}=qx@QxbRF_-@Xu&`=mdT@ zq3P)ZZhxM_d2TRxAL>6Jg0G`_)MW5or5%U0G#h*i_2?De!|)rvF#)2XuYx7WkkdX8s}gpT$i60z5voe&Z^!c)_(rPdm*6F6oL>u`l=`#%`53qQ zg|_cLQxKy_vm_Q2k<$> zdx6KLe)2x}!bD~PqreLjp9sDzzL~eLJG<3@Dkfiq{BN|se+9mgj2acriNe`~*I~uH&$lE`VR4{pbex)f{I20r)>jP5uw~gQ_M^pvPag>J@47RNyP< z{5=zR=456*CwK{}r~Q34w~9~WUJ2yq)BL0Y_*L59Yl3&KX_ngvd{U6f-vMt^!Q@@Q z=`f|<1usUPq2PsR{~Zh7o%-8U@R7;Qa_534A^#WP&ytw=)!@tN_`3zXEBU_zAC=hj z906}b$NkgbEoi^K4BooB>A4N=CeLH=QdDjneV*V}_Ho;BB?13{)+;S|e(EP#!E;f+ zwZAv(R@sv~ZfmJ9^1WySmj1}v`r&%;Q#3B^0B=U+9ssXF z{5bep;^)BoP`ST>*Q;gL{}1r*T_%4DK7!5@ z%gqNqi~47A@YGGrd^zwBX*{nEo{91ez$0mU+4pyLtE)9ke<$Q~kf#s$@j7OHF!*=W z&p!lzhuUE>_{vbzGaGy$M48h>_!@1Xg>_uva?UU~}r^G0Sp ze+6Gf{1$jzYUhXG`zikd{5bJM`uxYOa*!ttcz)tp!2cmnF7SlZKMR7lB~MB4^+D$P zRswg^c};EbW0Y?Kex7(6@SDWDfj=VNAAER}G9Dj*KcoF z)dN3L-pN`^Ex^0b{ICOf0QHAn;I(Nye;>Rxwa+MU`}4?7*%QG}&^Y!fcqzKhun2r0 zo!@;0UWT^&M(`PRoieSZo#6LrdmRG*fX)+t0$)h|^8$DWQ?G7-AE52^0DOK{^9BEa z@22`E(EY=$ibt9GRN!=&Rhht3((yef_zfE8^MeO9F#RRKr_uUW0FO`ew3^`i{Y+0I z@Y!^p`wqDMc^~IBUBENz_Hg*S;904E4h4^({8;cR#HWHcBt93s9q})~o747M4c>|R z?H2Gf)SlmgU#H{p5%A~4PlK~pBDtU5)zeBt*_<8b_2G3B-sf)E#1$-+VXX}E81ey6};M3^5 zuO0YU+OKV;z$(0AEGzvmE?gx0zoLzT3oV z2Y6nW`NRS6&**r4Tyr|P^Sty7c(|!iziLi$Pv#c{gHv}?dD>(bco?pw)jVcB{q=t6Qe|kKmK?kj@eG=~RsSG!#ey}bi*=qz zZt#?5Tor(S0{J81e~XTr6_Njr^0nY6y=sK~3(DK$vP(tL@wyAj&6UD5y{mZ%6MFtP z2t0tE8G&-!kpCm_ImBlO{`ttCr2I1Q^fbP$)7-71sGn@tJc4Se)OX++=o$MyK5lg~ zp83Q{lp9IqUKIQ{knc|>Mon7e!5;{ z_sf{&=0)C3`C{NxiAQPfR-LjL)mJXf^+CXRqAqw2gDTY+{te`BEqJ;hZ~uO^BYPJ- zeL{y>OGDw|el-R>*o>>m@I;blHh2r-pKI>9o)BV+zSdly92ie*0B>nfrMAI8lKlJN zKTFpGe?)#8<>-9ExRpK4tIY^$~;J1knf`@1N zqrmBOM12fT>cnQjGX>8A!LtmW;^bL}d_z;Owt+V%z89XRTskuwpznAMgml64CxgBOL+4sK- zS946P^67lIT0*=S{J+xsm{G{Hr<&lg@1y5Z3FtaQbL3Z0x$VH$5$~?KONEhV0C-K} z!v)WH@a^QE22UUI%o99c2%c5&d`h0p$RDP1cY~iGei)vur{|sFsyz9VYVJ~7 z$e#{*u1{9M6AI6-L+SxE45{FE@s#IeFdzZ%@24JT=MRSMUrL zJfq?1L!L><_oi|`1s_O!Aw1K`vjY4Z;u{3d4)BrW-w)3P@*ER9X9dp{c;eBC;vM9t zQMr%7=MYzVLg!MU#r0Aa@Xo|T;ORx40)nT6;3*H!4D!@Kz9*I2 z0DJ)PmhfyQPe<@`#Cr=K`}5!7YB>2v!sD09eBxulGXtDG^Wn)&o@K~SG4*OK_$=aE z;i*9$`}5^4)r0s^crugcG&r43sY~#GLZ06R&qKlU9G)%YNvJQ`hbumFO$DxB_EKFl zYVK0!$z%T>o=e3^{ZiPo7%q5d!RhicQx%%!Ho*%>^Gw&n$-j8}hFNzfS&5;6(yVk^MRTFr^QZ zFFkb#<(7YmS&Jv&IY6HC$g}4+!E+CuyX1L-JfBzkm9a_>Q+2FAFFlfK?oz4Kz63ps z>5yknR>2brPXu`iA>Y{4tCHZYh*yNC8F^|6o<@SF6+9o1r!(>$soXx`JPr?nXEAw3 z3!aIBXC^%M?*%!9FGN1GgY=SppZYMx*R|HcbDQe3UGVG!XU|c1(xfvBK7%~(NteM3 znQ`?yJofMWI8QzjJTC-KLVX>|rJ7THQfuy3f7AQ;nKch}3dB-&@EY_?7(DX|noktb z+@*$6xn;l)5w8lKF}>+=YaXf+npiaxcw2Znk*B+m?=SFS;B=WpjfH#UP9?ow9=i}^7A%9TFAJ^QaPEon%kk3o?yavww^DaD3$n&?5j~iu) zLt~8RNx<13Amp=X?owH(p>rXx|0w5C0GyB4B{cWE-$$Mbn!8mS8V71>&aJOheeluB zd^7{6!-#4N&f`)y&0VSu)u*4}87g?jz+?a3i~7%FGV($HA@;&7a9*=Tn!D6;s?Q4W zABe9PJlny;mHF7Gxl27D&r#&LKBvLia|s^%_f^z?9=9|PQQWWo1dsSn(q8ySbC)Xl zmia{da@PM{swMFhnuo+V-^l>Z$H8pyj37^#;3+J4O2K3Qo{3Y}O2~J0kY1_<-kW$M zcn(p0T7lmo-bwKE2IqO;`|za6XcjzD@O&hAro&_Zeu(3mkNgk^>7_5hM-pEHPcy2| zR`4Oj_reoNo+IEq|NI%AMdbNa@Z1zU58$zXufr+)8S<4Kq?h99ii9XWE+^OArEXDu z(t{_@WQu|WPj2w~W?U75r!aX+3Z9CBrzSl1?_)THG(^6!gY?qd;4O)Fgy(&#PcQI! z#0P5bR+niY9;taS*_9d(zK5QfqPa`$CjV^BJ)a9A|L4d*qx?$v87@g(s9eSCDUS>eX%V?!+I#Q=L37z`GMqSiuqmD?Tqs1wN4c88vsQY2?W+ zc=8IKqVQ}cPZ{KgQ@K^Z#}Tgs&pGlm0p|%{Yj`G*rwjOW;(g%>p^2dV`)a|8J);HB zM0o7`(>sOCM1G!w^wI+GCB&D((}U`>7JLfvt?(=*&v)Q!i2neOeV=&e$y0*oqTsm! z&v~lPedISgYQ6Lnd>3*5iWcx(7s_frkqq3vU%T^MI?aP)%x|-T>pxChg~H<^e?h@x z-`74^v8Mt&J;_r89zHHK0O#?%B|KBf(*b+~@t*L|@TT4a=lR=kczz+zc)>GG@XUoL zZqQ4O=~-NYd;t@yufch~w+Wt{T!Gg!Wzm-e=bm@(00lO7L8SXGBiNVJ+Q2 zp5J%A51ufNnSTn8eg8%0IseMmvP&Hxe=^Mj6?@WwrzU?^cQ&8|k!eieD z(eYG3p5KqI0Ukv4X#h{L5XWIHwFI~CU+6s70UrMROi%D7#S{g2R#tWWl z@GK(FT;x|!xl6#;5dRvUz2w;heuMZ<%>&hD@*D);Mf|vs|3%1O)!e0$=Q7*p4)R?8 z$AVu~v0fjjIG+fd>z`V4mnul*WkHqJfDIqI-V|s$G$J1v+b7)o^^s}8$5aG z()V8E<5Rguz*7?c8J^nY`4zl3@tg4Q@6JB}FGB7744xU}iC5L`x9mv{&Ytv|dp@5` zo*?8SsodP){JE4u@LV8IN$|MzIlYR4rzUs}Dz_m#xybXj;OQuMdcjkJJobG70#$t~ zcLY5Ad6fz9*!RhE`r9YqQ^-FL9_}Y!fM=xsvkIP#=HbO;Q56-Cy)=Ja?gQ> z6Tb$}3-a6r4-RwMz*_oC@WiQRJsYSZ$e&nqm#RXZG{|#(G7FxZ@N^}Q{k_mY6-DJ1 zhsQ-c3Z9ANsRq7=xEmh+{8BUUp46|}!eieD&T13;(M|C56FfuVc}DdagZw}$cQW{J z;mZ+Jc=&-;RBq~Q4oo)zSoj{Gnx_cL%lzg`N@5%R1C zzfXKKJpBI1Zty`)lj)_y@TAXYKJk;_IWKsAgQpaE?jb+g)T_V2KPDcxx&=Jn*C0<4 z@ZrP*G!Inl$pSu;{2}nz_x*C7%rAH%1W!454pV(x$S-u%dZ`}x3gXS-xl5jQ;Hl{i zLi=}i17m#ur9b@q{@^fpij!w7@}X3pDS~Gyl92y{tm#>T5$dz_h!vq zYBSY;C;T7LrPM>nm#5Dc9Roi|{4_i}lbcn#jQmmB;ctSMEo|oh0AES`FYw32Uw}u^ zb=UYcEw6u!@h1g1HG|5axl8RJPgcPbDtHRQbBR0=$P-rOz$49OP%e1l6*Zr5gNG7t zDtOv}mp3)4D?HW7(^v2e7CfWj=}w-Hk>~wx26!#1&wO|$lV>To{e61pMXTUh>L9)J z4frbJyWlxR{)2+&xZwE(o+sqFg8T+5_cr);;*a3TLIc5b@F?Q(b%XiG_`GWh@TTOq z?_cBjToZYM1W#_kQ%G}{8cUu?NIA{^}m_J@AYo z&tbvy6F7U$!?TP$*O0$Y<=zE{fLb4q@@FV zu;9rfc#6OiL7q~`r=^ z*zt@-z9N-71)Q(@&4%X&t=A&(q$M1;wX__bymX$p4!jugZSWK%&v%072f=d+o`&SP zfP7Ud_d2+n_#g1RN1ngI=Maxm$69Ou7}qTmgSVu1PNTU??Iceo!IMMqEArfLZ-O_cc6b0! z?vl|hX8(OEc>L>H&-*L(B-7mUy=n5KMV{ZU3D`7CiQSLS4%KzNX{)4Ee;g z-Is#%e!5z7m#Rkf`3Afz@tyGS_1lBsi)s5Fhi5W*&LV%3@>jqw62A@4I`TXeJkJGB z0)3&yrR?uVI_;K1bAQ#F+ARb4AmZ8Jc}DfgE#wPS8Tb5Ii*mPXl-= zlBWgoe16d$e6Lxo>H$v&^7I!x!vxP*clI)zL|{s#x?rCH!7h%bWYYpTz3@MFZ+ z!ZVUQTfsjj{vAAz$@9J7IVpH9z>}qnS-@||PcgB&2R@7V-|$3{Cr&*p=s8~_o=9_l z#h-gg3Eq$Pqx9fMi3e)#R!QTT6$%9p()*M1Tp`UfH~>o}z|YV#QJQ2 zM>;R62hVf|>80l2^N6>D|0nWy7d-t1&oFqNl4mUP%c$Hb;H!wwh9|JB`NU%Ia>Tz9 zJR86_nHseNo(|;MFL-_wJZIqfh&-2(-%92F4!(={LwHt^=Q+6j{Wj-C3F=$R8De~Y zFeP|uC#sj;(%hx&@3A>g1`D1%f~N>PS)&|>wNx5;8qQT^@bYF{)rO~hl=(zs@OH%C z5j>s2U8Y9$foD8<1__=~g6Cs+R+DE2@=dAS`QWXHe+kbC@~i=WOni&r*#q8@{NKZq zrJVW1Nx^eL@LY$d0(t&Get@Z0Pr!!|_iJDQmugR*q~K$Tr`0@z8b+Q#?rioMsRw2N_`8@Rq`AV zJjVpjS$GmwGz-3he7K3#ZSW$*AHkD{JTJg&5l`6A5(LD&{{}c6)>KB#U8)y(vJ0NP zf~P1vGssg0`C7DIRlxP1m!7Kw&t~#80Y68)wczOj-s&Z{wb&OPKm9pq=gGl>XSCp% z2v2VE%tXGkqt;6czI34tx;#e}Lx`@|+Sp7X{A^c(#z|KJrtj z+^66?zx8iq1wHqBAx|>!IP^YdI?V$Vd$NKrrgB5!$wi)mf+te&RDh=@d1@fPnaXVd zzKeKEcA0l`@1n18)PlBfhc|H|93kA<|citn zo?pS+lK&<=_UCY&dOi?5&je4rCe~|RDwqDeq~l4hd4TFp<)#Pc>jOdXxX6urz7%{sN7!QGl>s`=NIyf0DnPzg5dcCd?ESg z!IP6t@V*c{s|3$C@Kh(yF68-pF^9nUy7viqx|8P|_+;YO1kYXYJ+!`m!LyM(arB91 zK#cDhB?f0t8qHnm9CA<34V!qI6R83FBJ#RPCQERR0IE={BC%vk*As9X)AcT z!PA30{g8h|wm0K9RJn>TSY#>i1aQkz1PJ7l8JdMC>kiQi?_UGmtPbb0CTkyOOPfq=LCC4)o z`KDCvN8qiAPlu-}c|HU0LVT&=dj@U37(DQIgfllD)%?=A;j;& zbA~*Bga1Q3ZgZ<`0~C9bfR7=6faWfholeNJ2%ZqZlOLXHPi5qvP`S0iv;2A*}~*#drw_#VOYJ$M1~pM>Wh@>~!+*9FfX z@MNd=F`ppMzc1$3(%Ncx(OXfeQ{d%@ zUxeo-d2S%zf%5mk!}a@7j{hn6VB-F*tW1EqL;hsokBFz!+@CQlpibHuyC(~3Orf_Ef71fID1y0z7|_TxjrGfD7#3QsQbEJU7vw{$u9K&sC= zcwFS!2HuVMUcqw&d^q`khGzN5lsT zo)O^N$v**}HRSn3@XQlDU%+#UJgboZh06T~{1Wk9@H`>UA@D5vx~8*TP6(cJ;5W&C z4W9Dkxhr`75!v6iCX zIYyppg2yd*n!)p!JZ+KBK;?D=4N@L&-l2p4Q}9BzRT` zp7rp2NS^J;7ou|afkzNO3ePg~oCg1%_$9$}3p|Saf5LO0JpTxu_-(B=4^Zq$p}9+? z*Vnh4?UDic@>Fg%@T$ba;E5zpVel5jO9`Gz;C0Af3!dTRX(V`B37$^yd_kVx$Ty^N z-v@6_d?Y*v$@3BTZQ|1f&u8Fm$-fky)cU%Pvt3pTp3Q=1H$273a~S!qRPImUy@{WP zrzv@U10PKMp5XZ#d?5MbwzJmJ^ZTvjNuqgx;`#)DvnLBY`^Xc5{P1{ATUtx`!N(Af z(A=eNlBXPaGJV~`ak&IfJ@85KoUFCf9G*htX(xEP3!eV)G$PM1l1->kvS?&gSc9Ca?;Mp&DeuU>Y@|;0_O+2&Q%ix=c|E{@9CD!Nn z&TAfm=Og}H@FZw&y*5CxKc&Fm5_qt{^MKz>>D19$Dgu6=cxlaD%1!mJEO=@Qp2qO> zC(k>`^ZIrM|CZXh4?MHTGf41^5vhf} z5PS*oT<~me7VyN?=a){M+JomL-b3&V0RNW! zAHd@x&p5#|Rq)J#rw4gHNB%ICyAu2u@s03IAxmx_JjcM#kpC<^XUKC!@Z1(W zkKlPho)^fUr*ac^w6JJ1Ujd$sdfsi-*?!azJPia-OL)qXrvvi!sob96O^Lq; zPiyiF2OmXzyx^Gz-kSV#;aNtWC4%Q`!LtdTBjnkMd`~L(Ab3CG$Kkn8o?pPzwu{~( z_TQ_5=MMM~@;`B=M5)6e3SW@CL+d3Z91G=gI#zJOjzo zQSkH&0KY^06L@x!XCC-f;$H}!Rp5`v{|!8e^>NkNF1rNJA;EJ3 zp8VuFhx~IY_Zql=GN(*y=`K8O^85wp0?nj#F(*$s@F&Dwf~Ow%=HzC%&Ed(a_gCk+ zc7mt7;OP%fMe+#9P!11=PU3N$<1;%!1FbEb_kyR zg6BtgPLSse^4F7_KWbw71n&jn9{9#$qmJtBWf&0VT2dEP>v z>k}+^^1#!UJVlTXNa57cS}F~mk$7dzJ@+jkPi^pJ#2X8qcff;FnB{hc=LmWF2%bTL zXB0etlILUO3#2g1odI5q_pJ?t%&u=JT1VR5^pbfdVmig{{VP~lIH`#GfwbKg=aB&<{&?i z%KaRC81a?x>?6-c@SDWH6+8#P$B_RRJSp^FXSWc&?Dgzqhq50@MjAHyQXD;^{PZsRa73vmLX7hY=6e z{|`{?DF}Xv{E_g~CQk*yQ$z4HfTu5cS|Wdw%IyGtk9bdbW{~GS@Xf@B>;DHR_KXMr zi~Q5zxj>$|f@g`~`5GSoKF&6=mNp@;Qkr}xczogq;mJjwvnaa%s9!xw3JR8ZA5Bv=AV*399ialk)!^mG1o)_e) zD|ng;o;L90=xc7ruE-aoa^D3nMSKW6Rmk%pcxU311kb1770JI4o{8jHE_l`no^9}~ zBhOyst5Uf~z-tlz8J<(*`4#*L@tcC@0eD05KZ7UhyXJO@r@aA+>ysRuJ?S-fsfy$Y zLcS@Ln;X0p@j~!)AWuo~al|VMo|@nt$=?v3ugUYa;OQuMdckvoJOhy*MCFbEA5MG% zJderq33$eS=60DUc)kE1NB&jtlqJtMf@hcDIRsBz@|-|^DV2K;d?oQ~@O(&~yWq=+ z|0Q_h==KUw8_1tnbC)_oo;1jFeKHH4obdcfo^a&%P`Smy4-$`pCw+f&J5~daB<>bG z&A^Y5zb!m(lc$^D=_h!G!ZVUQW01c>TxAAlf-`$ zJomr{lK*dbo{}f7-roWg*Cz=$djd3fsi61G?VAPp2~=(f_%!1A;i*8L2=MmA%LyJA z_&oC0gJ(Q>nhTzGf~Pw?tH{$I`E^w8Fz~I!$HH@*JX63Q5uYu17K864|5xy28f0#l z4T5Kf;MosP6nTC`{%0!p4EROjm*Htcp5MVo6Mrapo`c^ce*!&TyVP>>q|`h>aedwb zXHPIZN6C{1d6mFy&m!OniI;}w0eLEeryFc~Y73sm;Hk;~4m>5v(^>HJ5j=z7X+@q< z$mgJPKL*cBdPz*CGA~ zJOM+@?f3+|IB`FH91T$HNebSS{Ao3JsTSl36g;^EPXTyFkf#LlJ*nLC-~));^B9*} zLZ15YA0XaB@U#aXPW~S7+$GNd!SjLO83#|=q2_k6=SiOH(p2soc;*oQ9G(dBtORdH ze52s`7JM=J55V&Qd5#Gldma{`*mDJ*FUWHno=sHlBk=9SU%+#aJPGyuz@=^zPo;T) zVoyf!z2vv&Z7!8&n7Li@3Z9~Zr;O$8qSA$hk^6QPB}Ei<2#nf#0B&tsiVm~Jb15Gz{C4Fu?};3D}NU9FH=sF`y*eMEY&k-h>%uxO~_~Xi1ikxEkO85)Pc^o-Qjhr`)oHfc>ft>JuSHpRKOm~xV*1^9~ z&ezDPk=Mh2HFEaJHzNNCZ$BZ!Ikh12^=;~Tti$;^PR^XR%1KAg>8js~=_bl|z{C4{ z8P1K!>8bn~@Jo!G{_N!8B8abVmvllrb)z8Ird&n2SFH+9&(;{E5OnEB&Y9nW; zd-N6sSoI{2%~X@tI5srp|~|DODe z2P2o~2KjaHFXWHGtK}cUf0XZr@A16h{!>jNr~8-c+fR@5Mw8v2Gn|Xz$9Nv=#3LtG z-T{8H=NZmuGT~^9*MhraM^mNyr~5Pl4wu=L_WAVbo8S zry=J-qkfiA|CHw$&OS_cq3U}f|7Cd}c$soeddP|RddH|=C+~-x&y4ylM*a7mXEi={LGXIz3`5S*-hOYa!}=ET;mA4B^9*Mya@rd?;o};y4s()~^8#|tQ%)|X zn=T&@zg#)%kuy;K3w)T7Gg>|g`L`*j#SACnYm$+3zmZd@oD}3dq58>~?tFOx{6*zl zgPdjZN$|IfoVD^oKH@?##3 zcv+m|J&$#m6E9zm{4i}?vQI&wziZoEqe8l-I() zR!#yiSHk7;qo~6P0DHiNaTEumtO?G+sG-9w?qCT${B^6IY!R2 zM$Tg8JdB*zRNo2HT_q2~-&f93E8qh7b<5Oa{3xMR~b3k%6SPn zH>f@u(;X|1f#0c|O5{wD{|0}^$eAsVL;lmsiG4J3Ig}VVuNXNil+z74@2b8Xrn_FA z0RLP$gORgUeh>TyBd1oLi2Og5vk*CscbqHM;rxV;OU63PY30>tI3FVCB;}-Hx*g;_ z;b$vnH*!+s&1XfvF6SFLedK+Re}!_Aku%81x!%Ybqnts=xn1?cG2MLmDEI@)xf?k% z<@4cB8aWH(W0C)oaw?Fs+{k&`$f;1yZsdHT`tg|VX89!ecgku0Smf)tOCE&(PdWXt z-TO!N15tmJcU&*SnFWuLuY;c;uZOpjC(n+Y&okv$!-Jm3Is-7D=c@i;)c2MzgI}hc zG04f1kAn|U&KJlTCEo|X)ySDBpNRbXjQa3#;aG?Dk88RoKOVW*>GPf)HjtE!;drS z!^f!`K4%s6r+f7o&Wo6CqH-3XzN>r@yr*(DAm*N$~K-J6Y^ zJms`1id?VmQT-}Rcba?+{88m}LC#$HK=^Y;&Jy{0JoRM>vkuy~}YmoD>>Z38;B6$n= zGs^h^Ig8}cb0X*eRU>Dmybbc-Q_k7Q*+VdPXRryp{DRDD}acaOXS{4eF)hMYzZ zy3aGiDS{v4d91^nSb1mUpRAlWk&|HLoMYsqDyJGb7pOi3)6J0gfM2PcBc6&79;0-BPV>mD#NKq&L65Dhw0YKC%})M9$s%xog4Z3wvhLRpXhnR^)1K=pAU<5 zCd1EC&W*@PHge9BGbdd+g~+*F^)oTuf$}2wFy*|8obdU!3}+MkHs$cV=Op<$9LKm{ z`F|m&(8zhh$eFL4_@^RYmlsuEiRp&V&oz9W1N<%JT!5Ul@)7WlmCu|i`BvnAtDFas zv(w1=&B)oWoKoZ*`H=hkW1a1oZZr8#`0<`+IG-UWUj94$3?nB=z6bf;lyl;|$k(Np zk#nh$Ge9{#kaL~t_hPy^avnFkML9!|GeJHDey`{KonwxRod1VBZxx9RKh2VF!6Q#9 z|9RvukXOTB^1Q$ELNGGub=CKLI?~JK&%!@Y&V`po)_Fm~uuUXS9)Xn~@Vff0^Mtgq-_TpN;7j%5&gPc%I>u zB4@t*Gx&=}&N9{iiTbzXCohPc@LJ_~o3le6`dE&`!%mfQdLrjr`StMddC*o44ud(r zDIae;&VJ=Qh@2xIc4zMJoMv+79PfF<{Q{5^ulo6iJXiPIGvtflNy^!XoNn?z;JuVn zikwU3W$*#YIqA8`2d*=6a*Ui?lyd=cCa8W@WV~~)d@X#saz-HMG5G`Vc}C9j@(su@ zRnE)EdBezAZRC8YoX?T7QS}=!-LK`F;X9O5hn!#JCoYWqg*wmsJHIuLbf?h$xh2qX zj+VE>BQc&gd|oB;PcU-Yss0YspDCXY4=SfMrhBeD9^P9y?;+2Ug3^gny`gMie7?N7lZxp^d*^GL zJ8AHio@Y3ZBd3jg1^hH4r?WgA`CXLrHFDC7oQsW|e#)sw&NZsfz;uVp`@?Ti&Z#d% zJ}_S18-BNuQy}L!N%TzHXqub4gaD zpP~8$Y&Zg*H;pWA_$gKH{d35p=X;Rh{DtMy$MgQq5$7FJ-0*FG)dw-)xK{N+?C*?} zUwBGn&MnHh5jhj&FT?Nk{P5>BUG+D=7@7Z=>N`fVGtcw>&Q84UCGzJIB7b42=h2ba z@Y5UeJy=i5J#Y9sbj(kMy!YbBsPOd-(G4TS$geL||0e3cm0$2uWc`ow`S4%mzrz3Y zJlg3H8RIzK`S@t3GrWoC8BXew$Ol@go;hudoYRzZ9dgc6eK0cKNtSavf1YwCBj+Od zbMVWIoGf`yOm~QK)*DW?Z=8qIQ-SG3a` zevIc0*SjL;IMp+!t&wxOa$-s&Uzf90-v`r8k!QlsS55#q7t060FE?@q%CnF^OgR&g zGup_x&B&RgocYMPU-hFg-9q_T_!G)`4>{rMU^1K<_=`r)GWi7LzoqStiOJLR+BzbWS`B_kZIghD+ zHKsdHUIBkzITMgmDt`+8hLN*cUWxn zXO%n;{=RZnBd1dSJ^V}MOhC>y)yKRR`M^)|LGZou68PWpZScn4^-0lAL1eshth^8& z=Xr(`w>)SKP9<_?tG)`;eOkU1UZR}ekn@T>_VvhLSYhP6E8h`W?yOf%cjSC->xgf5Wp93G`d9;&&=XJY05uUG{{>XX2$eC&6JgJ=9 zk+VSc$(Zg-^6v2E%9(?lx8-laD?D!&xo{eO`dHowk8JY14b*YImdD_c?Ve{i)n$!Lcg7>fd7j~{LH@~}Uw~@I=^*FvhqILP zH*&go-rs4`Dl+PP&vCG;p`?$T$C0j(cZ!U02Fat~*UP#5$H;Nm$+=zL6gm0wSoj0- z7Vw$!*6=6gTvHavaX8a?$@6oO;yBCYad_lyIp?!N&gp(4=j*sx&h_d$IgiZk^1M6d z#&P~9=j-y1ocTx1aU;4n965;mit)T#BsTnXf}Hv7eXo+lqR-CyPH@yI?oryIUbH2JXgv#EETVzSc~ zImdY(ggQ=JIbYw?AJ`^6l zE;iAb0pG6rdGMd*74YBXRq%i190x|tbqf<69)E5w?~CzLYx!V!_&VA|rx4yr^(B~} zkQ|r2I6dS`P=AqpIXqKd4!>Hy5q zvG9@d3GiI`6!;zTeE4MfEO_`j=0wMPc@BAOmg?IcV(zz3$rIoU<$ND`S)PpgGIIB5d)4#(?kxGh$ap7NJ_vrEd=xxg&h_(hc^>Kq%DEm6lkm-j^e8FH@AN%APvcat}R_mZ<8 zFO^55et^6w{5p9IJV)LNev7;{e1e?Yw|nIYsGlz9_Te!(m;XF@3UZ#8b9+)MXTQAR zc|yZqkVJm1mUI32P|oMOQQj^x#`#*#=etAB_2(Bkx1V)#E{Ff*+&)AXyEBsD48{Dk zl#hb9k&l3%CTD+jmXAYy7x_eZnw;Coi{<&K?%&iS zZin~EC*gVhEuR5z?EPI$duI;(SotD&oP0U_6!}niNBLlQK%N8dF3*KuDChdzSI+hM zD)|)TWXq?+Z;%(k$I55H@05Fs^^nJ=$V(0}_uGf$%iy!+rSPZaE8!*bHSkyDz2Ph5 zJ>l=l*xqa>}&qvN>@+I&rc|ClHocpt*n6`5ySca-L6&de$wBcX<4vxqJ$qS8F-1YdTdPiznPko(K=gv*11C zx$ukR8}Pg`<(uGF%Rhw=m9K^0C|?I3C*K9XOTHgIRbB^wSkB{AMRFcjd`8~th{&Kt z^23f_$$1=drMw+--jkQWH^>*jzmPA1SIf)cKg!p@_sGlOf5}(E8!d33f4s99evG^t z9xLAo5C6Soyt4zIp!!<)Ir2Jqs@!Q5`MO*n{|EIM@+j0_DUX2@@;h)KS z!ner#z`vLCxae;ASUlhG-|;Iq-D(1o-9h@$iB2$?#$FY4Fi(#t6aJaJKm03sCj2}3aQIL1(eU3q=P226{*t#x z{SgaYXxnh)HS(*8ob%IC9uryag#TW*?O}fhbgJr8QGcd910L|aG1PIo%46}!dGh)2 z-ttB8OXXYO{pH)?*T}g)T0w}8);b3Fg7yd&xt$%F7$oUjXkap8`*l_eXxZd@wvyJ`kQIUxNJW~MeZPStb2X|kOAO%KQ$Vg3u{P2u6sM`-M{g3nVu$JNit7h?Vw z%d6n8%D2J8pTE%9*$RJ0_2V!#?i9#(;&~Oy+oQfn-U(hTPk@)m6XB)uWO$i84PGwi zen*8o6ZMsHj?b&)Ls4HX9}KUNkA~OE$HD95li>Ao_G6UyxgoKKeePV0oZHnn`9kE! z%jd%r>nky9*BftSep!%O8HpO?u;puSu_6kZ|Eg;&b+;8pU;@M<~7+col; zsIQgJf!E0w!0YA3@TkS^3m)rmoE#(PI5|$f7CG_q)$j!Q7I>n3J3K|s{ogeCPSmH% z>)@I4dU%#Rx>4kco-J<-&ylx==gQl`^W@y0%9kggzChj`UMTMcFOv6#7t6UnTOuEX z`cnCDc$s_*yj(sCULnteSIYC@Rq|=@YWY-njeHKgRz4qICtnP&mzTh!yw7QhbymV- zOC&hP?xPk5oc54=d;A6_iagqO&N!b|0&;AQf$@N)SWc!hityiz^|UL~Iaua-}P z*T{?Dwen(koqQ3zUcL|>&Zec;vd ze()N3UwExN3tlH546m1ufJc>v$Nxj&;m_BLb;iKsR6hUAb7caIJ`oh4X>1sg;&Y* z;MMYcc#V7_yjDIFUMDYt*URU_qn3uZ|MTE6^2P8t`BHeid<8r~z8sz?UkOi{_p~M zCcIES3SJ~13on*WgqO(k;HB~z@G|*qc)7e7ULl_guaqx`SIJkwtK}8&8u=P{t$Z`Q zPQDFZFW&`^@;*;F)~SKV$ep7j*Pl3fG(2A33Z5X3fhWp4z*FR%;c4;|c)C0Y&y@Fp zXUY4)v*m-}Ir1!cu6!&!Pd)*jFP{Q0kmth-<+I^M@_F!L`9gS!d_KHXz5-q*FNc@Q zE8rFKHSkLL26&ZxBfMI^1zsbsg4fEc;dSyI@Ot@fcvP9Ye#bgH;W6?(@HlxLJYHT8 zPmu42C(5I+ollX+z|-V$@N{`Ac&5A!JWJjVo-OYP&yjb4=gK?5^W;hJe0eIoK%NXQ zl=p)d$+O_a@@#mCd=R`;J{n#o9}6#+Pk>j*$HOb-Q{h$e>F{d#EO?E)5MC=^0I!oT zg4fHJ!lT{@um3CIG4e8aoP0GrUcL^VAm0d2lvl!2_qDH*H^XwSmdC(rcLV`F?o4yeE!pMXd<0|E*CUBaem0 z$>ZVi@(%C>c}IAnyfZvSo&-;mr@+(Y-Qk(?G-Q(h0x zl1F2El`U@!&ymN#bLDaHJb62KzPv5GK;8*nC=bGmF<;_15cNahiA$s!n5Rq@VaNq2g7sZIlTTsz8Lj+@}cm2KL=hQ z9}X{+kAWA-$H9x`dGHeXM0lw@A6_P(3NM#WgICCBz$@i5;Z^b?c(r^kyhdIOuaz%= z*U1;b>*Y(~QE!E}|4ZO8@>TFS`5Jh zyh7d^UMcShuaftNSIY;&Yve=WwerF6I{7$wy?g>ZYE^jspA3(YPlCtEXTsyb_rP=IyWx5Az3_bbK6ruWt=tzO z;;T@O!_rQXymdsi;}pwt;3e`|@KX6`c$qvGUM}a~FIUJ5P+uv>=_aR2-VycH^6u~& zd2e{Fd@#IDUJS37FM>zC?LsTZdwV$Ku^9Qlr@*u2)8RStx$s>1Jb0dbK0IIU9fmvPu>!fbdv=Hy%DtEE5HFH% zIKp1}~AP!%OA8;AQd*c)9$r z^^^_6n=MU^}o_0^tZFxgO3Bgdb&I<@jl}o+3$t&1pNJek-P`ISkCQCiM#`*TPkONmC4zs;4?=jE!U`Mm_-^C!Yk5mlwbj2y|A80C8y^w*K%v}$7s;dH#qt<Gp0|md`G%h=JwN|2|5Dx*k8Jb&0;uEsByWL7_IiFXwBg4!E;V*K;*lnXw=(=B zImgc(3_n}m9n(!Q{Cvav7=DGk5Ap{Ye!ZOUvt#7_kaN4?`G!9r&qmHn!=IFMyR<;g z@!m^@FE{*cImcHOhJPZTi}~LyUj+Zo@Lh)gPhN(ce+)nBJ-4v2;|%Xh&qGd#=iA#!dfM;U&rydKk?DCc(aKEr1i{d;sR>h_&u=IsEgVn;L$c zd^mF28h*N*GmDeC= zuAH9>{hZ-T41ZnDad^4mAIR5Wem<3RKEE=2yWu~}_agsy!~d24gZilV!|N@*x#6u1 zKUL1pukK`cNY2kK?_u~whG!anwY+_!$nDio!*7&#M*TR$?=pO<;SbCC`Fll%KO^Vo zqAxQ1Rl`>r{+@g&p6>?3zmW5DzpD-ZQO?i(-edS*hBvARub<30Mm_`cAM1Iv(;@O@ zcTP4uLC)hg=NO(UPeuL(hG)n*&b-p_!SXERkCgNMH`nkx44*9L@t+3`pCwPgcH=2| z5BNgEUpBl<-Um7F7`{%PiTckB-y-Mx=J$s0mXAgLABNY< zM8n(57h`_TGCWzn4E5(3o-SXF`pXR;D6c^MFvCa7H=+JE!zamk9O-_;3*|eJ|AgW5 z<$F;7qMX}}Wrn|H_*yx)Cm$PLCFl0!Tf=u6{+r?Z<=p-pxh}kZ(woV7ocVY;w?FZQ zpJ8~CoZFvnhWC1emnBnu}++ICzc&VJ* zt2Yc^ZTN?VZ_3JO}f0mAn9+ZTJoH#i$=^_?_~lsGnl^L-H!r&o=yNInQ5|82*a94*4q# ze^<`)7wZlGTpo?}e5>I<$oc+TE9dz9Ps5#$+$R+6u)c{r8S~T1@RQ_x|Lq{>dUCem zDTbdfUySA7$M7rUTz>``e!byi48L8@^)27<2jpDeW*Yva;R_6ZNzV0ix#4fixqem{ z{)yq64gXHg^?8@!|C4il{zuOB^QaB~|9Tr^_z7~Z&+QC9Q_k~uLC>2u9NCThI#=E< zlAYf2j_}Lm-QijCH24sCFZd{V2K-hz$MX~A{ZN0Oobxlo$ba0(FP0BP{tNQq@TKxx z_?z-^@HL({KWzDbB#%PkNoIj?6JXZT(6Oyo~B{9$<(>Wd72 zMm`$#iwu8N&h6()!{3w7LjDHBzmU&GeYN2~%2%R(kKupG*Py=9CoaT>FIzd}v18=B z4l%FN@RQ|xQJ-M=Ir1oshf@u|Kpuno48yOKcSQYQ!$-=KP@ik~9rFIDpKSPp@dOp&M?Mqv>kR))J_q$%4F6uv<3GC%|3khK`Spe${i(M$Iy|n@ z!tfL2yiT&c;b+O~Fh9wLpC_+JeY)Y7%Xwe3frby0^L}Te4Zls^9dBTh48LFA3-yJD zKOrB4`uT>xC?AgcWrn{c=Y7rA8ve2Tu=|}E{;iz%HQQt*<*^8J{f0ft{E=l#xd48KLr`{0;d~)UP)DL-{DwZ#4XCIqz$>!|-3^yx&=!;s42bU$f|q z;q{i@QqKFGwK4oOIqz%M+3+s%)mT1hhF>h-hWdVnUnAd%`r-2Sk*kSwli}kHzgwP& zoC3oik#jse$M9zjUu^hm@=VOnD#PEGbNpOs_?L!nGyEqx$J=`i|64u|^WXS$7h)ay zv4+PPeu{h+@;e$HkaK+A-S7(y?`!x~a*pS-4ZlIY2J=7G@H-8kV)#RHj{j#H{E>(HCXxqs2h@RJPhVEEZ` z?vJDxe!iUhBYh0N!tg)47H}XZRAsUzc-#w%qU!YWR(E?q82H{4T?%8vd}H`{PB1 zKO^V<_#(q!HGHMv@5#CUzQOP>fbSZoxC0DKQnxbJQ?-h8@^l4`=0+{c)gtWH$VET@On#cAs>qQInnU;^6{uY z%kX45?{9vd;puYT$NX}`2g+w-euf!7TF(2J-)8tEIqz?Nzu|>)-pBk2!{^I+fAbd& zUnb{$%-=G6t(^Ba|Jd*HW6yubNxhVPg2KITVm39p~@W^&%&{CLCT<-Cvi z8HOjxd4Kb6hWC+pW%Ee&rY z=Y7miGrY5$_bcyWc$$1Wme0lVImaAaXWj4m$$5YCYYZPQUxu8U3?DCFf%>}*FOc&- z=8qUYN4^pH&l*6=tv?_++7;T`3?zj?s$?sDG8{6fR~%6WhDs|?SUkHv*wHyA!vo`?E74WA;P ziTZ~OpDiy!{nLh*$ax?0R}5bvUyA&94PP(keat^Me5;)IH~+!#TKT7#pFa(EzHzrg zu}&50n;70o&ik03WOxTT?{9v#;VE+7$NYT5`^Xy~>pqWzUso7DNY4A1UvKyrIqz?N zyW#nA-pBj_!)MBQfAc2|Um)jw&tEcpxt#Ymf7|d1`9LhsPYmBI=l#vUGkljk7y18_ zPl`GC8oJ;8WB5_k?xV2|>tp1+ANmP~x0CaJ=w})pl=Hsl=NjHy&ikQXW_XsI_dOqC z_$WE=hkmQ!6XiRxobNMyhMf09f86k5d2Dm{^*Q+Ug5gW$ZBYNF;cMhcsQ<|DO>*83 z{Tst;@a=Nm_xxwWf0yq;{=bGtZ40lryzhB)!&}RvTe!b>@axoV?)R|{y_1~xJr5b) zL(co5Uu1ZuocBGy+VG)r-Vgmo!^g?{;Q8KV_*6OXhyJkPMRMNv{29X+$$3BYR}Eh& z=Y7xLGkk-b_e1}}@M`%YET10@-y`S!(El>L(RWV6SFFSPo*!d)tep2lKiTjEIq!RZ zj^U~DU3k717@i^Dhx#iGA1rUw(tX|szedV=+&D?q&hr;f7(QRl^A|4~zRd8q z3|}kf`Hqhbuafh8$G3*>H2gQi_se;HnFXLoaaZ5H$2|(GYn6X^L$D-!+Xhj zKIKxw2N-^x;W=`if4Rl*338r)x!3UNhCgQbJUP$HJa2fZoabxaFnqP)9~!<<&htB8 z8@@x%^E7t48m>NUex$$5V2eZwma|I+Yna-Prn$?&~$p3nN* z@Wwxc*H6|TYj~XDrx@PR@PM4-((Z;|Xn0>a$E#Nvo-OBi^#(bY!&oEdP9tZEk@Jw@ zvkiY*&hv&PhQA``dBYWkziaqe$~o(KJib(of`LdV;$Bv zk@GxbE5lEc^E_h*!_PK6#qjgxJTKYD@GImzFFDBY>kS`c`0a9@$ILhU0XffO&NTc< z!xtF-lAPx~mmB`Joaa3&4FAON&4zy`=XugyhW}5_^Q8Y6e$zsh-Dc%R`%>GmGeCHT*IG}^E~wu!(TVN-0%!pv>@h3}0vXXL4SLu*LB2<-87Ix8Z*nUT^r( zKZm!gyl$a|;U~&@-9mfA&oVsO@bl!n&LQ3K%jLYDVW8o|3?FUyZE{{0G0E`z<-9JU z(C{Y=pKth!a$ZNV%<#A5ypCe6;U61bW%##pUU#w6@ZaRT?qa{;NA3=Z{W97WACeH9v4DV=oK+fxMx*L9>oY&#> zHT){WvkkvN&g*u@8h)po*X>L({2{|<8~(JM*ZGtf{)(LEQ&z}-$8q>~4PP&B8|AJS z2fscye5<@Y>VGi2R^Ai!e;V%m>dr%~(+BlU3~wbLh5C~W?;szG`m+sBk|3}^r^+)Y-pLMK5kCBf>{RxJ*lTSeXnT7}Dvr&Jp z;l1VaP=A@>S@IRAA7c0@c{%EDHGHCc1M2THe1?1@>K`|}SYD0#7Ytu2-+}r!4PPVQ zgZhsQ-z2X?{Wpf!$fKg&_3Pl*uZHiF$Dsa*-`wAgb?8myZBT!l;ceyZP=C7NiSkaU z?`n8Yc@pX`F}%OLAL_3)e1tp;^*0-yCm)Uadkmi@AB*}&4WBEYiu&gaUm~B5`qvFF zmoGs52ZnztUyAy#4BswajryMr|6RTg_5T_k<$WMxtg{vM%?)oY-+}s54euo1hx(A= zJ>-p=9PCB+yNl%fJF-l}uQq(BJpb6p{2L7)Coe$#U4~DU&qe*ih8M{fp#B-d7s<;| z|El3D<*QNuo_r6+u^Z%j;a|u(?yWZbN5l8XIUfGY@J9c0U#EuqK483bjGXfsE9ZQk zEZ>jkm0;wbV|c3J7sxpd&oKN-Imh9H4IgQEuHkpcIc}e9_=9qe+h-a6l;H~ve_76P zewpF#$T`kmXZUA^Z!!FPIrj^88~%r!`vvueAN_lHy=8q1!%viRKccI zD#O1ue5c{R$+;i2-|!><2(O>q4{B!k@rK76eukX;O-Y7#lXJhRm*JNhKEUwnG#ey`!v4S!6|{jzz6KQHHgS*hV~7{1!@59QpC+i3XLa_-0NF#H$8>kR)- z&i%gVy6}2SZz<<~UmL?uGrY6mUF6(POf&pqIrj(q8Geo7!wtVl&i%^qhTkpcer18- zj~G73@Mq=R4_$2dYjW;~t}^_6!z&H{QqKL>ZHE6O=YH#6!~ZtC@t@)KlR3xAxt|+n z_$hMk=XNwaV0d@KFO+k?xUbbmFh1Xkpj64bTCm7yNo`U)_4G+qDq5fRM zd&~Qv{xZX}Q6Pile{PD zLx%T|4@dn)hG)u0q5f*ahswvJ{zk*c$$5SIUGgaO(NuXf{9$x{*0XOvx^LW z)$o;azW=^w_y#%OXTOm1c~#5#yndAPdF_$&dHp4CjpfkjpYZz0`8me$Si?`2bDWT1 z_&IWp6H*Po!0-&iuat9KG1%~ta*iu<4Zp+i$%a2D=Qw1R;ZMmq4q0gU%Z8U3{*IjE zmUV`ICg-?ii{alJzT5CWvIdkPc*!};b+N9ke_V$d2)`6(ha}d z@PUR8lXDz3+VI=t6`21?hTm^^q2W)+IqsTo_>1ywn4e|x8u(j=uQmK*Imc;LhJP!s z!*qAbIez=i@co7#Ssz|MIj(DF`0;X%>*5VR!|)`-yU95Y>}B|+a*hKB7=E4MIfmaN z=eTi#;rGfjF>ahL=eY4P!{-_Pyqx34Qp4YnbKJPv@DB~&X!zH1jx%={{)?RB%sRvW zGd%jg@OsOfmU50u+ZcYDoa55YhIcVM&G3um9LM%E{2DpOvBM3&$?)-p-!133x4`g6 zhCmsihK|1 zA2NKld>`tcHoQb0eT=(ZIr#O8;Va}VQ2(ys>*Z}x|GD8?s-To%lZCwnVionOU~ytM9$|mO3vqXt2_tG zVWOP#bD!Ze41ZkC_t|2@Uy$>CcB$cS8otKxkK}w`-emYUa=tIu82+o_`wTzg$ng5f z_wlBNA1CMgcw56yH$2hsu5!Nb_cZ(xIp6pD8-A_fBMiS;&T&GX;rGZlV||_`=lJ1K z!{-|QoSfr|C5FE)=eVNW@DB|C)bOw59EWT-{AW4GA-@~`ui;UR!|N?`n#(zEX>Ita za*kU%86Gmchv65=InK#6{AxMJIYSM<(eQDG-zDd`XsY24%Q-G8GW;3C7a9Jloa3mK zhQBB0IBJ98Ul?9(_>XdqyY?9Vm%Iq$u0}_N*H4bSjxjve@RQ{ncO@8pj-2DJRKqVY zJj3uSGG2O2(1UWlC0hTkTijrvLQweb55FEsoK`9|c-H~dBUX4Ef}PlLZD=X|b}Z$SOW zaz5WGIp_0RIp=4mya@Tf8NT1}BaaTRpNo;x%<$voOHm(h_!)*L8Qx943i-VZzf`^k z^#eSQcRIqaGd#!eTjV{FGr{nC<$X{;-SEc@pJ({<^5MuYHT(_vXwnHtKc{|j{$rIqG$UDM2%7?=P@)7Xv za=tDX8s69NtK{Bc9sBdTZnT7`qKUW^r=#Y(D!?(Q+ zzf9f&^;w1wF?^Kax5^WcKhf~}Q7aRV9yeIOP8vdp{1NCbR|H$x7hJPc^ zL4J+lzshq_zt8X^nuXU-);Bf$IQeAcw>A89`E=ALdfwh?8@U=fT@CMP_$BfrJD#c`1blu)JMlj8kOzGx7w~FEad9!&e&qo;-;B4TgUqXTMj= z+3!CZzQ^#t!JkB%O@COZ_W%yHa9#39q_{;LCnEx`*J05nv;2p!)8UC5PDe|`%{=K|4 z>USIdhddtj^>QBfJG!~M-gb28EetN^XKpimlHvCoUMTO0`FX z+u`5j+z#(I{KyvW`q{~0eKR?i&+&4u&+&$zVR(|94raM_&j+s@}D=nRL=9HZy3JX@DB~&DCg_-wc$JDd>{Np zJ`~TZ&hY;Xk8bI%w}}qN&n*paBcFijo@RJw!@C%sCZC1;iw*B5pNsly=BlWcXfr9qRu! zym71W`pNoZ4Udz1!-zwsaf;y`<#Fz04*3emdETMB;TIa-SDu9Ys|?SUr=tD_!^awa zr{PoN{gMBW;j`s~Q2(@?$J@^Q$2*YNdn9&i8L@U4dbV0f*Z$JPHd+&Rvj z@kEEm)th)8bQ&MBPPyN&^FPD?G5n}lcfCD4Cq|CLqRt6&9v5wA_?dF9he0`>mUFJ0)9o$i`gWP;T^QqJ z$=P>9DkKH_+H{p`xyTRBbTai~8|4tCngxg1WHb2%h>&b`5gIWfGa z;g=ZRU(V%lt(?nYgyA>Kxg7H3Tn_ihxg4g+xf~w#yc=VjxrRSy_!7fkmvcFk%efpr zFmgVX^Lc$G=kwa`Irq{X=V!xzH~e42qr8D+cZbibxt#OUTFwQ1s+`ZOlaUkh{9ML3 zJq*9d@Jz$6mh*WHmGkww(a0Gm=kvNt&gJ7ip(C9u4|`r=A7D7&WgTZ~Lq6xx{pE)m zyp?nCDCbNiKJEFzx$&QOiRTCZSkL!YJ&!psKfb@^dGiDAA4jS5yyXFJr|-V={NT~a zE%M(zKlpCZNWc1@=dBOq`1Qx1;6AT|?-u@?b@2S)yZBK3X3+D4M>GBNqP;wCe;|LY zzPr-%gacln@2>a!;Apb1{C3X|9<7@wf57v^13CV6C{KBQa1`ht|9HjogX5MC`ppW@ z4~_@?CAHP_gYWPDGvDj^!S_3V2_D_B!`I3=xc&D%-t&XoLq9*o^X>=c-(SZr_xxZ# z`p-Pa^YaeW`_Fum=jR{r&id{N&o4OO{_}ONzcFXXh;ey|*L&aHHh$d5VK)yMnLBLw zn2}Cm-=uaPj~X#fmN<6UxbcZe4G&$Ad10T+`zJX!4{;-I9(MhZv7_$1ZOHIpw~ZV! z=EmE`Ck74_1yyv%xM5>ibucR6xFO?4-r!{%_~nq}{n{bkwc)Xl`(H}K|JbvG?oAu6aMYb?z^uHvH%QcF6rEX5veISq&{=fU%fk62G z?r#MG?r#LVMH2|PQwapUr55xa4TdFL!Xt+{irl zcP_Xxyz6+?*o6 zSJeGk^BL5vdFz4enmKP>aDP@_Q1j=#stxX~2kyU`Kkt=ye^#EiR=7VaFQobNUPsrJ z>#Z3LKPPMPdFzP#v%lmtpUKMg)*JV6Nnm=!CX?WaQciexKZj&;CoH<>#$S zt}Dk|Z`_}i=dDc*KYQzz`>*o6_0IiSc`5#DtNBV%UW%S)it@VZd3u|MhTre1JZ}Tx z{;WK2`{DkqJa3EP{;a&N%JbIe22a)N>#f=D&suJ&%JViNt}D;m#<)K#&)c9h{OoOU z+<%qlZF1b7mFI1$+@JM)yD87xaJjC$ZkoS9lAdrN$zP+B^ppch$_ylFCId*=rNY}|_aVQj!dq)k{A6!i?uoxN z{LTvatrgyiyET4ug}2!N`|F0^WC6d+0)CqX{5}i#jTZ1b zE#S9W!0)wy-)sTD+X8;O1^j*s_zf5EJ1+cY;?9rXa{<5U0)E#8{I(1DeHZW>FW`4x zz;C^P-+KYS`2v3T1^o64`282~8!+H^V8Cy|fZu~bzXyYU4+i}n4EjA7^m{Pq_h8WP z!JyxRLB9us-uR;7DF^+xtDygW74&;B==WgI@4=uqLi2u0>qgM;!JyxRLB9us2i~~+ z9t<9M>pJk><@aFlz`NIhw=cg3g9qNg{CBXR--AKF2ZMeO2K^ok`aKx*dobv~kp=x8 z4EjA7^xwmReh&uycd?-VHWu`IFzCOL1^pfj`aKx*dobv~Nd~>~k-NnF9t`^LYeByU zgZ?{P(0^+S`aKx*-`s+J4+i}n4EpbHLB9us{ySXIe~SzHJs9+RFzEMS(C@*Z|2`M= zdobwtV9@Wupx=W*zXyYU4+i}n4EjA7^m{Pq_h8WP!JyxRLB9useh&uyx4od>gF(Ls zgMJSN{T>YZJs9+RFzEMS(C@*Z--AKF2ZMeO2K^ok`aKx*dobwtV9@Wupx=WbzXwBp z4~G064Ea46@_R7k_h88H!I0mBA-@Mheh-HH9t`k{_Iohd@4;lh2b29CO!j*)+3&$*zXy~39!&OoFxl_HWWNWK z{T@vAdobDW!DPP&ll>k{_Iohd@4;lh2b29CO!j*)+3&$*zX$)1uJZufw5ZNMXfPVE zpki+*s8Ph-<$If`$fvuC5Id+*v#ziR(iawm*buQ`VuXmX8&oj1SV1F}prS^N{!y{T zh6Zaa7%_JL=RWs+&wJ;K?sdU;-rt<*b7tn5nP;9A+u(|AaK$#bVjEns4X)S*S8RhT zw!szK;EHW<#WuKN8(gssuGj`wY=bMd!4=!!ifwSkHn?INT(J$V*alZ@gDbYd72Dv7 zZE(dlxMCYzu??=+23Kr@E4INE+u(|AaK$#bVjEns4X)S*S8RhTw!szK;EHW<#WuKN z8(gssuGj`wY=bMd!4=!!ifwSkHn?INT(J$V*alZ@gA?1}#5Opw4Nh!>6Wid#HaM{j zPHck{+u+1DII#^*Y=aZq;KbwL#5Opw4Nh!>6Wid#HaM{jPHck{+u+1DII#^*Y=aZq z;KVjKu?6Wid#HaM{jPHck{+u+1DII#^*Y=aZq;KVjKu?6Wid#HaM{jPHck{+u+1DII#^*Y=aZq;KVjKu?6Wid#HaM{jPHck{+u+1DII#^*Y=aZq;KVjKu?6Wid# zHaM{jPHck{+u+1DII#^*Y=aZq;KVjKu?6Wid#HaM{jPHlrz z+u+nTIJFHfgHzk!)HXP^4Nh%?Q`_LwHaN8nPHlrz+u+nTIJFH< zZG%(W;M6uawGB>fgHzk!)HXP^4Nh%?Q`_LwHaN8nPHlrz+u+nTIJFHfgHzk!)HXP^4Nh%?Q`_LwHaN8nPHlrz+u+nTIJFHfgHzk! z)HXP^4Nh%?Q`_LwHaN8nPHlrz+u+nTIJFHfgHzk!)HXP^4Nh%? zQ`_LwHaN8nPHlrz+u+nTIJFHfgHzk!)HXP^4Nh%?Q`_LwHaN8n zPHlrz+u+nTIJFJVY=bk~;LJ8SvklH{gEQOU%r-c)4bE(XGuz!Zx_D4K8eh3)|qrHn^}2E^LDf+u*`B zxUdZ_Y=aBi;KDYzunjJ3gA3c>!Zx_D4K8eh3)|qrHn^}2E^LDf+u*`BxUdZ_Y=aBi z;KDYzunjJ3gA3c>!Zx_D4K8eh3)|qrHn^}2E^LDf+u*`BSlhwc;ak`m7q-TQt#M&% zT-X{Hw#J36abas**cunM#)YkMVQXC28W*<4g{^U6Yh2hG7q-TQt#M&%T-X{Hw#J36 zabas**cunM#)YkMVQXC28W*<4g{^U6Yh2hG7q-TQt#M&%T-X{Hw#J36abas**cunM z#)YkMVQXC28moH7cD?PfnD@Nb*$|6)KYg7|v6%N`*V!10c^7$|&9M#wc)xy~4YJsX z!zNj5#9^Z>HsY{Z78`NcFxRiMWtQYE<#o2rV&1M^XX`BH4eNEb&tl`yfi1KSEsPSf zjTRem*h-6yIBciIMjW=(Vj~XQYMqA|aoAdmjW}$t#YP;q*kU6N+ibBBhpo1bT8ubs zx5Y*rw%lSP4qI%o5r=KI*oebcyMCR`wxm(#Hr!&P&TYEIMxEPui;X(B`4$^>ZUe5P zA|no)aIq1Gjkwr|!)9D;#9>1&HsY`;*C~_{hmE<|h{NVwY{X%ME;iz@Nf#S&*r@A( z%ZS5fU2Mc*!!9=BuxS??aoD(vIgT<%ogOQr8ItR~n&M!t^QzXtT<29VX2X6fBWA0dX}epmdARQ=X#b0dzL4AmPdP* zXM2{1dzPnrmdAUR=X;h1e3mDCmPdS+XMC22e3qwtmdAXS=X{n2eU>MEmPdV-XML83 zeU_(vmdAa@d7m;5+xa;0Q_OZg&ioX!osUyL#a!p(+)pvv;5hkHhBx9Ew5%`8W(zuI>}ZaiHop zMjT^2A18v!b(GZ@&&Q#la&@0Ljs+DPag6bNoD8b2Y1GHC^Km$+Tt``r@qC;QD%Vj~ z!_LPMq3Y^JKE`-HP6?Ik$j2DZ$3dZT9r+mJ`8X?7UFWFtF`kd(LghN@V~pqH#8A18 z`WSXT4h@y-D627^k8?xSQIE13nN)+o{u9%^zIYL5a#M?Z5Bdpb)y9k6n>KyK#=$*5a=Jd zZT~2;c7s5-4if%QQSAnSZX--I!FGc{w^2sjPgOnvDxV|PZWpb)Y!}^=k&W8xXOz{| z+7lfSccY=&X#CybRWwLbMT0-o7zNfHAsGv-f`lUx%7D^nRXs1NAOR{!{ArDTvZd68 zQfce%hiDYR(p0*Wt$+|m1vDC0cf<7M6!o(Y(MVC-D@vd{$kmM!s5LUWwBUX+tLPAB zMTbAF+r0GTkdGVN}p9Xn4INl)z<37RCOWodSOuD115B%>gE@`7-dZMJ(iM#t7v zj*etmqZL*nb$1 zYan8A4Xo>)zr*efRN;))z-K!Ku}n7_K}CXGRwORubz_9%aliJ}V;#coNmrwOh^2&b zZAXNNs_!Wm-CVJJtc6zF6tsqMt?QQAZb)6bL0||p;8LgIOQ73Qs~s!!UNJ!kEl{iL z5pFJ+7UPXK3v<>TC3DT%4*ja8IMOD0B!ty=}Md8sIi^-wRmnhCZVGjm~1( zURjw4UAd>g(7Q6>rrcAYoAS(!5rp1TJGzZr^geJwk`?$M#uGZuv2LZ_jJly+0@xrIl!M)2p>ItBtRf>O)1+A}sgbVyx>AZid4 zsIBP&&r6gx1-c<(Hd};H1%_5o%~p+pM{^KE5547w8)S&wc0>VAqd?f3z?aO3n`o`m zSuO89SwhI3HE~-FA-nIQ(7v1=j@j^~a^==r>$rk?s*8|YfD?y;3b|J?+R5HI62Pge z4!$6?uOYZ}yBCLdcjw%CLz+ECQz-AXT927#yLIZ}4FcUpd-mLz=a3M1&km3Pj-3^_ zyITtF_HAr9`t$k4Ne}~_*8;CxF?{{zF@2^xZ>SY@-$pK z*&h4xtV4FC_ITeRcTplz2<^*d;nAMwCHI@*-Q6VxcxNktQ+Fru<)nH7$31Cy z=fGAvEwp!cLLLTrs;-@!Q;&i?XV*^77oP_!WHzh{*)tUG$0O42`??BTVXSO8xvjQ< zko}0vJ^S*`lal3~0(5%ap`AK~aI%5*jI*7(F5u*(_9{SoN6B}4>IrAHC-f54p75s> zc-E$c(P8z1UnAs!o|T(17uF1TwN9-oatiR~$2T4duiQ{*C)GgpG8J??$#8jYrgBq8 zWhd1wPtw526KV<_pbCR0X`thYD}~bGJhGh}vgfTlNz+a$T^f`3tjK! zT}yWo;KZdnIH_$=XeXDLXJ0(}-%jr8yu!nS{)oM&RnYM)gGc|{$-MF#1SjI9WAmhdkVliSdGaKBJ89y< zBk9OaZ#T4)^Tl>pA$#sj0Xkl9;|mP%-jncl>LvkS9R-}!Z}B)<>$omFgXSv@?IiQ$ zyA2((OQYwrD5zcsZzq?AC-pqU1|2`EQ$WZxA~-o=?lgHatbKJgRhm7C<^3m1y~L;(2ruI-Y`3K*-&Y+DT2F z?_af()6?tzh_r=va_nC0lZ&J;R3n!@oNt@fqvf-5tvgUaR52>YyY z6`pEbb&-08%mplX;WQZ8RKuXqPEPPBoSq*YQrBJ~m-vhNz+a@K{`N?S`1!7E#g9Ry z;@8-MKTMvIu5=+7a*Y`>P<1j=mK#gBwpUqq5|H2uWp%Z7TM^CbMhWH6ig4&6goEPs zv{U_CIj~ceP+s}a3BRmr32^E1f=kDXP*q;;8~KpGT3fyHOQHO74ha|er2rS?wKBo? zBr6jX;G*oaL#cT6peO+;>cqnZ<%R+nt7I-St&x?BE5K=18S$M-#Ov-(qg(-6p@fQ$ z%P*ByE;GQ7>aE8(XgD`qDl3f^%B81*$fq8$B*3MM1TJil65t{m)!enBbLn{nqE}xK zs`^g}NQp{-uW$k=<5~!-9d`$27Y#e*qJ~DH{A$#xy?M1X3UE;eMPsUj=t*BfX>go_ zi?i24x#;1eTvUByuINJ3gGR;M0Xl7I{C1D z@0lbYtl=WF7!yf8SHs0k+w(|2P3v*1ZZ~nW@zNoC#`3EPnFOTBjZmu^RTQdnEuz+m z29-F4^20eng~nCpO1%dO1`ijPw71&yXj(2VX>W#klBb85YI|-KEmVA3=q?wxiWcC~ z8AX}6RkQ#XnFXUm&Rw2fp4T8+E{?B-@~f?ba&de%0~YLRm5K64q5N<%1Q)dv3UE;u z;n`!Us1;}-xlW_FOx%rW0$na{bzZcjl~sQ9ATFWeafh#^+UmtzCM}c(XI$mCk3w`u z=fR+RX}GxM_<`2btnOwGIjAe^kb}C#9db}tLytY3B@QQOotsuW2b(s!ml*H9)FHnv z?i&3(O`}lh)6zAZSS1qLi8fV)bt0jiRGfTQ1tYniqA0YEBW3qkP-q=C?s8&dlh960 z;EOFsLOX%9;1csj#~9YQCxJ-${86RhQJGs3?Zkn*oYY46Zc&Gchl;EKn5b{wCNZH|mxYgRF>>jxSQ z{UWSo3GKu*7hyF?XeT9}2k8*Iruhg)?tR@NV#40G#I<>dz^9nqB*E$_3ym#WE zqoU(kJVeS>#&YsZnTPY*sS^(;2nf*q01xZ6jCsSL0jhQ=v@dl#JamYVImN8lN2Ara zTSN_#LVI^kdyOt0B#rGD$$l zo?GznBy=>rk

lj1JW1n+&EPFbN87*)seHcyzr1dkmwsz6_#;#Xokl%LV_W`m+%BCs8_|0>6mLWhMCcG@g6~yf^7uzbBLnPLlR7yta2?KbgiAAA{@f z+oAne;HT65!fx>~(!mcuXbuJ2dVc2;TCD(AIBV4L&p$ z<>SByQvK2AFmpktR#E$Du-{MRI}2Q&`wx$K0K9_oL7)H31zD>9y3Q;YTtNA-9DXjR zdiyu<1=LTi1=n@5VR|-ze@El_E#P-hJ^vhhA?4?{;Kxw?`5wGKwLd?DPoVT4A>*xF z@FnF#eee^hU1|dU6rHyad^73jH1N7@!#wa?9lKuzt>QIeIe|3 zQ+j%V*UN^!{Z>ElMWkze-)=5wLjBHY*uP2r#dY90Y7cJ)|GZ`NyfeVRDv9#@z?YDI z9|C`Z+RsJcA9RTNSq5G~8a`gs$47WL!rfnU)%YX1p1KS%sE_^6Vo z{deGVs6Olm{~wj_ui)=fKU-JYi(D|{oT&d}!H*%moCrRP@>%DXbHOvzkF+;?YTr`e z`aEKI?#|#-sa^UV_;r-di^1QZdiZ2v& z`!*f?p_WnmyTFIhecyxNuhKljBj7Vg7fZpGe!F8TB z^z|Y5i3K6^TVH_BrFKKdF>ZY+<^K<`pGM=8|ABX={HY~+%LVPJ|7rmK4$bd11;2yJ z>tygQq|T_al{+z~L^I+eX@^dlxSrUeM^fb86M~3_b@a|In zA^$u0)l@&<0v}BJeINXF>SsR%UrqOeJHRVxys-!TGOCCF1=stnFr9()6S?4O(#28W za4>i!jY~&>FDi+qe**X;RNtn6zaKRZ^mhXHyC>=WZrJyvao3-~2hjNEQSeKs zT%G{$OZoX6_-OLK3VbSE*Lv_{sC;$4J{M@a8(!R2*z0=ykben&0@Z*09Vi$4k^1-l zzJ> zN0&tT2jC|V{|x*z;yc0DQ$74Q_&U0eH~@YX%}3Q}8Mwb(a0InK^}tW0d^iq#2=)8T z!H=MN(guA0`9b8b2>byW*JZ%lo)<9>O2D^My}bbZ7;1+v1+PK(L05v8Qh5yl|0A`x zBf$qzJ2nw~DcRo$&hL%94ZJS(JNJM$rTRG+d@}WqkAd%^am$n7?^6D+0RKFQ{;dXo zmHfO8zKPPg3H(MHKYRo}mh`?Iyn=N4FK~UoX;A(5Blwq;{)6Bzlb<>=9?At1Y2M%% z@X0hjX$G$IdDW*4P61y}r(Rmw#kEt2;-vWFzwR>&B$5MNK7IdEckk5l`6FL=~T z5d0auJ(cf5@F%FfeF}UUwM#3(za_oA0=|{TGjD+Fcq&ZQyWoX%-jBhrr*izt{GS{8 z@LRjVAI(JhKJYOuqx=x~Pf;8kDf!}_tCD&h?raD?{IrnytrNiCq4uN|IKS8NOz@AX zeMo}e*e2?~6Zlb7?iJuaQ$5l3J-MJ3)rU&hKTY*~Ao$Xj(eqvnUUfv2>-tEyj+grD zNwAO6_*3U!a>2ROPR@dTar>zM2fz!dJy`&L7WLPE0sooub2)ec^~-+)|A5MOEqD?6 z*#O>+@@)(F9aQe0gFjs}dR^aw>w4R8pZrtxqg_z*hpY2fcuJ?sd6JGH~b;Kx&cR0{qn<->*GZ7Dsyz%L~K{lNE9 z`!E#zqC}Vnerq)NJEV*2z%P(6JmzNb=V(4*2Dq-X3+?X%|LUla`K^b*uWA(Ki@=vs zyRi)Xy3(lq^WZrex2ys0M&r^q!EdJge-Hc(swba-*E}bB-mk&$qV#_UK90(3Kln%* z2mT8F1nEoPGv(Ir$$eOO?qj8%xp6GD+b4owP5e~wI>g(9-$VUQ3j7gDPiOEWs9b&r z-jV!V44$Cz)$hU2r}7#E{w9rwuK{mQ>DTv+A8HS$gKwku@GkJXq#VM0 zeh^&0TNUz0z;CDV|5ES=i2oIQGPN@=gV&&bc^&v?)F0_{@44W8>MuToeKQ(2egS@- zgkk#s3I2Yqkom12z;!)oxbJ`9KT)~Yl6-XQ0jRthfa|)R&`(qFi)j4Q5?sH75!#;) zKBGp+{8k)%U_q3h1O5=*H+2CYK>Fs7Hao~fiEGw{{j4AYOihp zZ%FNizK1Iptf6u8OxS-+?Y92Dmd@Cl@^*T8F1 z|Nb`ku4u6Yo56o*7u}&c%mwSI9ryiEpNpfsrqoxr{;f`w9}WIf z%P4OQuJ4Tq_q8zl!jSo`w&1T5KMQ;f=`job3zg&f;HMlJ_1_J=FXjJb;D4t2)))K| z@>2!=1(nw*@H?ZY4Xy=0Nab}C_?wi^x0`*XYeu9J}(6SncCr}z<=K? z^zFA+f^VezomarWru=yWd;$4?7kn}CkHPsp+h2hfQ-8D@{2gjf_JN;7_tA&IKcw;e zk&^GZU@VnaL+~y%ZaD#bH`%uWk5T@g3H~~@8%gjQ5{7x*34AwQZw2_P=ZCg_>muQl z`HuGiZ|RK=`|Afkw^Mx>3VUkigHhmA9fFDQ^9uEMHwvdl!<~ORcqR2OGlf?kmO|Z} z1OH!9K0FNj0d&L?*q=$`pJ!pen(SW!|C0D?;LRwVZ-eXi;lqPAgFi#|+l2r2{p35r z$Am6qYY+T1su|t!U)blOIQSKO6!9Zv-YOmN`^=94??dT4UU)9h`|r?M%RKh&!1=xC z9l^PM%Yx4jUCUMp_%p=23eN?9qWj8AgdauLK~QO&u4{ns%Ak_+bExoK@CEhPqhWs! z*zN_@TWT+sK(=nh@4NrNQr3pgJd2(Jt_(D<+k_yyFSv;fz29O1d!fa`jSkasXYg(34>De&uvcM={8 z_De!?q*t7-gM1-_p6NbpuIqv@XjK85&X@WNA~_S3*`AU+d( z9`V`2W5EbY|2)|DX%+Rq2>g2DPr=U^^0NYb3h`C&^9cD_2m80kegpWo#5cpwTJrN5 z_%7l*;AbQG`40SJ;``vI5zU_*ggvLHw%murf}hDx1L2iHiu^PI|2^>*@Uxrzv;qH- zcnA2onf#<+&*|v|&fg;|ho6Pyrw2ICBlU(K{++HLxPD(ftV31svzPpjguQ;xJhYzx z&fi~~3_r)w_;wojImBnePcxd=oej?4Z=DA}gUQb#@H>b<1wZ_q))nBl(0NzE&tJ*U zI`EH(Z-Ad+FfbNpOc^7u;=vj z1Al}3RKZV8xxWw3I})7VqdNh9mXV*y;4cxM20s^*|CzAo^vnk5-=XHg&p7h482ka^ zPs0ztFZ6lv4=A0lz|Sk>=MC6%dNzUccZ#>d&vx?jC3qdV9}V+)7yN9a^!xz6llaf@ zQ$&7_ko&q=!09;}oWHYtobbxv67tg={CeVT^7!ch&fk4b!OtV)N7rRm25%DoT^>Id zf%EsBFNgo{$xjYk@7Ke89u7aVw}+yfJuZx-V!B&d-&!7G4=V zLFerNK3DpaFr8^|?I%Ni9{3kz-xa*J=ry#z1iT&bE5I)#K3I4x(C_Mmey#!M?_7_A zpHbvz5;#9^I1PLy+0TOiCn-PYfWJh1KKyJWKaazH7TG@y{t)r!!OuM^yjH*U3jEiQ zdKB(^1AH&>cfpU7Ftq;|T+1`$Ux8mq_PfES5Z@>9SfJm53H=-d=kI{mmU)fJ;1Tju z0KSg+@!qYtR z!9OKFP+_jUG&WFMId+U$G z&uQf68So2xW2C{7A&CizJ>EHBd+hUstg_=KcB$<7P9{eoWC#sFK{lG|A6!N zJ^v@XGI)v3tNBELG*p9Rj}b)5tM z4HMCN{xEoV;!D6Uqu({21>a4-i)lTm4E{q?{jb6P8=AL&8@w+4p0ydgCjI`a?^Sf; zQsUphz774pycc}&xzX$W3H)F5JAO^6f0eFZ$;_9 z4tzK9o51;d-?xGD_mA!dpF``29t2-N>0bc;9PuUK_2`GIXTbTp$uEHO_pjH0SJ3*# zH^4U$-(>dmyWv*wp~Sxc|AF|o;B6`Y_k#2Hnhywf^LQoE`cp&Nm&)J|#Or~dcYf6V zIPe#`M0s=YABndCf3-YnUj)9eBFeQLuMFn@F3L+_{~GZNz#r%uwZ9bnhYO7wqd5MC~5{Z+}dbKMX$; z$j=h+2Z=umKO@M`i{O`1I{yyN&o93TK8DiyF8BiCAA!G3{7dj;62B1q;T~aH{8lgU-94kcA9%ZqqI@X$CgP*P$6Xw?zYe_aB~gAe_`itH z0H1qV)c!v3MZKc@A@KFRqkIu~!#+{IOt>2lH;nR?;4c$j4L=F;^E&JckB$0y2Ye9u z`4F7HzwkNuRPyr;_;bYn4gP4O=z0GO-tf36{}sFs>EcKkhsA=Asb4z=yg&78$Aixx zelqxS;-`VXNBk`CpGij<@aCk8^T7H0alZo(NG}(GZ;xg}aJkvj??(f`m(`9Qa25DQ z;-kR}>PPLb1=sJkh5K#p4<+6b{C47}gMUaoE<6?tqja7PzOq&{ou%Mk5bq}3eb^bw@n_)YM5;e8fOjFjM!0)#ywsQQ9B;z^8uI^M9{(T1{wuQo z3cL2mhs%PJOPjGPsZI>!f{}W5IP~Um)E5-a+=qga1IhC3w>-!#wa? zr-K(0j|-0lH_>^|2IqFH6r9u94gN=y|I5JdBiNWpFL=<*6uM9q>^L`C}i1>Hlr}T@~pZ(xni2n+H9r3yue|#)xMCoY=eg^So;GF)J!YhNv z$^Yr#r}vMhGY&q0_&M<3lg?WP`?txyJM5>BeJ}7i#QTCTCO!oGIpQP0H&H(_9()(^ zNy00G69+`EcN+M4#Am_J2jpiC_;%v+;pZyy^Em8(B>Shq>(z;-=Xv;(SW{QMvMmlFRYcwgdo!2ccO|9Plp?a z5I-7xAMwV*V*&eb4nBj@*&2RY431uJhdh2#dHi&OpK|h30sFh@yggw*jO;H5zk_%V zewLD-Vc^S&kAa`RlAr6rw-CPtejX)1Gr-pqzZd)q;&b8u5cz)$y!DW1K0gURZ;_wp zz_${A8GgExpLMX`MfMxO16oJ18Gc5SpKai?iGKq>d&vL4!4DAsFZ`?`Kf&4l`eOm7 zr>^kI;0v-p7Q9YXG~Z4HA4dGtJpRuFFQ9x#z|Y;}=iEGgy5#ZG9e!RQKfPh!n9kb| z_MedbQ1C;Qx~X-j_o1kU4%N5Hwg{R{Y7st?bC zbNzf#xO<-ftq*w>{0EwU{s;KUh0*K!0Q|)^QLfMZ=7L31AH#h+VL$(*kohhBE=VrW z-y6ey2Vg(2ZOHsqjdT3}T(Df)Z@;a7^}r7_H=^Nj;Hi=*Zw`J1U9bKQnhT20kJ=Z( z{s#%eeHrirr-aOJm4Lr|Qj}i+-n&(l>vv~!LFoxmex=w`;X0E+;B%wq!EoX3_bIAx zW5AaZzZQHy@hR|6(+0sb@CrKbo#2(k?*qS@_+0Qw#2*2lMSO|yT<|^pF7Pb)v`*0j zUIN$me24p91Mf%m=WX!x$)T;^+6?}I+|Pykwt*ik37Oye2E5!gxrhJl1z*wZa2fnn19|C?4wQnQApQidV z5&SV)=XRs{p$oVT{B+XkJ>a9M+~{(JeoF61k~ryLnFzop;1 z%>`SFqWpESC+JKzg13#D2b9sPYKxngYbU~`CkD4{iq-Oi*U*`=U=~tLz)ZE1%v5#+cv`KM^$%ddvJbEIRXD8$p1O;-;1Q$ML3<*`M(gH z(|;-aUobM7e*MltE;xrelEGqM5H)tOtHIg-AK?E9@_)T>_ni^yIBx;p*fM&GJHWr8 zrsIC_hiN=H5Bv=pKQ9Kqh{n%PgY)xQFM$6>xkQV1F_B zX$el|K|A=VJ34wmNANR=>-T9YgG-5*z<;l(o1iOrf8rOz{|)4)5_}%<9Q@o*eulxm z)|lvyG2o{WzYe?y@tffP!Kj|7!C82KXDqH^EQ6KSXzIh5gr29DFX^z304nbjP>gw^9@RJ@{25n4iJVp!n!SA43m` z6GZ-cfxk}cdHR80L+Km}ektY8Xz&M{29dw(z?agv;%4w9jl*YvpG@h$AN*D+pP>40 zJ~%%wvjn_N{c2O$SPtHh#_cZ)r_RM4u@=0K+dlm7?GhhL2Ol2}-S!719;Aa^J~-^} z(-I#^2g$>j-~777|4#?qeQ?;{?h+qK2fYqse)Go?|34j!^}%6(zm)h$TBjEe#Q{Ok-~Litbu zK8biw@Vklk0l%MkfA9swhl0NvEv{e`_*<0ziQx4p{Zqg@5}yvv>k4Lp^Yh4az$G{= zP4mI$)I1Ej&Bfq-sGVO1&flwD3H~zKuLfUBd_8zWYA82?HzU3UoS)C#20n`HcY^c# z)%SqELH7H>HxWMsej+vXb;^8x#e!DE3&8og)TZE9lYJrhDB^9w*Ag!Rf17w3yfJk! zoxz(EuK?%gF?)g!A^Sey{M=uE@cMKMHWa)e@loJIiBAL{MSKeQO5)SOR}-HF{w?u2 z;Jb;>2j}PG7K3-C@y{}Fe!gZUctL}xj#it0;_JaX7DVkgf+vY@0iQ&C8~9DccY;4d zd=L0@#P^#Y8s8oQpGv$=7p?#NTtfkPGa83C1wWC-$%WvR#M^>5qN$rA@Xj=@PMaU% zox!grUID(1cu#Qt{!1V5jdUN>AG|(|=ZAtfCq4@NV&W6QyV6wK6!7lEr-Sz*J_~#z z@j2i(5T6gen)qVyVJAlG=Q8jS#8-lkA-)>?IpXWV*AU+bzLEGAaQ+^_Ht?NfzZ1L` zO^xmWKau!;@OH!xfoF-=DcAacG4TTMWzlR4nu7EDNeaQ2lYLw8VbpIHf#;~7N`v>M zexWmXCAH@j;D?C!1aC_1RUhz8)DH9q-%2_f3SO&5^uk7gudN;B6T#OLp8{S&?Z9;K zO5(G?+tGRFfOn}GJ@0(;L*=*_oZpYP415InUkTok(z6Q%K2)>;77Vxgb zw}CGuz7zaj;(NevAif`*-|u}0oZo9#r^4rBEa3OZ6@YIc|4qTS6E6hk_q??Q-%IvI z;0K7O!Ru4`b_TCWyaK!)@t)xPKDR#L{64q-;LWJqhl2C_%0_{YA^VBolZa0N=l6+C z2cJRqv%v2qJ_nrN_cb5a{D?+54iUmXJH_g2;Uo!0+B)IJx0-%GqHIKOA95S-t$)E1n-Pgex~ z%#qP{EDb({`i0KmEQfcomt@gUY$AM%gN7t@E3?L1|LTK<1+AjiLV6b_rt6<|75=&d@1pb;Li}>0{$M| zzib1qNqi@GBjS6&&n3PeoZpLb2%O)GQm3od|6b&$0Gz*D+7!Gw-A@&QkD>8HTkwT6 z-Yx<^L_7^1r*U;>@NUE_z&{|~6Z}0I5BC8tq;Y0{@E?f}1#d{>ic#Qk%7=;I-%>tI z0q@f^s`u&O^(dXQz|Wxc%mH88B;sJgZHQNE(0G#d?k1zO3!NWB=Pm&aZ2Y# z@Lt5XfX}CNZUbLKd?)x?;(Nfi6W-xLB#7^p!I(!@d9vu-%C^QIb>f5UP8Pr zcm?qy@QK9J;FE}V2Iu$2RDfSi^{^-SEyVkPH>3N4{@_z-K4B>M6e{;o;Nz)$CxUM! z|5Ly}CO#efPCD-_@Vkl60iRCknGe2{_+s!$l+I<~3y7}-f1A>|8hj7&_254c-w582 z(!T|K65W4o10PF%c7oqcd=L2j#P@^qdrJ<1uO<6B-L(FXB3=MKo_JI6g~SWNmlAIa z&hI}d0)L6}Aq~ES=8-y^f8rJ3ZE2pWC-`pSeZcn+?+?D<*l4>t6nr7^QQ$)hT-sP(@!@dEG%i8lq$QThwP=MZlT zzKyP{2)qlGR~mde)z8l03yD{NFCpF&oZq9;2Yf5p_Xod)_)zfMh>rq)f%ru5)x@WO zcRwPkuj$~Q(*64^@B_r>fb)AK=7Yy;NBu7bFD1SVd`qpU{YvmFqBvL$KAre_@Tuf~ zBRIbgVGH=#ln>j$f2Q>81n1}I_ka&2Kl{O-Bz_2dCGk4l{RPE>{lp8v`T6Un;9Kc> z3&HvM(6->+>O?cH2z(>)Gd_;uYZh{B=+8ZIsSF;5&);2d_uz847-g>_>su zA^VBo&4^C{=jVT?gJ;Qp7I&d(BiX0He<9u(oS$2)0B?L`R9`*8`8mNp;PuG9KX@VWq2T;n;V9vhNSB21 z;AcdW6Z{`|d*Zi%-%I><@IvBuf!|Mjj&N!moXtbv)Qtp>g46IkSOT6V|I5I85`PZ7 zg7{0|apG&hI}=|oyojiKE(V;_xdoh-c?R3STa%}q!a4Wd`hRftzaO0a9|C9pbtGfB z)PtY^oc%WiXa9xZ?7yw>c63!iPy}8;d(z#@B;Gx1UUO& z4$l5x6i${qF*2|KAIzn;_@&0C)lU z{}r75*SW|W9v`s(2Eysb4rkdIoNkYTlfdOPhn>3>c>lwg-#i_B1o4jGcM{KlFDBj@ zd?oR6@I%DAgV&+o0WT9yHxcgGE5JEF2ZD2c4g=@>94(x^1i?gb-ZL4T{Z9pF|91#K zI-u#*;9l^Sln;Lb?@oLHIJc~igJ;Qp8F&}sE5I)%{xbL|;;(`8eb8IrL&^SK@SBKl z1)o9ub8xOFJHfes{|@|7^7AA3GUEROe~EZa$$+DSt;CN4UrW3p_$K1V3-3)d2-?7& z%e@0Qmt!gq?*z`}QVxDDow)~i3Gv?GT(A0p-$eFR;GF*>^Y97aoS&1yxqX-hzLd^8 z6P)YAY~ith>)|}`>Eve-_$0btdkUQI(^r^1`B?=%h4?yfKJNzeL+9NLeiQM}z;7V` zJIoL9@4z`d`@pA?{XuZnMeR$xVJzVFJPq>jCg8kIrbQm!2AtQKbjZU~;Jp5%QyyLp zK8XhOJ;3j$eC`dtmUzEByb7GxV~+&q_1F`@dHulTJbW7Xkh;+Vo0*5t2It>}=jGvx z!1;H{r}FR>;JglYRUW<$oagg5}i}f z0i4(AO$O(7V_F_Q6P(+P*?IUpaBepi<>60(cc*q^1$fhjQ9Z5#Z%KR|IIm~k0M6?h zH-q!~#?QdH-tNf5zXRubyDtwv2+sAk_GMcCnKuCEdfOxqZvoErwhcJ1r|kgF-`z{) z;hn&_9+rdi_k4SRPpA6X8=Tiq_5n z{6xCN-UrU@;lVt-b}yffSitrT^6(~kcnfg;PE8x|g_OicdY{F=Lpt;^K%3nz`5Pq48F55)qikaC$X2_?o!}=sUPeF&g;R-!FQ8=4{%%f;biu&0A&i4hI!TCP!GjP`R4sh1#ci=ou*ay!2_(5>)$7^5i)9t=r zKtF{v0Ox+W2{`Mn1vvN1ZNRyo?EucYOM$nh`>amjysobtd<@z50Oxg6y}<)2-+th{ zPOJ*N7TJ#k=XGKe!1=uglfl2H`^{=7m4|l%=k-YCd3XyE1O z@R8uWzH34rJ{f#yooN0~%fn}a^ZKIMdH6hVUN5vL4}S`r*AcDA!&iaxx}bG=_y+J@ zbiJGN@Xx?`UC@p^{5x=7=d&*lKM2n2e`^0;>p$}b;5@(G1e|r$0-SZ!2Ap-&0i5e| zDi7}j&h@!G5AOla^|^N*-VdDXa}{_iD#wxFt%*+n=k<7#!MQ$9%fn}abA6tjhtC7& z`n)I)e+v9LO8*M*`-!gtpF?~dIIpkU0M7M!a~}Q~IM?SLdH8qWTyOW~;RnIFKG&8X z65V%OXq{UF@DqtQ0q1pbEx=!<{-O=|YT_Nhw-HZ)x2Arf6F9GDE(hoD+4T^f4)#Qw z+n{$I-Vb~~*;j!#q5gw-0c%3V~{c+XymQPKDA79PQzDW29zu~_Ve$sFF zmBI^u!zTzod3gIg{JcE;(mXtuhfmDIXXfFL<>4#y@U?mPCwch4^6-D> z;lJkL$MwsT&yF{8?@_eBO6a>NkNpLCcvT*LZ65wd#~TG%J8jSsTX*HL|Fh%A9`-c? zo3?vGxcmqv9`45d#B$-6RQs>4*@K4X*ST#)=%oJC%l(B4Rm#${XYP(D|OINdOHOp4B zVq?YeY8LBQ4O1bERl`gOQGQu*`4yH2bsobb7}w zMed*96PKtzMZ!lDeydEP{+NW{oAg^{{?uhIU;Tf7749Q}?w{<6$v$sdCXUO*b6HG$ z$r1j%W&Wt7q{g4!ecZ}LWy|kK`yDCoC?#8dM^a4uu}Ocjq}X|rw2x-INm)#i5t9q_ zr^@)F%VL@se`rQ*{h?CAWpOcx`-8LISJtO8D;eYW6nj?ekBP~}$2$5$%i`X5OcE5! zD)Gk^`}4#)dS{8O-;NjiloWe+G0BC5IE+aG6UF|>gqXx61&NN{Z=$0=X+qB$_uDb| zNnQWnJBw)%CHzTZQb@6cq$c6_CgMIFF)5gYoHtP{$&sYR<-+2Uw4@|6DSC**(qD1B zSpH}IHOD2lVkzDBR}mMj#IxRKTyiibH9Ma1=Z$B4O5*N=*8aawb3E%)6_;F%XJxNs zb6j#Qo)*irSf<5N$}*mobEPEgp159-Xe_R+lC(KV zk#RgFY>(utqD>_Ws(DB*!JGaBv;EMpUbpq)TU5$S|;_gOmtc%Wm+b6wM_I_ zCM8uSIa4NjER(udCUw3{a=uLJe3|57nUqMG)Pyq8QJLg$ndqoYuD49Cy-f0{kW z!$(!&SOmU&{ZShD_Q1uw5L^J?aO}N0=!?n)zTUY&YLXA(Ky={a@FY6*aZ9JA65d2T zen0$)B3xW_;6tQOl;z_{n$$BNhd-%DK91x`uDZD7s}Jo0v0w7obEH%9*~gJiDKj5O zI;F&1T*}Oc@FykjL(2 z>Z^|<|D?XVxYT$bBLAe;`#91kdhv0jPc-A>NS~9(^3?6HWR! z(kFe0k0X83o4B}+Rb7bmN$cl1(kFebk0X83H~KizC%uo0OJC%|m~q-*kiq!*G6WI@a{qXRL&%TyCH*~CmYF%yoC%fuL28#C?1OguVX^EM_Q9kmIu z2E&vSGwJA9Ky1vjsYkmV*=4z5Lek#J?=mTA-z5Z@v@$v6zWW#}wYiWTxW| zA(qdkw3taPW?Iw1niyNHGr7e~Z#sPQHm10kNiJrZ)2>@=tUjCUVy3&82~Wp;-nd$N zCb^_Fb~?Tm8_O1xU(ECuGXcg-fjSnGqfkk7gy=|IZ-M;=vL$YMkIQI9Y>@c4i80<0 z*%CJ~>Tt;$n;3PlCd53O7~>{J9e9cjiZX6u)X}KyvNTusU?xT#pL!b;W8B0TukOaG z`!N$^+{75St}Je1)B&}3XuVk6#HeFf*=4z5J(&)NWfvNdxOHlA6QkaCcpDRA+&Z?n zjB8|d4lr&#VB9nqHx25oz8ITQtQ(A5 zKbVlaG-s1A4eDKj5Tse}{)Hen5~jg~X)s|LOvr7AH#Q9>Z19+{4l!XGOqd1})*&XW zLrj+EoY8p(K1{0>iglRBg8cdi56Q;q0X)sYepfn98OoIvQ z5EIpdNz-7$I>dzB2l(`u1{0>igbghdron`1Fku=@*zhu88cdi56Q;q04KWj@!Gvir zVH!->Ff(BtV!{TR2^(o9OoIv2V8S$*FbyV5g9+1M!Zet$4l!XGOqd1}ron`DhzT2Z zCQO3~(_q3zo(a=n!aBr+b%+VmV8Vu<3F{COron`bKoh3Hgms7s>kt#B!GsM%6V@T> zB#kdP>kxI;%oEdK!aBr+X)s|L)VVY13++b2G^q1lZkJAd$p(5Wol+8l zR#c~mgrMC>ng(^IM|Ppz(0LtCOoKW%BLwQ!xfUTvv(A?YLA#-|AVSQuX;7y${4N`m zCQXAnLm<1%vuQAC8cdo7lcvF>X)tLTOqvFhrop6XFlic0ng)}m!K7(0X&OwL29u`2 zq-ii|8cdo7lcvF>NiS*AOPchOCcUIdFKNRNiS*AOPchOCcUIdFKNRNiS*A zOPchOCcUIdFKNOY&Irk-CxS2m$L3JW!+!Oy1$f3FJ;|d%DTUlb$==A z{!-TcrL6l)S@)N+?k{E1OIi1qGU=sEdMWGvQr7*YOnNDkUdp7GGU=sEdMT4$%A}Vv z>7`71DU)8xq?a=3rA&G$lU~ZCmon+4OnNDkUdp7GGU=tP`%9SyQ>MX`X)t9POqm8# zroohHFl8D{nFdp)!IWt*Wg1MG22-ZNlxZ+!8cdl6Q>MX`X)t9POqm8#roohHFl8D{ znFdp)!IWt*Wg1MG22-ZNlxZ+!8cdl6Q>MX`X)t9POqm8#roohHFl8D{nFdp)!IWt* zWg1MG22-ZNlxZ+!8cdl6Q>MX`X)t9POqmALropsnFl`!4n+DUS!L(^GZ5m9Q2Ggd& zv}rJH8cdr8)26|+X)tXXOq&MNropsnFl`!4n+DUS!L(^GZ5m9Q2Ggd&v}rJH8cdr8 z)26|+X)tXXOq&MNropsnFl`!4n+DUS!L(^GZ5m9Q2Ggd&v}rJH8cdr8)26|+X)tXX zOq&MNropsnFl`!4n+DUS!L(^GZ5m9Q2Ggd&v}rJH8cdr8)26|+X)tXXOq&MNropsn zFl`!4n+DUS!L(^GZ5m9Q2Ggd&v}rJH8cdr8)26|+X)tXXOq&MNropsnFl`!4n+DUS z!L(^GZ5m9Q2Ggd&v}rJH8cdr8)26|+X)tXXOq&MNropsnFl`!4n+7wc!Hj7zV;anu z1~aC?jA<}q8qAmmGp50eX)t3N%$No3bm3bm3bm3bm3b zm3bmW=)q_(`D9lnKfNz zO_y2IW!7|=HC<*+ms!(g)^wRQU1m*}S<_|KbeT0>W=)q_(`D9lnKfNzO_y2IW!7|= zHC<*+ms!(g)^wRQU1m*}S<_{4wdPEqSrcg11e!I07Mm`MO_#-{%VN`IvFWl{bXid< zS5;AN7gsD&?9*LGcRs{SPqE0?+55P&_d)l|dL=@CzWNElyic)I79oC`MmDN#d_D3+ zPA41wSIN>+&5P1<4P}QvlS_yw*@tH6oq9ve0ToNz;Zy8?IrWDA96t0DNj~&5R6fLH zPqC=eU6FU_uE+=Ogs9=g(gL}-rBK}axTXi*#95#2(qOp2r^N;SGF_kvKzgK^=%ecc z-JDagG;HqdKDF-bK5*Ve&OY>+=tE?kDA>hCoTa5Y4dmngVtfdDk)w|zr$vk|E?V@* zdArhb4g0v|aQY3 z`+X&G=dcKy2M%$tgiy#-D$q3l2r=u%Lp4XJys!4RdEmg?M>SfbL#WGEuU zJChCMTTF%`LQrzLOv1bIX)P_+&|650CL5LlX|kNDwsqwiiiJP3Z(#gseCU1omPUNK z11x3IF3Ay=GHIKHSYAo{ZnJEgSWecV!bX$MMmLR5~hQmJmSq{()s=+SjX+RI+Y5jrXF zUHN+JL!TUP@3Ys3TCG$pKCXqQlgutIIpjkeCuwwX$paTklj=jC1Ma*sb7s;ORv#jR zrCPbTT&fRI5b&?_t)-~-~y5ad8yS}P&Q0bRW#1bM5gcRaBnp|0K$VxFbG z3Gtr&$))2h*HCt7`=~$vxvNEMq`&#OxZLacP^+7coLpRl?m{VHceNN#YTMxAB5D_k zVtt6*kdc6ki+Efp<>jlF?$^b3ek7>XJ#J%I8@8J8MZ2Y?Iv-S8uA#pm=tf2940K3Y zUOgpMEO+j5=~|<8j!FQOt?QVCXsyyl#N7^H{HUQb(DfjG2Xb83g~*<2g8HrNLR{}C zvjOfHX-3^GgM=~$$CyM{qIe4{eXIZ4v-*_Dh{rqgwOS5_tqgtLfI{x^ouv(R(L(BM zo69h1+~q*KYPqHHIc7D?MgqEK%byjsLs#Ee?$Ic2zRj;EEQ5Rh_}} zMQ4ZDC_$eGkn{Pp`BIkZ>r71`Qr+AR6o`g$HoKbYtFV4l*L8Ut=@WfIP`WyPbIyE1 zT!O5J)OBBSge9>$0oDh`Aq-v0=bT~)t8<2Otfk0qnshywPrU7cNOV1)D^$5X_MwVX z*YLRmLPc)Z`G!eYeM7v_Hh^O?8sxZqH?l z)`n7@nsk=dcj|gJ@#RzM&VtdthO)z_-0#4}THh6~PPyJ9ISa9L&h1*Q#j!q3*TH$G zc2}h9;GB28Eh^VgEaaNp4&Nxa6kF#P$Bm-Sg^H!+u{4n0mt2ZFq@7q{9Y zGwvsE_Cv)qn&BHfp4SbHtP z6k?~adD>!Wx+_XWcNOI(KgbeA=g;6;8-J_|eBxZ-ljZ`=2#i~7HoDm6dW)-Dew*tp zwz=M7o9ivMx!z)%>n*mqUiSd5%n`XUm^)jA8-lsO6$ECC{NTRS?kPXXOY3qd8DWq)^;vH7F z8%H0wTTB-Sh7hWgqF3u~m(>oH-ZG_F+B@e)vZh=Df1Tz|8te*pmoG=#>{N9o%k-Ap z?N3_a<|bU=kM_=dVx%#5yCtb^l0|n{7n-z>Znw`(cQoorb>T|Acf0+iyWKu;&Z{ed zH1}?|FB7-h2Y$ErBInlpkqdRZQGoUXLa_{f-O-wT68NLN7dcukxKu9G9gSS8uISR% zx}!DMB=ARDu8C4BO65W;%B>%_A2^ETj>Vrv+F#kQ^Ge?##ID08*^8xJm0dn@z)srmVv#Z3SY**7I^mabOJoj1UIkK#J1_pY;XiJ+ZZ-;UV z2VL-E_V8nKDms!c)xnHA-ZEE3<+#5b&wc39WfLxPKj`D$uS=&?CvRuf$`^(km|Mn4 zCnDKo#Uh=C5X)}qW`$HA<-G~L>hb9FwgeOL$UqxP%O6xVq>1A9~5Gq z?FR=p*$2hAEnn4~mD_@Ix8-wCnNPUCr?$|i&BZZquFFjPelHdu`m6DwKc%((@MVmR*(9Gwr{!-m-fWPal50>#<)1{()FnqABR20 z0{ZZZjLK*Tr$=`b@ElBWLts0^gbH<>(Xb&aX6Z zKGd9v;pSK;a2yvY`_Rs>>DEU_ynkO_KGfW@yEuI$#2tqm)(3A~Tq=kU;Rm;$I@0m> zdVM+#<@`#W^`VxiuKss%+?=u_b?j_cJQa9kYe*B?M! zTtO!aY1kIvh=)(82dlb|jxt(y<^`gF0OZ>6-}=u$%;xBc*kdZ%mm++gIVEd$D5*V8%0W0FYM&iR%=)1eO*`s>v5>+^-a-l1M#HccPb zaQTjAL7!ak<)ZaZpOp9cqSvEO96CStTb{JuZa?&JLpmuKB0WDfx2N^XnasZ%@#kNnhvVS{^!08M8kQ?Fjk_U7+rd1BZ@u<+i&s~>1TbiKT{)9cVB@h)zI1YEa1#pCkN>Yv$T9H0x0-G0<3eWu2p z2j|uIpE$pA)96E7H|nLXM)t?6uJlnHA4mS8|I>GjIF9H+dmpNw(oh5q%q4;M%OuTQGDINBdwSm5I55A}zAe>~a+)I)t*#B=Byzi#Nm z5iTFl&+58-A4fUhJh~{~akN*uI^M<6KIj^9pDrzDeSXHr(OyGO`e2OrgMI|y_Ru`M8#kK9uX@7?+{nu_;`gq4oZ8Jjy{I)b(7`rxT?-Xb)vM|K&hduPJ^M9V>`fN@Q^)8Nf zKp&CqBk%iixrahj&7ld@6QP}hfsU!=zh0M~Me_tLmh9D~1J1Ke8sUyd*9~}%bJ=*p z>V-`?VLYTSdhjVkaxAH6A9YcM->>DRuZrlS@7?kk2}d>3mrS_bYK=x8Z4`$7XbI7= zqQ60N2DPCPLK}#t4=oisaI|Zv&ggwm7^w4T3Q;l`NTA$MOcVVpSN`ktEs)ai#8`x?I;x<4grF`!wg=l@enplsH0fCl>HB(v(tx-jrrd0%r!GKNX zyL`K)l}Npy@kJXB31Q?W0@By(3?DUgv`?9z>GNrFlMEWV$q~dYlwpgXH1P>@b{e|4 zKd+BV=q4)=w@`+qeiFl9f}g~Y(Ea%3uf?s%(a`-o=c~M%Xhx{ri~EsGGRfI#=;C^Q zgwBtq6QPUi`4KvMJukviT^sM__i;VCMBc}J#<|ISY2IC2Ll^h5@^J}WI@Lcy7nkE) zy7hQnGwQAbKO5-MQ6HCdmg)*pAJ_cSg`_@?-8aY zam`nRF7Act?Im<^w({`&5& z7rN2mw2PY`QMz9qqxCxs;RofS!%LTboy06h=&nc09ifYBej;>n22#gRVfMjt+M=YuZv z(Ia0Tssp_}@cD=Q$Mxu<8JCZm?s9}Kj(n{S^*VHIi1Q91UQNhj#zs(XE^%g2!(v@`l_m%DD&v-_xy}10)b_$`3 zqdYWp`GNf!y142Up^KybqMg(5pTs;M;YrH@dvToe#%_p_acs|KaR4UrY5_ z3m4aXb8#&Xgf6anLFnR|UkF`X>mx!J*YZK=;(FZ(U0m}Ep^IxiA#`!Q4ur0s#Py@R z^uZ06UTsI*exwieT_5A{`?db)(;Pl7>2&r;A3|N(;qnXhCJZH=ZgGL0AEAqD{vdR5 zJ%4qGbm`Mwt{l<6>0?%|pOooZmmUpW9QmoCiz7b~>T&~@KIqOu{W0J9lW8UAPeT{S z_2EY+eIm*4M>(LK(kGrA*LKO(2h=z8m-@hu+YepoqdY#2dL-j^7uV4B|2VIPE{^lL z(7!#}zg{}>Ug^QZss>*(VDPx%1BQAJ$={_ z6UL3Gsu~jv7(d!MaE4boU;YKwBS#OZI-HIiIM|>3a5Q-2ki(;62VOg1$iVRf2aLad zO!Uy1hS4H$R*sKLLn9yENsdx7?l;R8n&wjs4&Fk4gh+mLwEWlBAL(2_aKT2}zSCl~j_-6e<}?$qW1wBUg8hmb_qW{f zU%#TI6jxlXtN*E8m?@fs|FHqNL)JGpXwhDtKQw8ue{R8sbu)Cp=nHxb@7upe?_L-5 zEvg*;>7wDihUWXXFltEl=+&ps@Pgrehh5nBf)PE=9X_mZyy1OwYxsh`1%1xFpzzJq z3%%EQJ%$b*T-Zd|&5`GZ-7o0Vw_mRd2j|X=u$&4HZ+KJp>d8C1hfh}M$7k$DZ<_pj z{G(>_mm0Z0uO%NnosXYv5I+9xEk2VmdOF`ash`eAPv<*i^S_FIqNnpql6>fA67{2}^UITb=w~wd=;{3H zNj}|A^mP7R@~i1TdO9B?4Rc?21O0^mAGYx46ufPr7Wq^>_wg8oTgcytkHDwl6A}-f zQF0SL8NV4{kDLEB!~eo>q0T>vACUXgIwcYh$8iAp=;?VYo#exDyp??PbUt1`L;c?5 zqo?!n`Wfm^Cm%hXACmMF>JK6xJ)Iw(NDpo>f2ee<%4kZaQC!`ZLK#Pv>hV z`B48Z^3l`zxDLbq&LZ!Aosh@Vbz=Wv+`Gv~Pv>L*Vcz~<_iHxw|C9Z?hkWDQcwr0U z-kZnMeKsph7Zim3x{rMHbUt3k()$%Xoo`3|`>7v2o$r$5)AggL^IfU`0QIA%^S!D6 zAo=L&d_U?xL_T^tAJ5a!|HI^?r}Go3KZktubp8(dpG!V^IzNm0kC2a^&Ob{1N6AM| z=O3s3W8|Z!^Gm2dk9_oWemV8$laHRxub}?pkDkuQ#{*$~E+8L0o!?0Ph2*2B^S>wgQ2$x-(bM@Y)PIhA z^mINx4hi)ak&m9vmq3sYg!%+W4^3l`z z>ePRUeDrjFhg{vTh3|Ju$j9$f!C%Jfhj4BSz7+3Xs71aEAAv8&N8zvF*W=cijyvwt zxcSAn`GgC?CkwvHxY6t7{^Iw+QprDr{A=W+r}JgWzfL}SI$xf=eMV2`!@P$r^kY7H zI$y0Y{lD|k)A_LO!3r?N>i@fb^mM*%Mm~BvAJ=EPpXlj)L+Zc5 z@rs_#HzvP=eDrj_8F`Oa^mM*OMm~Bv-zp;?J)Lipk&m9vx6Q~$Pv_fZHHZP`RM6dTc(bM@_)c=3|x$z7EpQtr=p$jAP}es##>={m9huwSdl zM^ESfoBdi%{o1+l!j`V@e!WZH{pys*({*D1VZYuZA3dG_Z}#hb>emiCmD|$w-LDVG zmoADI-Uo13rPZupT}lA3dF~p7ayye@s4lI`6!FLOyyrUz_@C z$VX4-&X8% z>*Rat{3q*VJ^8G8i0dKj*AL{Qr}rz)Pnfq2{Ii$;bT-<95sA={{rsVZVMOA3dG_ zZ}#hV>i;MEwTZm@)gzCm`;7gE{n|`EdOH8#?AIUE|4;U73wigeZ5~he8T$|W^(Xo0 z>HL4QUw={mKiRLXdGcW$o{`*Z%KfzuTXEi?-HM?QFNoh%a$g%gonK7-?Z`(@=L<^aisiO2pWkx4 zqNnpM$$v*adOF{MyvH|sIzNj1z{1Xo{u4c&f1Ug~`iY*-e@Xs(^3l`z9ZD6AALhsU z(bM_8$Xh>pIzN)U=U4P}esV@WdOANdBOg7TpPP}7p3c8dem(OUJ)QqG$%pgN=j)@V z^P7`=I3G)}o};JpJ-07DUO&)J^mKkgl22bBqNnrMCi&1$N&1PN&fiZz9^dHc{BrVM zKclDf8_0V-jGoTdPafc=ub}KZg7U)=%_wej@p#wZZ|Tr}NFr7WeZb^`ocr6Uf_7^mP6v^7a!woxd{q9u(Gt z^`ocrQ^;FCdOANQIY-j>=i4Xw@OWc;^3l`zQ|ZUo0Y*>fPuQur|DWhT zdOBYsc_1FvgZb#`d=>IPQ$Kn-KY;u%F# zH1i)lonJ~nUjL(~^L;87&%fXAqNnrslXrbaPv_Sr`LMrb=s$Wo|8E;2lCO=`P-9x_`~BHJ)JLGH5bfnA@BN$p3a|?3r+ZNNx-J>(2|()A>H+{rNO{ zIzOGf>pyxrKbO4o89kj}Mc(5TJ)JKRCNj6Bk8kvJzEVa$dOF{Q{BL~!ik{A2N#6dW zr}Gb!cYdO$^RH**qo?zm$=gr#bbgO;AxY-bexj%Ituyk`)A@nq?I(IVeiJs0^tC@d3qo?z&GxE{X`R*C{=;{2#jC}NT{^5*#^mKkH zd5>@Obbd`nK6*O8J|iDJo!^p?kDku&v0L%+vj6Dme8Y@<^mP7M@~*e&>3oMIA1;eK z@%s$16{-~nqDSSO-Me3h`SHipCmGL2X6?|ldk4rrK zeoa;KlgU@ZZ^U=TXX4fIhw)wTC-EA1spPqU@bG$9yi4NYVQWpiC%zj#6R(9ons~!p zo!#+8*9UzeelN<5A)`F_%OrECij!m z$Gt-0q0YY4ua4KlkIJaij=cSJ&B*soJj|#2H8SyVyj-7GX4JVh@z8&L`n)m2AI_-r zc;e}PR#C@()@RiDHKR_Ie_jPal_-cGy8Ju{SpC;so;!W|J@MidQ{9wFna^E!^ujY7t{1Ci#;-SwL zc%Q^WpY}5fKa~6>xcOOlOY-;PhvAiyds(6XR(O-dLqCV(EfWv@>pjWa&j`FVbw=Ul z@4$~BAAbih^wS29_eMhhN8<6^O!ptxK)U}klCMqA|6u$m>JP>3|0eus^3(CQ_?qPJ z>Ge<|xu2Zwr#gNNb!y`F(;7dP{89LE_@jx3`D}-;#69j6%IAW)EnMfTl5d%K=>K@U zO@_C{PaxkdqyDwzPb5D%!*5KyVXhzN=W+5UQRiv$C*zCAx5qc)r{J}A$_<#?!aQ`q zYvcCQ0Pje?F@7rEHSvbI`knAKrbct7&pGkgTzpZr9806q&p7hi-A#6QFb;e|Kqa{Cna%l_+!8+f@b%uoDY5dMFQ z3~!g=T{66P;$htL=;uN5uB%7!A>=>K@Jdxfw?+M%uaM6SvO&_;BiM$na9hJ%MzewKBX}hPTA4GH%<%!*Tcg>VjWDegHlKAA(e=+eepO@hqsdG8LnL1&5*O}-IsepcdP{d;|QGVw6a6REQxqt5HpxrY45)VUVlhF^#8 zklfD?<6e)~NIdj839p@an4igbUEKBGnEE%6Z%%#+-V*om+p&p-^TC3zoq`Yc!}h`dYFg%@Y0Egah>N{iHC9T zC*OoR58&<9znRA0mGVbsom2<8$yk5>LD#wV|YPw-#+x|b)!6PKQ$5$^Y6I(;$BahQOD~^d-AT6-sG#=XKuW(?VbDIygXhn z=f18xx&2m{pHDt|I-lHbDa=1kK6*M|J~WftLO)NCkDktl^&Pg5f0BIkbUyj^UYLK1 zeDriaxy%&ipC%tYosYi<5&C(CeDrj_b}kpTkY7N)cEH>g@&$O^@c(mL$S=&}>3sdd zbW#3U^3l`z@Hi%Hp?+oZ(bM_Hh3WsDkDksq%g9Gh=UZgtqo?z&GV;;W`8FB(=;?gh zjC}NTzFkH>dOCj+`RADb=;?fijC}NTzB74`Z}fEjjEsErbiP|gK6*OeGb0~8o$r&8 zkDksC$jC=e=Lcuxqo?yjGxE{X`4JiU=;{2ZjC}NT{*sJ*^mKk~Mm~BvKQ1F5J)NJJ zk&m9vU!ReWp3YCn$VX4-Z_3C=Pv@tTU&Q$sJ)OUUyysW+bbeMwK6*NTZ$>_PI{zT~ z=jlIsIzN~EV)D^Lz6?H({0n(Joqv-2i{zuH^9#toL_T^tzli)2^3l`z7s-2HD0;}3 zqs~(DFX!=e{#Eiz$wyD;SCC&uK6*O;Hu>e`qo?zAlYIE`)!&zl-Zc65_(%QZFEw(1 zzC!)z>HHZJq`ma+zdOBY%$%o^$h53x0 z&NoW(as8AH&E&S|F(17N{k%ax(PO@-O76L1>aQRlJ)Lh!{Wr-+Pv_fE-}#K5&bOuh zO6o^X=i4Xw^n6B7=SL&hy8qC3*uwsrkDksKhI9W3FDH7JapQUk{vICd1b-jT{oleZ_y@RkKE$o_ z5gyKyu!TAwz~Q|33%8%GxczLy?dNaYe*VGj z=U?1$3zFAn1asW&aL0|WEeUzYElIw1_{ZE9_O}%7JZz6QE=(8YOXKnS87{|V@bXDM zcv(E$Hw;_wa(MEzPoeLCC%1tMeaD>7+o|x&3-&4cqtMHfZ;0=NAB0!HkH9P9ZShL@ zsd#1lOuPyn->)_7Z&iFS`D*wmd}n+D9$zCAXcE2)`5W;X_$+)^`~f_^)+o@6_-^FC z!)xIi@ZIq(_#SwCJ#(0!J@HBba$ESLHeL&_gU81$;h*=yJCNTS?}o?U5f0-G!1p0P z0^b)OkJrPe;`Q-6@%`{Qcmw=#e1H5IydnNFegOU+-U$B$KM?-{Z;XG3AB6vi$KRn2 z^Z6Uzl>A?KGrWAbAmz63&j;i2_2j{u<2A@1g71m9zz@O?#Sg(-;;r$+@c8=k&`&Eo zzW+?{!|}7J6JN8JixixXA3^>?ybXRaek6Vc9$)(x>QBUvCVxBL7N3P5gWr!Ii_gW6 z!=J$0;mh#j@i*`j@OSVN@elBm@K5oR@vrdq`1klJ_)mBTd=uUg--@4#Z&xxLg`)M` z2`__p#&^O`!>i$4@O|;q@rL*rcoY0gyanDBZ;hXYAA@(pPsh*3&&Ips=ioi?fp|~+ z61*24f8QaTcfIk6noVJ|1t2Pry6kSL5CBiTEJ=8hjjnEj|^$4xfo%kI%s;;S2D|_%i$kd=)+g{~Vu+ z|B2s-mri~_3dd_2UKhU!KL~ffTI2SAB7QS<&cN-zFK+*r(G;}7EX@Q3i0_``S`d=7prJ{Lb3e*`}le-yt6e+(aw&%>wT z^YOd!$MMJTC-CR-C-FD%r|^&Pr}1_8Gx%oQ^S4TJ<0c&61>|evUVj?l3(2>_pT$qW zpTp0^7vb^u%R)cT<5!Yjj8DX0z$fD`;y2?j;rHN6@cH=5_zU<_{7rlrz6M{8Z^2)| zODDgN7UseARtF_+sk#I3&Jjc*ws+KE4NX@VD{pl6#xM-@$jsSK<5PtMNneck$!!_wdv3 z_wjS^5Afmmhxl0hBYZOcF&Mury2ZHJU-_V{4+d0#}WKK*ufq?(zsH;6>+wVJ zAMiH#2D}sgBYq~n5$}Qjg!jdN#s}fQ;KT4=@%S@KnCIW{>&X9(PsKOk@iADavl*X5 z{ttXUz6Fop<3gQ3@%TL=_+NND_k(Z6<2e|78y?Sv;D6(B?FIh_k8>XUUwpgdiHG0? z$=}0Y%i=K;e1F{Qe+xX$Nys0Imq`8|{0zJ#-W@N6_rbTv2jcO)B18S5cp35|@wks6 ze<@y${0;aH_|5o^_zb)}emA}o{s10-cR2L(2wsu=6L=;3S-dj-E?x!y60eH?gjd72 z;XC6yB+oB}^-~>>zvml#7kn@BHSqfQu6QH7Cf*F+4R49p!rS1xFnrei2?5zZBmGzY5|Pr>Wsv+@1#2k{2@qj^uov!r9f-%rFu9Tit#E%{?t!04|AXgq*A>I*>kC{V1r{foqKN}x~pM#Ia2jXM! z`2NzN&x`RZ$zOuU_rVDH_!vI)Ihp)reYOwq zv5fmQeg*yu?tQa=aPOP#7+!dr+d@CyH>-g^!S!t)+~+}>;NCYo0)K-#C*j^V8-riT zeoe#O-&wf*KZ4u;Qv53Fzm1Q>*Wlyvb@&8)Gk!H*vTETp7tZrUJif0;nEz|=-N|2z zH^#5STjST`@qNWZ{Ym&)il9I`REm((@2MvnKd`z8ZfP{~Uh~ z{{>%!|A9Y`|BWxkOC|4n6Z(GvkMF}1{6##z4^Qxy@V%(B1h0?3j5orU;s@i)@Z<31 z_{sPycqjZ-yes}1em?#>emVXIJ_TQa--*A8KZLKupT^(9m*8*XZ{hFYYw%V0_xNgj zGyX1KGW=p(ZVSivJ-ibBKE6Bt0p0-r5I+R}2ycsjjGu~sf_KN);Dd1IXB6%{jK|&I z8}U!6e;5849zSm)%$xJDko@Q5m*dXEYTSAF0$)p=KkzT`lF2WGgnqun55=9I_wP^n1dwPfeKOaAc z{L6R~{58BO{uUlzGZ5;(haXIS4c;7IhaZCfg}1=thq#C9-l2Hu*WpLuQ}LtmTk*E|o%k{My?A_WM(AfA zejNEFcsu-6{CIpNeggg;ej@$_9$ym@`uPn%nf#x4d;DMg6ny*Ip<2=U?|_%DUC4z$ zKX$}x;PJI6A-NCUiF^~hGkyeq8h$d~1wRu%9q)&qfnR{f*Txj&wy}6u@{{nh@Z0fj z_yhRa_>*{d{3W~xz7p?=e}ebI*WtbKP53!@i8=*^TR7kQ;1%({crCmiz8~HnZ;lVZ zkH*i%JKzKHv++UrKzuNM5q=&%4j+O~#m~oQ;zRK{_%M6{J{(_$Ux2T|N8q317vdZ6 zk@%nZMR@7GijVIoyed8#uZ@qv55RrA)Dpj#{BigtcxODmW-N5r3%`u~5d3odVtg!q z4SofFGkzsL8@~#lhmXS-;p6ew@Co?)_|^DV_(c3?{2Kgk{91g6y^D|Ub@(p$^>|%; z5`GXq8E;Uxxc&`zb9@SZ6h0O2jNgcN#i!vt@tg2|_|5oW{1*HI{8s#Od^$cAzYV_? zza5{6&%htX@4%nI@5GnlGx1gUUHE7CEc^%jZhQ+q8{dAP;^TV{UIo7wZ;aoEx5Dqo z+v5-5o$&|puJ}WEPyAuLKRyS)0H2GG#UH^Z;g90C|1<%pT;ZV&)~K21^9mWLcBTtEPgcp9NrOMgrAK+j}OEb;}_vC z;N$QY@u~Pr_)L5WJ_mmpUw|*gm*LCsRrqrJbNm&21O6)hC;l25)F#41MzoEf|SK8ldphR!K>j_@tSxwyf(fwzAqksws_rSa1d*Z$E+V}vx4n73m3m<{U-|-23 zj=|$+O$Hx}??asl_`dk{cs=|^ygoi1-w&UOH^A@3_s1W`8{+fu1MsKuM))H9Kzs?_ z7=IN%2w#ae!QaK3;veJ9@U?jS-K%h1zQvo9-+&*2|BAQ3x8R53|KKh0Qu~L|i|!l8 z-}wsve+Rr3`O5g=_}+MHd_VjM{6M@7elQ+?*DUmN7=9G_Bk`m0c6j{k)KI4@ehm4Z z__26D{5X6t9)I^O)V}~fp8R+`er9XPUx%Maeky(vek*=5eka}@zXv}Be+ch@&%-<7 zOYl?iSMg5xO1v}vE`A#R3El-?ho6pb!q31$Jic@Jut!DPjd(}=F1#~77w<*=g?Mj#Ierel z8t;Rz#rxtF4k+q(yWAh~cRz#dhW965A0L1pg`bO`f)B*I;e+sV@%THZp`VeszxOu< z_kD-%#C?B*hjHKE;2Hcp`uPAKf`5gdkN=Dh#s9{K;X5=6dslS6499oDFTm^K@w24E z*Ehj0B!2{Mz6(B*d~f_B{Cs>Aektzz#$1b!CVwkF2EP}-7@v>NC?EE;Xj_b5LjGg? zHuCH6JMqo$-9q}v3cgL^92jf@ax8dXP zyYTV&efR`?4t_O0AD@UngI|NM#IMCaNxVdEp8foqugPCW{ulD+mMc0&;lF>8zn*-V z#zmP>e=zyliHGAmiF`wRGTs8e0Y8TNe<#0_5=LxKehT?+_*8r#ej`2#pN3DsuV5WM zh2KQ}<;250#NV9>eXbyXGx?A4Tkv)Gt$5{wLbamn*mQi)#KX8-nVfb@WJN56xFT`i!*HGs!{ATjA@H-O^ecqkNL!aj7Qs3*|0(>@g zp2zROU&HUkSK{~KALIAq-{TM98*#5!f8h_3-?2$^zaGLX;a=Zr;SZCqlXzG^ zbMXBV5A!@XkB50Se-!l}A%7h8AH{p%kKrTmdH5xXhkoYg@z9U?Ym$7JpU27HLH#H2 z$MHjRUlX^bxSy}|4j!(nWs@&hlXw_+#~pL;ue4LqKYWAR&lc)DNk0{u7JXefF7{I! z_w%z_;!jcM9Q#xAA^B%s6Iv?ZK`3hf6 zegpn4z6pO1{|A2`FVnnmIttIP5AaHfhyDE!uaS5-?jPmxaNNx|qRz+U+vA_$T@nw6 zDa^y#&_HhMkFOy=6#o<-jemw;hFkw?{B!bC@U{3%{0sa6{7ZaZ;$e5b!WWPa{k&bW zaCZw{!@nl~0salXmiph~>k<#g>$^N2j+gmO)L%!w;EwOnxr)|G=N5{+2u*>YIO!`hSvNmEoV@f06$>@vy&J z@ePTG{oR(wLqF#Kr2gOJOSQ-ab6cqY4_-d;Q2*aN9_pK~ljIA(eN@c-W3n~Cx5Jw; zZhY^u@FlGnw2Ru4)`p_ z-7$}cam_zM{qp1&P=6=<`1BLb@I(K{0Mv(^6e52{nWraBp&+N zHIIjW%%4sDn&byie>Z$6_2YZ`yTeW{k`y|)ZaUghx+C}qJCZSUuO6Z_&(%+PdpsQeerFHhvQf;kB5HDmus1W+!oet zee%^35B1}FErwjJ#6$fCKR z4lgJb(gg*_<42G`9dCno!>!X7Ka%_q{3!e)JiZ5M=w~e6mi#sNG5C#%hxLCfetY6! z{U4Xd!|^iz81>tcUw|Kvzl5KFzn*yL=R|x};-R0D@_6XS{O8m^nf$lZZ;$WLDpw%4 zg>g^8_rg2i$KoCF_KC-J(l}WsJ@8Y>pNDtChvQ+L#5xz_oym{GPs1nSUGQ7*)A76T zGw=r!5A$;-J}>cbT)O7*a9qqUqyAasSK{695AgWjxw(=BYZDLsbSJ+q@z76?JRbTn zzlr)i$#0{6FTD2QxdOQ@jN2P;iJyZXm3UkaJ(Km&3GYL`7v2}|hllkL>zt4GBR>l7 zk6(cgz^}#6#iu16_IDsYBk?fLgYtNoXY=!@KbZVN{5*UKJ_LUw@zBrt`0B(%KST3) z=*Rq8>JKCT9rcIfJGRah$ZcWV3-G=15%_WVh4?9nhdxK<@zAIFK1n{TpNq&3$4B88 zC$_!xW=eldOvehGe8;$a>x#UDsK?AK*^JnWbGMby8X{4#tjz7oFz{~+HM6N(?3*%0}55%v=PsJzVT@#Pjhbg5B%N7j6uOUAg zzZSm?57&oS=W6^q@>B5Z@!Rl8_-uSKJ_o-6e=_kfKU45UiHGAdHIIkmV*VZK-$?#r zd>Z~0eiObS@zBrB`0t5_es0O*p&#?xwaGzl3&-nL@@3luEm{xL@rG>*xp1A_h98UH zj<-)du7?+s_0R*KL4E*!2R;nH6Ca6(brS1ej?W}N5x)zciqFDt$M44P!Dr)h@q6&6 z@O$ya_DZcXaW7EynBNFW_zQ7x7;BOZesZ68sMQW&AmODgJWe+vVB~>tt54-rmKR zk^dB5j(>~4g8zV9|9AXV@_*y6;icOa&1dNIb-W_}23`YSf!D#`#2er%@uv7&cq{yE z{22TlygeS~VM>{z{W%L?MZRz1C33OV_<4!f&H1}|JY28LUq=1+$WO#WKQAWz+>&@0 z_kHru;ve8kQgwb#>a4~;B>x5e5&kV6`iXTmB_8_un0)19a**4Ce}eCaufdPRKgGM_ zpWzqdpX0aSUT5yd*OGr3{{ml&e~JH%e}&gPws3a~_xEf35d0hbH2hn9IQ|_z1z(3h zf`5;%z}MsNCLXUR@pEdw!G9pX5#NCSf&Yka!^1j>^|wE+Xnw-D8_8F|f5Lacf5!L0 zf598!zv74Bzu|50-|^$|P57z!X8bI?@VqEnw4Vd;KgbVHJe(I>@G*(k&H0~sJX|-- zUq}7F$lr_?&VTZ~_8!LFO8#Yh8~zFYH~t&`4_>KV(SC>h`WHU{FQ`A@haqdCmz;q)jVE5=jJa?^5HsAjr>^Z z$IrUTMG9u%)ydz(xVz->Fs}J|j9Y{JB79eT8ROQ(-y|Q-uMXuxm$~nK_-^FC!fWB{ zaO?bn?@oSm;$a=`ftNn9aQMRSJA2|45)a3vb{-G&V}7?JACAi;UT2j2l0L zEOgR>eAurx$?I>A!S|+4d%P~*3Aau+d>`_C@qO`uiHCWshmXPQ<5wmg=54<`9_G#b z4UF4>{0w}5{9eXwh|eV-_P0_pZwv7Q$S=Vg;jiG+^V66*-;fV= zUJT*fwh=#w{9kwzyyQtmUl-~(#dl0RJ`VZ0C{|Ddw@w|r8Flu>L!YtEf%w7XTi_wz zI5d#kj!iuD*_?d)#KU?xB#(#nVE!!Xw;*VU z-KOOIe_r%Y}`z9Xtt2;g%kDnQuixf=4dy>DI`r*85oSfIQ@m}QT z;JxvAxOEod=a65Lc<8?m{yOi!#WvEeinWn{t)91!RIsX`FT8yYko2HhmwDd`or*ds6RZ9 zhx+EfrTzuvf5J!LTNw93yr4s_aBd6pIWmujan0|Pymt^e+Btl5)bvS#AlKZ^RqUY&qwjA$UlRR!(U1~)E|$(mU!rYLLLwOoBuS) zhyJf7|1CZd-;j71_ZocrjycF}!LP-4N<8#)T^57Mp}zTH)SpIv41N=S731EFU&pw&uj99qUyaYe*CZa+&mH*JiHG%bXC4pxYkmv$XOiFU z)LbyPh5C2lHohPEFh4z$`8*WAhx}3az4%GgzYp)6 zcClz`EB^Cc!|!r0=X?5m)G!J@YnH1_#5~!_zJu~{wDrN;^DkliLb!@ z{NnHMx5$@1Ep%UWe);?0)$q5;H^t4Lg!?`KXX5Wrr$4?5pMYC`7QUMNvI9_I{X>`i8{5q7EVv${8(o{+&V|&?(YEnXX@XCTmNp{`p@CkUyJ`j z{qkq!?|)a^`b}}`pMn2M{c*VcPsOeOGX5KN-bg&07r*1H6A$O_raT_bU-Lgwe>3@i z@IUY}-HPTXjJpM|n0OfX&paN+HD5c)hx6z!^84Xi@h12-{IJABKY!y#Cm#CwCy$4I z%y*#vzvR!r3o7TnDA~s0|JQNEwy( zC0?37f5h$cFWhm<^eEmh=dBvy?AtmhNX~yc%_O!*|B(B_8^z zjvttK=x3Ka9{MqV0`+To49Ir*4@%Zle)WpL) z?1A5wc$kMh^LXgT{Dai@I`AZ3n>x?pb?{}0hko|L-%LF8vv(d3{g_`vef#+iuS=aD z@qO?uiHCmn#S41pAh(5n>gDm!kNJv8e!HB<=bCbVEvSjtr%r8rKYahhOXR+`0p2w6 z(9iyPJoID!DC*zL_m`9LhSceVAAomHyhN^kBfMYYp`Qcuc<9IcSn4+>KLI}opPG1y zT%9KPZHb3*o96K_uK6dZ-;Df1{9t@(;w5r*n&T@H591z^$HTbhKcRkm&fjnG7S!2* zABz8xc!^y7miWJkhkg#rf9EJByJoIyP9uNJPA3=TZV_c56rOtT#82ldG#{0xKr_y zs52Y4&hz-mn`e)z| zQ2)$49_pK4K>e=dU&7DAU&p)Qs}m3Vdp7<_;$eTg=kd^w`E}IqLH>6<9Iu|auM69D z{gOX(fAl23L*k*IUU(Jqq0W?|FE7{|?@hiTehz*x-Un};co?@Yer)1l9{T0+Fc0QC zQNKU=?$jTE_oM!~c|6oNe-ZTuk{^o?!mq&x<2NQA_V+ye_Qb>f4$0%8AM+1T|9tX~ zQGY1Dl>8ms$9^@#-@%7b=e-R73?EMZ%MAYk_x-eg%J41t1=Qb`;oJAmO;~OV*S!(s z%Vl^K{6g~8Gki~cB>BBFe1H5R@&{&k3w#v$RvF$FA5FephIhorkUuTMyWTs{@#HsV_#gNL@>?^!*e5(v^i{H(4IJsR{_1(O9(TVsW%%Ft6zbFn7yjH9j{8)+Hhv?%Kkhs< z#ogcbxb?f>);|yTb9^qs9rtqFac{w`GY_|)1-SjZg@-!vJoyN>pD%Fx*@9cAN|^ZE zmOk%l;vTQoxOL9Jr*XV`;y2-gGW-JE&$*b2TmLrvX6oOY;dAj@$Ul?eFW|S5e>211 z!|nfPd^&Zu;Pzj#Wbtv)cf{?#dWP?T+ke9hZ-(3dDY*Tgj@xJN3?GQw|AiTTDQ^GQ zW%xAQ{vX9}WB#AUZ^vKC@YnDeK8Jjh3~!0g zCEqT?JK&FyKP$t}!5<|*EW=0RkC7jj;n(By$lspfv+?=lAIb2ia6b=dHSYE86Z~=N zf1BYOaj!GmGQ3pj;&t)_^($uhF8Gt=>t}dl{3-ISGyGWmY4RO2{7l^IVgC$2AAg4W zV>0|o-0R_#44;lKp#D7>J_q-FT$tf6;R~t1BE#RsJs-c!@b&n!)Zdihf8)=Q-?2>b zy3(uSi^%Vh;rrsxlW&&ct?o{aL>mJ@fWB+Hp3_4K7N>%;WKd0--j}M zKK>&8EXweu_-TAUeJjI1!2N#rO@{x7zeGP4aP7Y}|Zb{B`PFh+F4!-2Bz}8`PPOTW2NLfzb2x7P82lsZbiu6?-zOvVZ+-yzkEt^Xx6YNg`D^h{s51k% z&V9J~NANY&S&-o`;-8X#6L;JXaPyzzpHXLhhX0CxPX1rqamyvI=?e32zB0a+I(y;P zX^5L|hJQhwwzzfTYs^AF=DU#pk~;ly>kPxqkH){EPJB&Q7}q+}GV<}Y&>{adb>@<{ z&eOR0#rQYWS&3WcL)?7)J=f6Bx77KCymhwX=1cCBE0Ehlo$shqA;YWV>&Vx`9rqyI z{Gs^w)M=aHC*kYKpNTu}Ik@>j_z%>%1h>uv-27yG19fKN)_D*&KM((rIxpeYc>_1U z8sA8ruW;-9h@0Pp|3sbA$#azH^Q97Qz6Sm?b?W2x(*!r)690udC*syQ4L5%_{wsCP z!>w}>ZvJxoH|k8mt#dnWem4F)bsov^r|?bWm*9>YKZ83QFZ1y;rh{*$PW-Iow8zgH z4*m!E_!+gq9XEc~YC2!KVlJ55f^VTtIiyQ0E`=kC1oV_?ZjoeEiIU;Qvx5z6XAA z>%{kLPv_%%o(C_e68=-P#rOJ7dwj3#;MvY7;pNW^E&OqEcBXIMV;M-H@dfYnkJ&VG;nV(6%G3sa1_uyrz6MuI&T_^tTYC2ysS*yXzQKu^I{OpdK-v{4;I?ZwG zw871{!*`@krwl&}FHe2|?zqEo^JDOxs53spC*c*y$LD<0^Z#H*ejZ+tI?vlN@uI4DNl`S8?mC!p(n- zd!P234F3_2*Ql@_{=yx%RJHK0MUPv|m&d*Dx;t*2dbs%maqqhxfm`Qz+wrl z>kP)tkHA;6{>S0gnT(si1^2$|1GshO(s~1H^#m1dL(Y06LIsM@c6wrbbbzQo%3+>7vi6=PA1^inSz_2 zj(eZ>o(!LZf6BNEaK~MOn|~emKJ9xM{weN#*Y&vL{*Ig9hI`+2r|QM)$2z;<=J&+C z?|L9^okMZ+N8<4@Sm@+b+&bNG^L=pd(~iKca~W=a0`7g+TXE~$jhlZ6_rB{w+&VAg z=HI}*@45!J&bPSvjkxz||IG01b}3#D>saSiaL28Mo3D#|pZ35EKLq!_Yg^oL+vDcD z;NExbk6ULLZhkcGeb;Mn>rBJV&%nL!Iv2Oj)42J?xc6OG;@0^PH@_B-KjVZW{tIrM zt+@G;HHz1X_g$;v*4Z65zYp$x*XFo&+TiBf;of&W1Gi3Z-26cNH`f2fxOK+k<|pCa zr=6bRvvBXbK7u>$Gr0K|aPQN;p5d!-@6&#cJMQi z+;Mlq&F_u>#qnx}Tc z1h=17xcRoY_gzoJtqWSAuE5P-gL~igcHBDm;^yb#-ltuNTjyom{2RFU zY1iP^`4%_75%<39Ke% zUi^()r%bKzuSM4r^A&OLyVk<3voCJG5$=7<Fd{^=h;{KdI53fo7IozMGU&ePMzY_Q7qxW%tKKcUp z=bG>Fcn?1um)~(82X4c6r=K#rhp#GHS3Zuai2FFIChp^wz3@G#e*o^|je~I?Z?wVv z{@xDv`+Fzc>)~0r*Ta6e*RdhE*Rj#K*NrQ1uN&9no?kcNo?nmQdopj&;2$TikqF0W z30|B0>$vCFH@NkG#I3&tw|>DMVf3PPQipMO%2Nn#=Y(>#=Q=_j(Z(gg?s*f zmf_#xdvP3p%kZuE-sH>dSv0ZX@r+&(_qtIF_vf#=xaUjb3~zxS&ha`X!%xON?*`)W zxz4ah!|{FC-%D}lc|7iXPQjg@>A3TA5AHn7!S|(~<+%N?#KU@y=iNuR{eOYm{|4Ot zf5+|rU)=u7)DE*+blnKYEB3Qj?LsbmJxo3Js{!u$crb4NhvW9&4!8dfxc#4n+y6PZ z>+Le!`JaG0|Fd!Xe;Bv_<+%N?#O;4QZvVgH&i@{D3JSMy{?=#y_r>l1Al&{B#rLC5 zTf6~&5^n#eQ>!BR(JXg!`TDbGy6nFj)!=3*wxa+4oejxKX8aIChZvJk(F?Alo<7-jE%q+#5 zkY9l}#n8o}V_V5I>51JKTH+-271dXzGl@+v3x3>&(E9 zA^!|+{sr9p=lHSI`3^r0FR^d&d|GD*ydC-axcSDo`40H;)Hwq`0lxsZ&c*nN#i-ZhrgyijQvx zer~OfTcp3^$)+yM(c>c|o#eF?z4ct0=;pQ9QzMk_i+&ahL=1<0bJ?GiDb^7Dx z&&PegqyFAn{SMpKN0Ur|DEu& z@F93Nd?bE0ej{%FcHI2axcSAn`Oon9y9{B*zQudc&vpkC&!_WH4)^uF)iS&m?(22; z!(CTRar1}aAMkzuB-}b(aP!@9U#~j^x6UZs{8-%A>rTb3GXpn&5AN%ApTMp2JZ^p& z?(=}}06#VLnMLmT7cEepKBXP&Q z47bj0xX(M^jhkPDn_r6iJoOj2`R{S-mug%*&;6Ot^7sI}9)2!Z?FLBq&2HgDbxUYxb{-EOHVx5Y(`CV{d z4_^>xYf^k1&DX-sAA*}d0yp0kKfg-xJomelflr_jR-H;J(iDBm5HT ze2rg=O1`^^8eyH;X5=dUMCgsD)?pi?)c^SK6qukFdmZk1G!6Ilbu%;ke%$l!3EXj?$2}jH;hvAHaO-Tq$8!Guj(eW|i+i4y zX-v8}54Bio4!QA5y%o zTyGU{*UzrF>!%Lx`e}%}ewyK~pCfSB&vCfx=TzMF(-n99^u=92=i#oOQMl`8EbjWb z4tM=b!(Bf!ao5lNxa(&=?)q7XyMC79uAddS>*qV%_45<%`q_rNeoD0{URPePD&tTaH12xqfVBao5{un+KdV2|Xy{*JuZ|~!-x36&5+Yh+wt?Z%2>%{d|33t8K!d-85@hkW~+c?8p z;8&7A8h5>&h`Zjp;I6msxa(~o?s^-JyWTFtU2hZctLT3!?)te6A4mRP{Qp`%xa(&D z?)rHVcm2G9yM9*VK7RW=!@t8_ZzWn5ub&0{yu1VMb!Hdb^Knny^RXfBdTxfho;%{M z!!z+GbA86wIrqWGb6f`F6Y$aa)%X?oMEv>;zX^};kr-xj7Vf+~hJI$z>mZ#UxCk>8BJNd4^&D_%d>lP`yRz1;`*dUXKq_3BXE>(!CC z>*VANKMkKmpFMHc&j5Tf`3o}qV*Cd36Eb`+NaW_4X3(_4zg2 z>+`#~*XK33*XMP(*XN&cug}|Xug|4g6|XDTXGPrW&n~#vpS^Ie=M8Yz=fSww^TTnk z=f~q-&pYB?&%5DX&->tB&xdCCDBSD$Rk+vN>u|5P_v4&*GksOK{J}l^Om% z?t1#`gZv8d5^}oig|1WO+GHr^Fm-VaQ)~|`X9uCIW@qEzX_zdRlbUfVmzN4UM8-`nF zG`^O38;AS8N!R0E-)_adUfqTNP5%$$UauaRo;X58z^Ke*SEaz_>vZY6U6tw^29xYv_fxYv`qxa;Q#+~a#3?)&MTn&Dk>-yg3( z?(-?baPy;a-yiQ<+&VYm=I_9Lf4sT4b)Lq}FUEgl9lnKI=Of(w7x+f%{DNC&D{j8z zQN`=Q_s6S-TW1g4{J!|l^wS)-P8-~OJKXojI}^9gIk@>jxbKg5F>amlxcN!A*QJ@b zbsogMUd_XO|C5(+>%4)RUyXa+`waKG_bu*q?-$(b-k-SFy&aA&UMKch4flFj3-@|h z5BGX_AYOv&QXAZHPr%KeikGBLZ`?YAaq}baQq&obTjvJc{H^%*)Oi56&V1bbLfr2c zujAHv7x(+f8oVt1{D@oU58V8}csc4+Y@2_b?24POgYQ6{Cb<2y!p*n+KXly%m{o=T z{%ve*Z0r#W8^yrJK*2!lRulshY;45B#>U3R#zrx)v9YnSj(y~q*zbODzW=#@@8zuP zQaqo1`><#4HEZLr4@39$aWlHFkK59Hee6s3=RKJ2>*i5(UpG&t`?`4+-Pg@4>HfSU z>As$hru*xzcj(zU^Pi`q&5!iUd7S^CdwrXxTg&t4b!=w3*PnUlUVl2!z5Xmi_xiIE z-RnyfSW(ex|v z&(r_UuQ%wP4y64YUbkCoi=$=1&(>;Is(LH~TrhERJNca4?lKvt8eSHJn>%$Xt&#UL@ z?>2Vo_bcC|U(Mt80sR{K*Ys=YKhUqE|J6#Lx_irc@&O;$taPt$^Uyud7o~r~&NB4t zxj(D6($}GX%FZVA8`#;3?)9oS{YHFW`hVCzggzX9G~M&|V!GFptLQ%Ox3tplrr*TR z`v~3h;c5EK_*Yu#Z_{tVf7(j_hJGvl*H-#uJzCBmfBiE9-ScO5y64Y=t@Op|UOzk2 zy?(Av_xiaZ-RtLObg!Q~(7k@{PWSqGAl>Wd;dIZ>6X;$)PosOjUC>IuobL5=INj^# z2)ftLQFO1LPtd)7zD)P}`4-*l=l66!Uw)(e`7-rJE$5YeCc5X_ymZgEh3TGeom%N# z=$>!u(>>odp?kh`xGi|C$jSJFM-ZfT|8P4|3z zl3AGj7~+{&>F4LBEab+d_2DpC#y?4=d337kWqu)(mg?|3Uh! zbpKq(`RV?7wu{pJ{Ov^d^RWxv-+y0^?(dIpO!xQ4x1k@y{ojRtEPWrkpI-;j{r&D^ z=>GooNpwHIuA=++-$?(F-(R?^mHr^z?=SNV-LJE~Lf5}d|Cyin(^mR7bkCDt>HfS^ z^!)epXL`ElPkXvM9q67{OVT~BR-wDI4&C#u2i@~+8@fBa>7Ivu>7Iv&(cL+o?)iBt z-ShJTx;t0WJ#TNId*0qncjsZc=krr^&*xX^?tDY{JpYmI^=hWgTF#T~ocYiHY}1iG zKcA)raW9XhIr_wzi&Y^ogTuS$O zzlQGfejDBA_g=cs?^wEz|2Vpj=Vx>u&u{5Ip1;w3JSXqfaz6NY&P@05oQv+`xd`3I zb7{Jd=c;rc&vocNo;~S4p4-rUJP)D!cpgpn@jQj@<9RmS$MX`pkLT5NAJ1FqKA!i` zeLNqf`*=P>_wjs{?&J9m-N*AYx{v3#bRW;Qo41@NKA!F9qquI&*GgZ6?(5@nt@Kss zzHYA9O5d37^=ccs*Q;IVo)7!bJs%FDdp;aP_k1{s?)h*I-SgpMy63|+bkB#I>7Ebw z(mfv@rh7h&p?f}zrF%YnP4{{Kf&RzLEnnCDi~bPj$<$l4oL3LiXQMwtpO^k9eX&;h zvh=?j_ot54=%d+Lm;M;NXDfXhy64;O^vBuRm;MC(@K*Y9^e6GBx6;p}KZU=N?)iKJ z{b~H2t@H=zp8rqMpJC?(`WX7SR{D7Qv-odX=|9q+!?)S8<-D@Dr9Y3Ky_G&6-Ot~S z^r_m_S=FXZC;AKQuhB|hpFTA^o6%onXIr}0hd%U|@cYr*vVS=JW&Ck;uP2w%z5ZWA z_d0NUEB!wDSbpBe=w2V5rN4rIy_NnR{Z;(ut@Q8cui^h_rBAt4%X#%WerCF_Yje?k z{aTpr=i^dzKOa}7`}(pL-Osxo^f$Plo73NPDld%iu;N`H**^YT(F{Y|>h*T=2&ujpR?f1&&9jlb#sdSiyITh1%bhuP`l zc>EV?r7uDE{OQt4?@IT2zA4@FZEL#M!`H4qepK?E^-nQlO%-22I zHh*YM^w01e>9_N7tw+~yOkbRjYcIO~K)U`k`hU1T=h8o?UrG1l8cx@bpy%hU_gy?p z_v=e<(Y-$((%t`to}Et3kMqxT{a%XS2#rZS!4lR$f zekQtp3A%oH`nTNAP3b=G+tT&B()07y`Ew-Qo%88_9$iNFI(7ry$N6^pLp+|((*MiH z^$Okn@9FyA==wQ#YE z;q3fHcW3IITOPL?@e9%QOVHh4pZ)_M?WN z=Zo|w*m;Bg6Mj7XXZjcPU+6#3N3j1p{Z9JSyR;OAo#eKK}B(kG{PZl$kIKaF2+ zY|u*YNuPrKU0dmU)4l(L=zhGX)Acvg^>@*I9A2eQ$^CqXuK$Vd~c-RSMOpPSP4ed#`K{pqu?a|T_1K3#t|-N$Vd zeOC70r0YMR>;Iz9#?I7xv^;LJ(-)!Zm!|7Cq0hn2R`faP{pc_9`E>++F8qab{S|cm z!}Rv-JVl?IKA!H*7j%E!GWDJO`oj3Jt@Lqp@6XTlMcDa^z9@a} zy<47_#pnys7pE`XN?(!w6OYdpboY0lcVvIhR{8;S_s^g&!Or>gCF!@*_4m=2!avqZ zf0pk41p3nKOr+~)>)Z19FN2?#u3wqHEPgHea`Yap^v&s=@VmCs_ogq8Ke&~C6n!TC zJAEj91$KtfJJWAzrQc0o5&u{#{aN}-_}5$M@6l)D{{Kc_nVre^X?Y%3q0iV#pM%~7 zzi=ykDf+7Tm0Rg+(dXj+??hjXojvHQ)BCm3kD#xCKe?5D7JW_p&{p~|`n=r#N9b#@ z^E7>J`YWyUx9MH+pSRM#qpySit(89czAfj&g53Wm`nv3Nq_0Qs+)7`azCON3D}8f% zH~dbm^gZYcbN>g?H(=*<`iAriTj^KOyW?+ZrQc2Ofq$fx{xp4Y?*FIsjoA5yzA^om zR{G!cP4F}B*YdpE=b&$jZ)&A?q%Xz&-+s?A%S?hyF+_{b~BX_}5$M@6q?ef8I*} zj=moEf5rn_p7;IPnS*`+eM$Q7v;Xt&=I<-g^=r@%WM@PAKGU}B>_B(_Pp${}f&S8NEOE=Ue(g^tS!}`4}f}{BSV69sLmcQgnT1x_%3~eh0e#DEguN zyo2b6(XXH%PQRXh1pPs}&*PJH{R{K~?7T(apY!A^y8Bc1Z+V=LWM>At`-{`{%hC0l z()C-@^@q`q;{F^Ft_(&i^0le>DENeRE%=@uOcSsowGb=bM^+cE+<4mm@oVeW`kW)OQMQ9NBqb zrb+)e>2F<{|1moc{!7n}zH773PEW3@-J5%MHv5;J9euB6pPhB_+co#>c-^j^9ewX+ zpPjYX>D%11e@2{}7tK98etn>NcJvdPeRk$y zXJT{Dj$bFKo*n(93rVA8XHIt7<^t0=vg6l_s%J;vuGwd2R(9I6DkeDV&^%pGweM7FFiZ@uIvoMcW3A7f9cuL_hRQ#eBQf~BaicC|I)LgkIj+C z`2?>2Z70=#`XG8c`ib=R^pohF=$rF6ccGt*?@B*~-kp9by*GU@y)XSVdVl)q^a1oU z=tJncasP+X&%_U-pG6-|Kbt<9ehz&MeF%Ll{apGu`g!yT^v>;?|3~A8iS+aFe*RuS zug}w*Cl}KFJiUlspO5hu)BQXeO7Ft?dHKzn(sVegl0Z{YLs|`f&Of`c3q)^qcA9=(o_v z({H7JLBEYYfqpxEBK;2fqzhH!InVPxg5EZvapZ?P>Fwxu(c9DSrZ>^=p?9R;OYcO# zkKToTKfNn`B)vQR0eUa`gY@m_qv*Zq57GP5AEx)GKSCcsf0RCuKAJw5{uq4-{c-wG z`V;hF^e5@V=}*x|(4VG{q(4I+O&>!aLw}Y&p8hVcr(e*Y!%v_;PoGGCf!=0{NvCa_ z-25WFE&U~WJNnD?_VlszCi*M%j`UaQo#?O8yU<^!ccs5U?@oV{-i!VgeLMO%dT;vM z^uF|W=>6&M(g)DrqYtFNPajPGfIfu&A$=%)Jbf7bBl>Xq$Mg~OPv|4*pVG(DKjHiw zNB;~zp8g;D7xd5RZKiBFKi8W1pMTEZ+tR>6fxUhW;adEd3|?IQq}@ z@$_HlU(hGgC(wVTPo)1wZ!=ZP`SUxyE&UIAJNlpW_VmB#P4vI%9qDcOx_2k~Wb`id z$?09`Q_#E9r=<6yPetF3J~h2JeHwaSdRuyb`n2=`^y%mW>C@8((`TR$q0dMkN}q{7 zj6O4cIK3Tx1br6zNcybw(e&BqW9YNf$I|DZkE72?pFp3BK9Sy@-lq8rrg^=do8Fc_ z550*#FTEpuK6)qm{PZsL1?au#w{d;gj=mtiH@%78m%b3aKfMEe0DWQlK>8x|!SqGx z!{|?P|A*5T!;hdZP9I6{NFPmKfDf&42()984W$0hfm!(gjFGrt9??i7i zP0RIjd3sy=3iNjL&h+;573od%mFOMmE7LpCSD|;IccFKsuS)MuUya_2zB+w7`Wp1! z^fl>y>1)yZ)7PdCpm(JYp|3+9N?(^gjJ_UyIDLKkXnHsL82SeEvGfh;8< zLGMl9lHQlT6}>-wYx)5CHuQn?ZRvyQ+tG*6x2F%K??4|$-;q9?z7u@}eP{Ye`Y!a* z^j+y==)LJ<>ATU#(RZg$p!cCqr0+p*)BJnNIY0NLx25kzZ=&x_??~@U??m5+-i5v| zy%&8RzP`F0eLs9}`u_C3^aJPv>8r6nn0_FB2)!SDD7`;@1pOfTNczF_(ey*;W9Wy{ z$I=g@kE0(>A5TAm{snyiz0Gtj*QKsJK5gko;@i=WqPM3XP47hS&3+g9G5D_ZW9i-L z$I*MykEd@(A4u;_KY`wtK8W6*ej<$(g)Lr(NCifr=LzA zK|g~&l71$AH2p0482Z`tvGjB3 za=r~^zdij{d=vdPdPn;0^iK3U=w0X|=w0b|(!0~|qW7j>!~O3|zZ>75eh+;B{a*SI z`bhSN((l6$qu);-P9I4hL4SZglKvolG<_6(4E-Vcc>3eq|1and<0sG`p--egN^dt~ z%lWf3`|atY@lEu{=pE^g)4S3;u-~2j1ilyjN&0s5r|A9ZPtym`pP>(=kD(8yKT97% ze~vzs{ycpI-S^#%r2D?R(RAN0H-_%}>&DW3U)(sl@1q+}_x*2Q(0#w$1iJ5Yn@IP4 zac!D^&mzB`_x)^b>AwH19o_e>wWs?&we_C?)$YS(0!lPM7r7Ung9h{vlt_*`K~Pzs`J;egOS>`epRj=ojhbOzhUbsPYEwPloul#mwq%>?@$Q^}=a&O*s>i!?Dt?Z}ZFN+Scjqkp zoP`@dR*!e*eEeMa>hbPef^Uzn9`DXo__^`bhTLzZ2b5ke&K)V@$P(%UldhbQ(jb931J>H##@Jr*X$Gfv6ei?lA zcy~JCm&I3)cV}h%a`@`;?yQ0Dgs&d&&bs*J@zvwq>5g9kUp?NPp7_rA>hbPui(e66 zJ>H!i@rUvGSUujI!|`jdUp?MmUmcHM6JI^vox%9E@YUnpIUBz=zIwbn7vsC)tH--@ z6@DFj_4uyz8}aM?OOJQw4*dG~>hbQ>@7L$^y&JxIygQGvzX85_ygSd~H^f(ucjq;H zcYO7DcizSKz*moV=TrPf`0DZQe2d>0Up?NPpYfaEtH-}xtndTpq=c^~a zdb~UB@SEYQ$GbB(z8AiFygME6o8zm;yR#I23w-r>cRJ&@#8;1ZXAS&T`0DZQbi+4) zYmQ0(R`qyydg7bE^~5A!J>H#d@y*}*V3MyM@6N9H?Iy{8{#HHSoqB&o&WGkdqJGl9 zP(9wAgV=BWBh@GQ>hbOzh2L?K{O51g&Kvl{`Sn2ccz5c3GI@RvV843&{`8;OKk#3A zygPs6`{Ap{yE9GOe^BnvLHO$N?#zro7+*c!ow@Lb;;YBI(}X_^Up?NP#qfvYtH-;u z9R3J=^>}wy!4JS!k9TK1{E_(T@$U4%ABC?T@6KlUqw&?_-Psy{48D52J3Hc!#aEAa zXE*$D`0DZQ?2SJjUp?NP1Mma!)#Kec1b+g)di+58k@!LX(&ODZ8GjG@$P(tKL=ku-ks0!L-5t(-T4-OF1~ua zJ3rvh!&i@Y=U4ps`0DZQ{Efc=Up?NPshVFy^Z9ZizIwbn)8j9~SC4mRcKpTo>hbQ( zj~|M!9`DYg_)GBB&(W9`8;+_OHcPk9ViOMwI>Q@YUnp zIhy_J@zvwqIRSqIzIwbnr{ZtKSC4n+eEe{H^>}x##NULk9`DZe_?z+7&tzIwbn@8j>pSC4n+6Z~EH z>hbP;iN70PJ>H$~@b}=W$Gh_r{$70bcz1rs--oXr@6Ke?{e$xPct5^+ygSq2N8+o; zyE7yH0etm%cV@#sh_4>+&fNG>`0DZQbihA^uO9DCNBqP1>hbO@kADPTJ>H#_@JBR1 zclp<<$Gg)D|5RY}Q9b_2ij5z)$3OiqJ>H#N@z3C^$Gg)9KY;sRJ>H$;@Gr1mJ^p$6 zsrVQFrN_H-7XBrC^>}yA#UIK2uO9Ett@zj3uO9yz{a*YV|I*{#c^LmDzIwbnPvOVm ztH-}yQz`uj99`DZk_;>Nu}x-#D9se9`DXh_^36dK^S|_Xckajkg0CL$&M18SH%R`q>hbQpiT@+8`KTWMd&S0&AL9S~ zmmcrVXZXMH)#Kgy5`PSjfAx5GrkvrQ(LDZBO!m(|=kL|yeV^fs_$l$#hbPujGqZ#J>H!y@iXJA$Gfv5 zz8$`LygPmHv*4@8yR$d`I3EA%@$L-5&&7WAc;9z=2EIMMdb~U5H#qb84j`*eU)#Kfn1-~@Ddb~Sx4jg3{p#_)-+O!f%J}N> z?(B+R1z$bhoj&+MoIlm$-8l}w2K&|HeP8;i_%-p>GAH2!gs@0k9X%${7KyZ>hbQpgWrh#>hZqM{}cSi`0DZQe2L!# zUp?NPZ}BH{|EtHl({`ptXdJnoY{7o@c>n(hv*5SHSC4mRZv58x>hbO@gx>~VJ>H!q z@Z007$GfvUeg}N@cz0IC?}V=&@6I~-o$=M<-RXhf1z$bhoh|UY;;YBIvje_2zIwbn zyW@AmSC4mRU;OU)>hbRM$M?Zkk9X%t{2ut~@$MXt-xFUw-krhtz3|oJ-5G-48(%%% zo%;W;<@2jAzIwbnSF^tlzIwbnH{$ojSC4mR1b#n!^>}w4!0(T*9`DZM_yh3OHn*ILx>hbP;%Kkz4>hbP;g+CZyJ>H!k@Q2{5$Gh_f z{!o1Ncz33nxe*#iKHkId)#Kfn9)CE#db~Tc;E%vpk9TJ-`~ZCQcz5QH#5 z@PqNyhbQpgFhEvJ>H#<@#o>I$Gh_-{(OA(cz3?TUx2S3@6J#73-Q(C z-T57V5x#o7J5#o6gvOEAmy7Y$hbPuh`$P7J>H$o@Wb%cJ{(ygR$$ zufbQ3cV}PxwfO4s?i`B04qrXqoulyANl+^>}wK z!QX_h9`DZ8_?z+7rCj;|i?&I|ZE@YUnp zc>_NJUp?NP5Ab*5tH-}x_#ovvu9`DW%__3XH9`DYE_|f?4@$U4(KZdU!@6I;($MMzU z-PslY1ipH_JA31w#8;1Zr$7EFeD!#Dj>JEWuO9Et3HWF5)#Kec4L=57J>H%3@Xz9_ z$GdYG{yBX0cz3SGKaZ~-@6OHm7x2~N-5G&@5nnytod@tQ;j72H^BDeReD!#Dp2LsD zSC4n+4g4$k>hbQpi+>egJ>H#<@UP*k$Gh`6{&jrycz3?Vzk#nF@6HeSH}Tcu-T4*& z7QTACJAdQH;j72HGu5n(&^U5Ed>daq-ks_3@8GM)yE6;^U3~R;cjm&shp!&*&iwfI z@zvwq>4^UTUp?NP&iD`U)#Ke+6+a$dJ>H$Q@gL!<$Gg)F|1rLLygM7?KfzazcV~0_ zr}*me?re+y3|~Foot^Rj!B>xWrw{&feD!#D_Q8LFuO9DCKm3>Y>hbOzhW`p*J>H$8 z@n7Ss$GdY1{u_Mtcz4dle~Ygk@6N^e|Kh91yK@EpJACzccdo@xz*moV=O+CB@YUnp zxdZ<_zIwbn_u_xRSC4mR6#hqi^>}w4!~cY@9`DXG_@D9B&W!j;-wd#EdyeYy?#zatZ1PET(%-7byE7kta(wl8cRJvwz*moVX9@h2 z`0DZQEQg;8Up?NPF8HbO)#Kgiik}8wJ>H!j__p}!@$PJapB7&|-klxs)8VVfyVD0h z1HO8^JNx5j#8;1Z=P>-t`0DZQ9EWd*uO9EtN%&dt)#Kec3qLEqdb~U5<7dNHk9X&C z{OtJZ@$OuQp95b#-ksa}ycdtb)Shp!&*&X+u%^W&?>yHnpwG5ZVPtH--j-_tOD zL45UicP5*?5gJE)6TW)9JJaA7!dH)XryafnzIwbn?ePoatH-;u5PlJS^>}xd#4n1k z9`DWy_{H$me#?hhiS66)Xcz0&PuY<21@6KHKb@A2X z-D$$Fhp!&*PDlLu`0DZQbi#MTSC4mRRs06{>hbQZi{B7mJ>H$}`0n`X@$U4*_rO<= zcV}DtM)>OS?)1iQjISQ=&R+OU@YUnp>4)DGUp?NPBk(=()#Kec9={pBdb~S>@xAcX z7Acjp@XmiX%N?%a&u3ST|moxAZ{AzIwbnPvE!3 zSC4n+1^jmS>hbQpir*ezJ>H#h_#N=o}xt#rMWnk9TKQ{BHQ_@$Srv-yL5)-kpWhbPuf!_yTJ>H!i@cZJc$Gg)9 zzaPGOygU2g_s3U{cc&lz0DSd$cLv}O#8;1ZXCS^GzIwbngYo_G)#Kec7k?1Gdb~TA z;t$4Gk9X%<{2}=2@$TG&KNMd*-km$}hvBQoyK^u8aD4T6cOJnXfv+C#&eQk-`0DZQ zyo5gzUp?NPx9~^dtH-}ywgFgmeJ>H%F;*Z5wk9X&1{Bii|@$USEKOSE_ z-kquDYJ|qoq4C#1eD!#DX2PFhbQ(k3SJ#J>H##@h9P{$Gfu({$zah zcz0IDpMtL*@6HhbOzh(8NoJ>H$e@n_?!$GdYJ{v3Sucy~_055ZTDcjs*Ux%lew?p%yN4_`groh$I? zhbP8ioY0NJ>H#X@I&#{`0DZQEQ7xuUp?NPmGL*=tH-;u z7XC(j^>}x>v`$Gg)Le-plXygS?CZ^l=Tcc(Z07JT)1clN>Gimx8;&LQ~Q@YUnp zITC+6zIwbngYb9YtH--@27Uy-db~Rq;P1p&k9X&C{9X9!@$OuQzZ+jY-kn?V_u#9? zyK^u8UVQa^SeD!#DrpG^uuO9EtZ1~am>hbQ(i+>DX zJ>H!~@sH!H$GfvE{t0~bcz0I8KZ&m%?@m|zQ~2uf?)1PvjjtZ>&Sv;$@YUnp*&aUz zUp?NP-SN-jtH-;uFa9}v^>}v<#y^j*9`DZ4_!sciCz}Up?NPyYa8#tH-}w4#lL~C9`DZ6 z_&4#@^#Q(mygSq4Kg3s$cV}k&czpGEciQ7W!dH)XrwRWtzIwbn zi{n4RSC4n66aG_t^>}wy$A5;e9`DXN`2XOm$Gfv3{&Rfwcy~6%e}S(a@6ML^FY(pm z-Ps=h6~21BJGf^W>hbOzi=Tk6 z9`DYH`2XRn$GdYj{(F4&cy}(q|A4O^@6J{DAMw@W-MJqB6TW)9JGbC}##fJb=T7`D z`0DZQ+>f7#uO9Et!}wqE)#KfH0{x zf8ndgyYmtLZ+!K5cRt6rnWAxH^HDwCo$v9J;j72H^Cy0CeD!#DrkFPa|GeH!fv+C# z&b0U`@zvwqnFT);zIwbnbK|GRSC4mRLHsoM>hbO@if@ar9`DXl_-XOg1cV|uf4EXBt?reyk5nnytonH8v@YUnp*&aVLzIwbnyW!j6tH-;uH+~j; z^>}v}w4z|V)T9`DYh`1$eGaeD!#D{)=B2Up?NPU-66JtH-}xt zny(QWM~B8=i{Y!syE8q0aeVc7cV@wN#8;1ZXD<8_`0DZQ%#U9ZUp?NPh4D+_tH-;u z1b%6J^>}xd!!Luc9`DXd_+|0cH$e@T=gf$GdYhz6-v3ygMi0SH)M4 zcjr|6YWV8$?wo~R9bY}(o%8W);H$^Ga|wP;eD!#DuEMW{uO9Et_4u{%)#Ke6f$xg1 z9`DX5{5tsR@$Ni^Ul(6J-koRg>*1@%yYn)BeSGzJcizHx!&i@Y=Y9MJ`0DZQe1hK) zUp?NPFY(>+)#Kgy4&MV`J>H$4@EhT)$Gh`8eq(&~cz33nzY!WoULQBXSC4mRCj6%O z>hbQ(h3|>49`DYA_|5Ruch4D!GUp?NP&G6gctH-;uEq+^k^>}x7#&3tO9`DXx`0er4?%Ecy}Jg?}4u#@6MC>J@M7!-FX?m7ruJDJ8$6k##fJb=UseXeD!#D zKEm&VuO9Et=lFf`)#Kgy7QY|9db~S7;P=N@k9X%+`~mpt@$USMKM-F%-kqryXoSX* z*Q0*;>hbPOkMEDK9`DX9_=E7(}wS#vh5V9`DZP_@nUEA>&ygNJNkHJ@u zcc%~jSbX((clN;_hp!&*PCxwd`0DZQ9EKl=uO9Et(fAYa)#Kec1wRO1J>H#j@h9S| z$GdYe{v>?$cz3SApNy{_@6Pr3Q}ET}-MI~aD!zKWJ9py;t%I zuO9EtQ}{FR)#KfH9)Bjjdb~TY;LpNWk9X%?{Mq>G@$P(zKL=ku-koppL-5t(-T4WB zF1~uaJHO-4!&i@YXR-wwp>gE(>wJ9mcz345Ux2S3@6N3F3-Q(C-I*JI5x#o7I}743 z##fJbXHoo6eD!#Dmcd_wuO9DCXZ)r3>hbQZfxir2J>H#e_{;It}yA zz+aEA9`DWt_#5!mf1NjISQ=&bCdB&^Y2B!B>xWr*~5$G>-U3@zvwq*}JI` z8b|zSeD!#D`ZqN~hbPe)YJ%#BmQZ8^>}wKZ)$|b5&sOndb~T=G&Mrwh#!Nm9`DZZ zrbcKS@z3I`$GdZTQzJBv_~-D|)Ci3u{snyXcy~rOHA3Tv ze-U3j-kqnL8liE-zl5(I@6HQNjnFvaU&dFDcjt|!Mra)IWAWAF-T9!Y5gJGQEBNa1 z?);~z5gJGQtN7~i?tItO2#q8DHGK7WcP2J9LgR>k9bY}(oyiu8{>Q(8uO9Etboe*% z)#Kfn4gVItdb~UH;m6^t$GfvA{%w5qcz2e?zk{zH@6O8jck$KZ-B}C&9=>|KI~(BN z$5)ScXEXc<`0DZQY={34Up?NP-uUtO>hbRM#eama9`8-ksy| zpW>^>yE7R78NPbFJ45jQ!B>xWXDI%2eD!#DuEu|XuO9EtjrcF|)#Ke6f&U6$J>H#> z_^hbPOy6`tzuKz#ctH--DZD8Zb4?p3n$GbBt{%3skcz5Q(|AMa` z?@kB&M11vlcb3Heimx8;&I)`*uSC4n6JN{36^>}xB;s3%{ zk9TJq{NMQM@$T%3Z!=}%#^$4XygPg1C&O2dcV|ERH!g@YCX}$GdX}emZ>hcy~tPr^i>1 zcjqzu4EXBt?mUB^5nnytotN=5;j72HGY&s9zIwbnAK}~KtH-}ywho2Q+ zJ>H$)@U!8o$GbDd!i~^4@~_Q~uO9EtO!ztQ)#Kfn9X}_&db~UH;OD|uk9VgD-yUB* z-krtpbK|SWyR$TY9(?t9cUHj9i?1H}xB;hXT)hbQJkMD@D9`DX2_$Bbw+%cjqqr()jA}?mUQJ z246kiohR_i;;YBI^8$W3eD!#DUdMOBSC4n+J^b?c>hbP;ieCX=J>H#f@tyJ2}w?z^{U@9`DW^_%8VB@$SrvUlm_H-knA8 ztKqB1yR$TYb$s=BcUHu&fv+C#&KmeN@zvwq>4skmUp?NPp7^!#)#KgS2HzE5J>H$( z_;v8rH!g@f+c*$GdYIeq(&~cz5o@Z-TEL@6IFmP4U&^-FX_{6JI^v zotN;N;j72H^A^4rzIwbn}ywhu;!kJ>H$)@LS=l$GbDdqK(iv zay{P~Up?NPY4O|OtH--D3w~RC^>}yY!EcAJ9`DY=`0er4$s##fJbrx$(~eD!#Dw!!a;uO9EtPWayV>hbREj^7PmJ>H$Z_}%f< zH$G@%!Pc$GdYget&%Rcz5o?AAqkO@6Lnx1M$`4-FY0}4_`gro#*lW z@zvwqc^!WczIwbn@8J)|SC4n+GyEa=>hbRU7k?EhCdo#JvY0v9R3)5_1x@E z7yPmK>bcpSuK45d)pN5u-SNlctLJ8Sdf^A+tLJ8Sw!@!*ub!LT*$qDkUp+Uwvp4=k zeD&Py&H?z7@YQp(JBQ;>##hhH?i`0d1z$ZkyK@TuRDAW^?9SQv!T9RA*`15=r{SyT zW_O0+Psdl!&F&1xpMkHQo87q!ebcpSZ}I2jtLJ8Se!yRVub!LT`4xX5zItwU=WqN) z`0BaYowkcNLgUEw|6+Xgcz4?2hvKWpyVD+j3BG!~J5BgY@zvwqSpt6hbQZhrbeEJ>H#7@K@oh$GfvNei*)bygNJMuf|u8cc%~j8hrJ5clO6$ zi?1H<&SCiL@YUnpISzk4zIwbnC*yCxSC4n+Z2XP*>hbPej317#9`DXI_?z(6$Gh_Z{%(Brcy~U<--E9n@6K2Fd-2ud-T483AHI6LJAdHs$5)Sc zXR3~k&^YpXF%n-r-kq8758$iEyE7;LL45UicNV~p!dH)XXL0;P`0DZQEQ5a-Up?NP zmGO_@tH-;uHvUn3^>}x>;YZ`E$Gfu${xN*@cz3qKKaQ^+@6OKnC-Bwd-PsHOB))pQ zI|t&Q!dH)X=WzVf`0DZQ9EX1fUp?NPQ}AQ()#Kec2mdU-db~Rq;-AA;k9X&C{PXzg z@$OuQe*s@T-kqEAFXF4myK^`GC4BXGcOJmMjISQ=&ZGFT`0DZQjKRNxuO9EtSp2K_ z>hbQ3!@q{F9`DY0{OkDY@$P(ye*<4V-ktC9Z{n-RyYn0VEqwKOccxgP5gJFX|Ksr0 zb}xB;y=Pyk9TKV{Kxp}@$T%7{{&w>-krYqPw~~`-8m5d8NPbFJBQ-` zgRdU%&QbW!@zvwq8HoP^Up?NPQ}AEntH--@CjKjY^>}yA!+(vh9`DXj{5SaO@$OuS z{}x|8-kt04|HW62cjspOclhe@?%a)^fUh3!&O`YB;j72H^CbRzeD!#DUcmo=uO9Et z>-Zn>)#KfHAO91+db~UT!T*e}9`DX~_+RkV?@pT~8=-OJ_2O52^>}yM z;(x}x7z)y*<9`DZX_^I&Kc`cjriaTYU9+cLw37#aEAa=XCsZ`0DZQoQIztUp?NPOYt+{tH--@Eq+FP^>}w~ z#m|JV9`DXQ_?hw5S@6~4-FXf_E53TXJFnnp!&i@Y=Pmr~`0DZQ zjK|M`uO9Et7x+2x)#KfnfS(IrJ>H#(`1bhf@$R%)su3DTuK#o6tH--DEq)$+^>}w? z#?Ond9`8}x7#4m!c9`DX>_(k#6hbPej9&&{J>H#R_+|0c`)#Kgy6u&aQ zdb~Sd;a9;|k9X&Ld>4H6cz1rsuZpi8@6HrUH$vmc>&0sL>hbPOk6#^MJ>H$!@N3|! z$GbBheocJ!cy~JB*TPqicc&wMZG823cb3I>#aEAaXGQ!v`0DZQtcG6~Up?NPuK4xv z)#KgifnOhAJ>H!y@ZIp$hbP;i{BPsJ>H$4 z@Y~_5$Gh_vetUfNcz4<^(+G_t*Z&>x)#Kfn1-~P{db~Sx<9EVWk9Vg7erJ63cz2e< z?}D!$?@nj@uK4Ql?yQ0DjjtZ>PB;8+`0DZQY>M9@6I56Uwrj=ch11?gRdU%&iVL#@zvwqxg5VAzIwbn z*W>rcSC4n+Hv9qj>hbQ}hd&TsJ>H#1@%`}C zcRs)$g0CL$&gb|;@zvwq`3`>=zIwbn6Y+=RtH-<3X4yt)9J$^efv+C#&eZq;`0DZQ z%z!@hbREgg+TyJ>H$&@u%Rc z$GfvH{#1PRcz62a2ji>9yK^}HG<@}VcaFiIj;|i?&LI35`0DZQ491^{uO9Et+4!^Y z)#Kf{2!A%ddb~SV;m^TWk9TJ{eh9vLygRq!&&5}dcjq4bdHCw_?mUP;A74G*ozeIU z@YUnpc^ZEqzIwbnFX1o3SC4n+E&Rp!>hbP;h#!it9`DZQ_)GBBNP5uO9Etdid+`)#KgS7=Jy!db~SZ;cviKk9TKh{EhhP@$T$} zAC9jc?@mAbP5A2Z?i_)?8DBl#o#XMh;H$^Gb1ME;eD!#D&c@${uO9Et#rWIt)#Ke6 zhQ9+}J>H$0@FVcm)#Kgy1^)oPdb~S-;~&IVk9VhSr$%TTxt@>0SC4mR z7W_l_>hbQ(jei(lJ>H##@Q>iD$Gfux{!x7Ocz0I7kH%MzcV{*HWBBUv?yQG@9A7=& zosIEN;H$^GvlaeHeD!#DcE&%2uO9EtUihc+)#Kec5dRFmdb~SF;K$&r$GdYp{#ktW zcy|WlpTk#=cjsLE^Z4rV?p%t00bf1doon$g;;YBIa|`|@eD!#D?!v!}uO9EtNc>oQ z^>}w4!@q*B9`DYx_*e1OhbQZiT@B^J>H!S@Z<5-mtFuO9EtVEh;O>hbQJi~kZ|J>H#5@L%Dp$GdYC z{%d^ocz15Ze}k_c@6K)bZ}HXR-MJ6{Uwrj=cOJoihp!&*&NKK4`0DZQjK%*CUp?NP zarp1?)#Ke6kN*K*J>H!!@jv3L$Gh`A{wI9(cz1ro|BSC5@6Hq}G(zLZ_4yZk^>}w? zz)!?ik9TKw{IB@x@$Srz{|#R~-krtpzvHXNyR#hr4}A4_cUHpxiLV~-&Kmf?@YUnp z>4yIsUp?NPp7=IXH*Rb`s>i#tEq*e5^>}x7#ZQi}9`DZH_$lz!xW=Nx=neD!#DF2+xbuO9EtF#L4*>hbOj$4`&19`DZW z_!;ok}x_$IpSU9`DXX{G9me@$USEp9^0--km8sH$vmc>qUEf^>}w? z#Ltbd9`DYa_<8WvH!?@eAXt$GdX?ei3~2cy|uNFN&`o@6K`f#qibR z-8mJ%IKFzkJ45gt@zvwqxdguizIwbn*Wj1LSC4n+7W`89>hbQ}jb9pHJ>H#%@XO$< z$Gh_sep!6=cz0gJFNd!l@6Ma}PWbBa?tF+}9$!7)ozL+r;H$^G^Bul3zIwbnzu;HI zSC4n+FZ@dQ>hbPOvtlDOj$EHt##fJbXJ-5=`0DZQ%!TiQuO9Etg7{VO)#Kgih+hp~ zJ>H#8_|@^%PEUMSeD!#Dw!*K2 zuO9EtPWW~4)#KgS6Tcq5db~Ra;@8Jlk9X%#d^ddccz2G%Z-B2J@6JH{hWP67?wo?} zj;|i?&YAcg`0DZQoQK~CUp?NPOYs}ytH--D48IA!db~R~;5Wrrk9X%*d{2D!cz5o? zZ-%cP@6JekFMRcQcOJoSj;|i?&eQlU@YUnpc^SVYzIwbn}wa z#czYJ9`DXq_-*mksjk9TKg z{7(4l@$Srp-x*&$-kk;UyWp$GyR$fcSA6w&cRJyFH#O_&xB|hbPeg+BmaJ>H!g@dx6o$GdX}z8}7NygT>f`{S#} zyYmSCAbjr?jISQ=&RF~*`0DZQyp2B;Up?NPkMM`#tH-}xFz#oCH z9`DZY_yPFp@$O8yaw9a3T%V7`SC4mRM*LCu>hbQ(i9Z@&J>H!K@yFn+$GfvQ{#bnV zcz2e=ABV3V?@kx|@%ZZT?yQ3!h_4>+P7nME`0DZQY>pp1gYnhl-8l^@6NmU z^YGQ<-T4H6KE8UqJKx|hz*moV=V$zd`0DZQ{Efc|Up?NPX;*24#*ypu#rW#+?#zlG zimx8;&b;_b@YUnpSp}yIz+Zu{9`8;!{FV6X@$U4* zUxlw8@6NXPVfgCt?(B@e8ecu$oxSka;H$^G(+__wzIwbn1Mt`3tH--@0{(h@^>}wq z#ovIh9`DW&{EhhP@$OuLAC9jc@6I*&oAA}+-MIySGroHK|3}@Mz{ge9@Beo)Stcu4 zy0=2wlv1EelBR761+p)Y%_L1*K!+@oc4(S}ETu(+mQr@vcTo@&Q9%(Ea6v(lMNtt@ za6thPapMbu2&nM?Jm;Lxoo6N!;OE!h|Nr{WtG#p2bKmzl=bn4Ed+yC0_PK-jFA%Rf zc=q`w@wXDMI(YWEpZME|R~I zuR3`4d5QQth*upv`@By4SBO^~Jo~&&{8x!r9X$J_SBfAXw9j87UUl&7lSllW#H$XT zeP$7V7xAitXP^Cvzngf~!L!d2;=fM3>fqUD1@Ye?UUl&7vzGX860bUV_NgNNTg0ml zo_(5#zlV6$!Lv^X@!uw1b@1%7nfUJzuR3`4=_USN;#CLFK2hTDBVKjz>~j+F-z8pk z@a%I6@!um}b@1%7oA~>QR~%=1H`Kio_($%{z2kZ2hTn?68{kK zs)J{rFA)DQ@v4JopRW@C1L9Q&&pzKE{)fb?4xW9!NBkqis}7!h9wGim#H$XTeV!ox z$Hc1+o_&5z{7;Bi9X$K|p7=+JR~wC7I{uR3`4*^l_25wALU_L)Qc&xuzZJo^+A|0MCMgJ++m#6Ly6>fqU@jQC#= zuR3`4Sx5XYiB}yw`&1MEE8fqVuIO2apyz1cDXMp(M z60bUV_SsJSGsLS7o_!{Xf0lUF!L!e4#6L&8>fqVuY~p`Myz1cD=VIcYCth{%>~kgY zzb9UG@a%H~@h=dsI(YW^9Pxi3UUl&7^Ht(sBwls!?DGxc|46**;MwP1;{Qav>fqVu z0pkBmyz1cD=Mm!nLcHqW+2=9h|4O{-;MwO_#J@zm>fqVu1>*mQc-6tP&r8I=OuXvg z+2;-7Um;#~@az*fOa%F$ef}Hqs)J{rEaG1!UUl&7Q$+l0#H$XTeHIY^cj8qC&prnd z|2pxigJ+*o;{QRs>fqUD4e@UfuR3`4Sx@|%#H$XTeQJn*i+I(+vriN8|0G^@@a)q@ z{J)4-9X$JV6aR1GRR_;L#}fZG@v4JopA(3Ghj`V&v(F&$UWRORAJxIL&k*qe;#CLF zK4ZkE5U)CT_Ss2%ka*R>v(H}QQ;Am{Jo{Wod>ZkpgJ+-1iBBh9b@1$SE%6z|s}7!h zZXiBHyz1cD=VszFiB}yw``k)=7V)ZsXP-NW&n8}V@a%Ip@j1k+4xW9!O?)o#s)J{r z`-#sZUUl&7^8@1dBVKjz?DHt``NXRZo_&5!d;#&QgJ+*-i7zBxb@1%-7vhVER~u;pGCat;Mphja1rE#{%$t$s)J{rEaK-7uR3`4$tQj; z@v4JopIOAuBVKjz?6ZLQ`NXRZo_!V(zkqnv!L!d&;y*yV>fqUD1@Ze6uR3`4sUZFU z;#CLFK1UE=OuXvg*{7NKg~Y24o_)HBUqrm>;MwO`;!B8E9X$J-K>T9jRR_;LgTx<5 zyz1cDXNdSE#H$XTea47ChfqVuQQ}tb@1%-67h!-uR3`4d5!qPiB}yw`@BW`dg4_F&pv7E zMUW5r$0LYW9X$Kw6MrP}s)J{rS;QYjyz1cDX94k5#H$XTeHIa4O}y&h*=H&7HN>k9 zo_$sjUrW5|;Mu2w_&VZM2hTo-5noTd>fqU@iueZNRR_;L4a7GRuR3`4X(7Iec-6tP zPbcxs#H$XTeKrw)H1Vo~XP;i;k0D-l@a(gl_!i<-2hTn`iEkxdb@1$S8u4w!s}7!h z&LqB_c-6tP&w0dm5U)CT_PLn&4-&6Bc=oxH_)g+g2hTp&6W>L=>fqVu3&eL5uR3`4 zxs&(}#H$XTeZEC}5AmvlXP@s9zma&=!L!dp#BU;Ab@1%-W8yaxuR3`4d4l+3iB}yw z`#eqjam1?*o_+pE{PD!A4xW8pBmP6gs}7!h-Xi|P#H$XTeY_(?kPrHoF!8E`XP~l2nTZva4Jo|JJA0=LO@a%Iu@h1|mI(YVp5WkIh)xopR5b;CA zs}7!hCW+rpyz1cD=QQGniB}yw` z1o@ynKaF_R!L!eP#Gg*Q>fqUDHu1ZOR~fqVudg3o8UUl&7a|`j85U)CT_W3gLmlCf!c=q`^@s|;=I(YWEkNC@pR~QN%d2krSMh*upv`(zRSN#a!p&p!FYUr)U1;Mr#u@i!2! zI(YWkpZHG^uR3`4If(chiB}yw`;-!Y6Y;8pXP-61f0}sJ!L!eL;y**Y>fqU@hWML_ zR~@z|97l~ILJo}tN{FjJV9X$K&CjNHfRR_;L=Mev8;#CLFK9>-G z2l1+dXP;|{{|fP{gJ+)`i2o|_s)J{rn~DD#@v4JopIeE)lX%s^v(FvG-$lIY;MwPH z;_oJ2b@1$SFY#X|UUl&7^Dyz>AYOIw?DJFNze&96;MwOF#D9x;)xopRv&7#+yz1cD z=a0mHn|Rg1v(Mj%{|@o0gJ++&h`*P3)xon*N|gxmLH~6h@hMdz$Ok<8WLH78{CA00 z9X$IKR)Mzs_lQ>=Jp0VA0&V&GiB}yw`;=6Hw*2>rR~i5Jo_9`1={it5wALU_GzdBZTW|ZR~~n4vXv_bUc-6tP&!ttME&mwts)J{rk5_@V{Nu!{4xW8(sse5KCx}-aJp0^Q1={jI zBVKjz?DMrM(3bx>@v4JopL?o6TmDJnRR_;L4^)A+{8PlM4xW8}QU%)bzaU<9@a*$c z6==)Ab@1%-RuyQ=|Au(g z!Lv`W+Tf;r{w?vUgJ+*?;-4X2b@1#{MEtYFs}7!h<`e%M@v4JopT)%gj(F9$+I(YUug7_DRR~;#CLFKJCQ6NWALc*=G~+e-T@a(gb_$=a82hToxh|eZob@1$SF7Y|Us}7!h zE+syfc-6tP&vnG-5wALU_W2C)`w_1?c=oxC_@$z} z{fSo{Jo}Uoe*p2SgJ++Ei7zHzb@1#{PW(dRRR_;LhY`Psc-6tPPYv-U#H$XTeU2f1 zG4ZN{XP<834fqVua^ja0uR3`4`2_JRh*upv`+SD@mBgzKo_%g3 zzLa>?!L!fTh%X~vb@1$S5Ao&1s}7!h9w2@d@v4JopGSzVAYOIw?DIJBtBF?~Jp25b z_%+0<4xW8}PyAZqRR_;LFA-l!yz1cD=O4tcBVKjz?BmsmARn~nhY_zjc=ibqe>m}~ zgJ+)t;@12hToj#Mct9I(YW!A-;}y)xopRhl#HzUUl&7vxWEu;#CLFJ|o0860bUV z_Ss2%6Y;8pXP@1~HxsWqc=kDm_@jwe9X$J7Li{nrs}7!ht|7jKc-6tP&yB>l60bUV z_W3;VZN#e%o_+2hzMXj0!L!ddiSHm@b@1%-J>ow|yz1cD=MmyNiB}yw`#eE>7xAit zXP>8u?fqU@g!to$R~&pt;G zA0}RP@a)q-{0YRX4xWA5iSH#|b@1%7iTFO^RR_;Ly~OtuuR3`4Ig$7Q;#CLFKI6nk zh*upv`+Su6LE=>h&pu}nzlC_!!L!dr#BU{Db@1$SCGk<>RR_;L*Aagr@v4JopU)7# zjd<0;v(IhB4-v0Ac=q`k@!N@49X$KoL;NuDs)J{r2Z$dbUUl&7^JC&iiB}yw`#eef zNyMuTo_(GnevEk4!L!dFi619kb@1%-H{vIVR~fqVuK;lm!UUl&7vx4}K5U)CT_E}5(sl=-e zo_(r_|0waQgJ+*6;!h)9b@1%dLHy~&s}7!hHW9y@c-6tPPcQL%h*upv`$UO9gLu`! zv(Fgudx=*aJo|iv_%n%D9X$J-N&G(IRR_;LA0z%O;#CLFK35QbHu0*1XP-|He-81g zgJ++ci9eTk)xopR7l}WQc-6tP&t1fyPrT~j+2>y3FCboZ@a*$2@gE~zb@1%-81WYp zuR3`4`4#aO5wALU_W2$07Za~Kc=q`-@s|*U8>I(YVJCjL6&RR_;Loy32Fc-6tP&vC?ml6cj@v(EtW*AuTg zc=p*&{0+pb4xW8>5dSISRR_;LrxAZ6@v4JopR)xopRcZvTz@v4JopC1ta z1>#i)&pwY6e=G5-gJ+*#5q}%;s)J{r=ZXI!@v4JopT83SCE`^F&pxjce>?H2gJ&PF zNd)w-I`OK5XP-9Wzd^j};Mr#*@!up~b@1%dOZ>Np zR~fqVuOT>Slc-6tP&)vj7K)mYU+2=muA0%FN@a*#g z;vXVjb@1%-IPnh?uR3`4`8DxBAYOIw?DGQgKO|mt@a*$H#6Lp3>fqVu4dQ=9yz1cD zC(tZ{e9+$hn0VE}vriWBKOtUq@a!{#_(zFX9X$KYC;q3zs}7!h78Cy%@v4JopXJ0q zPQ2>i*=G&$PY|y*MZD_Z*=Kja(&pvk${~YnEgJ+*_68}5mRR_;L_Ywa*@v4Jo zpNEM5J@Kl8XP=)C{{r!tSka*R>v(IOUPbFS;@a*$N;?sy%9X$KoNqjo- zs)J{r?+~9syz1cD=Rx8_#H$XTeI6%1lX%s^v(MASXA!SDc=q`d@!7uR3`4`4I6liB}yw`}7k(i+I(+vrm-x*~F_3o_)rM zpF_Or;MwOC;^z{tI(YUugZO#Gs}7!h&L@68@v4JopUa6~K)mYU+2=aqKR~?d;MwOh z#P3hM>fqVui^Ly5yz1cD=Pu$G60bUV_PLk%MZ~KPo_!uBzJz$y!L!d}#4jdZb@1%- zOX3eCUUl&7^BnO@h*upv`}~RcgNRohJo~&#{8Hjo2hTqLBK~0FRR_;LsVySN2kqw} z#H$XTeR7FElz7#_v(GHzml3Zzc=kDf_~pc_4xW9M62F3Y)xon*De)_bR~FGiC>#U2hTny5noBX>fqUD7xC+e zR~>>Ve;#CLFKIag>o_N*4v(JUZA3?n8;MwOY;*TU=b@1%-apKP*UUl&7Geg4o z1myp@#LqFRj6LN$!>!}1*sU*??+>_jd=Q;&`{7=zoIK;eVK0$JbW34u4%|9sbN;;P^!Ui=7VtZEhW3SG#ri-|N=# zr8@kX|EgmW{qJ@<{J-bc@pZ3ThyO!v9bfmlb@(&?h|?4OA9XtXf8f^f^^{wO|4-aH zzEp=l^Upgb(f>uK!~Ze2j<1*9I{aU8>-bU~{>=Z&F^T>j1o^=KRkLOnA*aLtjU+n! znV;eKME^PD{}%Zalm9zOboevBY#RSk@(;Lm*j18$dJ-M}%-1;vUtE8ioR0j-B%cnq zj{GT1qQjs0;~j%9_CLYt@SjOOTirVR_fMk3pZN*L;EVltIvxI+=d$YUb~^kIbnC3c zpZN{K*y-?JN$#RyPj&b+|1HPk zi~a9)I{XiF>$2)Sf9o{u_Q{=z8^peM){0UF& z8bxOLnN7_0=x8*&bzsaK;WP|ww)su_5A7Hj50CE}?tdRy6wfBhh`#8AoSK1X@9?|l zM~s^$$tJ2DCSC5}lc#(zI$(0=-J>&ZicS;bc6)A<<#GRbG&~ULmm)OHz5_$O!%`S0 zdMBnOBIDa4C;JE$`;q>Mp(LqCA&+94i;`=KlVc_$qmg784i9YNR6~=36zLt0RX?qE zQl(8*9Ej|QkF~aIV|Q)Sin7wOr25)*N#)AqbY(?ydQEa!n*)~tE-CBElhW%}CzsbI zmyvFli@n>!qeDYsX{9El)$sL!$YAf}(1fiat_0XUc0|$8Nh^t5L*bFu$6wbYABgl# zq6r!tk!I7Z_xAOT`Pplwp^<)uR+m(ol3*PNCf_XV6>GKeBy$WLO$# z(@@wAgJZqhaiXK+{X16lPDqp3H#s5R|NGB;u|W5ho?um#5Y`}dZAMxsOY9$1zDB2~@ zaeAA4CyW1LxBXi8tzU`pH_L`(@!#O$FLoJ*_;HRB;~x?YNV)vyPpR8)3yZR@`@7BF zIig`b@%-!ci`hsXiRs@f+mfaK-VB?6JKc#z`Y}Aw_%;7NE?Uy~T||G8?fglM|4P}I zEdI)D8~-!zKoNho{7;Pk9?^g#=HEFk-O3AMJ{oqm-XBCwmi~*~{uuZ1Co%oc$;M>q zpOb6Tuk$5Hf1do;_%;7R5_z)t?|h%}2W97E@xPoT{`@5IFLd!I=HD|e{vITbKAL`& zG4Fu&#PYW$&F-{7LFbW}f4DYHmi~wGZ2rCMjFEpu@?YcE{QIzrKhd|_?RSBTSHG;Q zhU9O;r-}dWnU=hm;-8r${!?81iO2tp6PCoHGHZ$HoSY{9rUf>BEA@W$!cod!~v1jU@4-uS-1tzjpB_mfuY-{v4YP{!;gs z-OMLTP6*Z$&)>lNOn;i}kDRJ9Zn4Fq``i4}IRup7{pG*LujTg;7k^^ z&3`@r-aAN#dO%s2mi(k)^F{Ax8eCagt-{RtLav;t>))V9Z;xzGh zxcEyoBKNKPtNgiX;(yu2uk$E~|7iKI`|ELif13Drzt8-?cbfQjZ-B>rDd z6aOtP{z~H#TWI=Kd2*Wg-*EBY;y@ff=9+YWJ^q)biT@cF|8&YUBOiMf?0T~B;s4A1TU`2MG1xVYf5F!HE!uCX z+9>-Yja4eR?;FrC$!GMtR*1;g2KleYujg;mH1Xe$i7oluE8F>#82`3u_CNDFyVvrQ zcyD{ISs9f5lchg@nT`0ICoLV3uTAnlG5sHzCjKwy+LVqaBsd}H?U*M1tAlPt<-QRA zu}R{;XqxyJ?q_4l-%oa;Ph$M%O&5Qrjd=Hgc4x$oXT%bZ|Hf(JFLMvA+<-=dK8f*v zVw(8pthDhz^aZ;I;{UMxPmKSIF8;)J_NOP>{l0)slRg^1et&(M{ZGBk5}0$~kM5`6 z54!!C!TJqu|3_2ew`lrR{jThvto%LmOFIE^ai%3B^3^B*b$_itPssk#c8sc@evjU6 zQ;7Th{Lyr)hHyd>&8A!2{*V5{?lCCpPi9PwAIVE>yI`;r7Z&ol|3l`>UnIs~AX}2{ zKk9y5=mj}G{v__-FE@t9Px}sw3>Q%+Xr4rUYrE@NvSe&mAB9<_6{6Btax~GXsCE}Vl2zs ze9~F3-T3m&fBC_SKYsqPXL|m1>>D3`t?%W*znu8u@bjsW{xj3^KmV~6`&NAHDslM3 zZh70*UAf-gCmX#tAH3}RiPWO=?@zrfr?ucJ$0i2@L)Y{y@WZo2d&D;Cn z;?zrWO0afzU24f8uf4tZ?26QqW%B*tjI^6F43Son`I@JxDN6gaH?!fF`!rl~NL^s> zXCHp2WJzjD$%?wbSMGXCejoGYs*jz&;E|HzGlM0I4ZA7*s0*rW-uNE}y5mAvfi3~%q< z8D8-2v%Sl=T|Kh*!HkrmK;YL!!989{<(@?)mDLLmIditqMOj(iM;rFk7o}a2QL?^Z zQAx!mi%LotmXxe7TUb(hqW8dGzWef>uYKci{Nb;Ycl zs$l(|%+k4HeQlhQu$U& z$&yd)zo&8T_dcHSk9UGg&I^<*ePu@GpY}FBn|aBDCE2gc+Shnf)+@6v%XlU8jjYS( zwG^b)Zg^quIdUc++US+!&kmIAP7mzM$jsQ6{=3WXdVB3e>h3_pWog}yaw;!Nn|L(P zz{*{dO}lSTxoqFeI1YQJ{#3aS*6SLMBNY19_!(Dycgvm!k@_>P+FQD(Bv=tB*;}z^ zQE**g(cX1?76uOsER?dl_>A3Y=B(WIwciyDz8;j+mdwcreC|7mdGzic|5s^OT2rg4 zzmgcw2kvUDZSSlPH`Z3HS-mRU+T76`u4oOfDsAZK3YV4EGgZG!@fBJdYL1H%1WIzgq?v!Q5H)Ub4 zpUaBDQsj4@jF*WlIHM3V1$KQ-5vF+T`r;Wq{(9*Qj4zCyI)5P|wd)HO_WA1{ScpVh zy?7z=!LBb{h}2{pA^B&8MGM>gjU@}C{`%5|W5NWbO_EPAWWMYk%VJTcEiE`!ozf0A z>llG}q4Z7pkH`ko6Qpm>GLJOdz_BKfYGY47E{G?M%|3I|Bl#5)gT)4UpDlJDyJf2h zglr&c0y#Etq6y^Nz%~<@;o=zz;>lkVPk#Dv{uzEeBUv~A7wM=8q*{ZMIG!;Zk8>Lj zR*3=b-+LLU$mjGM@;)cSCR-lOGGLY|W*IcgRI^Mo%XG8MFw2lxW}0P|S!SDMj#=iK zWu95?XO{V9SzwlhW?5vGGt6?PS{wWYep8FT7_qxt-q(eofFcl$;bP ze6C8F=~tKMzYpYLy39mrm;Z%KH%~Qq>Hi1>5i6bIjJmwX{`;{>{zw_>3Z9e@*+AZY z($2j5q1lYe*cSXv!p_5aRY`YtJB$bC%Vs{bQ}WJDx`T;7N$GV)X9h7{!A95TeIu!n z+u_r}D-w3NE$`3ow!@c$4u$0n}BV4GG3>qC*vQs z>9PB~VFI>^%XrfSX4oxnnZO(y_@@ahuz`P>K(WiAe+R!Q$=MI(ZheLq$p5CKC*PF9 zKp+=q&xKL~1voXSc3Uuzi+m5+P->vSWU39N1&WYk`8Jdun2qe1VM7^#893lMwpwL` z0>PstNVPa)VIc1{k*1zeTln0L2L*x;31yNU$~YvDzf8JT8^xi4Tr>kNv@BqbHr4I7 zJYYKEG&J(fvWsg*jL!uboq>Fu80*s&C_n{wq3%EdYM?v(on#lWfQplbuvrLV1 zJvHy)q&v7|><+@OAP~AB34JZ)X$jk-xig1y`mQWw zt~;8$v(c@)1NgcLguGceSJwqYU&#Nk6eVkMYXJ(73*2T>?e_Yj$q;wgUz&jukvaQ# zi95$k#f83+iiBMdw4raAjJ?{0?lJpb<3isyp=*OKH@*|Z5tx%RBlJ-I1AbZ_rjcUk z2Q*R){V=Od4#%bC5fhNf2Kj`3WH5I=ery8yE}owRPZVocK!2K_A#I}F=dn46(*+(k ziF2pz2@{y<41N}TObv=dPv$rI22W*TcRPl6q+SK@`dTDbdJWIp-*-jxp)R~%p zg@~rf40WYufpVd48%nX;HrSAD+Cx1yly0|ev?1Hjhc?+zmfg15hHSGRI@X5rY@-}H zE;WcG;h93TQ6EapUnHH3-SNYzSxCMMg>9(VZacw-s%)s&hEA}dJ{#I?L;W^%gAEPX z(7iSkv7u*NVg^%#H)>)Q1VUR=^Y{6QiKf~{#_o7xYCd`jmlxYo%_((9Ka^UG40T7p zJ#~K^(L5K$aB6U+1k+HfZr1~U>27gHvNip=_lAbkb7crH-QmXhO{SM8MeSKj&HPBHRkqKQ zKi2XxPn`o>*YJfhPY<0TL3<8&&qcCaU{6t>th?fRh6%XRa(U*yP@xP)>`rIRK=!)8 z*>jO;Zl`nR;PksPe(oHTFLs~vOu)9vndfK2%(n5F7i2Dy!2TAyZa$K|+Xg-{565_p z4SX`|NWm`f(%L0z?4fNV!q{Z%qgkf7x|#MR+194pT!{{4ek!y>G;4cf0hRol3a^(P z9Je&{=Fo3_?z85|+)lTc^t)sJ+#HlqcVwT>#xCy2zF?AUFHkaXEkt$ufQ|LG`AAi< zJ(&NIRg>U=HYT@+j+7yZMZe4myo1lsSL_+G*jEkaa{g;35Z}5ynjRI;_f@u@Ouziy zP}6^=X8tDhb3c*4<#yp2+b-C2J!=9fHt?JYxHhvQ^Y@|6GxacE$j7=n=0BJtbGi7U z3Cyw%e>4G?rGGMkd3MX6=ivD41z_f13Lg-&V!P$9^P*y1VgoN_p-imu(l9{?-Q;|c zmxe>$rD2!E1(~mez9HJY9Z@gyZ$&sME`_g}XCGjPB{ooO0=6_{ zFU%Pfe|s3&i)=q^hf>)k!7qt{{F9Ry$UZQC$!xV-LKh6#2hBwJ9#PD zEArd?omS>xUDA&TPn1=2g!`Fg&@9~;F1s{XE}Kon;!&P|sqeAs0PN^4wz4aNJ0xUB zlG$tW7s{a99^u;DWf*|lK&1)TN}0XR1Z+EzeOOM5V744*AD%NPfnvMQkvV5cV5top zm2++Ca4lRC)U&x&zD~i-kf+MlnuhgNg@WP0l3FM<`UT+Xwya7|qC* zPTjKG--0#Sf*c5ihIIQ4{&uX%7Mz+;=mOn-ufH8@vIV2yQ0P_(n3=!q`rs#J54qsb zndF>>c|jROPTMk>-Ex)$pArk+ZFycr(%o!4Ic359WV1O#b8*5N>(cDwtbp z0wEV~S@0+|_*U+!{M)68vIZ5ImrA8`fz_tkI)k<5D#{l3+)5L$7lOI#Ou&}?+`~-3 zw(hxyn}Dqdx$8~9w&A%)nn1CQ^e7WpYy(v$V5>-OwFxYP)~^ zp4@tqAM5RwMzf{K2AWKu#Ri&9pu+}^Hi2#%IK~)kvVm5!Wxxj7Okk@Gw410_WJkMiaQe1~!?%#WrAXH(hQ6TV|kMTx|nU)8Jlb z11Fl3^+_ApW?J7HY+%R)K5YZrjrA=yFl++1+Q5hj+-?J-`6#zvwSkjnp-kTG%FbAD zx0apM+==`r{jxJzgsSeEg4`X!Z^;(hi01ChAC#WNy6wu@jb6nDPR+Sq0wEjtXwJ7K zkZ%LKbABTMS9bQ~{96LWcFSH9SZV`jnn0-yoRxE^JW=J!!TCAINTAAA?NelTQ?(Dk znzUIc@}Uq?WvV_>VYj0fQRpn)jC9$}nCa2YpV7@v`J1sOzMw*(`*k}KZ+ADOgPzyT zNVMIIi~Iw8CblMKL4izC>wOw)vIS=#6e^Q|Y07dh2>wnKvz}M95Tg`o$nwhbt`%~+ z2FB>F&&{h0Mg`@a56k<0!p<(9BZ4=}26MJk@{Y=XQv&9cpZJe|Oz+UQO_) zy3d@vy8Olibf0=t65T!xS=f+j-5RrAmmVk22Ac8^jg0OvUA0jl)4Xfqn}ca0apI53 zyHJ$rj@%tcN3dTYb08IYo%uV9HBq)6yF}S~>=I?`u`R=SJtplrHifoQ+X9_uEAT6y<*Bc-UN#6J|8lHMKD`?(G&eIaG6*O-&=id^jvS~XhXU-yd2Hpn7au1e3hYgJ9G)rKU z4NT+=NZGE3Sjgtj>t-BTY_n{6ShxJc--0#Sf>IR<{Z6+R%26DEg@`D} zQrRW2Kk`6h*&)^nvpn1^*PG=LW_hGp9%YtQW?5~PHD+0BmUU)XZ%TBZGGRtnW++dbHX1UQUH<{&Tvpm);k2A~T&GJKLX{O%2uvtIB zEPKte&n)}Ra=Vj1^WM}6KDgt>gNK)(+K*8#O=@ace>4G%@(<$z6UDgK7ov9KVsthbZq8HoHI-BYx z?)VN11b?IH3>EYR^1tk-vpJIQuRKVPXsg7I zzSHg(4HTdaaj8Dh=8{YGHXE90$srq>WkcHo1$g{ujtvb5vi>Ha1uoSif#A0__Tvk7 z1@b5T*iQ+}MpnDnKN6UM16pcbP7TaNGE1Gy>4D&S2}*|`M4(_#Apb|c%^86r1mq!X z`4sF8WIZjR837wS)1H@N7u;tPzBu5eAsryiC?v%*_vrr`3)`}BRv>tWXlW<~SxbFb za!I1fN}2bTY@|lAaCv&0P^MVg<<#2-?tzxL-PWb=O17ItGvd&y^gENG(>?07U);_| zr$75HJKJGYsPLrxSqHoEMB!L=KsqlwxF{UY{=2N(VN~IS38dS;qi}K^oJ)`|Cxi-5 z&VS8!*qMQK=Wt5aA7$N+AqqcY0@Y?bP)QqS#2s)49o=`QGh1+Keng{0ALU0{lmtREcp0vl|> zl8_k5zCDG=8+_z4OTrsxVow{}<^`yjvDmD7>>Lc3f|oq{5gR_vJWUh4|dmnYY|1GXg1)-Zqk?#(wTx zDQ(R%c>#Rj*x)5!KXql`xIpR3!0~~0&qwYPq`@MwR11@GhP-E9eSRd+hbx&;xbmwGAfXc~(OC zi#g%kt+N}FWfL}UdiTvIPuX0q$BDh;^Iz&NdZtw%0`oJ?C63bWJ8<0%kdCGuaAmU14I$`;ADW~c9zt;eOD zEz9Er@;XD^708exSwPNm$n*ytUw$PA&=Q40Xd%+>6l0{)v|9yU#;0U`wMI58_Uikh zhtk%lJY#XXzaF?})>_pI_6w%R0tEWgwEVL{=m_q}w<9Wfld3dD+?42xL|+`Busv*{MPtnGHNf#6sQ?Q7>}48mFV?u9p#PiOsKb0u&Ct0;NPLdRA6{hci`Fm*+q#}8*29CWxPD&C; z@k*yK0dI36nMBI)PWLYP?WqfPwVTJsI6hi6qq)2AdP=$(;FJacOCO%`)v97$?Q5^25cW-dwmzj06W`R|55C5=YV zdrB^70)c<#<;v1rtjINBVCC4z$i&JOCq{<1MTf^%o;)(PZG5!1KeDoaM_Fa*&hU3zO!;ocuj>bO%87x9yxg!n^s1L`-dh6A}i%>?_2SL z<^K<&9^WH2{DiKqmm#7Ysf?~C6meVPf`Op&b=4)2H#L`J4)2|{#y)G6{# z^~v7RXl%QA`F1RbIPhBq3CgP8n9v)MpHJAnJthbq?w=SNiYeA*7rEf&|91O$@Agso zJ%pHrtv#|)23E)b98Ee_@uLWCeJB!fN3b3>abkIN_(;=Kq{$O~wndR(aDE^yC5WF; zmA|yZGA)oE+-X({gP6yW&FOASTDo}x%_#VhR{5JA1IVS2`CjU8cS3eB*I?E-E4amA z8_i$61k%cga zJ0_oKixC;dBPBRtzUzbL(2y$Y)v9Dl@DxMT+3boD^-B2rG*3}{X1zN$pY_vvcx;Qw zFndrglh#df+^7kxaS2`TzBl^0VloTqw0`Dz6rSR@etKn9dT^^b^l8s@W)Qy$DTT+` zOPoCrTrkUdizFRNd;xqMMa*(>%PDDgTk&(DfnchMt{~l(Fp0O-3PJpOB+_v#ho_;W zWSat-CO)~Wjpvqh0}MG|Ban(6Q1goEYJbLFk8#x4)*KEMIL)Mfaa zZIw#Pu+gMRrLx5)UCURhuK4Npl@wb#T^XIFo>@*Pa&>8zt9_CtSLON0bf*V1&AFx)jq}Ep7C9gGC|$kK9PrDjmJL4_r0?_lqzi4{`31~} za?^vqwZ4ApS8GfHwZu|}zVv=SqZ{Hk;AcKf=T{T2A7S*A;A^&T6UXO_g*`yoC@rY` zhD&&Oa=X{u)e){~sjfXH+*03D-x6-EZrf1Z60YvFDtAR-vY@&26>ew))0! zy*Dtrbys-Y+Zyg0^<>k=_ReF%t?hO7;j&iw6_uzAQFeOGZ5uPV?9Byviv}#p_ zjib_kFAGjecw=2>d3Spm(rvQWW@Kczd3a*56~9w7KG7;aNmDI9_+qlx_pWPiu}558 zAFi&g-OyQGyIIZ~PJz#qH+bzm;r6c5%IfmcFdb+t5$5GEej-cP+C-MeCDM~9>NjOskZ8;{qrnI!xGe5G` zJ3MLfva8bTYU>I&RyViV6C@`rysE*7&E>UWluvK6vVANnzs?jHmaXQjO_r_M7#*0{ z>UDRwplWq>O2yjH>V@CE7H^I84n)Q*g=kxwJ3HGu8(Nw>Ohj^i5xprWtGY+Zq-a*R z*5f#8>ci~~E#Z##uI{iDjGm6JE(l&YJUA)82o^TSii%?D6WM%lLtSUJ7gy5PN-~i( zg!k2&AB2;W+cmVKOX^g7Ig|Vt8X4XqZwj06%n!MZMdas~Of9Z$s%~qOW~ZwjTjYIZ zp7{wc{D2YCB&8r$fd#?)%EI|Av8>z_f%+c5 z!;rjaDVHLKM!lhVlc&Fmhu;;mzgOnx849h-vdMAxTYcm5dsMcnNGm1zm84*X8#YMu z*;(Cfim2aC_iWy<*^~{}gJDnY#cXR*+t4WSNkdj&T~{xswX(Xta}rHrWNb(8P%Lw$ zxhj{A5U;yRXtB^VQLEV3(=P==N?&Bav|2SSw&qHOiuCRX?-&}0FIR0nWot|lQDWp& z%h{DK0y$+4#r8lw)h*3+rn^MLh|<eZ`bdrA&;ZK!GKsq0F}0l#DM&r56dCTR{PrH)pHCp`K^ zzR61TFt)Xm!ZfH8C2Y07vATm7S2I;YZs}yIyUB}O+MkR$2`vaeT%Po~ZSqrvR ze#}#T!f?pdvZ>?tN(|e5cNvX_Wg1hbP5s8pjv&06ZW-#dZrBtqkFBnXtyb9Dzp5OA zAuiie0&ExB+dm=0n`Zn3Yn}X%X*Yhy)HF_7{ar~ck1vTjK1A<9gLm6>N`D{SG8`Ew z?%&!w=GApHZ4Ot4>!b&j#=$jH__fzqKQ5);uWaS9@sFPg$YL2~$XyBdQ;l)Wr{C|O zB-wlkV`$}#SGt0SLekLEUTrQTVwXJi@rAsm0V5H=h$pry@xxZXeA}MbU47O2t(?T@ zdR8gmav>MH{^^o3Z~IKIce1i6IzG|8RmN3YbxcrRR%#1Qd>bQYNyaqh{D^mZTT63W zy^aUvXeDpOD7szdj%(z%PPciJ!+a9@HrR28Ddos(mmt$Jn3lp0g50H6;;1M7Ew%La zS#N6}Vk>js<^CmDd8xdxlCDhRTZe>33qptSFU!s;v1Q+ zNUA)pU|QNY@&!z+;0%qN95%nOIVPhnR6I`yV2J}c$?Y<^Oz7aZYx*Zys*AKk(zu!- zfaJezOdFc(Tk24Z8{}2VEpjtzoUaRdnoHw@W%0rC*aane32~)%EnFk_#r#ebomS6= zo(+EW=h3e0Xigql8|+~&5@M%QF5D(3Mm!lH*Wx-Zb_rhF)E1V8%#M!bD#z4TD)n^s zVnxwhvdIz4D8gKFC)jnmQoL$aeCLobyp5~BZ9Qwskcnu2bcio^f#6)*+TImzYj5t7 zS0u}*tVSC5=Jqx@3V&2@et>v9)?N;dn)Vg>V6(su>$|$E+v=)2>--!w9RRLU>Z?0j zHbZW2FxAM_DO0~Z{A#THTyktgB1iRZgN(?qX;s@~h?Qh0Ae~K;4$qF=r0J2tTh#U; zaoOYdWHfN14!x%ZK|-hnHPBTVr zm0NIT^pT{-^Cgu(KDE~>JWP|mXUyD`3=iYSdQI*($Tfl)OtlXVO1sio&eLXY>@H36 zSpW7>ofDBa_M)KK={V^NWiFw{j^uD^(J!D>0+B|qL9a_tGi10;*T3&tGyIOUtzG&A zS0K%B%9C7-8+yw5(I(A}(rU-0IM|V0!q_ElOs82zBRLfJns#Z%c*x9I({`=Su2_3@6(APK=evjtwm` zn-lkQ^>S_!hSAv1JoaHyDr1uV-eEH{CVAywn0Hs#v`DjMrmm&q?sC`ivDryec@wV( zF^H+|w3SM7+P@m@s~Z~`Z5T82K9XiRFMg9HV{GcB{Gmaa^{2CKN`xdSNgLqarmbyV zb^nAs+_F*1tgCfNT5?nGUGhzBHM35pTDoa5xt=uhf-=1=wG1=d(pV0UcSTQ;9Hn%b zO6sQyhx6`N{c%HcT$z{Yypg>!Usb+Qp6HQ5U{BP{l$EV%ibS_;ov>|IY@pZGE>oSF z8I`V6i_brQ@Z-7;`@ZqygEGHdnpDJfUuJTnLO!SxGIAUq=-cJFOJQ^M;3q>bnEXSs zF-iv8(UvWrrjDA+2jrta(}f zQ&sTKeq!3=FN4sDZ5WTZL58%NGIbyoRL)uKGOIjxXDO~^a04jCLl3FF=4hU1ORm;CERo6`eM0>qjGq9y~a;NDa=yuF1+>Yrp z8G%mEoO;}JahJtf5~kiIaqY&2uFkMj2xOM)k1>s5#{@AO|IFy1J=VU(jb`Eo#BxDI z36(aWmB)2D-4bg%rFd%R9J5DX;%BK`A4kISvOGVVY(E!24sVnTCrrag@9z)b%uI;6 zvX|p@&3LRCGZ!$j8#;5}+H@yEn`_aI$e5&mJ6#-MGD#j|bC2M~m&=M+xr|*to1Q+r zWoV?YcgPN5kN|U4#<#4s$&}mFP1E0}M*AO`z(ljx*Awj=nXqHQzTRCCJG!RfN=v)k zbTN0q?2u(>WQ!ep$4D)-DCJShP(vl>e{#vSiD&wjGG?>Rm^hS5x9 zxVKNHFwLC+Q)=moG|6ClRs1j+_dEFZUZor1xtn`vW4k)|etcxOebk(wfsskXOPvxW zJicr4D_~^U41rA}gyL%l#3mn2`z4QL_Klc}iwVE$$9*|Hm+`jtQbewoWL{t(+B@vY zO*q?d*-@vt%Z%C0n60~J@tboziD6p&dv;8$t+SL#xv3(?=C+iy;Bq^&x)ygcb-Zn_Z{6%GgF_=SN{J=Gv}v7HWV*;1z}y)n7f-P<2FGgqGERJ2d#KINj@xz`c@?B`t3b;PQO$NnH3Sp`;99NR+{W<(;e{>2D zk@2tyeVN~MPIJ}dS9-eIs=-l&%huI|dzz%ync9Xa3BO0xkz0Hd>|6N*6%1_T98Sm$ zdO6)Yy~ef;#kFN+#bu={%2$*YFW=rf*1z?Lu^nqFR(rQe*iC8x~`GV-|Q&O_h(jY~& zYwO6Ey>}9u0hgaVtdS=SHh6uL;}{>?=B^^i?XS3IW|v&v@9f{Y1(Aq%6jjVVwV+S` zm6xu2ms?MM;gQm|YZwnMq0X2gZR}w;GxTy}jilYCz3OjWRa)6vo^Wj`>1vWPh)cL} z9;lcBU;Jg4X;-9o@aKAChah*)%BDO5W19VNbxUJd?uAG{g{UweB6C)W%@@WPa#xJ! zAt%D7HN@CNXC~zNCpSx1zN*spZPHbjnMXa$T!)`qqdF*%I5C8;uJ0O+$Wu4SJT&k4 zrXdCQXmK}1{XRDSGRF?}W6u@!y0ML!$&v{LsoZ$F1@~j5`Ra)7Y}oED`0OxUpFyeT zt2fhx>#&D==V3{?K8ZDsXM0foFc?FF8S$TPk->(2+@jMADoiV>R~vd;JoZ$K>}zNC z?bUjh%*wXOoO2ir6VmQ)w-4fu^`0C??bb_b+e?Kpe01YQKZndCf#yOmZsZ_ySmGHQ zFGwJE>#v@!AriZ}*z>?9hinO;>8@#7TjUN$;J4D4`IzqV0ZELF4^4b{2Eg3ziZh7K zd-BaExxhf)o2O29^h?`5I*Mk_Z}_#*cXxGtU9NHm$5GsEUdnx6x~i8Um0Z=kf@|hP zUCEuSlu~XdEBrydsdG~3r4@_6B0-wWFu6~DU$th}Xz%zqZWz!bXp)+a-iiLL?nab< zcOg8Ary;9jw;QZbgPEq`flg`t-Hk#!QpXMMh7Ixrw_IksDckaO?rwOj5jOMJ661!c zZTEW&B>g(BS>i6>Fq=wqVee5)q*|J`2m=avURJJ4Oh%f9Vd?{ck>OUEVP$RpO~!4W()Vy0`8v{U>$n6Z{q8h>MzFk04=q0frDN2cP2K5n317Q3c1^V!G< zbA^E#pm*=$rUx*etmkHx&RE705H}yx+*;iz_m%A9`U#JqG<3vWD8x#PyVle={PQny zaCMO}xSiUR)JRg-xQYE(DX~2WPBdKwn_G^i9Wfc_?wPgJH_D^usK4|inV$jLzr^xg zf1osW*jjbW^CFwjTbVWckZAlhf%Fk#ZHL9Ot|if*-j5|w#*C}iAXRA4V-0~B0m^ey z@;FNWHaqOm5*a`DAm`XT%pXhmyNwq77PhXrvAJ8OeWV4hmj|nnK)(IR6~Cpr4o|n5 z;#=mPdy@2;F_yW)HLYM=PMQZz{l?2(f<<=9Oqo5MHJGUOAKDol+ivdl#g$!o__oLE z?QeuK#M##?}^IXa3kld|8m*L+xtwR^kHWD3=&~>qX0I7qGAfo6h|wgDz$y+;zRYwj}70Z1;zKU-xVv_gL%@$=tG2x+@l zbHe;1sM*jge}dH9<~PPjZme1)zkO{EcG}iVVlp!$CL*aFt|5yJ0DgI>-au0l^|I!857Vhxy zunjWZKH(sL*dXn%xz*wBhW3@mccWIXc5Jz^Re#>|6lJIbBfyFo98d$+ASGq z#XV2$r!)CqOq$lnOw{@yZcD{33+dqmZ*(|3esb@qJ&E*Gi=0PEpMQGHm`H20yJ?JJ zTl|R74!Y&fPNsie2_sp*^Nu@8`_Q;N?tm2Av;M zpexe~T$!SZ)^|q6M@NRoBMtKBSni2@y=FiO6c7)I;INs6W7qw?6Mq*G3&jMB#Je0&3j zQ*k+fBk&)6D@Cg#hl@WEjK}D2nM?6U5lITD{li!p#&o)<8_i!cnM~0q8L6vExHj>x zHf6R14;bz+1H=jW8weR7#$DjaO{rKVL~lr=WgbOz$yq5|(;~P0<^21122C}J49nGw zX$D<;J2vgnmg8s>Q)Fgw&0nI`M2F>XW6a$`$z{2wl3Sv-oXClgE>%*>Qx*8bzY%%% zGQLE}W0_o4QYzl(A{=cx6Xh7b=<<`!^;f25+lIRZ}iwbDd(h~n|^8NvaHKgpc?NaH7~&O0(f0%YJQrzTTwn*8s3gYFBXGX3}DeO z3+y-DN8Yp~uS%pr|OKs3=wh6+sjc6-5yR1qBrqY}kmM_nZE=Cz~J{CU}CIp_yT>RhVZA6X0cA$3}U(V)2VDN&JMiuaF@JtVICNqmS) ze%K}Y2$%dQ7a!x|6aGU!$)%3&e_0N0KFy`hOc$ShiEchjI_e_Rvmi<%kNYAQUwVnY z+$F!##n)V--{+Ed^M_sXZob(i|HLKw(=Pe#F8+#(AGkz+-zD$nAGzd@xcKKTe%i&q z{V)3uF7@5~CzrgN|K^gvRR7bZPJ-H{N}ndWcxe}}@8WGP(L1O-O?I4BQcb;cGp?9V zC3U9Xd@8rP{6BXVh%5*5q0Uhk@#2pw5}mK(g)tT=KPDys?X?{g=IyOMN%*;gY{p@9$E_&4;+;$6cb&cF8ZeL|@~QUw4VV z*(Lvki@)OH`!CUty5x^vqMvlhpLX#dT>K{&|Lqd}cbEL%F3uk#U$nI;+71+b7_{>% z@x=eKmvyP1cGyxJvtb(g%G*K*0HT%y-?$-BAVB_I4Rd)TG^RW9Dn#XDW1cXP>K zs`q!PGup+cxcE{Rzt6=VxkTUMl7IRV{TY}1b{Buy#do>*k^hh%cd7HGi+_EIe%2+g zPeIG}&CTQ0DQn5sx-^z(%bJ6Xcgbw;x%z~e_W zj@`K*`-c7B1oq<3zqy~+Y8)wH4>^A)C~dV%yKjFM_C(y#nK6d5k82rS zXB7MDE2BM!eQv#IceWSF*2D49K9%#Ot4I4R_A64NeIffjjiUW__7&=(T+2SPX>@)) zdo#71H?jY!mh)EjKUAIP*l$tm!%p@t=9}5@vX?!sHmYU4%l@ERZim_R_Td zPO*%))iW7K?|XCEIq)UgX*WRIf*Gq{wr`#ISPqyn133hW0eM|)NFVX7~#WN+<> z&NpCRsFquE_D>r|=R@pGYDIfn_V1(F>dJmv&2Jy}Q|Zwo3}!#4JcE6;YT>c$Q`Gv9 z$KG7^-Bk8GwcgHRe^4EgEo67LTajtKoqevVzm|PT{YaLE*0by5kWK6t)OKSl`wuD6 zb)I9dP$JrQN*#4*w3q!zwdnl2?CtAD`(gGNwcZ|Mzg(~X>~U?P>-@<6zVh?z-J|2y zMfRW7rn{uQ9w%ErTopY+1@>RmcC0FUQNID+MNLnLoxbu2FKyY! zs^#C6{cp9t^g^XU9S z_Rs1>`|a#|)$&=(zTP>&D;jA%`wMD%HnGoB)4!Gd54Hb#j{O6*f85D_#}!3)X%FmW zuMv#)ciFF3+rz``UDS5q82df;b~;k)6#E%9Uq7;UQcpS0v(HxR&qekcYW*x}&wsMD zUab!m*r%y{RrbX-BhyGjSF&4byWN0&gX-(%?7aigbwccW)#KHceOD+t-<5r^+E4Xm zPgVJ$>;vuVNUc%q)ztKlXE$HM8g(gTzt}j6t((|W)p5lFsbgP9#<`t+Q$oaO=uY0DE)2KC=hZ{^&US!z%v``-qCs z)A*ke`ynlDW^mt@PQ))VuE<+gvV`q9H4 z)0Tc8xwK^Oq#pN+^K>Q))Wr zuuoR&`K|2R)%I{T`*mvi?`7Yk_EQhD-=voFR`x8l{yfjVO|Ad0ve#AX!&~fg)c)%O z_QmQr^CtbE38Amvz}+iY+30pc%V9FBfDlr>3(l`)}%T>BinyE&qP(=Tf8ZcNqI8(QIY0 zZ&UmI3G4^e^R>zBi>gEyx|zL_n$Csnzp4G;a`rLNWvsi{FRJDL0Q<9QyYU$NRMjuf zu%A`azk~g)ve9?Ehy9Ow(f%&`jjF#sW?!!IU$DQf_M6|br>gDS&r(PAsOc%s?p6Eos_YNgeGr+q6!v&^oYsiFqq<)&dkeLGwqlP}+oewIH>u^^i{05C zN2X^Gdr%$cWUzNs$1~&Dx2gTh4eWQR=TkG-uT}Fqmp#9JWLjuwDf=O{AH0Kolv+RU zV?US{U1t+}w%Wfu$v#8f?+fhx)bzi`zDceBZ?ikcJCXZ7#D2R!Vl?y_`!RLA@iqGt zHNQWyf3N2EclIu7`x#@`O}4hEz9`N9n0=fZnWjqYFRJb573@iBKT?nVGPNB}WB*01 zpCR^7)#K8ReYe_>sN2>J|2v)$-ZPK2WXa z2ibSq*OB}FgnhQE|0Vm2YJK~T{k^J@8Z`6^dk3}szremg9T(A;6Vvg)9<{zzV4teI z8haD9eCX?ysZOqXd>gZGRL={1?E3G*SFx8>+l|ib)7AO9-s}ac{$Tb~YP&a*{WeuU zhyAyPG#`;mK6@Fp+-_tarMCa`*fU#1YS7Sa?ETdCd=2|VwcT6K-bg*ZkFZZx=TDwu zFRhM$USuDjmc#4p>s9^z>@TUu{X_O9YJd7U`%tz2J;h#LZCB5-mr={%5B6*8L@&2k zd%Df~sg`FM_J-Nvj# zdl$9boW~>CN>`7&v!713-d59-&2_4(^*@(=jeQ-No~i6h)plbx`#j}~*_Wy9U{VS_Ni*Wd4l~T zHNR)re^Kl0uk6`s|Nakqyn0+p+P9Of$?EYStD(a;d~t-ff_WZ$ROtLxdfsQxWrU!taGCi|>r z(e>xEzoU+$ma%`R`eiNqpK80bfxWNtN7<*SI#08|sh-EZ#6D9Ux9nzLq8^ub*z2qL z{fOP(J;N*?W4~GT#cB4kYI@GG-)>(=3jN7Gxo*U0D9%1UOSYP-{Y6>!QmXGRXHQbc zhqc(psqH`m_A=^uN;>;YwO+Mge=;R{IycwzVmm= zWUG{V-19hpm)cKFW6xCU;VtZgn?%=lj)Rk}ztw(f73cp{`@4JC53Bq`?D=XrJi$I% z_1$yqBh`HEVxOU&FYIIYH;tbD_u2ne{r)NY4Qf3<$v!2zjP*VHj+E$M{KkG>t+yB1 zpHchYM0@|8Z0%CV)fL&_Q+-jLeO>h3T6Nf$sO?@;_7SR21MI)6`)$KMSsgcaW$&q$ ze_!@T)p|9QeZ5-F&hcfkby2NX&fn3Kt$Wn@t3s}GZ?otbzKQ)!)$a?~oxguZ#<`vS z(P|N+p*z{XRNK${+1FNy&TnRqRr}3t>}A#Tzs!D2?SJ23KV%;#M(*PP`(qKZhYqtp zs`jVH+3!*N$8XrX)`~9l6MLFEpZOR28r664_WnNEN>%GgIrcl%ey|FAX;uG9_FT0- zG!$2li-*0F+CH~rpKo7B=B*?9^J;zQ$v#OvUIW>es^gFm?ANJ28q2;+ttXS%52Qq< zg@&fH?+-=$9QLc!cHma_@%HgoWSrIPTds&04c*JWO7-Kz?6cJ4vX%WswLN)W>ZtAT ztL!Pt-(v5r_Jbd=@3F5V(|VNsfby@{o2fcKupd^B<9YUwdR&|rQYTxJ)Nw^A`}jE7 zs-PZU=X_JLRVO_%jWkq)^QYBztSCa+ct&ZO&uy<0+XEOUss;_TmpQP5Sh3plYM&Ivp_5tc~xr_ZH`#Lht z1MFWZe~kSX<_^mg=5O|y>bS0i{kSGu&Ux|3^pt0xppK)evQI4$$|w^1G{$Ya@#JzMoxclMU*c}IWtEowT4vsdv)YSYkY_Qh)boXB2N zt)I@{U6QTO)&61@=PRnmWfA*2HNPv^cdF+R>)6Mr=bIbZYpQ8nbJcNaHTKT-b~-W-sqAIcdexZy6Se$(>|y23abB`@uUa2EbKZQ@ zT-2pE`xEMM8O&bG?$^jDBiRG${A~_hYS#{+?RSx3TN@1+QW6 ztEOi?do^_)<`MRHJdt^#p{Lk0)b`;;_Csp>^E!JgHJ$s}3)Oc1L-s#a{m*J|5$A&uVueg9VchAKd1U7m)&{XBGWmQy|Ox#6P1WwSJbgmrJs>Bqoxjp(OTt zD(}1wFWI_AEr;5iud24^P1sNRqwD+GJF4d?ttGFPXBYN%YCY`3{-{5?{t)(n+CF5m z$EyClp8cz;(RB*gH>v&3O!j2;d}=;>2eo{bu`f~k$F=PDt2!Il?^Nr_qwE1SJx{ae zsOA3>`$n~&+RZ-5A3eYCuwP#*+CO6NW$&LOzdOc0T=m^)_N&zTbB_I#TF?Jvzo_~p z&YtdMtA*;*vg{ojM5cv?E@!_+-ES@So7Hk|z}{E&OFH|{YJbs!eWf}+?7$vW$7xry zx2_&No!7AUE*I_Bv45r>_c83%)p?9O_8MwGJB_`4a&&#?{SwL6VD-Fa3FoJ)zHrWu zBwP9R;}fZM59c%0_WvRFp8}CA4L!l0;EVR>*jJQ__Fe4b?Cnvu{*= z_bI#c{;f!zlkBaRQ5Ppj?8{p@Ge`m>q+xLTgu*mtP@dYOH< zTA$xwU#FJ;0rqRucH=Pn1hw3bv!AOLy&S$_FRiBkC-x<3yYUzMB-N+!_T!pt9Z<`s z9Q!%7{jb9QrP{7u$)49ddO91j4_E!`VV|j{r=`?a+xd=CN9`|qvL~s&8_51t)9C3L z!TwD!+Q+irruJ)-*qy&iM8=uUUa0otbJ%OgN3t|@EBjWp-*Mh2nQYBc>(9NMuc7+o zVRq*{T;x8sviDQ-`#k$%bv*DY`&qU8-(vTx_45O9^*rS$d!pLEILA-P)?syg@&o6y z)bp3~>_^mo$FkS^WUH0^`^fy3V!uq~FJpgIEr%NH->K=W%f3l%H=413rH(U$>}}Na zw`D(}yc_!(^}N0xdu#Q$4`bh^*3T^VC)D~dfxS&iWZBTrWcEz8eYlx@gnAqovTs%E z^K$mef#~{ou_w2R_6OMas(yToy`kC;Jj1?2E$1EVqg0(e?7yh#e3$*OTFxJ{H&WZx zFW3v!di5=P3$^@zW>2xVqmg<3o4uo&o)Y$YmTa{PMY1$ho;_fX7x`UP_PbR-rm+92 zroR#UQ)>U{WnZU`XIil*sr_ar_Ot4|O)vK5YI{D2eXo5Tnf?s+it7BsIQCR^-s1-L zFVym!!G1`sZ*$q}s`CR&+4rdR`40Av)b!lP-doMrCiYos|NbQVI(1z10{eiN$TFaz z*Vvy``>D6tC#m)S5c?Aiqw9Re-c3C&U$Yq>fjgW#6ElSH8mDP1V`U{*mghgX~wS$LkaJaq51*WPeok`*-YH)q3lE zEd#}} zqSlAo*cYqgs5R^dRpYH^-=+3bkFYy`SBXsPQ|!yt_V7jaZ`Jg?&OS-4pZnQ2sQdkp z{R4YFirnw#?48wi`xJY&+D@Kj-xwFEK|_DAKcbeW^SV-Fg3CWO{nA?^FAc0qiZ*^jyn+dy7a7 z8p>vWOC7J~vVWwuOHMo!acj)p1l4_U>xE^|L?PGP3Mxs5Sd(bsXD;eQxXM zd>{6wRbLNb|Gr*y-r0^PTl?(g5&7NqoR3q_BMR7ur9`qcG?RUt^7-s%?d!-m%h;c6 z9WfeO%l=C=TN~IPFBAO>=k>Ve^QP4L_B7{9srBt8_WEjjxSQR1e@5g!-eHf3GxQOA zvfBP1V?U$TPv`Y^$=0}5(Us0|ev&#K_>=uXbsi?pp3h`!q3Xx7?4{Ip_;U7f;pqFV z#lBUYpJ~AUrJBxk_9-dRby~1H>u=}q#peZX}NsK@sx=MP3E-5xr@`6tx=;tcyBwcq)b z{j;m03;n}>nK~XTX+KWM){AOUB(bkm$Ir>^1J(1y+Uzsb^fX~#uKLAq`@cW0wH5o( z=*hP_u>Y>SJ9`ziz3t1MqI@v>IOQYQXDiQUU!!~iyZ-)#0(N~IK7(C(5<(nq7a6`U~vl!;hmbyV&*Ta_?o= zpPPMvUB9pSL)(+B0cyYbx$Wx7xS4{l*!AZspW!-ptNqchwpX-bW1}YD`kV8~>V8Y4 zP_CjiRprato@{kc$5EGa{*20B!M;Q-w>n&>wc1`awf*1UU+HCk#frX!*$+gs)rMVv ze_3bS&G~gW5h1W_SKBY872ZvY%Aj=N$G;YWtAS{#f~<686B2>?76j#ys{~ zYCCotdrljB^rHXPuuoFQ1MAs8R@=Qt*zXAzm9Ph%vR#GEZ=PpYhmF=w_LC-qmpv(T zE7AHI(G0(nLh$d;A3nscKNt5?cKvz0U$X1Z*ZqdQhguKMvg^{lpn$gV#RxjB0ql@GG_P~Mtdf8KH@_6aI~ zHTyK>{n_>B!49?k-`lGUc6AtQWwYzgOP?V5nCRtSz#ddSgI#}q)Gh48qRUtd*(WK# zjlEF$D)xEG?_&Q=`383Vdhbo_wN(Cb_VO{&zj(%Wwb9^6oK-zKT;w%e+&EdZF9&quFE%@NQsVN^Ph)?{FL)h#6!RJQZYY`<|p&hXnx9h?f>iujq9`TlyaUH^jrGR zL*dccqb85d$Q(5)KYNNj$pgBCLo}J~X~3Rg8lW+qXntny*z5v|I=3g}Z)Ff9xVP^Ko4t*Y$B-AJ44$tVnzQ zd|c1R^XupN^>aP@5jOShN0qL*j{Vr0+btx=b^Tn|&vpG=H^6lRoDcBy1$g=b@{sWK z2e@8<>jk)8fa?XhUXberxn7X#1-YL2OelLkgIq7j^@3b4$n`>8Pu4bB+3a=A%x8$} zg}7db>xH;pi0g&8UYP5JdHTXUePN!yFxLxny)f4cbGv+<+kSCp|%#+R~J?UK2lg>pw>0H&5&SgF6T-TG%g+1v~InpXp zxu{u+x}~UHiu$FfVTwAYsAZ&QJkm5C=^Br;jYs;%BaP#c&hbd=c%*kc(mWpN9*?w- zNBYMjjpLEd@kr}1NKbjBsXWqE9%(C&^p!^%%OjoT zk=F7^Z+WD-JknhrX)llTmq!}RBOT_E7V}7td8Ela(q$fLGmrF{M;gr|o#v5N^GL6G zq}e>uZ60YikMx^I8qOmf=aH84$TrR+&F7Ks^GN%7r2jn9fSwl8Dbj)-=|QjbpjUd( zD?R9y9`s5NdZh=w(t}>Nz0!K50guG^0FFoj&9`s8O`lSc`(u02KLBI5%UwY6lJ?NJn^h*!=r3d}egMR5j zzx1GAdeARD=$9V!OAq>`2mR86e(6EK^q^mQ&@Vmcmmc&>5BjAC{nCSe=|R8rpkI2> zFFoj&9`s8O`lSc`(u02KLBI5%UwY6lJ?NJn^h*!=r3d}egMR5jzx1GAdeARD=$9V! zOAq>`2mR86e(6EK^q^mQ&@Vmcmmc&>5BjAC{nCSe=|R8rpkI2>FFoj&9`s8O`lSc` z(u02KLBI5%UwY6lJ?NJn^h*!=r3d}egMR5jzx1GAdeARD=$9V!OAq>`2mR86e(6EK z^q^mQ&@Vmcmmc&>5BjAC{nCSe=|R8rpkI10AUzn69t=ni2BZfA(t`o%!GQE&KzcAB zJs6N43`h?Kqz41ig8}Kmfb?KMdN3e87?2(eNDl_22LsZB0qMbj^k6`GFd#h`kRA+3 z4+f+M1JZ*5>A`^XU_g2>AUzn69t=ni2BZfA(t`o%!GQE&KzcABJs6N43`h?Kqz41i zg8}Kmfb?KMdN3e87?2(eNDl_22LsZB0qMbj^k6`GFd#h`kRA+34+f+M1JZ*5>A`^X zU_g2>AUzn69t=ni2BZfA(t`o%!GQE&KzcABJs6N43`h?Kqz41ig8}Kmfb?KMdN3e8 z7?2(eNDl_22LsZB0qMbj^k6`GFd#h`kRA+34+f+M1JZ*5>A`^XU_g2>AUzn69t=ni z2BZgr(t|A|4%U{HE6C_NaI9t=tk2Bims(t|A|4%U{HE6C_NaI9t=tk2Bims(t|A|4%U{HE6C_NaI9t=tk2Bims(t|A?d-8^k7JOFeE(~k{%364~C=%L(+pG>A{fnU`To}Bt00C z9t=qjhNK5W(t{!C!I1P|NO~|NJs6T63`q}$qz6ONgCXg`kn~_kdN3qC7?K_gNe_mk z2Sd_>A?d-8^k7JOFeE(~k{%364~C=%L(+pG>A{fnU`To}Bt00C9t=qjhNK5W(t{!C z!I1P|NO~|NJs6T63`q}$qz6ONgCXg`kn~_kdN3qC7?K_gNe_mk2Sd_>A?d-8^k7JO zFeE(~k{%364~C=%L(+pG>A{fnU`To}Bt00C9t=qjhNK5W(t{!C!I1P|NO~|NJs2)} zaHSbT(u^T##;`PFSeh{`%@~$u3`;YHr5VH0jA3cUury;>nlUWR7?x%XOEZS08NtosTzH^yjKU&Yz&o75%BoT+yGv%$1Y0mz=pplWDGK>dcihx;;ySoIiY< zD`y0IO*Xfj5$uIwZaE{^Q#Yumy)7Bk)81T|E16@vUCr{MtXW=kW&ZjTw$o<8$R82y z4UoAle@wKuL*_P3wz=ZJ+lB3(HH$WMO+tHmIlF7v{>D0DFBm3*T8n_PTCvIg@Cwa%Oqa%$h6b z5wRa;v)G(@u{+89&M9WE6y|rFbZYWrZm((PcTUn?PG)gCNqff3Em{lBl{21mug>Fd zZvo6SI{~}b%`JXZ?U9^eXN_!j(vLd${5r=qic3yBx8-u$j%**TX4ErdyNpb8-vE zm{)aV<`-r-uLq%D6=WA$1-S+J8HFaBk!xNjVj}rj6DL_6xoU1fpHbKAyBk1doIBLN z>X@IMS(x3uV3PiYnZ!=nQ`#36=69HGCeFSCa~}hW*viTolaV(mJJ%k_$;&F7U`;NV zkexk=U)a--ujys=mEmP!;_Bs%Ru|6G%g--|ytvNy;5@xOsCo?FFjwL_znvpAJ-<5^)AToj`rs$T~3;yQmVXXyT98%wpsb$%r0X?}5kC$973T&71{ z=O@7QH0NQO9&w$Y1odfo%0*n~3!#2G-;j9o|-T{;yS<1WqQPQ{yvx<*@x0H71#L(V0vo7^oZ;HcE~&5@$Ecf;yS+@@+nYX zT<7<5Ui!q9C`kGRfX8%x#bwcw`5Auq1;xh{Ee zouB8D7uWeUE_rdC-vIeKF#X~>FYhy<S5c>E@=^YVTY znjSgEGlQ16&e!Jmfzb4XV0y%LzCP#a@x|#8*Litg3QbQK>Wk}qUzi^J4rXzkzs6;H z#C2ZY-$K)a`)hHXzZs^dB}~7#&M)9R)o%rPah;d<(b4k13i9GQzszNR#dZEmQ?Y+4sd3&fo2fPFL8t{(bo54GQ z9|gzHD3R}5qWS6q`D)x>g+0GDM4=&p%qVeFet`bcEm&b@`BDhQ&Q7-so9;T~2@R{I~z;6M+ z0sJ=beDJ%#3&0-&F9d%YT&B%Tnza*r3gq7bp9=m7xE#Y%ov*>M{?Fi8-{S2L{dziQ zs7^WX8Q|5yZv<}uF3Xnc1i){Ce0%Vl!DV|(Gz)w<XXGFZko& z@;P@zPk?WR{8sSo;7@|T3H}uL0dUzz&~iHjz76t6z@Gs>4*o3oDe&#!aeTs^=sEBz z;Ln3!0saEGe6Baqi{K3*{}Ol__{-pa@EzbS!CwJy2QK?iT5esycR{`<_^aUk!CwO( z0{%Mq2=LwD+2C)0=Y#J7p9j7dd_N-( z3Gf4ue+K+r@E5@kg6{%<4}1^!`{4V*KLGy#{1Est@DIVyfqw*k9{e!)1@Mo-Nep8jZci$e#r-3w{Ayo&!>y()@iA zw1~??zAAVH@Vekh;2!Xb;BCP#1HT%)68KQ?%HU(cF9)9tUIlzEcvbKf;BqdJmcx4R zWXL}bF3*uE|1x+D$nOKc0{kd=P4F+l|6+AYPsyXNJYJ(?% z*8#5uUKhL>cs=kQ;Pt_WfXg`qnvOBx4Iy6$-UxgScw_M8;7!2q18)kx1-u!!d>$pO z|7qZFLcTfpN8st;C&4}7KY@F}V@lD|a2^*Qcr9>0csjV8d!g}z;Bu~;{3`Ge)aeKw z2JZvj0z4DECHPqIR^SuCuL3UwZw^O_Cq2N+fnN=t4BivGK6o#1FSwke zqx)+M-UsqM!TW*_1@8ww2E0Fb0r&v$+2GfJ-v&Mqd>!~8@J--@!Jh#i0{$BKQ1Aob z!@xfU$K`Vx9GAnd;5fgr{JE2~{gHE_wEQc8%irS3uK>s8&RiUknaF~J$PU6@!%QY6TruVPXwO^o(n!7JP&*&_$2W4;5UG80nZ12 z0lWZwFL)vN2jG*zkAqJE{~jFIlRv?6xh0mPN5R=nPK7#^!KZre1D^rj3j9X! z?%*@Q2ZG-OJ_`J1@I3HY;4{H-IV=Xp<**5SHq_Y$ehc`k;B&wafX@X#3O*0~JMj77 zRr#YcslOJ0*8^V&?gL*0-X450cpva3;MalQ3O*iuDfo2o+rSrsF9Tl#emnR^@a5o7 zgX8?}0>}A10FLu}6ddRGTX3A;-@$Qy6Drv4V$tJ*^II7l=eG{{3Yf2S@Ri_g!B>Iz z0$&X--=j>^a|d`11O7Akz2JX<-v@pX zd_8yxdLfCq&~n%SUIzSr@QUCMfL8MgP#I_0sMRL7r}o4e+fK+UtmP*=gZ(_!FPaP2L1|oHSnF_wZM0Q z*9CtSyb1Vg;H|-52k!{J8@xOC8{mDw_ka%s-wQq*{7vvt;QPP}!QTR(0sc1lZ1DZy z3&7t2UkZKzd?on1;CF!^1b+0!N$|v0n^LrmSE`RyHB3f^Mh5FA! z9_Q-~@ZTW+KKOa?v*5pjUjWYoFI_pZJSTxy1-}8jE_gn;2fP5hE%+bc{lNbO9}NB% z_;uiagJ*$X0KXpmAMlyr7s2O%<9FCB0+-iB(Gpt*9?P%sAio1V4*UV|c<`;@CBR<> zPXONsF0aL+`#lVv2>FxXrNGaDmj?d_ybO35et|Nrw`IYrfy-;aXnN{_mxsI;yaISz zaQx1Xp5PTBKLh+S@KxYAzZ<}D`X2|!>E8`5uVJJ4ItX4F?)ND8<>05mtAPIoUKKp9 z3f+sdU#kY51TL?gqg+k!>X1(d&xQ584frhZp5Qg0&Tw%2&Xu{~H6i~XxV%S(rt?W~ zd5s_W4)7GH^A>n2_+fB)PYu;M30?>CKY`Z;{|8)NTS#@v(i=_8h1T;vuzZri<-IwS zYXIH=>ifVOg0}~61U??TG5Az)d95Se?|ks4kY5Gf417I!8u%9Q=HM@Yr-SbSm)BU* z^n3vBh5T`FANcp+e(*oR1K=g;4L#;Uk4q4|GPu09lXCBXhavw7cnk3Fz*~Z!18)U> z9{eis3*hpaQktH4ej^7>e;ddrfwu*(4c-pCA$WW6H1H1K0dRROD@{*(@J^8L4c-}i zICvNE>EK<#7lL;KzaLy)Lrc@M4ZH{BUjV-vd?&cP_l@ej0p1Jp`@wsIe+(|K-K9F; zg3Ej5$j^fJgF3%~_XocKJ^;K_b*kp9&+^_nx?KZYUNcOd3O)$xGyoqA-VA&QxF38d zxbwaC&h!ie?*(~ztujr|FmU`1zp>!gL7mCqBfxI~&j4QrJ`((HaCwb1P0u6Xqag2m z@4Pc#S>Ufhel+;I;Mw3u!N-7q13nh~H}G-bas1U&v>nI+PXfOlye9Z~aOZpBo%xyo z9)kQt@J`^l;Qhe!z(;^j0v`{41Nb!XeDL|;@>+CyyjFr2Lf-k_c4xjOgKvTS6z~_o zr-JVRp9cN`xV#3Qrsp{L49I^Eek1sw;4{HXUP0BI>Awlw`CfI$<-M+yONG3=_MSWq zd^Xf+1%3;7H}E;&1HtilX%zTe$mfC21D^>#AKdxgb7#I5fUkl4Lhy~?i@=`(Ukttj zdbsY~lTt_>e;K@H zip_R@2Y6%fSHMHyJHb1F?*i`!{wnwg@Yle{gTD?w9eg+VeDF8GSAy>WUk|<)d<*!S z;4gsh1K$Jw7WfC?Z-XBP-w*yh_&eZ#f*$}cnQGY=dVJpnuMB<=JQe&s@HFuE!CQfU z0NxG!5cq=Hk?Hvmd?olt;17Zy2Hy<+G5C|z;;ybSnB@QUDHfma3p8oVa>DeyYrr@m@blnv!G8x|4E_iB?cjfc-vRy?_}$=tgWnH+0elnqKj4ppUj*LU%|_O{{>za zJf<$qowHvq2VN4qJa{?q3gDH%lfaX~D}rAMei?W@@JirKz$=4$z%K_6fy;Y}X+B$n zSA~2>@M_@Q!IQ!JfL8|}2wnqxIJmr*nWiTbye8zwg4Y6{2!17a0eA}dbnsO0S>W;> zYMP$;;B_E>D|lV-72x&2*MipvzZbj#_(pJf?>0@(qu`AozZJYO__N?mz+VDy3jQj1 zGw{9OY2fdGHwXU!JRSTKa1Zz~a4+~*;6Cv0!2RIozysjt!Gquzz(e41^=N53+kr56 zDexBH6~J49Uk=_1yaxDH;HluP!5e_L0dEH07TgEk4!i|;d+@g49l$$-cLcv0yc2jo z@Xp|a!MlK82i_Gt3%nb64tRI)Jn$ailfkbBzY)AA_$}bQz!!q|2EPrw5BMtZzToS? z`+;u)?+^YgIG$&C9sJ=qXI-WL-v=K6b&i2w1O7eu=-5b|zrY7VzEpiD6JxFhfma0| z3|Hsb@ZsQhfL{x~5xfp8x2M6c zgZxhL5#aBDXMleSJ`(&J@J#UY;G@7xG>AN2S>TnxM}wz=%V%g%g>>*SkZ%n>7W``P zao|J2bHK-fUk^S7d_4GE@Co26!6$-m0M7;A3Z4i43iu@OAHZ(_FVirxob$n}ffs-` z1}_9p2cHZc1fK$a75G%}4&c+kyMa#!?*l#qJQMsz@Uh@C!6$;>1YQ7sGx!YfS>Q{- zXM?WU<8q5&Tc^2f-7XM3(16;FZ{EQcBUm4qvW-{KJs11NlwhP1x(2@gFJ1sVy@FU>Qf}a834t|lHrvEwc+D#3Z3;FZlA@KSzzg@v!fP4n{i{OReO`y&^@RuOJ z0{mt0hr!E0ohQL}K>lrT%zp^}3go{9$NVqgJ0V}HnZ4NT<%ao6;JYB-6#P~2&fu?s zUkCm=cs}@U@a5odfIk7g2mC$oz2HBBzX_g@7Mb6D;5ESC0#66`!{gNw{B6kh0S`ic zDENNJ=YoeJKMnjH$S($O1^IRCLk6Naq$D-$07f|iyr~U?e^y`{x$d)Q2$#O z{~7#C$e(v{E8TeZ9o%2H z2mcQ0_j2)p;AbE|68wAcao|6I7l8i=ek1r<@TD%k8vGpOH-Y~Iz7_mu@PpvLfPV~5 z%k3gxPPq7Y;J-qh-(373@ZTUW$BOj0qgSRC)?CQXL%z0)HwOP5@&Olb4gLq@uXgbP z;D16s)5UYZ|AKs>i_ZlA8}dtBTt17Nmd^#qZ-6|yd{#5%|AD-GcCmK(OknbhklzRO z(d9E^DQ}ga|D20__NjLHOi^;|-&i~7Jnk`2r!;sh_~kBM6I?zUmZqqoi>HIfL;W@` z-UYk__n;hIs19x)#OWIIl%)$zKTc1gt&ZdL;Phi1 znNF&M_bac(BA1#}dK@nx@?ivgk=G8@Hn&R&nrm_T^9$HQs9COkL;*`fa-5}3ziKe(EPI;`;7xMhpUOO*Nd8{)C^88j* zJ1obp&_Ipp~*5q4gj@>u6i$n#6}?YubUvCjRF=a+uld2z~P z9ognk|EAbU=Ra}EW1T0Vek$a}DW3vP$MAHa`t&0gamr(zS0P_V!sc3>@>oaCWs%i| zyg22tj-11xd_BmEQy%NcIS|Uz@8lv*hIQn*Ipz6Jvi2zAl*c;qoR0FeFOiElWwDMt zSE4-sDaIZ}obp&lj^QcKe`>Jv;*`favM;7QpNh8g;*`favahE+pMtgX;*`fa@?Gte z=Tn$=UYzn+N4{&7@_dTR&WlqX>(u9C1IqKM6gw|Yd92eM^67Tc`A?kkSSJj559Gxu zk9FEZ-V1qg%43}#koQ4eobp&_0Ob9U7pFYdxfb#P$cs}R>x_nc5c1-b$2t=sAA-C% z<+08b$cG^>PI;_zGvwtQ3ymgDd91S#@+~RI7jepCo!cPaO2Xz^obp&_738miyg22t z&OMNC4S8|OW1WW}-v;vHl*c;qy%n_nw}reo<+09osNW9q;*`fauRy*%Rq|;*`fapFzGeNz`$1lu@>u6;$Pa+LIOVZU zKgeGLd2z~P9r@l9db|cgUYzn+X9U!*8WR~oobp&_I^>5(;+8n&hk?uYq|o$STZ~g4 z>&%Dx*Fj#K@>oZ{Z-wfQfV?>6vCaypp8u6B z$d7}(IOVa<`;fmL^5T@oIv+!RJmkeGk9CeiegfphDUWqdLp~Ss;*`fa=OCX4d2z~P zoj)Nz3G(8U$2zekoe({~H$YyT@>oZ{mxuECkQb*s*0~Jo7eHQ|@>r)jkNSWjgS|oJl2u#IikmRCgjB_k99Jj{!NeoZ{kBR2@7RZZJem3}Gs6VF|r##lV9rAM_FHU)^a|h(-L0+8lSm$oY&xgD? z<+092$S;7rIOVa<7RWDzyg22t&NGl-1bK1FW1U@)UkrJ1%43~(Aio6i;*`faM<9PI znMm>fa4{amr(z z9LV1Td2z~Pojl0j3wd$MW1XpxzYp@_l*c-=Aio~+;*`faiy*%N^5T@oIx8T5Kjg(J zzXAL%$UjhwQy%L)0QrrO7pFYdc?|LoLSCHmSmznYKLmMk%43}!kbfBR;*`fauS0$l zE9_t)}{G*T;r##mA4Dy>HFHU)^^EKojgSW-vW7Y%441L zkbfNV;*`fa^2bi<-zOk1PI;`8Sjq`eek6v5tK2A*~NDLSCHmSVz7Ok@7D=UYzn+XA(@$%a9kRJl2^8 z`5llKr##k~4f$6fFHU)^vk3A#AumpOtg{^QyC5%4d8~66}$ zj(ndZE&tacFHU)^^90o24S8|OW1Z(A{|4m6DUWq_Lw*nB#VL<<4nlq}-2~GhmaSiJk}Wo`HvtkPI;^|3i5{`FHU)^b3NoghP*iC zv5tJ-D6K!AKwg~kSZ5~GKLUAi%440ykpC3&;*`facR>Cq z@}EOqobp&_E98$sUYzn+=UK=fhrBrDvCd17{{r&jls^vsD&)T`#wm|=_Co#y^@k99tV{8x|{r##j<2KlccFHU)^Bi|cK>*p!Ri&Gx!oQ3+QAumpOtn&xt zzk$3s<*`m|87D;3^DX4XDUWr^LjHTmi&Gx!Tn_mkATLgNtWyi}KSExd@>r)KvV_uzd&A`@>pj8{IOVa< zwUGZE^5T@oI-?-}2js;mk9EdF{!hq@Qy%LSLjD5e#VL<&%7xMaYX& z9_uWHd`wJa1aZn^oi&h;g}gZBvCch^kAu88<+08N$XA2BIOVZUWpkS@6itSFHCvt6 zGneFHx=P{Uy5@Qi57Si&4>vT|n4iF|>rY~jHP=IVn69SrFx8KT=@F;;nD5H@ptpaXEnx5YvFHZH( zfIrW}l>e(3r~G;Fw|JQH_Jho~#VP+cn|+m5FnwZS<|r$zpfKOL9w$SE+0zQGw9%P` znO54Uf&wcoKaXyt4am+d$jk4ZJ0|a%yg@k~$Bd_3H_FSy8t$^D}eDX44$g3^}6}Llbgxv&{ms@4+krD=jN; z;>7G+v(R9?G5KazjpP($O-aivEX>atHM!8#{?A-$m@?Eh394K>bz5#y|KTOo+@SH} z5Y2Eqbz5#ii`vw{{GVuk{Sg|qH$Uy{Tao{g8agAk;{{gB{Hlcck^7hJ<@LrWsi%KA-|u?!JG{vF zGFi8pU(&FietF;6ood1A$8Uidx47x=%WqtqUCz08ntr-(xqq4d`;5{3>$-2!%$iGQ z=c?#`8DHRGGeD*$(~{ShwUZ!U>+!c4|Nk4GABLhTdi*!dZ;G3Kx&O#oxRG{n<}yGnSe>O~ z4Q({uffn??Id}Fyj8Df-#ZCY5HBQwhdFM{kU(x*N>8H;iDDM83wKidMX=nc*`A=s{ z8z}Dnm*3|kAK_8y{wtXuegAb#OxL7Q4)Fb}hwoq6S}yk=Uhh;LNyW^C?*DT0qwk+S zGo!fs|A+7YAwE8%8g$WFkAdRm|4zRDNwk497rOtd=11Q@ZQrP-p3jZl4Vp{&w$8Qu zFZVCkyju<70+~5AyiO)h}fFg$J4Oi<|$%{mwlk!SfHVFK=SoKZ*ZR}k)54Pi7f&$c3Hbe?fG;H_-FD}HPkMUL z?@vhyc+=?`I%{co-;o`n;&`|SHAgq*8Kcsema;1 ze4F_>VtyK#g*(&yyk~wImo~49F+V5GPZ!fukC~s!WzB1S%+ERVGsf)aJ~uzZ%|`a9 z`59Hg97mg<8_i@UnT7nQ`RQhM2H%^XwPr)owX%6$XMSEZO?`6}^E=aA)y+!vv-$ZT z+5C;Ay7{}IS>YbK!u-9orumziX@osyB{-2{-p^Ruyym`+sa@CnEufz1%Le8(XbsJI zq(`=xAOu z+{K(X?`By;t~S$U4oY6`YhITzz`QnTka_)zd4lrvwdQ$xhS?uvncf;>o>Q0uk0!b1 zy_ost`OXxx9A}u@yztcPBHNS^U-A~PHaZZ@=zca%>n`LO8D6}){ah~~LmmkfG zi}$3)Sid%jv1XZ#UQYWM>zST0R`!q>Yxd|EtKUm47_2JrBtC9Jz zygqx)&+%BRx%q9M*}dYd>f__APZyip<^x_IdMnO)^-P?VloW5>>yNkc zhs9g>+!Aj!*c@-=nh#*P-F%3^f~F;`%Z8V*+TU8jO5IVydhKip%U3_antxq_wQo&= zm1JIoI-x>I>um3m)|1OiT00Mww0t!Zt(4J;)_q$Ot=BFjS`YUwWo154$}0CqDQk~8 zsr`^S@%d(jGFH!mGFG1>Wvp|Z%3A%mm9mc|FSC9vmaNn+B{s3%8@;9hq-B{xaYpD5>rx$!Rt+M9Jcjk9au|64_YK>f7+nQ!R9RKEW^{fwv z)wfP=YhZ2M(9k-tq_MTAR8#wJqNWYaCDCqa(;|^eY)k^(h>bB#X0DviJ&27p?PoSd z@g;K1GZ=f^m_ErpDG+b}Cf0dBd~9OWEwlV7!lj(wIh0lJoZOlzGX*_5~jIUzF zm2X+5RhbrLx|?n;QQxAggqWD_m14|5$y9T@x!FV{`XSdgIhJ-CrlWb2Z%+Z=ZRBc| zSzvM2ZRY=&n7_)GGymJ$NV?rTKQFJadD`{ax#M$k3z|>O%O77bDKjg(dDaw9IDJ~i z6n|QJT6%_g_LrSmkexAVa?XU&&Bx^x6gDf&%bQTpd~8-$bNh*4(BCY3!kA{$!oiH7 zzlbL1j?c}TnoGZGo|Bt3Ve;tg<`Xls#?jNv{|k3rFumY^cei8mv$OLH^9syj$tlbp z-+Xj_&Xnx@<^}e7gXRVKW*e3nLnk4~W*85xt!mCu_|XxV|NUq;4@;{Vn1 z)HCKhz|QPhITNS(yrGQ9ghwVaYg}f&W&amFp)~OYjnLGVIk=FM%Hl>;Q*T?Jpn02M~*xbox`kKMu7&`k?n3I>= ztRUOIE=XxMhE7`H?cBU(^uQJ74Dl;);%dBSu4U zQJ)GC`CVMpr$0DuHs$7G??oKo|IHzmxs8H1zRGJ!lRT z)uoetyG+!1S|W4EWiDl+Ue`p@pZ+sGR!xsN9JBpn`#SR9NPDnM)aL^bjbnG_+rDA{ zm&g8YgzO=6IA<B6od~+-4T!ow~b7q^cg>&VRa$LwmVdp;SG;?|} zI|64u?Sn2eNUIY*igIj5F2gj2dCFp6$jwumq6?jepbI&!Q|4)leIYkTpGB7x9wIkS zhl(x@c!*r?i^%CKr~YM}p(}YVO?h*WRdi|3L*(WuRnbNIl3b>lemRH}uCC)@ zayr)`m(e^xP6u#u8P5acGVetB;O1#u(PcWgd1_a5F;AQ93)P{6L%BT21LQRY&Gl0} zOk3boaD057Z5jXafAKe#e;-WX-xU6bKW7yE`6AK@E`O%@ul!MhmMtwaSst>8+R1>r z)_XEqrZm261|;522GliW@j~l09oqkI$8T!JrJ8!W+8Luu(e}x?`L8|V)yDNSQS>NJ z(2G2tTF>)MC7Di|ewubY{nV$rrXi~;?`qbnU#gq-`=`kCVb>G9LSC;P zSQ%fgm-GGW@vE8hP;`mvZF5`3lk2;TnTL83W$_Z^@nt(IzmxIswwgrySCe>rb2`Mn z(Be!rKYIC5Ot1Si!Uo>CyhS(QqVJ#f1;vd&jvv3rU|bs1<2%pu(z4R>MqS@LB_-v5 zJSXW7wg{SBO3MHFImy#+I}<^xL_2%1o%vjy`qo;rFjkp2o1`t;eCPK09p=Bdpw8^X zm^KTmni(2v=4!1u>|C|5q_uhNO@r&qK4rypo-@0BMbU(lo7cv@QPO(t@>f@^HC0c| zHt!A@8B?!)%$(VhaS|P>ymoo}m9MUly3=o{eYXCY9;bVs?0-CMUcxU)?Oq*SY4OR6 zRn1{&rP8IXy9Xx3T&Uc5-KtWv+honD7uTUm`;}RX?y%xIm$u)JME6uNKB*n$POPkV zF?(67`TJrk#>-TE_FPQGgfq2I*FV|g_}tx{trzxR@UJ@mONCXdt6HzDUKYPET>0Banj+ruZelt5iXUy~z=b=r>HGk4h8Izea zA$xRcs+q&~6{$BXl_+5)oRldx%dImlHyYddoXH_(`{isxia96c#GL=-6q9qB%3c*? zn^fy)ektdfoKsfLZ(1bNfrFgBq6)FSs!{XBJEyYr=_`9H5*u~is>CW2Pe`N#;1cVp zfO8(pt{+#eQpk`qT(@$+qT!~MM$2$~jZ~UCI}=|sb!yRYN-Awc98XQ9dnxfp5!6oY zQ8Zj9m8Lj0-d;YjiT0KK3@N@zsxx}i$X%3ZRI!R_I=k-^6NV&BGdJvQL&DI~Uzjp{ zW0-v--nsjP;c~ zNDx#A1c-zpp-Kq>LXj!~1VL#A(GV454^{*VU`2ysuh_ey*ehS#*DhB6=ScXFfm z_`AQ4@Be+>&*$#WJp0UH=ju3sa=7e^Kd14Hz?R)vd}RY8R`C}! zDF9T~M0|CkocUfwE|d|Uid@v-Rj?&goXqUtsNQW=R=doClD9Dlj0WVNS8 zMw+O|W*KRw%YB9aPUG8Q@mDo@#r5rK>f1FkAMM+# z&+$Jb9ZyP%zf+V#T;+0C5~=ChhFH0}G`kbuhlnn~-7=D(E=o50Bbk8thFGcwXprFmA;^znF3Mw;kaf8PI< z$){EPi%sBP4xP_St>pA#%D~IgIepk(k&))wz^nc-kVZP15&wFVXIumO8esRJt-a9z z`xh;OH)X^e_x=7$jDf-NZ#QWJ11y#4JF=p6A?U+dtXKhoD|F&rvQ>N z@M-rx@b3dyUTOa3kN>F2eAoQPE${%Vi^}*53E17GY{oS3lR3r%ihtNDUawXgVMoeV$l-p&Xy?S@@KF)^wLv^C0UZ)Plov#@ zAU)|18|+Fx8w&a7U7g$;E7x&y9WU1ja@|0#8_IQ}T&sts8_968T*E(6ur!hD6uE9H z*Qs*dOs>_V(=BAUrChg?>(+AJMy}K3`Y^d}E7$4)>U0^-kn47G-CnLU<+_7hca-Z+ za@|?3)x*?B$ncSJ-Bqr;$@Nik-CeHnKN=XQ%e8u>Iw-^0a-AdBJ>tp1)w_Nv;>tp5mIJrJvuKUV$Ke^7A>;7^*K&}hq8vj&=JHK*0SgzG0)hEcXS`U%o zBDo$a*Tdv`xLl8r>l5XAq+F|qtVhZ4Xt^FE*JI^+oLrBW>yzYqf?Q9O>q&AwS*}au zdWu|^%C&mDdYTMRm+LaQo*~yW<$9J}&z9?x<$8`>&s8^98g%jbKL7!z;O&fUAXV8C z{OS&i@9+i}1LXZJ*BWcbH$Cw!NMSF&%{a=HcUpYYyQ1oGk#|^pGm>Nq_qIwpoRZu6 zPVx-vTQ|O<22ZMVA#2}eeBncxF6uG>niwuRUhuqj=J45$Z&*WfTP7VTzG00*i!;}Toe)wE_lq~6isxJL{%*W;odOJwIUUTm$3nEn0)%niElRE~ z3g*@Yv-jmDVc5SH5+0#|Bhh;u?uk2fxUY0kX(1?6A)hY3&8^@nQ&mFn2vZ3<-a{q_ zy6a4TbVk|h5^MH`+8g59>(bWP(@8SwNwVKflHn#%E@T{KRH5U2@6)-dc)P^V{q54N zxSRe+rXy}F4 z$2#O+^U*C+eD*)*p?{ahcz>juf6g1jzwG!Idc4PkkwL1@pPZPe{%6Pk)f+S-f2U(F z+%N_h$0cG~j|JZ-^(W)GBq`NLQ#Yci6B8RHCMBYczL7xYJJ4(8=vFb5`R&=j=TA+1z-|?-@qXwN@7pA88 zn#T8SbxD3}tdBOaq&`GT==7)stb)VNUh9Kn6997CbJqGC(P~pZ-2XZpcnRkD1x%Pu z6C#k&77~s0jcz$EaeN}4FxtgBfmGbn9s|&Zz_Oz(cL;Sd#Kn%_Vn|M%62T}uh!koc zOVcIPOkrw9BEm<|Lc%aj<$FJwMshnvpfx`a_bH;_U_4niNP8|=a8y-5;rcU~Lci0x9c|0O(oBx9xqbHq6U7cvx7bcuor@C#H&;47} z-Gd1yMUZf^n?eUL;p7MsmV`@K5<$ZMV{3IIlt^ButGgX``TmXnUseO1;NH34=?7P9 z(Rqf`e(pt#^Z%{6n|M#AB{2$fk-^e4h!QujH$W_jh8H)J-uv! zh0QKs=pphM5EU&iowsmqnY5z;c;FTj!<7+c08T;#Zfum#Ei2O|9JntE&+O~P-_92+ z{CE%E7uzh(k2iRIu|EGQ1?U|n-oTH4e&GJoL-va}KmHBji*2ASKm^)pXhvPUjQrYe zbCaPz&g2y5$J@&2PaOk6&wwvZd)UCFs}q++3TGzQGxKNe_VH+LZct8D0j2;6{y6kD z78pxqAYQp2>lP@^Bx&GZEE#S6@P{rWF$`UEiEb787s>rG{zh_ZN*ZGf3I8c_hjBg@ z9;H`+P6=MdOThLrKF)ud+F`1@t$hHrH{i8W0_3W+0cq7Sk5N?scIq6UXP{UK`T)j) z7czlLuk7mDOV-ALqH<~AFOz;{_%r0z&9ycBfhx4q$ug`G2n?IlZcVCV1HNldjVpeA zP=tS?G!L>%*ZHZ!nL2LZFO|6Pr^&7H3v%cvfi@=3*5-iQWr@>=4HQwY0zZO!(rr%H zw_hDXBjz~&e3_l!-&AgWp>cCeglUc;c@-9qC>c9oWJz)1Nd+av&XVllfU>3ircYl) zg89oAmknDo&nX^STvFUWE4#;_;*z0-BMM7$^0G#h1cF%uM-;;*zi^bMFS3ybHM51)E+9a@i2TIjR+3(Lx;JH^Je ztlW~~(fLJV1{9ZocRfi_i-#AM49xCPQe4z;Oo8pc%pP4HHGV`vN&e_jqu?b5^A3aU zbxx=|rE|;XJLP$W!D(=$oDqfN3W`P)L8(WK3}!(=!Hr-KJRo`Uco;|F%>;SK>Z!v) z{fCb%C>hj0nAI!$Ph7^D?mxKSuwey7B}E0!l7;YWeVJDq**Pi`ubxp9?t%KtDj`gL z=)vt^(Vu#*L>bJ=>Q`v#gn@X^xIjW%l;1RTuzft|53!?QOw(*2$YTAM&@UF`2c{5AOXP;K)gs%`+^s++q0bICf z!Axgvu)JhC9KzE1)5^S#1U)JoHgGt2Q(C?lTN+M+GNQ2m@a(*tl2L;TMh@*)R082~ z!Mr>@ti#b0G~wCib)-N~cpYiz@Bt;oqed1E8zf7a-*0@uNN7OAN(SYJl+)6q>`JE& zShQf_z(uCp?cpgrR0OWV(Q7Y<&v1ks&mbxUkHQoaH!`a^?|4> ziC{0SaIZmx2w)iLrVfZv)~*>&q1!fpzjV>?{q)u+v_t?uSDTBBGsqn z^z0GRr@GBEAWs7&`S5O_=X;L!%43D-eMw&7{KX>{l!tcw@On3P{5kyx)6U;JF%}Lq zdNzHqRq~J?5C#D_0x+ljI;R-7_GNQ|s|`HYx|xkEfK$3|J*El*Sv~Zr!A+|Q-+xRY zo=`?g379j>(0=1ehK(NT;LhSaw;uoe+~hU`_xM5o9sc;a)bi}$IA`i;brvgMJa+!{ zk?`7>cPxmG=;1FJSELo@rH#z-bL`J0QsVmeM7=z?NzeV~5lBk~EAw1bT0ZNs- zUWbmDNVU30CA_`R%YdfqMbiRu(P-!VG76+0yw79C&fEyrjHr zaS80i0Y$l*txBF1%?Poeo+A=^7^Nqp^VB9gDBIM~e#1t?xeAB){YH&~aehe6nbU%0 z$K*|mt4{ja*`_|NbN<}&vKb{XGMxz(Qc~P+=!hb?obcR-${JZVllCem4{y-!9x{-K zam;Ho@~Dm}95cLRX#e8up1rWYBkIwkDd``PtmS3-ViKD%R8kI8c{%e+=PxOpTLNQnR~2#)U*HhuPAu_iR635OHQifrfp(Uh(mlFt zEpr#lgvwl6Hn$uv!*tEb<5~>Ib;hE3CG(-PfL(H6Lf;Wa;f@(zI6!An@3`0*RxoZ< z|G|YLN{00)flk@#WS}#{p&Rxiln8ZBFD~Ht7DK_X{B?`uHAq<`SzC40sEUVOpZDgm z>HuVyWlrPtNY95Wuo8XgQ8pir(kOU`Ts1yycT`41388XvJDY`ad{-iSOgu>50BVpr zDWQnzDUI|_(z(!n&b9053ofX_>5IA*Hyz9K#QjT$66rWZ)8d9jq_q!e1P^rRh(`DDpl-UNAdP z)f`lDKwi?yF@u}4EI+twT{pOcL^$Hq5j9Hyp50uR%@v--#DRX#oGf>spOf2b1YE)C zEAIN$8G2&LGdEI50-{H+#q0Bxx?K=XDxQ|0uL{(;9G1;Xbv{G0v+{-pt$P5ndkDFS z;Z^{Vi>@lKt)ddFs?8=^pjBI*r?2zs81`yb8iw{Mr)e;kw(do{R~sRfXg9WcX!?ro z)I~7egm+C2O&h!L<@2Y>c_TwxH;yl%T@5aqJ#!XJCjpMh3pTf!xOqty7tdXa?Ma{P!`yM?v<+U(K_1lmZ|DRLe3L#R!9Mi5oVU)yK7z>4S#D{IZSSg!=P$J zp*zS4dz&w$;HJlxm;TlmM*0?BO7(Paa_D46k41&Wqe=>#Q>QP2D+?ToLSYI^2KUsr zJVHhM7jv1Y`34Tb0yA~3^feM8@9*pX{N#qd*H3ZzFf;{pI6t|`32VfthX%+uu0rPp zpmg^kRtiEmKRN4!4KZiOU64@S@WP}4Fguu9>gQ(+UL#ZrG5w+Zz4=e(zXX~8xqm0P z{`HIUtSnz_@J;a4=zv1TWQGEL-n({^uH|^HA zYx1oRSNjdy^C!H15<=!n!Bob+{f@rDGd$BWWN`T+hP5x;oJNYT)|4J?-1Z;y3OA>Y z%Ga(PQxDO@!?)9e`u`eN$HB`)#gp~%sf*h=82&$nxA$C>A>&VY9VR>Bbr?PTxO)8I;sffj6D>Tv z{*#^XI!|_n)#H!-At-Pp`*LefX?;_*{H$J$CBD=hwqO&B8GXvjK-e5l^Xu zt9tnV4<3HJ1oH`7B{StxTW_bqlRQX<{tCCR`wX9phaaD(gv_^QT=R#_E~ij6^$@&p z7H08>9rfaIw{umA{ptniI+pw)v&eb7{dHz^GdXPD@P>8fpi+2}W1puKp6uA|Md5YpU*YX6FU|QYrXIY$>!5^s^r>>8#uSniGQS`0 zm+uC{DBnI`tMPG?WB0@A&EljwbARESaCo;P{5U7svCm)KBtO})`=x-!?ej=ajoat7 z-Ws>hgMB4lx4$yS#ctOHl3!QPqa~j1thSoQWQ}*U4$VxBe*jOI(`BKI$anTB?5vit zx;j5s;_1$ZRu_7a#`nlsQ)EQ0Hf#JdtH@h4-q`a0CXJtC4QOuDcriS(PM6&pZ*5i4 z0~$XYZ^)44aT!i`@cSWjc~;|3TKT@BaW(mam*OprKZ6 zru4nWldY!lo5tg;`iYT#r#thl3#25CKMQXR)1{flU$OARG`=~3vSE?~jjyusZW?cF z*~!uP4yzveX#8}myy{K3znVH8dno{c)m{3cqe$JnJ#4-|I#{9&C|G= zHpEM@MB~3%^$DLefF<4e(b98;#&fLWTcvUMbU?^*k;X?`{3|rR%d)>!&}eVM@G^urtCw%X&z8h_ftzts3= zRz3fq@!ppIziT|n>NjF#`JsJT?G$cd!;{T@yo4xo}uwqE&u0h ze66L!r5ZQidonqkq4DunKfhk%*I38vT#Yxg^mehv@3r_>YFtm0WU_U(X?%}$+;7(S zMV3DA(zqp0=YEa1aV@LB;~Jl7)&FxEUuWszHH~Lj_56;;TUt8&MB~?44t=HZe5*hI zQR9VHz5Su_2Q2&WW(h2C-nVdg!9?OSzriqb3LQa{oc&^R4>)L*w}U zC%VMT{L-D*Cpk6RX4z5gD&6U79hc^sf4g=5JzV2W zt@`h*@gbI;voyZf%D0!s+gtUMukj=Pg?jWjqkRO%Os7f`6Rs~JVWEpSo&O` z@o%l;xJ=`(TgPRM#(%VQdyd94t^T1};}2TLYqQ2Lvg~iw_<2_Uf3v}@<5H{fyRGB$ zpvFtBcKxKr@3s7YN#i$L^{m=$x-;CXN*Ve{^WU(J`@uk-Bx=G_T)^Wc><0~xuUX82sn3wTm8t>*oGW49rpO^idxAS$4-*4G}Pvdu6 z?dU%mf7hx{b>2#MezEw!YJO|$xTsIgr90}n!Skn))J?i`f#qiljW4(KnXd7dta|RE z@qon-X#5Y^ZoGVt(fF0t@$IkiZdQ9K(s&E2{~WFHQ>}I}S>r)VS2H#KzSS=+)cDtO z>-o7{<8!U{sKznr&P!H%snq;gmY)}D{Bf&(uF&{Ci@#0dBdvCNi^fl~{NJtd0hXT+ zX}rcOk_O7r(y^?b4BFS7VoYJ9teZ_{=jwDN_|g2Dp%TK!wC=7)TE378LR{z8ktSK@X5 zcX(d&)qOtCsn<3Bvt{R9ZD+bim7z~0p6+~S`Tt*uTPJ-;@uSA4T6WZZ%$81p)h^WJ z^(~z+@C1&N_`JTgUetZAbk-<{8^0@pR`2tKYa>;_@Wyks)-A#;xjiZjg9O2R|IY@cY>KFRgvt0}^lPyk^9YsRzGOTyUB-eS4B;a?;9p8C!8%5I5!=Oc4n^>{sYo&`LGJm==tlzNd5=EUho>l-wV_Ar2UGN=t_8v{Cnp#I8lP-l>>4a0m3^6S6Z+D^7MoUQrU z+HSV7tL6-1M+A>4VePF zxHjBF8}6YE_t1uWXv00Vqdm3Zp4!o#+R>gmpPt%YPi?QKw%1eJ>#6PKYJ0ibUaq#6 ztL^1#d%4$ zrS0|7_Ihc1y|lev+Fmbhua~yhOWW(E?ZIq4DuY0lwiw9LCIea8W*|!&g$a=iS(^=H zX}f_eZ8(r+EW4ka4j9XB^Krj`9Wa(=?fN4$TV478+hp7$IumYxK z1x(Wln6?G)|Lb}-tt()fSHQHdfN5X>)4~F#iNP0CO>(0R)5-#-nFUNc3z&u$FfA=$ znp(iLwSZ}C0n^$7rnv=7dkdHb7cea@V47UOw7Gz3bOF=q0;bsoOuGx1h8Hj`FJPKp zz_h)9X?y|G`U0l;1x))3mIw;!>IDpB)0o(vf)+%mw zDz{E$XMsD+QInkp0_Nz+&I18#E&2J_RK^s^++kymqiLi;*~1LXm)*+10=a>-m=rcD zt$V1Y&%i|(xVQn5n=jgiy_gpEY7?fKWOs#L!CvSpgQlRS!e!0Fej`tF;B-S)R^f5gQgD*nm#Zn`#?|!T7-?VAP+qp zF?0cgU}NX-JMl1t%00%ckX6k^Jl zN~UE4wZ@WTV=2Pl$on+q^KYpRS>Blh~Yjp{GC02#sajEpO4n^3*3iJlu0g0nQV8~6rGzc-Y3;VDX5Yro#K&mmnKyC76i-4F)Ad3yL9(86EwI&Hs za}3JKfrm14!t!v{phj2c1f2O_pOZ)jTBHrkp8N&#_t0Y;~dY<>~qDyqQzX z<&}K%<~%p%1+u-M44LbpRuH2f9x=GhM;@Vf~{|~{>B=~0p-$d}w34R5^zaaQc1pkuYcM;sQW!(J;!T(G6 zFA)4|g1=4hZwUSw!M`Q=PXzyt;4yv`!Q=8h!BYtS1Hlg`_>TndO7Ncuo=5P51RqH7 zp9wya;HFQ*-6aI4^)r{?v>uidoR(L;r=$9@UrD~^c_6HZ-w1v+u|w-&C&7Ow{Cfya z>){E4(|Rz^@nF7x5Idg}{vm?@L~z-u>wQP*fjHWs^>YltY5kbzb&&7Fm0rwqbqEQ9 zPbGHz1YbyS`tFB$zZa>ogntg<#}Qn;SE7zfJi%`w`~-sUCU^saoA;3rYDn-`2;ZC& zvB)11Jc;oCOYlYn|Bc|u1aAO$eSz@Dzfp_c)ZDrUXBh@KXt{-q%ok z^-j0)V=Un}Cw%i95<)EqehT4Jot!~%T5lT(ZpIRr^Q8oDMeM8hER>(E34S}_w;}ig z1WzOQvjkV~s;lz8LGZSO{|UhlC-`>+PbavU@(&?e4~^nfK8VwL=t}SmVkej2?Fe2# z@b&~BNpLy`!4!gbAp8Xc??~_!1n)%fEd=jO@J9*Wh2Z-LegwfkB>0g8|AF9L39g>! zSI6CqA+aWX@m_r%MfmXq?@n;_oWHVjG{I8|pFZ2yn&4)PiaDz1|COB}vD1<8vkBgn z;A&0-<+pk-K-uX*__>5n-yu1c;JJja-WO1I@(5l?_+~7PIS(iJF@&$)BT#mF6WqL4 zgOHkgLHS=w>>Nw@>iq&`=Qx7TBmCnDUQY171Xu4JC_DWKzKZbk30^_){sdR=BPcrq z2)>E%3kZG*!3Ppty{Dk;3?ldz!XHfV8wp-WaP|IzvU38#?;8kC)( z1b>3?hY|c)f)6LSdf!3W8A0$j2;W>=;gNrr;3ElNy$7M}6chY&!XHKOZwNk`;OhMd zWoHb*e<%F01otN>Jt8!Y;Oe~zWoJCW8x#IX1aD682?ST~Qz$zV3EqzIClS0e!OgWN zdZ^yBPtsK{R}%jF1V5eNpA!5Gf`3WyRRsTz;HwG#Gr`vo{1Cy{5?sAMqRO?7;E4^q z{^3l5rx3h?;4KNhp5Sc>eip$q3BG~gM-cpMf~)sUl%MAiya(Y|61+FTHxk@Dzm8B9 z!3Pokxdb0d@bd^>Oz`swKAzy42wp<)3ka^>Pf_KnCion}zmVYg5n)^qx`^PX68vI< z<2QA2LFf{KtM^tEeksA#dn*dRjNsQ3JC_rDm&WlnhnkZIbAx-ugkMAWdkKFt!C%mL z2S|HG7`zMMl>aWVA4B+`5&TMm|Ciub5&SoeqyJYET)ig(*W!Sid(jYdS~bMAs-J5J zU%d~a_}3D=tL9_5wuHg4T$Fzdv40)m7Z7|a!A~IgHiC~P`1J&zM(`U5Zr(dZ=thF8 z_dZm4ZzA|IVrM(S)q5X`zk}c#HDA^z!7n6s?tr|{haWCi6Z~evzmed#5d02e|5k$U zCH&h6{ygE|PH^>J2F$w#KHL!o$Kyr$pAh@>czr|gUBr%h&qCGDodh@YxFK{G!JEnF z!xbOv$1JT0UQ75L2)>)(>U|1j=Wc@M5dJ*`??v!E1Rp@~dkL=Ik5Kx*kKm&TAN}vE z3$Re*sE7Lr{|tgZK=5i}=RtyBM{rvIw-TI|_g;e2ay?1#hlqVMPapdEFu~0{M5vQT z!r-VA%Kx0$r+)rO@JETAUkOhA$LINRLF!|KpQv&4^KpW=Cj2J|-huG<61*fIbDEF!{070_Blw#HKcI1}|NUWbtbfY?mH6`(;m0%rA}k2KP4Gqpe}~{rHI9D1 zOYjWBe~;iD>cP7a{C&dDst3;__y>gFryhI&!9OJY!S&!H2>ub_kE#d9I>QC);bX#2 zkf_2xA$V#%cpAa!_^KDdKP7hh5&Qtbi|WBg5uA>577?7`Ha~4fZ(4K{4;`oLGV}|M*9?RMDQ;OzZb!&|NRL572y}v zgO4IOtv7RRj{Z>l=9<^8hl+aam}@2E)B4|858sS!kWcH=oLdq9uTBd=_gsTGtvAyL z+PLXM5XbQzeme`7pX>3*heTL#L;X?nlq#J1qvk19IQ6F;u|sk5KfCRZnXduyuSt1_ z5ji}+6jH}gawevshD5WdkE zP#iP=1@dWqP9l8jzxm(Xw!fJ0ssHBxaofI`e+qGGe+RMi3-Ny!!Kr=oKRDX?mGIvt z{ND(EpdS2df)}>nhvK^lPVJldKG04q@$((Rk0bbh>cPJu zI30(Zc|&abE%pDxh|@U%+t-61NpNc4%s*n=SM&ZU{Ui|oClEUnpGI(MU&HdcpaHSd z1pLMYp=U^YX(ds0e}>kx!R_n849!P7dx;(7;nD$qw7nY~x0IiSWLVG+y{^xbsIo)* zC4-|K%I~ZBXop@m4c0jNL+i)jXovDgXg=Dxos?^w#?cNvFB=@~Q2rFnM?2RNJF_&7 zcIbG|;An^P7ivD*q4#N*X&mj)>kfmX9m>~qSVAaoz8pTQDUxOs*XA$nX=h#gb^2sI`66ifsQLa79w zB~gVpBRH*RGe$+KsZXSuXGak~A6Kv-zLWTWsYDgtlGwkR;H?OL1HoGp{8oauA^2{B zrxE-?f}3Yq5!y>|^(_Deyhm`_4;&yk?FYUlIBmZN2~OL)?08@wx=7n;g03sXX}fMh zaM~VQ5uCQ)41&{k*M;D;on{f7wy!*b)Arbx;IthLCOB<(Bgi;SKN=uw=5B&Fmxx;Z zLh!>0-Y-T)uztD{d=|k21g|0IudxJwgq#=7AovuWZ+pNJ!r+|%qyEn(eEpY>Ol5H7 zQ#+>+zP?p2`36TmwPT)ZMSt|IS;;pz@~NFQ#J;{ICiw%HYVSb}l3Q#)NNh5`GiHH#qXCo$Z95Lih$pKDBcT;a@`d21h=%^CaQ7 zAbf)(pX&BS!f#3V21h=%qvq9zcNPI}Mfe6sKDDFf+gJS7gl}-hSf-;0 z-{8onb|w@1mlM9hkx%U`Bm5xY8yxwxzg`(XxM?STa zO!xx`-{8onc3KjC0pS}Q`P5E2;SVHygCn2XQQwP4<~$sBcIwSC;SnFZ*b&OJ1YtQM8Y>X@~NE)!XHWa21h=%Q$_g2 zgl}-X z@~NG@gg=S!4UT+j=LN!_O!x*zKDA@si$T4W5Wc~YPwl)<>`x(lgCn2XG4~14ektJ_ z9QjiS{w=XTH4Kh?YR7zc0qsvCe1jvO+G!Z4NXVZ~_y$KlwPWs2BEO9A4UT+jCxh6Z zLHGtoKDE<{@MjXf!I4kx98LJM2;bnyr*`rPe>UM89Qo8vU&23`@C}Z9YRBAn#rl~; z_y$KlwR0k|KbP%3E$wzr*>u&{sO``IP$5TQwV<{ z;Ts(J)Xs9kKZWoOj(looE#WUBe1jvO+NmV`a>6$_@~NE*34bx+8yxx6&St`2Lih$p zKDD!z@Rt(4!I4kx>>&J83E$wzr*`fn{AGl1aO6`vcN6|*!Z$ebshw8{e-+^y9QkJu z{7u4N9R^1}wetbtuOWPcBY!o)4-o#^FgWt5oo@(#9pM`s`P9zOgkM4U21h=%W8TZd z_P(C*4UT+jr$M|TA%6qm8yxx6P7}gEoA3>ed}^l^;h#hJ21h=%(~j^f3E$wzr*_PH zf9U@egl}-&z_w`^ybEBI-%WFD`&k-C`^E=^%(Wrf zPeVX221ompKS1xd?GM&C+Hb4FxG`ftw2!vTVsOML-}KeCebWb`{UePL*qXM9_Pd9{ z(LUv$sX4a&4H`%Lrmhe=U*l+hln&#@;Ao%ncWI7of49cb{umv`&4W6O_D|Dc+&rkm zXrJ;w(ztE^fX31O={k&?uXPyhSLrZr4373G-;6Es9tNf{i@|dMXlFp!nz0}9JBPuM zPwl*_IXz*!obV0a5wLLt|5b<4{#jvgw0|bS|IlINZw!MYpW1P{moJ~UxO6IP7cWxV zSthi&Y}sO``}ESqrB3&$<>gNIMP+kKyCd3NPh>YcIIToZo)>h8B@ z(yL35^XCz`o;mcoFIs@kcMq9M56c8;t=`455} z;qsrgQl*%p6Jq{&jO_ep0v0a+#X4Oly)_#<|EaJeT>g7?{1g@R`4Sc4qa7^=02Ckj|TYzC!LHN<-Qk{QW3PRYV*SqE1IT*Iv zzj=r0Fe|<7|Ie^Loc~=`tAzCUr2u5|H|?h>WRCgU?SG$k5N*@Nq&FD;53i{PlH0d5 zII&R(T!)(pym0>SUaiu-kfF96V1sShWoSj68TI79>}Hk!6fG>wAJ27m{%6#a|DZN1{gLr%Yu0xD%j?O1-)$h&MengH+jpJ*4_TSFG0pNDuBU9*`Rj*^GPZm3WY^LGTXFR16(PxqnvD2SiHh)_8 zY26o0J^APiT;K}@@MVOY+#Wd@8CeohYxpQe&m6!4@BxLatUTB=rQxcAqJhHaS@b#I z)v=FxF5IL#lUNA%MF7@qpfygw%qL}ZoW88%^lljo7nf&bE$cXUE`&467fs7wG6Unw zx@9a_ve-nRH|d>lr)Yi3Q(r&#MbEQuKl|E)+rGbN{Y_^E&+46!=j*<{``1+@n`^s?Omk#{ z+GZp)lkp4{ua5sZKC}Hng>@L*T<+_nw(k$h?4mu+P#!cInAv5o_9dYqaw`U9b~q?Y zlN-My;fVOmP6yQfjJ*lCzc$YA)KqM9a^vBvPaSqktlzZE4zpyax?w7y;~GdNJm#2M zISk^nWW1*0E;mIkJf2?@d$X^$ag2w>#yP2tD&jLc+@R9?;~}SYjdL5vyPR71ylBn( zdB@kn^bwgI_9>4NnmE<#yBsv}>h*bU7>Dc z@uUQZ&rQ!wP5{2ba+4Z5HDd0n+PH=;R=svG_@ee#uN_Civq*TE8?H@k0(L9ic%*(C zUiI4NU7u^#RyQ_z*HoQ;JRB`muT2x3nyUOmwW*2Vr^0HgY9LP&-cG`MNcd?I-cQ1x zyJ6!;q}$p?vEa*2f31imzN}0)zSP3!`)aBt9y0Nos$bo_YN`@{_V6?k?n=VFNq7he zPjJJL`f7N}=llF7@7g5LWYtEueru}cxVCGmR*-Nd3D=PDb`su0!cUX%em89Vh;&<< z1lq0I0ov8ax6#T~Zn*06pC@nhV!yh%K<)nG;b|n?m4thf@DLK7;D#gh((tMi?*vbm zDW#?*I&btgv6{rWU{&p@NnA<78%cOG3GX1`dr9~i5`N1K8xJDgRwv#9?MwOdcIx3D zL0I+`HI2Rio2IURBjKc9J^U~d?nc6WNVtfEC%WNC{WH8;?5nCadTnZ5vQu5@|IPUR zL1kLfT(G`D)_K~-6(n3q!ZjqkorL$0@Y5u`-whj2BHgBK+zj3te?E8Zq;33_gcG3z zhLc9ZT}ik%2@fIR2_!tn4M*yq;iYZdLHu0d+DY43Ny0TGyq$#iknqzayq|Xf9?*50P$bVWOUzs;X6Z+?qc&$5rFyr0SM#IugxE7{C zORJi5yc=%|a%*|1(5rt(&Or+1#lKK;mP2E3QK)g z&Rb>D)Fe(iWWu?P;P@m~!AMNmt4X|qgm;qgeQucRZ*3A>Ayn>w8dG^xC#`b*l>J2I zN~j&RPmU6aMyfYvLSL!MQIq)W!OviXV?2G^^{6KCOA`K_gd4#qNb$K|=QaYb6Yq1q z&V^}gp{Cq%LM~pvBv!eeUpvR-R8x7Fn`=#FHxlkc!bK!Jk%Z^EVZO&O0#DotdQc_K zZ3Lr*#Cho^UQ@Z!wOv!Wk%Tvs@D38bmxP}o;kQWm3pdR5w>A;{t=!}K>z>ytfBSic zcbqGe+;JV$ED3ib;XWi>M8XqEc&-~}dy3=k%FXU*wx;s*RbP1?{x6JRYZAZs``*HY z*EN+pU2kg>u}`jC(`M0X^YwlR%_yOMBk5*|Xr6G(Ut39lgGN;k~+vx@jx zg~4r#ED?joIB@|@JbTiNWz;*cn1mJOTy2%VXmLGLmD}2(u_wRRQBj&yoQzvR!t4z z_|=4Q{A$8Del=knznUXf4M*xJp5fDyb{=nRRIkeh^{YDr@2n$tGb+o$ zwyxRAbtGI(!dpoA4ibLE4gZjBtpD9HZ1sljFfweVMuQuUbHnDoZS{u9E>^v6K8_;g zeU9pcPhI?H=!Fj|3u`}sbF;eRnHu{soKJ3$?9|5p1% zOvrVdPOCgI-WwlG{w8meugSBz;^X7ttfNY?{*zVa&hcL!;|x94?y^^=tsPSecb>xoWv#YLB8c2oI!`&C*GH~Y2CkI#pHBtFiopKsEud~+YW z75Ud1er@a;@F~=$@z=vu+Sv1dGk#Z-CD_ZRD02TsLc*_kF)a2@Vu?T z>)R^3xfM-(sj(Gj87+GL?z8;2<3?X*Yw!Q7_}@+US9bpo+uvodJbu;wtc1)i%XFQF z*G_$!`75pb^)Xk+`mcGrwSR`sJw}Faw%lX!chhn6`DgjnaSmuf`A{9V?)S|0`j(BVDQe?lV&Pmj#f`U!i>=8vE)(gXeZ^lm!3$uW{qeTQ!06XkRa$ zoLrqy&@Z!7t5mE{*!P~dFQr*(Ec&SOsIF)ZzN>o4ZJv}u_Zd7=|7~7%T>sz9F+CfP z*w^NWRmY`{Fzng{pRamdt0tM9mg%DjXJm8iJLzNJI6EV=(?MC9+}PNd)Yv6cObKdR zG=L*`*VQIXZt|mts>S5Q%ueH^y@v`iGgSGiD~^L)RJb-)_^T^=^!4JgppgPMULE^F zOK+d>RaeAjdGVB(>WYphy77WQyXuNE&vw~~snr!rym<3d+5^A8%ip?bO?5?uxBt%k zOgIjQx%*!o*&OmqcjIN*9Uy&YH{QI#TFCDjH{P*T%j$})o4k0Zj$nV08}D)C5!Dr= zz5EMud%`(%ox8uF|1q$CfEyn@XdvuA(~B3M0Q(Evc-h!7u)o5KPdf?r4|L;8X3l{9 z>%DmS$*_Nr8?QKZDeOPXi?2Hk_78UB7oD{p_HXdw7n}pfrk5AL_#!CZayP#9^2^{@ z9_humUI+DmvKzni#v7piwtMkicR>A3aO02du7&!m@#2p>4E_|k@mHUC9Q@hn#b0^~ z{5jT(zxFElbGjS<_{}#Uzr(%wM;}6dlim0a2R?=TuJq#HegpQ7_u@bP0QOdycxvM< zS7o+8Ak}|*a%QK!GGuy()cBU5qywtQ&~2!CLjqu`^=IlfWZI8uH>SOqcJkQ3%#3}~ zO7*$jA@x4h+TvqkQsW0@nH+NCW8)zX?L_668ea~&G`Z^*8XuDaUX3((Zp*j;#5=h0 zneit=9NL#kmz&!@72;jo_@HJ95I@3=KXKbNsqvS%rOX|hotYXRf3&;*)TzyZf0P^V z+@c})2zuA{f9m*tYW%4wZoG5rR;lqbuXW?OT{@@6Uw?rY@7W_Y{;YC0KIoWUU@ymu z4=jNFi{1Fx6AEE}4=+AuH0)pE#%G>19`^V2;xo!%|57)8>dCWVf36o_x&-#0>c-DH zZFy>Zu2(;2Rh$XsndR=ko2_o%6FL;-*Rng{MZxRc*Nwma)_87Ui`xkz@K4m{HISp0e{Z*;@^G-{y_UMI#YePX%ne_ctW84EY$+^7$U7@jIZFl zYh>T=>x^eXH+9Bd#nfll)c6dMnV~IbB*=XY;CVTNs5W6*Tc(>@;b~`m@6^V9eJHJE zyzkf!OU~>Dln*>w zk7dF$g?bS_`NXvF$tOJpJP-wo5b`lze@yIbc)JFlS9ScuTaUv%F>;SckUX_#c58ey zSR}|j3OdjRAsLRzYF6Zi`!t*3hDSDE4&m4(*+D1nu(r~;vMQR$gvKReH@0m%<%A+6 zs0_f06WhJrCfLZb_&TRlKv=rtd($6VfCOvtZO(=ol4S-;^B47Q19Y%~92*#HfClg& zr~@`8ey(jaTv|HU@xA45Xc&pO!}qogyki6JdVoA!zV{TM(!cNRRlo-xARpTIedHHd zRGgkS*=bw@<+B&xXMPcY-A#7solR~qtnmEL{i2k^|H3bD#_fphf9V$warj^P#Wx)O z*M89s9ygBIpKtu)L=OL3zrY#pBDVjXU);vwfA1IXbND~_MG7>Ei2eD|FZyx#Kl#Ne z9R5MSxQ4_3*)Lw?@PF|OAM`{Km-koDKZpMt=%2&?9rVxP{{i~v@DG9hIeaHZw1Yk| z;`;H$h!Z({5hL)8n~3fEW5jJ7eoTybpTm!h5h>8`hw&$6hUw{ar|6515l_v9x8=ij zl>No{@OHw}2Z#+EdV#3r&68J&9h^>zn z*K_D&#A_V-SP=^&qKKUtC-5V15!1(uX&m}V;sOqRf_R8SpD4cO&?kv>7)eH4)X8EP zhh8F1=g_B!9UOY8*w3L)6%An&9C1;niC!G~bTNxVFB6w==rhFQ9QsW01BX6KbbvRZ zBd(d*qL@QJS*+#I=ZM=l^ts|a4t<_z4DS&~T-5pEI1YV*n8%?n6q`BpQ^eC8`XccQ zhh8p@Xu_zO#bO+XzC@hGp)VD8apGsR#Iy+WMIp|2O)IP|l` zs~q|U5z~xO)U!o4hklNj%Ar?^O&t10@gRp@CH~8ypDPY;&ZwF5#83|Xe6f;4-z2tk z=og4LIrM7Lpar9-7m7R%{UR}wL%&#D%%NW*9^=q272k8{mx)Z66C&a`WEpshkl*t0<)<^ zTr*q6SPp%gSkIwfFYe^fZxA1G=r@W~n2ROiqTVF(IrQz~6b^ldxSB)XDW2!hZx(-W z=(mWYU`m^aYvxulkwd>tRC4IIi+ecqJH&rD^j)GA%tRG&QSTIkIP|;3QVzXVY~|2* zi&r@GyM-Sn3W~U>_lO{ezDJaD==X~AIrRI)104GO;wujQ0nrwwGm5xo9u!3!`a@y` zhyJj*i9>%xyuqPADiYEeMSV=lTl z{)|}7p+75b;n1HG?{MhPi$?7jMSVf^;m}_cb2#*u#N{0N%i>86{S|SLLw{9tZqKNh z*TfhO{dG~nq3;vBIP^EfhaCEwqG=|hsQX1f4*e~$kVAi4T*aZkBc9{X-xa@e=zFe<04`&_5J+bLbz5104FtqGd-$Q9ls_IrLA(5)S=9`Khk^b%{I;Nf4*zh_KZlt~c^0ov0bNKB+{~UfM=%2&y0Q%?f zJA(c>{7#_%0Hc07gZ?@EE}(x7{|L}OhkqpKpTqA8`VTV7+YR*3;U5M1=kU9O{yF@k zLH`_n7U(~lQQiRPpTiG={yF??&_9Qt1N!Iidw~8q{GOoy97g@*g8n)DJkURf-wX85 z;U5F~=kR-j{(CUW+XwW|;U5e7=kSjM{d4%ogZ?@EzM%h}jPmva{d4&Fpnnd(Kj@#s z9{~F2@C!iy9R5Jie=ehb27&%L{K24q4!;oe&*7f{`seV6fd2Cs z&_9Pi9Q4oOj{yDmVwCqp&_9Pi670{wINlR^I+ehKKG!=D2B@53l>Dd?ZWp9=ct z@TYz&*7g9`seV^0sV9Mm7xCt zjPh;-{d4$LpnnekT+lyr;6 z#i0LzjQY6*^v~g63i{{pF9ZE^_?LtJIs6*X{~$(rH-r8;{3}5J9R8J{e-8gD&_9QN zHRyjZqrBIE{yF?>LH`{77SKP3e;w$b!`}+}=kT|I{tFrPb3N#v!@mLa&*9$)`seU( z0{wIN+d=;)Fv`0F^v~h%1pRaPH-r8;{98c(9R97K{~?U>-Uj;T@NWnGbNF|F{yF?z zpnnekPS8Jxe;4S#h*3Yapnnd3H|U?kzZ>+=;ok%L=kWJ{{)aNkdoSpp!@m#o&*9$> z`seT;0R40L4}$)OG0OW8=%2%X81&EKKLYya@E-;JbNG*e{yF@|LI1-U_45SipTpk^ z`seVU1pRaPPl5h9{HH?K>sH)%KIYdpTmC% z^v~hH4EpErUjhAd_^*QgIsDf^|05ao^E&9C!`}z`=kVVE{d4$lg8n)D{hFf{=1-m4*xyS|0qUz-v|A3_#c4&Is6Yn{~Z2DpnnekW6(c`{|V@S zG^2h#1^sjQ2SEQE{(nIK9R6pZe-8h1(Ek`ldA|VtbNF9^{yF@wK>r;6e?k8o{@0-Y zv5fM51N!IizXkns_}_v4IsETI{~Z1gpnnekN6`N`M*aK*`seTug8n)DpF#f|{x6_^ z4*yrs|9D1ue*^t<_`iexIs89B{~Z1y&_9O{vo<$6iBVpk5XW-(LWp@BzF&wdIQ$qP zp5^dkh4`Jrj}zjk35@!Q7h)2JpCCjPhu=Vm`#AiDLVU^LCkoMaBBQ)XLJZ~b8wqhb zho3COP7c4Z5N~t%O+f#X80Ad?{d4$DLH`_nD(IiXZwC73@SB7FIs6u&|H+K{X$ku0 z@LPfYIsDe3e-6J5=%2$+1O1mU%6k~-pTlnp`seTu2mN#S>7aiOKLhkXg;Cyipnnd( zJ?Njq&jkH*_#Ht19DYa8KZoB5^k2%TpU$9v4!;ZNpTj=_^v~fR3Hs;oyMq3wGRoTx z^v~fR1^VakyMz8Y{G&nt9DWw)e;T8_0nk5(9|Zk#_}QR;4nGI<&*Ap~{d4#|LI2Yk z^^*(w=kW7D{~UfV&_9QN4CtT3?+yAdW0bcK=%2$s7WB{I9|!v9@Q(-mbNGEh|1%in z?Fahj@bf|c9DaY$KZid6^v~fJfc`oBfuR4HjQSY_`seTmgZ?@ELeM{le*);A!yf|r zpT#I|5$K=89}4>C@P~o^IsDr;6 z6wv=%MtMs?{~Z2Q&_9Pi4fG$LpBna)E7OGtGgqCHGI5s^viK5WgmZyY&lj#{3z0gH zQ41#v(VxSgBSbleKUat?9R55ZUgq%U3*n#7DDMIxvN`;PLQLcEPZ6S;!(SxCBOHFY z5Z`h5i-pKsz^I=kLKJiOONCg+;h!qR9UT5LAwJ~rmxKNnGRk`z=%2%10s80gSAzaI z{L?}I9R3-g|5F&{T?P8*@K=NWIs7%Ce-3{w=%2%12m0sm&jkH1V$@Fs=%2%15Blfu z&jS5(_!~g~9RAs$|8hoo&jI~&_?4i44u2!)pTn;L{d4%|g8mmX%6lH@pTj>N^v~gM z0{wIN7l8gb{A$oYhkqgHe+i?0E&}~?_!oozIs8jN{~Z3MpnnekGSL50MtLs>{d4#= zpnnd3Gw7egzXJ5n;a>^*Kb2A5t3dx8{?(v=4*wd^KZk!U=%2&i0{Z9huLJ!rW7N-9 z&_9R24fN09Ul01{@NWS9bNDxc{+Bb#dlTrN!`}}2=kRxc{yF@epnnekX3+m>jPl+B z`seU(1^sjQw}JjS{M$kQ9R3}ke-3{a=zj&He(nVQbNF|G{yF?w&_9R28}!fN-wpa- z$tdqVpnnd359pu6zZdk+;ok@P=kV_b{h!V#?*pKJ4*x;WKZpMi=%2%X81&EKKLYya z@E-;JpTVe~$3Xua{^Ov34*vuel>gQw7KZpMb=%2&?6!g#G9{~Mx`2PX@S1`)^8R(zG{~Yws z;eP@8=kUJ-{d4$Vf&SMs%KKl?KZpM{=%2&?2K3M2e+&BO@V^87bNJtb{?B66&kvw~ z4*y5cKZpMl=%2$s2>R#ne+K<;V3hY4&_9R&E9jrY{|)rd;r|Z$=kWgk{h!S!?;+4X zhwu2sG!EbA7u6iT@QX({e7|3O$Kl8LMdmq-`ib?6Vh%sfFV=DR@qTd!ho9gVA9DB& z{35lIQQn4r(VxRl^ow#1Kgln)aQKb<;$;p$*)RMX8Rc#47ug(s6VN}0p91>l@SB4E zIs8=6KZoB8^k2oOpXQ){4!;HHpTlnn`seUlf&MxC)}a4$8RcyQ`seV|K>r;6VW58w zzb)vW!#^DKe;%W}>7aiOKLhm7;kN_*bNKB+{~UfM=%2&y0Qx_lQ9m6){~UfN&_9RY z8T8NLcLDu#_(y>LH!;e4B

LCtT<33+cP=Twh(<>W%>8CB~zUmEaB2YGKNxLg`_<*-ERRSvvn(e!NYCSV`CCWYu~+T*F`8#OJ7niebN0F~%30QoqevG^ zd2gY8Ij8O+xqRDBu0hVSD$ANwNq`OsoYd`5XeYN-_mJZenOD!XPB%z+ca}Ycue-8b%bIT#af9@O7>}YNQk_+hfB;8Ns}01ub4yts zClz>BwY+OxxehgrSreZ$;3ONQ&>=fvOb>Ka%j1*+Pq%i+vcYjkffwk(Nn^K!4%s!x zxjb}~<#EP|=V9Bs8su0%;{n-rQtj{s&kC6*W?N7VYFWCn>k8wPN+fJ?>ue9%)g z*?X`&w%bmw9rutt$J-%0Us}kiOV?zBJl6~FT6dSwzMNC{kX%G;C)FSi{=z$-QYy?oWs zJ>u1cb86~5Z4B?)H}R8+2eNS;TAjvi_1;yP#9kLSD;5g}_)Lqhv1kLbEhwVo~hr`4dVPQ&u6Nkt;LfO-&)jCA!c@*zmY@M#A zI?JhELP9$+@kNl-@=l?hn!p#WTS7a5w9rW{9rY3t+KJUvgoP=gox0xPi|t23JJ}f7 zAfclyQ-F@9E9J!YBcYv~Q_Z8wX$0t!*AhY93+OC+9>u#NS1VG@qa<|5&Z*{6VclOP_~YJbV(goSfy+OK5$h7O9gJ0IxaGGEYZ zqIT$Yi3-QL(4u|aLaK`6wW#o=sgZ<^OV!N<0i@8~R}B~})eTxGD<>6Z_4syjmc7tc z9V=T)^@GxJ_r*thM5=w1x*k;xn?gIO0q7aO(&L4)vTBE{>eeH9>G(0Q>_L(8ksMAV zJ*WT5z`EZSd={#ona+X_YC+C!l*$COS+y&k`&X>EdT9j9IwEt6A z!@8EeB+W}=QE^&5me2vZF1S`%I_|zGw2o^~3+1KbEOROgU)@A2&0ewQWwY?kAqhIp zvb!%{KZ}HMZv)<)W!7mqv7av|KaKK=+78(@=3d2x9#LCdq13)-?oz*q!-F~9WG+meoKYirCRxN_r(ix;av-5655w@ zsuQ8*zsV8`RglQ+_v<2Cq9yBU;Pw;qMFe3E?k3#!W4e~()WjK0B z5A?iJ7~Va>qtM<}gL+aZ@1EfC+Tr%42FZ6E;mgk#yok7UoMlh&cr|f5sX_8J$M)`= zdVr{IIbt$;B?5R;LJ1WiI4d$iL$d0yyB~*ai-fN+AS~~9HD72Gn zPk@agG?cGkoR_S4Qk)GoYeeu^rBwh)CQ!4_BFhBK|x1Z zrT`t!Z8ZC;_dmT~%B`p>4Na)vqz1{0tlPWtrTI_kxQo*^YkBAV2Ttmmw9g8swp=)= zcE%ajYMlz%lRzD^gH!9k$%W7*-`-t=o&<6%XeZa8CxILb+Q~U}56MgW z;p9~aorSE}{R}(y@pa4vPHvFiE!8;}IJtI459tw&*RWSnrw2qG1cQ#UOaZZTF$7M^ zGKF^1c){KOY8&GiK)vCjR>y(0ynB_8LVH&Y@&f_z-rZL_sRq?+!N~#kYzI1AOQ{PF zMiqGFg!jz1j*HhL>^NSTTpA^TQsfXmcW)-ms)siqR_sa9gj`Cq`IAyFCFnJ@1A~- z*J*eGezg`}QjJJm^1KqiozzHpe|3dCjz#g3eCY6Dw!FKa*GVZjsVkt+-knpAO}yH= zoe)tlHr<{vERO<>~i$rHmK*Bh4P0D6}u<)MFFx%5EpupjS@(N?CQ-8jf|EzC!lc zL;>EpR0XHba;4b|6#QgB>vV4n9cS5(UHpgu((JK`Li=(~JvQ-%?RIhvdgX-g?4g{! zzN*9c6|%=B3h?gPg-`O7j%&xO`uscr66W<)3hmuC=&^}MdfLf3_1HAtIvwxa=v5np z>{@Q2y?6P*sXMF6ju$BS;RB?{W79av!%rc=JKHLB)ZtTTCylwhvKs~E1q!{F17EHk zk4^l5LVH)fcz1Vsr_fI7v3-)KoYd{`BMX&g9^h$T>OA?zPkUF(=$$0^k_}R5 zU#<&p81Wb-vh3YSeqaLG;Wj0loMrBnz)1~~LWk@Uqve*4_NgVbPWytB8sxa=fFG(r zq~3uVCwchk3V7#JcIj|iuoC8dYJSWD-n~FE?l{oJPlTL3#&Dul~TPV@Jp?UQcfMaSep* z#Rm#VGoSk5Uv0t_^5`MG<`J za_uYwL{3YG9}TJVtGsWki41MLqsv!w+ey|vW^w#_NP8avsw(*z5jg2kjf4)z%9>r& z8D845h4Q7|Mgn}X_k$BFS3)~+22!MJaHEA%R^K9_m01@>x|1no_bvR03DWGd%@ROZ zaS}S5E>$?utR%EkxA}7N8%q@0iS<=Z&P5CD#QG{H)|Z5Ka*1i)QV%yACL};dt0G05 zFLxmPs0#9>4n#uxLTR+n>4A=O>eWlla^d8hdi7GXTsXPpy)Zr|xBNH@V%O@WgpRa* z!O2;62coyo;lvI^0(_17;t)_eI_M&ybzIBpK*|Y?q@A2obs**BLh!l`KLmp`YxPn> zdv^_L^|G8?J8TK%OC5-W_GKN-Tgu5<_Oq4d*zoQwy941TW{@6rAQBL=&rs?5iqg^Q zrG(aTTU7^APR=riB=~ZJbO*vodwX}w)aqp^kL;)hc@uP<=cfQ)S`{gx21%iv+{tL( zQaZ{qh1O9G@^LovvQ-#SJquU7qwlC$B zS4g+h2+ yrq@_WP=poT{}MIBdIPi&0Ffbg{ox=9kOdstCywYENfMyh-=5kz4*Bwc-Oq8R%e}yVND)< z$HT~Y^x(S#?Og@VTY{T7@!FTE!sToL-PCUYK^P}Zfdi0QP0YoJ~4iE4XMb!>{ctAp@$Hk&Y z@>=ylcG^kxrDOaRyC2E*xKsgZxmW^xc^g+3`#?u+Y@8X;y*_YqzWhke&mkeHIx`@l zLw0N7N?_^ekz7LSbX;)iW?X6Z^Mx)9f|J@9h4!VEplgCkM~~zZN{1g>Lc;V&E}@+? zEAW|ta#9l=Pi=ZwgLh}Sh4wCs^O=Ft8R>D`&~kCTlBL=iw@K*^sR~(-@x!rI%JtSKWGIVJ(5dk9o3-E43v|zto4>6 z>b1t1f$ylYM>p`DP6 z7MyrJ!j=vqZKrN)@b1{%qwq@ndiR^(3aS@MDYP#YJ+H`zj^?crTBieqlS|Aat^E-`m48erk%G<&a}*Y0($lCk3}F{8zw&*fhaZ0 zDkr2H)!?Ig{D?&BxOuU6DxDVE$<0d>xpHzoS>+X}o?a!iFPn|#RORHd_T+(|p+K57 zk&^)Lnq}23@9cghv=drG3vPLu$d!(*mt#rjbYT(gQG9-!;QbozlWPJC&LP5xzR=cm)YPx$>r8|-l$tNCB%#b`gv3* zsq1xWAKcIZYLJoi?sXYJH`IFgK`Lq`fWf)(^8s(Q26x5dy)#cgy+8F)vM zkDC>$)_NsWe0to3lRCq(8>YuiIJq`jXkWHeP8Oi!y!uF{-XJL_O}!V)dk@ydriGdN43INQV_cqz-mJ2EVs~3t~yP z$KOhirrr|T*U)jkwANemQJDfipoB)Dskemo?)IsvcR9Iu-K6;1N_%&fJy7cD86kIT zuEO*{si$W+xpqAD9uLj+F%*@Umm>Hc3=-z1H(qVg^K^9re&cXFJ?o(vPO2{o2*=wI zeEp?zvAhe{yRzdQm+?H!r{`8yzQ(4C9-|SC@--&N{Hzmv*~FH2y+i)hBh`;_@yX#x1o*KqxGr{oMdPeP;{fsv#CSJ zSssSQre01qwDEd0KQ@I(ZD`46@I+662y`*Vh0LL46GXe~@riad8IZ<5tC?!Qlwf zAqQ1kg84z{+_r$OznzAFbTvVMEx`O*K>KKcNvZ%*Momy6EjX^OSCAg}Td;Dctcj!O z8ATI^+y&CaY3?@E#7XV;3et_T1;^ffe-nG}2f8NCPEWm>ILkd@18GBQ!TIWa&nAwd z=L=1o<{mbiIE7uwAU#gE;6mtLyNL^-Pf<2;ntR-D;xzY^p^4JW4+9n9Ti7iqz%mY2 z%7&g4w3Cv`PXaYjcK84e(&Kdt%0*4x6iyGz?WC4a({?*4Uwo!+9VerEZIJGRT5zPj zY}Ul- z=?AbTPESucL3*kQ!REGI77bFWa>*w?msS*ReYs*Qt8|KJj*dY9#zdAHwO0cMA%TZvukYD*1HT zI!X^8aY5XW_<2GQw;#Tz**Xr{ZHy0$t*ol#tCvmG#`vYeCN8>uylJ8g@*y0=*3J1u z6YKOy3}QRw%%F)&!v@RYA5Q%s*Mbvo8|0%JoNRi0W^bYnjnC{&)aLo3E=Z4`EsT&| zs_uyRS}t^YLePT4=`p?tUqx@hIqhcyDEEx81v|Mxa(f6)?lU=O1+g`8(g`w5#afdNZi8t^a3XjntbX2 z>DLolaAUJA^O32Y7$EP~FTgJ|LvR_a8wKBM61b65e)<8me)q#4y!2eX15ruvP(X*K zevbRyuA@VnShaDTy1PJ?*V zT<2=$$pAQcl;SoyNU!)q=(U6v)X2Df3*t7h&W(&8t8OQ?W1g;PV(+~g1>$KF4@@+1 z#y#ueH>%r7?S@AvKy0Y|Hggl}cxdDYm*Hd^=4Y9kIE5ZH`PJoia_#j~9f*50ZqheV z7r?#wCJxZ^%XJ?A_+@P9cnZt!T{m&Dxc^$`{)=1t9kO~xZrg)+Lbk3~c$zqN4?H}j z0jGYpXu;xLXfjz0T4C#zPbJ z5k}b4n%s z4$_R2DP-j+mz+W?vF-&4Rn`n#J+1mYwO98Fsspt-#$p3!W7ROKcBMJ5Iyf~gwZdLr zJmetNo*Ixk8;yBtd1`n4j9d3oGTL4?tzS%w=EB32Rb@6HH%jJPT|lp;*9Di%zD!+{ z8MhT?SZ%qN1JMAw*wk68b&T#nh3RK8b+u|!YC0M|G=)|>>Z5ZNI+O0ktTxPq>j|V6 z)T`vANw?7#t5*D=XLIqO*sFEb8dclWR&S&!lqTRB6VxZGN7f9S->0k8_M&|KRUPru z75L5Yx%-9RYKE#P?r#-Wjd3rlek&zh$j5Is;)T-0E9r~NfVeAz-z<0DuY})`z@;y*J&Bq|OfaU#(#~8$<>va-7a~V54h@A_Q02>!BsCBPwH+#`ct=B*Z%3Z z>OqhDb!VHn!j)a{zMBeH!!UPo@tfiBsBqb}2Q`h9+)jiYGu#zDnDO0baMlYq5%HVl z$(vy6x4LWI@q*t>7vFHkZ-p!S;B7463Rj~t-&-!O&b%&`>3s6dWN?M6nF!xT24^|) zU1a=bIo3rL^3VM9;*xTAzGWAD!5CcWkzLfg*YcHR=9eE86ZtAU= z=KMNXwNv%C{3IBDGauY@#c#&LF669)2sI zYERte1XsG$p7_bQ;%aBy&%|$~Pwk02mf*^-+7mY?!48m|) zpAo+muG-a1(@-91Eq6~9)voxu9k}wT{+5SX!Id7h8y-$A?)IbpmbY5h+*9SxT{HY< zxO`a&zge%`7Q=6b&%Lnvt@_}*NcheA;Cn~-t?*PI+zl(Pdf*F2_$`03bKdw1&i28J z;_+MIsUG;QP;r$%Ul77?wp;Fu;kUw3z3`PFaF+jE<n^^i8cII`aEZs{qine zxGNmh%iIqGst>-ZQ+l54YaE=bKKKE7wH^FcxEk;HVove#ctN}1%Q)c5x5h!f zcLT0^)I$$XqE!E+`6;i##czhkyKnKE>EQ>p@SEkh&^X8YZ;NZ3}uJous;wR3)8BTrXnEj^mUoY0Ne^oix z3u*nEmkQu9l)vk(E$Okn)f-Xz&G2{|LG|aV2VO^m-wI#z4t`q(T;Ztvc}onq(y4mj zcOEJonrGBoL`F!_NYQVH!}Rg$fC@+TQs?ohr}F3RDR5`~^2!waR=Ap% z^P+&_st?|Kg5S(%9Xn^Z8XxKiwSFrc&DZM`uej2uak0+4l52j>n?x#n^-H`y1izI} zjT8LH47kG8crnp9!Ot_5yBAk9Kj)`lz?DArPyGHAxYDO_f!Asj_ezG>Fw`&c!&7iq z`n-;zae-edDR=cxyqE&NRqh%ec;f`P!qI%3AM65Gy3{Z6gFwYKKJfMj{8qT?hxla{ zaOGG15x>4tT>TJlV!&_JtL%e!Er6?Dy}l!R;QIp@Uzl#bV~yWTFVFnfZ`lct{^K{} z;S1CF&2;lEY5Zn-r+&Uxf5Ph=Dm_{h47U;*&koOFD|>B>N$WPwFGDV^0j#U zR=AoE@KyNYvNwK(62DbmvOm6}4z6;O9Zo$zP`U60gQ`cB3r{`aH{<1N0{G2x;UOl} zyT(KHS3JHC&UEl>5`Hs&o)vNjgzUmCF{HkBz%gn`Xx3*{X3sc!G zUpt1L!gaqOd*#c+a94k$@sckLS3e^A>G2*9KM``-)cV! zj|cR?)ow<33Pug$XR>;Hm*>@=`#8)7_3L~ku=depH{)Q3>}8xlQF|UINi^QAm;J1l{qU6&6osJ+)ofUc+IDFn8Q<)H?)51!CP zI4tjR{y_CJj#p@Y#v9H{U+ra_-cUcv7ca_Pb}~-3sNIgUFKWMh>7n%1pN=CjvZryh zMeUC7D?nf6=ItD{$8p+5^Q`siFZoVX`BT5iYr^qc`PO`E95wR(tdCe|JR1i-G~V-! zafPFHKMr8X9>zHg?+j{OAE$6MujaYm3P1eM!5E#PB*N{<8( zrAGn?ine@7DAJt|2n7(OM*;|nt#w)eQF7fAP60=?C0=tbh*vr0jZykv2iw|0r3kmp) zr^1l{qBIYIZ&6j};2XOvfGDXFK$KJoAd13ojMuiUvMiwv_4kac5+(se#VY|sAxi*J z$Pz%5cnL*%3_-{gKpZ;-5E;G%5XbJy)yKpUjygSkLmZ@A6nv>PB!D>06hNG23Ls9i z8wuAbk!E+E`eHbUDwlKh(veW*?5gw)K1CF=gwp95HhfV4kvT{Jah*~Cah*~q(lafD zLjgo3CILiUfdmkzheDAaVG#}m5Y>(Z5U0mo+{|5^1n9VpQ7GarP6CM2<1UW-ABepl z2++da#rY1DB2Etl=%}?w0CD+H0C9RKfH?0IiuCLsu~PtXT~GjV-rdD@KB!DAP=hvyrNCKSIk}&gP%mD2VkQAZ zO+o^Qs&WY2WvRHheNs7<03x%J0HQLKP{a*V0*IqKQ&D(=C!t6`Pe6wPh?o}1fp;adK$*lV~Ab0T;CMne51~NP}xF#B~G2W1rXMb z1rR3H0tl08p@_0<0fbq$0K$&i0tk!O0tk!O0*KQrD=5MqzyfrfW(puqvx>Kf)2!mH z(=RMl3*}4JWC6r!rU2qJQvh+AHODUEG;5As#A&7gUrw_IsUl9Z2B{)Wvj(X;spB+j zu3p6DtOiiTX{Jzdsh_t1;xwzDFXA+7uq)y;Yp^TgG^?L4;xy|?p@`G0e!flbURqpfPfSx#Nxm1YhK^+iLC4kb9vdUhz{G;4Gy;xy~op@`G0XX+wOGlhyv z(^Lx}PP3+|MVw|mgA{Sw&@{D(%URRZB2KfWsYRS-3W&>T)-<(<)2wM~5vN(x)HkS%~PWD6k7g#{4i!U70$VWCJbmDkrd zeP>n)P7ej>u*59XcXNBAxqSITs}htR-(yvTIkf;^N{<8(rN=X?A}m!4rK1^|1rVjj z^Qa=qyDxsK6M{|;h4Q62i3Je077HLw4+RjXM{|-oYpA;LoTP};qg99^PLJj!MVxod zN$M*wE+4Hz6mfbeRP5@FEr2*Z>P72}qtip7bkvJl0C9TM`xS9|)cX~2-qrinDN3h@ zLWScIO#+DXu3oFYIqmeQw<+SfP;XPjc~@^!#OYBlQN-y{FHyvKS1(cLIn`GE5L(3P zk#!ew-eui&>eK0wRTgo2Y?Z#Cww$^UDyN#xSpac*^n6iYbXMLa)aPk6!LtCO^mrCm zM0uA`I$C+N0HV5(0HVB008x4*6w%6?1rX(30*KS2mA4{J4+ZF`E+iDu#LNPS(?bD7 zbs?dMW+@gxoE{1wsteDxia0%*T@-P8G`lF`yxT7L(gD6JtXV+`PLE~ zh5Foury}G2aqjolea#Y}!@{%x!o*tuVZ~VhVL@2{VL@2{VWn6AVWn6Aahg39(FNj_ zLKQ*@YycL@m!~4*CUM;x4qq+}PesPP;oOTx-aQr3b>SeLc!caUdn%&K!J)&7E5T`2 zCsT)ZS#cIB98X2Y<>0ysyu$HRgnQXYkEbHK3LK;h9O1Z}Jr&W#-_UWIJr&{Rcio+> zi@%}cGG4!V*L;I?BdL%z8L$B2wxP*D5vQ2~blf(yJX^%& ztmWA{V8wQ5p{@ngRLuei1usf8k%s#ySGJG21eG^>1y z&~_|9$7xpi6mgnWK1G~nl}{0;d6bU^mvUmAmf$pNaH(%ju^n1iEkS9P0HQSew&k3)2yju5vN%XyhWU5J@6KBnl;oGahf&C)UiybS))u5 zr&&|bB2KfWphcW!jWR`?WOc9r} zMwuc`vwKl}Yja~cb>i!B+hdA^`ii;wItw5S*#ZbdwgAFhSO8%zEPyZ<7K*5Eu>isn zvjD;pvrt46X$v4ukM@9yuy!m!$LY}nW)Y`H517^Yu~aRTFE1NP0C9TsfLX+O*8^sC znNE)$FpD@ndcZ8g)?%STRLrRe zJ?bTjxGvO7RHyFp@f=e3jczQbPFSVTb4cGeTEyw`+>fVgYDOdhzFZfc`|(5#bUbI{ zS(_%Eu<|8qvQR`;U;)H+AuA~2yxR(RnhGIn4p4&Aqd7pmxTm~Js83&O?6v@+x{v^( zy!%q#df`v$@r}7flpbG{TSRpsp~BI4Y5_!bDxp5_=hiC$M6E>vh+-dtFT1Zd5*?{_ zg^H*FNT^61g#-{qApyi0)K)?f7lI9h#~`b~CBT;oTtX2Why)O)$LrxdW{7Y!J*f93 zogN!V9cSs2Gv(Amh2wQ>2_P;^8%P~%u&)+M#}9oHK%5>M2#-%9Jzh8FLCz*!2<6KL zA_2q=zzq5g#5$9dQO?_3}>9K*- zUW?-L!$@t+n6yyeLbicO08x4*fT%7cfG9l@K$IQ{Aj-RhA~p~SAWDw}5E-L{A|5y- zfH*xKIQYVP)t3b5I6WRX_VK_Wp>%8)5vaL|AP@Lh0BpB!H++C4e~1n#$H&!wyGN&?2r=@44`mb)-;J&=Opy znmQJ78EWcS#A)^d1z$}^IBxTNIlYP7n5KNC(}h`ScAJ*~;yTq-t%%yQ1n4+DZu5Rn zEvHUc>1c{&0mS8_2h1X_Q$K+F0kfQB?|v|>SFF|l_`$G<>eLU0MY>Yz>$Yz5exR#2 zvsD)oN=FZL7C@992_UKq2_VY5gd(0SNdQsXkN~2*ODN(tF9AetLjs8ELIQ}><2GL< z&Yna9bksH^6mgrE0OIs`EbyaZIjL><5wCPRVdcwXfdmk>4GADlkH-Q(nw68L$!)`9fu4!Vm&XDLAg&ABg&$$c$?5S}pl6x#WxJ37;`Hdz zqloLmV}Tz%%Bc&Xe0eMwj|_YzvaC`9bX*sr_HbJUkXi08!hJ0HX9r08w2? z08!hJP{d=w_}IKYEst*@cfz2fyh|wJu|NWd)8ny#FG*HTB|yjN@mNrw6H!hr@LR~W zTIeNi3n0p%1P}!%0Ym{xDB@070*DMv0*DeX0YnX30*D%t1Q1o61P~RJ1Q4g$jn+%< z<)lX9CHEp~kX~}HW7IMbUfWfLDWO7kApxO9^p96 ze&X;~Day%d_JoS}i=n=3L=r$;&Yn>5EX9Ye+TZ9R-038{%1P~`f%d<89sFC;>Z4nuxkI@!!?0!P@G1_ucgY+@l z8op%sK1N%_x$sQbpGYhxr^mAbAEPZNHGUtXt?{rER=M!3z@IHF;=FrS;A6D4eCYIe zCam+c6^>^GK1N%_>G2YZkI|Ns)8md>=V>b(cd$N2Tg2({6QYmNmXnOg$7pNu(&gih zahzV8xnq=2acN=G0*IT9X9YgHQj4I@yA~vibi&G)J0b}n&bvDzeeVt5!0tv;I-V8y z>`D>04L>3BmCWicB-Ca0HV2@*@eGvP|L=hunO5v zh!Q}YcRwNe+Xc0>thV8^D@9ZnKD$yxcH!?56j59C*_9$rkDm~Ip0?JiT|R#L^VyYh zQd{-el_FgTm1a*oB!IXsytL@EE9K<8`{_?dqsy0<7JVYRi0i_3;q%Ysb8EF8ty{ExpTje0HUX>%s%84zW}&JRnK{ae5@w*u=!w zRUK?d7V7JpO1uRS8nuNYnx$9(VL@2{(TFAigq30ega%>(goR)MgbmUHh|{djp$Ic* z0Xj~zW-0YL8V$`t>1dW>0mNxmCsV{})-0un)2vRWh|{cDN)e~od%k>U7N0xSETsge znF3;WnmtSLdT+fs#|BV>%GsZHE21<@sF{O~;#dGt3MGIjg%UtisuDnyLO&E2Q40M~ zT)UhqRSD%wM|v!PD1{P0RH_m{RH}Zst|qG3CDhDH69x+)*71JsI`8L7C>_tfmICKC z@UCP?08ug|z`F`u0*H!E0*H!E0*Di)-nj1KaaKSOh|{CqxQL2Z z0(6`nZ%_L?b~$yzprfjkP{iBH5i@1FB z_*TT}(c@b^f2(OpsPuUIRRW09qu#iP^RCCPdTMui^te>S=}~W7#PzPnr6Nv`I}o4m zt%rUYqtEvi=|ZUV*zhHQI6XG}bvAqnW%z!qkO1ONMr(0J+{sWV9Urcc0HV5(0HVB0 z08x4*fT%7cfGF=0iuln(0*KQ?0Yr5np@`PvEPyyY+LtM!x{v@Jr$@8yB2JG5UP*v& zh`K>a08s`dfG9u-APP`I5v^}n08wE|08!$-$XrB;mjE4AoCFXRlmrkJlmrl`S?e1` zoMsz{7pu#u6JNe;AQC{FW=&U$IL#EG<1}l1qlnY2^^GDb0@(`-Yl zW97XJRZcBH$K|ZYfjWXEqn1!Qo;i5&ydGT@vV0YruAt<_o@ zR8l3Bj;&Gxh!bY3^loV_AF9{#ZfTK@w0yZ(B!D>adKNC?^w=uBTUt(Pklrn=k7{>| zs&MoyYyrdt<-=6oEv;JtoE|+37wP&cUp@ro-O?gXkDi5#s7XjDUp8v*mKJgO=vlak z)1znMBF?*w(YvK}6@k-ZBht2M#bqOs0OItx@q4$lR&ZSxZv5IdEnlAQdbhNQ)8px` zcT3AjhUVSUS_$q(QsH=-DgnfK_cYbJrL|YD^mw7QS1^{>xKq(I}$(? zvIG#tE&)U(F9AfYPC^mSAtit)r``)FqLTMsK-~mr9j#&&v5qab&Qr2Gl~5sj?k536 zrLh!PhUMgfS_(emSQe|0DL~nIr%=S5rvwnk<*}O=Eml7!0Xi-p_Y!rIRdKnOs8fc{ zR}1A!>i`x&Ts!U)Dv9#tK4Id4UIKhMcJ~Pr_X!e8#{;wk5U0m|f^X6&r!JP#@xUqp z#OZOL!0QuH8Xj1EOGc%umCKiBo)SP@KAva#PK-*jtkQR46p>Z(szSu&2UXwNQL&FS zJ7o7izLBFMRsYN@3M(85t0k!9eQ!n)<<$3P6jA$;P`*4`NvM4J!C3-`YsU|~6Wgf- z#4fv#0HRz-KwPp52_Q~01rW7o2_Uj%2_O#Hb}_Y8N+=y$r34U%Y)j#FhbTjjr@RQU ziRztKAvRI}%u5iPbg@*(wiF3P+yh7eahkP;R*l!Cp|#~AE)ClbFHl5WTAeGwx$r2= zO9!E2`{MP2P1Mg%ZC?^9J+?0iMQmRZKxAJMKpea6%ddgdjWufFehs9E%g|%4Ujr#8 zwJ5*7QN-orHt*Lr>P{V5lV7_iqW;IPT@>krRSG@k`n8L?fX7x~i}ULe<>Wf`NTl~B zDjc_P39EJQj_S+XF-25gzF4M+%0~ixsr7oxrik+HEt~3@WR()imq#KAAgT*rZ&KZu z)1&q0B2JIipNlB(-j^xj^l1ILh|}X05AVyAQ&&pG?iCLSAWjbj5a(U%&vhHE)8iG7 znMXYd<;x37-j^xj^mxUC*SA-DmQcQIJKmQm;`DgMW9A1;3Gn5-YyG);T$hhmJa}b0 z;_`}z_hpKx@AXHai@1FJK*t;0>+#n6G8RBwKJMpvZ9C%fgP8YaigY2AFV8b2fH=(_ zn|R$W!tqGNiz|yrSS>;2GlZF!Q2cUnd3U5cz9Id$UU%W1aB_;ur&FR1(SmQ9fkuzcBMd<9Aor`eBh-m?FIq!aa^Oj9Hsfqe^G5!*_l_$)HW_c(6mfcNGJf5-oYY#pWmC6Bt2_0U zO%a)lUpFq|yxU~FWi#=XjfF~&r)s`UtBBKMlkt{KIXOKZN_=Z@s>?Z^fa{jb>kwg3s08(x^X$Vjd`-<*Nw|bb>Y{IYo4gO@ax7!R6c&)xQN=A zUpFq&g|J$aO0`u9AhIvNZd^od!>=3H#8cg}UnMT$a41wbe$ZG79DopoGUz*JO4(8P znTQ`iss2Yo`SK!<1P~{~voBvGQ%)*gen1T2*c|vNu_mf+Un5gGE?&=(7M>&dP2`D$ ziru432(Am;7e7aaxNJoHfEbA9TKr^M6E%JxxT@Rl9H18@ec-B`T;N0S8(}`>RZ+N> zy;kY7SapkDhg`{^P}%Wgj?YIGaTG(aG5SzeCBsp8hNd%A6`+^>x%+(9K{g4 z4(T&gl?+GW2PmI(D(`Mc9(Qywsq*D#E1iZyTpbRa9H0j&A6}|w5p~o)bW}t}9fEAx zXO>DweUy$NRTLV(>d}fBw6IzN?Q007%yw9W<JgJ54#}0AZ*3xTu=(gjI@0(0FAARJpTbDtcwE6I3PTG9jc4{Hi zlTJE%^YKR>d(8GH(c^K)9)9HGTRh^hZJUqTa_sgkM{hp#f77kUZh73%3iYIITelo@ z2P}Dwk^l6b=v{|w)Ova*x|(BG5w_a^oCiJ@=4R{thD(!=%Z&yS|^Tz|~h>L2?@^v&1mf9#Lwo3GX1 zLrJ(^{e4oT{{iBA)!$QsKOyu_4gOy7yVTzd=i8zG*P;JAafF}Y?4k4{Jx>n(gTxVj z>OVvr;XEbupAbCtPYwRm(0}b83I7eD|FqEmpg7W*;eRglpC0=E8R4H6{8z!B5&ZgB ztAOht@_TylI|YAc@COCY^ql%f_?f}ah;Ta6`rqy9zi0gceuv^|7k?rT(0_L5o3GWs zX6QdB^v&1m?-KgY4Sn;q`lt{5Lwe2(ee<>YPAA--7y5sOK|pa{o&Z9n7sLOH!C^v&1m->CHP52_Cgee<>YE@y=Q520_qRv+bye^5Oj z^v&1muWRkgF#g5N&) z%Y$1V;k+XFoum)`%HU29_^W~+6#D-d{0+g+4Ze#w(5wFdUz=aVhkq#l*Mz?LTK%-^ z*M|NrX@Ma=HM^g8KE$ojCXo%a@hMnhyLBf5l)uR6U28d{+7`HMTGO#;HRoXMEGwD{yPL* z{}4{b+pzwJ{`u{pZ;t*s+k=X;_1_Wt=4DP@OKCQVAKE0zbKA!PJNdH=96z!Ukz3BwRUkeIMzSJ`!5mi z4V&(;1Hy5dfy~#2vv=tKJm#_HYxVCH`k7Aiwfc_;{Y;PfTK!u{ANhJu z(a<+vTVI~np?*IW`sQo(-6j$LzlDDN?0-n-$NvCFIx{^kPw0Ol^v&1myF8))$CiV{tDoie|3csCK|GfRcf5NQ|4eX)1OD0I z_pjghhko*N!Cmh_m;C|0wtijjXb+zcee<>YP7l)ih0w2`{SW2y#XrDNKA9fZJM_O4 z`sQo(UGLEUa_F0{)pt2V|35Yu6O8vHT2Eb>Sw)tE%eRTmb1$r z_44)5H(#rt_419-FYo;i>Ad_8aHKQSc8)V{%rv3ANY5J@6nX=&+i3y`9uHv!SNga zV5dI_?(_rYbCdbn`gQuz9{wxBF<-0i@`vgHp>Mucf0xq3KZO6o&^KSJ@BCsI{?Q-M z2mf(!%#ZO8{3pS8Yf64)@S6tzY4NB36~Ugt|2yI@M{F$4H4Eq{Q1-1dj`K|@JaA%1>YF_&w?Ku zeCOa>gYOc2d+=)qKO^{cf}a!oy1~y2e!buq1m89ICBd&B{IcLT2!2KI8wS5B_-?^> z(gPBlZxnpD;5QDwXYiW@p9H^Y@J+#Q7JPH?n+M+>{1(B_2!6}p=LEl1@biM-I`{>_ zZxj5I;JXLEEck7MUlIIv!LJIwNAPQ09j%$|dC%at4xZ&O34Z&~-x&N3!4D38$KZzt z|MTEa3!d?w6Z}r0e_rs6_k!Se4*ib=-z)gngJ--~1;0z^@1zL_+UMTEZxsBl!S5P8 z!`~QuUFdsV3*oO1eq88hIA;Xk5c=l?-zWI_!B>KRAb5sY5Uz3lX--E4c@e_-hE7W_fM z_YD5v;FI7F3BED-LxUe2{9(bj20u9X_TX9XX9Pba^j{SG;lbY$Jj>yd;ExFX%YtY7 zxgz)@L;vT&|1$V>^#FkOobm1%{86Dl37+w84F2fQKP32Lf*%(=<2@tzUxogQf^QD~ zmf#uACBYvX`j-XY68zi29~b=h!882bv`>L@J2dq744&mP34U1UZwkIO_~zgl@Alw_ zhyEGCGv0H8KR)!&4}L`O4+PJ6FAIKT=wA^$=TTP$e?sW*qy-L?+fl)H3x0I)J%b+; zd=mWF;G2RU7kqQ@%-8nd$A|tI!82dy1V174&kLUUx*+(r(7z;j=IgTHCx-sFgP#=q z_rWt?yJ=qx<-9%g_Y9u-ngl;N^fw02d>tJ8iJ`wWc;;(+@F#`-vx1)z{8hm-Ul#;F zHS{kDp82{g_+N+q6~QxKR|S7^=Y|{f`GfJ@~hRXTE+N{F$M@%eAW@>mSN9pVw{~ z{EX1wJ9v(>`vrei=szg!pBefW2G9A`M}t2v z^uHMVZ-Rd>_}>Qqb@1m0zmXP*QO;Q}dk6o!(BCik3xYo=_*ucX1V20Yw%~ss{Pf^2 z4F1C4=LA15_=|#H82lfCe>8a3;}?U!IP||4{3XGE75t^acfKxKE!%C@<1K=}EcEvd z{_@}l1kZZe68sgRzb$w^kDMO-m7#x5@K*(YYw(QsW5NG1^uH85pZC8X{M^w0P4HI- zzp)mw*S5pE27gWH-z#{=`{3ZO4gEudpBMb8!85-v3Vwd*zb^Reg8xhKe+vG&;2HjZ z1%G|$|2Fs=f?r1q;wYat2ER@4HwE7}c*gtC;BOB7!-D^F@a@6h68u@g-x~bI!QU4A z9lL1GO!r*rfp6R)F@OOp&!-Bs%_}1Y6 z68z-g?+N~#;1>mdP4G<5MZw=2`kxH`zTjUC{{G-U3jTrMJKUg)r_1MGgWo)Ore~kv z7l;1F;2#YB*x(t?lY)OJ^q(6%pHp5M{KKLD#^479e{b+hf`2ObM}mJZc&2klZJ43` zd^Gg0A3W1}yWk%S{YmhD3;v+s8SfFnKOXw01ph?v=LP>{@biOb`0o$?@1g(c;GYV9 zdGJpM|4r}=|AyMAL%IFG(7%1~OM~wpJi~cp@Xv()QNceO{8_;>oL2__TKOlI{=l?SJe}w+g!M_sx z*}*fvuL}Ov(0^<29Dgqk{%R~Qe!M_>& z;NThWF~PqT`cDm>@%~-#{|tSf=|%dl2=23F;2E#aKf`1@*#`}ffSB3s}gJ-1SJw-E=ir&1dk5b&^dA;H%YSR|>xcdmgWn+d*}*g3Hw3?7 z=wB2(u)8LN{p7A~@xW^8p zr zJtFvRBAgS0XE@IbzI*7uJos&czd88rg1!S(aP& z8#f4khtS_M_#K1aD|nW}BZB{V=pPyUPQgzN?m5X0_3wGX_X_=&2fs`3HwWK4_y>aD zHTai}&kCO5zcTnV z^xqPE7X0Gi^Wa|zp5gy2_#*Uoy6v)jZWHbHM#1kE`gaJvZ}55Wy9d92aL-W@qfx*8XJj4H=;0J~Nwf0z+&tC-J zBY1{$_uvl*{RaepVDKY@XE>(?e^BV39sI$;UlaTx!QUA?=i8SAe`x4`KKR3ee*H= z20tOfd06mm!H)}`>3??c6GQ*S!A}bQ`rzAxzbE*~!9NlFiNU`T{3S8&|1kKILjU){ zPYHgrKVOz-=4*ZMQ$v3>_+JNqRPYSvgy2sO{nLVH{hk&4DWU)B;7<*HQSglS(%?@E z{mX-AyjKQ)dg$+Xr)BwMyV^DQX`#P+@Mi>HA3W=K|KO*G{zHO4Gx$-#Gry+=KO^+d z3ZD5rH~6zc|Lwt_9sCo)Gv3RCKPU9B4F25UJKlL&o@WN%HTd&_-!}N)1m8D!rsu)I z|2Fiu1W$WBA$abyoEH4~5zbk`b3Slx@V^WFw*`Me@QZ`z^Wdey&kFr-20uIauY+ef z?7G*ooc})bcMqP=_3MMbF!Wc0pA-C1!86_yg1;#APYa&y@T}nf5c;nU{^H;l1GLVwrb9}d2I@JoW%rx5zz zj`jbK1m8dSM}t2k_{V}D6+Fx5wBY|1`ez0Ic<^(Beuq=m9hyJd?a~)&%;Quf5>rUfQo|gtcFnGqhCHQAT|AgS54Srhi&jmj__+`Q0 z7(C;>IQZv7|I*-J2!46+F9!c<@Gk}5d7ouDWW2iv|8nTpRnnu}{v-JQ!M_sx!NI>8 zd`s}J1wSG9*MpxH{2Rf~3VwO;R|o%Q@QZ?HelHFFtZJoEd^;Qtl+=LG*@@biQJDEPaA|2X)^ zg8wA=mx5mz{QJRw8vNJ6|2z0DlV$n*Ech*hUln}s;6D$(U-174{-EH$2)-rwFN2>L z{8z!BA3V$d{NTS1{dWidP4LeK&v1Sa{I{Y1+u*+oev|34+%lZHPkyww--rHc@Evpp z1B#Ccp5bf{zGLV=JNVUtzdCq^^Pb>W5B*OD|C8X~37+BnKKM?dzw2z7-)jWlD|m); zpWuHQ`iBI+X7Ce&XE@Ideyz}dS@1s#eqrzo=TpIbMhH3jdhnB?9)A*imk58y`LZ0Y z9sCBtuM>Rl;F+FH!LJ+o4-bC5;70`CHTWsPuOIx(;5lBrEcgvV|4qSf82o*~cMJaM z;5Q2X{otA3t1Xu0cH_{$LGYUd-y`@H%Ae9z!}1ov4ugfIzyhtS^? z{EopN9{kUP9})ac!A}W(=ip}s-z)gbg5M?hn}hEi{A0nh{J#|FYmd^NF1PBzT5% z&3i1%VZR9HronT(xKr?Zh5o+5_YeLT!B>MH5j@lL^x&u7lxf5N&kla?2fI5j@w=ueIN@JWr2! zZyx-B2xl5R%jW^X&xmj~2hVxJ@xgN+=NZB8AMw5-c*c7{@Z87wNbu)IdcF|+%;4V* zp8Ghz3VvXuXSaJT%PrG$m*BaNbI;&u*AEPy`#6sc{`^Si3BeDF^gJVY?&JJ@@E1fl zuMM92I2Q!ZeVmU5|BHzCo58ajeic0TadzH+hyDlq&31T;;4h4H?j8IA5$^%PGu|!1 zUlieN3x1v8rw7k{oEHYq{j&3dKQPjBVepe9{Er6rnST_(mx4by!ueV7%-1ffU2Oe+ zV(t^&GI-k8-oalQ>De#%%Yr{Bc&2|#@Rx`Fw&1S_etPg%27h7j+$TCO_^U$yUBMp` z<@1@~Sw7zner|;G>)`ta-{s!R^2~jrTL#Z{PpXg!1A0FWx z7d*pxcJSOMdU5c7j�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

V}B3pPO~(=J}QK@tQtX7InJ^P zC;up3GX+E8n(Dshg+^{p;z?2Xlafh%)Xmnl{Z#YG+Kg`zGA>dIETo!h= zJ*lx9!%mbUK~vbZE3iB)wr)oO6X6~W$9q}vKU9E>7i#__oV5|4gQ)}Rwkyj}Gdt*4 zo%O{aPsXm{yu?hSG1F+y;Is!0(oaDNXtQNv1zfD`ctKzhbW|`5*#5Mz&qNu^C5xOE zcE!(0aRVqV%K%DMu9j8y>|CB3&X@+!!*qI2WzP%e{uZ(%R@iH$?(U4LUeZztMsm75 zuI3yE<8?V0%Q%GzaOrLKg=*4bvujvwuTfy{PM$$GJ;Gf|&>G=LFNhr>%tF@P6!Nj| z%dny$>uw6EhlN<4cAJnh>414y;&B_W;@JA9PA!|H)=UJu7gKsewgGk z&Rl?*omk-6YS1my-mhi06?4n95B1}D12t8LP+#5`rKZY?Hx&swhFmkqjv;3&l@Qq> zCz_zQ7;~UFN@)qj!-anX^$10O4)Ej+~3TpD&)0fh2Ro{3VF>Qo><6#xeNJyybynzylzLg z0AF&Ocz106Vju3IFU{iW>`Z(!#yqDl_xw700D1#;_RH-YOs1Rpc0O)8@J%0iQxU&e zV5q)FNKJ)woi!o9TZJw8f*9A6*!rGob5P~cU>~k&ZxllzylxHJPSN9 zV!{aPbO^CddN1fqWhe`MnyoGHP=ktpFIdi-i6qz;9Gs}nKY}?tX(RZ_gSzjGdW?H9x|c6J}cZ$g3-iUkO7;5J_f{j1S#AUbd6vuf=-O}hR;>O zXuJN0b182e{7o=x6lO^t2i?2a=I?_UPe7J$-sj#ZQBLK*-A=dT5IDxY4upR3^?fae z`05ms5J+g|kT|=;K&u}P3<|;n*2KeXy$mLI)ChxugLtv1ydVb6Lw#mukaqgKO)(^B z-wLqgy}KBnW5~lC8_c>8${dEm(H}voQ}-b-R{T!SEgPpK%HPrQCKn!`rl74Lb|&z2 zCwY9#NlYH?Np{>DwE#wu(=}45U!pY3Ay$U@8PL$YV~91lGt5Njrra9#BGis_BX!m2pru#K>e$EKi^6Ra_5a79fq(o*jyVvIV;qCp}Y!MGPf zUBZ#aAnJvJ0H+xLMj%P_z?BCz`x}7)s5u@a_*0-1wa0@5e-51RG2Lsye+T+MkRbR= zpdSysl;y91!B`tSD3JU;;B;sb> zJn7;GC!sVH!FmlFz{H6Xs0df11LbjN7!#<7JHyF=^0+gM4GcyzQl3)+WpQU17Z~w8 zn1E6$11CJzgWJD~>`2aVYJi?CR=Ou~N{d#k?fCJ^sPI#ua8vd@eN#0BF7A5i)(5U~ z0?BD$VWSjxfAJ`rt}n*d>x(&~Xz>wBBWJuikeh3hBNab?#+?sPAX6uts^5}9*N@AJdU;sFqSre5- zoJq8ICo4%u7ziv*F14PibU!#n-OScA05}96pTZOVO84@ZAWZ;CKHOE}cFu9KPtm7bSdgqQ3CXUaqk-&H}pR%~|Z$!Gv|kBameXYG6*GNen76 z8Wk9gg^$L9M`NMiI~6|MN7;n9&`cZ{4(O8qBBEjlelz;C%s41K}5F5tk>olW|rBz zeReym{c-Kj&dV}0VdWL*WLWJ_Xm?_}5$z_xOCeS-qg}gEfPgP->B|Vb#oqy>FnK99 z5EI5byod}{_t9LlPXT`UA$-l=eL! z#~_e&&}t|MeAmID0KE{Hr74t}NYOE9j%tT$knV`d?hC~fLRwC_C~tH@0OmcpQiOs| zQUJ5?64046?o*Iub_|cnZyBp9m2V5O09dR*=0ri~c3{_zVN~I`Rm)5x%PfP-Lb_Zx zwgB(Cl$fIn;w8ZAn6iwnT_6iernEcHK37$^TNgu$U_&|)13P4ilnI1A6O@MP7D=Vi zM!njZXXl~Hy-9n+D8>RNgEX#0AE*P=4J*+1I;dG7f6Z7R>sMkVsf=OtPfY6$MIB$_ zSg=n43I<4HcURRNC>4f>*X>~1J19{hm;$u}Rn7*Bmz9HY(DZ|CeKAB`fNtf9c%`isFy1AP9Bxr;PIoSlI z{wOyomNXhG2Vos+1dj?-RiR>Iu>s1mRRf%oSO}>yPO`(OU7~%;@#OJjJ}jdOSqn2@ z)`q2^KTIfr3t_E^3IPe4FCcJ#JAdP36@z#V~lRm-|H8f5Tq>f5Pkh z#%w>C*IQHRus*@y$cVhTj;vdIX12+?wFl_cAjR(L&FE1bmGF+zrja7hTY_h7GY#Jr zhTpj80ea~@O^+4u4s1TH?+^5r;87x_*{)BII?v6Wtie4%cSfJEYZ}wsD5UpW;CX5^VO zJu?-b`J;~+d{CCL=nXf&=iVou8{^Za$^5}%X}LJHO89({?^_(XXqgmeZ@LM=hW7d_-=duyGY^3x^6lAt((JV6j}}mzFeB z(gb(0K5pfOc&eDpMLj?-SBgI7&FBfTN4_=S8Qy*7)?NjUESG2T;3f80EoJkj4D=T2 zF=q;%;Md{2%tvOYBg^Gk(|Of7dJW*^_BeA29sN73B|J9rYUJ@HpJw&<8ZVcpc9=1h z;O%J@%;;T`drSNuZmU!VnN;iSV|Wj}zu|ob9RTMM6Aq>t!mo|m^^uZQuc>y+-1n(zh+m*S{E=o@4Dj?!PT;f8V8BUy4jBJeRrhoR z|8dhN8u?V)GM0JcKr+G<+B>yi^LH~r3T>JKB$e*W`tsSw zB$m)^xX4|FT*)44IDcPBDs zptl51?@g(rdYs5h>{+Jyyl&^s>> z1Lpy{Gy3#f)0pl?A-&%#;2xkmqfZd?`ObmQzO-*f&p_`NgWW3lP3SBmddM?-b7%Bb z!4or5LwUJ969k`z_U7{RFgGL3zDb$BIbr zH$ZuSUiyEdZtL-1AIJAr&}Xdmbn9dt)C2U=S9?XCjUuG4_H>vOCc>FU!?o#$;OIQ0 z*W#T<$m@=PFbCyq?M{X2Mr9Ch=#xJV* z_EJwY@QZb+=3Fzwt%pxeFQhsJkr(2zK?-K^f%u5LWqGEQUWg}#r0`_T$2!S^q^F(y zfnL2lp%XLu#Yqp)%jKyfa(Uk}NU7!?lOmVj^u`19>g90-ljnVlJ-^9>@350j=Qo z-8N6&WI$iL`Z0QdDJksH!>8kWi9AE7&tT~z@)D&oXGm!p;aOn$45B_FuSPxw@mMxl zTY2&(1E$RA0lF3T8%_Pj$$;VALK%mT+OaLfY7EO5*M$1HHn z0>>>>->7I+38n_0%K z@YKaLzi6KUpC-P$4*$(T^XuyB2bEk_J9pO1xeEqeSvP;yf_XKu+Ci}^$|_11U2;Wv zNoh&xCG%@%*VZhky=3abnX{)2x^#YR?fm+>1%uA4TR1;fYa9{DjJgH&1MBPRW-k~t zJr)}@f98VN6~oF0*3Q0k;G&9QmkcW(G<)XMgrtRYXU(mJLy20eLzJDeq z&YrmdGXV?>i)X;C*@VEe#(9*Fk-qp{^C$&Wc~h5eZk!a56~w8gp5e z(nwtq*Fb^DwMf?43M=)>tf)HYT9!JWZ_QHYfm)}$5YgG)tZN7u(hON4>qknGrxAsg zt?p5YfOREahpgk2C`TtbRvKWPt`d5Otl{b+s>{!0J0c6@KU1aJA*)1Ppou^_32)#( z1WwzOO|`Wjwt#3V8_=Y9fv%}Zs@a`%JwPWiMFAIGY=u-|rgb@#0CJ8V`kbN7(1CM;4bw48NY}oLb+uvuxoQrrVm9M*LspssjB_MZR!B30 zJ;@F8^cgBe4PL@2WvmsH+Fy|YYo)pX$%!P5{wehhVd4&jH<)A5hlRKkf6l zu#okVssyNl4IGjU{M$V2i)4gQ$htzQo2LamLe%tt=%x|?agMr(QdPALq*8VtU2K*% zVShGM7oE^wpQF0n`&(BLr*;I%mh2kcFh^@L8_!(G@tVB5)||C)nhXA%jmp>Eny=1$ z56-2D7NQ*fqpdQetsV|J#dOjJ$*^h^OR{@#?#mFMwaKt@@h;@frQJ}YMu)6x6>Dc* znNoe``wKL1IWSR}v8{ZSBg}SyUPyhVpVdyKOtu!Nb8pQxh#fhq`*WXo|E0L&^s1<} z7_)|~Y{hUAmobcckFB%z&@F0{Rv{g-JL?b*I+3=;%m5MxW9KQ?%XKtWjOH4C_->SAE-2s|W#z zViXG?VrVt2WfVH-wi^T6=?q|gN;!^Gy6B=y<4s1xE_+9B8I0^)>wW6G4gpw_+M_E| zvP8?X9NlgsH%qQn7pCZ-^>r%dnwFqPt&h*DAKqg?XS9du*SKQny5g>A+Yvz1v^eBaR0KqbJ^@JOvqXD zXe@$Ws|rePFPJp`KN^9cKYc_^=d_`tuP&eOduvA-$Xz5$Pw;xOUW^0;#ndeAK^!D) zMlcsRawk<;h^*9CL5&7d&6!s?1}Lz4C~$hn`cJ|@(sIfNvd?wzVv$gkCajJcxt5v( zfI2jGCRYcV^?gN4#yI>Z%%tC>)dBP>vZ|Qcl1ZGf3Eut;&BmND2}D$xsP#PYI86>; z+#)+sBfvF|HVLb)*VU;y)no7GfVC!iEaIa3d^$IqTUJZ zNf>ALnPctH66;>d1wn~Mgye%fYtdUT0Qr81^%o+`(o<0hrfp>**V^Cd%fP9sdHC>f_*5GVN{*Ck%|(ae;)iI1#nVF+zI0>_P%?gc&BJN5Z+JTEF9S~?sK z_h0eybQ?O})LC{Q)thwn;cs_h{2?z?y-9lv=HS90kYcAN5a!?nKU+Nn6Rd*zLwfS+r zY4cjz))N#cx(=|WU1DXav#IZG|9cM6tTO0E9hpt4@BPZ(B+4(*t*T8xlLv3F!My>} zPwS&S+>0cMR!>hRE1mv8o~e~e97;i{Ub<{YrCE9 z=ACuV7|qLHJ$Ut$G(dTG_?@Z%iYD0d+D37|})q2-6er2C1uCWhTTBojf&4vmK z5HAtuFmoZCJJu1&q+M6rOP(O{Ibs%Qt^ z+*G@*R)*>wB&XdMun(=sU0pCs@BQlC3L9{0H_B_r!%K9eq7?$#&ZIu$=QNuN9H+6% zovx)Srh^SlbM%17y*NjAlp}K~Pzl;rZ6x8PHAk7K4~g|aq!Qu~B~`K%ue>g${FvK` z99eaTZ^QcC9nKyQFHbcTcPDfs$KzeyiK4!U)$ti2c-~YrALKU4q<+o38=ARmV(*8b zbDP@M(cSsz&-$a*AJqd38@z;CmE&bMYZL7#6 zxKLe2LY`Md9+&R?@T#5e(qLS2H)n&Ew+{4>>&O4D;8*Ra2Q;V2Y}!7yN9tWF+o}g1 z)9#_~dBNsP)|{z7OnL?>sPlM+XX&=3_I7PRY^70S3Of%&26AQi5rDJcVnnWXP3JyD z+w=Aq=Hlv)(T^ww>m0V;X~?l2qSAYZtlyHK^Gbu81oxIt#!BeD1m4B6#j=8C0P)=^ z8XO!ga&`YG&=g~|0a-p+yWY`QX6OozqO)InKi56(gVf&SRieG=Ic9ICeW^aZ^%ysp z_wCAby)x*mhalPdG|D+rEz zC!}hsBDKnWv_n8C)DH=wlp)i7+fN%dFz7K{E6(I7xjB|w#F z=&61U__b(2LOTP`QQM(oMf}Qd?ddp>oxEf=rY#)ArR@|xR0|+Lx4eMAHB!ub9x!L!k)&QgpSs&2jYH%aoOQ9SW zv*37LX+Ws>k{HWXq_p*Jt+V;!nvO$O!a=)#L2vqWvzqA5gu~3^o)0?RO6MP>tHY1* zqS_UlQI+dmK>BltAyF@%?&D9KgM-lRRo;v*1cGon^>Vk#n&I@H;tjau2KN7U*UhB$Ia29Gj zXT*VeQTHFf^#TcDoW&A&C1Ie7omDBvThw2nx#(eAuE#nF_S9AdYO>|X#ajBbrT?nj`qKjz__{p(jG*FR!b3es6XBG%W>#4qO zU8mOlc#P&PQTd97YF%wWXA2aHaaqohI6Gx!98|mO@|?FXSjPz={eYJDAt?kxyAio- zcT=}}!kVlp8t)a#XRQPD{tk49eLDrD_e zZ&BGGk4^!4tD@6WKqu08OdYlEUiq-F!#Qm29X zBo5BbcnAHSp31{>MhXB>yi0y}91wC8~P$fFdu zlhQ@M2MFzUu1aydu0X%Yo2O@L19>{iuRol`^<-x_N!N+*VGo8{lizkun)92H{b+6h zDthJ=H>dl1)k#joCf9^IFTyHnEqjOb8(@0ntYd`Eu?c*KI*0QnNWQKuVAECQX>-YWS`8tW2J3jW zSffE)&QLC=K$mwq5BY=ikPqx>%6lM%wC2zUm8JR()Oq6~_!m(arCr zg^$y~_%z3HbLGwK3ewGw;$%XPL{y4)zaH8E1^T|s-MVEOz^x6Do;ufXMxMqq@&9XF zV8(!>8{TkZt83Nm)fII_e8mdjhaCzx#o<#?6{VcqqT=MP z&iHLx&s~97zj*Q6_D;OOWxfuMdL{x-duYd=mpXu;;`vKg*rRzEb&M6Y?o~T1$(kSB zi)x-_ZKJ)4s8xju>iLWNjWK8H2Lr)&YUK>=n4l01S{Zt6Z1a7{x{kJa;=`G)Rf?~$ ze_Q3C`qWv#HAqR}E3VNQnvwjKD)rIeD4NK`4BY*U}cvBM{9O`FkY!dQ;1> zvUU#bRnVKA30#s60IVF63alZj?VQKf(5j>dZwNSnox^sfr3W*JQoE`B^z#JmL(X=N z3g_@-f%M68Ue2faxoy2bZ~1(SkqJ8W!}FEG&aB;u6izfBq$6ApwzX}&Lv@1gvyPtE z@uu+zu5K6IxA~<6o~?$owY%ub!BC-sfDSIo!uGd#K`~1!$2)IbtOrOV4ld3_J;X2I zhOCWbD2{D9yd><4?GyWAtQ0v{sdkLP`poZ<9%t>NkwNc4hpd(A%WBp^C1%59SgV!T z2FIfC*HtU##B;V4?x<6lVEXQ=nL1e2>I@;D_9UE@31HQTt#g1geP1E_@i#wt&fyGC z;3w3K&T!|HSEM73d%gmr9~lG6pQ7lU@^MAUyfBz#x8^;OzU?nmEzxyb4Ak(uBP<2J_SC_l8 zojHxR&qUp}ap%~?U(!+qhODO*y|q<|6Yp3lr{hDrY$I*-cXo6sj-$YyF}VXsbd}k4 zoCean`s{W5?H`8&3ZZt88=X|DgMr{c1G5txAc=B0(E%`|%V99!dc@O_V+u&9EOs$% z=Y%o;l^kcxhc|wy<#cZYpIAjxM=hXa>qFAcDTnE8*soB*)~`KxK{@&zS7(lDEmQQ? z*F@;(+g0lwZ|Q>+fD-h8r+1B{FZ3J=@;q59uqr?Y6P{R~s?NZCqPlQ&cFJ;;2a<7! z(N^rtoFJ!;5w(`980U6)&osn|2H$eCKG%AO1`gTE)Pl~O2YiEC+1bu1W7pPSdLZ8+ zgB;nX4TVfq=E|bIXEwzkZD#&)0B6h4v&ud`(GwCp?lbXbDz|h`-TV0U`KYyoMquc# zpI@n(g<2RIK_#$jJ7MRjwL;YTP!$+|#t*(i5tmsq;#y*aM%IBSN=2wLW=3n$*HDGT3`n-Y z1SN19&*_BDlnJoI6$X;X6LNXctOYI&0ql7IyS0}S+cesFCdnbLJwN2uE$GjhFpYT? zSb5-gq6D`F=uIu_1Oa|U0@{bdoX|m;Lu;N;#x7L`S!roHBMxu(+of5uG zq7qmE$GFK=`vsqalI7 zN52k3tWSxW=RLi+C-7RuX+iIp4dbz{gnkm@Ozg)o3)G6XbU0Qx} z3zWxypSgH53R0-coviy0zt(U(QTjR1{k`MEt=oZK(StfH;Zkz?a#N4jwc=-O;Dj{c zb2<`RM!&LX56~+dmV-UW@se7Mhomv?A?Zk5l_LGOaL8rFjzf|cYhOM?_k&`6FXo7} z{?OyTuAa4D%>;F(e}#*FL5(IGi#mN3H`XBCSkOp>b@m^IYQ4C{i}dKiF-0fm>c$<& zjLwfC@CaFI^-{6G^V&su$SPDR{d99DL{FSq)1Z-I-Q{etr~%!E;HB3PdN~7;i7Ivq zt5M1?QhAEy@J%(BpSb-)_lZ|p5hWx|a601bE#WfbV>@=z-}?p&rtGLA z_)&_-$`^B=Ahl=)d77{?4N39+R;npQ*E7$fl4{rsh+KAlZGq5 zF0;I^|CsU(okcsZ6QsG$Lv`OO(gP&l_tuNMBE15GXilAgT-tfmGKvGL$1839HUfC( zMXEde+j=JqSyXHBG?79DxL^&|O*-Ggt|fJZVuA z9Oytnokjm#3c=M6q3EnUf4~iHO8xdrHwrVonSkew1$tJ{Th9tu&Lh5E!8t%eE$u96 zV6362b1!X>CZCRZrm+saljjJ&LlU)~rCK@D9`z~%{XT$Sz*q`Dc$xSsIpoaA+vrpE zsQiDZjlQ7T@HVPFOdEWJZuCw%FmV8~hjH6LOQ?a`y77OjCI0T)67?7ns3opA4Sr#E z!rTS$)62%0^)>Y~V`sq+&0bP(%u^SWYUUi_j}g0nzL$RFc~Kk z5t~svZQ<g=?Kk6^A<2TBSI)RixIr)~QalPHnBCwGOwxz1R7kcle&O z{{6rA2^YD~<F-<#Oi5nZmKV;Z>p}d(q)bHtIHZA zQ`%Z1t0qM1t%CZZ+SZoJrg8R7)Xim$<5$(TS}}L#>5Mw)%&o$#!tx=5pmOl=xl-CEn!Xxgg9vayS7uC3Lg-Aj5K=gSQSlvdRt?oecP`+I??)Kl`FmKx=Q=XVOw~sDkn}E zzo2YJWnu=MzwA4=tqqc;Syi>IR)foXCk6qs?x$ zCtT9p)G)DPx=p~z7qu;3Z0mt+Pi(Aijx^XzSJv8s<0_C7AhrUOt&B7;u5UU^?6)fY z{YVWekT_PfkE?2}UOHpB({1xoKdq|SR`XW-8f6oi9%*fBZuE?(Y?>ZvX|oNW&2urT zi9P7vxje2pVsj;%&U!24*O!T{kp|QkPsruJwp!}sxFWM)L3RDvHMP0+jEbt2k(!B( zHtFWJ<>IC`YmhDTyj)v~ZE%z4zP42^1Jff7O)IT0=hWKjJ3X?Zt+v^(QKv`ZTx%UL zqj8a|_O`HXqHQf!OSNqw%UhS4RZ`u>QK<8)#@AOZZ?U2_XC`7xZe~?|TVz&k>r&^& zvup*8nEIy1C7JRkp?0nuyL@?lZMDr|Q={|fgr+82V$LPDu{a><_(dI-XX{{UhPKhJ z_UfappHlgx@Rr*U5m{N=WSt}lw4er8Mw%OJ6_mENV1e^rPNDUm)Iz_V71y@ZdQENY zV(V|0(WW-nwkjhH%WY9qHZ7lF9pH<5CnM5~t*^I&QzNTdohwDHixlImTWrSbT}yX$ zAFbWb`-G~-n)--osXf~@$w;(Hn^jXLPMx?Q*1lG`Y`8|exVF(cx_&hxvCFfoOVXfy zM|uqtMl{w$!-30!^|^1q^}Q`-7e%8*VB%u^_{JJr51pq9^PT!=NOd|qUsp@)U%pZz zY+hW0LUW2rA_x~)3q*E=t+-x|ud1(KZGG2dD~GM5UUAgh?*Q0J7Y%4aMWtCT+fhG7 zqqNte+q?)<8>x}HY3s~H>t1Jt)a(lDX0I5fzW9Eyb|;7-$heRu4PBD-8kMV}Ga8$k zYa+Hu#SCm)C5A*=q{B#Xa;#2y^)aR=c6#;Fs%8^ck_nB=*1%Z%no(pwhJXOxRv+J7 zT_zJ+x2rI=(3Uo})qBy+zEggspHH`4VY{>Hr6o%#D`K3@p(STyqkY|cwJTYh;Mkg)sgbjsHWxK*Zy^b}3O3wTenCb`%XOjX zIo%m9Hmxdei?q3})SW-B$$omli*IGs)osl#zD==FuX*+K$Pyc4Ty>SEXk`)NBx>2< zV7u3ewguHz)z`K}#DP|)H$rfIunZMO#Kkddoi9*mtw5FV-@w1XM&-sP6G4|5<}9g+ z5=`yU$&tn-txG317OifLw3vj#9Je%5UFTI>>nrOyJGgMsgt8zVi)|dPLvUTY?NTCV zMQgH?E@^9&A%%5<7m&>7yG;;Xbp;m74#@lLMo zlsrG>+CJ8a#>a32EjDqqRBNa0`MIO_67hONUFIN+s`pPC-e{6^0B3*O;a|O5S(LDb|ltbG@n^9j;b3*^a}rv*N5;JF;+tPFuRRnzl8R zE%wJDEjGTnBUSeM9(I&d)Eud*o7~j2+-e=?YPlWjNL!HMWJ{}GMt&D(^JC(>TB+W? zZs~KYU6mT=!p-SZXJn4c$;tG-XOcOr!3BfUn(dcRY8$E+*Hk;QsP?q_<%Rh*cDuU4 zHo5xK8X`4SjjKCDnp0bnIn4f7mh1g*KZSAHlEyY`->|sN#fwq3hqXkcinnAATU=As zS{1+F*fh+|BkZWv9<)1N1R7@BdzJ0omzb8NHU!9+8GW4}3|s}17#R%@h*q{x;)Z{# zVii#aI$nVAB8gvR?SRmY2Wnl-8!r*UHfgsrvBmw3_M|pGOKpe_(w2K2$%LkQ+rvmr z^ZH(|3j1}f-fIV_*wE(HV2L6&ru&U~r3-jAjK{_RLR|c^mCBC_vur?jXIOhG$5u`p zx4>01ukUxESrU?&iM620j=G#VUVHOnL$n9Qh^DRH3#G%ODq~|A8;*iu$d9bzrYW^8 zcAO>SSFa@|j3)nEU;T;BHN8&x90)VEz>bEL%$QJwnACeN>uNASo$UxX~z{w)rr%-d}Y~LF0k3g;8kVk?}+%&ANxfsv)9+yNu2AE^USKT z^)?vRtd=@qg{2DGLh{3+Elt$CxS6n6CytWtGCCHQlf7w|E&r0*W;+75mSA%0mALN~ z%mayBK2) zYKXW(vtzGVALC^)ZhB>X;t%q?5s}TIWX{=i-G5?eBe#ir$U9_HqQ(c!SI z5oL?LTHLnEcji<(#B*WQ#z-4!rr6pB@!#wsAXUfa3Zvc-yn zJ6D33_|5Ox;wEox^%#R$8@xU-v2IEYamy6WDq}zYG%|D0O#8{Mth}u3VXN%8Z}Ca! z^o&Wjw;uh={_A48tm*RQ6w}-8hyAMzgO(L#WEWk~ZPJ$R)6eg^HSN5Vl%;9+6+Kk+ zaM2S*PZnjEq8>$Q4^6($+b_;A6MC$QKWxlURd42`^Se$xFXe)6DXY@%D|u+b!=kQO zl^-+h{H_;t+tPh&+P3r`WNhzgZFwfnmZyrIE_y~(hz32~Y18Ai{IJ(~Dd*d-Q4LVi zO_Wm*T4W%xGQkTHCVt z)>V>`?JAI0ouOzHE5v?rMrMgqdO^2JQDI$Ml9B11o^rOQ)fJgmU+wu5yz{qopB**I zRnSQp=Dvp>exk_NwxzpEGTHLc>@La}Gu2PmYxybnN0WcD$hCTDC0c!&nvprp<i5Gt;o9jf^J@L@xsEE?kUqKv1f{YF9~Yt*?4K|uZ>OXY=YJ`dU~FmS9mGE zj!VYnClF?}`Z5jaLC+apNqWIKp?(y_Qm}rA#ueS~*^}e_p0YO0Hb}(%r>qMmc#%o7 z%l8B9iZ3(C-}aa};?LPJ?Gib3zh&C~NQ!hz_r+10oISA|{{PHhtnqA1Pc80}c3-jI zvAGO-F4Fsvp0-ywzpL%L>{-6F-j7U@xVRL(h%xzSm;B@Wwxzpg+19j_oiUrdfU31C zU0me#T2#FMlt8DJ9Viwnn!WdwF&mGb}<*@-NkWvoqvhs{4E={d3n* zQ{wnC9Cvwg7V*EsjkAY*`#EPmx8E>L`1kKP*C$`TZ-N$Me16>QmWFH+=76h1-WlRJq|Q}j&lBwnfLIaA>a6~2tP+f8*}6sCVC+x?U{ z{xObw^)@K~KgGl2Nw+`*_3cTgeEHlPEyND~JKiTIDqFt1#>3-MH`7nilbIy%ugDKf zl6(1xo#f{$JT7$$jLUra@Ho@WgxCM%`Rtg9vgN0%@iP?pc?u72N8OCZ7b$v{DZF0c zE0g4F75NQG@{NkT#?M#ew&*;a4gAT7~ac_zg+&+ZB0@->Jwy*hzf9 zqUSkPEB#J)6FyGXIZv*9JI5&YB+Dl#dL}7+vchL7JiK4%ZZux6 z=t-7uQuJJ`@OFi7Ns@=h=kDfU^YD1y-E=7ShsXKu<{CwQx5EAQAAdO2q{Z*b_EP&d zC7xsIKUj_i<^LV;MJf358t<*h_f>d!yG}F5EAp8NA9Rp;czj4R!>y@acr6iAIIu^vErX)N%BTTUgIkj`DFRoik@?mUq?EFnPk6tRZmv+|HGYjEf9)aSHz?_b_fzRcvWm62~7)m~RHt z9*x&1@{I})pMPZ-jjvVoY&^((x1#@G^P7}(!~2U2bGssczrw@gWQOT19v*Kq%u|Xz z&vX(GpMPa2^Q=S1Usdw^Mw0wZMPB3YD)R3s{D8tgQ#j8D{eGc4-6G}l42Abr_`oFj zU`2kY!bd86w8F=95}%;xnbb*qx}v92;WHIJTj6IU$rmc}ixj?8;mZ_WpCoTop33#^o~FNI=b_>Q6niut zJ`d_?1}S=y<(|J|%6$K8JU=EXTfThw^}e3U^}(KIq@pK$Ue?nTDe@W*pU3qylN3G4 z^2v&xnZ(_0s_7M=p5G3Co8ihQ#C zK}FA_3V(sP+f5Cu&inlcN2~un?@H-<^|_DoJVl?lEC1e!zC6cO&;Guo-M91L^9)Ma zv$L<#@AnOvQ91u}^!M#Q{COJr$1AVn0@U-H&cpTa)g9k&2cL)Ald0tE(DCqbZ>GIQ znE220zs|cSisQcV%s_qi^@Pu(b@^bVaqXf%rRtaO;m^bU**`Ed^ZcoEj)%TH`}5!N z@cDlKzlcV{w9k`%$Mi!q!UXGdE1L8&(`?m-g!LS{{!Oh)Rvt1_N0a8Yd~NI z=F0~okjpQxp7{AXbUZu`3{>L7K*c`;mHv95(hm+)>iIy$pE~Cr!}I?@<$m>nCNs1g z2L>XIuZL@#&$+~W&h_6Vml~L@`Q^^5WB+rU*AqPZ2Pytfo`=VuL54?Ue!ARVe9r## zd0}Wd4pQcogUlF3zDVKW^SD9EdY#UvlYY0GirzE+ke4s-@4@8h@yhMCpKh`|ynF`- zBD$|XyuTQ1aus{R%XhF+zRB~^O1fhd9$rrdE9=06&1BN!c2fhrsqcUG&Y|aB$$qaK zhbr^6p-R6nR2d%*RpQLhz)Z+bH#|NJRq9*voJ+t@H$46fRh~~Ds;qYnHR1JbXyCn6 ze!3GB|4&l*845qMllVGC&%x#!lyo;L{CtIPSNP6D#II4(y;kA76@F7E@jDeg;p<&P z%^pSm*PX=oDSDnz_)`jhM&ZvY{5gfctnfF8yWP~lEXa@N98Lb`cnaC+#hI+QH?MdC zK2KNVHJ+i!hpz) zpRV&86g$KFi!9}S;4H)O->FSC*`(c%V~381k5{vm@oKiRE|IOoC7t&pPk8M;Te)tV zt;C;0$31&vnegook5}1ByvjD=^EI6hk0mKve!9u>k%}IT7c27NmuD zTBslL1M8?>d2#FV%jJv5IbWXr+^T*14;>G$hr^Y1jNyTD@#=}r!|UO2Wqo6Kpuh0^ z#!<}o+ZT_A&o4$Q{qIO+-l6mGdBjL%{IBzVq3v#@GGEYne?^bR2PpF4^N5jw8KhU= zMk?z|$@4LaJw=_w!~4yV%KG_8<+;U?%5#f4=l;(3TlhNINagv*k;;1pMw%MMKg$)~ z+)2Du(X%#5zFm>;Q26dn;^Fg=k;-%KBhAf9y06(z_jR65Irj4#-cOARj6Z$(K8l{s z;^F<>C}kWnDliW5?L1zwGrYeWrL3ooQr6Q(1+Iwt>4x`@qm*?vorm{pqm=crQA&T* zd3?6w&odOhRN>1MUa#;*g@^ZFqm0Je6+MRw->KMtxx%kd_%&ZJzDu!(*ZrJWYG5_l zkLROF%NLi2$NAApoFA>s<3=m%4>}K@-;GwTYmZjq|7ax+>pVQ(j#lFBXk{Lub6x@R z;_&FeijmKG2JiEcRD=GfIM-Z1-7$(i8V~O;Ml1cr=)nCRe!7#DbTvL*k*`$vLWPIV zQ${QEm(iwK(X&S3=PG@_~1_BS&E+U z_plY4@b{h-oACFH6`N*7fB1X1ijBs@-=kG*G`?9$cbmffaYlTxr3T(g;EyLu;>Bd! ztDlDt??yTB?GGQ{mMH5&$@B1eN{Mp6S&4Fgi_XKx)g{XKszg~|()sa<-!c_GNa49j z^6+t5iE>|ANnqvDFW)gry1|jPn`iN;%dh{34-c>B6O{Sd1f@Rcd_br_Cn)1{orjOl zCj{;!^~!OAQocG5FZT(76%JqjWF=oyJBd$M^n{PACz!>GyvCO*^2-!{uEN(Q$=50J zo0H`2B=2@p19yjbLaC-SAnldoq2noJk#A3Tg{LRU!~2m^r5`C(u3zXpe0{7`S)VCY z;>Mxl$0_~{@4re-rXrs#@2}_ykCUa!b(zw@n*jX!Q>f?0DcrJ_gUGZpz{ z`D{f`vV5VUCs`gIKTFLrMZd;d6?u)XQRFqgL6Pq)9v+`dO=t0o75h2P`}I@f9g3dI z6uy(V+f6l70@O?Qi^s$Jg(=E>WQr31rzrCXoev}r`TiM{B=^pXo#g8o8bh+>^YD4W z6y^Hz!RPskofAvr zKT{0HAHSY!{3^xH-3q@oNq)N`f9FBwdldb9ljIL7@*00gk>8gj->=9&rtl{e{!%CL zw-r5IL)Z7Fm_7<0kR%WPUd9v?z8*WpEH6>?gs%@zF=vvz zE51}yMy2SlFMaWN8d*A6_RExYB%O!PTg#Mji_Uv0_ViQuaSG2&l829f%9QKWIu9TJ zlqvV)l?9$e^!*<`4mtSpg^J%aK3b92c!?q(zW!FGT-Po$(-l24ljMsOd5t$J^2-(8 zoFs2mEU6MR}zE)&E3Kyx&irhxhO0%J)pmO?dxaZZ<0R zC(F-Q^lUyvJbZjoZoi8*!q+{@mG4mN{B@-q z-%$8Roy2?7yx5Op2b+hlhm@Osiap`?rxyzH+JeDQcX zS?ZNzg>s#uLYePZDAy@;K0rx#V3ORkH+GV5e^w01me2FQU_5+$RiV5mQ0FB|z9uMq zVJGqMezrn+9<4%o?pWvH{bPmFZ+0FJ?`JDacz;@2-~6{fFZzsAGI zT@@z$I#h)+9!s9*Ds~no$-~Ec6^6%q{sG#<8egX9(RiaG zukq!I{F;NzHz@iyCds!b^5M^ARG3{P@4`!}nL$y;pBEf_-j!1J>cb4>eHt^Aaenf= zx00^L`zi9rCCM`td5sTJSDB@} zKVg=#PBKebCz++(uRBXwuh4n;dc`c0EDygg*TzZ3pA(Yg(-e7)hu_~jOL_mpEVES6 z-&wp>(Z4cD9=?7u%Y?6c=)7G?SL5O99<$69ik@WoRf-;7SMlS9#;;ZMX#566{&3+p zDfZv2@VgX#zrr6(l0T%#Yka>VukmL|-gR54W)AgU{yN+Laj(71QNGim^YHb$Im&x+ zb>4?c#<%DABzb>DUgHB4`S5wl9OZrHbCmf@@;pniCs|&o=+Suidf=SE7XbWn8Kvk? zmXB8SgwK!WDD$Z~%5(8^l;;R^zL4y3yQyYwfO>v7bUcMD^6lxS@a~6*rzz>CC&|Ot zALc6WsnB_Nd!MV^M?F_**U9tn_B&Tu-_Uu!;x}%;PAt{TCuzUG``^pM>(zYazP0(v zd$i^&_w&zJ*1P5_^<=*CzN60L;qi9961V3o?^)9M7^*>DoS7eZlh%Ki&r|ek{7gk& zkCyzX|~5y`vVR8t+G zUfekRc{j?LpD&GfSLD-^oetCfDXT3L6}`D7*C@P4z}B+F+i`e!Tr426f!r>d3rC{`=?k5w!8kLf(TU#>Rc z{bTZcjgsH+{36%SCK8~Y{GsD%WRY)AFNOD3c;6&B&+pvnsb&dj z@#o72pNIQliL$P!^YHbDCCdC-=Y7Z%Ub!p@tXq11t0igQZ-);L_gk&9Zd0o~cU-Hi zSLodHYs`J#eyy_JtMjaw3fc1Ygui#CR+;Y~IzC*nzeM2^lH`*V`RPgWN=07d^AvfF zFI40;UZco|uY1%g-vy{OOBFrK6u$g0;mwMj;p4Pg<++1evsTfg@pX#)#w7V>MLt=6 zv7%?2!o$aDwaWX`YL(};YnAtz=sbM9RI7adtJeHlv0vl+6#4zc-EOL>3s5hv9zHz0 zU#nC4wK`>-P#5U;eLsYcyXutwt4?`erOw0quR7(rcAfJ6ibKc4*AwcL>!)?f{U>$G zI)Ki@*VXHk=i2JbBC6?r`D#48->Eb8iXM$OD)Jg%smN>mY(-w<=PL4RljPy?zs`iO z1Js#KivBMe5AR3njKjrg7KUJr^cT4AYD*591 zxZl3+SL7d5_@kY~A5-)^qwtrK_@P0Whc+nd{|(AIf9LV=@k4`hT|nn+75`{Fe4Nmrj0YN&^?aRgQS8~CB)>wD zPnPde^xUBE@cCeaxkHiPqwsqb9^U^pm?sqZ@cyyEB+EZh^dD><-p@8D&t2O7k@{1= z9|?b+vB8ADhx6d`@b5%7m;s9YgB6~o@bLF6H7L(HCeOp4b8IjZ$R1a1QcV-p9)CRZ zf848|O(umr^xx%O6+IfyP~>|i$-~!Gnw0xJnoOpmKYU!&q&$z%q+AzhGU4NpCgpzb zCgpwOoyWt+Cr!%pI8DlZ4mzKy`16b;d5t2UEMKPRNtQP&dRi48z8=zKlI7f z6#a{cyJAf>E2wn+anAp7uYT%&=t`dR<-^x=Rw&nlRw(y5tWef%Rw&O$B+oMy`;+AZ z6+MGGiDxT%auq(RlX$VBXPUw*6&^m$S)sh=u=Dsr#h#@}@@0y=#v2uRjjvMVljUbC zde$m@qrx{Syj|hpma8!e=MR=PB|FJBcq+ z^wbk~yQ!uvK)w3*#pB^|sZEJXZAx6yd3aoEQ^wUg506W2%6ed%vc7lldHA@xO}QVe zO?iJsoAR7;o3cKs^YA#(rmS1)d<@lSzdjcw$tNrF;qjqOc|N*L`3_^7vd-D2yq{d> zXDW7v$ALEG{xO}`DEfIE?!;2fStM=DLqdZ53Cp|0$;Yo}qz10$8uPm7;nBP?e-k}1 z9$&9h&1yL-{!bTKzX)=-uGA$?K2ZQ+<+cW{yPEgy)QDzFB3asynEc4 zsb+25p0{~}q#NXSh@Kcv)N@`y&tsw|$e$NIF`lSrT|m$Kq9@2d7de&>~^OEQZ@;60K zj3?^3FreoH(G%pKi=G%y)U!FDr$?$oLGEa(xybzl{-v7l2bcq?fxBTmu~f4~k>}MA zUw*qH-x1(mzu#54PpO;vn9lIzyDQ&iOH=NzNJqaEQ|9T(FkW0?-cz}+yO%P~>}_6% zsgNyCe;?)k|Gvt1$@?kq^EqDOnaa9xe`UNkKpEc-RGuRkq>PIOoA7bhQ1eEpAF`C^ zO|s3rQ2AUXU-`=On}v#hhAZ!X8)*)NraMZxZ+W!YA1Xh_^bh4l%J{t4Y?uBgc9K_5 zN|fvS69O&LlP^`C8=7LmzYA7o_QjHvEl*Fma=%URyH}q44D)WNo>_+9-|NZGF$+WG z=PJ*Y%vbJ1TcFIps?0~B`m4>}P##gPrv#tF_3W=z$~|~rv?m|DzsTcF%KOPzDDkaD zdG4c4d2hpIlv`u^NWaiEFyHA1zL3uN1~^~W7y!=geGoX$YledJx>h#$ag=U8_#ooL z!TS>T{Mk+U-dQ*0x?4A;zI9XPS>2THymwR9`MU-Bqfugiw?O{e@_pr z>uwf1)6Knue5#J7eE%6=Tj}pHEyoC6V!6y;-{F6b{zYifpsh=5UAf4gs$yfMj zg=_YNf7c^J`L0KXiC+hCN%{6n3hm!BO!)U8GR!7Lev85{C%#+!9Mp3&INv|~GjP6d zVvj1stZjaA_v!DM6zLfO*37qerc?WzT$-f64 zTXFFW{t%qMyYUG)e>dS@;Kx&bz538oiNigW@qbU$qnI*Z569uIU7bwN!1yx_oaK9h zbN%lFJ|LE)Y&_#e4ZJ2?rfyk8RVXwJbUr= z^bgFx#)zK&%KUc#dCk`|AW$DlM9+YLe$SqP%5@?h9s2scv*Ht+ybLiTHeE49V7IVoy-d72s!(yr(CZs9*nc1MS_D&sW+}p`vHF%G2q{ zF0pgCGLIe^=r25bMk?)VWZ*gX8$|!e!1IZ>g0nyG1aBof_kyn_{vdb}@qOUCi9ZHD zl(?6#QOa{1qXO3lpAkKy0{zYl;2h~+1?P0%1n2RRXU}NmdgbWA`;-4FdPWE4#RtH% zD8HY82YQSnoZ#qyAG(2aoJj|tO!|9)-$lGH_y*!$e#a>7cT8X%;CRt9#$<--;o9K0 zucE-Z;sDW8q>R&wm42;Qi5tZMzj^s8R?4whS^p_ESA^!PSXmD*HsRk@ELNU3ELOf( zSgg#0icR?a?ZwJESg~oQ@wxAZbqe3iT*@Wr&usAb$v=hQuM!^x{uuEh@H2@|0B3(r z1?T4|D}|Q??w2?Nd<^MdD11WTitb|YbtGR8zLa>g@JU4ddS0rm|CcKDvs781EDgjN zuN+I2_kfiK*0;|RJ4*vsv^+gil=0^j<+{cc<^4ZX6#J)`wd5f`-AxL=O5ran{B4DI zBiQfo5 znDpER&T-=x;M^YX0q6CBUxDwYbRPi^UoR>nX}?{RnM^t|SoX`5`=-hQ?b??Q@2|@O z>(7sion?V~_xW{0dEmWjpMvuUw@WwYfS~>_fo~@Nd>NeE`!V3$zP<+DNP4~j&g%&$ zf=?&;A>cgj%>n<2AwV={r^L7Zm0hV&i&fe z;Nk1!Gn9G343kNAdgVStS)ZH{h|j(}mzU2kR`m1rl9yj#wfO9?c)8+Ml zpFc|V`9AS~&~Lv1FCqEgg0uc7!F!SXAHexK%OAn{y)l0R=j$WyfNvtd{T-aIYy1QJ zR+9f5d_UQl`XwhA{J#8=;NE?pF=a=A?;<^40q1f&7QBPxzX{Iob@9qe{|<7Wm?^UL zEzuMFUhOdONhF^KK8pAV@TtWA1AHj)@!(m+J^SYd*3U~ter{mhuN*u#RFD2WO~NA zuZR0jt?+f%NO+OYr!T0=M56=0$ z1)SG8e-6&$ieG|nrgR?w53g7H`=tkvo`*$G@O{p|18*exr@`MN{yg|5;;(>n`~5Tc zqa^Q@V}nvZ_4iobujtvQaK10%FJezaU>)oOaE|l;1m8~j{{_x|IHJ1~Y%sj;(F2^z z{b=xAr2nhnT>rlg&hhpH@FMCrPXgaV`aS?dve?-a zxE@yk&g0Be!Kae`vEcU-KOMZ7_!RJE#4Erj6Q2V-bA?d#dJcYQIFa5dN z@O-r?_ffQ&8q)tONjJzJ0q1-@4$l7hJviI{qVV8zD}NE*VV>@hXwXOC?HP&uU*K#{ z_amL$wnSmO*H<{#a$^Px?=XvGeKB_0Fz|CJ-F)z`eK{uUwoV2AKI66^&7Wh9X-7~?zcT}Q$1pLwTL|za6c-KVU3f@BLt^vQD^lt$7)@5V5 zHiK75{~6=kz=u$}JHgK+zg+`<6xD|tz_-f%dNKXCgRdt4>;b=Ceq-_vg6|{$?+2el z@=t+ZNcnmJd_R@%>)@lQ{=5s`+B0U0+d2TADf9B!vCqJ_Q~m5J>2;WQD8K38FOxre zgRh}7>zY@HV0?It_ zqvbc2NDX**;`QLvEKDo-*GT^w@C@?v2JpMcKbygCq zpTzYa{C=v>d%!=Wdix;wV&eP3TPfYA!23|Sya0Zu{KowMI(QZFcfolabpX5@bzq-? zZ=txR3i%XDH{aJ!{u~9qo7zP& z_)aRv$>84ggqTs4;1Md{dEg@`Up3&vC~kZ8tivp(a%_eCnUt?J;J3w0k*y8j{ki^w zzeDM61HVzqGp1}O_*}}@HNGB_zX80K>gVm?y{X;p0bfDo@*wzl(z74@8M5ao@P{cr zya0X?`Qdf&VPyZi;6{F9emDR=h5YszxHn#i$#<0i)?rep{-lHNqVnwxUQhDJffrJ_ z4**|Jb`Ap{Kz=9y|1t5?z<*ABJouHdEXmeX@RO*$%mUv*<+~8vyMHjItQP#QRF2Ky z-AMmA;KxuoZU7%f@#i9N@BWBby4%4YCH+4FznSd07W_@}|1ID*QvA6Kd>)m{1K^cZ z-}Zz5jOxSF-~*`teF^+a)Gq!E{wn$5J@5?T{}fJ6aBh+~6?`82OTs(MDDp#3;q5U8 zW9zGs|0=bYOvv*amA(b}jbvvw##3@;`z6 z%fxSn{8)+)zkvKbR9^Q({vwip1o9VCdwB}-Hq);i{%$uW{PZG0zQ@a zrHcHO!aGbY#h=~6SCAHCZUO(8j@$`7zo&M0ANVxN@IK+~=BHFHPeOhywXYYz$58qH z33}cnJ%5G#8sh%|pGfu?$$z^!p8Dk@!7GXP622mEe?mWSUf=5vJ!g@gA;LRM9px)u zcoTWquFrt;_4gv-?Z$haBX(LTxcA&Zj8_WpFzwR5V|+g3ms5YS81ju&zDt%4hPvFnc?_Fnzo%SC19hB}r!Do`6y?I@`d4+fn8JD!1dMd}> z;6En*b?~7yP8$ebL;Pg$8;K7Ge~tK9;lc0IdFutE%N?-O&4Y|R1BB3=c)mUyl3 z4s#9Fhi2h*ByG%U@Dz$mYoX_NQVy}xE)d>sy2HuN{tn1blQfycq`BmSK5pnqNkXaBzqK0KDBY`qW8PepPTGC?7Nbvo1WUTOZ!|UFY zpx=AWJ9d({Zr*NYQaR3pp67{2z)z!k*eE<`=SuLQu_R^dT<}8T-h87r@P4F=A-|mD zw}USxez_vQ3w$2Q-vqvs_#NQCCcamAhuKX1$Zv!%A!%bC1@B8oo`#;46c1k#9wBLC z{si8Sj=T#!X%vS)1ka;>_P@aQN;`-t`;v@TI*j*xUX1q?&ZBcWIo@{FGn}zcz+?cK4H&MEm32!&ok)2n8^Z0W&_*?QDQ+6x( zH;;)iw{@5B;PamM3-2(k)K5Jkd}N{$yY~e60Xp&r;q9iF(tQQ`U!?f+Hsn7f`S+p! zV$%N!^zi*Bsd7H|7RIE3A4htQ7T#gDQN8LXoTHdAo*#qnXBz}PE2y33fP3SPSmGnW z8zmnxJ`OyW_+;>hs9wzwo*q+xt$EX^ zEApEl|CO&KD%t}1M-#ER6rAn90{mH${|Wf3#BT!ML;PpplZfvDUqt)?@JizQ6#2)& zH<0|Z;MWrWBls5LZz%GA0dFPw1HwB@1GTTuh3AvBFhA-uzQ>s7JSdJC_P z0c;%$&eu2lL(iY6T?`T4Zc3>>PJq4{97bn0^Zsu(WEl)xn6jOIfcd{ zw}a25b%S3D&n7L#JP1CIjy$5sKMCHS6>`M5b!C)^PuMsG~XWu`HduB4E{Lr$>3k2 z3%8ZvrxBkgyu(Z&KSYG{Xx^B5@HY~(Wm=%;8X7085#DYVQo0+!pC-N;yax?@w}GEb zd?$E>_%+}=h~FSQ_`aIk!Jngi?SY=Xq~}559p*$@Kl!cj!KB5Qr@$xEk>{cR71IA2 zc)w#4Pk2XohuJ{m`~#4mM)IEt58BgJ;^W}J`>E1}x0?${PjASx{l^LKFh8L9e4=oU zV#W*wpPra4lPA30+(7A`3jQ(iao{;LfGY)GM!Z6J@O{5?h1>N~n%~t3A4pajQwPow zqFH#mxrov|8~oSA*Fg_qvq{mvMRXlY zUw8<7E{z)>2RBqdp9AkgcS5d0Qybb;l9r?TPc5~v_6Ayd>zJYkE^vCVyHR9>u z!>9xPitym`GG7OumYA$L5xkZ7F!0613l#a&z`1`M51vnYrhv0OGr)N~Fdv-9lM&$^ z<~=IkM&ZHdjM~5lkUeXl=R@iTzbm}mOd~&E4EY~Y{QM#GlX~+baH>A$C*W+)Pockp z>fxQj=d*fq5BME)K4V14}ApbPUzYYFR;vWbP+W9H?D6%tE z#sTvK?`7%%zMSNb0pCdcSn!?1PXOOVe2DN4^AwFA@`ZOLX?wj1d>I`n65ei#zL9uf zBJ`g`%Y%$N?hbphm8 zk^C0Of1l(p1^*54E5Lhx(`k+U`w8@W*C%8AX5pDJfUTc{OSp_Xx)*xxp?Se?gtwa# zO80l*TZsQ2dicJPmxWU$x9R^GoRT$vg`Qbdh5iA4ET16b$PV)v1&AZT2U9=QOZcof z4|tnj1Lya>X9{mO2PnTMLH`D-Z@G}ah64Jj;Db*{Ou86+A@M2T+lkK<-eG!B++G0r zUy%G#;j;`sU%VXheh<$UwCPp25z!wtV0KS3vMc~&G-!8l~ z@cj7Y;FXEym|fr!&f<>U1imnixy?JkHxu{frS^VrihI8id9I!I`V{yJq~~ej9p_tAkB zlRZnoXP%U(YB~5r#8*Q<$Kmt9xgB}){~2asqIz=)0Sl?O*-Lv@Hxb9 zhyF&=zX$wW;txX4ouuctke@{IPlIzidQo_XDW-A48{kW*fB&2C3es-ON8tS4kI$i} zgY7iN3-s%(_HuGQsa8J_velAU)o?Nzncg&_m7Cj0Mjp{S(0t z5HAN$qyBde_-7xXA(M`aD9B z9}9jJ>6r-r0`YR;9p-Q3&ohLRbL_cQ;Cy7M@OCqZ^1B?omG~;~dx@_V-eJ7=pvR28 z0DRvOG3K_m2&dp?c?UT63zrLTH<>3V>e&T8llV>GtBKzM{fSzP*$dvE4*VLNEqzpx ze+Ha}ljbFGt|xDRbARzy;r9Az_e6vK0e%#Xf4mp9c9>x_-#=2Oz8&TQYVWA-vt}q;e?&f0}qH^phJ*1vvY8E;xk^Q!Ts$ z-{XyCqh9!&7{FFD_(D3e3VNQU{`5TIwti+Op0Ek>#WX+K3i)*;zZ3j*;y(uOmy@Xf zCg{JL*1>)b`O`@LUg2{B_rE;^o~YfJ$G{8ez_Y?TOkb*RuLz$)(ssQCoZoZ!7wB0> z{`^RIyJ;c&{{?;>@$Rx-7EHG%I1OV>UvORr$OPX+IT!@KlXy1xZsNnid0aF`c)K~7 z5}pWozK^IJoZrVg2YObKo<)$)r}n-Kd^GW9@Oi|~1}~y~tpl$oz6tzR;#?CA-9mpd))U*Al((_!9CkArseo0)Fk-gip= z91QNgf7i))|MD{3Z-@CI#h+2&3wycav47(;-FAmL;^-K2TT?UL-wxy5ukE(If3q^( z?*wlr?(h6ew-fx1XSMKl^9hxE9r&C)cV6sYOQzfIF#O!j8sY8cPLkgM{&(URfls4} z%69Od68{l+MuAEAcP;oO#BTxLNBl0~69Vs9y&rs(N&L4Dd~+f;Pk_%O{v7yX;;#zt zFy40vV+Y>>{|A-t0r2nAc;j>7RN1V$uHUqO?AsVQe)bUFZU$0^bPVLjxYOeP^@IF8 zlJ5`x9pZzbrzTE^+sqN3M%0+$KJSuv=s$$Fn_Ec#>EJz2Nt7=GZz4Vm{957*z`sNT zuO;Bqh&O@%l=xZT86y(y`Ht|kz;{eGf?u2{ZY~19jQBQijz2rV_mTWn;4curPIv}U zV{Qh2tV`mdp9^m{=TpA!0sklQ-++&!K>s`NzY_mF_<&Or)BPj(8N~k#-cI~);I|R~ zhwuz@bC*Q@{{rXt%6_T8lM8-#`zY|0q^FPYzKP21-q*o<(vbne`w=x}2spQlT;cL3 z;hYiR6b{W8aOy711aR(`rwQlLzg^D+mtkUD%4aHkv2f}v?0F5~ed2Vu%~s)Kh#GSa zxctN&T?fuJcN2JKoUGg2BD{#GF_(g~AFcrBlDrmtFloA3IIk|*b$)OjdF>J2Zr-B$ z`5<^HbujzEe@Of(@YjgH0DkgmiH5!oeh%?>!H*c7D1QLFhWKZ~O9Jn`?0SMbzukO~ z*~gIgp6iXB)I~y}y)TpkXc{;_$9fF7_dVyBp5wq@qIJa+!Jkc! z$-1p9@O?CdJ4HAxB3b#-;9P&kgU?G;ZzhBPm3ResJMlBXw-K)bzn1t?@B_q~z&8&Go7i{y_4r(vBr8l1W* z<6YNZL0as5S>#s)-Wz`sIFFcez}e0b;DacIvEZ~EXeNTMCHZpjJBZH#=XzBI{shU_ zg1HTZ0jKTmiQQG0(HIE4*!3HWe2<5F;r^H+kON%Gf$FC=~o_`Sq`0e(O6 z`@km=e;AzW;p5=@N&XMuG^{YMfG;Nbx4<7F{&#R5@BI^eGRb$5iq>RqCw?S2x4Wak zr8&i&^EL41IOaCL3H~hclfYjmo&(P7W+TA){mf&*htvFJB6uQC%go_hSI$hobA67d?(3Y2R@Y2y#;(1 z$^QbpkmT#os2+sXNIrudsKL`9# z;#J`960a3rOVpSZ;B3!o@OC=mJn)-{UjV*~_$A}oN&Y@?sa|o%9tO{fV{Y?taPGhU06voBUjd&^{4H>fKYs_$CHa4X^SG;v3@Ani z?hiZ?oa4#S;Ow`r3Fltl#((euWY0<9@)LI~2YhfGbDJZ;hY}wPel78d;B03(c%c4+ zbN#FW-$wdtg>z}y`VY?aVKq3n$Me8h(*@v*DcwuJmlMAfocrG^!COiGI^pR=?RqJA z2_5-4_)_9~!S5yhD{zh{`@ydz`6q=}6E)^}aIVjMXYRp`4 zuFuury-B`K_&}n@w1D@bBj(aM2RN@UT@B9l;d*fP^KIZ< z&+i6*j4XXX_yVHFJObX2jyx%RK2aP0!8u~R27WW0@eX)4@ejZ`U!Q{CK=P?W9N<=J z%#q;7k^E8M?9Z=&Pb2wb!8zXc2VY3?CxLUnb}~4R>k7cRKAZ~9ei#crnbJKSyc_W; z!ZV2)GXtFE=Yw~rGa}$Ui8p|!5N`wLcK2=Jvq;*Q?}BflBNu^pqj~5L!1;Ti{|VlQ z%xBm-%0-Y3;6M* z=R@$lB>y@1%fye61~JRLOZ>~=C8Yl=;O)e}4$jXBo(Rt0IUOdv)Xb)I3&1)4oCZFV zIQKje@O;wW0M7km8~8qw|2Fue#J>y9`ML;v5y}4m{2}81 z3C`n?AA{dY@;8EyBK|XQ`H4IBO93=9CMpT40C^Hm~-7v+`lh_H^woy`4!<6MD2YS;OvJJ!Dmx@83xYx zZ5Dt(Mk$;I{tWT);Lj1C0)8f?I|IC#_pL__uko0^G&h5^7PNv*!CiyRCIZ$q<6aNZ0e<$?o;Ji+LqHrEn8#4@? zM{ot;JU%%MJcH~R56P1k8ye-sV-{EWaDPgwD7Xobz=T_%xEgAG|;Dec)q=KLLI`@#ln3 zA!^L4;N1Vd4L*?K%=_Sjh<^h96s3?N&#O!^96!^*Un2Ql;C$VuA2^Tq`h!m;dj^9~ zC!Pz=ac?9z$EzZ6zAt@}@M5ywnCajgH_iZO|11K3l{76AK7pt)&ERQtX@Uw~U1|LoQR`5#VcY!Y@en0p+;`_ii5Pt%EE%E2T^NGJI zyu0D~>|5ZwN&Y=>?vMTD6n{Fvc^>*B@HfexUErS)zY*M!{@cL^lKkC1C;9uq zdA|HGIFG9z1Lyk?eh<#`_m{x?kUf6_-$eGj3%-ctKL9_U_$T1pPP^nd!3=W;$#)0m z@$*r_xwp3OR|n@f_6_hN(*G^+?!-?9?@jy^aE?F!0X~N0PX`}PybPS<+br;Ol3yUa zjHoe7z*o|dCh)by&jRQ8{2g$P&));*a{NB{Hq!q?aPHTB1l~^aKLIZ!{!?)7zkUwB ziRAAA=W_oIIQMtI1K&(~ehyO}TNdC{@7Zd**IQKCB0Kc5%{{?;n@h{~%P!@P@ z=qTYAk+hw63-4;W(UAe*TyKYfFC_U~@MXkDD0;?#4<-52!7GVR1wWJc4B_1a_qWdj z=eSf2-jDPw10O?t1vtka@43_9^I6}4{AALz5qu``i@?tyz73q~zxO<6ce91$uYx?c zuj|0CA^DrZIbS~quP6Dv;B3#Yz_*b6esH$uNpQC3IdHb;72)ZI+t-^4{~P!ovgad( ze-3^x$#<3K8`I6B#Cw3hPP`X5+xa!{Ye_y6obCJ;IH#Kh&gm8i&mir_i~^VJ#T^|7 zJ}Qp6%~Eh47gd1sJaH~Kk1MLddHhfZ&f};S@Om02oTKpd;Eg1IAvljuwu19GWCu7u zH+MBSx6|F=3(0S{fWJii7Ye@*{7sU782nx0kAoi|{s(X_uUEi%eD$Wn{{~(|`ac5S zNc?kf&hHWVPB6nT|1vn|>nq^zk^ZlP^EmuOaIQbYz&DegeDDt9r-ENWd>r^L;-%mm zmny&?BKf)CT;Hm}dA?8w&hv#9aIT-{D0lSnz5~wj@B{E>lK&K($A_r} zPO!IGL-IYq&nJEi_%`Clf^)q+0emOP4*|cHcpmso#7_m^Lwp?gUgD+T_Y{K2sn>`^1yqN{HfqvAI5=mJShbqN_r~5xqZzAzn$c( z!8zSJa89=coYOrAyqNT_2d^Z4A^2?KTfy1R9pHD7{MF!`?)Bi4N&YtQg~aa$uP6Qh zILF&Zz*my|li*wrp9kl-`kL_U!2N#jfDb4AAAocF{Z#l!b1TWG%KIrs8unWcaE`af zfZt1cjs^cU@e{!J5g!8nDDgb-_lch>d{p3l_2a;ol6)!nGU65BT#j?WIi6I5x00SZ za4yFd@N-H29Po9-*Mn~&ej#`}@vY#O6W;-T1@WuFuOWWD@X=-i@!P;T-MhiJko*JS z+lfB{ei`v6!S5vgyl`%%#=HjJi{#${A4&WJaPFr*1#cwzRB1rPf#gz7 z1pIj7dEhgNpDH|fpTIb9u0N&VxumB8oa5MBaE@cu;M~6Iz+WQ$E#PkxKL`9l;_JZ& zQ+v4(oUiY11?T$*c7XGJUsnqcz7OPja4whIz_}gW4bJiW0dS6EkAUx^{5~nX+o(5; zznJ)XaBg=Of_ISoR`6?x?*PA<_|@RI6Tcq(PU5$Lb345ooa^%g;4hG#M}*HJYRr@1 zT(6!7=XmuR_$Jcy4)`|WAAt9w`tYg3Q|0|ovrHe7?*Y#D&mRNM=^hKdhwM24oYzH% zfb+U&9{ByF=Tz`ViH`$+hIlDBmrDis%OpP+{J)4-gR>v%z>COlE#SPKe-1dWm#zoD zg7jRd@U05p0nYc^Uk%RbUJuT8-Uhy(?718KS>g`}pF>`=&l7?3IO<98-gL(E3V#iJ zD9OJAo<;lvg?|cOLh`Aj9GGJk67L~=t_h5PzysqS@P4G{1mVHwr-p#Do;>hAq~}!d zzQo6Yvmd1Al?|-QX`1e?WNf`RGT$x&Ax}K8W-@ukhEvi%9+* z@JiwzfUhC`DfkBBsq&t_YO|4e4{)Bh9s|zhcq};2D^CEwo%9a@-$^_Voa@i2;8&3R zIB*^hl!CLJ6~b#ti+!FHycZp*1}`LDC%lfReV!DY+nx75#Ja$HS=WnvgV{xzE(GU( za4Yx|B)QK#H;F$9{#WA9gTGJwHSkY} zzXQ(W{11dTnP*A-P z1s_0s95~M(OTn{Az5<-*L36=plYF)C73OU6TOIgz;w|7@pU(m3_P8FL%l$&|k4gVl za87pz_~j&jHTbQ>uLs{t{5J5w_#Zq_|G~LEJ_7z8>36%S=F$-A_+<*`C~4;rR)5bB z>6aD$uEIZ5_%ZgqrD6K}DLhNz#R{LQ@M_C@#icwGd2AEjE1F|}>tf-tXzRzJD;51W zi+rD`9{x zy6^!}?rS_l_`oRl$Aim-$3`2|A@P0TgQN13vGr5oL!SK- z@y{O*{#5uF9~$_40e=uaKg#dG)|DQ|!;j!^yN*C|cjlvtEdi?R%rNWz{+#g5W zCVWMde~hiig||d`J+}TTye-Nbv6XHswhtV{2qpYu56r=GLricjCmx+Sb~t`r4Mr)W}&* zFsr($v88o+bJKDN)YL~DH>=#=iH+6Gkp`DcZFOCo8k;`OuWXtgsj68G>&8wUH=%6$ z2(x^ZP^Y5B9kTD7o$MXU8E#g=T6feP%!wTw5jdC|J6LE|O^YJ$(w%E^RTp<>CMPZG$^&*bv*kbUloZi;hXq_F^mu(BdN{?%5YjhRas}84_RdZ@1 z^))EiD9?4J;L6_C7yD;~{ZrsJ?Ek0O{~gS?|L58NJy9o-m+f}tk2^I_{uH_`cTS$1 z;LgZ%!ud`v-zm%&CMw+-1x~KOrB>ihJH;s|bO%mxyE)lT&_2mvjgUX?u7r*3-Oo5OBktr0Ng`(jUmq?CeBBxMnEtIqh<=j)ezrs%u4W~%zr-;lcqRq?u z2zN9$+a1jnKjccDb0xbuBV3BP*`i^D)0XR%h2$dFE2bQmR<2l{D+Q8k9~N=M+-UlOrBJ}JjqI4wo{fTS;_MZmyG7+y2SH5$Bb|e%Mz4$JrQI9#liijX(l6=|OMDqrewzW66! zJd-a~AYXivFO@f6a+fbfmoN6`i#PJc+I;azeu1+;U#fP#w6lDv6!}sS@}+9zOGVBv zaK)Q19?maxmgGx*^X=2Bc3Y}&zIZQRDs{f+0kJ$^a*;pWj0(i60x8o1 zX_^I6f(25V1>)@ji4O&0ZGl)`Amvpc&8|Sot6+r7X@NAp0x7QovAIwhR)OTAK(bDXyev*oYU^Fk@*LMit`vA9FzSx~iTQFCOa%gNY^l3b~dvf=zL8?IV= zqRmx}OCl{!)Z4GGZH(YVmjf$}Jy#ptx!#Yn!S1=DwLh+G?GMyD<#x|iCHo^q>wcj? zqOIG93URF4hZ1q0+lMxBlG}$q2@ZB&8iD(TMdCWQ51XXAxP9oAs^s>4CqSPRh2>HJ z?$^&D?2`g;9C{?ExP9o!Lw2R3vt0T*_lx{WBz60~%V3}MC62?*5}MpT^hwd$eW}v! z7y6`HyM5@BM(_4vpEP#25BsEHyM5$WnzG%O=IwrwUun>8ANEOOcl)qU8kpOMebTV( zzBDcO3;U#bxqa9tfzj>5KEF0fb8{T}q_Nq3={?*p^hwX}_MuP0jN6Ak84tL9n1bz#0BnHR^bmvH07Xt0x zcti-)d4n4vzQR~jLEgQgiIa)8mS}T{wwGvw@k=Zx+H|6AM+&Q?NXousyk7-!q)kn( zs6-LuNZYdezCqH)?0(cRX>1NS1B;5JEfkHHpP7@zBKzYqIMWUf(Eg<%mJ~_-D;e)s z!yIX^R#k4)erdTvd>4rhAyErm=?ID1=!6{+e`?dS7kleof z+I?3GveA*WP`UldYMVy6r0vf&kE zfwW3%ko?NYzJDdoSxcOy))M$XM=ZC3IezoVkw7RUny%9!#8)Q4QPleeNZS$OyI0zd z5NEb*z)KQ(tda672mAt%U~7$ZXILX~VvfWHE0`m}K{imDIT9Wmk@z4R&K0r&OL8Pc z2!Ts;BuLoul>)Jrc)xbvWzg-r-vE)1Bufo8$M2IpS1%p4U?RK}e4D`W8EJs}7~_P2!vr{ZT-U zKMct6#{oGq04OPv@lVNke;AbW|7bfCaIMDn?QcnvB!py2lCVqdy-NtSRg@&DBs53S zq)7;wDs#v@3oqWvOy-bz&YXFk$vpGj=Y3z-?)ToF^?m>UdmP_7j#_*Dp7S}^bzk?e z?zPtQJS)xzLIhU(ahjn`S%*mUTaqMFsa1Z*8EB5Zp- zd+$s`T8L9Q3C5n9*k|;98~I}c*0uuHT0*TY&2ctUU7d>+|ilv8M*#G>pWRWbW^F7G@kPLdWzj(>9L8;q5AB z2+K+v2O-&{v8`=vXW?x%-NmP`D|)I=VABywb>mamikfpNpUkF1Rn#c1Zq@NDr(4&! z3cF4HH~wJ*O-=dR#tN+t1Cd?{>sV3MVKh{z+E$6Rt#xRbK0L>o)wbTJbsD0oYKj!c zst}4QEQI3qRx@*`nXkqvMA(y6OKZR=>J56v(O+T(;S*U&d z8?EBD!U*rTm2woe6jOXPrmi{;p&^4cCVD-{{MhSFH(enNv1;!@??L$Vz2@Lk;inT7 zanjqZI+ng$S3e&}M|DLI)1>mnedrHw$?0$!NzHyN{4{$FNsmntwd;ks68BbBiw z2Z0?N(p9X`#_VuV6?;>7J&uZj+vu3Cj>Wh z#u{HrNvW_VT4D2^3LBZy_17?U@I!A!Y7f=XDHKX=Cly zL!r+w<0Mhs4dkfTr4v`$LRMq?lwEI#scQ#ecs&H-MfCl(^&KXsaK4z%i^5vcaN?NO zVcYi9)q_m5f3P#ZTWCg;ghk7GzeD5$_e3lGmXPaDAtNImN;bT zbXGN?^I5H>i03PMAvKE1G#3ei7=Pdvl#QY3>TocK2gUHdIE&CaW;F1W*>oj1#2hD} zVI2>@TI+SKQ^qUf{=>G<)6zBi(A+iNgd+Lq6USt=0YBc{8?jAaW)?z9fuDJWZq?NljklRoJ5z8IX0;vY3c?JW}3bo|3h z5{uleT7qs}T~^bgefE;(-(iG`(~5B1h@*toZWvP)F1bV>-)~Lxj?)J1*ZW+}IYwJQ zr)V3kqs9`EPA0SybwKT0^&hIiFHKd%J`qlV;!eHP-i>Q6@3f7BT^Qr+bT-|T3B#5h zh%4hsd8qcZpD>9@`>U)O0pp=12+}o`u4%276o-Z|R>eN3wce?<(h}Bj)~I!gydusT zwOx}o{Si(?VhQwrOn|ivJIk%G{#p^MCB&W9VSbRBXBy0dYYbCsiy|Htw5`-=t$GP- zzfM-+=ZY16u9z$pgI{m0@RRt8nmSC^Myg{M=&JuiCVWJzsT!}=n(-^n+?6xG1kyIn z-6K)F@el8+@m5NRG?r9rE0Hz7RPo~8Vrv>tJc_6QcETBl$#4zO+f+)KPjlnMKzr7X z)xpCmbcR&4xYCRMUZqdl+Nsv6JFTs{{BojSMzrd%LCwbR7;$LRdQbmwS17IG_?FHR zL#&pCSY5&2XSF_%$5AM7AN;&9eohcan=pXHdre^-hs`jM#C89kaWWFduGsRr+Jqv; z9_CPSK&wvIFuTT;X6-3yX>1MiEyW(RsR(Ht3TFVR>!($9EMGXYmL~MPSd`Fm?Fbr+ z9j;kuZ{bxN>C!qx7VY(aD5PK0@=IE=XNk)>to?dcES0tutJZ2U!8H zl_?F)-KtYEyh452+t#NPZM`ni9rNIqZkNYDQW-1bo5CPrWwmuUF-)bbjC%|RORuIh zu!m6m>RE-~qexSu*oak%_=m!efA}!xCx$ELN%1fqHHt`o#Nj9Yp=`!Klpg)zS8OW$ z8cMpG9W`mVh!coV`>AW#WGJ@95OZp`cJ|=ojCLE|pe%+}+Okey=OI2aC5c}@Y-e+t zcCnX+USStT+Qo!uJ9YndHf3xVdr07RKuGsKwXL41wfo!qY~In%&R*Na5iIEJ9Ijm) zV8ga`)pS`=+o|EF%Zl1g18BOe7`DCp#xoPWp30o=;A%T%GTrYD+m_OHaYWI!=`Ee@ zET8G#Z+P9hSUa2Nr%Q{0+c{}FtCV(@5j8rPj%YPDz2S%hIV$2 z+s@`^?d)8)oz2tQ#m=p`tX#3Fhrui!sI*S`uZo>egPiH&RhjTU8`i60r`78zpH=bb zq1S!e@)8fg(y94sZT0H24?E0O#X&-^r*c=t!9jkhnWnq$+D<<0;*m$&rjLCfyx*>& zRmE#(VcV|(#CfbNR|SA?}~eauGobQMfI%VWCMB%aEVF7|2L`fVzXjRw~FEr))s)N0In zW|d70(iwEfr1iw~*${1~JyrQ(*LrA`O`WRZG$-h6M5vkH+R12@_3-rhk`SrYV7e9> zwynja%S(Da6``%Qm~=T+x>Uk+F;&~C9Br*drOOO~`}H+zLFsyqd@W;sLCr7YS+3Ij zT<^DxTe;GOFmbC%D`%Q@i(5_F2%FB41GjvoD10IP z$v=H!C*;{imMR-bs^Y;>+E`4gK ze@{DH#Ze?>-pXwaI+Y^TUCLA{Z_2vWT{^7U*q0^(p@cq3^68L`iGFlXC)Z(WX)UAD zYCN4A2W~B>(#DiZ>noLZ2PJ(rN+&%j?n>)pmDab?H3s>lqNLAZX*-pv(oQ+jxw&{M zWu=XomDcwvZ7is;mX_wvq0igclqM&kyf!AM*=5+ann>4#v~4}Wj%96q0^suqJNBis zGwCh6K5eiu%4e&U)*~vdrB+(Yue9Nz(pq$-4G`(mZlRnu7f9DK!nT#8(pq|&h6QfN zy!45=ux%~B(pp~4H2@oF(r4tPvpm`eQRyeA)&nc82UglKw9!CE6lR4Th$^fzR9I(7lVZIuC8MI| zcBbvuXTvppZ9jH6tFT61VU0SS zi%VyX!Rp$Yf{hf(!{=;i%X?AkbY}0oz&+kGx=HIWkLhh3AT{n9Ul#?Z*mQVSTOAXMtAa3Y(o(`mE2goUT#@A3H`?#$#jp*yHGN2aQ)Lb-Jomx}O-f z)JnouT%~)OI%7>rg%h^oD&0U1TZ%orPelq_ah2}UhuauxPvJF<1>v>03O7mOR$8SS z@Vem~eK%Yt>!Tsya5Eu$8RSrL?ZLipPR* zA3a5#R@Je^hP&!1&e%q)yQWpRh7!vXuA!tdrK6Uvsig9^jiao#QwGveP}|8Z9qqz) z9F@a0nRs;6b}CP7I$>|-9$QR!HLb&yoRoT7hi!`{t*hhc8Qz^@iOnQzStRLVX7Eb2 zm_C^&@08_qzen5l?o?Z`P3am^%zk(^)j}HIrA~3D*?_ja+^GSj+dkq}{&*A%+rG9| zlx_$IZjB_(Kf`|GQ9tms4%=4Zv<}-b+VHyNKaOkCTO4tgpl#cKoF|9vv<|n$WBg&; z%8{B-*p4kKyq=n=t;4p}fVG@7AD5qHG0r};Z8aFr6SQsd#ZgMz7EikS9B$y*>v6mb zucvjmzn5CJt;2RKS9smZm+rWPZHqq+czVCpavb@zotl3-AJMkOYmL3Fwf1!87G95o zamatV8y>dJ-}+Wt>s;x~G3eu1BfZ6&)?wT7W!*2G>B-;n6UREe-~FxKqz)S1Z}pqj zVcW`|)?qs}Q(v$6+(+W+%s5>Bvn%$t4%=~mU2Pq#Q(n>~eQl?9nJ(>X+v2oQHBB4> zw~;hWAhez8J6$l>cFKRcaIWpt{wm^3K-;N(rHPBSQ+rJlm#`ftFuJU2d8}DmeAaK% z1VwuDv;LK?Y=-w+|FU)1wme(^N@pSA{no$IO<`?Y{MNtH#ZUQJp3^$q&Ne@5|7pS( z-f!(W-LTQN)xY(NG;tJ9#&{Tv~}1{ z`LuP|PI1+&Q@anxf8%K#wo~409cCFRU$ze0wqKjsr0WhLe#>vVjuf_iUJ}oW^m^)t z>H37WQ#-FpbE2@F#@lo~L$9ayS(W-t@UysVo>b-27@x=ZM5bn)>N8z;3Vx}-g|)>I zuj7cj&dO!S$#fk{uUi~;oJ^mu6OVZdGqluySFEjEb{tC|LJjq0?WAUH$E$ROH2B%^ zB3%L2c8n){ipuKM#`|<-Sg)t?rpm^1TL-=6DXqipqtyRatW(_Simg6JnDXAv+Lx`v zhhbB>Y#p{!`?Ph~PUEJn!**&XHEWv{r7OnTPmC+*Qam+lYlrDdy*}id+T)53B&YJH zI|kvyz?N@Yhi!`^t;2R|_qGn(7Ps}=bjKs?$HvEWr$pN+-|3Etwo|>Q?}2IC;6_hsMvfgnb!6F8{oQ@sq>&RRmkk~~ ze9Vy}Mpu+g?L1+^n9;-Ix3Kq_JaqV>{x##>$B#d>Z0yLflSWSVclvkMyH6fDHhk~8 z_xOpy&S89W*;K)96Gw)O1`+~=t+}C zj)-3ruSq0+|6uo_1gj8Qh(_-5Ph~WGML%?j+()mZ9~>x)zw;2xQkwpw zCL&r=R8Pb-Tj{Qi*o>RiFUF;ryO(6Zoz?3n1 zb+?h@LX8jaHGcBwgO2Ds^w64i0<7PK@L+*UAn&7b$Nyoy+vwCCYKD;ics1r&zv?it ztVCF`H1?`~uc2RP?cNB>G^q9IyVpL0M^2nLZhRR2yyfp2eugD3{`(^OJ)J458w@M| z9VY!I&Q$Q`CJ{dz-2KF-f%`A;$o~j%{{dgr-b`O>1-*YU~- ze>>0h9V8Bm;@K4b&U3y0B9r2o0lo8FKTPIfk^dUdJJ0n8MRi%3{Evg)d9L^0#Zh@1 zp}fv>{Z#W;Jk8+mJl7v-dc|`*^v-krdGK!tz4Kgu5&Tbp-g&N{Z~DBv&U5`D#IrK| zo#*;{5zmRxJJ0o1rdRtq3HrXq)gNbq4+5VBJ_CF<_-)`PgR`HuEy43Ry+3Xc{7!-1 zd9JT-`&B#PIN&_jtDIWYPELit^IYE{s#8B*5AD`@uJ2@e#j_gxo#*;4rdK?tLGL`* z_cXoyISx3_^}XSLI{cmI`U6a_cDpXh>pa&_G`-^a*?&YX{Ovr~d;e8=&p93yIcfd6ICJJ0nU;m>i& zd9LpS|I6X;JlBsgz4{mDZ_ac5ZO}LI#uu3LT>pH5-g&NHR-kvD>vuQ3>hlVew-5N0 z;IqN60-saBuPWg4!RNteq49=ceKq*~&|d?-q(J|)arJllykEc#$9XU3`Ofpa)wUPZ zkFG^L&U1Zz)2p3x9_u{UtNdEz|1bDE&-H$Mlt1U~&U5|NG7pRVuYyK0b6oQL zIM4M>>~~3(pZV~2p6fR;eV!lZxxN|v7r@_nuJ`9%$-gD^&U1Yi_%DRsd9Lq)_&NV~ zp6h$T|3>&b&-MO%ca6gvVqA5e>!%jP<2=_NiFj^8JkE3dDez~1be`+afd9?#cb@D0 zIaR7Jp0_&B_2#u_UtyJ{hX3R6cb@ATm|pGY3Fy7wi9ZS668fjW+ZXUI1)Tl#Y53GJeO_MYdHnTEuljlh zKF)K!$>a6ZXQ8i;{qj1S^W4YVkM{c>E+M)fb(2`fa!HT@J0AL z&-J5BpP!dG&-D{cuXs4Wb)M_}I+gPI65?^5>raC}=bz4V{T$QF|7G|)&-F`9ukvo{ zgID<5d9Gj2^bN!M75IC<7Jn6d2h*$llC!_R27MpX%jb1)KM&P$iatL6EC2tSt2f%>Jl8W1AH%Ge4eBF z`UF1CbG;8;ij((Go#*-%7LW8D>~F1{=X#gq@jK7;USEp;Q^fB)*ZX`RkH>kg_x=7i z@qG3_h^LF~Adkm+9*{xtaq@WKJojm7dgbj4_&Cq?o*(&he&RgW`*kY$ ze+hr*xxSCZBY)0Moag%frkDR$@OPf;FM&V%h4Wm01^mB;zw=yw6Z|+gj>=kv~U{bJKAKg;3oJlFd;qw(om=+(}&X#E{{C&92t|2_B(ktY5F_-n>B z@A?t^ZSbGKKLr07-1|k|4xQ)a+TDDVhhO01JlFR$ecle8=lb68{}ukubNyWSvmH9m z^%ubZH~2fx^;g56?a+Cyzs~e(hrh$$d9L^4xa$26=yxz5@jt<@0RId87UOCUe}gXq zuX#vZV6}~_UbcbWc^+q7)2rTBs&5-%y*SVHjiNf8&(?y!^IY%OH{{Rj zna*>)A0HL}%J6rd>$kRe9m8&)M-VSr#+~Uc(>+?J~&-d%&hT_~7`*oh{o7sNz`gNY`TbN${ZQ$=b*Y5y- zUT1cm>wSEde_QxF&-FgODSjT`o#*-i7LWWZ;O{)wk2AgedE9ZH>nFm$68_F}{T1-v z2)&| zc%0|@4yMoJah~hF+{*u-h{t)Z_s@f=ez!+F&U1Z_f_R+gdjC9(;^B2U=efQ=^0Nct zah~f37R2K`*AFwj;^F6|o#%T0e2((7BjRzM>klc2$9b-whBW@OPf;w+?Y=DG&d4 zfxc&?iFX1&0K7B!{ovK$j~mx~kNi{cU7=rYT=PBh-=OaTeO)VWuHV|Y_S+Tuxdr;B z=C696Z+~mm)c!8YoAk%~q$>RF`ONiZ6R!t!Lp(k&Qk=Vi`}{}#J7QdQp8HqX4syNo zT;CUZme+Z%9|S$i>pa(=2tB_S;5^rtn_lbPkq4jWh<68{VS3ej5AZVzxbmw-`Pr#a z{4@UNJddZfNi^>50e|PYzQXhxXL>^KJlFetPyWB!d$n?&>pc(h-xL1MbG@H`sl4-L zY>V?;-_u@~p7rZI*AIYxXXMj)t{-E1m6zWaaGvWYm|o*#ullwTR?c(%WRu9B=Y7s| z{WR0de=qnu&-H$ODt}%Ncb@BKz`r;Ao#%S*7s~%G$fxsMKgawPPZj3L&U5`-(>D(5 zy%CS|T;Ig>&p^cEJlB72dinFb-g&P7+Vslj z{_uC6>+9IOOa45MaGvYynO^<}z~6bU_w!%nlb;uLp6k~`JnLcnbe`**Af5vekMmq# zZhFPT`H%Bl-@ZWaJlFRv&^yodEkYbx%EP}wh`%Dz#0P^{gAV~82tE{i5cn`~KR#;w z9}a#I^drD;GcNr|@Oz;@2z)X02ZQ^0M|pUC6!_E7j|TVi5zQwL0k36w7H1xsgHzuU z{80Gp49;>LP{1wB|LXqf80@#U8RhMvsd4p3&X=6$`sSure;f;c=efSU>E+My*?F$_ zZqFLs{my*kl%${11b_^ITug^y+sLp>JutJgg^y_kw;hc%K69FAr<- z^Ng!M9uEB_(34+hT>B;GI79B^M()3n`Q-h@d7jUvrdR%_Ax`JHzJ=-K&-tqJT)(yH z<$nbHo#*;41^&)+{qFET68_F}{Z#mKe(OBf9|`}X;O{)wUu62cKRVC#S0Nte(|NAH z7V%6+JkE3dk^+C{x!&8A>g#CuJJ0nmnZL@*^9$#>{!PTg`J3}x|E}p3&oPL{d9GI+ zTGWq@g}!;DY5p(+yaV`g;2n+2=Xmf=;3t6l_$mE~;3G_59@Zy;9}l0I;4`7;eiuSN z3;KtQYaAed8hkeN9~v(Y>yyF#zJq*D0r!07g!baIM4MyF6HBi^IYE) z{-?p;d9L^4Y~DVd=lUMzuXs2_F@$h`ad9GiC_<26)Jl8Kn{Os?}bN$<0A-skfw@7ajQ zd9JU9Kd*;4&-L9*FaLAk?>yJ{fUd9I%ge}3N8d9L^SYl{DT_&d+_mzlrX8^3SmJlFHMc>(;Z z!uz%8cy}Rqw@A}*_9E~>;1`1r1HT0PG~@EW6#O#q%fN2}zZ~3;kLBU@E5Lm|BmXPG zzcU{l2O0lw#^rMr^nM*id>(j(@Kz}WGf8&aWK0F`)7xbf`zYhFF z5|J%T)74Yfsr~dr{{pZHjuc=r4X;Hnf-#O3o z;PZCX%k7BMd9L?)yZkwBIM4M>gHDV5?|^?(!La1|iiBhQJpMY*_3ceB|2yIDJlFg2 zOYw95<2={F!QXkV?``qOpZ(N%uJ3Dl`QHV9=ed5M>E+M)gY#VP$7T874S(mk z-p8N3ex2ufZ|CyA2ma1;{W!$We(gNhPc*&!?}fkfTt5~59G9Hu`Xk|gAN-x?`eWeF z{5#L}$HV`A_&d+_KF?SF`MU(pbG^^=H9vd+{?2p#?lwSRd9L?)wfs4scb@BgUaj&z2!H3f-seSmKAq?K*@*uk_&d+_7a*U0P832b zbDrz(hMvC*;XKzrYx+Dt&U5`z(%u2cPG`uYk`B;MW zsTbAhIQ}yHo#*=XOfP?aPRV($_jagp;}!Tj&-Ja%U*lL;pUi1r#&f+NPo?i*8m*k? zdOz<_y}XKed>$zN8hCq|g{3_FdmX%6q^Tb*1MdO;2Dl%W)eheT_doOca-PSp__QdW zZ@DP^?L61}{4LLq^IY%w$@A|#*DDq+<>BAkh)3I6w0;NN|NL*t`>ww^c>cf2D}T)s z8e2cf%j>*p&}mUV--CZs!La1z^*p$LQibob*&n&y+m-y^hrjb&Uu8bZzxP=o=ege7 zo8sYd+wSKx{P4P~^IY%qL&ftE;&GnqeSVn7<2=`&X7MW?-e-57>*ttW@qCPUoag$vrqAPX zp6f4zp5v|aTwiW_jboo6o}G>B^-saO7*~J&4E%rs{lo%3yMP=1$MMd29)E3nLHYa~ z@i@=*4NR~4;=J8?u26IUr*Lki#1$v&xInVXpuN6Pfi=F5C3(Q~n`3CVj&-DvUFMpob zJJ0pEz<)XXo#*;5;m`AK=ed5l>2)6TE&QG5`j)2G`12j~etanp{CjXeE{OjC{waKZ z1pmRf#zS(KZQa(z9Ml!x_7(647)`{nV%dG6!KHSM<+e4OX{X7K0n!g;Q5 zVS4$m41edjzOU)?cI78w>FLPTpRKG`LFmY;C-O41J3bw zRdDZLYUg#qk2fFj)xZ}SZ^#_#t^S_S{ju-`*09@Q_;Tb<|i zHO};^-)8V}p6e&WpZ8~-=lW^z-yHtVbNxl|=W*Y8uD=Za&EfAn*WU(zo(DP4^@f74RQ`{$2?_1iT8|^Pl&3=Xw3AJX+Kq+QG+p zuJ`(qKl{7$T;E>0u*knX{GI3e0a5+Wd7blIe}L)bza9LY=lTioXMcB|>wO$kfA0W) z=ehno__Mz|&-FfzDgN!@?>yK0IF|Q!=egdGQ}W*d{?2oKGmBsCc1P&j7+1UK2=3<> z((eR53i_SFPctt4F5t_Jw+ib{;6H(P2CrjWdEoh`^SoU3Os_mt!^e59UmN~B?l{l& z>%o6l_&d+_oeKP&=lU-2?*f14xqeuIzw=!0h1z1hd}i*C@XUbU#5>;~@R zgI?bqd}oQnB7Jx8o{|2O4=mt5pJ^3d?*Sig5C2U&*#kcRKiWx8_!qU4YAdheXFGJB z*Go6ks~-1+zw=!0{Wte_p6k6|%fA==o#%QBC)V#?(6gQN2Jd8VP_@UryDq&&KY7F>>;A6o%fR6+34n7`yF!%)U zBf$>?_s>)5<%!__y%q6E;Pc@#8T={mDd4YxPX+%N{BZCez^8%NsucnWi(Wngydn6J z;G2LS1zrw59efAyqrrCvKL)%%__5$4z-NF@1V0XZ2Ke#d?|`2G{w4T{;J<>O1YT$5 zn6{X=nc(Yy&jN1>J{!Ch_{rd%!A}A21%4{{{@|y9j{-j(d^-3U;IqNc1V0y?dAJIk zdAJdrdAJXJ4*XvNKMVXL@Uy}H06zzOwc0D{WiI&o;OByG0e&8MCHVQ^oxv{v-wXUg z@B_gw0zVY|V(=rtF9Dwgeku65;Fp2V1HT;nX7DS(9{|4+{7vwyz~2X-2mUGe)!<)) zUjzOF__g4_f&UA9rBznc?{(lCf?p558Tbw0TY~=^ycPI-@JjFn;5&dX1n&lZBltex zH-QfUzZrZS_$}Z^g5L^03;Z_lx!|{hUkQE(_>JIqg0F59I2|t*fj0)f3w&$vyTLmc z*YLV;qg1E*e<<|#KtCS(U;Jbs=%+z{FZ45^{~h`>p}!CMOQHV@`fH)TANt#%Z-DOu zJ_G#&(7yrwTF`$8{bK09gMKCGe~11-=vP}cs-OH$Yzw z{jJbH0sVu}Zw396&_4ue@3?4vXS>7kn+_YH#m>Zw&qW;9D41{2!Fyil6!__`B48Be13rbBl!GSg3E{cA55?I_7n8};AG|P zXYjgqtXJNCDZ%AW{raYtKik{p;J?DBB{IU zm50B;4>qnm{9S@857bYGPg#TTqAe%FXQdKcKGdHFpIXpg2A`EnaQRSwBYbK@e&;6bYzAk*O0$&e&p>f5tKKLER6;I<5T=7u<2>jVj zUI5-d&VF$WcysLcL~!{G zF`v`H**^WZjFkT^;N!n3q;}W>+<$vV?QqKyT!B?-wNEn zW2<=*vod+~Dk_-Dn%*)LWLxz!@x3i<}%>=#YITSLDo zIQzvm;M+pq2Aut(BX}F=JA<>G?+M-(`aa-nw}ZedpdSv-elZ@r68g#DYM*oLM&i-n zZ09F~SHb5@aQQrMK7LJA^}_b%*Am6s!DpfQs9m)O_iI^dSKF1~YFE_zxwd>dK=0?0 z^4Y!wmk;%Rjw7EPp!Yes;@=V6=W^0_1ot_Q_PbLFuKiN)$3*$>484!Z;=6$RSSQ{I z+}o;nXK=4O@oI2?ulTOuUF~o2F5r8EyCz7=`h)X)d>D8)_#6z*c0LJwH|VF^-^%mu z;3q;K$6ITM=R)5d`b+I^)k}{OT=hczjquq6`a9v%vjmq9^-sfRPv~EQPp=YOKGeSt zpS_^}2D~@;AK+eh!Ln@qHT8cQKl?zxxpC!rAMkCAD{p;EaK%ae4)AAt?griuK6`+B zTMCwC`-1Na{Q=-?Z==8mKtC4zOB-|Ke+2k`&>wGHc^C+O3iN7kZLGar4E_Gl&oi#P z9Z-TRZ`9uop97)44?crRaQRTb6h4EYUk0BcCAfU3{}et$q5l!w`*?V3SuM+l@-`g$ zjg4zO83Dc(^drIB8du&9D!~;e^&R2wV@r^f?GFD@@aYZz(IvS2sUHmgL!ciIekk}6 z;A6l~03Qo}s&VCQ9QZlLm51>qxZ);ej)f_;J1QL1b+bB$KfqWaMdIA1K`hk907hTd`5$_UZ#N0fc{8u9)D+o9|!%Z z;L2x1%jaBh=JN{h^rwRF4*hB1y^SkB zr ze6E202JkDv9{|4!{59}-;O`n&JXe?Ciii3i;d2f2f5PY55?nsiuW9#Q)qeg3{rbig z&vhlZe5fyn&-Kt(!RLk&Tt3uS!{^`7?`K@qJs*51^b5d8W4{YaaP61+$?(4s`Wf)Q z34AvEZ!W>*PyPAuzXkev;J1Qb2Yws)ZQ!?q-v!R`?Gf-hpnnov{b-KOvtI<~{pEMS z{hTxuvFtEJ{8d4 z2mKDl)z0rP!Bvmc?+%{_pzjC171k67XA$t6Yzi z;3^mO55k}OeF^@L!sku+KURXvpZag%^EmXs!sm$+Tt3vVZePGqy*~;4I>x>I%(3}T zQ|O<9zNK;H=jjq$`=x$6_&)>vF7SUAd^h+%SAxr*`u^~L9{OS6FMuBm&d=FS0$&RK zH1HR}PXvDn{ABPrKG^5{&IWG?{bk@UgI^6E`?dKj0H@Dg;IF{v0dV0 z;IG2xRq)rqKQOL#^*Z<$#??-imEfvJ>VJd(8_?I$7k9#<_W36G>fo%G^}*kQej{*> z^DV*OhQ1ZJ^7ee~7)DupaOS@n{2lo04lbWEtH-^;>2o0XyYLwf9_!J3#(=XPr-8o* zpJR-xzTO9)Xt9Rd!^`QXgwJn*03bG>op^JnlS(EkGdH1xlMzhqqb{H+96KB@lz{>Dc>jO7|vt8W>z6yMv0_VK_E$}+fF9+wiy>b(kIvuCT*9K>MYX-h5{97AW zz0?J7Z(QwXwGv$Ihx)GY=jZ752CoO7{@~2#F!0r(KNy_H(@Eg{^(=Sap26) z>ELU?=X~SJPXqAFp_jj(OU#FUP3Uhku6#Bu!Ie+ypMcL=(7ynmwM%gMQ2!2m)`9+K z@J8UZHw*@0QF+$|-w1p?@G5Y>hp6{g8`n6{82Vn&ZvfukxboAa1XsDJ9|`{rp+5|K zBk-x<8-vd>uJUdIex`B7vuO#gc&NVwK24#&0sGwy{0``wf!~k)`n}h%t1{=>FZIvB zzd3wf2j2qxZSWT0pM!4+{tY<$>F?kzp|8D>qD}2*EAaZp)gIJeX4sg%F7#VNUkUE_ zn&rC(cscaL!CQe(1LyB%&jxP|{iWdiUF!wl+d_Yjah0nL_+!ww1%J-C+EqmfuKK0^ zZTNGX{~Wv$KHq?|J^Te;1%17Z!w$ou_}hW63Em!jL-6gun}T-$?*P6%_)g&d*#O1S z9ehXVdx3WZ9|*n^_+W6gH(y49^SD15d}sI^2`-;DW^^n#eNF}61wLnkcLKl6xW=E( z;MW>gJE<*l8dvt$z0iSl@{@D`w?h4)$`n`;+Tzi7=Yh2~(Rf4Nr z)E@+Y=6NFcUhp{_yf^p>;CqA523Px>W1lNM3!LM|rQm(wGY?!o{%n}};PhDpz7Krv z2ao;E`rc#UoOitl-WNWvgUhFr`MeL_5Bjgc`-A^%T=nRm9SVPz{SCeRCzyZTP4#MO zZ{!<-4}gDDjQtJ+zXyCc_`~oS0sfS675z|RJs2>r$2lfbV5XPk?S zt6Y+sfFBKh5%@9S{{lZ2e6jJB!oFsJKMnnH;4c|h zeH~wdtG=lJ0RAUH{|)$w;6H$$1YXuG7>8x0@NXvgD&RbhuLV8}`t`s$KWPrGcH6Xe z++A5Ka2_AG2cHf9U5(cYZ$BA)59sB;*nU^#0Ps_w9|}(WA>gM%KMDLa@ae{Dg?LT} zKM{KQFSmHk0zU)#^T4UU-gvFxeoT?vz?TKp9i1z#%l$O^TBt9UjA3u_r&&s z{sQRtHLmt_{;-eNr8k#?T6P<8-VjXXhU$et19rT;os4? z@^B4!7vox8TY@VO)b9iTe?dPO{5tRv;EZzu`1R0FF|Igo06*HeR{t)+6({v`;Xfbx z%izBN{95SM-u&5bcS64q`Ui|_bz=#xc&L8?J~u)CI(%*}!R15!*YLRo`k&x)YY8qN z>g#S1KvJOiei8J8 z!0!T|3Vt{E8Q}MT&jaUm!dt=bg?=&kec;a;SKjUie+Bvnz~45mye%%ll{f0Yf~&od>se5k($ zKF>mb3;1*3j~Q3}J`esP^e=$FVO-@}T7oMc>OY4++u={(FT&?{aJH*ew+zN%QJgP9 zUmyGsw3Ei*FGIgE_$%P$;ID#rFs}N24ZM?a<>B=bTzQ~=FZeSL`-3lo&k%6tVGQ^i z&>sfQJRA-FCiF9nt6Xn^pJ80(dbLck-}bU+T&rEQ;qN=+_1R7`z$yC*a$He+u3a zob|ph_-D`$Hm-X79Qd%%aJ@|ZRQP`h{qf*mfzJZ(4So*z*Wi~JSDfE~Uk$zL zx3~4-1<)^tehK)u;7j529r)YOe-Hk#apmWS5?n7+|0Dc=gnp&1f-o#<4?ls|0sk3% zZSY^f*9YhChHVc1EA%bFng1&A-=Nww=6-U$2^@O8nz244^SckuPW>u;khrF!J&4K_BedTb2+ z7SL}1-paW0)}#bi-l*>g{|%wv9egA3J;BwU%j$-IVd)S4AMKFc9Z|NsMFQ4aE z6%E&Nq2C1iJ=wU*wP^{ia#4RVe40W(FWayGUgS*${BHPc2A`$i&A>kg-yFPFxk{Jn zw>kLw;AN{PjsD*Zd<*E?gR`A<0&fBR-rzi+JrI0L=npln_SO>o2yp*yzT%t-zBTmc zfNukS1vtOAxB&cowJTfh1}}%tW8iGJFM+p${yp%y@Nd{E?MUTq4gE&O)o!;1Z*E-e z(0}7W4$jpMsjq}T^R^4P|E7U_x_~pEy}>IGPe1TV@S)&U;0J*-{}aL6L4P*WOS z_R!A;XMN2D-wyf;Kf>cY=N+@SVX2gYN=9*|^$gC-9lzY**)iv;ABF&i=RnobBOm zaMt@{;GGfAOW@Vu?}4*^zXoSLmTeo;7Oz9@3ZJ^h)$h8L;OckOZ)keuP4zw`thKZR z?+Tyou-|Ur-JzGy711R;`v!bB==TSY?alO~!2P#J^wK!vYFFLia~yaN@RN-z4||m0 z$^-S6V81<~zXp6y@P**L!0!a#3w$xS|8`0Uq3j9py`f(U-Us{*@O{9)Fs}Uc1#i$s zdrAGPA9xG!{@^=uHA zAnT5!=dkKT(%>?`$8|DA?7m_`jOC&Hm>?Qs03GiQ9lhn2Sa}<_$csm;6J(q zmp}Da!RHX@Z-CFCCAfU3e;7VvpnnQJV@q)PQ2#l6#zFrx_;~QuDuO{+R4)_2*D|g= zA69~EztlH{&qU}ez$bz40RPD)xcsT_2cId>9|)hRCAfU3p8%i3p`QkyX(hOPs6Pch zM?ilze2y%^Ubp;ta9)Ke7Uw=tnV7y8|dD-Y+D;K~E_`@!dY z=!a(ey~6f8rGTFgp9|n~xpBpFVF|8ysGkr2i=e*^{uhHk1pOu8j~4Lfz%PaV#RC2& z_+`+)TfjdBza0863;2)VS3v)30bi+INLX0Z4zGlMl>*)X{3__zF5nx2&x3x`0=^~q z)zEKKz^lNofxbfl?+kt|^j!=1p5Xt2e(wT45d1pm2Nm$);MYTcZ~-3=egpKA3ix#J ze?vc`fXBuV{?oWIA9@?UBVPc%j=e#8a{Ibl)GvhIZfpO8+i7m(eh);}9pO*j1^h<% z?^VF}1^3@H7McRi@*WNTb{HrBwqnh&jY_1`kM>*UEsGszodXa4bHqR zE8y>g-wOY)3iyxU%;!29NW!A_zPWVzY{*kfHR(x!5Pn4;EUjM2{`NJYVf`@nw$r~jYe z_d{P-6&Mz+$o+Y#;@q!4FE!^a;KSz}bp~fV-N7F~JberJ0pN`1kOJ<{QPsu%*WizUuV&}>dYS%ffj}1)TZWvw-&l{}BE|3iv2+=7-OvWq!_p{v-HbSir9Yr~d=s^nVQe zWB4yE;LE_7|4$3}a_~>!@6W4MyCq-QKF1->{I6BOHvngOtH3|SemjD5{M@a8?*&f( zL%=_S|3q;1_oKm?H-9dz%KJHd=0MLpTmb$B^#1%=`Fsg}5AscHa`5_gVyt++1#blY9r(83--B-l{sVY*0r%(0YQH~1-w%571HpfS{?GzG3H)d1 zk160Y!GD4NoC1C^_%=9R-vQ42+z{%znx-T|EX^yjzAhxr@?J=@9X0)7}c^LcCmp9TIW;y=59 zUj)uPTvxzv0{;vC_Z0Al!I_`;z?q-V!2gE7KVMb(B>w|?=BJ)r=a!y)ZSbSN!!M|Gp?*-2Mi~(nUCWF_4|FH#p7C8N{0bdzD3&1%ZE-K)Q!P%al zD&Q}IvtHgS;GcnWJoM+5s(#7;fS&cWntgUrdh)fvnIC`ly7bJyKc7^*HuC1*I}~TR zb}#TB0q)Oy32!YM1I~ON4o?4L!RsKNQ@~l?v%yz|egQarZU?Um{bF$XJPyu$egM82 ze7*p$2VSSXvXQQLtq$G*ygv8_1$;B`HJ~pq;8o!M%pJv1UBG*Q?}X#&NN~nK7JN;_ zGp&Hn0H^ggERgzyEdi%!uacgH$;Bc zDc~D|uLXUJ0^S;&(De3!HiA55A@S9YQD@TEP8zh>DZ#Z6@?y7Wte3z7_nh2j3d}X7Fvm z?=9dA0{h^!~g;>B-lF-s@WL-@Jft z1AYv~pYGty=icDV=K%$L1UU0Kv49^5&U~I!z)uHf-YzcS^T3(6g$4W$aOU&j0{#>@ z^Z6M#^Z6}!Th#BL1$-6zAe8Ez{+oeUz-KG)O7Je=Rp33r+kx*}zz2i3hyIWPJ`sF7 z=w}r0+29?ZKc|3S48A?|*B9`c!FPcE-U7Y^+{aAyucZZi8Td@}FFt>e`S<4!s(zXO zx{b7#G!BqA1ZVy?Ea01iGyiQ1`1at;f0qK@6P)=USipyYGyh`?_!MyF|AYd5Dme3h zEqF)N`$F)Y!2S7vsu%JHq33f#{ds@V?+l+$px*`jJMd26zk$<#-F4L(QhVqO{l?&Y zZe~kx`nLh6{~qAg@ZSgA=LU*nPys&(ybF8|E8s_fcZGgd0Y4L5=Wc#}bWs8K=K!i+ zy21Y@=*bs>>-mH3|8N0+3jAjD_s_tYPd?XA&qH+oKcFYCjpwW}KWi88Cg9A^76rT& zIPjKU^ z^aN-7IT)Prj0fj-BCet$ll+H-H{--ZwQ$Kb5@mF&4) z^4S|ctAY0c_vgV$PrecK`#`^S0j~gm4&&9H;EbmqcwhJrDd3~P=|2;^AAJ0IZ7P?a zONKwoE`*-^N^q8UVFAAbobkK>&Uju2-xqOy2+sX}2|fV&RX0#6((#%;Yl80weG_o{ zGy`Y+JAn^`Pgn5$!H0k!0PfFaQ~nPGp9DSmQQ(81Ke>SWbKK-V82U?~C%+ne2=uoU z@VmkJywR7z{aS?T!=LY_c!t6MQ|MVPf9{*~^j{s%?HUfBb-+h}Zwo#Wd^_-iz^lQT zhaTVuLq8IH6!=(hzxJX$_;cA*F8a)Xp5?t5{1Euh13wh}e(*8ikAkyY?}3kn{xk4# z;6D`bKfw9?&?ff9A(fZ@&A`XQzf}Qm2mTG_Z@t0kKLDKi;RXCqaK?W!_yojx7C8Oq zgC7R{ZQv8ZA1L6Df$KS#K3`p0z?XsZ`JumnGoCVg9+v8565?6CfUg5i|F+=t-yWRt zcPZdK!Rdbp_+-R65uE;~gHM6}T<|}U&npV}b>P3@c>O3i{htM&iv7M`z~2Ku9QrQ{ z_z&QJA^yJ$_^Nm=731Fmd>Z!K3VfY#PsiJvKfg@vguD~;EeP90)9C-oy!5RMt;L{QR7vM*O|5U*L0%ts{ z;dxKwYk@PKR^Z2Azy7>1)%&sFy`i50J^=hU@ZkmgQ1B+G-;=?QhmSwcOYxilehKvC zSA(Aj{f!0uPVmhU&&%M9=PhvV_tyfx5}u=U65^>3J`=nV_$=^E3;34cjK3OuHhg-3 zpA6owfFB56f&5GZKLtKBz)uA~75p^tbHGmrUkJ`P?*OO&gWzYt=LvB7e+bU_zXU%M zKK|S*wL|i_-KQP22WgEK$v!5RO4;AdgKL&51k2Auwr!Rdb{ zIP-Hp_}SR+JaGE|8=U@+fu94P=fGL-%L@4W;4JS~;A{^+g0nq0+^j4vsz>g(F*yA< z2dDow;4E)9@VO{&FYt50_bcE-!Ow$!d;vck{Cw!o2EPED&$nVc*FaCc0G#pM1J3q<^{($~s@Vd=b)Gv8M@JpcIuz+t4ekt^A3U~+b%b@R4 zzXHfxP41Nvt zPZjVN!I=j>--_IyZ&fSg;ad2A2Osj^z?lbsj+K1K8*IL!T`@mfgR{L=fd32e>;!%t zcvoq|@Lj==4SGMH8U%hb{0{=Z1^hU0 z>Q4qg3jWuCQ@;S5{!f5Y&*wDJ|EmK1kKpt#+hRrj`Mkvqz;8u)`Fth%bS%(!0cV^; z!0A5Qcl z4GVZ<@I}yXUck2jzYF>f1-ujZ-O&4Uj?~}D`$K;``r~2X%;yo{_rU+80)9I9z0hA+ zz^??q5Bm89{5Eiw>wyC9&ofdUSl$nyXL-K>XZ!Kz6Um4CFX-8R{5eF@lQ-HjfUt1u^M2d&`JP>;Fk>Jed4DkC=kF&ua0Oxapn16pxP@d;I z;KO|056*l(QNUjSUyOLZ1ZO-yfV1AqTB;UPJu)7D9+2Xve{<;RUk*!iGV!tN$=liHV_;&%MYzjSjOYleFUs=F+1V0Dkd4KRn;WG%F(Ad&o*zSbpNIZ&@Groh0RJAG`SIuM$p1;` z>ujysOyj^);G2QdpU=~we>>>uzY{q9_XDT@P;mN>Dd3aAS--~?a6TW0^?NS#jQ>(_ z*4HBNr;)eC;4JSO;Lkw+0r<1ve4fs8;6FkCJosAMtf)u&YykcO^vw%+IrviOw+DX_ zyfZlC>s34SZGsKNI|Q=;wpqgK_CL@MX|1F5r)Y zzXAPA1^i9$H=+NufG-DUz5D_G7JO=#uV^Q%uZG~Pug2hfK5`ZK+wkuQ{tozV;O~O( z1^yoRA>j0%2>w3wM;Gvuz(0U~P659F{6pxk0e=?l!Jp%!arGnU7ePoT-!I^wgERhB zTCb?zuMp=N;9rBc1pfxS4ft~K9Siub;NL>OcLCoI{5$CVxj)M1_u$i^XFRhC_?h60 z=TdO)_ZsjYu;0btjOTH1#`AIke+!)PdU-8OYon- zE5UyT-x2&5@c!WR83g_-^hXqMKKFAgJ^TirtKp;X_WJmFV*&T)_{fLPjeQw< z`o9JKJNEk-_#fckg7f*Ue-`jn+N`LrKjG69{4em9;D3Wx7VsUx%j`RD+GFv91M}YG=v&Vxo{!_pi|G5SHQgFuq?*e`+crC<#e*u3Kobi7M?%xSj-o6B9{6B*; z&cDI`TysVHY|>V4={$?ifo%p}8}aW1z6y9(aK_Ucobe0*XFQX@>%jjg@KwQQg4YE< z1AH~`>%r-BGk87d?=9d7QU&)HGA$R|U;5#l+vfX@PF{O1<%OTiic zB5=mP7@ToFRlr{ar~kL$^!MlZMiBR}gG@J+#)pH>CD9XR9f4bJ!n zfHThF1^iI(O%VUo0)7lQ<3Fu{&jn}vH-a<%JHZ*hKd&dRmnWg$6!E`Yz~2IA{9hFC z@4*?rKOaZ&G{t_`Yqz4EYzDqr0pALIXY@yZ-i`dpJ3`+K{=0#14!#$7b8vrtjr_@n zLBA8mld%PS3OMs~7Wgjkxe%Q3Ujx1c;#>gEay<#IcH+xY@D}iStAKw5&UluCvz`0` z&Nx?YpCV8`8RzQY%ufsOEfHsH@NQ@i+k>}+zB70i4JshzX`lA+U-3B{9*96 zi09b?{t7tr^I-x15}fg`+M#s)t_jZgn-uV7;1!6!6*%K;2hMnUgEOB4z!}f*0)8lX zCE}S{z>fiEoTnA=x!{cdMsUV|CphDOsDM8SUWNEyF5qv0GyX3M`1jz9zrpq^+JoZs zWj*kAh^I{f?*QH&`aa;>fe!@l06r3&UJAhwYz~_PQ2>ngq9l;lY z?*#rZ_|D)@f$swT3V0{*x4}Du{|a6WzS0gW>Ty@_`USiZco*oKf-|0$;EZQi@UHOL z1Dy4;Zvh_+&U_vM-VOc}!FK~cx`3YqzB}}174QqeyF-69IO}&l_`w+e?=0XCfcJp^ zQ{c@1i{Q-v*Wi1==O=K+v(k<$+DT97R|DT4<3Mw8)?+#Np77ZYob7NIaMtfYaQX}b z?*;#{;LQINaQ3e`;CsR60`T78w}Sg`%_(E|fU{m61!uiH3(kCg2Hpqz{TBQbw4Xl; zcTw_VtX;sHfcJ%divr#X{1~){J-`|NKH!XhPys&(obgXC;M2hw&-vht=W=ky zb3*~Y1)T9LF5r)YGoBB?8P6BsjOV8U{uemoslQX{dT#{Ic(w&+JllaYp6UYL1Dx>; zDBwfD8P8GRjOPUKerTU(6!7!F`$KGyiXVKm%sMX0X`7>9Rp7PS>XFae1cH9}NA#0zM3U2=o&Q_%!gL(4SDiPX!+a{e=bmO7PQh{JIx>IDD3XGe6IP zGY_wVv%K$vkAVN@;EaEjPAl5ONa)u9KM1@rIQQEW{9x#}0q1@z!I__4;G^KvAAB_U zP;kaG8vGFGCxbJd>EMj#eDFizb2<1J@EgDx&n@6%p}!BD@jL>~c-{pc2cJ*D*?+$; z;J<^j|JLbT78hNABX0oC_PJ33Zw}6OyKMpA4xD-GTEO=NXa5~gz=wb{&*KXCRB-11 zEb#Hj|ApWaz^^Ib3&0P9{;mT4AUNZxld7w1rT@d$y~pi65dI&ZV{?e*kg0GZnnRA2 zp>iWNq*e}JNm}W!bXp=qg(OR4I%p&f$#h^M5!DDeq=slHr*a5s6l%E2Fgv}=$qmNaKD?No9sS%9pPe^x z{pXGJ>`Yip&yN1S5ucqM@sEu3?Ci9do*n)C5ucrpaQzpI^z3|eF+Dr_g?A)_mYpg1 z(Yb>e9NGEAVtRJ;V@7;-{>`tivF!NzSMAx+53%!icE+*e>you+N52I-53w_z9baFr zJv;hgcJ5?n0y}ptre{Y#k)7Y*_hrY|w`|XjeiA#^urryRYZueAqo2agC;9oE%FZE+ z>DkdA%}(EYXh23yW9I^{PkVOs)7d#0KZBj=i|N_X&t&IB{491(T1?N5el|PD;V)yy z*H>@Pj(!e1pJC^Ec6?uh_U!2Avhy)^=CSkf#q{jx?_;O$O*0^)9%1KG{JghkM?asP z!|@B)IbtzAJNkupJcE||jWzM369z}_fBZVJ_U!1#jQD)_8Ft39!WamV7_GQQCneExpPh#g6 zT>r`JcpgN1cJx!&IhUQO?09}tdv^3kv-1^prm^FBg6-MSPiJQjc4n~imc{h!=x4I? zPy8%){5t3M?C58+^C&x)vE$dzw`WH`hn@A;Fa`nl|^$<91>eEq=o?C9@f zXEZyHu;c3@wr58_pPkv67W7rca@N zhCY@4S^ClRqv+Gqj)~{CHiRkiS#k_ljvjVU#4$CKb>D+VVC(^${-@?(7#E)o_+>>F8y2ddGs^s_tC#i ze}q1hKA(OTeF6P!`ocS^!EG`3Kj+X#Ck&2!_Z|8e`nmM6^zYJ#=;zVL(PzF3iY z(7#8YNdG>4U-}Q|ljuLBPo`f$pF+QoK9xS3KAnCMeFptU^qKUF>9gpU&}Y+sOuvkN zDSZz8C-m#-m(l0aFQ?C=|CBzTeg%C2{Yv^M9%p|>A5H%`-REP!ppV7Rq5FL4D*AZ* z)pVa1{gU42Klx!?L-%>h`^Mx~$fBdqTjH<9`~2iOdY^~H|B61H>v=!Vt7p)!$IqnS zK%Ygwkv@n1MfR_!--Mq_|22Ic{bu@o^xx1Qq5qaXpFWqqfPM>o)Y6MS-}$`VN*_(X zjXp&G9eo`AcKR0dJLu!-zo!q==g}w7@1#$p-$mb-em8v*{SWlX^gq(4(C?v7rQb`R zPQQ;ngML4KCj9~WEc&15v*~}PUq*kBK9~LweIET``hE0A=#S97(h7 z(Z|pqr;nxol|Dp&f@e{VDns`qT8O^ncN( z(-+WZ(Em-JN&gRh7X2CeZ2GhG%jo~5&!PX1em(s;`ds>`RTteh^6fnO67>1>CFu+3 zOVLM-{6%l>ua>5druV&Z^Zy+~Ulu=>{sQ_CeKdU>eL4CteR=u>`U>=k^cCs*(qBlQ zL|=(MnZ7c83VjTHD*Z+D>GT_U{y&4h3VtSiRr)OYYV&}Yy$rO%|ll0J*R8GSZ= zbNXfUE$DOUYw`SZ9(_yvee|v9kI=WKj~boN#-iKLtLUTYucnWozlJ`Rz72hdKAt{~ zzAb$V`gZj3^zG@x^w-iS&|gQNNPj(jU-}O8N%Ud*WcrTuqv=EZd`+Y8gr82|nLdNw z_dw6j(`@?j>|aLTg`GL{H`1@CzllDVK7l@uzAJq`eK-07`tI~m%jHM0==Rq4aL<2_ zrtg6tLw^f>Ed8zYA^Jr6IQrY@ThQN5A5Y(tK9Rl`eP8t6(?3j~M*j$XCjA@i&!T@6Kb!tB`epQw)92Es(C5)VLBEfFF#QqwC+YL)htL<$ z52cS;A-~EN-T(ZMUoT_npTZB(52KHxPo)pjFJXTI{c!w5`VsVf=||G1(0{`IRQjj! zN7Fw;pGN;IeJ1@I?9ZYfg`Z77ntmDm82ViL>Fm#=e-3{i{aE@V^v}~rt@!-U?{W0e z^e@oI(2u8&rB9;|(Z5I^M?ZnS1^r9(@$?hv!}OEr6X;*2Polq*&*xGY}e zQ|Qy_U!l*Sf0aIy{x$k6`q$~R>8H{!qkn@wmp+3&kA52cKKkkON9f*x9LOlne=h=v*^S0v*{D)=g=q8zeC@belC3q{r|ZAOr?Jpe>D9( z`ZW41`gHpF^cnQ;(Pz^S;QCxf|2}>W{Ri~x=|803NB*>G1&!x|y&!b;OpHIJA#{6(XXeEqu)T^f_@`?JpCs6F#Xr`3G|!kljv8Dd`<>G z#Q*=bk@@ld20sP=Tl!S`T>5nSE%X`mTj?|Dx6xO&js|m@uNnb!{_t-2l{CGAL(Q0_t3}E@1^%^XtTc`*JnKbKKwBK ze)3^nAW#>WqboxW|8T5zgGwF}eXVL#cpG|+1ei{8S z`ds?s^m+8Z((j``L4Sn)H~M_~eEI_V-|3@XH26dgj(k4gh_QuI0WrRmqxm!Z$4FH4_Ce*t|yeKdUmeL4E5k-uxp?Pq!VX!;8DG4vJb zW9cuX57AemkE5?lAEtZ0?ERnC|&{6X^fpadslz^YZqkdmi5;y64|brhC5L6uRfxO{L$( z^*NgE`E=9ho_{x;?s;=F=-0A8lkWL(v*?~rH=FKxaF@|NZ*C6V^WCne_xD8kd7Ml4 zyta9C&x5;mB-SfGo(LMibI^FZOX3+b4mR!%7bkEP4MfZHJ*>umtx{U65TXX21Z*@K0 z^RwpCJ+EpW-Se>SqkI0;BXrNVnosvUsReY;s~WX>K1++94|_h;Xu9W5jiHa`_Ar+2 zc~V34+1xLUqkBHo7WB#Z@pR978m4=`(geEaH%+8_UedmF&tsZI_xz*DbkA3sLiaqQ zsdUdvI-2hJMAPVF`8-Ugd*09t`e^)2y5|SYqW91Gayyt!_dKA>=$k-S z88wlw9~*fI#)W-LzE0zqg=Nt<@8a*%FQEUBzvp^}z8-%*Ibq~nfL#1ip10pb@3}U) z-+q$5HIEA~$b}=v5I^4C=>JE5JN+d3e)QYvAEf`6{!#j|FJ5#7l8&S=yT4{lImf_xICRUjO;N&dAr$rp$f$^ZniQi5ooM`?bd@kI+AlKX2Ug{$Bbi z8$I8jqhGl3^L@jSUn42!ZTfug*RrOZy!rF}m-q*_e7?VM5tN%q;InO^Ec%H_NYL9oP=WFE0JMz#m z__tA`+T-1Mn*EXAQZMxF@$Ni}A9<)*=-cDnS$5>UBG+f+DceHd9`DX7_>qT{g}y!B zowe~J4>b#Yd%Qav<3}D+7W(#hcV2}bc}Q94+vDANJ$}uFa?v;K@$U3Ilze_(f^Uy^ zXD{|g9?BMeRC~NTJwGM;FIy-VebXNA&Oz*tJR~msfcAKIK7}87=v(O9L0O=L`6ug>un1?eXq>89(w6y6^+quj@&>rv3I{2*?O)vbmJ>H#7@mu5D-M!Ga$GbBH|GI^8(Kqe! z?o7pxJVjmj0qybb9E~4dC>MRx9`DXH{7(4x_+k1f_?;Ki+ z@6KxM?}cxVcjsmJz47hw?reY``K{H$k7|#1XA}JYvELr=&a3bvzeQX4QSI^Wybk{k z_S@s#c_V&5e0#h*Z^6G4-yZMI-uV6T?eXp$fPWXhJ>H!U;19sJ$Gg)%bI9%I-T3x+ zcY0oA{3LvPygSEmecpp_kDo+80sr2`^muo^ihm!zJ>H!&@bAaB$Gh_#{0H&v@$UQp zKN;U1@6ILo58>P6-MJF~VSIbMJJ;Ypf^Uy^=hyg;;oIZg>3OEPJxsy3$GdYs`=7wK z$Gh_|{$PB2ygPrze-hsw@6JE*hv3`e-T62EP<(s5JI~=ig>R2{XPFl)Liv0ihHsB| zX9fIJe0#h*FTx*=Z;y9pP5cq~_IP*J#~+Drk9X%4_}8uQ{0FqhyR#GibI%!Wp7`VN?eXsHkN*O`J>H%7;iuu-(Tln^Pcb>z48{Z!9&a$Hyp@$K>MoQb~_-yZMIckn;Kx5vBl1N>$9 z_IP(L#$S$ak9X$^{7>=i@$OuMzXIPL@6L_*EAj2|?%am|8NNNH!) z@YmwoH%D@HgYzYX;&awDg@$K>M zd-yZMIk|RGy`Ft*oZ;y9p zdHgc?_IP(z#V?C*k9X%~_!r>YH$W@oVGTLQ+#{8 zJNx5biEod0=l%H2@a^&LdH#Z_^t5m@$U5X=yLnt z8s8r8PG6@k{#E$)cz4d?`n($79`DY1_}AduB9q{e(?mUAZ z#<$12v(yU*VQ}QMojvex#<$12vk!g`e0#h*@5a9c-yZMIWc*w4?eXq>0zVPo z9`DZK__yKPR20 z?eXsPwLbFmdoaE|-krWyPy8qG?eXp$%Jn$}-yZKyUsEXihvM7g-8qi^PvP6+-T5;9 zFnoKwJAKWxT%W1<_IP*BWdCq{d%Qd6;g7(#$GdYO{z!a#ygQfSKaFpXcc-s^n;-9I z@a^&L+`#^4@$K>M+=4#}-yZKyU*jv+=V*L;ygT=@e+<4o-kpc>pToDuyVKY2&Gk7J z-yZKyU)MMO^Z537ca~Ur5C%v5arpLlcb3P00pA|)&Z_w1@$K>M^tFj{eWu~tne-hF~ zcc$S_#ka@1a|-?&`1W{rPQ%Z@x5vA4HvTkxd%Qc}!=H|Ck9X%{{5SFK@$OuKKLg($ z@6I*&Z{geH-T5{COniI1JHNw!8{Z!9&L8nJ@$K>MJcK_B-yZKyUmrWS|FiM!@$USa z{d4f`@$U4s__F^Ue0#h*%a0j^!4ZEhzCGTZ)$rfNx5vA)HhvbqJ>H#h`1A4Y@$PJi z|31Dw-kt66Kft%gyR#Gihxqn*cluhm`Fvi0Z;y9pPxddwx5vBF*TT*IYHy&T^j@6NZ_|0%vb-ko#sSK!;@-T49jN_=~~J3q$%4BsB_&d=~a$G6A3 za~=K{`1W{rev6-jZ;yB9PW)B)_IP(5z+a7Tk9X%W{4eqC@$Ni{zXsnP@6Lbm*W%mb z-C5>EgD^O9d%F(b9`DWz@xQ{i$Gh_){Eqy2dwaY)o8o`XetY~)^sVqWFQ&)4GammN ze0#h*JK%qdZ;y9p7yMj&d%Qbu!QX;!k9TJu{H^%*cz527zYX6W?@r$rAh(C#;oIZg znZo|<`1W{rrsD6wx5vA44F31{_IP)`h@XdVk9X%3{GIsrcz3>mzYE_U@6Js8-T3x+ zch1NE0pA|)&ZYQ2;@jihxdwj^zCGTZTk!Yd+vDB22Y(;FJ>H$a;P1z`$Gh`1{sDY@ zygSd~|AcRkcW3k}gD^O9`~Ne(J>H!$_y_Ur@$RgNe+b_m@6LMohw<(4?re;I1m7O- z&Q|!p;M?Qf*&hEWzCGTZH{c(`x5vA)2mWz0cy~UC{~NwN z-kne4=i}Ss-8l@u6OWJW@$P&D{}lV}@lVqGJ{P$?KfRb9?@r(UBK}|a_IP(@aeWrx z+vDAtjsG{kJ>H$m@&CcM$GdYK{uz9GygRqzpT)PwyYmP9fAQ_{?)(M+KYV+iG6}clzF%xjrw(x5vBF_oj?r1K%F+PT#{Zek{H{-krV&V*E?-?eXsPJp|)lhHsB| zXC9xQweaon?({wEvcERIJ>H$Z2VDF*`1W{r`rc~sL-_W1clw@X@$2H-H$K;J3!N$Gh`Q{HyTo@$P&F|7v`DygT2+ zzXsnP@6K%eHu&~H8ez`s{>n zk9Vgpb|1epzCGTZ=Z;yB9#rQYy{JA~eoh|XZv)>-S8+{x6 zn-|mL-5JL3fp3p@XIK1N@a^&L?1Aq&g99?EJ>H$Z@6vjMz9;+b@o%U1{g~qST1=03 z=Tlstz47hw?i_{R2j3p=&awD6^7Gps@6MU{ce39e@B0mX7r#HgJ>H!Q@bAL6$GdYW z{s4S?ygNU~zZ>5k@6NCAlkn~F?%afb6Q9racy}JcPiDV8{)6vZ@ z2FH4Xf2OnF9)B`@2!G0Adb~U1@L$2V$Gfv7{;T-*cz3qLe+}Or@6OKnujAX}-FXv! zcRru(@$S4Ae>(f^@xHI$LHKXt+vDB&B>oJ1d%QbG;?Kml$GdYZ{@eKWcz3>pKMUU; z@6K28XXD%B-T5Z|JNWi^ch1J2i*Jv2=ll5Y;@jihxfnkS-yZMI75MYI0G`OJ>H$e@Yk~69)At}DExJc>GAFyhyNA6J>H!!;jhQH$GdY1{sw$|ygT2( z--vIIcjsI9oAB-N?wo`FHNHLGo%8WGrcm9IE9p4`B&R_9w;qk6L-ks5F4#MDA zZ}87u?6=3?NnZ(n_hNdyJFDUUfNzg?XD$36@$K>MY>2-H-yZMIX83#Y?eXrs3V$EI zJ>H$|@b}}}JpYZMR?(BvCGrm3Eok{oy@$K>Md<6dxzCGTZ!|@N} z+vD9i4*v+gJ>H!!W@$Q_Ce+=Iq@6Js8R2{XKnlfe0#h* zjc<>4=VttJ`1W{r?!YgPZ;yB95BL@E?eXqBfL{^c9`DX0_!r{a7}|Z;y9pZTxEZ_IP*J z!@rg1&+YNAT=xvX~z4&K~%e;@jih*$e+Ne0#h*`{CEZx5vBl9{k$) z_IP(DMybQk; zzCGTZjqqFJ+vDANHU3rj_IP)8z`q*b9`DYs_}Aduh$K%`M-T5GX zTYP)GJDEqe-yZMI$@tgd+vD9i4gY$4d%Qd6;CH~c$GdYO zei+{#@6HwY9r5k)?p%-G3Ev*?&hPL$VW}Z;yB93H%%J?eXqB zgMSmgJ>H#V)*6Jtk^7$s`1W{rmcviv`BHnlJ1@uY!G3%Eo9Ub4-?Eq<@6N07Z^gIA zyR$uhBECJ|oj2g$hHsB|=gs)HMoQHoG zzCGTZ+4uwS?eXqhj(<14J>H$G@ssfF@$TG&e-FMr-ksm!--~aLcju4z1M%(g?mUEl zAHF@_oxkDVk8h86X94~L`1W{rMy)*vgCqB!AH=uEyR#gAGQK_DomKE3!nen}^Ah|) z`1W{r*28}o-yZMICisuw+vDAN75=06_IP(*hyNJ9J>H#N@E^yw$Gh`Z{1kk9ygPg1 z-^Sxzd%Qaz!yn3id;B5v!|lE9-ksC%N8sDz z-8lKOXUrdj8XKVZ^`1W{rw#R=3-yZMI&iJq5+vDANGyZG%_IP*p#(y2(9`DY(@TcP2 z5?wp4IHoiUH zowM*W@$K>MoR2>T-yZMIMfmUF+vDB29RFQ>d%QbW;m^aj$GdYQeiptx-ksa<=i}Ss z-T4Fld-(QvcOJxlAKxDD&R_9Az_-V{^A!Gv`1W{rp2N?^x5v9PdT0;^NA5o_!nen} zGiGQI21opl@a^&LtT{9YgCqW8e0#h*>kbXV;E2BjzwXc=432nrHXce{M>@^g<$o~}I9`DZn zL(z-;75MgeciuM?y~tmQZ;yB9BSX=P{Lk?1@$MWl6urp*9N!-A&S!?A7x_8(_IP)W zABtY&ufn&-yL0kT^df&XzCGTZ8AH*F{4eqC@$Q^8Gzfzux94l{XAKR);D~qUyrI-Z z{#tx{ygRdpq8It=@a^<s9QF$o~r89`DXoLxV6la{aHzUo|ucgCpLZ8-`LB`5W-< z@$TF*6urpbh;NT~=dPjXMgAsyd%Qaj3`H;Uzs9%6yYuK!^df&VzCGTZe+)%0^1s2i z$Gh{Nq3A{axA^vWca~gtAz%3UpNnsgcV`9sE%^3$cV2|Q72h83&KmgJ@a^&LtcCv_ zzCGTZ_3^jk+vDBY2!98@J>H$o@xRBn$Gh`t{5*VnygS?D@5HyqyR#$yE_{2uJ8#0@ zjc<>4XAk@z@a^&L?2Z2;zCGTZci{I~VQ}Hd(H`&4A@~Q_Z;!v9egytci|O(19F6}o zzCGTZFXA7>x5vA43jQH{d%QcR;s1hfk9X%R{G<5xcz4dnKZb9Qcjrg=$MNm)?)()0 zSA2WCJ6GeMz_-V{b3OiV`1W{rZo$vTx5vA47yj?~_IP*xg#QP=J>H$i@c+cO$Gh_+ z{waKWygUEJKaFpXcW2o=P!EoL_b+^VygMu77vS6D-5HDj557I#optfg;M?Qf*$DqE zzCGTZt?>WFx5vA)9sYm#_IP)8!as*^k9TJ`{HUb|7mgh5@$T%2UjpAA@6J2%OXAz( z-FXjwDSUgpJ0HX^jc<>4=cD*#@a^&L9Ex8S-yZMIXYntM+=qWLzCGTZNAPRl z+vDAtj~|O~k9TJQeocIPygN&*KL~>(ANCS_d%Qc#;Qx>3hwbt14B>~^Z;xMxz9D|y z#q@Z0HpQ=pZ;y9pEByNS_IP);$G;rk9`DZ1_zm#w@$S4CKMvm>@6KNMjqvU9?(B!( z7~dZ6&Vl$%@a^&Ld>FqezCGTZL-4P}x5vBl8T@AW_IP)`fZrV79`DY{_^t5m@$SsP zZ;fw{cjqkptMKjd?tBmb8hm@aJ3qp2gKv*_=coAb`1W{r=HR!*x5vA41AaSvd%Qch z;J3%O$GdYE{MEdBC97#z8O z-Vxs(@6HSHJK@{o-B}&KGrm3Eowe|9z_-V{vjKh=e0#h*o8jMxZ;y9p8~mH_?eXrs z4nG0k9`DXB_+9bs@$T$_-wod$@6JB>-SO@5?i_%BGrm3Eo%iAQz_-V{a}fS5`1W{r zrr_U-Z;yB9Q}~Ja_IP(bjei@yJ>H$q;opvLk9TJpeouURygOgU?}cxVcjs&Pz47hw z?wpR_2j3p=&P@FO;oIZgnT6jM-yZMIZ2UX$?eXqhj^7X89`DZ8_;=#lEO@a^&LERTOb zzCGTZRq!9cx5vBl68s18?eXrckDrWhk9TJi{D<)E@$PJmKM3C*@6NXP598b8-PsBM z5qx{RJ8#6lgWG3&ygTo~e}et?_$l;*@CPrZ$GdYd{*(Cjcz2G(AA)a>cjxo?L-FnL z?wpAK6uv#)ov-5$!?(w~b0&T&zCGTZ@8S=~x5vA40saVld%Qb8!5@ilk9TJd{?qvO zcz15Ve+J(k@6Ijw&*IzT-MI^Y6uv#)oqO>6aru2TX}&&BTi6#p%JdoFh8YW$h__FU}FP55u)+jFryx8Y~v+jFry zcj3>%x94Ja9>AZCZ_mZUD-=2%z`3L?x`1V}v&NKLP@$I?Touyte2!kW{=ikM* z$Gfu}{ycnpygMu7XW`r9-B}%fKE6HPotNUjhi{K}XI=dF@$K>MyaN9Ne0#h*uf+cl z-yZMI*7ytX?eXqxi@y-x9`DW$_}TdOcz1TeUxaUucV`d$kMQmB?(B`f7~dZ6&b#oJ z;M?QfIS~J2e0#h*AHiRWZ;yB95d2T@?eXq>27ej8J>H!!;4jCw$Gh`o{7>=i@$P&B ze+9lh-kopbuf(^%j&F~5=W_fUe0#h*SL3h3x5vA4BmQc9d%Qch z;eUy5k9X$}_-pX(@$Ni`zZTyf@6HqW>+tRI?)(e?D|~yrJEO)8!r;i`#r631cy~tQ zZ@{<5yE6uVBfdS}ow4|v@a^&Ltc(9OzCGTZjqo?)+vDBY3jZ5?d%Qc_;eU&7k9TKh z{9Jr{ygR$$Z^5_6yE74gE51G6oqh1P;oIZgIRO7Ve0#h*@5A4YZ;yB9BltV;?eXp$ zivK;nJ>H$q;^*PpH$`@DJeI&cE;v zM4B`KZZ;y9pBm5Ki z_IP);#QzQ79`DY!`1$zucz1Tf{~g~R@6PV{f8g8W-PsfWB)&b~o&E4n;oIZgc`yEH ze0#h*AIAR+-yZMIC-DpL?eXp$iT@A2J>H#T@z3Df3oAJ>H#P;g`X;$Gh`e{IdA=cz15c zkH)vhyYoll`1W{rUWOloZ;y9p1N@8d?eXrs62A(*J>H$y;8(@B$Gh`-{A&32cz51} zUmf2b@6JU0i}CI8?(BnK1K%F+&i?qZ`1W{r-j81s-yZMINAWMgx5vA4DE?*m_IP(b zi(d=h9`DZa__guv@$O8=uY+%ocV`BE2;Uy>&RO_%@$K>MoQr=Kj~DIn?##izg8laR z4e8h8$1SGEyK@VEBYbJ-yZMIKk%F3+vDAN2ERGJ zJ>H$AHyMP%k^9>%@a^&LERWw3-yZMI82ncF_IP*J#BYsnk9TK%{HyTo@$PJde>J{6 z-kmM+ufey+yR$8R8+?1bJ3HdXH%7<6nz! zk9X(8_}AgvMd=0-7zCGTZGw?g( z+vD9i7ykx)d%Qc}$M1q~k9X%{{2TG@@$OuSe-pkv-kodl6Y%Zv?)(P7E51G6o!{ek z!?(w~b02te>c88-knqM@5Q&ryK@@;Kzw_=JKw?|u)^TNk)u7{oy+haV!u6pGX3ZH zgBH`{-MJS3VSIbMJHN$$1m7O-&h7Y*;oIZgxd;Doe0#h*58|ib+vDAN0{;nod%QbO z;}6ES$Gh_!{*(Cjcy~s>au5bb?w=3Ax5v9P27f5NJ>H$M_)p>6b;oIZgIR$?#zCGTZ)A66jx5vA44*ocNd%Qb8 zz<&YX9`DX2_~Y^I@$UQ#KMmg=@6NUOFXG$d-MJZm0=_-oojdSf!nen}b1(ixe0#h* zkKj+jx5vBl5B!($?eXqBgFhMH9`DZ5n+?L?$o=PZe0#h*E8H#z@MqxL1 z&e!p0;oIZgITL?2zCGTZS@?7C?eXqhg#Qk{J>H$m@#o^(0DlF(J>H#<;jhHE$GdYF{%831 zcz2G${{r70@6K`fck}!A_IP(@;;&)9J^q*U@8YjrOpkZx2l(so?eXsX82>ALd%Qb8 z$6t?ck9X%f{0;c_cz1q_zY*Ua@6J5@P5AbBckajk8s8r8&SUtS@$K>MJc*x+Z;yB9 z8T>8y_IP)e-eM32NA7QL#ka@1vm*XBe0#h*tK)x%Z;y9pZT#){_IP(T#NUB$k9TJ? z{O|GY@$PJcpNDUccV`Fuo%r^6cix1*3*R2^&K~%?@$K>M?1TRUzCGTZcjNzvZ;y9p zGX5TXd%QcJz~75+k9X$?{C)WLcz2G)-;ZyPcjrX>1NioMcfNxE6TUs(op0j*jBk&3 z=REv_`1W{rX5$~ix5vA4IsRdMd%QbW;~&Ad$GdYA{xA6Ucz1q}e-z&y@6NsW$MEg( z?mU8j9N!-A&foEW#ka@1^B?@*@a^&LEWPC*436C2&d0aMyYoW)-|_A7?yQdg2fjVt zowf1*#J9)0^9uZv`1W{rHpf4OZ;y9pJpO5Xd%Qb4;{Szjk9TKR`~rM?ygP5h{~O;P z@6LYs|KQu>-FYwm8GL)ZJ0HeBi*Jv2=acyV;@jihITHUre0#h*$Ks#Ex5vA4B7W4e zg9}HF_IP)`hF=2T9`DW>_$Be}@$Q_9UkcwI@6HeLOXJ()-MJLM48A?youA{E#ka@1 za~=K#`1W{rev2QCZ;yB9_xR=T?eXs1ji1EtU)tl{c^bbG`|a^Bq(6&ac`-fSoh7## zgu#*f+cEg|cz2e^zX;zR@6IatRq*Zc?z|MgD!x75optf6H!i@N44RM9E@KF-yZMIk@z8ed%Qcx;@8Eu$Gh_-{CfEIcy~_0ua9q!cjt8c%kk~;?wo_) z0N)<(&TRaK`1W{ruEf6r-yZMI4ft{R_IP*hz;A?ak9X%!_>J-H@$Nj1-vr+t@6J>B zP4VsV?)(q`N_=~~J1^LJ5C%u?Z#ToY$GfvKesg?#ygOs@Tj1N{-B}yICB8l0omb$u z!nen}vju)@e0#h*+u~n^Z;y9pC;Y4N?eXsHj(-ilJ>H$Y@Y~?qM9FKn;zCGTZ>G;><+vDAtf!_h&9`DXf z{4l;f-ktODJL22p-MI+A6TUs(oy+k%-SF-4?mUa%9p4`B&eE?Mgu#*f=Qrcq z`2WMV$Gh`({J!}1cy|uKzXRVM@6HGC`{CQ;-T65Fo%r^6cMikvk8h86=V<)9@a^&L zOv4|5Z;y9pI{w}G_IP(r#ZSVw$GdX|{yq5icz4dmzZc&g@6Igzf%x`#cP_xc58oc| z&L#NwPb`1W{r=HNewZ;yB9I{ajOd%Qcp#(xOk9`DYr_=E86@$TG(|1iEi z-kp2!@8Qow+T-2%H+~BH?eQO{KZpOsVtTwg%f5OL21oAy55~90yE6v=Nql>}J1@o` zif@m1XC3^f@a^&LY=}P$-yZMI=J=`j_IP);!5@xqk9TJne+0fg-kn|XN8;P#-FX}S z)A;syciw^j48A?yo%iBDi*Jv2=OFx1`1W{r4#ppiZ;y9pD*hOJd%Qcx;6I0Nk9X$; z{IU4m|2)1u-ko#s$Kl)K-IH#r@L$5W$Gh_|{zQCxygT#pC*j-U-T62E%lP(qcb0g~APkP&f1ZqQk9TJ| z{B(SKygMu7Pr)A8-`?i`5!CcZu1oe$&Bz_-V{a|r%h`1W{r zK8-&U-yZMI=kedhx5vA4B7P>mJ>H$KMT#r8w-yZMIT>LD2d%QdI@aN;(H#_@fYCR2;Uy> z&i42p;oIZg*%^N^zCGTZH{&nCx5vA)7yifi_IP*p$6tzXk9X%F{N?!ecy|uQ{}kUI z@6M6d%Qc(;cvpX$GbCn{2&aD+~58h-yZMI82run_IP(*g8vP^ zJ>H%5@V~{k$GfvJelET}-kq)Sx8U33-Ps<0E51G6oj2fb!?(w~vj_fn`1W{r_Qv0i zZ;yB90Q?>J_IP(bi2pslJ>H#<CF zoxSk?!nen}vp@dd`1W{rCgcBuZ;yB96ZmKF?eXp$fqxd?9`DZ4`2XVD$7<_xYJ7e%K!nen}GZw!JzCGTZb@8j>+vDBY2)`P>J>H!y z@vGz8*TJ{PyK@452;Uy>&R6m4;@jihIRn2QzCGTZ z@8H+Rx5vBl1N_VJ?eXqhg5Ln&9`DYT_zm&x@$OuMe+9lh-ko3L$Kl)K-MJmV5xza% zoqO;b%$Gh_^esg?#ygN&7KL~>( z_y1eq+vD9Cjo%XA9`DXd_^t5m@$RgK-x}W@@6Jo`ufn&-yEBA;HNHLGopJcr;M?Qf z*#f@}zCGTZZSmvr?eXsHh~F099`DX>`0eoR@$S4GzdgP^-kp8$2lD%=_IP(bfgfhS zJ$?uJVfY;v)8pMa3cnM+J>H$;@jK(&4=VkbP@a^&LY=Hkie0#h*o8kAxx5vBl8vHx(?eXsHfZq?_9`DYZ@bAR8$GbBT zzdyb`-kp8%@4~moyE6%Y0KPrmorCc2#<$12b0~fizCGTZWAN|6x5vA468^pT_IP)` zfjaea-yZMIQ}~bI+vDAN4*yYnd%Qc#y>1W&NA3?lhHsB|XI1>i@$K>M ztc9O~Z;yB975Go!+vDBY5`QqhJ>H$|@t?%E$Gfu&{t$e7ygP5jABt~}cjuk>PvP6+ z-T5H?FnoKwJBQ$>;@jihIR<|?zCGTZlki92+vD9i4SyuQJ>H$~;y;aVk9X$+{Acj( z@$OuT|17>e-kqQ0kHWXdyYnmj(fIawcW%ZXgKv*_=MMbm@a^&L+>1XJ-yZMIgZR(m z+vDAN41XNHJ>H$a-yZMITk)sh z+vDBY7ylJ}d%Qazz<&+j9`DY_@L$Kb$Gh_>{Hgf%cz2G%e*@nh@6I&*419aMJJa!} z;oIZgISqe0zCGTZv+>`=x5vBlJ^UH?_IP(L!G84=P&qk@a^&L{1g8je0#h*&*0C+x5vA)^bUhCIC6jc zU3`1IJ1gSP!?(w~vl@ODzCGTZweaWT+vDANIsSY2_IP(T#eW~)9`DYp@jt+~$GfvV z{)hPXcz1ThUx06qcV}1ph4}V(cix7djc<>4XFvQ!`1W{r-i!YczCGTZkKixHx5vA4 z2>ud$d%QcJ#{U@K9`DX^_)GEa@$Q_2{|UZ5-kq=GFT=OTyK^S~a(sKdJG1aV#ka@1 za}oXue0#h*KgPe0KM!w@cV{ks4*Tu#zo6fNziKf(-kp2!SL55`-FXQAOMH90J5S)R z!MDe|^ECcie0#h*&*87bx5vBlg5g0J9Jzn~6}~;*ot1|NVQ|D>k8h86=f%T=FgW6G z#J9)0v)1q+437Al@a^&LY&bj!gCqXe`1W{rHXj~@!4ZEmzCGTZZH5P7aK!%x-yZMI z@bDlEj`-i=+vDBYb$Ad4NBmrTd%QbuA0C9k5q}H5J>H#n4iCcMh`$xz9`DY9!-Ft5 z;%~#Z$Gh{9;XxQ2@xQ~j$Gdar@E{D1_}lUA@$P(fcn}6h{2loAcy~TOJP3m${`dIy zcy~@39)!UWKM&s?@6M^igD^Pa@5HyqyL0C7APkQ9yYTJt?wmI~2!kX3ZhU*ZJF|xe zVQ|F%0pA|)&gH{{FgW7>h;NT~=j!1>7##8U;IAGYguxN-&W*#Vi~PO#_IP)09gbe) z@58spyK~oY^df&hzCGTZKMhAO@(W+vD9?1^)=XJ>H!c4XBz%L`1W{rPQgEeZ;yB9H2kyp_IP*B!v7cF9`DZg@c+ZN$GdYe z{yBVmygOImM~xm_IC8YdyK@bG34D9JJ2&H(#J9)0b31-1e0#h*_u!Ytx5vBl0R98q zpR~uj^I!b(?6=1+M_+2EK^Po)JX&EfJ>H!a@GIimH!&@$2B*D5j|33GecjlQh_XvpjCI8PS_XBg!eeU->?`ikkGP5(pcOzbP z@a*#(@!g469X$K|f%qQ8s}7!h-XOjw@v4JopRL6AB3^ay?DG-vy@^*HJo|h>d>`Uf z2hTov<3y09i~R3Pyz1cDr-=A|#H$XTeL4}}pLo^5vriY|2N171c=qW_{6OMW2hTo3 zi7z2ub@1$SIPrssR~W_rx33? zc=mad_#=o{9X$K|jrb#pR~fqU@9r4qNR~c-gLu`!v(EtHXA-YEc=j1a{4C;C2hTpE zh@VZo>fqUD67k0puR3`4nNIw1#H$XTeU2x74)LmkXP^1RA5XmM;Mr#}@h1|mI(YUu zjrfy@R~fqVud&HL!uR3`4 z`62Q1iB}yw``ki&Iq|B4XP>)>uOMD^@a%IR@d@Hp2hTo_5Wj$U)xopRGsG_>UUl&7 z^CIz!h*upv`@BYcCGo0*XP-BTKb3gZ!L!fbh+j;+>fqVuW8$lbR~!$sgJ++v#GgjI>fqU@FY)!ns}7!h1`*#t zyz1cDXE^bV#H$XTeGVtSiFnn)v(Gr{OQE24xW9c5#LO_>fqUDHt|b| zR~~k^k=Mt|vc=oxR_~pc_4xW9kA^tq#RR_;L*Au^jc-6tP&rgY8 zNxbUd*=IBHtB6+}Jp0^Bd?j7~s}7!hULyWN@>d=F1*HFp_=_TR@a*$8@fQ=XI(YW^ zfcQ&@R~>&Qz#H$XTeX=HsAPeU6wZy9qo_+F({|@o0gJ+-C#9vCh>fqU@Bk`9J zuR3`4=}i3P#H$XTeR>mr1@WqbXP?2uUrD^`;MwO;;;$lJb@1#nj`;5quR3`4IgfqVuRN}88UUl&7(?I;S#H$XTea<3& z1M#YZXP=eC|A2Va!L!fB#BU^Cb@1$S1@S*5UUl&7a}Dv=5wALU_PK%h9}%xQc=oxC z`0I&R9X$JNCjJKERR_;L4-kJN@v4JopC^dFiFnn)v(IzH-%Pyf;MwOT;(tuM>fqUD z3-PxQuR3`4d6)Q~60bUV_W1|#w-K*8c=q`x@wXGNI(YWUnk0fOn9uJZUUl&7(}MUr ziB}yw`?MkcXT+-xo_+Qu{x0HG2hToTh`*b7)xon*U*b0ruR3`48A|+S;#CLFK4XZ# zhj`V&v(FUbe@?vW;Mr#y@xLHmb@1#nhxmJmR~fqUD8SxJiuR3`4SwsB8#H$XTeZE8dBgCr?o_($+{!!vp2hTn~ zB>pktRR_;Lw-En0@v4JopPv!`1o5haXPt(I(YWkM*OqHs}7!hJ|+G+;#CLFK3S7RkOlMe zZ;4kOJo~gD{(0h62hTojiT@q(s)J{rPQ<@Jyz1cDrwj2f60bUV_US?VsdWFPI(YUO zOZ+S3uR8cYl0J#}S0i-r>@%JC*N9ggJp0Tc{!hfK4xWAH5x<3a)xon*CGmeIUUl&7 zQ%n5o#H$XTeVU1XgLu`!v(H(?FQ)!d9X$J7N&GwHuR8d*N#8*HyAe8g_PLSxzY?!H zc=oxS`1goc9X$K|ocOK8s}7!hentG>h*upv`}~^t_lZ{>Jp25P_z#Fz9X$KILi{%3 zRR_;LTZpfs{#6}3`}~XekH}wj@Y_j`PZ2>D%x@n@=-}C>koZrCR~|>6@v4Jo zpZ$sdlz7#_vriY||3$p&;Mu1y@t+Z|I(YUOO#J7>s}7!h4ki8z;#CLFKI4f0l6cj@ zv(Hh)2L-azE~hO3*uD=&py`^Ur4;_ z;MwP=#P3DC>fqUDGx05nR~;MwPo#J471 zb@1%-2Jvl(R~>8_aR<&@a*#?@$HFM9X$Kw9U+1& znEyKvuR3`4DI&fj@v4JopH9SgB3^ay?9-X}eTi2cJp1$}em~+>2hTo(iQk`i)xopR zNa7D5UUl&7Q%d}S#H$XTeI^rs5b>&mXP;w;FD71f@a%Iu@tuiR9X$KYC%y~us)J{r zQ;F|Nyz1cDr-Arx#H$XTea<4jJMpT6XP=eC_aI(%@a%I5@jZ!G9X$J7L3}UbRR_;L z*Am~Gc-6tP&yB?QAzpRx>~lNueTi2cJp0^3d_Uq<2hTpgBECQIs)J{rCy5_Gyz1cD z=Xv4>60bUV_W3>WCB&-^o_$^?eh~4hgJ+-jh#x|{>fqUDJMlw_R~fqVu0OAiJUUl&7)0z0{LfL5-)xopR zVZ@Ijf7QVsPWpJ_M@Q)3+2<(Y#}KbNc=nk|{8-{u2hTny6JJWa>fqU@ocQs?s}7!h zs)(OJyz1cDr-As1#H$XTea<3&67i~oXP*_sPbOY<@a%Ij@l%Lb9X$J7LHrTKs}7!h zt|9(N;#CLFKGzd}6!EHqXP=)Ee>Cx`gJ+*j#7`w&b@1%-OX8;yuR3`4d4%}s#H$XT zeV!ry7~)k2&ps~^KZAJH!L!ewh@VNk>fqVuZQ^GUuR3`4`GEM@#H$XTeRdFkEb*#? zXP?+nBFKXI_Bi5I2hTnQ#LppKb@1%dn)u_1R~`VL!#H$XTeYz5VBJrw&XP>^r zpG3Us;Mr#=@h20nI(YUuocL3SR~@$n_GU8PS&psy- zKc9Hj!Lv^p@#Vy;4xW8ZCBA}q)xon*J@Erb@1#ng!r?FR~ z!L!c_;#U!`I(YWEnE3OFR~fqVu4&rMHWv5+K2hToF6Tgo9RR_P8^yi8HPJ|AgeSS~;rNpZao_+pI{AI+e4xWA9 zCH`{aRR_;Le<%J5;#CLFKK~^CO5#-q&pyFa5oE#q{9WQz2hTnQ#9vLk>fqU@i1_aj zuR3`4X;1um;#CLFJ_iy1ed1LI&pthgzlM0#!Lv^Z@z)ZsI(YUug!m1_s}7!h#uEPn z;#CLFK2wO_NWALc*=GjvKO|mt@a%H}@z)WrI(YV(PyCOFR~fqVuBI0i*UUl&7a~bhJCSG;$?DKu%Zy{cF@a%Iv z@joG6b@1$SEAh7yuR3`4xtsW(60bUV_PL+<+lW^kJo`LG{O!c64xW9UCjJiMRR_;L zFA#qx@v4JopVx^08S$!vXP>u-zl(U)!L!c?#NSQ4>fqVu6XG`!uR3`4`I7j}#H$XT zee$P?APeUIdx%#ZJo~gJ{^!K24xW8F5&sL~RR_;Lor%Afc-6tPPfz0SBVKjz>{CMg z{lu#do_!7>{sH1u2hTpG#6L*9>fqVuNaBA*yz1cDXD0Cv5wALU_Bo08hly7mJo_Yw ze}s6|!Lv^d@sAR(I(YV3Li}UIs}7!h&LRGB;#CLFKC6j;f_T-zv(F{OKS{jm;MwOg z;(txN>fqVuYT}Vc-6tPPxf>XWWoIT zBJrw&XP;KYzeK$1;Mu1m@h=mvI(YW!Lj3QER~fqVuSmIwJUUl&7GoScB5wALU_NgI$3-PLhXP+~P|1wNjs}7!hf@4IG1@qNEh*upv`{Wb8r(IMB&pzi6A0u9M z@a%Iw@ma*H4xWA15+5gCb@1$S1@YO$s}7!ht|2~$c-6tP&ke-q60bUV_W3FCdBm#@ zo_#hGpHIB%;MwN^;tPmZ9X$IyPJ9dERR_;L&kM}Do_&rW zz7z4PgJ++a#P3VI>fqVuc;fdXUUl&7Gne@NiB}yw`y_}zfOyrxv(IAU4?AMvV#XP@oF_a|O;@a*$B@dJog9X$Kw&J;lw%+CXfR~i*=H^Bqli}>Jo{Wt{Al7;2hTp&5kH1_)xopRt;CNdUUl&7vzho( z;#CLFKEEP<9Pz4yXP>8tA5XmM;MwOz;wKQVI(YWkLi|MHRR_;Led=F(WLhzep-YMo_+cgKb?5h z!L!f7#2-Vv>fqVuaN=hWuR3`4nLzwZ;#CLFK1UNji+I(+v(HT8XA`eFc=kDw_+yDz z9X$I~5Pux;s)J{rD&pr5uR3`4X(ax5;#CLFK4%es0`aPYXP*_spGdsw;MwOQ;!h%8 zb@1$SIq@eGuR3`4`5y775U)CT_PLJuxx}juo_&5o{5;}S2hTot5no2U>fqVue&Xj7 zuR3`4d6f8a;#CLFKEENpf_T-zv(HP!Cx}-aJo{`RegW~SgJ++2h+jy&>fqVu@5C=6 zUUl&7^9k{l#H$XTeLg4tRN_?!&pz?lBFKXId@=E=gJ+)t;;V>P9X$K&O?)-+s)J{r zeTc6iUUl&7vmf!b#H$XTeL53gN4)Cb*{478rxC9@c=kDj_Z3s}7!h-XeY_@v4Jo zpAU&&MZD_Z+2>2*&nI4W@a$7?tO&ATzFkec>fqU@E%9rJR~jq zA@Qn%XP-gDUqrm>;MwO;;x8s%b@1#nf%r>^R~pdd&ptmVem(K3gJ++Ii2pwEs)J{rXNkXtc-6tP&mW1umUz{{ zv(I0M-$1~je5HxaKoc=j1h{LRFx4xW7` z6aQo4RR_;L#}I!D@v4JopW})D3Gu3fXP+|SZzW!J@a$7b{7;Ej9X$J-M*MBWs}7!h z&LIAF;#CLFKIajC2l1+dXP=9Rzms^?!L!fh#Q%(V)xopRHN@XVyz1cD=SRffO}y&h z+2>Z`HxaKoc=oxQ_|3$t4xW8}N&G#;s}7!h9w+|i#H$XTeV!%$7sRU$o_&5#{Jq4h z4xW8pC;mR-RR_;LevgB&prnd|1j~YgJ++f#6Lp3>fqUD2=R{+uR3`48BTmXUC*cv zo_%Hz|7-GB9sHA|&msP)2pv58oI?E5#H$XTeHIe`4DqUiXP-vme?z?L;MwOK;-4j6 zb@1%7hWO`*R~8uf0=mI!L!c`#Q&an)xopRtHl3-c-6tP&l|-5k$Ba?v(HxI zUm;#~@a*#u@vjoEI(YW^ocPy>R~@$M+zYwoFc=j1X{9DAU4xW9c5dSvu zs)J{r8N|Osyz1cD=LF*4C0=##>{CwsUx`;8Jo{7;{~qzGgJ+*c;6 z729+#Su@|y>aKr@)!~1LO=C5}rs4lBo5o6Y_%px4GOqt>tHXbpO=Gpzrs03HO=G1x z{Fgzn%g^lE_1|oD`2WPFv3kI!;s1$EWA%Vd!=L%jtnT`U9U}YS|4++cl@CxB_>Z?~ zY^x4`=KER3^)InH{3nsm2%Cog;}JUinV)4Dta$v)u{!*pB%gUU4gbGK=meKZSf=CjV&> zI{cY`)8qdR`5!|*+sOa82p#^+f9CNI2d1#FIG%j+Z5r)g7NNtR`F55;7;gWLR>!KG ze2Q%v{uL2A{F(1(8P~tW>R2rxpAj|<|5GD$_%lD=GOqt*t7BC~KGSU){>>3O{Fy(= zGOqtTt7CNr`7E+&_+J#E!=L#TmT~=8TOF%Q$Y-rh!~cp19sbO(w~Xt*!RlCDMLsv$ zH2i-Yp~Ii~hb`m!KW=rbenLLa+BEzhjL_lF{417m{kK>htB1(v9h-*#ixE2fncr?1 z*MEoAv3i+&g188>z<(c`4h5TrKl6K8-SscBI;=a8Pe+@E|C9(F{>*o?jO*Xa>hM33 zd`fH@{-;Ig@Mr!o%eekytPcMM@|kSY@INa;hd=YPEaUpmu{!+ECZBmW4gd2Zboeu0 zWf|AM&g$@ANj}Xs4gU)xboevB!ZNP^YOBNlV)9vQ)9}A4LWe)|>n-E@Z?HQ2uO^=x zZ5sZsMdDA+XonICF(*MEf7;eR0cjIrr%qMsC@ z!=L%HEaUnwvpW1wA)nPY-A(lB2p#^+UuGHC|0=7)zm|M9*mO71wG5IBREIzFw^-iw zzs>6KKhLJ&v)QJ*N&1xt9sbO3wT$b(&Fb)fjeK_4bT`pIi_qcEe7hVGWO4mFS{?ph zkWaDI;orrkkzaNAGk=oDe;)aFC!a+&4gW-h4u9rXSjH{?YOACC3(04#O~e0z2p#^+ zKV=!$|5>ZU|5xPmvQ5LkMXtQqMRoWy-_0_ve=n=Ue=qVWv1#~MMdhNbi+cK_yzSZGBihPP}8vgf2 z=F@DX@8$6NTb8cBwk`Y*BcCnge{qBkf9Bg+#`W)L zb@+dqe2Q%v<$o_ihd=Y2nzrp$}#LuGRm z=~HYP{G4xW9kvkab9YhFmIqkY)tRqT`n{Pr+q zUQ`GFQ_{!cz>;OS{J+7bv8{R!N%Qm4$(BL+e@49ODF4l*Uq^f=9ISRx9lSn6!>&6m zkMd6-UUigzU()Mr8s%9Tp~Ih_7cC+FLgG~izl!ubiPvX7f&{9A|32~e5Pw624*rLv z-)8R(QT`v$eWL2%`F`_m;(tWE>fkq${!8L-jnKif&u@s=yn+O(ga0Y{GO#{ zI6?(U6lhv*YYpJ&sk?;8<1{GT9wHSwQB=-~N&@Dk#4@@1!8R1fP*KEJeS z^zRVjRY!ldCVelPM)^;O(BVIs^szP#|DQzY@Lxyzkv0wgUq$Hfzm@da#J?1wgMWzh zdu$rz8EmgbB^juW^8Ax{{q1S+tBF?~{5aAF*);fHM(E)68d#F@F#8fTR?ES^<6UW}F|DqM02_Rc)Lvax*8xY`;MsI0zm zK#5~FrKYm6vaG7IAu%;^I`RxCudQiltgElB%VaC65&HHdJOJVQn&zu?wVrXo1?M zG{+F1fXa`PSe4~vX(QL{ZLVyL+9?x?OcM5Ro>e;|QC6|k9U)dJ$x+$L@{HP; zog&v_)*28-6tuoE*-Dt^1`Qa&IU}fy-7;Y%(mOhwRHTzKnmx4BHj@#M;Wg77*BQE* zDp=7(2hVzA@Ty+@eJJ zVmSxc!+|53c}6OgXbca#DUFHhW6P?V(nfJz*jmXc<>)4v^e4;VkTJ70Rhc=dMn-Y@ z)Y`_%1xsg@El%?a%Q`7R#BpU2BR-Ab0%zurm_5Vtrddp?G;>ST?4JgPBV}BboHjXX zM8(2ZvY?!I2h=r(heJ3|BtIA>}X8cSUik| z29!Lr67|)UHFCt&*2r}NvQ4Z{BxcN-Hgj&GzP_f`ignF8V~s0KN=_k@`m`m9`UO?B zr$_H^QY+^q6$WoY&E;?mYu;eXi1w1vAHyk&-2u(Nt3-t*Iy=JI)Olo(OC= z2^3CYaun6p&6cx7s$}7nRYhWc)55uxH4CKiO}cFU{QATaJG6`>MNZo;t1qirn9u{< zFcDH!WsTI*?3U>=kgKa|Tqvb^EvPpa2bB%wO9qrR%DH#G9J~$THRU((vY&Y1Q5fAy zg|1`5*UT4sq!jM#EU(B&lHkM|MQTUv#30ub&e^eDskU z|9sJ+;%~GKy;=72;>KStJEP(k%{B4$b6SXx*lzq=M2m`lf(EkX5G-6&*6kZ45fy(& znTda!&5!sk{`0akD*lb-#z3DtBK}_T-;Mu)Xi@P;!BiIg z{Hoc?9Dje69Z~UbTWI1hviI$X-%9?w@!Lu8sQ9hy0e!3nwrjWkdrRi1_#JCa{34qH z@rxqj5Awv<&m*+iNql_nIx2oI`=PgHn;-Gv<<@_;C;k#!|5tVrf4V3B1{+^L2Zs3V zBH}lA;?J=ChCIBu?O)@GU(#gSUq5e;`0eGtTmQA5_zP@&^cgR1{0lwtAF%P~+02OF zQU1H}f9#3B#Ky-l%ZnTTdQbe~C8qxKY-YsYSN^;4ANRyxwu|u}^2A>j5r6-P_**^k zFWANSZ+qfziHLt-MEq9Lpkk46{=Uq{$C%;8ZT|uhqK>~YrXnfyNjy-Yc@XGj2Acl7*G6d_5-H*6u+Aox$*HC z`l$Gy+4uuExTM|qr+DJ;SZdn;0h=H7?;-!)`1o9URQx^`v|mGPT{7dJmOVzy752v#Mj?C{P|AeHUn2kA_(yo+KWyXgZ2pmPCBaWp4aSJn{8!TX%N;TjPmeVn49X@rOmkzta<6|Mn8+EMDCDOVsMyY+v;6MrxJH}@pc>Ir)Z8!c$p7`O#y70Hc zgcdjcHc$L{=bQMrKE#6hA143Z_#LJ3qK>~??ZA5qnQ3w3x0U=+?SGs7!vwDXDDiRQ zPx8b+qooPjg<>P=#xM26zwrW7fA0S=lHZM=@Wfwl<73X`#f?AD6MvcgqYgg*mWq)Z zf4L|A<2L>kw*RyYZv1a~;;+8Q)PIf*i2ffR5&wEm{8RQe5s`-%H~tSi@wZ%N;`8Gs1^ z#r8T7$B&KR#>e#$V)#f0(^-#{D5LZvD$W@u%NpI$l3Vj`;Y>dN=+uPyE;SF;Ta2 za7nxI&-BEfe7lMNGL6645%I6|#DB(KIK8}+`hUk0zxXZ_xRW{CKa_fJ)C;s*J z0GTIwcya50izoi%`%L`XZ21u%U%BAM$KTxmv5#w#p>jK!B(6DlapOPciNE816Mvh{ zjQA(Ye>eW?p7^6|{JS~0q}}+hdg8xhKh((M|Ky1HpLybMxAD8}B>pF!_#+<9tpD7I z_?@KTquReC9=6Exu~{Ww-TLD*XHoNCuSZOLetumhE^hk|^~7(5Hzs7c->j0aZv26s z_|HCW;%~4S(EsJ~-;F=Z6aOh2-!_9cK0ZSiRsXtQoA~o=PQ*{he>eV8PyDxRd_7ND zn~d>?&*VkLf7ZrtruYjZ;&1fC|H8)K+4bx9J@F?$W$Mq*k1HeMKjMl1q`h&;vh#

p38?(x^%6aU$lOkjR~g1>EW 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 E4`$VKfB*mh literal 0 HcmV?d00001 diff --git a/freertos/cvitek/scripts/ParseConfiguration.cmake b/freertos/cvitek/scripts/ParseConfiguration.cmake new file mode 100644 index 000000000..c6b0426e1 --- /dev/null +++ b/freertos/cvitek/scripts/ParseConfiguration.cmake @@ -0,0 +1,29 @@ + +function(ParseConfiguration DotConfigFile) + if (NOT EXISTS ${DotConfigFile}) + message(FATAL_ERROR + "${DotConfigFile} not exist, + please source build/envsetup_soc.sh and defconfig relative board_defconfig") + endif() + file(READ "${DotConfigFile}" DotConfig) + string(REPLACE "\\\n" "" DotConfig ${DotConfig}) + string(REPLACE "\n" ";" DotConfLines ${DotConfig}) + list(REMOVE_ITEM DotConfLines "") + foreach(configline ${DotConfLines}) + string(REPLACE "=" ";" line_split ${configline}) + list(LENGTH line_split count) + if (count LESS 2) + continue() + endif() + list(GET line_split -1 value) + string(STRIP ${value} value) + separate_arguments(value) + list(REMOVE_AT line_split -1) + foreach(conf_name ${line_split}) + set(${conf_name} ${value} PARENT_SCOPE) + message("${conf_name}=${value}") +# add_definitions(-D${conf_name}=${value} ) + endforeach() + endforeach() +endfunction() + diff --git a/freertos/cvitek/scripts/checkpatch.pl b/freertos/cvitek/scripts/checkpatch.pl new file mode 100755 index 000000000..a8368d1c4 --- /dev/null +++ b/freertos/cvitek/scripts/checkpatch.pl @@ -0,0 +1,6285 @@ +#!/usr/bin/perl -w +# (c) 2001, Dave Jones. (the file handling bit) +# (c) 2005, Joel Schopp (the ugly bit) +# (c) 2007,2008, Andy Whitcroft (new conditions, test suite) +# (c) 2008-2010 Andy Whitcroft +# Licensed under the terms of the GNU GPL License version 2 + +use strict; +use POSIX; +use File::Basename; +use Cwd 'abs_path'; +use Term::ANSIColor qw(:constants); + +my $P = $0; +my $D = dirname(abs_path($P)); + +my $V = '0.32'; + +use Getopt::Long qw(:config no_auto_abbrev); + +my $quiet = 0; +my $tree = 1; +my $chk_signoff = 1; +my $chk_patch = 1; +my $tst_only; +my $emacs = 0; +my $terse = 0; +my $showfile = 0; +my $file = 0; +my $git = 0; +my %git_commits = (); +my $check = 0; +my $check_orig = 0; +my $summary = 1; +my $mailback = 0; +my $summary_file = 0; +my $show_types = 0; +my $list_types = 0; +my $fix = 0; +my $fix_inplace = 0; +my $root; +my %debug; +my %camelcase = (); +my %use_type = (); +my @use = (); +my %ignore_type = (); +my @ignore = (); +my $help = 0; +my $configuration_file = ".checkpatch.conf"; +my $max_line_length = 80; +my $ignore_perl_version = 0; +my $minimum_perl_version = 5.10.0; +my $min_conf_desc_length = 4; +my $spelling_file = "$D/spelling.txt"; +my $codespell = 0; +my $codespellfile = "/usr/share/codespell/dictionary.txt"; +my $conststructsfile = "$D/const_structs.checkpatch"; +my $color = 1; +my $allow_c99_comments = 1; + +sub help { + my ($exitcode) = @_; + + print << "EOM"; +Usage: $P [OPTION]... [FILE]... +Version: $V + +Options: + -q, --quiet quiet + --no-tree run without a kernel tree + --no-signoff do not check for 'Signed-off-by' line + --patch treat FILE as patchfile (default) + --emacs emacs compile window format + --terse one line per report + --showfile emit diffed file position, not input file position + -g, --git treat FILE as a single commit or git revision range + single git commit with: + + ^ + ~n + multiple git commits with: + .. + ... + - + git merges are ignored + -f, --file treat FILE as regular source file + --subjective, --strict enable more subjective tests + --list-types list the possible message types + --types TYPE(,TYPE2...) show only these comma separated message types + --ignore TYPE(,TYPE2...) ignore various comma separated message types + --show-types show the specific message type in the output + --max-line-length=n set the maximum line length, if exceeded, warn + --min-conf-desc-length=n set the min description length, if shorter, warn + --root=PATH PATH to the kernel tree root + --no-summary suppress the per-file summary + --mailback only produce a report in case of warnings/errors + --summary-file include the filename in summary + --debug KEY=[0|1] turn on/off debugging of KEY, where KEY is one of + 'values', 'possible', 'type', and 'attr' (default + is all off) + --test-only=WORD report only warnings/errors containing WORD + literally + --fix EXPERIMENTAL - may create horrible results + If correctable single-line errors exist, create + ".EXPERIMENTAL-checkpatch-fixes" + with potential errors corrected to the preferred + checkpatch style + --fix-inplace EXPERIMENTAL - may create horrible results + Is the same as --fix, but overwrites the input + file. It's your fault if there's no backup or git + --ignore-perl-version override checking of perl version. expect + runtime errors. + --codespell Use the codespell dictionary for spelling/typos + (default:/usr/share/codespell/dictionary.txt) + --codespellfile Use this codespell dictionary + --color Use colors when output is STDOUT (default: on) + -h, --help, --version display this help and exit + +When FILE is - read standard input. +EOM + + exit($exitcode); +} + +sub uniq { + my %seen; + return grep { !$seen{$_}++ } @_; +} + +sub list_types { + my ($exitcode) = @_; + + my $count = 0; + + local $/ = undef; + + open(my $script, '<', abs_path($P)) or + die "$P: Can't read '$P' $!\n"; + + my $text = <$script>; + close($script); + + my @types = (); + for ($text =~ /\b(?:(?:CHK|WARN|ERROR)\s*\(\s*"([^"]+)")/g) { + push (@types, $_); + } + @types = sort(uniq(@types)); + print("#\tMessage type\n\n"); + foreach my $type (@types) { + print(++$count . "\t" . $type . "\n"); + } + + exit($exitcode); +} + +my $conf = which_conf($configuration_file); +if (-f $conf) { + my @conf_args; + open(my $conffile, '<', "$conf") + or warn "$P: Can't find a readable $configuration_file file $!\n"; + + while (<$conffile>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + $line =~ s/\s+/ /g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + + my @words = split(" ", $line); + foreach my $word (@words) { + last if ($word =~ m/^#/); + push (@conf_args, $word); + } + } + close($conffile); + unshift(@ARGV, @conf_args) if @conf_args; +} + +GetOptions( + 'q|quiet+' => \$quiet, + 'tree!' => \$tree, + 'signoff!' => \$chk_signoff, + 'patch!' => \$chk_patch, + 'emacs!' => \$emacs, + 'terse!' => \$terse, + 'showfile!' => \$showfile, + 'f|file!' => \$file, + 'g|git!' => \$git, + 'subjective!' => \$check, + 'strict!' => \$check, + 'ignore=s' => \@ignore, + 'types=s' => \@use, + 'show-types!' => \$show_types, + 'list-types!' => \$list_types, + 'max-line-length=i' => \$max_line_length, + 'min-conf-desc-length=i' => \$min_conf_desc_length, + 'root=s' => \$root, + 'summary!' => \$summary, + 'mailback!' => \$mailback, + 'summary-file!' => \$summary_file, + 'fix!' => \$fix, + 'fix-inplace!' => \$fix_inplace, + 'ignore-perl-version!' => \$ignore_perl_version, + 'debug=s' => \%debug, + 'test-only=s' => \$tst_only, + 'codespell!' => \$codespell, + 'codespellfile=s' => \$codespellfile, + 'color!' => \$color, + 'h|help' => \$help, + 'version' => \$help +) or help(1); + +help(0) if ($help); + +list_types(0) if ($list_types); + +$fix = 1 if ($fix_inplace); +$check_orig = $check; + +my $exit = 0; + +if ($^V && $^V lt $minimum_perl_version) { + printf "$P: requires at least perl version %vd\n", $minimum_perl_version; + if (!$ignore_perl_version) { + exit(1); + } +} + +#if no filenames are given, push '-' to read patch from stdin +if ($#ARGV < 0) { + push(@ARGV, '-'); +} + +sub hash_save_array_words { + my ($hashRef, $arrayRef) = @_; + + my @array = split(/,/, join(',', @$arrayRef)); + foreach my $word (@array) { + $word =~ s/\s*\n?$//g; + $word =~ s/^\s*//g; + $word =~ s/\s+/ /g; + $word =~ tr/[a-z]/[A-Z]/; + + next if ($word =~ m/^\s*#/); + next if ($word =~ m/^\s*$/); + + $hashRef->{$word}++; + } +} + +sub hash_show_words { + my ($hashRef, $prefix) = @_; + + if (keys %$hashRef) { + print "\nNOTE: $prefix message types:"; + foreach my $word (sort keys %$hashRef) { + print " $word"; + } + print "\n"; + } +} + +hash_save_array_words(\%ignore_type, \@ignore); +hash_save_array_words(\%use_type, \@use); + +my $dbg_values = 0; +my $dbg_possible = 0; +my $dbg_type = 0; +my $dbg_attr = 0; +for my $key (keys %debug) { + ## no critic + eval "\${dbg_$key} = '$debug{$key}';"; + die "$@" if ($@); +} + +my $rpt_cleaners = 0; + +if ($terse) { + $emacs = 1; + $quiet++; +} + +if ($tree) { + if (defined $root) { + if (!top_of_kernel_tree($root)) { + die "$P: $root: --root does not point at a valid tree\n"; + } + } else { + if (top_of_kernel_tree('.')) { + $root = '.'; + } elsif ($0 =~ m@(.*)/scripts/[^/]*$@ && + top_of_kernel_tree($1)) { + $root = $1; + } + } + + if (!defined $root) { + print "Must be run from the top-level dir. of a kernel tree\n"; + exit(2); + } +} + +my $emitted_corrupt = 0; + +our $Ident = qr{ + [A-Za-z_][A-Za-z\d_]* + (?:\s*\#\#\s*[A-Za-z_][A-Za-z\d_]*)* + }x; +our $Storage = qr{extern|static|asmlinkage}; +our $Sparse = qr{ + __user| + __kernel| + __force| + __iomem| + __must_check| + __init_refok| + __kprobes| + __ref| + __rcu| + __private + }x; +our $InitAttributePrefix = qr{__(?:mem|cpu|dev|net_|)}; +our $InitAttributeData = qr{$InitAttributePrefix(?:initdata\b)}; +our $InitAttributeConst = qr{$InitAttributePrefix(?:initconst\b)}; +our $InitAttributeInit = qr{$InitAttributePrefix(?:init\b)}; +our $InitAttribute = qr{$InitAttributeData|$InitAttributeConst|$InitAttributeInit}; + +# Notes to $Attribute: +# We need \b after 'init' otherwise 'initconst' will cause a false positive in a check +our $Attribute = qr{ + const| + __percpu| + __nocast| + __safe| + __bitwise__| + __packed__| + __packed2__| + __naked| + __maybe_unused| + __always_unused| + __noreturn| + __used| + __cold| + __pure| + __noclone| + __deprecated| + __read_mostly| + __kprobes| + $InitAttribute| + ____cacheline_aligned| + ____cacheline_aligned_in_smp| + ____cacheline_internodealigned_in_smp| + __weak + }x; +our $Modifier; +our $Inline = qr{inline|__always_inline|noinline|__inline|__inline__}; +our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]}; +our $Lval = qr{$Ident(?:$Member)*}; + +our $Int_type = qr{(?i)llu|ull|ll|lu|ul|l|u}; +our $Binary = qr{(?i)0b[01]+$Int_type?}; +our $Hex = qr{(?i)0x[0-9a-f]+$Int_type?}; +our $Int = qr{[0-9]+$Int_type?}; +our $Octal = qr{0[0-7]+$Int_type?}; +our $String = qr{"[X\t]*"}; +our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?}; +our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?}; +our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?}; +our $Float = qr{$Float_hex|$Float_dec|$Float_int}; +our $Constant = qr{$Float|$Binary|$Octal|$Hex|$Int}; +our $Assignment = qr{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=}; +our $Compare = qr{<=|>=|==|!=|<|(?}; +our $Arithmetic = qr{\+|-|\*|\/|%}; +our $Operators = qr{ + <=|>=|==|!=| + =>|->|<<|>>|<|>|!|~| + &&|\|\||,|\^|\+\+|--|&|\||$Arithmetic + }x; + +our $c90_Keywords = qr{do|for|while|if|else|return|goto|continue|switch|default|case|break}x; + +our $BasicType; +our $NonptrType; +our $NonptrTypeMisordered; +our $NonptrTypeWithAttr; +our $Type; +our $TypeMisordered; +our $Declare; +our $DeclareMisordered; + +our $NON_ASCII_UTF8 = qr{ + [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte + | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs + | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte + | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates + | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3 + | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 + | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 +}x; + +our $UTF8 = qr{ + [\x09\x0A\x0D\x20-\x7E] # ASCII + | $NON_ASCII_UTF8 +}x; + +our $typeC99Typedefs = qr{(?:__)?(?:[us]_?)?int_?(?:8|16|32|64)_t}; +our $typeOtherOSTypedefs = qr{(?x: + u_(?:char|short|int|long) | # bsd + u(?:nchar|short|int|long) # sysv +)}; +our $typeKernelTypedefs = qr{(?x: + (?:__)?(?:u|s|be|le)(?:8|16|32|64)| + atomic_t +)}; +our $typeTypedefs = qr{(?x: + $typeC99Typedefs\b| + $typeOtherOSTypedefs\b| + $typeKernelTypedefs\b +)}; + +our $zero_initializer = qr{(?:(?:0[xX])?0+$Int_type?|NULL|false)\b}; + +our $logFunctions = qr{(?x: + printk(?:_ratelimited|_once|)| + (?:[a-z0-9]+_){1,2}(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)| + WARN(?:_RATELIMIT|_ONCE|)| + panic| + MODULE_[A-Z_]+| + seq_vprintf|seq_printf|seq_puts +)}; + +our $signature_tags = qr{(?xi: + Signed-off-by:| + Acked-by:| + Tested-by:| + Reviewed-by:| + Reported-by:| + Suggested-by:| + To:| + Cc: +)}; + +our @typeListMisordered = ( + qr{char\s+(?:un)?signed}, + qr{int\s+(?:(?:un)?signed\s+)?short\s}, + qr{int\s+short(?:\s+(?:un)?signed)}, + qr{short\s+int(?:\s+(?:un)?signed)}, + qr{(?:un)?signed\s+int\s+short}, + qr{short\s+(?:un)?signed}, + qr{long\s+int\s+(?:un)?signed}, + qr{int\s+long\s+(?:un)?signed}, + qr{long\s+(?:un)?signed\s+int}, + qr{int\s+(?:un)?signed\s+long}, + qr{int\s+(?:un)?signed}, + qr{int\s+long\s+long\s+(?:un)?signed}, + qr{long\s+long\s+int\s+(?:un)?signed}, + qr{long\s+long\s+(?:un)?signed\s+int}, + qr{long\s+long\s+(?:un)?signed}, + qr{long\s+(?:un)?signed}, +); + +our @typeList = ( + qr{void}, + qr{(?:(?:un)?signed\s+)?char}, + qr{(?:(?:un)?signed\s+)?short\s+int}, + qr{(?:(?:un)?signed\s+)?short}, + qr{(?:(?:un)?signed\s+)?int}, + qr{(?:(?:un)?signed\s+)?long\s+int}, + qr{(?:(?:un)?signed\s+)?long\s+long\s+int}, + qr{(?:(?:un)?signed\s+)?long\s+long}, + qr{(?:(?:un)?signed\s+)?long}, + qr{(?:un)?signed}, + qr{float}, + qr{double}, + qr{bool}, + qr{struct\s+$Ident}, + qr{union\s+$Ident}, + qr{enum\s+$Ident}, + qr{${Ident}_t}, + qr{${Ident}_handler}, + qr{${Ident}_handler_fn}, + @typeListMisordered, +); + +our $C90_int_types = qr{(?x: + long\s+long\s+int\s+(?:un)?signed| + long\s+long\s+(?:un)?signed\s+int| + long\s+long\s+(?:un)?signed| + (?:(?:un)?signed\s+)?long\s+long\s+int| + (?:(?:un)?signed\s+)?long\s+long| + int\s+long\s+long\s+(?:un)?signed| + int\s+(?:(?:un)?signed\s+)?long\s+long| + + long\s+int\s+(?:un)?signed| + long\s+(?:un)?signed\s+int| + long\s+(?:un)?signed| + (?:(?:un)?signed\s+)?long\s+int| + (?:(?:un)?signed\s+)?long| + int\s+long\s+(?:un)?signed| + int\s+(?:(?:un)?signed\s+)?long| + + int\s+(?:un)?signed| + (?:(?:un)?signed\s+)?int +)}; + +our @typeListFile = (); +our @typeListWithAttr = ( + @typeList, + qr{struct\s+$InitAttribute\s+$Ident}, + qr{union\s+$InitAttribute\s+$Ident}, +); + +our @modifierList = ( + qr{fastcall}, +); +our @modifierListFile = (); + +our @mode_permission_funcs = ( + ["module_param", 3], + ["module_param_(?:array|named|string)", 4], + ["module_param_array_named", 5], + ["debugfs_create_(?:file|u8|u16|u32|u64|x8|x16|x32|x64|size_t|atomic_t|bool|blob|regset32|u32_array)", 2], + ["proc_create(?:_data|)", 2], + ["(?:CLASS|DEVICE|SENSOR|SENSOR_DEVICE|IIO_DEVICE)_ATTR", 2], + ["IIO_DEV_ATTR_[A-Z_]+", 1], + ["SENSOR_(?:DEVICE_|)ATTR_2", 2], + ["SENSOR_TEMPLATE(?:_2|)", 3], + ["__ATTR", 2], +); + +#Create a search pattern for all these functions to speed up a loop below +our $mode_perms_search = ""; +foreach my $entry (@mode_permission_funcs) { + $mode_perms_search .= '|' if ($mode_perms_search ne ""); + $mode_perms_search .= $entry->[0]; +} + +our $mode_perms_world_writable = qr{ + S_IWUGO | + S_IWOTH | + S_IRWXUGO | + S_IALLUGO | + 0[0-7][0-7][2367] +}x; + +our %mode_permission_string_types = ( + "S_IRWXU" => 0700, + "S_IRUSR" => 0400, + "S_IWUSR" => 0200, + "S_IXUSR" => 0100, + "S_IRWXG" => 0070, + "S_IRGRP" => 0040, + "S_IWGRP" => 0020, + "S_IXGRP" => 0010, + "S_IRWXO" => 0007, + "S_IROTH" => 0004, + "S_IWOTH" => 0002, + "S_IXOTH" => 0001, + "S_IRWXUGO" => 0777, + "S_IRUGO" => 0444, + "S_IWUGO" => 0222, + "S_IXUGO" => 0111, +); + +#Create a search pattern for all these strings to speed up a loop below +our $mode_perms_string_search = ""; +foreach my $entry (keys %mode_permission_string_types) { + $mode_perms_string_search .= '|' if ($mode_perms_string_search ne ""); + $mode_perms_string_search .= $entry; +} + +our $allowed_asm_includes = qr{(?x: + irq| + memory| + time| + reboot +)}; +# memory.h: ARM has a custom one + +# Load common spelling mistakes and build regular expression list. +my $misspellings; +my %spelling_fix; + +if (open(my $spelling, '<', $spelling_file)) { + while (<$spelling>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + + my ($suspect, $fix) = split(/\|\|/, $line); + + $spelling_fix{$suspect} = $fix; + } + close($spelling); +} else { + warn "No typos will be found - file '$spelling_file': $!\n"; +} + +if ($codespell) { + if (open(my $spelling, '<', $codespellfile)) { + while (<$spelling>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + next if ($line =~ m/, disabled/i); + + $line =~ s/,.*$//; + + my ($suspect, $fix) = split(/->/, $line); + + $spelling_fix{$suspect} = $fix; + } + close($spelling); + } else { + warn "No codespell typos will be found - file '$codespellfile': $!\n"; + } +} + +$misspellings = join("|", sort keys %spelling_fix) if keys %spelling_fix; + +my $const_structs = ""; +if (open(my $conststructs, '<', $conststructsfile)) { + while (<$conststructs>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + if ($line =~ /\s/) { + print("$conststructsfile: '$line' invalid - ignored\n"); + next; + } + + $const_structs .= '|' if ($const_structs ne ""); + $const_structs .= $line; + } + close($conststructsfile); +} else { + warn "No structs that should be const will be found - file '$conststructsfile': $!\n"; +} + +sub build_types { + my $mods = "(?x: \n" . join("|\n ", (@modifierList, @modifierListFile)) . "\n)"; + my $all = "(?x: \n" . join("|\n ", (@typeList, @typeListFile)) . "\n)"; + my $Misordered = "(?x: \n" . join("|\n ", @typeListMisordered) . "\n)"; + my $allWithAttr = "(?x: \n" . join("|\n ", @typeListWithAttr) . "\n)"; + $Modifier = qr{(?:$Attribute|$Sparse|$mods)}; + $BasicType = qr{ + (?:$typeTypedefs\b)| + (?:${all}\b) + }x; + $NonptrType = qr{ + (?:$Modifier\s+|const\s+)* + (?: + (?:typeof|__typeof__)\s*\([^\)]*\)| + (?:$typeTypedefs\b)| + (?:${all}\b) + ) + (?:\s+$Modifier|\s+const)* + }x; + $NonptrTypeMisordered = qr{ + (?:$Modifier\s+|const\s+)* + (?: + (?:${Misordered}\b) + ) + (?:\s+$Modifier|\s+const)* + }x; + $NonptrTypeWithAttr = qr{ + (?:$Modifier\s+|const\s+)* + (?: + (?:typeof|__typeof__)\s*\([^\)]*\)| + (?:$typeTypedefs\b)| + (?:${allWithAttr}\b) + ) + (?:\s+$Modifier|\s+const)* + }x; + $Type = qr{ + $NonptrType + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? + (?:\s+$Inline|\s+$Modifier)* + }x; + $TypeMisordered = qr{ + $NonptrTypeMisordered + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? + (?:\s+$Inline|\s+$Modifier)* + }x; + $Declare = qr{(?:$Storage\s+(?:$Inline\s+)?)?$Type}; + $DeclareMisordered = qr{(?:$Storage\s+(?:$Inline\s+)?)?$TypeMisordered}; +} +build_types(); + +our $Typecast = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*}; + +# Using $balanced_parens, $LvalOrFunc, or $FuncArg +# requires at least perl version v5.10.0 +# Any use must be runtime checked with $^V + +our $balanced_parens = qr/(\((?:[^\(\)]++|(?-1))*\))/; +our $LvalOrFunc = qr{((?:[\&\*]\s*)?$Lval)\s*($balanced_parens{0,1})\s*}; +our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)}; + +our $declaration_macros = qr{(?x: + (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(| + (?:$Storage\s+)?LIST_HEAD\s*\(| + (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\( +)}; + +sub deparenthesize { + my ($string) = @_; + return "" if (!defined($string)); + + while ($string =~ /^\s*\(.*\)\s*$/) { + $string =~ s@^\s*\(\s*@@; + $string =~ s@\s*\)\s*$@@; + } + + $string =~ s@\s+@ @g; + + return $string; +} + +sub seed_camelcase_file { + my ($file) = @_; + + return if (!(-f $file)); + + local $/; + + open(my $include_file, '<', "$file") + or warn "$P: Can't read '$file' $!\n"; + my $text = <$include_file>; + close($include_file); + + my @lines = split('\n', $text); + + foreach my $line (@lines) { + next if ($line !~ /(?:[A-Z][a-z]|[a-z][A-Z])/); + if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[\(\[,;]/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*(?:union|struct|enum)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[;\{]/) { + $camelcase{$1} = 1; + } + } +} + +sub is_maintained_obsolete { + my ($filename) = @_; + + return 0 if (!(-e "$root/scripts/get_maintainer.pl")); + + my $status = `perl $root/scripts/get_maintainer.pl --status --nom --nol --nogit --nogit-fallback -f $filename 2>&1`; + + return $status =~ /obsolete/i; +} + +my $camelcase_seeded = 0; +sub seed_camelcase_includes { + return if ($camelcase_seeded); + + my $files; + my $camelcase_cache = ""; + my @include_files = (); + + $camelcase_seeded = 1; + + if (-e ".git") { + my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`; + chomp $git_last_include_commit; + $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit"; + } else { + my $last_mod_date = 0; + $files = `find $root/include -name "*.h"`; + @include_files = split('\n', $files); + foreach my $file (@include_files) { + my $date = POSIX::strftime("%Y%m%d%H%M", + localtime((stat $file)[9])); + $last_mod_date = $date if ($last_mod_date < $date); + } + $camelcase_cache = ".checkpatch-camelcase.date.$last_mod_date"; + } + + if ($camelcase_cache ne "" && -f $camelcase_cache) { + open(my $camelcase_file, '<', "$camelcase_cache") + or warn "$P: Can't read '$camelcase_cache' $!\n"; + while (<$camelcase_file>) { + chomp; + $camelcase{$_} = 1; + } + close($camelcase_file); + + return; + } + + if (-e ".git") { + $files = `git ls-files "include/*.h"`; + @include_files = split('\n', $files); + } + + foreach my $file (@include_files) { + seed_camelcase_file($file); + } + + if ($camelcase_cache ne "") { + unlink glob ".checkpatch-camelcase.*"; + open(my $camelcase_file, '>', "$camelcase_cache") + or warn "$P: Can't write '$camelcase_cache' $!\n"; + foreach (sort { lc($a) cmp lc($b) } keys(%camelcase)) { + print $camelcase_file ("$_\n"); + } + close($camelcase_file); + } +} + +sub git_commit_info { + my ($commit, $id, $desc) = @_; + + return ($id, $desc) if ((which("git") eq "") || !(-e ".git")); + + my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`; + $output =~ s/^\s*//gm; + my @lines = split("\n", $output); + + return ($id, $desc) if ($#lines < 0); + + if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous\./) { +# Maybe one day convert this block of bash into something that returns +# all matching commit ids, but it's very slow... +# +# echo "checking commits $1..." +# git rev-list --remotes | grep -i "^$1" | +# while read line ; do +# git log --format='%H %s' -1 $line | +# echo "commit $(cut -c 1-12,41-)" +# done + } elsif ($lines[0] =~ /^fatal: ambiguous argument '$commit': unknown revision or path not in the working tree\./) { + } else { + $id = substr($lines[0], 0, 12); + $desc = substr($lines[0], 41); + } + + return ($id, $desc); +} + +$chk_signoff = 0 if ($file); + +my @rawlines = (); +my @lines = (); +my @fixed = (); +my @fixed_inserted = (); +my @fixed_deleted = (); +my $fixlinenr = -1; + +# If input is git commits, extract all commits from the commit expressions. +# For example, HEAD-3 means we need check 'HEAD, HEAD~1, HEAD~2'. +die "$P: No git repository found\n" if ($git && !-e ".git"); + +if ($git) { + my @commits = (); + foreach my $commit_expr (@ARGV) { + my $git_range; + if ($commit_expr =~ m/^(.*)-(\d+)$/) { + $git_range = "-$2 $1"; + } elsif ($commit_expr =~ m/\.\./) { + $git_range = "$commit_expr"; + } else { + $git_range = "-1 $commit_expr"; + } + my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`; + foreach my $line (split(/\n/, $lines)) { + $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/; + next if (!defined($1) || !defined($2)); + my $sha1 = $1; + my $subject = $2; + unshift(@commits, $sha1); + $git_commits{$sha1} = $subject; + } + } + die "$P: no git commits after extraction!\n" if (@commits == 0); + @ARGV = @commits; +} + +my $vname; +for my $filename (@ARGV) { + my $FILE; + if ($git) { + open($FILE, '-|', "git format-patch -M --stdout -1 $filename") || + die "$P: $filename: git format-patch failed - $!\n"; + } elsif ($file) { + open($FILE, '-|', "diff -u /dev/null $filename") || + die "$P: $filename: diff failed - $!\n"; + } elsif ($filename eq '-') { + open($FILE, '<&STDIN'); + } else { + open($FILE, '<', "$filename") || + die "$P: $filename: open failed - $!\n"; + } + if ($filename eq '-') { + $vname = 'Your patch'; + } elsif ($git) { + $vname = "Commit " . substr($filename, 0, 12) . ' ("' . $git_commits{$filename} . '")'; + } else { + $vname = $filename; + } + while (<$FILE>) { + chomp; + push(@rawlines, $_); + } + close($FILE); + + if ($#ARGV > 0 && $quiet == 0) { + print '-' x length($vname) . "\n"; + print "$vname\n"; + print '-' x length($vname) . "\n"; + } + + if (!process($filename)) { + $exit = 1; + } + @rawlines = (); + @lines = (); + @fixed = (); + @fixed_inserted = (); + @fixed_deleted = (); + $fixlinenr = -1; + @modifierListFile = (); + @typeListFile = (); + build_types(); +} + +if (!$quiet) { + hash_show_words(\%use_type, "Used"); + hash_show_words(\%ignore_type, "Ignored"); + + if ($^V lt 5.10.0) { + print << "EOM" + +NOTE: perl $^V is not modern enough to detect all possible issues. + An upgrade to at least perl v5.10.0 is suggested. +EOM + } + if ($exit) { + print << "EOM" + +NOTE: If any of the errors are false positives, please report + them to the maintainer, see CHECKPATCH in MAINTAINERS. +EOM + } +} + +exit($exit); + +sub top_of_kernel_tree { + my ($root) = @_; + + my @tree_check = ( + "COPYING", "CREDITS", "Kbuild", "MAINTAINERS", "Makefile", + "README", "Documentation", "arch", "include", "drivers", + "fs", "init", "ipc", "kernel", "lib", "scripts", + ); + + foreach my $check (@tree_check) { + if (! -e $root . '/' . $check) { + return 0; + } + } + return 1; +} + +sub parse_email { + my ($formatted_email) = @_; + + my $name = ""; + my $address = ""; + my $comment = ""; + + if ($formatted_email =~ /^(.*)<(\S+\@\S+)>(.*)$/) { + $name = $1; + $address = $2; + $comment = $3 if defined $3; + } elsif ($formatted_email =~ /^\s*<(\S+\@\S+)>(.*)$/) { + $address = $1; + $comment = $2 if defined $2; + } elsif ($formatted_email =~ /(\S+\@\S+)(.*)$/) { + $address = $1; + $comment = $2 if defined $2; + $formatted_email =~ s/$address.*$//; + $name = $formatted_email; + $name = trim($name); + $name =~ s/^\"|\"$//g; + # If there's a name left after stripping spaces and + # leading quotes, and the address doesn't have both + # leading and trailing angle brackets, the address + # is invalid. ie: + # "joe smith joe@smith.com" bad + # "joe smith ]+>$/) { + $name = ""; + $address = ""; + $comment = ""; + } + } + + $name = trim($name); + $name =~ s/^\"|\"$//g; + $address = trim($address); + $address =~ s/^\<|\>$//g; + + if ($name =~ /[^\w \-]/i) { ##has "must quote" chars + $name =~ s/(?"; + } + + return $formatted_email; +} + +sub which { + my ($bin) = @_; + + foreach my $path (split(/:/, $ENV{PATH})) { + if (-e "$path/$bin") { + return "$path/$bin"; + } + } + + return ""; +} + +sub which_conf { + my ($conf) = @_; + + foreach my $path (split(/:/, ".:$ENV{HOME}:.scripts")) { + if (-e "$path/$conf") { + return "$path/$conf"; + } + } + + return ""; +} + +sub expand_tabs { + my ($str) = @_; + + my $res = ''; + my $n = 0; + for my $c (split(//, $str)) { + if ($c eq "\t") { + $res .= ' '; + $n++; + for (; ($n % 8) != 0; $n++) { + $res .= ' '; + } + next; + } + $res .= $c; + $n++; + } + + return $res; +} +sub copy_spacing { + (my $res = shift) =~ tr/\t/ /c; + return $res; +} + +sub line_stats { + my ($line) = @_; + + # Drop the diff line leader and expand tabs + $line =~ s/^.//; + $line = expand_tabs($line); + + # Pick the indent from the front of the line. + my ($white) = ($line =~ /^(\s*)/); + + return (length($line), length($white)); +} + +my $sanitise_quote = ''; + +sub sanitise_line_reset { + my ($in_comment) = @_; + + if ($in_comment) { + $sanitise_quote = '*/'; + } else { + $sanitise_quote = ''; + } +} +sub sanitise_line { + my ($line) = @_; + + my $res = ''; + my $l = ''; + + my $qlen = 0; + my $off = 0; + my $c; + + # Always copy over the diff marker. + $res = substr($line, 0, 1); + + for ($off = 1; $off < length($line); $off++) { + $c = substr($line, $off, 1); + + # Comments we are wacking completly including the begin + # and end, all to $;. + if ($sanitise_quote eq '' && substr($line, $off, 2) eq '/*') { + $sanitise_quote = '*/'; + + substr($res, $off, 2, "$;$;"); + $off++; + next; + } + if ($sanitise_quote eq '*/' && substr($line, $off, 2) eq '*/') { + $sanitise_quote = ''; + substr($res, $off, 2, "$;$;"); + $off++; + next; + } + if ($sanitise_quote eq '' && substr($line, $off, 2) eq '//') { + $sanitise_quote = '//'; + + substr($res, $off, 2, $sanitise_quote); + $off++; + next; + } + + # A \ in a string means ignore the next character. + if (($sanitise_quote eq "'" || $sanitise_quote eq '"') && + $c eq "\\") { + substr($res, $off, 2, 'XX'); + $off++; + next; + } + # Regular quotes. + if ($c eq "'" || $c eq '"') { + if ($sanitise_quote eq '') { + $sanitise_quote = $c; + + substr($res, $off, 1, $c); + next; + } elsif ($sanitise_quote eq $c) { + $sanitise_quote = ''; + } + } + + #print "c<$c> SQ<$sanitise_quote>\n"; + if ($off != 0 && $sanitise_quote eq '*/' && $c ne "\t") { + substr($res, $off, 1, $;); + } elsif ($off != 0 && $sanitise_quote eq '//' && $c ne "\t") { + substr($res, $off, 1, $;); + } elsif ($off != 0 && $sanitise_quote && $c ne "\t") { + substr($res, $off, 1, 'X'); + } else { + substr($res, $off, 1, $c); + } + } + + if ($sanitise_quote eq '//') { + $sanitise_quote = ''; + } + + # The pathname on a #include may be surrounded by '<' and '>'. + if ($res =~ /^.\s*\#\s*include\s+\<(.*)\>/) { + my $clean = 'X' x length($1); + $res =~ s@\<.*\>@<$clean>@; + + # The whole of a #error is a string. + } elsif ($res =~ /^.\s*\#\s*(?:error|warning)\s+(.*)\b/) { + my $clean = 'X' x length($1); + $res =~ s@(\#\s*(?:error|warning)\s+).*@$1$clean@; + } + + if ($allow_c99_comments && $res =~ m@(//.*$)@) { + my $match = $1; + $res =~ s/\Q$match\E/"$;" x length($match)/e; + } + + return $res; +} + +sub get_quoted_string { + my ($line, $rawline) = @_; + + return "" if ($line !~ m/($String)/g); + return substr($rawline, $-[0], $+[0] - $-[0]); +} + +sub ctx_statement_block { + my ($linenr, $remain, $off) = @_; + my $line = $linenr - 1; + my $blk = ''; + my $soff = $off; + my $coff = $off - 1; + my $coff_set = 0; + + my $loff = 0; + + my $type = ''; + my $level = 0; + my @stack = (); + my $p; + my $c; + my $len = 0; + + my $remainder; + while (1) { + @stack = (['', 0]) if ($#stack == -1); + + #warn "CSB: blk<$blk> remain<$remain>\n"; + # If we are about to drop off the end, pull in more + # context. + if ($off >= $len) { + for (; $remain > 0; $line++) { + last if (!defined $lines[$line]); + next if ($lines[$line] =~ /^-/); + $remain--; + $loff = $len; + $blk .= $lines[$line] . "\n"; + $len = length($blk); + $line++; + last; + } + # Bail if there is no further context. + #warn "CSB: blk<$blk> off<$off> len<$len>\n"; + if ($off >= $len) { + last; + } + if ($level == 0 && substr($blk, $off) =~ /^.\s*#\s*define/) { + $level++; + $type = '#'; + } + } + $p = $c; + $c = substr($blk, $off, 1); + $remainder = substr($blk, $off); + + #warn "CSB: c<$c> type<$type> level<$level> remainder<$remainder> coff_set<$coff_set>\n"; + + # Handle nested #if/#else. + if ($remainder =~ /^#\s*(?:ifndef|ifdef|if)\s/) { + push(@stack, [ $type, $level ]); + } elsif ($remainder =~ /^#\s*(?:else|elif)\b/) { + ($type, $level) = @{$stack[$#stack - 1]}; + } elsif ($remainder =~ /^#\s*endif\b/) { + ($type, $level) = @{pop(@stack)}; + } + + # Statement ends at the ';' or a close '}' at the + # outermost level. + if ($level == 0 && $c eq ';') { + last; + } + + # An else is really a conditional as long as its not else if + if ($level == 0 && $coff_set == 0 && + (!defined($p) || $p =~ /(?:\s|\}|\+)/) && + $remainder =~ /^(else)(?:\s|{)/ && + $remainder !~ /^else\s+if\b/) { + $coff = $off + length($1) - 1; + $coff_set = 1; + #warn "CSB: mark coff<$coff> soff<$soff> 1<$1>\n"; + #warn "[" . substr($blk, $soff, $coff - $soff + 1) . "]\n"; + } + + if (($type eq '' || $type eq '(') && $c eq '(') { + $level++; + $type = '('; + } + if ($type eq '(' && $c eq ')') { + $level--; + $type = ($level != 0)? '(' : ''; + + if ($level == 0 && $coff < $soff) { + $coff = $off; + $coff_set = 1; + #warn "CSB: mark coff<$coff>\n"; + } + } + if (($type eq '' || $type eq '{') && $c eq '{') { + $level++; + $type = '{'; + } + if ($type eq '{' && $c eq '}') { + $level--; + $type = ($level != 0)? '{' : ''; + + if ($level == 0) { + if (substr($blk, $off + 1, 1) eq ';') { + $off++; + } + last; + } + } + # Preprocessor commands end at the newline unless escaped. + if ($type eq '#' && $c eq "\n" && $p ne "\\") { + $level--; + $type = ''; + $off++; + last; + } + $off++; + } + # We are truly at the end, so shuffle to the next line. + if ($off == $len) { + $loff = $len + 1; + $line++; + $remain--; + } + + my $statement = substr($blk, $soff, $off - $soff + 1); + my $condition = substr($blk, $soff, $coff - $soff + 1); + + #warn "STATEMENT<$statement>\n"; + #warn "CONDITION<$condition>\n"; + + #print "coff<$coff> soff<$off> loff<$loff>\n"; + + return ($statement, $condition, + $line, $remain + 1, $off - $loff + 1, $level); +} + +sub statement_lines { + my ($stmt) = @_; + + # Strip the diff line prefixes and rip blank lines at start and end. + $stmt =~ s/(^|\n)./$1/g; + $stmt =~ s/^\s*//; + $stmt =~ s/\s*$//; + + my @stmt_lines = ($stmt =~ /\n/g); + + return $#stmt_lines + 2; +} + +sub statement_rawlines { + my ($stmt) = @_; + + my @stmt_lines = ($stmt =~ /\n/g); + + return $#stmt_lines + 2; +} + +sub statement_block_size { + my ($stmt) = @_; + + $stmt =~ s/(^|\n)./$1/g; + $stmt =~ s/^\s*{//; + $stmt =~ s/}\s*$//; + $stmt =~ s/^\s*//; + $stmt =~ s/\s*$//; + + my @stmt_lines = ($stmt =~ /\n/g); + my @stmt_statements = ($stmt =~ /;/g); + + my $stmt_lines = $#stmt_lines + 2; + my $stmt_statements = $#stmt_statements + 1; + + if ($stmt_lines > $stmt_statements) { + return $stmt_lines; + } else { + return $stmt_statements; + } +} + +sub ctx_statement_full { + my ($linenr, $remain, $off) = @_; + my ($statement, $condition, $level); + + my (@chunks); + + # Grab the first conditional/block pair. + ($statement, $condition, $linenr, $remain, $off, $level) = + ctx_statement_block($linenr, $remain, $off); + #print "F: c<$condition> s<$statement> remain<$remain>\n"; + push(@chunks, [ $condition, $statement ]); + if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) { + return ($level, $linenr, @chunks); + } + + # Pull in the following conditional/block pairs and see if they + # could continue the statement. + for (;;) { + ($statement, $condition, $linenr, $remain, $off, $level) = + ctx_statement_block($linenr, $remain, $off); + #print "C: c<$condition> s<$statement> remain<$remain>\n"; + last if (!($remain > 0 && $condition =~ /^(?:\s*\n[+-])*\s*(?:else|do)\b/s)); + #print "C: push\n"; + push(@chunks, [ $condition, $statement ]); + } + + return ($level, $linenr, @chunks); +} + +sub ctx_block_get { + my ($linenr, $remain, $outer, $open, $close, $off) = @_; + my $line; + my $start = $linenr - 1; + my $blk = ''; + my @o; + my @c; + my @res = (); + + my $level = 0; + my @stack = ($level); + for ($line = $start; $remain > 0; $line++) { + next if ($rawlines[$line] =~ /^-/); + $remain--; + + $blk .= $rawlines[$line]; + + # Handle nested #if/#else. + if ($lines[$line] =~ /^.\s*#\s*(?:ifndef|ifdef|if)\s/) { + push(@stack, $level); + } elsif ($lines[$line] =~ /^.\s*#\s*(?:else|elif)\b/) { + $level = $stack[$#stack - 1]; + } elsif ($lines[$line] =~ /^.\s*#\s*endif\b/) { + $level = pop(@stack); + } + + foreach my $c (split(//, $lines[$line])) { + ##print "C<$c>L<$level><$open$close>O<$off>\n"; + if ($off > 0) { + $off--; + next; + } + + if ($c eq $close && $level > 0) { + $level--; + last if ($level == 0); + } elsif ($c eq $open) { + $level++; + } + } + + if (!$outer || $level <= 1) { + push(@res, $rawlines[$line]); + } + + last if ($level == 0); + } + + return ($level, @res); +} +sub ctx_block_outer { + my ($linenr, $remain) = @_; + + my ($level, @r) = ctx_block_get($linenr, $remain, 1, '{', '}', 0); + return @r; +} +sub ctx_block { + my ($linenr, $remain) = @_; + + my ($level, @r) = ctx_block_get($linenr, $remain, 0, '{', '}', 0); + return @r; +} +sub ctx_statement { + my ($linenr, $remain, $off) = @_; + + my ($level, @r) = ctx_block_get($linenr, $remain, 0, '(', ')', $off); + return @r; +} +sub ctx_block_level { + my ($linenr, $remain) = @_; + + return ctx_block_get($linenr, $remain, 0, '{', '}', 0); +} +sub ctx_statement_level { + my ($linenr, $remain, $off) = @_; + + return ctx_block_get($linenr, $remain, 0, '(', ')', $off); +} + +sub ctx_locate_comment { + my ($first_line, $end_line) = @_; + + # Catch a comment on the end of the line itself. + my ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@); + return $current_comment if (defined $current_comment); + + # Look through the context and try and figure out if there is a + # comment. + my $in_comment = 0; + $current_comment = ''; + for (my $linenr = $first_line; $linenr < $end_line; $linenr++) { + my $line = $rawlines[$linenr - 1]; + #warn " $line\n"; + if ($linenr == $first_line and $line =~ m@^.\s*\*@) { + $in_comment = 1; + } + if ($line =~ m@/\*@) { + $in_comment = 1; + } + if (!$in_comment && $current_comment ne '') { + $current_comment = ''; + } + $current_comment .= $line . "\n" if ($in_comment); + if ($line =~ m@\*/@) { + $in_comment = 0; + } + } + + chomp($current_comment); + return($current_comment); +} +sub ctx_has_comment { + my ($first_line, $end_line) = @_; + my $cmt = ctx_locate_comment($first_line, $end_line); + + ##print "LINE: $rawlines[$end_line - 1 ]\n"; + ##print "CMMT: $cmt\n"; + + return ($cmt ne ''); +} + +sub raw_line { + my ($linenr, $cnt) = @_; + + my $offset = $linenr - 1; + $cnt++; + + my $line; + while ($cnt) { + $line = $rawlines[$offset++]; + next if (defined($line) && $line =~ /^-/); + $cnt--; + } + + return $line; +} + +sub cat_vet { + my ($vet) = @_; + my ($res, $coded); + + $res = ''; + while ($vet =~ /([^[:cntrl:]]*)([[:cntrl:]]|$)/g) { + $res .= $1; + if ($2 ne '') { + $coded = sprintf("^%c", unpack('C', $2) + 64); + $res .= $coded; + } + } + $res =~ s/$/\$/; + + return $res; +} + +my $av_preprocessor = 0; +my $av_pending; +my @av_paren_type; +my $av_pend_colon; + +sub annotate_reset { + $av_preprocessor = 0; + $av_pending = '_'; + @av_paren_type = ('E'); + $av_pend_colon = 'O'; +} + +sub annotate_values { + my ($stream, $type) = @_; + + my $res; + my $var = '_' x length($stream); + my $cur = $stream; + + print "$stream\n" if ($dbg_values > 1); + + while (length($cur)) { + @av_paren_type = ('E') if ($#av_paren_type < 0); + print " <" . join('', @av_paren_type) . + "> <$type> <$av_pending>" if ($dbg_values > 1); + if ($cur =~ /^(\s+)/o) { + print "WS($1)\n" if ($dbg_values > 1); + if ($1 =~ /\n/ && $av_preprocessor) { + $type = pop(@av_paren_type); + $av_preprocessor = 0; + } + + } elsif ($cur =~ /^(\(\s*$Type\s*)\)/ && $av_pending eq '_') { + print "CAST($1)\n" if ($dbg_values > 1); + push(@av_paren_type, $type); + $type = 'c'; + + } elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) { + print "DECLARE($1)\n" if ($dbg_values > 1); + $type = 'T'; + + } elsif ($cur =~ /^($Modifier)\s*/) { + print "MODIFIER($1)\n" if ($dbg_values > 1); + $type = 'T'; + + } elsif ($cur =~ /^(\#\s*define\s*$Ident)(\(?)/o) { + print "DEFINE($1,$2)\n" if ($dbg_values > 1); + $av_preprocessor = 1; + push(@av_paren_type, $type); + if ($2 ne '') { + $av_pending = 'N'; + } + $type = 'E'; + + } elsif ($cur =~ /^(\#\s*(?:undef\s*$Ident|include\b))/o) { + print "UNDEF($1)\n" if ($dbg_values > 1); + $av_preprocessor = 1; + push(@av_paren_type, $type); + + } elsif ($cur =~ /^(\#\s*(?:ifdef|ifndef|if))/o) { + print "PRE_START($1)\n" if ($dbg_values > 1); + $av_preprocessor = 1; + + push(@av_paren_type, $type); + push(@av_paren_type, $type); + $type = 'E'; + + } elsif ($cur =~ /^(\#\s*(?:else|elif))/o) { + print "PRE_RESTART($1)\n" if ($dbg_values > 1); + $av_preprocessor = 1; + + push(@av_paren_type, $av_paren_type[$#av_paren_type]); + + $type = 'E'; + + } elsif ($cur =~ /^(\#\s*(?:endif))/o) { + print "PRE_END($1)\n" if ($dbg_values > 1); + + $av_preprocessor = 1; + + # Assume all arms of the conditional end as this + # one does, and continue as if the #endif was not here. + pop(@av_paren_type); + push(@av_paren_type, $type); + $type = 'E'; + + } elsif ($cur =~ /^(\\\n)/o) { + print "PRECONT($1)\n" if ($dbg_values > 1); + + } elsif ($cur =~ /^(__attribute__)\s*\(?/o) { + print "ATTR($1)\n" if ($dbg_values > 1); + $av_pending = $type; + $type = 'N'; + + } elsif ($cur =~ /^(sizeof)\s*(\()?/o) { + print "SIZEOF($1)\n" if ($dbg_values > 1); + if (defined $2) { + $av_pending = 'V'; + } + $type = 'N'; + + } elsif ($cur =~ /^(if|while|for)\b/o) { + print "COND($1)\n" if ($dbg_values > 1); + $av_pending = 'E'; + $type = 'N'; + + } elsif ($cur =~/^(case)/o) { + print "CASE($1)\n" if ($dbg_values > 1); + $av_pend_colon = 'C'; + $type = 'N'; + + } elsif ($cur =~/^(return|else|goto|typeof|__typeof__)\b/o) { + print "KEYWORD($1)\n" if ($dbg_values > 1); + $type = 'N'; + + } elsif ($cur =~ /^(\()/o) { + print "PAREN('$1')\n" if ($dbg_values > 1); + push(@av_paren_type, $av_pending); + $av_pending = '_'; + $type = 'N'; + + } elsif ($cur =~ /^(\))/o) { + my $new_type = pop(@av_paren_type); + if ($new_type ne '_') { + $type = $new_type; + print "PAREN('$1') -> $type\n" + if ($dbg_values > 1); + } else { + print "PAREN('$1')\n" if ($dbg_values > 1); + } + + } elsif ($cur =~ /^($Ident)\s*\(/o) { + print "FUNC($1)\n" if ($dbg_values > 1); + $type = 'V'; + $av_pending = 'V'; + + } elsif ($cur =~ /^($Ident\s*):(?:\s*\d+\s*(,|=|;))?/) { + if (defined $2 && $type eq 'C' || $type eq 'T') { + $av_pend_colon = 'B'; + } elsif ($type eq 'E') { + $av_pend_colon = 'L'; + } + print "IDENT_COLON($1,$type>$av_pend_colon)\n" if ($dbg_values > 1); + $type = 'V'; + + } elsif ($cur =~ /^($Ident|$Constant)/o) { + print "IDENT($1)\n" if ($dbg_values > 1); + $type = 'V'; + + } elsif ($cur =~ /^($Assignment)/o) { + print "ASSIGN($1)\n" if ($dbg_values > 1); + $type = 'N'; + + } elsif ($cur =~/^(;|{|})/) { + print "END($1)\n" if ($dbg_values > 1); + $type = 'E'; + $av_pend_colon = 'O'; + + } elsif ($cur =~/^(,)/) { + print "COMMA($1)\n" if ($dbg_values > 1); + $type = 'C'; + + } elsif ($cur =~ /^(\?)/o) { + print "QUESTION($1)\n" if ($dbg_values > 1); + $type = 'N'; + + } elsif ($cur =~ /^(:)/o) { + print "COLON($1,$av_pend_colon)\n" if ($dbg_values > 1); + + substr($var, length($res), 1, $av_pend_colon); + if ($av_pend_colon eq 'C' || $av_pend_colon eq 'L') { + $type = 'E'; + } else { + $type = 'N'; + } + $av_pend_colon = 'O'; + + } elsif ($cur =~ /^(\[)/o) { + print "CLOSE($1)\n" if ($dbg_values > 1); + $type = 'N'; + + } elsif ($cur =~ /^(-(?![->])|\+(?!\+)|\*|\&\&|\&)/o) { + my $variant; + + print "OPV($1)\n" if ($dbg_values > 1); + if ($type eq 'V') { + $variant = 'B'; + } else { + $variant = 'U'; + } + + substr($var, length($res), 1, $variant); + $type = 'N'; + + } elsif ($cur =~ /^($Operators)/o) { + print "OP($1)\n" if ($dbg_values > 1); + if ($1 ne '++' && $1 ne '--') { + $type = 'N'; + } + + } elsif ($cur =~ /(^.)/o) { + print "C($1)\n" if ($dbg_values > 1); + } + if (defined $1) { + $cur = substr($cur, length($1)); + $res .= $type x length($1); + } + } + + return ($res, $var); +} + +sub possible { + my ($possible, $line) = @_; + my $notPermitted = qr{(?: + ^(?: + $Modifier| + $Storage| + $Type| + DEFINE_\S+ + )$| + ^(?: + goto| + return| + case| + else| + asm|__asm__| + do| + \#| + \#\#| + )(?:\s|$)| + ^(?:typedef|struct|enum)\b + )}x; + warn "CHECK<$possible> ($line)\n" if ($dbg_possible > 2); + if ($possible !~ $notPermitted) { + # Check for modifiers. + $possible =~ s/\s*$Storage\s*//g; + $possible =~ s/\s*$Sparse\s*//g; + if ($possible =~ /^\s*$/) { + + } elsif ($possible =~ /\s/) { + $possible =~ s/\s*$Type\s*//g; + for my $modifier (split(' ', $possible)) { + if ($modifier !~ $notPermitted) { + warn "MODIFIER: $modifier ($possible) ($line)\n" if ($dbg_possible); + push(@modifierListFile, $modifier); + } + } + + } else { + warn "POSSIBLE: $possible ($line)\n" if ($dbg_possible); + push(@typeListFile, $possible); + } + build_types(); + } else { + warn "NOTPOSS: $possible ($line)\n" if ($dbg_possible > 1); + } +} + +my $prefix = ''; + +sub show_type { + my ($type) = @_; + + return defined $use_type{$type} if (scalar keys %use_type > 0); + + return !defined $ignore_type{$type}; +} + +sub report { + my ($level, $type, $msg) = @_; + + if (!show_type($type) || + (defined $tst_only && $msg !~ /\Q$tst_only\E/)) { + return 0; + } + my $output = ''; + if (-t STDOUT && $color) { + if ($level eq 'ERROR') { + $output .= RED; + } elsif ($level eq 'WARNING') { + $output .= YELLOW; + } else { + $output .= GREEN; + } + } + $output .= $prefix . $level . ':'; + if ($show_types) { + $output .= BLUE if (-t STDOUT && $color); + $output .= "$type:"; + } + $output .= RESET if (-t STDOUT && $color); + $output .= ' ' . $msg . "\n"; + + if ($showfile) { + my @lines = split("\n", $output, -1); + splice(@lines, 1, 1); + $output = join("\n", @lines); + } + $output = (split('\n', $output))[0] . "\n" if ($terse); + + push(our @report, $output); + + return 1; +} + +sub report_dump { + our @report; +} + +sub fixup_current_range { + my ($lineRef, $offset, $length) = @_; + + if ($$lineRef =~ /^\@\@ -\d+,\d+ \+(\d+),(\d+) \@\@/) { + my $o = $1; + my $l = $2; + my $no = $o + $offset; + my $nl = $l + $length; + $$lineRef =~ s/\+$o,$l \@\@/\+$no,$nl \@\@/; + } +} + +sub fix_inserted_deleted_lines { + my ($linesRef, $insertedRef, $deletedRef) = @_; + + my $range_last_linenr = 0; + my $delta_offset = 0; + + my $old_linenr = 0; + my $new_linenr = 0; + + my $next_insert = 0; + my $next_delete = 0; + + my @lines = (); + + my $inserted = @{$insertedRef}[$next_insert++]; + my $deleted = @{$deletedRef}[$next_delete++]; + + foreach my $old_line (@{$linesRef}) { + my $save_line = 1; + my $line = $old_line; #don't modify the array + if ($line =~ /^(?:\+\+\+|\-\-\-)\s+\S+/) { #new filename + $delta_offset = 0; + } elsif ($line =~ /^\@\@ -\d+,\d+ \+\d+,\d+ \@\@/) { #new hunk + $range_last_linenr = $new_linenr; + fixup_current_range(\$line, $delta_offset, 0); + } + + while (defined($deleted) && ${$deleted}{'LINENR'} == $old_linenr) { + $deleted = @{$deletedRef}[$next_delete++]; + $save_line = 0; + fixup_current_range(\$lines[$range_last_linenr], $delta_offset--, -1); + } + + while (defined($inserted) && ${$inserted}{'LINENR'} == $old_linenr) { + push(@lines, ${$inserted}{'LINE'}); + $inserted = @{$insertedRef}[$next_insert++]; + $new_linenr++; + fixup_current_range(\$lines[$range_last_linenr], $delta_offset++, 1); + } + + if ($save_line) { + push(@lines, $line); + $new_linenr++; + } + + $old_linenr++; + } + + return @lines; +} + +sub fix_insert_line { + my ($linenr, $line) = @_; + + my $inserted = { + LINENR => $linenr, + LINE => $line, + }; + push(@fixed_inserted, $inserted); +} + +sub fix_delete_line { + my ($linenr, $line) = @_; + + my $deleted = { + LINENR => $linenr, + LINE => $line, + }; + + push(@fixed_deleted, $deleted); +} + +sub ERROR { + my ($type, $msg) = @_; + + if (report("ERROR", $type, $msg)) { + our $clean = 0; + our $cnt_error++; + return 1; + } + return 0; +} +sub WARN { + my ($type, $msg) = @_; + + if (report("WARNING", $type, $msg)) { + our $clean = 0; + our $cnt_warn++; + return 1; + } + return 0; +} +sub CHK { + my ($type, $msg) = @_; + + if ($check && report("CHECK", $type, $msg)) { + our $clean = 0; + our $cnt_chk++; + return 1; + } + return 0; +} + +sub check_absolute_file { + my ($absolute, $herecurr) = @_; + my $file = $absolute; + + ##print "absolute<$absolute>\n"; + + # See if any suffix of this path is a path within the tree. + while ($file =~ s@^[^/]*/@@) { + if (-f "$root/$file") { + ##print "file<$file>\n"; + last; + } + } + if (! -f _) { + return 0; + } + + # It is, so see if the prefix is acceptable. + my $prefix = $absolute; + substr($prefix, -length($file)) = ''; + + ##print "prefix<$prefix>\n"; + if ($prefix ne ".../") { + WARN("USE_RELATIVE_PATH", + "use relative pathname instead of absolute in changelog text\n" . $herecurr); + } +} + +sub trim { + my ($string) = @_; + + $string =~ s/^\s+|\s+$//g; + + return $string; +} + +sub ltrim { + my ($string) = @_; + + $string =~ s/^\s+//; + + return $string; +} + +sub rtrim { + my ($string) = @_; + + $string =~ s/\s+$//; + + return $string; +} + +sub string_find_replace { + my ($string, $find, $replace) = @_; + + $string =~ s/$find/$replace/g; + + return $string; +} + +sub tabify { + my ($leading) = @_; + + my $source_indent = 8; + my $max_spaces_before_tab = $source_indent - 1; + my $spaces_to_tab = " " x $source_indent; + + #convert leading spaces to tabs + 1 while $leading =~ s@^([\t]*)$spaces_to_tab@$1\t@g; + #Remove spaces before a tab + 1 while $leading =~ s@^([\t]*)( {1,$max_spaces_before_tab})\t@$1\t@g; + + return "$leading"; +} + +sub pos_last_openparen { + my ($line) = @_; + + my $pos = 0; + + my $opens = $line =~ tr/\(/\(/; + my $closes = $line =~ tr/\)/\)/; + + my $last_openparen = 0; + + if (($opens == 0) || ($closes >= $opens)) { + return -1; + } + + my $len = length($line); + + for ($pos = 0; $pos < $len; $pos++) { + my $string = substr($line, $pos); + if ($string =~ /^($FuncArg|$balanced_parens)/) { + $pos += length($1) - 1; + } elsif (substr($line, $pos, 1) eq '(') { + $last_openparen = $pos; + } elsif (index($string, '(') == -1) { + last; + } + } + + return length(expand_tabs(substr($line, 0, $last_openparen))) + 1; +} + +sub process { + my $filename = shift; + + my $linenr=0; + my $prevline=""; + my $prevrawline=""; + my $stashline=""; + my $stashrawline=""; + + my $length; + my $indent; + my $previndent=0; + my $stashindent=0; + + our $clean = 1; + my $signoff = 0; + my $is_patch = 0; + my $in_header_lines = $file ? 0 : 1; + my $in_commit_log = 0; #Scanning lines before patch + my $has_commit_log = 0; #Encountered lines before patch + my $commit_log_possible_stack_dump = 0; + my $commit_log_long_line = 0; + my $commit_log_has_diff = 0; + my $reported_maintainer_file = 0; + my $non_utf8_charset = 0; + + my $last_blank_line = 0; + my $last_coalesced_string_linenr = -1; + + our @report = (); + our $cnt_lines = 0; + our $cnt_error = 0; + our $cnt_warn = 0; + our $cnt_chk = 0; + + # Trace the real file/line as we go. + my $realfile = ''; + my $realline = 0; + my $realcnt = 0; + my $here = ''; + my $in_comment = 0; + my $comment_edge = 0; + my $first_line = 0; + my $p1_prefix = ''; + + my $prev_values = 'E'; + + # suppression flags + my %suppress_ifbraces; + my %suppress_whiletrailers; + my %suppress_export; + my $suppress_statement = 0; + + my %signatures = (); + + # Pre-scan the patch sanitizing the lines. + # Pre-scan the patch looking for any __setup documentation. + # + my @setup_docs = (); + my $setup_docs = 0; + + my $camelcase_file_seeded = 0; + + sanitise_line_reset(); + my $line; + foreach my $rawline (@rawlines) { + $linenr++; + $line = $rawline; + + push(@fixed, $rawline) if ($fix); + + if ($rawline=~/^\+\+\+\s+(\S+)/) { + $setup_docs = 0; + if ($1 =~ m@Documentation/kernel-parameters.txt$@) { + $setup_docs = 1; + } + #next; + } + if ($rawline=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) { + $realline=$1-1; + if (defined $2) { + $realcnt=$3+1; + } else { + $realcnt=1+1; + } + $in_comment = 0; + + # Guestimate if this is a continuing comment. Run + # the context looking for a comment "edge". If this + # edge is a close comment then we must be in a comment + # at context start. + my $edge; + my $cnt = $realcnt; + for (my $ln = $linenr + 1; $cnt > 0; $ln++) { + next if (defined $rawlines[$ln - 1] && + $rawlines[$ln - 1] =~ /^-/); + $cnt--; + #print "RAW<$rawlines[$ln - 1]>\n"; + last if (!defined $rawlines[$ln - 1]); + if ($rawlines[$ln - 1] =~ m@(/\*|\*/)@ && + $rawlines[$ln - 1] !~ m@"[^"]*(?:/\*|\*/)[^"]*"@) { + ($edge) = $1; + last; + } + } + if (defined $edge && $edge eq '*/') { + $in_comment = 1; + } + + # Guestimate if this is a continuing comment. If this + # is the start of a diff block and this line starts + # ' *' then it is very likely a comment. + if (!defined $edge && + $rawlines[$linenr] =~ m@^.\s*(?:\*\*+| \*)(?:\s|$)@) + { + $in_comment = 1; + } + + ##print "COMMENT:$in_comment edge<$edge> $rawline\n"; + sanitise_line_reset($in_comment); + + } elsif ($realcnt && $rawline =~ /^(?:\+| |$)/) { + # Standardise the strings and chars within the input to + # simplify matching -- only bother with positive lines. + $line = sanitise_line($rawline); + } + push(@lines, $line); + + if ($realcnt > 1) { + $realcnt-- if ($line =~ /^(?:\+| |$)/); + } else { + $realcnt = 0; + } + + #print "==>$rawline\n"; + #print "-->$line\n"; + + if ($setup_docs && $line =~ /^\+/) { + push(@setup_docs, $line); + } + } + + $prefix = ''; + + $realcnt = 0; + $linenr = 0; + $fixlinenr = -1; + foreach my $line (@lines) { + $linenr++; + $fixlinenr++; + my $sline = $line; #copy of $line + $sline =~ s/$;/ /g; #with comments as spaces + + my $rawline = $rawlines[$linenr - 1]; + +#extract the line range in the file after the patch is applied + if (!$in_commit_log && + $line =~ /^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) { + $is_patch = 1; + $first_line = $linenr + 1; + $realline=$1-1; + if (defined $2) { + $realcnt=$3+1; + } else { + $realcnt=1+1; + } + annotate_reset(); + $prev_values = 'E'; + + %suppress_ifbraces = (); + %suppress_whiletrailers = (); + %suppress_export = (); + $suppress_statement = 0; + next; + +# track the line number as we move through the hunk, note that +# new versions of GNU diff omit the leading space on completely +# blank context lines so we need to count that too. + } elsif ($line =~ /^( |\+|$)/) { + $realline++; + $realcnt-- if ($realcnt != 0); + + # Measure the line length and indent. + ($length, $indent) = line_stats($rawline); + + # Track the previous line. + ($prevline, $stashline) = ($stashline, $line); + ($previndent, $stashindent) = ($stashindent, $indent); + ($prevrawline, $stashrawline) = ($stashrawline, $rawline); + + #warn "line<$line>\n"; + + } elsif ($realcnt == 1) { + $realcnt--; + } + + my $hunk_line = ($realcnt != 0); + + $here = "#$linenr: " if (!$file); + $here = "#$realline: " if ($file); + + my $found_file = 0; + # extract the filename as it passes + if ($line =~ /^diff --git.*?(\S+)$/) { + $realfile = $1; + $realfile =~ s@^([^/]*)/@@ if (!$file); + $in_commit_log = 0; + $found_file = 1; + } elsif ($line =~ /^\+\+\+\s+(\S+)/) { + $realfile = $1; + $realfile =~ s@^([^/]*)/@@ if (!$file); + $in_commit_log = 0; + + $p1_prefix = $1; + if (!$file && $tree && $p1_prefix ne '' && + -e "$root/$p1_prefix") { + WARN("PATCH_PREFIX", + "patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n"); + } + + if ($realfile =~ m@^include/asm/@) { + ERROR("MODIFIED_INCLUDE_ASM", + "do not modify files in include/asm, change architecture specific files in include/asm-\n" . "$here$rawline\n"); + } + $found_file = 1; + } + +#make up the handle for any error we report on this line + if ($showfile) { + $prefix = "$realfile:$realline: " + } elsif ($emacs) { + if ($file) { + $prefix = "$filename:$realline: "; + } else { + $prefix = "$filename:$linenr: "; + } + } + + if ($found_file) { + if (is_maintained_obsolete($realfile)) { + WARN("OBSOLETE", + "$realfile is marked as 'obsolete' in the MAINTAINERS hierarchy. No unnecessary modifications please.\n"); + } + if ($realfile =~ m@^(?:drivers/net/|net/|drivers/staging/)@) { + $check = 1; + } else { + $check = $check_orig; + } + next; + } + + $here .= "FILE: $realfile:$realline:" if ($realcnt != 0); + + my $hereline = "$here\n$rawline\n"; + my $herecurr = "$here\n$rawline\n"; + my $hereprev = "$here\n$prevrawline\n$rawline\n"; + + $cnt_lines++ if ($realcnt != 0); + +# Check if the commit log has what seems like a diff which can confuse patch + if ($in_commit_log && !$commit_log_has_diff && + (($line =~ m@^\s+diff\b.*a/[\w/]+@ && + $line =~ m@^\s+diff\b.*a/([\w/]+)\s+b/$1\b@) || + $line =~ m@^\s*(?:\-\-\-\s+a/|\+\+\+\s+b/)@ || + $line =~ m/^\s*\@\@ \-\d+,\d+ \+\d+,\d+ \@\@/)) { + ERROR("DIFF_IN_COMMIT_MSG", + "Avoid using diff content in the commit message - patch(1) might not work\n" . $herecurr); + $commit_log_has_diff = 1; + } + +# Check for incorrect file permissions + if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) { + my $permhere = $here . "FILE: $realfile\n"; + if ($realfile !~ m@scripts/@ && + $realfile !~ /\.(py|pl|awk|sh)$/) { + ERROR("EXECUTE_PERMISSIONS", + "do not set execute permissions for source files\n" . $permhere); + } + } + +# Check the patch for a signoff: + if ($line =~ /^\s*signed-off-by:/i) { + $signoff++; + $in_commit_log = 0; + } + +# Check if MAINTAINERS is being updated. If so, there's probably no need to +# emit the "does MAINTAINERS need updating?" message on file add/move/delete + if ($line =~ /^\s*MAINTAINERS\s*\|/) { + $reported_maintainer_file = 1; + } + +# Check signature styles + if (!$in_header_lines && + $line =~ /^(\s*)([a-z0-9_-]+by:|$signature_tags)(\s*)(.*)/i) { + my $space_before = $1; + my $sign_off = $2; + my $space_after = $3; + my $email = $4; + my $ucfirst_sign_off = ucfirst(lc($sign_off)); + + if ($sign_off !~ /$signature_tags/) { + WARN("BAD_SIGN_OFF", + "Non-standard signature: $sign_off\n" . $herecurr); + } + if (defined $space_before && $space_before ne "") { + if (WARN("BAD_SIGN_OFF", + "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } + } + if ($sign_off =~ /-by:$/i && $sign_off ne $ucfirst_sign_off) { + if (WARN("BAD_SIGN_OFF", + "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } + + } + if (!defined $space_after || $space_after ne " ") { + if (WARN("BAD_SIGN_OFF", + "Use a single space after $ucfirst_sign_off\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } + } + + my ($email_name, $email_address, $comment) = parse_email($email); + my $suggested_email = format_email(($email_name, $email_address)); + if ($suggested_email eq "") { + ERROR("BAD_SIGN_OFF", + "Unrecognized email address: '$email'\n" . $herecurr); + } else { + my $dequoted = $suggested_email; + $dequoted =~ s/^"//; + $dequoted =~ s/" $comment" ne $email && + "$suggested_email$comment" ne $email) { + WARN("BAD_SIGN_OFF", + "email address '$email' might be better as '$suggested_email$comment'\n" . $herecurr); + } + } + +# Check for duplicate signatures + my $sig_nospace = $line; + $sig_nospace =~ s/\s//g; + $sig_nospace = lc($sig_nospace); + if (defined $signatures{$sig_nospace}) { + WARN("BAD_SIGN_OFF", + "Duplicate signature\n" . $herecurr); + } else { + $signatures{$sig_nospace} = 1; + } + } + +# Check email subject for common tools that don't need to be mentioned + if ($in_header_lines && + $line =~ /^Subject:.*\b(?:checkpatch|sparse|smatch)\b[^:]/i) { + WARN("EMAIL_SUBJECT", + "A patch subject line should describe the change not the tool that found it\n" . $herecurr); + } + +# Check for old stable address + if ($line =~ /^\s*cc:\s*.*?.*$/i) { + ERROR("STABLE_ADDRESS", + "The 'stable' address should be 'stable\@vger.kernel.org'\n" . $herecurr); + } + +# Check for unwanted Gerrit info + if ($in_commit_log && $line =~ /^\s*change-id:/i) { + ERROR("GERRIT_CHANGE_ID", + "Remove Gerrit Change-Id's before submitting upstream.\n" . $herecurr); + } + +# Check if the commit log is in a possible stack dump + if ($in_commit_log && !$commit_log_possible_stack_dump && + ($line =~ /^\s*(?:WARNING:|BUG:)/ || + $line =~ /^\s*\[\s*\d+\.\d{6,6}\s*\]/ || + # timestamp + $line =~ /^\s*\[\<[0-9a-fA-F]{8,}\>\]/)) { + # stack dump address + $commit_log_possible_stack_dump = 1; + } + +# Check for line lengths > 75 in commit log, warn once + if ($in_commit_log && !$commit_log_long_line && + length($line) > 75 && + !($line =~ /^\s*[a-zA-Z0-9_\/\.]+\s+\|\s+\d+/ || + # file delta changes + $line =~ /^\s*(?:[\w\.\-]+\/)++[\w\.\-]+:/ || + # filename then : + $line =~ /^\s*(?:Fixes:|Link:)/i || + # A Fixes: or Link: line + $commit_log_possible_stack_dump)) { + WARN("COMMIT_LOG_LONG_LINE", + "Possible unwrapped commit description (prefer a maximum 75 chars per line)\n" . $herecurr); + $commit_log_long_line = 1; + } + +# Reset possible stack dump if a blank line is found + if ($in_commit_log && $commit_log_possible_stack_dump && + $line =~ /^\s*$/) { + $commit_log_possible_stack_dump = 0; + } + +# Check for git id commit length and improperly formed commit descriptions + if ($in_commit_log && !$commit_log_possible_stack_dump && + $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i && + ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i || + ($line =~ /(?:\s|^)[0-9a-f]{12,40}(?:[\s"'\(\[]|$)/i && + $line !~ /[\<\[][0-9a-f]{12,40}[\>\]]/i && + $line !~ /\bfixes:\s*[0-9a-f]{12,40}/i))) { + my $init_char = "c"; + my $orig_commit = ""; + my $short = 1; + my $long = 0; + my $case = 1; + my $space = 1; + my $hasdesc = 0; + my $hasparens = 0; + my $id = '0123456789ab'; + my $orig_desc = "commit description"; + my $description = ""; + + if ($line =~ /\b(c)ommit\s+([0-9a-f]{5,})\b/i) { + $init_char = $1; + $orig_commit = lc($2); + } elsif ($line =~ /\b([0-9a-f]{12,40})\b/i) { + $orig_commit = lc($1); + } + + $short = 0 if ($line =~ /\bcommit\s+[0-9a-f]{12,40}/i); + $long = 1 if ($line =~ /\bcommit\s+[0-9a-f]{41,}/i); + $space = 0 if ($line =~ /\bcommit [0-9a-f]/i); + $case = 0 if ($line =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/); + if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)"\)/i) { + $orig_desc = $1; + $hasparens = 1; + } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s*$/i && + defined $rawlines[$linenr] && + $rawlines[$linenr] =~ /^\s*\("([^"]+)"\)/) { + $orig_desc = $1; + $hasparens = 1; + } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("[^"]+$/i && + defined $rawlines[$linenr] && + $rawlines[$linenr] =~ /^\s*[^"]+"\)/) { + $line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)$/i; + $orig_desc = $1; + $rawlines[$linenr] =~ /^\s*([^"]+)"\)/; + $orig_desc .= " " . $1; + $hasparens = 1; + } + + ($id, $description) = git_commit_info($orig_commit, + $id, $orig_desc); + + if ($short || $long || $space || $case || ($orig_desc ne $description) || !$hasparens) { + ERROR("GIT_COMMIT_ID", + "Please use git commit description style 'commit <12+ chars of sha1> (\"\")' - ie: '${init_char}ommit $id (\"$description\")'\n" . $herecurr); + } + } + +# Check for added, moved or deleted files + if (!$reported_maintainer_file && !$in_commit_log && + ($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ || + $line =~ /^rename (?:from|to) [\w\/\.\-]+\s*$/ || + ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ && + (defined($1) || defined($2))))) { + $reported_maintainer_file = 1; + WARN("FILE_PATH_CHANGES", + "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr); + } + +# Check for wrappage within a valid hunk of the file + if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) { + ERROR("CORRUPTED_PATCH", + "patch seems to be corrupt (line wrapped?)\n" . + $herecurr) if (!$emitted_corrupt++); + } + +# Check for absolute kernel paths. + if ($tree) { + while ($line =~ m{(?:^|\s)(/\S*)}g) { + my $file = $1; + + if ($file =~ m{^(.*?)(?::\d+)+:?$} && + check_absolute_file($1, $herecurr)) { + # + } else { + check_absolute_file($file, $herecurr); + } + } + } + +# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php + if (($realfile =~ /^$/ || $line =~ /^\+/) && + $rawline !~ m/^$UTF8*$/) { + my ($utf8_prefix) = ($rawline =~ /^($UTF8*)/); + + my $blank = copy_spacing($rawline); + my $ptr = substr($blank, 0, length($utf8_prefix)) . "^"; + my $hereptr = "$hereline$ptr\n"; + + CHK("INVALID_UTF8", + "Invalid UTF-8, patch and commit message should be encoded in UTF-8\n" . $hereptr); + } + +# Check if it's the start of a commit log +# (not a header line and we haven't seen the patch filename) + if ($in_header_lines && $realfile =~ /^$/ && + !($rawline =~ /^\s+\S/ || + $rawline =~ /^(commit\b|from\b|[\w-]+:).*$/i)) { + $in_header_lines = 0; + $in_commit_log = 1; + $has_commit_log = 1; + } + +# Check if there is UTF-8 in a commit log when a mail header has explicitly +# declined it, i.e defined some charset where it is missing. + if ($in_header_lines && + $rawline =~ /^Content-Type:.+charset="(.+)".*$/ && + $1 !~ /utf-8/i) { + $non_utf8_charset = 1; + } + + if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ && + $rawline =~ /$NON_ASCII_UTF8/) { + WARN("UTF8_BEFORE_PATCH", + "8-bit UTF-8 used in possible commit log\n" . $herecurr); + } + +# Check for various typo / spelling mistakes + if (defined($misspellings) && + ($in_commit_log || $line =~ /^(?:\+|Subject:)/i)) { + while ($rawline =~ /(?:^|[^a-z@])($misspellings)(?:\b|$|[^a-z@])/gi) { + my $typo = $1; + my $typo_fix = $spelling_fix{lc($typo)}; + $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/); + $typo_fix = uc($typo_fix) if ($typo =~ /^[A-Z]+$/); + my $msg_type = \&WARN; + $msg_type = \&CHK if ($file); + if (&{$msg_type}("TYPO_SPELLING", + "'$typo' may be misspelled - perhaps '$typo_fix'?\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(^|[^A-Za-z@])($typo)($|[^A-Za-z@])/$1$typo_fix$3/; + } + } + } + +# ignore non-hunk lines and lines being removed + next if (!$hunk_line || $line =~ /^-/); + +#trailing whitespace + if ($line =~ /^\+.*\015/) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + if (ERROR("DOS_LINE_ENDINGS", + "DOS line endings\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/[\s\015]+$//; + } + } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + if (ERROR("TRAILING_WHITESPACE", + "trailing whitespace\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+$//; + } + + $rpt_cleaners = 1; + } + +# Check for FSF mailing addresses. + if ($rawline =~ /\bwrite to the Free/i || + $rawline =~ /\b59\s+Temple\s+Pl/i || + $rawline =~ /\b51\s+Franklin\s+St/i) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + my $msg_type = \&ERROR; + $msg_type = \&CHK if ($file); + &{$msg_type}("FSF_MAILING_ADDRESS", + "Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL.\n" . $herevet) + } + +# check for Kconfig help text having a real description +# Only applies when adding the entry originally, after that we do not have +# sufficient context to determine whether it is indeed long enough. + if ($realfile =~ /Kconfig/ && + $line =~ /^\+\s*config\s+/) { + my $length = 0; + my $cnt = $realcnt; + my $ln = $linenr + 1; + my $f; + my $is_start = 0; + my $is_end = 0; + for (; $cnt > 0 && defined $lines[$ln - 1]; $ln++) { + $f = $lines[$ln - 1]; + $cnt-- if ($lines[$ln - 1] !~ /^-/); + $is_end = $lines[$ln - 1] =~ /^\+/; + + next if ($f =~ /^-/); + last if (!$file && $f =~ /^\@\@/); + + if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) { + $is_start = 1; + } elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) { + $length = -1; + } + + $f =~ s/^.//; + $f =~ s/#.*//; + $f =~ s/^\s+//; + next if ($f =~ /^$/); + if ($f =~ /^\s*config\s/) { + $is_end = 1; + last; + } + $length++; + } + if ($is_start && $is_end && $length < $min_conf_desc_length) { + WARN("CONFIG_DESCRIPTION", + "please write a paragraph that describes the config symbol fully\n" . $herecurr); + } + #print "is_start<$is_start> is_end<$is_end> length<$length>\n"; + } + +# discourage the addition of CONFIG_EXPERIMENTAL in Kconfig. + if ($realfile =~ /Kconfig/ && + $line =~ /.\s*depends on\s+.*\bEXPERIMENTAL\b/) { + WARN("CONFIG_EXPERIMENTAL", + "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n"); + } + +# discourage the use of boolean for type definition attributes of Kconfig options + if ($realfile =~ /Kconfig/ && + $line =~ /^\+\s*\bboolean\b/) { + WARN("CONFIG_TYPE_BOOLEAN", + "Use of boolean is deprecated, please use bool instead.\n" . $herecurr); + } + + if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) && + ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) { + my $flag = $1; + my $replacement = { + 'EXTRA_AFLAGS' => 'asflags-y', + 'EXTRA_CFLAGS' => 'ccflags-y', + 'EXTRA_CPPFLAGS' => 'cppflags-y', + 'EXTRA_LDFLAGS' => 'ldflags-y', + }; + + WARN("DEPRECATED_VARIABLE", + "Use of $flag is deprecated, please use \`$replacement->{$flag} instead.\n" . $herecurr) if ($replacement->{$flag}); + } + +# check for DT compatible documentation + if (defined $root && + (($realfile =~ /\.dtsi?$/ && $line =~ /^\+\s*compatible\s*=\s*\"/) || + ($realfile =~ /\.[ch]$/ && $line =~ /^\+.*\.compatible\s*=\s*\"/))) { + + my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g; + + my $dt_path = $root . "/Documentation/devicetree/bindings/"; + my $vp_file = $dt_path . "vendor-prefixes.txt"; + + foreach my $compat (@compats) { + my $compat2 = $compat; + $compat2 =~ s/\,[a-zA-Z0-9]*\-/\,<\.\*>\-/; + my $compat3 = $compat; + $compat3 =~ s/\,([a-z]*)[0-9]*\-/\,$1<\.\*>\-/; + `grep -Erq "$compat|$compat2|$compat3" $dt_path`; + if ( $? >> 8 ) { + WARN("UNDOCUMENTED_DT_STRING", + "DT compatible string \"$compat\" appears un-documented -- check $dt_path\n" . $herecurr); + } + + next if $compat !~ /^([a-zA-Z0-9\-]+)\,/; + my $vendor = $1; + `grep -Eq "^$vendor\\b" $vp_file`; + if ( $? >> 8 ) { + WARN("UNDOCUMENTED_DT_STRING", + "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr); + } + } + } + +# check we are in a valid source file if not then ignore this hunk + next if ($realfile !~ /\.(h|c|s|S|pl|sh|dtsi|dts)$/); + +# line length limit (with some exclusions) +# +# There are a few types of lines that may extend beyond $max_line_length: +# logging functions like pr_info that end in a string +# lines with a single string +# #defines that are a single string +# +# There are 3 different line length message types: +# LONG_LINE_COMMENT a comment starts before but extends beyond $max_linelength +# LONG_LINE_STRING a string starts before but extends beyond $max_line_length +# LONG_LINE all other lines longer than $max_line_length +# +# if LONG_LINE is ignored, the other 2 types are also ignored +# + + if ($line =~ /^\+/ && $length > $max_line_length) { + my $msg_type = "LONG_LINE"; + + # Check the allowed long line types first + + # logging functions that end in a string that starts + # before $max_line_length + if ($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(?:KERN_\S+\s*|[^"]*))?($String\s*(?:|,|\)\s*;)\s*)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = ""; + + # lines with only strings (w/ possible termination) + # #defines with only strings + } elsif ($line =~ /^\+\s*$String\s*(?:\s*|,|\)\s*;)\s*$/ || + $line =~ /^\+\s*#\s*define\s+\w+\s+$String$/) { + $msg_type = ""; + + # EFI_GUID is another special case + } elsif ($line =~ /^\+.*\bEFI_GUID\s*\(/) { + $msg_type = ""; + + # Otherwise set the alternate message types + + # a comment starts before $max_line_length + } elsif ($line =~ /($;[\s$;]*)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = "LONG_LINE_COMMENT" + + # a quoted string starts before $max_line_length + } elsif ($sline =~ /\s*($String(?:\s*(?:\\|,\s*|\)\s*;\s*))?)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = "LONG_LINE_STRING" + } + + if ($msg_type ne "" && + (show_type("LONG_LINE") || show_type($msg_type))) { + WARN($msg_type, + "line over $max_line_length characters\n" . $herecurr); + } + } + +# check for adding lines without a newline. + if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/) { + WARN("MISSING_EOF_NEWLINE", + "adding a line without newline at end of file\n" . $herecurr); + } + +# Blackfin: use hi/lo macros + if ($realfile =~ m@arch/blackfin/.*\.S$@) { + if ($line =~ /\.[lL][[:space:]]*=.*&[[:space:]]*0x[fF][fF][fF][fF]/) { + my $herevet = "$here\n" . cat_vet($line) . "\n"; + ERROR("LO_MACRO", + "use the LO() macro, not (... & 0xFFFF)\n" . $herevet); + } + if ($line =~ /\.[hH][[:space:]]*=.*>>[[:space:]]*16/) { + my $herevet = "$here\n" . cat_vet($line) . "\n"; + ERROR("HI_MACRO", + "use the HI() macro, not (... >> 16)\n" . $herevet); + } + } + +# check we are in a valid source file C or perl if not then ignore this hunk + next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/); + +# at the beginning of a line any tabs must come first and anything +# more than 8 must use tabs. + if ($rawline =~ /^\+\s* \t\s*\S/ || + $rawline =~ /^\+\s* \s*/) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + $rpt_cleaners = 1; + if (ERROR("CODE_INDENT", + "code indent should use tabs where possible\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; + } + } + +# check for space before tabs. + if ($rawline =~ /^\+/ && $rawline =~ / \t/) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + if (WARN("SPACE_BEFORE_TAB", + "please, no space before tabs\n" . $herevet) && + $fix) { + while ($fixed[$fixlinenr] =~ + s/(^\+.*) {8,8}\t/$1\t\t/) {} + while ($fixed[$fixlinenr] =~ + s/(^\+.*) +\t/$1\t/) {} + } + } + +# check for && or || at the start of a line + if ($rawline =~ /^\+\s*(&&|\|\|)/) { + CHK("LOGICAL_CONTINUATIONS", + "Logical continuations should be on the previous line\n" . $hereprev); + } + +# check indentation starts on a tab stop + if ($^V && $^V ge 5.10.0 && + $sline =~ /^\+\t+( +)(?:$c90_Keywords\b|\{\s*$|\}\s*(?:else\b|while\b|\s*$))/) { + my $indent = length($1); + if ($indent % 8) { + if (WARN("TABSTOP", + "Statements should start on a tabstop\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s@(^\+\t+) +@$1 . "\t" x ($indent/8)@e; + } + } + } + +# check multi-line statement indentation matches previous line + if ($^V && $^V ge 5.10.0 && + $prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|$Ident\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) { + $prevline =~ /^\+(\t*)(.*)$/; + my $oldindent = $1; + my $rest = $2; + + my $pos = pos_last_openparen($rest); + if ($pos >= 0) { + $line =~ /^(\+| )([ \t]*)/; + my $newindent = $2; + + my $goodtabindent = $oldindent . + "\t" x ($pos / 8) . + " " x ($pos % 8); + my $goodspaceindent = $oldindent . " " x $pos; + + if ($newindent ne $goodtabindent && + $newindent ne $goodspaceindent) { + + if (CHK("PARENTHESIS_ALIGNMENT", + "Alignment should match open parenthesis\n" . $hereprev) && + $fix && $line =~ /^\+/) { + $fixed[$fixlinenr] =~ + s/^\+[ \t]*/\+$goodtabindent/; + } + } + } + } + +# check for space after cast like "(int) foo" or "(struct foo) bar" +# avoid checking a few false positives: +# "sizeof(<type>)" or "__alignof__(<type>)" +# function pointer declarations like "(*foo)(int) = bar;" +# structure definitions like "(struct foo) { 0 };" +# multiline macros that define functions +# known attributes or the __attribute__ keyword + if ($line =~ /^\+(.*)\(\s*$Type\s*\)([ \t]++)((?![={]|\\$|$Attribute|__attribute__))/ && + (!defined($1) || $1 !~ /\b(?:sizeof|__alignof__)\s*$/)) { + if (CHK("SPACING", + "No space is necessary after a cast\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/(\(\s*$Type\s*\))[ \t]+/$1/; + } + } + +# Block comment styles +# Networking with an initial /* + if ($realfile =~ m@^(drivers/net/|net/)@ && + $prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ && + $rawline =~ /^\+[ \t]*\*/ && + $realline > 2) { + WARN("NETWORKING_BLOCK_COMMENT_STYLE", + "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev); + } + +# Block comments use * on subsequent lines + if ($prevline =~ /$;[ \t]*$/ && #ends in comment + $prevrawline =~ /^\+.*?\/\*/ && #starting /* + $prevrawline !~ /\*\/[ \t]*$/ && #no trailing */ + $rawline =~ /^\+/ && #line is new + $rawline !~ /^\+[ \t]*\*/) { #no leading * + WARN("BLOCK_COMMENT_STYLE", + "Block comments use * on subsequent lines\n" . $hereprev); + } + +# Block comments use */ on trailing lines + if ($rawline !~ m@^\+[ \t]*\*/[ \t]*$@ && #trailing */ + $rawline !~ m@^\+.*/\*.*\*/[ \t]*$@ && #inline /*...*/ + $rawline !~ m@^\+.*\*{2,}/[ \t]*$@ && #trailing **/ + $rawline =~ m@^\+[ \t]*.+\*\/[ \t]*$@) { #non blank */ + WARN("BLOCK_COMMENT_STYLE", + "Block comments use a trailing */ on a separate line\n" . $herecurr); + } + +# Block comment * alignment + if ($prevline =~ /$;[ \t]*$/ && #ends in comment + $line =~ /^\+[ \t]*$;/ && #leading comment + $rawline =~ /^\+[ \t]*\*/ && #leading * + (($prevrawline =~ /^\+.*?\/\*/ && #leading /* + $prevrawline !~ /\*\/[ \t]*$/) || #no trailing */ + $prevrawline =~ /^\+[ \t]*\*/)) { #leading * + my $oldindent; + $prevrawline =~ m@^\+([ \t]*/?)\*@; + if (defined($1)) { + $oldindent = expand_tabs($1); + } else { + $prevrawline =~ m@^\+(.*/?)\*@; + $oldindent = expand_tabs($1); + } + $rawline =~ m@^\+([ \t]*)\*@; + my $newindent = $1; + $newindent = expand_tabs($newindent); + if (length($oldindent) ne length($newindent)) { + WARN("BLOCK_COMMENT_STYLE", + "Block comments should align the * on each line\n" . $hereprev); + } + } + +# check for missing blank lines after struct/union declarations +# with exceptions for various attributes and macros + if ($prevline =~ /^[\+ ]};?\s*$/ && + $line =~ /^\+/ && + !($line =~ /^\+\s*$/ || + $line =~ /^\+\s*EXPORT_SYMBOL/ || + $line =~ /^\+\s*MODULE_/i || + $line =~ /^\+\s*\#\s*(?:end|elif|else)/ || + $line =~ /^\+[a-z_]*init/ || + $line =~ /^\+\s*(?:static\s+)?[A-Z_]*ATTR/ || + $line =~ /^\+\s*DECLARE/ || + $line =~ /^\+\s*__setup/)) { + if (CHK("LINE_SPACING", + "Please use a blank line after function/struct/union/enum declarations\n" . $hereprev) && + $fix) { + fix_insert_line($fixlinenr, "\+"); + } + } + +# check for multiple consecutive blank lines + if ($prevline =~ /^[\+ ]\s*$/ && + $line =~ /^\+\s*$/ && + $last_blank_line != ($linenr - 1)) { + if (CHK("LINE_SPACING", + "Please don't use multiple blank lines\n" . $hereprev) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + } + + $last_blank_line = $linenr; + } + +# check for missing blank lines after declarations + if ($sline =~ /^\+\s+\S/ && #Not at char 1 + # actual declarations + ($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || + # function pointer declarations + $prevline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ || + # foo bar; where foo is some local typedef or #define + $prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || + # known declaration macros + $prevline =~ /^\+\s+$declaration_macros/) && + # for "else if" which can look like "$Ident $Ident" + !($prevline =~ /^\+\s+$c90_Keywords\b/ || + # other possible extensions of declaration lines + $prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ || + # not starting a section or a macro "\" extended line + $prevline =~ /(?:\{\s*|\\)$/) && + # looks like a declaration + !($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || + # function pointer declarations + $sline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ || + # foo bar; where foo is some local typedef or #define + $sline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || + # known declaration macros + $sline =~ /^\+\s+$declaration_macros/ || + # start of struct or union or enum + $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ || + # start or end of block or continuation of declaration + $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ || + # bitfield continuation + $sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ || + # other possible extensions of declaration lines + $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) && + # indentation of previous and current line are the same + (($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) { + if (WARN("LINE_SPACING", + "Missing a blank line after declarations\n" . $hereprev) && + $fix) { + fix_insert_line($fixlinenr, "\+"); + } + } + +# check for spaces at the beginning of a line. +# Exceptions: +# 1) within comments +# 2) indented preprocessor commands +# 3) hanging labels + if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + if (WARN("LEADING_SPACE", + "please, no spaces at the start of a line\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; + } + } + +# check we are in a valid C source file if not then ignore this hunk + next if ($realfile !~ /\.(h|c)$/); + +# check indentation of any line with a bare else +# (but not if it is a multiple line "if (foo) return bar; else return baz;") +# if the previous line is a break or return and is indented 1 tab more... + if ($sline =~ /^\+([\t]+)(?:}[ \t]*)?else(?:[ \t]*{)?\s*$/) { + my $tabs = length($1) + 1; + if ($prevline =~ /^\+\t{$tabs,$tabs}break\b/ || + ($prevline =~ /^\+\t{$tabs,$tabs}return\b/ && + defined $lines[$linenr] && + $lines[$linenr] !~ /^[ \+]\t{$tabs,$tabs}return/)) { + WARN("UNNECESSARY_ELSE", + "else is not generally useful after a break or return\n" . $hereprev); + } + } + +# check indentation of a line with a break; +# if the previous line is a goto or return and is indented the same # of tabs + if ($sline =~ /^\+([\t]+)break\s*;\s*$/) { + my $tabs = $1; + if ($prevline =~ /^\+$tabs(?:goto|return)\b/) { + WARN("UNNECESSARY_BREAK", + "break is not useful after a goto or return\n" . $hereprev); + } + } + +# discourage the addition of CONFIG_EXPERIMENTAL in #if(def). + if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) { + WARN("CONFIG_EXPERIMENTAL", + "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n"); + } + +# check for RCS/CVS revision markers + if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) { + WARN("CVS_KEYWORD", + "CVS style keyword markers, these will _not_ be updated\n". $herecurr); + } + +# Blackfin: don't use __builtin_bfin_[cs]sync + if ($line =~ /__builtin_bfin_csync/) { + my $herevet = "$here\n" . cat_vet($line) . "\n"; + ERROR("CSYNC", + "use the CSYNC() macro in asm/blackfin.h\n" . $herevet); + } + if ($line =~ /__builtin_bfin_ssync/) { + my $herevet = "$here\n" . cat_vet($line) . "\n"; + ERROR("SSYNC", + "use the SSYNC() macro in asm/blackfin.h\n" . $herevet); + } + +# check for old HOTPLUG __dev<foo> section markings + if ($line =~ /\b(__dev(init|exit)(data|const|))\b/) { + WARN("HOTPLUG_SECTION", + "Using $1 is unnecessary\n" . $herecurr); + } + +# Check for potential 'bare' types + my ($stat, $cond, $line_nr_next, $remain_next, $off_next, + $realline_next); +#print "LINE<$line>\n"; + if ($linenr >= $suppress_statement && + $realcnt && $sline =~ /.\s*\S/) { + ($stat, $cond, $line_nr_next, $remain_next, $off_next) = + ctx_statement_block($linenr, $realcnt, 0); + $stat =~ s/\n./\n /g; + $cond =~ s/\n./\n /g; + +#print "linenr<$linenr> <$stat>\n"; + # If this statement has no statement boundaries within + # it there is no point in retrying a statement scan + # until we hit end of it. + my $frag = $stat; $frag =~ s/;+\s*$//; + if ($frag !~ /(?:{|;)/) { +#print "skip<$line_nr_next>\n"; + $suppress_statement = $line_nr_next; + } + + # Find the real next line. + $realline_next = $line_nr_next; + if (defined $realline_next && + (!defined $lines[$realline_next - 1] || + substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) { + $realline_next++; + } + + my $s = $stat; + $s =~ s/{.*$//s; + + # Ignore goto labels. + if ($s =~ /$Ident:\*$/s) { + + # Ignore functions being called + } elsif ($s =~ /^.\s*$Ident\s*\(/s) { + + } elsif ($s =~ /^.\s*else\b/s) { + + # declarations always start with types + } elsif ($prev_values eq 'E' && $s =~ /^.\s*(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?((?:\s*$Ident)+?)\b(?:\s+$Sparse)?\s*\**\s*(?:$Ident|\(\*[^\)]*\))(?:\s*$Modifier)?\s*(?:;|=|,|\()/s) { + my $type = $1; + $type =~ s/\s+/ /g; + possible($type, "A:" . $s); + + # definitions in global scope can only start with types + } elsif ($s =~ /^.(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?($Ident)\b\s*(?!:)/s) { + possible($1, "B:" . $s); + } + + # any (foo ... *) is a pointer cast, and foo is a type + while ($s =~ /\(($Ident)(?:\s+$Sparse)*[\s\*]+\s*\)/sg) { + possible($1, "C:" . $s); + } + + # Check for any sort of function declaration. + # int foo(something bar, other baz); + # void (*store_gdt)(x86_descr_ptr *); + if ($prev_values eq 'E' && $s =~ /^(.(?:typedef\s*)?(?:(?:$Storage|$Inline)\s*)*\s*$Type\s*(?:\b$Ident|\(\*\s*$Ident\))\s*)\(/s) { + my ($name_len) = length($1); + + my $ctx = $s; + substr($ctx, 0, $name_len + 1, ''); + $ctx =~ s/\)[^\)]*$//; + + for my $arg (split(/\s*,\s*/, $ctx)) { + if ($arg =~ /^(?:const\s+)?($Ident)(?:\s+$Sparse)*\s*\**\s*(:?\b$Ident)?$/s || $arg =~ /^($Ident)$/s) { + + possible($1, "D:" . $s); + } + } + } + + } + +# +# Checks which may be anchored in the context. +# + +# Check for switch () and associated case and default +# statements should be at the same indent. + if ($line=~/\bswitch\s*\(.*\)/) { + my $err = ''; + my $sep = ''; + my @ctx = ctx_block_outer($linenr, $realcnt); + shift(@ctx); + for my $ctx (@ctx) { + my ($clen, $cindent) = line_stats($ctx); + if ($ctx =~ /^\+\s*(case\s+|default:)/ && + $indent != $cindent) { + $err .= "$sep$ctx\n"; + $sep = ''; + } else { + $sep = "[...]\n"; + } + } + if ($err ne '') { + ERROR("SWITCH_CASE_INDENT_LEVEL", + "switch and case should be at the same indent\n$hereline$err"); + } + } + +# if/while/etc brace do not go on next line, unless defining a do while loop, +# or if that brace on the next line is for something else + if ($line =~ /(.*)\b((?:if|while|for|switch|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) { + my $pre_ctx = "$1$2"; + + my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0); + + if ($line =~ /^\+\t{6,}/) { + WARN("DEEP_INDENTATION", + "Too many leading tabs - consider code refactoring\n" . $herecurr); + } + + my $ctx_cnt = $realcnt - $#ctx - 1; + my $ctx = join("\n", @ctx); + + my $ctx_ln = $linenr; + my $ctx_skip = $realcnt; + + while ($ctx_skip > $ctx_cnt || ($ctx_skip == $ctx_cnt && + defined $lines[$ctx_ln - 1] && + $lines[$ctx_ln - 1] =~ /^-/)) { + ##print "SKIP<$ctx_skip> CNT<$ctx_cnt>\n"; + $ctx_skip-- if (!defined $lines[$ctx_ln - 1] || $lines[$ctx_ln - 1] !~ /^-/); + $ctx_ln++; + } + + #print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n"; + #print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n"; + + if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) { + ERROR("OPEN_BRACE", + "that open brace { should be on the previous line\n" . + "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n"); + } + if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ && + $ctx =~ /\)\s*\;\s*$/ && + defined $lines[$ctx_ln - 1]) + { + my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]); + if ($nindent > $indent) { + WARN("TRAILING_SEMICOLON", + "trailing semicolon indicates no statements, indent implies otherwise\n" . + "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n"); + } + } + } + +# Check relative indent for conditionals and blocks. + if ($line =~ /\b(?:(?:if|while|for|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) { + ($stat, $cond, $line_nr_next, $remain_next, $off_next) = + ctx_statement_block($linenr, $realcnt, 0) + if (!defined $stat); + my ($s, $c) = ($stat, $cond); + + substr($s, 0, length($c), ''); + + # remove inline comments + $s =~ s/$;/ /g; + $c =~ s/$;/ /g; + + # Find out how long the conditional actually is. + my @newlines = ($c =~ /\n/gs); + my $cond_lines = 1 + $#newlines; + + # Make sure we remove the line prefixes as we have + # none on the first line, and are going to readd them + # where necessary. + $s =~ s/\n./\n/gs; + while ($s =~ /\n\s+\\\n/) { + $cond_lines += $s =~ s/\n\s+\\\n/\n/g; + } + + # We want to check the first line inside the block + # starting at the end of the conditional, so remove: + # 1) any blank line termination + # 2) any opening brace { on end of the line + # 3) any do (...) { + my $continuation = 0; + my $check = 0; + $s =~ s/^.*\bdo\b//; + $s =~ s/^\s*{//; + if ($s =~ s/^\s*\\//) { + $continuation = 1; + } + if ($s =~ s/^\s*?\n//) { + $check = 1; + $cond_lines++; + } + + # Also ignore a loop construct at the end of a + # preprocessor statement. + if (($prevline =~ /^.\s*#\s*define\s/ || + $prevline =~ /\\\s*$/) && $continuation == 0) { + $check = 0; + } + + my $cond_ptr = -1; + $continuation = 0; + while ($cond_ptr != $cond_lines) { + $cond_ptr = $cond_lines; + + # If we see an #else/#elif then the code + # is not linear. + if ($s =~ /^\s*\#\s*(?:else|elif)/) { + $check = 0; + } + + # Ignore: + # 1) blank lines, they should be at 0, + # 2) preprocessor lines, and + # 3) labels. + if ($continuation || + $s =~ /^\s*?\n/ || + $s =~ /^\s*#\s*?/ || + $s =~ /^\s*$Ident\s*:/) { + $continuation = ($s =~ /^.*?\\\n/) ? 1 : 0; + if ($s =~ s/^.*?\n//) { + $cond_lines++; + } + } + } + + my (undef, $sindent) = line_stats("+" . $s); + my $stat_real = raw_line($linenr, $cond_lines); + + # Check if either of these lines are modified, else + # this is not this patch's fault. + if (!defined($stat_real) || + $stat !~ /^\+/ && $stat_real !~ /^\+/) { + $check = 0; + } + if (defined($stat_real) && $cond_lines > 1) { + $stat_real = "[...]\n$stat_real"; + } + + #print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n"; + + if ($check && $s ne '' && + (($sindent % 8) != 0 || + ($sindent < $indent) || + ($sindent > $indent + 8))) { + WARN("SUSPECT_CODE_INDENT", + "suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n"); + } + } + + # Track the 'values' across context and added lines. + my $opline = $line; $opline =~ s/^./ /; + my ($curr_values, $curr_vars) = + annotate_values($opline . "\n", $prev_values); + $curr_values = $prev_values . $curr_values; + if ($dbg_values) { + my $outline = $opline; $outline =~ s/\t/ /g; + print "$linenr > .$outline\n"; + print "$linenr > $curr_values\n"; + print "$linenr > $curr_vars\n"; + } + $prev_values = substr($curr_values, -1); + +#ignore lines not being added + next if ($line =~ /^[^\+]/); + +# check for declarations of signed or unsigned without int + while ($line =~ m{\b($Declare)\s*(?!char\b|short\b|int\b|long\b)\s*($Ident)?\s*[=,;\[\)\(]}g) { + my $type = $1; + my $var = $2; + $var = "" if (!defined $var); + if ($type =~ /^(?:(?:$Storage|$Inline|$Attribute)\s+)*((?:un)?signed)((?:\s*\*)*)\s*$/) { + my $sign = $1; + my $pointer = $2; + + $pointer = "" if (!defined $pointer); + + if (WARN("UNSPECIFIED_INT", + "Prefer '" . trim($sign) . " int" . rtrim($pointer) . "' to bare use of '$sign" . rtrim($pointer) . "'\n" . $herecurr) && + $fix) { + my $decl = trim($sign) . " int "; + my $comp_pointer = $pointer; + $comp_pointer =~ s/\s//g; + $decl .= $comp_pointer; + $decl = rtrim($decl) if ($var eq ""); + $fixed[$fixlinenr] =~ s@\b$sign\s*\Q$pointer\E\s*$var\b@$decl$var@; + } + } + } + +# TEST: allow direct testing of the type matcher. + if ($dbg_type) { + if ($line =~ /^.\s*$Declare\s*$/) { + ERROR("TEST_TYPE", + "TEST: is type\n" . $herecurr); + } elsif ($dbg_type > 1 && $line =~ /^.+($Declare)/) { + ERROR("TEST_NOT_TYPE", + "TEST: is not type ($1 is)\n". $herecurr); + } + next; + } +# TEST: allow direct testing of the attribute matcher. + if ($dbg_attr) { + if ($line =~ /^.\s*$Modifier\s*$/) { + ERROR("TEST_ATTR", + "TEST: is attr\n" . $herecurr); + } elsif ($dbg_attr > 1 && $line =~ /^.+($Modifier)/) { + ERROR("TEST_NOT_ATTR", + "TEST: is not attr ($1 is)\n". $herecurr); + } + next; + } + +# check for initialisation to aggregates open brace on the next line + if ($line =~ /^.\s*{/ && + $prevline =~ /(?:^|[^=])=\s*$/) { + if (ERROR("OPEN_BRACE", + "that open brace { should be on the previous line\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/\s*=\s*$/ = {/; + fix_insert_line($fixlinenr, $fixedline); + $fixedline = $line; + $fixedline =~ s/^(.\s*){\s*/$1/; + fix_insert_line($fixlinenr, $fixedline); + } + } + +# +# Checks which are anchored on the added line. +# + +# check for malformed paths in #include statements (uses RAW line) + if ($rawline =~ m{^.\s*\#\s*include\s+[<"](.*)[">]}) { + my $path = $1; + if ($path =~ m{//}) { + ERROR("MALFORMED_INCLUDE", + "malformed #include filename\n" . $herecurr); + } + if ($path =~ "^uapi/" && $realfile =~ m@\binclude/uapi/@) { + ERROR("UAPI_INCLUDE", + "No #include in ...include/uapi/... should use a uapi/ path prefix\n" . $herecurr); + } + } + +# no C99 // comments + if ($line =~ m{//}) { + if (ERROR("C99_COMMENTS", + "do not use C99 // comments\n" . $herecurr) && + $fix) { + my $line = $fixed[$fixlinenr]; + if ($line =~ /\/\/(.*)$/) { + my $comment = trim($1); + $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@; + } + } + } + # Remove C99 comments. + $line =~ s@//.*@@; + $opline =~ s@//.*@@; + +# EXPORT_SYMBOL should immediately follow the thing it is exporting, consider +# the whole statement. +#print "APW <$lines[$realline_next - 1]>\n"; + if (defined $realline_next && + exists $lines[$realline_next - 1] && + !defined $suppress_export{$realline_next} && + ($lines[$realline_next - 1] =~ /EXPORT_SYMBOL.*\((.*)\)/ || + $lines[$realline_next - 1] =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) { + # Handle definitions which produce identifiers with + # a prefix: + # XXX(foo); + # EXPORT_SYMBOL(something_foo); + my $name = $1; + if ($stat =~ /^(?:.\s*}\s*\n)?.([A-Z_]+)\s*\(\s*($Ident)/ && + $name =~ /^${Ident}_$2/) { +#print "FOO C name<$name>\n"; + $suppress_export{$realline_next} = 1; + + } elsif ($stat !~ /(?: + \n.}\s*$| + ^.DEFINE_$Ident\(\Q$name\E\)| + ^.DECLARE_$Ident\(\Q$name\E\)| + ^.LIST_HEAD\(\Q$name\E\)| + ^.(?:$Storage\s+)?$Type\s*\(\s*\*\s*\Q$name\E\s*\)\s*\(| + \b\Q$name\E(?:\s+$Attribute)*\s*(?:;|=|\[|\() + )/x) { +#print "FOO A<$lines[$realline_next - 1]> stat<$stat> name<$name>\n"; + $suppress_export{$realline_next} = 2; + } else { + $suppress_export{$realline_next} = 1; + } + } + if (!defined $suppress_export{$linenr} && + $prevline =~ /^.\s*$/ && + ($line =~ /EXPORT_SYMBOL.*\((.*)\)/ || + $line =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) { +#print "FOO B <$lines[$linenr - 1]>\n"; + $suppress_export{$linenr} = 2; + } + if (defined $suppress_export{$linenr} && + $suppress_export{$linenr} == 2) { + WARN("EXPORT_SYMBOL", + "EXPORT_SYMBOL(foo); should immediately follow its function/variable\n" . $herecurr); + } + +# check for global initialisers. + if ($line =~ /^\+$Type\s*$Ident(?:\s+$Modifier)*\s*=\s*($zero_initializer)\s*;/) { + if (ERROR("GLOBAL_INITIALISERS", + "do not initialise globals to $1\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(^.$Type\s*$Ident(?:\s+$Modifier)*)\s*=\s*$zero_initializer\s*;/$1;/; + } + } +# check for static initialisers. + if ($line =~ /^\+.*\bstatic\s.*=\s*($zero_initializer)\s*;/) { + if (ERROR("INITIALISED_STATIC", + "do not initialise statics to $1\n" . + $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*$zero_initializer\s*;/$1;/; + } + } + +# check for misordered declarations of char/short/int/long with signed/unsigned + while ($sline =~ m{(\b$TypeMisordered\b)}g) { + my $tmp = trim($1); + WARN("MISORDERED_TYPE", + "type '$tmp' should be specified in [[un]signed] [short|int|long|long long] order\n" . $herecurr); + } + +# check for static const char * arrays. + if ($line =~ /\bstatic\s+const\s+char\s*\*\s*(\w+)\s*\[\s*\]\s*=\s*/) { + WARN("STATIC_CONST_CHAR_ARRAY", + "static const char * array should probably be static const char * const\n" . + $herecurr); + } + +# check for static char foo[] = "bar" declarations. + if ($line =~ /\bstatic\s+char\s+(\w+)\s*\[\s*\]\s*=\s*"/) { + WARN("STATIC_CONST_CHAR_ARRAY", + "static char array declaration should probably be static const char\n" . + $herecurr); + } + +# check for const <foo> const where <foo> is not a pointer or array type + if ($sline =~ /\bconst\s+($BasicType)\s+const\b/) { + my $found = $1; + if ($sline =~ /\bconst\s+\Q$found\E\s+const\b\s*\*/) { + WARN("CONST_CONST", + "'const $found const *' should probably be 'const $found * const'\n" . $herecurr); + } elsif ($sline !~ /\bconst\s+\Q$found\E\s+const\s+\w+\s*\[/) { + WARN("CONST_CONST", + "'const $found const' should probably be 'const $found'\n" . $herecurr); + } + } + +# check for non-global char *foo[] = {"bar", ...} declarations. + if ($line =~ /^.\s+(?:static\s+|const\s+)?char\s+\*\s*\w+\s*\[\s*\]\s*=\s*\{/) { + WARN("STATIC_CONST_CHAR_ARRAY", + "char * array declaration might be better as static const\n" . + $herecurr); + } + +# check for sizeof(foo)/sizeof(foo[0]) that could be ARRAY_SIZE(foo) + if ($line =~ m@\bsizeof\s*\(\s*($Lval)\s*\)@) { + my $array = $1; + if ($line =~ m@\b(sizeof\s*\(\s*\Q$array\E\s*\)\s*/\s*sizeof\s*\(\s*\Q$array\E\s*\[\s*0\s*\]\s*\))@) { + my $array_div = $1; + if (WARN("ARRAY_SIZE", + "Prefer ARRAY_SIZE($array)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\Q$array_div\E/ARRAY_SIZE($array)/; + } + } + } + +# check for function declarations without arguments like "int foo()" + if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { + if (ERROR("FUNCTION_WITHOUT_ARGS", + "Bad function definition - $1() should probably be $1(void)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\b($Type)\s+($Ident))\s*\(\s*\)/$2 $3(void)/; + } + } + +# check for new typedefs, only function parameters and sparse annotations +# make sense. + if ($line =~ /\btypedef\s/ && + $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ && + $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ && + $line !~ /\b$typeTypedefs\b/ && + $line !~ /\b__bitwise(?:__|)\b/) { + WARN("NEW_TYPEDEFS", + "do not add new typedefs\n" . $herecurr); + } + +# * goes on variable not on type + # (char*[ const]) + while ($line =~ m{(\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\))}g) { + #print "AA<$1>\n"; + my ($ident, $from, $to) = ($1, $2, $2); + + # Should start with a space. + $to =~ s/^(\S)/ $1/; + # Should not end with a space. + $to =~ s/\s+$//; + # '*'s should not have spaces between. + while ($to =~ s/\*\s+\*/\*\*/) { + } + +## print "1: from<$from> to<$to> ident<$ident>\n"; + if ($from ne $to) { + if (ERROR("POINTER_LOCATION", + "\"(foo$from)\" should be \"(foo$to)\"\n" . $herecurr) && + $fix) { + my $sub_from = $ident; + my $sub_to = $ident; + $sub_to =~ s/\Q$from\E/$to/; + $fixed[$fixlinenr] =~ + s@\Q$sub_from\E@$sub_to@; + } + } + } + while ($line =~ m{(\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident))}g) { + #print "BB<$1>\n"; + my ($match, $from, $to, $ident) = ($1, $2, $2, $3); + + # Should start with a space. + $to =~ s/^(\S)/ $1/; + # Should not end with a space. + $to =~ s/\s+$//; + # '*'s should not have spaces between. + while ($to =~ s/\*\s+\*/\*\*/) { + } + # Modifiers should have spaces. + $to =~ s/(\b$Modifier$)/$1 /; + +## print "2: from<$from> to<$to> ident<$ident>\n"; + if ($from ne $to && $ident !~ /^$Modifier$/) { + if (ERROR("POINTER_LOCATION", + "\"foo${from}bar\" should be \"foo${to}bar\"\n" . $herecurr) && + $fix) { + + my $sub_from = $match; + my $sub_to = $match; + $sub_to =~ s/\Q$from\E/$to/; + $fixed[$fixlinenr] =~ + s@\Q$sub_from\E@$sub_to@; + } + } + } + +# avoid BUG() or BUG_ON() + if ($line =~ /\b(?:BUG|BUG_ON)\b/) { + my $msg_type = \&WARN; + $msg_type = \&CHK if ($file); + &{$msg_type}("AVOID_BUG", + "Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON()\n" . $herecurr); + } + +# avoid LINUX_VERSION_CODE + if ($line =~ /\bLINUX_VERSION_CODE\b/) { + WARN("LINUX_VERSION_CODE", + "LINUX_VERSION_CODE should be avoided, code should be for the version to which it is merged\n" . $herecurr); + } + +# check for uses of printk_ratelimit + if ($line =~ /\bprintk_ratelimit\s*\(/) { + WARN("PRINTK_RATELIMITED", + "Prefer printk_ratelimited or pr_<level>_ratelimited to printk_ratelimit\n" . $herecurr); + } + +# printk should use KERN_* levels. Note that follow on printk's on the +# same line do not need a level, so we use the current block context +# to try and find and validate the current printk. In summary the current +# printk includes all preceding printk's which have no newline on the end. +# we assume the first bad printk is the one to report. + if ($line =~ /\bprintk\((?!KERN_)\s*"/) { + my $ok = 0; + for (my $ln = $linenr - 1; $ln >= $first_line; $ln--) { + #print "CHECK<$lines[$ln - 1]\n"; + # we have a preceding printk if it ends + # with "\n" ignore it, else it is to blame + if ($lines[$ln - 1] =~ m{\bprintk\(}) { + if ($rawlines[$ln - 1] !~ m{\\n"}) { + $ok = 1; + } + last; + } + } + if ($ok == 0) { + WARN("PRINTK_WITHOUT_KERN_LEVEL", + "printk() should include KERN_ facility level\n" . $herecurr); + } + } + + if ($line =~ /\bprintk\s*\(\s*KERN_([A-Z]+)/) { + my $orig = $1; + my $level = lc($orig); + $level = "warn" if ($level eq "warning"); + my $level2 = $level; + $level2 = "dbg" if ($level eq "debug"); + WARN("PREFER_PR_LEVEL", + "Prefer [subsystem eg: netdev]_$level2([subsystem]dev, ... then dev_$level2(dev, ... then pr_$level(... to printk(KERN_$orig ...\n" . $herecurr); + } + + if ($line =~ /\bpr_warning\s*\(/) { + if (WARN("PREFER_PR_LEVEL", + "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\bpr_warning\b/pr_warn/; + } + } + + if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) { + my $orig = $1; + my $level = lc($orig); + $level = "warn" if ($level eq "warning"); + $level = "dbg" if ($level eq "debug"); + WARN("PREFER_DEV_LEVEL", + "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr); + } + +# ENOSYS means "bad syscall nr" and nothing else. This will have a small +# number of false positives, but assembly files are not checked, so at +# least the arch entry code will not trigger this warning. + if ($line =~ /\bENOSYS\b/) { + WARN("ENOSYS", + "ENOSYS means 'invalid syscall nr' and nothing else\n" . $herecurr); + } + +# function brace can't be on same line, except for #defines of do while, +# or if closed on same line + if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and + !($line=~/\#\s*define.*do\s\{/) and !($line=~/}/)) { + if (ERROR("OPEN_BRACE", + "open brace '{' following function declarations go on the next line\n" . $herecurr) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + my $fixed_line = $rawline; + $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/; + my $line1 = $1; + my $line2 = $2; + fix_insert_line($fixlinenr, ltrim($line1)); + fix_insert_line($fixlinenr, "\+{"); + if ($line2 !~ /^\s*$/) { + fix_insert_line($fixlinenr, "\+\t" . trim($line2)); + } + } + } + +# open braces for enum, union and struct go on the same line. + if ($line =~ /^.\s*{/ && + $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) { + if (ERROR("OPEN_BRACE", + "open brace '{' following $1 go on the same line\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = rtrim($prevrawline) . " {"; + fix_insert_line($fixlinenr, $fixedline); + $fixedline = $rawline; + $fixedline =~ s/^(.\s*){\s*/$1\t/; + if ($fixedline !~ /^\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + } + } + +# missing space after union, struct or enum definition + if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident){1,2}[=\{]/) { + if (WARN("SPACING", + "missing space after $1 definition\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*(?:typedef\s+)?(?:enum|union|struct)(?:\s+$Ident){1,2})([=\{])/$1 $2/; + } + } + +# Function pointer declarations +# check spacing between type, funcptr, and args +# canonical declaration is "type (*funcptr)(args...)" + if ($line =~ /^.\s*($Declare)\((\s*)\*(\s*)($Ident)(\s*)\)(\s*)\(/) { + my $declare = $1; + my $pre_pointer_space = $2; + my $post_pointer_space = $3; + my $funcname = $4; + my $post_funcname_space = $5; + my $pre_args_space = $6; + +# the $Declare variable will capture all spaces after the type +# so check it for a missing trailing missing space but pointer return types +# don't need a space so don't warn for those. + my $post_declare_space = ""; + if ($declare =~ /(\s+)$/) { + $post_declare_space = $1; + $declare = rtrim($declare); + } + if ($declare !~ /\*$/ && $post_declare_space =~ /^$/) { + WARN("SPACING", + "missing space after return type\n" . $herecurr); + $post_declare_space = " "; + } + +# unnecessary space "type (*funcptr)(args...)" +# This test is not currently implemented because these declarations are +# equivalent to +# int foo(int bar, ...) +# and this is form shouldn't/doesn't generate a checkpatch warning. +# +# elsif ($declare =~ /\s{2,}$/) { +# WARN("SPACING", +# "Multiple spaces after return type\n" . $herecurr); +# } + +# unnecessary space "type ( *funcptr)(args...)" + if (defined $pre_pointer_space && + $pre_pointer_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space after function pointer open parenthesis\n" . $herecurr); + } + +# unnecessary space "type (* funcptr)(args...)" + if (defined $post_pointer_space && + $post_pointer_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space before function pointer name\n" . $herecurr); + } + +# unnecessary space "type (*funcptr )(args...)" + if (defined $post_funcname_space && + $post_funcname_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space after function pointer name\n" . $herecurr); + } + +# unnecessary space "type (*funcptr) (args...)" + if (defined $pre_args_space && + $pre_args_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space before function pointer arguments\n" . $herecurr); + } + + if (show_type("SPACING") && $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*)$Declare\s*\(\s*\*\s*$Ident\s*\)\s*\(/$1 . $declare . $post_declare_space . '(*' . $funcname . ')('/ex; + } + } + +# check for spacing round square brackets; allowed: +# 1. with a type on the left -- int [] a; +# 2. at the beginning of a line for slice initialisers -- [0...10] = 5, +# 3. inside a curly brace -- = { [0...10] = 5 } + while ($line =~ /(.*?\s)\[/g) { + my ($where, $prefix) = ($-[1], $1); + if ($prefix !~ /$Type\s+$/ && + ($where != 0 || $prefix !~ /^.\s+$/) && + $prefix !~ /[{,]\s+$/) { + if (ERROR("BRACKET_SPACE", + "space prohibited before open square bracket '['\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(\+.*?)\s+\[/$1\[/; + } + } + } + +# check for spaces between functions and their parentheses. + while ($line =~ /($Ident)\s+\(/g) { + my $name = $1; + my $ctx_before = substr($line, 0, $-[1]); + my $ctx = "$ctx_before$name"; + + # Ignore those directives where spaces _are_ permitted. + if ($name =~ /^(?: + if|for|while|switch|return|case| + volatile|__volatile__| + __attribute__|format|__extension__| + asm|__asm__)$/x) + { + # cpp #define statements have non-optional spaces, ie + # if there is a space between the name and the open + # parenthesis it is simply not a parameter group. + } elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) { + + # cpp #elif statement condition may start with a ( + } elsif ($ctx =~ /^.\s*\#\s*elif\s*$/) { + + # If this whole things ends with a type its most + # likely a typedef for a function. + } elsif ($ctx =~ /$Type$/) { + + } else { + if (WARN("SPACING", + "space prohibited between function name and open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\b$name\s+\(/$name\(/; + } + } + } + +# Check operator spacing. + if (!($line=~/\#\s*include/)) { + my $fixed_line = ""; + my $line_fixed = 0; + + my $ops = qr{ + <<=|>>=|<=|>=|==|!=| + \+=|-=|\*=|\/=|%=|\^=|\|=|&=| + =>|->|<<|>>|<|>|=|!|~| + &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%| + \?:|\?|: + }x; + my @elements = split(/($ops|;)/, $opline); + +## print("element count: <" . $#elements . ">\n"); +## foreach my $el (@elements) { +## print("el: <$el>\n"); +## } + + my @fix_elements = (); + my $off = 0; + + foreach my $el (@elements) { + push(@fix_elements, substr($rawline, $off, length($el))); + $off += length($el); + } + + $off = 0; + + my $blank = copy_spacing($opline); + my $last_after = -1; + + for (my $n = 0; $n < $#elements; $n += 2) { + + my $good = $fix_elements[$n] . $fix_elements[$n + 1]; + +## print("n: <$n> good: <$good>\n"); + + $off += length($elements[$n]); + + # Pick up the preceding and succeeding characters. + my $ca = substr($opline, 0, $off); + my $cc = ''; + if (length($opline) >= ($off + length($elements[$n + 1]))) { + $cc = substr($opline, $off + length($elements[$n + 1])); + } + my $cb = "$ca$;$cc"; + + my $a = ''; + $a = 'V' if ($elements[$n] ne ''); + $a = 'W' if ($elements[$n] =~ /\s$/); + $a = 'C' if ($elements[$n] =~ /$;$/); + $a = 'B' if ($elements[$n] =~ /(\[|\()$/); + $a = 'O' if ($elements[$n] eq ''); + $a = 'E' if ($ca =~ /^\s*$/); + + my $op = $elements[$n + 1]; + + my $c = ''; + if (defined $elements[$n + 2]) { + $c = 'V' if ($elements[$n + 2] ne ''); + $c = 'W' if ($elements[$n + 2] =~ /^\s/); + $c = 'C' if ($elements[$n + 2] =~ /^$;/); + $c = 'B' if ($elements[$n + 2] =~ /^(\)|\]|;)/); + $c = 'O' if ($elements[$n + 2] eq ''); + $c = 'E' if ($elements[$n + 2] =~ /^\s*\\$/); + } else { + $c = 'E'; + } + + my $ctx = "${a}x${c}"; + + my $at = "(ctx:$ctx)"; + + my $ptr = substr($blank, 0, $off) . "^"; + my $hereptr = "$hereline$ptr\n"; + + # Pull out the value of this operator. + my $op_type = substr($curr_values, $off + 1, 1); + + # Get the full operator variant. + my $opv = $op . substr($curr_vars, $off, 1); + + # Ignore operators passed as parameters. + if ($op_type ne 'V' && + $ca =~ /\s$/ && $cc =~ /^\s*[,\)]/) { + +# # Ignore comments +# } elsif ($op =~ /^$;+$/) { + + # ; should have either the end of line or a space or \ after it + } elsif ($op eq ';') { + if ($ctx !~ /.x[WEBC]/ && + $cc !~ /^\\/ && $cc !~ /^;/) { + if (ERROR("SPACING", + "space required after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " "; + $line_fixed = 1; + } + } + + # // is a comment + } elsif ($op eq '//') { + + # : when part of a bitfield + } elsif ($opv eq ':B') { + # skip the bitfield test for now + + # No spaces for: + # -> + } elsif ($op eq '->') { + if ($ctx =~ /Wx.|.xW/) { + if (ERROR("SPACING", + "spaces prohibited around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } + } + + # , must not have a space before and must have a space on the right. + } elsif ($op eq ',') { + my $rtrim_before = 0; + my $space_after = 0; + if ($ctx =~ /Wx./) { + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $line_fixed = 1; + $rtrim_before = 1; + } + } + if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) { + if (ERROR("SPACING", + "space required after that '$op' $at\n" . $hereptr)) { + $line_fixed = 1; + $last_after = $n; + $space_after = 1; + } + } + if ($rtrim_before || $space_after) { + if ($rtrim_before) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + } else { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]); + } + if ($space_after) { + $good .= " "; + } + } + + # '*' as part of a type definition -- reported already. + } elsif ($opv eq '*_') { + #warn "'*' is part of type\n"; + + # unary operators should have a space before and + # none after. May be left adjacent to another + # unary operator, or a cast + } elsif ($op eq '!' || $op eq '~' || + $opv eq '*U' || $opv eq '-U' || + $opv eq '&U' || $opv eq '&&U') { + if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { + if (ERROR("SPACING", + "space required before that '$op' $at\n" . $hereptr)) { + if ($n != $last_after + 2) { + $good = $fix_elements[$n] . " " . ltrim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } + } + if ($op eq '*' && $cc =~/\s*$Modifier\b/) { + # A unary '*' may be const + + } elsif ($ctx =~ /.xW/) { + if (ERROR("SPACING", + "space prohibited after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . rtrim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } + } + + # unary ++ and unary -- are allowed no space on one side. + } elsif ($op eq '++' or $op eq '--') { + if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) { + if (ERROR("SPACING", + "space required one side of that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " "; + $line_fixed = 1; + } + } + if ($ctx =~ /Wx[BE]/ || + ($ctx =~ /Wx./ && $cc =~ /^;/)) { + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } + if ($ctx =~ /ExW/) { + if (ERROR("SPACING", + "space prohibited after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } + } + + # << and >> may either have or not have spaces both sides + } elsif ($op eq '<<' or $op eq '>>' or + $op eq '&' or $op eq '^' or $op eq '|' or + $op eq '+' or $op eq '-' or + $op eq '*' or $op eq '/' or + $op eq '%') + { + if ($check) { + if (defined $fix_elements[$n + 2] && $ctx !~ /[EW]x[EW]/) { + if (CHK("SPACING", + "spaces preferred around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + $fix_elements[$n + 2] =~ s/^\s+//; + $line_fixed = 1; + } + } elsif (!defined $fix_elements[$n + 2] && $ctx !~ /Wx[OE]/) { + if (CHK("SPACING", + "space preferred before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } + } elsif ($ctx =~ /Wx[^WCE]|[^WCE]xW/) { + if (ERROR("SPACING", + "need consistent spacing around '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } + } + + # A colon needs no spaces before when it is + # terminating a case value or a label. + } elsif ($opv eq ':C' || $opv eq ':L') { + if ($ctx =~ /Wx./) { + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } + + # All the others need spaces both sides. + } elsif ($ctx !~ /[EWC]x[CWE]/) { + my $ok = 0; + + # Ignore email addresses <foo@bar> + if (($op eq '<' && + $cc =~ /^\S+\@\S+>/) || + ($op eq '>' && + $ca =~ /<\S+\@\S+$/)) + { + $ok = 1; + } + + # for asm volatile statements + # ignore a colon with another + # colon immediately before or after + if (($op eq ':') && + ($ca =~ /:$/ || $cc =~ /^:/)) { + $ok = 1; + } + + # messages are ERROR, but ?: are CHK + if ($ok == 0) { + my $msg_type = \&ERROR; + $msg_type = \&CHK if (($op eq '?:' || $op eq '?' || $op eq ':') && $ctx =~ /VxV/); + + if (&{$msg_type}("SPACING", + "spaces required around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } + } + } + $off += length($elements[$n + 1]); + +## print("n: <$n> GOOD: <$good>\n"); + + $fixed_line = $fixed_line . $good; + } + + if (($#elements % 2) == 0) { + $fixed_line = $fixed_line . $fix_elements[$#elements]; + } + + if ($fix && $line_fixed && $fixed_line ne $fixed[$fixlinenr]) { + $fixed[$fixlinenr] = $fixed_line; + } + + + } + +# check for whitespace before a non-naked semicolon + if ($line =~ /^\+.*\S\s+;\s*$/) { + if (WARN("SPACING", + "space prohibited before semicolon\n" . $herecurr) && + $fix) { + 1 while $fixed[$fixlinenr] =~ + s/^(\+.*\S)\s+;/$1;/; + } + } + +# check for multiple assignments + if ($line =~ /^.\s*$Lval\s*=\s*$Lval\s*=(?!=)/) { + CHK("MULTIPLE_ASSIGNMENTS", + "multiple assignments should be avoided\n" . $herecurr); + } + +## # check for multiple declarations, allowing for a function declaration +## # continuation. +## if ($line =~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Ident.*/ && +## $line !~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Type\s*$Ident.*/) { +## +## # Remove any bracketed sections to ensure we do not +## # falsly report the parameters of functions. +## my $ln = $line; +## while ($ln =~ s/\([^\(\)]*\)//g) { +## } +## if ($ln =~ /,/) { +## WARN("MULTIPLE_DECLARATION", +## "declaring multiple variables together should be avoided\n" . $herecurr); +## } +## } + +#need space before brace following if, while, etc + if (($line =~ /\(.*\)\{/ && $line !~ /\($Type\)\{/) || + $line =~ /do\{/) { + if (ERROR("SPACING", + "space required before the open brace '{'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\))){/$1 {/; + } + } + +## # check for blank lines before declarations +## if ($line =~ /^.\t+$Type\s+$Ident(?:\s*=.*)?;/ && +## $prevrawline =~ /^.\s*$/) { +## WARN("SPACING", +## "No blank lines before declarations\n" . $hereprev); +## } +## + +# closing brace should have a space following it when it has anything +# on the line + if ($line =~ /}(?!(?:,|;|\)))\S/) { + if (ERROR("SPACING", + "space required after that close brace '}'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/}((?!(?:,|;|\)))\S)/} $1/; + } + } + +# check spacing on square brackets + if ($line =~ /\[\s/ && $line !~ /\[\s*$/) { + if (ERROR("SPACING", + "space prohibited after that open square bracket '['\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\[\s+/\[/; + } + } + if ($line =~ /\s\]/) { + if (ERROR("SPACING", + "space prohibited before that close square bracket ']'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\s+\]/\]/; + } + } + +# check spacing on parentheses + if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ && + $line !~ /for\s*\(\s+;/) { + if (ERROR("SPACING", + "space prohibited after that open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\(\s+/\(/; + } + } + if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ && + $line !~ /for\s*\(.*;\s+\)/ && + $line !~ /:\s+\)/) { + if (ERROR("SPACING", + "space prohibited before that close parenthesis ')'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\s+\)/\)/; + } + } + +# check unnecessary parentheses around addressof/dereference single $Lvals +# ie: &(foo->bar) should be &foo->bar and *(foo->bar) should be *foo->bar + + while ($line =~ /(?:[^&]&\s*|\*)\(\s*($Ident\s*(?:$Member\s*)+)\s*\)/g) { + my $var = $1; + if (CHK("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses around $var\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\(\s*\Q$var\E\s*\)/$var/; + } + } + +# check for unnecessary parentheses around function pointer uses +# ie: (foo->bar)(); should be foo->bar(); +# but not "if (foo->bar) (" to avoid some false positives + if ($line =~ /(\bif\s*|)(\(\s*$Ident\s*(?:$Member\s*)+\))[ \t]*\(/ && $1 !~ /^if/) { + my $var = $2; + if (CHK("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses around function pointer $var\n" . $herecurr) && + $fix) { + my $var2 = deparenthesize($var); + $var2 =~ s/\s//g; + $fixed[$fixlinenr] =~ s/\Q$var\E/$var2/; + } + } + +#goto labels aren't indented, allow a single space however + if ($line=~/^.\s+[A-Za-z\d_]+:(?![0-9]+)/ and + !($line=~/^. [A-Za-z\d_]+:/) and !($line=~/^.\s+default:/)) { + if (WARN("INDENTED_LABEL", + "labels should not be indented\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.)\s+/$1/; + } + } + +# return is not a function + if (defined($stat) && $stat =~ /^.\s*return(\s*)\(/s) { + my $spacing = $1; + if ($^V && $^V ge 5.10.0 && + $stat =~ /^.\s*return\s*($balanced_parens)\s*;\s*$/) { + my $value = $1; + $value = deparenthesize($value); + if ($value =~ m/^\s*$FuncArg\s*(?:\?|$)/) { + ERROR("RETURN_PARENTHESES", + "return is not a function, parentheses are not required\n" . $herecurr); + } + } elsif ($spacing !~ /\s+/) { + ERROR("SPACING", + "space required before the open parenthesis '('\n" . $herecurr); + } + } + +# unnecessary return in a void function +# at end-of-function, with the previous line a single leading tab, then return; +# and the line before that not a goto label target like "out:" + if ($sline =~ /^[ \+]}\s*$/ && + $prevline =~ /^\+\treturn\s*;\s*$/ && + $linenr >= 3 && + $lines[$linenr - 3] =~ /^[ +]/ && + $lines[$linenr - 3] !~ /^[ +]\s*$Ident\s*:/) { + WARN("RETURN_VOID", + "void function return statements are not generally useful\n" . $hereprev); + } + +# if statements using unnecessary parentheses - ie: if ((foo == bar)) + if ($^V && $^V ge 5.10.0 && + $line =~ /\bif\s*((?:\(\s*){2,})/) { + my $openparens = $1; + my $count = $openparens =~ tr@\(@\(@; + my $msg = ""; + if ($line =~ /\bif\s*(?:\(\s*){$count,$count}$LvalOrFunc\s*($Compare)\s*$LvalOrFunc(?:\s*\)){$count,$count}/) { + my $comp = $4; #Not $1 because of $LvalOrFunc + $msg = " - maybe == should be = ?" if ($comp eq "=="); + WARN("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses$msg\n" . $herecurr); + } + } + +# comparisons with a constant or upper case identifier on the left +# avoid cases like "foo + BAR < baz" +# only fix matches surrounded by parentheses to avoid incorrect +# conversions like "FOO < baz() + 5" being "misfixed" to "baz() > FOO + 5" + if ($^V && $^V ge 5.10.0 && + $line =~ /^\+(.*)\b($Constant|[A-Z_][A-Z0-9_]*)\s*($Compare)\s*($LvalOrFunc)/) { + my $lead = $1; + my $const = $2; + my $comp = $3; + my $to = $4; + my $newcomp = $comp; + if ($lead !~ /(?:$Operators|\.)\s*$/ && + $to !~ /^(?:Constant|[A-Z_][A-Z0-9_]*)$/ && + WARN("CONSTANT_COMPARISON", + "Comparisons should place the constant on the right side of the test\n" . $herecurr) && + $fix) { + if ($comp eq "<") { + $newcomp = ">"; + } elsif ($comp eq "<=") { + $newcomp = ">="; + } elsif ($comp eq ">") { + $newcomp = "<"; + } elsif ($comp eq ">=") { + $newcomp = "<="; + } + $fixed[$fixlinenr] =~ s/\(\s*\Q$const\E\s*$Compare\s*\Q$to\E\s*\)/($to $newcomp $const)/; + } + } + +# Return of what appears to be an errno should normally be negative + if ($sline =~ /\breturn(?:\s*\(+\s*|\s+)(E[A-Z]+)(?:\s*\)+\s*|\s*)[;:,]/) { + my $name = $1; + if ($name ne 'EOF' && $name ne 'ERROR') { + WARN("USE_NEGATIVE_ERRNO", + "return of an errno should typically be negative (ie: return -$1)\n" . $herecurr); + } + } + +# Need a space before open parenthesis after if, while etc + if ($line =~ /\b(if|while|for|switch)\(/) { + if (ERROR("SPACING", + "space required before the open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\b(if|while|for|switch)\(/$1 \(/; + } + } + +# Check for illegal assignment in if conditional -- and check for trailing +# statements after the conditional. + if ($line =~ /do\s*(?!{)/) { + ($stat, $cond, $line_nr_next, $remain_next, $off_next) = + ctx_statement_block($linenr, $realcnt, 0) + if (!defined $stat); + my ($stat_next) = ctx_statement_block($line_nr_next, + $remain_next, $off_next); + $stat_next =~ s/\n./\n /g; + ##print "stat<$stat> stat_next<$stat_next>\n"; + + if ($stat_next =~ /^\s*while\b/) { + # If the statement carries leading newlines, + # then count those as offsets. + my ($whitespace) = + ($stat_next =~ /^((?:\s*\n[+-])*\s*)/s); + my $offset = + statement_rawlines($whitespace) - 1; + + $suppress_whiletrailers{$line_nr_next + + $offset} = 1; + } + } + if (!defined $suppress_whiletrailers{$linenr} && + defined($stat) && defined($cond) && + $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) { + my ($s, $c) = ($stat, $cond); + + if ($c =~ /\bif\s*\(.*[^<>!=]=[^=].*/s) { + ERROR("ASSIGN_IN_IF", + "do not use assignment in if condition\n" . $herecurr); + } + + # Find out what is on the end of the line after the + # conditional. + substr($s, 0, length($c), ''); + $s =~ s/\n.*//g; + $s =~ s/$;//g; # Remove any comments + if (length($c) && $s !~ /^\s*{?\s*\\*\s*$/ && + $c !~ /}\s*while\s*/) + { + # Find out how long the conditional actually is. + my @newlines = ($c =~ /\n/gs); + my $cond_lines = 1 + $#newlines; + my $stat_real = ''; + + $stat_real = raw_line($linenr, $cond_lines) + . "\n" if ($cond_lines); + if (defined($stat_real) && $cond_lines > 1) { + $stat_real = "[...]\n$stat_real"; + } + + ERROR("TRAILING_STATEMENTS", + "trailing statements should be on next line\n" . $herecurr . $stat_real); + } + } + +# Check for bitwise tests written as boolean + if ($line =~ / + (?: + (?:\[|\(|\&\&|\|\|) + \s*0[xX][0-9]+\s* + (?:\&\&|\|\|) + | + (?:\&\&|\|\|) + \s*0[xX][0-9]+\s* + (?:\&\&|\|\||\)|\]) + )/x) + { + WARN("HEXADECIMAL_BOOLEAN_TEST", + "boolean test with hexadecimal, perhaps just 1 \& or \|?\n" . $herecurr); + } + +# if and else should not have general statements after it + if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/) { + my $s = $1; + $s =~ s/$;//g; # Remove any comments + if ($s !~ /^\s*(?:\sif|(?:{|)\s*\\?\s*$)/) { + ERROR("TRAILING_STATEMENTS", + "trailing statements should be on next line\n" . $herecurr); + } + } +# if should not continue a brace + if ($line =~ /}\s*if\b/) { + ERROR("TRAILING_STATEMENTS", + "trailing statements should be on next line (or did you mean 'else if'?)\n" . + $herecurr); + } +# case and default should not have general statements after them + if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g && + $line !~ /\G(?: + (?:\s*$;*)(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$| + \s*return\s+ + )/xg) + { + ERROR("TRAILING_STATEMENTS", + "trailing statements should be on next line\n" . $herecurr); + } + + # Check for }<nl>else {, these must be at the same + # indent level to be relevant to each other. + if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ && + $previndent == $indent) { + if (ERROR("ELSE_AFTER_BRACE", + "else should follow close brace '}'\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/}\s*$//; + if ($fixedline !~ /^\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + $fixedline = $rawline; + $fixedline =~ s/^(.\s*)else/$1} else/; + fix_insert_line($fixlinenr, $fixedline); + } + } + + if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ && + $previndent == $indent) { + my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0); + + # Find out what is on the end of the line after the + # conditional. + substr($s, 0, length($c), ''); + $s =~ s/\n.*//g; + + if ($s =~ /^\s*;/) { + if (ERROR("WHILE_AFTER_BRACE", + "while should follow close brace '}'\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + my $trailing = $rawline; + $trailing =~ s/^\+//; + $trailing = trim($trailing); + $fixedline =~ s/}\s*$/} $trailing/; + fix_insert_line($fixlinenr, $fixedline); + } + } + } + +#Specific variable tests + while ($line =~ m{($Constant|$Lval)}g) { + my $var = $1; + +#gcc binary extension + if ($var =~ /^$Binary$/) { + if (WARN("GCC_BINARY_CONSTANT", + "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) && + $fix) { + my $hexval = sprintf("0x%x", oct($var)); + $fixed[$fixlinenr] =~ + s/\b$var\b/$hexval/; + } + } + +#CamelCase + if ($var !~ /^$Constant$/ && + $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && +#Ignore Page<foo> variants + $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ && +#Ignore SI style variants like nS, mV and dB (ie: max_uV, regulator_min_uA_show) + $var !~ /^(?:[a-z_]*?)_?[a-z][A-Z](?:_[a-z_]+)?$/ && +#Ignore some three character SI units explicitly, like MiB and KHz + $var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) { + while ($var =~ m{($Ident)}g) { + my $word = $1; + next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/); + if ($check) { + seed_camelcase_includes(); + if (!$file && !$camelcase_file_seeded) { + seed_camelcase_file($realfile); + $camelcase_file_seeded = 1; + } + } + if (!defined $camelcase{$word}) { + $camelcase{$word} = 1; + CHK("CAMELCASE", + "Avoid CamelCase: <$word>\n" . $herecurr); + } + } + } + } + +#no spaces allowed after \ in define + if ($line =~ /\#\s*define.*\\\s+$/) { + if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION", + "Whitespace after \\ makes next lines useless\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+$//; + } + } + +# warn if <asm/foo.h> is #included and <linux/foo.h> is available and includes +# itself <asm/foo.h> (uses RAW line) + if ($tree && $rawline =~ m{^.\s*\#\s*include\s*\<asm\/(.*)\.h\>}) { + my $file = "$1.h"; + my $checkfile = "include/linux/$file"; + if (-f "$root/$checkfile" && + $realfile ne $checkfile && + $1 !~ /$allowed_asm_includes/) + { + my $asminclude = `grep -Ec "#include\\s+<asm/$file>" $root/$checkfile`; + if ($asminclude > 0) { + if ($realfile =~ m{^arch/}) { + CHK("ARCH_INCLUDE_LINUX", + "Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + } else { + WARN("INCLUDE_LINUX", + "Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + } + } + } + } + +# multi-statement macros should be enclosed in a do while loop, grab the +# first statement and ensure its the whole macro if its not enclosed +# in a known good container + if ($realfile !~ m@/vmlinux.lds.h$@ && + $line =~ /^.\s*\#\s*define\s*$Ident(\()?/) { + my $ln = $linenr; + my $cnt = $realcnt; + my ($off, $dstat, $dcond, $rest); + my $ctx = ''; + my $has_flow_statement = 0; + my $has_arg_concat = 0; + ($dstat, $dcond, $ln, $cnt, $off) = + ctx_statement_block($linenr, $realcnt, 0); + $ctx = $dstat; + #print "dstat<$dstat> dcond<$dcond> cnt<$cnt> off<$off>\n"; + #print "LINE<$lines[$ln-1]> len<" . length($lines[$ln-1]) . "\n"; + + $has_flow_statement = 1 if ($ctx =~ /\b(goto|return)\b/); + $has_arg_concat = 1 if ($ctx =~ /\#\#/ && $ctx !~ /\#\#\s*(?:__VA_ARGS__|args)\b/); + + $dstat =~ s/^.\s*\#\s*define\s+$Ident(\([^\)]*\))?\s*//; + my $define_args = $1; + my $define_stmt = $dstat; + my @def_args = (); + + if (defined $define_args && $define_args ne "") { + $define_args = substr($define_args, 1, length($define_args) - 2); + $define_args =~ s/\s*//g; + @def_args = split(",", $define_args); + } + + $dstat =~ s/$;//g; + $dstat =~ s/\\\n.//g; + $dstat =~ s/^\s*//s; + $dstat =~ s/\s*$//s; + + # Flatten any parentheses and braces + while ($dstat =~ s/\([^\(\)]*\)/1/ || + $dstat =~ s/\{[^\{\}]*\}/1/ || + $dstat =~ s/.\[[^\[\]]*\]/1/) + { + } + + # Flatten any obvious string concatentation. + while ($dstat =~ s/($String)\s*$Ident/$1/ || + $dstat =~ s/$Ident\s*($String)/$1/) + { + } + + # Make asm volatile uses seem like a generic function + $dstat =~ s/\b_*asm_*\s+_*volatile_*\b/asm_volatile/g; + + my $exceptions = qr{ + $Declare| + module_param_named| + MODULE_PARM_DESC| + DECLARE_PER_CPU| + DEFINE_PER_CPU| + __typeof__\(| + union| + struct| + \.$Ident\s*=\s*| + ^\"|\"$| + ^\[ + }x; + #print "REST<$rest> dstat<$dstat> ctx<$ctx>\n"; + + $ctx =~ s/\n*$//; + my $herectx = $here . "\n"; + my $stmt_cnt = statement_rawlines($ctx); + + for (my $n = 0; $n < $stmt_cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + if ($dstat ne '' && + $dstat !~ /^(?:$Ident|-?$Constant),$/ && # 10, // foo(), + $dstat !~ /^(?:$Ident|-?$Constant);$/ && # foo(); + $dstat !~ /^[!~-]?(?:$Lval|$Constant)$/ && # 10 // foo() // !foo // ~foo // -foo // foo->bar // foo.bar->baz + $dstat !~ /^'X'$/ && $dstat !~ /^'XX'$/ && # character constants + $dstat !~ /$exceptions/ && + $dstat !~ /^\.$Ident\s*=/ && # .foo = + $dstat !~ /^(?:\#\s*$Ident|\#\s*$Constant)\s*$/ && # stringification #foo + $dstat !~ /^do\s*$Constant\s*while\s*$Constant;?$/ && # do {...} while (...); // do {...} while (...) + $dstat !~ /^for\s*$Constant$/ && # for (...) + $dstat !~ /^for\s*$Constant\s+(?:$Ident|-?$Constant)$/ && # for (...) bar() + $dstat !~ /^do\s*{/ && # do {... + $dstat !~ /^\(\{/ && # ({... + $ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/) + { + + if ($dstat =~ /;/) { + ERROR("MULTISTATEMENT_MACRO_USE_DO_WHILE", + "Macros with multiple statements should be enclosed in a do - while loop\n" . "$herectx"); + } else { + ERROR("COMPLEX_MACRO", + "Macros with complex values should be enclosed in parentheses\n" . "$herectx"); + } + + } + + # Make $define_stmt single line, comment-free, etc + my @stmt_array = split('\n', $define_stmt); + my $first = 1; + $define_stmt = ""; + foreach my $l (@stmt_array) { + $l =~ s/\\$//; + if ($first) { + $define_stmt = $l; + $first = 0; + } elsif ($l =~ /^[\+ ]/) { + $define_stmt .= substr($l, 1); + } + } + $define_stmt =~ s/$;//g; + $define_stmt =~ s/\s+/ /g; + $define_stmt = trim($define_stmt); + +# check if any macro arguments are reused (ignore '...' and 'type') + foreach my $arg (@def_args) { + next if ($arg =~ /\.\.\./); + next if ($arg =~ /^type$/i); + my $tmp = $define_stmt; + $tmp =~ s/\b(typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g; + $tmp =~ s/\#+\s*$arg\b//g; + $tmp =~ s/\b$arg\s*\#\#//g; + my $use_cnt = $tmp =~ s/\b$arg\b//g; + if ($use_cnt > 1) { + CHK("MACRO_ARG_REUSE", + "Macro argument reuse '$arg' - possible side-effects?\n" . "$herectx"); + } +# check if any macro arguments may have other precedence issues + if ($define_stmt =~ m/($Operators)?\s*\b$arg\b\s*($Operators)?/m && + ((defined($1) && $1 ne ',') || + (defined($2) && $2 ne ','))) { + CHK("MACRO_ARG_PRECEDENCE", + "Macro argument '$arg' may be better as '($arg)' to avoid precedence issues\n" . "$herectx"); + } + } + +# check for macros with flow control, but without ## concatenation +# ## concatenation is commonly a macro that defines a function so ignore those + if ($has_flow_statement && !$has_arg_concat) { + my $herectx = $here . "\n"; + my $cnt = statement_rawlines($ctx); + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + WARN("MACRO_WITH_FLOW_CONTROL", + "Macros with flow control statements should be avoided\n" . "$herectx"); + } + +# check for line continuations outside of #defines, preprocessor #, and asm + + } else { + if ($prevline !~ /^..*\\$/ && + $line !~ /^\+\s*\#.*\\$/ && # preprocessor + $line !~ /^\+.*\b(__asm__|asm)\b.*\\$/ && # asm + $line =~ /^\+.*\\$/) { + WARN("LINE_CONTINUATIONS", + "Avoid unnecessary line continuations\n" . $herecurr); + } + } + +# do {} while (0) macro tests: +# single-statement macros do not need to be enclosed in do while (0) loop, +# macro should not end with a semicolon + if ($^V && $^V ge 5.10.0 && + $realfile !~ m@/vmlinux.lds.h$@ && + $line =~ /^.\s*\#\s*define\s+$Ident(\()?/) { + my $ln = $linenr; + my $cnt = $realcnt; + my ($off, $dstat, $dcond, $rest); + my $ctx = ''; + ($dstat, $dcond, $ln, $cnt, $off) = + ctx_statement_block($linenr, $realcnt, 0); + $ctx = $dstat; + + $dstat =~ s/\\\n.//g; + $dstat =~ s/$;/ /g; + + if ($dstat =~ /^\+\s*#\s*define\s+$Ident\s*${balanced_parens}\s*do\s*{(.*)\s*}\s*while\s*\(\s*0\s*\)\s*([;\s]*)\s*$/) { + my $stmts = $2; + my $semis = $3; + + $ctx =~ s/\n*$//; + my $cnt = statement_rawlines($ctx); + my $herectx = $here . "\n"; + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + if (($stmts =~ tr/;/;/) == 1 && + $stmts !~ /^\s*(if|while|for|switch)\b/) { + WARN("SINGLE_STATEMENT_DO_WHILE_MACRO", + "Single statement macros should not use a do {} while (0) loop\n" . "$herectx"); + } + if (defined $semis && $semis ne "") { + WARN("DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON", + "do {} while (0) macros should not be semicolon terminated\n" . "$herectx"); + } + } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) { + $ctx =~ s/\n*$//; + my $cnt = statement_rawlines($ctx); + my $herectx = $here . "\n"; + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + WARN("TRAILING_SEMICOLON", + "macros should not use a trailing semicolon\n" . "$herectx"); + } + } + +# make sure symbols are always wrapped with VMLINUX_SYMBOL() ... +# all assignments may have only one of the following with an assignment: +# . +# ALIGN(...) +# VMLINUX_SYMBOL(...) + if ($realfile eq 'vmlinux.lds.h' && $line =~ /(?:(?:^|\s)$Ident\s*=|=\s*$Ident(?:\s|$))/) { + WARN("MISSING_VMLINUX_SYMBOL", + "vmlinux.lds.h needs VMLINUX_SYMBOL() around C-visible symbols\n" . $herecurr); + } + +# check for redundant bracing round if etc + if ($line =~ /(^.*)\bif\b/ && $1 !~ /else\s*$/) { + my ($level, $endln, @chunks) = + ctx_statement_full($linenr, $realcnt, 1); + #print "chunks<$#chunks> linenr<$linenr> endln<$endln> level<$level>\n"; + #print "APW: <<$chunks[1][0]>><<$chunks[1][1]>>\n"; + if ($#chunks > 0 && $level == 0) { + my @allowed = (); + my $allow = 0; + my $seen = 0; + my $herectx = $here . "\n"; + my $ln = $linenr - 1; + for my $chunk (@chunks) { + my ($cond, $block) = @{$chunk}; + + # If the condition carries leading newlines, then count those as offsets. + my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s); + my $offset = statement_rawlines($whitespace) - 1; + + $allowed[$allow] = 0; + #print "COND<$cond> whitespace<$whitespace> offset<$offset>\n"; + + # We have looked at and allowed this specific line. + $suppress_ifbraces{$ln + $offset} = 1; + + $herectx .= "$rawlines[$ln + $offset]\n[...]\n"; + $ln += statement_rawlines($block) - 1; + + substr($block, 0, length($cond), ''); + + $seen++ if ($block =~ /^\s*{/); + + #print "cond<$cond> block<$block> allowed<$allowed[$allow]>\n"; + if (statement_lines($cond) > 1) { + #print "APW: ALLOWED: cond<$cond>\n"; + $allowed[$allow] = 1; + } + if ($block =~/\b(?:if|for|while)\b/) { + #print "APW: ALLOWED: block<$block>\n"; + $allowed[$allow] = 1; + } + if (statement_block_size($block) > 1) { + #print "APW: ALLOWED: lines block<$block>\n"; + $allowed[$allow] = 1; + } + $allow++; + } + if ($seen) { + my $sum_allowed = 0; + foreach (@allowed) { + $sum_allowed += $_; + } + if ($sum_allowed == 0) { + WARN("BRACES", + "braces {} are not necessary for any arm of this statement\n" . $herectx); + } elsif ($sum_allowed != $allow && + $seen != $allow) { + CHK("BRACES", + "braces {} should be used on all arms of this statement\n" . $herectx); + } + } + } + } + if (!defined $suppress_ifbraces{$linenr - 1} && + $line =~ /\b(if|while|for|else)\b/) { + my $allowed = 0; + + # Check the pre-context. + if (substr($line, 0, $-[0]) =~ /(\}\s*)$/) { + #print "APW: ALLOWED: pre<$1>\n"; + $allowed = 1; + } + + my ($level, $endln, @chunks) = + ctx_statement_full($linenr, $realcnt, $-[0]); + + # Check the condition. + my ($cond, $block) = @{$chunks[0]}; + #print "CHECKING<$linenr> cond<$cond> block<$block>\n"; + if (defined $cond) { + substr($block, 0, length($cond), ''); + } + if (statement_lines($cond) > 1) { + #print "APW: ALLOWED: cond<$cond>\n"; + $allowed = 1; + } + if ($block =~/\b(?:if|for|while)\b/) { + #print "APW: ALLOWED: block<$block>\n"; + $allowed = 1; + } + if (statement_block_size($block) > 1) { + #print "APW: ALLOWED: lines block<$block>\n"; + $allowed = 1; + } + # Check the post-context. + if (defined $chunks[1]) { + my ($cond, $block) = @{$chunks[1]}; + if (defined $cond) { + substr($block, 0, length($cond), ''); + } + if ($block =~ /^\s*\{/) { + #print "APW: ALLOWED: chunk-1 block<$block>\n"; + $allowed = 1; + } + } + if ($level == 0 && $block =~ /^\s*\{/ && !$allowed) { + my $herectx = $here . "\n"; + my $cnt = statement_rawlines($block); + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + WARN("BRACES", + "braces {} are not necessary for single statement blocks\n" . $herectx); + } + } + +# check for unnecessary blank lines around braces + if (($line =~ /^.\s*}\s*$/ && $prevrawline =~ /^.\s*$/)) { + if (CHK("BRACES", + "Blank lines aren't necessary before a close brace '}'\n" . $hereprev) && + $fix && $prevrawline =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + } + } + if (($rawline =~ /^.\s*$/ && $prevline =~ /^..*{\s*$/)) { + if (CHK("BRACES", + "Blank lines aren't necessary after an open brace '{'\n" . $hereprev) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + } + } + +# no volatiles please + my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b}; + if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) { + WARN("VOLATILE", + "Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr); + } + +# Check for user-visible strings broken across lines, which breaks the ability +# to grep for the string. Make exceptions when the previous string ends in a +# newline (multiple lines in one string constant) or '\t', '\r', ';', or '{' +# (common in inline assembly) or is a octal \123 or hexadecimal \xaf value + if ($line =~ /^\+\s*$String/ && + $prevline =~ /"\s*$/ && + $prevrawline !~ /(?:\\(?:[ntr]|[0-7]{1,3}|x[0-9a-fA-F]{1,2})|;\s*|\{\s*)"\s*$/) { + if (WARN("SPLIT_STRING", + "quoted string split across lines\n" . $hereprev) && + $fix && + $prevrawline =~ /^\+.*"\s*$/ && + $last_coalesced_string_linenr != $linenr - 1) { + my $extracted_string = get_quoted_string($line, $rawline); + my $comma_close = ""; + if ($rawline =~ /\Q$extracted_string\E(\s*\)\s*;\s*$|\s*,\s*)/) { + $comma_close = $1; + } + + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/"\s*$//; + $fixedline .= substr($extracted_string, 1) . trim($comma_close); + fix_insert_line($fixlinenr - 1, $fixedline); + $fixedline = $rawline; + $fixedline =~ s/\Q$extracted_string\E\Q$comma_close\E//; + if ($fixedline !~ /\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + $last_coalesced_string_linenr = $linenr; + } + } + +# check for missing a space in a string concatenation + if ($prevrawline =~ /[^\\]\w"$/ && $rawline =~ /^\+[\t ]+"\w/) { + WARN('MISSING_SPACE', + "break quoted strings at a space character\n" . $hereprev); + } + +# check for spaces before a quoted newline + if ($rawline =~ /^.*\".*\s\\n/) { + if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", + "unnecessary whitespace before a quoted newline\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/; + } + + } + +# concatenated string without spaces between elements + if ($line =~ /$String[A-Z_]/ || $line =~ /[A-Za-z0-9_]$String/) { + CHK("CONCATENATED_STRING", + "Concatenated strings should use spaces between elements\n" . $herecurr); + } + +# uncoalesced string fragments + if ($line =~ /$String\s*"/) { + WARN("STRING_FRAGMENTS", + "Consecutive strings are generally better as a single string\n" . $herecurr); + } + +# check for %L{u,d,i} and 0x%[udi] in strings + my $string; + while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) { + $string = substr($rawline, $-[1], $+[1] - $-[1]); + $string =~ s/%%/__/g; + if ($string =~ /(?<!%)%[\*\d\.\$]*L[udi]/) { + WARN("PRINTF_L", + "\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr); + last; + } + if ($string =~ /0x%[\*\d\.\$\Llzth]*[udi]/) { + ERROR("PRINTF_0xDECIMAL", + "Prefixing 0x with decimal output is defective\n" . $herecurr); + } + } + +# check for line continuations in quoted strings with odd counts of " + if ($rawline =~ /\\$/ && $rawline =~ tr/"/"/ % 2) { + WARN("LINE_CONTINUATIONS", + "Avoid line continuations in quoted strings\n" . $herecurr); + } + +# warn about #if 0 + if ($line =~ /^.\s*\#\s*if\s+0\b/) { + CHK("REDUNDANT_CODE", + "if this code is redundant consider removing it\n" . + $herecurr); + } + +# check for needless "if (<foo>) fn(<foo>)" uses + if ($prevline =~ /\bif\s*\(\s*($Lval)\s*\)/) { + my $tested = quotemeta($1); + my $expr = '\s*\(\s*' . $tested . '\s*\)\s*;'; + if ($line =~ /\b(kfree|usb_free_urb|debugfs_remove(?:_recursive)?|(?:kmem_cache|mempool|dma_pool)_destroy)$expr/) { + my $func = $1; + if (WARN('NEEDLESS_IF', + "$func(NULL) is safe and this check is probably not required\n" . $hereprev) && + $fix) { + my $do_fix = 1; + my $leading_tabs = ""; + my $new_leading_tabs = ""; + if ($lines[$linenr - 2] =~ /^\+(\t*)if\s*\(\s*$tested\s*\)\s*$/) { + $leading_tabs = $1; + } else { + $do_fix = 0; + } + if ($lines[$linenr - 1] =~ /^\+(\t+)$func\s*\(\s*$tested\s*\)\s*;\s*$/) { + $new_leading_tabs = $1; + if (length($leading_tabs) + 1 ne length($new_leading_tabs)) { + $do_fix = 0; + } + } else { + $do_fix = 0; + } + if ($do_fix) { + fix_delete_line($fixlinenr - 1, $prevrawline); + $fixed[$fixlinenr] =~ s/^\+$new_leading_tabs/\+$leading_tabs/; + } + } + } + } + +# check for unnecessary "Out of Memory" messages + if ($line =~ /^\+.*\b$logFunctions\s*\(/ && + $prevline =~ /^[ \+]\s*if\s*\(\s*(\!\s*|NULL\s*==\s*)?($Lval)(\s*==\s*NULL\s*)?\s*\)/ && + (defined $1 || defined $3) && + $linenr > 3) { + my $testval = $2; + my $testline = $lines[$linenr - 3]; + + my ($s, $c) = ctx_statement_block($linenr - 3, $realcnt, 0); +# print("line: <$line>\nprevline: <$prevline>\ns: <$s>\nc: <$c>\n\n\n"); + + if ($c =~ /(?:^|\n)[ \+]\s*(?:$Type\s*)?\Q$testval\E\s*=\s*(?:\([^\)]*\)\s*)?\s*(?:devm_)?(?:[kv][czm]alloc(?:_node|_array)?\b|kstrdup|(?:dev_)?alloc_skb)/) { + WARN("OOM_MESSAGE", + "Possible unnecessary 'out of memory' message\n" . $hereprev); + } + } + +# check for logging functions with KERN_<LEVEL> + if ($line !~ /printk(?:_ratelimited|_once)?\s*\(/ && + $line =~ /\b$logFunctions\s*\(.*\b(KERN_[A-Z]+)\b/) { + my $level = $1; + if (WARN("UNNECESSARY_KERN_LEVEL", + "Possible unnecessary $level\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s*$level\s*//; + } + } + +# check for mask then right shift without a parentheses + if ($^V && $^V ge 5.10.0 && + $line =~ /$LvalOrFunc\s*\&\s*($LvalOrFunc)\s*>>/ && + $4 !~ /^\&/) { # $LvalOrFunc may be &foo, ignore if so + WARN("MASK_THEN_SHIFT", + "Possible precedence defect with mask then right shift - may need parentheses\n" . $herecurr); + } + +# check for pointer comparisons to NULL + if ($^V && $^V ge 5.10.0) { + while ($line =~ /\b$LvalOrFunc\s*(==|\!=)\s*NULL\b/g) { + my $val = $1; + my $equal = "!"; + $equal = "" if ($4 eq "!="); + if (CHK("COMPARISON_TO_NULL", + "Comparison to NULL could be written \"${equal}${val}\"\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b\Q$val\E\s*(?:==|\!=)\s*NULL\b/$equal$val/; + } + } + } + +# check for bad placement of section $InitAttribute (e.g.: __initdata) + if ($line =~ /(\b$InitAttribute\b)/) { + my $attr = $1; + if ($line =~ /^\+\s*static\s+(?:const\s+)?(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*[=;]/) { + my $ptr = $1; + my $var = $2; + if ((($ptr =~ /\b(union|struct)\s+$attr\b/ && + ERROR("MISPLACED_INIT", + "$attr should be placed after $var\n" . $herecurr)) || + ($ptr !~ /\b(union|struct)\s+$attr\b/ && + WARN("MISPLACED_INIT", + "$attr should be placed after $var\n" . $herecurr))) && + $fix) { + $fixed[$fixlinenr] =~ s/(\bstatic\s+(?:const\s+)?)(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*([=;])\s*/"$1" . trim(string_find_replace($2, "\\s*$attr\\s*", " ")) . " " . trim(string_find_replace($3, "\\s*$attr\\s*", "")) . " $attr" . ("$4" eq ";" ? ";" : " = ")/e; + } + } + } + +# check for $InitAttributeData (ie: __initdata) with const + if ($line =~ /\bconst\b/ && $line =~ /($InitAttributeData)/) { + my $attr = $1; + $attr =~ /($InitAttributePrefix)(.*)/; + my $attr_prefix = $1; + my $attr_type = $2; + if (ERROR("INIT_ATTRIBUTE", + "Use of const init definition must use ${attr_prefix}initconst\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/$InitAttributeData/${attr_prefix}initconst/; + } + } + +# check for $InitAttributeConst (ie: __initconst) without const + if ($line !~ /\bconst\b/ && $line =~ /($InitAttributeConst)/) { + my $attr = $1; + if (ERROR("INIT_ATTRIBUTE", + "Use of $attr requires a separate use of const\n" . $herecurr) && + $fix) { + my $lead = $fixed[$fixlinenr] =~ + /(^\+\s*(?:static\s+))/; + $lead = rtrim($1); + $lead = "$lead " if ($lead !~ /^\+$/); + $lead = "${lead}const "; + $fixed[$fixlinenr] =~ s/(^\+\s*(?:static\s+))/$lead/; + } + } + +# check for __read_mostly with const non-pointer (should just be const) + if ($line =~ /\b__read_mostly\b/ && + $line =~ /($Type)\s*$Ident/ && $1 !~ /\*\s*$/ && $1 =~ /\bconst\b/) { + if (ERROR("CONST_READ_MOSTLY", + "Invalid use of __read_mostly with const type\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+__read_mostly\b//; + } + } + +# don't use __constant_<foo> functions outside of include/uapi/ + if ($realfile !~ m@^include/uapi/@ && + $line =~ /(__constant_(?:htons|ntohs|[bl]e(?:16|32|64)_to_cpu|cpu_to_[bl]e(?:16|32|64)))\s*\(/) { + my $constant_func = $1; + my $func = $constant_func; + $func =~ s/^__constant_//; + if (WARN("CONSTANT_CONVERSION", + "$constant_func should be $func\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b$constant_func\b/$func/g; + } + } + +# prefer usleep_range over udelay + if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) { + my $delay = $1; + # ignore udelay's < 10, however + if (! ($delay < 10) ) { + CHK("USLEEP_RANGE", + "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $herecurr); + } + if ($delay > 2000) { + WARN("LONG_UDELAY", + "long udelay - prefer mdelay; see arch/arm/include/asm/delay.h\n" . $herecurr); + } + } + +# warn about unexpectedly long msleep's + if ($line =~ /\bmsleep\s*\((\d+)\);/) { + if ($1 < 20) { + WARN("MSLEEP", + "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $herecurr); + } + } + +# check for comparisons of jiffies + if ($line =~ /\bjiffies\s*$Compare|$Compare\s*jiffies\b/) { + WARN("JIFFIES_COMPARISON", + "Comparing jiffies is almost always wrong; prefer time_after, time_before and friends\n" . $herecurr); + } + +# check for comparisons of get_jiffies_64() + if ($line =~ /\bget_jiffies_64\s*\(\s*\)\s*$Compare|$Compare\s*get_jiffies_64\s*\(\s*\)/) { + WARN("JIFFIES_COMPARISON", + "Comparing get_jiffies_64() is almost always wrong; prefer time_after64, time_before64 and friends\n" . $herecurr); + } + +# warn about #ifdefs in C files +# if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) { +# print "#ifdef in C files should be avoided\n"; +# print "$herecurr"; +# $clean = 0; +# } + +# warn about spacing in #ifdefs + if ($line =~ /^.\s*\#\s*(ifdef|ifndef|elif)\s\s+/) { + if (ERROR("SPACING", + "exactly one space required after that #$1\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*\#\s*(ifdef|ifndef|elif))\s{2,}/$1 /; + } + + } + +# check for spinlock_t definitions without a comment. + if ($line =~ /^.\s*(struct\s+mutex|spinlock_t)\s+\S+;/ || + $line =~ /^.\s*(DEFINE_MUTEX)\s*\(/) { + my $which = $1; + if (!ctx_has_comment($first_line, $linenr)) { + CHK("UNCOMMENTED_DEFINITION", + "$1 definition without comment\n" . $herecurr); + } + } +# check for memory barriers without a comment. + + my $barriers = qr{ + mb| + rmb| + wmb| + read_barrier_depends + }x; + my $barrier_stems = qr{ + mb__before_atomic| + mb__after_atomic| + store_release| + load_acquire| + store_mb| + (?:$barriers) + }x; + my $all_barriers = qr{ + (?:$barriers)| + smp_(?:$barrier_stems)| + virt_(?:$barrier_stems) + }x; + + if ($line =~ /\b(?:$all_barriers)\s*\(/) { + if (!ctx_has_comment($first_line, $linenr)) { + WARN("MEMORY_BARRIER", + "memory barrier without comment\n" . $herecurr); + } + } + + my $underscore_smp_barriers = qr{__smp_(?:$barrier_stems)}x; + + if ($realfile !~ m@^include/asm-generic/@ && + $realfile !~ m@/barrier\.h$@ && + $line =~ m/\b(?:$underscore_smp_barriers)\s*\(/ && + $line !~ m/^.\s*\#\s*define\s+(?:$underscore_smp_barriers)\s*\(/) { + WARN("MEMORY_BARRIER", + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr); + } + +# check for waitqueue_active without a comment. + if ($line =~ /\bwaitqueue_active\s*\(/) { + if (!ctx_has_comment($first_line, $linenr)) { + WARN("WAITQUEUE_ACTIVE", + "waitqueue_active without comment\n" . $herecurr); + } + } + +# Check for expedited grace periods that interrupt non-idle non-nohz +# online CPUs. These expedited can therefore degrade real-time response +# if used carelessly, and should be avoided where not absolutely +# needed. It is always OK to use synchronize_rcu_expedited() and +# synchronize_sched_expedited() at boot time (before real-time applications +# start) and in error situations where real-time response is compromised in +# any case. Note that synchronize_srcu_expedited() does -not- interrupt +# other CPUs, so don't warn on uses of synchronize_srcu_expedited(). +# Of course, nothing comes for free, and srcu_read_lock() and +# srcu_read_unlock() do contain full memory barriers in payment for +# synchronize_srcu_expedited() non-interruption properties. + if ($line =~ /\b(synchronize_rcu_expedited|synchronize_sched_expedited)\(/) { + WARN("EXPEDITED_RCU_GRACE_PERIOD", + "expedited RCU grace periods should be avoided where they can degrade real-time response\n" . $herecurr); + + } + +# check of hardware specific defines + if ($line =~ m@^.\s*\#\s*if.*\b(__i386__|__powerpc64__|__sun__|__s390x__)\b@ && $realfile !~ m@include/asm-@) { + CHK("ARCH_DEFINES", + "architecture specific defines should be avoided\n" . $herecurr); + } + +# Check that the storage class is at the beginning of a declaration + if ($line =~ /\b$Storage\b/ && $line !~ /^.\s*$Storage\b/) { + WARN("STORAGE_CLASS", + "storage class should be at the beginning of the declaration\n" . $herecurr) + } + +# check the location of the inline attribute, that it is between +# storage class and type. + if ($line =~ /\b$Type\s+$Inline\b/ || + $line =~ /\b$Inline\s+$Storage\b/) { + ERROR("INLINE_LOCATION", + "inline keyword should sit between storage class and type\n" . $herecurr); + } + +# Check for __inline__ and __inline, prefer inline + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b(__inline__|__inline)\b/) { + if (WARN("INLINE", + "plain inline is preferred over $1\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b(__inline__|__inline)\b/inline/; + + } + } + +# Check for __attribute__ packed, prefer __packed + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) { + WARN("PREFER_PACKED", + "__packed is preferred over __attribute__((packed))\n" . $herecurr); + } + +# Check for __attribute__ aligned, prefer __aligned + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(.*aligned/) { + WARN("PREFER_ALIGNED", + "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr); + } + +# Check for __attribute__ format(printf, prefer __printf + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) { + if (WARN("PREFER_PRINTF", + "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex; + + } + } + +# Check for __attribute__ format(scanf, prefer __scanf + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) { + if (WARN("PREFER_SCANF", + "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex; + } + } + +# Check for __attribute__ weak, or __weak declarations (may have link issues) + if ($^V && $^V ge 5.10.0 && + $line =~ /(?:$Declare|$DeclareMisordered)\s*$Ident\s*$balanced_parens\s*(?:$Attribute)?\s*;/ && + ($line =~ /\b__attribute__\s*\(\s*\(.*\bweak\b/ || + $line =~ /\b__weak\b/)) { + ERROR("WEAK_DECLARATION", + "Using weak declarations can have unintended link defects\n" . $herecurr); + } + +# check for c99 types like uint8_t used outside of uapi/ + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b($Declare)\s*$Ident\s*[=;,\[]/) { + my $type = $1; + if ($type =~ /\b($typeC99Typedefs)\b/) { + $type = $1; + my $kernel_type = 'u'; + $kernel_type = 's' if ($type =~ /^_*[si]/); + $type =~ /(\d+)/; + $kernel_type .= $1; + if (CHK("PREFER_KERNEL_TYPES", + "Prefer kernel type '$kernel_type' over '$type'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b$type\b/$kernel_type/; + } + } + } + +# check for cast of C90 native int or longer types constants + if ($line =~ /(\(\s*$C90_int_types\s*\)\s*)($Constant)\b/) { + my $cast = $1; + my $const = $2; + if (WARN("TYPECAST_INT_CONSTANT", + "Unnecessary typecast of c90 int constant\n" . $herecurr) && + $fix) { + my $suffix = ""; + my $newconst = $const; + $newconst =~ s/${Int_type}$//; + $suffix .= 'U' if ($cast =~ /\bunsigned\b/); + if ($cast =~ /\blong\s+long\b/) { + $suffix .= 'LL'; + } elsif ($cast =~ /\blong\b/) { + $suffix .= 'L'; + } + $fixed[$fixlinenr] =~ s/\Q$cast\E$const\b/$newconst$suffix/; + } + } + +# check for sizeof(&) + if ($line =~ /\bsizeof\s*\(\s*\&/) { + WARN("SIZEOF_ADDRESS", + "sizeof(& should be avoided\n" . $herecurr); + } + +# check for sizeof without parenthesis + if ($line =~ /\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/) { + if (WARN("SIZEOF_PARENTHESIS", + "sizeof $1 should be sizeof($1)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex; + } + } + +# check for struct spinlock declarations + if ($line =~ /^.\s*\bstruct\s+spinlock\s+\w+\s*;/) { + WARN("USE_SPINLOCK_T", + "struct spinlock should be spinlock_t\n" . $herecurr); + } + +# check for seq_printf uses that could be seq_puts + if ($sline =~ /\bseq_printf\s*\(.*"\s*\)\s*;\s*$/) { + my $fmt = get_quoted_string($line, $rawline); + $fmt =~ s/%%//g; + if ($fmt !~ /%/) { + if (WARN("PREFER_SEQ_PUTS", + "Prefer seq_puts to seq_printf\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bseq_printf\b/seq_puts/; + } + } + } + +# Check for misused memsets + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*$FuncArg\s*\)/) { + + my $ms_addr = $2; + my $ms_val = $7; + my $ms_size = $12; + + if ($ms_size =~ /^(0x|)0$/i) { + ERROR("MEMSET", + "memset to 0's uses 0 as the 2nd argument, not the 3rd\n" . "$here\n$stat\n"); + } elsif ($ms_size =~ /^(0x|)1$/i) { + WARN("MEMSET", + "single byte memset is suspicious. Swapped 2nd/3rd argument?\n" . "$here\n$stat\n"); + } + } + +# Check for memcpy(foo, bar, ETH_ALEN) that could be ether_addr_copy(foo, bar) +# if ($^V && $^V ge 5.10.0 && +# defined $stat && +# $stat =~ /^\+(?:.*?)\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { +# if (WARN("PREFER_ETHER_ADDR_COPY", +# "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . "$here\n$stat\n") && +# $fix) { +# $fixed[$fixlinenr] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/; +# } +# } + +# Check for memcmp(foo, bar, ETH_ALEN) that could be ether_addr_equal*(foo, bar) +# if ($^V && $^V ge 5.10.0 && +# defined $stat && +# $stat =~ /^\+(?:.*?)\bmemcmp\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { +# WARN("PREFER_ETHER_ADDR_EQUAL", +# "Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp()\n" . "$here\n$stat\n") +# } + +# check for memset(foo, 0x0, ETH_ALEN) that could be eth_zero_addr +# check for memset(foo, 0xFF, ETH_ALEN) that could be eth_broadcast_addr +# if ($^V && $^V ge 5.10.0 && +# defined $stat && +# $stat =~ /^\+(?:.*?)\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { +# +# my $ms_val = $7; +# +# if ($ms_val =~ /^(?:0x|)0+$/i) { +# if (WARN("PREFER_ETH_ZERO_ADDR", +# "Prefer eth_zero_addr over memset()\n" . "$here\n$stat\n") && +# $fix) { +# $fixed[$fixlinenr] =~ s/\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*,\s*ETH_ALEN\s*\)/eth_zero_addr($2)/; +# } +# } elsif ($ms_val =~ /^(?:0xff|255)$/i) { +# if (WARN("PREFER_ETH_BROADCAST_ADDR", +# "Prefer eth_broadcast_addr() over memset()\n" . "$here\n$stat\n") && +# $fix) { +# $fixed[$fixlinenr] =~ s/\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*,\s*ETH_ALEN\s*\)/eth_broadcast_addr($2)/; +# } +# } +# } + +# typecasts on min/max could be min_t/max_t + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\b(min|max)\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\)/) { + if (defined $2 || defined $7) { + my $call = $1; + my $cast1 = deparenthesize($2); + my $arg1 = $3; + my $cast2 = deparenthesize($7); + my $arg2 = $8; + my $cast; + + if ($cast1 ne "" && $cast2 ne "" && $cast1 ne $cast2) { + $cast = "$cast1 or $cast2"; + } elsif ($cast1 ne "") { + $cast = $cast1; + } else { + $cast = $cast2; + } + WARN("MINMAX", + "$call() should probably be ${call}_t($cast, $arg1, $arg2)\n" . "$here\n$stat\n"); + } + } + +# check usleep_range arguments + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\busleep_range\s*\(\s*($FuncArg)\s*,\s*($FuncArg)\s*\)/) { + my $min = $1; + my $max = $7; + if ($min eq $max) { + WARN("USLEEP_RANGE", + "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n"); + } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ && + $min > $max) { + WARN("USLEEP_RANGE", + "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n"); + } + } + +# check for naked sscanf + if ($^V && $^V ge 5.10.0 && + defined $stat && + $line =~ /\bsscanf\b/ && + ($stat !~ /$Ident\s*=\s*sscanf\s*$balanced_parens/ && + $stat !~ /\bsscanf\s*$balanced_parens\s*(?:$Compare)/ && + $stat !~ /(?:$Compare)\s*\bsscanf\s*$balanced_parens/)) { + my $lc = $stat =~ tr@\n@@; + $lc = $lc + $linenr; + my $stat_real = raw_line($linenr, 0); + for (my $count = $linenr + 1; $count <= $lc; $count++) { + $stat_real = $stat_real . "\n" . raw_line($count, 0); + } + WARN("NAKED_SSCANF", + "unchecked sscanf return value\n" . "$here\n$stat_real\n"); + } + +# check for simple sscanf that should be kstrto<foo> + if ($^V && $^V ge 5.10.0 && + defined $stat && + $line =~ /\bsscanf\b/) { + my $lc = $stat =~ tr@\n@@; + $lc = $lc + $linenr; + my $stat_real = raw_line($linenr, 0); + for (my $count = $linenr + 1; $count <= $lc; $count++) { + $stat_real = $stat_real . "\n" . raw_line($count, 0); + } + if ($stat_real =~ /\bsscanf\b\s*\(\s*$FuncArg\s*,\s*("[^"]+")/) { + my $format = $6; + my $count = $format =~ tr@%@%@; + if ($count == 1 && + $format =~ /^"\%(?i:ll[udxi]|[udxi]ll|ll|[hl]h?[udxi]|[udxi][hl]h?|[hl]h?|[udxi])"$/) { + WARN("SSCANF_TO_KSTRTO", + "Prefer kstrto<type> to single variable sscanf\n" . "$here\n$stat_real\n"); + } + } + } + +# check for new externs in .h files. + if ($realfile =~ /\.h$/ && + $line =~ /^\+\s*(extern\s+)$Type\s*$Ident\s*\(/s) { + if (CHK("AVOID_EXTERNS", + "extern prototypes should be avoided in .h files\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(.*)\bextern\b\s*(.*)/$1$2/; + } + } + +# check for new externs in .c files. + if ($realfile =~ /\.c$/ && defined $stat && + $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s) + { + my $function_name = $1; + my $paren_space = $2; + + my $s = $stat; + if (defined $cond) { + substr($s, 0, length($cond), ''); + } + if ($s =~ /^\s*;/ && + $function_name ne 'uninitialized_var') + { + WARN("AVOID_EXTERNS", + "externs should be avoided in .c files\n" . $herecurr); + } + + if ($paren_space =~ /\n/) { + WARN("FUNCTION_ARGUMENTS", + "arguments for function declarations should follow identifier\n" . $herecurr); + } + + } elsif ($realfile =~ /\.c$/ && defined $stat && + $stat =~ /^.\s*extern\s+/) + { + WARN("AVOID_EXTERNS", + "externs should be avoided in .c files\n" . $herecurr); + } + + if ($realfile =~ /\.[ch]$/ && defined $stat && + $stat =~ /^.\s*(?:extern\s+)?$Type\s*$Ident\s*\(\s*([^{]+)\s*\)\s*;/s && + $1 ne "void") { + my $args = trim($1); + while ($args =~ m/\s*($Type\s*(?:$Ident|\(\s*\*\s*$Ident?\s*\)\s*$balanced_parens)?)/g) { + my $arg = trim($1); + if ($arg =~ /^$Type$/ && $arg !~ /enum\s+$Ident$/) { + WARN("FUNCTION_ARGUMENTS", + "function definition argument '$arg' should also have an identifier name\n" . $herecurr); + } + } + } + +# checks for new __setup's + if ($rawline =~ /\b__setup\("([^"]*)"/) { + my $name = $1; + + if (!grep(/$name/, @setup_docs)) { + CHK("UNDOCUMENTED_SETUP", + "__setup appears un-documented -- check Documentation/kernel-parameters.txt\n" . $herecurr); + } + } + +# check for pointless casting of kmalloc return + if ($line =~ /\*\s*\)\s*[kv][czm]alloc(_node){0,1}\b/) { + WARN("UNNECESSARY_CASTS", + "unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr); + } + +# alloc style +# p = alloc(sizeof(struct foo), ...) should be p = alloc(sizeof(*p), ...) + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*([kv][mz]alloc(?:_node)?)\s*\(\s*(sizeof\s*\(\s*struct\s+$Lval\s*\))/) { + CHK("ALLOC_SIZEOF_STRUCT", + "Prefer $3(sizeof(*$1)...) over $3($4...)\n" . $herecurr); + } + +# check for k[mz]alloc with multiplies that could be kmalloc_array/kcalloc + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)\s*,/) { + my $oldfunc = $3; + my $a1 = $4; + my $a2 = $10; + my $newfunc = "kmalloc_array"; + $newfunc = "kcalloc" if ($oldfunc eq "kzalloc"); + my $r1 = $a1; + my $r2 = $a2; + if ($a1 =~ /^sizeof\s*\S/) { + $r1 = $a2; + $r2 = $a1; + } + if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ && + !($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) { + if (WARN("ALLOC_WITH_MULTIPLY", + "Prefer $newfunc over $oldfunc with multiply\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)/$1 . ' = ' . "$newfunc(" . trim($r1) . ', ' . trim($r2)/e; + + } + } + } + +# check for krealloc arg reuse + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*krealloc\s*\(\s*\1\s*,/) { + WARN("KREALLOC_ARG_REUSE", + "Reusing the krealloc arg is almost always a bug\n" . $herecurr); + } + +# check for alloc argument mismatch + if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) { + WARN("ALLOC_ARRAY_ARGS", + "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr); + } + +# check for multiple semicolons + if ($line =~ /;\s*;\s*$/) { + if (WARN("ONE_SEMICOLON", + "Statements terminations use 1 semicolon\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\s*;\s*){2,}$/;/g; + } + } + +# check for #defines like: 1 << <digit> that could be BIT(digit), it is not exported to uapi + if ($realfile !~ m@^include/uapi/@ && + $line =~ /#\s*define\s+\w+\s+\(?\s*1\s*([ulUL]*)\s*\<\<\s*(?:\d+|$Ident)\s*\)?/) { + my $ull = ""; + $ull = "_ULL" if (defined($1) && $1 =~ /ll/i); + if (CHK("BIT_MACRO", + "Prefer using the BIT$ull macro\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\(?\s*1\s*[ulUL]*\s*<<\s*(\d+|$Ident)\s*\)?/BIT${ull}($1)/; + } + } + +# check for #if defined CONFIG_<FOO> || defined CONFIG_<FOO>_MODULE + if ($line =~ /^\+\s*#\s*if\s+defined(?:\s*\(?\s*|\s+)(CONFIG_[A-Z_]+)\s*\)?\s*\|\|\s*defined(?:\s*\(?\s*|\s+)\1_MODULE\s*\)?\s*$/) { + my $config = $1; + if (WARN("PREFER_IS_ENABLED", + "Prefer IS_ENABLED(<FOO>) to CONFIG_<FOO> || CONFIG_<FOO>_MODULE\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = "\+#if IS_ENABLED($config)"; + } + } + +# check for case / default statements not preceded by break/fallthrough/switch + if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { + my $has_break = 0; + my $has_statement = 0; + my $count = 0; + my $prevline = $linenr; + while ($prevline > 1 && ($file || $count < 3) && !$has_break) { + $prevline--; + my $rline = $rawlines[$prevline - 1]; + my $fline = $lines[$prevline - 1]; + last if ($fline =~ /^\@\@/); + next if ($fline =~ /^\-/); + next if ($fline =~ /^.(?:\s*(?:case\s+(?:$Ident|$Constant)[\s$;]*|default):[\s$;]*)*$/); + $has_break = 1 if ($rline =~ /fall[\s_-]*(through|thru)/i); + next if ($fline =~ /^.[\s$;]*$/); + $has_statement = 1; + $count++; + $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/); + } + if (!$has_break && $has_statement) { + WARN("MISSING_BREAK", + "Possible switch case/default not preceeded by break or fallthrough comment\n" . $herecurr); + } + } + +# check for switch/default statements without a break; + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) { + my $ctx = ''; + my $herectx = $here . "\n"; + my $cnt = statement_rawlines($stat); + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + WARN("DEFAULT_NO_BREAK", + "switch default: should use break\n" . $herectx); + } + +# check for gcc specific __FUNCTION__ + if ($line =~ /\b__FUNCTION__\b/) { + if (WARN("USE_FUNC", + "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__FUNCTION__\b/__func__/g; + } + } + +# check for uses of __DATE__, __TIME__, __TIMESTAMP__ + while ($line =~ /\b(__(?:DATE|TIME|TIMESTAMP)__)\b/g) { + ERROR("DATE_TIME", + "Use of the '$1' macro makes the build non-deterministic\n" . $herecurr); + } + +# check for use of yield() + if ($line =~ /\byield\s*\(\s*\)/) { + WARN("YIELD", + "Using yield() is generally wrong. See yield() kernel-doc (sched/core.c)\n" . $herecurr); + } + +# check for comparisons against true and false + if ($line =~ /\+\s*(.*?)\b(true|false|$Lval)\s*(==|\!=)\s*(true|false|$Lval)\b(.*)$/i) { + my $lead = $1; + my $arg = $2; + my $test = $3; + my $otype = $4; + my $trail = $5; + my $op = "!"; + + ($arg, $otype) = ($otype, $arg) if ($arg =~ /^(?:true|false)$/i); + + my $type = lc($otype); + if ($type =~ /^(?:true|false)$/) { + if (("$test" eq "==" && "$type" eq "true") || + ("$test" eq "!=" && "$type" eq "false")) { + $op = ""; + } + + CHK("BOOL_COMPARISON", + "Using comparison to $otype is error prone\n" . $herecurr); + +## maybe suggesting a correct construct would better +## "Using comparison to $otype is error prone. Perhaps use '${lead}${op}${arg}${trail}'\n" . $herecurr); + + } + } + +# check for semaphores initialized locked + if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) { + WARN("CONSIDER_COMPLETION", + "consider using a completion\n" . $herecurr); + } + +# recommend kstrto* over simple_strto* and strict_strto* + if ($line =~ /\b((simple|strict)_(strto(l|ll|ul|ull)))\s*\(/) { + WARN("CONSIDER_KSTRTO", + "$1 is obsolete, use k$3 instead\n" . $herecurr); + } + +# check for __initcall(), use device_initcall() explicitly or more appropriate function please + if ($line =~ /^.\s*__initcall\s*\(/) { + WARN("USE_DEVICE_INITCALL", + "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); + } + +# check for various structs that are normally const (ops, kgdb, device_tree) + if ($line !~ /\bconst\b/ && + $line =~ /\bstruct\s+($const_structs)\b/) { + WARN("CONST_STRUCT", + "struct $1 should normally be const\n" . + $herecurr); + } + +# use of NR_CPUS is usually wrong +# ignore definitions of NR_CPUS and usage to define arrays as likely right + if ($line =~ /\bNR_CPUS\b/ && + $line !~ /^.\s*\s*#\s*if\b.*\bNR_CPUS\b/ && + $line !~ /^.\s*\s*#\s*define\b.*\bNR_CPUS\b/ && + $line !~ /^.\s*$Declare\s.*\[[^\]]*NR_CPUS[^\]]*\]/ && + $line !~ /\[[^\]]*\.\.\.[^\]]*NR_CPUS[^\]]*\]/ && + $line !~ /\[[^\]]*NR_CPUS[^\]]*\.\.\.[^\]]*\]/) + { + WARN("NR_CPUS", + "usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr); + } + +# Use of __ARCH_HAS_<FOO> or ARCH_HAVE_<BAR> is wrong. + if ($line =~ /\+\s*#\s*define\s+((?:__)?ARCH_(?:HAS|HAVE)\w*)\b/) { + ERROR("DEFINE_ARCH_HAS", + "#define of '$1' is wrong - use Kconfig variables or standard guards instead\n" . $herecurr); + } + +# likely/unlikely comparisons similar to "(likely(foo) > 0)" + if ($^V && $^V ge 5.10.0 && + $line =~ /\b((?:un)?likely)\s*\(\s*$FuncArg\s*\)\s*$Compare/) { + WARN("LIKELY_MISUSE", + "Using $1 should generally have parentheses around the comparison\n" . $herecurr); + } + +# whine mightly about in_atomic + if ($line =~ /\bin_atomic\s*\(/) { + if ($realfile =~ m@^drivers/@) { + ERROR("IN_ATOMIC", + "do not use in_atomic in drivers\n" . $herecurr); + } elsif ($realfile !~ m@^kernel/@) { + WARN("IN_ATOMIC", + "use of in_atomic() is incorrect outside core kernel code\n" . $herecurr); + } + } + +# whine about ACCESS_ONCE + if ($^V && $^V ge 5.10.0 && + $line =~ /\bACCESS_ONCE\s*$balanced_parens\s*(=(?!=))?\s*($FuncArg)?/) { + my $par = $1; + my $eq = $2; + my $fun = $3; + $par =~ s/^\(\s*(.*)\s*\)$/$1/; + if (defined($eq)) { + if (WARN("PREFER_WRITE_ONCE", + "Prefer WRITE_ONCE(<FOO>, <BAR>) over ACCESS_ONCE(<FOO>) = <BAR>\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bACCESS_ONCE\s*\(\s*\Q$par\E\s*\)\s*$eq\s*\Q$fun\E/WRITE_ONCE($par, $fun)/; + } + } else { + if (WARN("PREFER_READ_ONCE", + "Prefer READ_ONCE(<FOO>) over ACCESS_ONCE(<FOO>)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bACCESS_ONCE\s*\(\s*\Q$par\E\s*\)/READ_ONCE($par)/; + } + } + } + +# check for lockdep_set_novalidate_class + if ($line =~ /^.\s*lockdep_set_novalidate_class\s*\(/ || + $line =~ /__lockdep_no_validate__\s*\)/ ) { + if ($realfile !~ m@^kernel/lockdep@ && + $realfile !~ m@^include/linux/lockdep@ && + $realfile !~ m@^drivers/base/core@) { + ERROR("LOCKDEP", + "lockdep_no_validate class is reserved for device->mutex.\n" . $herecurr); + } + } + + if ($line =~ /debugfs_create_\w+.*\b$mode_perms_world_writable\b/ || + $line =~ /DEVICE_ATTR.*\b$mode_perms_world_writable\b/) { + WARN("EXPORTED_WORLD_WRITABLE", + "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); + } + +# Mode permission misuses where it seems decimal should be octal +# This uses a shortcut match to avoid unnecessary uses of a slow foreach loop + if ($^V && $^V ge 5.10.0 && + defined $stat && + $line =~ /$mode_perms_search/) { + foreach my $entry (@mode_permission_funcs) { + my $func = $entry->[0]; + my $arg_pos = $entry->[1]; + + my $lc = $stat =~ tr@\n@@; + $lc = $lc + $linenr; + my $stat_real = raw_line($linenr, 0); + for (my $count = $linenr + 1; $count <= $lc; $count++) { + $stat_real = $stat_real . "\n" . raw_line($count, 0); + } + + my $skip_args = ""; + if ($arg_pos > 1) { + $arg_pos--; + $skip_args = "(?:\\s*$FuncArg\\s*,\\s*){$arg_pos,$arg_pos}"; + } + my $test = "\\b$func\\s*\\(${skip_args}($FuncArg(?:\\|\\s*$FuncArg)*)\\s*[,\\)]"; + if ($stat =~ /$test/) { + my $val = $1; + $val = $6 if ($skip_args ne ""); + if (($val =~ /^$Int$/ && $val !~ /^$Octal$/) || + ($val =~ /^$Octal$/ && length($val) ne 4)) { + ERROR("NON_OCTAL_PERMISSIONS", + "Use 4 digit octal (0777) not decimal permissions\n" . "$here\n" . $stat_real); + } + if ($val =~ /^$Octal$/ && (oct($val) & 02)) { + ERROR("EXPORTED_WORLD_WRITABLE", + "Exporting writable files is usually an error. Consider more restrictive permissions.\n" . "$here\n" . $stat_real); + } + } + } + } + +# check for uses of S_<PERMS> that could be octal for readability + if ($line =~ /\b$mode_perms_string_search\b/) { + my $val = ""; + my $oval = ""; + my $to = 0; + my $curpos = 0; + my $lastpos = 0; + while ($line =~ /\b(($mode_perms_string_search)\b(?:\s*\|\s*)?\s*)/g) { + $curpos = pos($line); + my $match = $2; + my $omatch = $1; + last if ($lastpos > 0 && ($curpos - length($omatch) != $lastpos)); + $lastpos = $curpos; + $to |= $mode_permission_string_types{$match}; + $val .= '\s*\|\s*' if ($val ne ""); + $val .= $match; + $oval .= $omatch; + } + $oval =~ s/^\s*\|\s*//; + $oval =~ s/\s*\|\s*$//; + my $octal = sprintf("%04o", $to); + if (WARN("SYMBOLIC_PERMS", + "Symbolic permissions '$oval' are not preferred. Consider using octal permissions '$octal'.\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/$val/$octal/; + } + } + +# validate content of MODULE_LICENSE against list from include/linux/module.h + if ($line =~ /\bMODULE_LICENSE\s*\(\s*($String)\s*\)/) { + my $extracted_string = get_quoted_string($line, $rawline); + my $valid_licenses = qr{ + GPL| + GPL\ v2| + GPL\ and\ additional\ rights| + Dual\ BSD/GPL| + Dual\ MIT/GPL| + Dual\ MPL/GPL| + Proprietary + }x; + if ($extracted_string !~ /^"(?:$valid_licenses)"$/x) { + WARN("MODULE_LICENSE", + "unknown module license " . $extracted_string . "\n" . $herecurr); + } + } + } + + # If we have no input at all, then there is nothing to report on + # so just keep quiet. + if ($#rawlines == -1) { + exit(0); + } + + # In mailback mode only produce a report in the negative, for + # things that appear to be patches. + if ($mailback && ($clean == 1 || !$is_patch)) { + exit(0); + } + + # This is not a patch, and we are are in 'no-patch' mode so + # just keep quiet. + if (!$chk_patch && !$is_patch) { + exit(0); + } + + if (!$is_patch && $file !~ /cover-letter\.patch$/) { + ERROR("NOT_UNIFIED_DIFF", + "Does not appear to be a unified-diff format patch\n"); + } + if ($is_patch && $has_commit_log && $chk_signoff && $signoff == 0) { + ERROR("MISSING_SIGN_OFF", + "Missing Signed-off-by: line(s)\n"); + } + + print report_dump(); + if ($summary && !($clean == 1 && $quiet == 1)) { + print "$filename " if ($summary_file); + print "total: $cnt_error errors, $cnt_warn warnings, " . + (($check)? "$cnt_chk checks, " : "") . + "$cnt_lines lines checked\n"; + } + + if ($quiet == 0) { + # If there were any defects found and not already fixing them + if (!$clean and !$fix) { + print << "EOM" + +NOTE: For some of the reported defects, checkpatch may be able to + mechanically convert to the typical style using --fix or --fix-inplace. +EOM + } + # If there were whitespace errors which cleanpatch can fix + # then suggest that. + if ($rpt_cleaners) { + $rpt_cleaners = 0; + print << "EOM" + +NOTE: Whitespace errors detected. + You may wish to use scripts/cleanpatch or scripts/cleanfile +EOM + } + } + + if ($clean == 0 && $fix && + ("@rawlines" ne "@fixed" || + $#fixed_inserted >= 0 || $#fixed_deleted >= 0)) { + my $newfile = $filename; + $newfile .= ".EXPERIMENTAL-checkpatch-fixes" if (!$fix_inplace); + my $linecount = 0; + my $f; + + @fixed = fix_inserted_deleted_lines(\@fixed, \@fixed_inserted, \@fixed_deleted); + + open($f, '>', $newfile) + or die "$P: Can't open $newfile for write\n"; + foreach my $fixed_line (@fixed) { + $linecount++; + if ($file) { + if ($linecount > 3) { + $fixed_line =~ s/^\+//; + print $f $fixed_line . "\n"; + } + } else { + print $f $fixed_line . "\n"; + } + } + close($f); + + if (!$quiet) { + print << "EOM"; + +Wrote EXPERIMENTAL --fix correction(s) to '$newfile' + +Do _NOT_ trust the results written to this file. +Do _NOT_ submit these changes without inspecting them for correctness. + +This EXPERIMENTAL file is simply a convenience to help rewrite patches. +No warranties, expressed or implied... +EOM + } + } + + if ($quiet == 0) { + print "\n"; + if ($clean == 1) { + print "$vname has no obvious style problems and is ready for submission.\n"; + } else { + print "$vname has style problems, please review.\n"; + } + } + return $clean; +} diff --git a/freertos/cvitek/scripts/const_structs.checkpatch b/freertos/cvitek/scripts/const_structs.checkpatch new file mode 100644 index 000000000..ac5f12671 --- /dev/null +++ b/freertos/cvitek/scripts/const_structs.checkpatch @@ -0,0 +1,64 @@ +acpi_dock_ops +address_space_operations +backlight_ops +block_device_operations +clk_ops +comedi_lrange +component_ops +dentry_operations +dev_pm_ops +dma_map_ops +driver_info +drm_connector_funcs +drm_encoder_funcs +drm_encoder_helper_funcs +ethtool_ops +extent_io_ops +file_lock_operations +file_operations +hv_ops +ide_dma_ops +ide_port_ops +inode_operations +intel_dvo_dev_ops +irq_domain_ops +item_operations +iwl_cfg +iwl_ops +kgdb_arch +kgdb_io +kset_uevent_ops +lock_manager_operations +machine_desc +microcode_ops +mlxsw_reg_info +mtrr_ops +neigh_ops +net_device_ops +nlmsvc_binding +nvkm_device_chip +of_device_id +pci_raw_ops +pipe_buf_operations +platform_hibernation_ops +platform_suspend_ops +proto_ops +regmap_access_table +rpc_pipe_ops +rtc_class_ops +sd_desc +seq_operations +sirfsoc_padmux +snd_ac97_build_ops +snd_soc_component_driver +soc_pcmcia_socket_ops +stacktrace_ops +sysfs_ops +tty_operations +uart_ops +usb_mon_operations +v4l2_ctrl_ops +v4l2_ioctl_ops +vm_operations_struct +wacom_features +wd_ops diff --git a/freertos/cvitek/scripts/cv180x_lscript.ld b/freertos/cvitek/scripts/cv180x_lscript.ld new file mode 100644 index 000000000..13c5477b8 --- /dev/null +++ b/freertos/cvitek/scripts/cv180x_lscript.ld @@ -0,0 +1,204 @@ +/*******************************************************************/ +/* */ +/* This file is automatically generated by linker script generator.*/ +/* */ +/* Version: */ +/* */ +/* Copyright (c) 2010-2016 Xilinx, Inc. All rights reserved. */ +/* */ +/* Description : Cortex-A53 Linker Script */ +/* */ +/*******************************************************************/ +INCLUDE cvi_board_memmap.ld + +_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x20000; +/* _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x1000000; */ +/*_HEAP_SIZE = 0x20000;*/ + +_EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024; +_EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048; +_EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; + +/* Define Memories in the system */ + +MEMORY +{ + psu_ddr_0_MEM_0 : ORIGIN = CVIMMAP_FREERTOS_ADDR , LENGTH = CVIMMAP_FREERTOS_SIZE +} + +/* Specify the default entry point to the program */ + +/*ENTRY(_vector_table)*/ +ENTRY(_start) + +/* Define the sections, and where they are mapped in memory */ + +SECTIONS +{ +.text : { + KEEP (*(.vectors)) + *(.boot) + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) + *(.plt) + *(.gnu_warning) + *(.gcc_execpt_table) + *(.glue_7) + *(.glue_7t) + *(.ARM.extab) + *(.gnu.linkonce.armextab.*) +} > psu_ddr_0_MEM_0 + +.init (ALIGN(64)) : { + KEEP (*(.init)) +} > psu_ddr_0_MEM_0 + +.fini (ALIGN(64)) : { + KEEP (*(.fini)) +} > psu_ddr_0_MEM_0 + +.interp : { + KEEP (*(.interp)) +} > psu_ddr_0_MEM_0 + +.note-ABI-tag : { + KEEP (*(.note-ABI-tag)) +} > psu_ddr_0_MEM_0 + +.rodata : { + . = ALIGN(64); + __rodata_start = .; + *(.rodata) + *(.rodata.*) + *(.srodata*) + *(.gnu.linkonce.r.*) + __rodata_end = .; +} > psu_ddr_0_MEM_0 + +.rodata1 : { + . = ALIGN(64); + __rodata1_start = .; + *(.rodata1) + *(.rodata1.*) + __rodata1_end = .; +} > psu_ddr_0_MEM_0 + +.data : { + . = ALIGN(64); + _data = .; + *(.data) + *(.data.*) + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.d.*) + *(.jcr) + *(.got) + *(.got.plt) + _edata = .; +} > psu_ddr_0_MEM_0 + +.data1 : { + . = ALIGN(64); + __data1_start = .; + *(.data1) + *(.data1.*) + __data1_end = .; +} > psu_ddr_0_MEM_0 + +.got : { + *(.got) +} > psu_ddr_0_MEM_0 + +.got1 : { + *(.got1) +} > psu_ddr_0_MEM_0 + +.got2 : { + *(.got2) +} > psu_ddr_0_MEM_0 + +.ctors : { + . = ALIGN(64); + __CTOR_LIST__ = .; + ___CTORS_LIST___ = .; + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __CTOR_END__ = .; + ___CTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.dtors : { + . = ALIGN(64); + __DTOR_LIST__ = .; + ___DTORS_LIST___ = .; + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __DTOR_END__ = .; + ___DTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.fixup : { + __fixup_start = .; + *(.fixup) + __fixup_end = .; +} > psu_ddr_0_MEM_0 + +.eh_frame : { + *(.eh_frame) +} > psu_ddr_0_MEM_0 + +.eh_framehdr : { + __eh_framehdr_start = .; + *(.eh_framehdr) + __eh_framehdr_end = .; +} > psu_ddr_0_MEM_0 + +.gcc_except_table : { + *(.gcc_except_table) +} > psu_ddr_0_MEM_0 + +.bss (NOLOAD) : { + . = ALIGN(64); + _bss = .; + *(.bss) + *(.bss.*) + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(64); + _ebss = .; +} > psu_ddr_0_MEM_0 + +/*_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );*/ + _data_lma = LOADADDR(.data); + +/* Generate Stack and Heap definitions */ + +.heap (NOLOAD) : { + . = ALIGN(64); + _heap = .; + HeapBase = .; + _heap_start = .; + *(.heap*) + /*. += _HEAP_SIZE;*/ + /*_heap_size = _HEAP_SIZE; */ + _heap_end = .; + HeapLimit = .; +} > psu_ddr_0_MEM_0 + +.stack (NOLOAD) : { + . = ALIGN(64); + _stack_end_end = .; + . += _STACK_SIZE; + _stack_top = .; +} > psu_ddr_0_MEM_0 + +_end = .; +} + diff --git a/freertos/cvitek/scripts/cv181x_lscript.ld b/freertos/cvitek/scripts/cv181x_lscript.ld new file mode 100644 index 000000000..13c5477b8 --- /dev/null +++ b/freertos/cvitek/scripts/cv181x_lscript.ld @@ -0,0 +1,204 @@ +/*******************************************************************/ +/* */ +/* This file is automatically generated by linker script generator.*/ +/* */ +/* Version: */ +/* */ +/* Copyright (c) 2010-2016 Xilinx, Inc. All rights reserved. */ +/* */ +/* Description : Cortex-A53 Linker Script */ +/* */ +/*******************************************************************/ +INCLUDE cvi_board_memmap.ld + +_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x20000; +/* _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x1000000; */ +/*_HEAP_SIZE = 0x20000;*/ + +_EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024; +_EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048; +_EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; + +/* Define Memories in the system */ + +MEMORY +{ + psu_ddr_0_MEM_0 : ORIGIN = CVIMMAP_FREERTOS_ADDR , LENGTH = CVIMMAP_FREERTOS_SIZE +} + +/* Specify the default entry point to the program */ + +/*ENTRY(_vector_table)*/ +ENTRY(_start) + +/* Define the sections, and where they are mapped in memory */ + +SECTIONS +{ +.text : { + KEEP (*(.vectors)) + *(.boot) + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) + *(.plt) + *(.gnu_warning) + *(.gcc_execpt_table) + *(.glue_7) + *(.glue_7t) + *(.ARM.extab) + *(.gnu.linkonce.armextab.*) +} > psu_ddr_0_MEM_0 + +.init (ALIGN(64)) : { + KEEP (*(.init)) +} > psu_ddr_0_MEM_0 + +.fini (ALIGN(64)) : { + KEEP (*(.fini)) +} > psu_ddr_0_MEM_0 + +.interp : { + KEEP (*(.interp)) +} > psu_ddr_0_MEM_0 + +.note-ABI-tag : { + KEEP (*(.note-ABI-tag)) +} > psu_ddr_0_MEM_0 + +.rodata : { + . = ALIGN(64); + __rodata_start = .; + *(.rodata) + *(.rodata.*) + *(.srodata*) + *(.gnu.linkonce.r.*) + __rodata_end = .; +} > psu_ddr_0_MEM_0 + +.rodata1 : { + . = ALIGN(64); + __rodata1_start = .; + *(.rodata1) + *(.rodata1.*) + __rodata1_end = .; +} > psu_ddr_0_MEM_0 + +.data : { + . = ALIGN(64); + _data = .; + *(.data) + *(.data.*) + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.d.*) + *(.jcr) + *(.got) + *(.got.plt) + _edata = .; +} > psu_ddr_0_MEM_0 + +.data1 : { + . = ALIGN(64); + __data1_start = .; + *(.data1) + *(.data1.*) + __data1_end = .; +} > psu_ddr_0_MEM_0 + +.got : { + *(.got) +} > psu_ddr_0_MEM_0 + +.got1 : { + *(.got1) +} > psu_ddr_0_MEM_0 + +.got2 : { + *(.got2) +} > psu_ddr_0_MEM_0 + +.ctors : { + . = ALIGN(64); + __CTOR_LIST__ = .; + ___CTORS_LIST___ = .; + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __CTOR_END__ = .; + ___CTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.dtors : { + . = ALIGN(64); + __DTOR_LIST__ = .; + ___DTORS_LIST___ = .; + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __DTOR_END__ = .; + ___DTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.fixup : { + __fixup_start = .; + *(.fixup) + __fixup_end = .; +} > psu_ddr_0_MEM_0 + +.eh_frame : { + *(.eh_frame) +} > psu_ddr_0_MEM_0 + +.eh_framehdr : { + __eh_framehdr_start = .; + *(.eh_framehdr) + __eh_framehdr_end = .; +} > psu_ddr_0_MEM_0 + +.gcc_except_table : { + *(.gcc_except_table) +} > psu_ddr_0_MEM_0 + +.bss (NOLOAD) : { + . = ALIGN(64); + _bss = .; + *(.bss) + *(.bss.*) + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(64); + _ebss = .; +} > psu_ddr_0_MEM_0 + +/*_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );*/ + _data_lma = LOADADDR(.data); + +/* Generate Stack and Heap definitions */ + +.heap (NOLOAD) : { + . = ALIGN(64); + _heap = .; + HeapBase = .; + _heap_start = .; + *(.heap*) + /*. += _HEAP_SIZE;*/ + /*_heap_size = _HEAP_SIZE; */ + _heap_end = .; + HeapLimit = .; +} > psu_ddr_0_MEM_0 + +.stack (NOLOAD) : { + . = ALIGN(64); + _stack_end_end = .; + . += _STACK_SIZE; + _stack_top = .; +} > psu_ddr_0_MEM_0 + +_end = .; +} + diff --git a/freertos/cvitek/scripts/cv1835_lscript.ld b/freertos/cvitek/scripts/cv1835_lscript.ld new file mode 100644 index 000000000..2831e0d97 --- /dev/null +++ b/freertos/cvitek/scripts/cv1835_lscript.ld @@ -0,0 +1,320 @@ +/*******************************************************************/ +/* */ +/* This file is automatically generated by linker script generator.*/ +/* */ +/* Version: */ +/* */ +/* Copyright (c) 2010-2016 Xilinx, Inc. All rights reserved. */ +/* */ +/* Description : Cortex-A53 Linker Script */ +/* */ +/*******************************************************************/ + +_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x2000; +_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x100000; + +_EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024; +_EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048; +_EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; + +/* Define Memories in the system */ + +MEMORY +{ + psu_ddr_0_MEM_0 : ORIGIN = 0x110000000, LENGTH = 0x10000000 + psu_ddr_1_MEM_0 : ORIGIN = 0x800000000, LENGTH = 0x80000000 + psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000 + psu_qspi_linear_0_MEM_0 : ORIGIN = 0xC0000000, LENGTH = 0x20000000 +} + +/* Specify the default entry point to the program */ + +ENTRY(_vector_table) + +/* Define the sections, and where they are mapped in memory */ + +SECTIONS +{ +.text : { + KEEP (*(.vectors)) + *(.boot) + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) + *(.plt) + *(.gnu_warning) + *(.gcc_execpt_table) + *(.glue_7) + *(.glue_7t) + *(.ARM.extab) + *(.gnu.linkonce.armextab.*) +} > psu_ddr_0_MEM_0 + +.init (ALIGN(64)) : { + KEEP (*(.init)) +} > psu_ddr_0_MEM_0 + +.fini (ALIGN(64)) : { + KEEP (*(.fini)) +} > psu_ddr_0_MEM_0 + +.interp : { + KEEP (*(.interp)) +} > psu_ddr_0_MEM_0 + +.note-ABI-tag : { + KEEP (*(.note-ABI-tag)) +} > psu_ddr_0_MEM_0 + +.rodata : { + . = ALIGN(64); + __rodata_start = .; + *(.rodata) + *(.rodata.*) + *(.gnu.linkonce.r.*) + __rodata_end = .; +} > psu_ddr_0_MEM_0 + +.rodata1 : { + . = ALIGN(64); + __rodata1_start = .; + *(.rodata1) + *(.rodata1.*) + __rodata1_end = .; +} > psu_ddr_0_MEM_0 + +.sdata2 : { + . = ALIGN(64); + __sdata2_start = .; + *(.sdata2) + *(.sdata2.*) + *(.gnu.linkonce.s2.*) + __sdata2_end = .; +} > psu_ddr_0_MEM_0 + +.sbss2 : { + . = ALIGN(64); + __sbss2_start = .; + *(.sbss2) + *(.sbss2.*) + *(.gnu.linkonce.sb2.*) + __sbss2_end = .; +} > psu_ddr_0_MEM_0 + +.data : { + . = ALIGN(64); + __data_start = .; + *(.data) + *(.data.*) + *(.gnu.linkonce.d.*) + *(.jcr) + *(.got) + *(.got.plt) + __data_end = .; +} > psu_ddr_0_MEM_0 + +.data1 : { + . = ALIGN(64); + __data1_start = .; + *(.data1) + *(.data1.*) + __data1_end = .; +} > psu_ddr_0_MEM_0 + +.got : { + *(.got) +} > psu_ddr_0_MEM_0 + +.got1 : { + *(.got1) +} > psu_ddr_0_MEM_0 + +.got2 : { + *(.got2) +} > psu_ddr_0_MEM_0 + +.ctors : { + . = ALIGN(64); + __CTOR_LIST__ = .; + ___CTORS_LIST___ = .; + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __CTOR_END__ = .; + ___CTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.dtors : { + . = ALIGN(64); + __DTOR_LIST__ = .; + ___DTORS_LIST___ = .; + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __DTOR_END__ = .; + ___DTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.fixup : { + __fixup_start = .; + *(.fixup) + __fixup_end = .; +} > psu_ddr_0_MEM_0 + +.eh_frame : { + *(.eh_frame) +} > psu_ddr_0_MEM_0 + +.eh_framehdr : { + __eh_framehdr_start = .; + *(.eh_framehdr) + __eh_framehdr_end = .; +} > psu_ddr_0_MEM_0 + +.gcc_except_table : { + *(.gcc_except_table) +} > psu_ddr_0_MEM_0 + +.mmu_tbl0 (ALIGN(4096)) : { + __mmu_tbl0_start = .; + *(.mmu_tbl0) + __mmu_tbl0_end = .; +} > psu_ddr_0_MEM_0 + +.mmu_tbl1 (ALIGN(4096)) : { + __mmu_tbl1_start = .; + *(.mmu_tbl1) + __mmu_tbl1_end = .; +} > psu_ddr_0_MEM_0 + +.mmu_tbl2 (ALIGN(4096)) : { + __mmu_tbl2_start = .; + *(.mmu_tbl2) + __mmu_tbl2_end = .; +} > psu_ddr_0_MEM_0 + +.ARM.exidx : { + __exidx_start = .; + *(.ARM.exidx*) + *(.gnu.linkonce.armexidix.*.*) + __exidx_end = .; +} > psu_ddr_0_MEM_0 + +.preinit_array : { + . = ALIGN(64); + __preinit_array_start = .; + KEEP (*(SORT(.preinit_array.*))) + KEEP (*(.preinit_array)) + __preinit_array_end = .; +} > psu_ddr_0_MEM_0 + +.init_array : { + . = ALIGN(64); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; +} > psu_ddr_0_MEM_0 + +.fini_array : { + . = ALIGN(64); + __fini_array_start = .; + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array)) + __fini_array_end = .; +} > psu_ddr_0_MEM_0 + +.ARM.attributes : { + __ARM.attributes_start = .; + *(.ARM.attributes) + __ARM.attributes_end = .; +} > psu_ddr_0_MEM_0 + +.sdata : { + . = ALIGN(64); + __sdata_start = .; + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.s.*) + __sdata_end = .; +} > psu_ddr_0_MEM_0 + +.sbss (NOLOAD) : { + . = ALIGN(64); + __sbss_start = .; + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.sb.*) + . = ALIGN(64); + __sbss_end = .; +} > psu_ddr_0_MEM_0 + +.tdata : { + . = ALIGN(64); + __tdata_start = .; + *(.tdata) + *(.tdata.*) + *(.gnu.linkonce.td.*) + __tdata_end = .; +} > psu_ddr_0_MEM_0 + +.tbss : { + . = ALIGN(64); + __tbss_start = .; + *(.tbss) + *(.tbss.*) + *(.gnu.linkonce.tb.*) + __tbss_end = .; +} > psu_ddr_0_MEM_0 + +.bss (NOLOAD) : { + . = ALIGN(64); + __bss_start__ = .; + *(.bss) + *(.bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(64); + __bss_end__ = .; +} > psu_ddr_0_MEM_0 + +_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 ); + +_SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 ); + +/* Generate Stack and Heap definitions */ + +.heap (NOLOAD) : { + . = ALIGN(64); + _heap = .; + HeapBase = .; + _heap_start = .; + . += _HEAP_SIZE; + _heap_end = .; + HeapLimit = .; +} > psu_ddr_0_MEM_0 + +.stack (NOLOAD) : { + . = ALIGN(64); + _el3_stack_end = .; + . += _STACK_SIZE; + __el3_stack = .; + _el2_stack_end = .; + . += _EL2_STACK_SIZE; + . = ALIGN(64); + __el2_stack = .; + _el1_stack_end = .; + . += _EL1_STACK_SIZE; + . = ALIGN(64); + __el1_stack = .; + _el0_stack_end = .; + . += _EL0_STACK_SIZE; + . = ALIGN(64); + __el0_stack = .; +} > psu_ddr_0_MEM_0 + +_end = .; +} + diff --git a/freertos/cvitek/scripts/spelling.txt b/freertos/cvitek/scripts/spelling.txt new file mode 100644 index 000000000..163c720d3 --- /dev/null +++ b/freertos/cvitek/scripts/spelling.txt @@ -0,0 +1,1072 @@ +# Originally from Debian's Lintian tool. Various false positives have been +# removed, and various additions have been made as they've been discovered +# in the kernel source. +# +# License: GPLv2 +# +# The format of each line is: +# mistake||correction +# +abandonning||abandoning +abigious||ambiguous +abitrate||arbitrate +abov||above +abreviated||abbreviated +absense||absence +absolut||absolute +absoulte||absolute +acccess||access +acceleratoin||acceleration +accelleration||acceleration +accesing||accessing +accesnt||accent +accessable||accessible +accesss||access +accidentaly||accidentally +accidentually||accidentally +accoding||according +accomodate||accommodate +accomodates||accommodates +accordign||according +accoring||according +accout||account +accquire||acquire +accquired||acquired +accross||across +acessable||accessible +acess||access +achitecture||architecture +acient||ancient +acitions||actions +acitve||active +acknowldegement||acknowldegement +acknowledgement||acknowledgment +ackowledge||acknowledge +ackowledged||acknowledged +acording||according +activete||activate +acumulating||accumulating +adapater||adapter +addional||additional +additionaly||additionally +addres||address +addreses||addresses +addresss||address +aditional||additional +aditionally||additionally +aditionaly||additionally +adminstrative||administrative +adress||address +adresses||addresses +adviced||advised +afecting||affecting +agaist||against +albumns||albums +alegorical||allegorical +algorith||algorithm +algorithmical||algorithmically +algoritm||algorithm +algoritms||algorithms +algorrithm||algorithm +algorritm||algorithm +allign||align +allocatrd||allocated +allocte||allocate +allpication||application +alocate||allocate +alogirhtms||algorithms +alogrithm||algorithm +alot||a lot +alow||allow +alows||allows +altough||although +alue||value +ambigious||ambiguous +amoung||among +amout||amount +analysator||analyzer +ang||and +anniversery||anniversary +annoucement||announcement +anomolies||anomalies +anomoly||anomaly +anway||anyway +aplication||application +appearence||appearance +applicaion||application +appliction||application +applictions||applications +appplications||applications +appropiate||appropriate +appropriatly||appropriately +approriate||appropriate +approriately||appropriately +apropriate||appropriate +aquainted||acquainted +aquired||acquired +aquisition||acquisition +arbitary||arbitrary +architechture||architecture +arguement||argument +arguements||arguments +aritmetic||arithmetic +arne't||aren't +arraival||arrival +artifical||artificial +artillary||artillery +asign||assign +assertation||assertion +assiged||assigned +assigment||assignment +assigments||assignments +assistent||assistant +assocation||association +associcated||associated +assotiated||associated +assum||assume +assumtpion||assumption +asuming||assuming +asycronous||asynchronous +asynchnous||asynchronous +atomatically||automatically +atomicly||atomically +attachement||attachment +attched||attached +attemps||attempts +attruibutes||attributes +authentification||authentication +automaticaly||automatically +automaticly||automatically +automatize||automate +automatized||automated +automatizes||automates +autonymous||autonomous +auxillary||auxiliary +auxilliary||auxiliary +avaiable||available +avaible||available +availabe||available +availabled||available +availablity||availability +availale||available +availavility||availability +availble||available +availiable||available +avalable||available +avaliable||available +aysnc||async +backgroud||background +backword||backward +backwords||backwards +bahavior||behavior +bakup||backup +baloon||balloon +baloons||balloons +bandwith||bandwidth +batery||battery +beacuse||because +becasue||because +becomming||becoming +becuase||because +beeing||being +befor||before +begining||beginning +beter||better +betweeen||between +bianries||binaries +bitmast||bitmask +boardcast||broadcast +borad||board +boundry||boundary +brievely||briefly +broadcat||broadcast +cacluated||calculated +caculation||calculation +calender||calendar +calle||called +calucate||calculate +calulate||calculate +cancelation||cancellation +capabilites||capabilities +capabitilies||capabilities +capatibilities||capabilities +carefuly||carefully +cariage||carriage +catagory||category +cehck||check +challange||challenge +challanges||challenges +chanell||channel +changable||changeable +channle||channel +channnel||channel +charachter||character +charachters||characters +charactor||character +charater||character +charaters||characters +charcter||character +chcek||check +chck||check +checksuming||checksumming +childern||children +childs||children +chiled||child +chked||checked +chnage||change +chnages||changes +chnnel||channel +choosen||chosen +chouse||chose +circumvernt||circumvent +claread||cleared +clared||cleared +closeing||closing +clustred||clustered +collapsable||collapsible +colorfull||colorful +comand||command +comit||commit +commerical||commercial +comming||coming +comminucation||communication +commited||committed +commiting||committing +committ||commit +commoditiy||commodity +compability||compatibility +compaibility||compatibility +compatability||compatibility +compatable||compatible +compatibiliy||compatibility +compatibilty||compatibility +compatiblity||compatibility +competion||completion +compilant||compliant +compleatly||completely +completly||completely +complient||compliant +componnents||components +compres||compress +compresion||compression +comression||compression +comunication||communication +conbination||combination +conditionaly||conditionally +conected||connected +configuratoin||configuration +configuraton||configuration +configuretion||configuration +conider||consider +conjuction||conjunction +connectinos||connections +connnection||connection +connnections||connections +consistancy||consistency +consistant||consistent +containes||contains +containts||contains +contaisn||contains +contant||contact +contence||contents +continous||continuous +continously||continuously +continueing||continuing +contraints||constraints +controled||controlled +controler||controller +controll||control +contruction||construction +contry||country +convertion||conversion +convertor||converter +convienient||convenient +convinient||convenient +corected||corrected +correponding||corresponding +correponds||corresponds +correspoding||corresponding +cotrol||control +couter||counter +coutner||counter +cryptocraphic||cryptographic +cunter||counter +curently||currently +dafault||default +deafult||default +deamon||daemon +decompres||decompress +decription||description +defailt||default +defferred||deferred +definate||definite +definately||definitely +defintion||definition +defintions||definitions +defualt||default +defult||default +deivce||device +delared||declared +delare||declare +delares||declares +delaring||declaring +delemiter||delimiter +dependancies||dependencies +dependancy||dependency +dependant||dependent +depreacted||deprecated +depreacte||deprecate +desactivate||deactivate +desciptors||descriptors +descripton||description +descrition||description +descritptor||descriptor +desctiptor||descriptor +desriptor||descriptor +desriptors||descriptors +destory||destroy +destoryed||destroyed +destorys||destroys +destroied||destroyed +detabase||database +develope||develop +developement||development +developped||developed +developpement||development +developper||developer +developpment||development +deveolpment||development +devided||divided +deviece||device +diable||disable +dictionnary||dictionary +didnt||didn't +diferent||different +differrence||difference +difinition||definition +diplay||display +direectly||directly +disapear||disappear +disapeared||disappeared +disappared||disappeared +disconnet||disconnect +discontinous||discontinuous +dispertion||dispersion +dissapears||disappears +distiction||distinction +docuentation||documentation +documantation||documentation +documentaion||documentation +documment||document +doesnt||doesn't +dorp||drop +dosen||doesn +downlad||download +downlads||downloads +druing||during +dynmaic||dynamic +easilly||easily +ecspecially||especially +edditable||editable +editting||editing +efficently||efficiently +ehther||ether +eigth||eight +eletronic||electronic +enabledi||enabled +enchanced||enhanced +encorporating||incorporating +encrupted||encrypted +encrypiton||encryption +endianess||endianness +enhaced||enhanced +enlightnment||enlightenment +enocded||encoded +enterily||entirely +enviroiment||environment +enviroment||environment +environement||environment +environent||environment +eqivalent||equivalent +equiped||equipped +equivelant||equivalent +equivilant||equivalent +eror||error +estbalishment||establishment +etsablishment||establishment +etsbalishment||establishment +excecutable||executable +exceded||exceeded +excellant||excellent +existance||existence +existant||existent +exixt||exist +exlcude||exclude +exlcusive||exclusive +exmaple||example +expecially||especially +explicite||explicit +explicitely||explicitly +explict||explicit +explictly||explicitly +expresion||expression +exprimental||experimental +extened||extended +extensability||extensibility +extention||extension +extracter||extractor +faild||failed +faill||fail +failue||failure +failuer||failure +faireness||fairness +faliure||failure +familar||familiar +fatser||faster +feauture||feature +feautures||features +fetaure||feature +fetaures||features +fileystem||filesystem +fimware||firmware +finanize||finalize +findn||find +finilizes||finalizes +finsih||finish +flusing||flushing +folloing||following +followign||following +follwing||following +forseeable||foreseeable +forse||force +fortan||fortran +forwardig||forwarding +framwork||framework +frequncy||frequency +frome||from +fucntion||function +fuction||function +fuctions||functions +funcion||function +functionallity||functionality +functionaly||functionally +functionnality||functionality +functonality||functionality +funtion||function +funtions||functions +furthur||further +futhermore||furthermore +futrue||future +gaurenteed||guaranteed +generiously||generously +genric||generic +globel||global +grabing||grabbing +grahical||graphical +grahpical||graphical +grapic||graphic +guage||gauge +guarenteed||guaranteed +guarentee||guarantee +halfs||halves +hander||handler +handfull||handful +hanled||handled +happend||happened +harware||hardware +heirarchically||hierarchically +helpfull||helpful +hierachy||hierarchy +hierarchie||hierarchy +howver||however +hsould||should +hypter||hyper +identidier||identifier +imblance||imbalance +immeadiately||immediately +immedaite||immediate +immediatelly||immediately +immediatly||immediately +immidiate||immediate +impelentation||implementation +impementated||implemented +implemantation||implementation +implemenation||implementation +implementaiton||implementation +implementated||implemented +implemention||implementation +implemetation||implementation +implemntation||implementation +implentation||implementation +implmentation||implementation +implmenting||implementing +incomming||incoming +incompatabilities||incompatibilities +incompatable||incompatible +inconsistant||inconsistent +increas||increase +incrment||increment +indendation||indentation +indended||intended +independant||independent +independantly||independently +independed||independent +indiate||indicate +inexpect||inexpected +infomation||information +informatiom||information +informations||information +informtion||information +infromation||information +ingore||ignore +inital||initial +initalised||initialized +initalise||initialize +initalize||initialize +initation||initiation +initators||initiators +initializiation||initialization +initialzed||initialized +initilization||initialization +initilize||initialize +inofficial||unofficial +insititute||institute +instal||install +inteface||interface +integreated||integrated +integrety||integrity +integrey||integrity +intendet||intended +intented||intended +interanl||internal +interchangable||interchangeable +interferring||interfering +interger||integer +intermittant||intermittent +internel||internal +interoprability||interoperability +interrface||interface +interrrupt||interrupt +interrup||interrupt +interrups||interrupts +interruptted||interrupted +interupted||interrupted +interupt||interrupt +intial||initial +intialized||initialized +intialize||initialize +intregral||integral +intrrupt||interrupt +intuative||intuitive +invaid||invalid +invalde||invald +invalide||invalid +invididual||individual +invokation||invocation +invokations||invocations +irrelevent||irrelevant +isnt||isn't +isssue||issue +itslef||itself +jave||java +jeffies||jiffies +juse||just +jus||just +kown||known +langage||language +langauage||language +langauge||language +langugage||language +lauch||launch +layed||laid +leightweight||lightweight +lengh||length +lenght||length +lenth||length +lesstiff||lesstif +libaries||libraries +libary||library +librairies||libraries +libraris||libraries +licenceing||licencing +loggging||logging +loggin||login +logile||logfile +loosing||losing +losted||lost +machinary||machinery +maintainance||maintenance +maintainence||maintenance +maintan||maintain +makeing||making +malplaced||misplaced +malplace||misplace +managable||manageable +managment||management +mangement||management +manoeuvering||maneuvering +mappping||mapping +mathimatical||mathematical +mathimatic||mathematic +mathimatics||mathematics +maxium||maximum +mechamism||mechanism +meetign||meeting +ment||meant +mergable||mergeable +mesage||message +messags||messages +messgaes||messages +messsage||message +messsages||messages +microprocesspr||microprocessor +milliseonds||milliseconds +minumum||minimum +miscelleneous||miscellaneous +misformed||malformed +mispelled||misspelled +mispelt||misspelt +miximum||maximum +mmnemonic||mnemonic +mnay||many +modulues||modules +monochorome||monochrome +monochromo||monochrome +monocrome||monochrome +mopdule||module +mroe||more +mulitplied||multiplied +multidimensionnal||multidimensional +multple||multiple +mumber||number +muticast||multicast +mutiple||multiple +mutli||multi +nams||names +navagating||navigating +nead||need +neccecary||necessary +neccesary||necessary +neccessary||necessary +necesary||necessary +negaive||negative +negoitation||negotiation +negotation||negotiation +nerver||never +nescessary||necessary +nessessary||necessary +noticable||noticeable +notications||notifications +notifed||notified +numebr||number +numner||number +obtaion||obtain +occassionally||occasionally +occationally||occasionally +occurance||occurrence +occurances||occurrences +occured||occurred +occurence||occurrence +occure||occurred +occuring||occurring +offet||offset +omitt||omit +ommiting||omitting +ommitted||omitted +onself||oneself +ony||only +operatione||operation +opertaions||operations +optionnal||optional +optmizations||optimizations +orientatied||orientated +orientied||oriented +otherise||otherwise +ouput||output +overaall||overall +overhread||overhead +overlaping||overlapping +overriden||overridden +overun||overrun +pacakge||package +pachage||package +packacge||package +packege||package +packge||package +packtes||packets +pakage||package +pallette||palette +paln||plan +paramameters||parameters +paramater||parameter +parametes||parameters +parametised||parametrised +paramter||parameter +paramters||parameters +particuarly||particularly +particularily||particularly +pased||passed +passin||passing +pathes||paths +pecularities||peculiarities +peformance||performance +peice||piece +pendantic||pedantic +peprocessor||preprocessor +perfoming||performing +permissons||permissions +peroid||period +persistance||persistence +persistant||persistent +platfrom||platform +plattform||platform +pleaes||please +ploting||plotting +plugable||pluggable +poinnter||pointer +poiter||pointer +posible||possible +positon||position +possibilites||possibilities +powerfull||powerful +preceeded||preceded +preceeding||preceding +preceed||precede +precendence||precedence +precission||precision +preemptable||preemptible +prefered||preferred +prefferably||preferably +premption||preemption +prepaired||prepared +pressre||pressure +primative||primitive +princliple||principle +priorty||priority +privilaged||privileged +privilage||privilege +priviledge||privilege +priviledges||privileges +probaly||probably +procceed||proceed +proccesors||processors +procesed||processed +proces||process +processessing||processing +processess||processes +processpr||processor +processsed||processed +processsing||processing +procteted||protected +prodecure||procedure +progams||programs +progess||progress +programers||programmers +programm||program +programms||programs +progresss||progress +promiscous||promiscuous +promps||prompts +pronnounced||pronounced +prononciation||pronunciation +pronouce||pronounce +pronunce||pronounce +propery||property +propigate||propagate +propigation||propagation +propogate||propagate +prosess||process +protable||portable +protcol||protocol +protecion||protection +protocoll||protocol +psudo||pseudo +psuedo||pseudo +psychadelic||psychedelic +pwoer||power +quering||querying +raoming||roaming +reasearcher||researcher +reasearchers||researchers +reasearch||research +recepient||recipient +receving||receiving +recieved||received +recieve||receive +reciever||receiver +recieves||receives +recogniced||recognised +recognizeable||recognizable +recommanded||recommended +recyle||recycle +redircet||redirect +redirectrion||redirection +refcounf||refcount +refence||reference +refered||referred +referenace||reference +refering||referring +refernces||references +refernnce||reference +refrence||reference +registerd||registered +registeresd||registered +registes||registers +registraration||registration +regster||register +regualar||regular +reguator||regulator +regulamentations||regulations +reigstration||registration +releated||related +relevent||relevant +remoote||remote +remore||remote +removeable||removable +repectively||respectively +replacable||replaceable +replacments||replacements +replys||replies +reponse||response +representaion||representation +reqeust||request +requiere||require +requirment||requirement +requred||required +requried||required +requst||request +reseting||resetting +resizeable||resizable +resouces||resources +resoures||resources +responce||response +ressizes||resizes +ressource||resource +ressources||resources +retransmited||retransmitted +retreived||retrieved +retreive||retrieve +retrive||retrieve +retuned||returned +reudce||reduce +reuest||request +reuqest||request +reutnred||returned +rmeoved||removed +rmeove||remove +rmeoves||removes +rountine||routine +routins||routines +rquest||request +runing||running +runned||ran +runnning||running +runtine||runtime +sacrifying||sacrificing +safly||safely +safty||safety +savable||saveable +scaned||scanned +scaning||scanning +scarch||search +seach||search +searchs||searches +secquence||sequence +secund||second +segement||segment +senarios||scenarios +sentivite||sensitive +separatly||separately +sepcify||specify +sepc||spec +seperated||separated +seperately||separately +seperate||separate +seperatly||separately +seperator||separator +sepperate||separate +sequece||sequence +sequencial||sequential +serveral||several +setts||sets +settting||setting +shotdown||shutdown +shoud||should +shouldnt||shouldn't +shoule||should +shrinked||shrunk +siginificantly||significantly +signabl||signal +similary||similarly +similiar||similar +simlar||similar +simliar||similar +simpified||simplified +singaled||signaled +singal||signal +singed||signed +sleeped||slept +softwares||software +speach||speech +specfic||specific +speciefied||specified +specifc||specific +specifed||specified +specificatin||specification +specificaton||specification +specifing||specifying +specifiying||specifying +speficied||specified +speicify||specify +speling||spelling +spinlcok||spinlock +spinock||spinlock +splitted||split +spreaded||spread +sructure||structure +stablilization||stabilization +staically||statically +staion||station +standardss||standards +standartization||standardization +standart||standard +staticly||statically +stoped||stopped +stoppped||stopped +straming||streaming +struc||struct +structres||structures +stuct||struct +stucture||structure +sturcture||structure +subdirectoires||subdirectories +suble||subtle +substract||subtract +succesfully||successfully +succesful||successful +successfull||successful +sucessfully||successfully +sucess||success +superflous||superfluous +superseeded||superseded +suplied||supplied +suported||supported +suport||support +suppored||supported +supportin||supporting +suppoted||supported +suppported||supported +suppport||support +supress||suppress +surpresses||suppresses +susbsystem||subsystem +suspicously||suspiciously +swaping||swapping +switchs||switches +symetric||symmetric +synax||syntax +synchonized||synchronized +syncronize||synchronize +syncronizing||synchronizing +syncronus||synchronous +syste||system +sytem||system +sythesis||synthesis +taht||that +targetted||targeted +targetting||targeting +teh||the +temorary||temporary +temproarily||temporarily +thier||their +threds||threads +threshhold||threshold +throught||through +thses||these +tiggered||triggered +tipically||typically +tmis||this +torerable||tolerable +tramsmitted||transmitted +tramsmit||transmit +tranfer||transfer +transciever||transceiver +transferd||transferrd +transfered||transferred +transfering||transferring +transision||transition +transmittd||transmitted +transormed||transformed +trasmission||transmission +treshold||threshold +trigerring||triggering +trun||turn +ture||true +tyep||type +udpate||update +uesd||used +unconditionaly||unconditionally +underun||underrun +unecessary||unnecessary +unexecpted||unexpected +unexpectd||unexpected +unexpeted||unexpected +unfortunatelly||unfortunately +unifiy||unify +unintialized||uninitialized +unknonw||unknown +unknow||unknown +unkown||unknown +unneedingly||unnecessarily +unresgister||unregister +unsinged||unsigned +unstabel||unstable +unsuccessfull||unsuccessful +unsuported||unsupported +untill||until +unuseful||useless +upate||update +usefule||useful +usefull||useful +usege||usage +usera||users +usualy||usually +utilites||utilities +utillities||utilities +utilties||utilities +utiltity||utility +utitity||utility +utitlty||utility +vaid||valid +vaild||valid +valide||valid +variantions||variations +varient||variant +vaule||value +verbse||verbose +verisons||versions +verison||version +verson||version +vicefersa||vice-versa +virtal||virtual +virtaul||virtual +virtiual||virtual +visiters||visitors +vitual||virtual +wating||waiting +wether||whether +whataver||whatever +whcih||which +whenver||whenever +wheter||whether +whe||when +wierd||weird +wiil||will +wirte||write +withing||within +wnat||want +workarould||workaround +writeing||writing +writting||writing +zombe||zombie +zomebie||zombie diff --git a/freertos/cvitek/scripts/toolchain-aarch64-elf.cmake b/freertos/cvitek/scripts/toolchain-aarch64-elf.cmake new file mode 100644 index 000000000..757dad698 --- /dev/null +++ b/freertos/cvitek/scripts/toolchain-aarch64-elf.cmake @@ -0,0 +1,52 @@ +include(CMakeForceCompiler) + +# The Generic system name is used for embedded targets (targets without OS) in +# CMake +SET( CMAKE_SYSTEM_NAME Generic) +set( CMAKE_SYSTEM_PROCESSOR aarch64 ) +set( ARCH aarch64 ) +#set( CROSS_COMPILE aarch64-linux-gnu-) +set( CROSS_COMPILE aarch64-elf-) + +set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc) +set(CMAKE_CXX_COMPILER ${CROSS_COMPILE}g++) +set(CMAKE_S_COMPILER ${CROSS_COMPILE}gcc) + +message(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}") +message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}") + +# skip tests +set(CMAKE_C_COMPILER_WORKS 1) + +# We must set the OBJCOPY setting into cache so that it's available to the +# whole project. Otherwise, this does not get set into the CACHE and therefore +# the build doesn't know what the OBJCOPY filepath is +set(CMAKE_OBJCOPY ${CROSS_COMPILE}objcopy + CACHE FILEPATH "The toolchain objcopy command " FORCE ) + +# Set the CMAKE C flags (which should also be used by the assembler! +#set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -DFREERTOS_BSP" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=gnu11" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-pointer-to-int-cast" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-field-initializers" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdlib" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcmodel=large" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFREERTOS_BSP -DGUEST" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_SMP" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_64BIT" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_PHYS_ADDR_T_64BIT" ) +# need to compatible with linux-kernel structure size, please check with linux-kernl .config +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_DEBUG_SPINLOCK" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDEVICE_FROM_DTS" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__linux" ) + +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "" ) +set( CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "" ) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers" ) +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses" ) diff --git a/freertos/cvitek/scripts/toolchain-riscv64-elf.cmake b/freertos/cvitek/scripts/toolchain-riscv64-elf.cmake new file mode 100644 index 000000000..66d150262 --- /dev/null +++ b/freertos/cvitek/scripts/toolchain-riscv64-elf.cmake @@ -0,0 +1,59 @@ +include(CMakeForceCompiler) + +# The Generic system name is used for embedded targets (targets without OS) in +# CMake +SET( CMAKE_SYSTEM_NAME Generic) +set( CMAKE_SYSTEM_PROCESSOR riscv64 ) +set( ARCH riscv64 ) +#set( CROSS_COMPILE aarch64-linux-gnu-) +set( CROSS_COMPILE riscv64-unknown-elf-) + +set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc) +set(CMAKE_CXX_COMPILER ${CROSS_COMPILE}g++) +set(CMAKE_S_COMPILER ${CROSS_COMPILE}gcc) + +message(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}") +message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}") + +# skip tests +set(CMAKE_C_COMPILER_WORKS 1) + +# We must set the OBJCOPY setting into cache so that it's available to the +# whole project. Otherwise, this does not get set into the CACHE and therefore +# the build doesn't know what the OBJCOPY filepath is +set(CMAKE_OBJCOPY ${CROSS_COMPILE}objcopy + CACHE FILEPATH "The toolchain objcopy command " FORCE ) + +# Set the CMAKE C flags (which should also be used by the assembler! +#set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -DFREERTOS_BSP" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=gnu11" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=rv64imafdc" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mabi=lp64d" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-pointer-to-int-cast" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-builtin" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-field-initializers" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdlib" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcmodel=medany" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFREERTOS_BSP" ) +if ($ENV{DDR_64MB_SIZE} STREQUAL "y") +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLINUX_BSP_64MB" ) +else() +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLINUX_BSP_128MB" ) +endif() +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__riscv_xlen=64" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTHEAD_C906" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_64BIT" ) +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DRISCV_FPU" ) +#set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPXP_PLAT" ) +#set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFPGA_PLAT" ) +#set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DRISCV_QEMU" ) + +set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "" ) +set( CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "" ) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers" ) +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses" ) diff --git a/freertos/cvitek/task/CMakeLists.txt b/freertos/cvitek/task/CMakeLists.txt new file mode 100644 index 000000000..aec52dff8 --- /dev/null +++ b/freertos/cvitek/task/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.16.5) + +project(arch C ASM) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS ON) + +set(CMAKE_INSTALL_PREFIX ${TOP_DIR}/install) +set(CMAKE_INSTALL_INC_PREFIX ${TOP_DIR}/install/include) + +set(SAFETY_FLAGS "-Wall -Wextra -fno-strict-aliasing -static --specs=nosys.specs") +#set(SAFETY_FLAGS "-Werror -Wall -Wextra -fno-strict-aliasing") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAFETY_FLAGS} -D${RUN_TYPE}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAFETY_FLAGS}") + +include(${TOP_DIR}/scripts/ParseConfiguration.cmake) +ParseConfiguration("${BUILD_ENV_PATH}/.config") + +if (RUN_TYPE STREQUAL "BLINKY_DEMO") + add_subdirectory(demo/Blinky_Demo) +elseif (RUN_TYPE STREQUAL "FULL_DEMO") + add_subdirectory(demo/Full_Demo) +elseif (RUN_TYPE STREQUAL "POSIX_DEMO") + add_subdirectory(demo/POSIX_Demo) +elseif (RUN_TYPE STREQUAL "CVIRTOS") +if (CHIP STREQUAL "cv1835") + add_subdirectory(comm) + + add_subdirectory(vip) + add_subdirectory(display) + add_subdirectory(vcodec) +elseif (CHIP STREQUAL "cv181x" OR CHIP STREQUAL "cv180x") + add_subdirectory(comm) + add_subdirectory(rgn) + add_subdirectory(audio) +if (CONFIG_FAST_IMAGE_TYPE STRGREATER "0") + add_subdirectory(vi) + + add_subdirectory(camera) + add_subdirectory(vcodec) + # add_subdirectory(vip) +endif() +endif() + +if(CONFIG_BOARD STREQUAL "cv181x_fpga" OR CONFIG_BOARD STREQUAL "cv181x_fpga_c906") + add_compile_definitions(FPGA_PORTING) +endif() + +endif() +add_subdirectory(main) + +add_custom_target(cvirtos.bin + DEPENDS ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.elf +) +add_custom_command(TARGET cvirtos.bin + COMMAND echo "Build cvirtos.bin and it depends on ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.elf" + POST_BUILD + DEPENDS ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.elf + COMMAND ${CMAKE_OBJCOPY} ARGS ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.elf -O binary ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.bin + COMMAND ${CMAKE_OBJDUMP} ARGS -dS ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.elf > ${CMAKE_INSTALL_PREFIX}/bin/cvirtos.dis + VERBATIM +) diff --git a/freertos/cvitek/task/audio/CMakeLists.txt b/freertos/cvitek/task/audio/CMakeLists.txt new file mode 100644 index 000000000..18fe863ac --- /dev/null +++ b/freertos/cvitek/task/audio/CMakeLists.txt @@ -0,0 +1,26 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c" "src/SSP_Algorithm_20220128/*.c" "src/unit_test/*.c") +file(GLOB _HEADERS "include/*.h" "src/SSP_Algorithm_20220128/*.h" "src/unit_test/*.h") + +include_directories(include) +include_directories(src) +include_directories(src/SSP_Algorithm_20220128) +include_directories(src/unit_test) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) + +include_directories(../comm/include) +include_directories(../common/include/cv181x) +#include_directories(../../common/include/cv1835) +add_definitions(-DPLATFORM_RTOS) +#add_definitions(-DAUDIO_UNIT_TEST) +#add_definitions(-DFE_WAVE_FILE=/pattern/FE_ht_s_ref_hw_8k_1.wav) +#add_definitions(-DNE_WAVE_FILE=/pattern/NE_ht_s_ref_hw_8k_1.wav) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFE_WAVE_FILE=./pattern/FE_ht_s_ref_hw_8k_1.wav -DNE_WAVE_FILE=./pattern/NE_ht_s_ref_hw_8k_1.wav") + +add_library(audio STATIC ${_SOURCES}) +install(TARGETS audio DESTINATION lib) + diff --git a/freertos/cvitek/task/audio/include/cvi_comm_aio.h b/freertos/cvitek/task/audio/include/cvi_comm_aio.h new file mode 100644 index 000000000..766fa445c --- /dev/null +++ b/freertos/cvitek/task/audio/include/cvi_comm_aio.h @@ -0,0 +1,581 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_comm_aio.h + * Description: basic audio in out definition + */ + +#ifndef __CVI_COMM_AIO_H__ +#define __CVI_COMM_AIO_H__ + +#include "cvi_common.h" +#ifndef PLATFORM_RTOS +#include "cvi_errno.h" +#endif + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + + +#define CVI_MAX_AUDIO_FRAME_NUM 300 /*max count of audio frame in Buffer */ +#define CVI_AUD_MAX_VOICE_POINT_NUM 1280 /*max sample per frame for voice encode */ +#define CVI_AUD_MAX_AUDIO_POINT_NUM 2048 /*max sample per frame for all encoder(aacplus:2048)*/ +#define CVI_AUD_MAX_CHANNEL_NUM 3 +#define CVI_MAX_AUDIO_STREAM_LEN (4 * 4096) + + + +#define MAX_AUDIO_FILE_PATH_LEN 256 +#define MAX_AUDIO_FILE_NAME_LEN 256 +#define MAX_AUDIO_VQE_CUSTOMIZE_NAME 64 + +/*The VQE EQ Band num.*/ +#define VQE_EQ_BAND_NUM 10 + +#define AI_RECORDVQE_MASK_HPF 0x1 +#define AI_RECORDVQE_MASK_RNR 0x2 +#define AI_RECORDVQE_MASK_HDR 0x4 +#define AI_RECORDVQE_MASK_DRC 0x8 +#define AI_RECORDVQE_MASK_EQ 0x10 +#define AI_RECORDVQE_MASK_AGC 0x20 + + +//#define AI_TALKVQE_MASK_HPF 0x1//not support +#define AI_TALKVQE_MASK_AEC 0x3 +#define AI_TALKVQE_MASK_ANR 0x4 +#define AI_TALKVQE_MASK_AGC 0x8 +#define AI_TALKVQE_MASK_NOTCH_FILTER 0x30 +//#define AI_TALKVQE_MASK_EQ 0x10//not supoort +#define NEXT_SSP_ALGO 1 + + +/* LP AEC Control */ +#define LP_AEC_ENABLE 0x1 /* bit 0 */ +/* NLP AES Control */ +#define NLP_AES_ENABLE 0x2 /* bit 1 */ +/* NR Control */ +#define NR_ENABLE 0x4 /* bit 2 */ +/* AGC Control */ +#define AGC_ENABLE 0x8 /* bit 3 */ +/* Notch Filter Control */ +#define NOTCH_ENABLE 0x10 /* bit 4 */ +/* DC Filter Control */ +#define DCREMOVER_ENABLE 0x20 /* bit 5 */ +/* DG Control */ +#define DG_ENABLE 0x40 /* bit 6 */ +/* Delay Control */ +#define DELAY_ENABLE 0x80 /* bit 7 */ + +//control for AO_VQE +/* AGC Control in SPK Path */ +#define SPK_AGC_ENABLE 0x1 /* bit 0 */ +#define SPK_EQ_ENABLE 0x2 /* bit 1 */ + +#define CVI_MAX_AI_DEVICE_ID_NUM 3 +#define CVI_MAX_AO_DEVICE_ID_NUM 3 +/* define macro */ + +#define CHECK_AI_DEVID_VALID(x) \ + ((((x) > (CVI_MAX_AI_DEVICE_ID_NUM-1))) ? 1:0) +#define CHECK_AO_DEVID_VALID(x) \ + ((((x) > (CVI_MAX_AO_DEVICE_ID_NUM-1))) ? 1:0) +#define CHECK_AENC_DEVID_VALID(x) \ + ((((x) > (AENC_MAX_CHN_NUM-1))) ? 1:0) +#define CHECK_ADEC_DEVID_VALID(x) \ + ((((x) > (ADEC_MAX_CHN_NUM-1))) ? 1:0) + + +typedef enum _AUDIO_SAMPLE_RATE_E { + AUDIO_SAMPLE_RATE_8000 = 8000, /* 8K samplerate*/ + /* 12K samplerate(not support in this version)*/ + AUDIO_SAMPLE_RATE_11025 = 11025, /* 11.025K samplerate*/ + AUDIO_SAMPLE_RATE_16000 = 16000, /* 16K samplerate*/ + AUDIO_SAMPLE_RATE_22050 = 22050, /* 22.050K samplerate*/ + AUDIO_SAMPLE_RATE_24000 = 24000, /* 24K samplerate*/ + AUDIO_SAMPLE_RATE_32000 = 32000, /* 32K samplerate*/ + AUDIO_SAMPLE_RATE_44100 = 44100, /* 44.1K samplerate*/ + AUDIO_SAMPLE_RATE_48000 = 48000, /* 48K samplerate*/ + AUDIO_SAMPLE_RATE_64000 = 64000, /* 64K samplerate*/ + /* 96K samplerate is not support in cv183x series*/ + AUDIO_SAMPLE_RATE_BUTT, +} AUDIO_SAMPLE_RATE_E; + +typedef enum _AUDIO_BIT_WIDTH_E { + AUDIO_BIT_WIDTH_8 = 0, /* 8bit width */ + AUDIO_BIT_WIDTH_16 = 1, /* 16bit width*/ + AUDIO_BIT_WIDTH_24 = 2, /* 24bit width*/ + AUDIO_BIT_WIDTH_32 = 3, /* 24bit width*/ + AUDIO_BIT_WIDTH_BUTT, +} AUDIO_BIT_WIDTH_E; + +typedef enum _AIO_MODE_E { + AIO_MODE_I2S_MASTER = 0, /* AIO I2S master mode */ + AIO_MODE_I2S_SLAVE, /* AIO I2S slave mode */ + AIO_MODE_PCM_SLAVE_STD, /* AIO PCM slave standard mode */ + AIO_MODE_PCM_SLAVE_NSTD, /* AIO PCM slave non-standard mode */ + AIO_MODE_PCM_MASTER_STD, /* AIO PCM master standard mode */ + AIO_MODE_PCM_MASTER_NSTD, /* AIO PCM master non-standard mode */ + AIO_MODE_BUTT +} AIO_MODE_E; + +typedef enum { + AIO_I2STYPE_INNERCODEC = 0, /* AIO I2S connect inner audio CODEC */ + AIO_I2STYPE_INNERHDMI, /* AIO I2S connect Inner HDMI */ + AIO_I2STYPE_EXTERN, /* AIO I2S connect extern hardware */ +} AIO_I2STYPE_E; + +typedef enum _AIO_SOUND_MODE_E { + AUDIO_SOUND_MODE_MONO = 0, /*mono*/ + AUDIO_SOUND_MODE_STEREO = 1, /*stereo only support interlace mode*/ + AUDIO_SOUND_MODE_BUTT +} AUDIO_SOUND_MODE_E; + +/*An example of the packing scheme for G726-32 codewords is as */ +/*shown, and bit A3 is the least significant */ +/*bit of the first codeword:*/ +/*RTP G726-32:*/ +/*0 1*/ +/*0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5*/ +/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/ +/*|B B B B|A A A A|D D D D|C C C C| ...*/ +/*|0 1 2 3|0 1 2 3|0 1 2 3|0 1 2 3|*/ +/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/ +/*MEDIA G726-32:*/ +/*0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5*/ +/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/ +/*|A A A A|B B B B|C C C C|D D D D| ...*/ +/*|3 2 1 0|3 2 1 0|3 2 1 0|3 2 1 0|*/ +/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/ +typedef enum _G726_BPS_E { + G726_16K = 0, /* G726 16kbps, see RFC3551.txt 4.5.4 G726-16 */ + G726_24K, /* G726 24kbps, see RFC3551.txt 4.5.4 G726-24 */ + G726_32K, /* G726 32kbps, see RFC3551.txt 4.5.4 G726-32 */ + G726_40K, /* G726 40kbps, see RFC3551.txt 4.5.4 G726-40 */ + MEDIA_G726_16K, /* G726 16kbps for ASF ... */ + MEDIA_G726_24K, /* G726 24kbps for ASF ... */ + MEDIA_G726_32K, /* G726 32kbps for ASF ... */ + MEDIA_G726_40K, /* G726 40kbps for ASF ... */ + G726_BUTT, +} G726_BPS_E; + +typedef enum _ADPCM_TYPE_E { + /* see DVI4 diiffers in three respects from the IMA ADPCM at RFC3551.txt 4.5.1 DVI4 */ + + ADPCM_TYPE_DVI4 = 0, /* 32kbps ADPCM(DVI4) for RTP */ + ADPCM_TYPE_IMA, /* 32kbps ADPCM(IMA),NOTICE:point num must be 161/241/321/481 */ + ADPCM_TYPE_ORG_DVI4, + ADPCM_TYPE_BUTT, +} ADPCM_TYPE_E; + +#define AI_EXPAND 0x01 +#define AI_CUT 0x02 + +typedef struct _AIO_ATTR_S { + AUDIO_SAMPLE_RATE_E enSamplerate; /* sample rate */ + AUDIO_BIT_WIDTH_E enBitwidth; /* bitwidth */ + AIO_MODE_E enWorkmode; /* master or slave mode */ + AUDIO_SOUND_MODE_E enSoundmode; /* momo or steror */ + CVI_U32 u32EXFlag; + /* expand 8bit to 16bit,use AI_EXPAND(only valid for AI 8bit),*/ + /*use AI_CUT(only valid for extern Codec for 24bit) */ + CVI_U32 u32FrmNum; + /* frame num in buf[2,CVI_MAX_AUDIO_FRAME_NUM] */ + CVI_U32 u32PtNumPerFrm; + /* point num per frame (80/160/240/320/480/1024/2048) */ + /*(ADPCM IMA should add 1 point, AMR only support 160) */ + CVI_U32 u32ChnCnt; /* channel number on FS, valid value:1/2/4/8 */ + CVI_U32 u32ClkSel; /* 0: AI and AO clock is separate*/ + /* 1: AI and AO clock is inseparate, AI use AO's clock*/ + AIO_I2STYPE_E enI2sType; /* i2s type */ +} AIO_ATTR_S; + +typedef struct _AI_CHN_PARAM_S { + CVI_U32 u32UsrFrmDepth; +} AI_CHN_PARAM_S; + +typedef struct _AUDIO_FRAME_S { + AUDIO_BIT_WIDTH_E enBitwidth;/*audio frame bitwidth*/ + AUDIO_SOUND_MODE_E enSoundmode;/*audio frame momo or stereo mode*/ + CVI_U8 * u64VirAddr[2]; + CVI_U64 u64PhyAddr[2]; + CVI_U64 u64TimeStamp; /*audio frame timestamp*/ + CVI_U32 u32Seq; /*audio frame seq*/ + CVI_U32 u32Len; /*data length per channel in frame*/ + CVI_U32 u32PoolId[2]; +} AUDIO_FRAME_S; + +typedef struct _AEC_FRAME_S { + AUDIO_FRAME_S stRefFrame; /* AEC reference audio frame */ + CVI_BOOL bValid; /* whether frame is valid */ + CVI_BOOL bSysBind; /* whether is sysbind */ +} AEC_FRAME_S; + + +typedef struct _AUDIO_FRAME_INFO_S { + AUDIO_FRAME_S *pstFrame;/*frame ptr*/ + CVI_U32 u32Id; /*frame id*/ +} AUDIO_FRAME_INFO_S; + +typedef struct _AUDIO_STREAM_S { + /* CVI_U8 ATTRIBUTE *pStream;the virtual address of stream */ + /* CVI_U64 ATTRIBUTE u64PhyAddr; the physics address of stream */ + CVI_U8 *pStream; /* the virtual address of stream */ + CVI_U64 u64PhyAddr; /* the physics address of stream */ + CVI_U32 u32Len; /* stream length, by bytes */ + CVI_U64 u64TimeStamp; /* frame time stamp*/ + CVI_U32 u32Seq; /* frame seq,if stream is not a valid frame,u32Seq is 0*/ +} AUDIO_STREAM_S; + + +typedef struct _AO_CHN_STATE_S { + CVI_U32 u32ChnTotalNum; /* total number of channel buffer */ + CVI_U32 u32ChnFreeNum; /* free number of channel buffer */ + CVI_U32 u32ChnBusyNum; /* busy number of channel buffer */ +} AO_CHN_STATE_S; + +typedef enum _AUDIO_TRACK_MODE_E { + AUDIO_TRACK_NORMAL = 0, + AUDIO_TRACK_BOTH_LEFT = 1, + AUDIO_TRACK_BOTH_RIGHT = 2, + AUDIO_TRACK_EXCHANGE = 3, + AUDIO_TRACK_MIX = 4, + AUDIO_TRACK_LEFT_MUTE = 5, + AUDIO_TRACK_RIGHT_MUTE = 6, + AUDIO_TRACK_BOTH_MUTE = 7, + + AUDIO_TRACK_BUTT +} AUDIO_TRACK_MODE_E; + + +typedef enum _AUDIO_FADE_RATE_E { + AUDIO_FADE_RATE_NONE = 0, + AUDIO_FADE_RATE_10 = 10, + AUDIO_FADE_RATE_20 = 20, + AUDIO_FADE_RATE_30 = 30, + AUDIO_FADE_RATE_50 = 50, + AUDIO_FADE_RATE_100 = 100, + AUDIO_FADE_RATE_200 = 200, + AUDIO_FADE_RATE_BUTT = -1 +} AUDIO_FADE_RATE_E; + +typedef struct _AUDIO_FADE_S { + CVI_BOOL bFade; + AUDIO_FADE_RATE_E enFadeInRate; + AUDIO_FADE_RATE_E enFadeOutRate; +} AUDIO_FADE_S; + +/**Defines the configure parameters of AEC.*/ +typedef struct _AI_AEC_CONFIG_S { + CVI_U16 para_aec_filter_len; + CVI_U16 para_aes_std_thrd; /* the threshold of STD/DTD, [0, 35] */ + CVI_U16 para_aes_supp_coeff; /* the residual echo suppression level in AES, [0, 24] */ +} AI_AEC_CONFIG_S __attribute__((packed)) __attribute__((aligned(0x8))); + +/**Defines the configure parameters of UPVQE work state.*/ +typedef enum _VQE_WORKSTATE_E { + VQE_WORKSTATE_COMMON = 0, + /* common environment, Applicable to the family of voice calls. */ + VQE_WORKSTATE_MUSIC = 1, + /* music environment , Applicable to the family of music environment. */ + VQE_WORKSTATE_NOISY = 2, + /* noisy environment , Applicable to the noisy voice calls. */ +} VQE_WORKSTATE_E; + +/**Defines record type*/ +typedef enum _VQE_RECORD_TYPE { + VQE_RECORD_NORMAL = 0, + /*<double micphone recording. */ + VQE_RECORD_BUTT, +} VQE_RECORD_TYPE; + + +/* HDR Set CODEC GAIN Function Handle type */ +typedef CVI_S32(*pFuncGainCallBack)(CVI_S32 s32SetGain); + + + + +//#define CVIAUDIO_ALGO_SSP 0x11//defalut algorithm +//#define CVIAUDIO_ALGO_SSP_NOTCH 0x12//customize algorithm with notch filter +#define CVIAUDIO_ALGO_ONLINE_PARAM 0xC0 //customize parameter from /mnt/data/audvqe.cfg +typedef struct _AUDIO_DELAY_CONFIG_S { + /* the initial filter length of linear AEC to support up for echo tail, [1, 13] */ + CVI_U16 para_aec_init_filter_len; + /* the digital gain target, [1, 12] */ + CVI_U16 para_dg_target; + /* the delay sample for ref signal, [1, 3000] */ + CVI_U16 para_delay_sample; +} AUDIO_DELAY_CONFIG_S __attribute__((packed)) __attribute__((aligned(0x8))); +typedef struct _AUDIO_AGC_CONFIG_S { + /* the max boost gain for AGC release processing, [0, 3] */ + /* para_obj.para_agc_max_gain = 1; */ + CVI_S8 para_agc_max_gain; + /* the gain level of target high of AGC, [0, 36] */ + /* para_obj.para_agc_target_high = 2; */ + CVI_S8 para_agc_target_high; + /* the gain level of target low of AGC, [0, 36] */ + /* para_obj.para_agc_target_low = 6; */ + CVI_S8 para_agc_target_low; + /* speech-activated AGC functionality, [0, 1] */ + /* para_obj.para_agc_vad_enable = 1; */ + CVI_BOOL para_agc_vad_ena; +} AUDIO_AGC_CONFIG_S __attribute__((packed)) __attribute__((aligned(0x8))); + + +typedef struct _AUDIO_SPK_AGC_CONFIG_S { + /* the max boost gain for AGC release processing, [0, 3] */ + /* para_obj.para_agc_max_gain = 1; */ + CVI_S8 para_agc_max_gain; + /* the gain level of target high of AGC, [0, 36] */ + /* para_obj.para_agc_target_high = 2; */ + CVI_S8 para_agc_target_high; + /* the gain level of target low of AGC, [0, 36] */ + /* para_obj.para_agc_target_low = 6; */ + CVI_S8 para_agc_target_low; +} AUDIO_SPK_AGC_CONFIG_S; + +typedef struct _AUDIO_SPK_EQ_CONFIG_S { + CVI_U16 para_spk_eq_nband; + CVI_U16 para_spk_eq_freq[5]; + CVI_U16 para_spk_eq_gain[5]; + CVI_U16 para_spk_eq_qfactor[5]; +} AUDIO_SPK_EQ_CONFIG_S; + +typedef struct _AUDIO_ANR_CONFIG_S { + /* the coefficient of NR priori SNR tracking, [0, 20] */ + /* para_obj.para_nr_snr_coeff = 15; */ + CVI_U16 para_nr_snr_coeff; + /* the coefficient of NR noise tracking, [0, 14] */ + /* para_obj.para_nr_noise_coeff = 2; */ + //CVI_S8 para_nr_noise_coeff; + CVI_U16 para_nr_init_sile_time; +} AUDIO_ANR_CONFIG_S __attribute__((packed)) __attribute__((aligned(0x8))); + +typedef struct _AI_TALKVQE_CONFIG_S { + CVI_U16 para_client_config; + CVI_U32 u32OpenMask; + CVI_S32 s32WorkSampleRate; + /* Sample Rate: 8KHz/16KHz. default: 8KHz*/ + //MIC IN VQE setting + AI_AEC_CONFIG_S stAecCfg; + AUDIO_ANR_CONFIG_S stAnrCfg; + AUDIO_AGC_CONFIG_S stAgcCfg; + AUDIO_DELAY_CONFIG_S stAecDelayCfg; + CVI_S32 s32RevMask;//turn this flag to default 0x11 + CVI_S32 para_notch_freq;//user can ignore this flag + CVI_CHAR customize[MAX_AUDIO_VQE_CUSTOMIZE_NAME]; +} AI_TALKVQE_CONFIG_S __attribute__((packed)) __attribute__((aligned(0x8))); + +typedef struct _AO_VQE_CONFIG_S { + CVI_U32 u32OpenMask; + CVI_S32 s32WorkSampleRate; + /* Sample Rate: 8KHz/16KHz default: 8KHz*/ + AUDIO_SPK_AGC_CONFIG_S stAgcCfg; + AUDIO_SPK_EQ_CONFIG_S stEqCfg; +} AO_VQE_CONFIG_S; + +/**Defines the configure parameters of Record VQE.*/ +typedef struct _AI_RECORDVQE_CONFIG_S { + CVI_U32 u32OpenMask; + CVI_S32 s32WorkSampleRate; + /* Sample Rate:16KHz/48KHz*/ + CVI_S32 s32FrameSample; + CVI_S32 s32BytesPerSample; + /* VQE frame length:80-4096 */ + VQE_WORKSTATE_E enWorkstate; + CVI_S32 s32InChNum; + CVI_S32 s32OutChNum; + VQE_RECORD_TYPE enRecordType; + AUDIO_AGC_CONFIG_S stAgcCfg; +} AI_RECORDVQE_CONFIG_S; +/* Defines the module register configure of VQE. */ +typedef struct _VQE_MODULE_CONFIG_S { + CVI_VOID *pHandle; +} VQE_MODULE_CONFIG_S; + +typedef struct _AUDIO_VQE_REGISTER_S { + VQE_MODULE_CONFIG_S stResModCfg; + VQE_MODULE_CONFIG_S stHpfModCfg; + VQE_MODULE_CONFIG_S stHdrModCfg; + VQE_MODULE_CONFIG_S stGainModCfg; + + // Record VQE + VQE_MODULE_CONFIG_S stRecordModCfg; + + // Talk VQE + VQE_MODULE_CONFIG_S stAecModCfg; + VQE_MODULE_CONFIG_S stAnrModCfg; + VQE_MODULE_CONFIG_S stAgcModCfg; + VQE_MODULE_CONFIG_S stEqModCfg; + + // CviFi VQE + VQE_MODULE_CONFIG_S stRnrModCfg; + VQE_MODULE_CONFIG_S stDrcModCfg; + VQE_MODULE_CONFIG_S stPeqModCfg; +} AUDIO_VQE_REGISTER_S; + +/*Defines the configure parameters of AI saving file.*/ +typedef struct _AUDIO_SAVE_FILE_INFO_S { + CVI_BOOL bCfg; + CVI_CHAR aFilePath[MAX_AUDIO_FILE_PATH_LEN]; + CVI_CHAR aFileName[MAX_AUDIO_FILE_NAME_LEN]; + CVI_U32 u32FileSize; /*in KB*/ +} AUDIO_SAVE_FILE_INFO_S; + +/*Defines whether the file is saving or not .*/ +typedef struct _AUDIO_FILE_STATUS_S { + CVI_BOOL bSaving; +} AUDIO_FILE_STATUS_S; + +/**Defines audio clksel type*/ +typedef enum _AUDIO_CLKSEL_E { + AUDIO_CLKSEL_BASE = 0, /*<Audio base clk. */ + AUDIO_CLKSEL_SPARE, /*<Audio spare clk. */ + + AUDIO_CLKSEL_BUTT, +} AUDIO_CLKSEL_E; + +/*Defines audio mode parameter.*/ +typedef struct _AUDIO_MOD_PARAM_S { + AUDIO_CLKSEL_E enClkSel; +} AUDIO_MOD_PARAM_S; + + +typedef struct _cvi_wavHEADER { + /* RIFF string */ + CVI_U8 riff[4]; + // overall size of file in bytes + CVI_U32 overall_size; + // WAVE string + CVI_U8 wave[4]; + // fmt string with trailing null char + CVI_U8 fmt_chunk_marker[4]; + // length of the format data + CVI_U32 length_of_fmt; + // format type. 1-PCM, 3- IEEE float, 6 - 8bit A law, 7 - 8bit mu law + CVI_U16 format_type; + // no.of channels + CVI_U16 channels; + // sampling rate (blocks per second) + CVI_U32 sample_rate; + // SampleRate * NumChannels * BitsPerSample/8 + CVI_U32 byterate; + // NumChannels * BitsPerSample/8 + CVI_U16 block_align; + // bits per sample, 8- 8bits, 16- 16 bits etc + CVI_U16 bits_per_sample; + // DATA string or FLLR string + CVI_U8 data_chunk_header[4]; + // NumSamples * NumChannels * BitsPerSample/8 - size of the next chunk that will be read + CVI_U32 data_size; +} ST_CVI_WAV_HEADER; + + +typedef struct _AudioUnitTestCfg { + CVI_S32 channels; + CVI_S32 Time_in_second; + CVI_S32 sample_rate; + CVI_CHAR format[64]; //pcm/ g711//g726... + CVI_S32 period_size; + CVI_S32 bitdepth; + CVI_S32 unit_test; + CVI_S32 s32TestMode; + CVI_CHAR filename[256]; + CVI_BOOL bOptCfg; +} ST_AudioUnitTestCfg; + + +typedef struct _ST_CVIAUDIO_SPEEDPLAY_USR_CONFIG { + int sampleRate; + int channels; + float speed; + float pitch; + float rate; + float volume; +} ST_CVIAO_SPEEDPLAY_CONFIG; + +extern ST_AudioUnitTestCfg stAudTestCfg; +/* at least one parameter is illegal ,eg, an illegal enumeration value */ +#define CVI_ERR_AIO_ILLEGAL_PARAM 0xAA000001 +/* using a NULL point */ +#define CVI_ERR_AIO_NULL_PTR 0xAA000002 +/* operation is not supported by NOW */ +#define CVI_ERR_AIO_NOT_PERM 0xAA000003 +/* vqe err */ +#define CVI_ERR_AIO_REGISTER_ERR 0xAA000004 + +/* invalid device ID */ +#define CVI_ERR_AI_INVALID_DEVID 0xA0000005 +/* invalid channel ID */ +#define CVI_ERR_AI_INVALID_CHNID 0xA0000006 +/* at least one parameter is illegal ,eg, an illegal enumeration value */ +#define CVI_ERR_AI_ILLEGAL_PARAM 0xA0000001 +/* using a NULL point */ +#define CVI_ERR_AI_NULL_PTR 0xA0000002 +/* try to enable or initialize system,device or channel, before configing attribute */ +#define CVI_ERR_AI_NOT_CONFIG 0xA0000007 +/* operation is not supported by NOW */ +#define CVI_ERR_AI_NOT_SUPPORT 0xA0000008 +/* operation is not permitted ,eg, try to change stati attribute */ +#define CVI_ERR_AI_NOT_PERM 0xA0000003 +/* the devide is not enabled */ +#define CVI_ERR_AI_NOT_ENABLED 0xA0000009 +/* failure caused by malloc memory */ +#define CVI_ERR_AI_NOMEM 0xA000000A +/* failure caused by malloc buffer */ +#define CVI_ERR_AI_NOBUF 0xA000000B +/* no data in buffer */ +#define CVI_ERR_AI_BUF_EMPTY 0xA000000C +/* no buffer for new data */ +#define CVI_ERR_AI_BUF_FULL 0xA000000D +/* system is not ready,had not initialized or loaded*/ +#define CVI_ERR_AI_SYS_NOTREADY 0xA000000E + +#define CVI_ERR_AI_BUSY 0xA000000F +/* vqe err */ +#define CVI_ERR_AI_VQE_ERR 0xA0000010 +#define CVI_ERR_AI_VQE_BUF_FULL 0xA0000011 +#define CVI_ERR_AI_VQE_FILE_UNEXIST 0xA0000012 +/* invalid device ID */ +#define CVI_ERR_AO_INVALID_DEVID 0xA1000001 +/* invalid channel ID */ +#define CVI_ERR_AO_INVALID_CHNID 0xA1000002 +/* at least one parameter is illegal ,eg, an illegal enumeration value */ +#define CVI_ERR_AO_ILLEGAL_PARAM 0xA1000003 +/* using a NULL point */ +#define CVI_ERR_AO_NULL_PTR 0xA1000004 +/* try to enable or initialize system,device or channel, before configing attribute */ +#define CVI_ERR_AO_NOT_CONFIG 0xA1000005 +/* operation is not supported by NOW */ +#define CVI_ERR_AO_NOT_SUPPORT 0xA1000006 +/* operation is not permitted ,eg, try to change stati attribute */ +#define CVI_ERR_AO_NOT_PERM 0xA1000007 +/* the devide is not enabled */ +#define CVI_ERR_AO_NOT_ENABLED 0xA1000008 +/* failure caused by malloc memory */ +#define CVI_ERR_AO_NOMEM 0xA1000009 +/* failure caused by malloc buffer */ +#define CVI_ERR_AO_NOBUF 0xA100000A +/* no data in buffer */ +#define CVI_ERR_AO_BUF_EMPTY 0xA100000B +/* no buffer for new data */ +#define CVI_ERR_AO_BUF_FULL 0xA100000C +/* system is not ready,had not initialized or loaded*/ +#define CVI_ERR_AO_SYS_NOTREADY 0xA100000D + +#define CVI_ERR_AO_BUSY 0xA100000E +/* vqe err */ +#define CVI_ERR_AO_VQE_ERR 0xA100000F + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif /* End of #ifndef __CVI_COMM_AI_H__ */ + diff --git a/freertos/cvitek/task/audio/include/cvi_common.h b/freertos/cvitek/task/audio/include/cvi_common.h new file mode 100644 index 000000000..d71064b8a --- /dev/null +++ b/freertos/cvitek/task/audio/include/cvi_common.h @@ -0,0 +1,281 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_common.h + * Description: Common video definitions. + */ + +#ifndef __CVI_COMMON_H__ +#define __CVI_COMMON_H__ + +#include <string.h> + +#include "cvi_type.h" +#include "cvi_defines.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#ifndef VER_X +#define VER_X 1 +#endif + +#ifndef VER_Y +#define VER_Y 0 +#endif + +#ifndef VER_Z +#define VER_Z 0 +#endif + +#ifndef __FILENAME__ +#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) +#endif + +#ifdef CVI_DEBUG +#define VER_D " Debug" +#else +#define VER_D " Release" +#endif + + +#define ATTRIBUTE __attribute__((aligned(ALIGN_NUM))) + +#ifndef ARRAY_SIZE +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#endif + +#define STR_HELPER(x) #x +#define STR(x) STR_HELPER(x) +#define MK_VERSION(x, y, z) STR(x) "." STR(y) "." STR(z) + + + +typedef CVI_S32 AI_CHN; +typedef CVI_S32 AO_CHN; +typedef CVI_S32 AENC_CHN; +typedef CVI_S32 ADEC_CHN; +typedef CVI_S32 AUDIO_DEV; +typedef CVI_S32 VI_DEV; +typedef CVI_S32 VI_PIPE; +typedef CVI_S32 VI_CHN; +typedef CVI_S32 VO_DEV; +typedef CVI_S32 VO_LAYER; +typedef CVI_S32 VO_CHN; +typedef CVI_S32 GRAPHIC_LAYER; +typedef CVI_S32 VENC_CHN; +typedef CVI_S32 VDEC_CHN; +typedef CVI_S32 ISP_DEV; +typedef CVI_S32 SENSOR_ID; +typedef CVI_S32 MIPI_DEV; +typedef CVI_S32 SLAVE_DEV; +typedef CVI_S32 VPSS_GRP; +typedef CVI_S32 VPSS_CHN; + +#define CVI_INVALID_CHN (-1) +#define CVI_INVALID_LAYER (-1) +#define CVI_INVALID_DEV (-1) +#define CVI_INVALID_HANDLE (-1) +#define CVI_INVALID_VALUE (-1) +#define CVI_INVALID_TYPE (-1) + + +#define CCM_MATRIX_SIZE (9) +#define CCM_MATRIX_NUM (7) + + +#define FOREACH_MOD(MOD) {\ + MOD(BASE) \ + MOD(VB) \ + MOD(SYS) \ + MOD(RGN) \ + MOD(CHNL) \ + MOD(VDEC) \ + MOD(VPSS) \ + MOD(VENC) \ + MOD(H264E) \ + MOD(JPEGE) \ + MOD(MPEG4E) \ + MOD(H265E) \ + MOD(JPEGD) \ + MOD(VO) \ + MOD(VI) \ + MOD(DIS) \ + MOD(RC) \ + MOD(AIO) \ + MOD(AI) \ + MOD(AO) \ + MOD(AENC) \ + MOD(ADEC) \ + MOD(AUD) \ + MOD(VPU) \ + MOD(ISP) \ + MOD(IVE) \ + MOD(USER) \ + MOD(PROC) \ + MOD(LOG) \ + MOD(H264D) \ + MOD(GDC) \ + MOD(PHOTO) \ + MOD(FB) \ + MOD(BUTT) \ +} + +#define GENERATE_ENUM(ENUM) CVI_ID_ ## ENUM, + +typedef enum _MOD_ID_E FOREACH_MOD(GENERATE_ENUM) MOD_ID_E; + +typedef struct _MMF_CHN_S { + MOD_ID_E enModId; + CVI_S32 s32DevId; + CVI_S32 s32ChnId; +} MMF_CHN_S; + + +/* We just copy this value of payload type from RTP/RTSP definition */ +typedef enum { + PT_PCMU = 0, + PT_1016 = 1, + PT_G721 = 2, + PT_GSM = 3, + PT_G723 = 4, + PT_DVI4_8K = 5, + PT_DVI4_16K = 6, + PT_LPC = 7, + PT_PCMA = 8, + PT_G722 = 9, + PT_S16BE_STEREO = 10, + PT_S16BE_MONO = 11, + PT_QCELP = 12, + PT_CN = 13, + PT_MPEGAUDIO = 14, + PT_G728 = 15, + PT_DVI4_3 = 16, + PT_DVI4_4 = 17, + PT_G729 = 18, + PT_G711A = 19, + PT_G711U = 20, + PT_G726 = 21, + PT_G729A = 22, + PT_LPCM = 23, + PT_CelB = 25, + PT_JPEG = 26, + PT_CUSM = 27, + PT_NV = 28, + PT_PICW = 29, + PT_CPV = 30, + PT_H261 = 31, + PT_MPEGVIDEO = 32, + PT_MPEG2TS = 33, + PT_H263 = 34, + PT_SPEG = 35, + PT_MPEG2VIDEO = 36, + PT_AAC = 37, + PT_WMA9STD = 38, + PT_HEAAC = 39, + PT_PCM_VOICE = 40, + PT_PCM_AUDIO = 41, + PT_MP3 = 43, + PT_ADPCMA = 49, + PT_AEC = 50, + PT_X_LD = 95, + PT_H264 = 96, + PT_D_GSM_HR = 200, + PT_D_GSM_EFR = 201, + PT_D_L8 = 202, + PT_D_RED = 203, + PT_D_VDVI = 204, + PT_D_BT656 = 220, + PT_D_H263_1998 = 221, + PT_D_MP1S = 222, + PT_D_MP2P = 223, + PT_D_BMPEG = 224, + PT_MP4VIDEO = 230, + PT_MP4AUDIO = 237, + PT_VC1 = 238, + PT_JVC_ASF = 255, + PT_D_AVI = 256, + PT_DIVX3 = 257, + PT_AVS = 258, + PT_REAL8 = 259, + PT_REAL9 = 260, + PT_VP6 = 261, + PT_VP6F = 262, + PT_VP6A = 263, + PT_SORENSON = 264, + PT_H265 = 265, + PT_VP8 = 266, + PT_MVC = 267, + PT_PNG = 268, + /* add by ourselves */ + PT_AMR = 1001, + PT_MJPEG = 1002, + PT_BUTT +} PAYLOAD_TYPE_E; + +#define VERSION_NAME_MAXLEN 128 +typedef struct _MMF_VERSION_S { + char version[VERSION_NAME_MAXLEN]; +} MMF_VERSION_S; + +typedef enum { + GPIO_GRPA, + GPIO_GRPB, + GPIO_GRPC, + GPIO_GRPD, + GPIO_GRPE, + GPIO_GRO_BUFF +} GPIO_GRP_E; + +typedef enum { + GPIO_INDEX_0, + GPIO_INDEX_1, + GPIO_INDEX_2, + GPIO_INDEX_3, + GPIO_INDEX_4, + GPIO_INDEX_5, + GPIO_INDEX_6, + GPIO_INDEX_7, + GPIO_INDEX_8, + GPIO_INDEX_9, + GPIO_INDEX_10, + GPIO_INDEX_11, + GPIO_INDEX_12, + GPIO_INDEX_13, + GPIO_INDEX_14, + GPIO_INDEX_15, + GPIO_INDEX_16, + GPIO_INDEX_17, + GPIO_INDEX_18, + GPIO_INDEX_19, + GPIO_INDEX_20, + GPIO_INDEX_21, + GPIO_INDEX_22, + GPIO_INDEX_23, + GPIO_INDEX_24, + GPIO_INDEX_25, + GPIO_INDEX_26, + GPIO_INDEX_27, + GPIO_INDEX_28, + GPIO_INDEX_29, + GPIO_INDEX_30, + GPIO_INDEX_31, + GPIO_INDEX_BUFF +} GPIO_INDEX_E; + +typedef enum { + GPIO_ACTIVE_LOW, + GPIO_ACTIVE_HIGH, + GPIO_ACTIVE_BUFF +} GPIO_ACTIVE_E; + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_COMMON_H__ */ diff --git a/freertos/cvitek/task/audio/include/cvi_defines.h b/freertos/cvitek/task/audio/include/cvi_defines.h new file mode 100644 index 000000000..edefab206 --- /dev/null +++ b/freertos/cvitek/task/audio/include/cvi_defines.h @@ -0,0 +1,350 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_defines.h + * Description: + * The common definitions per chip capability. + */ + /****************************************************************************** */ + +#ifndef __CVI_DEFINES_H__ +#define __CVI_DEFINES_H__ + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +#define CVI_CHIP_TEST 0x0 + +#ifndef CVI_CHIP_NAME +#define CVI_CHIP_NAME "CV1822" +#endif + +#define CVI1835 0x1 +#define CVI1832 0x2 +#define CVI1838 0x3 +#define CVI1822 0x4 +#define CVI1829 0x5 +#define CVI1826 0x6 +#define CVI1821 0x7 +#define CVI1820 0x8 +#define CVI1823 0x9 +#define CVI1825 0xA + +#define CVIU01 0x1 +#define CVIU02 0x2 + +#define CVI_COLDBOOT 0x1 +#define CVI_WDTBOOT 0x2 +#define CVI_SUSPENDBOOT 0x3 +#define CVI_WARMBOOT 0x4 + +#define IS_CHIP_CV183X(x) (((x) == CVI1829) || ((x) == CVI1832) || ((x) == CVI1835) || ((x) == CVI1838)) +#define IS_CHIP_CV182X(x) (((x) == CVI1820) || ((x) == CVI1821) || ((x) == CVI1822) \ + || ((x) == CVI1823) || ((x) == CVI1825) || ((x) == CVI1826)) + +#define MMF_VER_PRIX "_MMF_V" + +#define ALIGN_NUM 4 + +#define LUMA_PHY_ALIGN 16 + +#define DEFAULT_ALIGN 64 +#define MAX_ALIGN 1024 +#define SEG_CMP_LENGTH 256 + +/* For VENC */ +#define VENC_MAX_NAME_LEN 16 +#define VENC_MAX_CHN_NUM 64 +#define VEDU_IP_NUM 1 +#define H264E_MAX_WIDTH 4096 +#define H264E_MAX_HEIGHT 4096 +#define H264E_MIN_WIDTH 114 +#define H264E_MIN_HEIGHT 114 +#define H265E_MAX_WIDTH 4096 +#define H265E_MAX_HEIGHT 4096 +#define H265E_MIN_WIDTH 114 +#define H265E_MIN_HEIGHT 114 +#define JPEGE_MAX_WIDTH 8192 +#define JPEGE_MAX_HEIGHT 8192 +#define JPEGE_MIN_WIDTH 32 +#define JPEGE_MIN_HEIGHT 32 +#define JPGE_MAX_NUM 1 +#define VENC_MAX_ROI_NUM 8 +#define H264E_MIN_HW_INDEX 0 +#define H264E_MAX_HW_INDEX 11 +#define H264E_MIN_VW_INDEX 0 +#define H264E_MAX_VW_INDEX 3 +#define VENC_QP_HISGRM_NUM 52 +#define MAX_TILE_NUM 1 +#define H265E_ADAPTIVE_FRAME_TYPE 4 +#define H265E_ADAPTIVE_QP_TYPE 5 + +#define VENC_MIN_INPUT_FRAME_RATE 1 +#define VENC_MAX_INPUT_FRAME_RATE 240 + +#define VENC_MAX_RECEIVE_SOURCE 4 + +#define VENC_PIC_RECEIVE_SOURCE0 0 +#define VENC_PIC_RECEIVE_SOURCE1 1 +#define VENC_PIC_RECEIVE_SOURCE2 2 +#define VENC_PIC_RECEIVE_SOURCE3 3 + +#define VENC_ALIGN_W 32 +#define VENC_ALIGN_H 16 + +/* For RC */ +#define RC_TEXTURE_THR_SIZE 16 +#define MIN_BITRATE 2 +#define MAX_BITRATE (100*1024) + +/* For VDEC */ +#define VDEC_MAX_CHN_NUM 64 +#define VDH_MAX_CHN_NUM 0 +#define VEDU_CHN_START VDH_MAX_CHN_NUM +#define VEDU_H264D_ERRRATE 10 +#define VEDU_H264D_FULLERR 100 + +#define H264D_ALIGN_W 64 +#define H264D_ALIGN_H 64 +#define H265D_ALIGN_W 64 +#define H265D_ALIGN_H 64 +#define JPEGD_ALIGN_W 64 +#define JPEGD_ALIGN_H 16 +#define JPEGD_RGB_ALIGN 16 + +#define H264D_ALIGN_FRM 0x1000 +#define H265D_ALIGN_FRM 0x1000 +#define JPEGD_ALIGN_FRM 0x1000 + +#define H264D_MAX_SPS 32 +#define H264D_MIN_SPS 1 +#define H264D_MAX_PPS 256 +#define H264D_MIN_PPS 1 +#define H264D_MAX_SLICE 300 +#define H264D_MIN_SLICE 1 + +#define H265D_MAX_VPS 16 +#define H265D_MIN_VPS 1 +#define H265D_MAX_SPS 16 +#define H265D_MIN_SPS 1 +#define H265D_MAX_PPS 64 +#define H265D_MIN_PPS 1 +#define H265D_MAX_SLICE 200 +#define H265D_MIN_SLICE 1 + +#define VEDU_H264D_MAX_WIDTH 2880 +#define VEDU_H264D_MAX_HEIGHT 1920 +#define VEDU_H264D_MIN_WIDTH 114 +#define VEDU_H264D_MIN_HEIGHT 114 + +#define VEDU_H265D_MAX_WIDTH 2880 +#define VEDU_H265D_MAX_HEIGHT 1920 +#define VEDU_H265D_MIN_WIDTH 114 +#define VEDU_H265D_MIN_HEIGHT 114 + +#define JPEGD_IP_NUM 1 +#define JPEGD_MAX_WIDTH 2880 +#define JPEGD_MAX_HEIGHT 1920 +#define JPEGD_MIN_WIDTH 8 +#define JPEGD_MIN_HEIGHT 8 + +/* For Region */ +#define RGN_MIN_WIDTH 2 +#define RGN_MIN_HEIGHT 2 + +#define RGN_COVER_MIN_X -8192 +#define RGN_COVER_MIN_Y -8192 +#define RGN_COVER_MAX_X 8190 +#define RGN_COVER_MAX_Y 8190 +#define RGN_COVER_MAX_WIDTH 8192 +#define RGN_COVER_MAX_HEIGHT 8192 + +#define RGN_COVEREX_MIN_X -8192 +#define RGN_COVEREX_MIN_Y -8192 +#define RGN_COVEREX_MAX_X 8190 +#define RGN_COVEREX_MAX_Y 8190 +#define RGN_COVEREX_MAX_WIDTH 8192 +#define RGN_COVEREX_MAX_HEIGHT 8192 + +#define RGN_OVERLAY_MIN_X 0 +#define RGN_OVERLAY_MIN_Y 0 +#define RGN_OVERLAY_MAX_X 8190 +#define RGN_OVERLAY_MAX_Y 8190 +#define RGN_OVERLAY_MAX_WIDTH 8192 +#define RGN_OVERLAY_MAX_HEIGHT 8192 + +#define RGN_OVERLAYEX_MIN_X 0 +#define RGN_OVERLAYEX_MIN_Y 0 +#define RGN_OVERLAYEX_MAX_X 8190 +#define RGN_OVERLAYEX_MAX_Y 8190 +#define RGN_OVERLAYEX_MAX_WIDTH 8192 +#define RGN_OVERLAYEX_MAX_HEIGHT 8192 + +#define RGN_MOSAIC_X_ALIGN 4 +#define RGN_MOSAIC_Y_ALIGN 2 +#define RGN_MOSAIC_WIDTH_ALIGN 4 +#define RGN_MOSAIC_HEIGHT_ALIGN 4 + +#define RGN_MOSAIC_MIN_X 0 +#define RGN_MOSAIC_MIN_Y 0 +#define RGN_MOSAIC_MAX_X 8190 +#define RGN_MOSAIC_MAX_Y 8190 +#define RGN_MOSAIC_MIN_WIDTH 32 +#define RGN_MOSAIC_MIN_HEIGHT 32 +#define RGN_MOSAIC_MAX_WIDTH 8192 +#define RGN_MOSAIC_MAX_HEIGHT 8192 + +#define RGN_MAX_BUF_NUM 2 + +#define RGN_MAX_NUM_VPSS 8 +#define RGN_MAX_NUM_VO 8 +#define RGN_EX_MAX_NUM_VPSS 32 +#define RGN_EX_MAX_WIDTH 2304 + +#define RGN_MAX_NUM 100 + +/*************************************/ +#define VENC_MAX_SSE_NUM 8 +#define CVI_MAX_SENSOR_NUM 2 + +/* For VI */ +/* number of channel and device on video input unit of chip + * Note! VI_MAX_CHN_NUM is NOT equal to VI_MAX_DEV_NUM + * multiplied by VI_MAX_CHN_NUM, because all VI devices + * can't work at mode of 4 channels at the same time. + */ +#define VI_MAX_DEV_NUM 3 +#define VI_MAX_PHY_PIPE_NUM 4 +#define VI_MAX_VIR_PIPE_NUM 0 +#define VI_MAX_PIPE_NUM (VI_MAX_PHY_PIPE_NUM + VI_MAX_VIR_PIPE_NUM) +#define VI_MAX_WDR_NUM 1 + +#define VI_MAX_VIR_CHN_NUM 2 +#define VI_MAX_PHY_CHN_NUM 2 +#define VI_MAX_EXT_CHN_NUM 2 +#define VI_MAX_CHN_NUM (VI_MAX_PHY_CHN_NUM + VI_MAX_VIR_CHN_NUM) +#define VI_EXT_CHN_START VI_MAX_CHN_NUM +#define VI_MAX_EXTCHN_BIND_PER_CHN 1 + +#define VI_MAX_WDR_FRAME_NUM 2 +#define VI_MAX_NODE_NUM 3 +#define VIPROC_IP_NUM 1 +#define VICAP_IP_NUM 1 + +#define VI_MAX_SPLIT_NODE_NUM 3 + +#define VI_DEV_MIN_WIDTH 120 +#define VI_DEV_MIN_HEIGHT 120 +#define VI_DEV_MAX_WIDTH 4608 +#define VI_DEV_MAX_HEIGHT 4608 +#define VI_FPN_MAX_WIDTH 4096 +#define VI_FPN_MAX_HEIGHT VI_DEV_MAX_HEIGHT + +#define VI_PIPE_OFFLINE_MIN_WIDTH 120 +#define VI_PIPE_OFFLINE_MIN_HEIGHT 120 +#define VI_PIPE_OFFLINE_MAX_WIDTH 4096 +#define VI_PIPE_OFFLINE_MAX_HEIGHT 2160 + +#define VI_PIPE_ONLINE_MIN_WIDTH 120 +#define VI_PIPE_ONLINE_MIN_HEIGHT 120 +#define VI_PIPE_ONLINE_MAX_WIDTH 2688 +#define VI_PIPE_ONLINE_MAX_HEIGHT 1944 + +#define VI_PIPE0_MAX_WIDTH 4096 +#define VI_PIPE0_MAX_HEIGHT 2160 +#define VI_PIPE1_MAX_WIDTH 4096 +#define VI_PIPE1_MAX_HEIGHT 2160 +#define VI_PIPE2_MAX_WIDTH 2688 +#define VI_PIPE2_MAX_HEIGHT 1944 +#define VI_PIPE3_MAX_WIDTH 2688 +#define VI_PIPE3_MAX_HEIGHT 1944 + +#define VI_PIPE_WDR_FIRST_MAX_WIDTH VI_PIPE1_MAX_WIDTH +#define VI_PIPE_FUSION_MAX_WIDTH 2688 +#define VI_PIPE_FUSION_MAX_HEIGHT 1944 + +#define VI_PHYCHN_OFFLINE_MIN_WIDTH 120 +#define VI_PHYCHN_OFFLINE_MIN_HEIGHT 120 +#define VI_PHYCHN_OFFLINE_MAX_WIDTH 4608 +#define VI_PHYCHN_OFFLINE_MAX_HEIGHT 4608 + +#define VI_PHYCHN_ONLINE_MIN_WIDTH 120 +#define VI_PHYCHN_ONLINE_MIN_HEIGHT 120 +#define VI_PHYCHN_ONLINE_MAX_WIDTH 2048 +#define VI_PHYCHN_ONLINE_MAX_HEIGHT 4608 + +#define VI_CMP_PARAM_SIZE 152 + +#define VI_PIXEL_FORMAT PIXEL_FORMAT_NV21 + +#define CVI_VI_VPSS_EXTRA_BUF 0 + +#define CVI_VI_CHN_0_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_1_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_2_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_CHN_3_BUF (2 + CVI_VI_VPSS_EXTRA_BUF) +#define CVI_VI_BUF (CVI_VI_CHN_0_BUF + CVI_VI_CHN_1_BUF + CVI_VI_CHN_2_BUF + CVI_VI_CHN_3_BUF) + +/* For VO */ +#define VO_MIN_CHN_WIDTH 32 /* channel minimal width */ +#define VO_MIN_CHN_HEIGHT 32 /* channel minimal height */ +#define VO_MAX_DEV_NUM 1 /* max dev num */ +#define VO_MAX_LAYER_NUM 1 /* max layer num */ +#define VO_MAX_PRIORITY 1 /* max layer priority */ +#define VO_MAX_CHN_NUM 1 /* max chn num */ +#define VO_MAX_LAYER_IN_DEV 1 /* max layer num of each dev */ +#define VO_MAX_GRAPHICS_LAYER_NUM 1 +#define VO_MIN_TOLERATE 1 /* min play toleration 1ms */ +#define VO_MAX_TOLERATE 100000 /* max play toleration 100s */ + +/* For AUDIO */ +#define AI_DEV_MAX_NUM 1 +#define AO_DEV_MIN_NUM 0 +#define AO_DEV_MAX_NUM 2 +#define AIO_MAX_NUM 2 +#define AENC_MAX_CHN_NUM 2 +#define ADEC_MAX_CHN_NUM 2 + +#define AI_MAX_CHN_NUM 2 +#define AO_MAX_CHN_NUM 1 +#define AO_SYSCHN_CHNID (AO_MAX_CHN_NUM - 1) + +#define AIO_MAX_CHN_NUM ((AO_MAX_CHN_NUM > AI_MAX_CHN_NUM) ? AO_MAX_CHN_NUM:AI_MAX_CHN_NUM) + +/* For VPSS */ +#define VPSS_IP_NUM 2 +#define VPSS_DEV_0 0 +#define VPSS_DEV_1 1 +#define VPSS_MAX_GRP_NUM 16 +#define VPSS_ONLINE_GRP_0 0 +#define VPSS_ONLINE_GRP_1 1 +#define VPSS_MAX_PHY_CHN_NUM 3 +#define VPSS_MAX_CHN_NUM (VPSS_MAX_PHY_CHN_NUM) +#define VPSS_MIN_IMAGE_WIDTH 32 +#define VPSS_MAX_IMAGE_WIDTH 4608 +#define VPSS_MAX_IMAGE_HEIGHT 4096 +#define VPSS_MAX_ZOOMIN 32 +#define VPSS_MAX_ZOOMOUT 32 + +/*For Gdc*/ +#define LDC_MIN_IMAGE_WIDTH 640 +#define LDC_MIN_IMAGE_HEIGHT 480 + +#define SPREAD_MIN_IMAGE_WIDTH 640 +#define SPREAD_MIN_IMAGE_HEIGHT 480 + +/* For GDC */ +#define GDC_IP_NUM 1 +#define GDC_PROC_JOB_INFO_NUM (500) + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_DEFINES_H__ */ + diff --git a/freertos/cvitek/task/audio/include/cvi_type.h b/freertos/cvitek/task/audio/include/cvi_type.h new file mode 100644 index 000000000..98f7793f8 --- /dev/null +++ b/freertos/cvitek/task/audio/include/cvi_type.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_type.h + * Description: + */ + +#ifndef __CVI_TYPE_H__ +#define __CVI_TYPE_H__ + +#include <stdbool.h> +#include <stdint.h> +#include <stddef.h> + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +/*---------------------------------------------- + * The common data type + *---------------------------------------------- + */ + +typedef unsigned char CVI_UCHAR; +typedef unsigned char CVI_U8; +typedef unsigned short CVI_U16; +typedef unsigned int CVI_U32; +typedef unsigned int CVI_HANDLE; + +typedef signed char CVI_S8; +typedef char CVI_CHAR; +typedef short CVI_S16; +typedef int CVI_S32; + +typedef unsigned long CVI_UL; +typedef signed long CVI_SL; + +typedef float CVI_FLOAT; +typedef double CVI_DOUBLE; + +typedef void CVI_VOID; +typedef bool CVI_BOOL; + +typedef uint64_t CVI_U64; +typedef int64_t CVI_S64; + +typedef size_t CVI_SIZE_T; + +/*---------------------------------------------- + * const defination + *---------------------------------------------- + */ + +#define CVI_NULL 0L +#define CVI_SUCCESS 0 +#define CVI_FAILURE (-1) +#define CVI_FAILURE_ILLEGAL_PARAM (-2) +#define CVI_TRUE 1 +#define CVI_FALSE 0 + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVI_TYPE_H__ */ diff --git a/freertos/cvitek/task/audio/include/cviaudio_algo_interface.h b/freertos/cvitek/task/audio/include/cviaudio_algo_interface.h new file mode 100644 index 000000000..b0775c629 --- /dev/null +++ b/freertos/cvitek/task/audio/include/cviaudio_algo_interface.h @@ -0,0 +1,16 @@ +/* Include files */ +#ifndef __CVIAUDIO_ALGO_INTERFACE__ +#define __CVIAUDIO_ALGO_INTERFACE__ +#include <stdio.h> +void *CviAud_Algo_Init(int s32FunctMask, void *param_info); +int CviAud_Algo_Process(void *pHandle, uint64_t mic_in, + uint64_t ref_in, uint64_t out, int iLength); +void CviAud_Algo_DeInit(void *pHandle); +void CviAud_Algo_GetVersion(char *pstrVersion); +#ifdef NEXT_SSP_ALGO +void CviAud_SpkAlgo_DeInit(void *pHandle); +int CviAud_SpkAlgo_Process(void *pHandle, short *spk_in, + short *spk_out, int iLength); +void *CviAud_SpkAlgo_Init(int s32FunctMask, void *param_info); +#endif +#endif diff --git a/freertos/cvitek/task/audio/include/cviaudio_rtos_align.h b/freertos/cvitek/task/audio/include/cviaudio_rtos_align.h new file mode 100644 index 000000000..41e0bf3b4 --- /dev/null +++ b/freertos/cvitek/task/audio/include/cviaudio_rtos_align.h @@ -0,0 +1,91 @@ +#ifndef __CVIAUDIO_KERNEL_ALIGN_H__ +#define __CVIAUDIO_KERNEL_ALIGN_H__ +#ifdef __cplusplus +extern "C" { +#endif +#include <stdio.h> +#include "cvi_comm_aio.h" + + +#ifndef CVIAUDIO_BYTES_ALIGNMENT +#define CVIAUDIO_BYTES_ALIGNMENT 64 +#endif + +#ifndef CVIAUDIO_ALIGN +#define CVIAUDIO_ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1)) +#endif + +#define ATTR __attribute__ + +#ifndef __packed +#define __packed ATTR((packed)) +#endif + +#ifndef __aligned +#define __aligned(x) ATTR((aligned(x))) +#endif + +typedef struct _AI_AEC_CONFIG_S_RTOS AI_AEC_CONFIG_S_RTOS; +struct _AI_AEC_CONFIG_S_RTOS { + CVI_U8 para_aec_filter_len; + CVI_U8 para_aes_std_thrd; /* the threshold of STD/DTD, [0, 35] */ + CVI_U8 para_aes_supp_coeff; /* the residual echo suppression level in AES, [0, 24] */ +} __packed __aligned(0x4); + +typedef struct _AUDIO_DELAY_CONFIG_S_RTOS AUDIO_DELAY_CONFIG_S_RTOS; +struct _AUDIO_DELAY_CONFIG_S_RTOS { + /* the initial filter length of linear AEC to support up for echo tail, [1, 13] */ + CVI_U8 para_aec_init_filter_len; + /* the digital gain target, [1, 12] */ + CVI_U8 para_dg_target; + /* the delay sample for ref signal, [1, 3000] */ + CVI_U8 para_delay_sample; +} __packed __aligned(0x4); + +typedef struct _AUDIO_AGC_CONFIG_S_RTOS AUDIO_AGC_CONFIG_S_RTOS; +struct _AUDIO_AGC_CONFIG_S_RTOS { + /* the max boost gain for AGC release processing, [0, 3] */ + /* para_obj.para_agc_max_gain = 1; */ + CVI_U8 para_agc_max_gain; + /* the gain level of target high of AGC, [0, 36] */ + /* para_obj.para_agc_target_high = 2; */ + CVI_U8 para_agc_target_high; + /* the gain level of target low of AGC, [0, 36] */ + /* para_obj.para_agc_target_low = 6; */ + CVI_U8 para_agc_target_low; + /* speech-activated AGC functionality, [0, 1] */ + /* para_obj.para_agc_vad_enable = 1; */ + CVI_U8 para_agc_vad_ena; +} __packed __aligned(0x4); + +typedef struct _AUDIO_ANR_CONFIG_S_RTOS AUDIO_ANR_CONFIG_S_RTOS; +struct _AUDIO_ANR_CONFIG_S_RTOS { + /* the coefficient of NR priori SNR tracking, [0, 20] */ + /* para_obj.para_nr_snr_coeff = 15; */ + CVI_U8 para_nr_snr_coeff; + /* the coefficient of NR noise tracking, [0, 14] */ + /* para_obj.para_nr_noise_coeff = 2; */ + //CVI_S8 para_nr_noise_coeff; + CVI_U8 para_nr_init_sile_time; +} __packed __aligned(0x4); + +typedef struct _AI_TALKVQE_CONFIG_S_RTOS AI_TALKVQE_CONFIG_S_RTOS; +struct _AI_TALKVQE_CONFIG_S_RTOS { + CVI_U8 para_client_config; + CVI_U8 u32OpenMask; + CVI_U16 s32WorkSampleRate; + /* Sample Rate: 8KHz/16KHz. default: 8KHz*/ + //MIC IN VQE setting + AI_AEC_CONFIG_S_RTOS stAecCfg; + AUDIO_ANR_CONFIG_S_RTOS stAnrCfg; + AUDIO_AGC_CONFIG_S_RTOS stAgcCfg; + AUDIO_DELAY_CONFIG_S_RTOS stAecDelayCfg; + CVI_U8 s32RevMask;//turn this flag to default 0x11 + CVI_U8 para_notch_freq;//user can ignore this flag + CVI_U8 customize[8]; +} __packed __aligned(0x4); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/freertos/cvitek/task/audio/include/cviaudio_rtos_cmd.h b/freertos/cvitek/task/audio/include/cviaudio_rtos_cmd.h new file mode 100644 index 000000000..d437252c4 --- /dev/null +++ b/freertos/cvitek/task/audio/include/cviaudio_rtos_cmd.h @@ -0,0 +1,177 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cviaudio_rtos_cmd.h + * Description: + */ + +#ifndef __CVIAUDIO_RTOS_CMD_H__ +#define __CVIAUDIO_RTOS_CMD_H__ + +#include <stdbool.h> +#include <stddef.h> +//#include <stdint.h> +#include "cvi_comm_aio.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +/*---------------------------------------------- + * The common data type + *---------------------------------------------- + */ +#define CVIAUDIO_SSP_CHUNK_NUMBERS 25 +#define CVIAUDIO_SSP_SINGLE_CHUNK_SIZE_BYTES (160*2) //1 chunk = 160 samples +#define CVIAUDIO_SSP_SINGLE_CHUNK_SAMPLES (160) +#define CVIAUDIO_MAX_BUFFER_SIZE ((320)*(CVIAUDIO_SSP_CHUNK_NUMBERS)) +//4000bytes 0.5 sec for 8k, 0.25 sec for 16k +typedef struct _st_ssp_buffer_table { + unsigned char bBufOccupy; + uint64_t mic_in_addr;//save the phy address + uint64_t ref_in_addr; + uint64_t output_addr; +} ST_SSP_BUFTBL; +//data struct for CVIAUDIO_RTOS_CMD_SSP_INIT +typedef struct _ssp_rots_init { + //AI_TALKVQE_CONFIG_S stAinVqeConfig; + CVI_S32 s32RevMask; + uint32_t CbPhyAddr; + ST_SSP_BUFTBL buffertbl[CVIAUDIO_SSP_CHUNK_NUMBERS]; + char *pmic_in_vir; + char *pref_in_vir; + char *poutput_vir; + char *CbVirAddr; +} ST_SSP_RTOS_INIT; + +typedef struct _ssp_mic_vqe_addr { + uint64_t AinVqeCfgPhy; + AI_TALKVQE_CONFIG_S *pAinVqeCfg; +} ST_SSP_MIC_VQE_ADDR; + +typedef struct _ssp_mic_buf_table_addr { + uint64_t buffertblPhy; + uint64_t mic_in_phy; + uint64_t ref_in_phy; + uint64_t output_phy; + ST_SSP_BUFTBL *pbuffertbl;//buffertbl[CVIAUDIO_SSP_CHUNK_NUMBERS]; + char *pmic_in_vir; + char *pref_in_vir; + char *poutput_vir; +} ST_SSP_MIC_BUF_TABLE_ADDR; + +typedef struct _ssp_rtos_indicator { + unsigned char chunks_number; + unsigned char Wpt_index;//for input pcm original pcm data + unsigned char Rpt_index;//for user space copy to user + unsigned char Ppt_index;//for RTOS process data + unsigned char channel_nums; + unsigned char ssp_on; + unsigned char ssp_with_aec; + unsigned char reserved_bytes[3];//3 bytes reserve, force 64bytes alignment + unsigned int msg_counter; +} ST_SSP_RTOS_INDICATOR; +typedef struct _ssp_rtos_indicator_addr { + uint64_t indicatorPhy; + ST_SSP_RTOS_INDICATOR *pindicator; +} ST_SSP_RTOS_INDICATOR_ADDR; +typedef struct _st_cviaduio_mailbox { + uint64_t u64RevMask; + uint64_t AinVqeCfgPhy; + uint64_t buffertblPhy; + uint64_t indicatorPhy; +} ST_CVIAUDIO_MAILBOX; + +//for block mode command from user space ---- start +typedef struct _st_cviaudio_mailbox_block { + uint64_t u64RevMask; + uint64_t AinVqeCfgPhy; +} ST_CVIAUDIO_MAILBOX_BLOCK; + +typedef struct _st_civaudio_block_frame { + uint64_t u64RevMask; + uint64_t mic_in_addr; + uint64_t ref_in_addr; + uint64_t output_addr; +} ST_CVIAUDIO_BLOCK_FRAME; +//for block mode command from user space ---- end + +typedef struct _st_spk_ssp_buffer_table { + unsigned char bBufOccupy; + size_t spk_in_addr; + size_t spk_out_addr; +} ST_SPK_SSP_BUFTBL; +//data struct for CVIAUDIO_RTOS_CMD_SSP_SPK_INIT +typedef struct _ssp_spk_rtos_init { + AO_VQE_CONFIG_S stAoutVqeConfig; + ST_SPK_SSP_BUFTBL spkbuffertbl[CVIAUDIO_SSP_CHUNK_NUMBERS]; +} ST_SPK_SSP_RTOS_INIT; + +//data struct for CVIAUDIO_RTOS_CMD_SSP_SPK_PROCESS +typedef struct _spk_ssp_data_rtos { + unsigned char chunks_number; + unsigned char wpt_index; + unsigned char channel_nums; + unsigned int msg_spk_counter; +} ST_SSP_RTOS_SPK_DATA; + +typedef struct _ssp_spk_data_rtos_ret { + unsigned char status; + unsigned int cb_command; +} ST_SSP_RTOS_SPK_DATA_RET; + + +/*---------------------------------------------- + * definition of cmd + *---------------------------------------------- + */ +/*define for the magic word noted for transmittion between kernel and rtos */ +#define CVIAUDIO_RTOS_MAGIC_WORD_UNIT_TEST_MODE 0x38 +#define CVIAUDIO_RTOS_MAGIC_WORD_KERNEL_BIND_MODE 0x99 +#define CVIAUDIO_RTOS_MAGIC_WORD_USERSPACE_BLOCK_MODE 0xbb +#define CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG 0xfa +#define CVIAUDIO_RTOS_TRIGGER_THRESHOLD 3 +#define CVAUDIO_AUDIO_ION_SIZE_REQUIRE 0x1000 +#ifndef CVIAUDIO_BYTES_ALIGNMENT +#define CVIAUDIO_BYTES_ALIGNMENT 64 +#endif +#ifndef CVIAUDIO_ALIGN +#define CVIAUDIO_ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1)) +#endif +#define CVIAUDIO_BUF_TBL_UNOCCUPIED 0 +#define CVIAUDIO_BUF_TBL_INPUT 1 +#define CVIAUDIO_BUF_TBL_AFTER_SSP 2 + +/*define the audio SSP CMD---------------start*/ +#define CVIAUDIO_RTOS_CMD_SSP_INIT 0x01 +#define CVIAUDIO_RTOS_CMD_SSP_DEINIT 0x02 +#define CVIAUDIO_RTOS_CMD_SSP_PROCESS 0x03 +#define CVIAUDIO_RTOS_CMD_SSP_SPK_INIT 0x04 +#define CVIAUDIO_RTOS_CMD_SSP_SPK_DEINIT 0x05 +#define CVIAUDIO_RTOS_CMD_SSP_SPK_PROCESS 0x06 +#define CVIAUDIO_RTOS_CMD_SSP_DEBUG 0x07 +#define CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST 0x08 +#define CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST_BLOCK_MODE_INIT 0x09 +#define CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST_BLOCK_MODE_GET 0x0A +#define CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK 0x0B +#define CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK 0x0C +#define CVIAUDIO_RTOS_CMD_SSP_DEINIT_BLOCK 0x0D + +#define CVIAUDIO_RTOS_CMD_SSP_MAX 0xFF + + +#define CVIAUDIO_CMD_STATUS_RECEIVE 0x10 +#define CVIAUDIO_CMD_STATUS_OPERATE 0x20 +#define CVIAUDIO_CMD_STATUS_FINISHED 0x40 +#define CVIAUDIO_CMD_STATUS_ERROR 0x80 + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVIAUDIO_RTOS_CMD_H__ */ diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.c new file mode 100755 index 000000000..db44cff50 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.c @@ -0,0 +1,17 @@ + +/* Include files */ +#include "mmse.h" +#include "abs.h" +#include "power.h" +#include "mmse_rtwutil.h" + +/* Function Definitions */ +void a_abs(const creal32_T a[321], float y[321], int N) +{ + int k; + for (k = 0; k < N; k++) { + y[k] = rt_hypotf(a[k].re, a[k].im); + } +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.h new file mode 100755 index 000000000..7676593e0 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.h @@ -0,0 +1,17 @@ + +#ifndef ABS_H +#define ABS_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" + +/* Function Declarations */ +extern void a_abs(const creal32_T a[321], float y[321], int N); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/abs.o new file mode 100644 index 0000000000000000000000000000000000000000..8cdeaf1b0fda15d3cdbce1952873bc21a202b15d GIT binary patch literal 4776 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.c new file mode 100755 index 000000000..d054ad7a7 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.c @@ -0,0 +1,183 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +/*% */ +/*% agc.c */ +/*% Author: Sharon Lee */ +/*% History: */ +/*% Created by Sharon Lee in October, 2019 */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/* Include files */ +#include "tmwtypes.h" +#include "struct.h" +#include "define.h" +#include "db2linear.h" +#include "agc_subfun.h" +#include "agc_init.h" +#include "agc.h" + +/* Function Definitions */ +void AGC(short *sin, short *sout, agc_struct *agc_obj, ssp_para_struct *para_obj, boolean_T speech_vad, boolean_T st_vad, int nenr_silence_time, int nenr_silence_cnt, short path) +{ + short i; + short unit_gain; + short frame_signal_identify; + short tmp16; + short sig_in; + short sig_out; + short sig_err; + int temp32; + int diff; + + if (1 == path) { + if (para_obj->para_agc_vad_ena == true) { + if (speech_vad == false) { + agc_obj->agc_vad1_cnt = MAX(0, agc_obj->agc_vad1_cnt - 1); + if (!agc_obj->agc_vad1_cnt) + agc_obj->agc_vad1 = false; + } else { + agc_obj->agc_vad1 = true; + if (agc_obj->Fs == 16000) + agc_obj->agc_vad1_cnt = para_obj->para_agc_vad_cnt * 2; /* keep it longer than speech vad in order to have better speech fidelity at the end of speech segment */ + else + agc_obj->agc_vad1_cnt = para_obj->para_agc_vad_cnt; /* keep it longer than speech vad in order to have better speech fidelity at the end of speech segment */ + } + + #if (1) + if (st_vad == false) { + agc_obj->agc_vad2 = true; + agc_obj->agc_vad2_cnt = 3; + } else { + agc_obj->agc_vad2_cnt = MAX(0, agc_obj->agc_vad2_cnt - 1); + if (!agc_obj->agc_vad2_cnt) + agc_obj->agc_vad2 = false; + } + #endif + } + } + + if (nenr_silence_cnt < nenr_silence_time) { /* be in silence to solve CODEC initial random signal issue and not to perform AGC as well */ + agc_obj->agc_vad1 = false; + agc_obj->agc_vad1_cnt = 0; + } + + agc_obj->env = envelope(sin, agc_obj->frame_size); /* calculate once every 20ms@NB or 10ms@WB */ + + unit_gain = (1L << (agc_obj->max_gain)); + + frame_signal_identify = 0; + if (agc_obj->env > agc_obj->pcb_noise_thrd) + frame_signal_identify = 1; /* no matter it is noise or speech signals */ + + for (i = 0; i < agc_obj->frame_size; i++) { + + sig_in = sin[i]; + + if (agc_obj->unit_gain_change_det == true) { + if (ABS(agc_obj->env) < (short)(0.0316*32768)) { + agc_obj->max_gain++; /* drop 6dB to max gain */ + unit_gain = (1L << (agc_obj->max_gain)); + agc_obj->gain32 = unit_gain << 16; + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + agc_obj->unit_gain = agc_obj->max_gain; + agc_obj->unit_gain_change_det = false; + agc_obj->smooth_cnt = 10; + } + } + + if (1 == path) { + if (para_obj->para_agc_vad_ena == true) { + /* speech-activated AGC */ + if ((agc_obj->agc_vad1 == true) && (agc_obj->agc_vad2 == true)) { + agc_obj->target_high = (agc_obj->target_high_Q15*unit_gain) >> 15; + agc_obj->target_low = (agc_obj->target_low_Q15*unit_gain) >> 15; + agc_obj->agc_vad3 = true; + } else { + agc_obj->target_high = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + agc_obj->target_low = (agc_obj->env*unit_gain) >> 15; /* better for keeping speech fidelity */ + agc_obj->agc_vad3 = false; + } + } + } + + + tmp16 = agc_obj->gain32 >> 16; /* leave space for gain>1, gain has Q format, unit_gain is 1 */ + sig_err = ((int)agc_obj->env)*((int)tmp16) >> 15; /* use the MSB */ + + if ( agc_obj->pcb_noise_cnt < agc_obj->pcb_noise_hold_time) { + diff = 0; + tmp16 = (agc_obj->env*unit_gain) >> 15; + + /* release */ + if (tmp16 < agc_obj->target_low) + diff = (agc_obj->target_low) - sig_err; + + /* attack */ + if (tmp16 > agc_obj->target_high) + diff = (agc_obj->target_high) - sig_err; + + /* as the original, gain is about one(unit_gain) */ + if (tmp16 >= agc_obj->target_low && tmp16 <= agc_obj->target_high) + diff = tmp16 - sig_err; + + update_gain(diff, agc_obj); /* update agc_obj->gain32 sample by sample */ + } + + temp32 = ((int)(agc_obj->gain32 >> 16)* (int)(sig_in)) >> agc_obj->unit_gain; + while (ABS(temp32) > 32767L) { /* overflow limiter */ + agc_obj->gain32 = (((int)(agc_obj->gain32 >> 16) * MINUS_halfdB) << 1); /* MINUS_halfdB is Q1.15, so gain32 is Q1.31 */ + temp32 = ((int)(agc_obj->gain32 >> 16)*(int)(sig_in)) >> agc_obj->unit_gain; + } + sig_out = sin[i]*(agc_obj->gain32 >> 16) >> agc_obj->unit_gain; + + #if (1) /* smooth output to avoid pop noise when unit gain changed */ + if (agc_obj->smooth_cnt) { + sig_out = ((agc_obj->alpha * agc_obj->sout_hist) >> 15) + ((agc_obj->alpha2 * sig_out) >> 15); + agc_obj->alpha -= 3276; /* each step 1/10 */ + agc_obj ->alpha2 += 3276; /* each step 1/10 */ + agc_obj->smooth_cnt--; + } + #endif + + sout[i] = sig_out; + + /* modify for release processing, automaticly drop 6dB on max gain if big signal come in */ + if (agc_obj->unit_gain_change == true) { + if (ABS(sig_in) > (short)(0.223*32768)) { + agc_obj->unit_gain_change = false; + agc_obj->unit_gain_change_det = true; + } + } + agc_obj->sout_hist = sig_out; /* update y(n-1) */ + + } + + #if (1) + if (frame_signal_identify == 0) { + agc_obj->pcb_noise_cnt++; + agc_obj->pcb_noise_cnt = MIN(agc_obj->pcb_noise_hold_time, agc_obj->pcb_noise_cnt); + } + else + agc_obj->pcb_noise_cnt = 0; + + if ( agc_obj->pcb_noise_cnt == agc_obj->pcb_noise_hold_time) { + tmp16 = (agc_obj->gain32 >> 16) >> 7; + tmp16 = MAX(tmp16, 1); + tmp16 = (agc_obj->gain32 >> 16) - tmp16; + agc_obj->gain32 = ((long)tmp16) << 16; /* cut down gain32 */ + + if ((agc_obj->gain32 >> 16) < unit_gain) + agc_obj->gain32 = unit_gain << 16; + } + #endif + + if (1 == path) { + if (para_obj->para_agc_vad_ena == true) { + agc_obj->agc_vad_hist = agc_obj->agc_vad3; + } + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.h new file mode 100755 index 000000000..f9c9a5bec --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.h @@ -0,0 +1,18 @@ + +#ifndef AGC_H +#define AGC_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void AGC(short *sin, short *sout, agc_struct *agc_obj, ssp_para_struct *para_obj, boolean_T speech_vad, boolean_T st_vad, int nenr_silence_time, int nenr_silence_cnt, short path); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc.o new file mode 100644 index 0000000000000000000000000000000000000000..1d621175204f80a9534d090bafb62ec0d2a2e1c7 GIT binary patch literal 9608 zcmbtZ4Rlo1oxgA1B!uLVNk|Au3@{0i0%5*F1hhnw2_Hr%311eJ?J${n$&5~B;(YMc zt^rL{kh)Ur?onjfRy?x1S`l+v)b)g;-IktXE2yjZK^GPU71stqOo)~J|L*)>@`AQ| z_Ut|9zTf}*-uu5F^WL4#1xpqxiXx1nh^b<j6Jlez)MV61m?}!ec;WcCuc`aMO9MA; z8MScR!or2hu0!V)+n)Y8d3*ZjioD(VkBYwPt&e(p2CDN8^@_=J79Q&D>YwUv>Qk~0 z^#;1HeEId2o&jMey}M_iIM4D>_GQauQDxt%?zCOre!1?#`&&+TiYb<bO`j~xnLSX{ ztW?F1q78pY^gXtvXP{K%6!r|1<=yWc|E^^)`+Uzpwy+GU7wRv(=Gp3PxbWJ{EuTM0 zcDeS$r8~Xi!V_D{7p7ayq!ukg9nARLQZJ?->Rs+V_=RY)y|?Jno0>MLo^PbcS8G3i z*S~J|Ku%uIK!sf$R4z1J7JcI2&!6oXnBrD$=ozRyT)v~Ft6)&{sh3`DINkLWJ@W^( z^N)8OE)eHVxy8Y0{W;?CPNk~ls4@$qo^{aP^_(|!;&dlQ*fWr2PmglPG0W%K^>vpD z#kPZ6z1_!q`o-a<KB1i2(A1Z$_`8q;?YyG>Y@6-!j<4+7)yvw2ePpw*-*VV?`JT)9 zgV`6FKFO}n8_e$WuWS0`^vtGDPPzkIPj2nJ7<@+Az56bus`H}nnTKgMkW<Rx$+2Wh z89kg+h?ctg-FbDC#WM>|ZS`;M{4(^6I%v6oj3S%cz1q7+OIM#2j`~Xvcn|fqdw=SE zxmQ%2-thAcJI@{|U3}KETYYqwH|GRJwu{Mudv<yA<jhSxnsMNzkNW;D@BlQ*%xezr z^6u{~Sh&j@xaYHDEulBYDOHDhmC3K1t7y2!`og)%O-FiZBn=pGVBN`M>At^z?BRa5 zyQ|;hPDfMrJbjnq=)Cy5UyOdSXJC4>;wU+x)au>t7Ztl&-qk-toa%nz%)|XNXtehq zvu}TV8;x%ZvQt2rI$ZEx!O5+Gt#6(2chmaJJAJlipeB!~Ezf?j*{3`*dPi1oqwsgX zO>$?RGR<;Ax&Bo5PtJ()Q)E9Q@5g6E@1hJLta5Kym9Gi4;}*#cJuFJr)2a{_%cy6` z&SD)^N*)#^Qv+woxJZVoH6t8NLKl!G)_RIz$+CJ#XUWQlNN!Xy>8!IsUs13rDe&)M zo@L!e@iUIlu2uKXCq<?ePj#)*OEAilDMV-1i$sd7JL#chJx5PV)?w;~Dy)-;QCpN< z1f#!#s7<<2UpA2_+gb}_YsOw`H)oFZXak{kj%3zj&<Je~=+~u{wvPH?eFKeK$LP`Z z!ulrUSy~5m)A}Evv$adGc?-0r&7rPY-v*tl9Y-FIgU-|1VDm2MvD$;wp!Ge_h1wC& z?}IMV-h|B`K^JSw;QODTOSR3gISIN<`z_@E6(xG2c9ha%Jq>!2)&=<ou(50VVgDiM z3hhJKoB>^_{T}hpf}Wyf!RBN5PSsw7%_opg*YY7h2l))`LB#wNa;H`b`F}(1*7jlS zpMmyhrxEi{u&ExiFd?jcAZtYKImA4VtmZ7YUi=MNX*DptG?hd``v4)n1Z~k?guEZL zReKrF0nnM+BFHa;&eA?YR|Y|6Ywy73E6|#j1NzUPbG0Ri`8DV~Z9b;q3h1%6*C7`Q zm_plg7>6R6B3mt@S|n3!n*l~uFsxGBMfg~yrpz`OKADo4Xj?>j>nO?CZ5z<VEa_8W zTMe@usj0MC5lxfK6x(X}jFHS#+Yb>sS2ELWlh99_WM<eFAwZsjWI1iSV3seLIkxQx zFjg{N+wBNlC>vd3`$uTT$pA}jF8CBlO|!_ufZw86`ESEUSf7O7cx5TIGPZtEgHQ@d zF0#o&d2A}_3KHQc3I7Nwl|r3lX?7ym&tO;x!?|F8CACg^-U^l~X^}kavBIB9W3Z2a zy+o@)DV$H_^I#v7TCkYQ!cG|q3ul1pxUf))z?6_v5%!`o9_&)EqbXlXG1v%LA3RII zz5+Ib#;=ru)oGAL$B0m_0s9EpyTO)$eHrWm7*9YaH0n-~7utzn*AqJ)L=8nBPqkQS zwrrsOyg;&fl3!*?5}j?u(UEOMl1qP0;ZQSjN_UeDYKA71eC68Qf*dt>)%biRZ#*sc zN|BRuBMInOVloSpCe+*;a=x3<SU_$yX(p$!U|z}G5*&U?4l&Rxq#rev^krjcTS$Vo zz-aa$_q0d0jaoshoC0zs#~e6nV}=6HA+IsSW<l3j05+HVApLA?N)e&UQ<TO6gvc)! zjRh`}jCCsWO49D%DalvHX4Vz|gSP}G1sOwOEi~XlVlgxd3w9iJl^X?HG(1+Y<G0<d zP|7^At>W!>E5cH|(_2irHx!g<r@$bix#_Sp4=7loif9JN6)nCGsZmOaP{cAoTD!*3 z04t~}VmTnKT?wgC>_jMH1pr!$*tvwrp)!}20LcW9^+P%kthbu<v`U5x>$6OHS`fp9 z^_oeq4Qq$u=b7|*hJGCpA*vSP-V3~uHi;r`nNLtg-6iq>!Ru*~^s=m@=XNQ&by$l% zF3UQ4uBU1f9ipys=gNmIb(K|FS4#In2)BH(vl&8@$_Vo<DsqzLUV1)Cl@h&=;FpqI zcAPr;x$N@_oFEq2t7XLm>FzJPg~+wC(S#UVSLrD#q~1(bL{Y(Bh}Tgq5OJ|+%2i4z zTBuTUtprJ`MPyeu#RFqh_Y4`PY%ldhmN-4<%D${xO`u8dRl|K*WsFi0tJp<kl3}Uz zX|5(%n<g;~_|bAT42|Jui3D|H;=Cz)kql%agCxWnnHV-eUXT<vFe1H7#1X2aMT$Hp zc8Do^!Ty0NEpfo{k=m2Qo*5|u`zcj&09+iYB~BLf?iW<CxPZ@7r6HkDUsHvc9z1Ey z7%<);AO@x<a3}#~G7vrZ#S;{Elew7rxiS<@5xp`F=8h5cxkog$FBDfO)~>tOhob>K zn%tCfwfo}<-|eZW?rIMQgAsj$KThguS9>g&is%WKKNSqeT#0zV<&U(*Tq{;I`|62^ zhm)apU$wis+U=>HBmQ#KP%M#jBxA8i!qpZCpgJPqs6QTa%yQ0jdK~0G+v&c}v2o5U z->e#+Ki&>~YNMkqn$rC(;ZUpV+hmb&OTd*%#9cIyNGhlc;cp8#0~lhmeM53nhn{eT zz_t66A)+WDiDWz#NT#J^>`SCtT2s+9PYZ=C=trkenXBfsswpR)*Ep}8UR~y$=5g0l zO{=I;H`=eAP*YvzUZRe1ss*d7CNJ@*o1E43uwPeQHM!xoHEnBd+UTjet=uzV-URn| z9j-~sJoGMYQGeNav&5tHb^!iBr@eY&$d#(8t)sT8%RCbuGpBoIxEvMaGu3sgns>A8 zgR@HAY`;m(ajGeMxteXCq2}DYSe@W(b4^lPo$6%g9d1&3)$rVMM|o4NtJYQFs+(R} zzIdtn>0NWzlv86$=FOR^<}5Ft<N~KwITx3gQ%mKO%FEUH_KJB9mutzawBg)Lw?(DZ zlIYO&K*+b=9~2$_xZmg36O^uw4qqUqx3&u3l18uZmIcdKG&U{utz6T*Km=o{mWVD= z(Qwk&=BF2>V3_REzLaVT<O|UEjua$1?(iZ1Nq@XePx?aPwvh0xZfahz)F%?*%{nHJ zh&G=dj}Lq3clz#Z^#_tMlMGRe(7xuT6^*NX!nfj<#`(UqU$BiEk>O$~?tmOkGU!W& z;z3#;8`C{bgktfe9baXOmaeilcszEwK<!wd?izQE-9cL=5UQosxPG?7Pi&HQO>Ka@ z^o<Vx^(1JG#QaGIE!x_UKOTgjBUQV;wPXEEN6<419-&lw3ow#!1jGJ_9!S>GI=4I8 z?2e|Hc1I!^1W#={TALdi=t(OykPOG7js)2fCP)_aC;eugJmy^Q2uEq(=-39xiAUy} zvKVdiw-3*YFA(xa+jL)0PYQpeBjlI%>75~>dNl4!gd;kg4ZdW!eK?pAwb~$NrV~u| z(O5X4^SWrEZLa&HzLi2|V#MUN#`Qag1vD)3iMEE@L?jk%v&#o^-w|lxkfB(FrU<=A zB=rs~3}0NQ@CiNb0_#M3ES3xnFRiPW)sUw@ne+$l_$$ZM|Ksp;QLA+F$h94agy~o{ zhQ@m*;0t44w1y)|J?^9Q3T%;?)uJ`LQ4jjiNlN=>JskpL2&9s;e0tQM9w~3GL{e_Z z5wnC%m5O4T^`M>RmN!RGkN7wF68`oM+LUsht4*1e>%KMaZ`ae!qQzLt?SeOCB(}k~ z%yXUGGqjV<!H4H+s8Km-I3tX0J=FK4-rhljlu4k4B6EP%m7dfQ0ft*1ULvNsq#g~+ z=^&6N4D{Iip>Tp0g510#V$yYl9*NOWGMpB;4DEN>FVi|q_cNBHb8qBY9pNQ2FruCG zBy(plXF~$>sD_p`W-Qs>;h7~8LkE(PIt(WrAsLeD^x$};)pDJuI%xard}Jj$e6ls( zz>>yH`Wja>HTb@<?Ts16kt?S--BmqcUYq8_T^OsRE$WZ>!a-Ww;nqzf<|5kSj|Qp1 z1q&AV%<<DkI8dmje>TLThK3vLQ<un}e>*WaVT~7nX;&S$^bSeC$5*J(SI&=e>Eo;h zKhRw8vg6II>>Ayjb?>PAGVjmWX5FqnV0lof&z+-|DA~D{-W**%g{ZG4CqLdL(zhHL zvmNy!Gka8hmNMFsZ5>OO1>=<QYOzwHlv>J^iIxhyD~&8>iB+7xV%E|RrkSNHHu)+s zBvVOZE_4MaMwtbsmpX`5kvT%Eima>n(O2>G!D%Y0ppRcuQR!>MTvYl9F&C9S0<uXk z^j(y`t{5^=zrl|k(t%Lv;{Yup3z(O&G#+ych>K54qsVq>P1BiKnG}^lf!mg$-D+On zLe!B{c47L9Cwm-y>l1IGbYN{*s8O^7B$cpG8YTcqS;_J$Ml1o?UC&s@xRep!B+##A z3^3l#7-Rff#xBNfj6Y+1lJRNA=NR$!kNAffUuArk@hl@gCSZqT0yV};MmHlqwV=O= zaV6tAMqK|uzmc(v@gc^?822;wFdk-nl@T9Si1PtsALCbyxF?0akkQUKgK<9N_Zb6> zF~%P<-p9C$5tq-1`>%|@Vtj@1HOBWDKW4ndsM0!we;(rm#_5c+8Rs)DWBdW*9gG_p zyBUANxR>!M#^)K|X8agPcU%@LRobqjfYhIS=8KrOGk-1fxT1u84f8iL-@yF$m|xEP zTIT)C-@!cY-_hP?=I>+N!ScUnemC<^F#j*i_b~rF^RF;}gn3*Vqn~dxe~S4t%=a<> z1@l*!$GtD|Qp|WAkotK&V;$psM%oF|p4=tkq=P?BG$1atfEA3>7#)nbi-o?95!ch; z7c<_<_yb0rG0eD$QSN*4>t=o%<0FiF7@uJLXGXd2$?qlR|DEx7jPEd>VEmBrW5xl- zKQm@v-%-5LjJN~_KY{UD#%YZ5ydZrI^WSBh$B0{F_%CN%!}vFh@*E+32lL&G+Zg|e zaUUb@nGx@|jDKK!o$(#U6O8g)A^VS*{}bZ{#><TI%7pC3VSf{rFjh0pVytD9f2WZh zF1leKX6#_Zl@{dk{2}aQ{$560)j^M&ao`@teT?`I3G!zc@xKXpT%7}d!}uoSamLe( zXBod>9ALy<JN)IjML3E1$&B*+BDs_KTE=?DX2z9_w=wz{ae0sUn;GwByqEFEj5`@0 zVcf&Gk8wZa0mdFi`TI;SH~5W5J19V7|6a%QNk8erLPm6Vowjo(Hnk`HEy78!vS|z% z6n$PNg%cmW!r78Y2q%38Iw5r8#X)jGy(QH~Ul^@1GL*Exr6sPfH)|uYfSILF7Wxq8 zXlb8sO5_(cN2KluXCT(zPA|d28I2`%CtVcKCp$hYO}&t>%)(i}{CiIN>Wqh5Qb}s& z|4^<WTT0W=TcG*97h#}7DW?jWQZLJ2vilBc@do+7*}2K)>UOanje<EunL%|l)jFyu zPthb|zA=}uK}CBvQZ@QYq^P4<i+N3eH*_};ZI1VE6sV7E5fAIhh<CHehe+`NHKH3q zOgg;7nZ%-xg1=%KhoM_dcII}UqFYw1XS55s(e52r#e0r^uk0i<iV?4k1m<{a?ZbJ& z@0JnoE}{(|BE=gN5BW2Sq1#LXbG(RsI3BqS#e0Zo!-q(5nv`{Po*2c@?I3|U-jD3* zdBS+{dusIWF{0sv^?)*&I(G{uf(vx0Pcj;In~LaMVjF;AcYtX_^(5Ju3+zySP1T^m z?<c#PKyX3-P!3ZykE6>zoEMxc#yIf*CQWAtfh>I#Z>GTz8g1bl!n8cZ!*(G~eTyCJ kO=%UC^pD&+5|)sh{@9c4QmSO%%<;M?!Ba?X6r<h$0joKZ#sB~S literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.c new file mode 100755 index 000000000..376362107 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.c @@ -0,0 +1,110 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +/*% */ +/*% agc_init.c */ +/*% Author: Sharon Lee */ +/*% History: */ +/*% Created by Sharon Lee in October, 2019 */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/* Include files */ +#include <string.h> +#include <stdio.h> +#include "agc_init.h" +#include "struct.h" +#include "define.h" +#include "db2linear.h" + +/* Function Definitions */ +void AGC_init(agc_struct *agc, ssp_para_struct *para_obj, float Fs, int frame_size, short path) +{ + agc_struct *agc_obj; + + agc_obj = agc; + agc_obj->Fs = (short)Fs; + agc_obj->frame_size = (short)frame_size; + agc_obj->env = 0L; + + agc_obj->fixed_step_size = 1 << 10; + agc_obj->stepsize_release = agc_obj->fixed_step_size; + agc_obj->stepsize_attack = MAX( agc_obj->fixed_step_size, (1 << 13)); + + agc_obj->pcb_noise_thrd = 38; + if (agc_obj->Fs == 16000) /* WB */ + agc_obj->pcb_noise_hold_time = 50*(3+1); /* unit is frame */ + else /* NB */ + agc_obj->pcb_noise_hold_time = 25*(3+1); /* unit is frame */ + agc_obj->pcb_noise_cnt = 0; + + if (1 == path) { + agc_obj->unit_gain_change = para_obj->para_agc_cut6_ena; /* allow to drop unit gain 6dB and only for one time, controlled here!!! */ + if (!para_obj->para_agc_max_gain) + agc_obj->unit_gain_change = false; + } else { + agc_obj->unit_gain_change = false; + } + + agc_obj->unit_gain_change_det = false; + agc_obj->sout_hist = 0; + agc_obj->smooth_cnt = 0; + agc_obj->alpha = (short)((float)(9.0F/10.0F) * 32767); /* coef for Lagrange Interpolation */ + agc_obj->alpha2 = 32767 - agc_obj->alpha; + + agc_obj->agc_vad1 = false; + agc_obj->agc_vad1_cnt = 0; + agc_obj->agc_vad2 = false; + agc_obj->agc_vad2_cnt = 0; + agc_obj->agc_vad_hist = false; + +} + +void AGC_para(agc_struct *agc, ssp_para_struct *para, short path) +{ + long unit_gain; + agc_struct *agc_obj; + ssp_para_struct *para_obj; + static short agc_gain_table[7] = {14, 13, 12, 11, 10, 9, 8}; + + /* restrict parameter range */ + para_obj = para; + agc_obj = agc; + + if (1 == path) { + para_obj->para_agc_cut6_ena = 1; + para_obj->para_agc_vad_cnt = 7; + para_obj->para_agc_max_gain = MIN(MAX(para_obj->para_agc_max_gain, 0), 6); + para_obj->para_agc_target_high = MIN(MAX(para_obj->para_agc_target_high, 0), 36); + para_obj->para_agc_target_low = MIN(MAX(para_obj->para_agc_target_low, 0), 72); + para_obj->para_agc_vad_ena = MIN(MAX(para_obj->para_agc_vad_ena, 0), 1); + //para_obj->para_agc_vad_cnt = MIN(MAX(para_obj->para_agc_vad_cnt, 1), 25); + //para_obj->para_agc_cut6_ena = MIN(MAX(para_obj->para_agc_cut6_ena, 0), 1); + agc_obj->max_gain = agc_gain_table[para_obj->para_agc_max_gain]; + agc_obj->target_high = db_to_linear(para_obj->para_agc_target_high); + agc_obj->target_low = db_to_linear(para_obj->para_agc_target_low); + } else { + para_obj->para_spk_agc_cut6_ena = 0; + para_obj->para_spk_agc_vad_ena = 0; + para_obj->para_spk_agc_vad_cnt = 7; + para_obj->para_spk_agc_max_gain = MIN(MAX(para_obj->para_spk_agc_max_gain, 0), 6); + para_obj->para_spk_agc_target_high = MIN(MAX(para_obj->para_spk_agc_target_high, 0), 36); + para_obj->para_spk_agc_target_low = MIN(MAX(para_obj->para_spk_agc_target_low, 0), 72); + agc_obj->max_gain = agc_gain_table[para_obj->para_spk_agc_max_gain]; + agc_obj->target_high = db_to_linear(para_obj->para_spk_agc_target_high); + agc_obj->target_low = db_to_linear(para_obj->para_spk_agc_target_low); + } + + unit_gain = (1L << (agc_obj->max_gain)); /* if max is Q3.13, i.e 2^13=8192 */ + agc_obj->unit_gain = agc_obj->max_gain; + agc_obj->gain32 = unit_gain << 16; /* start from unit gain */ + + agc_obj->target_high_Q15 = agc_obj->target_high; /* target high in Q1.15 format */ + + agc_obj->target_low = MIN(agc_obj->target_low, agc_obj->target_high); + agc_obj->target_low_Q15 = agc_obj->target_low; /* target low in Q1.15 format */ + + agc_obj->target_high = (short)((agc_obj->target_high*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + agc_obj->target_low = (short)((agc_obj->target_low*unit_gain) >> 15); /* proper Q format according to agc max_gain */ + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.h new file mode 100755 index 000000000..b780f776e --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.h @@ -0,0 +1,19 @@ + +#ifndef AGC_INIT_H +#define AGC_INIT_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void AGC_init(agc_struct *agc, ssp_para_struct *para_obj, float Fs, int frame_size, short path); +extern void AGC_para(agc_struct *agc, ssp_para_struct *para, short path); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_init.o new file mode 100644 index 0000000000000000000000000000000000000000..94a897a63b445734e49b74b2203c02d8be40fbd8 GIT binary patch literal 10236 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.c new file mode 100755 index 000000000..91fb0786a --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.c @@ -0,0 +1,68 @@ + +/* Include files */ +#include "struct.h" +#include "define.h" +#include "agc_subfun.h" + +/* Function Definitions */ +short envelope(short* sin, short frame_size) /* Envelope detector based on frame */ +{ + short i; + short temp; + short temp_max; + short y; + short *ptr_sin; + //int y1, y2; + + ptr_sin = sin; + temp_max = 0x4; /* keep a minimal DC here */ + for (i = 0; i < frame_size; i++) { + temp = *ptr_sin++; + if (temp == (short)0x8000) + temp = (short)0x8001; + temp = ABS(temp); + if (temp > temp_max) + temp_max = temp; + } + + #if 1 + y = temp_max; + #else + y1 = ((int)(agc_obj->alpha1)* (int)(agc_obj->env)) << 1; + y2 = ((int)(agc_obj->alpha) * (int)(temp_max)) << 1; + y = (y1 + y2) >> 16; + #endif + + return y; + +} + +void update_gain(int diff, agc_struct *agc_obj) +{ + int delta32; + int gain32; + short step_size; + + if (diff > 32767) + diff = 32767; + else if (diff < -32768) + diff = -32768; + + if (diff > 0) /* attack time and release time constants should be separated here!!! */ + step_size = agc_obj->stepsize_release; /* usually gain slowly increase, so release time constant here slowly */ + else + step_size = agc_obj->stepsize_attack; /* usually gain quickly decrease, so attack time constant here quickly */ + + delta32 = ((int)(step_size) * (int)(diff)) << 1; + gain32 = agc_obj->gain32 + delta32; + + //if(gain32 <0) + // printf(""); + if (((unsigned int)gain32) > 32767*65536) /* saturation restriction */ + gain32 = 32767*65536; /* 0x7FFF0000 */ + + agc_obj->gain32 = gain32; + + } + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.h new file mode 100755 index 000000000..981795ef2 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.h @@ -0,0 +1,18 @@ + +#ifndef AGC_SUBFUN_H +#define AGC_SUBFUN_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" + +/* Function Declarations */ +extern short envelope(short* sin, short frame_size); +extern void update_gain(int diff, agc_struct *agc_obj); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/agc_subfun.o new file mode 100644 index 0000000000000000000000000000000000000000..0b9200cf2739c1f12c8f2bbaccd48fc6212ec0dd GIT binary patch literal 6568 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 GzyAR|(SE=H literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.c new file mode 100755 index 000000000..7c555e4b0 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.c @@ -0,0 +1,98 @@ + +/* Include files */ +#include <string.h> +#include "bessel.h" +#include "tmwtypes.h" + +/* Function Definitions */ +void bessel_function(float v, const float x[321], float bessel[321]) +{ + /* ((4^m)*factorial(m)*factorial(m+v)) for zero order (v = 0) */ + static float bessel_v0_f[13] = { 4, 64, 2304, 147456, 14745600, 2.123366400000000e+09, 4.161798144000000e+11, 1.065420324864000e+14, 3.451961852559360e+16, (float)1.380784741023744e+19, (float)6.682998146554921e+21, + (float)3.849406932415634e+24, (float)2.602199086312969e+27 }; + static double bessel_v0_d[5] = { 2.040124083669368e+30, 1.836111675302431e+33, 1.880178355509689e+36, 2.173486178969201e+39, 2.816838087944084e+42 }; + + /* ((4^m)*factorial(m)*factorial(m+v)) for first order (v = 1) */ + static float bessel_v1_f[13] = { 8, 192, 9216, 737280, 88473600, 1.486356480000000e+10, 3.329438515200000e+12, 9.588782923776000e+14, (float)3.451961852559360e+17, (float)1.518863215126118e+20, (float)8.019597775865905e+22, + (float)5.004229012140325e+25, (float)3.643078720838156e+28 }; + static double bessel_v1_d[5] = { 3.060186125504052e+31, 2.937778680483889e+34, 3.196303204366472e+37, 3.912275122144561e+40, 5.351992367093760e+43 }; + + float *bessel_f_ptr, *bessel_f_ptr0; + double *bessel_d_ptr, *bessel_d_ptr0; + float acc0_f, acc1_f; + float tmp2_f; + double acc0_d, acc1_d; + double tmp2_d; + boolean_T short_iteration; + int i, m; + float tmp1; + + if (v == 0.0F) { + bessel_f_ptr0 = &bessel_v0_f[0]; + bessel_d_ptr0 = &bessel_v0_d[0]; + } else { + bessel_f_ptr0 = &bessel_v1_f[0]; + bessel_d_ptr0 = &bessel_v1_d[0]; + } + + for (i = 0; i < 321; i++) { /* input vector length */ + acc0_f = 1.0F; /* result for m = 0 */ + acc1_f = acc0_f; + tmp2_f = 1.0F; + tmp1 = x[i] * x[i]; + bessel_f_ptr = bessel_f_ptr0; + short_iteration = false; + + for (m = 0; m < 13; m++) { + if ((double)(tmp2_f*tmp1) > 3.4E+38) /* positive for sure */ + tmp2_f = (float)3.4E+38; + else + tmp2_f *= tmp1; + acc0_f = acc0_f + tmp2_f / (*bessel_f_ptr); + if (acc0_f == acc1_f) { + short_iteration = true; + break; + } + acc1_f = acc0_f; + bessel_f_ptr++; + } + + if (short_iteration == true) { + /* bessel(i,1) = ((x/2)^v)*acc0 */ + if (v == 0.0F) { + bessel[i] = acc0_f; + } else { + bessel[i] = x[i] / 2.0F * acc0_f; + } + goto bessel_end; + } + + tmp2_d = (double)tmp2_f; + acc0_d = (double)acc0_f; + acc1_d = acc0_d; + bessel_d_ptr = bessel_d_ptr0; + + for (m = 0; m < 5; m++) { + tmp2_d *= tmp1; /* positive for sure */ + if (tmp2_d > 1.7E+200) /* 1.7E+308 */ + break; + acc0_d = acc0_d + tmp2_d / (*bessel_d_ptr); + if ((float)(acc0_d) == (float)(acc1_d)) + break; + acc1_d = acc0_d; + bessel_d_ptr++; + } + + /* bessel(i,1) = ((x/2)^v)*acc0 */ + if (v == 0.0F) { + bessel[i] = (float)(acc0_d); + } else { + bessel[i] = (float)(x[i] / 2.0F * acc0_d); + } + bessel_end: + m = 0; /* meaningless, add to avoid error from compiler */ + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.h new file mode 100755 index 000000000..a2811ff4a --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.h @@ -0,0 +1,17 @@ + +#ifndef BESSEL_H +#define BESSEL_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" + +/* Function Declarations */ +extern void bessel_function(float v, const float x[321], float bessel[321]); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/bessel.o new file mode 100644 index 0000000000000000000000000000000000000000..c187c630ba63b55628b484430e5800ce29761a69 GIT binary patch literal 9452 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 JY-Td!{TJ&;mLLEC literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.c new file mode 100644 index 000000000..1be14a977 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.c @@ -0,0 +1,732 @@ +#include <stdio.h> +#include <string.h> +/* for checking chip id */ +#include <unistd.h> +#include <fcntl.h> +#include "tmwtypes.h" +#include "mmse_init.h" +#include "mmse.h" +#include "define.h" +#include "struct.h" +#include "agc_init.h" +#include "agc.h" +#include "lpaec.h" +#include "packfft.h" +#include "nlpaes.h" +#include "notch.h" +#include "dc.h" +#include "functrl.h" +#include "struct.h" +#include "dg.h" +#include "delay.h" +#include "eq.h" +#include "cvi_ssp_interface.h" +#include "memalloc.h" +#ifndef PLATFORM_RTOS +not support to enter here +#include <sys/stat.h> +#include <sys/ioctl.h> +#include <stdlib.h> +#include <linux/cvi_base.h> +#include "cvi_audio_arch.h" +#endif + + +#ifdef PLATFORM_RTOS +int cviaud_dbg = 1; +#endif +#ifdef TYPE_ARM +int cviaud_dbg = 0; +#endif + +#define UNUSED(x) ((x) = (x)) + +#define LOG_ERROR(fmt, args...) \ + do{\ + if (cviaud_dbg > 0) \ + printf("[error][%s][%d] "fmt, __func__, __LINE__, ##args); \ + }while(0); + +#define LOG_PRINTF(fmt, args...) \ + do{\ + if (cviaud_dbg > 1) \ + printf("[%s][%d] "fmt, __func__, __LINE__, ##args); \ + }while(0); + +#ifndef AEC_FRAME_LENGTH +#define AEC_FRAME_LENGTH (160) +#endif + +typedef struct stSpkInfo { + float fs; //sample rate + agc_struct spk_agc_obj; + cascaded_iir_struct spk_eq_obj; + float spk_eq_state[12]; + ssp_para_struct spk_ssp_para_obj; +} ST_SPK_INFO; + +struct st3AInfo { + /* Delay History Buffer */ + DelayState *delay_state; + /* DG History Buffer */ + dg_struct dg_obj; + /* DC Filter History Buffer */ + dcfilter_struct dc_obj; + /* Notch Filter History Buffer */ + qfilter_struct notch_obj; + int notch_state[4]; + /* LP AEC History Buffer */ + /* This holds the state of the linear echo canceller, need one per channel */ + LinearEchoState* aec_state; + /* NLP AES History Buffer */ + NonLinearEchoState *aes_state; + short filter_length; + short init_filter_length; + //float fe_smooth_coef; + boolean_T aec_supp16k_ena; + + float fs; //sample rate + ssp_para_struct para_obj; + float aa; + float mu; + NRState *nr_state; + int nenr_silence_time; + int nenr_silence_cnt; + /* NLP AES History Buffer */ + boolean_T st_vad; + short aes_std_in[160]; + float aes_supp_coef1; + float aes_supp_coef2; + float std_thrd; + //struct stAnrInfor * pstAnrInfor; + /* NR History Buffer */ + boolean_T speech_vad; + float frame; + float initial_noise_pow_time; + float nr_frame1_last_sample; + // AGC info + //struct stAgcInfor *pstAgcInfor; + /* Input/Output Buffer */ + short ne_fixed_in[320]; /* near-end and fixed-point input */ + float ne_float_in[320]; /* near-end and floating-point input */ + short fe_fixed_in[320]; /* far-end and fixed-point input */ + //float fe_float_in[320]; /* far-end and floating-point input */ + float ne_float_out[160]; /* near-end and floating-point output */ + short ne_fixed_out[160]; /* near-end and fixed-point output */ + + agc_struct agc_obj; + int bInitOk; +}; +#if 0//ndef PLATFORM_RTOS +static int _cviaudio_get_GetChipId(unsigned int *pu32ChipId) +{ + //mimic CVI_S32 CVI_SYS_GetChipId(unsigned int *pu32ChipId) + static unsigned int id = 0xffffffff; + int fd; + + if (id == 0xffffffff) { + unsigned int tmp = 0; + + fd = open("/dev/cvi-base", O_RDWR | O_SYNC); + if (fd == -1) { + LOG_ERROR("Can't open device, cvi-base.\n"); + LOG_ERROR("system not ready\n"); + //abort();//no need abort + return (-1); + } + + if (ioctl(fd, IOCTL_READ_CHIP_ID, &tmp) < 0) { + LOG_ERROR("ioctl IOCTL_READ_CHIP_ID failed\n"); + //abort(); + return (-1); + } + + switch (tmp) { + case E_CHIPID_CV1822: + id = CVI1822; + break; + case E_CHIPID_CV1832: + id = CVI1832; + break; + case E_CHIPID_CV1835: + id = CVI1835; + break; + case E_CHIPID_CV1838: + id = CVI1838; + break; + case E_CHIPID_CV1829: + id = CVI1829; + break; + case E_CHIPID_CV1826: + id = CVI1826; + break; + case E_CHIPID_CV1821: + id = CVI1821; + break; + case E_CHIPID_CV1820: + id = CVI1820; + break; + case E_CHIPID_CV1823: + id = CVI1823; + break; + case E_CHIPID_CV1825: + id = CVI1825; + break; + default: + LOG_ERROR("unknown id(%#x)\n", tmp); + return (-1); + break; + } + + close(fd); + } + + *pu32ChipId = id; + return 0; +} +#endif + +void *audio_ssp_init(void *para_obj, unsigned int sample_rate) +{ + + struct st3AInfo *pst3Ainfo = NULL; + short cond1, cond2; + unsigned int u32ChipId = 0xFF; + ssp_para_struct *para_info = (ssp_para_struct *)para_obj; + int turn_on_notch_filter = 0; +#if 0//ndef PLATFORM_RTOS + cviAudioGetDbgMask(&cviaud_dbg); + + _cviaudio_get_GetChipId(&u32ChipId); + + if (u32ChipId == CVI1835 || + u32ChipId == CVI1832 || + u32ChipId == CVI1838 || + u32ChipId == CVI1822 || + u32ChipId == CVI1821 || + u32ChipId == CVI1829 || + u32ChipId == CVI1820 || + u32ChipId == CVI1823 || + u32ChipId == CVI1825 || + u32ChipId == CVI1826) { + + LOG_PRINTF("cvitek support chip on cviaudio_algo\n"); + } + else { + LOG_ERROR("[Error]Cvitek verification chip id failure...[%d]\n", u32ChipId); + //return NULL; + } +#endif + +#ifndef PLATFORM_RTOS + pst3Ainfo = (struct st3AInfo *)malloc(sizeof(struct st3AInfo)); +#else + //pst3Ainfo = (struct st3AInfo *)pvPortMalloc(sizeof(struct st3AInfo)); + pst3Ainfo = (struct st3AInfo *)mem_alloc(sizeof(struct st3AInfo)); +#endif + if(NULL == pst3Ainfo) + { + LOG_ERROR("malloc failed.aec init failed.\n"); + return NULL; + } + + memset(pst3Ainfo,0,sizeof(struct st3AInfo)); + memcpy(&pst3Ainfo->para_obj,para_info,sizeof(ssp_para_struct)); + pst3Ainfo->fs = sample_rate;// pst3Ainfo->para_obj.para_sample_rate; + + //printf("[SSP_VER20220128]user setting config param------dump---start\n"); + printf("[SSP_VER20220128]sample_rate:%d.\n", (int)pst3Ainfo->fs); + printf("[SSP_VER20220128]para_client_config:%d.\n", pst3Ainfo->para_obj.para_client_config); + printf("[SSP_VER20220128]para_fun_config:%d.\n", pst3Ainfo->para_obj.para_fun_config); + printf("[SSP_VER20220128]para_delay_sample:%d.\n", pst3Ainfo->para_obj.para_delay_sample); + printf("[SSP_VER20220128]para_dg_target:%d.\n", pst3Ainfo->para_obj.para_dg_target); + printf("[SSP_VER20220128]para_aec_init_filter_len:%d.\n", pst3Ainfo->para_obj.para_aec_init_filter_len); + printf("[SSP_VER20220128]para_aec_filter_len:%d.\n", pst3Ainfo->para_obj.para_aec_filter_len); + printf("[SSP_VER20220128]para_aes_std_thrd:%d.\n", pst3Ainfo->para_obj.para_aes_std_thrd); + printf("[SSP_VER20220128]para_aes_supp_coeff:%d.\n", pst3Ainfo->para_obj.para_aes_supp_coeff); + printf("[SSP_VER20220128]para_nr_init_sile_time:%d.\n", pst3Ainfo->para_obj.para_nr_init_sile_time); + printf("[SSP_VER20220128]para_nr_snr_coeff:%d.\n", pst3Ainfo->para_obj.para_nr_snr_coeff); + printf("[SSP_VER20220128]para_agc_max_gain:%d.\n", pst3Ainfo->para_obj.para_agc_max_gain); + printf("[SSP_VER20220128]para_agc_target_high:%d.\n", pst3Ainfo->para_obj.para_agc_target_high); + printf("[SSP_VER20220128]para_agc_target_low:%d.\n", pst3Ainfo->para_obj.para_agc_target_low); + printf("[SSP_VER20220128]para_agc_vad_ena:%d.\n", pst3Ainfo->para_obj.para_agc_vad_ena); + printf("[SSP_VER20220128]para_notch_freq:%d.\n", pst3Ainfo->para_obj.para_notch_freq); + //printf("[SSP_VER20220128]user setting config param------dump---end\n"); + + //TODO: check ssp init with ssp_main.c + //reference from ssp_main.c + cond1 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_para(&pst3Ainfo->para_obj); + pst3Ainfo->delay_state = delay_init(&pst3Ainfo->para_obj); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + DG_para(&pst3Ainfo->dg_obj, &pst3Ainfo->para_obj); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover_init(&pst3Ainfo->dc_obj, pst3Ainfo->fs); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_para(&pst3Ainfo->notch_obj, &pst3Ainfo->para_obj, pst3Ainfo->fs); + notch_init(&pst3Ainfo->notch_obj, pst3Ainfo->notch_state); + } + + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + + if (cond1 | cond2) { + LP_AEC_para(&pst3Ainfo->para_obj, &pst3Ainfo->filter_length, &pst3Ainfo->init_filter_length); + pst3Ainfo->aec_state = LP_AEC_init(AEC_FRAME_LENGTH, pst3Ainfo->filter_length, + pst3Ainfo->init_filter_length, pst3Ainfo->fs); + } + if (cond2) { + NLP_AES_para(&pst3Ainfo->para_obj, &pst3Ainfo->std_thrd, &pst3Ainfo->aes_supp_coef1, + &pst3Ainfo->aes_supp_coef2); + pst3Ainfo->aes_state = NLP_AES_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->std_thrd, + pst3Ainfo->aes_supp_coef1, pst3Ainfo->aes_supp_coef2); + pst3Ainfo->aes_state->echo_state = pst3Ainfo->aec_state; + } + if (!(pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE)) { + /* add fool-proof design for parameter configuration */ + pst3Ainfo->para_obj.para_agc_vad_ena = 0; + } + cond1 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + if (cond1 | (cond2 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + NR_para(&pst3Ainfo->para_obj, &pst3Ainfo->aa, &pst3Ainfo->mu); + pst3Ainfo->nr_state = NR_init(AEC_FRAME_LENGTH, pst3Ainfo->fs, pst3Ainfo->aa, pst3Ainfo->mu); + } + if (cond2) { + AGC_para(&pst3Ainfo->agc_obj, &pst3Ainfo->para_obj, 1); + AGC_init(&pst3Ainfo->agc_obj, &pst3Ainfo->para_obj, pst3Ainfo->fs, AEC_FRAME_LENGTH, 1); + } + + pst3Ainfo->speech_vad = true; + pst3Ainfo->st_vad = false; /* default */ + pst3Ainfo->frame = 1.0F; + pst3Ainfo->nenr_silence_cnt = 0; + + pst3Ainfo->para_obj.para_nr_init_sile_time = MIN(MAX(pst3Ainfo->para_obj.para_nr_init_sile_time, 0), 250); + if (pst3Ainfo->fs == 16000.0F) { + pst3Ainfo->initial_noise_pow_time = 14; + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time*2; + } else { + pst3Ainfo->initial_noise_pow_time = 7; + pst3Ainfo->nenr_silence_time = pst3Ainfo->para_obj.para_nr_init_sile_time; + } + + pst3Ainfo->bInitOk = true; + + return (void *)pst3Ainfo; +} + + + +int audio_ssp_process(void *handle, short *mic_in, short *ref_in, short *dataout, int iLength) +{ + int hopsize = iLength; /* input hop size */ + int i; + int len = 2* iLength; + short cond1, cond2, cond3, cond4, cond5, cond6; + + int len1 = len/2; + int nFFT = 2*len; + float alpha, alpha2; + float tmp1 = 0.0; + struct st3AInfo *pst3Ainfo = (struct st3AInfo *)handle; + + if (!pst3Ainfo) { + printf("[error]audio_ssp_process error.\n"); + return -1; + } + + if(!(pst3Ainfo && pst3Ainfo->bInitOk)) + { + printf("[error]audio_ssp_process error params.\n"); + return -1; + } + + if(iLength != 160) + { + printf("[error]audio_ssp_process parameter len must be 160 frames.\n"); + return -1; + } + if(!(mic_in || dataout)) + { + printf("[error]audio_ssp_process NULL parameers.\n"); + return -2; + } + if (ref_in == NULL) { + //printf("[v]ref_in null\n"); + pst3Ainfo->para_obj.para_fun_config &= (~(LP_AEC_ENABLE | NLP_AES_ENABLE)); + } + //port from ssp_main.c + //printf("[v]pst3Ainfo->para_obj.para_fun_config[%x]\n", pst3Ainfo->para_obj.para_fun_config); + if (pst3Ainfo->para_obj.para_client_config == 2) { + float tmp = 0; + + for (i = 0; i < hopsize; i++) { + tmp = (float)(ref_in[i])/(float)(32768.0F) * 15.84F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + ref_in[i] = ROUND_POS(tmp*(short)(32767)); + mic_in[i] = ROUND_POS(((float)(mic_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + } + } + + + if(!(pst3Ainfo->para_obj.para_fun_config)) { + for(i=0;i< hopsize;i++) + dataout[i]=mic_in[i]; + } else { + /* Delay ref signal, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_ref(ref_in, pst3Ainfo->delay_state, hopsize); + } + + /* Apply DG, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + apply_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + } + + /* DC filter, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover(mic_in, mic_in, &pst3Ainfo->dc_obj, hopsize); + } + + /* Notch filter, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_filter(mic_in, mic_in, &pst3Ainfo->notch_obj, hopsize); + } + + /* Linear AEC, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + LP_AEC(pst3Ainfo->aec_state, mic_in, ref_in, dataout); + //memcpy(&pst3Ainfo->aes_std_in[0], &mic_in[0], hopsize*2); + if (cond2) { + for (i = 0; i < hopsize; i++) + pst3Ainfo->aes_state->aes_std_in[i] = mic_in[i]; + } + for (i = 0; i < hopsize; i++) + mic_in[i] = dataout[i]; + } + + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + if (!(cond2 | cond3 | cond4)) { + /* Compensate DG frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(mic_in, mic_in, &pst3Ainfo->dg_obj, hopsize); + } + for (i = 0; i < hopsize; i++) + dataout[i] = mic_in[i]; /* save MCPS if NR+AES+AGC off */ + } else { + if (cond3 | pst3Ainfo->para_obj.para_agc_vad_ena) { + /* Stationary NR frame-by-frame processing */ + if (pst3Ainfo->nenr_silence_cnt >= pst3Ainfo->nenr_silence_time) { + NR(mic_in, + pst3Ainfo->initial_noise_pow_time, + &pst3Ainfo->frame, + pst3Ainfo->nr_state, + &pst3Ainfo->speech_vad, + pst3Ainfo->ne_float_out); + } else { + for (i = 0; i < hopsize; i++) { + pst3Ainfo->ne_float_out[i] = 0.0F; + pst3Ainfo->nr_state->x_old[i] = mic_in[i]; + /* update input overlap data */ + } + } + } + + if (cond3) { + /* Transform to fixed-point with 16-bit length for output */ + for (i = 0; i < hopsize; i++) { + pst3Ainfo->ne_float_out[i] = MIN(MAX(pst3Ainfo->ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + if (pst3Ainfo->ne_float_out[i] < 0.0F) + dataout[i] = ROUND_NEG((pst3Ainfo->ne_float_out[i]*(int)(32768))); + else + dataout[i] = ROUND_POS((pst3Ainfo->ne_float_out[i]*(short)(32767))); + } + } else { + //printf("[v][%d]mic_in[0x%x]\n", __LINE__, mic_in[0]); + for (i = 0; i < hopsize; i++) + dataout[i] = mic_in[i]; + } + + /* Nonlinear AES, frame-by-frame processing */ + if (cond2) { + NLP_AES(pst3Ainfo->aes_state, dataout, pst3Ainfo->frame, pst3Ainfo->speech_vad); + pst3Ainfo->st_vad = (boolean_T)pst3Ainfo->aes_state->st_vad; + } + + if (2 == pst3Ainfo->para_obj.para_client_config) { + float tmp = 0; + + for (i = 0; i < hopsize; i++) { + tmp = (float)(dataout[i])/(float)(32768.0F) * 1.9952F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + dataout[i] = ROUND_POS(tmp*(short)(32767)); + } + } + + /* Compensate DG, frame-by-frame processing */ + cond1 = pst3Ainfo->para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(dataout, dataout, &pst3Ainfo->dg_obj, hopsize); + } + + /* AGC frame-by-frame processing */ + if (cond4) { + //printf("[v]AGC [0x%x][0x%x]\n", dataout[0], dataout[1]); + AGC(dataout, + dataout, + &pst3Ainfo->agc_obj, + &pst3Ainfo->para_obj, + pst3Ainfo->speech_vad, + pst3Ainfo->st_vad, + pst3Ainfo->nenr_silence_time, + pst3Ainfo->nenr_silence_cnt, + 1); + //printf("[v]AGC_out[0x%x][0x%x]\n", dataout[0], dataout[1]); + } + } + } + + if (pst3Ainfo->nenr_silence_cnt < pst3Ainfo->nenr_silence_time) + pst3Ainfo->nenr_silence_cnt += 1; + else + pst3Ainfo->nenr_silence_cnt = pst3Ainfo->nenr_silence_time + 1; /* avoid overflow */ + + if (pst3Ainfo->nenr_silence_cnt > pst3Ainfo->nenr_silence_time) { + if (pst3Ainfo->frame < pst3Ainfo->initial_noise_pow_time) /* avoid overflow, 140ms */ + pst3Ainfo->frame += 1; + else + pst3Ainfo->frame = pst3Ainfo->initial_noise_pow_time + 1; + } + + return 0; +} + + +int audio_ssp_deinit(void *handle) +{ + struct st3AInfo *pst3Ainfo = (struct st3AInfo *)handle; + + if (!pst3Ainfo) { + LOG_ERROR("audio_ssp_deinit NULL handle\n"); + return -1; + } + short cond1, cond2, cond3, cond4, cond6; + + if (!pst3Ainfo->bInitOk) { + LOG_ERROR("audio_ssp_deinit not init\n"); + return -1; + } + pst3Ainfo->bInitOk = 0; + cond1 = pst3Ainfo->para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = pst3Ainfo->para_obj.para_fun_config & NLP_AES_ENABLE; + cond3 = pst3Ainfo->para_obj.para_fun_config & NR_ENABLE; + cond4 = pst3Ainfo->para_obj.para_fun_config & AGC_ENABLE; + cond6 = pst3Ainfo->para_obj.para_fun_config & DELAY_ENABLE; + + if (cond1 | cond2) { + LP_AEC_free(pst3Ainfo->aec_state); + } + if (cond2) { + if (pst3Ainfo->aec_state != NULL) + NLP_AES_free(pst3Ainfo->aes_state); + } + if (cond3 | (cond4 && pst3Ainfo->para_obj.para_agc_vad_ena)) { + if (pst3Ainfo->nr_state) + NR_free(pst3Ainfo->nr_state); + } + if (cond6) { + delay_free(pst3Ainfo->delay_state); + } +#ifndef PLATFORM_RTOS + free(pst3Ainfo); +#else + vPortFree(pst3Ainfo); +#endif + //pst3Ainfo = NULL; + return 0; +} + + +void *audio_ssp_spk_init(void *para_obj, unsigned int sample_rate) +{ + + ST_SPK_INFO *pstSpkInfo = NULL; + short cond1, cond2; + unsigned int u32ChipId = 0xFF; + ssp_para_struct * para_info = (ssp_para_struct *)para_obj; + int turn_on_notch_filter = 0; + int hopsize = 160; /* input hop size */ +#ifndef PLATFORM_RTOS + //cviAudioGetDbgMask(&cviaud_dbg); + pstSpkInfo = ((ST_SPK_INFO *)calloc(1, sizeof(ST_SPK_INFO))); +#else + //pstSpkInfo = (ST_SPK_INFO *)pvPortMalloc(sizeof(ST_SPK_INFO)); + pstSpkInfo = (ST_SPK_INFO *)mem_alloc(sizeof(ST_SPK_INFO)); +#endif + + + if(NULL == pstSpkInfo) + { + LOG_ERROR("calloc failed audio_ssp_spk_init failed.\n"); + return NULL; + } + + memcpy(&pstSpkInfo->spk_ssp_para_obj, para_info,sizeof(ssp_para_struct)); + pstSpkInfo->fs = sample_rate;//pstSpkInfo->spk_ssp_para_obj.para_sample_rate; + + + LOG_PRINTF("[SSP_VER20220128]user setting SPK config param------dump---start\n"); + LOG_PRINTF("[SSP_VER20220128]sample_rate:%d\n", (int)pstSpkInfo->fs); + LOG_PRINTF("[SSP_VER20220128]para_client_config:%d.\n", pstSpkInfo->spk_ssp_para_obj.para_client_config); + LOG_PRINTF("[SSP_VER20220128]para_fun_config:%d.\n", pstSpkInfo->spk_ssp_para_obj.para_fun_config); + LOG_PRINTF("[SSP_VER20220128]para_spk_agc_max_gain:%d.\n", pstSpkInfo->spk_ssp_para_obj.para_spk_agc_max_gain); + LOG_PRINTF("[SSP_VER20220128]para_spk_agc_target_high:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_agc_target_high); + LOG_PRINTF("[SSP_VER20220128]para_spk_agc_target_low:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_agc_target_low); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_nband:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_nband); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_freq[0]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_freq[0]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_gain[0]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_gain[0]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_qfactor[0]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_qfactor[0]); + + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_freq[1]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_freq[1]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_gain[1]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_gain[1]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_qfactor[1]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_qfactor[1]); + + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_freq[2]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_freq[2]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_gain[2]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_gain[2]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_qfactor[2]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_qfactor[2]); + + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_freq[3]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_freq[3]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_gain[3]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_gain[3]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_qfactor[3]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_qfactor[3]); + + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_freq[4]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_freq[4]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_gain[4]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_gain[4]); + LOG_PRINTF("[SSP_VER20220128]para_spk_eq_qfactor[4]:%d.\n", + pstSpkInfo->spk_ssp_para_obj.para_spk_eq_qfactor[4]); + + LOG_PRINTF("[SSP_VER20220128]user setting SPK config param------dump---end\n"); + + + //reference from ssp_main.c of cond5 spk condition + if ((pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config) & SPK_AGC_ENABLE) { + AGC_para(&pstSpkInfo->spk_agc_obj, &pstSpkInfo->spk_ssp_para_obj, 2); + AGC_init(&pstSpkInfo->spk_agc_obj, &pstSpkInfo->spk_ssp_para_obj, pstSpkInfo->fs, hopsize, 2); + } else { + printf("[Error]Not a valid mask for AO VQE[0x%x]]\n", pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config); + return NULL; + } + + if (pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config & SPK_EQ_ENABLE) { + equalizer_para(&pstSpkInfo->spk_eq_obj, &pstSpkInfo->spk_ssp_para_obj, pstSpkInfo->fs); + equalizer_init(&pstSpkInfo->spk_eq_obj, pstSpkInfo->spk_eq_state); + } + return (void *)pstSpkInfo; +} + + +int audio_ssp_spk_process(void *handle, short *spk_in, short *dataout, int iLength) +{ + ST_SPK_INFO *pstSpkInfo = (ST_SPK_INFO *)handle; + int i = 0; + + UNUSED(iLength); + if (!pstSpkInfo) { + LOG_ERROR("audio_ssp_spk_process error.\n"); + return -1; + } + + //everyime entering hopsize = 160 samples + //AGC(fe_fixed_in, fe_fixed_out, &spk_agc_obj, &ssp_para_obj, hopsize, true, false, 0, 0, fs, 2); + if (pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config & SPK_AGC_ENABLE) { + AGC(spk_in, + spk_in, + &pstSpkInfo->spk_agc_obj, + &pstSpkInfo->spk_ssp_para_obj, + true, + false, + 0, + 0, + 2); + if (pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config & SPK_EQ_ENABLE) { + equalizer(spk_in, + spk_in, + &pstSpkInfo->spk_eq_obj, + AEC_FRAME_LENGTH); + + } + for (i = 0; i < AEC_FRAME_LENGTH; i++) + dataout[i] = spk_in[i]; + + } else if (pstSpkInfo->spk_ssp_para_obj.para_spk_fun_config & SPK_EQ_ENABLE) { + equalizer(spk_in, + dataout, + &pstSpkInfo->spk_eq_obj, + AEC_FRAME_LENGTH); + + } else { + //do nothing but copy input data + for (i = 0; i < AEC_FRAME_LENGTH; i++) + dataout[i] = spk_in[i]; + } + + return 0; +} + +int audio_ssp_spk_deinit(void *handle) +{ + ST_SPK_INFO *pstSpkInfo = (ST_SPK_INFO *)handle; + + if (!pstSpkInfo) { + LOG_ERROR("audio_ssp_spk_deinit handle not exist!!\n"); + return -1; + } else { +#ifndef PLATFORM_RTOS + free(pstSpkInfo); +#else + vPortFree(pstSpkInfo); +#endif + pstSpkInfo = NULL; + + } + + return 0; +} + + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.h new file mode 100644 index 000000000..6dd1c7c96 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.h @@ -0,0 +1,17 @@ +/* Include files */ +#ifndef __CVI_SSP_INTERFACE__ +#define __CVI_SSP_INTERFACE__ +#include <stdio.h> + +#define AEC_PRO_DATA_LEN (160) +//for uplink VQE(MIC in) +void *audio_ssp_init(void *para_obj, unsigned int sample_rate); +int audio_ssp_process(void *handle, short *mic_in, short *ref_in, short *dataout, int iLength); +int audio_ssp_deinit(void *handle); + +//for downlink VQE(SPK OUT) +void *audio_ssp_spk_init(void *para_obj, unsigned int sample_rate); +int audio_ssp_spk_process(void *handle, short *spk_in, short *dataout, int iLength); +int audio_ssp_spk_deinit(void *handle); + +#endif diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cvi_ssp_interface.o new file mode 100644 index 0000000000000000000000000000000000000000..293786d42e1f91a999ff1a7582b6b0ac968bb73c GIT binary patch literal 54448 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.c new file mode 100644 index 000000000..36a78bbd8 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.c @@ -0,0 +1,353 @@ +/*usage from C std lib */ +#include <stdio.h> +#include<sys/types.h> +#include<sys/stat.h> +#include<fcntl.h> +#include <math.h> +#include <string.h> +#include <stdlib.h> +#include <sys/stat.h> +#ifndef PLATFORM_RTOS +#include <errno.h> +#endif +/* usage from cviaudio header */ +#include "struct.h" +#include "cvi_comm_aio.h" +#include "cvi_ssp_interface.h" +#define _AUDIO_ALGO_INTERFACE_VERSION_TAG_ "Aud_AlgoInterface_ver20220128" +#define _AUDIO_ALGO_INTERNAL_VERSION_ "CVITEK_AEC_Algo_20220128" +//turn on all the mask to user config, do not wrap or simply to 3 function AGC/ANR/AEC +#define CVIAUDIO_ALGO_FUNCTION_AGC 0x01 +#define CVIAUDIO_ALGO_FUNCTION_ANR 0x02 +#define CVIAUDIO_ALGO_FUNCTION_AEC 0x04 + +//TODO: step 1 add include header for specific algo +/* porting layer for specific algorithm */ +//#include "cvi_aec_interface_v2.h" +//#include "cvi_3a_internal.h" + +#define AEC_FRAME_LENGTH (160) +#ifndef CHECK_NULL_PTR +#define CHECK_NULL_PTR(ptr) \ + do { \ + if (!(ptr)) { \ + printf("func:%s,line:%d, NULL pointer\n", __func__, __LINE__); \ + return -1; \ + } \ + } while (0) +#endif + +int notch_dbglevel = 2; + +#define CVIAUD_NOTCH_ERR_PRINTF(fmt, args...) \ + do { \ + if (notch_dbglevel > 0) \ + printf("[cviaudio][error][%s][%d] "fmt, __func__, __LINE__, ##args);\ + } while (0) + +#define CVIAUD_NOTCH_DBG_PRINTF(fmt, args...) \ + do { \ + if (notch_dbglevel > 1) \ + printf("[cviaudio][info] "fmt, ##args);\ + } while (0) + +#define CVIAUD_NOTCH_TRA_PRINTF(fmt, args...) \ + do { \ + if (notch_dbglevel > 2) \ + printf("[cvitrace][%s][%d] "fmt, __func__, __LINE__, ##args);\ + } while (0) + +#ifndef SSP_UNUSED_REF +#define SSP_UNUSED_REF(X) ((X) = (X)) +#endif + +#ifndef DEFAULT_BYTES_PER_SAMPLE +#define DEFAULT_BYTES_PER_SAMPLE 2 +#endif + +#ifndef CVI_AEC_FRAMES_LEN +#define CVI_AEC_FRAMES_LEN 160 +#endif +//#define IBUFFSIZE 160/* Input buffer size */ +#define MAX_IBUFFSIZE 4096 +/* sample code from ffmpeg resampling_audio.c -----------end */ +bool gv_bEnableAEC;//TOD: this should not exist if aec, agc use the same handle + + +/************************************************************************************** + * Function: CviAud_Algo_Init + * + * Description: allocate and init for audio algorithm + * + * Inputs: s32FunctMask: CVIAUDIO_ALGO_FUNCTION_AGC + * /CVIAUDIO_ALGO_FUNCTION_AGC + * /CVIAUDIO_ALGO_FUNCTION_AGC + * param_info:input info needed for specific algorithm lib + * Outputs: none + * + * Return: algo handle + **************************************************************************************/ +void *CviAud_Algo_Init(int s32FunctMask, void *param_info) +{ + int s32Ret; + void *_handle = NULL; +#ifdef FAST_MATH_CALC + printf("[cviaudio][SSP]Using Fast Math[replace atan/logarithm]\n"); +#endif + const AI_TALKVQE_CONFIG_S *pstVqeConfig = (const AI_TALKVQE_CONFIG_S *)param_info; + ssp_para_struct ssp_para_info; + ssp_para_struct *p_ssp_para_info = &ssp_para_info; + + s32FunctMask = s32FunctMask; + memset(p_ssp_para_info, 0, sizeof(ssp_para_struct)); + // set to default value first .... + ssp_para_info.para_fun_config = 15; + ssp_para_info.para_delay_sample = 1; + ssp_para_info.para_dg_target = 1; + ssp_para_info.para_aec_init_filter_len = 2; + ssp_para_info.para_aec_filter_len = 13; + ssp_para_info.para_aes_std_thrd = 37; + ssp_para_info.para_aes_supp_coeff = 60; + ssp_para_info.para_nr_init_sile_time = 0; + ssp_para_info.para_nr_snr_coeff = 15; + ssp_para_info.para_agc_max_gain = 0; + ssp_para_info.para_agc_target_high = 2; + ssp_para_info.para_agc_target_low = 72; + ssp_para_info.para_agc_vad_ena = 1; + ssp_para_info.para_notch_freq = 0; + ssp_para_info.para_spk_fun_config = 0; + ssp_para_info.para_spk_agc_max_gain = 0; + ssp_para_info.para_spk_agc_target_high = 8; + ssp_para_info.para_spk_agc_target_low = 72; + + + //update value from use layer + //ssp_para_info.para_sample_rate = pstVqeConfig->s32WorkSampleRate;//only support 8k and 16k + ssp_para_info.para_client_config = pstVqeConfig->para_client_config; + ssp_para_info.para_fun_config = pstVqeConfig->u32OpenMask; + //update aec config + ssp_para_info.para_aec_filter_len = pstVqeConfig->stAecCfg.para_aec_filter_len; + ssp_para_info.para_aes_std_thrd = pstVqeConfig->stAecCfg.para_aes_std_thrd; + ssp_para_info.para_aes_supp_coeff = pstVqeConfig->stAecCfg.para_aes_supp_coeff; + //update nr config + ssp_para_info.para_nr_init_sile_time = pstVqeConfig->stAnrCfg.para_nr_init_sile_time; + ssp_para_info.para_nr_snr_coeff = pstVqeConfig->stAnrCfg.para_nr_snr_coeff;; + //update agc config + ssp_para_info.para_agc_max_gain = pstVqeConfig->stAgcCfg.para_agc_max_gain; + ssp_para_info.para_agc_target_high = pstVqeConfig->stAgcCfg.para_agc_target_high;; + ssp_para_info.para_agc_target_low = pstVqeConfig->stAgcCfg.para_agc_target_low; + ssp_para_info.para_agc_vad_ena = pstVqeConfig->stAgcCfg.para_agc_vad_ena; + //udpate sw aec config + ssp_para_info.para_aec_init_filter_len = pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + ssp_para_info.para_dg_target = pstVqeConfig->stAecDelayCfg.para_dg_target; + ssp_para_info.para_delay_sample = pstVqeConfig->stAecDelayCfg.para_delay_sample; + //update notch filter setting for specific customer + ssp_para_info.para_notch_freq = pstVqeConfig->para_notch_freq;//only support 8k and 16k + #if 0 //leave the spk setting to CviAud_SpkAlgo_Init + ssp_para_info.para_spk_fun_config = pstVqeConfig->stSpkCfg.para_spk_fun_config; + ssp_para_info.para_spk_agc_max_gain = pstVqeConfig->stSpkCfg.para_spk_agc_max_gain; + ssp_para_info.para_spk_agc_target_high = pstVqeConfig->stSpkCfg.para_spk_agc_target_high; + ssp_para_info.para_spk_agc_target_low = pstVqeConfig->stSpkCfg.para_spk_agc_target_low; + #endif + + + _handle = (void *)audio_ssp_init((void *)p_ssp_para_info, pstVqeConfig->s32WorkSampleRate); + + + return (void *)_handle; + + +} + + +/************************************************************************************** + * Function: CviAud_Algo_Process + * + * Description: Process the audio algorithm through interface api CviAud_Algo_Process + * + * Inputs: pHandle: Create by CviAud_Algo_Init + * mic_in: input data address for entering audio algo + * ref_in: reference data for audio AEC algorithm + * iLength: input samples count for each process function call + * + * Outputs: out: pointer to outputbuf + * + * Return: output samples + * Notes: sure insamps < MAXFRAMESIZE + **************************************************************************************/ +int CviAud_Algo_Process(void *pHandle, uint64_t mic_in, + uint64_t ref_in, uint64_t out, int iLength) +{ +//TODO: step 3[ok] implement the function acquired + SSP_UNUSED_REF(iLength); + int ret = 0; + int s32RetTotalSamples = 0; + + if (pHandle == NULL) { + printf("Null input [%s][%d]\n", __func__, __LINE__); + return -1; + } + + if (iLength != AEC_FRAME_LENGTH) { + printf("input length only support 160 samples[%s][%d]\n", __func__, __LINE__); + return -1; + } + + ret = audio_ssp_process(pHandle, mic_in, ref_in, out, AEC_FRAME_LENGTH); + if (ret != 0) { + printf("audio_ssp_process error ret(%d).\n", ret); + return -1; + } + s32RetTotalSamples = AEC_FRAME_LENGTH; + + return s32RetTotalSamples; + +} + +/************************************************************************************** + * Function: CviAud_Algo_DeInit + * + * Description: free platform-specific data allocated by CviAud_Algo_Init + * + * Inputs: instance pointer (pHandle) + * Outputs: none + * + * Return: CVI_SUCCESS / CVI_FAILURE + **************************************************************************************/ +void CviAud_Algo_DeInit(void *pHandle) +{ + + //VQE_UNUSED_REF(pHandle); + //struct st3AInfo *pst3Ainfo = (struct st3AInfo *)pHandle; + + if (audio_ssp_deinit(pHandle) != 0) { + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + return; + } + +} + + + +/************************************************************************************** + * Function: CviAud_Algo_GetVersion + * + * Description: Get version info: algorithrm source , date through this api + * + * Inputs: None + * Outputs: None + * + * Return: Version info in string type + **************************************************************************************/ +void CviAud_Algo_GetVersion(char *pstrVersion) +{ + CVIAUD_NOTCH_DBG_PRINTF("CviAud algo interface[%s]\n", _AUDIO_ALGO_INTERFACE_VERSION_TAG_); + CVIAUD_NOTCH_DBG_PRINTF("CviAud algo lib[%s]\n", _AUDIO_ALGO_INTERNAL_VERSION_); + sprintf(pstrVersion, _AUDIO_ALGO_INTERNAL_VERSION_); + return; +} + +void *CviAud_SpkAlgo_Init(int s32FunctMask, void *param_info) +{ + + int s32Ret; + void *_handle = NULL; + + s32FunctMask = s32FunctMask; + const AO_VQE_CONFIG_S *pstVqeConfig = (const AO_VQE_CONFIG_S *)param_info; + ssp_para_struct ssp_para_info; + ssp_para_struct *p_ssp_para_info = &ssp_para_info; + + memset(p_ssp_para_info, 0, sizeof(ssp_para_struct)); + // set to default value first .... + //ignore the mic in param, since we only use for SPK + ssp_para_info.para_fun_config = 0; + ssp_para_info.para_aec_filter_len = 0; + ssp_para_info.para_aes_std_thrd = 0; + ssp_para_info.para_aes_supp_coeff = 0; + ssp_para_info.para_nr_init_sile_time = 0; + ssp_para_info.para_nr_snr_coeff = 0; + ssp_para_info.para_agc_max_gain = 0; + ssp_para_info.para_agc_target_high = 0; + ssp_para_info.para_agc_target_low = 0; + ssp_para_info.para_agc_vad_ena = 0; + ssp_para_info.para_notch_freq = 0; + //Focus on the spk config + ssp_para_info.para_spk_agc_max_gain = 0; + ssp_para_info.para_spk_agc_target_high = 8; + ssp_para_info.para_spk_agc_target_low = 72; + + + //update value from use layer + //ssp_para_info.para_sample_rate = pstVqeConfig->s32WorkSampleRate;//only support 8k and 16k + ssp_para_info.para_spk_fun_config = pstVqeConfig->u32OpenMask; + ssp_para_info.para_spk_agc_max_gain = pstVqeConfig->stAgcCfg.para_agc_max_gain; + ssp_para_info.para_spk_agc_target_high = pstVqeConfig->stAgcCfg.para_agc_target_high; + ssp_para_info.para_spk_agc_target_low = pstVqeConfig->stAgcCfg.para_agc_target_low; + + ssp_para_info.para_spk_eq_nband = pstVqeConfig->stEqCfg.para_spk_eq_nband; + ssp_para_info.para_spk_eq_freq[0] = pstVqeConfig->stEqCfg.para_spk_eq_freq[0]; + ssp_para_info.para_spk_eq_gain[0] = pstVqeConfig->stEqCfg.para_spk_eq_gain[0]; + ssp_para_info.para_spk_eq_qfactor[0] = pstVqeConfig->stEqCfg.para_spk_eq_qfactor[0]; + ssp_para_info.para_spk_eq_freq[1] = pstVqeConfig->stEqCfg.para_spk_eq_freq[1]; + ssp_para_info.para_spk_eq_gain[1] = pstVqeConfig->stEqCfg.para_spk_eq_gain[1]; + ssp_para_info.para_spk_eq_qfactor[1] = pstVqeConfig->stEqCfg.para_spk_eq_qfactor[1]; + ssp_para_info.para_spk_eq_freq[2] = pstVqeConfig->stEqCfg.para_spk_eq_freq[2]; + ssp_para_info.para_spk_eq_gain[2] = pstVqeConfig->stEqCfg.para_spk_eq_gain[2]; + ssp_para_info.para_spk_eq_qfactor[2] = pstVqeConfig->stEqCfg.para_spk_eq_qfactor[2]; + ssp_para_info.para_spk_eq_freq[3] = pstVqeConfig->stEqCfg.para_spk_eq_freq[3]; + ssp_para_info.para_spk_eq_gain[3] = pstVqeConfig->stEqCfg.para_spk_eq_gain[3]; + ssp_para_info.para_spk_eq_qfactor[3] = pstVqeConfig->stEqCfg.para_spk_eq_qfactor[3]; + ssp_para_info.para_spk_eq_freq[4] = pstVqeConfig->stEqCfg.para_spk_eq_freq[4]; + ssp_para_info.para_spk_eq_gain[4] = pstVqeConfig->stEqCfg.para_spk_eq_gain[4]; + ssp_para_info.para_spk_eq_qfactor[4] = pstVqeConfig->stEqCfg.para_spk_eq_qfactor[4]; + + + _handle = (void *)audio_ssp_spk_init((void *)p_ssp_para_info, pstVqeConfig->s32WorkSampleRate); + + + return (void *)_handle; + + +} + +int CviAud_SpkAlgo_Process(void *pHandle, short *spk_in, + short *spk_out, int iLength) +{ + SSP_UNUSED_REF(iLength); + int ret = 0; + int s32RetTotalSamples = 0; + + if (pHandle == NULL) { + printf("Null input [%s][%d]\n", __func__, __LINE__); + return -1; + } + + if (iLength != AEC_FRAME_LENGTH) { + printf("input length only support 160 samples[%s][%d]\n", __func__, __LINE__); + return -1; + } + + ret = audio_ssp_spk_process(pHandle, spk_in, spk_out, AEC_FRAME_LENGTH); + if (ret != 0) { + printf("audio_ssp_spk_process error ret(%d).\n", ret); + return -1; + } + s32RetTotalSamples = AEC_FRAME_LENGTH; + + return s32RetTotalSamples; + +} + +void CviAud_SpkAlgo_DeInit(void *pHandle) +{ + + //VQE_UNUSED_REF(pHandle); + //struct st3AInfo *pst3Ainfo = (struct st3AInfo *)pHandle; + + if (audio_ssp_spk_deinit(pHandle) != 0) { + CVIAUD_NOTCH_ERR_PRINTF("3a deinit err\n"); + return; + } + +} diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/cviaudio_algo_interface.o new file mode 100644 index 0000000000000000000000000000000000000000..7d2c81628fbb5bf4ebdcb6c20804309b1de0d1f7 GIT binary patch literal 20344 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.c new file mode 100755 index 000000000..48f2eba15 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.c @@ -0,0 +1,46 @@ + +/* Include files */ +#include "define.h" +#include "db2linear.h" + +/* Function Definitions */ +short db_to_linear(short db_num) /* Calculate the linear scale for dB input */ +{ + short i; + short tmp16; + + tmp16 = 0x7fff; + db_num = MAX(0,db_num); + for (i = 0; i < db_num; i++) + tmp16 = (short)(((long)tmp16 * (long)29204) >> 15); + return tmp16; + +} + +/* y(n) = (short)((short)y(n-1)*(short)alpha) + (short)((short)x(n)*(1-alpha)) */ +/* size is block size, it can be 1 for single sample */ +void smooth16bit(short *state_p, short *in_p, short alpha, short size) +{ + short i; + short xn; + short yn1; + short alpha2; + long long acc0; + + xn = *in_p++; + yn1 = *state_p++; + alpha2 = -alpha-((short)0x8000); /* 1-alpha */ + alpha2 = MAX(0, (MIN(0x7fff, (unsigned short)alpha2)) ); + + for (i = size; i > 0 ; i--) { + acc0 = ((long)yn1*(long)alpha) << 1; + yn1 =*state_p--; + acc0 += ((xn*alpha2) << 1); + xn = *in_p++; + acc0 = MAX(((long)0x80000000l), (MIN(0x7fffffffl, acc0))); + *state_p = (short)(acc0 >> 16); + state_p += 2; + } +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.h new file mode 100755 index 000000000..fb8a48571 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.h @@ -0,0 +1,15 @@ + +#ifndef DB2LINEAR_H +#define DB2LINEAR_H + +/* Include files */ +#include <stddef.h> +#include <stdlib.h> + +/* Function Declarations */ +extern short db_to_linear(short db_num); +extern void smooth16bit(short *state_p, short *in_p, short alpha, short size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/db2linear.o new file mode 100644 index 0000000000000000000000000000000000000000..78d55412ac72526bbf005aecb1c14f7219ea2c5d GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.c new file mode 100755 index 000000000..5c77580db --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.c @@ -0,0 +1,52 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + *% + *% dc.c + *% Author: Sharon Lee + *% History: + *% Created by Sharon Lee in April, 2021 + *% + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/* Include files */ +#include "define.h" +#include "struct.h" +#include "dc.h" + +/* Function Definitions */ +void DC_remover_init(dcfilter_struct* dc_obj, float Fs) +{ + int i; + int sampling_rate; + + sampling_rate = (int)Fs; + + if (sampling_rate == 8000) + dc_obj->dcfilter_radius = .9f; + if (sampling_rate == 16000) + dc_obj->dcfilter_radius = .982f; + + for (i=0;i<2;i++) + dc_obj->dcfilter_mem[i] = 0; + +} + +void DC_remover(short *in, short *out, dcfilter_struct* dc_obj, int frame_size) +{ + int i; + float den2; + float tmp; + + den2 = dc_obj->dcfilter_radius*dc_obj->dcfilter_radius + .7f*(1-dc_obj->dcfilter_radius)*(1-dc_obj->dcfilter_radius); + + for (i=0;i<frame_size;i++) { + float vin = in[i]; + float vout = dc_obj->dcfilter_mem[0] + vin; + dc_obj->dcfilter_mem[0] = dc_obj->dcfilter_mem[1] + 2*(-vin + dc_obj->dcfilter_radius*vout); /* history state */ + dc_obj->dcfilter_mem[1] = vin - den2 * vout; /* history state */ + tmp = dc_obj->dcfilter_radius * vout; + out[i] = (short)WORD2INT(tmp); + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.h new file mode 100755 index 000000000..cfa9b4ed7 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.h @@ -0,0 +1,15 @@ + +#ifndef DC_H +#define DC_H + +/* Include files */ +#include "define.h" +#include "struct.h" + +/* Function Declarations */ +extern void DC_remover_init(dcfilter_struct* dc_obj, float Fs); +extern void DC_remover(short *in, short *out, dcfilter_struct* dc_obj, int frame_size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dc.o new file mode 100644 index 0000000000000000000000000000000000000000..5734274826671d6ecd9a62891f55ed2273fc3b5e GIT binary patch literal 5684 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 NCamWG^cGq1{tW?ZRs#S4 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/define.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/define.h new file mode 100755 index 000000000..d1f763a82 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/define.h @@ -0,0 +1,79 @@ + +#ifndef SHARON_DEFINE_H +#define SHARON_DEFINE_H + +/* Include files */ +#include <math.h> + + +/* Commonly Used Macro */ +#define IN_RANGE(n, lo, hi) ((lo) <= (n) && (n) <= (hi)) +#define ABS(t) (((t) < 0 ) ? -(t) : (t)) +#define MAX(x, y) (((x) < (y)) ? (y) : (x)) +#define MIN(x, y) (((x) > (y)) ? (y) : (x)) +#define ROUND_POS(x) (short) (((float)(x)) + 0.5F) +#define ROUND_NEG(x) (short) (((float)(x)) - 0.5F) +#define SQR(x) ((x)*(x)) + +/* Fixed Definitions */ +#define PLUS_1dB (int)(1.1220f * 32768) // Q.15 format +#define MINUS_quarterdB (int)(0.9716f * 32768) // Q.15 format +#define MINUS_halfdB (int)(0.944f * 32768) // Q.15 format +#define MINUS_1dB (int)(0.8912f * 32768) // Q.15 format +#define MINUS_2dB (int)(0.7943f * 32768) // Q.15 format + +/* Math Approximation */ +#define math_sqrt sqrt +#define math_acos acos +#define math_exp exp +#define math_cos_norm(x) (cos((.5f*M_PI)*(x))) +#define math_atan atan +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + +#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x)))) +#define toBARK(n) (13.1f*atan(.00074f*(n))+2.24f*atan((n)*(n)*1.85e-8f)+1e-4f*(n)) +#define toMEL(n) (2595.f*log10(1.f+(n)/700.f)) + +/* Floating Point */ +#define FLOAT_ZERO 0.f +#define FLOAT_ONE 1.f +#define FLOAT_HALF 0.5f +#define FP_VERY_SMALL 1e-15f +#define FP_VERY_LARGE 1e15f +#define AES_SNR_SCALING 1.f +#define AES_FRAC_SCALING 1.f +#define AES_EXPIN_SCALING 1.f + +/* We don't support visibility on Win32 */ +#define EXPORT + +/* Microsoft version of 'inline' */ +#ifdef PLATFORM_RTOS +#ifndef inline +#define inline __inline +#endif +#endif + + +#ifndef NULL +#define NULL 0 +#endif + +#if defined(_WIN32) + /* MSVC/Borland */ + typedef __int32 int32; + typedef unsigned __int32 uint32; + typedef __int16 int16; + typedef unsigned __int16 uint16; +#else + typedef int int32; + typedef unsigned int uint32; + typedef short int16; + typedef unsigned short uint16; +#endif + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.c new file mode 100755 index 000000000..b4291b0a5 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.c @@ -0,0 +1,86 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +/*%*/ +/*% delay.c*/ +/*% Author: Sharon Lee*/ +/*% History:*/ +/*% Created by Sharon Lee in November, 2021*/ +/*%*/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + /* Include files */ +#include <stdio.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "memalloc.h" +#include "struct.h" +#include "define.h" +#include "delay.h" + +/* Function Definitions */ +EXPORT void delay_para(ssp_para_struct *para) +{ + ssp_para_struct *ssp_para_obj; + + /* Delay Parameter */ + ssp_para_obj = para; + ssp_para_obj->para_delay_sample = MIN(MAX(ssp_para_obj->para_delay_sample, 1), 3000); /* delay in sample, delay 0 sample if disable DELAY_ENABLE */ + +} + +EXPORT DelayState *delay_init(ssp_para_struct *para) +{ + int i; + ssp_para_struct *ssp_para_obj; + DelayState *st = (DelayState *)mem_alloc(sizeof(DelayState)); + + ssp_para_obj = para; + st->size = 3001; + + st->dly_ref_buf = (short*)mem_alloc(st->size*sizeof(short)); + + for (i=0;i<st->size;i++) + st->dly_ref_buf[i] = 0; + + st->addr = st->dly_ref_buf; + st->rdptr = st->addr; + st->wrptr = st->addr + ssp_para_obj->para_delay_sample; + + return st; + +} + +EXPORT void delay_free(DelayState *st) +{ + mem_free(st->dly_ref_buf); + mem_free(st); + +} + +EXPORT void delay_ref(short *pin, DelayState *delay_state, int frame_size) +{ + int i; + DelayState *st; + short *ptr1, *ptr2, *ptr3; + + st = delay_state; + + ptr1 = st->wrptr; /* write pointer in circular butter */ + ptr2 = pin; + ptr3 = st->rdptr; /* read pointer in circular butter */ + + for (i=0; i<frame_size; i++) { + *ptr1++ = *ptr2; /* read from input buffer and write to circular buffer */ + if(ptr1 >= (st->addr + st->size)) + ptr1 = st->addr; + *ptr2++ = *ptr3++; /* read from circular buffer and write to input buffer */ + if(ptr3 >= (st->addr + st->size)) + ptr3 = st->addr; + } + + st->wrptr = ptr1; /* restore for next frame */ + st->rdptr = ptr3; /* restore for next frame */ + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.h new file mode 100755 index 000000000..08aee1a9a --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.h @@ -0,0 +1,17 @@ + +#ifndef DELAY_H +#define DELAY_H + +/* Include files */ +#include "define.h" +#include "struct.h" + +/* Function Declarations */ +extern void delay_para(ssp_para_struct *para); +extern DelayState *delay_init(ssp_para_struct *para); +extern void delay_free(DelayState *st); +extern void delay_ref(short *pin, DelayState *delay_state, int frame_size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/delay.o new file mode 100644 index 0000000000000000000000000000000000000000..e08d6fdb0a24965077085b97fbbf845b6a5cab3f GIT binary patch literal 10368 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.c new file mode 100755 index 000000000..33c54715c --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.c @@ -0,0 +1,73 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +/*%*/ +/*% dg.c*/ +/*% Author: Sharon Lee*/ +/*% History:*/ +/*% Created by Sharon Lee in November, 2021*/ +/*%*/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + /* Include files */ +#include <stdio.h> +#include <stdlib.h> +#include "struct.h" +#include "define.h" +#include "dg.h" + +/* Function Definitions */ +void DG_para(dg_struct *dg, ssp_para_struct *para) +{ + dg_struct *dg_obj; + ssp_para_struct *ssp_para_obj; + static float dg_cut_tab[12] = {0.891251F, 0.794328F, 0.707946F, 0.630957F, 0.562341F, 0.501187F, + 0.446684F, 0.398107F, 0.354813F, 0.316228F, 0.281838F, 0.251189F}; + static float dg_boost_tab[12] = {1.122018F, 1.258925F, 1.412538F, 1.584893F, 1.778279F, 1.995262F, + 2.238721F, 2.511886F, 2.818383F, 3.162278F, 3.548134F, 3.981072F}; + + /* DG Parameter */ + ssp_para_obj = para; + dg_obj = dg; + ssp_para_obj->para_dg_target = MIN(MAX(ssp_para_obj->para_dg_target, 1), 12); /* target 0dB if disable DG_ENABLE */ + dg_obj->cut_gain = dg_cut_tab[ssp_para_obj->para_dg_target-1]; + dg_obj->boost_gain = dg_boost_tab[ssp_para_obj->para_dg_target-1]; + +} + +void apply_DG(short *pin, short *pout, dg_struct *dg, int frame_size) +{ + int i; + float tmp; + dg_struct *dg_obj; + + dg_obj = dg; + for (i=0;i<frame_size;i++) { + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->cut_gain; + if (tmp < 0.0F) { + pout[i] = ROUND_NEG(tmp*(int)(32768)); + } else { + pout[i] = ROUND_POS(tmp*(short)(32767)); + } + } + +} + +void compen_DG(short *pin, short *pout, dg_struct *dg, int frame_size) +{ + int i; + float tmp; + dg_struct *dg_obj; + + dg_obj = dg; + for (i=0;i<frame_size;i++) { + tmp = (float)(pin[i])/(float)(32768.0F)*dg_obj->boost_gain; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + if (tmp < 0.0F) { + pout[i] = ROUND_NEG(tmp*(int)(32768)); + } else { + pout[i] = ROUND_POS(tmp*(short)(32767)); + } + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.h new file mode 100755 index 000000000..b8e630d34 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.h @@ -0,0 +1,20 @@ + +#ifndef DG_H +#define DG_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void DG_para(dg_struct *dg, ssp_para_struct *para); +extern void apply_DG(short *pin, short *pout, dg_struct *dg, int frame_size); +extern void compen_DG(short *pin, short *pout, dg_struct *dg, int frame_size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dg.o new file mode 100644 index 0000000000000000000000000000000000000000..5538a299f79717ab05715cf56bcb5e2b8385893b GIT binary patch literal 10056 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 Mhv|XLF1G9c29_ksrT_o{ literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.c new file mode 100755 index 000000000..a3cf57493 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.c @@ -0,0 +1,67 @@ + +/* Include files */ +#include "mmse.h" +#include "struct.h" +#include "dr_detection.h" + +/* Function Definitions */ +void dr_detection(NRState *st) +{ + float DR_bin_cnt; + int k; + float alpha; + + /* DR based VAD is good at low and high SNRs, but not good for tone */ + /* alike signals and also sensitive to DC setup */ + DR_bin_cnt = 0.0F; + for (k = 0; k < 5; k++) { + if (st->amp_inst_band[k] - st->noisy_st_trough[k] > 0.0F) { + alpha = 0.98F; + } else { + alpha = 0.5F; + } + + st->noisy_st_trough[k] = alpha * st->noisy_st_trough[k] + (1.0F - alpha) * st->amp_inst_band[k]; + if (st->amp_inst_band[k] - st->noisy_st_peak[k] > 0.0F) { + alpha = 0.9F; + } else { + alpha = 0.93F; + } + + st->noisy_st_peak[k] = alpha * st->noisy_st_peak[k] + (1.0F - alpha) * st->amp_inst_band[k]; + + /* to make sure noisy_st_peak cannot go up too much, now maximal 24 dB range */ + if (st->noisy_st_peak[k] / 16.0F - st->noisy_st_trough[k] > 0.0F) { + st->noisy_st_peak[k] = st->noisy_st_trough[k] * 16.0F; + } + + /* the smaller the threshold, the faster to suppress noise but easily introduce more speech distortion as trade-off */ + if (st->noisy_st_peak[k] * 0.5012F - st->noisy_st_trough[k] > 0.0F) { + DR_bin_cnt++; + } + } + + if (DR_bin_cnt == 0.0F) { + DR_bin_cnt = st->vad_dr_cnt - 1.0F; + if (0.0F > DR_bin_cnt) { + DR_bin_cnt = 0.0F; + } + + st->vad_dr_cnt = DR_bin_cnt; + if (DR_bin_cnt == 0.0F) { + st->vad_dr = 0.0F; + } + } else { + st->vad_dr = 1.0F; + if (st->Fs == 16000.0F) { + st->vad_dr_cnt = 7.0F; + } else { + if (st->Fs == 8000.0F) { + st->vad_dr_cnt = 7.0F; + } + } + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.h new file mode 100755 index 000000000..07441bbd9 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.h @@ -0,0 +1,16 @@ + +#ifndef DR_DETECTION_H +#define DR_DETECTION_H + +/* Include files */ +#include <stddef.h> +#include <stdlib.h> +#include "tmwtypes.h" +#include "struct.h" + +/* Function Declarations */ +extern void dr_detection(NRState *st); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/dr_detection.o new file mode 100644 index 0000000000000000000000000000000000000000..9de3eaf9b5bf59743de926152a6822b13288729a GIT binary patch literal 6476 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.c new file mode 100755 index 000000000..29f63d778 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.c @@ -0,0 +1,156 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +/*%*/ +/*% eq.c*/ +/*% Author: Sharon Lee*/ +/*% History:*/ +/*% Created by Sharon Lee in January, 2022*/ +/*%*/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + /* Include files */ +#include <stdio.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "define.h" +#include "eq.h" + +/* Function Definitions */ +void equalizer_para(cascaded_iir_struct *spk_eq_obj, ssp_para_struct *para, float Fs) +{ + short i, j; + ssp_para_struct *ssp_para; + float kcoef[5], vcoef[5], qfactor[5]; + float num[3], den[3], filter_gain; + static float fs8k_kcoef_tab[10] = {0.03929011F,0.07870170F,0.09849140F,0.13831677F,0.19891237F, + 0.32491970F,0.50952548F,1.49660575F,3.54573250F,254.64660645F}; + static float fs16k_kcoef_tab[11] = {0.01963748F,0.03929011F,0.04912685F,0.06883073F,0.09849140F, + 0.15838444F,0.24007876F,0.53451115F,0.75698018F,0.99608070F,509.29516602F}; + static float vcoef_tab[61] = {0.01000000F,0.01122018F,0.01258925F,0.01412538F,0.01584893F, + 0.01778279F,0.01995262F,0.02238721F,0.02511887F,0.02818383F,0.03162277F,0.03548134F, + 0.03981072F,0.04466836F,0.05011872F,0.05623413F,0.06309573F,0.07079457F,0.07943282F, + 0.08912510F,0.10000000F,0.11220185F,0.12589253F,0.14125375F,0.15848932F,0.17782794F, + 0.19952624F,0.22387211F,0.25118864F,0.28183830F,0.31622776F,0.35481340F,0.39810717F, + 0.44668359F,0.50118721F,0.56234133F,0.63095737F,0.70794576F,0.79432821F,0.89125091F, + 1.00000000F,1.12201846F,1.25892544F,1.41253757F,1.58489323F,1.77827942F,1.99526227F, + 2.23872113F,2.51188636F,2.81838298F,3.16227770F,3.54813385F,3.98107171F,4.46683598F, + 5.01187229F,5.62341309F,6.30957365F,7.07945776F,7.94328213F,8.91250896F,10.00000000F}; + static float qfactor_tab[18] = {0.01F, 0.05F, 0.1F, 0.2F, 0.3F, 0.4F, 0.5F, 0.6F, 0.7F, 0.8F, 0.9F, 1.0F, 1.5F, + 2.0F, 3.0F, 9.0F, 27.0F, 45.0F}; + + /* Equalizer Parameter */ + ssp_para = para; + ssp_para->para_spk_eq_nband = MIN(MAX(ssp_para->para_spk_eq_nband, 1), 5); + for(i = 0; i < ssp_para->para_spk_eq_nband; i++) { + if (8000.0F == Fs) { + ssp_para->para_spk_eq_freq[i] = MIN(MAX(ssp_para->para_spk_eq_freq[i], 0), 9); + kcoef[i] = fs8k_kcoef_tab[ssp_para->para_spk_eq_freq[i]]; + } else { + ssp_para->para_spk_eq_freq[i] = MIN(MAX(ssp_para->para_spk_eq_freq[i], 0), 10); + kcoef[i] = fs16k_kcoef_tab[ssp_para->para_spk_eq_freq[i]]; + } + + ssp_para->para_spk_eq_gain[i] = MIN(MAX(ssp_para->para_spk_eq_gain[i], 0), 60); + vcoef[i] = vcoef_tab[ssp_para->para_spk_eq_gain[i]]; + + ssp_para->para_spk_eq_qfactor[i] = MIN(MAX(ssp_para->para_spk_eq_qfactor[i], 0), 17); + qfactor[i] = qfactor_tab[ssp_para->para_spk_eq_qfactor[i]]; + } + + /* IIR filter */ + spk_eq_obj->b0 = FLOAT_ONE; + for(i = 0; i < ssp_para->para_spk_eq_nband; i++) { + if (FLOAT_ONE == vcoef[i]) { /* linear gain = 1 */ + filter_gain = FLOAT_ONE; + den[0] = FLOAT_ONE; + num[0] = FLOAT_ONE; + den[1] = FLOAT_ZERO; + num[1] = FLOAT_ZERO; + den[2] = FLOAT_ZERO; + num[2] = FLOAT_ZERO; + } else { + num[0] = 1.0F+vcoef[i]*kcoef[i]/qfactor[i]+kcoef[i]*kcoef[i]; + num[1] = 2.0F*(kcoef[i]*kcoef[i]-1); + num[2] = 1.0F-vcoef[i]*kcoef[i]/qfactor[i] + kcoef[i]*kcoef[i]; + den[0] = 1.0F+kcoef[i]/qfactor[i] + kcoef[i]*kcoef[i]; + den[1] = 2.0F*(kcoef[i]*kcoef[i]-1); + den[2] = 1.0F-kcoef[i]/qfactor[i] + kcoef[i]*kcoef[i]; + filter_gain = num[0]/den[0]; + for (j = 2; j >= 0 ; j--) { + num[j] = num[j]/num[0]; + den[j] = den[j]/den[0]; + } + } + spk_eq_obj->coef[0+4*i] = num[2]; + spk_eq_obj->coef[1+4*i] = num[1]; + spk_eq_obj->coef[2+4*i] = den[2]; + spk_eq_obj->coef[3+4*i] = den[1]; + spk_eq_obj->b0 *= filter_gain; + } + + spk_eq_obj->stage = ssp_para->para_spk_eq_nband; + +} + +void equalizer_init(cascaded_iir_struct *spk_eq_obj, float *spk_eq_state) +{ + short i; + + for(i = 0; i < 12; i++) { + spk_eq_state[i] = FLOAT_ZERO; + } + spk_eq_obj->pstate = spk_eq_state; + +} + +void equalizer(short *pin, short *pout, cascaded_iir_struct *eq, short frame_size) +{ + short i, j; + short *ptr1, *ptr2; + float *pst, *pcoef; + float acc0, acc1, xn, xn1, xn2, yn2; + float yn1 = 0.0; + + ptr1 = pin; + ptr2 = pout; + + for(i = 0; i < frame_size; i++) { + pcoef = &eq->coef[0]; + pst = eq->pstate; + xn = (float)(*ptr1++)/(float)(32768.0F); /* x(n) */ + acc0 = xn*eq->b0; + //acc0 = xn*ABS(eq->b0); + + for(j = eq->stage; j > 0; j--) { + xn2 = *pst++; /* take x(n-2) */ + acc1 = acc0 + (xn2)*(*pcoef++); + + xn1 = *pst++; /* take x(n-1) */ + acc1 += (xn1)*(*pcoef++); + + yn2 = *pst++; /* take y(n-2) */ + acc1 -= (yn2)*(*pcoef++); + + yn1 = *pst; /* take y(n-1) */ + + pst -= 3; /* point to x(n-2) */ + *pst++ = xn1; /* update x(n-2) */ + *pst++ = acc0; /* update x(n-1), point to y(n-2) */ + acc0 = acc1 - (yn1)*(*pcoef++); + } + + *pst++ = yn1; /* update y(n-2) */ + *pst = acc0; /* update y(n-1) */ + + acc0 = MIN(MAX(acc0, -1.0F), 1.0F); + if (acc0 < 0.0F) + *ptr2++ = ROUND_NEG(acc0*(int)(32768)); /* y(n) */ + else + *ptr2++ = ROUND_POS(acc0*(short)(32767)); /* y(n) */ + + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.h new file mode 100755 index 000000000..d550ffe64 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.h @@ -0,0 +1,20 @@ + +#ifndef EQ_H +#define EQ_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +void equalizer_para(cascaded_iir_struct *spk_eq_obj, ssp_para_struct *para, float Fs); +void equalizer_init(cascaded_iir_struct *spk_eq_obj, float *spk_eq_state); +void equalizer(short *pin, short *pout, cascaded_iir_struct *eq, short frame_size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/eq.o new file mode 100644 index 0000000000000000000000000000000000000000..051f535712bead90aea308d25c7ed80f29b548fc GIT binary patch literal 13756 zcmc(F3wV^(o%ea?om^%TLI{^Y2yqBR5R*wl!bQxDOG1GF;i9Ff>oA$jBm<L4$joq= zbrBW3Q7bHNyH-}bptgRWpDe|8?Y3gkdTFg+wRUx@t+lOH%Vw5ZQBVu}`<?gyPKMOI zJkLJ+?0M$AzyIz0&;MNBbKdvNdu?lbn_(ErPKKJPhB>9~sL`6NdJQwxR8^+--nRO~ zvx8Odomze1$doqYK=$Q#9X+t9<^2bCsVa5qon3DZC6d)`x9vHW>T&-eRrs+wb$HjC zXP*1})u&X!n`fTBH{OQp{!f;CyyWZ><K!x{=wZjnFXtQeKfi7I(X!jWd1g_^gKh3v zGmpE=8@w}*H(dPlJ!7i!PG0Yrd3;QT`{a$eFAu4t>*O9s*-hVF^x7G<v8cCwXmqmu z%*@FBDBFH!T;)$+KQwg3CN=fjDK#sv?Nn;frlN<Bq}moZPG09Y1w`&F8geIr$e~%s zQlTUxz2qlr;c4wq*76yt8J*9j4tMsX9!l;>O;2u1{cd?Yb$I!l)Pu{nrrz$Hm%6xf zZtB@&eQL(?MCzf=Ik4ZBnvr}uwR^!H<R7G*vz|@u>3ll1Cu!8FlSa|xqvfgcSto{6 z=RYnwF=QkswOv2tSa4#<TyW&|@11eh>>8Rd>z*^~YsMb=-n*x6&zg2o+ul9Kfj5WB zlXgE|`@vO@zIo<LN34Fl`5yM;&HMi2esrN9UH^@K?0m<NNFIMjsgGMZ4Zej5@(;-0 zK~93d26-p){Ksm_^V_o8a@*9@^B<i%Um2YLJ#}fzANTGuE`Rw<$CGy*eRF8ZCgcUk zC5MKV%sTa$adL6N?PbSPYWas4D~#8InzN3}kDgt>@vny_By&>x7AS9^?M&*OWKZh; z<c!o!$+};>F=TY+)*T#Dn;d^AH0s;d3^|iV!;#d|k_V2i88VmW){Pl*bXFeCPR%GO ztQ|Y#*tBlQ*tB@a*=Y`$$uUD&81se6*3@B+eP>&$HQ9!dJd)~3s;bvsij_@1YSiVQ ze9AnQdRotlr%=-k7_pL9j-{T`lIM;u{qTHj)Ekebp49y4S5Bq6l1o#L<ev~}F`}M) zbjBG+^AoLKed*Nqj--~Lrmp1YQ&ThasdomJs^jQ3ruoQA)w%O+&;9bAhX0fDG&Wqe ztkLt)mm1%A?D@u<tIM0_yqaiw{Aan%@#hydSDfG3{M-ZQ7SryF-g~vpd-siMdi2p1 zO~3l$gH4ME9L>+}JKp@cp{|yjAK1Cr{pz%aAHUGv_~RE|KyGjP+MRbcfo?*b&0o87 zQgdBhT{Gm(p-`w<sa?oVBC8hskP8<o^%`>hBKrB~SLQWLU%aYeTC}I(?w?)PFz=E5 z4Ufd`Z|DksyP^1*A2&Sv*6$kLy3uI-_4+Z5`wOQvR(?3QaoMt!jVG=MHC{RYy2d9y z-PicYBlk7Vzv){#p7B3?yYcLMs_CbP3!Ac6lsDZpac<LH9qmp3*c5Df;jUdxr7QO} z-SzIhO(hRM)^zNZA2ogJo4;*(aV6qDJ-Rt^<J9JVy?jpd#4oI9&bp*q$G-CJ+ncvf zzqdK}#beFS{o;qs-?;lX&EM}n-#lmO=$7LrJS~BZ^(`m5mbct9F3|GU^E+GCp89gj zBL6)t>W|-S$$9trmXo*sy5;KXb1nDZS%5Zs7Ou}#%8Aav)p!}#{P#_zrXpu1htpZ+ zP|D%RI+~@Fd64vL>|Td6XE(vfjbu}w^A^FGQ%f+ip9VOcS>b40IdZeUih3NmIdf3j z{1mh~uNP&_hhSvh@Fndn>pA)l=ist?tL48O>MUor^AW3_yAfIr>D<*&{H^m3bK%bQ zBM6-D`*BsSr(ogy=pjm655S%C4C!3g2^c!hlFoPSK=sa#Nf)|yG00Cyk8`n3=clA6 zx~|Cq{U_3;u3E~^k@mQsWm#pAneL9!siB#f?lEK>nyGZ(Yk+YYQOIiCW%QM8#KF|N z@1R+(!D#2Z8>z|HOoMwdLn$z>gQmsZN==c`4rYma1sgKf=mgW|&coF?&Pc+~Qg<oK zOf+r<^EvkobUoEL0D}&9A<JB1JOE~cyO_)@&0OU!BXg-{Ho7awRBEQ%T}j4^1zo9L z_x<e2Y8_j|9b-7P#y-?Apz_8ugs<d&0~YztgKVVh9P9o&lFF52P<OMrPFEJM_p!CP zD%;rzF5CGyxO|Qx!ya`v2ueAWT6&KyouLZ;1rd$DnSFk_LHXzhNH<vY7Z_Bdrn8;L z;3VgHm=wN?OV-y}eW9D=H#9j5`mBdFxfjyx62_GO|3T)V8DmtA0u=U8HJK7euG577 zqGHfF=Z#iaLzF-~g;CJCUuXHTPTjJrj0mj8y@kTpjz4EWF@6oo8skGOHGU)HrYd@f z#k!0Zn2vrMm)ss*Y{FHpyzhc_{fd`-lFIcH6mgAu0d$88RVr5jXTtj8t{UYUT>)}~ z$|ul5_uyFcAO+@rn7ayhL!RxdgkZv2*9Tvu%n6a}L%M-`(jSp_xaz1pL)z(j6eH(4 zOFG;2Wzrv$&ULLsue&}W?RMRc_PIVKo$qp^m99ULE^s|b`8m>suE%J9o^+9W8|zYf zCXaKkfyiZOW`g^EHqxP)iSCyehG~?;y2M>UzfP?wbvLq1wr0xQKVeikn(??_WtF+Q zOu4(A-tx3&y8B^j@-=g@+hmzhnwjbLGqeKD%yM%kx<+fJ()}}P3JrFa*WJx<#%N}~ zdjlO5X=ai8J-QyJD{Xh*!p4o)4pzDM)7u2C=}`G>{bqR4!{by%DaKc9{01c^dZ07H zxTqR<GY;-X1(OECQ3!tlJyQuU7F!8wa&QYc+8Jw0z71DKnBon{rD0`kCbNUgCSmRb zGv(K)--yuV39|2`*(_9BIuMI1qmNUl8SIox>0Gn-k$shwL@Q8^EuQj5nq3O2bUR|z z%9|{%R@fg{>}+A*Cc7hQvu7<9#{G0Wifzqyz6_Z70c*b+yc&mW9Q+OVk}L*%HCsIg zHYK<4rn;H|uR|_FyEn4k>Y_qiR$(vm7#)r{u4{}MkFnN~i^uzkLl{=0h-MQ}yK(Sc zIGL&)7wPWoD49-q5#`sw?c}x?IELrg*TTLX$2z_a4f|FzRd6}wW5za~rFeIgKf(AX zq`;c{4_;f|O0BR*t}UMfxy3s6FDZ>C`jk<84l-^<rQJbvre?XiO}T{O6f=OA==d0F zHYOIJby=VwxQ?z%%7z7<6qI_01>dEhqA4vvA9E(^6@#_Pl+-*OYu;h$=~weEi>F)7 zyDgqxHQ!+It89LZn)W-y%dCtsMn%EcJhNbO!4<`0jKX4c=5&>p*8~wdXo4~e7UW%? zw`?pH9g)LL)@YbuLJ+9RxmXc$#~NlqULFe=U|plqrRT%iEo|1Zv1IdX-)OF3EE~%b zqo%@7HIxNoQM6$a*57)|2MRS$qM%R&sMivVnTlo<i8GjStv47J!pNf2aWmnfbQG3) zO~Ctvu`sZsEJj$lRvQ`CM6c02$!heBNn?zn?3RgNT{MY)CS|1!9q6VKu+leVCue9U zVyYla@k;HK;i$=$4QoqL=S8<%Z(ty5QHkf)>kZ|YxPK9ROwFhPY<Y$cu+zMX9S|+x zK<P9aS3`9WO0f_))gO(HL!|W5r8+Dt>uTAq$+TUQVawG&oiNMccO8MA=y%<rv=#)t zI8;r#JZW3M7DP9)p{^us(&YO82l%cgufR2(=7K^C2<MPZHL&v#2`8$BoWS;I`G4N9 zk69AIt~tblCCC;xTr%BEwt(T8YVaqT;1i~)V%HoZ@imKyA0ol0AZWH9BJrTbTyuzx zdBb9yy1HB)XUv)I2)hbHtz}KuYvV2PLnN#UwsdDyu%$Pnf-RA>8}{c{kR58@Dk39r zs92o%Fmk>+y}IJ`ii*>#D#}U^QNqw*y_(1_VM%rfBg|HJJC)jX9Acg92Et|$+sE=O zOXPFg1Qi?j&{=VMSw-3DMHS_z+bd2lXFX8q#753V9)pp)!|_q&M-?AbpaM0&>=4Cl zI8@h+P(i8_YrhW}HLf7CMzn1Jpc9MVhzxzZC9#G>T9}qm$4IQ!S#yRn*XHfAL^m>~ z7C~=k>VgTGueECkqb);%Ww;(xI<bQcwT94*nyiUNN^fN<J<(>ufN}B`A#Ol6)cUIc zhb@v|HN55!aW<Ub?wb#|(jp0TjrukL?m(tH;yqft{xBeAkskmUL*_j>6S7KVhnjte z$i8u?+Vm)*Rz33nl?K`6v(<szeJc()>5IX+)dA<e)yR<1AJYZ4Z6j=#!WJ^iQYpqr zKN#y)TUH4IO+iYV>9$eAF=1l;nTc&@`Yin^Y|{=EVDA{86pT_hfMjW8qq?`hFIc@b z91R4c@g0fkKL23Mw<!?~R`-RwyCcDE{z0f`SNHXICnCXEwLj4v?yrsw2CDs$p8o1} z>pFZ3K@5iDy?wsfHM3{e)Xtu-{(Y~#{jqpeyuUvZtL_N|n5!b;sDH4(YOc4=TU&+l z^Sm{4s<zLc>ziBe^AGk>pV(g26HNsDUE$tPbtK%S%YK$lJE=x%B8l$c|7;kaRXsur zR3~DCb_CU3;dtzSKMbXUTf6~|cP!rB9SnJUIlbaL27)n=m>h^Z+z%4d4Hju~N6Z%- z9E^lxamy^;x6LjDUw!^~uU%#^5ugocmEsFFwvHmhEH=z=gIU~wBN!t)9?JepbBEW= z^O^~-S>ORZeVVyFK6{!O_g1v5G?SkC%9XRsZ64F@slBYG+KhS4NggxgHODPqWG20{ zYf+?bR+Z`65WaLpd(9;^)yQ*}*1)~vR$gZDVs7$kDE4RwTiis=Rcld?*PP<%HCHuE zz39GK!|`nO&X{H<;&T{J`Qnuf#N{0sQI%snZXdgizf^`d;&5b0-cyF@HV&Avka_WP zvnMqB(yH0BR@9<i^RIac^U}<VnPk713whCcePM*AzM%PORUN5HUgq#(Zdq=Qk1ws( zEzf4l^0RNi)nNwSH%l8F6A;iqe<F^-^!EgnFV@>X81G7ilyBK;U!*^<*%!x*Ncbb+ zWN?rpj#1V+*!Y6cZZ+T^^!uWNzG#0q7W4)BgQ1Wm^Y;XNasOaXFz)LO_w*`X$Le*< zHuzL5+!O8b_h~2Fuowijn?#iIV7G@SZrW#TV6%@t0*UxsnD~{iec2-4m91;nEnB_H zxBd$qt;2S~Exu@%AJO<i5r0oiEnRhmXK`(<N8jTfE)+HOHT9k<ELnlxM%<2D=T-T^ z#<6-e2GHW*_A38n5QHNA{&*D@kH%jAU^fK=iN>v=fvt5_-L-RBqBqgkMU2F%y2JiR zFc5FVdgH0;@l>s@^HiaS$fNG6P{*>xxP}tZKs?+Zt%|`G7=x_aANObSC^7%Cs&EwR zS5SH{81uoGFWx(dRw3@q!NJ&YgV`~C{_VaVKi<3TAqYpqabGMP3HsvUKHE=b4_?r( zTm9Wux30T#*%F`f4fMx2zMKmj`<Q>LH8Q$ObR8-bj>Ln5R;7{tXpcu<K6~iUY|Mse zDBJ^g>sBwuzz?qx)(r9oHYWyrUH%y6U4JMP3t|?+CaR|x>Iz2tF<X*oj`Yd!jEeMc zQ=vhBUl8q0qBsH`45C5W8IA`0@u2bt0yVtULfzWhiU6=)MO7>|;Ild+&ZS79zU@*$ zAQHybW{2H{ttaS@`quvktMY$m=hH#_`9Rw9p5qh1%@Dv$#0==iCdFo2Q$dAd^Edl8 z^LE2c)-~J#1MxwtvoiXhRu|ko|1%A$);ovQs$jq;lLez_1!T8N)&!0q+hZ*O)+7Ks z+gHnZACCIe@C@UcKwD8_iux>{Sa)K`)~Z7bJ!`E=z;%grVr>Ww;sB~I*vA=`Ud;3) zP(B|PH{51;q}HbWU7H{q@ONX@5N2CYXF<IMbFA9CgAxA@RM|HW397ADFK@+Y;0BcG ztc7}j(zhPM(KoGb9qu+*V=!yyW{zgS9}D=qgWbMx7!8zZiq`2V&P7+R(t4@f67mP) z{e!v=?J~W7a%S20IA%qy!Ue5?o3>@`t-gUs0{6Sz3!gbc)~d}tK;MPj&eec!<)7d7 zzWzwJ-DtatVW()b#HrGYg*B~X_Euv}gY@k6V*=^rEMpe=Sb@D3boa>SqV!FmcNOd& z+H3m8vTq@)yV6y&i-xBGt5Gr#GI_D|CI$xVX$7C@MYca4=(VPk-5_hnLB|FXoQRP` zUsU-vtnO%Cg*A0}&SFgi&lccO6|*@JO~itnT`=KRs^_fCL2LO^OBXL*;F;O3A9+1s zxSQDzy_byG+V~j7H?s3cI4rrQAb*tNtAU;P$lqEpeYa~*?u|J&W#622i}O}<uj9+c z!h!+E!|sCVi}Dl>P|}I71`7)cZ*cB5_rOX`Piw5#iH?GCyR-H<Z!~X$*0HldJ^h1c zo_!Hz_>Sr4)3-ACUY9kmYN5(@=Pb-MTn@Lh2><<zH;T=P#w4S}QEHSq%Jp+#hIjq0 zk>;K159iYi2-A9QOp8o;`LP8iA5k-siRaYp44$t^F7Rj4)egTl(aePPh4vS6CjSY# zz+bNR=Slm+QD8<gp=Eu;2`7`naD0prS`#mc7uvhkRIz7&8v5m21OQXzjj+#Cb42|) zZI83GjAWwr3;pM-Hqn0oG}6&oLQ~<8Fe91zoqt$hDxO{sC;U@1%z!e}FPWCu#BoVx zGB22Qv@g-|4SSuOX%78J9_ODK$y8JHX$6OabG``U-3^*N=X4Q9F9x&|>q#P0&)4K4 zjIZ?uG(E1ScaL0|z4PYJt{<`YQdXxj)?o_fTKfT)WwLWJ)*G%d8LVD@M(#~``$k`& z>zzb&SuPQ0q4`7vT`2N#wjA-hXYe=&MN6!;z;O{zmcRq~rzerU<(Q)MoN|=mNI~S) zg7tz61v!UUZnfZ*f`1{nS#VHro8a|=w+r4Oc(33Q!S4t@Blxo5F9m-u_@ST!W5jq0 z1bKo<{$fF%43X!5Ld15#F9?PNV}iQ`Zxj5Q;6sAP1ivr%qTuU-?+Tt4#0#FTceG%s zApaI&Jo5yb1eXh5DcB`=ui%4%M+Kh{{F&gd1WyWnC^&}4IH<2oaGGGP;9S8~g6jo4 z1vd(Y1p5Sc2;L@mr{DvEKNb8J!83wREVGQKP_R^RreM8bi(tFp2ElH@ErL4*_X_^4 zApe76Jx2wP3%(%u&w~7;hjxDyRQQL9{3t>ElcD(;g7tz61y>111h)(BB;w%ot3)hS z2Sxs%@ZT2x`@+8{_`2Y)ME`r?|5f<2!sp@!r{7UT#9J&pKcyglvGDvml>8jw`FRG* ztrheO4hUW=xR;1>`-xZz?-BlC(epoc>K_;WIU?+SEArnH5$jpuv+;)=?F)&hf0p1p z!3NQ{3BN-4PC<T8!}8aOexKmqi2RW7hlM{v#QOM{@ZTq59eqalmx)+UUlsm0M69c; z(FWGDP7uqD9!E?Mjod{!t~}}{>U9)|rBw6W%PFrBoF{m>V5{IVL7s8bo`>ATfMAc{ z4#B??+#`64;GKehCwN%!>w=F8epB#-;4^|h7JNzY=Yo3OMLcf{|DNFcf_fc>o`1nJ zZkJ%8;5flDK|bEmj>p_Y?y*F@J_8pEuh(ht9m4DN8vI`fuh(txJltn_y?z6?39r|2 z@VkZA>pA%S!rv$Opx`5de=qnQ!6yWt75tIlD}t{H@~Z;IF(jzhfAD98H@FUi=K&|N zSa7o7G{G5y)q-_`{7ix6RtWN+M)IE*^a<*NddT@91NHnmh<Kl%-ao+qKzM#*MEy&G zdLIG*w(#!>@>>Vm{Yj7?JCN7=3UG?>{M?Rme&N7%;4;A$!6kzH<bnFn3tlbQB^Vae z`wZ;(Ed$q)U4l0W?iKtSLB0RLj$b&?{{IT{y94t7Ab4ExDZw8Kz9{%lf<G60OOT&B z(U0EGfcozd;720=M9}0u0(p*Lfnbr~B*7_yRf4sGmkBlst`uA&sP{qmze@O!;3h$S zioyE-O7IrJ+XVH#2>myN=QmEYe_Ze-L4HO=IhJqbz#@mGRP%f{<oJ1r7;h%p!CWI$ zTF-YI+Uatz<1;ty2RM&lub(rZ*UuHUz8uf$;%5mF{O82aM&Y}Otk)ac(Z>TXFOEel z?6oNz;>MMiN2|))6^kkFU@+pP&^!FHuOGfYOQ9dbM_9u{KizppoX=Qq0mI77lQ`>b zz}EfQTY;@e9}HP<2RfqeU{|6Cryikxv_jMVuCBr0R;wYF1g9~XEM6s|Jwa)zW%1_{ zeW)xR(O39ryT7jw=bXwL?T-h&I4j4gHO^u)9qY4I<z2XTrPm*i4~DxEaa8kPPuS}9 zI~C^<6W=Q`6P8Jxrs7H(w~<c&p4|*+ImiApJMO>qmszj<cPGSpz7n}#^F6o)nd#GM z*4~Xr0Bys0&HA`sXZquJdYsdCq8(E!a;Cq^=~j9AV=T76t3hY_+X#Q$6YXUCi;5l8 zI_*Ql8MB>iyS)&wxNXM|FlX9EK-=!25q7_Y9q%za*>+Dtkm;`yiVtifpl$cM*x4!% z?(GfiFiCckUIm}oFZI(=FKpQ_JXxSW7JCQTE(20+hw`}$flZzrVb_8OvbXJ^GIXaw zXV!boB@jrxT$}8AbK%(b4Y8`g;BpSx$<{eRT;R{Elm|v^2Twd~f0JQnmw{Ma0e>D6 zl5AZuh)jP6;g9vwALp0tuL^c{8M;V7`2ohxPPXon5&m9)Kd!0thsWKtzstm*-NrDC zzLH~mv+APHB_r(4!x3Dj6K$ARik+>f^4OGxv|;j(u&eRlSxsxK3){=Y=e^8+`E5qO za80rMB?>!q!+<V?%Q25qbv6UE>*e`JMt7-k)k^KOl^J#v+4m4g^{z)LelHGC709f& R5Sg)M`rAJ3!gkoM{|yw{g6jYP literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.c new file mode 100755 index 000000000..d4bc67ba2 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.c @@ -0,0 +1,1242 @@ +/************************************************************************** * */ +/* FFT implementation minus cosine transforms, minus all but radix 2/4 case + * We only need this cut-down version. To do more than just power-of-two sized vectors + * + * Note that the packing is a little strange; rather than the FFT r/i + * packing following R_0, I_0, R_1, I_1, R_2, I_2 ... R_n-1, I_n-1, + * it follows R_0, R_1, I_1, R_2, I_2 ... R_n-1, I_n-1, R_n */ +/************************************************************************** * */ + +/* Include files */ +#include <math.h> +#include "define.h" +#include "memalloc.h" +#include "fftcore.h" + +/* Function Definitions */ +static void drfti1(int n, float *wa, int *ifac){ + static int ntryh[4] = { 4,2,3,5 }; + static float tpi = 6.28318530717958648f; + float arg,argh,argld,fi; + int ntry=0,i,j=-1; + int k1, l1, l2, ib; + int ld, ii, ip, is, nq, nr; + int ido, ipm, nfm1; + int nl=n; + int nf=0; + + L101: + j++; + if (j < 4) + ntry=ntryh[j]; + else + ntry+=2; + + L104: + nq=nl/ntry; + nr=nl-ntry*nq; + if (nr!=0) goto L101; + + nf++; + ifac[nf+1]=ntry; + nl=nq; + if(ntry!=2)goto L107; + if(nf==1)goto L107; + + for (i=1;i<nf;i++){ + ib=nf-i+1; + ifac[ib+1]=ifac[ib]; + } + ifac[2] = 2; + + L107: + if(nl!=1)goto L104; + ifac[0]=n; + ifac[1]=nf; + argh=tpi/n; + is=0; + nfm1=nf-1; + l1=1; + + if(nfm1==0)return; + + for (k1=0;k1<nfm1;k1++){ + ip=ifac[k1+2]; + ld=0; + l2=l1*ip; + ido=n/l2; + ipm=ip-1; + + for (j=0;j<ipm;j++){ + ld+=l1; + i=is; + argld=(float)ld*argh; + fi=0.f; + for (ii=2;ii<ido;ii+=2){ + fi+=1.f; + arg=fi*argld; + wa[i++]=(float)cos(arg); + wa[i++]=(float)sin(arg); + } + is+=ido; + } + l1=l2; + } +} + +static void fdrffti(int n, float *wsave, int *ifac){ + + if (n == 1) return; + drfti1(n, wsave+n, ifac); +} + +static void dradf2(int ido,int l1,float *cc,float *ch,float *wa1){ + int i,k; + float ti2,tr2; + int t0,t1,t2,t3,t4,t5,t6; + + t1=0; + t0=(t2=l1*ido); + t3=ido<<1; + for(k=0;k<l1;k++){ + ch[t1<<1]=cc[t1]+cc[t2]; + ch[(t1<<1)+t3-1]=cc[t1]-cc[t2]; + t1+=ido; + t2+=ido; + } + + if(ido<2)return; + if(ido==2)goto L105; + + t1=0; + t2=t0; + for(k=0;k<l1;k++){ + t3=t2; + t4=(t1<<1)+(ido<<1); + t5=t1; + t6=t1+t1; + for(i=2;i<ido;i+=2){ + t3+=2; + t4-=2; + t5+=2; + t6+=2; + tr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + ti2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; + ch[t6]=cc[t5]+ti2; + ch[t4]=ti2-cc[t5]; + ch[t6-1]=cc[t5-1]+tr2; + ch[t4-1]=cc[t5-1]-tr2; + } + t1+=ido; + t2+=ido; + } + + if(ido%2==1)return; + + L105: + t3=(t2=(t1=ido)-1); + t2+=t0; + for(k=0;k<l1;k++){ + ch[t1]=-cc[t2]; + ch[t1-1]=cc[t3]; + t1+=ido<<1; + t2+=ido; + t3+=ido; + } +} + +static void dradf4(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2,float *wa3){ + static float hsqt2 = .70710678118654752f; + int i,k,t0,t1,t2,t3,t4,t5,t6; + float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; + t0=l1*ido; + + t1=t0; + t4=t1<<1; + t2=t1+(t1<<1); + t3=0; + + for(k=0;k<l1;k++){ + tr1=cc[t1]+cc[t2]; + tr2=cc[t3]+cc[t4]; + + ch[t5=t3<<2]=tr1+tr2; + ch[(ido<<2)+t5-1]=tr2-tr1; + ch[(t5+=(ido<<1))-1]=cc[t3]-cc[t4]; + ch[t5]=cc[t2]-cc[t1]; + + t1+=ido; + t2+=ido; + t3+=ido; + t4+=ido; + } + + if(ido<2)return; + if(ido==2)goto L105; + + + t1=0; + for(k=0;k<l1;k++){ + t2=t1; + t4=t1<<2; + t5=(t6=ido<<1)+t4; + for(i=2;i<ido;i+=2){ + t3=(t2+=2); + t4+=2; + t5-=2; + + t3+=t0; + cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; + ci2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; + t3+=t0; + cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; + ci3=wa2[i-2]*cc[t3]-wa2[i-1]*cc[t3-1]; + t3+=t0; + cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; + ci4=wa3[i-2]*cc[t3]-wa3[i-1]*cc[t3-1]; + + tr1=cr2+cr4; + tr4=cr4-cr2; + ti1=ci2+ci4; + ti4=ci2-ci4; + + ti2=cc[t2]+ci3; + ti3=cc[t2]-ci3; + tr2=cc[t2-1]+cr3; + tr3=cc[t2-1]-cr3; + + ch[t4-1]=tr1+tr2; + ch[t4]=ti1+ti2; + + ch[t5-1]=tr3-ti4; + ch[t5]=tr4-ti3; + + ch[t4+t6-1]=ti4+tr3; + ch[t4+t6]=tr4+ti3; + + ch[t5+t6-1]=tr2-tr1; + ch[t5+t6]=ti1-ti2; + } + t1+=ido; + } + if(ido&1)return; + + L105: + + t2=(t1=t0+ido-1)+(t0<<1); + t3=ido<<2; + t4=ido; + t5=ido<<1; + t6=ido; + + for(k=0;k<l1;k++){ + ti1=-hsqt2*(cc[t1]+cc[t2]); + tr1=hsqt2*(cc[t1]-cc[t2]); + + ch[t4-1]=tr1+cc[t6-1]; + ch[t4+t5-1]=cc[t6-1]-tr1; + + ch[t4]=ti1-cc[t1+t0]; + ch[t4+t5]=ti1+cc[t1+t0]; + + t1+=ido; + t2+=ido; + t4+=t3; + t6+=ido; + } +} + +static void dradfg(int ido,int ip,int l1,int idl1,float *cc,float *c1, + float *c2,float *ch,float *ch2,float *wa){ + + static float tpi=6.283185307179586f; + int idij,ipph,i,j,k,l,ic,ik,is; + int t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; + float dc2,ai1,ai2,ar1,ar2,ds2; + int nbd; + float dcp,arg,dsp,ar1h,ar2h; + int idp2,ipp2; + + arg=tpi/(float)ip; + dcp=(float)cos(arg); + dsp=(float)sin(arg); + ipph=(ip+1)>>1; + ipp2=ip; + idp2=ido; + nbd=(ido-1)>>1; + t0=l1*ido; + t10=ip*ido; + + if(ido==1)goto L119; + for(ik=0;ik<idl1;ik++)ch2[ik]=c2[ik]; + + t1=0; + for(j=1;j<ip;j++){ + t1+=t0; + t2=t1; + for(k=0;k<l1;k++){ + ch[t2]=c1[t2]; + t2+=ido; + } + } + + is=-ido; + t1=0; + if(nbd>l1){ + for(j=1;j<ip;j++){ + t1+=t0; + is+=ido; + t2= -ido+t1; + for(k=0;k<l1;k++){ + idij=is-1; + t2+=ido; + t3=t2; + for(i=2;i<ido;i+=2){ + idij+=2; + t3+=2; + ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; + ch[t3]=wa[idij-1]*c1[t3]-wa[idij]*c1[t3-1]; + } + } + } + }else{ + + for(j=1;j<ip;j++){ + is+=ido; + idij=is-1; + t1+=t0; + t2=t1; + for(i=2;i<ido;i+=2){ + idij+=2; + t2+=2; + t3=t2; + for(k=0;k<l1;k++){ + ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; + ch[t3]=wa[idij-1]*c1[t3]-wa[idij]*c1[t3-1]; + t3+=ido; + } + } + } + } + + t1=0; + t2=ipp2*t0; + if(nbd<l1){ + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(i=2;i<ido;i+=2){ + t3+=2; + t4+=2; + t5=t3-ido; + t6=t4-ido; + for(k=0;k<l1;k++){ + t5+=ido; + t6+=ido; + c1[t5-1]=ch[t5-1]+ch[t6-1]; + c1[t6-1]=ch[t5]-ch[t6]; + c1[t5]=ch[t5]+ch[t6]; + c1[t6]=ch[t6-1]-ch[t5-1]; + } + } + } + }else{ + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(k=0;k<l1;k++){ + t5=t3; + t6=t4; + for(i=2;i<ido;i+=2){ + t5+=2; + t6+=2; + c1[t5-1]=ch[t5-1]+ch[t6-1]; + c1[t6-1]=ch[t5]-ch[t6]; + c1[t5]=ch[t5]+ch[t6]; + c1[t6]=ch[t6-1]-ch[t5-1]; + } + t3+=ido; + t4+=ido; + } + } + } + +L119: + for(ik=0;ik<idl1;ik++)c2[ik]=ch2[ik]; + + t1=0; + t2=ipp2*idl1; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1-ido; + t4=t2-ido; + for(k=0;k<l1;k++){ + t3+=ido; + t4+=ido; + c1[t3]=ch[t3]+ch[t4]; + c1[t4]=ch[t4]-ch[t3]; + } + } + + ar1=1.f; + ai1=0.f; + t1=0; + t2=ipp2*idl1; + t3=(ip-1)*idl1; + for(l=1;l<ipph;l++){ + t1+=idl1; + t2-=idl1; + ar1h=dcp*ar1-dsp*ai1; + ai1=dcp*ai1+dsp*ar1; + ar1=ar1h; + t4=t1; + t5=t2; + t6=t3; + t7=idl1; + + for(ik=0;ik<idl1;ik++){ + ch2[t4++]=c2[ik]+ar1*c2[t7++]; + ch2[t5++]=ai1*c2[t6++]; + } + + dc2=ar1; + ds2=ai1; + ar2=ar1; + ai2=ai1; + + t4=idl1; + t5=(ipp2-1)*idl1; + for(j=2;j<ipph;j++){ + t4+=idl1; + t5-=idl1; + + ar2h=dc2*ar2-ds2*ai2; + ai2=dc2*ai2+ds2*ar2; + ar2=ar2h; + + t6=t1; + t7=t2; + t8=t4; + t9=t5; + for(ik=0;ik<idl1;ik++){ + ch2[t6++]+=ar2*c2[t8++]; + ch2[t7++]+=ai2*c2[t9++]; + } + } + } + + t1=0; + for(j=1;j<ipph;j++){ + t1+=idl1; + t2=t1; + for(ik=0;ik<idl1;ik++)ch2[ik]+=c2[t2++]; + } + + if(ido<l1)goto L132; + + t1=0; + t2=0; + for(k=0;k<l1;k++){ + t3=t1; + t4=t2; + for(i=0;i<ido;i++)cc[t4++]=ch[t3++]; + t1+=ido; + t2+=t10; + } + + goto L135; + + L132: + for(i=0;i<ido;i++){ + t1=i; + t2=i; + for(k=0;k<l1;k++){ + cc[t2]=ch[t1]; + t1+=ido; + t2+=t10; + } + } + + L135: + t1=0; + t2=ido<<1; + t3=0; + t4=ipp2*t0; + for(j=1;j<ipph;j++){ + + t1+=t2; + t3+=t0; + t4-=t0; + + t5=t1; + t6=t3; + t7=t4; + + for(k=0;k<l1;k++){ + cc[t5-1]=ch[t6]; + cc[t5]=ch[t7]; + t5+=t10; + t6+=ido; + t7+=ido; + } + } + + if(ido==1)return; + if(nbd<l1)goto L141; + + t1=-ido; + t3=0; + t4=0; + t5=ipp2*t0; + for(j=1;j<ipph;j++){ + t1+=t2; + t3+=t2; + t4+=t0; + t5-=t0; + t6=t1; + t7=t3; + t8=t4; + t9=t5; + for(k=0;k<l1;k++){ + for(i=2;i<ido;i+=2){ + ic=idp2-i; + cc[i+t7-1]=ch[i+t8-1]+ch[i+t9-1]; + cc[ic+t6-1]=ch[i+t8-1]-ch[i+t9-1]; + cc[i+t7]=ch[i+t8]+ch[i+t9]; + cc[ic+t6]=ch[i+t9]-ch[i+t8]; + } + t6+=t10; + t7+=t10; + t8+=ido; + t9+=ido; + } + } + return; + + L141: + + t1=-ido; + t3=0; + t4=0; + t5=ipp2*t0; + for(j=1;j<ipph;j++){ + t1+=t2; + t3+=t2; + t4+=t0; + t5-=t0; + for(i=2;i<ido;i+=2){ + t6=idp2+t1-i; + t7=i+t3; + t8=i+t4; + t9=i+t5; + for(k=0;k<l1;k++){ + cc[t7-1]=ch[t8-1]+ch[t9-1]; + cc[t6-1]=ch[t8-1]-ch[t9-1]; + cc[t7]=ch[t8]+ch[t9]; + cc[t6]=ch[t9]-ch[t8]; + t6+=t10; + t7+=t10; + t8+=ido; + t9+=ido; + } + } + } +} + +static void drftf1(int n,float *c,float *ch,float *wa,int *ifac){ + int i,k1,l1,l2; + int na,kh,nf; + int ip,iw,ido,idl1,ix2,ix3; + + nf=ifac[1]; + na=1; + l2=n; + iw=n; + + for(k1=0;k1<nf;k1++){ + kh=nf-k1; + ip=ifac[kh+1]; + l1=l2/ip; + ido=n/l2; + idl1=ido*l1; + iw-=(ip-1)*ido; + na=1-na; + + if(ip!=4)goto L102; + + ix2=iw+ido; + ix3=ix2+ido; + if(na!=0) + dradf4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + else + dradf4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); + goto L110; + + L102: + if(ip!=2)goto L104; + if(na!=0)goto L103; + + dradf2(ido,l1,c,ch,wa+iw-1); + goto L110; + + L103: + dradf2(ido,l1,ch,c,wa+iw-1); + goto L110; + + L104: + if(ido==1)na=1-na; + if(na!=0)goto L109; + + dradfg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); + na=1; + goto L110; + + L109: + dradfg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + na=0; + + L110: + l2=l1; + } + + if(na==1)return; + + for(i=0;i<n;i++)c[i]=ch[i]; +} + +static void dradb2(int ido,int l1,float *cc,float *ch,float *wa1){ + int i,k,t0,t1,t2,t3,t4,t5,t6; + float ti2,tr2; + + t0=l1*ido; + + t1=0; + t2=0; + t3=(ido<<1)-1; + for(k=0;k<l1;k++){ + ch[t1]=cc[t2]+cc[t3+t2]; + ch[t1+t0]=cc[t2]-cc[t3+t2]; + t2=(t1+=ido)<<1; + } + + if(ido<2)return; + if(ido==2)goto L105; + + t1=0; + t2=0; + for(k=0;k<l1;k++){ + t3=t1; + t5=(t4=t2)+(ido<<1); + t6=t0+t1; + for(i=2;i<ido;i+=2){ + t3+=2; + t4+=2; + t5-=2; + t6+=2; + ch[t3-1]=cc[t4-1]+cc[t5-1]; + tr2=cc[t4-1]-cc[t5-1]; + ch[t3]=cc[t4]-cc[t5]; + ti2=cc[t4]+cc[t5]; + ch[t6-1]=wa1[i-2]*tr2-wa1[i-1]*ti2; + ch[t6]=wa1[i-2]*ti2+wa1[i-1]*tr2; + } + t2=(t1+=ido)<<1; + } + + if(ido%2==1)return; + +L105: + t1=ido-1; + t2=ido-1; + for(k=0;k<l1;k++){ + ch[t1]=cc[t2]+cc[t2]; + ch[t1+t0]=-(cc[t2+1]+cc[t2+1]); + t1+=ido; + t2+=ido<<1; + } +} + +static void dradb3(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2){ + static float taur = -.5f; + static float taui = .8660254037844386f; + int i,k,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; + float ci2,ci3,di2,di3,cr2,cr3,dr2,dr3,ti2,tr2; + t0=l1*ido; + + t1=0; + t2=t0<<1; + t3=ido<<1; + t4=ido+(ido<<1); + t5=0; + for(k=0;k<l1;k++){ + tr2=cc[t3-1]+cc[t3-1]; + cr2=cc[t5]+(taur*tr2); + ch[t1]=cc[t5]+tr2; + ci3=taui*(cc[t3]+cc[t3]); + ch[t1+t0]=cr2-ci3; + ch[t1+t2]=cr2+ci3; + t1+=ido; + t3+=t4; + t5+=t4; + } + + if(ido==1)return; + + t1=0; + t3=ido<<1; + for(k=0;k<l1;k++){ + t7=t1+(t1<<1); + t6=(t5=t7+t3); + t8=t1; + t10=(t9=t1+t0)+t0; + + for(i=2;i<ido;i+=2){ + t5+=2; + t6-=2; + t7+=2; + t8+=2; + t9+=2; + t10+=2; + tr2=cc[t5-1]+cc[t6-1]; + cr2=cc[t7-1]+(taur*tr2); + ch[t8-1]=cc[t7-1]+tr2; + ti2=cc[t5]-cc[t6]; + ci2=cc[t7]+(taur*ti2); + ch[t8]=cc[t7]+ti2; + cr3=taui*(cc[t5-1]-cc[t6-1]); + ci3=taui*(cc[t5]+cc[t6]); + dr2=cr2-ci3; + dr3=cr2+ci3; + di2=ci2+cr3; + di3=ci2-cr3; + ch[t9-1]=wa1[i-2]*dr2-wa1[i-1]*di2; + ch[t9]=wa1[i-2]*di2+wa1[i-1]*dr2; + ch[t10-1]=wa2[i-2]*dr3-wa2[i-1]*di3; + ch[t10]=wa2[i-2]*di3+wa2[i-1]*dr3; + } + t1+=ido; + } +} + +static void dradb4(int ido,int l1,float *cc,float *ch,float *wa1, + float *wa2,float *wa3){ + static float sqrt2=1.414213562373095f; + int i,k,t0,t1,t2,t3,t4,t5,t6,t7,t8; + float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; + t0=l1*ido; + + t1=0; + t2=ido<<2; + t3=0; + t6=ido<<1; + for(k=0;k<l1;k++){ + t4=t3+t6; + t5=t1; + tr3=cc[t4-1]+cc[t4-1]; + tr4=cc[t4]+cc[t4]; + tr1=cc[t3]-cc[(t4+=t6)-1]; + tr2=cc[t3]+cc[t4-1]; + ch[t5]=tr2+tr3; + ch[t5+=t0]=tr1-tr4; + ch[t5+=t0]=tr2-tr3; + ch[t5+=t0]=tr1+tr4; + t1+=ido; + t3+=t2; + } + + if(ido<2)return; + if(ido==2)goto L105; + + t1=0; + for(k=0;k<l1;k++){ + t5=(t4=(t3=(t2=t1<<2)+t6))+t6; + t7=t1; + for(i=2;i<ido;i+=2){ + t2+=2; + t3+=2; + t4-=2; + t5-=2; + t7+=2; + ti1=cc[t2]+cc[t5]; + ti2=cc[t2]-cc[t5]; + ti3=cc[t3]-cc[t4]; + tr4=cc[t3]+cc[t4]; + tr1=cc[t2-1]-cc[t5-1]; + tr2=cc[t2-1]+cc[t5-1]; + ti4=cc[t3-1]-cc[t4-1]; + tr3=cc[t3-1]+cc[t4-1]; + ch[t7-1]=tr2+tr3; + cr3=tr2-tr3; + ch[t7]=ti2+ti3; + ci3=ti2-ti3; + cr2=tr1-tr4; + cr4=tr1+tr4; + ci2=ti1+ti4; + ci4=ti1-ti4; + + ch[(t8=t7+t0)-1]=wa1[i-2]*cr2-wa1[i-1]*ci2; + ch[t8]=wa1[i-2]*ci2+wa1[i-1]*cr2; + ch[(t8+=t0)-1]=wa2[i-2]*cr3-wa2[i-1]*ci3; + ch[t8]=wa2[i-2]*ci3+wa2[i-1]*cr3; + ch[(t8+=t0)-1]=wa3[i-2]*cr4-wa3[i-1]*ci4; + ch[t8]=wa3[i-2]*ci4+wa3[i-1]*cr4; + } + t1+=ido; + } + + if(ido%2 == 1)return; + + L105: + + t1=ido; + t2=ido<<2; + t3=ido-1; + t4=ido+(ido<<1); + for(k=0;k<l1;k++){ + t5=t3; + ti1=cc[t1]+cc[t4]; + ti2=cc[t4]-cc[t1]; + tr1=cc[t1-1]-cc[t4-1]; + tr2=cc[t1-1]+cc[t4-1]; + ch[t5]=tr2+tr2; + ch[t5+=t0]=sqrt2*(tr1-ti1); + ch[t5+=t0]=ti2+ti2; + ch[t5+=t0]=-sqrt2*(tr1+ti1); + + t3+=ido; + t1+=t2; + t4+=t2; + } +} + +static void dradbg(int ido,int ip,int l1,int idl1,float *cc,float *c1, + float *c2,float *ch,float *ch2,float *wa){ + static float tpi=6.283185307179586f; + int idij,ipph,i,j,k,l,ik,is,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10, + t11,t12; + float dc2,ai1,ai2,ar1,ar2,ds2; + int nbd; + float dcp,arg,dsp,ar1h,ar2h; + int ipp2; + + t10=ip*ido; + t0=l1*ido; + arg=tpi/(float)ip; + dcp=(float)cos(arg); + dsp=(float)sin(arg); + nbd=(ido-1)>>1; + ipp2=ip; + ipph=(ip+1)>>1; + if(ido<l1)goto L103; + + t1=0; + t2=0; + for(k=0;k<l1;k++){ + t3=t1; + t4=t2; + for(i=0;i<ido;i++){ + ch[t3]=cc[t4]; + t3++; + t4++; + } + t1+=ido; + t2+=t10; + } + goto L106; + + L103: + t1=0; + for(i=0;i<ido;i++){ + t2=t1; + t3=t1; + for(k=0;k<l1;k++){ + ch[t2]=cc[t3]; + t2+=ido; + t3+=t10; + } + t1++; + } + + L106: + t1=0; + t2=ipp2*t0; + t7=(t5=ido<<1); + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + t6=t5; + for(k=0;k<l1;k++){ + ch[t3]=cc[t6-1]+cc[t6-1]; + ch[t4]=cc[t6]+cc[t6]; + t3+=ido; + t4+=ido; + t6+=t10; + } + t5+=t7; + } + + if (ido == 1)goto L116; + if(nbd<l1)goto L112; + + t1=0; + t2=ipp2*t0; + t7=0; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + + t7+=(ido<<1); + t8=t7; + for(k=0;k<l1;k++){ + t5=t3; + t6=t4; + t9=t8; + t11=t8; + for(i=2;i<ido;i+=2){ + t5+=2; + t6+=2; + t9+=2; + t11-=2; + ch[t5-1]=cc[t9-1]+cc[t11-1]; + ch[t6-1]=cc[t9-1]-cc[t11-1]; + ch[t5]=cc[t9]-cc[t11]; + ch[t6]=cc[t9]+cc[t11]; + } + t3+=ido; + t4+=ido; + t8+=t10; + } + } + goto L116; + + L112: + t1=0; + t2=ipp2*t0; + t7=0; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + t7+=(ido<<1); + t8=t7; + t9=t7; + for(i=2;i<ido;i+=2){ + t3+=2; + t4+=2; + t8+=2; + t9-=2; + t5=t3; + t6=t4; + t11=t8; + t12=t9; + for(k=0;k<l1;k++){ + ch[t5-1]=cc[t11-1]+cc[t12-1]; + ch[t6-1]=cc[t11-1]-cc[t12-1]; + ch[t5]=cc[t11]-cc[t12]; + ch[t6]=cc[t11]+cc[t12]; + t5+=ido; + t6+=ido; + t11+=t10; + t12+=t10; + } + } + } + +L116: + ar1=1.f; + ai1=0.f; + t1=0; + t9=(t2=ipp2*idl1); + t3=(ip-1)*idl1; + for(l=1;l<ipph;l++){ + t1+=idl1; + t2-=idl1; + + ar1h=dcp*ar1-dsp*ai1; + ai1=dcp*ai1+dsp*ar1; + ar1=ar1h; + t4=t1; + t5=t2; + t6=0; + t7=idl1; + t8=t3; + for(ik=0;ik<idl1;ik++){ + c2[t4++]=ch2[t6++]+ar1*ch2[t7++]; + c2[t5++]=ai1*ch2[t8++]; + } + dc2=ar1; + ds2=ai1; + ar2=ar1; + ai2=ai1; + + t6=idl1; + t7=t9-idl1; + for(j=2;j<ipph;j++){ + t6+=idl1; + t7-=idl1; + ar2h=dc2*ar2-ds2*ai2; + ai2=dc2*ai2+ds2*ar2; + ar2=ar2h; + t4=t1; + t5=t2; + t11=t6; + t12=t7; + for(ik=0;ik<idl1;ik++){ + c2[t4++]+=ar2*ch2[t11++]; + c2[t5++]+=ai2*ch2[t12++]; + } + } + } + + t1=0; + for(j=1;j<ipph;j++){ + t1+=idl1; + t2=t1; + for(ik=0;ik<idl1;ik++)ch2[ik]+=ch2[t2++]; + } + + t1=0; + t2=ipp2*t0; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(k=0;k<l1;k++){ + ch[t3]=c1[t3]-c1[t4]; + ch[t4]=c1[t3]+c1[t4]; + t3+=ido; + t4+=ido; + } + } + + if(ido==1)goto L132; + if(nbd<l1)goto L128; + + t1=0; + t2=ipp2*t0; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(k=0;k<l1;k++){ + t5=t3; + t6=t4; + for(i=2;i<ido;i+=2){ + t5+=2; + t6+=2; + ch[t5-1]=c1[t5-1]-c1[t6]; + ch[t6-1]=c1[t5-1]+c1[t6]; + ch[t5]=c1[t5]+c1[t6-1]; + ch[t6]=c1[t5]-c1[t6-1]; + } + t3+=ido; + t4+=ido; + } + } + goto L132; + + L128: + t1=0; + t2=ipp2*t0; + for(j=1;j<ipph;j++){ + t1+=t0; + t2-=t0; + t3=t1; + t4=t2; + for(i=2;i<ido;i+=2){ + t3+=2; + t4+=2; + t5=t3; + t6=t4; + for(k=0;k<l1;k++){ + ch[t5-1]=c1[t5-1]-c1[t6]; + ch[t6-1]=c1[t5-1]+c1[t6]; + ch[t5]=c1[t5]+c1[t6-1]; + ch[t6]=c1[t5]-c1[t6-1]; + t5+=ido; + t6+=ido; + } + } + } + +L132: + if(ido==1)return; + + for(ik=0;ik<idl1;ik++)c2[ik]=ch2[ik]; + + t1=0; + for(j=1;j<ip;j++){ + t2=(t1+=t0); + for(k=0;k<l1;k++){ + c1[t2]=ch[t2]; + t2+=ido; + } + } + + if(nbd>l1)goto L139; + + is= -ido-1; + t1=0; + for(j=1;j<ip;j++){ + is+=ido; + t1+=t0; + idij=is; + t2=t1; + for(i=2;i<ido;i+=2){ + t2+=2; + idij+=2; + t3=t2; + for(k=0;k<l1;k++){ + c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; + c1[t3]=wa[idij-1]*ch[t3]+wa[idij]*ch[t3-1]; + t3+=ido; + } + } + } + return; + + L139: + is= -ido-1; + t1=0; + for(j=1;j<ip;j++){ + is+=ido; + t1+=t0; + t2=t1; + for(k=0;k<l1;k++){ + idij=is; + t3=t2; + for(i=2;i<ido;i+=2){ + idij+=2; + t3+=2; + c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; + c1[t3]=wa[idij-1]*ch[t3]+wa[idij]*ch[t3-1]; + } + t2+=ido; + } + } +} + +static void drftb1(int n, float *c, float *ch, float *wa, int *ifac){ + int i,k1,l1,l2; + int na; + int nf,ip,iw,ix2,ix3,ido,idl1; + + nf=ifac[1]; + na=0; + l1=1; + iw=1; + + for(k1=0;k1<nf;k1++){ + ip=ifac[k1 + 2]; + l2=ip*l1; + ido=n/l2; + idl1=ido*l1; + if(ip!=4)goto L103; + ix2=iw+ido; + ix3=ix2+ido; + + if(na!=0) + dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); + else + dradb4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); + na=1-na; + goto L115; + + L103: + if(ip!=2)goto L106; + + if(na!=0) + dradb2(ido,l1,ch,c,wa+iw-1); + else + dradb2(ido,l1,c,ch,wa+iw-1); + na=1-na; + goto L115; + + L106: + if(ip!=3)goto L109; + + ix2=iw+ido; + if(na!=0) + dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); + else + dradb3(ido,l1,c,ch,wa+iw-1,wa+ix2-1); + na=1-na; + goto L115; + + L109: + //if(ip!=5)goto L112; + //if(ip==5)goto L115; +/* The radix five case can be translated later..... */ +/* if(ip!=5)goto L112; + + ix2=iw+ido; + ix3=ix2+ido; + ix4=ix3+ido; + if(na!=0) + dradb5(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1,wa+ix4-1); + else + dradb5(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1,wa+ix4-1); + na=1-na; + goto L115; + + L112:*/ + if(na!=0) + dradbg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); + else + dradbg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); + if(ido==1)na=1-na; + + L115: + l1=l2; + iw+=(ip-1)*ido; + } + + if(na==0)return; + + for(i=0;i<n;i++)c[i]=ch[i]; +} + +void core_drft_forward(struct drft_lookup *l,float *data){ + if(l->n==1)return; + drftf1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); +} + +void core_drft_backward(struct drft_lookup *l,float *data){ + if (l->n==1)return; + drftb1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); +} + +void core_drft_init(struct drft_lookup *l,int n) +{ + l->n=n; + l->trigcache=(float*)mem_alloc(3*n*sizeof(*l->trigcache)); + l->splitcache=(int*)mem_alloc(32*sizeof(*l->splitcache)); + fdrffti(n, l->trigcache, l->splitcache); +} + +void core_drft_clear(struct drft_lookup *l) +{ + if(l) + { + if(l->trigcache) + mem_free(l->trigcache); + if(l->splitcache) + mem_free(l->splitcache); + } +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.h new file mode 100755 index 000000000..1ad7375eb --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.h @@ -0,0 +1,20 @@ + +#ifndef FFTCORE_H +#define FFTCORE_H + +/** Discrete Rotational Fourier Transform (DRFT) lookup */ +struct drft_lookup{ + int n; + float *trigcache; + int *splitcache; +}; + +/* Function Declarations */ +extern void core_drft_forward(struct drft_lookup *l,float *data); +extern void core_drft_backward(struct drft_lookup *l,float *data); +extern void core_drft_init(struct drft_lookup *l,int n); +extern void core_drft_clear(struct drft_lookup *l); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/fftcore.o new file mode 100644 index 0000000000000000000000000000000000000000..212599ac747fc0c2240884cdced02a42688845f7 GIT binary patch literal 83804 zcmeFZd3aP+wl}=bsgtToRVAr}07*m)Lzst53<6g|s2njw2!t`9BA{Yg5t*c;orFO} zw7p4+rb$(xXtfoG7TUJE9UB~4y)D|HwAZV|OWWG|Ql>5um0b1e`}^&EPE|4Vd;8w+ zyWjKu@t)_|wbt5e4{NWz_S$38SW#tankMW|6GKFT65>#qq*6*{f+1p<7%WEquah%F zruarXC5GO)f98p@^psX3IH==7bLNRApBSJ=Z#QP1IGB2oInTW5WZAUVPEo%ma1_6e zs5?a)=ZW5)@^twvvBCAPAZ|v0{H2n=Ja9|wy87RP{^*D{<kk*-$Zdzk&|5lQ5*^*y zO*2o5RMy}KzHS=f`KHzq7J5(*r$*Ctf4e8TNx#@c4Nkpas=1?6t8<S%+Nss+V^DML z-tryzHM-o!+nsuy*5%d)p?*h~+i_o)TfZ)LdwoxYir5|X>tlD;z0fJ@-bNS~yS9E4 zr0Icj#v#21NSsoZ1HOLD5%zXz-mbv$z(oNqyr|;0M{>=VTz!ukVQsu4aG{wJ{)L!% z;@<Q-#PEO^m}lNt?uq&wZ=uZU+`@oX`m^$-fi9Hx5@N)PsojQeP2k^-x%NN*>B)aI zc8Q@WU0TZN4lRG?Nw@FaPs9Q0{vY@IOrr(*?-C<iLA`b6i75_WOIlEiI#Oyne7m6| zuPcmRNbyF62mJ%BZ37fJdh`xMkG|s6nlsIIQw&D$%*Zj1przWl?fCr@q=264^>ALd zadJIcJT`V`{p)#-s8^pJSRGgs5YV!SZg$)PEl~@Hkn82Zi^$W0urTlrey^0h$QJzs z;R@Nai>)}V-UvTi{`(`^PHjlpsf#x1L&V98HX30uyzErYMm;oD_}VGIJNQQT!2No3 zi$e=KG;i=P!V`3b9l;)E*cAO!TJ^9y<cd6s7U#704CJ<Tbo-9GqPIJH2JoBWiR6WT zX}-~&vwx!Lih4a-#1VD5pEDPk`ru=on#b4W_Py7sO>lR)-8r4wFi)4;vmO1Zk86e9 zJXL<IQ{>TBc6N#hI_#sRQ>&$|yw@ozX*=1SdfwnzzslL2`mk$bj@oNt1M8PSBLiZ$ z*Y=M&>oaL%vHZ$ev3_+~vCZ|pVgqZ<*ns--*rr<84{fV*T<nesYhwiy)<cWyVlUT@ zi4ClSwkyZRUaemn`+eP-*ydqtV@{-dwU%RLOzf}q*|Fwl*2NyIdlNFx=yo6I9rHg^ z8Z+yhosL?w+x>hm@YlqaP539Y<udSlfnU+-m{0-Urej(t6?)3qpKUrqzCcR&?tr&V z+pd*(0x3a9s}Ty7H-1sG?<H3UG(YR8FMOrhV!oP_7S<+D478i>a8AG#@`ZmRbo9_Y zzDVb=+Sj{;dt%^UJBQTfntHTJ3@{G}Bf3#r6wsqyLln594xR1QqptL&f!(kMZ47Py z;R@Ie>}PQOpxDprIr`SeTy+7YtU*{5pbiAuK$}AQ>$d=w29$*{*Fn&Qfj=J0kmJM` zzN$}Jm@?9izUXidG6uMVzcM?z{ml<x%$zdDFihsyxpRL?P<bwl3%3>=+>z2Q3Se;< zADg}IuJ11%ZJK6kG{u4O<I`d3+PHSq_H;S=tlo%v)5n-5Y<Y0~%b@23$Rmei;Z49l z!*7+H`f(HO`o~RTXxXVdo3t>?_qW4`HR~;`M-12v>-6n^$uvrh?T&WnN%QYwZ923! z(=?)~KBHY9q_qa21^30X_*<fnb&uI!PP=6NuOcpp(Z|sX9oI9>`q;H{RKgC1UE1v) zO^rdix}MPL9M}kb+aUP3-q89zNRRmX>`q7Bbr|KQjBg%Rg?uj^)7#R!wDd)$7CI7m zDR6VeV@GHgzWoahh_3HT`W#K!8HQim>dp(~1RSQwXRm678_VG-Al*aKpVb83Liy#; z)<gC5an#re%eRT4Uw1$+C*4x-+JJW~-zJ8lUyM8V_cTSTh#F3PJ9_K$vQvL*+AiJ_ zcZ!tgL7&$88}YB5D{3D^4;y>(OviT448Mzsx~I(Lrt#A`s5P}qOQrX@tU`~bqaQu4 zF;WitEf-n}k5yMLJyWTSzYZF)ZIV9iRpfo|h>pJ8+4Khb4K;WoozpAdMxCPhyO^kS zggntor?#uz^tb7Q^{B(Ghf<=BbP?R1n;A-tZZT4$cQ^}7%t4rmdUiVM-KFy&nfo8~ zaqgn0%IR0=UB|@+*If$#f&Qq252pXEJBiUjUreilpQv}m9;m}upMbuZjMmknuP5w} znYHX!=9$&04`cc<u~+1%x;AFi4vuXBT`*xx?3z0CJ8a|C+5zxEJ!ALPZ-pG02*_7= zP3+Fvsj)$|J!8!irlI^S#KW(_PF%2)2kY+zZO17)8HD)e3GhFYn~xbG&VM4jDbOR3 z5~{6e{9?^MHG7Ez|NN^f<e2;Mepk?o^@0QI1q1fq<aM@sgXm|6J2<hUm+1|=LU)-j z3zsGeFb1^uMM|&)dd@yLAkc?1N}V=_efn^P@+Ceu?7m)$`qD26ObV=zJybgp9>a-N zegbW|FlQCiDowm9wSgJDwl=^yePLiLemPFxmgBUaoPYXR^H1JJR|s=WyC**P2+TVv zL1$RA<{iD&75>0<?{e<O%wzOw8xiOoDhT9+o#<^R=AD$?gXOq>(sW|h5xad+XX<`a z+dcE7?t7<Guk>~4zU|QMl8X8Gb#}R(Jv()|DwzxWc&N+m%I?%Ef8OOz>4o-krkUTV z)zVThvWIa7DvkYq7%WE49Hp3TR>%5Ru8mz&TM`?9nc_M*L#&StVy{)MixuQ?mVmX? zt&T0N#H^HuG?iD!9vp^ofLZ67x{}zky8W@G$fqS+MeV?tt5S>oyfPaz2(03OWdVr4 z6SG-C{Wi#F$H7wSjM&fXINMYrExl0>X+d|wQtqg~OVTPX$<sW;8EW$BHT$%Xr%eyj zyLbYrZCa~VB0_rb?m)I_V4f1&IWJAcymYrY?WjBK2;`Yl`#Q18xjV(x?rkeHBb|dP zomiLrYiB_veE#v=K+0~;LI(Wl0<5~YzSK%*Lkka990u-)I(>dnTGZ(p5*QX3hY<k% zVwSxQwlfHN`F$O92l^ptPuIq_V3a&iyBT>GS#|^;0S_!{4<AcYYc;G##BjY!*T3rU zhH1gtfXC$A^Xti{j9<%jn-7w{TYvxl&1U{ySFE|R)pWG<eYhJ|+h*Pw8|?XQ?4alS z)8BpXg@<*tE%NW`?E8aVo%y#u+ofe(5cGWGJ*9PN`pgqc_20%``N8SftBd?WFIM3x ztyue=EZF#Tm&lmX@pP9vW6G)0jibU3ccqHLQ2t4ma2JYx%S&pymsh!qg5BaI{B&2o zL+{Gh%e(WdYPy@M%Dejj-UgThxB)O5a4n!8a222r@CHCP;0i#a>YXE_LU)V8op}LA zV0O3R)r#(_zzWveja9KWe9Eb4(=(Ll)K^XLk>Qac^q5=A4~swLj1FC7x`Rh^`kBK_ zF`(B9tt3=Y9!Os@CD46DEBuGRmWoM%lSeKHVSVA4T_H}rx%t^H9VNZeRMfU8;Act3 z8{I~;7TxR{8EzH1=IF2%)zd|5uBi<G=58}t_X`J>nwOgEO}$`v$His|=BZZLqE?7K zK>enQw_yXYjoRxln^vITUjPqr^-RNE!T|0}BzLal>h=8s9~{xgxW_(P;lfzuxO^LJ z<y<2|4+N%H><BamUOa+XsW}fVc6_6s$_ZW&uBmAHe8ZL$sgoZxu_eno{5x|(Z(x0r zmG`m;_Sq;l<#9gUls-D7Z)fW`pNtH>os(xyFK;n5Sd$2{MK2zhiS-HnNoj`@`yN*` zUC5Rda5QRTYVi9AR#$`T%Yf1H?bXSYGibGj$`5d?4hUdu)c40ccpY>g(8_m@&{Mg` z{zbO)56AS72y1OS;NdYggIfck^1A}RMLYe?w7IfV^;>9lWvBk_&O&K*qy9&&t`Jr? z>O59w92W=P&-kY@ZdK7Mm~V_AwO)4W<t^0R><)h$y@s)qJA*g6`!wGz_Cz(`=(arb z(Wr2|z|~ -kf@8MZ9Soon_mX<4(&wbr^E(W><iV^yq&r<hAkG0+!vxJ3A|sKdF& zlyg$)ThQNYx%X8RLYsr7Hiydn?XUp*VYt*WSFfKO(WKpc5O_Dxj<xvoilfK4Ht&E` z4y+e1(+sS#@6xkd{;5l(XcK#x4@6T9wyB>v*i7GE*q&qd2x5dgQd<X{booYw;qeTN zXl+k4RlllpN~LRiw&^Z(mpU*vIigLDtk%3>YL}sp3cu04YX9k&sPDDi5q;6|Mt5QJ z8{KR7^b8h;y#Z%%6n?YYa)a0-IdaT3<(}X}(NxUT)607Ye-6wW+>9}s0gKEG7QjQ& z0t(<Aomj*4iVdzk8N0Ny?9`7oD~lL$$Ea}D?u-chjp0MhqWMYFwd=V+-cB#pO3t?2 zP)Bz@>Noa3Yi4!2vC5r;-!&E6;ia&abhS#D>S+dqw%rw&-|4qnKpQM`w}v*0u6&Ww zm7j8d)ajhk>94OwxGwfUeFe(O>ddI0gTS0q0ILxc&jnsOc<B}|9lUgl=L9beyfllK z240%QO99UZp3ma>!1Gx=13WKyUW?}i&uj4<;CaCFSUeAS9*d`gmkM60#Y+V*)#7RO zjbGfnZ`Y^7Gb*G<?{pR7ce8`|RyXl&GX4(z^UvS`#{L$+zpP+u{{pNVfvr6O7(12{ z)-f7>waFLm9Xc7SsNWx3j@eL8&kAS58;R!o;W>MS^<Yn~c(B{n2N*%j_?7I-<*|qA zM7U>ca3#vFn;sBBNBDl&gClq{7C=eY)|Z{SZIdgEUEgkfC;D60+MMC^sM90bGdtat zZulm5-4zw8=iCN+)QG0b9yX$G-=&ykJy`K`eqx_;hGM_6x2Jac>-?R5?6>_`D;ss? zfSH{cl{K9iptsab1@wcSEot&Iz)uH1-QuT%pAJ50^3%aj13%5;r-7daK56pP!1sag zv-m#nec+QO-v_=Ie6Pj#g6{>NH2GfeJ>YvRz6X2{_@v4AfS(F}s>M$QKNWn^<fqm( zezAPts4z!wA%5?45x>Vr{0`@npJ|oan19Av_TdV)|C7(Oy5|tbwKDVn74&D=?>`<* zO;2qz!k&OfuB-Hr5%dJ~R&S^ozMShS|2`j11v0~x0osGF)d>%ui8P)zXR9mZ!3lw@ z)eY!w%?RBG&yvx~d}XIvHm1woPY-_ku|NE1m)AMyq|5n6w|kFgtk(bjsMq1bnP3q{ z{J`e%C0fuOb_Qpj{Jtb)a{j~2aj@*vTTP>}0~G1bP_8*LtanXv!PBN*6nM7FlW{EY z!GUYcS*AX)?9?{wpr@G=Oht>I_P|JVV?CEv|73ZO&h%QYli9N=SU1ypXgQqI={smW zoZAm#hU?MU6FZw;fW2yGclN}tcW^yt_Jddr^yusXUJt-*@UkUO<#SlPY>U?;DW8G3 zOytW1%tF4bq<kqBFN=Ka(6ee2^*O=w*Y<!Xg2f{Elk&O1lW{T)E!xh9T~~cscYb5z z7Y+MFqzEUAqeBj?b4P}U2YTXkM6Y)jab=^IVsBS_zg*vN&%pd_%kQBBa=1poY*fe7 zfuypB;go3f`^WS!cm9_KUI?tgZtmiJM(DkOzs&_3a<>^+n`<Fgusoo_Qak}?t3z5* z&wU-}d7K+HW7QK<>mD`pp4!ZrxAAoJQU6ZNz3E)_<TPjIZ5G?al)RZIHu_!=M$4k| z(QP_r6s&XLfkw7%%W08z^5TIRW(CeE$9JSeeY!L1GYZY&rruBdgljY%t<~!9u3#Iv z7UPWjGGdZfJ?!@cJ(xS!+CaDaDz1CD>fxG)ab<`*dQ9xn#ywN9KCmwE$`K=^h4r@W za?PVzYn~^u=E;$3p2?^0c+_5Fe1H1zvp7v{Pv0#He35~FrI($2y5@1tj2)P3J21PJ zo!Zot8p3>Sj0z7t>B8z&>~WW3kGn_j3Z!&&A3S(rKn&6b?=W|o^tLks#|{*lqTj3z zUsu2}%p^`ba~IL#epXJ~7F})uJF29O!xL7r{TvVQYOpOIydrHgr=DJ_2WA?3Y^+7P zsfeH5*&8Q~4*~BDychO8jPC`!Cve7dykz6#fbrSDdjMxV$4VA-$M~%JCyuyr_UDUk zbezO2BiBLL36RSf=!;|8xOIVNDuP(wh&^vt9Q=IvCfY>VsjoLZD`9LCEW`0=SE^GK zh#>t)TG%~yuQ}R$*bE8mv>mXGR;-M>s?taB*Y_+m^udAgW)-wj+_BVLV~z(_1G&`x z=9lHv4RutGI1x=T=o6Hl@^EsW2c6^s<^tvbQb)Z3djs|Y>;>2puqR+PV0QiCBcr7+ z9)aH`F{j&@s1@B^Q3lw34AORK?iVZm1$O`<yc_ob?EyV}Vc^jtGfzy%dWj=pQU}|7 zaYq{WE-pX(p625TAS_`24v~Y{&8c4OWN@R=iWQ%(wPu^6Ln5e0Q{8AY)=GMKHTEwb z=S(%ZlFZE=8qf+iRZI-<9wK!`=91#T=SM`?*QNRXQt?`VQuGOY1bg-E=l)TgT)vSz zk(BVk&+pmDHSyw&suvb)^oMf7-gb=3J-O!3qU8?vcI={p_lq1e1Lq#CA{{pjck7PU zZ32E?(_8zUbZKcJt;>_zDvZ`Vb5VIX&s%(<nHhALd&P*7tme@>c~6kqIs!WwPf!eS zVQl+weox=;=Zf!OkAN%qE_P>Sr@m|I=pNE^5zc!C9_J~WhE$%6$D&^6y9e}vuBbzl zo!Z@`hxc}kNST89Ks2Z0RC$d_i{>ogsjsS_W!v69h?@)cHtmmV4X!1oz)InPEvvl_ z>q2^U<++(|3h*q18U%WT3OOVAk=`$@oNG#qG>aymYrqVo&#?FzNi_Lf2d0CcZt>HR zKOOl=lTR<720G2+ry+eB(vv2i>rWqOpT+kfy$|V0lb;H{7ksb9_a@QOqj@U2^V1r? zxM82zIl3)B@MzR<_@aj1H!v|*g9VRh)3A;hjo-}<;+u4wh+yX6+;G1fyR<8M$!Y}F zX#zIG@@Re38N6m5P6IB`OwJ>@yhW<#sG~P#dh&56k^2_Lho?*PT!np(1Ea$T?+iF$ ziH%=)_PImeHXmk|^fotUmei0BE02t})K(AXmdrL!D^7+2Sy;K~fVy0HG=6dH@d5J0 zWhN}93br$Tj~L_&e}DSsXXs5DPggvy?E3YlH0-1979)1Ii_zhWaxOHB<Y~iO-Qpn6 z8}z^n!1@KgI%145#y(&EZ$}3IRU3Y|gEsm`M^4+LT@D{l8W#IHy7wPPN$}FoHF131 zo#$-}<9K@Ji9@)HObg#7T&<}sM$2wdQ|^YP>#a_lAQ}fLN1#Iwi@`<+TJbu<_u<|N zSZWW`jeWFe^G02IYSiT@4@|{5)oZzrMP1sez|8@<mzRBUUwkjmIQ9;8d%nGVVSt`@ zIL_Qf{jm66z6g7HE$ki_DS!2d9&%wt&UsviwjCiSw4K_<n;%cWklOwE5v5yyh;x^k z#~V*C+{+nh^6AXIqTlzY%bubinS9#wm?QMv>3a@{e&3z`=66hg$?0$RrGIRn+BBRl z*!TVE)6XV+;N;Uyzj*3nML+qmy36F5SVR3Lv(5B;W1Qlt*w6Q8w)Ef2Q?dMqok9H@ z n19m@#X=VLe%`@sNnS7-lQJzd`yYbCS&i~R3Z^l42&3Uw}a@bjN<p*5_PUU$l= z51X9fN96pXR;j*b&M!kTyKs&X@Ne7n`=cI*){0$KkTXn?oNb<w^GubTU5Yzao6G(` zm}k_QzbI***=Ef%PC3uKR53r$hIytP9)7nq&%nz!XM{7YmDkJ@m5yvV>s$(J<_X-Y zCMQllwmCE8yu-bozxf|U4y>4WQmq0r(H;@JOSGDL%ffQ4#b*}5Cpg@ra1O%L4?SEi z=bkktEl?}W%-viu6gKt{?@{WD<=MtWN%Q>ZGix6DbHzJ>opK)ffb$U6hyLbg<Xp7p z&g8S2KH)ItC2^{AGv}q*x2sjb4>o3ma&~6#swp283FqO2qIplW9Op52i9FmLY;`^= zE@*M>$TW*~dyD&+y@HQ)c^zrZI19mvM*e=D2YX7gT0Q3VdCpxpA#CZ<(z{jke;l)! zuQhcCwc**(*PNL9OVf`r+Y@IS9?aFg@G}_y8Q76z25_g|_Oqz&$PT3i)5ARi>A|v7 zj*WhtR97AE=$^J;N36j3cOaLBS<b)-od@e0_ZC;%0#gs^gS}DB*!5|-=wXg1;e3@p z;VsM@?s1&2W@6SdPVx?bXB|Jo9)@1kiJdTa#yHzc;qI3+8P7S&tQm~?=>Y<g&a8h6 zGX?1~%v_w&6g?Px(tgkm>8;DG8BEd4&lxQPe8bA0kwh~;>2&bvad?`jW-vuFKj}2^ zbt`{b63zUiIb+%R?HNpYumE^HFniHkDfzugH1m6L>T!+S0pFg&T@FXY9Zv3ne}Xb+ zp<V7V?u&J-*D2pCh~sT0?mA?7hX8s1$61NxV>X(A*=TYiPR?NRM(rK!l%3cm&&ICC zf&H%$oE>nq3V6lTHet;@o=`C04ebcH<$lMz&mZd5))T(8cbgx+G%M5-zBIQjtF;Gm zUC`E}H4i&%?w?)Oto8QeSoLrx(45JW$*&&7$w^x9!eAQiG465{@5Ii)cafPIWISv_ z$1Gu7XbSB9d&Al<bBw?#e$VX}o5k(<MOi$@b6nN=$I3UlZ`*G~HyK$Wp6BIlFK(Y* z?*7RIKk3zKL|-znj&$&Zh9`X4I5G6XM$=*I516H<54!BJ-5+%AxYkS$ywSa3k8?-y z?wfORTQG-fZu5ubn@vy4-#*{_`6hL~*S4uRe8KMY|9ifNHQE33^SxrM^zHLK;`aF- z@#OQp894PxIrn_;eRaO~{zhN8*BR$~y~A1Y^Sz!p-^>1Qp6~r+<NrP1`+xI%uUPIW z)%hOr|Ecpm{~70d{_~#irOWfZbnATYX{?^<JJN8z$8~Ju=|4WI*4M8;>cqNwn<&D% zdek}V>TpGWxvtid*45vi{^hfr*{{KlQ%6Y+zsPRO!2OqV*Iih7^uZn2X5qtK=*GOq z#a&ocZ%fI*`eRY~)26}IG|q%JVL$w$aAI}VKOkBu$D|INCSbp)`?SbOyzxrKEm%3u z0mQ%{JU?%H9o9aECqRs23}*t~@&z$#;f;f&dHOd5YiGT_1ovP%Rx_MWUH~@Kx(7?| za;JY-u@`T}c<cAtF%fd$z8Y(0%nm#c)1gnEhqcHv)qPm&^lA2f%oCwBc_QTfMC{TB zV+C|j+db6$$w!z4nz(x@l{**1IxiZ&Pn{QSz&h!+{kL|g)1qQ|TEw>y?oyr<i9r_z zw81&%j`%6jew=*F>Jajji1^v3M114+|Bq855#8z#(T(~koC@(wj`zjX^@s6OqUUf* z#NM6Wk-_z9O3qGoPQtUr=l0w!%)HTUzY%%nX0BM9-DW0cNZnl&T2!tD{iX*ub0Vsx zUsf(!w6G`Y)No=l@H9?L<e5|{*8+!g@0WLT*U6RZFl*054%f5lR`e5V{rXzq%|Kt= z%`L0=XPjM82A{QlJ-*RivtG7I8-A@^WiRW<zzOFzdBW*G>x9#B)(K~kJmKVMuunM0 zo%e*(T`bRYi?+!#PFgR|H@OqEcj5N=rrH_GHH|#qBuyP#Yae;O`6qe4`K&zOeDw%c zI_I2k{u;Kc?sU~Vg0fRnF~7@q1Z~zkg8tS!f?}>=H_3Md@`S~DM=-^DM=-^DM=-^D zM=-^DM=-^DM=-^DM=(XcBPebQ;vGRQ-Vw~=JA&dC>m5O+yuBT|QSAsuY}{>Tgp05z z-{!L45#U|o8Se<f6%+7|;9~iX;F`c470dCCfPK~Uxqo9(2zvxyMi^@;pRda!&)+gi zc$enJy~t>+@SVYu@c0s4-c)c!&sQ8S?4;D5056=d131*gd)l2Czka?7OIK_D_nNd_ zSo4P~c|!Hmq2}Ibij(VObx*MzFPGBgt7G0%IHTHm?<wY;drwhk-&2^@Jw+DIGkMOL zg*ytIP0G6gm5-|r^0F<Sx~EY26898YxTC1C?kQA0o@DXlD+?jBj(pw;sC+zy@*_^2 zbk$h*6e=HYPZ{r*X>bx2&xf^k(mh2<{GOsn-c!)ix{EmC<UK{*eP`TLux#s|LcVH* zo%4mGyr-Z{DBHTHaL9X#!-1y*&&r#MiTkvW8}}4k#pCS0#08Jw47meFvmbjgcfi>^ z0cS{=a{b<GUx7SBsxY-Sec&%Xp@n?;K70A|4(yRnY%^eGIH3)TOzeLhsd=V=edL-Y zd}ZRkzspFcMZR!gHC~s@IOBDRZoMwqY`reg;ysjjU7}<3s@Elo%XV?Tv0s-wlJvSH zQ=aIG(1U?x6)p00iIUuT#x8;<%#%<5%fpJN4R1VsAx^<K*XBMhy^_Iu7hkehN`FD< z(krRAC2W`SN^IHRer3`MzoLzyS9%n_`#O2A#yG~Pd6RyJEmZqH&aU}*0iol43F8L9 z%W@88YwcGiAO0t=OnlA1{#f+??BnyDa9nb_b>DZVj~?K;Lc<sD?K@L1-=CiOv^r<{ z@&3cOeNd+l&o*sdQL&<SMM`v=5W_sJ-sZAXzih(WEw8KPF#dwzZm%{FX9#;Rx>Hks zGT^vAQk;CMNgLumFxYf_<2)rsmz`|KZH~LEi7%)p8LbZ7m1@|l4K-7?YXfn*)+$<y zO}^#w$X6aunA0o99bVLJTv2Vl+@-mOO5QBfX}WhZl`%4<>-!?Sqx~jx>#Ik+yF}Ej z_Xy}+P4KTxQ?&`&MAS7U1)eH}YoUwvU<!7`sAY8hVV8P;)KX-oh9+5cvc6Z3Xd|%a z+>^Si{4iH=lW`X2&M54_Ihf`O@eDtuYq`T+gjZoccPYL3J<^-=mISZDe0UY+!>cgB z+W>O_Hvnb>t_Ac1t^)J{-T>$ZTmfkK-Z|n5|4gI>yn$SEF7HW7@2h~9=RJuWb1v%b zQs`~67)Z^fLUVUQBPl;k*4xrgs9kN+PoMUN&@%ir!xqC865CY^Yd#TdZ+MdF3Q>R4 zKVd5V%>!QD##5D9Z;EB#Tel#0qVLOBELh=g)uVUoVu-id)p}b8ds-`aqkG7HN0;GA zZJB94Y7RQCkElNE7_sVbN>@{r_ZxA_*Y*7*uF>WncC}IJdwjeRb+qa&wfI{U(b5lZ zKeG=~9&J?NVQ*L)r%igvbbe#ZeYU*faBa6S)3ek2jnO?t_L4EeX})p96`Gp+LJn)t z(8IE~FV-fqCcXq$FT(H9^%gC-5a*Pvz3gx*-Wsx&f5N-7*FSNEnVUHl!glZRF-?g~ zgF8kk&52K3ZEh*A)OXv1pWw!2Khq6AV)aSe)Lhmr<&d@WUH~oB6ZQJz^}hItJDe&d zcwS<5J->;^|MC-h5uT;vEn<fo?*me`RB3bWB9U*cAPQ-7Ta#_B>c9UIF*USNxUnYp z1~Sc>ZezGsxS3Wr+_pNA-}wpO{~Pe<Q^d$l=iR~mX{N8G-;ySw;Z*y(?;WPmylhER zzM`~|dzRpgZsX&XPQJEF#oL7mIMd%#k2ys2&o-M)zUtrV#X0(LE%?p>oc5K@?jBI) z#mUU69GvYRf6DA<4v{_G&)ftIcZ4q1BZmI@$V0eA5aH*(zUNz%fft>N`*?BcG8Go$ z?eYoS`i<}%SY}q8)Esx^HRa7UQL48nP#C!2X_oLxw_C15-#FsKx$GO=rFfz4+jGaK zTj9;b$uFCXP+C_RUaL1e^4l0*(xNAeFHFUq1n=S8!PKyCSFVY5*5n~(AJc<ZJgF@X zoW19o-XKfYV3%d5{;3IP@wI!pye?PU;FB&F&*MGgu=C?c=}LFwrAM=9`9o|lULb76 z-{@=>MsQi*6#O-oKFSe-?+POS1mxPbBKGjMvQzgoc}7J#Yk@t|q_sn%ZtUOor~hJn zEOpyZv)bet=ysfka<>9qc=Jn##J0v?#O~@$|G`k4`1^0IHkpIx{J)L8dMncyoxSP| z+|(v+2mViKvyryP-<dWGX*17A`&0#GuxmH49x|{7YCqz{-u-UFZi~B1ce^3~kTc{r z&&sPKuU7xjF(Li85h}rpDh+E;4eQM|+>X`mbA?Or*4Y!*Cpy1zpzpjPynb%Q&1;D} z$hSLr`+Dqu{xj#@{97?<lUhyx#Z#ZyZy@*TLM-{E|JR0Dw!-~O_U)b(Ilp}VQ-2xo z1ODe%T`CS3cq@ry!hw)Nysr?9!>{%-etnA&dp}a_myzm6H;lLNXMqkQ<@%Lth3+<H zB9XBfOvm04_|*+p8$gOd!m(J}0N}hCg*3W;!9OQ-eT4Ly>sFw;s~6%O!u=qVF4d|4 zQU^d9$8|EB$JoJCn)~08%qwv{WfUaTbyp!u@hwKY@oohZ8Lr#G@Zitpkn}~B?Vp*{ zaP1+`oCA?Vcc<Kp@^!Z>3R!&50Z$qCAyWJLfSa<}iCEo8nT#BGa)OvGC&5fJ(qBT% zPG{FoQDMeYh;n|;=8246D8YHU8K{xb2Wgz$#N8RokkI+>#C;hxO!GBye?}M6d_z1t z<8J&qza^fN@g=Hv{s-|s8Rd-sj(EO*2lEPz#6bTj7OF{Ni2wHx)u~Hjg#Qi_hW1A! zDD>aOWKQi*0Hyw!B-|RM9q)gZwfH14$^To5lCFINPMQBTa<a6CK?MAtv(g^;Qw$+Y ze<psN+1mRk=Td(o^W<Q?D8w}XB`mt1mWH~k{eNJdp;``z1^y!>hDl<v|6LNpC9%Z+ zuOvoDV!8jXBt~ibQNs#<3W?EDwj2DPQJf;J3pK0~nZqc;j&v_l_?+!*WJUw)-bGYo zL@Cs6HrL2_l8U&Gt#!i~b|cPX<RLDL)<dy-JPU-e>`ED{p;#F^SinKR0+&*fi5lZm z?;t)&;YTUdKS<ozfZVRVvd*Vbyz60!PDIJBM<i+@fjf_aWW9!;t5Hr*;hhIy^e5{A z#(3l)N&g<T`cj<_BBs|$k?K;W<wLSmHzSRV<ESGwm8Q#P6`;W0V?bzsL{1?vY=zc- z0q~p~7)Oj>Zummf0fe-6)HsbSc@H739P|b0`1vCU(TB-;0dXT}?-(-4T;Lbx;YTJx zrMDn+-^)>w_NpxY3y7z+_jIXBUzL@vK>D1OOu;5>N67t^Rkja=_6Os~$eZ^P;tqhm zh=RWlB44XcT_=hLt`q%>2j*+Dv?43#KqQb-y>1+|bAHU6EZ@qhyD@LeEd8?j2tm#Q z1nrRVEjlc(7;#^N&KnGb=9$+Q$VedlF9E{8ZKjLTY6n~aazG7#D)BRru?5?KU5>N` z5g-|8a={}&t|jtoAa@Ws0OSObKLDW_7rYImfXFc*_YnCjkf({91o8!tL0>bCfyVbk z!wS-YTtg%W$m>M<1L-C*0?1snq+l$NyNHwlX(uur$nS~F1LB9jD!3ZRG$KC$ax;*@ z>wvJ4gKq;egUDtehky)P0TBjm!4JM6w9-$&DMlvrhi^U9QarHFt)l+`H}soK8~NI7 zgIqD>8R+IK<XXa9?&h+f(L5z+q<%T8;LGZQzNbr2l3tJUX6frt$6u|~_x@d}v!GL! z{oLP`n%;=1Py9WpFRHgvC(B%20I|=OS@dm2Qtd_b1m^^x?ORio&A%vZ{#DdBv=BXt zG#sp-f*ytyo*Yp_kV$*l$Quv3ABIZaNFb#|`UAO&NDh!~MACu$8puFqDhPl&4ys@V zkWm-|1q*?!BC;GvDP$<P3CI;h>Ve!z<aQuW5NQUIfuUaz268cxhk(3K<X1qJc!3-M zq9Y7`9Y2#$>EO44)Dw9hNEwm800{sYvK~L5ffxe`*qv+fJ6pdMoMYhh^TQ$~r&?bx z`L~kqXqo2B*J>OsRnC0<N5Z%6dwh=Kfh_@Ne?%CW>%@B4*O{^I9_y7WNRAgn4A{=- zZ1^Kffd8}tF=P(1T$}~B1&z=USN#_xTP5I(&XnLv6vu{^$>L_A@v@0%8=HtxH{=FO z#v5e{G(XNer}^Td^_FyJ6#{Mcy%*M|Jugk}YoyZJX;1X+&r6fbOS4Vxd1-PJK@ThI zsZ0*}g?7Nmy9M-GF!F8yawn0ifjmKEK9CL~mjiKQ9vH|>1)D*YfGYSgkaa|M0{JbG z`+?w(jYPrYK!#<&Z9EO6;AQ+A1Xb`y@`=0$WCV0n@G+3NM7n@Pi2Mf-7giGmshDdP z0~y>CNEvD#d?AqAh!g-ZiHrpD5t=@D43K+)3?cs#5dQ`nR{n$r2xEg`Ibcw<CkwhQ z=(7yZZ^3Ne2HVu;IQxqsCsAZ^E;<#Xfko1C6P+fD6ka<E%s~v{@`6ItSvl4*M_dSL z<q$$b2q7VakR?F~3A6QE&>AkGdtV^Lt~0AfilpIUSKT6|{Sa9w?H~USS<aC5qHe2_ zzty%g)d6J;A5X)((a<>3M_?kqQBLF|mJy?K8?kIf9KGdg8y&eGd69zalTp_TZKcdL z>IX$}^oAs~I3BwaCETRauDn)gs}y?usswsV0^NXoc8U!p34HlYHa>bDra~)Cp<Dvo zX%udR4zynxh1XHU7NhWH!gfOxHPU65;0Mz=e1z7{p`CL*iz{)AK<w)<(Hsh+$RS9S z!*(cgGsvN`LPcly0DBn}RpOwc8YL-HlZ;3bEhv@T1CoR)75T4<jI+NdP4z1FMeur~ z)~<qL$2bZgSn*rzrLj`T$>0?~k)ZDcU4oQ~dzw_8O;x~fOMYNe@AL)*m!eXB1j8!1 zKF*wpm0!vAYi#bVu+);Zg*N%LB+)pP_g^Fl=@se6BwVr<J*3E`Smc$gEw#xJ7m*xe zlm9Nsu{OCgpWJaa*}osj@iv*>pX9|hxk8dfaj~L`hFs&MZtfny<V6rn(T7PdUj}-- z)T0w_ujK0MkzUbQ&ybGu>m<E8&c9F5alQwgF>3jmI9;-G>2jf6EbFcX4|TzMCdj%T zA$|4g>umaK$zK!aKQ{>dc%hDdRq1_$L2sw+DtbKV(w9;|Pn6|5TJC97Ha^cWM%wl= z#|$JNGt@wu=N*$^yoJ4qhaH7enXl9++{^O%7=<p@v%t7$JdBA;ro<x1|3!hp6NI(m z^oY|17pV1HOEn!x%QPX1s$k37yU31tgJ?UaS2bwf)j4RELrytL6xmFYqvBni!{Av- z!tNFMG09u5hJqDs43RVx`Y$p$S3=;!loTBRJ@#WZ>OCF$69)dcdNQs3eN{Kuv~NX) zNzrB%dC5?cs7jH$B#D|7`Jp6Hks^OIjEP~hirfow6m3?KC2L`?3VlU#V6TcCMO(EJ zEu$eFlX8B{;+9>H;uZbxibna0P8&}C>UjEoijJorqv&}0MWol#a8>@B6dlk1kBW}x ze?igl{C|=(4O`{^Uy6?B?}?r)S-U!(zedsV{A)muS&9zO`ZzwNF%(tM7}}&=9Ho)9 zbEP&;I@31UH(Ir{3Pl8wUs^?*?B*vW39C@#XC$RnC^~JVZ51Jzd?e_x_y;pEZDj=z z;J{cXBidC2|MvvVVwbG?a-^qOC~6BSnuQ`yND`V*WZzNbLJ^9*Op?%pB5#)@)S$=* zBnh)n<iAJ~rlH7bqgfP8Ly?b466T@EZzTy=rpSy!CZ;P>^di#If_BR${X)@@MA0vh zUQP>B^f!u*^D~N=pBAO~0~8(SPbIxP!M|D2asKV3*CxtulXN2eFF*?hp<N?;eYfm& zu0fSIxJIh}4J48MuE>8UNpEnC>_~WKkmz?sUO`g!yP|Ic&0f4#7S&D)y{M?SNwF6d ziP?tgv&pw5iN-6gr<7c@O_B2@iC$D>izLyDihLC0C=PH%DkWSeJK;5%l1fnYG0<ul z+^gS%_KV@u=xB%N8kdM%J`ItgbNMtxwpcEoER^%RLe=tVh;A>RhRR%W`DCG7cGxJY zw@@yhhFNK$MGNIh%0jt#8LkpskCl{-a*3mGwPLd4xx$L$P?y3BYuL*bdLd72w8eVi z6@=BgntiHtwW3;}i}4#c1bNgVvao>B+PPT0So(mkF{H&wsOw^iB&kJXK(Sqt>I5}G zuBIfpZ7i5Hl&?8!l#V0Cq@?CZ3Zi~P3Ihy0v|du%6=gG@BuPC>=21`+<ud9&IC)Hx ztElfN*+0kyltjNkqDx?Ol1Rk_c?p(JlIU|W2pFIwUYq~|izi9kioNqC*F#!Ky(uX> zVYj5#SiHJRkdkKmJ*(X(DYQ#cFG~udOX`KmOo>jA)R$$XV6u{WatbL}tfX!&Ck2C5 zDJ2E3BdL{B$%E68)So2<pChS(0rKc_B)J*nD7iQi8r7o~Mhf2vo>~|wdcUMOe<=D> zMMHK)7gpE{BSlY^3nNXQ?K)bXYg7v(UDnftv}$3b=nqLR=fX(Q?n~{3k)rEJ%Y~7m zcaT0v@8gi=zexI}lsMgg8WuwTNdC>5S_r+WjnUz=w70ac(lCJM6Zhy3W?H9;|D^@d z_+<uiZ->6bBv_-?&OM#7`R(lDhf%w<a!LI&DVp_mny!8sDVVOL`je90Pm;BYgi3$H zwDpRFJxDSHvg`p?xT65IU>!7OGOhNftn(Q#X{eIuB0-Cj)b>i*=N9!VNudhK`$AHv zK~nRkGbJoeQX3@&i<4BZD)L})lDdVIoT_$GmK};jIg)%uktj%#-%64$RFX3;XI?He zB-x-yJMohw<uXTdoiik9=N+U-JMRQV+IiPYk|rwiKBq`K@3)Gy^Y)p^l2_Y#7l53y z6m8M|oDCg|@r&8XbbENV$WG=lv+Cq4Mj-MAq?es6sb7&|Cttyii%JTeEGbX5-N}+1 z0+QW!B}<t`0^KHwMiO%Vy^2b8&yoT{d`b3^Bsz5oGZsn;EtOQQq>xflk4Xycl$2vO zi$OCbH4@ZBx)DiDWQR&jHGS&}G*y(hvBC2-o|I3;gf^cQ2H>oLvUvfy^PkU|OO$`d zk(8<3jU5HkW-{$my5G!1(o7~TJ4A(MF`*xrKt90|Flt4G^w2$|S#u{cQEr;DNl((4 zO`!upD|F(u(4dO!L?Id%uVNzN6ax3H5S~W#l042j76v^j?E0lPb_4csy;T_~#KPc? zENqR9t-Lvot+p{a+2yFrt8NsUL?=z7*eZ4<=8Rm)=QN#1%!DmsA#KWOb%1#TsZx<e z7Vl-`&6Gow!><VaLXFocQ&+8B4V-rw;!+pmvxsZFsR{fZI?!cqF>MPJ%i#HoHtlCf z!QeTnUG^^EBS_~J#4ckWc%gf*>J4;ZL3$6bBmIK(xxF(re{U2xP<XwUAPW6tp>DXH zQsGFS;GO8btjFZsNto<Y49yDyQ7IZ$0L~%c_koXfNyG~~?xk|1Tn2Wkl^ul2?#Vzc z<ah@O0-u#y#-))dM0yX+k?!@fR#uUb78hYWxPFU7kt8$i0<a>{w99%hM~{9edo-9h zuyLeQ>Yn|e!d}SfR&8O<-lMe1xw3I7gL5;rEN5BHPs?+eKPN>cL=`$TlY607)Po5Y zco)h>=cR}u$+_UJO`6CA7Z+^FiEyo^I6o=RCA06jRqaq!U4(S#3?|CohQjommhv2& zR<g9&+T7lDmHm?<Ao~DHfHPe$lHjzp)RJcq5ge#`05Z|-L+sMos-b8VyV7dau%r@U z7{f<F>EsU1&6jE)kx&Az(h_+w?W0qvM-+tP`a}=IO?j*;uyII~cZP0@6X~hjl0;b~ zOOv=z!x+0fHfC&s*T*BoxP*K<l8(3P^Pbh07hB0-V60$*)ewuEXjL!GZ<1AkB>o{m zFyAGKgd`_hBz1|(%Mytx+7wG{FU2lT2&NP}H6ankazY;X#Y816#<Yup3rG}lSr1jr zv{8aXYGu0WHjMEzBD^axkmZL_j73{D0k$ka=MdoV4_C&gwCV^kxPCGSaFoa7_>~{z z5E$OcQCT1{rjnyT$xCQtWQHoqokPGYWK|D{_{TamF^fRDMlqLwX&s_vZ=;>g7BofN zEGG4plJ*BL1@|@}?Npp6=t}X(q$wU*hzM15H31)eXks2P`H{;g)V4KVTO!N(rP+xL zPawF3b@dq`^&13TG?x+n;SBBvpm?B9F5y>aa6M>jIs&<b{Sgu+j|DZs;u6-L!Cek& zwTe*}nh{d#5m*}Gjx)GctHp;vzDCFp)*0X$bp{w=<Xgy+X*19XPI){SIfiI<%z0RL zv0O17L=sd!%T7)_na}0CQ|!hxghvCwsVbzYrjn=_;#3LMK%5F-qlqs8WP^y?<=bW1 zb<_e`j*u$W;L^IKsS%ey*0&PHvr1k3NZ8ql+aK+N*<lRdHV|2Xpotm+%SgU$7={9t z%R&kxgzb<=6AKCMLvV;6Hb#gXRPlB_NP<%2$D$6&q%AueiBRFF#!iarcgAh;Lu6qF zT@*zKSu7H4X(YmoARcH;%DN?<wLg*<AYgnEoG<YM@x*yZk=!im3Pm?H+De0f)SXp- zQ@l#VTkVnyW~JZa2%$WJ77Ga2yAH8oLu3v_W_N00!4iNQ6iUFWcO+?u5MeJPiQO(; z6i4h@Y)Rp!D6rM6J#m2`^`3aMK8&lcP^ynPkYIZw5q1;%pYQ=$VGRMB$Y{H3Wcq|8 z342+I!dD?^V(x7K4HB&;_*9~`1ne{<04BdX@Vf^Aog!)c*cJt!X*UQS%C0cUSux>K z*?_f;5h6?u{S#1V2zpQ4E?iWDv#3ve+)A!p=Z8Q}AZTJXff8~7fu+yKlJ)smT%Q~w zkH~y;3I29FnUMNHCnnT1pW31Z5KEw{oo`nQksoVx4$$Hv$0Lw7{$ZL${%Qgr8h!4Z zGD#+wMUamM>7u2Ia1a6$&x#OZR&tO?ew;g0#<)2rqGl(R6-de*urkX@RLz&O39M?T zB_*9^C(VvmbcTdUN#imx=>!B#EF!Q<txif>jcEC8K$CVL=%O$}*p2`t5j>9I5UVys zI0ipe@m~PAp#dZzP|7Hb4>7ytER9W9mOY<<-R2OtG)9O}B2CP<1p<ml`6Wsyk|oq5 z7R?~oCeZ~1-71#AA&Z(t&`Y9=2vh|NSV5JFC8&|;EP{C|mf#8%ORz-668u2L63~-D z27+}emVlZ=ECJO3%Y-!YW6LdJdFYcb6G~amN|<P@QkP1(Frk*X>$g)v?@1;#$4&`@ zoTKVi#@GY`ZjOM0IK)~laxW02p*gmOWIW4IZJA>mgN(QPR}#o8KU)sYDz+eSQnnmP z{^|jwe*yt+hTt~{F0rNw-)#{RFRF-*GJ?eW2u`>~JfVmXKPKt*lBNS2CDm9%P>K*Q zjKm}rp$a3xezgl@zp-UDjdJDpAbuZ5fJY^G62T>IRuYo<or+L}lAx46NVrDy_u+}i z<USEwZZ~4(!^F7cZoFAiG3Pfi6eT|@aUB9WmOz=!yxl;l1H=-1DA9QY%G|37oCt98 z1gc-F?S4fpdqf#_b;7XcEkUd@?COMJ&$AVT+7i|rU+LNsQhm3Iz7dMK3BidLlD1{F z`L@6|pHg$6+I)M^lD--F?WWl2?e^H|*%A(3o3;nCo!=hKHs98_&9|Fxmv8I9=G%&} z`P2r-x6QZ5x?Mh+694)DgVqSXMwWA@lrouM7Qt2|z&H&M-fJbE6(Po~<RFp!`s23@ zA!&t_h^i*XDr-(s?)doc1wPYYED~5rtCEtQF;A$ZXGoZoG%iy%ic(2y39M45B_)kd zR63f|S2n3ILO2is&WK<v0{qE_$hAOLsrY&T7KbD#SblbEIgOMd<|72Gg9%O|$fYt7 zm2IIdMAA~Zj9dhagmwVhDEf&&<(Zer6E}3$dYepGOJHRuU|pK1O;nkby%s$AC4?@L zLQ~6_*a)f-aNe?3^obBvmCPql{$~yW#|6?8P-{>JW#n=gu>>Imzbs`f-OZ>Wn&{Od z@+4w^gFsyo(wLIwQ(G#m*UC^bTMtvKwwq5J(ef+9uM%zUJwTQ7o=fl=f<xSlIRx2{ z$_nOw1fc4QFHsY9#cc$$qFq(e1X+giZbd+sJOc1<3T47y$-=AIkRu9Zb$?bUt30hx z<d9z(epwO+?<zPGyEvP+%d}~`V4Jo}w`scyo0gT}hcni52v8%ziwG{UTFn(C4yy<? zSCC+v=rJ~6HcM2ZXt3n>6n+mPV4M@Yj1ZsINE}iTs!$Rvm=n<I_ylBEr6!={$`Uci z6#x1FvmDlTsmWS`FA%WGKiWWKZ>sIch<%0t(<dm*vKhqWb2z!{jTg@T$7D)ypG4;n zuoSt4Ao8LtZVmwpk?};T5Mc2HEclEq2g(rRWO=g*w(Cr~h~O(jCjGR5h%NW*2(b@5 zG8MrI1bXJ#5n|m4DE`w1B76X)Si}|}pkxBOt+OMEwl1O|_6H%6wuV4CiiHF-Y()~W z1*(w(DMc<!R%DGVTs3{6-E@jm6JJoXx=nsLW+kL@FlHGY|17>iXz`(r#Aor{Nql#L z8!z9N#P^+t?@!{Rro?BJpPj_#Y$3l_(uFvV0F57NAo5oPHwoujj0{qx89e!0E93f) z?-OA$+Yn?HyBvDil?YHd0aXkBu?8Z~ARwOL0hA}>iLj7V?rgC$EE*IcY1!Pd1|r1> z$VXt=+_46`J{m5EC%r1+?+{?x1cwpe3^zo4=;K}pG<g8HW1<A35RjxXLWHJ(cy5nl z2t1J>{2Bp%nqUcTS+F(Q5IGKHAo>pRd}I5ZLfOXG5Gc!d7;Pm2OCfv;K@*E@!)A0k z4qN*o5GQOvK>c=4Fxu`2j5xao<gC0GUGY~0#D4`)4UGY{JA^r(L)0Mz;)Da`keRy! zfOq4JCiF|yE{3M$cO_Kt2m*Hvgmg2IIty**FlIF2n`ke3uf357hctR;Hm<JjKw!y) z^PmW%dAEVcwFpSVF-66&9Kt^!AkE<hBFYie*p5KvwbdmnbK^F|kH8xG0A3>Tq6lFx z3<PvWAArROtbp)I8NK)w03K~Kn(!V36nUtD$W8>v)*psgiNG|3s}SIT3HDmigiD}H zWc{dt$ZZJ7YU^Fb(|W0VmP1H?1r^d)QTdD}><h*72#Roo?1Y*!0Ob}SrS)A2cpm~y zig2v#kOc(XJ>fL1F+xPy?gIANlL$;s_zVIXLGUgD4hb3~L{z_4KY_laxidLoNcHQx z4G#iQMqNXLeiMOd2#+G5%>>5~9AZslgotvRHI?Yec?e8SxEKMZNw5b2*4r2%qQ=9V zqz-<!fjw4-z`TU35RjK(CxXmNMD^+%_9Vv;lM|}(GoPJTEqkmmLO2Hj0u$6CNP&se zsrV-WIOJFgVL<ljl>{b&Lo_r-h^R4krQO$>xRS%_Ed=Hyd=~-ACg7i0N@WvKL$8{{ z?MVbCCwvA0OMimz5FBD%V}ytrl5^?!IMpz@Wemc=?cIF{G$O)!*#WrMAhHJm?IfTh zf-!DwOd3pE8@r))jvL9TL`}3w7Pa&|hW8ALKPjs!jCe4dvk<UGF9aB?P=aa%hgjbj zA;M9QB>MsWfIz_s56kGe1bs1`p`9BdF(A5>cWxd)zCsC#5u_@JD7P`!ZUswZBa{;; zj0Dh_dD02M)&LhHz=0BMLy*4zLm($rd^dpd6SFwxpR!Dc@OKDUF%ld`aER3#A_B(X zK|p*q0R00{j#YL|a<|w%!oXi!<wxixYGDIV^PvXYTqMzqSh@t2&hFGgAZpcALtxEt zi9`OgU4R<u^9huzE{r7nbD{Ll>YAdZyCHGzJ&Whw)-tSHF2j@|!L6W|*GjD;L-G`s z@YaP9b^+Cnc62u+oNr;0^PQJ)z8Faurpn_MMiQR2Fk-8U>Z77K`cUSv274I7f;kH5 zS!H~Z0*^H$d@GLOV7$tq7RHx;$(?e3wJlr#wJk<KJp|Ms>e<_9t56c0;~ql*@ofW< z#}SZ&z|!Hj4d22?I-xt5JXLrC0qdo28=ODH?vWIS43;&B`H^t;iP-9tH6;1HZ{-4) z%1vaqEgNOiV(A!VHe0QdI7?;9K`pQqhFx5_HO5hjJ^jdxwBHGq4HI61fYuSzBFHpE zXo|>d8|r;PxWvLdOPz4SK+^68BHPu>aj1dF4g?Gp0!|`Gbg030T_C<~puQ|0wLRHK zZEsA{%OR;3tLfVtX%$=!p<NHeS3h%;T1$^sg@Be2u*InCxklT&A^zN!EKIBo=bY8i zR{Oq{?c;4GN;}#>WDf$`M_{$@XoKx9k*K@Dc7c+xeIR<byTQprQ@X<U5Ii_gWE>aM zAH+T4eB0g0+(`;K8aEWlu^YoR+Y)8b1eQhbY^3~LzasG=Dc-pjN(Y~0q2D=eKVO@0 z(DRZcP+fASsdCj)E)AuIz;a)S>&+xFjy4>RubUU!3geiK#VeK*440CyJI*J25V%Yt zyiZ2g5O88(w5=-QNpdPpalLqkM>tbaSxPrM<3pcmIr5)SjHX5+Pa(i^2&|Fc)JV~( zOdMkosA=*?BGHQZ6n!rObbqvg$Zrr(3;|`A@wP)?y>>&8CaE1wa?WNuP?f#$Mc$o_ z|C!d$68$Z^Nkq7~qrwRHDpMw)DKk1@1q*CZ7;S$nfo8?HM0d{puX@AeqU||7;s266 z*LfV#K*%x#0m>q<`sH~1a3PhCUAUd>D>wATn7g2~;|)YuZxY`YL-HvHwVcFHQu^@* zx)l1(BtA*Y<c~MlDx!M)a;tcALxji@ML3i8jk9bYK|R{NpR8x{ldOhbL|RQ^WG=R| zK@WD-96I!@ct25Tvx(D&)PAYC(oRdg(G%P6E9|z~^c<^gHf`slaZ@^!J0sDG=F2If z8ko&9lIp(P&Ua>gO_NzShZ4$}Nq9cF*(J8zXUf+!`AqqmCfoH;2b7WRCVWicGm~VU zmL%)UBw42=_LvDh@knC}0$e_UHE})FNaQsH#1qgI&_ho(5-CMMJb`5%Pc_=|aYD7) zR7J>k!Sttn<t{m0AlEf&VcuM28(e~G+Z)<eWtYbVWGMpT@H$N`Ch@#zM!}ae3oeLo zO?e+e{2`F_$AEG>$tEOT`(VVVhd_+x$=^A7?Bl@m<e_BTubh*Ik<`I?@<1&4QNxx- zrYC8n`W%f+Ptu6RP14A8t2ptSzr&jBw6qRd1GM)yt-?-AxEzBUyF3E^v7EX|A}0TW zQdB3WWp7|ZLJ*SZLINg~h5|hPDStMbpd10y9|4o%6tN6w{KJR<yN1AG2jV;+6om(m zwn%3mLRx$yi4Q-J_$<CViSM?#$ANe-i}D19FbjdlLjXKcaERL)B1G`#LyWhx<pW`B zIMESKL%`0LU?+my?h#Qsn#=3n!w5`HI02<WU;7)0R3V`C1gu5I6WM~m420VdaBe_w z96_EN5cyEWe-5BDm)Ke7p&oXVeV1r=8R;M5x`Lvy%XwIjA&!~FHUKpl$S7N7iA2aH zKNeq(KnatZSB)ZBkY!L5{!D|Srd1K@9p@nsIQb?}Dr%`BJci)H{R;jk0iFYaIF0}n z5U``-JiFI?qUFg(=WU|D%)t(%DCxLXV!Vtk#vK^qRA0^_Q2JYBHxqK8c=;u_k13lF z&`Wko9x~WT$-Y6dXWJbCM`?5Ofeb=GW&+E=X({r1z%nij)~V--yX-u1@#%+opF`k4 zPfqu#imM`|aB!Vw!Izg7^ofhioY~+Y=S(~25-T<0D))j%-4H(yKS2I|1luY1iI6&| za-31(P9;l)UCIW~PpP=Lb6X20=OIc%{$9nO!R^a)s?0Oe(sYq_I@7X!z)hxo5&;rb z6?}PlLH`J;mlb!0UHc6{Zd19dl5$^a^C^i{`V8{hl_c>NG2P<`aDfCz!KQW3iYt~0 zXgV+ef+WAd^jr-k=bL>-K2>l{a)L8&W8Rd~v<O00oxHe0=`tS9(MaOQ9pRJUzavE` zju4(ez_yn_J<q$PK|arW4do&p(ekq!!C}tER3l*JPSA`XufvJZ*&&`lHMB57s7`Aa z5&RCpA#QDq5K*<9G1&Uc5@r)Hr|q_EZMfj3py<TI>14@TtxS}X8C3DLz~slIEH?$W zmqi03b`^ALcm;wOyOLC^5=5z-sx$LJ!1WMN2T*Z*xUuLF2$<ansCi0?f40*<Vs`^0 ze#8hQkYBRs?3bemcs4lAiT^beA;Avv;pnYsAPcHTtlec9GWHh1NLdLxkQ&WAiveE; zj{N?cRrL8=RoILH`Z-lV4YvGlDNwTP-Xswtw%ln+k!Q)wHsk)+YK43x#VC)}Ny$a0 zS#e4+@xn9Ch(1s8ywRpr6%9--&CXUd@T~GO<H;2xsl;N-s*^ot6QtdWK)*H{e7-yZ zK7(*2f*)6pUl|4K_|yN(X$1-6=8&Wj)3c!f`6b0w*>Ut|G+vgPj`ZtQp7;zg12pr2 zKb_F3^)}YZpFZc*T5qMcYhbPiRb1Q)^5(JpthnXKuwF?r^D987;?J<lA*3`|7ZBWo zpw<P%b}L45TIEn?5mbT8F-K_Un-xjqn{{r!+019Bot>06J}onk4*}CM0VO~ka~N%Z z%#S!(j>WfG(%*4haWzBuA_9z`fGx)jLW6v}T?GR1h?ZYAeup8@Q4x+ufVU-}0_7uB zBG;<;)c|Y>lM~X&a7{zN`!acxLqyebB>|6snVgV)2YnN4L6FxsMD9@WY@cdZV%2C1 z2(?f?Re4K*kfmF`t#5<``!Vj8?M`*`q(VCCMDdB|Wp?qDFu8Fot{MT=CbA_~SjpKa z7TqtF+sP$R4P~l?zoRg&#N<sQ5vA;f1Z<~_x22E-BIRe-;l?vexay?QZ*#no(+7`X zlAI$Af-+$c#s}sJ6xdhA#fKH^@FSqh2o7PV#Dy`y2u$PH7kt`4<e1wYI>e4+yNy%? zk7wBoVqYVGLBRiZpavVOus_a1SjP}-k?0(PcT`o!8i?3c&5GDnL5gDy$(7BDu(DTV zWpfDLLy)P699QuK6hy`+OLXSKX}A<)Ho?0(g{vj7g_tdc@L&@U2EnHuS>n45MC``T zPLijV@*F~7<7Y>RDS>JUPQ)3+C>6?07VgZ|nG&vsV70Wfg#@1?pjAg3h}e?WBuTn3 zNzyOQkhCUA(uK*A)+9-~Fj>-?NJ7$u$&#MAOq`9=7y2zic0KXr&*B?NeDrnVv-s{L zJ`64KS$tm-pDr~1S$uyIpY|O8EPi$pp95Te^pw2kf=)k*pFUF2n-J)13ExA&@DIQ^ z<{&Vd@OKE<qw|`z3W3ptvk|a*BiMr=Uz=pZVrC;Ceks5+3N7=(3n4Hk;S&fLAv4n8 zoe}7?2<s3KO>i56yp-jY>x(M>O#uGm1|*r3foc#~AmIW8R7vmzf)u3~y5Zd*;_m~< zL8k#-4zLA*b$$Vu4fA9vN=rDe2GUEaq$omICRI{RKy7h*N_bL6FVvwKYKzf?ha|54 zT1btwnhkI>Zz3=WAw3Ni^mjO+9R$`*xDA$ozB%4NB!mEuO|w_SvYOycC=*FOYaqg* zi6ox`6idw(MF<Zf$YDd|C<2QCpl6{3gr6bEs)&3c8O0F;mNo)`i3r_N(eu9rC{I_> zgtsBU6z&BuplGHh90E<E$fiaj*3B9pF;K%yL%0K)Mw(9>h|sG*G<uHr5Ts~;9DBqC zMwds9u%d_`P>r_4yv3gBBfFz8LYObRqlRD*f_%6^WP*yPZEr<jrxV^QqveCySAfd- zn~1XiYTEo#*^`A4LS_GR*?S+#o-B+Is-B#ag{~Qaz`_ZY&0ophD3i*?duKpp^Yi)o zgm%x=gdZZ{o|52G1UW4dQHH*NI<G=ta>98Cn8pZ}B1p-JsD7#Tqc8YRI+>hfM2Ftt zd<mQg4pHA2A)*FDEeFCj1SThJMnJC+>_m`iB*LylJjco?*+Yd9LUnRIhhPJOJUk<^ z1pz~iovAu8u?(6A>*oZ>P9}U@nf>-gB1e_k6VUWwEZZAtuv||{f{u*?SQ7S#<>20n z;KZR8Ut<$z``n67S}!a|mMsWuF5xx=I1_?)1nF-M0eMHo9|wpjlw<j8%OVJomN^Ns z5M<7BAo9QDiCO$-->VRiB!))H|38m9`45&&1gu+^1Jo&$U;~1D97BZe07*Uq-~}6{ zB{XpI4ChS1YYX`}ra#m)R%&hT41hTbCAbzro|Y0({$%bU=u(Y$$O4`6KMk{V!b${) zORxb!w&*aB4^;eL0hCLaWp@H|K7%gi7$(kf%xRQ3G$cQcKd#W|g&+rSu7MKJp&96* zi{zYq6!{c&5*Q5!$?QTnbuB<ZuQxZ^k?a`drwb#jMLFlf$mhV7N5%^hbb)fc7@6n? zWq5_s@b*Fm6o@}vwS=MAbgIgm7DnhiX?%<)q~c@-TBGumC^fE@d1nu7HGmfqa1gT? z+iR+p+Ip0Q+Riee5~@?y4XE5-Lakq;k>4t{60p4}Wq%{*ntEw>H3V!s;*ZPKEgLTh zB7Je|ft#YOjq(KwDcU9O_YosspwOwQDQ2-f#mE}$xdh!~&mM_#Y@34do?jbsI{6M7 zL3RSF0L6aWVCy1L78SxtLbC0(niPT7!TEv8kq|h_(*fvhWCnZANVXz0TmGLi{6Q2@ z%fYla7NezH&0tnzH`B;bM0+EhGZ!V8s}pOGIf?l&(VY~8j`v$Q9+W~rAM54``4*gz zOOLB2#l?0*WfgX(+byx3r7gXTw+!C)BglwX1?a4!(lz`@!gqk9sRSJAJicUG*h9n< zO_3eohB@*oVitxIZYON3WNn<wvk_3sXASmTE{P<;n;Oq2cv6YB{7F&qVS8TVqk~K` zzJ#BwWlN7CK!#%tMEFnM(NqF9RmR(GMZ7I$!jSBm6NN6YJu5OdHQKHfIq>fR_~wQl zHXT8}x#7PIz?+*a)TJEle7iQ8o0BY`n!)4=WZ$FTZ^b-hSInN{2!kOJsL9|*qCZ-o zCWHA2FFwy6R7m_^H7R7VtF#+<wjr>{c=u9t19pmI5}K=862#A^SwxbqsU@lFgsgJ7 zP+q9rUXNpG!sR%Z-K?9CRk+11+{z`L)Y7LfK|q;_=Zm(FKKm5`jezp-FfP%w=F2IR zviIg0cCRF#1)N!4(`0%+_6E|-B%}`jUdg=5qc>OD2E=$<or$%2b0uXtu4I{+B+IlU zS!O25GR^ML<nm^tV5`0=Le>fMvu^d1B&gzIhh8wjB}EU2@~Q|qH6*yU#2Df7wj_ST zezWy2J?uk?IK#f;-+~;}PvYwRSc7%N&uFU3Z~q$*xDM;TfFPEQJx?Y^Q`U1cF_ydX zb40KYInGlWCqqsG=j34|)o`9Xwsy{yz}6Ct(CUZjN&R5G7D(!c=}G-yag+LCx?L0c z!Q$FAocJ$T8Lf&|gr5DI)?}AU$^R#hu~<GW0;_leT7Vq=wkfE)IT{7~S+eX7S1h}e zQGng8GL_wth_|~=#@i}Xxlv{On*$7Ph2ReeNc}(~5&qXjrml`VT14_8Hd4<bD3|CQ z0;WaA{qfZ!;^beZ;x>^5Tl~bo7$QFh0j`aJX^{W9Mq3I9WXmAq!H<9Z&w)G{B4oj5 zpAuPoBZ&|7CO(VrPU1t)>f?&H9D%0>gi8?MzX?tt;F!B1LS!{ogh`i;`N&PtImHw5 z>IZCs7ZK#?I1#o9@$Ue*Q3{h2E<kB$=97&?mLotd1od`25k7ck2ErE+uvH=ONY&%- z6^NuGAighv(oAAWOUG0xtDi++DXto*{LW&l#<Wx?OS&Gl-6t!apJP>UmI_9pC{$0t zI`EGHa4~^Ni3CgJ_;tz{Ht054Rt<rAC9;@u=gTJ45Ku;}_mEM3`S`V!%=}wq{&|VU zj*nYvA0!=y06h{|t(ikzXCZLs%73+lWd|tsIi$9`KEbpNAWc3q!Nr-%vjpkc{~4Tg z@z_K~<4m1GHAtbV6GA0UzSct$Ug1M1f)Ik68j^yL+JoRl%n$9FY%QhW_6|3@)D(Ld z249w_pfuj<|D^sWAUACn{_k=^{@<r8@nw0zms1P+emSLJE$`L(Ce~HILz=Ht`bt8k z&%xjDAyqvu{`%H4!_8;qdJ!rAs&dUBj3H!;FDnW*$UI*L3RYV=$YGhi@E0B^=o~(@ zA-~6w?n4CnZNh}yQwsV@q1k}MB{k)KN2Q-hm@K!fT8gZikjO>3c|3($rW3~HhQxiP z$V$Nek+bAJhi}VGS=nWjo97!&*>%k`Z9cWrOYy7hIQENE#a&KF+56&ZhKfGF;uHPF z^1eereKQD|cgVT@dtPNHN}-iDBcPO-gxe83e43&zdn0e5<UvZpOWCRu3ZH>w@?-wp z2$X`Yu{2;RuChRGuUS5!)k0}XvW4e#Q9?HMi&frqyF9`nh{udUFaiOGc3OnU3IsKU z5nGFZR0Q>LMshLtg23EHz}y&Sf#gzVMOX^6B2jX_LYZ$i0lCOWhZFxiz%b?sROZ?^ z3kb{P3}%;2-2N!Z0|=ar2=^nvQxSZCfa9lz2oXw&cwqADg<lH8*@CbP0iK#*Il|d@ zwJQ<FnwZ>fJMQ0DXt@*)F9iXsWF>P5u0)WBkwliNc>ZGw)%wJoL)l`o<mMRw@?)G6 zY1#i)l>7&Y`5>Sr0?Lf$5Lo)G1{(huPgz$2QeNT%QQ{CO$hlTP;S*M%N=$fVDk~r1 z%(@e0x5NvC?NBF$vYNT<FSeNnt#;eb>H`XgOK-|W8IV8G$%&(Ors5!T!tXa=cTAkK z0hUe#?01`G+d!&Hx(=J*{a|OKa4(`jqkyFI*c-sa@Wf}xU;eQD{5ZMt+ilT&mc@_H z{P=O-!|z%w{`q}v@qMa5`OgU%-<LnuM_qC`$LTj8p+CY_<hvKa&W|YB-%Q86OfwK6 zA87_5=qTTfVAlhde5W)DkUjqvc*hXFK(N13Ad?Wv5T+r}oqmcCL--1T_IAE}VEvEk zBL*GnVlyPwwQq1@r{P1D2-@fsH{E#6==ImHTz1XMwLe@p`o^nQueqvj-O6i5-+2A< z<u_b&%hjvFE*^d3P0QEaaLt<0SFc-s{Y|6StX?+y>Km@RX>?6Z^;J`VtiFEjiW{#g zE-WrCEGix^{&uM=Zd$W;<l38Vx?#=e>y|BJ7<t3>E3aOC)5x)-N=6lpME-H33dfAx zFn;V+V@t2Pdi9OuuiG&4x|Qp$xq9jKE3O@VzPKB%|KGjc2Y3`!+wk#ChJ*z|=uJvC zfzY$5^w4|n7(fZBBoLC2M(;=$5fK4tHXf8B0s<lm0wN$HqS8b~L>?4SP*4Pv_rA~m zH(7XizVH3s^38Q+esj;9Ip@roGn38CW+px%G&egdR5m0nH!<mdw+2$0sr{pBVm9Od zPc<G@{KE|q8lRezEk{psPC`ajl2aa9ZnKR{8X1?CmXY9;hn7nemy;q>(mAqo5)+e> zWm*osoUxfn*)k~ytYn#*k)I-ea%^^NQdU-4YIcq*nY##+sbnRqxmJpf&rMCs2}w<F zq5WLGL}-o}>zvK2O_(*tQOg?ZtQoY)=3U4N(NU<50`jNo>r{}A%v7LG4b;(!TAI=; z!Z*fu_fu7MPHi3a)lsmH>f}##)2YrnO45-j!ITxIVOJdu%O6>J$ujL-$11llBES?k zRhJFcky+E!qq&A=%}%wfG0}kmq1C(#$${nGy2V~z(Gd--Tt|a?)dR!rk&R51n&?^u z+hNv!JU`=>`BP@|P1z4ML_yU}1x&bFSF^^hvPyK(nO?1YSNZ<a9yrx3tf>pT>nL1D z9d%SsN7gu}!OvmHF_B5#OJ|sblXa>fG!-}5m{DC_YVtBAMdgR4X-yKVsL9r>Xxdu# zwI*w*Bc>zr*E89e^~^jInzhV4lZh$Ll*HNv>pXg{S-+r?CZ~dKW<9CZ@t$PW+tnk` z%>GnsWBQjhc9*GTk?8yinq6gfi%DyGWkF_U$`sI5*T~aRuE}D|G^>Qe8WBCDQIK~r zk4|#2kXLk#$bh=0Z*0`0rhgWcV5ZC_nvrP&Q@JTM+10yzXKd0HBXwj7ubMw42bWGi zsiST>GKYYvTtTf(XhvqKDaRZPR-SIZcNHC3CAAT}t;{Y~8D~q=i=WaAtLw<*W!l+H znffiLX^o4{lHZ{PN5nE8FU!wa)f(+|NVf>7(m>Z;tRvHrOmmqH)GhPK)XXz2Wa`#P zmll*}=9x82Q=710<D`>Y)w)>mPOG|8_O(^bVP(gd)K;-yH6zo}bQ3L89c!FvF;`d0 zGSjh-D9@B)M)mTSng%W?*|exDpE0J(n<|@i%&sygr-I}KQ)VBUbY{cN0#i$~Q{L6` zTnGH{U1sZ|b?Y2m<W=ScO?}!&`c)e%&zxIp1e*=ESI|{Wv8FN2l-Yl#mL@b)9W<TU z#RaWwDpe4gDYNM&Ycn!cw(^|P(>3;L={wE$u)XXQlh)M`t}~A7*mpIGIb(Oy0(<Dl zw4n*jl&MK)U0@o(<iugmiN*9BGv7?PigBG{Oe>oiW)ZvB><Tm2Y_LgGkO}8RQ^SXv z+oRzV&2iDus$nnPwwcz>Dw305dn?xz@v_b^JFtdMnIg>TqM$~mY-?;6U2ZnP>}oSr zFf#K@KBj%mf=4#|Xl;0FRCIv+ChFu}*rPMtk=L0Qjg~#5hn?;q6IewZY4xf<Q8%z| zr_jj2I>A~wuTbBUS{tXgv$XGMow5(tae$7@P7bMR6^p4B_JPi@%G+0|riu@pvP=)X zUS*<HW|tlaUR`|`YEoaTxOXitoif{CdSAhmrnIK(=vf_E<2F>DXw~0krCu~)1*fmp z>*KCg(gri5x_8}&@-l5?j%L&9rrzdsw7ia0YL|C^d87ImXJ|;M=?r#LN$=n?nwdH8 znzH|^Q}(GLfgyoi6D>c7eR0>i)kEusb~E+4s`+~dnPR5uv?=DlI%R*{6f?!jiLp}c zr6b#0OD5Y7*<0DmY1Uuq$i7j>U+U=8qo(XDLj&qnuUCEb&sEl0!FD~fds!7?e6?G9 z*-a1dwThX3S+H}=)L_l7U^kftw8pKf7iU%2)!hnBj<W|_CCzztjjwm_(!Q^!X_l=_ z0i(TxynJIc17FLpi?4Ts(!P0>TLorV6&x+CWYd$RGKVyQX*Sd83(hP}wda;u)zu1i zT7w-?-p$H&)?{Axs_w4km#pjBb9HQ**o-DW82+c{*}tnFR6nTe^wrmDTch>J39v@T zSfi7z2KH&zwMni<YoNW_%gQyIY?aWNuEW99yIB+Kko-9)^Q>at?MzpF)Ui^~o~GNc zs~l&Q|J6D=sf(4m!D<_AW#w2G<gernljXp(wtL02?Ek<A&8@y(R<UR~?N~*eVS>Xd z=4=|MtyRnsGOlS@wV=SNK~+Na4C-Y@)(Gz!`Fo<0YfprPhSZeJY!_&a&atXQ4{UD5 zyN<D7yE*twz0LWnnr@GoDmc2b^cPXdU8}8HPHUk4()5b-wO{nL|CZaTiXMnkny)p^ zZcdC=X>%qpzfh`bUiQN}{vX(3O}fj$9VvUv8na5yZb4RtLr#gIR;I%$=?t|pHdtel ztphgus^->{_Ft_!-VyS$-T%eY!Q*-|DCV#~*R@_yXuZ&`rdMCljs2fL8RVIhL6kL4 zk6JJ5`N{TaW@419XO{Vwo@thTWb0xMdO0FXd)N6-cThbZ#_Y0M+DlujCnsAcY&ll3 zY4-9~3G;cGBj22Z<aA&Cp=?bnJgO6|sACo1)zzx%v=U4giZI9ZL+7J{Zez|z-L*9f zjvtTnQMjp#@2>^F$x=0~>9gkG45>EMs%*b#CDARbn{N4^KXq2MibPwZqx)GU?a|ib z(bgDq-jv^oCZ9(g=cac0J27~nb#hX4^RCu9FW2tcHaXhY9By*j{g(zS$f{sNIZ;fs zDju>nO>)ZNS~A%>V(ZfUflq<Ei+D93X8kP3<{}@5_1idSWhNX}t%cS=ryi~&<unm( zB}ZG8oh{xCu!baC^`fo*j<C=gb(;qSwys(~C_K1oXwdyoE6ZW|JFP59;E)8C(>cic zrjU1AFKgNO=z#%N&Pn;eA7qW)AbsJ1zi~b=wb(S-DILXOZJiulnF)v0q>I%t#%kiQ zV&p@K)2iaMx;w2%XGrtBXRQuStA#Tl&}!oh4GRcuQ7tIAN?>(+v*uP<7i&=T)aF)j z&RVN@wADMhTF{rxt&uTS(HN^(juj+h@Ah&|j(*^ekB^FYwWuE*Du2Qp%X7#Pvb9LE zOn+jg_u0BwzuFzv0_oRMY#Gxq(mc{OP345<v_?3(1_XswlaF~-#&n9RS3RO`gnSHb zAV1Zg$ZQkdd{~rKHQE{yZIyLu8zoPxUbSUaIq`-D1cq0wZe__wGyAF<Ra&GRKKxEt zX#LR89UkNL@_8hobBif0#kw`+f`K`k$H>88r8%s!4jnHjl5G8*7vt^c@v-jHB3@+z z!et|l<~e19wij_~@KK)A{B}spic5@-&?`N$=2DL>HajIFD<?iT+00AMN=mZHYuDsW zXtAAp#>%yz5wSV8(b;i%NqQAXuIrfjk~}skJ<--JJS<#C5ju+0QIw7v=%}HN8tJHs zEj2kV!4})AXWz~-v9|2gVd=x-Mw*O9%k{w|lT~iI&QD5oq^9TCV!L&26FZ=NpT3=Y z_K58_uvdFqY;s!Mux!aKJj~XyM}J4#@NkE@qUO*GgJDr&QH~I~M46D%TrPg)H42H7 zFh{OdHkYegIZ0ze;+n{e<g|>qoDjKK*gPdJD^X`;<~Gku&diGpNepkOYoz3kj91gL zLlRTt(vlK#n#=V?N60WoNY6+|h%|x5Qg%pkug+~{oSd7UkdvB`9+E9-#cY|E7?%_0 z8Os`to5*D@xn7y1ThPE3D^(qllx4Q3iL`e_iY+-YOD>e9+7ev5rJG(YjqN+2bGuku zY-UEbwthx#jx9AYGs3i-?h?~*W}|fHjm*%Ul$n;AlMt7Xl4MKENFU}fqX*iyTX>}I zpU5V*oUGJguB5S@`}S-bD-{V(v1J!rzjN*DxP%e8nX&P4*-5t8jO66(q#Tnb-E@ZJ z)U>4Z49PDlTz2fZB<U^Mak7%)5?Q5l`}XZ+r{^T5rrToElg8xOOec#?NQsj<dhsz< zHa$mDCybDb%8CDnE42TeE6-9~mQ4$icW1}SMQhm@si$i{6jWJXujkqMY`QN!Dw&X$ zWU`TiC{l70qRh&!e(Y)^$u=T3Jl1S+tjAu^j%`*MW>z7M>{QvqvX0rICWn;lQSu(@ z*jRIUG&Mcey>DY<N99VhO7lxY%ks>)MA;TaQwxzUq)Hk!u%+i@jkU$*<;2COCAoK< z9Na0koVeUn9c4*Y=?T)iq*uDSmDzEwLp!{o&72#|5veT~AMV;3-H`O;k>MWglA50C z+PLHhvyI8FX6ewmTl?6|wA^ghOxbWfqnP^Zb!3kWk~6Z*&i~i`nwpuJA{{R+(Y*!Q zSemifyc9ViQit2}d$`%n*`u<w0kie2rm0<fNB6DiX=xc5(xau3+zm`4#A*qqdCiH) zm6e_y9r@YorpvLT8=0Jw9Bz|iQrcGPATO5u_xCpb8~rxaef3<<pXL-8VUq@tjZ4VQ zicQE!%N;34RY8xFV^VrkOwV5Jdx*K|x!FnDIV6FevR(aCw^Ht)<jCve+O}=#sNK!n zW^qWMXH@r%mO2leUgi3{d{NORZ^*bWpWG(+`xQ5Lz4W@h4tm$Fjem_9MV_+HEIiA1 zw$GeGbFF#a3%uI<xAI<J)W1fXVh^O(yL*pJ-`anu^^})cp}s3?GuFF+|0aDa?+;x0 z*Y-%ScMBhxzMa(PTmKrKdFvg;N2YD<A7f>>>Y{h>+=JeEd}R7|{+qq5m+YoC-Wv>h z*UvrZoyte9*TsLQmler+gUx!~T$}Vjo9P|ON3JjR^xo%M!Ly!vhw|U1UtrREXHZT* zcO^x=bNR^i+WSZQ^eW-g+ux^8ai6|^KK+XM^e@`lf3}wuFRc{a#<!nuf8Rd7eSLfR z_BMOmW^;Jtt9Mh|_}gblujpL#*a3fAn_{i~Z3m9Ej*ta$dK1s)rTfsQQAlf>Z_&c7 z?OsK^ixw(fsH|5xuL@R0uS#Bzc~|kOCKn7ma&=95&M9QOao;n6rFXMD221a0c?_1` z*YX%Fxw$1@YBXzUzxI}xo6MvtxLd6=ESt|m%YAI+Sl{(EHXn1xIV!&x`4+gxV9EXS z2lMx}1+c#Mdv96pIau<=wFlD|<~ca>PXQ)<VN>4m{LPl{vU?2jLd1vGx7$Kwxh8i# zM8|H{FK8CK$J)BRMIKteh<P58uJ8Isl_F;Sl>F^=rPu$)aSig{79N8ot^MHk6tgvx z<(i)!Gv2aX@7NdYHdlJR3-20qZxsxdJWTe%{N%qlJO)d?8Ta6F`Nq1(V9A$>A6#C_ zlz%zDJo!?#$6(1np*)ygP7of0CB4DaKYw01TN|cJie9F-<S&%=)$b`343_!Mf@fT* zAdo4`R{5d0>O-;irh>t;1r`J{W!b8m`e|KUgMQzkV6e>hA3Worf<UG$>3!Wj=4d{i z=M#<N<VW|Xp2JGZ{*hbHCf0LQY1tn$C3X**eu?~OdOa7Fmi_UXd!eYyH#`(?lUUR1 zIi|Gij{^@a_qfrmpTXo~N)0}+MA>R2nvW;)XOa1MmjA)dBpl|NIn4EG!`Y~D<1qJ! zrr20>(u$Q&AbF4YDD#Mqww`OqXHbuo%m*kw`@28y6=dN0*l9jD%XaBGvS<_6Gsx62 z8cUa0tTuIhyG^~Sv3#p*vowq@Kc>p5<QrAy-z3h`bkcCz=DOZ#l@pjg)Vi0ZlP*6< zmHGN5A)TMa{KqtXOX?-&kk2%=x$6}uMO(=?X*9j$zg?AjUqFA^#~L?9{T{Ez*G0KQ zBH!+lpEj;<<x~^(Z0PNDeID_S)UW<aENYci*;Jc%xXtu(?+91DbbdpY>$yeaPB;jM zVlt+owvVPCi%;P))V`_9wNI*V;rn<TPvJNC1L}U#^={xjEF$fr^Zl_h%AFE3KN4GF zS9}~3FayWqEPM{v;6~hqAEEi3BK7!=SifJY^}36C9@e-V24N^hV`m(I37Cl!aV{>! z)wmva;C}R$-z!>vVJw3ISPvUwYt;YM)%Av<{_~{93vfAZ#BHh^eENSE-k~<zm&893 z|4e)j{p4eUrYoh&dO@n>Uq=m=_d&C~C&n;8jd&FCA~et9mHgHde~5=w>F;M$S$+Yp z;7wJ^yRAw(e;=0>R7vkZc@wyaBd{5^!|pf$V=)Eua5B!uXK^{cf*bH{d>=o;<9J35 zmhHkT_!maX2|<^~;WPLiUcvJ6F-Y6Ls#;xMBd*H!H)Vc%;vOv5f3nv08p8Zxn2BR? z8qQKB{X*hps1Kpma@ONEd=C%er+6B_!=Lasyr)Y2ee5p%u>w{>{dYx8w-S$IfPDPY z`K>V>=cv*?3)MjRpL$j5y^;Ali9cZZhpKGvXUso~-{V!hg?Cg*Z^;Q=^Yz1WSPkVp z^=5ekY=Iq7-zBc=55#yJfjO$we<IGrXK*R5#OoL&A0u_W5x5GEqg-Y+?b8JJ;!*qp z&*4S9hBsCDAgKQut@W>p^)XzP_Kzm+ii0o}$KY&y0oSRr{#IiBuVsz*6Mu%^;x)XB z`a50gRS9cjBkX|vF%h$I8a|6_@J-x<pW?Up3*N^PC0z9gz)<XpgK-3o$0@38?>yp# z#4i%BA>NETagQqd<pA-=#K(zG<9WP{*Hu|BNIsBixpmYsHd|XYRQ{_I<1iDa;6hx3 zuc?yH9^y~%9A3dYSfrGz9R0^#EiVFNFa^ipY+Q=#a3>zZ(|8$gqh0>U(Q+zcZ46PR z-uf62-TtP;tyO8G6jjz6jWban1EcfT;(Ar`*^MWee-VE}EkoBUg$@kG7T6u1z!5kO z=i+jF19#yOJc~c!9V}YbRgcH8E{3U*@@#EYj``lqABq_`2^ZiBd;{OXLwE`=;VmpA zAAGev0x%S#RH;WZRqD~2cntoE<>k*!O;-(Tq7xfpOKh)Jkl%}{l$(a*aIz}-%^`jP zU&F2V0UpP1@Ml%l{}U}KOUo&VRk1EM!uHq~<1hm!;yhf2|G>9#KYoVa;x)X773E(9 zv|hEbF?PZnoPmpRnJU}&D)H;Y+lb#GK0th!_zU7Q#NXkMcwLpc-6Fn6>?MB?>HJ7l z%59>`XMsMd)PE?Z;{=?C%kg#Gq)I*qi9g5h@E80Gi^(5|T23Xbg$=MB_QiM{g;Veu zT!kBPH-3y~@khLkh2=7d*27Pg`j=Lv9V!x6Q{^*dBURG1$G#YcnK%*W;xb%^+wlON z!1MSs7M9;3TA$*olwXFpHb!Dg9D=F12G`?Wd|WOAX})<l5oh2E+=d76IDUcW@H}3| ztN1Jafp^hMt|@5wI_Td&^5=(9K28}+pd98Vmfd8mfwGE;WmgzAE6t}3cEJ8P5K~n7 zdms(7aWqcCX}B1d;%a;a-@r|{2lwMKJb^#pk9Y_FMj!pVS?Xv0z85PJo9CHH96}t9 zjWHU#V{eQ_^Y^~2ukXIr{LSC};zZ)9I0v7`7jZTI1J~m__#S?Uhw&7Cg+JmoyoG;a z3H`fW>Qx47V|{Fk9Wfb)qyBHRuCLdL)R}0m8%Vr_csag|Ytj6px}@7eybJXyZ<^mh zJc9b4SvvnD{)9iHkL6lk1WRE#48}Sbf#!OI<lCIsT$hlz3vmzBhly$VgD?)0FdegS zEKbDvxDc1&N_-X9;XC*qeu#(h1fIli@q4_9xA8t&T!%2%MPz$Q5(i>1hF~~0#TM8e zJ7XUlfJvB&?&~PI#1n7|&cUZqUrVO#y%bmDE4TqS;|_cmKgLf{pP8ZgoyG6*pJ=Yj z$Z~xxlBO%<<I;|$upCy!K&*}RF$x=FYiy7GaUc%GL>z$`Xs+u7%ROG=IrucLz%}>} zT#s9DJAR0V@dTd4ukkz7_hxCk{ET<;K9=PAPFbvs0az33qWgMLBjQfj4g2EbI0WNy z6z1XtoPx7(9xlQqxDsE&O}GU=Qmfl+AL9wsr+exA%Xk%k!$0soT3jb8j-@aVgE0yl zV@qs{U9l&|Vge4wbj-tXI2RY-^JuP*$@aWN{2IQE@8DiMfJgB-p2v%L6|dtTcoz%V zUF~Sc5?BTwLwy6Owzm@_uqn2{_ShNw-~fCQ<1iC*Z~{)jSvU_D;SzLT&wGhjpJb@@ z+<;qg2fmN{@GyRY`nXM9|1^G!-{VjCGv2~KQEmsD^$TG!EP>@w-`=X_1Y$5oVPkBG zZLtgXz$Y;dQ*k8f3re+|F*pn7;UZjutMFyqg4^*uG}k>P-y_8OhGQ+~OFV-Y@Dg6b z8)&YB%6fkjm(c5v5|_cs7=SggE;hmD*bX~ke>B%eCEsM?;h2Zx&|DvtbaRQH#pm&5 zT#H+A2kys@@GJZlFX2!42i`^V?nNozPp`9z)zDmzl{kzz3gxRrCS3>Yj=gaxCZf5X zEBRy)=ixY<icjHuT!=5=i}*6G#f|tD?!?`=A3wrlcmmJh*LV>x<1hFdn(NTAJ-&K9 zSuBnE_E(LAuqNtLIdy(RY=a%J4-UY1OvWtC!)Z7Z7vU0o8Q0<#+>ZP3AfCXJcmXfr zulPH9>-B2getb*~lzxN3SO=S7OYDGMun!Kvp=h2=F8SsVo9pfp&mx|Oi*O09!k2Li zZpZiV13ZkM;Me#aUdF3<6K|tF&QrJF56fT$48ZCbiRQY#tk;sbEq1{k_&5$mecZH` zmyEeM7N_D<I3E|{GF*wTqQ2u<^WA~(;y%>3`s(se@H0G(=kN-e`wEi&cj7zfB^Mqv zA0PC?l2`#Nqj{dTq<0cG#HQF9+hZ^6hvt5TtRG99jKgsh=Hdi2_cLU@S;XePhQu!s zzlIy}E!>Odeukts_cO##nSTnu!YlX-{*HIhOYb+x`abB7rLhuL#rhbAjj$QE!4B9T z2jWmn#1WW*c{mQI;!`*u&HWXr_iEx-@J-x`=6;K$+fV!{evaSb_xKC`hK2S1h^$`> zOJjMgj<qlf8)G}{giqj59EKxs3{Jo~_%yD@SMV)-8$VX%8sVpS63^my_yhiozv4ZV zFIt&=3S%)Whn3LWCzA5&6Gvhr)OU$%ecE7G?1=+#5GLR-Ovfyoj<aw9F2ZHF63zW5 zDgO=PZMYNn;C}oBKSO<_rPlu&yo^`T+_#eDe-L|>ai#acvRDxVusYU7CpN-n*d9A$ zFYJdyFdkEJBu>WZI1it})%Xgo$2V~g?#GYuQ~Vac$1C^?-bYLCXGuF1!x9*P)v+Fi zVoPj`-LMx9!FbHVJe-B|a1k!S)%XgU`*TvyO~gC!T|9!v(A>9^^j{HQKyx2Y`vvh` zwDi85%rA`oSQ;y%x!))0Y7*DQaBP4runl&`?${p(;!sS)kvIy?{X;2t0`YX5h0ow~ z_#&>xwfF{Z!R`1y?!&|Q34V!Z@H}3`Yj^{1<2|(WzM{4-mcTMt83WMV50&(Fi6hY5 z7nS+ueyG@)`Mt3}K7m6q1<id^SudA(EKb20I3E|{GF*wT;yT=n+weU!_gkgBL&Qh% zOFV-Y@DiH)v9jK;#CPy-^wImFvb+eE!g5#z9atOdV*_l0t*{+-!(R9}4#or=hMAay z<8d<1#`(Aym*Q%C1=r)7xC7tCeRvR0;#s_am(bitmiD?qd<XwVAH8p@?TMwZ99BUG z*1-^rLUTV_@@Ylf4!dJ-jKL=`5mPV&vvC4W!C5#DpTie$6~2t?@lD*0yKp~#grDN) zcox6Gf8rJV6@SOS(Od6FYrA4`EQgiQfi*A$!?7_&V>|4GJ+Uu7f#yEDls}Ak1ZH6# zPQqz82cO0zXzt5PelHQfh8yuM+=;vKLp+Sf@e90&m+?B@L~~zX%JtIw>Y^R}upFBE z{jxlWxF&{TBsRmA*b~k70c8Eb#Icx+!_j<CK+@$BPr_+92cO30aT%_`SJ8a0K=ONw zcqf|g8OZ$o#2?{t`~ttiZ}Fda1%Jao@IG4leE`Y7DEeastc*ce6GJc@n_zQnhn=uD z_Qxl1C=SCBI36eC9DEv=;BtHg|AFt|duYB7A=`O~_zZrHKj4pe9dF`2)PGtr{SW=H z99BXH*1!-9$0pbuJ75>=g9Fff|3aqYiAP`tj>hpg4QJv4T!hPU6|TiMa0_n7J-8o_ z;4wUfU*Sc(jMwod-b0&yZ$qX_Vp*($4y=XsFajH5OKgkXuon)*CovIIa1`d^1e}5k za1p+Qui+-#g74xU`~*M4(`dfuBHRB1@sDV}-y-vWC;kh~_giGXUBBld`e7NYfYmSv z>tQH1!e-b8J77=ji}9F@BXJat!$~*`=iwq;f~)Zr+<=?$9efWD;t~8DPvLpIh*$6z z{2lM0SAeVie9#X|VkNAK^)U<^VKZ!l9k4t0#z8m)hv5j!!aSUe({Vm7#AUb=*W;VG z2lwL<Jcg(6E4+x8@lX5<3pqINVJR$!)i4OdFbdmZN9=)pa3DU3$v7Ox-~^nGvv4V{ zz}N6~+>G0BH}1uc@MAoIC-ED+fIs3jyoG<Fmt33E<I@NIu`~u@O$@<sY>F+g19ri_ z_&5&1cpQNln1|zV8qUP0@mXAstMD~^9k<|id>{AWVf+M7;#vF-f54ydSNs$ILjNFF zdzQvZSQTqxU5vnn*c@A9XY7vsFa}dF4Rde|PR8jt7Z>0PT!U}oR(u!t;3xPQp2l-{ z1%JWc@eaz<PfdR-jOFn$td6y?AvVRf*bxWdAWXnvn1|zV9zKIhaRt7Huj6LihP!bu z9>*{6EBqEO<5m0(|3KdwuJ$O3rLjC#!yt^nhS&x>U>_WS!!aH6a2!s<nYaKK;mf!d zx8QbsANS!AJccLnEMCA%_$&U7MT1@K;g99<F$}_*=)?$YiY>4McELe71d}iovoH@Q z;#8cA3-EbdhHu~|+>X2O5FW)Z@HAe+pYRU;jlMPMFIW+)U^q6wZrBTxFcqiZ3|xjQ zaX0S8LwFR=;x~8+f5O{%5B+Mn>R%EoVil}`wXrcqV>|4Gy|5o9s&dUd1v4-kC*o9G zh>P(>T#ak-4SW~(;6XfspW&DI1OABD@g^3k?W(UGOJZ59fweIVqp%%z!d}=96EOud zF$c%vWSouj@kLyX|G@RQ1-IiK+>b}_7@owl_&xp;f5u<&F5bt&bzJRL3`=8q48ZDG z7oFGw+h7mugF`SLGcgCJ<1Ac>FX8LB5#Ppla4#OfV|W5D;3d3<H}FsV3yaouwTC~J z!%A2a>tZyv!hRTov6z6vF&!u3RGfoP<6>Nj>u>{Z#T|GMkKkwcCH{av;-B~z7O&^p z{!$o-!Po$sU~6oTgE1B}FdN6?WPApn!xwQiZp63n1N;!b#54FKUc+1XCwkR)ZJ!U8 z!%7&4!5D(!*b>`fUwj;6F#)r2G)~6p_?#-=eRu&^;mf!Ucj6x0k4Nwrp2V|w6|dtT zco&O@xXLeum9Q#?U^q6x=GYy3<3M~86EOuxVJ^<V*|-oF<BPZ&*Wm`-iaT%*?#Cl| z3{T-#_!It&xA0H&ak|>42v)-&tcy-;h)uCGcE=ce0*7NdK815|Auh&OaUH&iTX8QQ zz%%$Y{(wK??|29OLS5Ti5`(c0c0zfqxaqe8@kz|UY@ChraXr3?+i@2j!lU>#euwwa z7Un9y1eU?-SPPqC3mlBGI0|!dE-t{0_!fSEAL1wY8J@wf@h;xS65+0Tm%-{-3qvsy z+hRxTiG6Vt=HgR02bbYW+=y@CJNO=cqWZ~m7VtEl!%O%R{)vBKp$OOdb}Wfyu^I-U zJPOj3*8roj6?VZM_$0<*3Z~%%oPx7)KCZwuxDGeqR@{Mm@c@2~r|?_+9)H50@ejO< z-jS~D^+kUyjg_z}*2KCPjt#Imw#H7_4g2Fj9E$S%PSfr=I0h%<bexCJ;0j!W8}TjN zgZuGwJcZxl_jm<=!Qb%?7L9V%(;v&@V;G3R7=q#07^AT*cErbVFeYLOW?(i>z$y4F zK9B41O+180@f@DV>#E#~zlnG8KKeFrEiZ~?umT2RFxJN~Y>F+gJ$A;y7>mg`97ka; zPQqz89~a^>T#5g{^|%GM;~w0PNAMV)!msce-oV><59O^+racQ|DJ+Lo(1CR@1RG&9 zY=a%J7xu%!7>lVm5_512&cy}zJTAjE_$qG1xA0xug9q^levYT`JNyB!;&r@(f1^($ zSNj#gGFSntVGu@PV{C=(uph?YP)x)e9D`GE1}?^>xCURvZMYNn;sN{uPvd#Kh&S;z z7HRC-{^D2;E1?5xV0{e3M%WD7Vn^(OeQ+?wVlocLQJ9MpaVpNn`M4OD;%a;aH{fR6 zf$!ozJc!5e1fIdK@e=-oH}DqTLt7J9yV}tYtDpmGV||oIhnwTM5z2eNOxzZ`U=JLC zgD@VGaU_nyu{aTD;A~uoi*Y5sgzInvZp9tA7Z2da_$i*kuka#X#$WI^yo>kI-qh6| zepnVOq62GSJq*Q0*bLiX2ke1;a4^PVG7iTq%)`kz9p~Z#T!PE-Wn7D!a0~9kgLn*2 z;2HcHFX2yk18?D9=+%t=iGElPE1?5xV0{e3M%WDH<y@w}cEldo2M6I0Ou|$gg}FEZ zr{HXykI&%?xCURv_4p?4z;|&U9>h=ab3BXR;3fPCZ{RKb8@;1l?I15QH0@Cw%V8yS zU=0kxaBPgx*bX~kPwb0N;7}ZfBXB%U##uNI7voY~jj!Ma+>Gzwdw2{_;5T>yZ{s~I z)SP~ZC9n)uL3zKOX~$Yv4<oQ4w!k*n8N1^E9E5S0glU+GV{iga$62@l7vYPz8rR|* zxCOW4d-wq!!DIL(p272Y5wGD5yp8v;Pz%}@OJZ59i~(31>tiG~!WP&DyI>C-fP-*2 zreiLS#VI%g7vLgXfot$h+=>VA5FW=b@Eo4U%Xk%U;%&6GbhTF@ERLnH5>~}vtb^g$ z09#-i?1DY8KMuq=Ou{tG#4$JlXX0FZ4qw2R@HO0sZ{Y{{As)r!cm}`5i+CAt;4S<c zy<553u_Tto>R1b%7=g{OC3e6r7=uq>0uI9r%*Jsz37^6_xCocvtGEu|!ng5#+=oZ- z7=DRo@B&`KTlgp1TGQXKIF`bSSOtTz4u)YAHp7<K5xZhvd>n^hJZ54Jj>pM38|UL< zT#9S(RosR<@dNx2Kf%xNG@iqYcp0zbO}vZu(Z7wWJxk+bsL!_6>khTB9!6nfY>n-) zJNCw*n26(XGCqyZ;u?Gv*W;VG6L;f&{0NWZ7x)!^i?{Gkw6&!_VR0;l0azU)u@Sbw zHrN$=;s6|k>6nFMaUwp2b8sOp#usrluEjU-EqojI<41T5PvCd>175=$_$U5_zU^G? zRTN8MIjn)TF%%;)8e3sU?23JG06vLvn2IBDI?lqSxB@rhHr$PS@em%xFYq*8#;bT6 z?_r_#uJ*8FNi2(1(1BqXh0)jwJE6Q%$Q*zDFb0QWBBo&`PQe*C9~a^(d>P-sO}HEP z;vqbW7w{6^#rs&cgR9;ZF%%=QGj_*BOu<Pw4PU?)aSLw8kMUEygg>FZqpLoCSQaZ{ zO{|L%*bv)cC+vm&a5$!89*)ClI1`uPa(o%r;wIdJ`|u!sf}i18{01-MRs0SAK(9`& z_V7VJEQvu_6GJc@n_>&>gx#<|4#Wf;hUu7v<8d<1#JTt!zJRZ*c6kmsZo{4U0e*<5 z@GHE4m+%_iK=013{C%-Fmck&ci6Iz{O|b>G$IdtihhQ=e$8k6bXX0F3j;nAjzJa^& zeLRRq@H6}pzrhQ518?D9C~pBZ?QTauEQgiQfi<u`hG7$Ij_t4$_QwABB*tM1reQ9Q z#VI%g7voY~jj!NV+=1`oK0JcQ@Fbqa@9+n_iMR1S${S!!`<2A97=$%31jDg0Mq^v- zhy!pC#$z&$#8EgEpThaL5SQW#d;>S(+xQNCgdgKKcme;wyXf7G;|t5<V;G3R7>SLr z6L!PLaWE#}FdU8JaT?CVCAb`4#<h45kKhSBiT6-nI;7_%JNjWwtcyLc4-Ud1I0>iW zTwH+La3}7?1NaSIK;Is&dKJaeSRQL)U2KXiumg6%JRFD9a3=1?y?6+Z;yFBzm+>mz zLt9VU6aBCXI<Pj@#~6G9(^MauEfYuMc$|T=aS<-TmG}~F#U1!Q?!zN^3{T@Zyn?^r z?|27`_HxzNAIo7Stc~?C3L9f5?1ud?24gV+(=Zb!<8+*d&)^bVj<4W9a1(C9UHCqJ zh==hr{1VUMdHfNt;Z3}a_TH}c^1~|Vz%Y!$X4n!tU>6*OLogYKV;1J&M4XCqaRDyH z6}SO6;|_cm_u)Z2h9~e0evKFLGG51<X!UWmPhs@O(pU+rVhDy~b8L;Bup7qU6F34h z(AOsAhq&I8rpIALjpaP)Q2lrxRtb5op2lTtHn|;W{_bg|R<YUSW0`rLk?d~soV6G= zSe_HF)|QbP$n(5K$=bw{wXr0YMN__{ldR2h%|f5wRv%40B$lsNnE9qY5=RraLizL0 zEI0L&<??Ibf%-k6vAdpPB5?|);TW8NQ*Z{(#`(Aq7voY~fot$p+^kBwZ^NCcUEXVf zdsRQzd(qTG8q5ATipN#iFJItkRjv!2!}Dqto9!ZAR;7Kf;&oNp=O*4(r9JMU%}e6i zvj1?Qx5QFk^BifZ=W{Zx^)k=1m3mz%EV0z*b`eqPajLi|<=-eJO1b8}9#Y<4r6rbf z%yWMv|FT-1e21Z;DtWde?xadNImBaBDbKW@q+h48lxx~SVs|^3dP{8TE%h+ZMVHt- z7hUQzMz=@e398g<9q|TL>UW;_qAK-ltlO>Yt5RQ^Gkfevd0DcUljSnSJtglD&#^hp z+n}BC+1WOy&T#T7L60EHV@Z63XAtQbNV2S?G>`R$Jv1ZUb4J070Nt-iE?B!@S^f*O zAGOfDU+_^2T(1^%W@YHMIrWXvDXy0sn#74o@wvldQ`3_(WaG_rTzq_1Ql6`}t~v5b zXU{M$D=vLllC+R+pex0{&M~h-XQ?!?&6$ufa%7UcT-lkPk(1<<H@wTc*5!rZp1CAv z#f?m|Ia~MX?u^TkcbCWK=14LB4?|^1E4$vjKTubT(vioY%XA2oADy-|km28@t0l{% z8~<O^)t596m#cl$JrrU>zCQ3kI(=`WzCYGIxYNmHmIu;Zl?7`akze13(#@A&4EioV z_u$TNsLasW`g=o%p|Vl-N0d8CmU*U2DJI9boEO}KJHL@KLrxX8RxH^4sjHpz5YzdZ zPTOso{CMU!p_=?plbl1`gFC-TGQ%^!10MNF74q|YPNqHcyBH?tJe|Sd&hHtCJ@Y#% z`L&XHT0c3p<>&XNOnc^cK0^M-U(OZo!JXfFnc<nApPaZ_$vn-kg#5U-_oz&J=66*( zmcHNAJ-G8bBr`no>n8aPm3f+<oO1K?`$48X^V9E9Ib@!DaOd}(%<#-_gXC9I=4pPq z``q=rE7O`^ew7-#(#b3{xbrJ5i8P&iC@JZDW#736_cDENrDwUjrQFTZAX;vD`Ei$9 z?V<e250Gb^d-Okdeqj%#`+K0xHd{XPxCeK-`ZD2JZrXYITV$}S+)9$zU2e;V@|(Fq z(z!De-T5_pD8F+uW2h|G?a*_IJHI{;<@dYfSJIt{q;pU9cqqSU`2}`d=4pOaJ@QMG zdG2*&w#|2wJcG;QcylisDifaD>(|1|79;63zX17h*DsU&!epKfw?B~n>^|rv*8KEm z{6pyq9g<&-GT%M8)6F2AdwztZ^Bgpt4oe?O7bWRp@;jNUewuEvr1RX4MA?qbGGDi& zhWxm<<26Yq-6MZj%|9aVHj?G;!CkH%D<0j*R#tZS+wO(3%sr`kRL8bg@(Yu~>d1UO ZCu_MS<wxu0ncwweHrrvD=N{bo{Rd4RM+E=? literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/functrl.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/functrl.h new file mode 100755 index 000000000..a1752eaf8 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/functrl.h @@ -0,0 +1,37 @@ + +#ifndef FUNCTRL_H +#define FUNCTRL_H + +/* LP AEC Control */ +#define LP_AEC_ENABLE 0x1 /* bit 0 */ + +/* NLP AES Control */ +#define NLP_AES_ENABLE 0x2 /* bit 1 */ + +/* NR Control */ +#define NR_ENABLE 0x4 /* bit 2 */ + +/* AGC Control */ +#define AGC_ENABLE 0x8 /* bit 3 */ + +/* Notch Filter Control */ +#define NOTCH_ENABLE 0x10 /* bit 4 */ + +/* DC Filter Control */ +#define DCREMOVER_ENABLE 0x20 /* bit 5 */ + +/* DG Control */ +#define DG_ENABLE 0x40 /* bit 6 */ + +/* Delay Control */ +#define DELAY_ENABLE 0x80 /* bit 7 */ + +/* AGC Control in SPK Path */ +#define SPK_AGC_ENABLE 0x1 /* bit 0 */ + +/* EQ Control in SPK Path */ +#define SPK_EQ_ENABLE 0x2 /* bit 1 */ + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.c new file mode 100755 index 000000000..9ac182405 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.c @@ -0,0 +1,43 @@ + +/* Include files */ +#include <math.h> +#include "mmse.h" +#include "log.h" +#include "power.h" +#include "mmse_rtwutil.h" + +#ifdef FAST_MATH_CALC +inline float fast_log2 (float val) + { + int * const exp_ptr = (int *)(&val); + int x = *exp_ptr; + const int log_2 = ((x >> 23) & 255) - 128; + x &= ~(255 << 23); + x += 127 << 23; + *exp_ptr = x; + + val = ((-1.0f/3) * val + 2) * val - 2.0f/3; // (1) + + return (val + log_2); + } + + inline float fast_log(const float val) + { + return (fast_log2 (val) * 0.69314718f); + } +#endif + +/* Function Definitions */ +void b_log(float x[321]) +{ + int k; + for (k = 0; k < 321; k++) { +#ifdef FAST_MATH_CALC + x[k] = (float)fast_log(x[k]); +#else + x[k] = (float)log(x[k]); +#endif + } +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.h new file mode 100755 index 000000000..2642dc4ae --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.h @@ -0,0 +1,17 @@ + +#ifndef LOG_H +#define LOG_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" + +/* Function Declarations */ +extern void b_log(float x[321]); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/log.o new file mode 100644 index 0000000000000000000000000000000000000000..50d83d27ffe693c8dd93f2312489225c2d93fc41 GIT binary patch literal 4320 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 I6gloc05q7j@&Et; literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.c new file mode 100755 index 000000000..e054c8813 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.c @@ -0,0 +1,622 @@ + +/* Include files */ +#include <math.h> +#include "define.h" +#include "memalloc.h" +#include "packfft.h" +#include "struct.h" +#include "lpaec.h" +#include "lpaec_subfun.h" + +/* Function Definitions */ +EXPORT void LP_AEC_para(ssp_para_struct *para, short *filter_length, short *init_filter_length) +{ + ssp_para_struct *para_obj; + unsigned short tmp; + + /* LP AEC Parameters */ + para_obj = para; + + tmp = MIN(MAX(para_obj->para_aec_init_filter_len, 1), 13); /* 8kHz: [20ms, 260ms], each step 20ms; 16kHz: [10ms, 130ms], each step 10ms */ + *init_filter_length = tmp; + + tmp = MIN(MAX(para_obj->para_aec_filter_len, 1), 13); /* 8kHz: [20ms, 260ms], each step 20ms; 16kHz: [10ms, 130ms], each step 10ms */ + *filter_length = tmp; + +} + +EXPORT LinearEchoState *LP_AEC_init(int frame_size, short filter_length, short init_filter_length, float Fs) +{ + + int i, N, M; + LinearEchoState *st = (LinearEchoState *)mem_alloc(sizeof(LinearEchoState)); + + st->frame_size = frame_size; + st->window_size = 2*frame_size; + N = st->window_size; + st->M = filter_length; + st->initial_filter_len = init_filter_length; + M = st->initial_filter_len; + + st->ss = .35f; // fe_smooth_coef; + st->cancel_count = 0; + st->sum_adapt = 0; + st->saturated = 0; + st->screwed_up = 0; + + st->sampling_rate = (int)Fs; + st->spec_average = (float)st->frame_size/(float)st->sampling_rate; + st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; + st->beta_max = (.5f*st->frame_size)/st->sampling_rate; + st->leak_estimate = 0; + + st->fft_table = speech_fft_init(N); + + st->e = (float*)mem_alloc(N*sizeof(float)); + st->x = (float*)mem_alloc(N*sizeof(float)); + st->input = (float*)mem_alloc(st->frame_size*sizeof(float)); + st->y = (float*)mem_alloc(N*sizeof(float)); + st->last_y = (float*)mem_alloc(N*sizeof(float)); + st->Yf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Rf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Xf = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Yh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + st->Eh = (float*)mem_alloc((st->frame_size+1)*sizeof(float)); + + st->X = (float*)mem_alloc((13+1)*N*sizeof(float)); + st->Y = (float*)mem_alloc(N*sizeof(float)); + st->E = (float*)mem_alloc(N*sizeof(float)); + st->W = (float*)mem_alloc(13*N*sizeof(float)); +#ifdef TWO_FILTER + st->foreground = (float*)mem_alloc(13*N*sizeof(float)); +#endif + st->PHI = (float*)mem_alloc(N*sizeof(float)); + st->power = (float*)mem_alloc((frame_size+1)*sizeof(float)); + st->power_1 = (float*)mem_alloc((frame_size+1)*sizeof(float)); + st->window = (float*)mem_alloc(N*sizeof(float)); + st->prop = (float*)mem_alloc(13*sizeof(float)); + st->wtmp = (float*)mem_alloc(N*sizeof(float)); + for (i=0;i<N;i++) + st->window[i] = .5f-.5f*(float)cos(2*M_PI*i/N); /* Hanning window */ + for (i=0;i<=st->frame_size;i++) + st->power_1[i] = FLOAT_ONE; + for (i=0;i<N*13;i++) + st->W[i] = 0; + { + float sum = 0; + /* Ratio of ~10 between adaptation rate of first and last block */ + float decay = (float)math_exp(-(2.4/M)); + st->prop[0] = .7f; + sum = st->prop[0]; + for (i=1;i<M;i++) { + st->prop[i] = st->prop[i-1] * decay; + sum = sum + st->prop[i]; + } + for (i=M-1;i>=0;i--) { + st->prop[i] = (.8f * st->prop[i])/sum; + } + } + + st->memX = (float*)mem_alloc(sizeof(float)); + st->memD = (float*)mem_alloc(sizeof(float)); + st->memE = (float*)mem_alloc(sizeof(float)); + st->preemph = .9f; + + if (st->sampling_rate<12000) + st->notch_radius = .9f; + else if (st->sampling_rate<24000) + st->notch_radius = .982f; + else + st->notch_radius = .992f; + st->notch_mem = (float*)mem_alloc(2*sizeof(float)); + for (i=0;i<2;i++) + st->notch_mem[i] = 0; + + st->adapted = 0; + st->Pey = st->Pyy = FLOAT_ONE; + +#ifdef TWO_FILTER + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; +#endif + + st->aec_min_leak = .005f; + st->aec_var1_smooth = .36f; + st->aec_var2_smooth = .7225f; + st->aec_var1_update = .5f; + st->aec_var2_update = .25f; + st->aec_var_backtrack = 4.f; + + st->echo_cnt = 0; + + return st; + +} + +void echo_state_reset(LinearEchoState *st) +{ + + int i, M, N; + + st->cancel_count = 0; + st->screwed_up = 0; + N = st->window_size; + M = st->M; + + M = M; + for (i=0;i<N*13;i++) + st->W[i] = 0; +#ifdef TWO_FILTER + for (i=0;i<N*13;i++) + st->foreground[i] = 0; +#endif + for (i=0;i<N*(13+1);i++) + st->X[i] = 0; + for (i=0;i<=st->frame_size;i++) { + st->power[i] = 0; + st->power_1[i] = FLOAT_ONE; + st->Eh[i] = 0; + st->Yh[i] = 0; + } + for (i=0;i<st->frame_size;i++) { + st->last_y[i] = 0; + } + for (i=0;i<N;i++) { + st->E[i] = 0; + } + for (i=0;i<N;i++) { + st->x[i] = 0; + } + for (i=0;i<2;i++) + st->notch_mem[i] = 0; + for (i=0;i<1;i++) + st->memD[i] = st->memE[i] = 0; + for (i=0;i<1;i++) + st->memX[i] = 0; + + st->saturated = 0; + st->adapted = 0; + st->sum_adapt = 0; + st->Pey = st->Pyy = FLOAT_ONE; +#ifdef TWO_FILTER + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; +#endif + +} + +EXPORT void LP_AEC_free(LinearEchoState *st) +{ + + speech_fft_free(st->fft_table); + + mem_free(st->e); + mem_free(st->x); + mem_free(st->input); + mem_free(st->y); + mem_free(st->last_y); + mem_free(st->Yf); + mem_free(st->Rf); + mem_free(st->Xf); + mem_free(st->Yh); + mem_free(st->Eh); + + mem_free(st->X); + mem_free(st->Y); + mem_free(st->E); + mem_free(st->W); +#ifdef TWO_FILTER + mem_free(st->foreground); +#endif + mem_free(st->PHI); + mem_free(st->power); + mem_free(st->power_1); + mem_free(st->window); + mem_free(st->prop); + mem_free(st->wtmp); + mem_free(st->memX); + mem_free(st->memD); + mem_free(st->memE); + mem_free(st->notch_mem); + + mem_free(st); +} + +EXPORT void LP_AEC(LinearEchoState *st, const short *in, const short *far_end, short *out) +{ + + int i , j; + int N, M; + float Syy, See, Sxx, Sdd, Sff; +#ifdef TWO_FILTER + float Dbf; /* the variance of e(n) */ + int update_foreground; /* update foreground flag */ +#endif + float Sey; + float ss, ss_1; + float Pey = FLOAT_ONE, Pyy = FLOAT_ONE; + float alpha, alpha_1; + float RER; /* Residual to Error Ratio */ + float tmp32; + + + if (st->echo_cnt > (st->sampling_rate/st->frame_size*3)) { + M = st->M; /* from parameter */ + st->echo_cnt = (st->sampling_rate/st->frame_size*3)+1; /* avoid cnt overflow */ + } else { + M = st->initial_filter_len; + } + + N = st->window_size; + st->cancel_count++; + + //ss = 0.3f / M; + ss = st->ss / M; + ss_1 = 1 - ss; + + + /******************************************************************************/ + /* TX Signal Preprocessing*/ + /******************************************************************************/ + /* Apply DC filter to make sure DC doesn't end up causing problems */ + DC_filter(in, st->notch_radius, st->input, st->frame_size, st->notch_mem); + + /* Copy input data to buffer and apply pre-emphasis filter */ + for (i=0;i<st->frame_size;i++) { + float tmp32; + /* H = 1-0.9z^(-1), FIR filter */ + /* tmp32 = input(n) - preemph * input(n-1), input(n) is d(n) */ + tmp32 = st->input[i] - st->preemph * st->memD[0]; + st->memD[0] = st->input[i]; + st->input[i] = tmp32; + } + + /******************************************************************************/ + /* RX Signal Preprocessing*/ + /******************************************************************************/ + for (i=0;i<st->frame_size;i++) { + float tmp32; + /* x[1:2*frame_size]: |--previous frame--|--current frame--| */ + st->x[i] = st->x[i+st->frame_size]; /* perform pre-emphasis filtering for previous frame */ + /* tmp32 = far_end(n) - preemph * far_end(n -1) */ + tmp32 = far_end[i] - st->preemph * st->memX[0]; + st->x[i+st->frame_size] = tmp32; /* perform pre-emphasis filtering for current frame */ + st->memX[0] = far_end[i]; + } + + /* Shift the filter length buffer of far-end in frequency domain */ + for (j=M-1;j>=0;j--) { + for (i=0;i<N;i++) + st->X[(j+1)*N+i] = st->X[j*N+i]; + } + speech_fft(st->fft_table, st->x, &st->X[0]); + + Sxx = 0; + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* the variance of x(n) */ + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = pow(X(k)), the power spectrum of X(k) */ + + Sff = 0; +#ifdef TWO_FILTER + /* Compute foreground filter */ + /* Y(k) = X(k) * W(k) */ + accum_spectral_mul(st->X, st->foreground, st->Y, N, M); + speech_ifft(st->fft_table, st->Y, st->e); + for (i=0;i<st->frame_size;i++) { + /* e(n) = d(n) - y(n), e(n) use the first part, y(n) use the last part */ + st->e[i] = st->input[i] - st->e[i+st->frame_size]; + } + /* the variance of e(n) */ + Sff += inner_prod(st->e, st->e, st->frame_size); +#endif + + /* Adjust proportional adaption rate */ + if (st->adapted) + aec_adjust_prop (st->W, N, M, st->prop); + if (st->saturated == 0) { + for (j=M-1;j>=0;j--) { + /* Compute delta_W(k, m, j), PHI(i) is delta_W(k, m, j) */ + /* delta_W(k, m, j) = power_1(k) * prop(m) * conj[X(k, m, j-1)] * E(k, j-1)*/ + /* st->power_1: optima l step size, length is frame size+1 */ + /* st->prop: proportianal step size, length is M */ + /* st->X: focus on j+1, means the previous X state, X length is (M+1)*N */ + /* st->E: error in frequency domain */ + /* [0] = matlab[1].re (matlab[1].im = 0), [1] = [2].re, [2] = [2].im, [3] = [3].re, [4] = [3].im, ..., */ + /* [317] = [160].re, [318] = [160].im, [319] = [161].re (matlab[161].im = 0) */ + /* st->PHI: length is window size N */ + weighted_gradient_phi(st->power_1, st->prop[j], &st->X[(j+1)*N], st->E, st->PHI, N); + /* compute weight gradient */ + for (i=0;i<N;i++) /* only calculate (N/2+1) frequency bin, two data(re/im) in each bin, so N data in total */ + /* W(k, m, j) = W(k, m, j-1) + delta_W(k, m, j) */ + st->W[ j*N + i] += st->PHI[i]; + } + } else { + st->saturated--; + } + + /* Overlap-store method to let circular convolution become linear convolution */ + for (j=0;j<M;j++) { + //if (j==0 || ((2+st->cancel_count)%(M-1)) == j+1) { + if (j==0 || st->cancel_count%(M-1) == j-1) { /* better */ + speech_ifft(st->fft_table, &st->W[j*N], st->wtmp); + for (i=st->frame_size;i<N;i++) { + st->wtmp[i] = 0; /* set 0 to the last part */ + } + speech_fft(st->fft_table, st->wtmp, &st->W[j*N]); + } + } + + /* Reset to zeros for accumulation */ + for (i=0;i<=st->frame_size;i++) + st->Rf[i] = st->Yf[i] = st->Xf[i] = 0; + + Dbf = 0; + See = 0; +#ifdef TWO_FILTER + /* Difference in response, this is used to estimate the variance of the residual power estimate */ + /* st.Y(:) = st.Y(:) + st.X(:, j) .* st.W(:, j); */ + accum_spectral_mul(st->X, st->W, st->Y, N, M); + /* st.y : [ ~ | leak background ] */ + speech_ifft(st->fft_table, st->Y, st->y); + for (i=0;i<st->frame_size;i++) { + st->e[i] = st->e[i+st->frame_size] - st->y[i+st->frame_size]; + } + Dbf += 10 + inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ + for (i=0;i<st->frame_size;i++) + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + See += inner_prod(st->e, st->e, st->frame_size); /* the variance of e(n) */ +#endif + +#ifndef TWO_FILTER + Sff = See; +#endif + +#ifdef TWO_FILTER + /* For two time windows, compute the mean of the energy difference, as well as the variance */ + st->Davg1 = .6f * st->Davg1 + .4f * (Sff - See); + st->Davg2 = .85f * st->Davg2 + .15f * (Sff - See); + st->Dvar1 = st->aec_var1_smooth * st->Dvar1 + .16f * Sff * Dbf ; + st->Dvar2 = st->aec_var2_smooth * st->Dvar2 + .0225f * Sff * Dbf ; + + update_foreground = 0; + /* Inspect if there is a statistically significant reduction in the residual echo */ + if (((Sff - See) * ABS(Sff - See)) > (Sff * Dbf)) + update_foreground = 1; + else if ((st->Davg1 * ABS(st->Davg1)) > (st->aec_var1_update * st->Dvar1)) + update_foreground = 1; + else if ((st->Davg2 * ABS(st->Davg2)) > (st->aec_var2_update * st->Dvar2)) + update_foreground = 1; + + if (update_foreground) { /* update foreground filter */ + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + /* Copy background filter to foreground filter */ + for (i=0;i<N*M;i++) /* copy data for (N/2+1) frequency bin */ + st->foreground[i] = st->W[i]; + /* Apply a smooth transition to avoid blocking artifacts */ + /* y1(n) = window(n+N/2)y1(n) + window(n)y2(n) */ + for (i=0;i<st->frame_size;i++) + /* Perform windowing and 50% OLA, output = window first part * leak background(new) + window last part * leak forground(old) */ + /* st.e last part still be leak(y) foreground */ + st->e[i+st->frame_size] = st->window[i+st->frame_size] * st->e[i+st->frame_size] + st->window[i] * st->y[i+st->frame_size]; + + } else { /* check if the background filter is significantly worse */ + int reset_background = 0; + if ((-(Sff - See) * ABS(Sff - See)) > (st->aec_var_backtrack * Sff * Dbf)) + reset_background = 1; + if ((-(st->Davg1) * ABS(st->Davg1)) > (st->aec_var_backtrack * st->Dvar1)) + reset_background = 1; + if ((-(st->Davg2) * ABS(st->Davg2)) > (st->aec_var_backtrack * st->Dvar2)) + reset_background = 1; + + if (reset_background) { + /* Copy foreground filter to background filter */ + for (i=0;i<N*M;i++) /* copy data for (N/2+1) frequency bin */ + st->W[i] = st->foreground[i]; + for (i=0;i<st->frame_size;i++) + st->y[i+st->frame_size] = st->e[i+st->frame_size]; + for (i=0;i<st->frame_size;i++) + st->e[i] = st->input[i] - st->y[i+st->frame_size]; + + See = Sff; /* reset error power, copy foreground to background */ + st->Davg1 = st->Davg2 = FLOAT_ZERO; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + } + } +#endif + + Sey = Syy = Sdd = 0; + /* Compute error signal (for the output with de-emphasis) */ + for (i=0;i<st->frame_size;i++) { + float tmp_out; +#ifdef TWO_FILTER + /* The estimated echo e is processed after windowing and OLA */ + tmp_out = st->input[i] - st->e[i+st->frame_size]; +#else + tmp_out = st->input[i] - st->y[i+st->frame_size]; +#endif + /* H = 1/(1-0.9z^(-1)), IIR, de-emphasis filtering */ + tmp_out = tmp_out + st->preemph * st->memE[0]; + /* this is an arbitrary test for saturation in the mic signal */ + if (in[i] <= -32000 || in[i] >= 32000) { + if (st->saturated == 0) + st->saturated = 1; + } + out[i] = (short)WORD2INT(tmp_out); /* the output data is processed after windowing and OLA cuz e(n) */ + st->memE[0] = tmp_out; /* state out(n-1) */ + } + + /* Compute error signal */ + for (i=0;i<st->frame_size;i++) { + st->e[i+st->frame_size] = st->e[i]; + st->e[i] = 0; + } + + /* Compute a bunch of correlations */ + Sey += inner_prod(st->e+st->frame_size, st->y+st->frame_size, st->frame_size); /* the covariance of e(n) and y(n) */ + Syy += inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); /* the variance of y(n) */ + Sdd += inner_prod(st->input, st->input, st->frame_size); /* the variance of d(n) */ + + speech_fft(st->fft_table, st->e, st->E); + for (i=0;i<st->frame_size;i++) + st->y[i] = 0; + speech_fft(st->fft_table, st->y, st->Y); + + accum_power_spectrum(st->E, st->Rf, N); /* Rf(k) = the power spectrum of E(k), error power in each frequency bin (N/2+1) */ + accum_power_spectrum(st->Y, st->Yf, N); /* Yf(k) = the power spectrum of Y(k) , estimated echo power in each frequency bin (N/2+1) */ + + + /* Sanity check */ + if (!(Syy>=0 && Sxx>=0 && See >= 0)) { /* things have gone really bad */ + st->screwed_up += 50; + for (i=0;i<st->frame_size;i++) + out[i] = 0; + } else if (Sff > (Sdd + (float)(N * 10000))) { /* if foreground error signal is a lot greater than mic in */ + st->screwed_up++; + } else { /* everything is fine */ + st->screwed_up = 0; + } + + if (st->screwed_up>=50) { + //speech_warning("AEC started behaving unreasonable and need to reset"); + echo_state_reset(st); + return; + } + + See = MAX(See, (float)(N * 100)); /* add a small noise floor to make sure not to have problems when dividing */ + + Sxx = 0; + Sxx += inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); /* far-end (TD) current frame power sum */ + accum_power_spectrum(st->X, st->Xf, N); /* Xf(k) = far-end(FD) power in each frequency bin (N/2+1) */ + + for (j=0;j<=st->frame_size;j++) + st->power[j] = ss_1 * st->power[j] + 1 + ss * st->Xf[j]; /* smooth far end power estimate over time */ + + /* Compute filtered spectra and cross-correlations */ + for (j=st->frame_size;j>=0;j--) { + float Eh, Yh; + + Eh = st->Rf[j] - st->Eh[j]; + Yh = st->Yf[j] - st->Yh[j]; + Pey = Pey + Eh * Yh; + Pyy = Pyy + Yh * Yh; + st->Eh[j] = (1-st->spec_average)*st->Eh[j] + st->spec_average*st->Rf[j]; + st->Yh[j] = (1-st->spec_average)*st->Yh[j] + st->spec_average*st->Yf[j]; + } + + Pyy = (float)math_sqrt(Pyy); /* the standard deviation of Y(k) */ + Pey = Pey / Pyy; /* the correlation coefficient of E(k) and Y(k) */ + + /* Compute correlation update rate */ + /* beta0 is the base learning rate for the leakage estimate */ + tmp32 = st->beta0 * Syy; + if (tmp32 > (st->beta_max * See)) + tmp32 = st->beta_max * See; + alpha = tmp32 / See; + alpha_1 = FLOAT_ONE - alpha; + + /* Update correlations (recursive average) */ + st->Pey = alpha_1 * st->Pey + alpha * Pey; + st->Pyy = alpha_1 * st->Pyy + alpha * Pyy; + + if (st->Pyy < FLOAT_ONE) + st->Pyy = FLOAT_ONE; + + if (st->Pey < st->aec_min_leak * st->Pyy) + st->Pey = st->aec_min_leak * st->Pyy; + + if (st->Pey > st->Pyy) + st->Pey = st->Pyy; + + st->leak_estimate = st->Pey / st->Pyy; + if (st->leak_estimate > 16383) + st->leak_estimate = 32767; + + + /* Compute Residual to Error Ratio */ + RER = (float)((.0001*Sxx + 3*st->leak_estimate*Syy) / See); + if (RER < Sey*Sey/(1+See*Syy)) + RER = Sey*Sey/(1+See*Syy); + if (RER > .5) + RER = .5; + st->RER = RER; + + if (st->RER*32767 > 1000) + st->echo_cnt++; + + if (!st->adapted && st->sum_adapt > M && st->leak_estimate*Syy > .03f*Syy) { + st->adapted = 1; + } + + if (st->adapted) { + /* Normal learning rate calculation once it's past the minimal adaptation phase */ + for (i=0;i<=st->frame_size;i++) { + float r, e; + //int tmp; + + #if (0) /* unhelpful */ + tmp = st->sampling_rate; + if ((i*tmp/st->window_size<=1000) && (i*tmp/st->window_size>=600)) { + st->leak_estimate = st->leak_estimate - 0.03f; + if (st->leak_estimate < 0) { + st->leak_estimate = 0; + } + } else if (i*tmp/st->window_size>1000) { + st->leak_estimate = st->leak_estimate - 0.1f; + if (st->leak_estimate < 0) { + st->leak_estimate = 0; + } + } + #endif + + /* Compute frequency-domain adaptation mask */ + r = st->leak_estimate * st->Yf[i]; + e = st->Rf[i] + 1; /* the power spectrum of E(k) */ + if (r>.5f*e) + r = .5f*e; + + #if (0) + r = .3f * r + .7f * RER * e; + #else /* better */ + r = .7f * r + .3f * RER * e; + #endif + + //st->power_1[i] = (r * adapt_rate) / (e * (st->power[i] + 1)); + st->power_1[i] = r / (e * (st->power[i] + 10)); + + } + } else { + + /* Temporary adaption rate if filter is not yet adapted enough */ + float adapt_rate = 0; + + if (Sxx > (float)(N * 1000)) { /* far-end exists a certain level of energy */ + tmp32 = .25f * Sxx; + if (tmp32 > .25*See) + tmp32 = (float)(.25*See); + adapt_rate = tmp32 / See; /* residual echo/error signal */ + } + + for (i=0;i<=st->frame_size;i++) + st->power_1[i] = adapt_rate / (st->power[i] + 10); + + /* How much has it adapted so far */ + st->sum_adapt = st->sum_adapt + adapt_rate; /* the bigger the value, the bigger the echo */ + } + + #if (1) + for (i=0;i<st->frame_size;i++) + st->last_y[i] = st->last_y[st->frame_size+i]; + if (st->adapted) { + /* if the filter is adapted, take the filtered echo */ + for (i=0;i<st->frame_size;i++) + st->last_y[st->frame_size+i] = (float)(in[i]-out[i]); + } else { + /* otherwise, take the far-end signal */ + for (i=0;i<N;i++) + st->last_y[i] = st->x[i]; + } + #endif + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.h new file mode 100755 index 000000000..e9824ae8c --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.h @@ -0,0 +1,19 @@ + +#ifndef LPAEC_H +#define LPAEC_H + + /* Include files */ +#include "define.h" +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void LP_AEC_para(ssp_para_struct *para, short *filter_length, short *init_filter_length); +extern LinearEchoState *LP_AEC_init(int frame_size, short filter_length, short init_filter_length, float Fs); +extern void LP_AEC_free(LinearEchoState *st); +extern void LP_AEC(LinearEchoState *st, const short *rec, const short *play, short *out); +extern void echo_state_reset(LinearEchoState *st); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec.o new file mode 100644 index 0000000000000000000000000000000000000000..24f6a319e2b3d20983efd949c356946a13b90734 GIT binary patch literal 48352 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 S`<8e)qk%1Ik2_IYJoz^n;ia|! literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.c new file mode 100755 index 000000000..5447c495f --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.c @@ -0,0 +1,141 @@ + +/* Include files */ +#include <math.h> +#include "define.h" +#include "lpaec_subfun.h" +#ifndef PLATFORM_RTOS +not suppose to enter here +inline void DC_filter(const short *in, float radius, float *out, int len, float *mem) +#else +/* Function Definitions */ +void DC_filter(const short *in, float radius, float *out, int len, float *mem) +#endif +{ + int i; + float den2; + + den2 = radius*radius + .7f*(1-radius)*(1-radius); + + for (i=0;i<len;i++) { + float vin = in[i]; + float vout = mem[0] + vin; + mem[0] = mem[1] + 2*(-vin + radius*vout); /* history buffer */ + mem[1] = vin - den2 * vout; /* history buffer */ + out[i] = radius * vout; + } +} + +inline float inner_prod(const float *x, const float *y, int len) +{ + float sum = 0; + + len >>= 1; + while(len--) { + float part = 0; + part = part + (*x++) * (*y++); + part = part + (*x++) * (*y++); + sum = sum + part; + } + return sum; +} + +inline void bin_power_spectrum(const float *X, float *ps, int N) +{ + int i, j; + + ps[0] = X[0] * X[0]; + for (i=1,j=1;i<N-1;i+=2,j++) { /* half-complex vector */ + ps[j] = X[i] * X[i] + X[i+1] * X[i+1]; + } + ps[j] = X[i] * X[i]; +} + +inline void accum_power_spectrum(const float *X, float *ps, int N) +{ + int i, j; + + ps[0] += (X[0] * X[0]); /* ps[0] = ps[0] + X[0] * X[0], real part only, the im part in first point is zero */ + for (i=1,j=1;i<N-1;i+=2,j++) { + ps[j] += (X[i] * X[i] + X[i+1] * X[i+1]); + } + ps[j] += (X[i] * X[i]); /* real part only, the im part in (N/2+1)th point is zero */ +} + +inline void accum_spectral_mul(const float *X, const float *Y, float *acc, int N, int M) +{ + int i,j; + + for (i=0;i<N;i++) + acc[i] = 0; + for (j=0;j<M;j++) { + acc[0] += (X[0]*Y[0]); /* real part only for the first point of X and Y */ + for (i=1;i<N-1;i+=2) { /* X[i] and Y[i] are the real part of X and Y respectively, X[i+1] and Y[i+1] are the imaginary part of X and Y respectively */ + acc[i] += (X[i]*Y[i] - X[i+1]*Y[i+1]); /* real part */ + acc[i+1] += (X[i+1]*Y[i] + X[i]*Y[i+1]); /* imaginary part */ + } + acc[i] += (X[i]*Y[i]); /* real part only for the (N/2+1)th point of X and Y */ + X += N; + Y += N; + } +} + +inline void weighted_gradient_phi(const float *w, const float p, const float *X, const float *Y, float *prod, int N) +{ + int i, j; + float W; + + W = p * w[0]; /* real value */ + prod[0] = W * X[0] * Y[0]; /* real part only for the first point of X and Y */ + for (i=1,j=1;i<N-1;i+=2,j++) { + W = p * w[j]; /* real value */ + /* perform conj(X)*Y, conjugation of X[i] + X[i+1]j = X[i] - X[i+1]j */ + prod[i] = W * (X[i] * Y[i] + X[i+1] * Y[i+1]); /* real part */ + prod[i+1] = W * (-X[i+1] * Y[i] + X[i] * Y[i+1]); /* imaginary part */ + } + W = p * w[j]; /* real value */ + prod[i] = W * X[i] * Y[i]; /* real part only for the (N/2+1)th point of X and Y */ +} + +inline void aec_adjust_prop(const float *W, int N, int M, float *prop) +{ + int i, j; + float max_sum = 1; + float prop_sum = 1; + //float max_sum_matlab[20]; + + for (i=0;i<M;i++) { + float tmp = 1; + for (j=0;j<N;j++) + /* tmp(m) = tmp(m) + W(k, m) * W(k, m) */ + tmp += (W[i*N+j] * W[i*N+j]); /* sum the power of the (N/2+1) frequency bin in each taplen */ + prop[i] = (float)math_sqrt(tmp); + + #if (1) /* better */ + if (prop[i] > max_sum) + max_sum = prop[i]; + #else + if (prop[i] < 1.0) + max_sum_matlab[i] = 1.0; + else + max_sum_matlab[i] = prop[i]; + #endif + + } + + for (i=0;i<M;i++) { + + #if (1) /* better */ + prop[i] += (.1f * max_sum); + #else + prop[i] += (.1f * max_sum_matlab[i]); + #endif + + prop_sum += prop[i]; /* sum(prop(m)) */ + } + for (i=0;i<M;i++) { + prop[i] = (.99f * prop[i]) / prop_sum; + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.h new file mode 100755 index 000000000..7b92c35b0 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.h @@ -0,0 +1,28 @@ + +#ifndef LPAEC_SUBFUN_H +#define LPAEC_SUBFUN_H + + /* Include files */ +#include "define.h" + +#ifndef PLATFORM_RTOS +/* Function Declarations */ +extern inline void DC_filter(const short *in, float radius, float *out, int len, float *mem); +extern inline float inner_prod(const float *x, const float *y, int len); +extern inline void bin_power_spectrum(const float *X, float *ps, int N); +extern inline void accum_power_spectrum(const float *X, float *ps, int N); +extern inline void accum_spectral_mul(const float *X, const float *Y, float *acc, int N, int M); +extern inline void weighted_gradient_phi(const float *w, const float p, const float *X, const float *Y, float *prod, int N); +extern inline void aec_adjust_prop(const float *W, int N, int M, float *prop); +#else +void DC_filter(const short *in, float radius, float *out, int len, float *mem); +float inner_prod(const float *x, const float *y, int len); +void bin_power_spectrum(const float *X, float *ps, int N); +void accum_power_spectrum(const float *X, float *ps, int N); +void accum_spectral_mul(const float *X, const float *Y, float *acc, int N, int M); +void weighted_gradient_phi(const float *w, const float p, const float *X, const float *Y, float *prod, int N); +void aec_adjust_prop(const float *W, int N, int M, float *prop); +#endif +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/lpaec_subfun.o new file mode 100644 index 0000000000000000000000000000000000000000..43e2b3d13274d77b8b11fa88bd08e040b270ef8c GIT binary patch literal 18460 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 apNz<QQxMrUXRkt1eTog|UM3_suKy43y+cF* literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/memalloc.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/memalloc.h new file mode 100755 index 000000000..6d8f2ad19 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/memalloc.h @@ -0,0 +1,91 @@ + +#ifndef MEMALLOC_H +#define MEMALLOC_H + + /* Include files */ +#include <string.h> +#include <stdio.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#else +#include "malloc.h" +#endif +//#ifndef printf +//#define printf(...) printf(__VA_ARGS__) +//#endif +#define pr_err(...) printf("ERR:" __VA_ARGS__) +#define printfw(...) +#define printfe(...) +#define _inline + +/** Wrapper for calloc. To do your own dynamic allocation, all you need to do is to replace this function, mem_realloc and mem_free + Note tthat mem_alloc needs to CLEAR THE MEMORY */ +#ifndef OVERRIDE_SPEECH_ALLOC +static _inline void *mem_alloc (int size) +{ + /* WARNING: this is not equivalent to malloc(). If you want to use malloc() + or your own allocator, YOU NEED TO CLEAR THE MEMORY ALLOCATED. Otherwise + you will experience strange bugs */ +#ifndef PLATFORM_RTOS + return calloc(size,1); +#else + //return (void *)calloc(size,1); + uintptr_t *ptr = pvPortMalloc(size); + + memset(ptr, 0, size); + return ptr; +#endif +} +#endif + +/** Wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, mem_realloc and mem_alloc */ +#ifndef OVERRIDE_SPEECH_FREE +static _inline void mem_free (void *ptr) +{ +#ifndef PLATFORM_RTOS + free(ptr); +#else + vPortFree(ptr); +#endif +} +#endif + +/** Copy n elements from src to dst. The 0* term provides compile-time type checking */ +#ifndef OVERRIDE_SPEECH_COPY +#define SPEECH_COPY(dst, src, n) (memcpy((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) +#endif + +/** Copy n elements from src to dst, allowing overlapping regions. The 0* term provides compile-time type checking */ +#ifndef OVERRIDE_SPEECH_MOVE +#define SPEECH_MOVE(dst, src, n) (memmove((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) +#endif + +/** For n elements worth of memory, set every byte to the value of c, starting at address dst */ +#ifndef OVERRIDE_SPEECH_MEMSET +#define SPEECH_MEMSET(dst, c, n) (memset((dst), (c), (n)*sizeof(*(dst)))) +#endif + +/*#ifndef OVERRIDE_SPEECH_FATAL +static _inline void _speech_fatal(const char *str, const char *file, int line) +{ + printfe("Fatal (internal) error in %s, line %d: %s\n", file, line, str); + fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str); + exit(1); +} +#endif */ + +/*#ifndef OVERRIDE_SPEECH_WARNING +static _inline void speech_warning(const char *str) +{ +#ifndef DISABLE_WARNINGS + printfw("warning: %s\n", str); + fprintf (stderr, "warning: %s\n", str); +#endif +} +#endif */ + +/*#define speech_fatal(str) _speech_fatal(str, __FILE__, __LINE__); */ + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.c new file mode 100755 index 000000000..efd30f9d5 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.c @@ -0,0 +1,408 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*% */ +/*% mmse.c */ +/*% Author: Sharon Lee */ +/*% History: */ +/*% Created by Sharon Lee in August, 2019 */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ + +/* Include files */ +#include <math.h> +#include <string.h> +#include "mmse_init.h" +#include "mmse.h" +#include "bessel.h" +#include "power.h" +#include "sum.h" +#include "log.h" +#include "dr_detection.h" +#include "slope_detection.h" +#include "abs.h" +#include "mmse_rtwutil.h" +#include "packfft.h" +#include "define.h" +#include "tmwtypes.h" +#include "struct.h" + +//extern *fp_test; +//extern frame_cnt; +float gammak[321]; +float ksi[321]; +float tmp_fft_out[642]; +float tmp_ifft_out[642]; +float nr_sig[321]; +creal32_T nr_fd_half[321]; + +#ifndef SSP_CALLOC +#define SSP_CALLOC(TYPE, COUNT) ((TYPE *)calloc(COUNT, sizeof(TYPE))) +#endif + +#ifndef SSP_SAFE_FREE_BUF +#define SSP_SAFE_FREE_BUF(OBJ) {if (NULL != OBJ) {free(OBJ); OBJ = NULL; } } +#endif + +#ifndef SSP_CHECK_NULL_PTR +#define SSP_CHECK_NULL_PTR(ptr) \ + do { \ + if (!(ptr)) { \ + printf("func:%s,line:%d, NULL pointer\n", __func__, __LINE__); \ + return; \ + } \ + } while (0) +#endif + +/* Function Definitions */ +EXPORT void NR(short *x, float initial_noise_pow_time, float *frame, NRState *st, boolean_T *speech_vad, float *y) +{ + int i, j, k; + int len, len1, nFFT; + float c; + float qkr; +#ifdef SSP_STACK_TO_HEAP + //float gammak[321]; + //float ksi[321]; + //float tmp_ifft_out[642]; + //float nr_sig[321]; + float *gammak = SSP_CALLOC(float, 321); + float *ksi = SSP_CALLOC(float, 321); + float *tmp_fft_out = SSP_CALLOC(float, 642); + float *tmp_ifft_out = SSP_CALLOC(float, 642); + float *nr_sig = SSP_CALLOC(float, 321); + creal32_T *nr_fd_half = SSP_CALLOC(creal32_T, 321); + SSP_CHECK_NULL_PTR(gammak); + SSP_CHECK_NULL_PTR(ksi); + SSP_CHECK_NULL_PTR(tmp_fft_out); + SSP_CHECK_NULL_PTR(tmp_ifft_out); + SSP_CHECK_NULL_PTR(nr_sig); + SSP_CHECK_NULL_PTR(nr_fd_half); +#else + + +#endif + float xtmp_re; + float xtmp_im; + float lambda; + float absar; + boolean_T vad; + float b_c[3]; + /* fft_out[640] bin box order: [1].re, [2].re,[2].im, ... ,[320].re,[320].im,[321].re */ + /* ifft_out[640] bin box order: [1].re, [2].re,[2].im, ... ,[320].re,[320].im,[321].re */ + //creal32_T nr_fd_half[321]; + + float tmp, tmp1, alpha, alpha2; + + + /* Preparation */ + c = 0.886226925F; + qkr = 2.33333333F; + len = 2*st->frame_size; /* window size */ + len1 = st->frame_size; /* overlap size */ + nFFT = 2*2*st->frame_size; + for (i = 0; i < st->frame_size; i++) { + x[i+st->frame_size] = x[i]; /* go first to avoid overwriting by x_old[], applicable for AEC on or AEC off */ + x[i] = st->x_old[i]; + st->x_old[i] = x[i+st->frame_size]; /* update input overlap data */ + } + /* Transform to floating-point with float precision for input signals, input sample have to be 16-bit length */ + for (i = 0; i < 2*st->frame_size; i++) { + st->float_x[i] = (float)(x[i])/(float)(32768.0F); + } + + /* Apply analysis window */ + for (i = 0; i < (nFFT/2); i++) { + tmp_ifft_out[i] = st->ana_win[i] * st->float_x[i]; + tmp_ifft_out[(nFFT/2) + i] = 0.0F; + } + + /* Take fourier transform of one frame */ + speech_fft(st->nr_fft_table, tmp_ifft_out, tmp_fft_out); /* faster than matlab fft() */ + nr_fd_half[0].re = tmp_fft_out[0] * nFFT; /* multiply nFFT to get values as in matlab */ + nr_fd_half[0].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + nr_fd_half[j].re = tmp_fft_out[k] * nFFT; + nr_fd_half[j].im = tmp_fft_out[k+1] * nFFT; + } + nr_fd_half[nFFT/2].re = tmp_fft_out[nFFT-1] * nFFT; + nr_fd_half[nFFT/2].im = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + + a_abs(nr_fd_half, nr_sig, (nFFT/2+1)); /* amplitude */ + c_power(nr_sig, tmp_ifft_out, (nFFT/2+1)); /* power */ + + /* Solve the issue of silence segment appeared in the beginning */ + //tmp1 = c_sum(nr_sig, (nFFT/2+1)); + tmp1 = c_sum(nr_sig, (nFFT/2)); + if (tmp1/(nFFT/2.0F) < 0.0003F) { /* small signal segment */ + *frame = 1.0F; /* reset initial noise power estimate */ + st->vad_slope_cnt = 0.0F; + st->vad_slope = 0.0F; + st->vad_dr_cnt = 0.0F; + st->vad_dr = 0.0F; + st->vad_mmse = 0.0F; + st->vad_mmse_cnt = 0.0F; + xtmp_im = nFFT / 2.0F; + for (i = 0; i < (int)(xtmp_im + 1.0F); i++) { + st->noise_mean[i] = 0.0F; + st->noise_mu2[i] = 0.0F; + st->Xk_prev[i] = 0.0F; + } + for (i = 0; i < 5; i++) { + st->noisy_st_trough[i] = 0.0F; + st->noisy_st_peak[i] = 0.0F; + for (j = 0; j < 3; j++) { + st->amp_inst_band[i+5*j] = 0.0F; + } + } + for (i = 0; i < 3; i++) { + st->amp_inst_sum_hist[i] = 0.0F; + } + } + + if (*frame <= initial_noise_pow_time) { /* amplitude of accumulating the first handful of frames */ + for (i = 0; i < 321; i++) { + st->noise_mean[i] += nr_sig[i]; + tmp_fft_out[i] = st->noise_mean[i] / (*frame); + } + c_power(tmp_fft_out, st->noise_mu2, 321); /* average power for one frame */ + /*for (i = 0; i < 321; i++) + fprintf(fp_test, "%f \n", st->noise_mu2[i]);*/ + } + + for (i = 0; i < (nFFT/2+1); i++) { + if (st->noise_mu2[i] == 0.0F) { /* zero denominator */ + if (tmp_ifft_out[i] == 0.0F) { + gammak[i] = 0.0F; + } else { + gammak[i] = 40.0F; + } + } else { + absar = tmp_ifft_out[i] / st->noise_mu2[i]; + if (!(absar < 40.0F)) { + absar = 40.0F; + } + gammak[i] = absar; /* posteriori SNR */ + } + } + + if (*frame == 1.0F) { /* priori SNR for the first frame */ + for (k = 0; k < 321; k++) { + xtmp_im = gammak[k] - 1.0F; + xtmp_im = MAX(xtmp_im, 0.0F); + ksi[k] = st->aa + (1.0F - st->aa) * xtmp_im; + } + } else { /* decision-directed estimate for priori SNR */ + for (k = 0; k < 321; k++) { + xtmp_im = gammak[k] - 1.0F; + xtmp_im = MAX(xtmp_im, 0.0F); + if (0.0F == st->noise_mu2[k]) + st->noise_mu2[k] = (float)3.3495873e-008; /* assign a small value to avoid dividing by zero */ + ksi[k] = st->aa * st->Xk_prev[k] / st->noise_mu2[k] + (1.0F - st->aa) * xtmp_im; + ksi[k] = MAX(ksi[k], st->ksi_min); /* limit ksi greater than -25dB in power */ + } + } + + /* slope detection */ + for (i = 0; i < 5; i++) { + st->amp_inst_band[10 + i] = st->amp_inst_band[5 + i]; + st->amp_inst_band[5 + i] = st->amp_inst_band[i]; + } + + st->amp_inst_band[0] = c_sum(*(float (*)[20])&nr_sig[4], 20); /* 20 */ + st->amp_inst_band[1] = c_sum(*(float (*)[20])&nr_sig[24], 20); /* 20 */ + st->amp_inst_band[2] = c_sum(*(float (*)[40])&nr_sig[44], 40); /* 40 */ + st->amp_inst_band[3] = c_sum(*(float (*)[80])&nr_sig[84], 80); /* 80 */ + st->amp_inst_band[4] = c_sum(*(float (*)[156])&nr_sig[164], 156); /* 156 */ + /*for (i = 0; i < 5; i++) + fprintf(fp_test, "%f \n", st->amp_inst_band[i]);*/ + + slope_detection(st); + + /* dynamic range detection */ + dr_detection(st); + + if ((st->vad_slope != 0.0F) || (st->vad_dr != 0.0F)) { + vad = true; + } else { + vad = false; + } + + /* log_sigma_k calculation for mmse vad */ + for (i = 0; i < 321; i++) { + tmp_fft_out[i] = 1.0F + ksi[i]; + } + b_log(tmp_fft_out); /* C = log(1+ksi) */ + + for (k = 0; k < 321; k++) { + if (0.0F == (1.0F + ksi[k])) + tmp_fft_out[k] = gammak[k] * ksi[k] / ((float)3.3495873e-008) - tmp_fft_out[k]; /* assign a small value to avoid dividing by zero */ + else + tmp_fft_out[k] = gammak[k] * ksi[k] / (1.0F + ksi[k]) - tmp_fft_out[k]; /* log_sigma_k */ + } + + xtmp_im = c_sum(tmp_fft_out, nFFT/2); /* here only consider log_sigma_k(1:nFFT/2) */ + xtmp_im = xtmp_im/(nFFT/2.0F); + + if (xtmp_im <= st->eta) { + st->vad_mmse_cnt = MAX(0.0F, st->vad_mmse_cnt - 1.0F); + if (st->vad_mmse_cnt == 0.0F) { + st->vad_mmse = 0.0F; + } + } else { + st->vad_mmse = 1.0F; + st->vad_mmse_cnt = st->vad_mmse_cnt_para; + } + + /* noise power estimate correction when it is too high */ + /* small speech in quiet after big statioanry noise, correct wrong */ + st->amp_inst_sum_hist[2] = st->amp_inst_sum_hist[1]; + st->amp_inst_sum_hist[1] = st->amp_inst_sum_hist[0]; + st->amp_inst_sum_hist[0] = c_sum(st->amp_inst_band, 5); + //fprintf(fp_test, "%f \n", st->amp_inst_sum_hist[0]); + + c_power(st->amp_inst_sum_hist, b_c, 3); /* power based */ + /*for (k = 0; k < 3; k++) + fprintf(fp_test, "%f \n", b_c[k]);*/ + + for (k = 0; k < 3; k++) { + b_c[k] *= 0.3333F; /* average power */ + } + + xtmp_im = b_c[0]; + for (k = 0; k < 2; k++) { + xtmp_im += b_c[k + 1]; + } + + absar = st->noise_mu2[4]; + for (k = 0; k < 315; k++) { + absar += st->noise_mu2[k + 5]; + } + + if (absar / 8.0F > xtmp_im) { /* +/-18dB for statioanry noise variance for the whole signals, assumption */ + for (k = 0; k < 321; k++) { + st->noise_mu2[k] = 0.8F * st->noise_mu2[k] + 0.2F * tmp_ifft_out[k]; /* here faster to update noise power */ + } + } + + /* %% keep better speech quality, not too easy to update noise power %% */ + *speech_vad = true; + if ((st->vad_mmse == 0.0F) || (!vad)) { + for (k = 0; k < 321; k++) { + st->noise_mu2[k] = st->mu * st->noise_mu2[k] + (1.0F - st->mu) * tmp_ifft_out[k]; /* update noise power */ + } + *speech_vad = false; + } + + /* === end of vad === */ + + + /* v(k) calculation */ + for (k = 0; k < 321; k++) { + if (0.0F == (1.0F + ksi[k])) + xtmp_im = ksi[k] * gammak[k] / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + else + xtmp_im = ksi[k] * gammak[k] / (1.0F + ksi[k]); /* v(k) */ + tmp_ifft_out[k] = xtmp_im; + tmp_fft_out[321+k] = xtmp_im / 2.0F; + tmp_fft_out[k] = (float)exp(-0.5F * xtmp_im); /* C = exp(-0.5*vk) */ + } + + d_power(tmp_ifft_out, &tmp_ifft_out[321]); /* vk.^0.5 */ + for (i = 0; i < 321; i++) { + //if ((tmp_ifft_out[321+i] == 0.0F) && (gammak[i] == 0.0F)) { /* bug fixed to avoid zero denominator */ + if ((gammak[i] == 0.0F)) { + tmp_ifft_out[321+i] = 0.0F; + } else { + tmp_ifft_out[321+i] = (c * tmp_ifft_out[321+i] * tmp_fft_out[i]) / gammak[i]; + } + } + + bessel_function(0.0F, &tmp_fft_out[321], tmp_fft_out); /* zero order modified Bessel function */ + bessel_function(1.0F, &tmp_fft_out[321], &tmp_fft_out[321]); /* first order modified Bessel function */ + + /* G(ksi, gammak) estimation */ + for (k = 0; k < 321; k++) { + tmp = tmp_ifft_out[321+k]; + xtmp_re = tmp_fft_out[k] * (1.0F + tmp_ifft_out[k]); + tmp1 = tmp_fft_out[321+k] * tmp_ifft_out[k]; + if (0.0F == (1.0F + ksi[k])) + lambda = qkr * (float)exp(tmp_ifft_out[k]) / ((float)3.3495873e-008); /* assign a small value to avoid dividing by zero */ + else + lambda = qkr * (float)exp(tmp_ifft_out[k]) / (1.0F + ksi[k]); + xtmp_re = nr_sig[k] * (tmp * (xtmp_re + tmp1)); + if (0.0F == (1.0F + lambda)) + tmp = lambda / ((float)3.3495873e-008) * xtmp_re; /* assign a small value to avoid dividing by zero */ + else + tmp = lambda / (1.0F + lambda) * xtmp_re; /* estimated amplitude of clean speech */ + + //Xk_prev[k].re = c_sig[k].re * c_sig[k].re - c_sig[k].im * c_sig[k].im; /* use for updating ksi in next frame */ + //Xk_prev[k].im = c_sig[k].re * c_sig[k].im + c_sig[k].im * c_sig[k].re; /* use for updating ksi in next frame */ + st->Xk_prev[k] = tmp * tmp; /* use for updating ksi in next frame */ + tmp_ifft_out[321+k] = tmp; + } + + for (k = 0; k < (nFFT/2+1); k++) { + nr_sig[k] = (float)atan2(nr_fd_half[k].im, nr_fd_half[k].re); /* theta */ + } + + for (k = 0; k < (nFFT/2+1); k++) { + if (nr_sig[k] == 0.0F) { + xtmp_re = 1.0F; + xtmp_im = 0.0F; + } else { + xtmp_re = (float)cos(nr_sig[k]); /* Euler's formula */ + xtmp_im = (float)sin(nr_sig[k]); /* Euler's formula */ + } + nr_fd_half[k].re = xtmp_re; /* phase part */ + nr_fd_half[k].im = xtmp_im; /* phase part */ + } + + for (k = 0; k < 321; k++) { + //tmp1 = c_sig[k].re; + //c_sig[k].re = c_sig[k].re * nr_fd_half[k].re - c_sig[k].im * nr_fd_half[k].im; /* estimated clean speech signal */ + //c_sig[k].im = tmp1 * nr_fd_half[k].im + c_sig[k].im * nr_fd_half[k].re; /* estimated clean speech signal */ + tmp = tmp_ifft_out[321+k]; + nr_fd_half[k].re = tmp * nr_fd_half[k].re; /* estimated clean speech signal */ + nr_fd_half[k].im = tmp * nr_fd_half[k].im; /* estimated clean speech signal */ + } + + tmp_fft_out[0] = nr_fd_half[0].re; + for (k = 1, j = 1; j < (nFFT/2); k+=2, j++) { + tmp_fft_out[k] = nr_fd_half[j].re; + tmp_fft_out[k+1] = nr_fd_half[j].im; + } + tmp_fft_out[nFFT-1] = nr_fd_half[nFFT/2].re; + + /* restore nFFT points before doing inverse FFT, do conjugate symmetric for the lower half points inside speech_ifft() */ + speech_ifft(st->nr_fft_table, tmp_fft_out, tmp_ifft_out); /* faster than matlab ifft(), in/out not use the same buffer */ + for (k = 0; k < len; k++) { /* ignore output samples from (len+1) to (2*len) */ + tmp_ifft_out[k] /= nFFT; /* divide by nFFT to get values as in matlab */ + } + + for (k = 0; k < len1; k++) { + y[k] = st->y_old[k] + (tmp_ifft_out[k] * st->syn_win[k]); /* apply synthesis window and 50% OLA for output */ + st->y_old[k] = tmp_ifft_out[len1 + k] * st->syn_win[len1 + k]; /* apply synthesis window and update output OLA buffer */ + } + + if (1 == (unsigned short)*frame) + st->nr_frame1_last_sample = y[st->frame_size-1]; + if (2 == (unsigned short)*frame) { + alpha2 = 1.0F/160.0F; + alpha = 1 - alpha2; + y[0] = alpha * st->nr_frame1_last_sample + alpha2 * y[0]; + for (i = 0; i < st->frame_size-1; i++) { + alpha2 = (float)(1.0F + i)/160.0F; + alpha = 1 - alpha2; + y[i+1] = alpha * y[i] + alpha2 * y[i+1]; + } + } +#ifdef SSP_STACK_TO_HEAP + SSP_SAFE_FREE_BUF(gammak); + SSP_SAFE_FREE_BUF(ksi); + SSP_SAFE_FREE_BUF(tmp_fft_out); + SSP_SAFE_FREE_BUF(tmp_ifft_out); + SSP_SAFE_FREE_BUF(nr_sig); + SSP_SAFE_FREE_BUF(nr_fd_half); +#endif +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.h new file mode 100755 index 000000000..976662ef5 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.h @@ -0,0 +1,18 @@ + +#ifndef MMSE_H +#define MMSE_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" +#include "struct.h" + +/* Function Declarations */ +extern void NR(short *x, float initial_noise_pow_time, float *frame, NRState *st, boolean_T *speech_vad, float *y); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse.o new file mode 100644 index 0000000000000000000000000000000000000000..251e0b07e4521f139c70135d8071a34f17d55ff2 GIT binary patch literal 22112 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.c new file mode 100755 index 000000000..3394f1386 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.c @@ -0,0 +1,275 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + *% + *% mmse_init.c + *% Author: Sharon Lee + *% History: + *% Created by Sharon Lee in August, 2019 + *% + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/* Include files */ +#include <string.h> +#include "define.h" +#include "struct.h" +#include "packfft.h" +#include "memalloc.h" +#include "mmse_init.h" + +/* Function Definitions */ +EXPORT void NR_para(ssp_para_struct *para, float *aa, float *mu) +{ + ssp_para_struct *para_obj; + unsigned short temp; + + /* NR Parameters */ + para_obj = para; + para_obj->para_nr_noise_coeff = 2; + + //para_obj->para_nr_init_sile_time = MIN(MAX(para_obj->para_nr_init_sile_time, 0), 250); + //if (fs == 16000.0F) { + //*nenr_silence_time = para_obj->para_nr_init_sile_time*2; + //} else { + //*nenr_silence_time = para_obj->para_nr_init_sile_time; + //} + + temp = MIN(MAX(para_obj->para_nr_snr_coeff, 0), 25); + //if (temp >= 0 && temp <= 3) { /* for low SNR, [0, 3] = > [0.6, 0.9] */ + if (temp <= 3) { /* for low SNR, [0, 3] = > [0.6, 0.9] */ + *aa = (float)(0.60 + temp * 0.1); /* the speed of priori SNR tracking */ + } + else if (temp > 3 && temp <= 10) { /* for middle SNR, [4, 10] => [0.91, 0.97] */ + *aa = (float)(0.90 + (temp - 3) * 0.01); /* the speed of priori SNR tracking */ + } + else if (temp > 10 && temp <= 20) { /* for high SNR, [11, 20] => [0.972, 0.99] */ + *aa = (float)(0.97 + (temp - 10) * 0.002); /* the speed of priori SNR tracking */ + } + else { /* for higher SNR, [21, 25] => [0.991, 0.995] */ + *aa = (float)(0.99 + (temp - 20) * 0.001); /* the speed of priori SNR tracking */ + } + + temp = MIN(MAX(para_obj->para_nr_noise_coeff, 0), 14); + *mu = (float)(0.99 - temp * 0.01); + +} + +EXPORT NRState *NR_init(int frame_size, float fs, float aa, float mu) +{ + int i; + + static const float fv0[320] = { 0.00978696439F, 0.0195724051F, 0.0293563232F, + 0.0391375758F, 0.0489150211F, 0.0586875156F, 0.0684547871F, 0.0782151669F, + 0.0879682377F, 0.0977126881F, 0.107447952F, 0.117172875F, 0.126886666F, + 0.136588231F, 0.146276712F, 0.155951113F, 0.165610686F, 0.175254285F, + 0.184881195F, 0.194490388F, 0.204080895F, 0.213651851F, 0.223202422F, + 0.232731596F, 0.242238432F, 0.251722068F, 0.261181623F, 0.270616144F, + 0.280024707F, 0.289406538F, 0.298760593F, 0.308086067F, 0.317382F, + 0.32664752F, 0.33588177F, 0.345083892F, 0.354252934F, 0.363388F, 0.37248826F, + 0.381552905F, 0.390580982F, 0.399571627F, 0.408524F, 0.417437255F, + 0.426310569F, 0.435143F, 0.443933755F, 0.452682018F, 0.461386859F, + 0.470047563F, 0.478663206F, 0.487233073F, 0.495756179F, 0.50423187F, + 0.512659192F, 0.521037519F, 0.529365838F, 0.537643492F, 0.545869648F, + 0.554043531F, 0.562164307F, 0.570231259F, 0.578243613F, 0.586200595F, + 0.594101369F, 0.601945281F, 0.609731555F, 0.617459357F, 0.62512809F, + 0.632736921F, 0.640285134F, 0.647772F, 0.655196846F, 0.662559F, 0.669857562F, + 0.677092075F, 0.68426168F, 0.691365719F, 0.698403656F, 0.705374539F, + 0.712277949F, 0.719113111F, 0.725879431F, 0.732576191F, 0.739202797F, + 0.745758593F, 0.752243042F, 0.75865525F, 0.764995F, 0.771261334F, + 0.77745384F, 0.783571839F, 0.789614856F, 0.795582235F, 0.80147332F, + 0.807287753F, 0.813024819F, 0.818684F, 0.824264765F, 0.829766572F, + 0.835188925F, 0.84053123F, 0.845793068F, 0.850973964F, 0.85607326F, + 0.861090541F, 0.866025388F, 0.870877266F, 0.875645757F, 0.880330384F, + 0.88493067F, 0.889446199F, 0.893876493F, 0.898221254F, 0.902479887F, + 0.906652153F, 0.910737574F, 0.914735734F, 0.918646276F, 0.922468841F, + 0.926203072F, 0.929848552F, 0.933404922F, 0.936872F, 0.940249264F, + 0.94353646F, 0.946733356F, 0.949839532F, 0.952854693F, 0.955778599F, + 0.958611F, 0.961351573F, 0.964000046F, 0.966556191F, 0.969019771F, + 0.971390486F, 0.973668218F, 0.975852728F, 0.977943659F, 0.979940951F, + 0.981844425F, 0.983653843F, 0.985368967F, 0.986989796F, 0.988516092F, + 0.989947617F, 0.99128443F, 0.992526233F, 0.993673F, 0.994724631F, + 0.995680928F, 0.996541858F, 0.997307301F, 0.997977257F, 0.998551607F, + 0.999030352F, 0.999413371F, 0.999700665F, 0.999892235F, 0.999988F, 0.999988F, + 0.999892235F, 0.999700665F, 0.999413371F, 0.999030352F, 0.998551607F, + 0.997977257F, 0.997307301F, 0.996541858F, 0.995680928F, 0.994724631F, + 0.993673F, 0.992526233F, 0.99128443F, 0.989947617F, 0.988516092F, + 0.986989796F, 0.985368967F, 0.983653843F, 0.981844425F, 0.979940951F, + 0.977943659F, 0.975852728F, 0.973668218F, 0.971390486F, 0.969019771F, + 0.966556191F, 0.964000046F, 0.961351573F, 0.958611F, 0.955778599F, + 0.952854693F, 0.949839532F, 0.946733356F, 0.94353646F, 0.940249264F, + 0.936872F, 0.933404922F, 0.929848552F, 0.926203072F, 0.922468841F, + 0.918646276F, 0.914735734F, 0.910737574F, 0.906652153F, 0.902479887F, + 0.898221254F, 0.893876493F, 0.889446199F, 0.88493067F, 0.880330384F, + 0.875645757F, 0.870877266F, 0.866025388F, 0.861090541F, 0.85607326F, + 0.850973964F, 0.845793068F, 0.84053123F, 0.835188925F, 0.829766572F, + 0.824264765F, 0.818684F, 0.813024819F, 0.807287753F, 0.80147332F, + 0.795582235F, 0.789614856F, 0.783571839F, 0.77745384F, 0.771261334F, + 0.764995F, 0.75865525F, 0.752243042F, 0.745758593F, 0.739202797F, + 0.732576191F, 0.725879431F, 0.719113111F, 0.712277949F, 0.705374539F, + 0.698403656F, 0.691365719F, 0.68426168F, 0.677092075F, 0.669857562F, + 0.662559F, 0.655196846F, 0.647772F, 0.640285134F, 0.632736921F, 0.62512809F, + 0.617459357F, 0.609731555F, 0.601945281F, 0.594101369F, 0.586200595F, + 0.578243613F, 0.570231259F, 0.562164307F, 0.554043531F, 0.545869648F, + 0.537643492F, 0.529365838F, 0.521037519F, 0.512659192F, 0.50423187F, + 0.495756179F, 0.487233073F, 0.478663206F, 0.470047563F, 0.461386859F, + 0.452682018F, 0.443933755F, 0.435143F, 0.426310569F, 0.417437255F, 0.408524F, + 0.399571627F, 0.390580982F, 0.381552905F, 0.37248826F, 0.363388F, + 0.354252934F, 0.345083892F, 0.33588177F, 0.32664752F, 0.317382F, + 0.308086067F, 0.298760593F, 0.289406538F, 0.280024707F, 0.270616144F, + 0.261181623F, 0.251722068F, 0.242238432F, 0.232731596F, 0.223202422F, + 0.213651851F, 0.204080895F, 0.194490388F, 0.184881195F, 0.175254285F, + 0.165610686F, 0.155951113F, 0.146276712F, 0.136588231F, 0.126886666F, + 0.117172875F, 0.107447952F, 0.0977126881F, 0.0879682377F, 0.0782151669F, + 0.0684547871F, 0.0586875156F, 0.0489150211F, 0.0391375758F, 0.0293563232F, + 0.0195724051F, 0.00978696439F }; + + static const float fv1[320] = { 0.0107656615F, 0.0215296466F, 0.0322919562F, + 0.043051336F, 0.0538065247F, 0.0645562708F, 0.0753002688F, 0.0860366821F, + 0.0967650637F, 0.107483961F, 0.118192747F, 0.128890172F, 0.139575332F, + 0.150247052F, 0.160904393F, 0.171546221F, 0.182171762F, 0.19277972F, + 0.203369319F, 0.213939428F, 0.224488989F, 0.235017046F, 0.245522663F, + 0.256004751F, 0.266462266F, 0.276894271F, 0.287299782F, 0.297677755F, + 0.308027178F, 0.318347186F, 0.328636646F, 0.338894695F, 0.349120229F, + 0.359312266F, 0.369469941F, 0.379592299F, 0.38967824F, 0.399726808F, + 0.40973708F, 0.419708192F, 0.429639101F, 0.439528793F, 0.449376404F, + 0.459180981F, 0.468941629F, 0.478657305F, 0.488327146F, 0.497950226F, + 0.507525563F, 0.517052352F, 0.526529551F, 0.535956383F, 0.545331836F, + 0.554655075F, 0.563925147F, 0.573141277F, 0.582302451F, 0.591407835F, + 0.600456655F, 0.609447896F, 0.618380725F, 0.627254426F, 0.636068F, + 0.64482069F, 0.653511524F, 0.662139833F, 0.670704722F, 0.679205298F, + 0.687640905F, 0.696010649F, 0.704313636F, 0.71254921F, 0.720716536F, + 0.7288149F, 0.736843348F, 0.744801283F, 0.752687871F, 0.760502279F, + 0.768244F, 0.775912F, 0.783505738F, 0.791024446F, 0.798467398F, 0.805833817F, + 0.813123107F, 0.820334494F, 0.827467382F, 0.834520817F, 0.841494501F, + 0.84838748F, 0.855199218F, 0.861929059F, 0.868576348F, 0.875140488F, + 0.881620646F, 0.888016522F, 0.894327343F, 0.900552392F, 0.906691253F, + 0.91274327F, 0.918707848F, 0.924584389F, 0.930372417F, 0.936071396F, + 0.94168061F, 0.947199643F, 0.952627957F, 0.957965F, 0.963210344F, + 0.968363464F, 0.973423779F, 0.978390813F, 0.983264148F, 0.988043427F, + 0.992727876F, 0.997317374F, 1.00181139F, 1.00620937F, 1.01051092F, + 1.01471579F, 1.01882339F, 1.02283347F, 1.02674544F, 1.03055918F, 1.03427422F, + 1.03789008F, 1.04140675F, 1.04482353F, 1.04814017F, 1.05135643F, 1.05447209F, + 1.05748677F, 1.06040013F, 1.0632118F, 1.06592178F, 1.06852961F, 1.07103503F, + 1.07343805F, 1.07573807F, 1.0779351F, 1.08002889F, 1.08201921F, 1.08390594F, + 1.08568883F, 1.08736777F, 1.08894241F, 1.09041286F, 1.09177887F, 1.09304035F, + 1.09419715F, 1.09524906F, 1.09619606F, 1.09703803F, 1.09777498F, 1.09840679F, + 1.09893346F, 1.09935474F, 1.09967077F, 1.09988153F, 1.09998679F, 1.09998679F, + 1.09988153F, 1.09967077F, 1.09935474F, 1.09893346F, 1.09840679F, 1.09777498F, + 1.09703803F, 1.09619606F, 1.09524906F, 1.09419715F, 1.09304035F, 1.09177887F, + 1.09041286F, 1.08894241F, 1.08736777F, 1.08568883F, 1.08390594F, 1.08201921F, + 1.08002889F, 1.0779351F, 1.07573807F, 1.07343805F, 1.07103503F, 1.06852961F, + 1.06592178F, 1.0632118F, 1.06040013F, 1.05748677F, 1.05447209F, 1.05135643F, + 1.04814017F, 1.04482353F, 1.04140675F, 1.03789008F, 1.03427422F, 1.03055918F, + 1.02674544F, 1.02283347F, 1.01882339F, 1.01471579F, 1.01051092F, 1.00620937F, + 1.00181139F, 0.997317374F, 0.992727876F, 0.988043427F, 0.983264148F, + 0.978390813F, 0.973423779F, 0.968363464F, 0.963210344F, 0.957965F, + 0.952627957F, 0.947199643F, 0.94168061F, 0.936071396F, 0.930372417F, + 0.924584389F, 0.918707848F, 0.91274327F, 0.906691253F, 0.900552392F, + 0.894327343F, 0.888016522F, 0.881620646F, 0.875140488F, 0.868576348F, + 0.861929059F, 0.855199218F, 0.84838748F, 0.841494501F, 0.834520817F, + 0.827467382F, 0.820334494F, 0.813123107F, 0.805833817F, 0.798467398F, + 0.791024446F, 0.783505738F, 0.775912F, 0.768244F, 0.760502279F, 0.752687871F, + 0.744801283F, 0.736843348F, 0.7288149F, 0.720716536F, 0.71254921F, + 0.704313636F, 0.696010649F, 0.687640905F, 0.679205298F, 0.670704722F, + 0.662139833F, 0.653511524F, 0.64482069F, 0.636068F, 0.627254426F, + 0.618380725F, 0.609447896F, 0.600456655F, 0.591407835F, 0.582302451F, + 0.573141277F, 0.563925147F, 0.554655075F, 0.545331836F, 0.535956383F, + 0.526529551F, 0.517052352F, 0.507525563F, 0.497950226F, 0.488327146F, + 0.478657305F, 0.468941629F, 0.459180981F, 0.449376404F, 0.439528793F, + 0.429639101F, 0.419708192F, 0.40973708F, 0.399726808F, 0.38967824F, + 0.379592299F, 0.369469941F, 0.359312266F, 0.349120229F, 0.338894695F, + 0.328636646F, 0.318347186F, 0.308027178F, 0.297677755F, 0.287299782F, + 0.276894271F, 0.266462266F, 0.256004751F, 0.245522663F, 0.235017046F, + 0.224488989F, 0.213939428F, 0.203369319F, 0.19277972F, 0.182171762F, + 0.171546221F, 0.160904393F, 0.150247052F, 0.139575332F, 0.128890172F, + 0.118192747F, 0.107483961F, 0.0967650637F, 0.0860366821F, 0.0753002688F, + 0.0645562708F, 0.0538065247F, 0.043051336F, 0.0322919562F, 0.0215296466F, + 0.0107656615F }; + + NRState *st = (NRState *)mem_alloc(sizeof(NRState)); + st->Fs = fs; + st->frame_size = frame_size; + st->aa = aa; + st->mu = mu; + + st->nr_fft_table = speech_fft_init(2*2*st->frame_size); + st->ana_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + st->syn_win = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + st->x_old = (short*)mem_alloc(st->frame_size*sizeof(short)); + st->y_old = (float*)mem_alloc(st->frame_size*sizeof(float)); + st->Xk_prev = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + st->noise_mean = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + st->noise_mu2 = (float*)mem_alloc((2*st->frame_size+1)*sizeof(float)); + st->amp_inst_band = (float*)mem_alloc(5*3*sizeof(float)); + st->noisy_st_trough = (float*)mem_alloc(5*sizeof(float)); + st->noisy_st_peak = (float*)mem_alloc(5*sizeof(float)); + st->amp_inst_sum_hist = (float*)mem_alloc(3*sizeof(float)); + st->float_x = (float*)mem_alloc(2*st->frame_size*sizeof(float)); + + for (i = 0; i < 2*st->frame_size; i++) { + st->ana_win[i] = fv0[i]; + st->syn_win[i] = fv1[i]; + } + + for (i = 0; i < st->frame_size; i++) { + st->x_old[i] = 0; + st->y_old[i] = 0.0F; + } + + for (i = 0; i < 2*st->frame_size+1; i++) { + //Xk_prev[i].re = 0.0F; + //Xk_prev[i].im = 0.0F; + st->Xk_prev[i] = 0.0F; + st->noise_mean[i] = 0.0F; + st->noise_mu2[i] = 0.0F; + } + + for (i = 0; i < 15; i++) { + st->amp_inst_band[i] = 0.0F; + } + + for (i = 0; i < 5; i++) { + st->noisy_st_trough[i] = 0.0F; + st->noisy_st_peak[i] = 0.0F; + } + + for (i = 0; i < 3; i++) { + st->amp_inst_sum_hist[i] = 0.0F; + } + + st->eta = 0.15F; + st->ksi_min = 0.0031622777F; + st->vad_slope_cnt = 0.0F; + st->vad_slope = 0.0F; + st->vad_dr_cnt = 0.0F; + st->vad_dr = 0.0F; + st->vad_mmse = 0.0F; + st->vad_mmse_cnt = 0.0F; + if (fs == 16000) + st->vad_mmse_cnt_para = 4; /* last at least 40ms, once the mmse vad goes up, keep the circumstance a period of time to get better speech quality */ + else if (fs == 8000) + st->vad_mmse_cnt_para = 2; /* last at least 40ms, once the mmse vad goes up, keep the circumstance a period of time to get better speech quality */ + + return st; + +} + +EXPORT void NR_free(NRState *st) +{ + speech_fft_free(st->nr_fft_table); + mem_free(st->ana_win); + mem_free(st->syn_win); + mem_free(st->x_old); + mem_free(st->y_old); + mem_free(st->Xk_prev); + mem_free(st->noise_mean); + mem_free(st->noise_mu2); + mem_free(st->amp_inst_band); + mem_free(st->noisy_st_trough); + mem_free(st->noisy_st_peak); + mem_free(st->amp_inst_sum_hist); + mem_free(st->float_x); + + mem_free(st); + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.h new file mode 100755 index 000000000..989a0f405 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.h @@ -0,0 +1,20 @@ + +#ifndef MMSE_INIT_H +#define MMSE_INIT_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" +#include "struct.h" + +/* Function Declarations */ +extern void NR_para(ssp_para_struct *para, float *aa, float *mu); +extern NRState *NR_init(int frame_size, float fs, float aa, float mu); +extern void NR_free(NRState *st); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_init.o new file mode 100644 index 0000000000000000000000000000000000000000..8a56d88a56f0de07f90d9fbce875908bdbb6c92a GIT binary patch literal 18484 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.c new file mode 100755 index 000000000..f34e63c67 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.c @@ -0,0 +1,101 @@ + +/* Include files */ +#include <math.h> +#include "mmse_rtwutil.h" + +/*extern *fp_test; +extern debug_cnt; +extern frame_cnt;*/ + +/* Function Definitions */ +double rt_hypotd(double u0, double u1) +{ + double y; + double a; + double b; + + //if (frame_cnt == 300) + // printf(""); + + #if 0 + a = u0; + b = u1; + y = (double)sqrt(a * a + b * b); + if (y == 0.0F) /* can avoid y to be zero if as denominator */ + { + a = fabs(u0); + b = fabs(u1); + if (a < b) { + a /= b; + y = b * sqrt(a * a + 1.0); + } else if (a > b) { + b /= a; + y = a * sqrt(b * b + 1.0); + } else { + y = a * 1.4142135623730951; + } + } + #else + a = fabs(u0); + b = fabs(u1); + if (a < b) { + a /= b; + y = b * sqrt(a * a + 1.0); + } else if (a > b) { + b /= a; + y = a * sqrt(b * b + 1.0); + } else { + y = a * 1.4142135623730951; + } + #endif + + /*fprintf(fp_test, "%.8lf \n", y); + debug_cnt++; + if (debug_cnt == 80943) + printf("");*/ + + return y; +} + +float rt_hypotf(float u0, float u1) +{ + float y; + float a; + float b; + + #if 1 + a = u0; + b = u1; + y = (float)sqrt(a * a + b * b); + if (y == 0.0F) /* can avoid y to be zero if as denominator */ + { + a = (float)fabs(u0); + b = (float)fabs(u1); + if (a < b) { + a /= b; + y = b * (float)sqrt(a * a + 1.0F); + } else if (a > b) { + b /= a; + y = a * (float)sqrt(b * b + 1.0F); + } else { + y = a * 1.41421354F; + } + } + #else + a = (float)fabs(u0); + b = (float)fabs(u1); + if (a < b) { + a /= b; + y = b * (float)sqrt(a * a + 1.0F); + } else if (a > b) { + b /= a; + y = a * (float)sqrt(b * b + 1.0F); + } else { + y = a * 1.41421354F; + } + #endif + + return y; +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.h new file mode 100755 index 000000000..006b13475 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.h @@ -0,0 +1,16 @@ + +#ifndef MMSE_RTWUTIL_H +#define MMSE_RTWUTIL_H + +/* Include files */ +#include <stddef.h> +#include <stdlib.h> +#include "tmwtypes.h" + +/* Function Declarations */ +extern double rt_hypotd(double u0, double u1); +extern float rt_hypotf(float u0, float u1); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/mmse_rtwutil.o new file mode 100644 index 0000000000000000000000000000000000000000..77130278773718db4b3304ae8a8ddd0e1d09d163 GIT binary patch literal 6928 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 bPCozmyIc1=2jtkC`EJExoeQ5WcD{cD4!1qu literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.c new file mode 100755 index 000000000..713762daf --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.c @@ -0,0 +1,464 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*% */ +/*% nlpaes.c */ +/*% Author: Sharon Lee */ +/*% History: */ +/*% Created by Sharon Lee in August, 2020 */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ + +/* Include files */ +#include <math.h> +#include "tmwtypes.h" +#include "define.h" +#include "struct.h" +#include "nlpaes_subfun.h" +#include "memalloc.h" +#include "packfft.h" +#include "lpaec_subfun.h" +#include "nlpaes.h" + +#ifdef SSP_STACK_TO_HEAP + short *mic_raw_std; + float *tmp1; + float *tmp2; +#endif + +#ifndef SSP_SAFE_FREE_BUF +#define SSP_SAFE_FREE_BUF(OBJ) {if (NULL != OBJ) {free(OBJ); OBJ = NULL; } } +#endif + +#ifndef SSP_CALLOC +#define SSP_CALLOC(TYPE, COUNT) ((TYPE *)calloc(COUNT, sizeof(TYPE))) +#endif + +/* Function Definitions */ +EXPORT void NLP_AES_para(ssp_para_struct *para, float *std_thrd, float *aes_supp_coef1, float *aes_supp_coef2) +{ + ssp_para_struct *para_obj; + unsigned short tmp; + + /* NLP AES Parameters */ + para_obj = para; + + tmp = MIN(MAX(para_obj->para_aes_std_thrd, 0), 39); /* the threshold level for residual echo */ + *std_thrd = 0.6f + tmp * 0.01f; /* [0.6, 0.99], each step 0.01 */ + + tmp = MIN(MAX(para_obj->para_aes_supp_coeff, 0), 100); /* the suppression level for residual echo */ + *aes_supp_coef1 = 1.0f + tmp * 0.125f; /* [1.0, 13.5], each step 0.125 */ + *aes_supp_coef2 = 2.0f + tmp * 0.25f; /* [2.0, 27.0], each step 0.25 */ + +} + +EXPORT NonLinearEchoState *NLP_AES_init(int frame_size, float sampling_rate, float std_thrd, float aes_supp_coef1, float aes_supp_coef2) +{ + int i; + int N, N3, M; + + NonLinearEchoState *st = (NonLinearEchoState *)mem_alloc(sizeof(NonLinearEchoState)); + st->fdstd_thrd = std_thrd; + st->aes_supp_coef1 = aes_supp_coef1; + st->aes_supp_coef2 = aes_supp_coef2; + st->frame_size = frame_size; + st->ps_size = st->frame_size; + N = st->ps_size; /* power spectrum size */ + N3 = 2*N - st->frame_size; + st->sampling_rate = (int)sampling_rate; + + st->echo_state = NULL; + st->nbands = 2; + M = st->nbands; + st->bank = filterbank_create(M, sampling_rate, N, 1); + st->frame = (float*)mem_alloc(2*N*sizeof(float)); + st->window = (float*)mem_alloc(2*N*sizeof(float)); + st->ft = (float*)mem_alloc(2*N*sizeof(float)); + st->ps = (float*)mem_alloc((N+M)*sizeof(float)); + st->echo_noise = (float*)mem_alloc((N+M)*sizeof(float)); + st->residual_echo = (float*)mem_alloc((N+M)*sizeof(float)); + st->old_ps = (float*)mem_alloc((N+M)*sizeof(float)); + st->prior = (float*)mem_alloc((N+M)*sizeof(float)); + st->post = (float*)mem_alloc((N+M)*sizeof(float)); + st->gain = (float*)mem_alloc((N+M)*sizeof(float)); + st->gain2 = (float*)mem_alloc((N+M)*sizeof(float)); + st->gain_floor = (float*)mem_alloc((N+M)*sizeof(float)); + st->zeta = (float*)mem_alloc((N+M)*sizeof(float)); + + st->inbuf = (float*)mem_alloc(N3*sizeof(float)); + st->outbuf = (float*)mem_alloc(N3*sizeof(float)); + + aes_conj_window(st->window, 2*N3); + + for (i=0;i<N+M;i++) { + st->old_ps[i] = FLOAT_ONE; + st->gain[i] = FLOAT_ONE; + st->post[i] = FLOAT_ONE; + st->prior[i] = FLOAT_ONE; + st->echo_noise[i] = FLOAT_ZERO; + st->zeta[0] = FLOAT_ZERO; + } + + st->echo_sup = -40; + st->echo_sup_active = -15; + + for (i=0;i<N3;i++) { + st->inbuf[i] = 0; + st->outbuf[i] = 0; + } + + st->fft_lookup = speech_fft_init(2*N); + + st->nb_adapt = 0; + st->min_count = 0; + + /* STD/DTD */ + st->aes_std_in = (short*)mem_alloc(frame_size*sizeof(short)); + st->mic_raw_ola = (short*)mem_alloc(frame_size*sizeof(short)); + //st->fdstd_mic_in_sm = (float*)mem_alloc(frame_size*sizeof(float)); + //st->fdstd_linear_echo_sm = (float*)mem_alloc(frame_size*sizeof(float)); + + for (i=0;i < st->frame_size;i++) { + st->mic_raw_ola[i] = 0; + //st->fdstd_mic_in_sm[i] = FLOAT_ZERO; + //st->fdstd_linear_echo_sm[i] = FLOAT_ZERO; + } + st->RER_smooth = FLOAT_ZERO; + st->RER_vad = 0; + st->st_vad = 0; + st->fdstd_vad = 0; + st->frame1_last_sample = 0; + + return st; + +} + +EXPORT void NLP_AES_free(NonLinearEchoState *st) +{ + mem_free(st->frame); + mem_free(st->ft); + mem_free(st->ps); + mem_free(st->gain2); + mem_free(st->gain_floor); + mem_free(st->window); + mem_free(st->old_ps); + mem_free(st->gain); + mem_free(st->prior); + mem_free(st->post); + mem_free(st->echo_noise); + mem_free(st->residual_echo); + mem_free(st->zeta); + + mem_free(st->inbuf); + mem_free(st->outbuf); + + speech_fft_free(st->fft_lookup); + filterbank_free(st->bank); + + mem_free(st->aes_std_in); + mem_free(st->mic_raw_ola); + //mem_free(st->fdstd_mic_in_sm); + //mem_free(st->fdstd_linear_echo_sm); + + mem_free(st); +#ifdef SSP_STACK_TO_HEAP + //SSP_SAFE_FREE_BUF(mic_raw_std); + SSP_SAFE_FREE_BUF(tmp1); + SSP_SAFE_FREE_BUF(tmp2); +#endif + +} + +void std_residual_echo(NonLinearEchoState *st, float *residual_echo, int len, boolean_T speech_vad) +{ + int i; + float leak2; + int N; + //float rer_coef; + + N = st->echo_state->window_size; + len = len; + /* Apply hanning window (should pre-compute it) */ + for (i=0;i<N;i++) + st->echo_state->y[i] = st->echo_state->window[i] * st->echo_state->last_y[i]; + + /* Compute power spectrum of the linear echo in each bin */ + speech_fft(st->echo_state->fft_table, st->echo_state->y, st->echo_state->Y); + bin_power_spectrum(st->echo_state->Y, residual_echo, N); /* powe-based linear echo */ + + //rer_coef = 0.75f; + //st->RER_smooth = rer_coef*st->RER_smooth + (FLOAT_ONE-rer_coef)*st->echo_state->RER; /* not better */ + //if (st->RER_smooth*32767 > 2000) + if (st->echo_state->RER*32767 > 3000) + st->RER_vad = 1; + else + st->RER_vad = 0; + + + { +#ifdef SSP_STACK_TO_HEAP + if (tmp1 == NULL) + tmp1 = SSP_CALLOC(float, 320); + if (tmp2 == NULL) + tmp2 = SSP_CALLOC(float, 320); + + memset(tmp1, 0, 320 * sizeof(float)); + memset(tmp2, 0, 320 * sizeof(float)); +#else + float tmp1[320], tmp2[320]; +#endif + float fdstd_tau, fdstd_tau_sum; + int start_f, end_f; + + for (i=0;i < st->frame_size;i++) { + tmp1[i] = st->mic_raw_ola[i]; /* previous frame */ + tmp1[i+st->frame_size] = st->aes_std_in[i]; /* current frame */ + st->mic_raw_ola[i] = st->aes_std_in[i]; /* update input overlap data */ + } + + for (i=0;i<N;i++) + tmp1[i] = st->echo_state->window[i] * tmp1[i]; + speech_fft(st->echo_state->fft_table, tmp1, tmp2); + bin_power_spectrum(tmp2, tmp1, N); + + fdstd_tau_sum = FLOAT_ZERO; + start_f = (int)(ceil(100 * N / st->sampling_rate)); + end_f = (int)(floor(3800 * N / st->sampling_rate)); + for (i = start_f; i <= end_f; i++) { + fdstd_tau = (float)sqrt(residual_echo[i]/(tmp1[i] + 0.000000000465f)); /* add small DC to avoid zero denominator */ + fdstd_tau_sum += fdstd_tau; + } + + if (fdstd_tau_sum > (float)(end_f - start_f + 1)) /* fix abnormal situation */ + fdstd_tau_sum = (float)(end_f - start_f + 1); + + st->fdstd_tau_mean = fdstd_tau_sum/(end_f - start_f + 1); /* frame-based */ + if (st->fdstd_tau_mean > st->fdstd_thrd) + st->fdstd_vad = 1; + else + st->fdstd_vad = 0; + + if ((st->RER_vad) && (st->fdstd_vad)) + st->st_vad = 1; + else + st->st_vad = 0; + + } + + if (st->st_vad) { + if (st->echo_state->leak_estimate > .5) /* the bigger the value, the more abrupt the signal */ + leak2 = st->aes_supp_coef1; + else + leak2 = st->aes_supp_coef2 * st->echo_state->leak_estimate; + } else { + if (!(st->RER_vad) && (speech_vad)) { + leak2 = 0.0f; /* keep clean speech signal not to be attenuated */ + } else { + if (st->echo_state->leak_estimate > .5) + leak2 = 1.0f; + else + leak2 = 2.0f * st->echo_state->leak_estimate; + } + } + + for (i=0;i<=st->frame_size;i++) { + if (st->st_vad) + residual_echo[i] = leak2 * residual_echo[i]; + else + residual_echo[i] = (short)(leak2 * residual_echo[i]); + } + +} + +EXPORT void NLP_AES(NonLinearEchoState *aes_state, short *y, float aes_frame, boolean_T speech_vad) +{ + int i; + int M; + int N; + int N3; + float *ps; + float Zframe; + float Pframe; + float beta, beta_1; + float effective_echo_suppress; + NonLinearEchoState *st; + float alpha, alpha2; + float y_tmp[160]; + + st = aes_state; + N = st->ps_size; + N3 = 2*N - st->frame_size; + ps = st->ps; + + st->nb_adapt++; + if (st->nb_adapt>20000) + st->nb_adapt = 20000; + st->min_count++; + + beta = MAX(.03f, (float)(FLOAT_ONE / st->nb_adapt)); + beta_1 = FLOAT_ONE - beta; + beta_1 = beta_1; + M = st->nbands; + + /* Deal with residual echo if provided */ + if (st->echo_state) { + std_residual_echo(st, st->residual_echo, N, speech_vad); + + /* If there are ridiculous values, it'll show up in the DC and just reset everything to zero */ + if (!(st->residual_echo[0] >=0 && st->residual_echo[0]<N*1e9f)) { + for (i=0;i<N;i++) + st->residual_echo[i] = 0; + } + + for (i=0;i<N;i++) + st->echo_noise[i] = MAX(.6f * st->echo_noise[i], st->residual_echo[i]); /* power-based */ + filterbank_linear2sb(st->bank, st->echo_noise, st->echo_noise+N); + } else { + for (i=0;i<N+M;i++) + st->echo_noise[i] = 0; + } + + aes_analysis(st, y); + + /* Special case for first frame */ + if (st->nb_adapt==1) + for (i=0;i<N+M;i++) + st->old_ps[i] = ps[i]; + + for (i=0;i<N+M;i++) { + float gamma; + + /* Total noise estimate */ + float tot_noise = 1.f + st->echo_noise[i]; + + /* Posteriori SNR */ + st->post[i] = ps[i] / tot_noise - 1.f; + st->post[i]=MIN(st->post[i], 100.f); + + /* Update gamma */ + gamma = .1f + .89f * SQR(st->old_ps[i] / (st->old_ps[i] + tot_noise)); + + /* Priori SNR */ + st->prior[i] = gamma * MAX(0, st->post[i]) + (FLOAT_ONE-gamma) * (st->old_ps[i] / tot_noise); + st->prior[i] = MIN(st->prior[i], 100.f); + } + + /* Recursive average of the priori SNR */ + st->zeta[0] = .7f * st->zeta[0] + .3f * st->prior[0]; + for (i=1;i<N-1;i++) + st->zeta[i] = .7f * st->zeta[i] + .15f * st->prior[i] + .075f * st->prior[i-1] + .075f * st->prior[i+1]; + for (i=N-1;i<N+M;i++) + st->zeta[i] = .7f * st->zeta[i] + .3f * st->prior[i]; + + Zframe = 0; + for (i=N;i<N+M;i++) + Zframe = Zframe + st->zeta[i]; + + Pframe = .1f + .899f * aes_qcurve(Zframe / st->nbands); + effective_echo_suppress = (FLOAT_ONE - Pframe) * st->echo_sup + Pframe * st->echo_sup_active; + aes_gain_floor(effective_echo_suppress, st->echo_noise+N, st->gain_floor+N, M); + + /* Compute speech probability of presence */ + for (i=N;i<N+M;i++) { + float theta; + float MM; /* gain from hypergeometric function */ + float prior_ratio; /* Weiner filter gain */ + float P1; /* priority probability of speech presence */ + float q; /* speech absence the priori probability */ + + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + theta = prior_ratio * (1.f + st->post[i]); + + MM = aes_hypergeom_gain(theta); + st->gain[i] = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; /* save old power spectrum */ + + P1 = .199f + .8f * aes_qcurve(st->zeta[i]); + q = FLOAT_ONE - Pframe * P1; + st->gain2[i] = 1/(1.f + (q/(1.f-q))*(1+st->prior[i])*(float)exp(-theta)); /* lambda/(1+lambda) */ + + } + + filterbank_sb2linear(st->bank,st->gain2+N, st->gain2); + filterbank_sb2linear(st->bank,st->gain+N, st->gain); + filterbank_sb2linear(st->bank,st->gain_floor+N, st->gain_floor); + + /* Compute gain */ + for (i=0;i<N;i++) { + float MM; + float theta; + float prior_ratio; + float tmp; + float p; + float g; + + prior_ratio = st->prior[i] / (st->prior[i] + 1.f); + theta = prior_ratio * (1.f + st->post[i]); + + /* Optimal estimator for loudness domain */ + MM = aes_hypergeom_gain(theta); + g = MIN(FLOAT_ONE, prior_ratio * MM); /* gain with bound */ + p = st->gain2[i]; /* interpolated speech probability of presence */ + + /* Constrain the gain to be close to the scale gain */ + if ((.333f *g) > st->gain[i]) + g = 3.f * st->gain[i]; + st->gain[i] = g; + + /* save old power spectrum */ + st->old_ps[i] = .2f * st->old_ps[i] + .8f * SQR(st->gain[i]) * ps[i]; + + /* Apply gain floor */ + if (st->gain[i] < st->gain_floor[i]) + st->gain[i] = st->gain_floor[i]; + + /* Take into account speech probability of presence */ + tmp = p * (float)math_sqrt(st->gain[i]) + (FLOAT_ONE -p) * (float)math_sqrt(st->gain_floor[i]); + st->gain2[i] = SQR(tmp); + + //if (st->st_vad) + //if (st->RER_vad) + st->gain2[i] = st->gain2[i] * st->gain[i]; + + } + + + for (i=1;i<N;i++) { + st->ft[2*i-1] = st->gain2[i] * st->ft[2*i-1]; + st->ft[2*i] = st->gain2[i] * st->ft[2*i]; + } + st->ft[0] = st->gain2[0] * st->ft[0]; + st->ft[2*N-1] = st->gain2[N-1] * st->ft[2*N-1]; + + speech_ifft(st->fft_lookup, st->ft, st->frame); + + /* Apply synthesis window (for WOLA) */ + for (i=0;i<2*N;i++) + st->frame[i] = st->frame[i] * st->window[i]; + + /* Perform overlap and add */ + for (i=0;i<N3;i++) { + y_tmp[i] = st->outbuf[i] + st->frame[i]; + } + + if (1 == (unsigned short)aes_frame) + st->frame1_last_sample = y_tmp[N3-1]; + if (2 == (unsigned short)aes_frame) { + alpha2 = 1.0F/160.0F; + alpha = 1 - alpha2; + y_tmp[0] = alpha * st->frame1_last_sample + alpha2 * y_tmp[0]; + for (i = 0; i < N3-1; i++) { + alpha2 = (float)(1.0F + i)/160.0F; + alpha = 1 - alpha2; + y_tmp[i+1] = alpha * y_tmp[i] + alpha2 * y_tmp[i+1]; + } + } + + for (i=0;i<N3;i++) + y[i] = (short)WORD2INT(y_tmp[i]); + + /* Update OLA outbuf */ + for (i=0;i<N3;i++) + st->outbuf[i] = st->frame[st->frame_size+i]; /* output 50% OLA */ + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.h new file mode 100755 index 000000000..9dc748f1b --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.h @@ -0,0 +1,19 @@ + +#ifndef NLPAES_H +#define NLPAES_H + +/* Include files */ +#include "define.h" +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void NLP_AES_para(ssp_para_struct *para, float *std_thrd, float *aes_supp_coef1, float *aes_supp_coef2); +extern NonLinearEchoState *NLP_AES_init(int frame_size, float sampling_rate, float std_thrd, float aes_supp_coef1, float aes_supp_coef2); +extern void NLP_AES_free(NonLinearEchoState *st); +extern void NLP_AES(NonLinearEchoState *aes_state, short *y, float aes_frame, boolean_T speech_vad); +extern void std_residual_echo(NonLinearEchoState *aes_state, float *yout, int len, boolean_T speech_vad); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes.o new file mode 100644 index 0000000000000000000000000000000000000000..fd9e30f677daf3931fab52235a43f624e955299f GIT binary patch literal 39588 zcmch=33wD$+V@@6-RX2Xp|cPnK!6SjBp_KqmJlU`q=m301Q8=MO~@WX5|a)~bR+@- zqNAv|;SzL|LELa1)KQojMIMKlaY1Dim0?^E=r$45xbpu0r|wERJmYsg-}_$gTi12^ zci;C}>uh!EbanNbg4rHj*ERFdwG^#a)3mE@Q$8W%6;iYWZI~AI%=+v0U6(wz!yj9i zvNt*DV}JkBij+SDw7Ss17Fa6Wdjg-gL3W-AXocO7FAmsBpABfGod~l#;DLTE!amsc zt8Uw@Kl!!NwSKMbFMh4A>0;-5i8<Tu8Z<Tai|%=PLaN_(eW+)vJM??~o85uj&GSyY z=I9J8*%sPm3ELf*wr$>t>ujBYvdw3|{rT)qfdg$J9!ui9PAy`0V1`p4vCr?`Hrdne zAF(aYlfI;J$+ts7zqkJIs^8M~YIoGWWmT{G6IDz-;rNnV57W>SYRXJ$ttZ#>YIn+Z z!@jf3Eg_EgNGTPjt)@phzO=_yZc00Qq?BH%H(ZZ&ynK=5ky2?$tF@ZSB4vBNON$)x z;fXpe;hpZBE%Q3BE_tUrqy3%kNk?Pz-{~H|FQq=O+cxEayczhM3pX1sx7#-4zq+-k zt~a&x#?E9*W2eiytKwuu{)dkAce;!A)hz$jhrjO%b7_fbouRIXt_q8*%i+>JT9RY@ zE!|qDuOP3xB1i9X>(jd3IhHQBC9k_ZXIgiBPG0v_U>vv#j0JsQ6xaktfc2mQtO0E~ z@4opvO-qP4X|-7M_3<d_kl*J`$7lDE4CH3ia7tB%=h4bjmC_E?8S1=WI%T_FOWawV z;yG0{w))lX^|_B!z1qDc<E7)>H)%<4e?IA1n<uxHaki_^qw3RLN6QlRxm|r8RiEx< z%C0`Qt50{mvZ&9ahGn_3s84qT<)byq(#X&4>N9+f(YDT6zsWzf$XyfnB>l9+#3lAw zef3E%X?xw~-~v;>=$zNj^G0{n(NNFF-Jj%t)NNbBUViQFtMaY4YH1&J=STTIbbxnm z`KWtFd+zDy*6rvDbB1-zwv6cvbvn9cTb*4Fr^Ca39^>!d7SZL1C;<-@u+6kCw{|PY z*0OfFt<{0#wp_oXEyh2%tpv`{L!l3XK1g&s^f>5oqK7~q2z{XFHs}MO4-nl7{XFRB ziEe=&3q4kJz3s_2=bgC08g|mEIne6i`MXc)D5)Ot6<AfkQv4gz=_4O?&vt**y<KDd zO{vZDjP@K>Z84?xWB-?R9sV!d-u6#u>zq{`*wJ<-@LF3}AnN;rd-W08i0`WwbX&Ll zvs=s1&eu9K)*UZg&~0fy+^xB_F<R%ab#b0~XSOfZ5>(41P==q%=e=%iJK{yXfH9SO z`lI%?#uvIAkuNsJdh}bgTXRo;yLMMsSh%w*!g79RXt;iIttGt65pKCz@5<0v>ra2D z9c8UQ{hcN1NWm7=wyi75X4bwvu;m16fBbh*r>tF3*6zS(nCqejkNYkn9&_Re%!j49 z{#eeHgZJQ!^8B%-iQQ4B#((EJHSRlSyoR>qoM{h4A?*HAq=&eUc&3wwnKrT8g|HE) zm}ag&rfuAJ_INWa(_^}M{uqRdKse{ATz_<(kskAA8qsx$-A?#9PHFxqgpWGGcoxWs z-4598h!e?lSXPuT5_UVvW{V&HolWIC?mG+e+@j*`QRla1u;zEEa$Ec^q;Eqy7NpZJ zD4l*t$8u`T8SfL8yR>`eoj^}M8DU}l>L+i|;`4WS^n2p-6Fo0~r{%J*94kN>3X#_= zmILK1Jc>TUvOWN&bz5eAaYReYsjb3zIn;gUzTDHp)?%z+CM&XVMho|FKGWRu(Jvht zx8fSpq{axxMSp*2AzP`$Z!ctT?C%dLE%Dn*`}?hR(=lG=`-h-ETk87z^|lK5Pxpty zHW>2nA=@DjYO7TC5Xf<mX}3Wh*jA<NR>%V&({6!mjFss~@3}YEX`Bng^En!HRk96v z=9oBh<PgRK`!RcNmWRETy_MP@aiP(Euy=O&(>5ol`LW%T`_17c2_9M*qP<}Fkq%t( zLQZb7=X=(AI6j((JjZ;-_s@SDb+9sUUE9V$vh&$Mu9KswE3j{~*41{+0|k=;DVslg zzsR%wq(jp)Q1?#O`x#tU87{Z$aQjA_&3k@#+Yb%Tz^8XCZuAdtd#!uDTRT6u^SyT0 zQEjjG^I4D9KBeHx2hOIyYYUnHDUQglwr+d+`*o);57Wjt_G*b7!70}aN4-z3(MIq4 z>b~~S(YdGRU2}hzLksCDvbsA%5zCQ*87AA2)!*O0aBW_RKc=w1Kf1I!keHnuu%Q)` z3QPP^r9TD!o&8eamBOC_pA;qsLQ4Ci4<$X--yd059T-{qQsC86D=e|-O-WCcps)TE z__Q=RV6U^m605?Npx3?>*pKj|VBJ!9o(jwM`3Zf!8|jC@a-ItN6Y60Pa_dHJA+QWk zVfP@HZlueZn7s|-6Fw}*9;7?nAD?aY4=Kb5DjcY+9GBDmgA1+xL8a{T)BSOX|9P9$ zKM?i-aObtPzZr6JZOA)lK|O1;>MhJ0@w10Kg*e#^|0&wp|6#~(UNv7j-g(m|l-X!6 zbMBn2=FZ;ss(wQoGxf}bC#KZuBc2OrZQ0dt`y+a0+R`I;_!BXwZ&dB_)(32r4eds& zR0OrkAk`{ys#OM}RR&-zorkd$TZbzX#!yUKdEociNrB`-jGw}hf#gz*m(o#z<T{Lx zx@45ntf}e#1k{ZiH832tF|2gDe`u-IACDRsQfI~ZJD_UeHmL>1d<f_KP0%?{sea?L z_xvN;9{PMr?Ke21TX8;SZ#}RVtJJos-yVE?Vj#5bz-JsWYd_<h9`AYXQ_Y>F<oiFd z@p{pu-AaG$?gJQs?}?2Ts|TwpZT~0QhzmZ~Mm+a9uj&0guPx92#@%4^gw&+^o!9FV zANzXbZ#*^HZLd{cyZp7<c_%#Kmf8@^YTCW}9cKzIZrHi^jK_NOBPT;bxU${Xy=b51 z4qmysug&sIQ`f*l-TCcz;!K|n>{DZ{-v?;tx{v*Lp$~qJR@u>WUbyOCqow7Zp1bjB ztg~`GgFQys9cc;mhxcmk+|xI;V`hx#@Lyjzwlg$B$0~wXFsvplnj7N@^W%K96vk8= zuVd~kj3~^B99`=%4@Q+f6ZlM(VaDFwfvUEVSkGG#i>r#tz<RWFB;va2%w9HQZ)f1* zwow5a+ARii-=M;(z<Tt9en^Y0@kuG?4yILsv1da+k1oXuMCHbw;2w7dBghET87M$6 zh%3d+ic)-9XU42Ve;8PYbqR9aFV@b02RRO?!)#mEx5QSAAg)pRmT*bIblBFMx%!E9 z+Q<I<x;yj3)f}m3>_M*zUUL{{v>}hH7XK0L?$_ficOR{>pR_tvkGRWN4?eJ5M+;VN z;L2j<hsWv;b&o%)B_!5=*llayzU++WWB=Gvxa<ypW?_dvJsZ8TbnMZ6XydQZ#<$=O zh-Y^gwKpB}w7pQzv}M?`_6L&cIs^Hr!yR>=!0!q>0~K}q1EHAlcC@tys$hE%=T)iN z=K$hXwiOqgLOCbB|1>_kPw90N10ikuF^X3PUPZ`HRmi`5h<s6+P?hg%pR@m@Z9xCI z_1~XqdsCJ*%;kNUrX9$0zE?gK@<rS3y6eJm<HkY0>mp9$e>-^a!Vi<Grm_YYk7vs{ zylL1+9G@xwUgq^jU>4noF{t65ZxrwG+Hz07(e6ZEXRh7R6&^MmZRo`{b985DSXftB zn6)cKcXf@m%<I%0F@9&8qs!qa_J<W7D2VZgqYs2}u2y}NSMOrKV@$L^G~0%nDE8a4 zqx~U;#eQ4i&FDkCZwbNt5Q1x#?vF<6)5Rc-D3yi<aeDou;71n?|48L;MR|MuBjHCE z1%H?L2gi58k1i7a{gl70PyBxHqjSMOLi~f{N3=!z!wX|DIuH(F!b^+&PF%n2ZGF=T zhd*5e!Z`m!I!^TF@+an<*ktkgmlY28H<ZG)-4)lY)*6m3-SH+`Jr}iULCaj*_7?hF z0s4;z^PvYV^)K|8FOC!yw10J7d+3N=U7=xf3l4mxS)SReCuj+`6ztiHEr8KgZ`iw{ z^x^*XZP#gDe3r&tkzb5;WvB-=SQj>t_5VEbh|1P*1?L>k)<Df>qXr65Lxso>W0z+U zUW#_E<E+CL&GQecEB42!>%w$|$%9;sKEgDn2R1?<2z`Lk^OgSq=;w(}|MQ^7D!oAY z$3pKfI{o`Yk5M|yfR%FH{YTbn!~K6iKm0@8?fHZAe?}eX85oUiYjLNt13lN?b_}+! zjx0pIY+bMF#l>2=BL0?woqKOA$UVJ&y}fHF>U@8j73<kd)WcBRqs{ln7lviT_=l8k zD8TBmRPS==D+BFlzd@Lz;!pzvF(w~`KEP?#z)G~r%D_W#8{l@paoo1Iy>rBR@|uW0 zvTT{f1+;d5uobJ&;r?U0z71%bxh~!q*r?_sum7_)t)r~YU9Sa_cOAk^Jvra9ZBqW8 zz~|0Gn2{$1UT<>;oN9d+DsdJTtaxAFw%eoK^|Al(whsT{7r<SXlX{rtwvnC%o?AS% z%N{=I4BfSiy=Zbi`cYeUK5A*(#K6wB$$^w@uLU-~FgkGlw%vi5subr3+MQ#Tbp~oN z;~#gvIf!%H0?hd}&Ly}CpQyXWuQ{K``OMf`9e5aNu`hnHjO(n)`JTY_ZGT1%HzN$^ zm(D<48)CNQ21d8lE_)I=jH#QP58rKn2<&qX%n!vGu?(vMuhqSVkvBS!yp8eT8@|1O zF||Ng+X2+tYe@C3H^+J`_i7y@>W<dDIf&s#EHkC0JvPpWx2^lwf9E!=5W@71kNvmo z>VQLSzpy*tcwy->>_0hvw=Aqn56ffe+otDZrgKgVJkpjCINyo-*z69ZsPd<vE)tjR zMqP}+mFc8&dOmA|>+!t&*?ZkMtKETRPNcE<SkF~7FTbpA#@^(>_0DPe>yWNHpfN<- zA5drRz!+zBU^D6?RMivnWs5u$s8*|bUR$es*7%J5WMJPmtP|F;Mz0JUf4wGf-DdM1 z0DiA)U6Jc%2X5Frw;-V|ahZP7VVRy^6WF;Kt+1KptQL9Qn>y;nxlX&=IrR6n;rZJ< zQ#?_gxBYq@?`Cf0y-oq|dj5htoi|jxWUf-3)4Ls!C*DNvZJ{UkTi*lqlN;<yYbSf$ z4b{>vC5STsjyms@*fKBTTDtnf7jcKaq;^ML?&;UpKGGEys^P96xid60%j1}+C9qZ; znOJYOJ)g(B1LMxlygx`*D;RT)!YlrKT=lpbF;|_&9o`Vw?Q(}V7;=c*;SGXplRLaP z$X2<-8wlAVcX$IJv)suj_j$O(+pMjN%QEioGSN0|m-Xy<ocSOI_eXy_ID0DGMLYM; zy6F3>cU`2NJ-c7~>8uCW)G1X}SL3?tp01@X`_PeER=Z?*?&(=;AHtn&zpkhV-q}_g zcec3Cb$PTzu4^3Q-bF4g>i*W=<+cxy``d-MzYXnjhpt4)2H+ldq2E?Iz;CU)7}sgu z<1WN?fHm%e|HY^k-sAevdKb$*ZmY5z_qeUfZrtOpP<G=UcZISW_qfdGVx;%Xo7=Rg z{OJ6p`JJ4x#yyG8d-Leane@z&KL!qLjtfL(-~E)1d%wS2W5MS~?OJN{ht|7oj}Q0f zZ=QEXo8k2rY_^}gHVk(rcXtf?$2VtJ;ZD{$-SbS~fa>MZhd8rb{LR@Gjwa_3&IK8P zuyFR9moW09ki(Fto-9c2woLukn~u~awN=ZLYjRINa1CnH7TOhSP3jD_X(!iN9pke+ zT0%*8(LqNhd&LcTyl+!iq;B`YlJ5G0dEN0~4HySjfU)2bFbZ4@Mu3Yz2e<&V9enrA zE92}Zudy(Pl5ShLp84B6*u%Sz^uyi3OQ)RbF3o;2)X5d&nr}-ViS}sq^G<BG@C>X$ ztIGJjTw$#_^Uf}k`&Gv<7B0U=zZ-j1F7}Bi)hBo_W9_QYi?MUd6+W-TX9{@r<<4L( z_Hm1`hntH%++ytE=3)=G7<;(6*uyQx9&Rr7aEq~rn~Oc%V(j7OVh^_%d$`z1&Uxoe z{ch~(>5Jl`^NX;%Z0yircX!ISN6vn``33gPBj|&}{ZH1_3_Ijcs?$=2`=7>`*q~Mx z2jREoTh|j|skx^usDG#3>wlqiRA;C?@)5@bErEAt-0Lcg$Bxn%OJK{G&GG%QGUyH* z8<Q0X9b*kdjd?x3#2>b+Ik0iep93T7_5}WtjeGeq&Y^1q5AEW8`M3brf>C1%hnDyq zn_B`Kv)2Vi;>!3+A@1YHY#zEU@X%o1sgK9%d19a{yDG4u&KKBNxH3?f{Yqfu;OV#{ zT_1R840eZ{xW^y!`cOya#K4TgC-ZnmzcMflYws$|CUz(9XD`6|0VN(&;t$zY7#Nd1 zF;G^zKQMC4#6TWO{Tc3eY}=;$ooz{h#KIL=yI^l=mpS7&0x5+X0uN<R_eW>13@ojy z2&~8bZdBnkd}Fc_tN)RKq|)jB$U;4^9rwv0xYu!&S^}f7ZrK32UtM0{I;`JzV77_C zy2uHJW98?4Vpe>I|NPR3lj|&~PqpuOXC7w9(m@`s53F6fbs|<XuOY<=I1|oS9;`Ju zCXXMP`q_hzSWjMS{oU6IEkkNv!7lrR&)6@ge*4<vXTOblfql~d2|vr~rsco?iI#BF zXIdiL-SL^0aP6lFb-%B5eflxhu$kDK+WF$g{xHnokG;sX{Mm1xec@>>p`Q1pWzVyh zzK1x!|6I*;xR>Z0sA<MFkxdW77f=z2R!y4`qG|0G-f9?!#bz4{v(*+-+u+kI4%=1X zh;<)4tvko!(_#yK3<$ANu`bqE0ro#2*)^dLF`3Yh5MB?x9ik=l6Q-m&USQCr`fMO< ztQ~T-isrPbP`cw&lp$PXuM-h1q30tNWOXbI(Csd2mXJR=07uA9Bw=xcZbagaixAaz zR(}9VN3^39A%_c?v%}_LSX=1pNWf_u37gaQvifAX`+Z{1dKl4NcO!~@98H?52$|T& zQ?^CU(d-vca=2O;Vgls|S3e|XpGY~%<)u7{a;)n*?3~#rQ;u_ejl$WpDaX5hK;i6D zn7P|^3+*|SlU$`t^FqoguK6gZ{UXX^T~?+um2yU8rDmUo9T07N<SNacM`=>zBF#RX zQjV(-pZ0vpxsj_idjX|<*V8PMhw_Zb%QXANlx9a3X!aSDiXw|<%+%~NDKCh;RI?XS zTI70^rI}56v1>g`GlwNu;#!WDu+ODj;o8A4^C;K2mNHBc<$Bj=3^Si`n_Rm?AeT_~ zxh7LyKzUW<{3^}9km6O5mqEOgVteEwh>Iw$k1VLs?3Yp86nPoMQi?Z37FFWJE@w7d zB8yf-UQBtb>s?mluNdY|R~WPZHRXF;2k~k5vQ@XcYFQCWXn)XkNsqkKRoWvz>iR2B zql{_pcKw<azm)Pbu12O)&bWJAjqDPYwExjH7QNeEMR}iVD#KS(e#P}1%Tq)7fa`Zm zzn1br*SD;)I?8WEwzO#WdWwf4=NHV^?8_-1cCE&zz2OlQ`H1TXlWb%cJ*q|7EVhuh zQND-(Lo_)tSo_7<TU<!eHH_u<+4u#r>t}kmQntCGnZOE`+u_QheI?}x*9|Q9YIew| z$ok3#&E7^iR*S$TQ?p<B5_0di)qeGn5OX-Jp}*!zWj^hcZAPcQhO)yI#yVNc;1RAh zJm2-lAV;}Qu`M<*&)CQ+pJv}kF)p$Rr@o0|ylXLIUPsyO>d(|SQ%*8k^m@uEt}RUE z2Fhby(^#{=rJUi)XHGX#9`Cw?VQ!*4$(6!%@b!=y6byrlF$RU}Vb%t2_c$yzGW@M9 z{S4QOJn5~JXS+O1|8|Bca_zvU{SL|tT>WXki(wYIhBBRPloz{vO#g27uqCb!@oB$@ z_6pZ7mf=1&X^m?#<95(q@2X^8+bK7>X4C#VwwKSfjA=edd6jD(<=->zRjzSNe<$U3 z*WHZ!FypRw;R`;^{s`@xT;EfEl=2O(Bh2?P%3CnIv2!?WPr*N8R0upC9|S|c`Svr+ z&h;^S<2Mf@tmcYmS-z!galOp^yD8gT-?N^+qilCQLHT>i4%ej&{{v;GYd`v${YT0X zu61nBpD4RrIV|tbl%rh#q<ofgO!R#$il$SEjXo0wMOVsz=#4CqMJaL7U-DF}`r8OL zIQmZJXH!1$(Q9F{+m$jbdN6YgRf;>hgxNS$oDtE_uwKHIPg3-07BWI9qoOx6(|$@x ziC)H}T}l}fJ(vkZDrIbRGAklVXJw^DU%=u-D`ir2Dyt$!DS6TLj1#LeogKZOCwHDo zU~cq%EWrTfQ>4Z4gs((e{ktI8G{-AE+kyIN#Bkc~g)Mv|d?RX*QRu{1p+|g$Y(m#@ zGKlyQry08b76gcO!Fs2oD+4FtdKbYQU$IYUuB8a#_;w3Ko9kXA;^?OAaQzkKb9_e` z?Sqqbd`~&bwHoO-exMxd8i~XlKT?i!eaUowq8#rk$EV|G%I@e78CTP(Bt@Tx!aH=O zq(pzu94ty18~q7t+F{dckYYykeN4-)H$WL5{UH-`=q&A|=!fVNp_H8H!;It7@5Slm zM*o>UF{%plqrZg7(O>@q;&`HmGl5v0gYM$!7g*#teLXNEdMt~RpzlQJqUf!RGg{}U zToipbl`%?L9Q^>5^OdqBx}0&wDy1U&5A;dXKSmBU(I?O(j&xPF`smMCoJ^g4rb#;w zcZizf_E-n%BEoSGPttXW>D)_EbG5Ke@8jv(Twl@t0MFKe2A&9;)Als7iQ%$_#a11G zRyL)wZZoaP+JI?DD(q3#>=d2$u>Gw697Fy)3w5EAZ7(CAu$?N;(+D2+uo4#|ldxS% zEJgt5U=}3ix5)o{BsNeB{}Ql;(Q61TanGX5=mR(fg`nbKI1eBCK+b<+7)(Q4uVK(* zD1{!0w!@Sf3Gtrxei*D_C<LsOc??-ijp;VP4L*spfIbrP%hZRUuAy_7S0SbNT1}5u zHNTPC98Hf=S{n))KUdTHEA4>N#%X%2Qh%h1tBQV}&eC0oB!}L?vJFuA+(UgQs#71R zbY7^2-9tT2>9(8x{B_Q-kx0ZeoGM;5b?Dz2Vvq{)BVxq2_%wa6I;{+x!_a~B9-_SO zqkey{{uXL^IICWd*EgUVtT*p&b30HiTT!T?7t!NlBO>a2=sxO&N<R)=b7vrAOay#x zV@=j79|r=(&p~z6DK#GI&^M5czD()tLGeYInqIHee5zMy`f{b!K}(23;Qm<cpG6Ty zShnO^zn(u*ORRu(7_5o+Ko|`{a~C1gTadfTZLLb+YUZX2vrg%^P*=IHSNaRg&bPct z)2~(f->E~}pfoPn<Eu4&qtYy>ro<$iCkvB!%7ux6!dD__35!sO+fiwcq6{PSB8v~7 z^DQfI3ftf_9f1#u&noy7>lyI2{svc+L<>qj8~zDS2$w?W3QD5bcJrfc2xLR&re7jg z-#qmMj;o~*1|d_VWxIJN!@YtES<Y~OH-*C@B>WmDv<hA`RD@#7N`$%{)w&M0ghj}c zg{+p;+O(`BEolj?%+)+0DGkQ{adfSik#f#zM(EH+hQX-sf>Aq!O!a%tqIO2H|Lx+a z8i6WI=4wXY#qPck>L@Pb^j%}2?x3$4Rl7K-jzUerpn8;kyjYI*V_@lOjc^A_m4ZR_ zIQ>3{;^svBF)|zd0ZZ@(%N2qgNAKxTSxci&vSYr<SXWaGMV%Vz@1Z8FKq9Py1|-ze zLQXA2OIR;Ho6hw~%)scok@a^Ggu5U-q=Kl1Pvm8fy(Hl&2oFLypgfDL&Rm@tjMtLb zT=YQ&_gb~Ycx1?AlTsisSp>JV;!`Dz?|spf`Uaebwi`~r=lf`>=nbss58%%KcmS`~ zxKuO1rWu&$#-4;J6h%lx-D<m$su7Bs3UytB8EO<mMfC|qO@-RL)eM!*P)IW<Eov&% z^)HyA<}y@#pHS3Ps2h%&p_Ve#h(4jHsZhVQBXd>y6%3WqCloam>c+8VsLc$O)+ZD- z73!w>W~loZiVv#x)&w;bYRf7!)Kd(V-6s?^73${u%uxFoDz{H4YAVz%ub83UXDCmf zP}EeYTThswzGSG`eL_)Fp|(b$p;b-TP;rU#`-GyVLft;W3>C*voSAyhk(vs1$6_;7 zDntFcPpCRG)IDp>P<ag1)F%`*mDasG%}|#z)QUc#R+*vhf5!|}k5EZhODJP<L9_}O z{)ldw$lPC}aDxO%yhj8r^;ygX`UU1yI)x+po<?-LWNv`yYO7-nQcvdYg?<5Ng1=Dx z6oR3irOF!-LmiHKPv*Udp<WJ^^N!jZxsnPd8nrp{4wSUHxOgi~zcd|JH6>ayIK^eN zNSWWFBph`-^z7GT&|0B55f@H8iMO&c)-8^$oB%Q<Mm>DkkM$WpnlTa?gY{^}Fs>SA z4Ep3U#>}+-k_Q_-sU5ce9D_bf;Pk>JW{jDPaU*R1IR<^&8DrKhW(;<jq&tIR@G94P z9`vEpXTM^`Xk?5BelZ4pb~DDDZ_F6%a7mB;Vhs8mV2rsbv2y0OF~)Ph7=u1X8Dn0l z8H3$5X&-FnnfE;p`gFtTMK_o+USy2de=!DqqA*wM#V?yN{>~VOelZ4pIJ@ifJIxsX zVvLV|F$R5d8KYzb*0`!)onegQzZio)ix^|U0y9P^I#|+IzZio)O^mT{gBfEmWBeEt z<H|m5PM=MTap@j2Mk-_2VKZyDZ;Vd(Y-fz-6K0HD#`rlX#)>|9&}ScGw8RgPGcREb zu1(E6dSYPLSkvCZpvyy8%q@DBv2H9H$&2Xft8o#<z)N6jeTY!MHbPn2n4@i_mWgE# zOL!c9oS9Z2wJ}%WGOZ^;(kkHed;W<?$!j@jBvGtFVY1W=lcc&$ah9523}t?nnq3T~ zWON;-2YnP{ZA7dTwfsze7^&`riiH(#wa1NyXc?+=HW}aKYlh6bLhS;~eVQePvd(qr zgp~+vi5Uy4HgU5<)9AvZCU#=kLl+)Bsd815M%S-m@&Tu&&4Y{5C}mGVT)K$|kQ`lj z#KiF^99?+-iEm?xK^Gn~@n?jh3-33v2szP3L`+<ayy*JvnaKQkM1)Vg0v0+~_>}%= z9lFRv`jq#PC|%^g^@;tE7hQyN;xw4(!ow$Cgma?{cTOCN;?adiPCO4Kpo<9O{nbcU z|8T2oi0hJp(Rvil-;#uw7r}&k6%moOZM<f6Wrt4*pV@!vpqxQi3flB=C@_WSm}TrK z@Q=rA9jXN6=@?+d2$>1*Fo_Pui0+I;F7yc>r4bPlTG{&bN7~GcDZBdh<U9$<MnZKM z1)&<nbTlnm0wH}`V|0CHe@5<~fYj4riS4gjUA>8(XJ)5q1NtL<p3%Sr)OK9(d0OId zCy=I39i&b@BzaJ@9%IjqyCZK9(;ghsbAlGs8<yFsU?>9BcqGJfiaNBn0_Z!eSB*!b z4DVH$r#oD~WFWIhxNfbECdyRjGGg;uU9-g9oQDvJ@X+Xi0c(cQw2?h!4L8eryHQqb z`I)uG?31PFsBNk#QdUt%OKC(M^WRgI8aRI_O29f<6n>d%tFa+krb;n2IL=HJrl;Q0 zf^x&Dr1z@vXsC={6&G@5Fdvm+W{?$BaKs&#hE`=~NFIbbLuHKbJx`46Uf-Gh4gU$f z@i9o#G<L=YmyrfWt{5CfU1{3nz9D!Mlih35v?;v`n_7)m+}we>RzzqRlDf8luqv^L z_>9XaZ2_?dQ-H2rLhQlW!%E~vaK&?4FY2IF1c&qpwY7ruf(|OWR;+ByM#H^rZ+^wh zkBKNdg}ExVVuGm|;e*m+u`Sw`T(kI)i_G+BXM!AKw3AHJuAR1iojX#M_EP97KJAzg z7>+!G$}_`J?uMfu`D2hD<w+=*N*`n)&3Hk@#Qhr2dp^M+tgiVTW`GS4_Q6@SjE<eS z@Vo+tDm(<7F~k^5qPcJkK`w?vH4;8Jt9Hej4hs7XI}w31XYe#|k&-hz$R%*PwusmP zXVq4%>S(|Od<z`x{BrCqLnPejCMXI~1ZUNnR(0^ZF>W-%PQ<GIv5-hpVlj~ghhnYj zsDjXJ*ojq!eN6`iY*!$aV(w!cSK>nAj1m_S+}uG4*K|-Ydf%eM5WC@ca-<CtzOG$H z{2k7!tzOeXq0_Jv7F<6pT4o3LKh`Qaql4T8hy01B;8c0-nBijKU>^)DGDM;sj+v4h zl(~f1183D*R&_YgzXrhRTFEeAydf3>^>B>&I{1b%7Zb<eRG!>3i-$v=qk!>-$iBK2 zjxou5lzB1nIGk0xYE{Qa5RM!6uK;#kU0XZ`C{(>Uql5fNnTv@WbXb)qcQS5(L!R4! z9fnBkf<u3v%YJ`c$r&9a`@X7Oc6wYARl!J?k~2F<H=M35BvQmoveWZC%r0LD!LIty zrNl9`HOBVNHZ?v~X)iUi*R@N{gjEnG%^?T7nHqN!a#UL`>`h=H6JVK997j)_g=U;w z2%o5)b_v1GbxsK`=`Fz}EP;{fCBX?8(@#^pIsG7o2Yco-i`En$G@(7HPLA^;JxF8n z@x_xeyCJq5=FqZh_hB3w!>k4cMa#^q2RU{qn{{J`GvjZEKYs;-FbjD4MuTnXnT_fH zD%=R|3^$P5r+&R)WW4WyX8(5Vw<Cx74jKZC!$$P98Y=Vu;q`)@nZ1{1#z)*%L4Fx7 zqNl`jM#gv0@)lfFk2Qbf*Rw_riSMA5U4EeHbA`rp`+Dxk5k>%WJoE-w)i*#cPIxw4 zZ;nOCk(R}Mta-4~Qq#ve9adU=eXRMg($e0?S^z689Fe`bd0>4Gme>1OdDiTU#<j+% z8?)7e>x_>EnstU=FvqMZhxWBmMLjhXsr9Xz4zp(9(Wgo}%o;&@MP@xf&NI&*@^tf@ zA?KTC3c0{MKgb^QtRT+`J{OkRJQrTjR>2|6OtRgO=aAdr+}hW(*_!wqF(gPF_VvXh zhkZR`WN*LCl^95A?heSjK2kPwio!U#+88VIO<NrFc*B-!+9IHHqCni9xrbjwtbmKv zu%^IJ;)9yQKt8D1TY^mp!7ucJbLDpl{K_A;o*d$#C&CTTe3R_h@cG8ZG&wv+d|f<p zSkFjgxVc8$VzYF-=zVmKjbUC8TL8UC)-gSC3gK68_~(-AmE2+`smQq+*Lq?*P66{S zu|tVPgxc!wosAhONyRB9axuwZ(MUAFap_asLCK?1xP({=XLwLD((9RMnO=@cZ$81y zjrCJ+G3J}a=)16D%zPEIgfL^4bo9n7365FPQ@^nY&hEi$7Rk#7F08~VICbqk4B>=f z?*_P?fFS&)fD1UrBo7*9g5S}rm?t1O)jDi(5>RA_gb$7}$u?y!B6h;5wO2O;yNwwY z@fnFELtFwhDRB{Tl@b>a+u^L5Z%qe<2MxO$7hFDS#(c<pIIK+xemiW{npbs9fRF<R zI~%UT5cdFw;24v9-!KzNXcZMR2SOekVwx=r@kUtq?Y1fl1y(zgIS8`7DWekA!2&Wz z4i;v~J^^`N9at~&4ImR`7^cB5^(d1@dRyk1>9H~E)wwTZ)(nm{f$6(VY6h`;h6TUN zVNIGBRm!YAgel^;*82^49%(~qL-7qeFCD61^ZPjlWU;H@D4XX`+01x8A}@qPTM{f9 z7T_!$PXMABu(x@O%!24zDa*6dh;F71s~LwxIhZ)HUWp3`Znkom6!p|M5>a8XE{SDe ztfUwZpXzYp6PFvDhcC{s@M?=)8N<fKmpTUEa|j&5xs?GQ^h|(*Ey=WvfRJq1QcN3# zRKqsbw5359XV@}K+jt0*4I4#u@Y|TFaL8klVbQc)2nBHHZ~Fk_@Bp*mV0=YPxV}ST zyCXJd7j^I=zzH4!-!LrrWOMw=FdphL)<J4CjAwd`O^{j*V|R~n1tfmo!5i$L19LL# znqZH_<Vq}4Vlgoc69-n^S9eh0mmPiE4k5HmICQLBG6Esk$;c!)^JbJXV+VJ@pt#c* zSNuz8HxEfWFDUK#ebUYw*%6d>&*hWxCGPZ~w2RGjIa_AIaojHkuNIkXheI_Hx4@wl zR(0@Mtv3w&`@nHSjOsb7-r0lI`@db4>_B+PcWckssE2_~7c?BXMCU*XGHr%>V_y^1 zJC&)Yz3+kgKwr}isE_tF?S}eXU(*Xv_w_Zg1Haza^mnL-`kD?y<(CFQo$eUa<9$u1 zpnlcYMD<5yx*VUzfhy;gzOMC{zK8m=GO@zd!ABXmDIYY!(#~l`rlJan|Gf|Yj{?ML zO%YoyG0wAR2Ro7n#FDA_24z714n}9+8^Vb#@fQLy0CP72xy+O*`lJMZb#OAkdEl_A zPkt~m4-OO_Y$_g{uX%7qZXS%qQboXVbf>{(!A*c;FEbBzum(6z8tiE1L3tG%ds{o) zTDbLa=Ftwpv~7TFc0tqsMhIKrZh>PzG!M$#;LOfw+8==MAlwc(_DJ)f{5YK1ElvA# z5ca^Cebcn>gYaj#SK!z|&4cnmxWB`(mzoFVci|4hv8$Q~<)d)N;MiZygYpTuQ*d9I zMv>2e-@viwng`{dsYv%V?fi!4D>&}3eFJCqWz(PinjOIG(58I??33VT!#Qy2=SucY zI9`LzWhJlS<}n6ol)^26y9I75+?{Z|gW-LMdAxx%I^nqO#dIEk<5MH%@e$->aK~wL zpjX0i#s3Ce0M6W@F~gG;qWn+#>nJBr_YIWDqW^%eG4PTv)&QKIUema|GJQpDLwRL` zZ*^<>^0MX@Z(VCcW%}~kii-Nmm1WKF&Pre2SkYQv*^*w?T2b4W-qKv2URGb-m|jv+ z<edhgxz<;++?$n=m6eg1HA(yBRBIYre5t<1#`>1@>hf~B)cV?nvgXFr32EcfGE)(M zVp_%psjDVU@J<--Eo)v*|JGHh)eWtcWlL*os?z_Ht-f|?d3tM0b2?6>zO|zA|85D8 zn=1W(Dv3Ic|2M_>PuZVa5$Q{7eYoXosBbE(Y)LC;n=h|iURGb<Se{m+v@%}}B=im6 z@|C{TO$epzExwA1$|}gXD{1jHx0d@1yBWlWb$9L3+D0QTLidQPTfCLc&Goe{jDcWA z-rknhrB$sBMj}mR<;$w7B*o<@K{-mqjF~D*THYr#5=T}>MmbAcYwLZfwG9^;{Xawv zGi#EboH%Ud<jnIk%d=*tr)FB)(lXOCEFtLXngqE(w^^)ZX*S(D+?__z4RMUy+L~sK zNwYSjS<g$eE|X6)<oOJE3FD->hi6)SIo60YYpdHDo@QO?P8eZ5&uy(w%SgAba$B7Y zTEw6kZc0o&vk=leN?BEq=F)du4x~A>ji>KyN*7R?MQH-1LP`@U&7?Gm(hN$IDP2q{ zo05mp6iNk@awz3fx{%UzN>eFKqx5GjXV{2~=1tNpHmm(U^_j}g5&TI14<D#PYlM4f zdTPRmb=T1UGJeeB$IPDKDhU<)|DQB-W<u(Su_H$eL-8J2!+Lo~W3@f9hGl(Eb0<LA zsgw^i*4RTz_G>xTRjhk!wA;Gcose*TQkJzm4fA+!J8#f+rgW!@@V#b9)h~p4?V21U zd|YEY7+%-vIo5Kwb*LLBquX=rJTu*1Xo(0)YnQI)p&saRtYK+9ZAYu!a!HIm74<SR zse0K}X!{*2uC2aO`F*NBReh*Bs;1s6^;VRst^cX7s`GQ=Dw|3`CDmK|zi1oFvh=2+ z66lTATcF+`y}s3sv8flP<DAoHosVSnQFccRld~t-Ept#A38;(_)hlO@oz>ctOK&H+ zl(qzZ{F@)D$BiBL*Yt5iT8d!Mt^FK@9jM;pmUX%->y>2d;zd1v_B4C`OV)_O!<H#g z88ect%Y4&so|4IAtV?pNSL75~FUOe8xyL$ni^UeyayMCY>wuhL7@pQBx3$S_9gt?N zb6X?R5=IRjHr(psFg`zFL<)!QawANdwSU@##0%%JNcJu2^F3yCp>^>VYf6=M(S6nw zx8*uLI^mIo)QmQUv&^*?R#`8q%A8|e!QNrZ<;Qq_u%2uzsO=JdV46_~&mr#T$2w)W z0zY1acO<)^&3Z*z66Ua3w?eU4t8yHFwhpdJAD%w^vDW8dvZmWD9r%{}UUa^9MmSVU z*?ksojQtw4KxGnxIA+-`V^#l5oRzvhJ3W0$#~f>fFT=XJuoWkJ!G%-MiW##$9iF~^ zSjMo~)u|cxrdyj{P_?wy8k<vn+2z&&Ypu<Nn9*=j7h<qYV4SR3S(Arn#b=#AGkwC4 zd5IW()2(gp%zw`ME6ZvxRG-#zya)p&AI7u6^Beex=SNnLG?$X~*HwUSO=d7_2R~GI zR9#ec6s5K&v8a=0tyk^sKwq0Jea*pStd0xqmU&`HS`UlG8lJ<L7Q2Jx31QVb?2qu1 zsX9{4ZadO$Ni*sQX5H$)y6WXQ*13*F(5#r3?Ur=-UYKhAQOl`D?XPRCRHd@B4Xt)& zWmRQe(IYvGUQJz10;+A!8FCptp?f8DqEqOhVyKS_s<Zi_#!&AtRFaCTf+(q-;gr-H zu2QAv*mF%{_PX@)(a?13rZrnYi}eGo$~t<jwK2_OeSFO#Yugs<b8EI(ck4M8{QOC8 zX{xL&ukqsA%w>XCtrM^?Xv*YAmga4#X>9f_ZLLziRn3)^S`{wGmCfGf+Ugpg=AAju zi<QMPuTQIOXlnIol3pzn#AO`o0u=@+cq<z!w1!3>azjoUa&7dM<CnZmWzA*YhGuU= zV{J>Nx4f~ks!H<~%`2I?$g8!~RyS0aE!P@bRT)|vXsE1k^B2J0*)#LJ3k&9#%$zsZ zyWp~-0u6b3ePv7QD>ZLbeOYx2P>Uzh8(9#quco;|n_b&bS=L;DtV?`lzDjLrS;I0p zlZ)qG;+~$F=~l}*H&>+@<1@y)Q?WiSuelH_uN4zh%b@zORKBnrl~TDXwQMpBRrQT! zzErGKFRUqRuArf*^}-cZO)JKwR%A|KjGETvOUe3{)QZ}&`pR<Og;?CWQ>)#n^TxST zQ9A0#JGH84=5%~w*;MYUZEQ$wL0GT_wu&-eS+I^6lO|(XgvD~DQHNOXd3(;(+gM-W zZLF$lsYFfT9F|o!w`ld1Wy`XRz%5P7yk*tp@LJ`qE~{<OjM%IcF3lRtdxKS8;cY-g zRUk;YcSTuqrnhBzW23L8r{!uJYJJ`oRJGSvyWA`c(k^fHO+c%cq5cuCqBlim41@CX zsP2@9hR_<8df6Z?ny;qPSEf}}@N5{-Te5IwzE^dmEHARh+OxrH^q`j3CT|%kX$2Y` zeX+R`$u2Exky4;rwZIvjs>N5<?DJN!H=sYM;4Nh<DpkKk-=t5^VDK7UolX1yacA*= zaL1J1vp{G6*XkP^s@>|NPajuf!)&Ua>g=(ipWxgYs%oocRI2{W9#Phu)v^>7ie|$w zm{~G!y4Pso)}|&^9hrUAEUl$?6|bshDOT*LTUD1!(H!1P&FoL?DrF62^{ZQITY@uI zb;fiWIP6s<bT7^8Z7Qo6Z?t~n(mM1n+<Vre6s;J=EwydvHijp=1=^^((uX-^rB>Bk zw!9Mks;yGXXSdU;8k;Mtn-L8?VrD@>0p<tx1g)i|30YtkF>YHl<iE;?=$NdOxxBs> z_qt|Hd7Bzr%&v^nD_`bo#)q0Cnk!psD_YCyy_}rP-oOqxx3S^esbeJ{^<0Yk+RCy9 z?}Gn3ous!~dWLCJ<4R1vs0%eXd}Xb;aawMKGy4fg7AMx8AX+(QCd>kjxJ_o;T~XfJ zjPZirUhc&JXfCTZ29GgKa2S?Vlr>4C1og4t8CS#4#nsqUlSgd>FA?ShgeFn-&iO*F z7W`pQPq#g%ojGn-Vn3m>x3gs!fsLyL8uE&u0m8YzXC`WG!n|mdUS<XiZLhYnwxI$& zh$*Wfu6i+xr}~uEQntJaqomr~%*dP-y_GGPyQuXPm{&whGe$S<DLW=ZRUTZzIJHVa zvdk&5r_OPWD{GL;U2|DQZEFisD@TSaF*9REWUrn(8+$1QC93agE#=LXD=RC!txd*& z!Eoca!6ld&r}gcd%6NfMOBI#%Wvg+XI45-Y=GsPFoXc?8z!kaHhwDvn8+cc!3#2)c zjgwWgM$6JHW8%=*qPT!IHew9(`dD9ys%Ybk+=L4Z3m#k>s{Pf>g;|x?Ui3%lKSmlH zyF804TG20k+EOHLbYk{D>@zIa^2=6K8}m^Owj(h98<!i`q@Ed_O9ys1x$u}ZiQ%uQ z1&Ue_G-1FmZ>ll63VVra>`ZTc8LmHO^>CU9zWkVNpk@oz?JJRH?{$E6sQQu7Ls<}M zW3DH#Hd&5pVVxV7BejU(S}C6&1?XwMR(7%qs*AMMUd|d^r=WT<y~;IAtwnk&HE4L$ zV3F0^$E35X^I5H_b(iLA^cgEB)up&sqlRHn8~(yo<=kAFnj6vcFkn10XBTK?^-VQp zDkWTB>bx?ZdWwiqa77g^yEtt#inpmAecbC++cjw8mMfZlRa(#0Oie*-Xmo`ZP8N)3 z)G42cSF1r>%QY@r@Ecmp(da7dbE+g+T9GkwRS7ug)S9Dbtl}D=vcuYuD<)plxx7Sz z=oEOzh3arde?SqjEHW=S71eUZQC(fFH?h1_g*CF0l?vxmqo?(pk?LV;@uEfvhA*cN zqo#~u!bZU9;zZT5gy+ekb5`M;qsf4gbHdm%FV0n3sd2hqlmxS>v7F5^Ck&IS5;QEc zxWcJ#U5<drOXfjbg0W&+G_R;&F4)@8+EU5M1Od1fR}-SD3GBK0@I&_L)3e<vxW-{) z)(wTrU~_AB^f_x{<7<$!ICRZ&l`Ep37AITN1h=WDxoqq8s#jdp^Z6kMx32SCDeIi; z!>)B~2;FGk6mp$yv-Nt*jrw%gq>v(4NO8ZA`4J%{;Z|LD+UMI#>_zrsSITTWTN#`O zzrL8}idtt|Z@m_Ad%s+VonPPNxsv{S4u!7qAw~T{iX%eihli9nr@3ZWM_HY&@p(P@ zB;|!$RwxT{rPT#Xjahh*UkUxkv}d?xhZOY>DUJ!5A01K>6|x{Q<PulN!hRu_MuaR1 z54p@a-E}m?8fkaBX6M-#*)Ov%v|nmpV80|dYn~IoQ!3-Gx2C5+44IfZO|v^gr#bK* zMyD;t7K`7O546VN_uzvq@%k{!2<+~ja|By#TG!cNZ!7nIgAOZqfrAb!_kM#8E4F9x zO+wIN)9?(Qwz$WF?c1Qks)d{r9^a`19acPB(Ko$NmEMCrVfcMW?_tH$3w^_fsqn{p zvNinq)P`~JX@}m!s)e5uKU~E>)N|V6-*eiA|M;Fv4Szl`Y#fGvPS00^=$Ju=Ri)l* zu&PHbg7v6g1(H>ZIY*B@M;~yG9y|&df3V82H&s5e(R*0cBOJjxerytSShb<*;SctT z3b+`w_fU{J$7&4Pa|~qjU_Si*-#n;KHx-b2@B;_b%i);bZnzk<KOciI5BfKm3P`>E z9DU0<`VQ!9e!6JwtFw=sqwj`p9!&2gIOflJAqM^FAEqZr|M$<){paZX8qz!%{(Cs4 z$GIQ|{mVi{4*Cx~M^8FOPd`V$=p4QH9Q~4W^ty9&etl^k%%4Ad53ZlyZ-SD1S`uz$ zf)|~pqE<O_-ygIllxrFn&cVxobC*YEDryZC<f-(a<dp8cc=o)!X|uiaJf4z*1>ObI z@@C^kE@;Qet0q8iZAI;hU%n~h_R@b?Ny@6+SPV$9g6~j`6)ta$c}_j|uvFxxh+@#< ziRw9vQvUod=%jkr&2r{y>nnJLYCJCB9EC@U(LT;({DgvpewA>uaI5e>;ZEUG!aoZ4 z3*Qj34>P?_gaKi<kbRW?5hN}wr^wO9*W|R@FxE*s!=G<l-$~9+BxfCRm@rAmxq<c! z;RIohFi$u`I9IqpSSnmXj>Q9ZB%U0r7rUw_q~9j`CgGjJ2f;yUcybOLoNheoFc^i2 z<N4ufGmbsyc+@v}0p=DV-_t|?Y!d#nNla{ug=avf+YK^ZzS)K8^05FXPV#XQ^|eo^ z&L;~m3}LyD4<9#hPC|XMUipL@t}o<`s9<L{9;qOw;4x#yM`bM`VZW2SP}0Tsov%{| zId_q62Z->cxXd~6l-w=hU@qPa76BsP#U%3K;{z-w9}*^!oo2z*4{yzaMvNAoCxn-V zeS0l|#04Nl?1-wuqo|5AglspavqV@WWV_MMb|Y5{uNB@Ud`S4H@M+--!aoTQ2svjn zy+gvILeAB+pAq&)y;C19yg)cjI7fJyuu^!1@HfKigtrOr7yecFFX2G6FY`+jrVFPC zFBbBJU<~IKE)%Lp*I|E4^pAvmq?qBq5n9lHsJn!Ng`<R7!i$83!iB=6!Uo~Z!h3~} z3!fJ57rrI@NO(f{jW819g5??^OcQck(e4rQ;aKXw7Pbp-5Z)<#P`F$8M<HLd#Q1#2 z6?s&6O2~0aJJ*3^lrUbHBE)Yrm4B{qws4WKLf9m{O1Me5Rk&UFsF3faVZN^j-w=Kw z<cpi=&nL1;KA20og?#lW^-02fA)of8eX&seWC*%X^lOBiR~YVY;ZEVRLe4kz|A+91 z@C)HLLcZpc;rJ5@lJ6KK#|S41^M%F2Ukk4i-YUFL$hQPBoo9rcH>vZ{D)O-K6Je+D zN1?-Ego_n&9%Q_+!pTDQYE{@vL|-CYE^HHS6mAvXFMM41qVRz59pNz{Ukb?le-wsc zKBhiEm?+E?P7?BkSPWMrTr9j>xLx?DaF6g6;Xj1$3qKX|CWq;U3;9wo%QQT&EqV%x z>lj}c$Z(TMT+c2Ny@13;VS(uCRkwrj;1G4NS?s?NeXZ!f75#4E!@@rZ_Y2<<zE2|m zPenf=`q!fKJ&)=<a9tz$t86lvL^&o1r-<Dn`Yh2GihjB1%Sc?;e4?)r|MjBZB>HV6 z!rdqKhsDkxL^I!)#C|~Z_k^DcPmsK*;sQ&C3Hy^sm%jsLI_Hx(p9!K*5#1yDLScol zS-6r!y6wX2gtrPG6aG#3u8_YXWxOARHr%{ZA1q81jul=YoGF|ytP$QpqWt%gaL<xB zuNTDris)|(4~zYn=wAxYi2Y~L!?8|bI#DF*YY>Ti62+b(dY0%DMV}_RM|3`U&vY&! zk#?i-I^ius{xFvQPYC}@cvSd>khkwFhn+;<97ZDjWYM!lpDOws;S#Y|irymJAolA; zzf1V2*q;=AukbCgzbE>q!fvtuBzkz1l#fLD5=GAx=8Ju%=$8uX#NH_SZ-iUKew*mO z6Fw*Q7e)Us;SsU_OY|>=>}xDfD2e(zPnaV1RMDph=Zd{V^fIAO?5joJDBLFY4$&VI z?i2f~qQ5KrSa@96CH#RzJBQ$g$AURMmV`cxWPOUxH{npv5<N%sX`;^(y-4&@(W`|% z;k_jCxt~OT-!1lM#r_ZB+v0yr{67~v-#5YdAtd6*k|@_8v5yl@6n~HS&k}p3uvYw6 ziT`iJeuwaG@!uu>Pl)}$gntwNBjW!rvHu`EEB>xnqkR2Ilsi?JNuvC@;$I+kudrPF zo5g>n*l!lzCjJkK|HESci|{q^e^>lJ5c}7{@5JAM8zI(TKN96j7M@R{eA(hZRqU4u ze<l9);(vwMuNU4V{`ZOh@5KI+@K56ZhWNiD_AiB}#osc(C|@Xv@(mSE7kY(FB>L?N z5^K(DMZbx}`E3>be&OT77lp5q2zN+$RP5bC$3P?fSYe!SxG+(8fpD^LsxV(TLpVoR zEL<d9EG!pR3mb&Z!qvjx2-gcY32zeKD%>W#Pxz4VVd0a)XN4~b|0FyhJScoy_@3}1 z;W6PCLcb6z1a<wz?TR9n4T_k?6;aKKXadCq;Yi_FVTN#`P~D$n4$BkWBP<dw5MD0y z3LAvYLUq56bbcfH2H|Gm&BEJ+_X!^mJ}i7p__FZN!q<g=7rrZeUwBOTnJ^&yO8B#o z`&qoU@b&YgOE^F{SU5^JMyP(HhVcB^2jk@lJ;J%d`NAq8_gooX?Gu2lqVwgzv|lg0 zRd|Q+KH&qxhlP&`pA|kY+$ZEujhXJ>gl`HD3y%mt5%LFg49}mzko*}8`GXK&)G6Iz zF{pl52!FoLi{aEh1~^Rg5yH{JRN(|+ws4xTKsZ}iB)n93xv)Z5BWx752(J>h3pWa{ z7xE`JEbr~YdxiH4cL^UCJ}Z1)_$T43!h=HfLm8yY_ro*&4~3ryj|)46XM{frxxdGF zd;={RE{qk%35N?4g=2(i!U@7`;WS}^aISE^@G{}AgcZUXVUtk(5FO>ZQuH;#O~M<5 zw+inN^3Cx)p9h4yglfMC_Gd+ZUifFB+CPH--$Z{?cvyHu_=)hi@Jr!o;g3R%`#VSv z|JG#GuP{b9KsZdO_M;GfjOc1#3i?FRrwFGDFBZ-dmIzCQYTpX+t3>BZ|5%<j;nl)x zh1Ush5#BDmS9rgWzxZZ4j|!g^J}*@JUhqFC`rE?ygdYiy3BM5fh1|Dh`uG}8F;o~X zj1|TShYJ&hV}xl!zS5lOO%u)(&JivYmI{{&tAvfh7U7k`HNuU;>xK6S)qWf6N%Y-9 zweJS|A4OODZ_p2jenfawcwBf&sP^R$o*U#muMFXM;S}Lip+{IKEEZlORQq&DXNl<5 z!ev6fGmH7G5Vi}~3$GX6B;*_28U6v`<HDzeuLutaKN21jo)xNnJ*4C2ej3R4JCGBE z*}~bvBB6R$1H!2nAAqaGuJ-w$^ZO8{!#87-4+{AQ2-IH?zASu8_^yyYfn>PPgaP4K zLJezO`t#?J<RIZtVU}=$@FHQJkS|1GJia)ETqrCRE)`Y@8-&e5wO@#MSBt(u$oFzG zz59d@2zLq9J|g^|6J5Qu1^RK(PYKTmyM=tcKGVhPF%|iKed=x@->*-7yin~YLZ2Zz zU$IYrzVx5u8}mu^nlzAa%%^_4kZ;VV{<4s7%%}dA@R;y3VL<qmkoWWqZx`}EL8!+F zN08WOQ9nlo)&3)xDfUUi9N~1~#X`PQp7BeCWx`5fy|78xCcIjBt?)YGtwR1!57XTt z+$DTc_^fcR@GrvGh5Szj#y=|jM0is8rSLo9PeL2_2@#Jkmm~Qie3EaNBS#6x2s4Fz zQ7rv066OhK3g-wH2p0*L2rGnYKNRWk-=mn`D&bW^{%;QL8-+It`8^};+k|SL6gvMs zg?6=H3O*(Jb3(Om3j3c#SNo^X4~qV_Q0=F}{*ma%geQgkFBs<YjqrORe!8dZc40qZ zv~aL+m~f<Uv@k=+cl0s+9AU2TV&N<yzh`AQ{<{L{6_yL@gbhNqZ;NnOioQ;`QFw>& zZsG5QzZX6sd|LRTaIf$+;a`Ps3*QrdE<7nz`@tyBH=^@T6?h(DLjJ1)^`XMi!c?K! zABH?x^l8EZq1rEoyioLC3zrJ(gbl*0g=>Y^34bfxD!fz3|8-#b9uYnzd`|e1@K3@6 z!h=HolLF_gkA<HJPYAn&Ukmx~3JkCIr@{WB4-}3PjuG-76d3*@;auT-A^#PD{#8Q$ z{{i(j;b!5DLjI=#{T~oMCFBd&Xx}e<UHHE6BO(8LfZ<LHZL(j?R|wJ`CyW>Jp95&m z6y^y%LjD^7{Vx~tz5mpkgnUy!_ovngHw$kR-X>K0-Uzo{^aq8H3DrJ0{Q0VXruUlg zAHuhV9|%7do)ms5JS((vKN{(%eR42TbpBZY?P|XqJYV#5;Y8sS;l;vP!pntTVYP6X z@Jitt;YQ*0!dr!R2>AyTEYAbNM}$uZ)&4vDUl9FI!dHd-PXosPr|_uo6X8jr+Mh?b zZqa`f@_!8&KSr1+OcwG#3Fx0K<UbBjpCjb|2~b}m<i7<_ZxOB)ZV>WK|Mb60$oKeD ze^kh~^i$s}<U9DOza{*a@KYh*pHKg8VW{kvhYR`cd-|(=eNgS^gPCH_73K^1R(giN zRLB>@b6>Sic!jW4xKVh$@D}0iLcSB8@gEiP4<)GoUHGN&v=Ga8&4P!o&^#&}pTlB# z+$6?b3W>QYgTy)Wpg(T=6d@{Nx>r=`z=&;crJLzti(Ba`J@}6mU8M_syy&^YeBlh? zY+;d5?KdLc645J!HNtvflh7w@7p@m>65b%ZQ+SVXyYNBbZs9Y+J;FZ<4+swm-w+-W z9u<BfJT5#X>=yng)VQzaKz$4O9xUpyLOzE^o&Wzs;`K&~V}%*Q@xokTzHo++ucu-B zMMAz~i~15_g|JEJ6Rr|oCEO&uLAXV@Rk&UFpm3+~QQ>akGs1nsSA++I2Zd_C68%%{ zSAs`r2R{)W7oHM!3eO0;g+B_<-M@^I{kK?QoG@PK7A6TZgyV&iggL@oVZN|PxInl_ zxLCMEc<#Ptz1W+CKB3yz#CTs%9o$5s9d8hBAu+DE3i)aw*4I74?IgzegF>}WiF7pX zlOY{G7ti?WIVZ#m$o+pT`)h*n94GV55PiJ#<5i+xMKXWU)p$cXouZ#1InSiEtX_^E zl7YTvgEgjv-$nbhH2zvyOIwPc-lWlxW<Da!-@0gN&6V|i&FcB%|87<f4ELJxb1(do zCio|sy?*AyzRFTjxwN$!zmBPDL`jrfwsdK8<q9Kb!@{392L(pC8mcQ%T$arU@!u_c zeArA8=c}caH!fd}pO$KA_@!cH8h%2KA9M4^q(P||KjcZ9Hh)f9na|f;yR_AZZ2srR z5Clc{=N6SZ*k-{8{dk~xRXB77b^KDeWcZ@1u*<09m%@#O@45L_NE`xPO&!zm861v% zCI$V|Jj`%-Toq5>Yg(>&)YKZ!?GA^|F3fN&S1DX@di#(T=XLWi(_08baC%X7#vchW zJ!~KKq<016;PkjB&gW^(!%S~E48iFgMtV)KF+JMN^8FTaaC-T;7v*mO%)?CYIv9e} zo3RY*UD%i&qV%NK0h#HU$0mIFcLv`VnuqCkHw?k)9Y=bbkT2825ba6t5y)m7h}u<I znpSK!c95U>y9kEi@wW?box=C^=3%DsJPg74HeHGNBi6__3Vvq2@S1AIVH#h|=xuB2 zrr!a`!Rc+k$(WCL9$5DDr1x=99EjTJndk>W{mM-51Na4}_Xg7I#Q8Ek6tgG2F34sa zh}u7A;rjv1b>?CE`C$l7Z{MxPI*aM?`&sjRe}c?78E`zT=#bopFc13CIq(r2E^Mjs zdw_GpMN2r-J`v%952nFm<T>FcAsp8Q=3(}~1lWSl<2cTv2!VJWoKwv6;CG^^E_QWw zY$-Qh)N1Nx(wz2#x{)?%tMUEmx#1W-sF}1^ke(ZvxnWO&W4`P+EL(7TpHyR?(##Bg Hrue@AApBhH literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.c new file mode 100755 index 000000000..f2bddc275 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.c @@ -0,0 +1,214 @@ + +/* Include files */ +#include <math.h> +#include "define.h" +#include "struct.h" +#include "memalloc.h" +#include "packfft.h" +#include "nlpaes_subfun.h" + +/* Function Definitions */ +FilterBank *filterbank_create(int banks, float sampling, int len, int type) +{ + FilterBank *bank; + float df; + float max_mel, mel_interval; + int i; + int id1; + int id2; + + type = type; + df = sampling / (float)(2 * len); + max_mel = (float)toBARK(sampling/2); + mel_interval = max_mel / (float)(banks - 1); + + bank = (FilterBank*)mem_alloc(sizeof(FilterBank)); + bank->nb_banks = banks; + bank->len = len; + bank->bank_left = (int*)mem_alloc(len*sizeof(int)); + bank->bank_right = (int*)mem_alloc(len*sizeof(int)); + bank->filter_left = (float*)mem_alloc(len*sizeof(float)); + bank->filter_right = (float*)mem_alloc(len*sizeof(float)); + + //bank->scaling = (float*)mem_alloc(banks*sizeof(float)); + + for (i=0;i<len;i++) { + float curr_freq; + float mel; + float val; + curr_freq = (float)(i * df); + mel = (float)toBARK(curr_freq); + if (mel > max_mel) + break; + + id1 = (int)(floor(mel/mel_interval)); + if (id1>banks-2) { + id1 = banks-2; + val = FLOAT_ONE; + } else { + val = (mel - id1*mel_interval) / mel_interval; + } + id2 = id1+1; + bank->bank_left[i] = id1; + bank->filter_left[i] = FLOAT_ONE - val; + bank->bank_right[i] = id2; + bank->filter_right[i] = val; + } + + #if (0) + for (i=0;i<bank->nb_banks;i++) + bank->scaling[i] = 0; + for (i=0;i<bank->len;i++) { + int id = bank->bank_left[i]; + bank->scaling[id] += bank->filter_left[i]; + id = bank->bank_right[i]; + bank->scaling[id] += bank->filter_right[i]; + } + for (i=0;i<bank->nb_banks;i++) + bank->scaling[i] = FLOAT_ONE/(bank->scaling[i]); + #endif + + return bank; +} + +inline void filterbank_free(FilterBank *bank) +{ + mem_free(bank->bank_left); + mem_free(bank->bank_right); + mem_free(bank->filter_left); + mem_free(bank->filter_right); + //mem_free(bank->scaling); + mem_free(bank); +} + +inline void filterbank_linear2sb(FilterBank *bank, float *ps, float *mel) +{ + int i; + for (i=0;i<bank->nb_banks;i++) + mel[i] = 0; + + for (i=0;i<bank->len;i++) { + int id; + id = bank->bank_left[i]; + mel[id] += (bank->filter_left[i] * ps[i]); + id = bank->bank_right[i]; + mel[id] += (bank->filter_right[i] * ps[i]); + } + + /*for (i=0;i<bank->nb_banks;i++) + mel[i] = (bank->scaling[i]) * mel[i]; + */ + +} + +inline void filterbank_sb2linear(FilterBank *bank, float *mel, float *ps) +{ + int i; + for (i=0;i<bank->len;i++) { + float tmp; + int id1, id2; + id1 = bank->bank_left[i]; + id2 = bank->bank_right[i]; + tmp = mel[id1] * bank->filter_left[i]; + tmp += (mel[id2] * bank->filter_right[i]); + ps[i] = tmp; + } +} + +inline void aes_conj_window(float *w, int len) /* Hanning */ +{ + int i; + for (i=0;i<len;i++) { + float tmp; + float x = (float)(4.f * i) / (float)len; + int inv = 0; + if (x<1.f) { + } else if (x<2.f) { + x = 2.f-x; + inv = 1; + } else if (x<3.f) { + x = x-2.f; + inv = 1; + } else { + x = 4.f-x; + } + x = 1.271903f * x; + tmp = .5f-.5f * (float)math_cos_norm(x); /* Hanning */ + tmp = tmp * tmp; + if (inv) + tmp = FLOAT_ONE - tmp; + w[i] = (float)math_sqrt(tmp); + + } +} + +inline float aes_hypergeom_gain(float vk) +{ + int ind; + float integer, frac; + float x; + static const float table[21] = { + 0.82157f, 1.02017f, 1.20461f, 1.37534f, 1.53363f, 1.68092f, 1.81865f, + 1.94811f, 2.07038f, 2.18638f, 2.29688f, 2.40255f, 2.50391f, 2.60144f, + 2.69551f, 2.78647f, 2.87458f, 2.96015f, 3.04333f, 3.12431f, 3.20326f}; + + x = AES_EXPIN_SCALING*vk; + integer = (float)floor(2*x); + ind = (int)integer; + if (ind<0) + return AES_FRAC_SCALING; + if (ind>19) + return (float)(AES_FRAC_SCALING*(1.f+.1296/x)); + frac = 2*x-integer; + return (float)(AES_FRAC_SCALING*((1.f-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f)); + +} + +inline float aes_qcurve(float x) +{ + return 1.f/(1.f+.15f/(AES_SNR_SCALING*x)); +} + +inline void aes_gain_floor(float effective_echo_suppress, float *echo, float *gain_floor, int len) +{ + int i; + float echo_floor; + + echo_floor = (float)exp(.2302585f * effective_echo_suppress); + + /* Compute the gain floor for the residual echo */ + for (i=0;i<len;i++) + gain_floor[i] = AES_FRAC_SCALING * (float)sqrt(echo_floor * echo[i]) / (float)sqrt(1.f + echo[i]); +} + +inline void aes_analysis(NonLinearEchoState *st, short *x) +{ + int i; + int N = st->ps_size; + int N3 = 2*N - st->frame_size; + float *ps = st->ps; + + /* Build input buffer for windowing */ + for (i=0;i<st->frame_size;i++) { + st->frame[i] = st->inbuf[i]; /* take data in previous frame */ + st->frame[N3+i] = x[i]; /* take data in current frame */ + st->inbuf[i] = x[i]; /* update data in previous frame */ + } + + /* Windowing */ + for (i=0;i<2*N;i++) + st->frame[i] = st->frame[i] * st->window[i]; + + /* Perform FFT */ + speech_fft(st->fft_lookup, st->frame, st->ft); + + /* Power spectrum */ + ps[0] = st->ft[0] * st->ft[0]; /* re^2 */ + for (i=1;i<N;i++) /* 0 to N-1 is enough for filterbank computation */ + ps[i] = st->ft[2*i-1] * st->ft[2*i-1] + st->ft[2*i] * st->ft[2*i]; /* re^2 + im^2 */ + + filterbank_linear2sb(st->bank, ps, ps+N); + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.h new file mode 100755 index 000000000..791d9abba --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.h @@ -0,0 +1,33 @@ + +#ifndef NLPAES_SUBFUN_H +#define NLPAES_SUBFUN_H + + /* Include files */ +#include "define.h" +#include "struct.h" + +/* Function Declarations */ +#ifndef PLATFORM_RTOS +extern FilterBank *filterbank_create(int banks, float sampling, int len, int type); +extern inline void filterbank_free(FilterBank *bank); +extern inline void filterbank_linear2sb(FilterBank *bank, float *ps, float *mel); +extern inline void filterbank_sb2linear(FilterBank *bank, float *mel, float *psd); +extern inline void aes_conj_window(float *w, int len); +extern inline float aes_hypergeom_gain(float vk); +extern inline float aes_qcurve(float x); +extern inline void aes_gain_floor(float effective_echo_suppress, float *echo, float *gain_floor, int len); +extern inline void aes_analysis(NonLinearEchoState *st, short *x); +#else +FilterBank *filterbank_create(int banks, float sampling, int len, int type); +void filterbank_free(FilterBank *bank); +void filterbank_linear2sb(FilterBank *bank, float *ps, float *mel); +void filterbank_sb2linear(FilterBank *bank, float *mel, float *psd); +void aes_conj_window(float *w, int len); +float aes_hypergeom_gain(float vk); +float aes_qcurve(float x); +void aes_gain_floor(float effective_echo_suppress, float *echo, float *gain_floor, int len); +void aes_analysis(NonLinearEchoState *st, short *x); +#endif +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/nlpaes_subfun.o new file mode 100644 index 0000000000000000000000000000000000000000..39f011282dad3c99d75674bd3ef40fd491eaf796 GIT binary patch literal 26440 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.c new file mode 100755 index 000000000..009666ce1 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.c @@ -0,0 +1,135 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + *% + *% notch.c + *% Author: Sharon Lee + *% History: + *% Created by Sharon Lee in April, 2021 + *% + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + /* Include files */ +#include <stdio.h> +#include <stdlib.h> +#include "struct.h" +#include "define.h" +#include "notch.h" + +/* Function Definitions */ +void notch_para(qfilter_struct *notch_obj, ssp_para_struct *para, float Fs) +{ + ssp_para_struct *para_obj; + unsigned short tmp; + + /* The last coef is scale value of Hd */ + static short nb_notch_coef[2][6] = { + {7415,-10487,7415,23068,-16239, 18020}, + {5441,10882,5441,-32196,-15812,24237} + }; + static short wb_notch_coef[2][6] = { + {7255,-13406,7255,30207,-16311,18459}, + {8192,0,8192,0,-16096, 16240} + }; + + /* Notch Filter Parameter */ + para_obj = para; + tmp = MIN(MAX(para_obj->para_notch_freq, 0), 1); /* the notch freq, 0 for 1kHz and 1 for 4kHz */ + if (Fs == 8000.0F) + notch_obj->qcoef = &nb_notch_coef[tmp][0]; + else + notch_obj->qcoef = &wb_notch_coef[tmp][0]; + +} + +void notch_init(qfilter_struct *notch_obj, int *notch_state) +{ + unsigned short i; + + for(i=0; i<4;i++) { + notch_state[i] = 0; + } + + notch_obj->nq = 1; + notch_obj->pstate = notch_state; + +} + +void notch_filter(short *pin, short *pout, qfilter_struct *filter, int frame_size) +{ + long long acc0; + int i, j, *pst, xn, xn1, xn2, yn1, yn2; + short *pcoef, *ptr1, *ptr2; + short coef_tmp1, coef_tmp2, coef_tmp3, coef_tmp4, coef_tmp5; + short state_tmp1, state_tmp2, state_tmp3, state_tmp4, state_tmp5; + + //initialize + acc0 =0; + + ptr1 = pin; + ptr2 = pout; + + for(i = frame_size; i > 0; i--) { + pcoef = filter->qcoef; + pst = filter->pstate; + xn = (((int) (*ptr1++))<<16); + + for(j = filter->nq; j > 0; j--) { + coef_tmp1 = *pcoef; /* for high part */ + state_tmp1 = ((short)(xn>>0x10)); /* for high part */ + acc0 = ((unsigned short)(xn))*(*pcoef++); /* low part */ + + xn1 = *pst; /* take x(n-1) */ + *pst++ = xn; /* update x(n-1)*/ + + coef_tmp2 = *pcoef; /* for high part */ + state_tmp2 = ((short)(xn1>>0x10)); /* for high part */ + acc0 += ((unsigned short)(xn1))*(*pcoef++); /* low part */ + + xn2 = *pst; /* take x(n-2) */ + *pst++ = xn1; /* update x(n-2) */ + + coef_tmp3 = *pcoef; /* for high part */ + state_tmp3 = ((short)(xn2>>0x10)); /* for high part */ + acc0 += ((unsigned short)(xn2))*(*pcoef++); /* low part */ + + yn1 = *pst++; /* take y(n-1) */ + + coef_tmp4 = *pcoef; /* for high part */ + state_tmp4 = ((short)(yn1>>0x10)); /* for high part */ + acc0 += ((unsigned short)(yn1))*(*pcoef++); /* low part */ + + yn2 = *pst; /* take y(n-2) */ + + coef_tmp5 = *pcoef; /* for high part */ + state_tmp5 = ((short)(yn2>>0x10)); /* for high part */ + acc0 += ((unsigned short)(yn2))*(*pcoef++); /* low part */ + + *pst++ = yn1; /* update y(n-2) */ + + acc0 >>= 0x10; /* be low part */ + acc0 += ((short)(state_tmp1))*coef_tmp1; /* high part */ + acc0 += ((short)(state_tmp2))*coef_tmp2; /* high part */ + acc0 += ((short)(state_tmp3))*coef_tmp3; /* high part */ + acc0 += ((short)(state_tmp4))*coef_tmp4; /* high part */ + acc0 += ((short)(state_tmp5))*coef_tmp5; /* high part */ + + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, (((int)acc0)<<2)))); /* Q2.14 */ + + pst[-2] = (int)acc0 ; /* update y(n-1) */ + xn = (int)acc0; /* update x(n) for next IIR filter */ + + } + + if(acc0>=0) + acc0 = (((int)((int)acc0>>16)) * (*pcoef)); + else + acc0 = -(((int)(-(int)acc0>>16)) * (*pcoef)); /* remove zero-inputs-limit-cycle osicillation */ + + //acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, (((int)acc0)<<3)))); + acc0 = MAX(((int)0x80000000), (MIN(0x7fffffff, ((acc0)<<3)))); /* Q3.13 */ + *ptr2++ = (short)(acc0>>16); + + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.h new file mode 100755 index 000000000..7a2461066 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.h @@ -0,0 +1,20 @@ + +#ifndef NOTCH_H +#define NOTCH_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "struct.h" +#include "tmwtypes.h" + +/* Function Declarations */ +extern void notch_para(qfilter_struct *notch_obj, ssp_para_struct *para, float Fs); +extern void notch_init(qfilter_struct *notch_obj, int *notch_state); +extern void notch_filter(short *pin, short *pout, qfilter_struct *filter, int frame_size); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/notch.o new file mode 100644 index 0000000000000000000000000000000000000000..aec9a4797dc2de7d7453a09b8f995d90a8f674fd GIT binary patch literal 14992 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 LjYxAg$KQVejD~RB literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.c new file mode 100755 index 000000000..fa84497e2 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.c @@ -0,0 +1,53 @@ + + /* Include files */ + #include <math.h> +#include "define.h" +#include "memalloc.h" +#include "fftcore.h" +#include "packfft.h" + +/* Function Definitions */ +void *speech_fft_init(int size) +{ + struct drft_lookup *table; + table = mem_alloc(sizeof(struct drft_lookup)); + core_drft_init((struct drft_lookup *)table, size); + return (void*)table; +} + +void speech_fft_free(void *table) +{ + core_drft_clear(table); + mem_free(table); +} + +void speech_fft(void *table, float *in, float *out) +{ + if (in==out) { + int i; + float scale = (float)(1./((struct drft_lookup *)table)->n); + //speech_warning("FFT should not be done in-place"); + for (i=0;i<((struct drft_lookup *)table)->n;i++) + out[i] = scale*in[i]; + } else { + int i; + float scale = (float)(1./((struct drft_lookup *)table)->n); + for (i=0;i<((struct drft_lookup *)table)->n;i++) + out[i] = scale*in[i]; + } + core_drft_forward((struct drft_lookup *)table, out); +} + +void speech_ifft(void *table, float *in, float *out) +{ + if (in==out) { + //speech_warning("FFT should not be done in-place"); + } else { + int i; + for (i=0;i<((struct drft_lookup *)table)->n;i++) + out[i] = in[i]; + } + core_drft_backward((struct drft_lookup *)table, out); +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.h new file mode 100755 index 000000000..298d19a49 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.h @@ -0,0 +1,16 @@ + +#ifndef PACKFFT_H +#define PACKFFT_H + + /* Include files */ +#include "define.h" + +/* Function Declarations */ +extern void *speech_fft_init(int size); +extern void speech_fft_free(void *table); +extern void speech_fft(void *table, float *in, float *out); +extern void speech_ifft(void *table, float *in, float *out); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/packfft.o new file mode 100644 index 0000000000000000000000000000000000000000..2af945df1bc7aa69754788b9433f6b683c29e69b GIT binary patch literal 11136 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 Xzsp ~ax^jQ2DebsKDUvg7?XWKhGQ literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.c new file mode 100755 index 000000000..e941ba506 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.c @@ -0,0 +1,25 @@ + +/* Include files */ +#include <math.h> +#include "mmse.h" +#include "power.h" +#include "mmse_rtwutil.h" + +/* Function Definitions */ +void c_power(const float a[], float y[], int N) +{ + int k; + for (k = 0; k < N; k++) { + y[k] = a[k] * a[k]; + } +} + +void d_power(const float a[321], float y[321]) +{ + int k; + for (k = 0; k < 321; k++) { + y[k] = (float)sqrt(a[k]); + } +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.h new file mode 100755 index 000000000..aa3935f5b --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.h @@ -0,0 +1,18 @@ + +#ifndef POWER_H +#define POWER_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" + +/* Function Declarations */ +extern void c_power(const float a[], float y[], int N); +extern void d_power(const float a[321], float y[321]); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/power.o new file mode 100644 index 0000000000000000000000000000000000000000..604b3abd8c7a54e3cd8110dfd5175dd1a8d4e6d6 GIT binary patch literal 4844 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 b58^!n<vQq9UaBLFZCN~QrcKZ(Qt|!+zi_h+ literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.c new file mode 100755 index 000000000..6f8b3d0e2 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.c @@ -0,0 +1,47 @@ + +/* Include files */ +#include "mmse.h" +#include "struct.h" +#include "slope_detection.h" + +/* Function Definitions */ +void slope_detection(NRState *st) +{ + int instant_slope; + int k; + float temp; + + /* signal power change based VAD */ + /* consider small speech at the biginning, ensure it is not suppressed */ + instant_slope = 0; + for (k = 0; k < 5; k++) { /* subband based */ + temp = st->amp_inst_band[k] / 4.0F; + if ((temp - st->amp_inst_band[5 + k] > 0.0F) || (temp - st->amp_inst_band[10 + k] > 0.0F)) { + instant_slope = 1; + } + } + + if (instant_slope == 0) { + temp = st->vad_slope_cnt - 1.0F; + if (0.0F > temp) { + temp = 0.0F; + } + + st->vad_slope_cnt = temp; + if (temp == 0.0F) { + st->vad_slope = 0.0F; + } + } else { + st->vad_slope = 1.0F; + if (st->Fs == 16000.0F) { + st->vad_slope_cnt = 8.0F; + } else { + if (st->Fs == 8000.0F) { + st->vad_slope_cnt = 4.0F; + } + } + } + +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.h new file mode 100755 index 000000000..7e0aa9871 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.h @@ -0,0 +1,18 @@ + +#ifndef SLOPE_DETECTION_H +#define SLOPE_DETECTION_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" +#include "struct.h" + +/* Function Declarations */ +extern void slope_detection(NRState *st); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/slope_detection.o new file mode 100644 index 0000000000000000000000000000000000000000..6abd026612e9f6f9bf04b648403d76b2168a730f GIT binary patch literal 6280 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 Jn_v8R{{pC`Fs}dr literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.c_org b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.c_org new file mode 100755 index 000000000..e20b29c54 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.c_org @@ -0,0 +1,765 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + *% + *% ssp_main.c + *% Author: Sharon Lee + *% History: + *% Created by Sharon Lee for NR in August, 2019 + *% Add AGC by Sharon Lee in December, 2019 + *% Add Linear Processing AEC by Sharon Lee in April, 2020 + *% Add Nonlinear Processing AES by Sharon Lee in August, 2020 + *% Add Notch Filter and DC Filter by Sharon Lee in April, 2021 + *% Add SPK-path AGC by Sharon Lee in July, 2021 + *% Add DG and Delay by Sharon Lee in November, 2021 + *% Add SPK-path Equalizer by Sharon Lee in January, 2022 + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/*************************************************************************************/ +/* This example C main file shows how to call entry-point functions and read input signals. */ +/* You must customize this file for your development environment/platform. */ +/* Modify it and integrate it into your own development environment/platform. */ +/* */ +/*************************************************************************************/ + +/* Include files */ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "tmwtypes.h" +#include "mmse_init.h" +#include "mmse.h" +#include "define.h" +#include "struct.h" +#include "agc_init.h" +#include "agc.h" +#include "lpaec.h" +#include "packfft.h" +#include "nlpaes.h" +#include "notch.h" +#include "dc.h" +#include "dg.h" +#include "delay.h" +#include "eq.h" +#include "functrl.h" + +#define INPUT_FILE_AS_ARG 1 +FILE *fp_test_ne_mic_in; +FILE *fp_test_fe_ref_in; +FILE *fp_test_ne_out; +FILE *fp_test_fe_in; +FILE *fp_test_fe_out; + +#if INPUT_FILE_AS_ARG +char *mic_ne_filename; +char *mic_fe_filename; +char *spk_in_filename; +int customer_option; +#endif +//#define SHARON_DEBUG +#ifdef SHARON_DEBUG +FILE *fp_test; +long long frame_cnt = 0; +long long debug_cnt = 0; +#endif + + +/* Function Declarations */ +static void SSP_Algorithm(void); +/* Function Definitions */ +static void SSP_Algorithm(void) +{ + + float fs; /* sampling rate */ + int hopsize = 160; /* input hop size */ + + /* Delay History Buffer */ + DelayState *delay_state = NULL; + + /* DG History Buffer */ + static dg_struct dg_obj; + + /* DC Filter History Buffer */ + static dcfilter_struct dc_obj; + + /* Notch Filter History Buffer */ + static qfilter_struct notch_obj; + static int notch_state[4]; + + /* LP AEC History Buffer */ + LinearEchoState *aec_state = NULL; + short filter_length, init_filter_length; + + /* NLP AES History Buffer */ + NonLinearEchoState *aes_state = NULL; + boolean_T st_vad; + float std_thrd; + float aes_supp_coef1; + float aes_supp_coef2; + + /* NR History Buffer */ + NRState *nr_state = NULL; + boolean_T speech_vad; + float aa, mu; + float frame; + float initial_noise_pow_time; + int nenr_silence_time, nenr_silence_cnt; + + /* AGC History Buffer */ + static agc_struct agc_obj; + + /* Near-end Input/Output Buffer */ + short ne_mic_fixed_in[320]; /* near-end and fixed-point mic input */ + short fe_ref_fixed_in[320]; /* far-end and fixed-point ref input */ + float ne_float_out[160]; /* near-end and floating-point output */ + short ne_fixed_out[160]; /* near-end and fixed-point output */ + float tmp; + + + /* Far-end Input/Output Buffer */ + short fe_fixed_in[160]; /* far-end and fixed-point input */ + short fe_fixed_out[160]; /* far-end and fixed-point output */ + + /* AGC History Buffer in SPK Path */ + static agc_struct spk_agc_obj; + + /* EQ History Buffer in SPK Path */ + static cascaded_iir_struct spk_eq_obj; + static float spk_eq_state[12]; + + /* For Test */ + short wav_header[44]; + short cond1, cond2, cond3, cond4, cond5, cond6; + int i; + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*%*/ +/*% SSP Algorithm Parameter */ +/*%*/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + static ssp_para_struct ssp_para_obj; + /* SSP algorithm parameter need to be adjusted according to different prototype machine from client */ + /* { 0: default }, { 1: CEOP }, { 2: HT master (ref hw) }, { 3: HT slave (ref hw) }, { 4: ZT (ref sw)} */ + /* { 5: an example of slightly enhanced low frequencies in spk-path equalizer } */ + /* { 6: an example of slightly enhanced high frequencies in spk-path equalizer } */ + ssp_para_obj.para_client_config = 0; /* for choosing client's prototype machine, [0, 6] */ +#if INPUT_FILE_AS_ARG + ssp_para_obj.para_client_config = customer_option; + printf("input_file_as_arg option[%d]\n", customer_option); +#endif + + speech_vad = speech_vad; + /* Assign Parameter Value to SSP Algorithm */ + /* These values of parameters need to be adjusted according to the actual field try on prototype machine of client, these parameters can be pulled out to be API input arguments for SDK */ + if (1 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 60; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 10; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 6; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 1; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (2 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 18; + ssp_para_obj.para_agc_target_low = 66; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (3 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 1; + ssp_para_obj.para_aec_filter_len = 2; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 15; + ssp_para_obj.para_agc_target_low = 15; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (4 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 207; + ssp_para_obj.para_delay_sample = 450; + ssp_para_obj.para_dg_target = 6; + ssp_para_obj.para_aec_init_filter_len = 13; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 1; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (5 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 0; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 2; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 4; + ssp_para_obj.para_spk_eq_freq[0] = 6; ssp_para_obj.para_spk_eq_gain[0] = 43; ssp_para_obj.para_spk_eq_qfactor[0] = 0; + ssp_para_obj.para_spk_eq_freq[1] = 7; ssp_para_obj.para_spk_eq_gain[1] = 38; ssp_para_obj.para_spk_eq_qfactor[1] = 11; + ssp_para_obj.para_spk_eq_freq[2] = 8; ssp_para_obj.para_spk_eq_gain[2] = 39; ssp_para_obj.para_spk_eq_qfactor[2] = 11; + ssp_para_obj.para_spk_eq_freq[3] = 9; ssp_para_obj.para_spk_eq_gain[3] = 37; ssp_para_obj.para_spk_eq_qfactor[3] = 0; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (6 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 0; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 2; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 3; + ssp_para_obj.para_spk_eq_freq[0] = 7; ssp_para_obj.para_spk_eq_gain[0] = 42; ssp_para_obj.para_spk_eq_qfactor[0] = 9; + ssp_para_obj.para_spk_eq_freq[1] = 8; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 9; + ssp_para_obj.para_spk_eq_freq[2] = 9; ssp_para_obj.para_spk_eq_gain[2] = 43; ssp_para_obj.para_spk_eq_qfactor[2] = 0; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 1; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*% */ +/*% SSP Algorithm Applied to MIC Path */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +#if !(INPUT_FILE_AS_ARG) + if ((fp_test_ne_mic_in = fopen("./pattern/mic/ht/slave/NE_ht_s_ref_hw_8k_1.wav", "rb")) == NULL) { + printf("Cannot open input file \n"); + exit(2); + } + if ((fp_test_fe_ref_in = fopen("./pattern/mic/ht/slave/FE_ht_s_ref_hw_8k_1.wav", "rb")) == NULL) { + printf("Cannot open input file \n"); + exit(2); + } + if ((fp_test_ne_out = fopen("./pattern/mic/ht/slave/mic_ssp_ht_s_ref_hw_8k_1.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } +#endif + #ifdef SHARON_DEBUG + fp_test = fopen("./pattern/test.txt", "wb"); + #endif + + + /* Get the sampling rate from CODEC configuration if run with system codes */ + fread(&wav_header[0], 1, 44, fp_test_fe_ref_in); /* wav header */ + fread(&wav_header[0], 1, 44, fp_test_ne_mic_in); /* wav header */ + fs = (float)(wav_header[12]); /* sampling rate recorded in 24th byte with 4-byte length, little endian */ + printf("parsing sample rate from wav[%f]\n", fs); + #ifdef SHARON_DEBUG + if ((fs != 8000.0F) && (fs != 16000.0F)) + printf("Input is not wave format \n"); + #endif + + + cond1 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_para(&ssp_para_obj); + delay_state = delay_init(&ssp_para_obj); + } + + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + DG_para(&dg_obj, &ssp_para_obj); + } + + cond1 = ssp_para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover_init(&dc_obj, fs); + } + + cond1 = ssp_para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_para(¬ch_obj, &ssp_para_obj, fs); + notch_init(¬ch_obj, notch_state); + } + + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + LP_AEC_para(&ssp_para_obj, &filter_length, &init_filter_length); + aec_state = LP_AEC_init(hopsize, filter_length, init_filter_length, fs); + } + if (cond2) { + NLP_AES_para(&ssp_para_obj, &std_thrd, &aes_supp_coef1, &aes_supp_coef2); + aes_state = NLP_AES_init(hopsize, fs, std_thrd, aes_supp_coef1, aes_supp_coef2); + aes_state->echo_state = aec_state; + } + + if (!(ssp_para_obj.para_fun_config & AGC_ENABLE)) { /* add fool-proof design for parameter configuration */ + ssp_para_obj.para_agc_vad_ena = 0; + } + cond1 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond2 = ssp_para_obj.para_fun_config & AGC_ENABLE; + if (cond1 | (cond2 && ssp_para_obj.para_agc_vad_ena)) { + NR_para(&ssp_para_obj, &aa, &mu); + nr_state = NR_init(hopsize, fs, aa, mu); + } + if (cond2) { + AGC_para(&agc_obj, &ssp_para_obj, 1); + AGC_init(&agc_obj, &ssp_para_obj, fs, hopsize, 1); + } + + speech_vad = true; /* default */ + st_vad = false; /* default */ + frame = 1.0F; /* set initial value here in case of NR off */ + nenr_silence_cnt = 0; + ssp_para_obj.para_nr_init_sile_time = MIN(MAX(ssp_para_obj.para_nr_init_sile_time, 0), 250); + if (fs == 16000.0F) { + initial_noise_pow_time = 14; + nenr_silence_time = ssp_para_obj.para_nr_init_sile_time*2; + } else { + initial_noise_pow_time = 7; + nenr_silence_time = ssp_para_obj.para_nr_init_sile_time; + } + + + for (;;) /* Main Frame Loop in MIC Path */ + { + /* This section of codes have to be replaced by reading the bitstream from system layer in real platform */ + cond1 = fread(&ne_mic_fixed_in[0], sizeof(short), hopsize, fp_test_ne_mic_in); /* get current near-end frame data */ + cond2 = fread(&fe_ref_fixed_in[0], sizeof(short), hopsize, fp_test_fe_ref_in); /* get current far-end frame data */ + if ((cond1 != hopsize) | (cond2 != hopsize)) { + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + cond3 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond4 = ssp_para_obj.para_fun_config & AGC_ENABLE; + cond6 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1 | cond2) { + LP_AEC_free(aec_state); + } + if (cond2) { + if (aec_state != NULL) + NLP_AES_free(aes_state); + } + if (cond3 | (cond4 && ssp_para_obj.para_agc_vad_ena)) { + if (nr_state != NULL) + NR_free(nr_state); + } + if (cond6) { + delay_free(delay_state); + } + fclose(fp_test_ne_mic_in); + fclose(fp_test_fe_ref_in); + fclose(fp_test_ne_out); + #ifdef SHARON_DEBUG + fclose(fp_test); + #endif + goto Pattern_EOF; + } + + if (2 == ssp_para_obj.para_client_config) { + for (i = 0; i < hopsize; i++) { + tmp = (float)(fe_ref_fixed_in[i])/(float)(32768.0F) * 15.84F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + fe_ref_fixed_in[i] = ROUND_POS(tmp*(short)(32767)); + ne_mic_fixed_in[i] = ROUND_POS(((float)(ne_mic_fixed_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + } + } + + if (!(ssp_para_obj.para_fun_config)) { + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; /* save MCPS if all off */ + } else { + + /* Delay ref signal, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_ref(fe_ref_fixed_in, delay_state, hopsize); + } + + /* Apply DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + apply_DG(ne_mic_fixed_in, ne_mic_fixed_in, &dg_obj, hopsize); + } + + /* DC filter, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover(ne_mic_fixed_in, ne_mic_fixed_in, &dc_obj, hopsize); + } + + /* Notch filter, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_filter(ne_mic_fixed_in, ne_mic_fixed_in, ¬ch_obj, hopsize); + } + + /* Linear AEC, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + LP_AEC(aec_state, ne_mic_fixed_in, fe_ref_fixed_in, ne_fixed_out); + if (cond2) { + for (i = 0; i < hopsize; i++) + aes_state->aes_std_in[i] = ne_mic_fixed_in[i]; + } + for (i = 0; i < hopsize; i++) + ne_mic_fixed_in[i] = ne_fixed_out[i]; + } + + cond3 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond4 = ssp_para_obj.para_fun_config & AGC_ENABLE; + if (!(cond2 | cond3 | cond4)) { + /* Compensate DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(ne_mic_fixed_in, ne_mic_fixed_in, &dg_obj, hopsize); + } + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; /* save MCPS if NR+AES+AGC off */ + } else { + if (cond3 | ssp_para_obj.para_agc_vad_ena) { + /* Stationary NR, frame-by-frame processing */ + if (nenr_silence_cnt >= nenr_silence_time) { + NR(ne_mic_fixed_in, initial_noise_pow_time, &frame, nr_state, &speech_vad, ne_float_out); + } else { + for (i = 0; i < hopsize; i++) { + ne_float_out[i] = 0.0F; + nr_state->x_old[i] = ne_mic_fixed_in[i]; /* update input overlap data */ + } + } + } +//TODO: + if (cond3) { + /* Transform to fixed-point with 16-bit length for output */ + for (i = 0; i < hopsize; i++) { + ne_float_out[i] = MIN(MAX(ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + if (ne_float_out[i] < 0.0F) + ne_fixed_out[i] = ROUND_NEG(ne_float_out[i]*(int)(32768)); + else + ne_fixed_out[i] = ROUND_POS(ne_float_out[i]*(short)(32767)); + } + } else { + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; + } + + /* Nonlinear AES, frame-by-frame processing */ + if (cond2) { + NLP_AES(aes_state, ne_fixed_out, frame, speech_vad); + st_vad = (boolean_T)aes_state->st_vad; + } + + if (2 == ssp_para_obj.para_client_config) { + for (i = 0; i < hopsize; i++) { + tmp = (float)(ne_fixed_out[i])/(float)(32768.0F) * 1.9952F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + ne_fixed_out[i] = ROUND_POS(tmp*(short)(32767)); + } + } + + /* Compensate DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(ne_fixed_out, ne_fixed_out, &dg_obj, hopsize); + } + + /* AGC, frame-by-frame processing */ + if (cond4) { + AGC(ne_fixed_out, ne_fixed_out, &agc_obj, &ssp_para_obj, speech_vad, st_vad, nenr_silence_time, nenr_silence_cnt, 1); + } + + } + } + + if (nenr_silence_cnt < nenr_silence_time) + nenr_silence_cnt += 1; + else + nenr_silence_cnt = nenr_silence_time + 1; /* avoid overflow */ + + if (nenr_silence_cnt > nenr_silence_time) { + if (frame < initial_noise_pow_time) + frame += 1; + else + frame = initial_noise_pow_time + 1; + } + + fwrite(&ne_fixed_out[0], sizeof(short), hopsize, fp_test_ne_out); + + #ifdef SHARON_DEBUG + frame_cnt++; + if (frame_cnt == 500) { + printf(" "); + //fclose(fp_test_ne_out); + } + #endif + + } + + Pattern_EOF: + printf("Test Pattern EOF in MIC Path!\n"); /* EOF, set breakpoint here for VC++ version */ + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*% */ +/*% SSP Algorithm Applied to SPK Path */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +#if !(INPUT_FILE_AS_ARG) + if ((fp_test_fe_in = fopen("./pattern/spk/agc/FE_8k_1.wav", "rb")) == NULL) { + printf("Cannot open input file \n"); + exit(2); + } + if ((fp_test_fe_out = fopen("./pattern/spk/agc/spk_ssp_8k_1.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } +#endif + + /* Get the sampling rate from CODEC configuration if run with system codes */ + fread(&wav_header[0], 1, 44, fp_test_fe_in); /* wav header */ + fs = (float)(wav_header[12]); /* sampling rate recorded in 24th byte with 4-byte length, little endian */ + #ifdef SHARON_DEBUG + if ((fs != 8000.0F) && (fs != 16000.0F)) + printf("Input is not wave format \n"); + #endif + + cond5 = ssp_para_obj.para_spk_fun_config & SPK_AGC_ENABLE; + if (cond5) { + AGC_para(&spk_agc_obj, &ssp_para_obj, 2); + AGC_init(&spk_agc_obj, &ssp_para_obj, fs, hopsize, 2); + } + + cond5 = ssp_para_obj.para_spk_fun_config & SPK_EQ_ENABLE; + if (cond5) { + equalizer_para(&spk_eq_obj, &ssp_para_obj, fs); + equalizer_init(&spk_eq_obj, spk_eq_state); + } + + + for (;;) /* Main Frame Loop in SPK Path */ + { + /* This section of codes have to be replaced by reading the bitstream from system layer in real platform */ + cond5 = fread(&fe_fixed_in[0], sizeof(short), hopsize, fp_test_fe_in); /* get current far-end frame data */ + if ((cond5 != hopsize)) { + fclose(fp_test_fe_in); + fclose(fp_test_fe_out); + goto FE_Pattern_EOF; + } + + /* AGC, frame-by-frame processing in spk path */ + cond5 = ssp_para_obj.para_spk_fun_config & SPK_AGC_ENABLE; + if (cond5) { + AGC(fe_fixed_in, fe_fixed_in, &spk_agc_obj, &ssp_para_obj, true, false, 0, 0, 2); + } + + /* Equalizer, frame-by-frame processing in spk path */ + cond5 = ssp_para_obj.para_spk_fun_config & SPK_EQ_ENABLE; + if (cond5) { + equalizer(fe_fixed_in, fe_fixed_in, &spk_eq_obj, hopsize); + } + + for (i = 0; i < hopsize; i++) { + fe_fixed_out[i] = fe_fixed_in[i]; + } + fwrite(&fe_fixed_out[0], sizeof(short), hopsize, fp_test_fe_out); + + } + + FE_Pattern_EOF: + printf("Test Pattern EOF in SPK Path!\n"); /* EOF, set breakpoint here for VC++ version */ + +} +#if INPUT_FILE_AS_ARG +static void _ssp_main_usage(void) +{ + printf("-----------------ssp main 20211202 usage -----------------\n"); + printf("=============================================================\n"); + printf("input arg 1: NE file\n"); + printf("input arg 2: FE file\n"); + printf("input arg 3: SPK input test file\n"); + printf("ssp main will produce , near end result and spk result\n"); + printf("=============================================================\n"); +} +#endif + +int main(int argc, char * const argv[]) +{ +#ifndef INPUT_FILE_AS_ARG + (void)argc; + (void)argv; +#else + if (argc < 4) { + printf("Need more input arguements ssp algo 20211202!!!\n"); + _ssp_main_usage(); + return -1; + } +#if 0 +FILE *fp_test_ne_mic_in; +FILE *fp_test_fe_ref_in; +FILE *fp_test_ne_out; +FILE *fp_test_fe_in; +FILE *fp_test_fe_out; + +char *mic_ne_filename; +char *mic_fe_filename; +char *spk_in_filename; +#endif + mic_ne_filename = argv[1]; + if (access(mic_ne_filename, 0) < 0) { + printf("[Error]file name for mic_ne not exist[%s]\n", mic_ne_filename); + return -1; + } + if ((fp_test_ne_mic_in = fopen(mic_ne_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file NE\n"); + return -1; + } + + mic_fe_filename = argv[2]; + if (access(mic_fe_filename, 0) < 0) { + printf("[Error]file name for mic_fe not exist[%s]\n", mic_fe_filename); + return -1; + } + if ((fp_test_fe_ref_in = fopen(mic_fe_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file FE\n"); + return -1; + } + + spk_in_filename = argv[3]; + if (access(spk_in_filename, 0) < 0) { + printf("[Error]file name for SPK IN not exist[%s]\n", spk_in_filename); + return -1; + } + if ((fp_test_fe_in = fopen(spk_in_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file FE for spk\n"); + return -1; + } + //setup the output filename + if ((fp_test_ne_out = fopen("mic_output.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } + + if ((fp_test_fe_out = fopen("spk_output.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } + /* {0: default}, {1: CEOP}, {2: HT master (ref hw)}, {3: HT slave (ref hw)}, {4: ZT (ref sw)} */ + printf("input customer option:\n"); + printf("{0: default}, {1: CEOP}, {2: HT master (ref hw)}, {3: HT slave (ref hw)}, {4: ZT (ref sw)} :\n\t"); + scanf("%d", &customer_option); + printf("Your option is[%d]\n", customer_option); +#endif + + SSP_Algorithm(); + + return 0; +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/ssp_main.o new file mode 100644 index 0000000000000000000000000000000000000000..51a2012d17fa734ad0340bc36973d5f48a3808b5 GIT binary patch literal 34936 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/struct.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/struct.h new file mode 100755 index 000000000..3818ec349 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/struct.h @@ -0,0 +1,283 @@ + +#ifndef STRUCT_H +#define STRUCT_H + +/* Include files */ +#include "tmwtypes.h" +#include "define.h" + + +/* Cascaded IIR Filter */ +typedef struct { + float coef[20]; + float *pstate; /*point to state of the cascaded IIR-filtering */ + unsigned short stage; /* number of stage */ + float b0; +} cascaded_iir_struct; + +/* Delay */ +typedef struct { + short *addr; /* start address of circular buffer */ + short *rdptr; /* current read address of CB */ + short *wrptr; /* current write address of CB */ + unsigned short size; /* size of CB */ + short *dly_ref_buf; +} DelayState; + +/* DG */ +typedef struct { + float cut_gain; + float boost_gain; +} dg_struct; + +/* DC Filter */ +typedef struct { + float dcfilter_radius; + float dcfilter_mem[2]; /* assign two elements per channel */ +} dcfilter_struct; + +/* Quadratic Filter */ +typedef struct { + short *qcoef; + int *pstate; /*point to state of the quad-filtering */ + unsigned short nq; /* number of quad filter */ +} qfilter_struct; + +/* If TWO_FILTER enabled, AEC would adopt a foreground filter and a background filter to enhance the robustness for double-talk and difficult signals, the cost is extra FFT and matrix-vector multiplication */ +#define TWO_FILTER + +/* LP AEC */ +typedef struct { + int frame_size; /* Number of samples processed each time */ + int window_size; + int M; + int cancel_count; + int adapted; + int saturated; + int screwed_up; + int sampling_rate; + float spec_average; + float beta0; + float beta_max; + float sum_adapt; + float leak_estimate; + + float *e; + float *x; /* Far-end input buffer (2N) */ + float *X; /* Far-end buffer (M+1 frames) in frequency domain */ + float *input; + float *y; + float *last_y; + float *Y; + float *E; + float *PHI; + float *W; /* (Background) filter weights */ +#ifdef TWO_FILTER + float *foreground; /* Foreground filter weights */ + float Davg1; /* 1st recursive average of the residual power difference */ + float Davg2; /* 2nd recurstve average of the residual power dtfference */ + float Dvar1; /* Estimated variance of 1st estimator */ + float Dvar2; /* Estimated variance of 2nd estimator */ +#endif + float *power; /* Power of the far-end signal */ + float *power_1; /* Inverse power of far-end */ + float *wtmp; + + float *Rf; + float *Yf; + float *Xf; + float *Eh; + float *Yh; + float Pey; + float Pyy; + float *window; + float *prop; + void *fft_table; + float *memX, *memD, *memE; + float preemph; + float notch_radius; + float *notch_mem; + + float aec_min_leak; + float aec_var1_smooth; + float aec_var2_smooth; + float aec_var1_update; + float aec_var2_update; + float aec_var_backtrack; + + float ss; /* far-end smooth coefficient */ + float RER; + long echo_cnt; + short initial_filter_len; +} LinearEchoState; + +/* Filter Bank */ +typedef struct { + int *bank_left; + int *bank_right; + float *filter_left; + float *filter_right; + //float *scaling; + int nb_banks; + int len; +} FilterBank; + +/* NLP AES */ +typedef struct { + int frame_size; /* Number of samples processed in each frame */ + int ps_size; /* Number of points in the power spectrum */ + int sampling_rate; /* Sampling rate of the input/output */ + FilterBank *bank; + + LinearEchoState *echo_state; + + float *frame; /* Processing frame (2*ps_size) */ + float *ft; /* Processing frame in freq domain (2*ps_size) */ + float *ps; /* Current power spectrum */ + float *gain2; /* Adjusted gains */ + float *gain_floor; /* Minimum gain allowed */ + float *window; /* Analysis/Synthesis window */ + float *old_ps; /* Power spectrum for last frame */ + float *gain; + float *prior; /* Priori SNR */ + float *post; /* Posteriori SNR */ + float *zeta; /* Smoothed priori SNR */ + float *echo_noise; + float *residual_echo; + int echo_sup; + int echo_sup_active; + + float *inbuf; /* Input OLA buffer (overlapped analysis) */ + float *outbuf; /* Output OLA buffer (for overlap and add) */ + + int nb_adapt; /* Number of frames used for adaptation so far */ + int min_count; /* Number of frames processed so far */ + void *fft_lookup; /* Lookup table for the FFT */ + int nbands; + + float RER_smooth; + int RER_vad; + int st_vad; + + /* FD STD/DTD */ + short *aes_std_in; + short *mic_raw_ola; + //float *fdstd_mic_in_sm; + //float *fdstd_linear_echo_sm; + float fdstd_tau_mean; + float fdstd_thrd; + int fdstd_vad; + + float aes_supp_coef1; /* Parameters */ + float aes_supp_coef2; /* Parameters */ + float frame1_last_sample; +} NonLinearEchoState; + +/* NR */ +typedef struct { + void *nr_fft_table; + float *ana_win; /* analysis window before performing fft */ + float *syn_win; /* synthesis window after performing ifft */ + short *x_old; /* input overlap buffer */ + float *y_old; /* output OLA buffer */ + float *Xk_prev; /* estimated clean speech power */ + float *noise_mean; /* noise mean */ + float *noise_mu2; /* estimated noise power */ + float *amp_inst_band; + float *noisy_st_trough; + float *noisy_st_peak; + float *amp_inst_sum_hist; + float *float_x; /* near-end and floating-point mic input */ + float vad_slope_cnt; + float vad_slope; + float vad_dr_cnt; + float vad_dr; + float vad_mmse; + float vad_mmse_cnt; + float eta; + float ksi_min; + float aa; + float mu; + float vad_mmse_cnt_para; + float nr_frame1_last_sample; + int frame_size; + float Fs; +} NRState; + +/* AGC */ +typedef struct { + short max_gain; + short unit_gain; + int gain32; + short env; + short target_low; + short target_low_Q15; + short target_high; + short target_high_Q15; + + short fixed_step_size; + short stepsize_release; + short stepsize_attack; + + short pcb_noise_thrd; + short pcb_noise_cnt; + short pcb_noise_hold_time; + + boolean_T unit_gain_change; + boolean_T unit_gain_change_det; + short sout_hist; + short smooth_cnt; + short alpha; + short alpha2; + + boolean_T agc_vad1; + short agc_vad1_cnt; + boolean_T agc_vad2; + short agc_vad2_cnt; + boolean_T agc_vad3; /* the activated AGC, take speech, noise and echo signal into account */ + boolean_T agc_vad_hist; + short frame_size; + short Fs; +} agc_struct; + +/* SSP Algorithm Parameter */ +typedef struct { + /* SSP Parameter in MIC Path */ + unsigned short para_client_config; /* for choosing client's prototype machine, [0, 6] */ + unsigned short para_fun_config; /* functionality on/off configuration in mic path, [0, 255] */ + unsigned short para_delay_sample; /* the delay sample for ref signal, [1, 3000] */ + unsigned short para_dg_target; /* the digital gain target, [1, 12] */ + unsigned short para_aec_init_filter_len; /* the initial filter length of linear AEC to support up for echo tail, [1, 13] */ + unsigned short para_aec_filter_len; /* the filter length of linear AEC to support up for echo tail, [1, 13] */ + unsigned short para_aes_std_thrd; /* the threshold level for residual echo, [0, 39] */ + unsigned short para_aes_supp_coeff; /* the suppression level for residual echo, [0, 100] */ + unsigned short para_nr_init_sile_time; /* the initial silence time supported by NR to avoid the initial bad/random signals from CODEC, [0, 250] */ + unsigned short para_nr_snr_coeff; /* the coefficient of NR priori SNR tracking, [0, 25] */ + unsigned short para_agc_max_gain; /* the max boost gain for AGC release processing, [0, 6] */ + unsigned short para_agc_target_high; /* the gain level of target high of AGC, [0, 36] */ + unsigned short para_agc_target_low; /* the gain level of target low of AGC, [0, 72] */ + boolean_T para_agc_vad_ena; /* speech-activated AGC functionality, [0, 1] */ + unsigned short para_notch_freq; /* the notch frequency, [0, 1] */ + /* Not open for tuning */ + unsigned short para_nr_noise_coeff; + unsigned short para_agc_vad_cnt; + boolean_T para_agc_cut6_ena; + + /* SSP Parameter in SPK Path */ + unsigned short para_spk_fun_config; /* functionality on/off configuration in spk path, [0, 1] */ + unsigned short para_spk_agc_max_gain; /* the max boost gain for spk-path AGC release processing, [0, 6] */ + unsigned short para_spk_agc_target_high; /* the gain level of target high of spk-path AGC, [0, 36] */ + unsigned short para_spk_agc_target_low; /* the gain level of target low of spk-path AGC, [0, 72] */ + unsigned short para_spk_eq_nband; /* the number of bands (stages) in spk-path EQ, [1, 5] */ + unsigned short para_spk_eq_freq[5]; /* the center frequency of each band in spk-path EQ, [0, 9]@8kFs, [0, 10]@16kFs */ + unsigned short para_spk_eq_gain[5]; /* the dB gain of each band in spk-path EQ, [0, 60] */ + unsigned short para_spk_eq_qfactor[5]; /* the quality factor of each band in spk-path EQ, [0, 17] */ + /* Not open for tuning */ + boolean_T para_spk_agc_vad_ena; + unsigned short para_spk_agc_vad_cnt; + boolean_T para_spk_agc_cut6_ena; +} ssp_para_struct; + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.c b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.c new file mode 100755 index 000000000..697456791 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.c @@ -0,0 +1,37 @@ + +/* Include files */ +#include "mmse.h" +#include "sum.h" + +/* Function Definitions */ +creal32_T b_sum(const creal32_T x_data[], const int x_size[1]) +{ + creal32_T y; + int k; + if (x_size[0] == 0) { + y.re = 0.0F; + y.im = 0.0F; + } else { + y = x_data[0]; + for (k = 2; k <= x_size[0]; k++) { + y.re += x_data[k - 1].re; + y.im += x_data[k - 1].im; + } + } + + return y; +} + +float c_sum(const float x[], int N) +{ + float y; + int k; + y = x[0]; + for (k = 0; k < N-1; k++) { + y += x[k + 1]; + } + + return y; +} + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.h new file mode 100755 index 000000000..daff76fdf --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.h @@ -0,0 +1,18 @@ + +#ifndef SUM_H +#define SUM_H + +/* Include files */ +#include <stddef.h> +#ifndef PLATFORM_RTOS +#include <stdlib.h> +#endif +#include "tmwtypes.h" + +/* Function Declarations */ +extern creal32_T b_sum(const creal32_T x_data[], const int x_size[1]); +extern float c_sum(const float x[], int N); + +#endif + + diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.o b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/sum.o new file mode 100644 index 0000000000000000000000000000000000000000..1ef5bc8c841b46a71481c634e33bf55aeb2c51a3 GIT binary patch literal 5588 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 MGn{AoION3pC)oW7n*aa+ literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/tmwtypes.h b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/tmwtypes.h new file mode 100755 index 000000000..1f98a64a7 --- /dev/null +++ b/freertos/cvitek/task/audio/src/SSP_Algorithm_20220128/tmwtypes.h @@ -0,0 +1,825 @@ + +#if defined(_MSC_VER) +# pragma once +#endif +#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3)) +# pragma once +#endif + +#ifndef TMWTYPES_H +#define TMWTYPES_H +/* + * File : tmwtypes.h + * Abstract: + * Data types definition + * + * When compiling stand-alone model code, data types can be overridden + * via compiler switches. + * + * Define NO_FLOATS to eliminate reference to real_T, etc. + */ + +#include <limits.h> + +#ifdef __APPLE_CC__ +#include <stdbool.h> +#endif + +#define LOGICAL_IS_A_TYPE +#define SPARSE_GENERALIZATION + +#ifdef NO_FLOATS +# define double double_not_allowed +# define float float_not_allowed +#endif /*NO_FLOATS*/ + +#ifndef NO_FLOATS + +#ifndef __MWERKS__ +# ifdef __STDC__ +# include <float.h> +# else +# define FLT_MANT_DIG 24 +# define DBL_MANT_DIG 53 +# endif +#endif + +#endif /*NO_FLOATS*/ + +/* + * The following data types cannot be overridden when building MEX files. + */ +#ifdef MATLAB_MEX_FILE +# undef CHARACTER_T +# undef INTEGER_T +# undef BOOLEAN_T +# undef REAL_T +# undef TIME_T +#endif + +/* + * The uchar_T, ushort_T and ulong_T types are needed for compilers which do + * not allow defines to be specified, at the command line, with spaces in them. + */ + +typedef unsigned char uchar_T; +typedef unsigned short ushort_T; +typedef unsigned long ulong_T; + +#if (defined(_MSC_VER) && _MSC_VER >= 1500) \ + || defined(__x86_64__) || defined(__LP64__) \ + || defined(__LCC64__) + +typedef unsigned long long ulonglong_T; +#endif + + + +/*=======================================================================* + * Fixed width word size data types: * + * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * + * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * + * real32_T, real64_T - 32 and 64 bit floating point numbers * + *=======================================================================*/ + +/* When used with Real Time Workshop generated code, this + * header file can be used with a variety of compilers. + * + * The compiler could be for an 8 bit embedded processor that + * only had 8 bits per integer and 16 bits per long. + * In that example, a 32 bit integer size is not even available. + * This header file should be robust to that. + * + * For the case of an 8 bit processor, the preprocessor + * may be limited to 16 bit math like its target. That limitation + * would mean that 32 bit comparisons can't be done accurately. + * To increase robustness to this, comparisons are done against + * smaller values first. An inaccurate 32 bit comparison isn't + * attempted if the 16 bit comparison has already succeeded. + * + * Limitations on preprocessor math can also be stricter than + * for the target. There are known cases where a compiler + * targeting processors with 64 bit longs can't do accurate + * preprocessor comparisons on more than 32 bits. + */ + +/* Determine the number of bits for int, long, short, and char. + * If one fails to be determined, set the number of bits to -1 + */ + +#ifndef TMW_BITS_PER_INT +# if INT_MAX == 0x7FL +# define TMW_BITS_PER_INT 8 +# elif INT_MAX == 0x7FFFL +# define TMW_BITS_PER_INT 16 +# elif INT_MAX == 0x7FFFFFFFL +# define TMW_BITS_PER_INT 32 +# else +# define TMW_BITS_PER_INT -1 +# endif +#endif + +#ifndef TMW_BITS_PER_LONG +# if LONG_MAX == 0x7FL +# define TMW_BITS_PER_LONG 8 +# elif LONG_MAX == 0x7FFFL +# define TMW_BITS_PER_LONG 16 +# elif LONG_MAX == 0x7FFFFFFFL +# define TMW_BITS_PER_LONG 32 +# else +# define TMW_BITS_PER_LONG -1 +# endif +#endif + +#ifndef TMW_BITS_PER_SHRT +# if SHRT_MAX == 0x7FL +# define TMW_BITS_PER_SHRT 8 +# elif SHRT_MAX == 0x7FFFL +# define TMW_BITS_PER_SHRT 16 +# elif SHRT_MAX == 0x7FFFFFFFL +# define TMW_BITS_PER_SHRT 32 +# else +# define TMW_BITS_PER_SHRT -1 +# endif +#endif + +#ifndef TMW_BITS_PER_SCHAR +# if SCHAR_MAX == 0x7FL +# define TMW_BITS_PER_SCHAR 8 +# elif SCHAR_MAX == 0x7FFFL +# define TMW_BITS_PER_SCHAR 16 +# elif SCHAR_MAX == 0x7FFFFFFFL +# define TMW_BITS_PER_SCHAR 32 +# else +# define TMW_BITS_PER_SCHAR -1 +# endif +#endif + +#ifndef TMW_CHAR_SIGNED +# if SCHAR_MAX == CHAR_MAX +# define TMW_CHAR_SIGNED 1 +# else +# define TMW_CHAR_SIGNED 0 +# endif +#endif + +/* It is common for one or more of the integer types + * to be the same size. For example, on many embedded + * processors, both shorts and ints are 16 bits. On + * processors used for workstations, it is quite common + * for both int and long to be 32 bits. + * When there is more than one choice for typdef'ing + * a portable type like int16_T or uint32_T, in + * concept, it should not matter which choice is made. + * However, some style guides and some code checking + * tools do identify and complain about seemingly + * irrelevant differences. For example, a code + * checking tool may complain about an implicit + * conversion from int to short even though both + * are 16 bits. To reduce these types of + * complaints, it is best to make int the + * preferred choice when more than one is available. + */ + +#ifndef INT8_T +# if TMW_BITS_PER_INT == 8 +# define INT8_T int +# elif TMW_BITS_PER_LONG == 8 +# define INT8_T long +# elif TMW_BITS_PER_SCHAR == 8 +# define INT8_T signed char +# elif TMW_BITS_PER_SHRT == 8 +# define INT8_T short +# endif +#endif +#ifdef INT8_T + typedef INT8_T int8_T; +#endif + +#ifndef UINT8_T +# if TMW_BITS_PER_INT == 8 +# define UINT8_T unsigned int +# elif TMW_BITS_PER_LONG == 8 +# define UINT8_T unsigned long +# elif TMW_BITS_PER_SCHAR == 8 +# define UINT8_T unsigned char +# elif TMW_BITS_PER_SHRT == 8 +# define UINT8_T unsigned short +# endif +#endif +#ifdef UINT8_T + typedef UINT8_T uint8_T; +#endif + + +#ifndef INT16_T +# if TMW_BITS_PER_INT == 16 +# define INT16_T int +# elif TMW_BITS_PER_LONG == 16 +# define INT16_T long +# elif TMW_BITS_PER_SCHAR == 16 +# define INT16_T signed char +# elif TMW_BITS_PER_SHRT == 16 +# define INT16_T short +# endif +#endif +#ifdef INT16_T + typedef INT16_T int16_T; +#endif + + +#ifndef UINT16_T +# if TMW_BITS_PER_INT == 16 +# define UINT16_T unsigned int +# elif TMW_BITS_PER_LONG == 16 +# define UINT16_T unsigned long +# elif TMW_BITS_PER_SCHAR == 16 +# define UINT16_T unsigned char +# elif TMW_BITS_PER_SHRT == 16 +# define UINT16_T unsigned short +# endif +#endif +#ifdef UINT16_T + typedef UINT16_T uint16_T; +#endif + + +#ifndef INT32_T +# if TMW_BITS_PER_INT == 32 +# define INT32_T int +# elif TMW_BITS_PER_LONG == 32 +# define INT32_T long +# elif TMW_BITS_PER_SCHAR == 32 +# define INT32_T signed char +# elif TMW_BITS_PER_SHRT == 32 +# define INT32_T short +# endif +#endif +#ifdef INT32_T + typedef INT32_T int32_T; +#endif + + +#ifndef UINT32_T +# if TMW_BITS_PER_INT == 32 +# define UINT32_T unsigned int +# elif TMW_BITS_PER_LONG == 32 +# define UINT32_T unsigned long +# elif TMW_BITS_PER_SCHAR == 32 +# define UINT32_T unsigned char +# elif TMW_BITS_PER_SHRT == 32 +# define UINT32_T unsigned short +# endif +#endif +#ifdef UINT32_T + typedef UINT32_T uint32_T; +#endif + +/* The following is used to emulate smaller integer types when only + * larger types are available. For example, compilers for TI C3x/C4x DSPs + * define char and short to be 32 bits, so 8 and 16 bits are not directly + * available. This target is commonly used with RTW rapid prototyping. + * Other DSPs define char to be 16 bits, so 8 bits is not directly + * available. + */ +#ifndef INT8_T +# ifdef INT16_T +# define INT8_T INT16_T + typedef INT8_T int8_T; +# else +# ifdef INT32_T +# define INT8_T INT32_T + typedef INT8_T int8_T; +# endif +# endif +#endif + +#ifndef UINT8_T +# ifdef UINT16_T +# define UINT8_T UINT16_T + typedef UINT8_T uint8_T; +# else +# ifdef UINT32_T +# define UINT8_T UINT32_T + typedef UINT8_T uint8_T; +# endif +# endif +#endif + +#ifndef INT16_T +# ifdef INT32_T +# define INT16_T INT32_T + typedef INT16_T int16_T; +# endif +#endif + +#ifndef UINT16_T +# ifdef UINT32_T +# define UINT16_T UINT32_T + typedef UINT16_T uint16_T; +# endif +#endif + + +#ifndef NO_FLOATS + +#ifndef REAL32_T +# ifndef __MWERKS__ +# if FLT_MANT_DIG >= 23 +# define REAL32_T float +# endif +# else +# define REAL32_T float +# endif +#endif +#ifdef REAL32_T + typedef REAL32_T real32_T; +#endif + + +#ifndef REAL64_T +# ifndef __MWERKS__ +# if DBL_MANT_DIG >= 52 +# define REAL64_T double +# endif +# else +# define REAL64_T double +# endif +#endif +#ifdef REAL64_T + typedef REAL64_T real64_T; +#endif + +#endif /* NO_FLOATS*/ + +/*=======================================================================* + * Fixed width word size data types: * + * int64_T - signed 64 bit integers * + * uint64_T - unsigned 64 bit integers * + *=======================================================================*/ + + + +#ifndef INT64_T +# if defined(__APPLE__) +# define INT64_T long long +# define FMT64 "ll" +# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG) +# define INT_TYPE_64_IS_LONG +# endif +# elif (defined(__x86_64__) || defined(__LP64__))&& !defined(__MINGW64__) +# define INT64_T long +# define FMT64 "l" +# if !defined(INT_TYPE_64_IS_LONG) +# define INT_TYPE_64_IS_LONG +# endif +# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \ + || (defined(__WATCOMC__) && __WATCOMC__ >= 1100) +# define INT64_T __int64 +# define FMT64 "I64" +# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \ + || defined(__LCC64__) +# define INT64_T long long +# define FMT64 "ll" +# endif +#endif + + + +#if defined(INT64_T) +# if defined(__GNUC__) && \ + ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9))) + __extension__ +# endif + typedef INT64_T int64_T; +#endif + + + +#ifndef UINT64_T +# if defined(__APPLE__) +# define UINT64_T unsigned long long +# define FMT64 "ll" +# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG) +# define INT_TYPE_64_IS_LONG +# endif +# elif (defined(__x86_64__) || defined(__LP64__))&& !defined(__MINGW64__) +# define UINT64_T unsigned long +# define FMT64 "l" +# if !defined(INT_TYPE_64_IS_LONG) +# define INT_TYPE_64_IS_LONG +# endif +# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \ + || (defined(__WATCOMC__) && __WATCOMC__ >= 1100) +# define UINT64_T unsigned __int64 +# define FMT64 "I64" +# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \ + || defined(__LCC64__) +# define UINT64_T unsigned long long +# define FMT64 "ll" +# endif +#endif + +#if defined(_WIN64) || (defined(__APPLE__) && defined(__LP64__)) \ + || defined(__x86_64__) \ + || defined(__LP64__) +# define INT_TYPE_64_IS_SUPPORTED +#endif + +#if defined(UINT64_T) +# if defined(__GNUC__) && \ + ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9))) + __extension__ +# endif + typedef UINT64_T uint64_T; +#endif + +/*===========================================================================* + * Format string modifiers for using size_t variables in printf statements. * + *===========================================================================*/ + +#ifndef FMT_SIZE_T +# if (defined( __GNUC__ ) || defined(_STDC_C99))&& !defined(__MINGW64__) +# define FMT_SIZE_T "z" +# elif defined (__WATCOMC__) +# define FMT_SIZE_T "l" +# elif defined (_WIN32 ) +# define FMT_SIZE_T "I" +# else +# define FMT_SIZE_T "l" +# endif +#endif + +#ifndef FMT_PTRDIFF_T +# if defined(__APPLE__) +# define FMT_PTRDIFF_T "l" +# elif defined( __GNUC__ ) || defined(_STDC_C99) +# define FMT_PTRDIFF_T "t" +# elif defined (__WATCOMC__) +# define FMT_PTRDIFF_T "l" +# elif defined (_WIN32 ) +# define FMT_PTRDIFF_T "I" +# else +# define FMT_PTRDIFF_T "l" +# endif +#endif + +/*===========================================================================* + * General or logical data types where the word size is not guaranteed. * + * real_T - possible settings include real32_T or real64_T * + * time_T - possible settings include real32_T or real64_T * + * boolean_T * + * char_T * + * int_T * + * uint_T * + * byte_T * + *===========================================================================*/ + +#ifndef NO_FLOATS + +#ifndef REAL_T +# ifdef REAL64_T +# define REAL_T real64_T +# else +# ifdef REAL32_T +# define REAL_T real32_T +# endif +# endif +#endif +#ifdef REAL_T + typedef REAL_T real_T; +#endif + +#ifndef TIME_T +# ifdef REAL_T +# define TIME_T real_T +# endif +#endif +#ifdef TIME_T + typedef TIME_T time_T; +#endif + +#endif /* NO_FLOATS */ + +#ifndef BOOLEAN_T +# if defined(UINT8_T) +# define BOOLEAN_T UINT8_T +# else +# define BOOLEAN_T unsigned int +# endif +#endif +typedef BOOLEAN_T boolean_T; + + +#ifndef CHARACTER_T +# define CHARACTER_T char +#endif +typedef CHARACTER_T char_T; + + +#ifndef INTEGER_T +# define INTEGER_T int +#endif +typedef INTEGER_T int_T; + + +#ifndef UINTEGER_T +# define UINTEGER_T unsigned +#endif +typedef UINTEGER_T uint_T; + + +#ifndef BYTE_T +# define BYTE_T unsigned char +#endif +typedef BYTE_T byte_T; + + +/*===========================================================================* + * Define Complex Structures * + *===========================================================================*/ +#ifndef NO_FLOATS + +#ifndef CREAL32_T +# ifdef REAL32_T + typedef struct { + real32_T re, im; + } creal32_T; +# define CREAL32_T creal32_T +# endif +#endif + +#ifndef CREAL64_T +# ifdef REAL64_T + typedef struct { + real64_T re, im; + } creal64_T; +# define CREAL64_T creal64_T +# endif +#endif + +#ifndef CREAL_T +# ifdef REAL_T + typedef struct { + real_T re, im; + } creal_T; +# define CREAL_T creal_T +# endif +#endif + +#endif /* NO_FLOATS */ + +#ifndef CINT8_T +# ifdef INT8_T + typedef struct { + int8_T re, im; + } cint8_T; +# define CINT8_T cint8_T +# endif +#endif + +#ifndef CUINT8_T +# ifdef UINT8_T + typedef struct { + uint8_T re, im; + } cuint8_T; +# define CUINT8_T cuint8_T +# endif +#endif + +#ifndef CINT16_T +# ifdef INT16_T + typedef struct { + int16_T re, im; + } cint16_T; +# define CINT16_T cint16_T +# endif +#endif + +#ifndef CUINT16_T +# ifdef UINT16_T + typedef struct { + uint16_T re, im; + } cuint16_T; +# define CUINT16_T cuint16_T +# endif +#endif + +#ifndef CINT32_T +# ifdef INT32_T + typedef struct { + int32_T re, im; + } cint32_T; +# define CINT32_T cint32_T +# endif +#endif + +#ifndef CUINT32_T +# ifdef UINT32_T + typedef struct { + uint32_T re, im; + } cuint32_T; +# define CUINT32_T cuint32_T +# endif +#endif + +#ifndef CINT64_T +# ifdef INT64_T + typedef struct { + int64_T re, im; + } cint64_T; +# define CINT64_T cint64_T +# endif +#endif + +#ifndef CUINT64_T +# ifdef UINT64_T + typedef struct { + uint64_T re, im; + } cuint64_T; +# define CUINT64_T cuint64_T +# endif +#endif + +/*=======================================================================* + * Min and Max: * + * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * + * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * + *=======================================================================*/ + +#define MAX_int8_T ((int8_T)(127)) /* 127 */ +#define MIN_int8_T ((int8_T)(-128)) /* -128 */ +#define MAX_uint8_T ((uint8_T)(255)) /* 255 */ +#define MIN_uint8_T ((uint8_T)(0)) + +#define MAX_int16_T ((int16_T)(32767)) /* 32767 */ +#define MIN_int16_T ((int16_T)(-32768)) /* -32768 */ +#define MAX_uint16_T ((uint16_T)(65535)) /* 65535 */ +#define MIN_uint16_T ((uint16_T)(0)) + +#define MAX_int32_T ((int32_T)(2147483647)) /* 2147483647 */ +#define MIN_int32_T ((int32_T)(-2147483647-1)) /* -2147483648 */ +#define MAX_uint32_T ((uint32_T)(0xFFFFFFFFU)) /* 4294967295 */ +#define MIN_uint32_T ((uint32_T)(0)) + +#if defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \ + || (defined(__WATCOMC__) && __WATCOMC__ >= 1100) \ + || defined(__LCC64__) +# ifdef INT64_T +# define MAX_int64_T ((int64_T)(9223372036854775807LL)) +# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL)) +# endif +# ifdef UINT64_T +# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL)) +# define MIN_uint64_T ((uint64_T)(0)) +# endif +#else +# ifdef INT64_T +# ifdef INT_TYPE_64_IS_LONG +# define MAX_int64_T ((int64_T)(9223372036854775807L)) +# define MIN_int64_T ((int64_T)(-9223372036854775807L-1L)) +# else +# define MAX_int64_T ((int64_T)(9223372036854775807LL)) +# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL)) +# endif +# endif +# ifdef UINT64_T +# ifdef INT_TYPE_64_IS_LONG +# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFUL)) +# define MIN_uint64_T ((uint64_T)(0)) +# else +# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL)) +# define MIN_uint64_T ((uint64_T)(0)) +# endif +# endif +#endif + +#ifdef _MSC_VER +/* Conversion from unsigned __int64 to double is not implemented in windows + * and results in a compile error, thus the value must first be cast to + * signed __int64, and then to double. + * + * If the 64 bit int value is greater than 2^63-1, which is the signed int64 max, + * the macro below provides a workaround for casting a uint64 value to a double + * in windows. + */ +# define uint64_to_double(u) ( ((u) > _I64_MAX) ? \ + (double)(__int64)((u) - _I64_MAX - 1) + (double)_I64_MAX + 1: \ + (double)(__int64)(u) ) + +/* The following inline function should only be used in the macro double_to_uint64, + * as it only handles the specfic range of double between 2^63 and 2^64-1 */ +__forceinline +uint64_T double_to_uint64_helper(double d) { + union double_to_uint64_union_type { + double dd; + uint64_T i64; + } di; + di.dd = d; + return (((di.i64 & 0x000fffffffffffff) | 0x0010000000000000) << 11); +} + +/* The largest double value that can be cast to uint64 in windows is the + * signed int64 max, which is 2^63-1. The macro below provides + * a workaround for casting large double values to uint64 in windows. + */ +/* The magic number 18446744073709551616.0 is 2^64 */ +/* The magic number 9223372036854775808.0 is 2^63 */ +# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \ + 0xffffffffffffffffULL : \ + ((d) >= 0.0) ? \ + ((d) >= 9223372036854775808.0) ? \ + double_to_uint64_helper(d) : \ + (unsigned __int64)(d) : \ + 0ULL ) +#else +# define uint64_to_double(u) ((double)(u)) +# if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__TICCSC__) +/* double_to_uint64 defined only for MSVC and UNIX */ +# else +# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \ + (unsigned long long) 0xffffffffffffffffULL : \ + ((d) >= 0) ? (unsigned long long)(d) : (unsigned long long) 0 ) +# endif +#endif + +#if !defined(__cplusplus) && !defined(__bool_true_false_are_defined) + +#ifndef _bool_T +#define _bool_T + +typedef boolean_T bool; + +#ifndef false +#define false (0) +#endif +#ifndef true +#define true (1) +#endif + +#endif /* _bool_T */ + +#endif /* !__cplusplus */ + +/* + * This software assumes that the code is being compiled on a target using a + * 2's complement representation for signed integer values. + */ +#if ((SCHAR_MIN + 1) != -SCHAR_MAX) +#error "This code must be compiled using a 2's complement representation for signed integer values" +#endif + +/* + * Maximum length of a identifier (function/variable/model) + * including the null-termination character. + */ +#define TMW_NAME_LENGTH_MAX 64 + +/* + * Maximum values for indices and dimensions + */ +#include <stddef.h> + +#ifdef MX_COMPAT_32 +typedef int mwSize; +typedef int mwIndex; +typedef int mwSignedIndex; +#else +typedef size_t mwSize; /* unsigned pointer-width integer */ +typedef size_t mwIndex; /* unsigned pointer-width integer */ +typedef ptrdiff_t mwSignedIndex; /* a signed pointer-width integer */ +#endif + +typedef int SLIndex; +typedef int SLSize; + +#if (defined(_LP64) || defined(_WIN64)) && !defined(MX_COMPAT_32) +/* Currently 2^48 based on hardware limitations */ +# define MWSIZE_MAX 281474976710655UL +# define MWINDEX_MAX 281474976710655UL +# define MWSINDEX_MAX 281474976710655L +# define MWSINDEX_MIN -281474976710655L +#else +# define MWSIZE_MAX 2147483647UL +# define MWINDEX_MAX 2147483647UL +# define MWSINDEX_MAX 2147483647L +# define MWSINDEX_MIN -2147483647L +#endif +#define MWSIZE_MIN 0UL +#define MWINDEX_MIN 0UL + +/** UTF-16 character type */ + +#if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT) +typedef char16_t CHAR16_T; +#define U16_STRING_LITERAL_PREFIX u +#elif defined(_MSC_VER) +typedef wchar_t CHAR16_T; +#define U16_STRING_LITERAL_PREFIX L +#else +typedef UINT16_T CHAR16_T; +#endif + +#endif /* TMWTYPES_H */ + + diff --git a/freertos/cvitek/task/audio/src/riscv64/audio_main.c b/freertos/cvitek/task/audio/src/riscv64/audio_main.c new file mode 100644 index 000000000..a9e532dc1 --- /dev/null +++ b/freertos/cvitek/task/audio/src/riscv64/audio_main.c @@ -0,0 +1,690 @@ +/* Standard includes. */ +#include <stdio.h> +//#include <stdlib.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "malloc.h" +#include "sleep.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "arch_helpers.h" +/* audio only */ +#ifdef AUDIO_UNIT_TEST +#include "ssp_unit_test.h" +#endif +#include "cviaudio_rtos_cmd.h" +#include "cvi_comm_aio.h" +#include "comm.h" +#include "cviaudio_algo_interface.h" +#include "cviaudio_rtos_align.h" +/*define the audio print macro---------*/ +#define __AUDIO_LOG_ON__ +#define AUD_RTOS_LOG_LEVEL 0 + +#ifdef __AUDIO_LOG_ON__ +#define aud_printf printf +#else +#define aud_printf(...) +#endif + +#define aud_error(fmt, args...) \ + do { \ + if (AUD_RTOS_LOG_LEVEL >= 0) \ + aud_printf("[audio][rtos][error]<%s,%d> "fmt, __func__, __LINE__, ##args);\ + } while (0) + +#define aud_info(fmt, args...) \ + do { \ + if (AUD_RTOS_LOG_LEVEL >= 1) \ + aud_printf("[audio][rtos][info]<%s,%d> "fmt, __func__, __LINE__, ##args);\ + } while (0) +#define aud_debug(fmt, args...) \ + do { \ + if (AUD_RTOS_LOG_LEVEL >= 2) \ + aud_printf("[rtos][v]<%s,%d> "fmt, __func__, __LINE__, ##args);\ + } while (0) + +/*define the audio SSP CMD---------------end*/ +QueueHandle_t xQueueAudio; +QueueHandle_t xQueueAudioCmdqu; +int unit_test_triggered = 0; +unsigned char ssp_running = 0; +void *paudio_ssp_handle = NULL; +void *paudio_ssp_spk_handle = NULL; +//for ssp parameters after ssp_init +AI_TALKVQE_CONFIG_S *pstVqeConfig = NULL; +ST_SSP_RTOS_INDICATOR *pindicator = NULL; +ST_SSP_BUFTBL *pstSspBufTbl = NULL; +//for block mode global variables +void *paudio_ssp_block = NULL; + +#define CVIAUDIO_BASIC_AEC_LENGTH 160 +#ifndef CVIAUDIO_BYTES_PER_SAMPLE +#define CVIAUDIO_BYTES_PER_SAMPLE 2 +#endif + +#define CVIAUDIO_DUMP_PARAM 1 + +//#define AUDIO_MEASURE_3A_LOADING + +#ifndef CVIAUDIO_CHECK_NULL +#define CVIAUDIO_CHECK_NULL(ptr) \ + do { \ + if (!(ptr)) { \ + printf("func:%s,line:%d, NULL pointer\n", __func__, __LINE__); \ + } \ + } while (0) +#endif +// just to build & compiler venc sdk, do not need run this +__attribute__((optimize("-O0"))) void cvi_audio_init_test(void) +{ + + aud_printf("Enter cvitek audio ssp algorithm test mode\n"); + if (unit_test_triggered == 1) { + //already trigger + return; + + } else { + aud_printf("audio_ssp first trigger test begin.....!!!\n"); + aud_printf("audio_ssp first trigger test end!\n"); + unit_test_triggered = 1; + } +} + +static void _cviaudio_clear_cmdq(cmdqu_t *p_cmdqu) +{ + if (p_cmdqu == NULL) + return; + + p_cmdqu->ip_id = -1; + p_cmdqu->cmd_id = -1; + p_cmdqu->param_ptr = -1; +} + +static unsigned char _audio_task_check_ssp_proc_data_valid(ST_SSP_RTOS_INDICATOR *pIndicator) +{ + unsigned char ret = 1; + unsigned char check_val = 1; + + if (!pIndicator) { + aud_error("[error][rtos][audio_task]Null pt detect in proc data...\n"); + return 0; + } + + if (pIndicator->channel_nums > 2 || pIndicator->channel_nums < 1) { + check_val = 0; + aud_error("[error][rtos][audio_task]channel numbers[%d] invalid\n", + pIndicator->channel_nums); + } + + if (pIndicator->chunks_number <= 0 || + pIndicator->chunks_number > CVIAUDIO_SSP_CHUNK_NUMBERS) { + check_val = 0; + aud_error("[error][rtos][audio_task]invalid chunks_number[%d]\n", + pIndicator->chunks_number); + } + + if (pIndicator->Wpt_index > CVIAUDIO_SSP_CHUNK_NUMBERS) { + check_val = 0; + aud_error("[error][rtos][audio_task]wpt_index invalid range[%d]\n", + pIndicator->Wpt_index); + } + + if (!pIndicator->ssp_on) { + check_val = 0; + aud_error("[error][rtos][audio_task]ssp_on invalid[%d]\n", + pIndicator->ssp_on); + } + return (ret&check_val); + +} +void prvAudioRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + unsigned char ret_val; + //ST_SSP_BUFTBL *pstSspBufTbl;//for unit test mode + unsigned int prev_msg_counter = -1;//counter to check the package from cviaudio_core.ko to rtos + //for spk out algorithm + ST_SSP_RTOS_SPK_DATA_RET *pSpkSspRtosData_Ret; + #ifdef AUDIO_UNIT_TEST + cmdqu_t rtos_cmdq_back2Kernel; + #endif + + #ifdef AUDIO_MEASURE_3A_LOADING + TickType_t xTimer3AProcStart; + TickType_t xTimer3AProcEnd; + static int frame_count; + static int total_diff; + #endif + + cvi_audio_init_test(); + printf("pAudioRunTask run Version:20220519\n"); + + xQueueAudioCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + xQueueAudio = main_GetMODHandle(E_QUEUE_AUDIO); + + for (;;) { + xQueueReceive(xQueueAudio, &rtos_cmdq, portMAX_DELAY); + + aud_info("prvAudioRunTask_cmd ip=%d cmd=%d para=%x\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id != IP_AUDIO) { + //send back the err msg + aud_error("invalid ip_id[%d] into AudioRunTask\n", rtos_cmdq.ip_id); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + goto LEAVE_AUDIO_RUN_TASK; + } + + if (rtos_cmdq.cmd_id > CVIAUDIO_RTOS_CMD_SSP_MAX) { + aud_error("invalid cmd[%d]...\n", rtos_cmdq.cmd_id); + goto LEAVE_AUDIO_RUN_TASK; + } + + + + //printf("rtos_cmdq.cmd_id[%d]\n", rtos_cmdq.cmd_id); + switch (rtos_cmdq.cmd_id) { + case CVIAUDIO_RTOS_CMD_SSP_INIT: + { + aud_info("CVIAUDIO_RTOS_CMD_SSP_INIT\n"); + ST_CVIAUDIO_MAILBOX *gpstCviaudioMailBox= (ST_CVIAUDIO_MAILBOX *)rtos_cmdq.param_ptr; + + inv_dcache_range((uintptr_t)gpstCviaudioMailBox, sizeof(ST_CVIAUDIO_MAILBOX)); + aud_debug("CVIAUDIO_RTOS_CMD_SSP_INIT free_rtos addrPhy[0x%x]\n", rtos_cmdq.param_ptr); + aud_debug("magic word[0x%lx]\n", gpstCviaudioMailBox->u64RevMask); + if (gpstCviaudioMailBox->u64RevMask == CVIAUDIO_RTOS_MAGIC_WORD_KERNEL_BIND_MODE) { + pstVqeConfig = (AI_TALKVQE_CONFIG_S *)gpstCviaudioMailBox->AinVqeCfgPhy; + pstSspBufTbl = (ST_SSP_BUFTBL *)gpstCviaudioMailBox->buffertblPhy; + pindicator = (ST_SSP_RTOS_INDICATOR *)gpstCviaudioMailBox->indicatorPhy; + aud_debug("[SSP_INIT]show phy address vqe[0x%p] bufTbl[0x%p] indicator[0x%p]\n", + pstVqeConfig, pstSspBufTbl, pindicator); + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->AinVqeCfgPhy, + sizeof(AI_TALKVQE_CONFIG_S)); + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->buffertblPhy, + sizeof(ST_SSP_BUFTBL)); + inv_dcache_range((uintptr_t)gpstCviaudioMailBox->indicatorPhy, + sizeof(ST_SSP_RTOS_INDICATOR)); + aud_debug("[SSP_INIT]inv dcache ...done!!\n"); + + } else { + aud_error("[SSP]ERROR [%s][%d]...force break\n", __func__, __LINE__); + break; + } + //dump out the vqe config ------------------------------------------start + aud_debug("SSP_INIT dump-----------------------------------------------------\n"); + aud_debug("para_client_config[%d]\n", pstVqeConfig->para_client_config); + aud_debug("u32OpenMask[0x%x]\n", pstVqeConfig->u32OpenMask); + aud_debug("s32WorkSampleRate[%d]\n", pstVqeConfig->s32WorkSampleRate); + aud_debug("stAecCfg.para_aec_filter_len[%d]\n", pstVqeConfig->stAecCfg.para_aec_filter_len); + aud_debug("stAecCfg.para_aes_std_thrd[%d]\n", pstVqeConfig->stAecCfg.para_aes_std_thrd); + aud_debug("stAecCfg.para_aes_supp_coeff[%d]\n", pstVqeConfig->stAecCfg.para_aes_supp_coeff); + aud_debug("SSP_INIT dump-----------------------------------------------------[end]\n"); + //dump out the vqe config -------------------------------------------end + if (paudio_ssp_handle != NULL) { + aud_error("Warning ssp audio handle is not NULL\n"); + } + paudio_ssp_handle = CviAud_Algo_Init(pstVqeConfig->u32OpenMask, pstVqeConfig); + if (paudio_ssp_handle == NULL) { + aud_error("get null pt in init ssp\n"); + } else + ssp_running = 1; + + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_DEINIT: + { + aud_info("CVIAUDIO_RTOS_CMD_SSP_DEINIT\n"); + if (paudio_ssp_handle == NULL) { + aud_error("Error cannot de-init null pt\n"); + } else { + CviAud_Algo_DeInit(paudio_ssp_handle); + paudio_ssp_handle = NULL; + } + ssp_running = 0; + rtos_cmdq.ip_id = IP_AUDIO; + rtos_cmdq.cmd_id = CVIAUDIO_RTOS_CMD_SSP_DEINIT; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_PROCESS: + { + aud_info("CVIAUDIO_RTOS_CMD_SSP_PROCESS\n"); + if (paudio_ssp_handle == NULL || pstSspBufTbl == NULL) { + aud_error("Error cannot process with NULL handle[%s][%d]\n", __func__, __LINE__); + break; + + } else { + do { + ret_val = _audio_task_check_ssp_proc_data_valid(pindicator); + if (!ret_val) { + aud_error("Error[%s][%d]..force break!!\n", __func__, __LINE__); + break; + } + + //if ((pindicator->msg_counter == prev_msg_counter) && (repeat_cnt < 100)) { + if ((pindicator->msg_counter == prev_msg_counter)) { + aud_error("[audio_task] counter same[%d][%d]\n", + prev_msg_counter, pindicator->msg_counter); + + inv_dcache_range((uintptr_t)pindicator, sizeof(ST_SSP_RTOS_INDICATOR)); + inv_dcache_range((uintptr_t)pstSspBufTbl, + sizeof(ST_SSP_BUFTBL) * CVIAUDIO_SSP_CHUNK_NUMBERS); + if (pindicator) { + if (pindicator->chunks_number >= 5) + vTaskDelay(pdMS_TO_TICKS(10)); + else if (pindicator->chunks_number >= 3) + vTaskDelay(pdMS_TO_TICKS(5)); + else + usleep(3000); + } + } + + //start process the data with the physical table: pstSspBufTbl + unsigned char bCheck_input_full = 1; + unsigned char cur_pt, proc_pkt_cnt, target_pkt_cnt, chn_num; + + proc_pkt_cnt = 0; + target_pkt_cnt = pindicator->chunks_number; + cur_pt = pindicator->Ppt_index; + chn_num = pindicator->channel_nums; + + + while (proc_pkt_cnt < target_pkt_cnt) { + if (pstSspBufTbl[cur_pt].bBufOccupy != CVIAUDIO_BUF_TBL_INPUT) { + bCheck_input_full = 0; + inv_dcache_range((uintptr_t)pindicator, sizeof(ST_SSP_RTOS_INDICATOR)); + inv_dcache_range((uintptr_t)pstSspBufTbl, + sizeof(ST_SSP_BUFTBL) * CVIAUDIO_SSP_CHUNK_NUMBERS); + break; + } + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + proc_pkt_cnt += 1; + } + cur_pt = pindicator->Ppt_index; + chn_num = pindicator->channel_nums; + proc_pkt_cnt = 0; + while ((proc_pkt_cnt != target_pkt_cnt) && (bCheck_input_full)) { + if (chn_num == 2 || pindicator->ssp_with_aec) { + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + pstSspBufTbl[cur_pt].mic_in_addr, + pstSspBufTbl[cur_pt].ref_in_addr, + pstSspBufTbl[cur_pt].output_addr, + CVIAUDIO_BASIC_AEC_LENGTH); + } else { + ret_val = CviAud_Algo_Process(paudio_ssp_handle, + pstSspBufTbl[cur_pt].mic_in_addr, + (uint64_t)NULL, + pstSspBufTbl[cur_pt].output_addr, + CVIAUDIO_BASIC_AEC_LENGTH); + } + if (ret_val <= 0) + aud_error("[audio_task]CviAudio_Algo_Process error!!!\n"); + else + pstSspBufTbl[cur_pt].bBufOccupy = CVIAUDIO_BUF_TBL_AFTER_SSP; + proc_pkt_cnt += 1; + cur_pt = (cur_pt + 1) % CVIAUDIO_SSP_CHUNK_NUMBERS; + if (proc_pkt_cnt > (CVIAUDIO_SSP_CHUNK_NUMBERS + 1)) { + aud_error("[audio_task]proc_pkt_cnt abnormal..[%d]\n", + proc_pkt_cnt); + break; + } + } + if (bCheck_input_full) { + pindicator->Ppt_index = cur_pt; + prev_msg_counter = pindicator->msg_counter; + pindicator->msg_counter += 1; + clean_dcache_range((uintptr_t)pindicator, + sizeof(ST_SSP_RTOS_INDICATOR)); + clean_dcache_range((uintptr_t)pstSspBufTbl, + sizeof(ST_SSP_BUFTBL) * CVIAUDIO_SSP_CHUNK_NUMBERS); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + } while ((ret_val > 0) && ssp_running); + } + } + break; + case CVIAUDIO_RTOS_CMD_SSP_SPK_INIT: + { + //TODO: remain only mic in algo + rtos_cmdq.cmd_id = CVIAUDIO_RTOS_CMD_SSP_SPK_INIT; + rtos_cmdq.ip_id = IP_AUDIO; + //rtos_cmdq.param_ptr = p_ret_status; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_SPK_DEINIT: + { + //TODO: remain only mic in algo + rtos_cmdq.ip_id = IP_AUDIO; + rtos_cmdq.cmd_id = CVIAUDIO_RTOS_CMD_SSP_SPK_DEINIT; + //rtos_cmdq.param_ptr = p_ret_status; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_SPK_PROCESS: + { + //TODO: remain only mic in algo + rtos_cmdq.ip_id = IP_AUDIO; + rtos_cmdq.cmd_id = CVIAUDIO_RTOS_CMD_SSP_SPK_PROCESS; + rtos_cmdq.param_ptr = pSpkSspRtosData_Ret; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_DEBUG: + { + //testing the mailbox transition + aud_info("Entering debug mode---------------------->>\n"); + + aud_info("Leaving debug mode<<----------------------\n"); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST_BLOCK_MODE_INIT: + { + //testing the mailbox transition + aud_info("RTOS_CMD_SSP_UNIT_TEST_BLOCK_MODE_INIT---------------------->>\n"); + #ifdef AUDIO_UNIT_TEST + SSP_Algorithm_Init(); + #endif + aud_info("[RTOS]Leaving CMD_SSP_UNIT_TEST_BLOCK_MODE_INIT<<-------------->>\n"); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + aud_info("[RTOS]Leaving\n"); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST_BLOCK_MODE_GET: + { + //testing the mailbox transition + int ret = 0; + uint64_t output_addr = rtos_cmdq.param_ptr; + + inv_dcache_range((uintptr_t)output_addr, 320); + aud_debug("dump 19 no critical / with o2/ with poshiun patch [0x%lx]\n", output_addr); + #ifdef USING_CRITICAL_PROTECT + taskENTER_CRITICAL(); + #endif + #ifdef AUDIO_UNIT_TEST + ret = SSP_Algorithm(1, NULL, output_addr); + #endif + if (ret == 0) { + aud_info("[Audio]Unit test file go to an end....finishedxxxxxxxxxxxxxxxxxxxx\n"); + break; + } else + aud_info("[Rtos][Audio]Unit test file going-------------------------------------->\n"); + #ifdef USING_CRITICAL_PROTECT + taskEXIT_CRITICAL(); + #endif + clean_dcache_range(output_addr, 320); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + + } + break; + case CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST: + { + //only support for mic in AEC unit test + aud_info("Enter CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST mode!!\n"); + aud_info("Keep sending back data to cviaudio_core irq_handler while occupied\n"); + #ifdef AUDIO_UNIT_TEST + int ret = 0; + unsigned char bCheck_input_full = 1; + unsigned char index = 0; + int count = 0; + unsigned int counter = 0; + #endif + ST_SSP_RTOS_INIT *pSspRtosCfg = rtos_cmdq.param_ptr; + aud_debug("[Rtos][Rtos space]s32RevMask[0x%x]\n",pSspRtosCfg->s32RevMask); + pstSspBufTbl = &pSspRtosCfg->buffertbl[0]; + pSpkSspRtosData_Ret = (ST_SSP_RTOS_SPK_DATA_RET *)pSspRtosCfg->CbPhyAddr; + aud_debug("[Rtos][Rtos_space]xxxpSspRtosCfg[0x%p]\n", pSspRtosCfg); + #if 0 + for (index = 0; index < CVIAUDIO_SSP_CHUNK_NUMBERS; index++) { + aud_debug("[Rtos]index[%d] occupy[%d] mic_in[0x%lx]\n", + index, + pSspRtosCfg->buffertbl[index].bBufOccupy, + pSspRtosCfg->buffertbl[index].mic_in_addr); + + } + #endif + aud_debug("[%s][%d]CbPhyAddr[0x%x]\n", + __func__, __LINE__, + pSspRtosCfg->CbPhyAddr); + aud_debug("pSpkSspRtosData_Ret[0%p]\n", pSpkSspRtosData_Ret); + #ifdef AUDIO_UNIT_TEST + SSP_Algorithm_Init(); + do { + for (index = 0; index < CVIAUDIO_SSP_CHUNK_NUMBERS; index++) { + #if 0 + aud_debug("index[%d] occupy[%d] mic_in[0x%lx]\n", index, pSspRtosCfg->buffertbl[index].bBufOccupy, pSspRtosCfg->buffertbl[index].mic_in_addr); + #endif + bCheck_input_full = bCheck_input_full*pSspRtosCfg->buffertbl[index].bBufOccupy; + if (!bCheck_input_full) { + //aud_debug("[Rtos][%s][%d]CbPhyAddr[0x%llx]xxxxxx\n", __func__, __LINE__, pSspRtosCfg->CbPhyAddr);// + inv_dcache_range((uintptr_t)pSspRtosCfg, sizeof(ST_SSP_RTOS_INIT)); + break; + } + } + if (bCheck_input_full) { + + for (index = 0; index < CVIAUDIO_SSP_CHUNK_NUMBERS; index++) { + pstSspBufTbl[index].bBufOccupy = 0; + ret = SSP_Algorithm(1, NULL, pstSspBufTbl[index].output_addr); + if (ret == 0) { + aud_info("Unit test file go to an end....finished\n"); + break; + } + } + //send back to cviaudio_core.ko since all chunks been process, and the + //occupy flag been pull to 0 + if (pSspRtosCfg->CbPhyAddr == 0) + aud_error("[Rtos][Error]Get physical address 000000\n"); + else { + + pSpkSspRtosData_Ret->cb_command = CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST; + pSpkSspRtosData_Ret->status = 1; + } + rtos_cmdq_back2Kernel.ip_id = IP_AUDIO; + rtos_cmdq_back2Kernel.cmd_id = CVIAUDIO_RTOS_CMD_SSP_UNIT_TEST; + rtos_cmdq_back2Kernel.param_ptr = pSpkSspRtosData_Ret; + rtos_cmdq_back2Kernel.resv.valid.linux_valid = 1; + rtos_cmdq_back2Kernel.resv.valid.rtos_valid = 0; + aud_debug("[Rtos][%s][%d]\n", __func__, __LINE__); + aud_debug("[Rtos]rtos_cmdq[%x]\n", rtos_cmdq.block); + aud_debug("[Rtos]rtos_cmdq linux_valid[%x]\n", rtos_cmdq.resv.valid.linux_valid); + aud_debug("[Rtos]rtos_cmdq rtos_valid[%x]\n", rtos_cmdq.resv.valid.rtos_valid); + aud_debug("[Rtos]rtos_cmdq[%x]\n", rtos_cmdq.param_ptr); + + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.block); + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.ip_id); + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.cmd_id); + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.resv.valid.linux_valid); + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.resv.valid.rtos_valid); + aud_debug("[Rtos]rtos_cmdq_back2Kernel[%x]\n", rtos_cmdq_back2Kernel.param_ptr); + + aud_debug("[Rtos][%s][%d]....flush\n", __func__, __LINE__); + clean_dcache_range(pSspRtosCfg, sizeof(ST_SSP_RTOS_INIT)); + aud_debug("[Rtos][flush_dcache_range][0x%lx][%d]....flush\n",pSspRtosCfg, sizeof(ST_SSP_RTOS_INIT)); + counter += 1; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + aud_debug("[Rtos][%s][%d]....xxxxxxxcounter[%d]\n", __func__, __LINE__, counter); + aud_debug("[Rtos]keep waiting....\n"); + } else { + //printf("[Rtos][%s][%d]index[%d]not full\n", __func__, __LINE__, index); + //count += 1; + //if (count % 1000000 == 0) { + // printf("[Rtos][%s][%d]out count[%d]index[%d]\n", __func__, __LINE__, count, index); + //} + } + bCheck_input_full = 1; //reset the check flag + + + } while (ret != 0); + #endif + aud_info("[Rtos]out\n"); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK: + { + aud_info("CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK\n"); + ST_CVIAUDIO_MAILBOX_BLOCK *pstAudBlockMailBox = + (ST_CVIAUDIO_MAILBOX_BLOCK *)rtos_cmdq.param_ptr; + AI_TALKVQE_CONFIG_S_RTOS *_pstVqeConfig = NULL; + + inv_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + aud_debug("CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK phy[0x%x]\n", rtos_cmdq.param_ptr); + if (pstAudBlockMailBox->u64RevMask != CVIAUDIO_RTOS_MAGIC_WORD_USERSPACE_BLOCK_MODE) { + aud_error("[CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK]magic word mismatch[0x%lx]\n", + pstAudBlockMailBox->u64RevMask); + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + clean_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + break; + } else + aud_debug("CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK magic word matched\n"); + + _pstVqeConfig = (AI_TALKVQE_CONFIG_S_RTOS *)pstAudBlockMailBox->AinVqeCfgPhy; + inv_dcache_range((uintptr_t)_pstVqeConfig, sizeof(AI_TALKVQE_CONFIG_S_RTOS)); + + printf("SSP_INIT dump-----------------------------------------------------\n"); + printf("para_client_config[%d]\n", _pstVqeConfig->para_client_config); + printf("u32OpenMask[0x%x]\n", _pstVqeConfig->u32OpenMask); + printf("s32WorkSampleRate[%d]\n", _pstVqeConfig->s32WorkSampleRate); + printf("stAecCfg.para_aec_filter_len[%d]\n", _pstVqeConfig->stAecCfg.para_aec_filter_len); + printf("stAecCfg.para_aes_std_thrd[%d]\n", _pstVqeConfig->stAecCfg.para_aes_std_thrd); + printf("stAecCfg.para_aes_supp_coeff[%d]\n", _pstVqeConfig->stAecCfg.para_aes_supp_coeff); + printf("SSP_INIT dump-----------------------------------------------------[end]\n"); + + AI_TALKVQE_CONFIG_S VqeConfig; + AI_TALKVQE_CONFIG_S *pVqeConfigSsp = &VqeConfig; + + pVqeConfigSsp->para_client_config = _pstVqeConfig->para_client_config; + pVqeConfigSsp->u32OpenMask = _pstVqeConfig->u32OpenMask; + pVqeConfigSsp->s32WorkSampleRate = _pstVqeConfig->s32WorkSampleRate; + pVqeConfigSsp->stAecCfg.para_aec_filter_len = _pstVqeConfig->stAecCfg.para_aec_filter_len; + pVqeConfigSsp->stAecCfg.para_aes_std_thrd = _pstVqeConfig->stAecCfg.para_aes_std_thrd; + pVqeConfigSsp->stAecCfg.para_aes_supp_coeff = _pstVqeConfig->stAecCfg.para_aes_supp_coeff; + pVqeConfigSsp->stAnrCfg.para_nr_snr_coeff = _pstVqeConfig->stAnrCfg.para_nr_snr_coeff; + pVqeConfigSsp->stAnrCfg.para_nr_init_sile_time = _pstVqeConfig->stAnrCfg.para_nr_init_sile_time; + pVqeConfigSsp->stAgcCfg.para_agc_max_gain = _pstVqeConfig->stAgcCfg.para_agc_max_gain; + pVqeConfigSsp->stAgcCfg.para_agc_target_high = _pstVqeConfig->stAgcCfg.para_agc_target_high; + pVqeConfigSsp->stAgcCfg.para_agc_target_low = _pstVqeConfig->stAgcCfg.para_agc_target_low; + pVqeConfigSsp->stAgcCfg.para_agc_vad_ena = _pstVqeConfig->stAgcCfg.para_agc_vad_ena; + pVqeConfigSsp->stAecDelayCfg.para_aec_init_filter_len = + _pstVqeConfig->stAecDelayCfg.para_aec_init_filter_len; + pVqeConfigSsp->stAecDelayCfg.para_dg_target = _pstVqeConfig->stAecDelayCfg.para_dg_target; + pVqeConfigSsp->stAecDelayCfg.para_delay_sample = _pstVqeConfig->stAecDelayCfg.para_delay_sample; + pVqeConfigSsp->s32RevMask = _pstVqeConfig->s32RevMask; + pVqeConfigSsp->para_notch_freq = _pstVqeConfig->para_notch_freq; + + if (paudio_ssp_block != NULL) + aud_error("warning paudio_ssp_blcok not Null..\n"); + + paudio_ssp_block = CviAud_Algo_Init(pVqeConfigSsp->u32OpenMask, pVqeConfigSsp); + if (paudio_ssp_block == NULL) { + aud_error("[CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK]paudio_ssp_block failure\n"); + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + clean_dcache_range((uintptr_t)pstAudBlockMailBox, sizeof(ST_CVIAUDIO_MAILBOX_BLOCK)); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + break; + } else + aud_info("CVIAUDIO_RTOS_CMD_SSP_INIT_BLOCK init success!!\n"); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_DEINIT_BLOCK: + { + aud_info("CVIAUDIO_RTOS_CMD_SSP_DEINIT_BLOCK\n"); + if (paudio_ssp_block) { + CviAud_Algo_DeInit(paudio_ssp_block); + paudio_ssp_block = NULL; + } else + aud_error("Error cannot de-init null pt\n"); + aud_info("CVIAUDIO_RTOS_CMD_SSP_DEINIT_BLOCK\n"); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + aud_info("[RTOS]Leaving\n"); + } + break; + case CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK: + { + aud_debug("CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK\n"); + int ret = 1; + //short *pvincent;//[v] + + if (!paudio_ssp_block) { + aud_error("Error cannot proc with null paudio_ssp_block\n"); + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + break; + } + ST_CVIAUDIO_BLOCK_FRAME *pstBlockFrm = (ST_CVIAUDIO_BLOCK_FRAME *)rtos_cmdq.param_ptr; + + inv_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + inv_dcache_range((uintptr_t)pstBlockFrm->mic_in_addr, 1280); + inv_dcache_range((uintptr_t)pstBlockFrm->output_addr, 1280); + inv_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + if (pstBlockFrm->u64RevMask != CVIAUDIO_RTOS_MAGIC_WORD_USERSPACE_BLOCK_MODE) { + aud_error("[CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK]magic word mismatch[0x%lx]\n", + pstBlockFrm->u64RevMask); + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + break; + + } else { + #ifdef AUDIO_MEASURE_3A_LOADING + xTimer3AProcStart = xTaskGetTickCount(); + #endif + ret = CviAud_Algo_Process(paudio_ssp_block, + pstBlockFrm->mic_in_addr, + pstBlockFrm->ref_in_addr, + pstBlockFrm->output_addr, + CVIAUDIO_BASIC_AEC_LENGTH); + if (ret < 0) { + aud_error("Error in CviAud_Algo_Process\n"); + rtos_cmdq.param_ptr = CVIAUDIO_RTOS_BLOCK_MODE_FAILURE_FLAG; + } + #ifdef AUDIO_MEASURE_3A_LOADING + //only measure 8K, not support 16K + frame_count++; + xTimer3AProcEnd = xTaskGetTickCount(); + total_diff += xTimer3AProcEnd - xTimer3AProcStart; + if (frame_count == 8000/CVIAUDIO_BASIC_AEC_LENGTH*3) { + printf("total_diff = %ld, cpu = %ld, portTICK_PERIOD_MS=%d\n", + total_diff, + total_diff*portTICK_PERIOD_MS/30, + portTICK_PERIOD_MS); + frame_count = 0; + total_diff = 0; + } + #endif + } + //pvincent = (short *)pstBlockFrm->output_addr; + //printf("CVIAUDIO_RTOS_CMD_SSP_PROC_BLOCK---success[0x%x][0x%x][0x%x]\n", pvincent[0], pvincent[1], pvincent[2]); + clean_dcache_range((uintptr_t)pstBlockFrm, sizeof(ST_CVIAUDIO_BLOCK_FRAME)); + clean_dcache_range((uintptr_t)pstBlockFrm->mic_in_addr, 1280); + clean_dcache_range((uintptr_t)pstBlockFrm->output_addr, 1280); + clean_dcache_range((uintptr_t)pstBlockFrm->ref_in_addr, 1280); + xQueueSend(xQueueAudioCmdqu, &rtos_cmdq, 0U); + aud_info("[RTOS]Leaving\n"); + } + break; + default: + aud_error("[error][rtos][audio_task]unrecognized cmd error[%d]\n", rtos_cmdq.cmd_id); + break; + + } + +LEAVE_AUDIO_RUN_TASK: + //after parsing and operating audio command, return to linux kernel the status or pointer + /* send cmd back to Cmdqu task and send mailbox to linux */ + + //clear_reset the command q old data + _cviaudio_clear_cmdq(&rtos_cmdq); + + } +} diff --git a/freertos/cvitek/task/audio/src/unit_test/incbin.h b/freertos/cvitek/task/audio/src/unit_test/incbin.h new file mode 100755 index 000000000..e5c524f58 --- /dev/null +++ b/freertos/cvitek/task/audio/src/unit_test/incbin.h @@ -0,0 +1,19 @@ +#ifndef __INC_BIN__ +#define __INC_BIN__ +#define _INCBIN(file, sym) \ + __asm__( \ + ".section .rodata\n" \ + ".global " #sym "\n" \ + /*".type " #sym ", %object\n"*/ \ + ".align 8\n" \ + #sym ":\n" \ + ".incbin \"" #file "\"\n" \ + ".size " #sym ", .-" #sym "\n" \ + ".global " #sym "_end\n" \ + ".align 8\n" \ + #sym "_end:\n" \ + ); + +#define INCBIN(file, sym) _INCBIN(file, sym) + +#endif diff --git a/freertos/cvitek/task/audio/src/unit_test/pattern/FE_ht_s_ref_hw_8k_1.wav b/freertos/cvitek/task/audio/src/unit_test/pattern/FE_ht_s_ref_hw_8k_1.wav new file mode 100755 index 0000000000000000000000000000000000000000..2d56c2fd6e7dece8f752d84c2d2535b5b04fe048 GIT binary patch literal 540738 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'sok`0MmH7b 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 M-oxS)sGw9lrDb-ROOJ#y6D{L8@_f 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š?d($aXU{zQHN3vVZgbXqg*nM; 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 D-=B2b literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/unit_test/pattern/NE_ht_s_ref_hw_8k_1.wav b/freertos/cvitek/task/audio/src/unit_test/pattern/NE_ht_s_ref_hw_8k_1.wav new file mode 100755 index 0000000000000000000000000000000000000000..3e70674a55fc53762d9656bf1214d02723389fe0 GIT binary patch literal 540738 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 C)Yoksg(k&XWpQmQpaW8ldX#L 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 Y23W9JI~ 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õz*#M{l-}qd<q_Ow_DS^NoDT}_REAi!9m6@Pk-+W z<GP9qF0oH3*JvSLhNm_z#xEp`WMY!0VsKnk>>&4Ac*YcW<X<p1lG~MxeD+4;jCs!c zk9cOUPS_SGsJC0=yv?jcvCys*tZ7ek$C}ls5!=Mb1xh2GJCmGp8x)!IthS!5?z{Mv zv31l;@9v0UVWZsc&c48zKyj5-RPprkt`T{i@W7D3E;p5x)0@Idt0$Yc{L?>Wv7#c9 zr<*4~y-R$%U0+S{Z~80|tAelz5-T}#{6D&#!%8IU;yoJJ^J!%4E!PuqEFxfTGTKr* z?r(oORl!UZe$~5P6js4NLDj??0p9R8tGs7RSdu{dkAKAWwDu+MlKL<4OQ2tHdxE1r zsMKbbu#%n!jur4F#5gHDzxpD4SByCOTCk~;QotmL9GmzmF5pR%WMito6X(C$_pxyJ z#MG_R4t4iZ0Vqo#gPoYzOWp~~nRKXIDk0aWq47$rjW``~((0}*Csg)#vtJnh^G197 z_yz`#zDq90MV^XUW!!$f>*c@dd5RfP!N~Q2W^VhyB7c&&=jx=VTk?0liGej=PJW)} ztoOu4yz#yDc<c>{bK<W$`@D<7^F>TgToiNE`Y}cR)D7&lPdB{z%iBHO!?Ztn|4v{= z>i^`=5MRM)m83$78|KTnMIXO@=_qQ4w@wo6Z6Y%GD<mxPKXA8)JK?p$&&79r6DHTC zZjpYfapdXCr)TxGsJOHzldK8e*Vz(t#9jOHLhp(!nsRY?!NgLZ*1TT^gQsPR3rUiC z8Yd3?Iy?TF+7s@EKTWbLKKfmx^=Ha2X=>Zu9&LS5G`wcIf$3{{Wx_+<CUIwc@3?{H z@+31-_BDFNPWbrfQwe<~Y*NxA;X}-X*sos~#OE|hQp2oW#OzO#-`(;)NOLC2h%a>i z>dSMHY12=NUSPdT=-@c9Grtsyd*W3o8mF41s(-E;Gvo7mt-^{WKN<PA%<?tv<HFdW z(Ish<6jLI0y)F@RIDBVxzLXhb%HGWv(;)RP(d*JCxEF)xbm`a%G40}Chs{aTBUN|* zfR9-|ejmR<ObYLt^m5Y0GV|B{pDM&JH%BL1meRIbzi1tsG5If<PDKuVweWW4*b`|J z(r=5(<rZ_Y1^@YY@7<6<ie$T@QzhRMH|RsjkKe`L6OAKMBs-V9j_`gC#*B||>Zz9E zbxNO@@vL;*_0<1n-X2!-nR#nwLYfTAGKQyq<Cf8<?K_`_zH4Q-PWdT%Y_b<|^I{Ht z9+Pn1C>hx|`NI_3M3T=<KRto<nmWa{RPSWkmzBT%mfFtJKFQ^m*3C;_N2J@A$(Pph z<aKWahsE4^^*%T|by&u`De5KW`miQuY}|SsO!{3^c*@pd#HVo|Hznrvc1j+V=9BN} ztI9FGlg-JrDf!Zv;GLJBx}@rrE=B5szW+pZBk^n7H+SPQC+U?Ykm96X@TJP<2C+E; z^}K6SluVi37mWYz^SZd7jU3_Mrz)E4&W8r?3M2{7QaYvcdB>f5@7knFh`y6*NBDJf zn=Tjk`R(AZd6Ha>+MVKs$db_QQ|m8H5<gjaQwLJ@2=^zp_&oB<WH-ULK1J`S*KtW+ zu9Q<UY>xWT-hDs+v-%OeqK~GEiKyTqcWZp{w|hUP^VLcDZ}Lu7p1_;W|HV}Pa?Z`1 zs&wjX;Z*`(Kd1gu$Qf>yi2N;0cIU;j3U<=yn6%rCn@`NgbL6<Fo5_18trcF`tmiNC zw$8iNGBV}sqzgTroR0CkKh^nkIanZBov6~0hLbby)7R+WuVRnyVASETov%-Ss-C)j zhR)$Xy?uWFT;j^qrBX&EITJa^7wPu<?7sQYKO|Y}WMh13%^^;;xZ$7X$A0o$OMNNX zM{yyLBq7pYR2?#Uq{y3kNo=E6(P2|FG*7WNuH-{2rd@<T+57ON$xkP}WG?wS_RX@d z|MOmnpc<05n0%dZ??d;`#f)E)XGppT#@c9SZ^8?I4t*djdm7hj{-W5IU!x0V*dW`z z+WG8qa8lAi-v7c*q|TCTq7IKa{B~O6>9Dk(6rSC_XKuPLPd*G!yzjXm+1FD^PSuN@ z@Pyp{)H+iVD>ba0XEp7enY~e?0?A(7f2WOG;k%6+k(JX`NVX!l@5A?>QU$L|zuO}$ z7+GIl{!;Dphrn0xC{?UpzHL@tcTqx7|4Nl3yh*a8>e-vAvQx&6$v!5Wd6he6j`n!I z7@d;uOp`9j5B}w!zK^XNIOo*YTO$69tSF9snI2a=xJ=#BImkaS!t;|`Bw+<i;lbAB z$RFLAAG*ow(IV;7#Cq?JeJpAZVP$(I`IBgs?7ja6WTz{MmjW%-)Cg~qlIFs=0tr*? zg7!n(wFX6I_bn6G{1LVtOmw@4x3i*2uP365C%+Mh_|WEKZGRO>Mvi1UI&bnH)Y7=_ z3CR<afB-8JaVkj;bCACowW{_77CPNLZIT}II7Tw3m6Iv>Jov%4F><-TaAK|0*-{qL z{*S>=`x9R>-@oczn09lj$!5C5RCdn9ud#jnBR#&zvu1z0S>jfrcV1Q9suRlP!0INT z>Z^D5cV_h@RpkB8juoA5QrMrdzSx6-#eoCCPR7=huhO=TTxZ8Q)0IE&VO(FML3jhv z&^}C6OZM>L<mUI4@E%vy*}2&b-{hfg>>C<>Baq}v_oVw%Hxj*L*96`LV&d`!K70E_ z#V2b9*L9faZg);77tAl)i-W<T_F#2VPjnrT+gr=~n2KSAbsD#*>H?qsV^|KeXl&nv zn<>kuSfTDG{NW5weE4ZdpquYPs(z8ReUIFeMqei)FxQS&{{{*LmgwQZiPUTPXtf4E zSjD(UZME`x4#bFk?lYJQ853-`TdKwpKD|GXL+66&-@ttm`8sKPUpa48sf{PWigpbr zlWu88+e?Fw6VB*j=4Y^hr9IO?;MEfEowN2!`w0AazZ;XdLbOZ1z&FfI6?m_Tf9)Or zx9H%@;G5yu8@5ZX7unSr{ZMamGuw0hIsB&*=IYPJ8L^eBt!>OcY9?&{Yj&jbv)*TJ zq|(#{RX*t?Z+degXr#gZ#j&N`7%|fG!aVL90i!OhOi9h4XR4M{A<!z&G$Eg}Nu`u~ zJ!Q>Wpk*JL4~@mnJ5^4<7r(h50y%;W!>@-mFo(g|?_rmWFYo5oPvtdv$%-~xnn$b# z@?Wr}<T9g{S?0t}cD&kSr=YHIDyuv{UNhFUsZOk&o78`5!=EB7m*{GJb-q&%f-CHa zZddqEXN(BXKKHeG3`D7v7sWF@!Y<+bmKc+;D{*!3qOn%yH6vwhtF5_@9oEUZtw<v- ztJwh?PWnMT!CY&<aYqLZ=yYV;E^F;H>RY4Tj8+=i-3(f%WMQ|sQ-dmVv58llnXsCA z8n0kuB%15wPWgwYqPQS(vm+hl6n5{KE7dbAhyB<c70AM;RBxsFP-pWfl}vw^mA$Ra zJH{6McYs-0LNzB>uy^nhsIUg|yivwe6P$P#GX*TP5%RgX?0j{8h1>SC`~a78LGX*7 zsa+=x^TR(piSBG~4N=gO(@HD;5<VwhnF+%F*WcP+LygH>a9g&TWZn0a@n-ibxC2Av zR$a+iAlK{fq@Y^#KKmTKxNFB-)AbUI{UvW_bGo;>_oRrHhSNmd^?%h}f=hzc$-y<u zDdjwun~a`el{~k+m8?qE74cc5G%A|ij8CegJJ(sKN7`Gp4E`>==w;S?`HQ!lC%skJ zQ`)F({_O4$Rn%e*^&|X`1J4tGaNgQw<QEaN>X<8JYjdVG*-B+jrnb~Xeak4Wv%sWw zf}iZ0_GfWK-8cKX2P}{%p7%0Q4mIz(r;W<k=XL*6c;7RE$(?!nDcMt3%6CRy>t}14 zXOvaROyPa*UX%~r-0FgTSebgBGt5})1dKxNSXo81_e`+_45MFI<$hMvbvgXc&R{9~ zh26jzt<J$RYYOYWvH6c@u^8ZOXpWFc&He5G9i|H!bL}?nS*NR>p?AQ_ij%WFUqp=c z2!>RU_03gsG5n_9+m<uh-egzP%{a}97G2@w<+O5<xhyGI%~|FL^3a#3?qKfVSbfaC zpcXnwIEQoOKyh5;puTT}tZt-qvr?&Zq|?%AYL|6p*wfW==bgUjo)*o`N|N(0PjUI5 z)z?#7z5vTrpBWJui^+#}Q5APD=&@q7(Mcwl?PNNUPrLys(S>?!L!8F;b-S}&1*~Z` zb`tOCNO_5MaaYe{@yx1dy%Y=da3hC$>44m^i;x+hkIrMy6esm*`KO#fU7%iI19O4x zy<$I8>+P@3V5f+iQ(bV|>o(fv^k2E(d(X?X)&$Q?vCb_oj_Kmm{66jsbfc(F{Ky#~ z8d1MGpP5d+6_==3d|qdAJx))(+peL`kgws4-PYX+3+@d_)~&jUm4WKo=RLoQM(~4& z8h@y6vb*z>dqgFw5>94O#E6n}tbX#CSyX0%CC7=2DnyOdC+dtM)~dCjLRz>W>SPDK z(UevJnG3Z45K&glkgij~?5=j}?y4*ZS-~mWE~6{YYGZDd<P-<DP@a8<dd5TNtR6!R zveCLHJJ?B$nzEi~YgG0WrsCjHvyf?-kIXLYQznrsoKnUVHHDhUncyiUHUANV<wSG7 z>?yX0dLVgMiX=KI`Dz`NS6_yWx`rLrUeXJHFu!%38fJ^k+@8krkoj3JF_W-LXJ<k! zp=!CoZsI=kvRGoym6_ptg=z@AXGi9Y8ewcxjoDf6p~oV}*|0{Z>hH`ta-Dh3lgwNO zSFni~?)H;=oQLiK=Z;gs=?x#Dkvt0O^9Q)irHwzBx&H0O8@us(r^&!_1a`_Pm4%G= z#o1lR<PM=CV;+1=8EdqxVr?)M!j~GaZlLE0s<TeyB>B47D4rO(&AP^F^!zNlx2=tj zIw!j-xwNL{*(dS^j@QxbDV=p&c-o2T-k#Lh4vLFbOSgs`WO(#EcaK`8*6E7I3D~R! z4KGOYYampPiQb%!q&MQ#Aja{4?(DACBj5pDSMk{K9uZ{~mRmh}&5TsKY;1PZF|rdG zR<7&%>Xcf@p2eSVjV`!#WOI?6z0%4?J2;aEbsg=x`SrhC*;;>6Ros56xSUBnzA-QY zi+FyOg&42-GLib&g{gDqS5uvjWFu$?-zu++(I3QiqYRm;+q*ZFc3Z<sUJnxcnJPjS zo#*O2yBH(naMeqWmlH*PYX%nmLR=TgbeO#8WXA&XIj^0ix~;B2J+}`!5i50cFJqei zQ@zwR)FQPXJaaa^T$`$mUZ4*XQTwXx@;@<9G(~%th;XWh*3>`B_0B@QN*!^AsSoJX zY-6?j-MuLvuroE-U{6&iGuFV1ig0f@ufTzRRioI)@w)lU&U!u8H%2`4;JIWYX~|4_ zluV^MP@Srtx~mtEHNht?$`@`a(-dT^5-r>zx}}j1&TuLBmAcLD(l&jPbLK^EL$k5_ zt9igGD64vZBI@^-&14QeL&oDZvcdc<reoYpZf<bn@7<N=aU$kfV~$>+lDU`RDp>AM zs;qlWe^j%{;{2oWN&aoLC(>>cYdxFg6H!}k74vCZCvXQ5#wX_(>|@u>Bc)kF+@yMA zJ|nrPh~5{b-f&yJOP8jSUM75RsPcC=qn~LS@$!FWL(#$WR^Aoo<b3f5HAMTXmHM#z z!dc0FR2Cz*Y++t9`t$!9w=*?u3$q8hfmnQ!QK$v(B#B!`%!6D1pSjA&Y~HY{$+MnY zW`z7tmKEFeF0n{=r84D5XA1eh>l=e*2{RL!8`g2pX#sv%Z*$wK+~lbkrpkfI=&yfg zKfapr#{5w@uqAhh6vX?I@L=<ZmfA6f={~BMamQgI&JNu#)P#I(e3b{qMb~faBojj# zH<!Aj7U?ePk<Q`%taq?e_{ivHZecDq!I~o?tej?;I4qK(S+(J)<WXDPqt1D4aC&l) z>`i?{WBkEQPTOnfjBwj-Iv1T2PIITCN~2@cVX!L2$*J(vI45qI*~Q;xd)eFYiN)?I z^`kpM1)16ObK-R?_KItY98$ndzF|yfPdBG_)Btr2R&Y|a!&$F<`21sxX{_<1JWhpe z4GRCBIhgsvS@!+X>x^zX^_Lp1e{*_q3Q*i=Ez&USo*^%?!#mwg1R366#XEUaOI3}! zgFSRN{Swp(E?TCQ%gtHlIa$kEE?S9Ls&kHEzqdBA=dPZs3J?d!izs+LW2t}pmA%S` z+5>94jw+yDI1#X+ni0VVa~ihZC_w(63bMR8gL;-b%)Z7bv6p&N)!dO(@;Iz>>u5ce zGoP!pDwC`vH;4=DlwZK&Ed7+ah5c1pH48oYs>ZPUd=%EeS&>yPF#nRzs3m&@UAm<w zGFST*rpZ+up{J42<3HCTzs3Pk4W30MG8SjlnblJDC#>fZ>YlS79$as|lim9##u4f+ z#fo1|SA3B(<YOxA7S(HY1MIl5igYikFFLtsX|$0QU<@=9V~mqJms^B7utW6EPE*y9 z96l@b9St)F4<0EUaav|Kf3^ymC#_quu9yqne;)IJgZi+p3V-5>_)E5wxvgum1NjX0 z8;#lXoxwA<t7)*dB6SfxpFQH5MsqPz%#{I|+;pg2`c<4Kv(r?u&%I36uaxe0R66Pk zQhuSiNoKZkc*>a7U>WtNJ`k0&oZr#4w@xwrhx%6^XHWjF5rsu|m*uR3B8{i89BigD zYa2_biM|@fM}%?J>2Ivn+l&unT_|OhF{er|vmDb+)VI|ZXA<1daCJ>xQLpuK&YumD z+I%5~n1`uaddP}1mRLjFVZzV6^q!O6?X6y_$8IBi1T9Qy2IMH%2>Xo&ZV5dE2Fnv? zrW0dlQ^VDKxREv7<y4?rA*YD@W)jifIwbO%OXPX7GTc;|shByR>^BeGqq?qfR0gq- zYG!7+OmsEg=y~ud`Z<4)8!Jrp(;L)ePTl%azhpQ3i=Ji$GInIO<`{FW`?`ymqO!Ub zRZn==<<v7~ZZTrI=q+veLhKY-U<(NJIgctsmDyd+L}jZndH~ut8Z>1!In!urPIVWX zR7|3_$aG!aI7TFB%52WDb2DT7s%>$>cqj|Xd3f*Z?jgn6LZx=f!3{g%OjGYvh|~HH z$o@&p=Re4C@G>5lF*=#$s6EC=bxl8aHt8lRi|XyhIR6NXtR_=JNEg=dJJHrQ%4a{L zD)$}x9y$3gs#aKFccZ^p1&gATnbUo07BLo!b~3lVV6<1u^j{9uK-md@qJA(M$yY{F z^A&j-K6A>RMwQa3)W7yj^|zfK{_l6XJItT%ZXZ!lc;t5Dwal*J#ktj~Pgah*PdoYa ze@;KQt=-Q!t4_HaWM-p<xssVeej~eES#422I{&l3S9yuo9kr|8ar%%(6c!_yO{9dQ zm&)zr8KIAv!weUVuC15Cb=0~Wxx=KsC{ma$#SL>Op120Jv#vQCv89|UgSy~kQBU<= z)e+=MBdV~hka5N$GALwl7kLgkyR6Y5<eIvR)UU9R?&`kIBso(ZlJW4>R$8w_8L`W_ ztvgV^xP#Nr8KR0gYw+D#z2*$~1=U}&TFnh@6>wk4JF<lP*t$g?ih|^ikZPY%L|t<` zkYj42^&O1cRn|SRTpTx6edFzz&S~|FTH|QFQ~!j7vWrY|9qWp6Vxp&;PU`s`UCClK zREtE63U||}^dhM<5=jkl(|MbV{nkU|)>2e7$}khTPF8{&Xku#h(EVL^fO%L}G?UTh zA$dh~^z2oce0|6(7!XfYTVtqdp+7p=!~pw{Eaes#QJ&^vuhm>G6g8P&?N%M(0d2Q$ zt31xX&Q-lrMUnBN4|SV&nSN%7i^v}k^ptiUT2*yUV>aHgB{BP$yO^2y6V<}}Dj$eC z)@bpQutVrXcyrmDEzVLE<xEkV^b7S1c!AQ`$YZmC(ZaLBJxoT6-&La3O&vE@tLE+$ zdz^8A3}vfjKe9$079(UIbBAaT&iS&w<4l4<IgGe-)?TXD=^VO}Xk*NV4O+wmDeN8P zob~J=Vg#)9wj;7BkNe80C1=`W<N%S%t>7z0My#)_fJzwY#m`Eqxw?vdpV?kHl?i=1 z<R+7?U<3!vTe6Hy=jp79c~j`S?6{mJ68`|&WtLJ#K4-OzazBfX=2r36JOCH9D`&MY zohW_JS>cSL&UGa`!x;TNOovfu$2@bjv6NY9S)+k<N+tF5(<@*t4<MekbI+=+x}4ai zTQib<Wj|V$iL=pod`53I#-8Skb?Q3L$%NNgO@P_<6Qf;Qjx<J@|5Lx4uk?MRr`Sv; zxaQ0<&pTA`cBYC19VD|*d+|^{7MD5EYXWQc3o&4bbJ{t=`hOtLs>RG|6RhxLGE7Lh zn93w~WJ|T({HPAPZ>}-D&3TP*Zih5#|<?3&_V3U^M;AIQr^o>JK%*IqGDfpRH9= zIQC;f4orkK_?Ij%%9;P_QYO`MMR~bEw-#sA1a~8O9V@Ep>>tfEj!U1|B+rO1U;<zZ z>2$2yY}V>iR1ZAq9p;<WVV_o)17ra>Z|USB_X62)+M9Pcl`l)q@-W!N2i=8A%B=1c z-q}D@l;4TZ-}q4TSwodk^N4xz>IXI2?XI(e&rT~U;XBHZC9aXt7|zy7H%^w;NyS%{ zgPCgvW3SrkrY8^DLvpblg6UX?nN<ZNT5l(}<S-`>BOa{^u+CVm6Nz?X#Vh=KJy}|| zHp;Sx@mVeb*D#wIN?U4uE`x!$RLtPYJ0h<!U9RI4cs03u{LW;3*YP_a)ht%_{Tcgs z_-UV+m3NRw$%A#reMF|6q{hGG+xTMC)HmIrq9UEH1dm{edr%%WCXlytgV+e$-e4Z* z*B_kKc(X#xO=^J8b-?7b6h4`Z*xp+lc5BO{%u@d5v^xM|sT4o8j7O|_O1Pgy4o32` z*u=_nE;|PSwM0wiLpjK3kX29Ck(>!1VeR+S*enWBQ~ae{Ra_*G)o<*ZHKLl=Y%(>} zGHNgjzCv4CiT0u!^36dcNCm@bI8sWdv+BXb(NTDW?^$<u<4pV(oSY%>9%qwn>^%92 zqN&$X!(FJi=$d*qe;)!d76Ah22eAr7LRoO0&E0*>Z40u7{g?IWO?DD~;H-KU2-3qK zm)f&xK2K$~VyrB;fqxl?#g8Yee+VUDg0*M^!auE8&3ySLc!(<8d7O4VhyOj1EIOr` zpKZf4wE`9KE7imvgS`8WHFSFX@;##@7T6AM+bm{;DZ!yngY{6%_*;;T#PEuSAl=W? z`}uhHK~y;%>F&@};RJ(`lJ-x9pX3#=e?%parr(R=@DfI_lRuaBNE8^$der&JDt-jh z<Oe}Di0`J5ABkB6nL5@m(_Fx+{Q^4xA3&H41BFqN3O{|QS=huVD|*7cI7ltQ`bHP< zFRj764Z@0l29Fd2dLYCxOaxCc8l3$l-JDTs$GQGc&in<~!%~cPJ9>E-en+T|Z$IMz z6;DTUvcH?P(*Hma+y|L31a86(P#-C==TIGmS<G&q=?*XuQ}Eonu+6H06nOw2Yd;k| zx55y8M!nE5v6iP6!JZo;&tagrO7eFvy!CRhVx#C~YVa!SL2FD0FR}w<YXCG=Baln; z!AD%C2Gk4we-2Nj7}ZeU8$XJtv~f5Hp<fv15Q=OjR=ff1&>W=Mo;K73pZPtApD>UV zXcFJ9<~`@w_u0i5Env2`1jfrP-ag<P%Hst4Kf6JH{Eu1rF^~%xnNOvshhM>Y{6kxo zv)?xfw8=WKA1A@#glf+|<$CH4!pfrhD%wUpLH0w|fXFz>irIvTF%X2tJaB#QU~cpV zxzZY(&_1_3zwKntWIt%2cC1j6fjSIfs@CzZI_#?b$Sh|iJIVRMgM0*?G@X0$fmz9e ztxN_v+4CE^uLEse&Ue?)ob!xB1rX;=*?}C16vu)7XpQBz0i{u&ahVN<W<Im?HCVt9 z>Ypy59h*U2#!~xzJm{cxU}+w)vbaf~mwjUgETnbwv5E-#a1G6U3eILUGr4MD_mW^U z2Dr-XSo3C(C##TMW4`~uwIAS>ykT!HRMCA2<Cg`T*LBd&HL1(C9SJX^=U>2<yagBI z#|G!4M-9->?jXE=1;^AKylhg?cwz947Qo`^fNpnWeE;ToUC_}Y$R~nv*#VmIHKVhI z9t}s1+d=SX&|Vg@Jcy=#<+H2EwhB1qHCW0n&~}^ob{OqX17aqESy_mOaUB%T4ElNw zZ}Kx3q6J{Z=71;q1?<u}&_N3sq3WP%F4O7+@MhW3x%YUIM?5Q3AGa-XXw2U~<GTjq z$rZ@`BCN%tK>pta|D~DDhY<Sf(EZh5ddgw}Inmh6VA?EN5<(zW=KA7z;ZWtKyx@RB zRgXeADHpBCgIwN#_y5Gcpa;)pGeUW|D;u)P!5ecSt>R#Ty0a${#hN$<d|?zQq)hNE zGU4Ge!i$}P+%F;X5MyXIW3>vcVZWB&PJv=8#NAbC*;Ej(AueEueN~N72nT!D49O1! z1NDX{Bp}hJAcekg|3MIvW5CQ+a!a6J*@-SDHI^^yP@QGG4*nt&y0?(G9YyxL8G}E# zekr;+o_E({_W_&>dc5cxB55pb>4lVQ!2^HFs^%$KcheHd>kyM#@GSC|fP;Gv((W-> zrHw?N5VC1GxUQY_>m_~kBdOOQnch*!CLGDF<1LNxawg+niRTt@Kf;pEfbDK(uQkM5 zT!CfuXFubASo2x-4<F&l*I^|y@jO%beK%Ggs;m-;J@4X;3ux~U*cV&S;6vQmiynpQ zJul$5#oT$4`&aU=s^F;h^W0DksDEhPlW*-liM&FXPzO)@8Ql-n>-$19c#obs*i0e# z9QpV@gdofJP5xu?ks&Nz4aT(}Cln!+-B3J22+vsslwW(|!bHZd9Xdo_0iKkP?^>V- ztH`fO6=iU@)7gXBgB5N3hNa8{nld}Oxg0dwGWO?Y@vnKri}qYy8a=MglWWlig)H;I zwj06s^YN%N@U2tvz8hcw9^>Z_9y!F@-^=Hr3e(ql$~xM*i>K});_k!~4kDfuqaRtn zp%6nD%@A(#Bz74`zmxNxrl3u8@}scXFSNZDp06@{e))(m&yd@8M*J!}oZ(>eLX~g6 zCqkItxa|+{i4v3@d0x?n_w4PZ!x|JL^_F`=Rb*{s-IG4m!WSf`FD2<&E@FH>o)W5e zw1-iTMf%?(x%}8-FXkW3vEs_u@l+&w4qFZNp*)@`H-4xdG8zD`eiGI(51R`iC700S znOMvWBt4zTxeiqGS|s}z8`_M`bir;L)63C#uZnoXi{HjMCGYTo;)`IsLumchJf|m- zatl%nNqP^@Jjv60GVVPX@h)7^l3npIyj5w&WG+`N<jtY6+sDe`3Rv0cNU;F@NRDQO zY9m#r&FzVcLwMFmT2g`@AHfHoB1&BPW-nnpsS4v=gzqYHw~2?+$S*a0&x`M^f=5V; z^%qBKwf>K!s{oH8>9*ZHZW&1??gB}G#e%!L>*DS#4*%l5xVyXiqKmsjAP^-&h}*cf zz0<re-@s(j(^Yl7s?WU_|2BiA@qtY_0vSIG?Rf*sXvatnc-S(a<}<;I3iyamc)bFb zPeC*8gX3qQ{oipd3o9sO8)bp&0y1BWEc_~1H#s650Z05AHj4sYIvcb6iuXCN>;ld) z1^Sf-)S{3-b_{mp!0%CNgP)P0MhvLZ4D=Ly^IquScj#Lh#ur0|g`9B?y!XZIyFp7B z;PY`l2Fmb|C^KX(4cN!}h+-O}{>WR*wi3AT7QeYA#0yG{k%$agL5ADl4$DE$4e&l~ zAu}zYZOtGVHSswC4p+xjIDv)4>%k>4zH7uMt?(I%dG>>Rk(fsfSlI56R3YbE4O_3l z{I!r`!JgyE7Ve)2N$CJI{a^U*6>#o3Bx@LA%wkZy1*AaeW?lt}cfkwCKzfAwCh^$2 zB|^^TK(n2&ZQF6R3AXDTtlJ~J%YmIy;hTD#>FmQ#1$=`TzJUg>vcW@vV-MgFw!?Ov z1}_MBqY~IyA0WiTK!@6(pBh)Q{BDdcU{QNP&Km+(?h9`{3F~ZvRS4a;=OItvAZRcE za@7!@x5tWvtoj|$pDCbDM|^WEzEK1JV_yx;n}z+zKFD87Nb7!le>na+2J6XyjMA{> z4CF$KSau{l%puIvjx+j}h+Ed<^L<#O(C2&wJjz2zj1lWIV1{#{Q;G0ie}FSm_<^37 zk+2d2^tU_c>cW*mrGd7vlncPmNFeN0knWBcor9Mv!hLJuKGhJ9uY{Es@?Y*^E+wGN zN_en2@OiU=XYT@;8;WSF8LYn*uPvC%P3XpC#AscBN3IFHabLt=LU!dqc$KlB?;<=u zTaNhc9afhP4voMkoq)UTiKm3a5X1ZpkCF`eeT8Tv7+QD%s}rh09LH;!&`T8et&IrK zfKhv5^!~WJkj0S*Un%6z&H{ao!$*z6ok!vxm!K6rQFFw><#2^~uF@Wz&4%E+eGsw# z4_f*h^79(=>55O!!sZI-`9gfZFGjtMHGKuu7r_I!MYQ+<9#P1h-HzW!pl@J*(4`CV zzjWY@z>^KQ{wiiL2{|cC5ob<;_Wp}eq7YHd#5IF4`X)SkZif}Dfy8mJ+d}^B|FE_l zxb_X^dK__P>~GEO0E<))yb`iBSHq8{f-X-$O`L^7uG@mPHBh4^0P~&*I$TC%Ec96X zh#gNbB>g$!6f^RkhC%LXAsSFY8il;5zR)EJBELd@Bsh$o%NQXGvM%&P?g0Ps0N-~a zb{_;e?*%y)DyJmk4vpalgd7#Y)+~o)&4C2Xf{g9NRXgBo|Aub*!Fx@Ih6lsOJ%GKs z2l;U0d8Q3?yN7ung6*0GIhYChtA#T}P~a!LkbpXW4{3<SZ2KcJ?1v0Np+3bC_#~lY zaqHjFm<+NkXej~vA?$48VF!d<qcrHLFZ>A!+nEM`=EPnk1kxUa>juI8ANsAGAE8kN zu!=$z78ViBbZ~Al=q^+=830a>0msLImh<qgJ5B<oK~^^+cH4z3{=>XKVx~7>rGMb* zO(N{)H`t)BxKnj_r#`TU#o(hKG$sbKZ3R!44LfuNSA7Q;E<jrr<J&(l_YCl*96ZJo zXlNmxOJRjAa6h4s`8H&{?ZLWgg4S!{2Zem1Jovi%@N+B?je1}WNs2Tf=D3HtGX==R z+6D`=2^^RY-kt?N4k9<JJ-CG0&)}g@F`yRaw+DB7gqp-Z;VGBmXDsME5|PIsL`6q1 zmf!(qV!Si(+I_%jVP;Jb`NZOL4w7{n8v6)Z@(I#<8hpF}ttr5|d@$2d@F-6Btr*B^ zecY=tel{YKIET9}fjyarxoyS&E#d2h8Yn|Sorc&C)d3%h!E+%?RfZ9Nf+lxi?driQ zl|jzGf?68brPJ8Aj0W}3BU(TyMd$>N?|p^+5ULb>M<gl5Y9-)(O~_pWJU}PNXe?r$ zOmOcrM)(4Ie;2$R1FIAd?VF3(RHz{%bS!*<bqTrjir+q^3_4Z<Ex!bv%RoGx1R1Z3 zpT3Aan}Q-;aqo?IN`Ddj=m0(shJDrkju}e9>8sc=3Eo49F$61c1yYlO-|s_ag>J4m zBZ3ufjkz_2FItPZRiIB>c*vUgRItUP!IuWmqG0$OAumf<@h51`PFS4R(AZ?GT<8FM z2~sNLyS+jj@g6ex9U7Dde$d!6Pk<B%xlw0v@1vOIdiZEz_wpCUi~{X!*y|YZKk?hI zsj;eHtWbmXH^c0DLtgrTM>D~*IneE^s6X}q8uTCJ=N@9(z0ka2@FMGe@5UN|aw=48 z7>bq5!EA+EJ~N=@GEhvAqbt}cOhX*B6?*;&Ud)ZLBVdVy{-5<gg=V<ZY*2JHX8Qt> z`n}&{Y=+E?hx`cDGX&Y}hItDWrdoi~R_G3oyG3Ikoe9tW5SHcm?|Zk!tUExGrojU* zf_GjD8SDx>P!p8Z!nXAReTPBfhr(KQ#_A4$GItQo96*FQ9(GF#`TPvII|w^}3^d*k z+qE0ID#*PV6wZLOb%E!f3@-MB^oAi8On~Psgq{f*gF>~f*7(0RW}E~MJQgF3gZ*lW zne&K9E8w{q+^GaU=Q2iF2&o<g>deJBhcIq++^Z{eV-{xF9pkXLuNBfQ^vukLWfbbE z%muY3A=cdmPV9r;?*`?rf^OIFmoBg@uONSip(|e@$3j=qH~4)S=KldZ0TH;{5>)R5 z3mb`_64*i$D4Bw*zhWFOB4!eH+l!}*t-$3l*!T#@pP(In$Y;3-scVH<4})GF!Cpn^ z;d>BX>@Mbh6;|>C*7q9cb`g-MB-{b8d|Y<}R#M0jiv$m?&{-+y#p6!9aP0x;#Zkmx zLeBAf_{mN1W6PkMQ=zE`aMv%eyD#AD4&&34$gT;&T}069bo>ah>Pu*F9eCP_xPBz& zuo>Qd1)}X2pt2e^T7fk=fvt^(OpnEi!eOV*VGa+#)7;<M@&Xp(2<|V`v=FL4<wJ8* zao@Y3+datEYWR6AxTL~3<6%LX!hZO}&nListi*^%FtdYLxzK6227ILs=bc+1DO-MP z>`C~K6`0#ajCusu{em5xiBI-po-bf8GVyLByw6F<+hN$ZwXm{-L4~uR#d+A03-C^t zFj5&LCKq;+f}MMeSY$GC^XkHWjl&#PfLcODuCKUTL)Z>s|JoA%APLgG0y7eHS=fCw z$GaYo&;F3kN%*%v?8MyPTKg9)(PYTdeEfC;nzskLx7MJP6}#~kc=9nCJ_DUPu(yi^ zcGN%)Bm0wE$qu9x&ny*W9FTTC<TLo4-LL@bFt!SE(-C9zgCFz3`vH)J#n3z9Ot8am z-!u<%pomAvk8h1n`oJ=E!&M_8!Q){WhQsPy$Jufg{Krn%qhZj~v+z>?U_}cs*WHLd zrov`bho%YnpPTU7jQ#j^oRWRR+4(x`{QrfWT8pciASUS#KQ;ss5D(kngdP>(Y(&T# ztBZZIP*F~hJs~?W7qZe4SM|ic#TWUEUT{c*>w@3|0&sr+34hl?|F&X2yP&1raQ9X? z8Cn2~vkn$z0A5KLYXnX!x?_b5WSxhc3cJ2?yo7pkLROn_jwOd){X}+KW9%4Wp&8R* zuNT9U)`fqohw)+{y)&?`d9Y7^|IWBRg_FOj@Xl)y5uC;;#0T(6s6OG3=xhS)Oga8; zf~~%fmCt}xn2yh4u#!mJ-w7N215ubBJ3c-3n*Uz`CkOsB4C{!;T^C@dH4c>82$>lQ zig&_Gs0j8R&s5Ii|7Up3$4ElWoAc1TZLnDXKyJ%mYiP*mHCXry(3($JZw}~r4gN~7 zYL$?pN=SDlVjaOV9l$7Uv957AC)f_&wuhYj0WJ>)UH`^ky1;5!p_w}DfTkffZH#MK zeio#~4E+iRjf6Tw!bw7NP~S-0fra>jo!<b+Q6P4cZg|MqzfUjQfx@W1!#jZ|-35R2 z8nZnFFQ0>G;(xGW4`G9^K_8!jH*XRDUVtxg;W>d7)=k(gPK7jYhRwk9MR0H+cA-D< z4C)p5gKl-;dlF_^_S+YwL#IcB!oi3D_d?s>BjdO)bgLWA12S+YEoK$~+E)i3T+nR6 zGOKV-bshTt3idM<bI1f0g<4{(@t2yg=o4_g7rUPykmzZUlsOo+G1h+`6-;Xo6R@u8 z$P(0%O}PYaCAmX9SJaUm=g~2tqEB+2Jdmo-l5_|Y$bCbvjnks<=##V&Jtp?DgGolb zMtz>%Sh*P8Of(@%#pROrxpkdeeLuvFFnn>hw2ZU5*?;(N-nyh))zs&iB&DK$p~D`c z+TmZ#rv|guG2b1*^`~I*NkXz)+Esj$x$j&_Ihl6ccu6NoJ>@2DNY%lLH2Sf+ZOBJ; zFDBF0-g?0sj6Ntsr7dJf$c9{FhsPGj9F@#g4pluNQ|TdYoyW$V5En>xN!v>n5KrxI z9djksbc40WU5Uj@D(sR@K}CUQML~{z)@q*HTr>Vpa<xpXvQuYV*DC7T;>dE%b<I1; zZs7Z^p5g3$a=m1p?4r1#qzTj8l;r)QS{xALLsm`CIaD=BqmTI+?8hZqYg_KQ9snuw zSww0rDg)Kk^0a8SeZFj^fzq$1nmKRS1Dw~`-6E&tldPfowrg2M96eNhC*+ZAap8a2 zJ)E8V&n8Us4RhsG95AhC+|Y;<;(@x?s(9|-l1}+1M{A$%L2C`$_{-)~rVaML_;HH& z>c+aB+>hcd_FQQ}@I>8*@--O~Dpi_=)lP?`(QV96tG;_a06qVhYpLF75GxZb|Kx2f zyG|whB?Y8Qp18hQGi`^xr}+P*I!(Fevooc%zGthpBJ8weK;GN*uC93@^=ky_7uepE zJu-KPjSw>tl+0(Lu7uQ-KhASlo~cF#|LJ>$t1|C4uXa!1JmO7qR<niLRsPmGM0z1u zYwT@0{k>oD5A}zHs2D5vwqi(mfV&(W%N7#VRgs2zvUAqjKTnpn7gq!Z2Gy1SVINY} z**4YFOB|)@t@p}?mv1R|lF32J&^K--{olOd;<<4F@zbUMn(kGsa&M+Oa1)rnr6C5Z zX1yn`U`63gX0%~lz&Q0A&nxq1+aZ?|87o7ydFr3GK^61)CdS;LKJ>n<i@CK#w%Ce< zIF-1nPU%8hEh2|x`3ch2x_-)??kPomir&zZ4NLsJ>N1bS{KFRG5mC?NbA1M@753w0 zH@G}wXjo6u{-at}EHflBw&q*?EbFq;Q)V;!k;GZ7WTbYJa<W%ll2^FhQ=ttpW@+j& zBh8&{zue=gO8H#1OOb37S4hZ{{>?*6_<mWRGm4l2(NAiB^G&oaDmGUQWp4;*MOn7C zmg=6zSr}gQ*7H_BFd)Ha2D8WVz*5tFhI*vfsNJLvMUGn+PGNi=eug@lEzVfrbwp0B zbI=%Iw-s9}2e3Oxmi!?brdy)+VXqc)zdWwL^}9lb>)x|pEWXxI7fZ2nU)_4`XUCw@ z5p+F$`>;%rJNrcDJnzYHpW54ur))n;Z&ai*-BC-tp1hl`g=!GzQ#3KJn!B&AJnWfn zyLVe<fcd3kr+BoA*4)v3wQeo??m4d$MRroW$|h4|?AD;gb-D+SaxN{?loh!HMI13f z-clc_Ng<QUJXw>i9W<jNb_Ydq8_KiGSJ^s<PODd{b{RN#NzqK_Waad*Up|V0>=b!b zy6@CFgCcgjEXCE!rnmzo@q8Y2L4CuA5q~kq<*Y89FIR`W3tuGpQBhj5+jfR{re2{Q z=rdeoFG{P>OS*@Q3hrtD_~m}iYw^7Jtu=}zz7^Apy;ij-h6-mNOG9*Jnp@1tpFuxT zz1;&cqZS%^+NKl_Fnwbh$h&EkKC3mu%uNaxv9J6^G4bNI=~KTg_ISb%)j8{zW{E0o zQsu+k7VYNyiW}%j{cCDbsUs_?qMJ52a(8G;k}cj@^rx*8c~5gu8)R52%FFFkHc|R3 zx<ll5OVr1}+>^@cfAp^5;g^@4EPw8rNwwiUuD#L_zplCh=6KHY+|BNP1B#+L7#=%v zO1e~@@D7$<RylOj4HrDGengx9)yzq}8t|^5<@@C&QvY%F)<#`$hnsBX7w9MP%(c|h zQhPi&UfaT)^1WkWL#jc@+i-vNEXT0&<ce?Z6p3Eh#<(c(p!-VthoT5YXzd+Q9gD56 zlCno?^6LJIjrNL6hfIOoc~K3=5BqV|zTiCL2yfHOlAlSUuz=Trj9lxw=XAKvy81Hh z$S$%`K~Md{i+X2VvNecU*kq1+;iqX&FP2Y?B3k?ioa^XPrMHab`nuOva{NExvm)bk z-3wZMJW#S$`#S1Y@Np`^-r8-parRmsh4^p7si5}$M@q#X4^`C)yVmSt=!w+yyPa}l z{mPo&NLWgbsPwNWv1L1NSY|M{LJcu;-=SrzUf0iz6|1W`<JYKPm}Zsh%+1^m?*XcY zUrxYERhIZzq5YeVtc(h;f7h?s_XAJAm);F%-oO?+%k`o1N~PSTW2Vs-?yzxoKu5{; zGDX^uvLJP>*p$HI+_$Q=wq*Ay?>ZOH4L1Dpzazh59$+8tnq<2vZ(?{G_(FBRq`~)J zr7z@Z(GRM<5<f<6X)nuLx)pFuiAsxRuW~arzpT9UhI@%DQ#VA@jQY+OxuYs2m8tH9 zs;baB0oBRz<qIoTkxM-V^gQ)#{}W-2czH7OCfD*c=3CpxF&`{fbLsp>u1DgnBrQ4M zKie-;cA<>>*1XuOc^>g9{G04_c{>Yf9c7zCuaurOd<(lK?_s%7A}!CL(t{cY)UMi7 zSxS=u?%>L**B?J*Z`NLIkd}0mCVu$lZt^_TYSktWx=3sFnyW;YTrOi8^Dul`<VjVD zMO>0ge;_*1bDYQ6j#^FFLZAD#F{R$J>3o#We?iG?o$@B$9m?j$uEdkvn(2u|_lTV} z0`z?=78UrJd-4}3AM|X!seh?2px&1~&lpsmpfg8R8oP7$qR`5b$T8VRyy2#a`)TWI zMtZB6f~=?b4nA+SGnLup&kNLSPve`=V9~UkoV2cVFJq_J0fs_%m}8<V*qLw3ad)Ef zg3E&Ih%ySNq+cl?r?Cc&H+&=;S+9FOdS2N2*j1#_@FHZFD#x;{tb^%)<a>37@{Zg> zFRFOv&5_A8IkE_AaPer@Jmp^jg97)WyYE=X2}d2b3qCqR_u6+2pH(q2e^li=$*h2D z{u#0t&L5TQOm7`)xWRIjmewAW4s@C-Gc4KkZpl7XYr}jmQ|fT2L{9xsY4!4nKeOmp zzBQu7hWoa{%5rNmvzpu>NfV9Kv`{tU!cCgO^Vao>U4cJ*JBr%bE}I)VjGk(Ib9op2 zJFQZ*($>|~#5tebESsn`%RJ?2RR!EiEvaAQ)a2?ao~y=%dO~^Przz5U#65$(h?sA; z*r3;{2GZ3^mK5#xRyWk~Tcdcx)p70jOmn*JYBpIt-}uybt7vysM0qV(+Cu?j<>yT) zv{E6{*A;2<E~U=o=EN+hRXw0j)s%t>7C&M*l|bba{nXv{|B`nrZsmTdSfdV)_@UcO zw6Mk5hcF6yh<AioY}jf1sXAlVmbA4{<cfe~Uq@xVvgyQPzxn}tozK4g%n#O_s&0<6 z5p7G_S50F!k~isG*EV9av6`_BJv0Agj@J9jcsXF6Vt}WKYZR^bc6B<u=jC3*HC-`T zVHs=c<_XZX(yl}hKaV=#Z!zAtbx0YPUtj$+aY2HfaOW$^SZ=&DnR@M7$@pu(YH0RN z$<*Rk%piRuzaG+U&b`+5o?*Z)^&v8)NvbE()AS4b7{>}(O+VJtz0%}fr}PV4B59L* zE^83^S9qUlIf};R<I8CJjx14pk6GlQl!3an)C$v(k~P-#$~i%oeM0z$=BlbNPoSuc z^nl8#dM@t5t+8!)9ar?EYItHrkJP&j@#M@rar!M!V(99`4MBgorj%~4YDOO=c=0)L z1NCiPFqK>t^DDu0S0N6LF@%!U?YHbDo<jNt_gLc9oK<C!eO=+~1^&KcJ-=4l#Hdu> zH=oNmUp!j%A#7{pbon}~pJ|Of%{>ymgBPhpzJ2AjTn~yKmP?5hI+gK_Jb}LD2yh?w zq_S5;2jrp3OX57_P$pHVO@69|AuWSvvUjp3W{u@X1;2=<wH+KLOAYsTZw;5)dyIUb z?_}7)Pb!~N)X!Ndf8g6#J&iRvCwb?yN0^c9T4JFrT3$_7m*`MRn)~|n4)5x(vQ>Vq z%uZ2<Rl614PxZ<?r(&0#L)VXnqNS=VT`%<-=Y^l|3mT!LxjOip<{-1gS!B<*xAa~n zKPX>ozo_<6q5@f-LA*2SS4=aaR_e<yh5V%G4l!%hEp1+FE^XrKJ8rmMNSgaa_`T%T z6;Ajy)pJgL(l}Bb%C2!v_e`T1W*0eJazj~5^*?FL$}T@^65}GGV_l*_>61T3IU{1T zYjyFzZmUr;*m{B+LPs;(q!oIL?^!ORU`F0YXO7RP;5vpz-2bfYt<Rhz`9+ey<d@V( z^ekb?K3McfJGkbU==J7DFL!?5p>@<9R-;fhq10I7=PG2odvRW%J{_<}ueS!L&CP?> zgk6frQ8KoKib2-?%ucGCbfj{&ZnTfR{BrskPwmK>H4;@<(s#Vcv2BQ&Qe%3+Eq8vo z-okkII^Vb-O0OIJL)uFA7ko|MQzg>mhXn^QqW-q^rU+XUU00N*s^Obvm}WnmG177_ z;8Oe`eYIb&-mfc<3E7;mEZE5Un<m<v^nJ$_+d@&LZ$Ly3)xeUuX~&9(OTUEF4>>I_ z@g6s4RH<wQH0qWFObo8(9{6LkWvO9#WQDqGfh%RXGcqDMuC0E(T~+y~>pS7^O>(uS z25M~qX7QeqfE?B=RcQkg3>WzcuAX+YE06w<yC;d#W@;x}XXTG!i-J2uM2SXZb^Th6 zZWsMWwI{l6POIsayM)cMowZL9amH3*-6SuH<Uf*4|0y>I+I_c32GM`oH`z8h-*5`m zO5;hNH{}a{ji-8sb_qSrTuO_{=p*&UEsM!eY&VZHjiRUX>l~NeHmNaaOV9wup1Uf$ zzq{BV3*GJW2Rqs6vY8!Wo{!{L^<1Nmq~$NZBtiK$;*I|fOKQr4Uvmw6;{C(o`Jt8d zY;BOKa?w`P^M|}`aEM<AM{Z7=q7pL7I4r<VUPMoDzi~crv7T+BGM^oOm+0J_JaaGK zfY=`TsA5_2-HKNsJrmS{qdX0(J~<bYgFOdLpS&8)%J8welFIaqj>Sqb=f5xDmNbZ- z;mmf}oju@}FX-F&9djPeec>Ew>=161jLNM_x#q1C^G_VD-eQR{{b1~pJWs0SHvK_u z4y-9(P!^Q)%5+H{=-)%1NVapoa)x-ec{5qFc!1`ZI?gO9tfVqR+l1Wqy1yMu8B8U| z8>&aBB&H2zRgMdMoM*r1oFvlso-v7C@Y9k#(`nW&2<+ywkIi*XbyWA<_nzeA6{qxx zs#>K%g^#8B$R0sG99O?`>2p=<5*J7Jlq8rtnOoC^oXi&I+$Bj1=oZ+Yew{rrXR^1k zepTQdO#}XjyRCDBYqL9m+^+UD4pNLNYFo5T5g#=<@Pp0z^=Ec3ZHL5{;br7Cv)YbY zq}(FQTE{I}en_vNS)Tl?r+F5po*~}9vGOsy&~wZ^!gbg=g6GtY{B_FXh0X$_;z?9` zkjZ*Hxj|NuCM~gABtxcE9kUMNez48W6CL~H??XBUTy?(4e4hKB{mbuUphoqK+3#BC zbUSOg+7aoRNdNtcZH4+@fwFGVrNN6GKfdnBDpvoISP(IoiZeI2zeSGpR8uEMv0_VD zMqpj{tE|pBJ(zk%OAw)!aN!<b_g}8%u610rW?R5=RY1wD{88c|ku5@+IzN0npXpWj zB=n7JBbj1b;poh^XPTP3+Ie}K(B(mY(>HU^W!Lm<HVi{mm2Sjy_eN(kcQ;QUe_6T5 zH&wH)Vn$vBksdKKY887THSepEs8zjBwe{+4j&nA%=MocQ-D(rb--h{y^Th1D(`hqo zM&JFRM}22fP2B?>PRB0SJ9fN!mj7(u&5p8+bgN(Jkc1}cws}22^)l6toRCQS<#=Y= zs-afWQ^(oLx7?I~fXG1gzhw(k|0&+4+#C`Y7%P9}USj*==;!%|StYxuA8$w{>*mtG z?)%(Ld=h%ZeEZ|#jG3T$-KfcuMUEkMgZqSIedP=9-@Y{?FB=-$YNU6|y1<wMc87J+ z4`$z+nwncX9?{RmYHf&bU-j~;fON{$Fydu`pRy?H=euDhS)^Y=4`Uv~+M^swXG8Na z>rHvzP*X@-lF9#(T2|i9Cn@YsK!)U{{qL$amU7o;UaVC4PSH>07v-$|xlMf`VQ<(c zOXJVM>B|&d;s-~iD-7;+_L=rBwiFY~jyG~)AG8LGC8H|4HQy|FVQ5F)HzwJ9!?fC- zOFx$0(#Z^`6&o#QG6QUj!rck6K8t^*zaxs~2GvU(7V@3y<alFQYaMU%*r&<n2h|TU zN*<R4W=Kk|E7L<~2j<HbI~$s$)*Eg-J5mtZ5t>fog%uBTtn8ua=(zTxewkf9p116b ze4kM6f1OLV)U2{u58B6ge`+=b@9>ReCjDBLb<d(UYz$jrq^Y@<u!<C03bR(MQkQ7< z$^RsJmnQyvB;Hf4Y4jRKk(%|9cm6N-dqR}~eTS+#R}FPaT-BMwKK6iK+G6*OUnM!i zox}ZFhVC_#uoYG6s!6Udd{;@J;)t@N{2f2FY~8P?(#h4wMg8!Wr?@}4JhS4T)HrU~ z<eE@<+uYeB^^BlfXhH*j=yrJ?<d<iMxt{q?4PC2k!N|=$E%m({xkM^o7O8Ho8b~!S zpPTnc>>DqNzT@rl?cL`zFOhIP!K<C%nrRNOO>i%BiM=^$CTOZ*rZ=uYn%m5M#(!^U zGi@4EW}RSbMvq}H6Gif1pGxHmBHmOxe=~6=P99gEipyN^d9S4;YFA>i@fzc_e6>7v z+;VZAd20Wl+lKRuZ}G!i(&nq*6+GQAi`ZmaZH{$Gn6+ek<zCHJIXdLnTNMp=JP0YO ze%U9y=*(wL-Z{OjMp1Yx+5en5mT=p2*f)u2r~l4Cr?hodbl#5Qd6IWQkpWu8P`A=t zX36#p<^826)deakrSopAIA8Ksd97MvXs&bL_p@IM>8aJ4RJZF6drnz)S>xURx=QID zKGy={^j+MQzv|`had`|Ag7#_;@+0j{th-$tlOd|6TB!+Dtmpo6Jt;NX_XqW^X4H%; zQl>QdRa4tNULJN$;&w#Xy4o)}Te;<;RNou^cf=bjdjI-d@uxTxySdM@ci!r@#}>6q z!Z%f{SFe&I=gDJrPc{2F%l+abyvj!9$I=$&#mj5Nl}Attg`-W?M9VI(ftxEfYec$c zRF+9pYOBm7Oa>pnB$>!t$5LcE=UF7mlDAXNkv1c?cmtU+wopsH`bLD@m$Y_B8<0_l zER9<nT|-&h{;{f#6Mdi2QSPwpjpmEwfHSq?WmOtirM;}*Avx%oZ#!a-MsLvnB>m)T zC0qG#p0TtaH`SR$J~3W4u4F2I=4T$Yv<ouCbkr|rq;`X|srL)rnE6U|P*zuN;1<|K z=FzT3l1Zwa(hU9tbIx;&ZqB!+-iWrM57sx<%z8y`qNZ&n-%bBSi$2yxu|K=IqXLJ8 zuJNJxT$jn!-aE&=#<Q0ipv+h9qb9o^RDHCq;=0Hcs_}9o73A&jR(nLqA(<pUB)=%> zKx&9yj^U*r*&Bfwp{GP!^ILsCX1Wy6A!doO1+mg)bvE++V`D6>`D@xjf1RweHK|}y zc|QM2rPl3N8zo-P1zUmH=AJJ*udk(hCf0hQ9KGplmjB$1{i?#Yt6x`?ruNAhqu3p{ zAbOo@k!wKJ6Vv~kqnzDE2K`yTRnm@@w*^~Edhz{zUK$qr91=Zswl;^`meRwOU-e5h zqsdVBLHi6YTU_B(v5gH40%AnslC9~9Wo-is6Y>I-Y<r8rx*0I71@2{3g3ndmO=^s3 zO;L<xykejsTyt5nmpks#V-4fDh4KmN&a$^$F>UdFBnxEoT;ttIKBEJ!%buGma{896 z(8tF12}q{4xGy_1-S@pc-Txz6`fSrLp{CfcRBpG0i+iaSD?g#1_g+t$<A`fN?9yL~ zzOp4`56(vC@$2R57^VHEY(l_J?SIbUxz+N{iH*_5@PYDlhtcZeYRv?BR&&eb8QL?l z2JQg!eDitkjAE|ZBflW&#ME@WbtcnIC2`7EvX)d3KOH$P?`2EmFKt%WBcHZLR?e97 za*dT^^{d0y8uF>5ZliOpC&hi#Sx%WXl|FvrDA%aUC6@2RP}y!}r24gZkk{%+xA*b# zqIdFK`2guY@-w~Aok0M}Z!4e%8O46{iSVKUS(mIQ171f;{XP<ZIy=~Rxw4#5^hJeP zm!|2;J*-+#7VT;#^HYyjeUYc3W3R6x!De6r<)3^ARkG-s_iy(Bx|K{Xn__=Qv)Yb+ zgUQWB|7B)b<sofi&+Fs87K_@!utn@$ua3H`T&>>7-?Ut>{OC%OT~^PLEg&YNpWbBm zZPyUyv*;o!4`%Q(hGm`*HKb~V+Sbi9K;aj-P5Z?$Hm_kp6Zx>Pnf`xED!iLLySz@% zN!wm;wqlTByE2vztlDDQ$-I@8E2b%o@{9a`u0Gao4nO{fB45)--h=GzPI6!M4iwqN zaz_EpX}1_^@+rk%etb76jKd=r`F-RLT8~;@J1K94CtK9cXNJ0%`Dp1?MY*0yQWXnj z2I)ewv!}gN=1iq`iO(sAEBaA==ty_I_fLMj)Gpoae&&jm??Bt>G*d{)pUz2!v%x3S z8T0`A2uHe?Ku+^4ahy`8*ut){E36Y-Tg7)2GDWC3feUv%aQ5&95^ZF2<dn3Kct_Xu zh}bxal$=yF<7AdEOmo#B<zhC>G`7M+?DXxWUo2|vX@u@_<;d^j=}V$P$}VCpDkP3} z?co-o8|N`<u1Lv8x^H-Bb{O_lGT9mG9e05arw{RUMFV9$r59bjt?j8RJ}c#%+g`EF z@>%N8-&8&4*RroslY0}})YX)JA{nXNAo5|~y2iM*<Y6j`Xob#_BdI`gE9yT*5N>g2 zNj5Ti8T4}YMKuwUt0JVHy^i@(n{K!KiR)P9^{VEQ{(jNgba4@HVXxDNyk}f)_OQHI z^-w&8zGQD=|A#*++aew)Y9T@mEv6>Di~g6GA-gQ=Pu1jWp~hwwDxSm=1F2oa4`)6{ zsC*PbTwUj5OG7SBSE1b?Yfawb_A&L?t+YQ=CSIoeAki>aoK?=2{1fR7aTlte$WNpo zp3*lxS2?+KnVb`=h+Ia(lyLFXDDi%BBIQfOIXOB^F-Mh1CA;EH$2{%TO5J#6GfK^H z?%Cego-BHwXtJD_USm>i2OJ~V`l218hsYnVFV^r;o^|f8TrKG(*$Z(T(Ucp39QJ*@ zjv9k!@3E4pw8|}|!sWE6A=AQM%QaZOTw7Z)h@Z`H-VAhfUqja<0;G*4=a|v%Hm(Wu zRVqW0BWi<+CP&yLCY|oc6XLb9JjoVx+D-9xWzxu3;@u=Fl#48$z77v@UolkHoqy~& zVf#*9RQFX>k#o4Kw2MBCp58j{A-YW;A^u>h+(SM8BPzs&qDf>1(V6SRM55dMCUT9a zGi3$B;w9IUKY*$Z4t_AZi~2{@#ofnyO#E4%BC6{>X=>;ms667+Q2H2Et5oh&bO?Kx z3lpuEcBH0yzc_9><m^YOS9V_ngeQve3}l|54|xai4pAa;jrC#2v8W3`exm*%a@eiR zZ0;oE!}Sz1k_2*ycY*5$Jx4NLPK%H7s~IER0~zIW$$yb`naQ?ee$WTlcSJa{E7OUY zTx-;3UBzbe4bhJ>i}=NELEq!g+#6ypvamJ)+v>~tdD}BrMO~$xC>K55^~AeW^gvo6 zT19x75%hePV`Dfc>N#9Ors5yWLT?kc6}3ksCAC~MGUyKyOUY1jAi;8F$Yy=P9zbvV zNn|#j+ApE|(Y497l7^z1ti<E++#q{PGDIU$ZDt&Ej&6b{2Xb_j?}A>)gE<W{*pHzv zq(O9)s*kETVmy6r3|z!DY9Bg0{)--<ELVYwJR9*W-;ZC+K7lTVQxq41dH`L?c9KZQ z<`V8E=fml^$7~RhMm3^HPEPlx=W<!(8|2N82TH0NviP3!8R)6HP!xe&-*rI5R4|)~ zJjpYOjGyJsc7EZ`%Z|$5iR$u^>?!6u)1SS>2Z-||dr)s~u$!WP5U(UkNd$F*OGGa5 zEN(6Fk|M-&MEgk+eH}M)3FHdQ_z!XgU(BW<YxX73UQK{Vh$p7w*?tMS60HONM1dZN z*}zzA!t?c)d;#jlbmS)U-H;bf63<a-|2As3JRnY!r%=c098rRr0!q|!Yl2Y<c^!Fx z7|I6Fc69A6l{}F~i9-1U$g7>kUg!5A^SmaR$@O4-nL}JXB9F{Or`06l8!8m6<~oyG zQAwyexd%M}-;mX)RB{mU51z-@LoUKo;C`F)<;eBz%eLb^<UQm<-{bGF{lTSR;x@?v z=dR(Fqee_8RCa4cO~g!2vS%2I8&8ZxFWuL~JFYQTn{SD#V38C$6#!x6<vViknVsBV z<jzkZ*Yb&+4)~>(=!1S2^$d0ro%tQ?I<`Bf09r=KtcoH2LO0!Gr~_aEw&D&DfDxEk z05CeK{1#NL;Q3@^L7ZimvMKBgello!5<NFYalvdBp8F>OTN;NhN+SLyItYK~%TST( zJ1OKA%miMc2at2s$<9DVd_@iVqrfoSKyOVW8AK)#ZGe#)3#3JJe0K=2JPipC*PNTd zokebDG<g@8ji-DDwB8prt!hBF!!XYzV5BbsVNwA6Tqe+4M}gD$gt`i^$z4P_*Bd#) z*N_L>28gj$Kxj<m=OKqQl4t=<nFZ|5IP@L)A8>frfPE>#h_iqVdj}j)Z{TEB0YCR1 zc$;`2b(TXq0)fP4fGN8G6jnNrFm2ESwjVGaO-axU{gSUEbJdG{l^~!Xg??p&fx+<w z@?|?P7vVtjd?gl;?a5(4(47TOx+0si0;}*x*YcTs8(>46z-gqzg7p=uM{!5^5#()h z2k<=C@Tv|h&lYkiwH}f(1NgWH7^#XlLXzk{`x40Gro?b^8#$TOk`3@P8(5sZ!~pUi z@*dXq7cr150V2l;x(p+)0S6UJu0iDz5|v(d5uJd>Iu697hGa3z6~OPYpx!fJWrl)V zjetbDfZT#NKoMb^%54YUF9q1H_Q0q$0)l@FGA=#<ComSMoCKf@KLD3<j|d}AB8%G0 zbpamkF!04EfOt8FtnAI`g>)BPu>L_t<_TmXv)tc6^h^gfr7eF3e97hfK$&X5HXQ<n zdM2<<958h`z~wQ>*S!NNn1MUBz_X8XVC!_qNt=zepG8jgS9I$v06yvlYBgO!J&8`h z$h-lXbpvKN3pl#}@P0Yar(YqNH-XQK0V*dFShfW~)tm*7_al#W3b;5BxICd(lbv6J zYe%AY-=9F^6oA`q@JQ%T7zdoresH=vSqc2^A3(`10^;ogr1}(4U&%n!88GuYz;UU8 zk)H~bUl{WDP6NNR8F;<-z!tp$VrU*_H6JLvO59mWtOAZb4m~cr0pI-+$Z$3BKV<JU zg2eU%Vz3|PyB?^)C)^_L1=kxiZq0w=)^aJ_VBpV%{GdJ1nm<5?x2Pr42S~#ZJ{Ot& zbzoDCyf3l}F99F4{CEE8eBc7d0{7Pm*!i)b-5=1jNQ^rcpR~kSHGm6T04z~DX88!; znS#{_SpjiCqK!n=yJW5}aDr*Dr5ecgV_=PDV@2`6>9s^Qz~bL%=+VeR$j69pF)sr; zYdE<2xM~|#b`qGiYq%@2xq<cG0nN~%jzE3PvKKzv0Nx7~(EsFRn9CjDthA_teh>4$ z1N0*W2`a)&1cdhmj2HlP-AhQ|K)hZ96BP~Ho(oyY$Bzj=-+`3Oz)Ftb^%R)06S(s& z;K}5$^g<4TKe*$>EQPE|0Uf#+XtRC5O|Ao{_G6|G;U%`=ujhaTJ%HB(%zG(#KNWx9 z4OI3P@Mk=5%I7f)8<3MM5X3^phA`fHaO?r@G#0WW<X8T}^#ZExIq+F#Wa#TLgF4XZ zP*~34(C$I_y&0@VC^#>|`<kF;H6YJW+71}80YHHX-Qs%SFP)$*bAfU$fiAy7N6xdr zc|8JB@gQ(_opHq=NOdqQOeD}>f8*{B(2W5eED-lu2DINRSd$Zw+c(Ji4<tRXdcSao zL%`_0Mo(ESx-?mU;#&`SHY2Cr1uWn<jQ1Z9fmO&Hzl8VAVIxQ3wFY-oA~$;#kamSw zQwz+v5V+X)@TQ?aWw(I0%>WkiI}qXBVS9`~1wV&enPIDhK6Y<FxslMeEzpbG&}Vc{ z2gQxZpJ)zb-Ad%=_#?xmIkcxQq-+Ctu@I6d^mP%kV9k&K4Z69V1^Vp_bU^4D^8r^) zMLtd!pk0NIm}7yB8w(rZfz$@WPYAX^$l6{99HG!tYAP)FMBqOihye0{+Dih}JdmC& zNZ4aUJtC~39<cd=pr;Ku*6#RS3Oq0a>roAv#W8s22YXZ>bQjR13t^pF!ZvmXorMml zC*eW1K*p~EQ~C;Y{syc46n5qbX#E`7i6>!6QwbIM0+iOH7jP*uGG2npI#NS6A_;h? z8i)~mNF|BK_TW?@IK2w@`x~hARfxXU!|L{donL|b6vGO?2J&(dKK%qQk_`-N9zHn= z%<BpKp9<{lJ-lAw{!eg+XTXHMM$|*XV_0Cn55oJQ79l)$AbK+kJ!vlC>VJV=YzaL1 zQh301Sk*uH84c{@LVSJ#aw+t?Yy;h|1@88RC7cRx5sUTC1=4dG-r0YniCY4jY6Mj_ zz=w1J%`B*E&<Aoj4!etF$P0z*$G{7#fyBHCYZ3wZ?*vNcf@40=)Lx*q(1lqJI!9xK zDX=`KPzVpY7_-j7`ZJ-eL*ca#1L@fXqZYtY2%V&aE=&ThKLxpKarpTF&EAeNgpSre z;G~eV7J~eO0`Ph`X5SMC&<Q~P{)K1)TVTZ5i&2@g3-HO;pd;yojI0Z*pAKL57=Aq& zQO7lK^Z?Mj=v5Ax8~`1w0d(jSj44z?nT&NAF%kugvK83<Us!t|Xot|xu?=ST9_u=Z z*_`}Mn_}3NQmjf?KacOff^}I9>QGppkl9&^x$i~nvjJM}k9hF}EJ|IV?+ajm@_~mJ z(DgyEDm|g2Ug#7B3#Y=nV(3l`I=yy=-aLnN&qkioVCcwQSidabSew9VNs-T84ViCS z_#&<w#?m7;YJu^;;FC#wIP_)^a@&;fL3x~mYmED~=Pz+bP<f33Hns(Fo#OEQDsBL5 zq>!Ul8&-TOY-%!A{0$U80<HUn*@nW`pG6K%KCI?5c>3*-C{%Wa1up={qQMVTyukc| zF)jt&TaDa?ZJ37)79k8PuYf1qi&@Lz#d8p4or9!~g`^}Pp4^A1Z8-FA8aON9l9$6T z_eI2b95fvOY0QI8e}l*U0&7zn@|6wxNg%;7up{O06+A3gG3NFJV=jdSuz-)-VH>VM zery<Bjz}R6v{;F`8o{AQ@J&MhS~FtRN6@_2;K*puv=d}K4zhd#-dT+Idm&X1!J9kq z5w*eFv+!uq@F~KI#aPD*c$O{5;iciVQs9HmgEDtvN%LS61*xgvJA-cX;2~<md;EdB z4TH`J*}`XV{}#}X0l>?bfXY#zWq0JCtjDaf5!E~fvN{cs&<)(T5?VJA8gd;KQ+}ck ze0^Z<vmm*XVKx4O1+k&Z$PVbw2UvOznRr8xsrnN#7l<pGK!e}^&M^qW9UcjL0U+SP z14N-s$VgbQJ-BZKxfB&*Pr~LTLBDswmd!<tv>TYI2^H?bfXw!VELVc+a`>ti$TP?V zdVdCVXf5o?A^4pfWPFDpAD|{`^K`=hCV096#N(-$<6wB5KG6N^pmaPkRE3Vg$6+B( zflo15^A6;|WFTXs9z0=PXh0%pHU?IUfHf_Lf13gne+O8aeHf_*EXqar03p{w1rPNI zSrD_~rwgHrj}QUP!o9oT>Ot^xO2jqSK-p+mmU8@E_B$IE{Uczbf<YrQxbO~9!d-a$ z|3GOWQ%mT?CWf_HhZsQuAG8?}>ki0mA?(62{J#sY`p~P*_&ovh%!B+t0$#ln)~H9! z*$?ws`#Z{&p&rgFygv;o6lygbg3oM*Sa27{$;TS@VAj{c;iHJ1?0B~y{Eh^rW8tA% z0W0p0eb|5C<86#K7<#z?WA1`fKY-=A0a+8OG-QAyx3G@tpsSFp))jtXB<S4@84jp_ ziTs6nSnWW_z#v%1R`^?6{4@eR>tGxsz9VF8kAsbC01Bl+H!87DdIg%8u^XV_S!>|x zMyQ`b!v+ZP$ZPDsh5l12>^OwHsovo1|K~CI01+?LX~~0jH$`;a2)>0w1W|=J*#%7y z>JkXO0x57!hAV{($`VAAry!lex?X}RZg7i-1v6k)LdAkO%yc>=VJT!f8lL<WsGbG= z_z3zX<NG%JPC=rBpkHzD9)-}%bHAg^xv*u2agET!z8w6KU_Ks5Mi4A`6n=zQt3GB= zgZ6iEm4Nzx3(E44&OF>f4SOZT6y0Ejh1v{49#|EuP#k1*G`Kwv@@;{(oq;!554j!y zdsrVD5rtJgLDaq<@_h!p6?zRP!**xF>#>Lmg<LkFds+(o!(Q-C=#cdp>xqQ4j={Z$ zL6;sOnkz*VmyQuKp<`>{IUB&+wFgCnjE@TNs0#E{LnjqDBf|4nNOoKFHc~(i8sjd< z5Fw<%$Nj=984<%-_`0o-jj6D*9Wl-@(6t)mRf(4d)~EvOtqUJL0lr-5(K!x(sSl~> z0164+(Oj^hd9blUR&8C(VF+fl0g+5!Tp0@qXaUKJLA)VouLv})fSlxDZSTO3kI=zK zkngQn?|M*UC4AIEyuXRh0#P}q96JLcqbmU4?SqlhL9=i8b~Yqk(9R3ck8Q}4>WCAD zAXLIi!j7XKc0P4}=W>pPMzw}!sj$N>Myx38i>4wr-HcJsgUZ?9nFqF*!j9)Gr0h8M z39Iq{a@hZc(695*q>bRiEpTfJ^!;Dx<zeWr(1ZRyM*axCeTEhaSs>N0&c?rOc>?4p z7W5Xn4aY(L`@zoE1<lHlRap)h@dxEXV0GdUI}pfV5%Pt@z$+H_N`*9W_$?AP)rxyo z2i2#7A44HkBOq5(5z*a2B)AQF+yr;%2iZ1Y|7yot-eN>Mv^^NJXb0W)hh9hFT^HOf z33I9g9iNZLNAL**P7c1K-qi=Zj-j%5Dd9mJc?On$J<g39fx9F;PhD8@BuLL!$l-fP zxd(p32pP_U%sv7K4ub|yAjeg(IYrP<;UsPh;*>=AR2Do7#`r?a*AD*%Lk4?;MlB#! z)iLuv_-PH#l?18l0sqz-*5wf*i&@~#RY(TU_d}$$^7l&r!96!&1>vyoU%?Gw_a{_p z5c-?-gZ&$fs6?nHFap_rV<8nsU|09TA}@izUxl5;E<{83LES9qfC#gzk5$gbUg-!t z<3`wya&Uh?IDQ^c+d1fFKSVzD!11ZS_4G5W#BE5+mfu(HhRkjL?ZtmVLK*n_DA>V< z@USa!Qg9h}oC~@)#p;YWTR01Oeh3@#7S}ouBhE$aeHz(o_n>=^aqU)6CKUGP6l~jL z&=BV*urp~mXQ&M>Ootq;0r&ktvs6e<5-6!dj4X64zXs{Mi8ZC+?#a-ByWqZ%6-@uO zrB3iG4YRc3=P4{gJw(kH5Zj-HNACUG9!7$uO(79>$ZsXQ&OT_`W>DcUeuPRwFTm+& zNP!GAPlGS{fxpiJP39qr8-yKO7x<jEpwuEz`ZBDvQ1k09H1ij9GzT0!g|(c<=UWh8 zj>30VLB}scci-Y(k040|V#RdCpA!+M3VpHbA+~IYec^aqKNtFS26Vm-OK}UdpNx66 zho@Zu&AWgc(DjJ2gv|bzh!6s?f)sFWHMq41aaw)kWR~H?$%->45l(1i=u{Z{+b;CM zu6+t5q9@iMR3>_amHz;DPQfDI!d!&DtQ9yrD8>J`5vvJ(-~`$UwU2JY7i~Z+fx6F_ z+iQ#{#O{rtdwrnILI=ox@ORS?agB#;&4CwK3Vj^_PiFuXWzhGZ(2or8rWyD;5&tG4 zdJ^ilJcF!XfTXSlPlbp==w12}qY1X>EdCWbOy2^nH$pOndkD2>7|iV!Xz7IXwM8t` z5>`gYITk9?1j0(@V@10_@pZV<bFASp=DrVh?IZZQ2ej)A8V<%4%W%eW7xy`hS!{s} z?FPk<|CXj};FS~O37rblc)`{Pz9Sl%+a9A(7zM?rVI72Ce<v}HP^W4O&TPg(Hb&vK z7<{dd`!|IBU5HTxyZHv|JO(OfL*6Q}&Nr~-DntQ7<v5`O-zjiqI%KLHqVej8rG=iD zt3msln8ic<eJ9qOi7GD(Fqavy4f8<zL9iWx@URo{TWiR5JfiX@uobhB<@hgr(^SMt zL9o4r@PfgJ1;U`M5?t9GuXtFY(b&D0LM!(mer!s1CcnYDe#f5t1-Mrmci#e?{ui-K zXME3th@vKV{U<a>g>2h9n2#5>Fc}m$0ji#Wjqw97Mq`vm@D-1-W0(ftHv~J`eHfz^ zX8sfV&r^_+K9Gy?@U8)vqmU8ng602)U4+p2S?I88!<{O@@rU3@J<R+UcFe+_rZe<d zsCt%*Jqi!qeg>^L2faK4dvF_+-VTa21@%<WqzmBucSy<*XvJoDy<6}NCd@I8Ps8rc zhEvyZsGpL@1%N*nk^9;kD<1`aQ;v${sBZ)7REJ;B#u53_E@E%Rb$gC#yD`P5rnzTs zn)!kLkpD;BHtx9BL>k#h2W@G?K2kgUw~D(u!c6OIXUHKkhxDhchrAiz&vVfB!eytj zlo|3INs%PUHm>3<IbT1<ZyUL#=y*X7;<kRVp|hflNk$B~*>%;j$n{e+L_bh7)zisx z!ZOAiCSfGo#1mz!!~>au?j_D@bT4TwMT+8uJgYpc{INnFSYqhzNX~3qDA#NbnD5Jo zn=^i-FZ+*aUj@fJ&{PkiWnR<UvP-r*?Elbxs*S>+oX;t2->gp0UeOWdadm=nRr&tn zXR_lV*Mp*5m($+n99QfK3JYv0pNifBhrK&0CzRCmG}Uwo9jkfis8RB%Jj0zVx-Xxs zT&(#@9&ns8Rai!Ii&T3I%{9wQvdbSRl7cV$PBZ(Z{VaZ?9~`*auO2m)m?b&DTq?~e z+C=B+x`$U+zPEZyyPHkUG2~Tgy3Z=Z0a1!=XT?rS7#XJ>60m@yiwpU|zHa}y?Dw4H zA9ExhLuLo`Q!Zva;#|>tN4?@E)=tu}pasU!jHRlBd9Krn>>VH3-@0&hGCSScz<kv^ zM$*MFPnlPG&OOYqH^?RnF7$poYrhxtD`<@Gad`eg;#jY&L|GY4J~bQ*A|xJbuIYxu z=Ft&-Me&-CTD$0@Gst|{W#T;=n{S1EpQ)!}vj26x!7(m9vCyGiA7nQ6lJ)1ElK#Ne zFDa(nFXY<;-f6SZ1<hs~Zy$<|HPw|O{T#(Q`jPFhJ($jrDvbu}aOGI?jCPgp8UAv< zKBpcvE>Pt^RnwH;ET+Wyj(#OJ1ZCrOky=#da4&I(I(=O$7`?cWw!S)&Xy&}{-0a!G zchDBfPgZsG&eu*g{#5iUy^_A)ru6L;Fwt;GJWBLf(!u?<D6KM&lWFei%+xr~JWoGY zJ4Zur6xT*MOEXFmLK|GufJKTHU()Kl)6H+BeGP{U0q#4QAAfF<)-;wFhbRw`TV#I| z>noQP)_1*?*z_+HhZvLRv}d_<h<h7diz0k1^1msQr^0o`Q;)r<w5zR_K)a9ngfUVV zT^XO&xO}You3vq>fzo909c3<kx|Aqs?!G2>>(it+nB$&&=PqY0kCpb5<|)rfGKmqi zp84S^V0Wq?NmrVBF$vm>{w9^Vcyv~oZJ%a@VWW<g%usJv9d}+Uo?Q0X`$_pkdzSJc zy0gpOPo1NkwV7e^Cn`eLT{ML~LgzZrYCwBVyuubm{Hg8g|DV{LuglBuRB5&w)~l;Y z+WWLpe6#zPoUN?I7!{k8UNWA#%89%~9J6c_X``a4GG2O`iehhiVx8;w85(5q+j2#z zx_QQDoFmtrKbJOXCi?noUdw!R8>oD9+tN=}FZk*56!9IZuecSz&ok7v#X8aZpR_`z zQ5_I>r1v_;+3S#ApHyym<zPjzalZdbk2>>u!EW-0Ayhv`^*~Da))L*QEGc?msT74M zTS*@9#p2`SXYW|+6YE(<rLf3D6#?R}H0RPdo%|2wR${rmmORE#!=R!s{2WwL%C*)W z)c5uwRSusJs=u{n=`tHhMaj2IXAy2xCwR(yb{uwfW!K4y6t5NcQF;4}yRmz+sIH=d z3wK_T8V#>~$J40=k!4TV!9HtsdhKk@TWtp*OZ!!{aGWORNdA@1<)f$=>M{GnZFCng zXQf}|!xWsj1Gn2-?paB0k}}K=SGN4Cu9cqhJS<pWk<Rv4x6lmKEb&RxUf?I$*~%10 zWAZLJT^fUD&q?S`HH{fW@As~!vSkb9nIaCTfWO#UWFGZ`>E)~=YppeC>oc(>@fDXn zS+Zq{#cE$|N9_l)rn9N3sl6Mle}H%uAH$4AWV4X}gT3snL_P2&l3ipJw-Y^te(_o4 zHa^W6Eoz_{sLdd>m5G&|U7M*$*<n>(T|2`|aea4dYlI^nJrl;kPiWXI&dyE6InN~S zG5<?+S}YQcCl8{Q`6}`{;+xgpjjT-lO50w}I-XXjtZMd*c&dWc81%8~qa5MbXg}>; zfIZoDE|)H5&vK!>o<z-4(F^e;(J!hesUjY;Dd;KHo05tad*@SkHGO?Dse_hTl`Y(} zsUMQ%%0i7=_f@u!?%<5@9^%(<ml-|t$orl-#$M!Wimr%yiN=UaMEO)V(!sW(_wakk zZlV};r3;Yu_xYvfxg8ddWs1kjU!|_d{59)*mP-DnBRm6`Jl4uYbIZJEy}iA+yzrsq z1!{=svbedZnCi%@*=|f%eg~q1UpNzeEMBa*uc%ABbbYaZbkE}U5Ki%6*>>4IQEe`q zImu4K{`&yC%)8$m<{9o?L;uP4B~Jo<!;3y4@*Bh7WyiA}uyzXd|D(vxqH@s(aXCRT z|9Sh;ZPB4*3H2FIX*rz0T*uk^9x4cx?n$PAPM|Y94VcDkE>~aZ7Eh*-n<+0>#l7T4 zqssL>bQgX|M52cLOJXO^(vFZ$#Ks&qiC>0Y_8pwuMN%9pL3O9rkpB^#xLlwta_M{Y zbb2X!0{sM@@~`m(v^y1u9yALO-;BYTn~}JT%5dL^meeEaEwS$Rnb|GGxU)fvb!2<W z51o^$$U)>eL^cD^C!!DV6KQNR?MpvkiupcNTk<tAm^|`(FBgky=q<=poKWmW*R48u zCLzNqdyC(D>q^w2T!1TYpbx+jekC`Ze@lp{Dq=GyW$&?Vu|rQnjr=p{cjANoLRDM= zABIuIL>PCF8;_{}9ikbbvaE=Fgy?htBE942^!6S7KAy2PI30GKPw*`U_?Ud2<}R@` z*1Hx}sxNY<@%(!OF^nTn>)V%G!-e4lXbkqP6Y+$$7y6uBCrZed)KYZV8ASHR8Olv= zCTL3I96FEC@pFL_0!jdJ{6<oTo*?7UrLZF^0S^WO;VGVI)yJvVWAqVJb5GE}t2uFn zd`l%$5!5_H{o8TE=fasyDrvwo(z@JZZW|)QAYwB4p6W_{MW41vVj0d;`;ns&#ggPU z)cJc448~=)Gj=y45Ru)(IoT#6fv;q5bD2aws?kpe)@2ONI0!t0oy$p3>mi?XbDy|l zoC_=N5BewI$<YApkEiid(3=BsCXgD3u-ANmId_1(JmoH8e?A6r>@q$XeZ17f-#E`( zi4)rfWC5`Qr_otBJNiVf#(Il^kr3+A?8U#UarzsCvx7aT`%;Q{ITz<|&#?FHjaq<F z=%z3m&*biMx6o}V1<%4r>^5@|Z_Wa0pd+YOovcpm<yIiZXLt${*8r8XCm{O2@_Tpm zn&^y^=8K4c@9{G+vmrQnFT&kh16#72cM?mnzc0ot-vRA#3mA>p*qPi!WPb?zk93?1 zW}^N@Tdb-DR`Cm?569{J0-R6$L8fD$*B|oz7W_ud9IWRqPHaAd-laJA9)V{ssLD*D zUJI<`Ux>d~^0zoChxPNLiETKKnT{P(E?3A8B-ddl-VCd)0={SfuA^`segMy?B4HJQ z9mTbKQT@9GIRR(hYjO7_(8-g8n(Rm}#@WDO)OS(fSyC#V1<oO-5Y5SN82bcv)2;A~ z&Vzl^C#-?OS^Gqy6V7Lg`9nDG=>uLQ;EBS1emp1^2&_o}c1=p`Ym@jfIQ2F{1~Y($ z5vpGOiQVgKSb}cQX$_DqKT!AYG<Y`vrwo&cVf-CDd8v;*R1#)Zg>wZCy9W-q3JTxG zc?!_C3n4A26NG)ua!BGcAV;p^sf`;l(-E_Hi1USJSZ7nrP(aVnSn&bw0lyeeHeWzf z18{y73hAx|+js;L^c<GuG|nA9<HX}9zX!XXY2Zpb63@o4UtG!`1yX7=IfNL_592EN zra-z3C%5B#G5|Xh4rA29)8)F@WiE#H^~Fx<6RcMQoPkusS=FCdi*V9-5l=Xt;%VGu z>@hjqZwuLrn8&q-j9T%8TZ^aRsH~3N&Q4yal711C7>m8t9X^wLjo(?U7PYfMlK^rj zv4Aw<36d|K{Y?NaVH{C|{Ejn+vEbM@oRrnZGdvGp7rZ=&op2`hS(Ay{z|Mu^IYkTD z%b(nN?Bd#zZ(%tTfRQjjPtRf(S)Y$Y2dG@G9@!5kAAV#a_H;GDjRMSS2X<*EL8rNR z^70Bi_#e-5I`TR8;(y^B<1d`!)rXYi<GFe)VM6WxKky_g4X2^wV4Hn#@|28c`#V6d zpOE7UK9!h2MMJ^{;>k#Bsye>`nll~ekgLfQ@T@MGh`r=goOvz8Xhy{Um*4|>V{e=W zE0u=|GUL#1rV06-dw~6}8=cB1&|HuGsn9>66!x$)MtjCrVOQ)6O8VmzdL+2G0(;Rj z&@G&FaNP-#_u}qHVf)t;LdErH?8dv{^xY39w3$H1%tw`e4`+kSnV{=+pzWz#EVl~s z(2*>HwC>@ravt=I*anQtLfDU$*uA2982gb+<$6Mr2BUY^A+{O6A3o2I@CBX#Pf*a& zB#hwMUcef}Vx@JUYyIFUhI3u<Y;z~hSUZEuUj9$`lqBB4&VVgQh5ZLAiobw<CCgzC zCgRCXGW2IFcG7~Kc>ybgj%tt%8PO5vcj2%|L(sdj1<v9&{ysI@fR!Hw(usjjR=`>> zK>vs)IMZlAoa1Vf?{QlHFEI*FRon4AHx3pNC)ThBtGMBi?ru1>P(pfUp%+8~*%(i< z+vBY7FueM4q8GOb_U|js15r5@Pr83VGrQvX(FmL-GyzA4z)x851g@Mv4k=AV{a2yW zKrBv)!}$_!9Bf<<L|;2`GWLpZjuX@K=x{KSw{oXIyOG3WPDRFoswaTf`a#5Cb%)`X z(P;$OiS;-k-i5QzCa4g)oO_PDJV%B8p3u!w@VP1Y{06jngVQ773F;)=zXWHMt8pR$ z4+gD?f?XVs=TY^*vvvGBZZLYZwS{#n-~!3Zz?G^H%{&s-#oqi1YvbCY%f=tXQ$%1= z(Fe?C1^J8|OJuRgpJX)j9Zx5^Kby}V1V(TIFwLh$m1J*`oYIiZi4NZ0=nSG2uOdgG zqir9aAj2p>^0erucmmY}2;8RVfFR;uGBxNV<}<z9<E6v7L*x{y3pG<5k6yu7iCpp( zB_SuWPu(ktdy>DUjrmsY@AO@q(YpE0WJ}pFc`~_>tIaBbqKjeX(<EJ!Y3Lp3nZR}@ zJ)&^YM$uStN9rPfkr~7<2e0SSk6ksW(+anO<1RR6c+%0q!-uORe#u>myP~;V3+^)6 zfgi`z@ouA^(GK@P&r7bFsE_2e$V{CV-6Gp^wU_{QK6#MZ$Uk<SXQCA2eQwCYoqyQI zd(6xr=z~N)PWwnvMzZuXaBvIV%)7ze&>KU?c<OVFMTE2z-5+O@oq>}cOOIwY@RgKI ztRPT3hi{|atsO7AX6kCnaptiZ{Auc_=Cr<+;!kF+>;G6f3$UoRuZ_={W=Ijc8!jeZ z8@s!^ySux)yA`{;13R%3%&RC0s7S-qneVse|2^{zF>}s7d$0Abcdfm4opX$F?#eV+ z=eq{!pKD_5-<|WcaoSeoi2}9bv>i3Wo%5aRT;bYtx^UeR>m*wtQ*qw_&w*)!|Kv}7 z>g=hF*LCtb=3n2ltz&44hc(F&X1{3t={ji`sRY_f+nlaIr48|wkG_bpoUVcEAm<>h zWo3X_@6Z&oZr7IdJ?ekm#kA>Pn=|g|ybMJ=lKpo0-O$-nt|jfZo>H@`ebk@&mWJ!j z7a0p}M>TtuovwA-)22P>%gb)JdOJtBrs!vT<kr;9te|b-=ba_kdMf7r?-lA4k7%>i za?`(rZ*jG1!uG#&9Mw3{t(qoIUr%Ro^h*1ac}f$YTc*9D-)U-~yJ(9{U!Pf54b(e5 zK6>SKRZJbN9{0}TyFH_Q%#4I>N`0^H9(v19-`Ae~?EU`CNi3ws7!<uhxuhSiZIT(5 z{3P=qeHK$`eJfpQy-SVC_?zmqg=^=UCwL9ATvl)Y9huS7b6(c<+U)T+epPdx^jK}K zVjAiF$=jlMBu`0Nq2@HNF}~I8QM%}++m@s{GiU4nwRAHSBaV)Cb+>L$&*D(@QRd4Y zUCjrzl~X4t4>w#2xZu+|dE1Z3l+T7xOE+Ud&$hmLk8BxF|18MJt&cP}P<}bLDBIO4 z87XP~T+ybR#vw`z;{7c4i|M=Vi}go5N|^f?@9GllQ~&0-PWQQ-qm^+@T*cT!ndzn( z9z#8@_(u55RGueh{af8J-uS{elYC&B65!CL<;gT@7n*Y!J(U@nDXt;*P1YFaFa2F} zdvk5W2iK3ZZHdu})Bi-)Gq&R~594b&)>*1~{qU*mXR^3#PZAC#tLi$_LgT-j0Q5+; zWE4mVvyU>)w{+E8G_zPAur_mq?Xk9(*=0JZKjccZ_f5K-*2~jB`xx)gghAix{=Ke? z^m*z#AWKQ_jmqOB`|pqGyR-|;<vG1`vL?j(I&ou4X{E3wyXCERi>t0<edd~s2F@LZ z79QEnk9GT<r8Cwhj8h9|nUd|cvf)R=p9yIlJ&eA){Brx2HdVFG{<Hh<LA%5F$YZ6U zgl4F1cFLke)wb7|;MLz;S!1^+Wdvp{v+dB9^>}Ae^|e)R`^DsaNp;OB0b%|FQbVKP z#AP_6eg61m_*L;dtl5yf>38EatxoIN!NaV*XkV08CFy$FG3{@!o8GteYwbhQcc*u> z{ZVYDdLA}IdF>2GbL*0%&CX+4F6WqF8XouMyCJ!Uxkr{~Svvd7G&=3Nq<e|Q>{*Qd zmKsLIbvmP9N=8y2M{~2yyN9KXrmwYmT9M4U&QAJ|9-ijx#*OM2`<C>%DQ4q$|9`S+ z?7w2x#n!ZY`5OJdWm#k~Ycn&tC3>fKboDgn_L!_I<TRywr1ebCP<~tdz2_Li?Ej^= zPQPq#sf{wWG8Z>w)sC?5v5rda>?rN)%67v1GydlHbBR68djB_B-gy@=IvsbDnk81U zpEPXnbQqesMrKY)ZIk}Q5o~Jh)yJY$I%YmfEtHw;DsOa}ZW=b}YS9n=o6#VpopDIO z%WN+l_hSafTCA0PqW!!2|L{!G+A~alkER4_mU>k2bZ}B^fwUzl{W5gQaZ7feKIY|) z@u|90e|t6kH`8<Tcl|uA-I3cKotfL(!Bd-cq2Ish4`VvVPj*E34$9il|ATpf`Z{%g zLTE;)l44nHS)qMy>yi8@WkbdX?OxB>-j7Ww*4HWPQZCu&8=jb(S}N#$v<+={tliRk z*nj)z0@`^$`n&A=qTl7U*|WaS8kyyTakCnhTs>h==48FY+iW?diOvX3Zku}Cmfy6| z$H!}oc2U~Ol%nZZ)Yrzp<`Bzm?FaR6Mw)GL=2gvA-w^+2=1sq^$DB?$Wf&STG$6*O zw=UhbCh@@E^ERDnhR+T2SXGxElT;yfx+B%&l&{k=)iot`Wy(Jpzm#U?=9X*5v95-W z%!~)lVVNU!5x&c^+V!nstAF2_nBmz!`^bPIUPqMDwyOz^6U~lzkIufQjl=D&k{2d6 zOKGSc^@{MzXPInEOj?xk-TF+o!?epX-S9xO)9RO*W^ZrPdOq+U?_bWY#*F(}Hgk(# zr)<6fT}<h!XWE(H%TsS?E_q+{dZFZEYlhiL(dpInyM3GZzSCRM-z3JRlyS^AuJb5m z8K*7ow5R*oeVi@TOJ1M-9(b=#Zu~tZ?un~bK<#WJ{Ho|`IC>`yPAHSv(@@6O+oQ31 zE46WwPs$A2Jad$v&5Qm1Q|-x5)9bk|8M9f=c-+@SIu@sI<s{%9uA*L%KJk_&iT7h# z{OYbX2Ykr-)#sV=uYGBv>F-HvPvb$KG}8xX@6;_xM^hF!VlCtSj9$fDTT(qzlG1-` zV$FLk+0D0HryWHzlATs|z?<Ro!gsVe_0PN?{SsCi?g!+{R?hd8)@l8naPDuIeXn`G z&mUuT=c3fO#FZ)2)TQ2Ivjlpawhv4`m=c+}N4vsfprw|vsI#Z7dHN3KJ1^Id@c!=Y zWz6~K&(G|MiRPZ!LIct~kGW#40~6mTe{k;d7~@miu*3E%c}Mc|jC$I7K68EkGp@Gg zO0J&z!rD<E?D5^)LSNQ7%I=jJ!g{r1`cq#1-fMMNe`SmNniS(PE1-DRcuP~)kW3}< zQEG~2x93tHi+;MbbaK_?<jlMJR(`d7@94{A-c7EZZgONAnp>({%=#gYVzw66H0@zE zuhHR^)2F;9I(BMov$P>T838T)vzaTZi_*6x^iTV!y!XoQ9jBbg*qn4QWw?DiyVh0o znxfd#G$}7KzNkmd?LC&6YiV*if^8%0{q^Ntcg&?d+jy<EPmjCxYrJ*6U#fplmLCR( z<62s~#H*Q8wAVaaS(dv#raO`<rGIn|H1G5NW<KbOB|GSq`P+5MT-UtO#5kYxrPblQ ztUu$@c=&iMu-wl05PvG6z3Zd@fh=phmns&@3r)%E7^g4m`N6o|@g%K8%BxJHX0=Cd zulmMtXZ5t0G;3xDCDpvZw9PP?_+po}sm89m>hdy&8>38((?0&5lXPCWndP?cNH1Td zgMDs#qqOqsF8yrFJmU^W>-5RVLDt@ya~|V7WA*vf?P(j+XIXu<Gt7sK{S7IsP#R^u zqq(oUq=`3mGX|Qjr*`{YI_au*vj1_PbCxyg3VY}D__V9ekGip*|LOPG3#1-O4RVy# zzVO&=E~@u&DjB6ROWDna%O>^=)4k#J<F2*`+E<#K+WV#s=8}fl$wd;J$?FZZ{TBJu zw_H_?_UoyKGp?!U_0b-al!vwzDI3ztIJ#>qdK5M3^&9MM($)0W_Rfaw#wNxry2`G5 z>RQ`&ZDY+?T^&;~^ICn8lvaO3QXiUD`91JyZf>SFv!$f=$lRqm3`ISjYZhArQ~#v5 za30fcH!m~}(3ZBHNi$_;I7%7E8b%wsDUH<aj&`=P`gfYbWJQOWZt7~LEJ(Dc2ATtX zGrh-{raQ0Nucj@tZB$Ph%bT~j9$EiOOS1iRHqx##?lex<wY2ZajIjRWnrR3zXpKJF z9vV-l**QT!P2<B}qesn$bk)*wCKgSLGL`Yk>g_cAR4?0g87*uDHKj}$rpm5%*2?Lp zY#Y=ox@dDN(^%ak+tbWMo4;m{;j4a;v57V(dzBVa7a8*?fx1Py3Ldp|KT=O8HO)Nh z;pN@gbCdp*CQv<>`8{)|`o!4RRLwQlmYZHgs$-0@#k9?MLtEHB&T4V|<GQ2!q#J1r z*3NRBbu`sjjJ;g3n#H=oo;`Hq(kdsNv*z;X>{-L3v#z-kt_EkG&D^R+8)6M7)nfL( z)=u_$jyO#{!)W~;b||f4`_F#Qc})q^?$sAiwy7iRX|C$pdycA_!uo8M?3#k98<O7G z3Y#u@3^(`DJym|%&!mUg6pe?;U;k4*X**%9Z!h6It9xh|YiObQV5@1XVE5Ae((ce# z(C^ZWbb8tkDox3?#Av@6D;h(srBdQk+A8zRi!EPGyR}c$_UREBqa1s6Ta5nNmCg}X zyY-XpoNKdwqOq>N1ZQ#<wAE#5S(JW+v8A?!CepdgwO&ba25D{j+#ZRpf$7sy`dPc_ zub75g?i)L318sfM2iuY~yA4`;19_cmZLh649gnnUjRD3CWii}z-rh;wsJ(1hXZWnV z*MyMU+~OLl_SaoEEird<&QAX)ZIqhT806t$X>Yuu8EAc+amC(C>u(sYd+IVcEVj0` z&yL*MPWnFj<(g)WA-3(d?CNNxioUishq9G(?+>{OIk&qqv_FiibaB=PssE<GcO~c* z^C;tEZ4u{y%r}_<&LpLVZn&~Z-Dsa@OR}|Qw}5;4JGwQl){YCd1`c}lx}W;K+Cb$H zXSi>1O;<Z9NxGiKKAODNI%!L-ZIpwCX{O$WP$kM<$~x9oTTM}_>dKQ-C}vBs{^RJO znWZbKpQFv|s_DpX4|aag9MBclN6}gnz35epp>NP$(^WQf)7-Z;&m3%vRSp?mn_C<7 zN*`xE+bjDQ=UZ(i=O7nX(``YVDE>rqKs!l4M>o;c*tyNVU2UpN*R|KT(9P2NaPr|$ zW}<J=ebu!w{MKaH*IF0bH|v6osiq$~ld?x0VqfLB@BF4+rkkS_Q4iRgI-5ItXl825 z=p%J~U8B**SLX`NBJDw)R$Eayz#6`RteHvUjLr<*Qcbvhx^)>Nu*3D&4Q;iJG<%(e z?3eBTIEyIB%5u#d=Rx~(yVY^S6|8NnyQz4og;>?wNNul~qiiI@YURB4lH`dya1vt- z^Z5c@6C7jhr5!(9C$&>pDarg1=Mj5<`(CH&`b^(m=N#>LZolVfpq^94Y3-Wh&K3@h zv#!cs*_z(kM~qYaaPD#*cOBDI(VkYWD;r$B9pmiZ9R_8ZHc>l?e&R}Ju%o`y<f_Cx z45Mqia|vsw6P?X9ZCGbpR`bre*I7z^=Sn2URZz?77;;O@oYDAd3+nuJeKj|n=N*yG zEv|D)8(l$Nb;ZSs*EP<A<T#wnvwEh6I8*GM_&!?cqAjCzb!~IrcXIZNV&gRAtz_rd zaazi6*LmfqHc+>Y?75bc*2}n#YOZS)ZFS|Unp^$FN!EVk40Dsm>#8<&uBWc0HIdA? z9-&#p8u}=e`8MQca+1ZUDAFU(9YR*!NBQWQq$->=y_!6BIN7;MnsD|$D#r=26Bx<h zoFO%<TG~0&`B>%5G0r7^N2cl(-?BF|>qAbH{f%S}V;#;7jMMbuY4ypNZsH8r1?phV z6RxXlbgfi>Q2rBj4w>%ensSUj4Po?Yzw0O2XkT(x{h7zVf}GEK#gp~ExyaXhlSwZ@ z9y-5vJWrJKdsdSfT*myrjm*<7#D0&dDrX{Tnk)Ha<p^s7W-+rmma|)%(86Y9jg~WZ zk;pldlQ{=^F8NT&rF~XZWsOo)Da(BO_pV6J`+UoK#Q-vUeVJX!{@9!}+g}+)HrA?M zBERj+h|3tz*xfZn{mApWE4!56$jq0~gO-dP?IJ&1QVC%#T@5mJ(=<($QGEZ<^@7Zv ztmeDT+;W`~M-Kg8a&(88X)~YkyChb;1v6u4JmXCx+%r<AlX<T}w*L!jZdxGU?#u%l zO#OG0)n3mE;ZbC?CNSUXwQD#T>Y8LL+mRFPL0<DH^C0gqm#GnVOeMSZiFrCL$oOlJ znM&4hC^KfukUtM3tE{Ego0!|)j-1>evUd;3P<H33y}5P(8C_Z9P?;>8%8aK-*vY1D zXT)MUuk4(?%30rJ*Xl4sup9rMWYyh8H2xCwUgJ(9BR>CP-Al>R<<|6N=Fef~E{`I| zIFC7cp?p7vSx03UofyjO-`R|7O#^+6nejP<Eb2w_vt4Oj3D)p%J`cI;!f50b*Y_Zo zdzf6SjhR5p(eOYRE|l7RV$5qcBP)fOd2|`(YeUXFH(B*n<Qb1L*K04C>j0j=6UoY4 zdpk^VpSJ6j!_;^dBUj%vso>=kn94`4@)z?HyP??)w66{`Vq219A4XoY6T1G%{HdLk z7{$2516sD14C{R6G#w$En(CfmHHX%<WtQg=<~%(i7s=XK=7=q2Ot2E;e!tQ6F6v++ zuilC|TK|w6myB&&p0NaN6hb%Q-08&}>-IdoD;djeXmkqmtA26U9`d11)fbH4WA>G- zB9T*6x{||8WW=!qb6!t_4Kw2os~D>t%-BO#Mj-+jYwCgodN6}G5zYMqDLv4}MDp`d zjFKE;##krtHwCO5K$eV%l8Fvt40aNuB>CL>W^|icv|yfGWB%{Q-%pt9b{9?Tf{ilJ ze`ChDPIB*Rq}_qhge^#HIGKN016YCCf6ZuJ9ODY#$mrK2^PQDv>!{m!=68)^?b#0Q zsK`9H=gd(1N*+EpndRBwZ!_1AVQ$(Hq!h~R+P|D7JDW&jA)`Zq@QsnrTEGZh(Ns2a z-tWnaUuP7eAqXi?mh?6Ao^z5_Uj(`{$THt%hH4+A^BR3Op%zD(Ln<|vlWPp<=$MRz zGL|xtr>0?5JFuyX)TlTkGSQ4+%|k=+uDZxCKiob9OIu5+*_i3q2w!v^d0qvtxtO&V zi8M-qg)Yo5eGVd4gT??x6dQt(b7ZQ=!*oHcBi@e&GMS@yn3;vOx#k2J{}9msfs%(a z&Tt<I$_Um{uAIdv%oj#Nyg~C5=0?h?WXnN(4C9)aTshG_qw*Yc?xJY-F7C)+B&H=2 zpM)-wS*4i7lPjUEmW&cTWo*Zfk-|aXuRWQ5IUT44TAPi&mZKM$7ubRS7h((Jn1`DN zdg7674^|8uB1@NtdR#`MF6R9OGXf(>>i~~zXU6|%o>-T1TQDLv0qZ{r2actT!q`zS z?!Lvl3>woia@dn=d%FLVGf3J|lOx#XCF-;u+zb(BVJt_^T$s(@8<-RAg}3-fsmC?( znyj2joWOWQAGDbVy-#8O@G9!j91JIeF*!*rE6CW)m`Qu=_X1iB#9H*|`#5tHqZoOT z`RKB$;T<D`vU=1XR9!(!qFX;?ou9EH&Z6e-t)TuQWt`%>acFWPntjcTOK&7l9LA18 z=25JY_}`4>Fs=;ej#rfPijk5C*ytiQeFOHGjunMs(KVRIzaG79#L{b_;ZdOI602?w z!2WB%$UZ!lks0A{u=>SZdjKs)q3h$=$8O61g2&Nu!t*gKGpEa&GAA>}7zy6yfu2?H ziJX<!fi?;bM#6*#8PmFh4a|ad_Av%*WPXR8k>H*%N=~?<KhoTc#f*l7@-S-G0!Ca7 zTearfF<9zyw6O*IlDYcDVX|eEc^DfUh^_{rhd$uQlX0qRAn*wi^@i_cRhktEo?)Em zJtNGu-THRHMjrScKSp`&pjP~SX*|bdX1+E+2XR=l0`8hHB2^0PDAXVeS5`rHfAOpr z@Kjd(bqMyKhK$cMqx>_dmNU94!sdUO!^?gR@OWKNI|-|efIIH;?&>~?<`DM!nenx5 z*uMp2Cc-<Ol%L8RWSP&agP}(<io1^S@j2kO5SZ-8h~#OcAScC)!#0lcZVi6^p!;vs zwmP0|D5&>@0iNN9Wj3zNudTzUomsoE3%Le^`x-FD0_MW}#{WEKbT}N;4y2xQX}vt* zChMQS^79@e!R67v%B<?%$X`}a@4-ffpih6EaS$oT;emQloB4Qr*=@oX<X1#~vU0FI zPi{x49YL|I12SRf?I>X`)^!Z69i;s1;9EhLvVx`)IrRUX=Dm`(Oy<8!pyM|lG6_HV zmDpq(+AM&S^vpHM2fNFOPh-)Jow}SyYEOvLlHmkj#vF}EFa^Yh@p&Y#QgA>!SYOs$ z`~t_Xu?IORRMrCA#X4?Nzov}IM`IDP>gEw8eWg4HB_GCqYcOut3|qbgBg$DWzi6wR zq;wL?IL!QUfBZsE>MiGgPbD_#5C2Z!^BdUBF4%K4oGB+T{$M4kiP)n*4Db$1f6gqF z;Y3q~n6pruvC#GC|1~v>rffOaXfE&W*xVL(q#>tX@5cIDz`lF<Y$MNFj;`Z4;VF^0 zU>)VubzAENN{FJ>e!PT1WM=~z)fG?l9_gq^@e*Ym$IcH@OYt1zv8G|nspyY}wqT*l z87n_e^tA`PoW>Goq0ygsq~q+LBIkH60)Mh*G9PWvgPpd)Cg*_Aa9Gx#nKDP{4UD1G zwdnE`n%oTPj_`zC==y(=;R!4{f+szKJ0J6TQ}CRD%*%myv73cFr7_l*PGn%=X%%_q zBuX5P?GL4-Oju|qZ8(d)`D4!m80U>ZW6zn}eFyD6CZ>^7QF~%{c|k-Rc7GLVyuqV* z!vqc8NGriJBKYJt45(ubYc?XLGSnmoo>x{$>tG34v2+{uJqw~1z?N-^vPQuvCE$w^ zL^1zj%d&Du_BhCo%!6RQ^;pbx5Gw1#yMT5%>-#jVjRCiZXsyIw`LUcxnDPs_)xa_3 zu`pTBS{lwQO^bWtZ8qV3CQw>CS}&)Z4(Ca|`F=Nk=m6hN#(G1khbPvZ4?dC=PIKXl z`uy#y*@rZa6QM=H$Xep&q9Dc0y2Q({{88}igZ&ia+9KFiQEDSAZa%~Pfz-Ss+7H6V zJf?<LIFGY);QMRDb1kWTY3%w1HljyMCAd2Rl!a5KtN^XRoR~Vqalu68{TV42FF1jb z_kTI#`z>e28;Q8HGxBdCwhrdX9IP3Qr-v58=y*Y1NnGJY6xf2;x;Y+Z15zJMkE0;A z*a`0<XAlOl8m0sGFq|l{E#FOKPmhkw*!e?ro}~U#1Mo_vIIBJ@vw<pN!E*BIUUZnr zo)cwgS0olrj*D{dzy|9<lFYc;%r%$!^f2X)=bk<M_mrQDiOHtmeOs|2pdS8l3KsU4 zh>6|8;1m}#93J8qc3_h`@isA_r~+|D0%*R92VMz!PQWx*DD4b3zk}L_A*UUz2x*MX zRzYIJXwOjIOIZ8825lX{!XHzcE0lHse99_P53IpS{R7c-7p(XwxIBvAH~^PO*?Y0) z^~h>J-u?x87nbv3t)QJY%1WLK!~^@#*m>fLV`%FUeDj27ed6sPqAG({2ZOO8ls+6^ zJ(C#d7P}{eu^Yw-je)s|gIGnKk2B2nGTUT6+;EuB_u)H_W97%0Q}mub&L=E?HCUJP z1lJH5bp^?CGPj+XL|J)475<m=$+wXY_)R}Mj}nb1I!2GyqGV+Uh)~KeLch5#?~1(U zvsXkkNMBB!dcY@B@L7FXMYI>oILq^|Q@cIzPhof{3;T22hCBa)?MF!M8tk?g)NG@@ z_guB`@Qtv)-uSJG_>niT#WmPN=DSp)w&y9!N-K2C2poY8$x6;R?tBMdo3PA|_~Zq! z+8Ndf{zuy;5yy&mmesyZX`>0vlprd)2$qiESKgwl8t~X=_$?VZo`#L8gNi)(yvqDN z73o$`#wi_?uC#M3pNUm{!K0_sV=M?~2vf*8>q}_+1R{>IShW-F$qCSfuzFc%S{05e zgGBrBeGOg(VIn^`sR{Lxojwj=lgsE=oktQk-7EKBGY9f0y4ud&{?v!wFy5&osO$u4 zqTNgwL<H)A7k!01x6lvxh`nT?_bmOYM)aKj<&_;aiDAc+Z^TM3iD=?s%-r<helfSM zIkUV*6K@{Fn*8CUX2^U!vR#4Pz39cvq7OL)tTzMw{Xy&%P-?@XtY|4OuNXYmed5XU zSi@)Vc@Yes0ma*iZ?<DgJ7KkFp!^HcxQh+!!7l5O$r(XghlA}T%JaiMrDsu!y4qo} zDX>Nmxq@^x3+xa8E3Bj3c-oM`z6h_-vslqYBsPmUb~x;_m-2SQFw8sU*`2vw_MkWk zpURq56?E;yYDdwQ6?oP}R{gJnrRQN6U05^J2A}yE+?{7mYJ2uk7>a!5+``j*lFl9n zAzTqe4EKot4<M;cJhwd@HH8+ghc)(aM`vVz0cp;sW?9gc84V0W+iiHx5;S<88F*!s z2=*>{3dW9LM;qy%EXJb3$TF+~t?P-gmSb~`LEIFWyAQlR2=7;wE2r~qEo{CA7@O(# zlzv2THauq%anoYjd5`{s6-#<akM%3wWeOH>4__Y7J_zNM(Xc@$rK-{lt5w-i>jAz! zj8bRA0G+T|IVt&HV&86LKf?GOfemy93H|t_Cf^nU@s0VU5phR9(A)rh%>^rc_$~X@ z?7`kQP_JHinbWlH5Nxs!3~j;wJ`x?q(#Lzt>lr<Yv+Rv>o4JSwY5jF<>khwT>2uGe zuDy`UAj%j=`&)uW*;i{N*4>xbvo?HC23-`O4tDyq`9aMu_&FG#+#KufiJat&-~0Sd zLaY1e3(7u3yO8c4Vw)vA$BvzZBcq)##YOzpTX)av9e-~HwH@(Ua+2{9IKLaSHvRB= z)xb<i&={e{s<+fPs!LT|dThoQ+p+WCd-nf|R#!1=c%OQlT}Q^K2bedtT)m9fv@nzJ zE7w=VdjwI|FRpy6`tg5D@^fC`J6XN0uIJvV>LGQZx}R_V!z)Is`N#zfqAr8rgcVrk z4C230M6s3dsTIh31%bC2*xe>Dx(NG<gh$U|3omKGW?~6B9s4>Fr<2$s2Yjo?BPG+@ z2_X7l$pHLb1J)>rjkgAM3RrqU-`0q{<xEKCz>pz$N38V_l*@_cOW~FoZt0A~+xMU* z1F(Vq)M}kOD>npdT#Hwo!Z+gi=VFnG`0z2<O()`|GN7j>9ypK~s0iGvp$}XT&#T7| zoW$z-Bl|XRUsa^v7Tc;vwEcw^B%q-##5y(UFPO0^D|Pz8H*bmXqu}vk;IlSdU6M$y z9SEq#RW;mws<O1RBK#`*k+k7c2XS^R{P7A85=>9A6K(bY^GzwC98tkLTKbpg#lq^H zsO2P>A%v^yU@4=p<Q~XL&b-e78oP7PW^89NT)!M|(}O4UAj>Ix8eIV6PIk<Df~8-^ zcb>unF6Bz;Wl83uJN~!_<&UP$^}%v}^4Onvt{FRO0}Irqt%G=OEi~Z?V`n3m%iLV7 zVHvS~6~669wEU4c?-%#z$(xp-#d(l(A$-IUaD5KM>>|1t52kN{1rMZ99S!uP?q$%p zACZR4%*+YjT0lY?(X*9yYngq0*v)v!Wc}nU=3{7b2RfE>Fy9f6zXwqsNTiZGPM2rL z@w^-Sd_ixZD7CJN-H(EK&Lf3nY;YkAyNMXJ1MRAVuilGXC%_&-@Rk=(&4VN+Ba^K3 z9@6nYd60<gX_bI}Wk;)m*t$eHjhQ_xCk$7_TXrXom<8K(A^P{{zCy4=Ni4e<al&_O z<r+S{Ir!-UH>}1RNS;Q{kiHF`77!QaWM_pMSdpyiE=Lx*Ai0(HAaIoHAMCOo)}4#p zzIubk6<E|Pusi~mKjXHV=6KX)pkXbNwDZ{;5cwTREyqLV!79tSqKRyE><U<kd-GzY zrKm?QUZaVE|G}qK#$IIZX?bc9K<qq&h_WcPs0ydZ8su=~{TXQ=z{5}Gr(_OZ(2{ku zXgv0Ql>bgsmv>yHMOHbHT`iCugLGn%p`4Lh7rA^zQ>-RHC!zT9dvKa?$x>=MkLb8K z&l}8ZBDI?dVlv4Q8<6KwqRZEmwHv*613gjfEhxLG1><#xf)pQY@Ryq%PV)C>Je?U- zjc}vr4gT>NcV0tc`*_}3+H!*!Peo26_+$t88^svtcNEFgRMc!C5uX*LKBk{plZ zp(=o&68MGZ_z4e%{as=5NMgAkU~3k5+OG*@^d=j-Nv3No?4k3R)dl0}XEFDfe(_Sg z+Ddr;DG}mR{6IL~=Q7N{lC13_e&5C;gk!s-@uS=L`z+&8;e0wA+wFyo$T{G4o_Uv; zZy{c{4<)V!ai^I5oP^i1VdclTIv9R=Ltm;0UidG0)H{rd1fz*AAl(U0Gl|0_$MYAR z)J2A&w9AjY)H8H@8rdwxrY^v*7l|Gg;UC(On;Qgfw-Oia1TUT03uGP~s>gQZ#O$5a zU=3|+h2)yR8F}!2!PKKR+Lqju>}N9_oG-$wZ6PL+Xi2h`4?%n{`gUF6SMeg>h*>Ux zB000YAnbFU8h%GlABnx65k*9kH?d%E(Xc`iJ&kHy<A8A^7;E`~Zgo7(f?d8xtFmvP z6CTNj{wrgHHRvk~hb@C4lBvUDo+KVNJK1EmNvE7YSn*6yy&EeSMnqYiJrjbcT_}J3 z3nufi*5;4ujV<KCVsgMnjj@7s^(!8+FnBx%rUv3Wo8wK(V6*G_R(hUgn1TO8wX0&k zPS!OktoTUA)0X7_7L@AE4qzwo&}Z@DChT$ove-=xmeTJ#0NaeA4>y9?tu?i%g+ICh zURM!WR)Gn+kcX9=X#m#b$2inqG-hMPL<{1_A;i`(V0{|p9fLJn!bO?%(Za#<9U?)= zTxG*+v_&F~kjxxnrFwXjYQ%Dh_?bVfYw1X2auA7z;uR}U-fyfb03T5Rd6op%Gu=^A zORVz~8M}-4ui|_b1-m{3@2$wrg@A#*Sj<G2HI&k;g2TrAKLBqujVCq3*X2VqB|&Ey zYTX5YP@Qi*@o>WENq7<)>jhfz)Vf?him0F)_52OjECG$@LE&9kbO#u7(f)8e{aj?& z2-Mbv*A~;(OYnvhxx4{);apdfr*^`#=EE{#z;OVcs}*rt9lY05veQe!X?7y>nzX9{ zpO(UgD}k(R@K9ysHHCg^5<YY#vEW!ZZ7x?earf(P5TPE&tGvf@qp()ldoqa{22uAl zu!Kda0W17qH?iyRz-g|P{OJnf%$ZnpGj~kg0X@v6Z?y(LBI}|4&<~M_p#t*p!oq&h zyD?Dzmh@IbV598#?~ce<&f1;=zISo=G|Cg7)`tIg!c1%2F=zvDQNo?$k(g&4?6HAw zJD?@WG8!pQPB1S9Z<=`PK+jVw<uVA9{j$zug|g?H<OTnO?IV!(OKkNNyfBHewbG!u zBi=(YElv4*CVpxhy^pnU#X;Ke6~BESe))sdU8S$2!3TuEdb0kd7^rxJj$&bZ*%3<e z3RXCx3EZn^6~<!fu^K(z#~!>vYcc$<4``0UhGmz$nfSuvcpljSC?9qZ4`0N(M>rPI zvPjyui4xyZb_ulT#GA{>^u3Ans*rV(y_M=AFHdR_4`;}pKN`L-537FyA(E#t!z$58 zqAyk*j8B$5N)_~x7qrG>k&)m=cIIqAT~=eU52=srw)Vi?+WmO&v9LolGWf`yL$Uqw zu+&u;brGI!1)q$;Ls!KMe`j2vCu~}V+9V>0%~<(4{CFPzPbRLsfj9jJWEtT9Jk;_9 z->$~)Z)4GUsE>>q`7)wE7haXvI2K>_6X`qowj7aLG8(lb&nP^1EV1+>GQ&|sJol*S z4?Jf8uM{*qA9>4;k>8PdV<eP94_i*XAAkh5^DIw1Mk4W{oFm@}Mko&wn`7V0iK33t zs~HD&vl02tz(P7>2X)~R6^s7u9_3hq<<x{hri0ff;9swNAeVCz&w84E-UaO94E?h= zWEq|?>J!NRnw1q7z0oARpcQt}D4F!h{@_8^U_YDihDRxFEq<pC{lW5h$q05Dv9k^@ zixQ|@Ajh+c63@UzE=>>SWwd91$|S}F49ZXJv@<@pHg>d@GJax_>#18l;+Ir%5n323 z3oYvd0}iIGlE>~qYnl@?FX7XIFmDr3FqCgAVTm&0*cmn*1G??7(KM`J0(y?Zv)!W? zvK6duz}o)6NB^NWE%Bp7_>p+(kD%{An97EZbD-f&<}1tw4K;~F3d21*ke><%r*qvC zWWN*E%|mn>N_?D~c?_@VTjiz3HHmyap!366&RTGI8ZF*O>&fmo$LZGFd9ZvHeafzn zm$>o@_Hq(CS%9zJ=#CmC2WW$PYNNpk^eSW*+@AQADe%f5ur!I-VKRQc3zpQ|9Sel= zTrW_o0ZmqXjbsRzFN6HDF$+NUEzJ!Ein9LcF45O6Y-BW+u>@|pjGP7#^^L?zS`h~~ zU^GL#t_K$J4j+4s{i;u?vseS{K?b-eKC~)*)$I7o3V2upZ!i4Z2udi3U;GbGnv)W` zQtEQrRmtVU>!X^N=(j6geLQkGgcY~r?;EU^yN*9L;fepKJJmDlBGzmwM7~|&vED?* zLA+&8JLz*wB|2`!H%DQ$4Oq}7df^?B+fdfgj&t`#vVp%6@Mmri6oRiB3^qc+g+KX% zrt}#$fSL_(?`Kf99{FWMW-H;<*J#{^j#Su2_B~XIY@FEVP`qJLqG;KVsReqt4@%b} zQ+79i?Vh0JAL#KOCG^D(C8mClCoF=U%RX66Kw<~<=gWI7NI&QH@P+VZ;`Pgsy;HGd z$xh17c7<VEANcG8G5tq$(H-uQoYq!Q(I19M;#wa(n&g2a@SEAG`+I7BhM8KUY0DO# zG2h*bDg+}Ghfxh+R>oCEVi!HBTMgcw-QN2QC2WShpTV%9cvXoWKhx$ySWSM`Qisy# zFAsZ+#{y*U-f8&9Kt>WiA&L7uUp!KIuBgi^JMsT2u-pRetmgMHEaMOyRUE%J4|dtf z&o;EuQ?ndKzJxu<m`r18)`a>DMy?H!@gDB00cw^J`JUn0AE00MCGsHKy&Y|LqU5e% zXEZfP!>$&=h+~O{%d$^w8BkFhc}dpqCejRsiQ=)h7^L?WoF7DH5iqeg46M4^Ad%KQ z`2(>*G9x9wDN(YvCy~ZwI6+2q;`wV9o^=q<lbzdSU&SS0d=36WShxfKj|cI~sflFz zmV%kPVEqVBJcKmliZ=XQz#TV0hnD*I(pUP(OJ<jKr>5&+^ecEP=`V8v0CIVXWW&+) zdrG-MJy<aSDol*^MIeC$S{wn^rW4t&A}(guCH30QCpVDBRxJ7tHn5A>>=|-?&1buL z&SvU%iun8i&wIkBeelUOX;U2#Rt?F>D8*4;Bk+Kuu(dJ7#*2`q>{K|5Yo}AkXlivF z_N?RH{p=w!mR<GFBHN8TZ!vP3N_!8|;<02&r@|uhz_9H2_mR47r9J&%I`PSm(f>`X z%g!p%Uf^ymKZk*ihWLEh!zmXwP!Viw1ha$O`GKV%S9)ce(OMHCJl3t_<<=6#_T#S| zAoLRU9m==W!S}z!HD$32>G_v{J4b=8*?5OABCc^<c@s2`#b+JElibEy`eBo^dEdsb zbz=TqD{}c|8N<k>WYBv&z#PCk^b!wo-4i@s6QzY>!!u?u=J}5Cj%Zf9M-k;o-*Ox= z_Yvy-ik{<2c;YB|p9K1(vtgZ)_=LekiCyu4o$y$)2WwV5v=1C5GmEz3uVi#yR$m_@ z<2jYPy5WsGxb1ENEI$Y@+lkWG@l7tQ{xVwe#uEh)n|hGD&%rwFb8Zx!Kt~tQ+aB;L zKJFJb)EXX;OpDA>lbv{F&Q2esxQG%5l9e&S7EXE`Ly^ihq~D1D2fzq5h=VNnynP_y z7BNXOmRE{?UpBaOFmldMY+VKxknvqVG*}dy?uWz&Ad#uO2IC*QQQKhjlLZedbAHlc zhcL=(g&hsX=2n844p{bBGKBMa${l3GntZg`n$k+a+->>Y3eQ&^Im&Ly8>!_g`uh)w zQ+A-6wlHZkxJKqr7>FoSiMae=z!c)DaIm)utF(bsKl&;%R+J3-WT#}ANw9+&^nhE6 z(z|PjJ@qBa*axeTyrZ0Yuo~%YAfAk+<^>tu{)!i6n{8OH57H6O@E%Sy(#Cjf<Q%eJ zgWtZvoqf5lBi1nt&uhi&mLQ(!L#+~s2J(<k`HWqR!q%U0_YbbwPs=yB?d<?E`Qt7_ zxI&Azz7q$O2i20<$_}qr2f;azPY|sRL6-{n8^)*kiBhZbDv3nq@?Cu*z+mKX3omtp zx?P8Hdf-W0qJu${Jq{1r0;EjGvOCfnZj4W_i&j|iL%nC><y-OpIj)_JZP$exWNum& zSZxWmy_1qg5?zg<#WG$N1#2A#mq*=<v5}t_DdRq^&kCl7V{PK2W`Vex)Lb&R5~Ws# z<9zwAJ}n5wJGJDKK6vrApeh%b8jam_N7AJzBN-W|Ah~>85diY8gLrn~KtlE4fnJ*W zilR(Z7wfj!>g&(V8kSKfy-VJ9^~+d7N?b~qX-v%+nzd!tMScrB&+ETALv5|Cdh1-x zRb3a&gUlh0`;NWVHICBk1Jc%&pL4v}+d=K=^krucu}gpD9&6h_sZR7Xotd#Un3a6m z*<StP9L1^KL)j;Pkj9s6T{1I7ic&^zrH&Tc;mnYI>Na`|<&_|15*C=L_T~OcL~-Z9 zQ6qL^d8IDLla67JhcnE;j&!cmv|(?KV(eOSSY5|{BTeAT+eE*S^ix)Y3kNa3WEI1h z(YY6&QwNTH4WkZ1UeEAj$MJeIdH-U~dr{31^``opoe<=_1UYSnS)b}#5PKWl7iY$? zKf4|b)cBKM48$w@E7#$+6ZkatuVroebNbPVpfQv>=!p*o!?Yu@>cwP^uHbo}@y#w; zC9HBCj7DR5l07~S8ggUPpVe_#+h=N7o0c{sZ^C)TWP0LYl-pSSer$CG9M+mxQ2J+! ziT;;iBT3lhPIzr7bzVV~wVJqcBr}Sis`F`U5%%Og#<*iG`hq>(ecZ|5TSjdo!1zug z(}rY;0?65n!p3fZ<@R8-CD@fQ`iJ<U<#?gNFhY_#mFS^0HqZg9FGZ}`8{2O|ZDkDO z9ae83uCGsIYE$#m$9|3-+~*0Ql%Ip>xDL2)hovvTu4<9t9YTcsMQwql_>igcq8>)B z?8mi}@Y2(;wpzs26S(I;tip)AW+911aEp#;<gDAjJK(-5yk=l01Bvp3;r!8{YazZY z9$sxkU&If)o{hcKfVFQBFWw;Le?`x=BD!df2Q7iFKH`rLz}GS>rwQ!aipY01esdWf zv<eI{QS*WkxL0ts?BH#2`w}~PKY?$#P1ZgTf76b;3W2L~)UP%@TiLm_HJ&64-d*SJ z_sQt}34G)cvXDvi?qV2O4=301lE2dMU<vFql8tjAaw?@1t@4NK##8PD{6|an!1)Oq z-z9p@OC5g0`gS};1+JLmjw~I-K6zl;;<Vr=vC&f^ZJDL98<~xxp7%jWIqH-FieiZ0 zWURgpUaK73_>X%GhdneHODIO`9H2`NmRWHFqZ;8Am7bg*-)8}DGRshU=z(y21$que zh!ef}HkAMCz^Q?hSI~XkZ)WEGgFMIZtTud}jn4}q_krYl#v_@sFk3FJ$VrW5MxgXP z%E4d3Ts@JP;4dSZKj>kfM}G6rYCk+zE4Z#NdXT>KL4Nkf!urB+m3T&WdUUy|lgz=B za|!-ZYaen$;dq#rXnr42<3-+Q_&*8DIuEig!uPweVcE|j2qyKwUOw{oPp<e(30~CD z=pHlsj;2|ufR%(JKMkHD5ji<Qz092oL)x;Zzmt~yq=X2h{Kw6|Kk<Un6E1-KT(Gx{ z9KI)N_JWla{8K)jATy7?bN55;{Q?ey;P2u{)<!Mm42z0*_M+Th9yFFi#<h`lW$sOc zRW4EYtCX3a7-A05)J(q9F*+4Rf9Rnb2a;W`iEO8XB^d{dLbIok$Ys3fJ^J#+@ho-m zCS|~u2Nofx*u+xfVtC1Fd|Q_qcp%3&U`V0AXrw-MKxI9mo%eY8OroonJl_Wm%e<_n z+)>_*m;7kCJNeLg^drZitAU_FW)NA>{RlE@TluB|8uR0`L^NihoszBjgdF}O%buT- z+Jg5Dj7pp!lBtHQWR%MSjye$KRK=qg$HpaN8U@!JCU*Ctj(MnwLZ0p*5ylz%80U!d zb8`1Mta>DP>`io89hpc**Ov&>7tGZpu5L!Vn!y!)_&$`+@4yxpk?<wtED@3)5|Z4X zXi`rOPj*?hA{9^YR|*{Ku*`HMCu98uK~sL@VW5V&s8Ka!(uR1iF?j8dPg?{>E#zlk zKIuxFJrTB&-mZ-3$XHT-G@c)w)TLgXxnl_LrpPK6&&kS@L_+Uq;Suoo96i4P2Vuk- zOTg%M{yNTU2l2{G_`DCiI)`3H7!2}<`p3YhS<&f#U^<-FeLPPv&+keNWhP|`(T}XU zm<w}ULV|Lt({f7N$nTl3zVt08U^TL9(O3HLrIBMf?yrVMWNf+{wQi3j#TxS<ga4h_ z^nf1C3*?wa1TMR8*FZ*|$WwBYesD_;Ud6bh6m86fMR?Jh%ZHw7P}*c7qQx-$L~Oq` zT#^?J$SCt?G$VWCU!snyiC&kv<FS4CyeGVl!RjlBmFH3WS@iABV6nNd#9*FZ2-(U` z#wD;Rnb%f@r_|&#e|qTApfLeS#bd|Ev6X}TlzHWsK$(sf<%AO>v9Bw%$3}ZhNK+Ur z0*$=oN;#>hBmS`gK38^;ABFsf@sfV<Lj2nnqLBme!YkTvo4dZ#e>D)<#=$Gzw9Fg( zsDL(PHBk_f5?><OI~!Ly84Ho@y4YBI-odm)axpHX8h{q$?3r5FTyJDH8O-#7IY)!~ zw(h>+ELdO)$m@>%$%wnmnC=IzYEV)|B;SC)MBeq#UO(=i1VU%SEVC$K8qyyGf+fe- zjPkm2_a69Ja+Z=$k#l}}qx-@9eS#jxDZJizp4y7{9Aa!)iPDwt<pdk?9Fn(qjh5~p zF*!Re2|M(2<ESh)V+P?bc*)rX@-qcnGoibRZk+kTm*TgzAVy9q7zghS<S!Y!sg6wz z#&>TbV|$4#?NL1G4ZQaceov$w-KfVHu3pM(40Y>BTiPR+z4S&Oa?b{?8UoH_X6`KR zxkukAmK^N|MnSfL!|AkU4Sy}<?p9c5E$UPZ9Th<Sv2gKDY-2ojvI)GccK6g)^IOg* zdx^Dt;q?@qU!cWr(f$YQ_A+)UW9)s%f(!$#(z{ztEI9{@lMLrNGT969<CDNtH+o&& ziKQ0OUwXj(_rc{s{+mL?IGCp#!=q&~ZeRzMF?=tla(xHSGUp?XZ+?Td&6HQ)oe%6s zzGezfItJ(dh0k7L<@1Pehf#w~L|HdL{{ig$Bz5-!m6CsIjRtChP3alRymBurA_yif zgDrW1QL*Q8?%sM~?kEnPWqfcyH4%?o2@J@I9Ypa+xGWJ#1aewVJAQ!S>>xlqjO6^M z6IV_}E)nSegS#)9M5Hcpip-hw!&3FwVOA`oC|058cO|@HP8j(Zvg%JyYyoU=5Olo) zW%1xggKhu7XZ@tsIcY&TYWFYqG^bs;iLoZaY?JU8(fCsxCFcOAWniYSZeRHU-Zart znfu%j3+jqpjiVhyiT%X4Ed(nUi18B1`CAlE<tt<EbBW-pV-?GZVfONKJhnFmTm{m~ zBJOA-8gCXztyAdvw8O5tAzN>l*+RXVfxpQ-V<6v*2Bk9lSx$i1#`wTuEVC;uE{7~z zaK%h4dJHz&*X>v4VSP^+S@=M9MONX-GaJ!wY{Na{i32thKMiu*imc444j&qkr{o+G zz@_A94R}T`>g90b#sf{s87@tchd*!G-+UBxI7j)HiEwvdWz&(PM1gsbP=2oLiHu~_ zUS^FiMG`aJBWMk&ael5UO;q^-RHfj1zVp1duz7B3@d1>i({K3<Q-^Rz6QuJm^)T~a zODs=jn4Y5T8)2JCw5J3-qN8qEXkRxn9SiuY4{RnUO!#4^J$X_c5SN3NoB`oUp#LOj zw}Hy<FitV@9=Dlm5WvirlW17JmlaG2FulxDuYrw^r-#v(7NvtkCs(A99}xyRkA=vn z?NY8!24Q!(cN*Cl$s4Yt|8s%3MDSuHpCKob6{emt?>LQ2YEJ$)6QxKT@fk~girn8L z`G@>|fh^*&(|!2hwZx}e@nZ6vn|K_t$y;tFku`16)cqDum(v%o@$(+`{R?Z4=Q|l? z{)7Fjrd_9DpY>ST29SK6XUWWiweZVAY<mU%Y6tcvWBD@c<T3UVLpx<8@hK&x^0aWC zEGIgA=ULA|gpH^C#q(wI^8?q&p6ync?Ij*~G!hujYXP#@<MzS(d6t~9D4z8r_i!vb z9=9rZs)OB?z=LH)9wo6hS?f{_-4(!A4dBEdw6p`Eok3D@>_U9~OKKwXb!uXDz0pc5 zBwCk}BvPnG339&5TUa9=J^52^2zC^R4g!cn^6<2*_>sbJww%gXg!}4)oVwUWD4MDU zhTDMKUPNSae#3O^_Aov~R@a?oHcL1j;yyk7XlAqQ1Z(p^;%e-CKeoLA>+42b+MGJI z<(u(%mSQ}oHtjIc&a%|AEWah<^hEbM+Fgx07sQ9ls+!_N(0Tb*)@nJCy5!FO7d=V; zw+J%Jq+Jj2hYQi%a^kvfWT)FQgCK;Sc>#X5fxmhadDP)miErkD!*Eb@4<sHSDx3$? zPlH!wo_#togRC!%LU$3o!tuqILCbco*CPMM$itf_7Dl2?iHWBpje&T@N?4K)HA~>W z&7gc5`G7%W!%7kDbYdK;A^rAFScJ@vli5_M;4lsx-6A?$0H6Qw+>Fnl@FG|XgKrmt z3^_CE4Rwg%x7etaXh!l}dHMM-KEg@~Z+Y+Hj;)k*nKm7Q+uu;z7ijtgIJ->QGWLE2 zbULV=jM+6I|6h*rxq9v#<4S&x1D&CGxOw>K`N(4;QQ1U3m&j}hE!skx&f+2D%#%2* zaT8BDNXchu!Cm6E?QTh4p#CDUDDb$RG6!<Mc=$N#avtAbn~ampzX|5A;Yjr<wGtbX zv6wBi@&y_>j06(#c+EkItQ$H3haUg`+;#&H)Es#qCzjd(mZrn<t>O7zXrVu>D06rV z)8n<nQ?Ym@S&QBjlt*CCeR;|%Ed2&g@o`&5QJDQMxRDXt5b!7`W6r`0$oX*XVCP0e zenFI48NGi(7jll1hVt`(OBosagH9AsDeHZ5gK0mon~sL6fZs}3P#sFhMt^H3@?41= z-tnA7nBh4RZb-Jw4@^u(ia%i$VLTQ5#Uk4;u$9cud<QSQMIIwT?;PsB7j`<&_2+rX zEXxdcWOB|OCo}}-CCSY0<$n2OwOgO*suvl>TD1Br(x`>k$WNQCwAo4jtOVT9h_=c6 z39+pdxV;G08AKap9l^i&zuefNoFKOd$&5qxGCwmnSNM|=h=lj7@Zx@$@f-77dSdxY z@CcRh5MPmO6xLLVi1Qm+qL;(~GtpBh%u|`jc^9)dFA!PYM#Jmyf@5KcC3tm-B70-` z`O%_3ywD#_AEx9i^uFJ^EvGEscc&g{F#8a)%Z=zoY(ipb$S{S!t0LPjplc_{kD!iW z=>8B$-N<)ELHq)+_87js3fqfEI0?g#LPoQ=Qs(9N!%ubPN<ZxNIUemNpI2oxx(cs0 zp!^$J`i$P1kx>k0^tvmyCjIp5*nD*?eI)j~9aImY%mS`B&U@DI)Q<4WG4P&<tP;RL z0w}zO^_&Fv3%PS2I^B+q9iq1DsDX@JFG1IG*4Jw46bhGg;G6wCEfI8-g@xqIwnQvG z5^whqT<^s8oXo0Rgx%CY7JI2fFE~fW0%S(ChS66!|1ul6ZcLmqohzrfW2uA04L6C5 zZV;<Qz~lGnB~&DStc*5g_QxQsOlB{9LvlMQ!<+o7a9t#A8p+scVfL%=ByygFpF57; zS7B`($Xq6>CF$#($G3e&W?zuG#NB4BuQce&OUYunBeA<VJfS++8$itqqumhDngeWB zB$_!u&!Y{W$@&fP67ewfTu`xs=x-}raGB_5Ch=xJ&}AgU|CgxOK}Ng^c>^!zU++hz zE0Luh&r+7>v?6}VgI*=W(S-7M5{C_=KUbC-<>fhpDQ`ar-2rxGt*ecw(}>;Nft^l) zkV{B*nY&ND8y(3SF*#!<0%S00pB$o`&9#Di_afg)?#S^SmQW2JxS5f;SJZq6?aM)) zNX|#AM$Py0nvAclN$aH-SQ_ox@M%BXaY1veV;i3Js9Q>&c$qYJ%wfQSYa*dy=+=+X z-y^hhJ$QObf4KtMGtl0gShk5?`8DwQ3(aRIhft8#{6s6akjWNszn?bA>Ni=bx)8jK z1~rrTWF6jM3fEi$ov+Y!2Ce%@?qe3xJP+<Z;1P=udAFryEnrz+`g!MR(^(kk3alzw z%wVvV8?HEs#SDRydcpi{h^Tt;Ugj=aPLO;Brmj(sL;RFppRA7x1Oa7em#m4GlSkw5 zDRPS89m<v!YhjF~Psh&oW2KqcsjLc@Y*i7S`VV*JrRQ=Cn_7$gY~+p~u!o!}^#L34 zMgl)5?Ew1Z3<v7^m7k(x$-xyQ1{($jrqHV$1JdN==icN9XOVAPMa;Va4W43@^(?W^ zdN^-9+AIay<b*L3dX;mIs-k&0*;>}k$oba4`282#dyAbu=dXg~e`KDM^v<$?c$q;V znTKHFutI3~3wEL*&XByr5WcC;@1jVeHcyh7(dGDEk9#}f-(-Eg<k=-Emwc00PylkX z(4IH=0y(uz)*#FLqPNIFGU5C2>0x}n6Fo0QGn3KuG_=1C46WeB{=|5xrF<{rA)CO~ z8JI`T96rlm5|!9sA<2WAV44i#{4e0-D0&tay@s8~(5o$k7Uh(`GSo}_<tuc12`$UI zgCsX&XP_BbgLs)c?^C`NMpMvw4(vwyKwtRG4$h=^VM9x=sm&hPd;#?iqb!*h8i!7! z!Dlo)C;i8=JhL3q2mue-@YJ#cie&emgB@Az_<%M%<@XoLla&Wg-Bu<uU3}<a-o=tn z@;V4IWY)h1UsM>G`{JQp+#x52N=r|H!|NbNvRhF+{SiJ{bexx~<&4!}Y9ePH`l092 zNTND5szAM}pi9XTS3_sj(PBPIl~WddXmb$X=H<Rj`g{d=2@a=&y0x&B%ou!6O;bR- z0qy3cUV)S=vyLREp6>oBdvw%<Nd~|forzr}?^qD#&%;a3CmR6QHipX!V3q!8Pco+e z%hl%RsVVdT&%$!sK)`-lxQ>|_li>rIaW6fgBUsEjkR!X%tjGRj73?^0A{l~C*mMW3 z9nR-_xc8ac`+mUc<dm^A%9WE^R}-f`roFNXv?91D2zn%T7evU|Kpaw(yw*3jRwXCl z1T~ppjRTnI=NzK+;XFys0Np?xg=_9{uk4#3XO4;HWc9xE9k21EGkh+YvY*5@asp#{ zWSk3`_`$wrceECSR^)up99W+8xhzOaR$t1zx=-l#3#j?uy2-uxFIgEQC;G~Xj<KL2 zlRk2FB;5}d7yw7qN24`BU~x*6{AnoKC=2Vp<z887zn@nm?KJV3c$L4@Pgcgfg_#O+ zS4aG9N3=c%_UQ(jRpp%v7WocJ<s8m2#42)*^$27vj4i7-WOe^0baoLtFoE}il+X^{ z*9K=Lz@e;j???<Kd>Vk}iy(<w^d5V{ZtHl`64<RJFUcBY<t6h0y5W`P5%HC!JUN$8 z=Ke*ZAvxuDDjr}AdYBIiB9OpmvQM&$MK)xb4tGCABcHHu6$!~{tAepe^!XG1{Yfis zqo?KIXB()RPg}||vRZ}y$WYK0#wX*^?Pb~~7XHF5sp6nTvd~4TV@Hsm;O=!iCe}Da z+aI`XFdj{PL9!aYm#l=0#{6$BeipRS7kNr=xdZ5zdC&Wh-UKp+o3Z3Da2*bMHu2={ z^xBSM#li4#7%|Z;Jho(u{+H1?$;|M_<g(r{cjpLk%P@Kivx&AA(mz>_JcGfP5!SbZ zwqWvj!+Gi&UVHHq5)sTo+H=Sc9bpw$CbNHj690z5?<0wGC!mcm;;!k~^?P)Bkb2EQ z!nd#hBPB}yr~sBdjq4UrZU>&ch~AN`13SiRn>+em>>l+U2_EMXW%or|&5-_aG<c2p zr#R>g#R{^4s05hP8*69;Iwo@UFlL7yr^SzWy<)$O^JK4gQtSEDuPgF*U`?mc*-dmK zv!Z_@X+86X?xOF%WTryNFU_YG>!`sN<aLfQ-IL6%IZPg4CvrSX>u2)ngdQ#6uqt*^ zfhe#HKmD*MJrXO2Rmd8LOiCA2$00{2+^9qIl3A|<O7j!peZ{8#*Ux-_MW(_QSKVy= zkVxh-40E2kzM)SbXUEDeMrrtUZ}`p|2{gen^T0YEskMwQ+=oN%;srjtSy*C&l1NF< zHFB!%P+Bzv>8v8AE5~QTS5Z9e3i7;$RY=?-S%iapCTn`nVj;hf$ZKkF2li0FgE#yl zBl2=e@L)<C0yi%NFS4dW&i$2h%s;s^R8pqwJ+%RkJQHs1ME0OLvk9a}GLp~bY)})k zj3onC2#oijEE%<Eh*ack_d~GDW>|SWsF4wZPrNta*XvNiYCe~2`dGe;W;T(G5kA7A zZ(ud~7_F^>U5LG1!fKCUiT8;BI>NP6i5(Wh{W2G45xJE*^iA@xbHh*==om5FB1%32 zJDlO}XVfeY8NfSO*AAX`nfh$tCAk9j7Iw#lYe4lh>eCA=KM$II&`0b93VS2#aY$t< zD4L9woTeW>5v^B3A6bz4Gnjn`PdtpIB?k5aDL>)GKS=pK7$^$g^{1q1MDw!F_z8VZ z7c<14f<oDsO?GX%4Gs_UexY$N^ZW){Sj>AA$ZCSFJHv{yW<+w}l9d`xNl!Ra#!S{) z)`L0d8C@aQbrP%F3BDg=CBGR<*+Z@%h;|p@rwMNy0Fq^_zc1y=*{5ZxzkKIH+V^-J zg=wb3plz5{(vUeI1v!y2gt#~#GhPbuGaK`vf2;oV=UdUY=m<k@1MRP1_iso`vN&>H zXF66QeXvj9Z#UO;q^BRmypcdkD$gv;V$6vC%;`>HoJSSTO5!i9Vq(ui=C*XAch(ON z(jN{V2;U8*9{q{OWvx_av|F9B{vn6f4qZ3olW}OPJD--PAKRIp!Fb}rGvM3BYK%_A zoiaPP8~#u7{gv?pW?G*LPQ`yl63-=3^A8|PPO{#O&HOKhU_VnZ6^ZAQRT1gLO)~e~ zhnS`wOjpqDJ1g;*tSeRA@t5pO5<^KcUs=w7T?`hkqk9E5lTm0tH<!o`EP>oz1w52S zqXoz)>(HqR>V5c6c6B*I<U5wuH)BRlJ=!koEOzqQ893)M7VL!Eioi>qLBJAP*BK8| z2al4Sdj92^3$deZpm7yFkm1;BXG*DxghY$w@Mgm)?=2RcO1~r@wFv?dG6viX5A?sY z$YoA$4BC`+eiyKWNob-s9!b`jY^7b21^Pj&Waq2}u*MSPdz9HQPnkO!0rvKhUtJ5E zjs>}aNG&VKt%4QFK4*#8mBd=ovyu_-qwuAyeCh-uXT!p)DCr`;qc0Mw0g?joC7sY> zAAHbO`n_|pyWU8!2y&B^hL6GQOR#4`E5-P<G4I;ce>8p0jjp1cTH>NsjhMOi+O-j1 zHxLh5ABnG|2fZ1_E{!~LBbV{6H>_ZdP#d7Zt3--J(8D$Q7b|&Jq*YglbeGUB@$)8P zk&WOfH<6Qx-!i6DoKnZ|Te1(2S@}2%+ge0@Uu%jh1DPB2RjH{7*A8;7HJtHz?bxUM zag?$f9X8h^O-@$rmC?u^f%TPmdmq<*^^2p9ZnY-WK1Wkp+t?YZwP?#YU%5^x>AIJS zSvOHPQfWz_?Tsc)H7m39d3C2<gOxw@1Pdz(Y8zJt=CyTVMP5(k1@EHlZ`ztu_MA#r z&1@x9J4#7pKffxj&fsP~x%Mv{2b@cpg7gC5j9|qIAN}GavJEh$H>ZtlR!3lAJ;6?4 z{Cy?no!wT0;mYC2B^Ny3#vPf}#3%J4{*a7_4}9dqthS=$mu7?G6<~1}QF<KN?OfPJ zd9XCamCAlPO|kZ;u=E7@{3&yZelmA`x0@w9AWhj}uQt}x8!U*%OMrwta7uZw+6F!5 zK;~`G`Fz;dmn=d8cQ=D~CI29!iUxO9t^}pZ{%9v)=TX>1HFhV+RCBP}Ifawulhr)T z=nmlwxO=S5ILQfUr#Oi%QmqBc><9lc=9L?+xC^U20#6T!8_#2b<A|nv5`S!=ZiDgJ zf0=EVpXc48B{H+)3QS-EiT#O>e<Nir^^&oUAlhXh2292R_4xh-`cnD0LiTmsgmv}9 zOHRkqB{OgozZ8z#7W3Uaq`i^aZ*Y%OPeZ2CpA+s$pq8)bg+Ac7%z%*InaqZgxez(< z-Z^0$AD*uv<M0%WrNel#?^``IE^A0+cccK=u?Kb~{8JAuXo)TxW3f%}Z;6yD^QBJG zt33^`ZKqBWk637(i|0n-^-H?jSlm52R*gEzXjC{?Zlms_skxj3eHnJ0hLsINvO%zr ztepviOD<z)vflbV{kvzx1>dpd8!(j206z}m-s1DG;<K+%;!R50gJhb5NXZ4QrTiJl z?GcfEQR22VbZ=xOMjYJs1?KjL6WbwinO)EiIaEedG8!64WaEp@(z!0$Eh%An*%dU1 zZ|b6_5VRZ0mEF<cDn7{%N4CSFoAK(2H<tZCmeU70fydtKo*yXjqwHBb0F*Ao&o6f8 zhEKs0%g7OKgF*Ij?L9Kf$BABFGY?hvNsxI9^YHO4c&^MnlqczlmSn!70Y4RmXZi|$ z%MhPUr=;zyAWLUGTP1e#m0fu{DNU97{GDIXDJet_H+a?o81xEHJ4E~?c}LmDu_P^$ zmB@LJh>V5T#(z{qgYqQV+aV6g<zmc6viq@U;tm{r3@tuDJ6qAhCU?*1HT}RyEI@Kb zIgm(wx5wy!Oxqxp&b&tuA&rFhWkqd!+SC=PjiDY(k-%~|cLT3^#3x-q*l^;1*&T5- zGV6sEjew80@V%_j`%W+B4N`i}sNEZW?jmlNxd$Qi4uZjHMI<KCxd|EBz<eUP4%yRG ze4v**sx5*Z8i3}ZXhTNX2k^Aww7mxCZiFTWBbjE%Ms{2(4%X#F_&<z0WPpkoO7uc9 zCPvzRGpkE_i87zyG=6xu+Yf)_nkcL+4Sc=?p9lE#4E?qR^bikVrE_7mWmv4Ny&Ogc zVn3g*#Uf-z(tEc~t=OStZ)Kmq|B&hrWN*U)6ma<t8@>UjY4~Z<EJF_)v4U$@xbzlk zv!>60#?D}QtEs~Q^mB*jzT>ABza5K}-{r4&L^$_|$3)+<mVPYKlb&Za<fz5w9axB! zyL{a1P{k9=I-fnR0gMd{B0{T8wAPjX_E5tJcWY(W!m~(3_KcNrYB_Pw6Y1qg(^=^Y z#nQWQQmU*8+zo4S;wao&pB#JuaoPqV|CLz0%<H_1tRy-a1rKbZ{2XYr5}1^El6fdq z`j|I~62@cc6Y0?pC6gfIZ{e`XEf{z{Tq$$f<bL54+3O+$OE!UyYVd0eR`V1DZ{azg z&}w$9%9|(1D)U61=0KJg;nTS=$QH`|#u%IQfTWi!vr+%Uhd)KOvU7?V4iBI&nTnQf zqU!}bP3BSepzqU)_axeS9c?`33Rx|8nJ3thYC7YvxxkPP)@cm`^~E<Hr>{K$+_eXX zm5`g48*j4XhwLOEqqY_CsnRQpMR&4~sU93^L3%0T4jF@%*$;w@thB*}rKZw8$+Z`U zyXs+m+jz<h?EeUTieA{_X?oum=v#ckn!;hA=d6U4b*?hEOZG0!LM>|3@@>4<ao<gP z5L1bBR$?=4(M2e}cLHp-ocq6W{~Dq^UwR#}SY{GEkTu|H6n&z3^lKi`2eGm{Sq8nB zL+%lZTKJw2URCfm!L(38j$!EJ5?Z_kZ$HJ~$s9#l3oNtBWR}Ed_*-U+KLqRd;h(** zkjyxYrM=#8ybW#TgKZ>ZQUa+ccvP8r*^zp$Bu6n54!J~aCS&`u1C{J~T#XDu2cm4r z*M0@%1F@R7JmoyvzlwFPrbqjbZ)Hb3;Wr<8ttCMFC(tZ9)Z!I8!x^Rc)Eji30gsXB zSY|y6K4d>}$?!bD?h2uYTFB!m^0*D7MKFu)BJ!J#M+l?;*pwQ{PB&eV?0NcvyFo?( zC3u4cSxx>L35b{WrhT*EM;WP|Ol({cZAhlc58Ho*<b)MQU{QO?S>2*WvY*~=7)s_l z@5W#6L8fV({W%Y&lhZ~|!lJ8S!zuWjy6z`Bk!UoQU?akno=IU|K}fP3+S1@P^3j$m zNO6tZuiS%)BWclQN*Dx!D-r2FM^Ddq_APMQg|dgZ^S3gd_Xk^u!SX5~ciCfP3qD{l zR_+ADGH#NcC$$30!YCJE7t!;5zN^MHA(YjM`y>XbM7=`zdje%_MT&!vR$V+#chK1! zF8^Om{JF0Q_05k3Uqs%|v9t$x=5Zi<KK0*5tabxGeF@*Q6e$b_6SBu$1#04nRExq3 zCqcsnY7qtwbv(5!PZ@$G%m!Hluqnv{OkgbRIG=4G3-yS;&loJ`4<)aqZYOw7N9x*u z`#e}V|C?T8QEWLUniJj0&WJMZCBI8!|8>!W*psaL>rTD@#Y@-6W}6_DKv2>ftYv_} z|ESj?7>08=X<r5Inu+uq;bB)35i}<f5lc1^Vdg_#vQoYfEz1B8i+N3>Z<CKTAY<@F zvgf+2oy~&H6yW+@phx!EE&>n9jya`>l2^c*GH+=IcJT=d*$2vGCGB+b=VOu1A+#kk z04(I8qqsMcIIcZW*iCA<3mm-01}5<e!#~KHn%7)?5}wS94+vrRun(+=4k3z_`TVly zzU)>P0pevBXyIY;NbmS5d#%cB_ivPP1M8Ia*UcH}&V@JeXJ?eFtlCZ`jxWb}`U2WH zlfFb9vK0n)8w<d9N&cc6zGFE3jl#^b+=m33z}9ssr7@X<5!^MGPnx)6?rX5^Usxsq z4iN9MoEAu~>pCcwtgU3+r4KV1=5I`Ix(+><y)a2QpG+nm&B5*~fw0O(?mCE!W>A9c z8!?KfcED5g#-qwQ(ksaH9&rGtJ5z@Ov?YzbM5~dr@*<;Blxr0-8{4p5Cmv=b_s`_I z%3xwSwzM5~xJ3&N(dIF<aW`HyMP14rr#S<_sV?VS>HTU}>gVZtraIK|)Uzz5*TV-_ z=jnscitNN&2zE=OzjX|&Yz=y6!ZW+DmapJj)@<a2r7xi$GpKDyY*&kTwlP+lfxmf; z2YyH7QixC1P{K|4Erv|i7yLo6Qj`f$b(F@O8sViBRO0Xj|0ucX55C1S%zz)Z;Ezti zr1HcH_$=84YXR$i9<ZB2Ax^&@M_>7{vW=4?Mk=MrY2C!WuJKM_Kj;MJab4kAM~Itu zQd)m3rZu>&g!OgC2kpY@W&bTJyC>QBJB5DiR_ydF4A2*UCwr|l1^2~i;bb^kR(H0C z*R`NOfK}KsuImA=D-*Md-?Xy_cpiLN2&Z&cW6kVq=88zKz(Ooh5lgK_sZHUp4Du*v z$uvH|awJk7i8omcGQPOi(#W{hzcA)3m_C~LKMq;^r0hJz?C;6YJ%s~gAMH`_fvie+ z4nkyIw2am3@$>;$YYMrnV7O%nwX)H|@61_wK;C~NE!&R2FAm=(gN*-(1oFU%t<X(Q z7+Chd&ji6Q!Oae0s1T6Q20V444>pu|>=-B=P0eLzBH6j1tlPTE61hpAOL8@5@g*{| z`3hM7jrOzPg<n!;7<Zf{;*oxU%*d7aVHVuD0lz;3FFYEJ3`0iJ3wME}4`6l+<s8AH zzERE#+IJt%BRf{i2AQ{b-e%&lUG7<OG8Qa5n#RHik=V;M<hmVuZ3mAur9P98aewlG z9-IUn&#Jk<%wmaDKdblE?dm3WD}2g%E@twGUC3naqbKv4xHJ)8_<^S#aQCQZVL7FE zg^-slMxL!YwiihDu?0QTR&Yuoa+G6<;AJPWFeKCoCRqy~{UReEeYFapAck`9Q>&@e zrUfPRgF83F9?$W?3tc)GK|{8*K0Ew2#Ud4K+?y=sIC%Lf*pR)9>mj9PL|+~FEi)1P z@w(?=Y1w;i6QwLgL-XnT%hN|v7xDF{h*l(mmNme&Ku1k%pe<45W03TkxNAP1PWHZT z1FB8*C8EG*Jh+eyr<}KN6$y{y_d4XTgVJTrVOeUwnD{3d#K?Tgy1eUvxAEBhW#W@~ zdYo^`Scmg>Gdx!iTGxU~196h<WFq~@7^1d#bXJbu_6+Q23-6w=M=@HJ6|0l|94b=V z%KU7Pf1g6>GCw(qi0e6bz6TBOhzLLYf9(AiA5aEl6$U>Jyg@l)nBi`=SVf&=^r$J` z)C*?*1*V=MmF2W(6Ea!?j%MLu>d~@JU}Y(vo(1oVXs__`NHE_YG%f-6a+djCBs`z{ zSAs+t(Ua3hDi8t5E*mNI$7Hmu9QyX8-?a-FE`sG}gN6zC7TM*aE4;skPey=%7GNqL zTrPX<g@B~?c;3d;q#}r_z;%;&rtG*k2px#m+RqbH=|=@(E7ie65Km7a3nCGz?0mF} zYj#rCBlOO$!YQ(=yTny-*iQnCbC_>sXXt5QbtTqx2>jh8l75X$PGdJxuU&XpnN70^ z85CkJRHB*>e>fkR+`)tFb2CC8%GkwocG9j0O1Q_<E`t3?uDXo}^rvQ$=Z>TfPtcT+ z{_s0$DJw&J&_|Qqr?>H5O3D3^{&?znmO8uw!DqPR1hv^gZ4P3EG72-6sA>YtEi2Vz z{JatPi06q$kR<yIDSRhuE+iWvv4J-lsR+ycUwe1rcT@HK0sNlFTrw0wib#?o8PXt> zS%u6IDMN;+G@ueiC`lAWkyMB#MT4d<l`)c1(jW>6^^FvH&hvY(`~5S1z3%IBpL@^Q zXYaMw`mAB^y;gag6npF*V24g+i9U%V>Y15#S{wy|W<%1Z?4~ks`fQ(Svd!a+*Gc%W z6b)9IN52(reQso%wH$qW+qfe~%~BS~Hd;1zhQx`*G1`0@o;~S3hs`)t`$Jg6H`B)L zSdc?lOc8kxJ`daQ6x4awD{O$s(!CxHmUzW(+k2qxv*sptb+3i+D<JYJl37yUa^U_U zviGMs-GTC9_3ZUIPFkHxdVYic)r~%K8nn^3@;s0dMs*_05Bx2IJDVH*7=4NiXU&YZ zE;)@VBUjON{mIQ8C^mz({se{Y%_8#vnm(!{wDgSM&|(*U%BLr>#~^&;h_<Om=DUcI zeE_xIGp^P8{~+EOYKDj6n3r(rSQgc3UgwdkMaH<%x3A#GR=#O~JNn@JyV*Mt4JZq1 z>yd^6;_=(%e|_6)UwQ)Fa}v2ZQzX6^`|ZCn+8y=!+G+FMGR-bdXQj8OkTxQ{QwE)l z>FV?+xhDUC_fMn`rVpi4<&u4gMfkBR7l`3*)#jht*yh_svdgY;&(^fOXLq(55(wW+ zL_0p$x97JB46H<M2a%p7kUQ!rl-G+N^{a=Kz~PX06_kmrVBs&tzUwz}%m%piI?8NC zr<5;PjOM)?j<4`bNhnzxofopIdYiAKbYQGhEJDH9oe}=}gzWx?n^+qsLYBA4=P(hH zC9e9x+&8BcI?@ZlV>QjeZhq)}Y?+to*!Fn7NLJ(L&&DXDGE!vg9_HE}{DXdY>K#4r zYo_Mtany`?U3Bm*$T=BjL|p5aY@Dbp&e+HbNqI5rozCqj-o7WhzSNk1+8@^s^Q_}U z9tzRqE1<<D<NYjeD6Ze&*U&#zv|U&3xpR}2WM?efWR1#f8&wCpP!7Cie6EVgnf@B& z+beQLC4cC{v+TtRa%b&h4?T%TC$J9-iD>qgtGRYEB$<#jPFlF*`s6q56;5^}Z|79b z_j=CBIi+&GPM%BJvn|)MTvv&0EM`w_$K#9Gi0zZ#N&dII{E5~fmK)pBOcl>QBk7qe zO}<UORKe^Ruc@0D#;?hcoMAbcoWse};;4UXqn0RYUZyka^RA>rl0W%?#oB{MHIwH! zK|g=WoFk9)#mUIzK=MR#Nb3hOowPhZ*{<%|y3A?G#N=I{ryJukmfBx(!TwF=j>sba zjPI{Wes<3zEY)q97OwmxS(}`fb4yP1oEA9^bG9e_L}s30%|3ua>&@5hOzotpvDT5h zdJc*|Ze~CB%vVvYG`#!*#%>n%tU-ng!G{wwGgus3S^jg<QF1H4l|9wp0k2;H-Co4s z!}8uvcjTU(`~9&3xgY1gluqPl+>!UQll_g--s!OPMtPZQkj9_oaxR+|Pdmu(P*t0S zt(m-<-mTVMA=UJnlBu2PJga3D$jee*%)+!qx-IvY+%)%#+$p&Ya~tLM&7GC|TJDP6 z?|gG4w`{sG_l4Zob3alQuvA))Tz;88;+aj!^z`)h^n~=dw3C{J9n-F9mvmg(FFhmu zE%%_Rfp=Sv`HTGClkQXX?~mMya!gkwzfo1JA+Pcvzvm=g)K>YYx1^m&;{WV~hG<e8 zI#<Ba#jIb%D&b-p>M?fE*Ccory!#xgEr)P5Q84OaZN%UALWkJFG>M#-gu6Lnsn4<{ zFJ~!i&z?6gjP{q(Lp#apa!CFZS!w`z>yXLyux>5t>_{uo-RnqloV9rl&YZ>%y$(7a zmie(QzB-(_F?k{RCYhP+U~hZ{NurukQJB3XQ%N44;>lX}beuaL$j9%*e|a9d)ZrO? zs?~&SuEN>fl8(tX5+AFcKR~H6(EUAU*(&j)dhww0C12WSkS{r)I#gLZdbZ%oD%J{D z<DsGA4dvm+WOo!-IibH?=|7R_h5pXXTtgOb#OqfjPpS$yRHeUu$>3yiauZLem^}xT zl9qV0c(Rw*m}|#Eip#55J$#Fl?Bb>ER&8(}ub>J2G*aBCck*g-JL%qU9LqDOTDO>$ z?6)d9A-Ou)h1=)BlZ%obo_Cp7C3w<2shIpqXFUh;wvo=QA}+;ba__1q-Q^ppkX)PG zpWFaj3hGh5<b3$i32Ic}S1ogO5xsfE^Y`;z{uDboiT@h4?B0Q4f3RH(LD1div?Pn7 z3o87OIT<3=l)JA;k_$~n!?K<@;|7!}B~Rpy;to09mDux<<M(^Aw}u_D)68uqTa)OG zdbG-0@Nt8G<E+}z>>AWR*@#c%tg9hH6RZCJc<%9ZcR457hTF|h%Bp07M~acX%6Wg$ zeM?k`yeoZ<mfX!^%Xn%HHs#qg=m{bPRjjQ(BbVHNNMIK{*T#K+&{)r;?b6fJy6!FH zyOvorcqDC`wkFB*=*wMn=Nx~1r6T8o+#PBf52QO^p<jokm!+4d)zTViE!Ve9yQkCA znew~$_ib0%-5<0|<G*Q+9CyF?<<|73v}bz1-5cAip{D+w@7oFKY<)PGmY_YyxU&Nk zTHu<u<-q$kJxnX__Wvd=l!HmJ_vU@_6Q|nlha(TLFV>l-I8W9Q!WGEO5jSZ}OTS8o zooFsb(1xX~=f;_$k+5ta5AQiMS`Ow9H&0#Y%t3t5sJ3;znDtT~(Ho?uJIUOv?RU)5 z8uAxAck020ID7a3%PCgcO0hU&?_ss<I>2mCs|-&|vAbHbBunsx|Kc4r5~-_g{(dpD zv6rzMIqWNjkf=SghFyL-D<C4><y=*lv{u3WksEoONW?1s{|2jbD@oWBVt4n`U&q1r z^2tWpCHC@X#1WS2=TU1mvE#9we{aM6v&6AyxuYj}jl4izSaG{W5Y8d7XXDk+jdNe7 zjFuYst|AHTmh>Sf9sS>xMBPe$`>KvoUR<VPR(ki-B7gJhiukS??bwbKc1TY5>+f{d zp=|V|8u_Z1ob39L!%s;>FVZxCHvGhD!dqgWH$$6+zG=r3iwt1*vMIwd-=*zLQblj- zyMLb%42LW48UF$3u!5{dl&JwKl}Fi=v$j%3hTpNQmF4WL*lS!C9{<7;UPzACLiPOF zh;j*j=99eW2cdThI1>3WMnT7G&3@z<$;k{MONrRP7!o>CbT2X`JjN?24TF2})t+a0 zuZ8q+c5^GwCPDYp(Yc|SKi+<h$Ws-WFwgc^K0Zk7Z2HsFzj19@5t+)Kbu(PM*E}>w zkv@Fot#rUtx;Ua1m-2ZdOGvEag}t<z&R7J!-oYmkeM;GmllAU-sI(mS-h;od*V8Uu z<??<@KTn&&r-Nka{j{d%c2KWmpxD8g;&=ne%Q<;FS+<>w>Ka%x-xDKW|6jCCoGNUD zHmCDK_sEG>HS?_O&$G4jU;7!R8u3eP@l!<|Z)Jy0rjLFXC8>Z`7eJ4wJkXbI99DQW zPw7hXE@i)0hC5~0>y><NC!QF4<D$Of9r}AQr1~j64rOoA-g=mtn5D1ykN>s*WE$Ce zn{C+7$ScyopZWHDUfVzH!IH^N*6&bsZ$e%onq1fCOU-;p&oEN*8T)QRmbV_j`(I`* zp?lt^En4I7O<L(g(r<OeY&%RhuqP*EE!=nT<xKoF$*gqN{w?gn%d~l>{|Ec!K9U&w zex9X;p2w?G-S?GhiPdmwN4lhg{}0M`^|)((BnOq~kRQzUNY-`uRk6$d0(#+9&v@Q7 z^YC_LimS>dAIGkHio8Zmt<gpwXU(F1NaO<=%<4WvtYQJ{<3l{PmqzI7+ac~d-HN~w zv@4>QRq*lvTy-VXxQu=-NZ%jh4K(J<j&OYs)V#+EM(i$Xj1M2l+Oj2Nr-~{-;U(A7 zUR|gaS$r?Yp<Q@+?b$$4ne<e5&16BoPZC4p4)R-LSD)e8MXe_mBaivXVMGDOh*I2u zSHo9btH+UDvJmc#tg;h~BJ%LZj@47iYHwaoWm#EY$Di+-=Y?eGMem!%Kz?Q=ew#)H zuKW2)Q9E=rIXs((Rf63Z*{B-w%g*O54iV)V<Eo*&uDg8h?U!;S_yJ>EP3qqu$4{c* z5<M7?|Ava9UnjoO5hq?pj_&ts?7JVpqbrMpTk3!0l351>J|by%dsek<jQwF2-Z@aB z1YW<0&Mr@@x6j7tFTn4;J$)=3*i8CP<Gbw>o0{hS*fBa$AEtQCaYdXLDkIiYfowE$ ze`~Fupv{wL=lcF0D`q)HZx_2i_VxwB@6?;;pv4QuumGhJGj_hYjhI6<`r=w#+XmmX zqyd|vZ7z*+173<%!|M2I6sftL%(O7Wr{KpFcjU3*k7jL+{N$$|pT9YKun{>b0MAy6 z3(fcXoCj9}?|e&B?11JElFB$u-4-{0$NM{&-DmL~-v1b;$6oJo+KHWj^*!xMy~`1q z`jn1~Y=0NhsgY^2C;UDJ7u%81b?%(OvYp_4r#>(CoQiD3fvmcAq;?NUT_~dek?TJ2 z>nolyi~Kz5>WJn=M7}B{i&_>h^WY)}Lkm)OfnF3hmN*%B6UkicJ(Nz3TtIP(thT<L zjb_b^FKU7`qWkC34RdLoj_m(9z5T!35iL=;A`UMN*-Kji$%ruTr`LDF;;0U{9Ea|L z{<X;ENY8qhG<QeK@W3y^37hfJ8?IYH*ROL&)anbHy$m_XkfF#k7C!#tBxIflK~!#= zM;i8;rBX&wlXN%L^ET*txp|6Qo*j)nvM$8>Yt*wmK(1nKcc0!x#i=-(@iD%>7sgJ+ zb3LGSO?;MNEuM?dx{FTCC8tpd@-e^GBU@#B-<4H3hva@sa(C;?Z1IIn=B_$aX^cyX z*x&aq$$H6eahiNRDtvGJ3(03|Qc#P2=qDyJkwnFr@tHoiA!{wND_K!7Z)P@D5qs^o zczWc;y@KvJ#1{O5mAQef`DywQ>+gNO-l4RJwZFe<qI^zXR(0j|+Kn?SANV(NWVRwh zml@G%df(8fMv~FyUg!9x6v>J@2(`3-rXKVadA$`qBKOKrui<*RfS%qf${+F&(aFe< z8#59s+NZ(QT)t79o=Iqf*z3_6?>8}TC(%B~tVrabeVpium9NiHKZgZUfsD0=kC)@I z6UgocF|nvK8>e}XN5fXQ<Ti8K!KbL(6sTPem)7xrPx2MEVPv{#h%?K3Rvoh+>s8I% z6DPpp)WFrgi~UFq^f6A@gsnJ+Opb78<YcOEzT&)g>>B7mpT(ZTXV|uVAi+e}4WtY1 zU`x(mSMBG8RpRHBl9O&bDO*X_Ud-BE+pL`}cE?z{<95A0-?*bzUw-e%nG~50F7%Yz zXmSqD?8QPG;aQO(D0a<71U#}C#fi--C|BKgaSD4Nym*5)9mC4*gok_SO<#H`YA?j@ z!D?ujFB@N6gkPS(#c>Ar3-(u>zb=VdQSIRp@$b6m(Awx*k@+joth4r7nz@MZAJ4b_ z5t2_Q2TwxbIKdO~(l|>SXQ`frsIhK6l~olvJchGWhKfb6$NO>0qK<wS;5Wny-2$zQ z6+IYCPdtuqx4R;0KM4e(#bK@fqF<3~tBkQmcJ_jB_)>ElXLims>lL%3ui*d4R$9$9 zRnelQIgg4-15kLp_apq)DduXbxtVUp9`TC3(oNChAJ2%rB5`6cstLq-y%<yMecZ<q zI1xIXiVmRz>U;hs<5~(!wy^8=>fv^l)K5kq`C31=J~fs69<z!cdB<YqA}p#{OH9!1 zGgSBywf=XGE{Er`*OR{Ryd(B-Mt;9o^~@N1oNYNmSADC^1+?Y0^k;82U^V*fBr<r0 zzk8C?6Yc-cq2sQknOBmDwJe%XpwAlAE6tWTFRRN=MVX>xDsnB%Gs6Fv@ojp($1`FF z`wuW{HoX-431VOS3T?z%NaPEO{A;Dj!X)}3&RYzniQ?3BoDZ&+^__pv&O!Y@oQ>Zv zfV3M(?M^g_wXX0hq6Tkg_pfK)Mcm^ToH~sK6=&h1zV8y2;vC#M49?FG5BZv`%rjr( z@b6V-`VxBN5>j^^Nxsue#Oav3Se)(5Nj=`+HrVyLIQNsNwO?+^8hE&dUD^N3UHG~l zMHaFpD7n-O9HJvHB<tPWAE<K-2OLI;?@|4TdwxQl-`G|gjA5@C*y8UGQ8&)*#7?>1 zZ2h+ErW?iG?}LpaX_%;_IgPC{Rg`y(-}_~)lQ<#y0{iGbTs}G*caJNkSsja<a(CmF zxmu1)bYGdXsJb&=n`5;wjC?*tXFP9IGub$?I<=6*_V>%+?5f&)bF>YIL_U{T-&yP( zXDRoSv1)9OlIUL0n%Q>WMV;U{m$#EftAvJQNy9)Kdb-`zEA=4u2E{JU@F54GaAcf} zY$~Pb<v2}S0i7a)-1F@9sqFU18q*L8wKjjZLB4t9>xJwugUDukGjx&mdP2y^%Qw!u zzZvV~377c2kGUJKmD_MYf9+Hz?VE7n-*_la3YUQZ<+Eo);#6!@<BgpFkqPh^tj|xr z<J@*w%7<7c6~(n<t!e}Oh>TVzK<1NOA0A`|B8C0C4@d7Zm+SeihrIH`&B&n<IncsS zJY@WF@_jKbT8W!?iE-?v_n&9YwqXlDjfTIYL!1VW%#)$B;!Izh*NJ@@=fa!D#?~B7 z>!4L5Xd9MeUC$|}AA#&YX7%|}JhWWfMY5VC){o+(;}&wZ(HtFB@#S8WoM&ZWCXAXx zW}<4~)3nO<WMMKdXD$hOjW4%?9DT*RKR{Z(vfF<R&ub&e`k9Zkl}#D(_*Y#y&s>L& zDGYaO=<8`_{cKdPqX*^4$W|N_yZt_cy_L<}K(iaUsYaNi5hSjQ@kE~F$k3M<Pt;p4 zBU%^dpMSs|`JFC^^W$;SqZ7#-NwTj)k;wBDC!oJ_P3YTyjB+(jz6%%sub$6l?G-Y+ zkwc`id5a8y`$=BdK3nkqC{lD4&pNQLAI^^q_j5h<FRzRz{%Ky<nXgq)?`>m<JxkO1 zDxKZY!@Q01tf;s>gC6QHW?YvYHj;FWFr$&PCQcB9Mu{EN-+J;-c;QWRy~y+9bpOr9 z($=qGw?C%UVr-^E5;sJ(;mAzgK#Oq#>K59ot54^%n40iI#**+k#u#2n<oRyR`)MT_ z&{}k%JF6{nUeEO!rI)vg0<;wcDCAXIAKUU(qT*tApU=rF$s@X2e;480lhHR$?(ZP4 zQA4Af7OQ$<b=P#z=5=~-hR=~>qO)i~eX)Xb=!y$n(<S?qX1=>Zd+k|rZCx|mSeKij zx6w4J-xS2RBk)z^n3%?MxW-H$got$^aMXg2v&K{S2@ClsdvV(%5H#wcgcWrS`JRa@ zH?wo*kopVoOVl3j?D}_b;!0k|2Xt;z^gauh%=e7&Yu@wiDm?rvPX3S=UW2U1e#E*k z=sE3u$%^_3Z;$nNSM5fIwpYXg3ML=w%V6^p-f~59*M`2WPVQq(dLrL{E=wrtX{<9F z_poYL)2L<1z`6Q5h?G6TuedX-MJAD`w`iONe3Yy4ViA2T2wQgIhVkfmLzZJ7&ql94 z$oj&gVRK;Sc_ir%a}zm0H^Sn*v}sXtbu~)8!n@m|&Cyzowct1v7GB^!*pktYIL#8P z#&2hJL0ddIOCNv1|J%sT$K<gfSq-WA4;hNp<>JQHSpVbH@K-e2({#xoT+j?RY^G@= zpJiwI@Dyvt(~bH*Iz1}A{0I7dZ!{HA=q5C52$AwZo_474nw6~|;Ce4DpN{U4*I+)m ziHyFH2cV=qA(2hvC#xz^Nj&Owg=PLTFS<6Gw}FE*jdcRLl_cfO;M6qe^%%-_g7lAy z{>K@}8)<}#Jh3NixRUmbT*&o3b&xwEdJ@?mi{p$Y{*F46L!r+kXw<{3M_rV@?rn<R zkwK}F|6AaYqFM<rZa5lua92HCFb6lqD&;FUCMwoE;B^nLuB|6r<p0=nJIU)=Jo1=% z*^}2!Jf<Hi|4uWWrTRr@7`2)v`4Ro5K<n6NwFZr^g(x*hWlOq#J}n<RTkdz?pKxxQ zJ3^<_K)(}dxxVHhYK)zN7a{}MO7uTwX6vBC)qK6k?emBENa&}PW;%l+y^SF<c7?Uu z5nZFgPMn?j1~#vTl=ZY1r|!QpH-qtH9lqt|A}=$|{!QllH9Qj;bE200COs-^hU=P* z5oX~=<DSQ^iX8`Wf_#LTe*({Mr7_+|v%&h@o~0j|pyPC3CwL#;MPb%-obW#z-^OW^ zPqiF5>(11Z@D;j~p=+}}i}Uh*_&4iGY}CCthh94luY`SmzIS-p)zBjH%ETG&qVW5D z9>9Zar>G=03W8n0lm5$k#c6P@iqXZZmn-7z{#YZu9lf71#?K(&22>bD3ZFJZ;RSxp zM~oak1?l|5^mJkLzrvFu55aGGk)N*n4%$s+NBxLOp^^TkM=F}H6O1&UHG}@<xEo9k zZT~e6kKO*q`z<00)$m_OoOYve#!1#|>4w-tJ`v?Qvw}vOzh)$`o|fyNU_1O+nspUf zUSh55Y(0q+;Ol6f9!6N4?|cbe(AwW~aaiOZiQ4CV;Ou$OGtSWu&f42?mMXH;M~$}F zuM*L($o8}!K14Rb1Gwo;+!gy)!h<cGeQM-3s$^tkNlI@z{2}p^UhJ`M`d8eTfA!4B zZE?D>h2Iv{Yd+KR1lH|U-myD1&WQYkR)0W{IJG?;uP#NM0{T|V2(K2mid+^q;*q<_ zbzKySaqkm}iQP8S&1_^PjXm6J`5klFSCMl$&ic+`?ZnBHsL1`S*`4j$NAY^m?3u!S zzK^W%k$>zpeHzF1-b@lB<{4STf6+qN<oA=&JL$H^=-b!vW@Ktz?T$FZ@Pzi(!LU3} zD8k>IMP|C&Ptt&{zLq@SAcAp<ow^0ZHNUoQmftSHQeypQlkm7^67KwvO#Pa*Nn-zW zO>}HdQm@Iz83ysSS2}f3GWiY9Z=%OmlCXJxy&f_Kzcn$F5!pD52K!l_zw3WQFvD(& z^M<AIR#{Tth7>(-)hKr5KEoG!mDM*2ZcU=2zNAAIL9+#Hzux9=JbsHc4d+4qbur1j zk$g5a7pG_KsMy6-LLcMoXMY+rB738=F^s{kZS84cH~+($*rN|o-(x>siYx%z%vxc* zR*LLLy}XZj`mdp28M##MVk?AQwTw5kpRe>AZS;v*2;X79D;MF&r%-%2ENV}7ThnQc z=%%P8dJzkyk!VuvSpSTamP3{L_`8*!Ty0bn_3swG!*k?mIyyWGp}OO*sQVHX>Mns- zEzoqBE2BEbeP|Ok=6V}VcoYxAukbOR#Er49Y9efpRrfU0#EM$fW<4(1ZOuCB)U`J! zRZuGO*!3W<agJdOdA$<OWk^Lta@&*YexjOF&G#9onP=7x(sqSN@$o1Z5vJHzd0w`U zKN@xH`J2M7ih3mn)06Q}TYmaw&^b=PKgtGuju$tdzdjp>uYl=)u&EC5@-D@@P1$$z z`5ea}>r3J!53mLU{r1{%^|=+?-Dz3$?80*EiiQ_hSuW=(o9)BcWUuXaqWRT4xd%y@ zO5$!n<xy<riDae&JyG6C>hJBp+HU{JVR64b;(<l;cBL2UUorMzgKVttMr}vt-nQ-^ z?(;bPdeZE!@Lob<S8H*sIql@t0Y-LpXJopoZl(Mm7V*wBpHl!)dH8a=XadZh$E(@S zqc|DL7Qj{EVgE`eMXtc813ey%!(VESzB_nvg)*=5wg%|^0_{IShU3)yWKugGA5DTt z4{3K0YxRI?XU*uBh{_z39jGXaCD3j^MET3=a{~W9z|F6^YcvjwRkN<FxGs8LRsU;d zW2yJ(<3ijU_!7G!-_ExDhWjE9*CAYAmfio8dHIfx|IGV+dT0p=`7bKZK&dwH`)m>3 zL0)~)Yl41vfkczcb?p4yN&iKKxQp;sR5>W?b5jV?gAF?!UgWn|WJ}h|8%!664HQ>a z!1duR$Ih{+qjocHpG7imqML8U<sE$AorH{p==1$LPIbAbeEyKujf@y~l8=jUc|<ts z;NBka;U-j%98;xGtRy~;h-Y&;<}%U~+4MU@nx!nk`E2kwuey>yImR_{&bt;{A?lZ% z$BurD28ya<U!e6-GqxYio`G#Ep?ze;jab%^Y#xJR<Rmilou&Qj^yk0kcoS|4qzHWe z$SfAo$4anquQ@wj6}VsR$0*@k^iSqAvQuA4|J`NeQ^;aeJMF?|na`Ts#kyOphZA@Z zQI~lQ?|3zweAnm5&3+B)^*8z<u8-VBmwI20c2}W(FQe_vGVF`{Ivd#}GjR{wFs!t& z0wU98<fV>C=dVWd49hS)xwrKyVhJf7^bvdGXP$CPSQIs^ZuhAfEDG;zhCY1DuDnH@ zu>s8=6&=p?TX56gxH2*YkLFFR@p_X^dl1LBXZeSZF#~r!L59Phe8E-g;X!dd3y)zA z4`vXFYn|0x5o^DRWz@_o@}w5R;gK6Qbm8r6)Ea!jx!E|<EBJ9RY-k5%qN?*0av3MQ z*3ja8pif80T#IZ^#><;|g>Uc{NBiYMxDlCThKSrwAs=tL?;BUed6PHnmhK=5IgwPY z$a)vEc-8YD{|wLRq`j-$AJrWrf9TJyn5XsI_25o6+%se;*7$R>I|$<RZPfQ&hR(6m ztE;|!fwl$26n5dNNBuopTkRq2GWzozJlg`-#95o#dN{_f^Yt%we=aAN4fxyR(79;V zH>u?O#(P@$!4q5Hh9UH2ZCnuRq$xg)%ppZZxQgR|u-%UEbM~mkkkAD?p~-Ko_Enzy zIi5X0TgL9(<6XbX{5*nQb#TiWSr7TJ`%c2MjagR*p<EY|c^8iB><Jg(j4t@%6}uxR zlG8ajEDz;QbY<i&j9n~IGxB8!I~fmrrmff&u{?`91@L7=A|wCK@p!i-SuAGlYjGB1 zHsi>!s5Y6E#pwHx$iUYyZ4ExH>nTxvBC3K$t;cO>u?~vu((_`ZGIpue)aSFb*aSul z(vzqR+>`7_ebeh$?NL7=_S}SZAC<2j#Nqdnq4wz5l^nffM1Ao6UG#HvJpYh!*XE(@ zlKmlSCohI<vsofjwE3iwk0F_Zv{i_79b^Ce25UcHr*<ZhkxM5kLqzVA3*k;Z&pz2q zL|&H)VtkRCc&(m?z50#u-kV)@j(p5_cwOf`(pVodJ1bo~gH;*(zJkwN;h*-<xic*? z6zBB9YnPF<W$t~7Z2f{?uJGg|C=_)A_tOHApL3NK&&AJm$lYb6Bw{r^$jnqyJAj^y zeP_#1e;vyy)&!?RjH9yKMlQvfxaLHX-w*Ywnca5g_z_(21^cce>PF7gCVuP32Duf| zU6;lA$c7*LBo?!Vo_2i~R?l?NmS3$CZ}DC1Mi|Xb+{JU7>dJdi{xMchocC!DC$^E1 zKSbMVWM{1|91CCiQuM23d`(?7mByH+orkhdc+tAld)Y|Lfy|ZmTNF+<d+v)gz&;U{ z9iB5=-&&E4i;W`kk9ITr6W#F&jq$P>zb$KX&BmFLx4X7?9oKh-`B#|1$UFXkQBO9y z#$+sFgHau^Bi#_^-r8r!-;D%B2GCl1820rVXweK_O-0{5<|gvy#m=JO{_18w?5C&@ z-p&0{)qDslEyb6k@#nETRWtHVP1FP--!J&~7B=N4S*@8LzMq0-kK5_B7+qtf>}Dej z|L$Sj5|z?#hv*;D43R-$6t0de#rGITXy03mWuQ43MMJdJ|8qUPiQVM+#R~GQ<yOGY zyYO{nORT1^4P0B**sjxyRpMnovO>40gz=8m`PY1ZC8<0KT^breD`T&#&Eo!UPKRB^ zV%h`ms*|rXebd-C{m}GcR0|wR^tu6Q8bE4m!K6=dZsbXdsN+MpdI{QXq(fH1h50nf zc;ChD*zx$dhu0WZ=fkX{o<0wweP+3Gy*u8;(fRqCk%cpIr$t5VsQ9o9hxdcw4d|Q5 zkA5C4Q&@cRU>dtSii%x+XJ<)%R?)TAg=>jKp5a7THPX_O<XuDlCT4M{a5fTN1Wz_1 z0af&Ty<W|yVL~Uq49l-(r4_WUb(Xd&+s{$N-lzUNl*qpJs`nZ_%C&-j2(P~YC6Aze zZAcc`*z<Y)<L{_j^{rlSF{9<oOMSBO6w53$<P>&hWL|%joY%+Qm!a;ZC>r);Y4cVd zHsvEZ)!0svf$mh1k5~yS0F4T;Q=&fka!9m-j*YrT5d*)3e0MNUMO1KmhxG3fWB3&o zRE4X<asPBY)0el?iZvFVUDQXplPoUb+l|LtRp^_jd=&X|A}isU_}~b<Z?AuyabY=Y zTw#^g_gmDT44$dRCOgiaxR3Ek<Uu~&yA-Wjoc+52wWgtbMgGER^l?|S{c>IhcG#I# z^yi@50^?Zdn$dQXoe6_4mxpK%ME*Xnm$idV#?eoWy~6e_e+Li7(_Ihax90F7CwV_p z9j-o>OiP+(BI5oEJ$X{5N5lq<<P<jTgRb8W<();)^8)r4ugNsBce#xn(6#eMW$Gty ziR->;^fi)s$$ERQ@5oHy8(x?^p1H*Qjo?>rGN<?R;TEtq?jS1(i*H$0r?j*OGEbzb zRk9=RKbii?YizD5Nz}etK;z%Vin`Lce-@>BfWDib8J)}(SK8v6Vdl1R(kN$u8NV&5 zf-Ans>xuq7oi<o!eo7=G>~uRVXKXUtDUjpM{NhaCWECD5PEP8;g^K2Rsnx1??Ck$1 z?U#vKvr+&1WACaoTpoG50{U&hJ6G_2CezhbNPL6LQ@o7W57}CuE)jKm7+1c9BV� z78w7PN{2tEm*UV}^wXNWn=;FtWS*RNUpk*|8G_r!lY|QRFzWX<f)O{7&_VcoIUXp? zZ>SEb-Y|C!*hlZvY8OM9;G>(NXH9nM2xzrQeCR&17&Vf=$a^^RIte{wf5^pT?Q=3Q zgxrlzPa@fQ>2__L;dwvOt{?JYU$(;Fq&6BC#XWzgx5?2Jr+T(Jr%(`P-_7zVoarn_ zORLOTxbJURP|F<yV8tSR{E$wL8aS~M@|YP~oHrVtRf2S3sr{2y=2g7_hpvPcW1&kM z@ty5x__AIc;prYu52WYkZApjI3?X0p_>C{(+2TC4!g=fX#h1G~^0xHH-y?aX;~>@7 z=~cLV0uC*mnTmq9v!!R#?zJJt%DgH3rU9Ae&WQY&IWLL5R$rr2De^f8)#j7h8|k~q zjGfWX)#mnkGadEPYv!DgJeL`aw~nS0$j&lUeJk^FPVwZ+v=KcwE?J#<IQQw?uX4ub z%q3S1)93R_C9UnFeo^Jdk8$pcX_9`O_fB#X*^3NPchlQXve%>9_)~gwg?Su~a(9y7 znyjjY_I-brw~;@1d?xhc033O4W(=EXpYcW}+8OpCPjxaqGW!=$Bl2cA8WvGO*ItF@ zyUj*b=X4*$R|8?`>vB2nLj96rqfPAAE$HNKH}mv84m~QGSeG`g=X_EF6not>W<l0p z%}7<8m4^eHK%%m^cr`Tq9mgKSE!#;-OY2V~-19hGZ>FWFvD;H?hx0nZsp@d@Z<)kG z8{QA&qJCJcTQp>qT<FwHZ+6V_C=n+CXVE#4P5)@R!|uDU;Z#(yK7(zzm{yA%`-ALn z9{|x`<rD2?{Vt;)UV$0ErjaFK0Hmr2^ZN62MzG(annYy&ERk7+UPWo6IH?_Vl54}| zr^xm#;+@Zu%Y|8cFAtv;W1HMb{~pa-4kL~eNm`08B5TEUwAdv4wmWMvRyV53ko+kY z;S$<)M;d<D!Zd2s_wwm;TI6}7IMKP{u`HafW+C+1sbsc0KD-BSU52~%qS|&Gdq0}r zN3t(OyL(CdVmw(KuJpx^7t<-{L7Oj(cbO-?3^j|J#i(u;dAJUseRZ1RD9+rYTFw|) z{9~qQvK5;5G2fA|=>wL^pETiIGujs=HkqfCR=k-HRf*o1Msq(wZr6*3REB9sSQocJ z%rDR;7v&!#p||SgIC5T5T<TjV7j`&T@It!Bdv1Dl-e;t?HlOeTlwV{_`;7M!`ZDsB z_MwRjoAZ8<DKg|dP8;^%C7c4k)}l-a9PovRPSn+C&yqVoa|_vcQ#%9Ec8Vy%eRSn* lX5deD{=e)0|E~Z4yZ-<0`v1S{|NpN4|GWPG|84#M{{RlQ=o|n5 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/audio/src/unit_test/ssp_main.c b/freertos/cvitek/task/audio/src/unit_test/ssp_main.c new file mode 100755 index 000000000..2e0bd9a74 --- /dev/null +++ b/freertos/cvitek/task/audio/src/unit_test/ssp_main.c @@ -0,0 +1,788 @@ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + *% + *% ssp_main.c + *% Author: Sharon Lee + *% History: + *% Created by Sharon Lee for NR in August, 2019 + *% Add AGC by Sharon Lee in December, 2019 + *% Add Linear Processing AEC by Sharon Lee in April, 2020 + *% Add Nonlinear Processing AES by Sharon Lee in August, 2020 + *% Add Notch Filter and DC Filter by Sharon Lee in April, 2021 + *% Add SPK-path AGC by Sharon Lee in July, 2021 + *% Add DG and Delay by Sharon Lee in November, 2021 + *% Add SPK-path Equalizer by Sharon Lee in January, 2022 + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +/*************************************************************************************/ +/* This example C main file shows how to call entry-point functions and read input signals. */ +/* You must customize this file for your development environment/platform. */ +/* Modify it and integrate it into your own development environment/platform. */ +/* */ +/*************************************************************************************/ + +/* Include files */ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include "tmwtypes.h" +#include "mmse_init.h" +#include "mmse.h" +#include "define.h" +#include "struct.h" +#include "agc_init.h" +#include "agc.h" +#include "lpaec.h" +#include "packfft.h" +#include "nlpaes.h" +#include "notch.h" +#include "dc.h" +#include "dg.h" +#include "delay.h" +#include "eq.h" +#include "functrl.h" +#include "ssp_unit_test.h" +#include "incbin.h" + +#define INPUT_FILE_AS_ARG 1 +//#define RTOS_CVIAUDIO_DEBUG_MODE 1 +#ifdef RTOS_CVIAUDIO_DEBUG_MODE +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "rtos_cmdqu.h" +#endif + + +int customer_option; +INCBIN(FE_WAVE_FILE, fe_wave_input_file) +INCBIN(NE_WAVE_FILE, ne_wave_input_file) + +#ifdef RTOS_CVIAUDIO_DEBUG_MODE +extern QueueHandle_t xQueueCmdqu; +#endif + + +extern unsigned char fe_wave_input_file[]; +extern unsigned char ne_wave_input_file[]; +extern unsigned char fe_wave_input_file_end[]; +extern unsigned char ne_wave_input_file_end[]; +unsigned int fe_wave_input_step = 0; +unsigned int ne_wave_input_step = 0; +unsigned int fe_wave_input_size = 0; +unsigned int ne_wave_input_size = 0; + +short *pfe = NULL; +short *pne = NULL; + +#define CVIAUDIO_SSP_MAIN_UNIT_TEST_MODE 1 +#define CVIAUDIO_SSP_MAIN_FRAME_MODE 0 + +unsigned int count_bytes = 0; +//replace the local to global variable-------------------------------------------------------------------------------> +int return_value = 0; +float fs; /* sampling rate */ +int hopsize = 160; /* input hop size */ +int len; /* window size */ +int len1; /* overlap size */ +int nFFT; +/* Delay History Buffer */ +DelayState *delay_state = NULL; + +/* DG History Buffer */ +static dg_struct dg_obj; + +/* DC Filter History Buffer */ +static dcfilter_struct dc_obj; + +/* Notch Filter History Buffer */ +static qfilter_struct notch_obj; +static int notch_state[4]; + +/* LP AEC History Buffer */ +LinearEchoState *aec_state = NULL; +short filter_length, init_filter_length; + +/* NLP AES History Buffer */ +NonLinearEchoState *aes_state = NULL; +boolean_T st_vad; +float std_thrd; +float aes_supp_coef1; +float aes_supp_coef2; +/* NR History Buffer */ +short x_old[160]; /* input overlap buffer */ +NRState *nr_state = NULL; +boolean_T speech_vad; +float aa, mu; +float frame; +float initial_noise_pow_time; +int nenr_silence_time, nenr_silence_cnt; + +/* AGC History Buffer */ +static agc_struct agc_obj; + +/* Near-end Input/Output Buffer */ +short save_mic_in[320]; +short ne_mic_fixed_in[320]; /* near-end and fixed-point mic input */ +float ne_mic_float_in[320]; /* near-end and floating-point mic input */ +short fe_ref_fixed_in[320]; /* far-end and fixed-point ref input */ +float ne_float_out[160]; /* near-end and floating-point output */ +short ne_fixed_out[160]; /* near-end and fixed-point output */ +float tmp; + +/* For Test */ +short wav_header[44]; +short cond1, cond2, cond3, cond4, cond5, cond6; +int i; +static ssp_para_struct ssp_para_obj; +/* Far-end Input/Output Buffer */ +short fe_fixed_in[160]; /* far-end and fixed-point input */ +short fe_fixed_out[160]; /* far-end and fixed-point output */ + +/* AGC History Buffer in SPK Path */ +static agc_struct spk_agc_obj; + +/* EQ History Buffer in SPK Path */ +static cascaded_iir_struct spk_eq_obj; +static float spk_eq_state[12]; + +short range = 0; +float mut_val = 1.0F; +int SSP_Algorithm_Init(void) +{ + printf("[Rtos]enter[%s]---------------->\n", __func__); + + customer_option = 3;// ht slave + hopsize = 160; /* input hop size */ + len = 2*hopsize; /* window size */ + len1 = len/2; /* overlap size */ + nFFT = 2*len; + printf("pre-rest -----------------go\n"); + if( aec_state != NULL) + LP_AEC_free(aec_state); + if (aec_state != NULL) + NLP_AES_free(aes_state); + if (delay_state != NULL) + delay_free(delay_state); + + printf("reset the global variable----------------------start\n"); + delay_state = NULL; + memset(&dg_obj, 0, sizeof(dg_struct)); + memset(&dc_obj, 0, sizeof(dcfilter_struct)); + memset(¬ch_obj, 0, sizeof(qfilter_struct)); + memset(notch_state, 0,sizeof(int)*4); + if (!aec_state) + memset(aec_state, 0, sizeof(LinearEchoState)); + aec_state = NULL; + filter_length = 0; + init_filter_length = 0; + aes_state =NULL; + st_vad = 0; + std_thrd = 0; + aes_supp_coef1 = 0; + aes_supp_coef2 = 0; + memset(x_old, 0, sizeof(short) * 160); + speech_vad = 0; + frame = 0; + initial_noise_pow_time = 0; + nenr_silence_time = 0; + nenr_silence_cnt = 0; + memset(&agc_obj, 0, sizeof(agc_struct)); + memset(save_mic_in, 0, sizeof(short)*320); + memset(ne_mic_fixed_in, 0, sizeof(short)*320); + memset(ne_mic_float_in, 0, sizeof(float)*320); + memset(fe_ref_fixed_in, 0, sizeof(short)*320); + memset(ne_float_out, 0, sizeof(float)*160); + memset(ne_fixed_out, 0, sizeof(short)*160); + tmp = 0; + printf("reset the global variable-------------------------end\n"); + + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/*%*/ +/*% SSP Algorithm Parameter */ +/*%*/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + + /* SSP algorithm parameter need to be adjusted according to different prototype machine from client */ + /* { 0: default }, { 1: CEOP }, { 2: HT master (ref hw) }, { 3: HT slave (ref hw) }, { 4: ZT (ref sw)} */ + /* { 5: an example of slightly enhanced low frequencies in spk-path equalizer } */ + /* { 6: an example of slightly enhanced high frequencies in spk-path equalizer } */ + ssp_para_obj.para_client_config = 3; /* for choosing client's prototype machine, [0, 6] */ +#if INPUT_FILE_AS_ARG + ssp_para_obj.para_client_config = customer_option; + printf("input_file_as_arg option[%d]\n", ssp_para_obj.para_client_config); +#endif + fe_wave_input_size = fe_wave_input_file_end - fe_wave_input_file; + ne_wave_input_size = ne_wave_input_file_end - ne_wave_input_file; + speech_vad = speech_vad; + /* Assign Parameter Value to SSP Algorithm */ + /* These values of parameters need to be adjusted according to the actual field try on prototype machine of client, these parameters can be pulled out to be API input arguments for SDK */ + if (1 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 60; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 10; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 6; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 1; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (2 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 18; + ssp_para_obj.para_agc_target_low = 66; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (3 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 1; + ssp_para_obj.para_aec_filter_len = 2; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 15; + ssp_para_obj.para_agc_target_low = 15; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 0; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (4 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 207; + ssp_para_obj.para_delay_sample = 450; + ssp_para_obj.para_dg_target = 6; + ssp_para_obj.para_aec_init_filter_len = 13; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 1; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (5 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 0; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 2; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 4; + ssp_para_obj.para_spk_eq_freq[0] = 6; ssp_para_obj.para_spk_eq_gain[0] = 43; ssp_para_obj.para_spk_eq_qfactor[0] = 0; + ssp_para_obj.para_spk_eq_freq[1] = 7; ssp_para_obj.para_spk_eq_gain[1] = 38; ssp_para_obj.para_spk_eq_qfactor[1] = 11; + ssp_para_obj.para_spk_eq_freq[2] = 8; ssp_para_obj.para_spk_eq_gain[2] = 39; ssp_para_obj.para_spk_eq_qfactor[2] = 11; + ssp_para_obj.para_spk_eq_freq[3] = 9; ssp_para_obj.para_spk_eq_gain[3] = 37; ssp_para_obj.para_spk_eq_qfactor[3] = 0; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else if (6 == ssp_para_obj.para_client_config) { + ssp_para_obj.para_fun_config = 0; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 2; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 3; + ssp_para_obj.para_spk_eq_freq[0] = 7; ssp_para_obj.para_spk_eq_gain[0] = 42; ssp_para_obj.para_spk_eq_qfactor[0] = 9; + ssp_para_obj.para_spk_eq_freq[1] = 8; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 9; + ssp_para_obj.para_spk_eq_freq[2] = 9; ssp_para_obj.para_spk_eq_gain[2] = 43; ssp_para_obj.para_spk_eq_qfactor[2] = 0; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } else { + ssp_para_obj.para_fun_config = 15; + ssp_para_obj.para_delay_sample = 1; + ssp_para_obj.para_dg_target = 1; + ssp_para_obj.para_aec_init_filter_len = 2; + ssp_para_obj.para_aec_filter_len = 13; + ssp_para_obj.para_aes_std_thrd = 37; + ssp_para_obj.para_aes_supp_coeff = 60; + ssp_para_obj.para_nr_init_sile_time = 0; + ssp_para_obj.para_nr_snr_coeff = 15; + ssp_para_obj.para_agc_max_gain = 0; + ssp_para_obj.para_agc_target_high = 2; + ssp_para_obj.para_agc_target_low = 72; + ssp_para_obj.para_agc_vad_ena = 1; + ssp_para_obj.para_notch_freq = 0; + ssp_para_obj.para_spk_fun_config = 1; + ssp_para_obj.para_spk_agc_max_gain = 0; + ssp_para_obj.para_spk_agc_target_high = 8; + ssp_para_obj.para_spk_agc_target_low = 72; + ssp_para_obj.para_spk_eq_nband = 1; + ssp_para_obj.para_spk_eq_freq[0] = 0; ssp_para_obj.para_spk_eq_gain[0] = 40; ssp_para_obj.para_spk_eq_qfactor[0] = 15; + ssp_para_obj.para_spk_eq_freq[1] = 0; ssp_para_obj.para_spk_eq_gain[1] = 40; ssp_para_obj.para_spk_eq_qfactor[1] = 15; + ssp_para_obj.para_spk_eq_freq[2] = 0; ssp_para_obj.para_spk_eq_gain[2] = 40; ssp_para_obj.para_spk_eq_qfactor[2] = 15; + ssp_para_obj.para_spk_eq_freq[3] = 0; ssp_para_obj.para_spk_eq_gain[3] = 40; ssp_para_obj.para_spk_eq_qfactor[3] = 15; + ssp_para_obj.para_spk_eq_freq[4] = 0; ssp_para_obj.para_spk_eq_gain[4] = 40; ssp_para_obj.para_spk_eq_qfactor[4] = 15; + } + +/*% SSP Algorithm Applied to MIC Path */ +/*% */ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + /* Get the sampling rate from CODEC configuration if run with system codes */ + //fread(&wav_header[0], 1, 44, fp_test_fe_ref_in); /* wav header */ + //fread(&wav_header[0], 1, 44, fp_test_ne_mic_in); /* wav header */ + + //fs = (float)(wav_header[12]); /* sampling rate recorded in 24th byte with 4-byte length, little endian */ + fs = 8000; + cond1 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_para(&ssp_para_obj); + delay_state = delay_init(&ssp_para_obj); + } + + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + DG_para(&dg_obj, &ssp_para_obj); + } + + cond1 = ssp_para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover_init(&dc_obj, fs); + } + + cond1 = ssp_para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_para(¬ch_obj, &ssp_para_obj, fs); + notch_init(¬ch_obj, notch_state); + } + + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + LP_AEC_para(&ssp_para_obj, &filter_length, &init_filter_length); + aec_state = LP_AEC_init(hopsize, filter_length, init_filter_length, fs); + } + if (cond2) { + NLP_AES_para(&ssp_para_obj, &std_thrd, &aes_supp_coef1, &aes_supp_coef2); + aes_state = NLP_AES_init(hopsize, fs, std_thrd, aes_supp_coef1, aes_supp_coef2); + aes_state->echo_state = aec_state; + } + + if (!(ssp_para_obj.para_fun_config & AGC_ENABLE)) { /* add fool-proof design for parameter configuration */ + ssp_para_obj.para_agc_vad_ena = 0; + } + cond1 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond2 = ssp_para_obj.para_fun_config & AGC_ENABLE; + if (cond1 | (cond2 && ssp_para_obj.para_agc_vad_ena)) { + NR_para(&ssp_para_obj, &aa, &mu); + nr_state = NR_init(hopsize, fs, aa, mu); + } + if (cond2) { + AGC_para(&agc_obj, &ssp_para_obj, 1); + AGC_init(&agc_obj, &ssp_para_obj, fs, hopsize, 1); + } + + speech_vad = true; /* default */ + st_vad = false; /* default */ + frame = 1.0F; /* set initial value here in case of NR off */ + nenr_silence_cnt = 0; + ssp_para_obj.para_nr_init_sile_time = MIN(MAX(ssp_para_obj.para_nr_init_sile_time, 0), 250); + if (fs == 16000.0F) { + initial_noise_pow_time = 14; + nenr_silence_time = ssp_para_obj.para_nr_init_sile_time*2; + } else { + initial_noise_pow_time = 7; + nenr_silence_time = ssp_para_obj.para_nr_init_sile_time; + } + + count_bytes = 0; + printf("[Rtos]leave[%s]---------------->\n", __func__); + //add for test case + range = 0; + mut_val = 1.0F; + + return 1; +} + +/* Function Definitions */ +int SSP_Algorithm(int test_mode, short *pinput, uint64_t pout) +{ + //printf("input_file vvvv[%d][0x%x][0x%x]\n", ssp_para_obj.para_client_config, cond1, cond2); + memset(ne_fixed_out, 0, sizeof(short)*160); + memset(fe_ref_fixed_in, 0, sizeof(short)*160); + for (;;) /* Main Frame Loop in MIC Path */ + { + /* This section of codes have to be replaced by reading the bitstream from system layer in real platform */ +#if 0//TODO: replace by pointer + cond1 = fread(&ne_mic_fixed_in[0], sizeof(short), hopsize, fp_test_ne_mic_in); /* get current near-end frame data */ + cond2 = fread(&fe_ref_fixed_in[0], sizeof(short), hopsize, fp_test_fe_ref_in); /* get current far-end frame data */ +#else + //fill in the data + if (test_mode == CVIAUDIO_SSP_MAIN_UNIT_TEST_MODE) { + pfe = (short *)&fe_wave_input_file[count_bytes]; + pne = (short *)&ne_wave_input_file[count_bytes]; + for (i = 0; i < hopsize; i++) { + //save_mic_in[i] = pne[i]; + //ne_mic_fixed_in[i] = pfe[i]; + //fe_ref_fixed_in[i] = pne[i]; + ne_mic_fixed_in[i] = pne[i]; + fe_ref_fixed_in[i] = pfe[i]; + } + + count_bytes += hopsize * sizeof(short); + //if (count_bytes >= (fe_wave_input_size)/3) { + if (count_bytes >= (fe_wave_input_size)) { + printf("ssp_main unit test reach the end of file ...force break\n"); + return_value = 0; + return return_value; + + } else { + return_value = 1; + } + } else if (test_mode == CVIAUDIO_SSP_MAIN_FRAME_MODE) { + + for (i = 0; i < hopsize; i++) { + ne_mic_fixed_in[i] = pinput[i]; + } + + for (i = hopsize; i < hopsize*2; i++) { + fe_ref_fixed_in[i] = pinput[i]; + } + return_value = 1; + } + + + #endif +#if 0 + cond1 = cond2 = hopsize; //hopsize = 160 samples, total 320 bytes + if ((cond1 != hopsize) | (cond2 != hopsize)) { + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + cond3 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond4 = ssp_para_obj.para_fun_config & AGC_ENABLE; + cond6 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1 | cond2) { + LP_AEC_free(aec_state); + } + if (cond2) { + if (aec_state != NULL) + NLP_AES_free(aes_state); + } + if (cond3 | (cond4 && ssp_para_obj.para_agc_vad_ena)) { + if (nr_state != NULL) + NR_free(nr_state); + } + if (cond6) { + delay_free(delay_state); + } + //fclose(fp_test_ne_mic_in); + //fclose(fp_test_fe_ref_in); + //fclose(fp_test_ne_out); + printf("illegal end of file:force end in [%s][%d]\n", __func__, __LINE__); + return 0; + //goto Pattern_EOF; + } +#endif + if (2 == ssp_para_obj.para_client_config) { + for (i = 0; i < hopsize; i++) { + tmp = (float)(fe_ref_fixed_in[i])/(float)(32768.0F) * 15.84F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + fe_ref_fixed_in[i] = ROUND_POS(tmp*(short)(32767)); + ne_mic_fixed_in[i] = ROUND_POS(((float)(ne_mic_fixed_in[i])/(float)(32768.0F) * 0.5F)*(short)(32767)); + } + } + + if (!(ssp_para_obj.para_fun_config)) { + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; /* save MCPS if all off */ + } else { + + /* Delay ref signal, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DELAY_ENABLE; + if (cond1) { + delay_ref(fe_ref_fixed_in, delay_state, hopsize); + } + + /* Apply DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + apply_DG(ne_mic_fixed_in, ne_mic_fixed_in, &dg_obj, hopsize); + } + + /* DC filter, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DCREMOVER_ENABLE; + if (cond1) { + DC_remover(ne_mic_fixed_in, ne_mic_fixed_in, &dc_obj, hopsize); + } + + /* Notch filter, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & NOTCH_ENABLE; + if (cond1) { + notch_filter(ne_mic_fixed_in, ne_mic_fixed_in, ¬ch_obj, hopsize); + } + + /* Linear AEC, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & LP_AEC_ENABLE; + cond2 = ssp_para_obj.para_fun_config & NLP_AES_ENABLE; + if (cond1 | cond2) { + LP_AEC(aec_state, ne_mic_fixed_in, fe_ref_fixed_in, ne_fixed_out); + if (cond2) { + for (i = 0; i < hopsize; i++) + aes_state->aes_std_in[i] = ne_mic_fixed_in[i]; + } + for (i = 0; i < hopsize; i++) + ne_mic_fixed_in[i] = ne_fixed_out[i]; + } + + cond3 = ssp_para_obj.para_fun_config & NR_ENABLE; + cond4 = ssp_para_obj.para_fun_config & AGC_ENABLE; + if (!(cond2 | cond3 | cond4)) { + /* Compensate DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(ne_mic_fixed_in, ne_mic_fixed_in, &dg_obj, hopsize); + } + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; /* save MCPS if NR+AES+AGC off */ + } else { + if (cond3 | ssp_para_obj.para_agc_vad_ena) { + /* Stationary NR, frame-by-frame processing */ + if (nenr_silence_cnt >= nenr_silence_time) { + NR(ne_mic_fixed_in, initial_noise_pow_time, &frame, nr_state, &speech_vad, ne_float_out); + } else { + for (i = 0; i < hopsize; i++) { + ne_float_out[i] = 0.0F; + nr_state->x_old[i] = ne_mic_fixed_in[i]; /* update input overlap data */ + } + } + } +//TODO: + if (cond3) { + /* Transform to fixed-point with 16-bit length for output */ + for (i = 0; i < hopsize; i++) { + ne_float_out[i] = MIN(MAX(ne_float_out[i], -1.0F), 1.0F); /* saturation protection to avoid overflow */ + if (ne_float_out[i] < 0.0F) + ne_fixed_out[i] = ROUND_NEG(ne_float_out[i]*(int)(32768)); + else + ne_fixed_out[i] = ROUND_POS(ne_float_out[i]*(short)(32767)); + } + } else { + for (i = 0; i < hopsize; i++) + ne_fixed_out[i] = ne_mic_fixed_in[i]; + } + + /* Nonlinear AES, frame-by-frame processing */ + if (cond2) { + NLP_AES(aes_state, ne_fixed_out, frame, speech_vad); + st_vad = (boolean_T)aes_state->st_vad; + } + + if (2 == ssp_para_obj.para_client_config) { + for (i = 0; i < hopsize; i++) { + tmp = (float)(ne_fixed_out[i])/(float)(32768.0F) * 1.9952F; + tmp = MIN(MAX(tmp, -1.0F), 1.0F); + ne_fixed_out[i] = ROUND_POS(tmp*(short)(32767)); + } + } + + /* Compensate DG, frame-by-frame processing */ + cond1 = ssp_para_obj.para_fun_config & DG_ENABLE; + if (cond1) { + compen_DG(ne_fixed_out, ne_fixed_out, &dg_obj, hopsize); + } + + /* AGC, frame-by-frame processing */ + if (cond4) { + AGC(ne_fixed_out, ne_fixed_out, &agc_obj, &ssp_para_obj, speech_vad, st_vad, nenr_silence_time, nenr_silence_cnt, 1); + } + + } + } + + if (nenr_silence_cnt < nenr_silence_time) + nenr_silence_cnt += 1; + else + nenr_silence_cnt = nenr_silence_time + 1; /* avoid overflow */ + + if (nenr_silence_cnt > nenr_silence_time) { + if (frame < initial_noise_pow_time) + frame += 1; + else + frame = initial_noise_pow_time + 1; + } + + //fwrite(&ne_fixed_out[0], sizeof(short), hopsize, fp_test_ne_out); + + memcpy(pout, ne_fixed_out, sizeof(short)*hopsize); + //memcpy(pout, save_mic_in, sizeof(short)*hopsize); + //memcpy(pout, ne_mic_fixed_in, sizeof(short)*hopsize); + + return return_value; + } + + //Pattern_EOF: + // printf("Test Pattern EOF in MIC Path!\n"); /* EOF, set breakpoint here for VC++ version */ + +} + +#if 0 +#if INPUT_FILE_AS_ARG +static void _ssp_main_usage(void) +{ + printf("-----------------ssp main 20211202 usage -----------------\n"); + printf("=============================================================\n"); + printf("input arg 1: NE file\n"); + printf("input arg 2: FE file\n"); + printf("input arg 3: SPK input test file\n"); + printf("ssp main will produce , near end result and spk result\n"); + printf("=============================================================\n"); +} +#endif + +int main(int argc, char * const argv[]) +{ +#ifndef INPUT_FILE_AS_ARG + (void)argc; + (void)argv; +#else + if (argc < 4) { + printf("Need more input arguements ssp algo 20211202!!!\n"); + _ssp_main_usage(); + return -1; + } +#if 0 +FILE *fp_test_ne_mic_in; +FILE *fp_test_fe_ref_in; +FILE *fp_test_ne_out; +FILE *fp_test_fe_in; +FILE *fp_test_fe_out; + +char *mic_ne_filename; +char *mic_fe_filename; +char *spk_in_filename; +#endif + mic_ne_filename = argv[1]; + if (access(mic_ne_filename, 0) < 0) { + printf("[Error]file name for mic_ne not exist[%s]\n", mic_ne_filename); + return -1; + } + if ((fp_test_ne_mic_in = fopen(mic_ne_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file NE\n"); + return -1; + } + + mic_fe_filename = argv[2]; + if (access(mic_fe_filename, 0) < 0) { + printf("[Error]file name for mic_fe not exist[%s]\n", mic_fe_filename); + return -1; + } + if ((fp_test_fe_ref_in = fopen(mic_fe_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file FE\n"); + return -1; + } + + spk_in_filename = argv[3]; + if (access(spk_in_filename, 0) < 0) { + printf("[Error]file name for SPK IN not exist[%s]\n", spk_in_filename); + return -1; + } + if ((fp_test_fe_in = fopen(spk_in_filename, "rb")) == NULL) { + printf("[Error]Cannot open input file FE for spk\n"); + return -1; + } + //setup the output filename + if ((fp_test_ne_out = fopen("mic_output.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } + + if ((fp_test_fe_out = fopen("spk_output.pcm", "wb")) == NULL) { + printf("Cannot open output file \n"); + exit(2); + } + /* {0: default}, {1: CEOP}, {2: HT master (ref hw)}, {3: HT slave (ref hw)}, {4: ZT (ref sw)} */ + printf("input customer option:\n"); + printf("{0: default}, {1: CEOP}, {2: HT master (ref hw)}, {3: HT slave (ref hw)}, {4: ZT (ref sw)} :\n\t"); + scanf("%d", &customer_option); + printf("Your option is[%d]\n", customer_option); +#endif + + SSP_Algorithm(); + + return 0; +} +#endif + + diff --git a/freertos/cvitek/task/audio/src/unit_test/ssp_unit_test.h b/freertos/cvitek/task/audio/src/unit_test/ssp_unit_test.h new file mode 100644 index 000000000..7b9087093 --- /dev/null +++ b/freertos/cvitek/task/audio/src/unit_test/ssp_unit_test.h @@ -0,0 +1,12 @@ +/* Include files */ +#ifndef _SSP_UNIT_TEST_H_ +#define _SSP_UNIT_TEST_H_ +#include <stdio.h> +#ifdef TYPE_ARM +#include <stdint.h> +#endif + +int SSP_Algorithm(int test_mode, short *pinput, uint64_t pout); +int SSP_Algorithm2(int test_mode, short *pinput, uint64_t pout); +int SSP_Algorithm_Init(void); +#endif diff --git a/freertos/cvitek/task/audio/src/unit_test_arm.tar.gz b/freertos/cvitek/task/audio/src/unit_test_arm.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e3a00ffa529f722e27edd7c76363779ebdbc637b GIT binary patch literal 4579232 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%0AlY#qh% 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%0D5(ij6; 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%0Am zUZbyVPw)Wyaz0%DZLU;mDn&f&ld`$GX=_54+e+xG5}dvyt#Ht1wY9H@e-E<;t+Jf< z-$=>no1}KKY~iO<)~9S2)9i0-(V~?%t#MZwXsIaPdqRD!<Ys$XTYGA&x73FyPb}?t zBTt{?WZ|*TwG{Q2j2)BGi;WDq;f$qie6g}VD7P)qe>I^`;%RfK63H_A`gl^rKKsbv zBg%Dsx38G^M+p%(eLl}TvE8=S(biIiDpF>pJCOL?bu_7;tAi+QZ)15c!o73!q3Tnc z-+E4L<!5QAnn!7%n{MvOM)TAh(&zu{UC$dTc`Q@e2Y!bCPi&X5Jkc0tl&139KJBw| z7QMC<Zr-12>lb_*{X0Z)TYAePdhF@p=|K&xH|<?mao$1v%c7MS{hoV+dy%n}b*BDC zQ|~L|uX5e8NgZY;>3(CGc*jHa(Ry88N-J#5ppBM4%+6vR59R6fHU0$shTfch%OL9| zEsbn$-uIp3d03Ia_dVtyQBd|!44P!*G;SNsX%9N<cKS|Z1v<Do>JK_4s!(NlUrynV z%`awE8KO2+db7^rgJ>fPiYC0eF`t(=PSR-EMGe*%?c?$24a&%RtTeNTd~yxzri_*C zjE%-kBZp`%8kyJm9&u1<sJ&L3DRvq_)hL-}3zyNEr=!D)O*tqh%fa#^D?m+zX3iEJ zse?$8v*cQfPiZUO=!bkHPOuZ|N7PQ?>@u6K+~Sq})Ac)MZ}x<?@<(Pa3fCgFr%EBJ zC5qEQ(Sk4cXV=^COv)IohZ?N(V7XZbX_%SJGe#cDMK_GH+$wfij%r1vVqErq;8xi| zX-YZyHQ9lMs-uL>SYv!KlW7sJXAU$6P<d5R6}CWR6PHCtZZT)*1I(_}QHj=CDy`XD z>P!EzQlg1bLoZ_%R`;^SBCoHdZ!!AD>9!VZGOsJH$Og(s)9st?lSUObQoayv_!hZO zTc{0S8_jxVUNKx;Fg^aB#u^INT-shGl$DisR+#FW{q^7a3=ttB&EotgO|pK}RQbfe zz?W03Vm*~%;*&W}R?s?I>NCSwV&vkw%u0ieX}T~=s&zGwGLnXgq0)(t@w9o{aG5#f zZkClD7u_gKO%Ps@ULQy?%36A5+)f$bzbK_`o;?klg0sf5@-j^C=6&zE$aAw-RF!8p zquDa;wC0nHe>Si3%%ZZnOTTQ|WecsiHbdz}lf)`fUHmYMn!4W9d~LSmhger-iRCoY z`ER|5-jCN79cY1AMX%UvR*J3Ub<JYt4znGfZ)Py1IZb3^r=-FXsl8kwSHOz=W)E`- zuOJ4?u8PiAieh}aQb}|3AHI*tRs1F82+JMxdrRbErK2{G&DERu2KtlvC~9mD*LNGQ z*kDTw?WHWk^NHu8o^YFs3`N|K&D4p?U|E*7QZ`g?H_ZqmPOr*Gh)Ob_60PP?YEo04 zXg(8T<Yw7L{uG000==X0v_m`)=}4s%{?<5Ro`qiqv3#s7J-`vqC`Htw<HDl6kt;+I ziW9rFkFpA{<jvxnBac~T+B++?Xp?9{edS#}NI&gwFSandJjOTaU-=tZLy3|-Ot+a) z%$1RZe8eMVjM_}?$5x3LQJwW<9$L(!O}iN?_Q-b19yyoSG^&~V$)V=chARbSyvQg% z@;~Mx&IlYrB|nBw<27le94q(IU|L8%>PV|aHHx8AY$X&iOw8mKIZxZBhKT9jBOWp* zs=chk)eEvFdElLuoSP2*f^NzJGE%%W^H5&-ghj9y@||oZH^}?chH6qXx-18>Ws0H{ zWMOQoTrc18`~19kBxkamVu<-spUiX0ddfg0D;p|1(nL|3XXoq08G0wTQ-5)j--LRU zll$nE*db1f`l182<)O1uvhVDmSSSvQ-AZ}ID*Kzu^|oS{v}l!-M43!gX(}a~oy^we z0pXEl<#AEP{KdymGq#9H*p?&p>iEDDg!@vgY{cfvH)6dgM7`*ZxF)vIA1Xj!&CA9< z(@7s$3hMJOP}hINUEYOf<U{#P@k;C$clb~KMii3;*$O#_Y6IZ|MOms$t7)gK&$h8) zawsu6POs&6x+YT0s=NdBVDFU}=9Ar_Nx4Nco{m@LoDUE!#4SD=EErDxWe>TDA}CQb zqyJG>dMo~ltJGUomA%MHXXzTvruY1$nQT7iL&U#giC9g^awS_VkBWh**7f0e`3o~W zkKx_K9#~p}Toff!$Rn1C_t0{u43cjpmpRx#*_6tOCSn7<rBd`Se~9`miUv!P^<>~q zri0>wSj{W*HT;NJLNCNY?lO<_XJRL87$?%fgJ)8&AA2P-Q6$|IIq4{6lB=YoO>|kD zgioJ{xzvq5Q!TvCiD>$V8qyD{LS1OOC@+FUCvio@3ys_&6!ZN@#pNVfL{6ikG%)a& zaLUMvu;bK+TG15f{}-Ap(u-vAgnGz=vNqip8R!c=p&4{ZTon%LL}REkO{R_Xi@L~e zav-h1Y#rrNxszJb2GI*_oiG2&PI4qr8Y6>cT^d1!<te$E)`;hPr)WcCNr=hfsVE=7 zD|rL|lZ_ZjwPaywksI+UB)iZ+a?^QvSjN&(kxzI;YdM$|VqN4EIz~k0<YziWURnct zhKcDS8?})~WVm#|g8f+44Y5&d5cBcgF6MzbM`Q<Chk_`YHc%|>peFP|^rxRxLH-Yx z)siuEn;OaUGK-u=^(h#m2ZPfQbb)rs>2ekQCyI-aqBZ@d1g!ikWtW}7fzGsxB$bp! z=$IIfqesH?-C<V>ohCmlsw@9TR(P{A^^>jSXA#Gni=W~JEkPV^i(jHTWuxz6G0=C5 zEb<1$ilJhk7(gL%H2pwqKZr84g>uN!uxk<OqlegAiO!HB`%o1T_<yLX(mX`76b0@n z=q<t#r=FCK4v8<|SYz>9jKSF-=%RSfvqO8b$zSvv{vkyD3V2usFNLPlAMt?)t^gcG zBV<Qeh6G>B|L{h1lG;)aA-PRV6*d}&nXl7QSTUYIHCyv-!01w->JjhH|Kq#GFq#i6 zq@>;@(E#3xMAfmIhEj3N8Mx+R0KI_@juQ*`LVi+YkmKYAS|$|HPGrV$RcMyT0=@?B zUbzmPh(KgsAoel*m?%e|FqT)C*uERMdyY??C?kAbgF^7zdzvh>%L-%{_jwP|hic24 zG)kzvG+!v@({lPIx&jIL$-qcmsg9g4Iik$)zC`(Dq-=~e4HB`iV-T=9jLKpkqXaRH z;t=0T$Q(sQXAwpZsH_Z;%PBwNmyB#O8Ymq{{gI*4(SFovbA>MI01IFE9^OK<r`I%! zHjCdp7Ty_5Pl1l#P@zqTQy9*-Vihmo(|;)+erp1@<d#n2JROj^NG_4L!KZRm9cbxB zi@?rTqA$4IPJ9$;<u2J*-T|J^fRPI*NZRB%*zyX9+Dnb0Ec5B3_#xIql_KRl=t2RS z0_2ZD1U^7{^GFZyZBi%sS^AM>Pg83|vZib=x5{kNj~R<W-_KAV@UNx(i4_*0Mi?Q3 zd{2Ae#cR;?M)I+22Tgt<P6<ZyD6@0`qfbO{cv^!#uSHhw4c#gVuAQc$vW_evp#!OZ zB|k|vnFuB74Bt+H7u!J5W1*YLBJh|0({vB3y&~E|OA&uj5+gLF7%>(xN)$t}w=}e< zFkWZCtW)sNV^ncpL{r*~^%ck7Kgbbvr~}qCp1xtOVlso=O%AN-3Vo!zh<o+azls-; zf!t@4KY*x2s7X^<5}%6zJ@cS>`Q-%Yp#p_kOSkABnMW>^rQ~totvJo4hwyqfnOWWf zFQcg+@<=aODWDOZ=q6sXu&Tm%6{MU{?Nd;@Wa#irQ3~%zA~%k11>f8juffJ{)E-&r zIP#^1iqItBFAV1}#1PCBH<4eaA&=%3PVo(uUlZ`FpvWLxfu~TXUY{Gd1GFo0#c$pa z{$D1(inrnxj&t!Gg7dN%<B2#V8j32SWa`!So5Tpw4~n)xyu`U%fyoKL)pjvObO&#* z0>dfLq~kd5lDLi6KNPt7bt@F>vv`AQZjPuVe)9C9J+}VF+B%8sn0FB(y9U;$r4eGO z$Vx}35U_KI0{6>QMzydBUd<1`&x5l6q;&Egoq)a!pq21eu=L`c8%lggPL==4)^dtm zDX+?2;M-r?M>-U@n2ZCuM^O}*c~RT}7T)3K7g$=3a!?8AK|Y}AH1(82Wlt#GW+?S8 zoc9fJy-OF7vj!pNdl9?Sh)#PTIt_SRmNEkk4YBVmv~wroxEryJCli{JjJRLJnSLm) zLF>Tte-P=lbQM;s^hN9x`H(l?LnW?5`?_Mr&s0^00W;f?Pm-yCTn2VEmg(d$tfUFn z7cAdklw-(1k74UA)Oly23p?l_*!dDz4Ur#FAwGwHK0$d3%QE1Y56Dzye>qcblg+WN zPsl+GNPP-?4~D<r(<5?7H}Y-*MhumCk(=7e{6J?~{N7jghFZ)7atq3gK)MY-)5E3+ zFmMm@n}@Q(;xCk1pWx^r@N-e<<3EVOCiz4*l{KJ{1u@D%bc_*lKh)s}Y-aKi*1QbS z+yQ&P!n5;fKYTQeh9INt#rpTcQ)@8CVY&f!5u!Z_`#M043L#!?sWH?cJH?B0VlBA; z1{vbF5F&~)p)$)%zl0syS^|+;il}UcN_2uAHiBaGrQBdiR>}h{$%;sHq~>5!B9J^8 z%vg?0d=$OVZm|v>!*y{M|NbksL7O*<y<#OkJwndoB2L`JQ76TDsM%rUw>%;oT&j%Y zhJqbUL?(3Jl|@T|stl|=C0>Aw?@$YA(8jXh_C%~@5iqqJvEM<jfZ=;ky-Kk7gOI`i zs}obN=&cQXpB;Gq1pGD$TD=m;8w9<b2EV+3dM(7KHdxnOoIL^B`Vl-^EB*s#FGDZZ z;8SO0{lNV%H^IyU(1IM$j(PCrU^)Q*E~3jo?0k$-2-QSdaG(L$mVtulEY|iA9=(}* z-Pr-~_M0e(eEm!Kv5t{Y=kYji6Ic>ZuIA9OqToR`B6I@FMMr4C1Z13vqM4|TdTKiS z_6uEWI~=_M>z;r(cEa(E5U<zb9=!ia1g?_TkntE4IWNZhfQUp1lb1&XhM;n9oca{> zccKFP)F0WqHR3v(<{;w^#X4G}2512vt)%rd94ejzYFY#_9}Zl7qx;bAML@z5VD=3- za0|J6GrFqRR6;&MR@;Z8-h($aWfJ)M9GonQ&S?}__XS+L0S149!f3K4u-`fL)kiLX zzOO=+W(5PHq3@Nzmnbm(FwlD)Y;qyr|05g9;xd=4h<_`BQ@Nl=8q}%@&b=>>$^96i z7x+C>&XwcQ?KMWFSswYOu>49H<!>m$Dlq*u5E3{m1fAA(RPa`eVv`A|Wnw8Bxv?S` z7KG~e1MyVd`47r)9c#{x`u8CaUlG1;fo=2Q`7z+aF?gaMwsk|jatG{so_ZC0H|hZ# zGzPXd&|j!V9MtzdeTN-2P)(_r;SDUPDbqlq4#LaJfr4J(*D4_K0gg_F2CN6R_5s~X z5T98<NIx)j9Qba)=3l5CP9qK%@#!;dL-!fTeL0}Vf5mrbaR6y$p`cSx2R^`lg`S~4 zsY`xQ8Y2W0ZxJGvLgDcBG-T7SP?D@*Q!?_<G}Lk#QP1o}=2`~^e-v&JxSszHFjozD z$qZE(3$-myS&+#?=njrb7U|KubwQU?9DLo)@1pm;&JUs%-iYk=0jPX~OgI9soxtR9 ztfUTRYYYYt1TTlfnjAp>V0hLq9%Ht0ur(KyJsQ2_3DjrBDGA-(E^zJ-bSWwIUgTdQ zE$Xg9(5~aCbYBWC3d6Er!ikFI4{F4=^cUUMC)gH_k?H}JOA(Eyh{8Ise-6C21ztV@ zKQ4j4f1t`bgHJn9xrYLSAE+HVt&xcG4q)&n1^SWzZV5Q~2;BUlv{3RW)NeUZr=5ht z?gF-+0ILbWz&iMT4Yqa%pN3$4<$;%NK+St#F9W*UEa=nIU@QZ#I>-jmsEQs#nH$N~ zasb#;0vcZrqub>+*t{4sMggY}v4Tld60f{ah~U(Ut|)v}3BDVINH2mnizAl?o*GjR z_}hs5I2x;a21Wc!Nr?Clcz6IX^#yr6TAqYneMY^QCzTJ9asin<HLIRRwoSn?|6q*+ zu(dgCZ76jdbq%ZX!;*W5&?wYY3NVln`X7v1?<>%!qua=bY!Xc2sN4g43qzms<KG;} z6HQSwv;|v6!b4}F1wQ1;?8t=-TH&UGVEmQT>lnWyTfIguMbC;H*jWC7<$gpd;M<k( z)Is>OA5d5a8K^MSDJxKr5j8<`csm_@k{Rn91-}IFupO02PUvuY^cFFwp<<9h_9G8X zfdU>!&Woha(DUv1^gH!>`%K7$#n7od1a1?d+Vi2=d&C&jRzrZZz`fIlfW%m+_;KW| zz}<e$QtwT_2!$Sr>hK!;AVrD@+$)eMvV%>Xf%QSq$f*<x%br8kSEPQwQ%Lkcy|_+X z!1yas4<1Ez_!qs^I#_uY6?jc#tk$U60@v6UqQKo%4ss!92JS>i0M7pd&+lP`iO9A~ z0(XAUz0`XhFNnZh{@F2W1;ijX^2i5d+n>UPda@F-Qp;3d<v~QMA<w-`<y281y)AM` zFJz<Y(1Iv1`vF+{9(%9CUzgBLTtgmO0bMwUwFjQT5C-f?%z7RiOGYkfj9k(mtm%<j zO?E@1wnIN3BhO9)<~D;7JE7?N5qTAgV`BdfXxx0ndmJ+8ELiXW#|}Y8n+%jyLU;HN z`hrKuDM3I&3b1koT<8i`bw}sW1ZyadPxbKbiQ1zLGA08v`heG?fUxFR_e=OK9O`-$ zx#|b%Ac6u9mTTo^c|@L<!{uxlcoxx0)Ksm&w;I5C8DyRo$S~2;75F9xpNpXCx`esc z!^Y`Q==Z>77W67b(6>zhHv3}4y09}yRzu#XD03i#<dQeQ#sjD&x`45PtEU}MHa|2f za9`!B)H_gCr9QXD1Mi-~D~d{`X57*6U?Z$&YpTUxz=RmE&4oO(7u#l|HkpX^41&kj z1OFr7hg!(}k%(7uM65DmP#-HFk^1b0X_);0ynPC6{e=~zMGo#SE65o5|2lHF7yjM_ z8{2`G`H^8N!;>YD`#U49HGzmcbRAJYEJ88jAn>hYDu25n!oLxb^ys*r(Q#y=%CZM4 z{ej5jjbwH7Z8h;TKYF(d(5vnkw>zRX4{<#R3_QSU#vuO;M%UFJh<HG`Q9+l5_lKia zo-d~(cdtfF7Rrh6eLBR!0X1wRo5AW!i19G^U<H&dP`xSOMoHK;5S9h*UX1}3?G(7H z!VVwSfk$ftheJ>sFM}QzK@`HE6}f@g6RGv)V*Gq25^&}nFyu41l!Qtz5j=S;0#|i^ zKrTHG1-OQ|WdQq%Vbo$2=qtOzKhc=G9P;{ZR6v{Ip8zKdp~svB`&J-6TcM<TU|TK3 zBrVi32fWxA+&hA!+rTpoux}=OJ_GTq0blflUuJ?iwSbq3@N_w>BpdjS=2GOrr|!sg zc3}D@tjr44D*^Qlh4Q-bDH}TKvaly`oqu*{UNx{j7b56JSNjauYKXau<LtVaX)a#P zz|lfjLo2MO06PBrs0Gg;rzT_cnA9#c5v!IsI|bg!0hM?Qb>yg8bKtzBR1N)w<HO<W zyij`s`kxQ%%Sboi$LUblwW-f%xr4KEK~vKsQo-;|;nX=tz`9b<m{#z_L0GdD$e*5C zLk&Z=nt|AkL3F#rr?cUY3dm=9fc3V>*}dVx@<8=Ey#4@57lEWPi10WZIS*$CvO%mU zk7K7GF3T|XAgsI_j+qW!Xakfp_^Kq(um$zlIWTE6c=dtqqAI+F(H5gJ7y=E<fH?gR z_B98mqEJ2j6ltK`X;Sa8&WXqsfO1A7(*&MJavHjQ2{?Hm0^giGfpUL`&mKWHlhE7L zz}f8)sVs==3*@0_)cLzH-*KqiD*SGMhYr+$i!kD9RGK>0^#V3sN9S7>RdZcby|qv+ z>*x<v<UxZX<Y};Z0@ii_8C0jd;9ONy%t5FqGRmCD=I^0*U4hfdSWV!2mN1M_6RK1f zY+~qQ4`KBESou)kb2;WZjhgiyD*N|Pn;=vj1u#lU*&d8s1#RmoJ3<jBpthcc-^$4b zvYY%OAIOVxANV>Ini8nCC&~4)E5;YF{to4Y0#rcdomPfICj)f{p?b=QYWD#mz6X8s zNz6MAaTy68tU~;^rE;YKSlSyE&v}fp8453eKqq3B3*M=j`b;z{m>vtJQYtTO6u9U5 z6_C~nzOc(e@+A<|0>{pRHhn_9as;Ze3G4a~nw1_^%vXFm3{5(Uis&<rxCjLtj2zMw z$eN4%v>cigc%oiUSac7sTY>wqfT~g$_Y7vpiaO~Uu=5_>dT+TxZiLb;0z3NvH*Zln zo&}EMQtvSNAxZ(Y<G{TNz-)P-_ckhf4IWC1YUcpzn@{LfpP-_NMQw8&(HH>btp+XY zho7C1?@K~A@&nUp$O>(-0BzqzYgpO<@5=B}TU4_TpoO<lSu6po0$IbI+5xwRp7cgk zXJF56bP*en17<^AYJvGZ@otwoM+AJi9(iaS(5qn$fqMEes*menyB$1f4g80vKHccF z2s{PoUyQU1?5Kbvf8dB_h%`rS{1QyF!B2C5%RGp|Uv$E);gKtp4%p}`D<eC;$EwT9 zra;qN*$&v60!6PW<KfBGh{#_2j6;Qb88d9fXkX#qG(cJ&nO!~w8lGZRf2bWYY$$rQ zBd7%3$c>K>+h7?E#EwAz=qCR~PRfXy*#J}CB3iqVHJ4%hBfwvf{0ycYM|2khb!U)0 zHzNM`5$QlTum}EHn_4r}0dq!SEi(|$A@FqInXOe2!<N8Das2E7TpWTu9z^dCSab>X zO$ahyLDVW1`5#5fkJ$4BmCtmj?Pw@Q;GWXJ6MRkq6MNuW6>-gl_(dQF6T$nAh*3Ah zy&E)q7e@Pus-t=8%HKhm*2C6qnB^yscoue!#PK~4!*jrUpgIWredH@@^%Sf*7<?;? z`lFQGi@IhIbR#EnXW$zlhFYZ@ey=KL!289d8#<B(T-gdtjE9{SvGNK~_B61oIdB!o zbe*B<fxFM5kT-H;Uqos}AC4X|3|?7^OtLKX*{P=xn|t7sMEt&kTO%k?Wrovt)H@!m z_6ZpJQp`m+xeYny5ORVc+T!d+@NXC7@XSDZFsh?Cks0{Qi9D7OJ`Z#$D}d@{h|4%= zK{wzo9kl(I*p1w>Lkvc}y9KrG8QAy@O7I$4`vp{?C^~^U@ajlJa64lB0tn3rMGHZX z6Zlr*AlR}gwYExx<+tItC$QUtqmqEvXF&8FsAC`}cxX22kePA=I^-?z+d8=hsGWp< zXbhCD75q3+zLNXp9(*1pPvQ5S@}!)Hc`C^-=&F*S2PR?^xMQ&eF!&rS_haNuP>9~} zZg}c*$NmRA?!u9W&<CZ5W)_2*=RwbtQ9egR<FJR5CAFgb0<;Z8j+=n<Y9Shtz~xQ! zz!$*G+)%v0-DainGf;Q$#%wp?!_VlLdds6&#UWU`0Csjob=6UJfR$IEyTjq7wP0$~ z)NdG?r*gX!a$GHFZ;sUO$NHf@KaNT<44AAAMm~j-4**M-1D891p83Gz{}8X4!21PQ zoJGdMa~fFKfWqYy`34o;1UiKp<pRx<+huvyj=e(m$iw~tM<<GEqLIiT3W$2BQ~sr@ zsLb8+AJ&FVXII#Grm&W%{Z7l9n7bZyb)u+@N@WGrmBrZv7Q}|h&gfF|iwk@WKgK0* zCKf=crc(hq2U_t%M&PJ;_MRDR0DCBF%gw;hK~YNt{>RuDUJ%_(CS*S))i*<ACaBaO zyt1VJjU*##_&`Om65UmGaZDT$Re{3<Dg~vf2L)>YOx%~BWf(gNWXuE#s$fNpX&3sh ze!zTx`k$=DezVi8ENd!z&>(S_kKy%rUw(#95Y2%Sm5pT2@cP9<lvq|lsi{OO>)CrK z=wx~;%7{<A7oWnn1^zEW(FHv~C*<);G7&M6R7En3oLi}+tYq)xF4`hCa+kT-++ddC z^LaV+pg*7^i{)>5SxR{TdN2bK%m{3qgZ_L*pIS>yhb@8sA-yG!;|IhpN|BpbH)WGj zK^el*%R6EMKVg<LUl}Kj>qc$!kr~4`i_dgg)?|Az_gS`vHDNi}OW<igdh4p90k6yp z@DJuXv$wg(4CSl2Ta1uX*<R(1GFDl~s>?*Nh2J&fjZ4OSBRfW%#|uMY&eBLkeGuEj z4#F3I*$;MrMX>>h?E#Tq9N;RSW0o?9m|?uWcu!+lsCriYt<F|ADg9Vx`CEMBh52c- zyE)x_ZLZ|2#9XQ;GqVjWozh=9sl+Q6l_SbP<tqCO)YqXo!oyqe=Vl9YuzB0eF5GmC z<xw+hb+z~EROO8vLQlEISDT~FeWqdV=7pf$W2hPGoyM#l8_4>yE^IS90)(DJ2CE4C zl@pUW<9W?vhR4`omKO%?Vds?eY8JJy;$V&G5r1s{G&UJqjQhqOvk$K&S|WoTmceW# zTft_qx-1<l1vH<7N_C=nz_^=V<g56<JS#8DU+`@7K-N)OsV~*n>I00}nr8BnW?SQ{ zUf%d%yfi;^mv~LT<PKI|Ii=iImMEN!Vr|(0s1)iu;YVDS@MZiZM*YGQcvrEQ(y{f* z33a`8Q~RdYR~pEf;+UCaG&AZM&y30D7Ve}aQdP>R8`K!}s+voksBC0qSOyj=C(Ffj zS$u?DlGhXiL|;);EE5fBmMo_1Q^PHrEd4E))e~$173TjL8}*iYAKj%_H<$1Nv`xNY z&y)-5J9U<NT`8d~V>#JV^xYSzipay8nC;AErh`x8o51J0yt9}`h1ovEsqN4@YFybT zYl%dogI?GF$yeN;Lmy(~=Lbb`Igs^Nq%uOSqFUAN$`4?2x_n4~#CCqp{Aj!|TA5aG zsJ_^q`W&=#6fajQg*CU<*D_2ytK^VfxL=>`U+UZ7YwRDc7c-;970S<ol|zb0$*CqO z*OYNeI;A_if$Hu#5IoOR%<>pBhTnj$1-^&5D;CmMxlqZfb+Rn5e9%5AL*xry$k^)N z>(jmWeZT$rOjQUv!WJr-)jsM7b&`5SU87D`W0g<rkL*d|Vz9a1$Zaez63ig66#2<2 z?;+n$mg`tqb(^*T<95=rC~Ihu*;t?JJMPWyE9M_&Z04oqerCs*Yt=dG4fVa6QERPz zRSjhki>FP(04f*h74%bjKGVk=BQG3A_o9oj^hLf`=4wT)tF4PHBh;Momif;A%F8`b z-dw(c`dxDhm=>uXP}ixW)kbPPb)TAE%c-?fAG0Z>hzw>)qpRLuZ(@8je~JY%l7+Ea zGKC7ueypO})l%D*Y<p=Pr*)G3&6B=Cp4D#dp6g|Ld$R$JWOLQ)T7sro+G!iKm0E<Q zmu0EeRQ)cGiY#2}P4q|pWqN<Jx0oiUgU7|#5V=eiW#5&8meRIa_9M1`ElZf+jPZqf z&bwZ^a(f5*J!U8R#h$9awRe`CmbI2@mfn^NmgSb(mI-PlHeGZyr|X0LUHuRJU5xb{ zeH2@u6je&FHmI{QGp6>j46;45b+o=ymWnI>EuO-zGbzcgKHeYtK7K}aQ9h`HwK>`| z&8_CplGM3sQ#F?LkYD&&BUC@>Z|l#b|IkmF3jLI&;jez`J+?gXH)^?EacM8C_iQ27 zO-c^2!hgWya$Rwq^PKSYGM9?NY`RiJ^{ThkblOREoO)PwfZ?s#Lkbm{&DY>fI^&x$ z-mJkp(j^(9URKMiHl;JV8YXwL=2}~8KbvXc%3pC--|C&?8SPo?vlw4_ExC(@sUBrB z6yv+vRSN|szN<Ht)oeQb=4s4*`c}Pyu>;zXY$l6!a-HH;ooWYVrTjp9q+qMG)z%)i z8`i06cIh?9m(iEto$B9Z%;cBIFEcA!l=sRJ^|2bMRo5c4vub<ABeT;TGlNmhKhJ+y zzo<7h&w)pcWEFNy83ZpUieWsnC`$)ef@)}cEM?R!q?v7f|9bCxu6rZ(US?g<OcrDt zm6GZ#t(Ik*rM7js<(^hZb+7^ePC&80bk<DJYxsNmi$FuG@Gs^jF<lN|os_JsCnfMM z$TgirF7{GAsr^;Y$@^x!?~1#>JIVdfTSwn)_7k(^HukStLCXL{thMa6%+~DMGsVUR zQ#F3uNYo1&bIrVbKPt=8@&(JM`qaNlPxh3uf#0iTXZ5Znn{}mSu;S(=^&g%Io&=BL zKWC&BTS!Mm^RIG1iPj!yQI=vBP5Y^QkReo;A2Z(R+4OZriaCWhLl^Z+W>mVW7Hx^r zg{`OS$j`UgRBfp>!Ft$IPze@|_2u4q-uqsk|AX;{zY|{c66IKR<(ax)Yi~(!DXiU7 z(z6w0V!c*#wo!ub;v<9unb#}Vuodb^)y<mAR^ku8N|V?p&0|e(Yhw8gZ(Q+h@TB#| zdWY(5&HX$^<Pozi`z@`MMV6JCs?}E-vURK)mE^OH8b&4Kkp5P`Y7F5&MLu~8U2{e) zMk&S0vxB^qI4`?sN9-f)<L!AY=mhmnp51Pn_l>_jAIA6b>0%Gvm)Vq;>J4jMTeS6$ z`a|g_|M2W)Q=_Hv$guDS!sHRMlbBCC<ta8sZKC{74i??`NgBn%Eq`sd?0al=)eF3V zzlP_QC(=9CU)gBN^PqRCNxx-Fb)3ax&2B4a?W^vS=Xhtctg%5aW-KyB@Ws3?&n`xp zZ|R9VsrJ^Q)q-q-7|(0cJ~r6;$2P)##_~ljHVn^6m&?7!JJguO^HQQ%g1+dT@<}UW zyKI|aD`}amETQ2%$=Gd-FdCb?OjE4mr$j-%Qdk+WYCug5c36xsZ}44IUQMtj*xp;u zDql>eZ?TJ9Wjy2jP0iAxBmEUGsUUM|?X3sxY3$#umDGYVBhPF;2>kyWd@vtDYsFAh zuCeA-nT3tg=Bf)>5>&O2`LEc+PFPRbm)J{MYSIh8bS0!Tb~p1?MxI|uZ^U}^o8Oc> zmL7J8<B_eac2@S~Ta4w#1)~~2&C{R<{3d>g9A-Xrcej+W>TLF%oT!iXh>onZwV7j$ zW4!H^d~Td`|4M;+dMX-YdFRyYfh5JVA(j^Q)sA=eW)?f!!N2S2jcM?1UvUv#L`^y= zvYH)56S~h%C~M>zisU)?6l$zEY$qLa9Gh+RWe1~{yKqWNS9eceeY<J!x+1eEMoSp8 z+_T-YZ?zTC;^?W_NB^mRG7|V<aY+7>+eLP<K=+!-{J0#X6q42Hfmy|TB62CmtofW{ z9h+?R<QV-wSFz+{DYxCh`VG`4>qQ!5@(juW%RT!R$65OXO_SU>=3nIBt1mS#i!1B` zy4_ZMu+fAU<A(!(W2VE%E*-@b*51<Jc`@j+vz9eh^z&zTZBN<hI_Z^qGk%Q^7Qv*k zB3c1kU&mK_YwLJ6mgmv`qApPQ0+B4+E8Ebq4$`xt*4`@qlN-Ue9!4#rp_rfq*@J@@ z1{H9$XIJ&>t{%xRQ<B^Z{VwCJnT>DcWvRLPz`D^H6%^{2pcSDfMp=EBv76_Rg_VD` zqs%2wnR!i}>%1jfB6{(3#xy;<xTEZ~{|ZSA*%8!6J8Z7;Y)#JUBKKWi0b{5!&-iQ} z;|<kP*5IJbK@pBFS{!%l`+aY9JJ1=;_N!5Bw`|I5nCYpb$g3O?H_fzqL4O5)S~=#} z6c!)WGvv4BBH!R$mU7iK#yi;G&0J#KG`gD4`6czVwQTVBpd*fpT3ONA=;lAKcj6@} zlhRWYvZ6B9e2f16Jhf+s%vfFVt@LFO^VL}Aw6HFr4}(4_+sr?njjrt8?!K)0W#fnM zkA6vSNz*Kc?D;~H99?WK8D{p-tLnSWDD+VGw0%ldmQKDi*2+2JAuC8_j90$w-hKWY zthTjWXmD6k@Lk(8F-m91ac%t5{N;_m{<Yqt{(tmeteSO;GdAdgwVxVq`29`&M~$&` zk5yJ%T5`*#Y`)n{yg+B&Us+@B^}qBC^5o#B)OtZmM5WL?LD!jLRQ0xU&-M>A`kNZ> z?`z<1<U7LmYJcr7L&iD6tc%1|f1Iy@zFpi<vS=4<ih7+*<`2yW+CplrRu!t=*wf!N zRu5J~oi!smhRfjn+W++3o-wX^eivUZHi*amBKlMBcjK+H*Sb1*t8;+uAr12%@rL;e z@a0Nn%NzSQ%TlGGJfs&#$G=N`D1(f5-g53R-wA4L?;SBC@><9;%T9fXC)hRJSI_i| zSM<ur;$P;?sc&YVt*wH$IOketP>ipXr?79Lc|@shDdxy;ovXa2xq4Qzi-xSX$l?F# zj!wzt%|_X63&J{v7YPp5!u&^F7n4Fg*Y!LiO2(Oc^fLZ;dRyg+HFxk7N4R#}xaj(t zyw<(R=%pBzaOWV)71ohI^It*-eTJpw*?ksQndD90noM<Wi3klZ8gxyn-gC)|lPdcL znv<xXyk-1P-{Nn==UR?B_J%qf6BOw?nY=BzrzgFbXsO_s65P-FNUbjl@%F4g^QeQk z=F69IE&01YS!)=&A$m)M7L;E+cAZbmo1E<P3yvPuYSz*_>J90(y>ZCG@B)qra<zL* zLfJ&cvsDDyx(DSB9%ZS^>KbW8QMOQXYNnal6OlAOxtpQc_C{1s%ObMaSNfkN@wk4; zRs4f#EgK~>7-#jq#uD|E^I6!-&{EcT!<BS5Ze?OMZ&tb0wlpZleot*E78@Q>N`|V% z#C~6+<Q+*1J)_v7plneCBc}#CWmWglghmOy-8b}W=t0w&rHwU4MV8M|CA3iZK*toh z(S0?ca>8|&!}O_39LpScv~e=v`L|-4(v@cWPp5oH%;C;RiO%I|{zmB`71ec~{E4{} zcDnlM%fwa@ZLar~)FVVc`<IYY5gUSLDy_Y%6Za-ubWJszYQ>#DoUbfX*?40zzegRF z&PufLkLONeJ=c44xTAWS9O+6&ys^3b>yvk2#KZbBnjkOpZT`Lf%6y77BGetxK6J76 z)c-MYSVGy9Ax1NGo@0FQ6WdeuIp1e?k@KXgPBE@~x+P{#zUH55ofq*j-M?w-JM)<{ zk`v;~Cr$Kc=Ox%YR7f5CKI50Bh3t+93U6b1st-*}iSs5c^$${?I^Koka4yq^Qb#j8 zOJZ5H<Gh;ZTtcUWSDq5u>F_G)*F}#Ga*A@vxe_iWUh*G>YW1UK`ca>u4^iI)pN-fS zUekJ64^1>;8YOP>3ij3R2pQyv(c+NnbF%Czsr`9rcf<IN@lQQ{wZakY(#=iN-BHRM zn4C57L~^peR0OfhysiG*-&ZuXS;M=e;b9S$j{eh$+2SeL^xM_3_D?}!_I%oIDogFr zc@@#dnR#6lH#|Z02ie|7&PlgEVwrV<zfe*_Vlh`C^OATeZW)hJUFDWToV6k^M4k-! zAj3UT2{YppU1S_na@k{S{VjGS9o=B*wSO#$%;_JUTrNJV%R(E14@bX`P9J)b<@c0I zDv(^pSA$QWX69<&ZBGt!g5_CQv*@IVLiWe{*(7gVt>l{ib@Hor(Uzp$V#}#DIknoB zVw#QnlMBVW<4fvG?DM0JrY|2k$@0RNlz1VDdFSw=vKcSu>*sponJ#04ZbdJNt{r+$ zzIA;`=$TaB?~ykxiMH3)6lK1=PSuq1w$awYYCG?=gkv$claH|C5!Es-PTwWCq_8Ki zOla+@YaUhRu$pE=mzFZkx5$zua$))%X?|I^dAG(##^-l0r4QDR_D#0@>RRFB2WY=` z$$rhUUQA3rAA2Njw!e<^e!4H2zDA{3LVVtY4oUU>5$qPKn0Ef}DdSz6#0+P%==st1 zkXUgzxk`L+@?!nE>a(u1{in@fzeS|H%wnurtykD*Z;kj-u?Ler$mwCVGt^IaA~=K( zNxmL;G3AY(PN}H0;)lJ-u1xxDEl230G%rFbXbZh9lC~$2=M9zAW?6%*nYI5ZA1RR? zR~A}b%2B>Q<y`#Lgvt6&d+X?N>3>D6*5-QBCGJbO;_bxa*fXK%D?KZH<>Up&!mzHP zxvl4oH7O&KhPfvi%h^Naf%dQ3OzXv3DaDkknn(4EjK1uN2?<R-Su{t)gY<o(ItO(z z_NL@b81DL^XO}bCVO~Oa>P5vxTi=j>!b>`*%B;SkDLdW!^_lXXdQ07{JyI2|C9AEj zWVy75G{AU}(mB!L8Y)Hv&5QmSeK+(98|hw`*f6n=@3>i=S;z~moo;+qPC27PHwIT# zj~jPfx~sl_hFGSaR?Az?sf9EvJIwaWG0H=B->m5Cl(aJCvEON16Y(p0dPIBc8Grla zCkfNt$Mtwp<wrAvenNjhrELETx*4>~Qb_#u=J3S$s+*6bgUwJgsOz;KY@Yl<GiVu` z$?NN_QZ}aK@io`Jh5DoNM7FUXGx8@-fu1ze`_Tv%B9i^n{iS&gOHk0b;1JtJQO?)e zz1%;UFIMZT<+PW|Qbo$QqMpo350ud&$|#?*Fe!tlui_6KlCEj=4`&H;f8vL@D@iSk z(acbD(GC9s?^ENndM&78NFm1`y6s!*p6T=QJnA&<nz}>D##$)Pgi|?81=NYMqIuGD zC8>ftMtl$2m{v<yI;;bWbiGM9npjhBChKT**a>~O?})#dQrmen#2OT=jMcBYM|+Q$ z?b&jRp|;k>um;L3(Mkrg##naT^m`{I#iUq_&GyY{(x;yjaotke`%hB3#0<V%bVn_u z#+%pukNv9LXfG4&2p**FGW&TQzPh{vi?VjqW?4=uKa@r?KTVbQWmj!FWioH1yh{Gp z_m7q>VsAQknxFPaJv!M;SnhcuhG^L=iK3D|+E<uYwG49h32JF6A!2<g-Xi?Aylk1E zdDU#nOqqjS;PqI2TB_>w!R+nHnNrl-UN#Tu9$g^nUeF_cH6<l+v8w~G4|V$@rC!LN z+q|JHb9{2-uuY~YR9-F3uJVEQMjK&yp=fGFc0)w65>!U(CM$_0-b*R7z4NG8aF;Ym zkrSLPcnw$kq~-1jVyW8KvYRFv?|siugDkZ_wokEq6=e)nPvB|U08P^-tJM@@|5F;E z|J%xKEI)+^^3QT-@r~mj?9;**L|h3{`5j+F@7|P^d=%-bPxRHt`G)c4Y>{P?wT0SR zFn?Y>iifh=mT}5@sKFtYUwu#CWHBRzO%sh}jGpYtpa+T0_VXdx!}i-7@+qE%DX-kW z#BsHebusnVPk8qkIiyRiX<ew6rQyaVeWDpI+o-FQ*~&Pzhw@g7r0ep!@mVgSjiLcB z;By$|%s$rt1-n95IUCbl@5|)Ao+W&>GR<;F2Jw9UiN-e?q9t33DGS6y{gd9Ex1*!% ziM%BTD-~&uwu--CFN|(9P~<YJ@eJNPd>#K~&FXyQIAC4KU->$EHu_$Q{&JqWo||T{ z9tnR<Qp;$)Wt1pkyf(&)*0QMDhvi}Q<vy8JsRn*H#0qnt+#w#z^ZrTx2fh&MZ(AJn zD0q=pz^LM?nw-ObRb;fL({`}h#suFTeFd+f`jk%U5V6UOH>R5t<RclWG-8F>Bc`!6 zR9fWaCan_hX}P`~EL|y{SPwV{1+UYdm<!wmTn+qjqM~+MO`t`_MqeH?h8NWqDFf8Y zVh;butj`m~R=Jw(Q3tZ6+Gonaa-;UGEH_YsyrwTUa_ApqCR?VU2|<t5kKFKN^Q|<a z*-^_T#m2fB4~_mjm_5_VX-m{yq9VU!c+Gh<QZ82WsZKSE+L<!QALbqDMpu(VRM+$B z&kV2H#4$4XAA3BF_O)=o^2Lf9>UqsCtMHcoJ4Q>fT&-+5t({}<`A1`}v7Hx@oMq64 zs^!#<GKV0u5`QP_v&Af{InMXfliSFuwsl+#%4*FbF1g3Lrue4PN^P~aS2~POzQL&I z@~J1a?P?-jHIL~14arB!yGm`<t5jA#Q#;X`w*dyDm5H*6`O3e;-%X^`KH9T7r2310 z@wN4pHh$73Ws~xf)|jJ>2WBlfTJ>n<)Y_8F9f-zD(T(+0>uT%Np2`K9D(>)4^np2) z6#8x4_b<|i(-*CRy^rm#GRMs3xA|-Gm$I%pk&PEejIG8Q?qH|XU1~hLE#8?&&E-6v z^05%LqdG**sSJ?==$AMsFR^eXEj2LH8Q;u!_P~;0OJnILKN&^zNV7f-RF<((bkF## zUo!eoXC;UBPRS-q^G`-Qv$sg032Xw(tc*cN*@^B88<m&YWi^U3ml+R?Wg?H#PD`Wx zltuUty_2z&zoOx?GqvIGj1%S=v6OM;iPDzsqe)_&@Q8urfZnOfPi3-Fk4>hIRGI!K z50aHe@cR6Ucp&SjZ?LC1KW+H+UVIK&m_t6~jm%tT74b(-RY)nrP$!A%;;dLgb!4*q z$d0qqtSIXt$4i}}WDkrMcuuZemSxM8h3vE(Ed;M5iqi#oNWPF2DL0M5xtru+mPJ{C z?xTrJFR!NFm32w}WJ{EFN<6E`=F13~LR)A*#nU1g$tJO~?2i0P?I@IT1nx_usx(7n z72QN9YA5gD+>x@2d?~ZD8*&Vt5(Pyux<b>LkA)~9ES3_4hu;-GF&64DiVc>>=$`l= zj_F7D>7&qu+k9kh;Ri&tTqSeKY_vm^qS^8;Yr<6N=4*IMky{RCw^>e>O&+Hvbdlau z4*8H?(IdKpPqS$Rb*AO8YQJbMF7k(55&7vKIz>e(@NDcBBBSh#toU7qP>d<e|HNy# zL@9*4tBWmSCKY9W*ne!ZJVaBdy-b5FSC#!wzNO)GgWi%=2JU$2CAUkroFJP>i)=4@ zu+z#m^`erKwFb_TDV?%Yb*nR!n=-2$izt^?ORH^^Q*t}`>50st%uq-^qr%h*RYNWL z1F`EM3!sKb1J6B`J6Ue!sggsP%L<_{t0sHOLd?tRE1i@xYyeA(7z3#oV;1`+i@-z8 z*l#wGeU<kqAJxDZZ-J}^awTb$BwAA>EajM^rrbwesW?ri!xSuIQ?Ik%MA>9{c_#I~ z)06O56RfYgOpCK!G#TFdCSHiNRG&^$Q&~lND2!f<EYw1_XE~JatgUR6de87ZIt(-& z2OIWL4cSNjME=djIO2IpGy_l0(qy?z=9SgyKhYHNQL&1A>?Wcfc-rtWIxDxbA?%8L zOtok)<&vA^PFN5vBV{Am86*FdPWDa?lZ7xt9T_7-nJKTyjPewa_nr31daMBZ0E{-r z3MNnynT|DP7B&bT-a(qIAt%dv@;o)8#q^Xa!M`n}564voc5_laZ2e60sVSmi3L&Zj z=b2=E%yp1TQ4qz6onX=pxkIi*q(7(L@l-{Q2b!*nZz76rQZnXvNt<Z^wI`ogD~^dp zA~R;|ME}wsQHFX@MLABckONX}Xi4j6fLwz$u9BIsC2-A9>(u{!Y%49n8G)-{{zoxH zWRo#84jowaz*CSBfg*@m3}%}_zwk3R7-pAWXnX2C*n{L!SsNZcf~aPYR$zisulQL8 zKD?t+vb5|bL*+MoT1s!|HvOe#lnx$C10?U3TXDW3<FKU$R$fJh<7_`LQXSYR0(4iF z*JuGX#F`(8oYW%le}qC|a>=@K3$1`B_hW?)pyncNgI!JKF8K_jwvw5F$jd;PMgEK4 zxq<AOdi`B}L}MJrE-fceZwlPk`Y(>&4&)b*w^FToL(gay#$8W`V8>UgFMm@$9N!jJ zUZz<1rWbIrBlSw2a&oAABke4T9hU=BuYMYj&;Q`l4%r&EOh@!@%JXu)9D|q^#?klX za~Z^b$dhse*3ekq#n}~DIBUdy%Mz?Ld&17K<!mx4jYq(=on>O>pgaXwWtJ63<p;7- zF!NYhRt90VTymXEkiC%^I<X5t*1w3$Gue=NWj6LjCdnw)m378g-=MfFvF_z^v0Ne- z!aK9@+c#kOq8yHOyrSn|YJ04!j@%D#>;mt9BAPoXTvnAc;lD#TV=!VoLRP{Y!HE5( z)cd<NnNFTSJjc=#psSctL0Lpq=qEqVtBVIB4|S&o)St>B!(0$I_-THYj}<GZ5bYNK z1AmsoyVIxuaP)`P1L4^a`z)yWnj>!{iJP<=YkCg+#XvjC(PEJRM0deli8Ni7fj{Sf zB})<E`attq@OFVL3U&o}_7jLci4LlQyon?FP)(Xiw_tA^5UR<K(4HQY3+TT@U#KOb zQ(p@DK&w-)yBR_oNl+WCwiDuB4l0@l-WK!?v9BTnSK{OVb_)Vcf8e)Av<f`-iNF>6 z<)MM?XlUxS{Y^1L26`)=in}5=cr=Y3Q%`D3X<<!wS_!lUuJ_-9`G1icENe$@k&e>A zrW4@#9I$UV1^(B-{@_jEig!)E$JWM_73YtD-9D@ZWfYY`&KwM7jT3joEl~o<JxXh6 zB)EJ>gi=MiN9X7~e3lJ9D33Vwq_xPJX=D<(xSKZ6BJiL!&iP3BWp6~f4;Z4SUUk<S zUjIT7K*c)5ya#;LM@~Yn=m*3U0Xv<DSR!SSrGT6Taw?EDM*f4B8|SnJqXIeVJ1}@s zUIk*SfPZzMoGzJ@MY0XxU|z&<IJ9{%a5)3$+$#6Vvv{wTd+_NtwD+@&g`PX1uPMkO zjOAiwSW8x(UB~!EWC_^2RQ^dlD)4_yuYgwk3m(@&K52mnC4#+iq`-5vp${r%Ym0p? zkW1%NUBtMS{363pP5i|6hKOr^ta38cV1PU*w;?Ny1g8Vnr5QkHHu$6#c#{Q)2nHs) z0~?FwTv-w8I0>w+LuSc_j64O$1ge3Vh-u)e`m*5GOZrKfv3-EdfKhfKuP=dLi$V={ z$sw>aJ9Mxvyir%0lpRV~09#tiQL-=Wu9>>GGPph&m^nrVpo~crV1J&}9F;^8%v%rS z9;DaUmk#GulDSbOxPa>rjG08gf&9RoZ7-=pY7Vmi(TTv00bIp^OV{BiKT!4!BfWyh z2&#EE^@`vd<b@{c$OfTU$A8EZZGj;heG);GC_*Tbo{0~scdNb?f5bL1QCt#N@H&D_ zbOv~&z>}86EYUahf12upvlr56DnWKSCeDf7Vt?xYgqRkXuAX}3=l_80!2JzPs3dgb zAE0#<_!2=vctr$dM-4R>RoX`IrzllQeU3YW4dnt?6(PHgf}X5{k8a?o=@?}<))cre ztQy$i5$}*O1OH2b6`yNS-qf>dV3f+pdo#d*uHbGr#BDArhceV0_#XuxU7|^-=*D7y zZdh3p>N6A^%!S(Iu?WMsZLprp$dBv5t5K<U+H41>`@r&c;D6vc=D}ccS7>8B*ti_y zSEBrM1pW#lL)5}NfvYV0;mpAQgw+C-;|d&g1g!mm7(9hG<dYo{vqDg~%rYl5FE?WR z7C88cJn9F^f`Q&}a5ECfx8W#B#gU1EpcWEH>I+?b2NuSGgWJH<q2TffDCGdKbrdRr z4e~Kiyba7<B?XT2fDyms5#YEVa@aw<56J)Idt{YwG6a=qMaGa#HiCKEP`TX%Uxufu z!hA5in;eadHxQrNf*)h?`$;(swd#0i#%Rp>2R2;9eCNUWv0zV2Z0ik6y29$Zuyi(5 zWCGYf6Z!HKMn8^Pew}=XQO?T;u>1s6VlZZ_1U}f{l`Jw)mAr+nhJrO&!JcdI@g{h! zFsjyRSm8c-8ai?w7PY}VGoeWTVWe}gV>4!|1qDl{5d3Tau8+q&=+vO@C9tIe6r(D# zU`cp93-WYsY|oOKb3af<Xnz^-Kd`>*@}9gbkHXS`UR}qycjd8EO9!ByDUJ2j1nbjc zp6|p_i=IX{9F5BGCaR44$VVr@%D~mkHe@V9HcgMCBcLD_usgu~?pR4F{7gu_OX4%K zbS5aQ3vAvBqy_F;J`47`p;D)SoVj3FUEruT*f0jVe;pn<g5T!TAaG_f_HRkO11NCc z@afe1|1wGg8EgX-Vhgd<JBl^}x0S(;f54N;z->F!we<tf&_NZ}A9ZC3Yzbtqi8!Vg z4Ff}N((%;in*{Fgix<h_ldyxI)qv@q*j5+}ElfpV*F@Mb4$QcOm^p#Z_o>(V{>J*f zsN5^UyW#M{1z32V0@q%hh2q@93Le4I0EhY`tKCk$w)Qxz+=p$;z?EgNd_6e$0y*p= zR=Wo(brK{0hpOQR_!ERNUt`WK7$*ikF983>(N)+!3as4)|L;R=&Qc*{fHa8n9|}Vi z5})e19jVuTpF#z)4`bXwwta^v9K%=_q2PZ~Id~#fl^<daX;Ui(fm%5*P9D^M^?{s9 zz`$7K)#=EX8IgTDB9nGTm9-H_pNscS^s1(`u(M!YKj{8s<i6FwX^Q-c_XBJl1MK$& zTkimC!Kerevihh7{jxYC)RLcZR0(X&z<fa9MdYu$;Mf^t#_5>9ENaA>VCGbGGZ9en zaM%_BjmU%yVF9j60Hx(&QyXxpG<ezt+&hZ?U@|_{z}8`M4p!9_*}FBEkOm{%#JU~8 ze<ozXVC2UXWQer#6X~gUmd7H8Jb{<)<MkXd_ym6)fxiNG)h$3p@h?1m73WN(f%w#u zTzE}K?3zK{yokd`>^qAb)DxVwAr|+bf74}g__GW=+5(o>N7vgD7RAHT{4yW7pvZX4 z7>5|_qViyQ8mLyFHgF*4w)+3NWDZ_Sao&6=NZ^TTW1%*y5r<h=X?xVhBXE32RL1i# z%SJg7x)BYXyMS{}$t~Dk170wxDte|&$jaehDTlSmSfd1n|3HaLAWsIcr9;n8f^P$$ z>Mf}PGHMB^(rRS1MDas3PR%=gQ}0Mwm|Bw#qG)W1K)qO!-k|~vRFYN5L8U2_g6X+% zAX_%a`&#N<Ab&;RUM5onuGCKhRw-a)RrK1=#6Iy#oD`RliwlAM)6iM=#P}sC9GSEW z{M`p}SPD(}1;kzeKUx99>tW#@WVy|-WhE5hGJL-cdoQ3~I0Tir0iJ$9U0}tEo5(2i zc7ZB6a8Kk<M0srL6BlM+{9Rac4C<dSVCfUo%uQY4q4J1AMHx8yIL<i*ettouQ=nIY z=YKRtotO^e#ektf=&fv+Bk%-(5O}r*=2B2`JV?FYsu+A9xUVG)><UHY!V!a#$SA#l z>*@GyEc81ss^FJcU7$-1Jhf&wY}yK5E&+FEW6vYldY8^1T2Fz>H~)Vx${~1U9F9E& zJvjhedST-;%o@0E|2Aw5JQ?6BR_sP}-IQJiMsY(CGQpNC$io?>2bypO$U6ytJjQkv zNT~(9_6E)ZS#lHV*%>khIJ*jN6-S3tAL}e5Q_vS@g4$<BE!_<o(HI#gP`UL7E+@!E zICnxS`u;^u>JJ`{19l4oq4hAvJRr6MFggdhb^<a)A8elmmN&$<LD)JPtnDcS_xn_Z zH8o{3{LBm;sDz&ec=`ibBptS7MILPkW;e#sT~hDCZGvMf;`cFNdlUFHpA1xf9>l<j zD%yl69%G#^pqsbRTUk(Xd`D&bIrUDM^jKSf!GZs~{0{241Muy7sOB5^{t49dFjQby z>fMGbvHw=8>W51^bm(R3^Q4+$JcoP&JYI)KQ@|+&csrW<e2c3%XEHE616A%W#CHqo zx-N)q;CTX3u&fC5p&ab>Ap(hrRck0kQ>?rNs*FHQz8rdb5I!9a%oM~53*nr=9q$FO z{x<OVWW-<yyif<8oe1UG2_GNCxjTWliP+Nw8nP5U@Gu-Z3QF1ozUq(Trs8vN_%EP~ zL!coOQe)K&Tb81pnuYk3M-5RB2rh+eUK;A4z^760eH~N;nSiP1So;$AY9+jO6rK%y zXK?}kipQ#7gNw_+(?O_<55a$L5xHx~mj_VmIDs8MJarMrzXC%YSW&^$zB~<T`keAN zwp~V)&ZRzoBG9X^1j_^W^Gt{Dc7q|$QlA2_7)-wfX1suYTEWA@(9(3!c%nSuoK*(y zetCl`p)wSAApDROo~{e8RKvPk$o~O-U4YT7@M9<7d<J~b9`6OHxt_sa&*Tl%k4u2w z{_tBXL}ChjHV$#vgc|S=baf_v2JZ10j`wOD9r!+IH_pBw-=cfGkIwEB_S{6LbPu&@ ztjxlK*dNqdr&FuBU8oNi!?LERegj=nF<`z3IOqc7P53WxpV~8^OyK<sNX;h$-*WUv zr1!&~p@>v9XjEBb6&*f}fd`_&o6JB`;2WsGvyXff_&zEr^$AEj;L$+6@{0m$<%B01 zq&}}CKRDDd_5RL(@DAkr0Mpt7Q_b+XHt<ptU1Bt>D-9pk#qp&uXEh+dBD5fm_9G^X zQt#nufZA{b^5QCBJaBKH3$=V^`4`G6r~|m%9_QsjEtoE~dk;J(;x^*@6L!4>3Z7yW z0W_QeLT*FBzL6a$$&GF_P}iLWqd2<G!r1l)BZp&8;naIXV{l$P<^2Co9IML?WR?PU zYe8A2rPiQrU~}M!PNAvyvpvJ?obqDTy%D*Q(6k{~?EpmN0_v6C;7lX<pfG$}4QExy z%1dJ8c#Ir)9^iRo!;QdPAkSRI`y6oi9;iHp-)>{wnmh*0*n&N4aMTZA_Z*J<3Ew}# zHW!q8Emn91Rqe#oXQ_O_@Ask9LxJX@$a=ky>q;Z%?nM4ti+Zy$<v>jvxcj>uYUCa8 z%X-?IS`$wOv(C^gXwF#Z(p+TCS@8W*jCTn777jhB1I`8zaSRnk5(S>r^&B<LOA6?I zpb97r7SzNs(csP{`1~5|ABCQA4PJM^#q=`poR?bYE_y@hd%+t^;nBY6kcPo;8-euA zz<p03`K5dfyx)@_QacolIoW%87Qc;z#w-QPh5+#arp$+zZ@}y0z`nwWN)Ff=_`Z4w zwsb(&>5pRuBM<a}9+!pQWPwWmgRD_n1|pUN5wXia-{?Xl{-9>fjjl2uB9tBf=ERX@ zWl`{{F7TZLXIDjDYKGiX8XEToIQj&<CBd)nQ}be=2WbN>nS>hn0&2Xoi0c;oJ_LRb z^wNXi(ZCZ}+M)9Af(T^BD-<1Y7IX)d@#=zVr~rkbj>$o9#og2=Qfb(m7u8KZib4;P zB#Pqfafn+pRFDNzpOTY>N`Wnv(JOaAM_wFfPefdn!rvQV&lTXukGec7@Rpo<S6?Bl zD!{<}SjQ0fzA12<3F}TmwHf$6Fa}kQM9xn^Y=5ABI02k}hayU>(u-pR_*WETlt7#t zK?7SL9s{5rwcw@R@MkW(b3)w$&s3@hPPfG|?ND3R#;ZE|MgzS?1pW;?LnRg*xQ4m@ z1Ev|e*MR0eM<#en?cnDO;CA4NPC0>^qTpIuD618<0>_#fVI3V{c{5lpsWr5qKJr|8 z#HctT+#dhBpw)56q?`i$wxGj$f|<O~5Rv*lo`Kol!zYC?PIq8B7-|@v`mI=FAhRO= z9hX`U^ukK3qe3W#(Te~9eV~<lpw(m0uQb3+rGb(5sec`r2;{EE-Yxj;9+0^b$F4*^ z*awWy$F{N1`L3|C7RG7-pF1#KI@n(p@3gRbKP=jUZ1fa}DxO+r<O8OQrGAH(5Bd{$ zn%i$=q7s-R@Z7hh@N|2enGNULQ=eCO07?<Km)noy4Dc_1D&tC`R`I9aZ(b8I>I_EB z1k;v)Hy6;|>;kWT%2#;Z#)=l9U#|;&8j7e*hqWy+b4_@?2du0P?}WkI(a6>embFN| z*K{cId^LEfFDk9=;O{Ps`9_AZPx2AeZw7M9Safoy1K%{lYfF#~`vWI4Fj~M9B~YRD z#+=7d8D4_dX2><b&Tz18DJ)$9l#apYy6|sz)Fu7!b2w&N0J|DN1)3mVuEv=4faG`} zGw_{6X+-@W=<i^}Zyb&o1Z1?3fr_;T5T#<?L<-zD&rp%1LmY}B>eY}{Vkn2a0WU@2 zNG8vveiN}6%5WIyKMx%(N`7=4$HZ~*TGT<54$%R*60Fb3X0tHGgG#+MOT*f-b8-!x z!<x3>2vZ2?^cC@0><v6qRTSmdxm_gjL*koQM?<iJ12Pv|#Y|S0m0-o0gT01#GRnZ; z>kP3}%n>uh5>Z#I7MY>!v0%Y18NvQx#aKD^66kCx&rnxrdOE0l0qPy7b9f@{mWx?y zHdOqfTI`bS!sgLHxs!#%u3@xSK4n?tzd%?%S}4l$Y`nHGc}L9EmF~c|n`K%yhD9q8 z${{vIX|B9rfxjGYLk~HYo``W`lo%vN2%QK1hv{7uxHIguEQMY>lxe6%x&fn;(Sv0} zr}s$YgP!f6wk*AHi|eug+o)(VUi4v|*nB4CFsiMTV!_ao;j*!Em>o;4t4C2)v5t=y z&qX0oO}r3k(Dye*_c@uBQfeq;m7_{pC6{to`KjDz6=i8ubGM*<W5g!t<ytXU)FV6M zQJKAx|F9A8(F4>c?ZC^)R1AEGkl$z%vSe0e54ERaY`hYyW@nwLDD$wL?1EfGQLHCR z5rO}CatJ%mPEiX~T+uR7tl;TI18OG5ifdvM*m)8@Ju3?-h1E841#6>L*CwieWd+*9 zQsjT=L%RttanXRM5fdpdQ&<wMU=>(b`A5tatD)d8#U;@nC~8PSQ10r?!pe%~G@Nx) zW7u->L{wqpSzZ~1OkS5wqSc})CCXt+7S>C?VRzU7SzByDckB_*xGH{$!&DvBe?GaM zO;e)D!ColmwaRJ}C`wBuvob=Kp{wGWL>A$#fQmb8xZFl1*b!D+4u;Q$pw{k<b$Mt5 zGU$I;^Ktf9xh_Uh0^6chRd>@Fu|wWq_vzoj6PcK#9^$r`DW59a*=c!=O=pW`j94S) zq3Vd?UeN~Q+yi5ZNH1%uR1`(zLbZ?On;I@J(gEe3;-fBdA>~tsQYcRn4P{;y8|V#` zQ%s>&q8##Bf69u^{S9h|d(;{A=RLKp^3dGGN@}I8qt$rcO8!#M$=S$CQ)IN#i@VHQ zsM^AqMgAX4*8m>L^R#=gh@D(?wr$(CZQHhgXWO=I`*K!rx!Aiq=<e^G`G3zoxg@(Y z-PKiZy;YT)>i*4NiznF;{S+Ne`>`^5d6uE~hp#PwFHEOQ7$gjFl;CqLOKr=gY3gp; zQ!J?!(5ql|W5s&953L|gCJlso>;p-aYUq>ILQYThtd{Pap<bi&SuwC|Rq2VvLzp7o zvwdZ2Txn#j^ju!2*&V@bs8&*$NLP@8)<mg0IcxcD`A)`z`EQXId`->>#}ciw+Fos_ z{Uqz<lR_@}lC_5Io)9FCmfk9PbLNtz(ivf#qC3hlO{=ec653k2TbZPhZBnY>MxW?u z`ZxAWAC<G-xm;VR4bTM^B)^u+hy$g!lDoK!RTNZmGvl~RmkLPPJk|MIZ!KJR_0W&X zzvR{yU*W3Q&$6Cg)T`0FdNKaeHPA6e>#GWM1@k1jrJ86HuSjpnW@6V*iXM8K)FbSn zrN7jQw^Sa1W2196vRRgrvc>XHs4vg9L}}IeT51O}dN{v2Vl+Qj7<{a{kk3|F94=ju zvq?5@#oo$-YgKwr`Kh&~bVwhrY!im)!ySQAf+erTSGq+mS!aox)rPbLEWTLJmsMRo ztM_uY;AM!X9B8>fmdfp=p)6J3#%EcxGQG2U+Xc5>QdRAZnkLOsJ2@Um11+9%CGiQl zZVMHfEAjd}8bKSVTeG_8SLs$~F7ia$Z;7x3h*#yE(ih!bt0G*M$EBUm+GG#5Zx(AP zRrPQw)HN+<yR_A^TV5eXikht_xuLAmZZLt4QNl9&s%@FgxsG{DRO&5XCSRo4as_%! z3lv{V-;)nGhPu6XYb}3pj@IspbDT9?#iV-H@wS=LW%00m8o8j})cyjIGaY}kD=5R* z4mFI;mG9erOKpT?VZU%(Yp0ZDsqPsWD^p6^cX?!6FDajL_6jGIyXjNuQVX$1$=AfQ z_J+0`^_lWjze26bnbZ=lLV~;Yfen`q*|%963yXzhX$H@Bd}fJK-?Vu-n(e;FdADR| zs4HFQ?|PThnKL=SqmcZaCqm<GwfU|XEtG9{bxVtO9^+57gKU)0*cN4p=L%^czGN;X zUDzZQN!_I6wa<3nXuX~t=g492a%MTgiMwU3#|ycOaLKwrsH+rrwa~`v^<8h$H@N1K zwRD`&US4iXvRq(W>0F+sJyqVx0bEEMNZz@P^V%fW&UvZa)$(MWa6ISREaN@mBwgHV zTTYHBV_dh?7Wxi{Exo)FBBsJ4XUZPdp0dE6=+l^>ZC6KGU#Rs{k4a@b9{GG1dt@z8 zo~utYYAJRy%J!evIw?qAWcx$oU3Hw^&KCM0XO;AE>RG{8T5Vl!nQFZ+<)<gqV6Col zmA$b0IhSNEu-Ef?>Q#`Q%$%h?Qp#i=(GCkYJ-&NAm+D(@+q%&&&SyF2T!*yjImsDy z*>ky*rLuLeykAZe9%`kONX<uWCi>glGoo|ydUp5O=C#<BmR?iS95Go7X+`;sUy#oQ zDav|H-ll(a9L%b&T+=H$j^uRVRjk|WRcs|?ANd21P;WTvsGsyEw(YW%RzUOizUSN1 zZEM!Fj16j9PEAJ$ZDZXZFxqpUG(_GjjL{xsC8kwzY3gWaHOC?{#{Sd&q-BgaUTDCU zx|TV*C?RCBXKi6u>O1zq=c-?BxloFb{=zjiXN|*)Cc2l)HQno_cpTCFwOT%7dun;5 z3ypQ&b&im(c{KH|CGX`W*m>=OW0Zq9SIc+3!t|!8_ef1&7O<av`nNQ#q%y+Q%GFul z@AE6XruPKlBn{`ywB*#_)coo^GD#avN6KxyonE_yE!sq_u3FKRlXJjz*4@whkP@4b zBKHe87|_IdG_F%xGtENRX$ngWSQ|0bJBsR#GFpzSV(QJ59cm$IhOkH2C-wAJJa&`e zt_H47%17<1vp2oyQOPsVRnk$~);sXJk8f7xn8~TSURS(8=8IngTZC8g`l%$Rmvi)Y zmdf~>Zqb5dKU<J>ynM`~qmA%Vj+pESWfNaOdrGG~e%kUoFQ{|v_54S<C#Cj}nVou* zZnCzPk6MZcYQe!CZyZ09H)d3I+|PcTvp^dlUU$D|`(sJ7bQj7{XO1&-wJV;#BDd@< z+%6GM=OzBpeY?*OGB`0TE;aoj3AB&0Rri<|crW0)ygfZR!IG{xRwypzDElOr_eixC zlJ<~w`asp<9F!BTt>Nv(Chi4n12y8z5ubZ>^m^d>@i*)5)|_m)fk%C}x?TYR+kBq$ z9Vxf})l9qYvQbZDYQrpTJ=WX0OPf{2Iony-dD+o`Z4*!0(>(_Wce86cm^H>{to!7Q z7BK}9qP3kKf_HQGX<lFbZg^VNN(pWM-cNr_ZwnJhLH=8Q@6pbFh-5kP=hSr_RQs#x z{F5kq%<=RlJ2R>{irTpE8T-}L=6^C0Vz}-T;Cs?O(W8UUbN5-UGV$rLGct7{x6NC8 zpbwGOxTm`vAWyPuWZ9H0v;{juh6)KD>pf!l&vbkCY)gReR{Mw4X1_xdHj{$>Bm6d6 zzgR!IH+K8w^7<PcT_m%X<(+2>xsR5I^s#UCSV*2_K1}cC>L{d(EyRN4s9S`amk^P4 z$g#l^?$_LXQ=0I*>c3aw$&l5-cKc#+gJq<xleRD+B6dSYCySr&B->4Woo=%{b-yn( z&l;DO<QOCEwGEd)GpBsQ@?9L_nCKcUo%UYrMl;j@Op9lHVsPcq@}Aj30kO06LGwyE z8uuWrs`SElyGIXxMD0L|*_+E7o#WE~W_2f;{i>~qP(j>5Zje(>Q5_<zcemTN<}{28 z`1eTH0<MMK_4y|Hqh?yDUCg+YFe>c=tL3%DD^4h`HPJ6if8?23WLCMXJT%OH$vs}m zCl*1qen~w>t4NxCzvZ06_3w1TbS=#9YFJJ{j;$ZBrWbad&h$%FGdD5Wy}8#WX_&rI z%SRN%$(D}HtOD9vYdh~jb{!+PRR1~O(SMef?hUOaoN{9Igml*y&qE=@13tOEB+d0X z&byh7Q(tBF(r?<ry-!<{Xk~4Jo+wr$d6dc72}*|ez-y?R%etSH*QU5CDDUOs9&0>% z(ECYc;x1<Pur&yslk2f}l2}@s<=l}yJ7Z{;RedV0^Q`JVN}yU^)mOM8c4H%4zOKov zqrIVfKWk@kwmMI3>U0-xxkq}hk|w38G4~Q|j0H3g=l*%DGt_ntp7SmHQub_TC4HaO z(`}9Xj?GgSvM{*;*`{sI-tD5oUAOUWy(~ZIO=X31l9pzl<<-_B(RC>PR?Pa0EL*j( zg`wMhIuf2!IlEd;x18CImCpb8BWtidRGO=wQJ=Fbf`i?4&CBki*v0eqBeoV&ZpGVC zGW$Ne;BmmqWnGX_E9O<KC1<Mloyb37TRlrC?b0`8PI7d1g*j<X2)ip!wB?d7GhI() zetfi^>=@_Ru1~e3xec&pkq6E*t|BhGWtit;uP}LQTGeRpxTB86{?2?Jk<&b<=iE(Q zkSRLbXqOyioD=9=%X_!=7B^l;ufZmf6ZD&7cTR$`-y(WA?enEuN{X`3)l8b?QPul{ zd^O$sPs^AWPJ7U)f>Q1W?%7$FQYvS9spIH-S5@bI{i9{PS24Hi!XNFU+L>0+++5Ec zaatKU!R@B?oxD)%s6BL6=U3h4dFHb<&)yS#JhpGnJHK58G9ov69m?61+&!(Q(~T<H zTUUO4gAniL>E<u>p+qUFztiVw8R}#;FUf7)X<KF!#PdoWB{OHGn9DxKUP9=cmKwh< zxd<x}QY+8=kXuqf`j+IQS=+U0!XAB$HdJ3B__&R+#_@SdR1TqDtPtO#ZBoziNfwLk zo28lHPiyP_T(8M+dAt3$R5qt=@}A`KdNcpI;cmgdrJ9*EH7JLW7<myRY8%&CmTYTf zYa%f<(a}LWq?aQr=?>(>E6F@L%v#J+SjeZR<W$sK%eOrqx|MdFOwJ#FC#SAwQs~ZH z8|-BqC(?Rm1+(p9NuJO3IQxfETORJd#O`2|9l0Ho^$wzsxJ>V>wAG49&Fwebc3AF` zDD|r&UC$5(yWN-TDIL>>q%2madX)|BnrpVr<>;NZFe`|^6elpm(rgQBWZUR9%Klq_ z<2aDBSnq<0^(2eb&#}vL4Y$$m?QJzk86`WThtiCk@fhR&Sg(>kIN@PVWe;m;N?0|I z`$|McgUrAB6ETLg)*m=L^qz7>&tvXQNj=Ag%wMjh;!^8Q`7AA=k0N$kPxn5y@4T}5 zD$C39iAnaRzO`&MT%HL%;!CN&eRJ|$i#TeN90ik(r+?7X#QE}nber;6|IV3pyYz~# zP>ZNdgiy<V$%_nCxHf?#Sf<-IN%_fZ-A6g7a(Ybkw1)_<U0!Kws*Nr6su^YvUS}DX zT_CA@`aD|4^1?D(FPS|kyNKG$_R(#xbrGHJXzpsG?<4hv)+~tDr5@zIbXFGSo20+; zGb`K~MAPh_?TbjWY+G`ptYo2se{8U)x6HgVDy6>4iDUQ0dE|>y)wNy!CgpNlFQ1^7 z9mSmWDHZZcQ&~^NqAsQL<i3{Lmhog1%TVGRCA7k9nQf1yDtnc6H05$mfaO2`t3j9D zUMe$EYo`=&x{*I}H_=Uhqj+mRLOV+pxjKne`zZIc2J98@O&_bvwJ;uGX=@v6EiB~F z-l~62f@__&&#JkF$RpLAsV~w?(UzVEgG2o`h?}zGQx<36V~?$KY-Na_Dmovji$#~^ zjogNhRZ6JS^>V^4G7Q!BB05*<VykYuC(WlzXsUX}#q>BmpH;TpC%2W9j6#n4e4B?? z-~g`}DbBGl<E0}>J1BWe+4Pgz(V0cBieIe6dYflyK1yq~7Q4m*1si!H>_gqx!BR*( zOEYPH^*`qrb)vS|QqYzrt<j5Q4$E$@KX9AtAMF(&r{!!(yO_O7odkVdAfsuxBTe1J z;-pd5s=`+0q1IR8^o=x+FjMds*UAG#R2saXKA0Y)6}8-~fIdhZBWDVI`GTC=IU$O# zw8-<KXGz-?y>a&K>^RqS5+qL*`mkVyD!W*IF%?zhI>yz{$`EQL4~4eEJ=T-|;e({M zGMAe0l1$Q5Tvhc8T3&grWsIc+$?vS0bI$ouxbFVX>w?{fTO8pzMU@}qyu3*o!``@d zxn}DDf>YiqF|v`W+9Fz&jUsn>F)|wU>}|P?%*2wc3azR>bq>@z>a8rttxRsk{IdsS zK69iAcf6YU`gvXw9yq@^X1iwb72+9T7K>F}YA^OubhAE|?h$w0Q|nJB@@%2Bu#l7x z?g&-nZqg+20qxGV=uOq>lxnY~zS4Rzo%%Xr9L2TMmV!R}ee!sGWBqd$WzBHx<4>eA z@=88hdFooOH5MvcYg_h<J?SUSj&Xg&B-CdXajsZWUMG2qd*~rnSRJ5*X?A_ArHCaK z?4RHH$l;~tlD~R>^E%}2$-|xQ*%KWJ^o+1U{KqaUbyZJ&oS@1j<uq|6yGX0kTI>Zs z!26IWk|cOQ+8crgoyNAROOz1JLmMOAk{Zap*eJ*JoLE;bX`R<Q@8a$&^^Tb{(<8HQ zurty-`4WHRy6oJieB*!R%W`k2D4n6jshaLimXQHMoX|sjA-xq>2~+jU`f#<P+Kf)7 zuch14S@93;<rwNnQs#=4JSut~w%1`kj-;#!IbCU(Fi-5l)0He&W!0TWNlPtvq~Sb8 z9jn|@KhhV(M|>o<Mg37os6t-Sa8`q!Rx0XtbrG2==8|#?s#4Z<T4_PN+|PK{@pvzM zb(YQkon2b*FUCrl;x>Jz`cdsfH;BXJy>d~pDGQ)JdMmb#91|PJnv^2`6f7i?$LqCt zb-fxbO}nvc(iN$Ml$-8yM!JU45!P+q1H9twZ}id*kL>Es`+Swu#nMffugzAssQ$!P zK5LmIuOs{D7=5K)pN}K$#NJYMalBZO)F!tn*Qc`4N}Aq5P2hdxE%HsNpBC@f;oPqK z*z<cucqPgYTobZNX6{jb2v6kovOm4!+V6azjuqnMSC-r2NE)s^Rx0T+e45Z-YA3uS zS^PB@gx;(tTckg8-BougvxuiW&f+W0)`mK-yLvO#Ue<G($8TYwGbeLgR)V@z++q16 zRn*;`w{kwJKH_z2TYFFGJ1wRhcaG4$u@=$-*;l$RSommmoo>@x>6K`d>aGiVFVbA@ zD|<?}w9(E>&LO(XlIo#)e7D4_^|KQ*=Q^vAX>t=wUhboKI7g_(gzMH?_IP<Tf1|!o z_Up04TmC3lkbDJ^N3-SpKi-_#csScf{rP<!DJRLrWtI0(YP&kA*}^rqEcbr45%hk} zp{!ocMZBRU#<E&SRSr8gIFHeMa;mkiwKF-Oc`NhOuWYl}RlX?QB!5{4I)z2?awH$W z#hcL1^a{<(M@WN!y1lf!a!om>M@c{Jf9#dz_1bL5mYjFWd_G)SB<<m)wKP|A?JX}P z7qxbh1BF~PPW!0e<wM2d(jM_Yj7Zr|K7)+l)96<ERR2I%vswI@@S7aq4fQU{Z)Jz> z5SmyQSrsXfE>yNVw<(cqu&_&9!);m~g(+>hhvkc{fK3zT(`#xQ?HW5t`ictbr|GOI zTTX@xV}ur@I`m$Rj-$C5=j(+?;TKz><x!t%`#6`!+qzhD3){2;t~0JFx(^vBW|G0Q zou;c-*?Y01WrpRE;LXCdT-t5gle7@m3RZHP$!s8>NjeJKNEiNxW@&x&zqGh;R~jPK zBQ><ct{mk$D=F8rU9d!wbY-mLC1PxtSi)kHa#*T5PC2Xf=NV!}sfcifMrwsMPkNu% z5S(NdFUWjZQEnIJgZa*|H2u03q#vQ2r;$tKG0mqnRo7@?q^V4;JuG?219git-nEP_ z5$9NH$*IT@j;MFExy&YJi3wO|xV~4rq$jX~<Rv(y2suic2>XN*!acs64X4TaCHj!n zBMZoHo=g|%Mf5%N66r1tlADW}?3{K*U9NB9yTp;wMPVEpsWn%1ts9RKW%-ZD`7(M{ z-%kKdK(fF8aX)ds6eac*e(`Gj7(YP@3c<o~(ueOfb~ENhgyO<K9#5y}kMw)2kx*3f zky;4NSVR53_L#<!&*DyTFNvkC^zC{lwwrtw-U@Zd2lj;qvpsy3@Iy!wjuB73gzaNv zxE~qGud$W%34O}?kuV{VAEC$f6M9qLUv$Zj<)?y1J+&`tbt(xbrTS6@60CPsG{u{? z5ggJusR2pTAE|}31iF|U74wU;Nk>+Y-lo6UKC(e5CFJ3w=~{gX;=wp_oRlJ*m1i1T zLMn&`?|SnUx=T~^f9wG%E&SnoX-!?Gg}7CGB~_8C3W+R^c3~;}xNsD#x=m<HjBb=h zWV%pF3=~HQc}QOFq`&EPrtmsKx)3c00`SisBL7ZB-ZPpsC)@cV)`z~NW%wR)R`?|R zA{Ti)>%#Iwvlelb_*JMuI-1W+jOG%lNi1Y5Z^`eohs=i`;m`4NW8RAAu+{u6FG30u z8+@rOkL2z=4R!1ewu}wN*AQNdtRSO_59!9wvqh{if66<M4P-BI@CW=b-_Db`52--r z@_XziZA(>Jf?ptmprJ5Qiuq7oKL87y<rdN$_;>0ZXauv9<-%uiq!>$l`C(cKtZ|Q* zMFgKpl6Vhr(*RzDJNa}j@iX+V{#duuXxf7n<DYqBlFDVikDk*f>A|!nTYwCu4nGR6 ztVRFQ{k)+NE-n;K@CK|sy+J7(LM93gpv_30M(eUg{0I3h*n~HHDqBe3(`sBNsX`60 zxv+~5W&7z@8VNZ=Nh`ja{i3_*WHy-3CeO)zXs<Tk!g8}EtPd|m4v{fr3opl$S$pu( zQ9hCXVrSS#+MIgQ`ZRz=u^!y$)%(T1)7A7UUBSBWar`oKKuV_9qP1BqehIuggopCJ z>=+x*dy#`=A4!1j*Rqc6HY?4$@#6dj?l?xnXi=&o8qVg=u-XS0^)M`xgE5No2yQUU zeA<+Lp{eXGS9o`1YKc^#%~%P(gD3M!d<A<1-K=GExJ-(YGhAomnFNg$U=7V~3*!{Q zpR6z6#-sQM{*fJGTiHvtf%RdFSw+^HJ!SFiJS)roA+y}Yve_2C8Z*0b<J7et+#UL= zN}|{Tc7&E>acm!tfp4qKlZCR)i~$QxgmYv#AIyH!PxJ+Q49iCI0{jXah_QdL-n=0h zKs4TjpF@sZ7!fs$faggzRvO4Fa3^cR`}30cYQbyspNuhg-T}W|=P&qW-iT*0ol$1= z!G&@w-^Ysq(ewEyCh(5DI$wbmb%aj#;@&_KLEiCYycZAVg}KO|u`8^NaaJrVV?Is$ zk$u8Q4|xlcn;5;H{dfp)63wb|3y)%Dd28Gi3AByjWgyoTz6w7L<tZ4q8BqBi_MDB` zmhvflnEA}Sl@H>ZxPv#rtcUqrv(so9-_6_cPCSYELAq{`Y7C#x*I^}X_%=3|^#B?U zvHrM@kba~RxygI-&CqCZG9Ery5G>P$89OI;Muh#%Lr5LWeGJl{$C%48#vT^I9c(wB zg_(Er0P~qdAMU|VuzsuvyGyIXuVwga7`e|kKuhUZT|2Nq829By&&C9NUKzRR2R?!X z5Et+^4xbm{&ESjqcq(*Ng*WF{VXZ1gZx!&BZa%B|h!JRXI)4Q{r10;2J?{*So<Oee zM^?h8J%EV%d<LIqKL2C%Yk2TjHkwUm!<Y(2if8ZGYxatz0Qu9vON}9W1f*`qR<X;h z9>2@40T-|NVytW;?*fEv;x#y9zhJ|6V7%PCEoNK{8#RGVym>A@kF8~Efbc!+Alt~k zvO2)WGbZxitU8dj3Km(*?K~6us>Cnwc7*YrSVsUXYn-Y26j=C$tBV7x$8hyg*s>=t z!LxDq9_TtZzrc<Itury_8uM9-Njxu*c9?JB@67%}83<3unxDZ+7IFfJKgnjX(~N^# zhd^J(lWzA|2WT^fJz(E~hY!pH$Q}gD8Ydk{T;S(`sd>=l1U?qtX?!i=4Z+T(_+b77 zR(x-Eq3q)Ez>x9$P66JOFM>7iLsyI^z(>x5h3)|<8=&=u&}b|>#k_EJCjWuam%_3O zz!H@El26b=5A(^_;rtF(lLwv^j5~gV%`AK>Wbg<6-@;bSpp}}uAl4YjjpvHCu@S5_ zi>2?V2lPFd9Ra5_VQr!RkE|{9X*^*JB4BxVA`3L1U%v$JS%!73fmbZ$bz!mfz)p2Y zZbYO8xWn+!ZG5BIm(~y0ZH3J)0MTP0$qk+ggr#wfN0M;z7@qPJpPa>d`{K$@=JS-R zfm)UQ0k1t~Z}4>*YiN)4HN{-Uvo3?o4*h#z2`{k2G{|J2GCw?W8$SpHPlsn}h@9TA z<sHn9$O3$|$2G~Y?_1btlzFn&d7$G9m}nPf91k4a<2o2IndiViFG5DdKvI!}5G(Sg z2e|ST&r8za7hSpWgtZUm{tprj;+27&8JNX*UUUf`$X)CMJjxT;Y;T@Z=f=x}QA$JF zOfbYs^U2xVxO)`d9S%>J28_<en3cdWEny!Itgj$+F$33>HlK?!`g#^a+IkqRBYe3M z-Z!51Oa{L;F?$!Q0e5eKj_arlg0PzU(1Fa2r)M|uUyyAaJpK=RhEJDc+|{toMIMXH zqB?m9zF22IoxB!ndkSooAtkWpFZ?Ae@{S*e4*NnP<GJ4A@ZPn&6g>0>JiCl>>Mi)~ z2FBWeuV=_6?&14BybhaBGFJz7wjrZi%ZwAoDNBR5r?Cv=TJ2z=@xW;Zcu*?KWVwKx zU6}tp=UgC$cUYnM@4&`n=&Bv$&%h@xpyn~GvkR+u$3OBj(1IT{GzasphPFDuu6fPp z21D_^AiU5x4KxJUnFB1>0;(u;frFQ@=7^!|>0BB`8-lZQ%$`G|pCAS@4hP>Z$Gdmo z+v{M-AHZN3*rgTFyct^Wj!42-d9za>2=n(gPm3xGEc^#fslqc5fsbNU>6rTo{{6^q zfVW>U<7wqcXeAG9)*IN^4{iG)dX^zgh&$F?oRmcLT8T9`#%NVw<C@^ht<cGNtZpDU zEDZIZ3cq*@#&Jia>I<26<FkWU{}WTTPSE>hj2cF&A#yE(wPxV80iLl5qwE1j86w1K z_`q&x@f8@)=yID5{q!=s<>o-Xp}4LuK0VAI;&lbOJ^|ld&mUnXPjU}lbOM;&0iW0m zHtGkzt86|w{R4hH7dU%}HRlH7M1pgRnrCAT#X8#KnlkW#X0XOi^U0>2_-Ph0gD${{ z2W0OGNq1n@)zD)vT)hX(eGklV9Iu^N%UOIj9{BHoampcPEWx^0;<^P`+gV_BGkzX} z_m^STIcCQJLB<>eO>V+^8i98!;=S_lp10tJn?Qo`bh^fNf=goYy%_v26Vc;5(E1I( zjW$mL%L56=njHycur}kV=Ry1wu$Km1u7g!3<M%P(rUE<#*-aKR@O_wdL#*Em48<@j zu=p3F8>i~kfuH6BYOW!7a<NvBbOO+7oV=&Ot~u-~kYhaCdzC573DgZ{rI|*VasD>T zhkP`VCed<i5XSDw>akI529P`+kynI|l!5d%^U1~hkh{G3%$*Os%y@#f9cFmOmLlF} zgMrSnNo*XL{uFYy|JVRveG*td8afH$f7m(5_6@5@Lah4(?4CiU_!grCV1^&aFb+e) zhlsG}k$LuK-PwG|u-)9LU>@6#k+uQt%a9Ejr+iTsz|&cC$W<B0Xb;R8o!!lh3IXe_ z3mFH&+BJamaX?EEXu2&{Q3CUb{IuC&e~0~M&shO;&w!i2;&q_+7k49>;OYcaHxtQH zGLM`ftI1|mz1zrqGLW<;UWAYjVEQG<1aIOFBZC_Qzcrq>&0<Z>r;Lq$$Vrf9Gp>7P zve*r9iVLim#tWim7)OqgQ{)WB8%l!Vmo9kA9z=^K!2B5CFc}`P0r!mom(B+s7V$S2 z;W6GF0AzgTiCpD*5I_1N_v=cAld+@?DNht$5_w-OqVrtHy>l?vKE#05z}X~NX*bsQ zga?zqi18ON&QzdlICxmW*d>Xbv_rOjmh2+0Nj$kolF4C`Luv@sgnNVtmr?6HfSe;q zAyS$6lV~oQJ34ri!niXXa-PF@Tao|mGEc0iNIH=EV4h^i;1Bs`kjunLevpUc71=|! zl682Uf$aTATWEC&S&m9-1zx4WRrN_0s-B5t0bcdYClE^-JHL~Bm?xOTU~RdGFY1+C zn4>z$kI!F$wQut{ME_*0aXTX3X`T&zWucnghtKMmoj(=8CB`|i4rFIL;JLrx13|#B z1^iF~(WeqO&Rz~P&%>H(p7+xjS64vns}IlWY(~Xez&!(UQjp!;H<4JMO=Rtni*7Za z)vwCRATyo8F0j>juP?IpK$eGbT7wnEt2HYG3||N4!}uFukHHT;VV@e9ttaMiGUN0t zFR)rauu4s2cy+*9W#ApD@TC!K3%u(fGxp)R4S(jWIHb#BC3ynIiDSmo+ifsP3OwpM z;$jqX=Qr@lKg<_nmFIm>8?7-r$$A5|UZ@W|$#$^w8t5(^xk<En293e!H+Ugns4?tZ z6kPuXx%y4mJC%P$W*LjmJW+3iz_wSRTLV4uz|~Gj@r8W`1AK*d8#Po3=(Q?8iM1UA z+ik|oyO4?0<Hi%R{~>m42Cv@0-9><*R>Xl!VKa2z1711?QDGCl27$HvAxb<()Hw{R z4uowd;<^`z78l^Pqrk*f@osN;U~PC`U1)JXq?&~Bn?b8Z!TvdH8mw-dv1kF)R>P-8 zeVBsi_!sqhC9K*3f4YWs{Ke{gf$rw0OzM)xq&t}fziJH~IC)W00NI&^h{z~Y5ar&Y zB7T6F#30Q}o*P$$;%gT&&Y3`+i~mD5mkd9X@$N4~%yJm5ImrtTjm8~oq3JbP$sn^! z#+Mse`(cdZ!q*pML|Ks1IHPb9;^$VZWgp%<04qI3K7Nt^1TTEVDBF<F4l{eX%OUm@ zK?D%ZeGH5}D3+V29d?H;o59C>m|d(_!MX9sYmJO@H1yWn%$^Tp?G!8d!w-Scrs2H- zW+$w1cKCPm?D6`LbP1wmXN+6{`FAn1%54i?dI34k<4$Aml=~PX2{`hENB@BTO@+tJ zgI$c=Z9Vv_3x4lyR!L3FZsAg}ReQwl!LZ*#AafL=by--cHEcc_-dG=Z?ZmxC4zU~K zjYgav2kmVIo|Yj09RV*H3f3|D@(1F#hR{I^NFC1O;a_hMb0ZM9j4qV2K!(vFQ4*^% zo_5!eiy1kgQFBj$Ol^S+qlck4;;gYpMmp|H1D5|FtLzH-Rzo8_ac?d2yy%aJO^4Y< zGkRsh4<BN--H3MQ;hA^YLgaKO5x-U-(wzneBqB<yh>VBu&MtVyLsk%6W92)+6>D+N zAF#wV#JGjbjb+jzY(3)o4|sA7WUM0eZ|uEt2t0KZ{vHg8jgx#)c_QO`kE*FLSl#G6 z3c%|FEPus3ztrf6GyWRFSZl0oB=k1X+#P8wv{V}_F}gC#@T;g||FYU(1!EV3O=fSU z(Kls<pQK<#-B9zdK}3Fn>iZKoQe$~Bi^%UlCSw<lPGHk9&}?C7tUhw#ijZU}EWQ-; zEd($8;Q>HGCUUGjh%>X{8{N&yFo#t$_Z7JS|9N9Zy+x3&8)R$@ZgAtqjt@<-{!Os- zVnn}vu(r{2u?}N2=EgoqG011qSWVz)s=3?2HDGWz5H!m?(Q^eb+#ePjg*o;Ep>fFg zbHVS*K^AYs*#JV}uQCzHMX<>cMCDgN?MryvFVtq0QI(ZJeexRFz&%t2C%|m8A-}PU z%U#4WPcVjvdw)RoE%>A}G}#CmGfwq-2Sg+@V{envkUu}HrGuAmB9m%_OsfG4XFe<p zuabCYD>9~^EDJSN0y9oAJplA<26wK(*IQKh;qcq4Sm77o@HSZgF><IIKt=*qeiaCt zjvTEttBGjSgOx>`Im~7OlSj<c%u^8=jPBPs^CV+qpAF-rxV^}x&ZBnx4ViRY;fp+} z0Q~VS^3$Vi0_(~qo97n(fo*%3efvhINHK6IF&WC}x!7oS^Y4a+_X15#k<VSn%$E?u zN<u?D;7x0xd80P+!)G^<t9}Pc3jh_Dz#ndiDVg|g^d=eAjN#dLkwH;d=??I63i<hJ zutYmE->r|=9K5#*dAP9;l^;(+RP6?2CYe2cm7$@wz)gL`wlJW!03<c`jfiK%;DhUd z{>N+t>I9>5y^6@W1{ywwjQk~jUX3hw2R!8*-dh1XG=@IwvP!H78_1?1rr(Dp{{iJ6 z%p7?#Yl`dNK>Nm7v6GPPS1`N&jCw;iPZa!x{I)WXIR@<c2r`ev8mfVF-N9PBv9{Mh z=`pajl{7`ZHv}1<2YG-i4*_ujWDxS3T1GbkqKCpuqh`AU=6ec{sZAou0OWT@R^*8s zXaSjvySpMQiXb--V>0-6WS3hIjqbx2MuJz3{v0Q=FB@XbeavtgdE!UpvfnX(5`2xK z9{j|^&5SCR+sJ2l;TE%s+6u&<L4=P3#|D!q_|hW0zZk#0#Rwkoh?lU_5?nbKp7s`3 z??=QO58E^`cg&gzA2rS^HhPH`!Y1v(B_YVo1y11`U!cn@X!<^~|HkIu;yQ7oL%tBS zm>>7M5I=2r9fH1=00S-I!)*|o5|GnHAm(QCHpmgSAq%u3|85HWeS!y;A-%{ma)%_6 z1agIZ!>46QB5cqfY+~&8@)qNM2kyeiZ^TrA97VNjbPja^{t|d4<gza4+@CyzB`#vE z+kn62u<%wylnr3C9>Cr(v)6Smkky+@W(Ra1NS)65gT;p7t3O!vI`no8*EN6!0+Cm` z!?)U*ta}jt@(`&1$2k~gKM*p{><2yyAKHqak0WY6hK%dLL=#P{oP#GE1YVxO8jXSP z3TEf&NL+UV*Cj*F7-T~yvA)vg-->GDih=OEg^=9nm<xtai(uI*_@p6ZUWmCKLx%VG z*Vs*<7iK?f{yn;o`M2|?V7KLX-2qnaV*OLGz6Pl6w&RMmV7(=X9P{zpO!Myn6%hlB z-m!7Wg4~d|wS@(W08N*0%|?tk10xx-Ux4l>LWgZ}=OnWmv@)>p30!jze(7e`$<?97 z+OWRS|K9?idqQi&%nq;N=AL-<fWgCN6<ooL+zr7SN1=sp82tovbssof0UjC%xr}PB z3Pv!_=9CbllFglGLismV1_<=yGJgP0G&+u7g7Gqu2YH}QtA)EF%?@xc+?$LD_mkP- z)y<K0P6qq51-F-h^-m!)U5Pmj9rVU~MWKO;(7|fV+yS1R3zljIP1k|sd-1wz{%zwn z{AL$)*vah6KM%=gnY#{cLDVub=Q;S)*b{6wR=pS8VAN6-;n^Z#@Z(Rou0HJF9hPx| zCHG>j)1k>lsOrmNJx*jWS;%r^cv&IfK;Y-W^moBhRxnW<yzMT0?he~y?(!0gSa2M; zR1x!kfwMw!jc78p(HCd@J-3OO8%1!VU+W*DjD{*H4Eih!gw%(pQq<dTp}!Q2oQ~^_ zYNHSs&e+i|7~h)!HAR7r7C@DOJ#VwtE(bgqe}}0Dw2uaACqR#zpp7B0q@j}|U_cSI zL>@%cM6&`uW&Wk`8mh=dZtU;(3Ga>oPWyoqx4@&W0>{RlN88~|_u&aA@cuKrb06qE z4ed<EPuKA7IPkzMV8ht|X)rW55!PB@);GQIb3JqK7^4E&kL>>g{PPXwdJCKFGrRh? zLff-2?<nAZJMeY^_B><OM=Q9IH!Owix?!aDW?%CT_|$aBxdoQI0d~28%yKcVHO`uB zf=a>opNBbMgh}9;+sN=QW9$<cc_Jh@gbZU3y#51z-;A82HEcg0_C5+JR=`iQ@M#)G zzl0IyL$<5<yaZxJIWYWtM2M5%gU8UDid8>^k1Pdm4m9_4m<g|$hsZb*w%7-(Z^4>p zV@xM|032*HP6EUVqS*;#8)G4HM@U})tfC@EIKzycnM&dJ(a?bnBbEU^{LN16dAPGS zzre!5bpg<KEojr&>1_)%G!!<Sg_yDxwbC0@KQ^)%kt_sJsVLUthiGnvWsE(vW^m*G z73%^ienw5lenXdWSi>UT5%+XQoqvE&2h;l#qk}OMwjIJXj5Gr)aEC+>k)zAxJqso+ z5sOmcvsQ9~H6RWa3!h4WH|D~%g;3M|VD1?4Hjs7$k#7e0Yd;WLlyrkM`}k(|9c%F+ z6M)+^<Nt2Rcy<^}b&(Y$GTv{<*29v8u^wYjqaD06n@mQq7;=e?gzg3IORhqLYoNym z{4nc|uPw|*I<UvQ5v@y#vr&i`)9Gkl5jj^pYe@g_jdTFNjGW{t-d_!0Gxpxx$y$>c z><N#j#mNf#3oGmm599PD|4Yjg;~ejN<by5?t?4)3j!A46QMIySH*JXUg1&=>_tOf( zD*ZL_L=CW7_^eeH?R2s*A35b6A+H`TC29GD0=zq$AOz8`!bbWXdRatMh5WihC_x{P zR;&;U6=d2#EX_WXXW+wySi?EtAU#LM!O9hdESg^oq|1ciye!iMJGY1nP{C9d1U6m# zr{58JfJcrA=V@;7p58%h$=0Ld{YeLiA}t~Q2fM5yr|B`VJUt@YX*qEV>Be420eS~{ z9DOEqBjK#8RF-WO>Y$F@E9_)dNF4E}uf+W{ztD$m=SN8ry(3&_h+^QhJmdzQ3(FOS z9{i17RMyIjkqhY;@{g~iy~qOEl$@tqSw~@x<{{3bYhcL&G=?;wQ+Y#1c`tT|^wBE` zbD`ba<d<&cHg=ZONBv|GF4B%<E{!Mecw-tQ_0(-bIBKBDuvs(YK!aiJPINu-MSj~u z_@ZZ%Fxrk7d+EgTa;%g1i+12uggTlozfg9`18HwQmt<;(<@?%vaU^|;+T$;Gus>uS zBWyLP0^TEh0rI~0>?I;g3V%UH8oOW!&-7Me1)h%`kz{?RxPnHrno=`0+;U7GN(zY= zwW^l0Di@;39=*4`QcaQGGZ(Eb%i0S0kD6P0$|6{2@sMVhL_JijjA~(*G*2mK@u33m zCpOkDNxihOVs*9>%oE1{6P9a>1dTQkP6#*E0y0-8h;!f<-}ww}gH%)RN@}61xJwRc z-7LA4+ma6(K*xz?wO7(FeH<8U8=V3VJwQtf1N0^EpasCYoA_IA&5zQj<N)1Ayx2)$ zy4F+bqCOFFm^Y;F?J936sg353#DT6{wqTbgEz!?&T~L%UmKfJm%MNw9Fi>cw-m$iH z=CU7h`H0)dAT7?eGpC8YpmLgg5dED?-7Dv;warw+d0x4TGtPR?B}<=JOPVPaS6$LI zDw5$sY2b!ZBE*2Fo3kdoFPX?rfln*3XF@CbpSVGH6DqT6tc7?4Yptp`6(V>QJwm#q zj+aukGw_FUdKuYYZ6LLvjmaGHLHi~LD!t@RG@Tt28>m;LST$LE!DX5tbygxRYn8Ur zB-W3H%O90QIhW=w%;B?HYjK78#xhKKEOnrpxJCG&7PJmfL}?Art@pN!bH!VV=-v4` zv7^%3x)dWc<qNb`)(wt^))HC^(n(BnX4&kHSW8j8DSs)>b7fj5x>CiqOk~ZZhe~&= z<`SexmZ1k(PAZQqC$wC`Q6Wn`YU!#bNR8Qdnkw~B5-jJGXOhb5>N72`oH<sfGFCdk z&THA0BF>`r70MNoEp%~xv#oa=u};&<vhLC<*Dbl4x<M+gUuVrpBYH|$uYD4J)AOt< znMmzo5w(Z7S?@zUX%KnC9C|svl<GW6-y?R^*RrMLxn7x1fHw}O6<7ujqSbgG)|2Px zGsJ7a!EIWAwig2Qc0zu9(nu()y%ufsIjbcO)Vm2Xi(`@ELFJuARFCsPQdd_6YZG+` z=_`y@_gl`o-pHfqdwrN(O(`e`(T{u-`AutyzVs`qq>?m5yhX#wdA^Dj6Y7DrrlLxX z6C!oHY@s21vbb9>EREC~Nl)}!e76{=-xlA}LBtPrMknINY6>@4Pja1=Bb~tBvw)Sk z!acp77(=^|RqQx&vI%?#<UKBRqDFKcNk@r8G^el&73WX!tGZEk*B=Y_n1USn1-nS{ z^0TZ1WQZpjtQq;rpHpvm!9bQNgwj^RR362~3oGbNp(^zdN+Mg>O4hImWG?q2oE;|5 z*(#C;8PF$Tqn;sd0ymEn_vo!9m%f=VAsw~-qNueHJL?aro6ty`LN>8C^bvI4Uie3+ z@!KQ@ex1T+z!%;lGJ2o}J&ejJ)7amQJ|hFPUwnyPhfdd>`V3l$Ev3(em3lR?37f$( z<i50zT#dL$Enyt1A`hnj#M{UZdl3t}PfD}R#Mn9GI!mEfbcv4FOY4tl3Hp$>r6tG| zUW@b=JCc3E0;!<bM=T@+2v_(B(vet50dfz#vyF8pL)cMNa5AdgF~kc|@C<!N1N5bA zre2y2=bcy|9x1+KW5m@guO(5iio-0+SZ(n&zd+Uzjja&E!M&?csoM~xCJXEMEMWx8 z;iu_dD(Vis0v)JL=W%*Vb_=<~4YE()EDaTk3j^i4WT^0p+JrmoB(;dGwIlo?-AG>> zJL(A^`61Y(6k9}Y=wE4N+MdR0>-9A(O<Tv`vL(WG-cA2**~=Ele$qaoh_Tuq@qu;@ z)o@i^Bv14TJdU;`=SeVcE48Bg_)U6?dTK>zMfy}*3mxauHyF=*h+Xyhtg*EleQ8M+ zHVXg2gQ|*CwRJ)=EvBF4etK;l$-)KX-{hVcL9g@MbQ;~H-P6y~De5}5o*vaB$YNST z_SVA47~64r(;iL^OMO{q-dU`o){zG3&-Io(QZGrq(C=bJ(w@AL-SmN^Fsr0bpk4I- zEU!9%6{0h7MO(UD4%1@U99v;}%(g{H63g?WY^&H;StZujPwN9&lGdIi==r5+*l>Z| z3f$V6z0xn}EA`o|iF%7=>2vjuJcC{o&yuOCyZt;LD4(^&3NOXVdVhJ5I++b2Z(Lt_ zC-n#)M$ZyoF@bqlDC>c$N!P3D@vzc3H6LHDx6!AuV5ZWg@^bw?n`HN5%k4eIqLw3U z2p=i_RoV;D`g*Mp`=}KoCuoYe1oeM}T$ede-^J5&x`UNwRkR3FQeR1Xv-<oNt7i>U zn#qr?2U#0;Nw{vAM~6VlJIXdGODV>_&~0=#iK9d1(qx9%M?S@L(wNNE=kT+147;hf z;k{Wo`jI#&l|Pds+IIJKyqnc&IV?_reLGlllnKPeizy#Sj(U`E>LJF6^N1=>Bgc6m zGJ*BbXEBK%fQ|?g^tn8q730G!sdOAG?lzJK*}BPsTwCzx&E$T{TQZ5-wS$c6sGnIM z$zOaS+>^%$XZQr<nf<kNrt9_8PxORtoOC*k^<#hJ(Rx{a*#3h)ur(BO#J}8wRgk{8 zo|Ajp1GPB2t~DXc=^&}E&|A16?L}_!kTqnbwbjh7zgKK5LRa;PEQYP+yDh$&zwpZD z%?jB+3!9}ztO_qA40bgnL$sdiFIGkG%U`fQ;%lLu*i9Y{Zam1FP<No1=y|oT%!{V$ zg;7fk;km57T80p3o6BC<tBW<|5v&xiFFba(Anmoc>QdHRuT8qJrBV$sOw5*j$Y>tK z6X<Mh5UZ-!SKBbF9;5AGi&#B=-Evi33YpF^$*rBZMb4m3woYj7JV@&41=Mz2(<o~E z8qy^(S?F%r4`!}MmTHx06Zq^vZJEB0o>ZG7>MY|S)=a0j^{QN#*KqI3k6DUq&4p2X zo^ywI!1WHg%+eado3f-oq^5LM8q5STntg-UM(IDbNbM@^ukX>$@cXo+I7%L+jId{l z-r^{GAbBJgQx}L+_2;hK;&f*!ZB2i|FNgAXQZ3=3G(mbq(|9a9sJ^0I_4n#3ZIOOO zPt@v?9n@E@BED4KdSt>=PTOL5jO3+y$%WK0T4AA~b1tu?XRy&=>nWB^<cuXr>_sPv z&-8BkZ`xBIroB}6vJ|yBeM6G;5w`X08+CZtSY7)p`J>QCsH-)WL|0SB=~>ro9<9v< z78{Dk<V`{zt45}CFTtYkqRaKydLeCy9#3m%MR;e_LmzBu+6nQAn?LLAwqNWodhu>_ zzL4cC&I{7X$^%|p|4Rmv?_!iZLkzQi=cmYAQd$e=Kh<V*xB5-LN!w`qNjwdgnp%!2 zo7~n*mxa}CBT0R!y`BU<TjAPI_9>P0RjiX9E!5=&<+jpK!PDAVj}e~GR_YYKSUF4I zC{DUYch^1$YxGIhC?e?BJg2bgwjUOEVS#u~Erz_SwsxHla9w8a^pd=oP>|HNtQBTT zA@UimtC(9qqPep*>UzDqx|Q|TZ|d)aaDLy$^s-`>`)FF&or{ZvP2`8xM=0t_qOWw# zwU}G=jU>15Tc}_eA?C4sM=f(x9IjrYdFf8Ij{ZQM&f?W!s5w)30ee-|-B!syg2^5? z$r;g;U7@GRV8<@fSS_X=<2`hnc%OfiI?6qThSol;1K&e>DgBsDeWtBY=4wOOZ^cjO z$}+_o)(+}x_Zjj5p(9XPLF%sWVKrDcXK6A^X`*K{N<Rz9yq#QE_7MwNXRu_{-bsoZ zJE$aT_0<2gw=_bVKt3=@PLYl)9Xx9YdBtmPUi60OrJiQ{^}UX0GT8ZBbF$p@uP_x@ zdLaH1<1JUTFG5|~OKn46x?XFolxliCx=oE2VyI-LLbSHcdno&B&12inj!7F`>xDV$ zMAuBAn)5lm$I7y8LNO9&$t#?e%E}Eji|A0D>LV>&3DR!6B55z}la@h(*g%_1FZ24I z)%6+n)soKc@NG&*($HzsGT38BTh8cLR!KZVzFBe!B`u1OuALJ@l%aZYeW{Y8RZ#P> zNUbN!FAU(%>_^pHmagsvX&#TlWQdT9UR0Nm;W?*~Y2<aCA(f~k^b>U9fpq|hu`DHN zT5Vy6tD4T$U}cAvS2<4$>qlu@AyZgn$y7eOsd5><#XXgB@>e^q&!Jl#qj*;}ud0(Y zy`9)uJS!zz`iQG73s@!o9~-U2>XJHDjaG?PkIH%|DM=n$s`DCblV=weBfqwIva&o& zz0B$=<&;cb*fpPCCNtSLakS`RiI&~LC+|?dhtLh$Y%pan?T^-5kEF-x4}MOnD>u_T z-84%@vcg_Xc!TWu1@&fkoG002{kalEHlTjw;v9LGd;_mV<PB-XA8Re>KJByiKs!L2 zv72;1nIcxVt>WzkPp|cSqt(lL7<t)R{R01>7SeQbQkle}gs1$NR8yX0DQ*e2bd#FV ze4<OuQG@7E<%!ltTgaa2UaYWmTh414Oxt@BYm!jPeK9FU3hD7|x?V}?!h35S;3J#J z9&w?xz;ax!Vre9g<)6t4HcFkW577##D^-7bS`VO`$b6}vEm_}V?cy<<pLg3Xang;} zr;qs?#}N9Fy1O<K4}OGXis!}LmMY>!>9g=wA4Y0wHI!U*x>8I1qbKVlsXKh)rS%tW zFO~A_!i(8^%E2Ux`D@|A59epC8OiIsPImKwq`7=vJa6eJZIl0zHPk|8sneAbS|v5z zrK<;MIc+Tq5+_*hlV9waXG6g*kFgbGDqE<wViVQ5&hvb!tF-o-B<uObm0~wZlO{`J z#T43<52VLj9rfF459OYEkzUYu=xxQ(@&>6GRor}S&v-TWGel)Gu(GDi!&R4;W{To3 z9pyQ~A-T9z&$3#&EHXZn{$W&^t4`EwD1%f@_n=;^81c7EwQQm@EEU{`@#ogpQYP)I z-_pj@EzVNfGB(+@f@hPT{Ilc-9%(0c6h8?^X&t^>KcG1DIJJVBrq9=}vT3Y^Ost*A zT%n`K2I;%>6p`dLov2S?zFJvz9N(_xqs4?CWS00=TrBy^MEpz!GM9c^FQs-;?`v_c zy82jsD-Gvk#JiShqJ<B2`(|k`%(LYuXXqhqwZ2Xp=~_U~>nqf?q!P&^bdZ{ef91bI zU11|xtxN2;dRAFNJ1gP(GM1pXAs0k$nPiD(&F#1B1&D5MEqrCI=qYVG8|qq1ukykw z5%-e_!A(}kHH%$vAeV2ZwPMYb%gR#ylk2cvmCmIn$u;4()oMAxJ#F9ZJxNWQw>X&% z)5qv*X^N``?aNQ9^~J)%e&Meyi%qRNg&1LlFhsA)<Fr!hYMNJ_q5q|&*g+B|?X}jj zp6B`OCEPBP0k#YwoHfy9nxsEa3bP=VrF|71k+<S;>8I#vSxfSW|5$=HmR41-Dv|nC z<)*ft?xw@YV#(VwKvq~Ox4xEr<e61wALttOo%U68SF%_jy+F?kdwHx>MJy;!loH4@ zVZ8oFx9O8z3$;$_S#2L|QkWMb|Kul@AYqp9*)2zSFSfO`qLFl?+JRQq3Tw~!3|fPS zh~I_U(nqnXd=!<z1MZKUxVzd!*{wcPXK0D~S$2+li*MvVmX&<J{MPLoziHViw4|N& zo$4d%t3KAlh@DOm_K^=_s8n70C7&X>#G1U1b_jN=rdHO@tDY<zYg&fPd4y%Pyp_ku zH*G=Wvs_nLpuf_J=%e+e`XX><1KvTnC(abR!Yj5)jfFZw4d$b5S1syp#Yd~DEvCQd zYtn^muzrwUSr+n-a!dOGHdoepMXidqLs_eh*6L^@#TE1*c_&U0I*9R71E~`qLoPsj zo77n4vg^9mK|4e9^E^VTu-0}+YHHohr^y{{kLVoPn+0fTN`yL6AFbu452O&fL>w$F z65OT3(nfJR%gqbwvt3T7%Q?&OT<NVAq@m19C@dyg6QwWmApSxAYpG5jNf)%0%2egJ z>z;mBIZ2O*P3b0)iMdee6ve9kq8k6Mja8<)3Mn;QlfZ`}zrd?Vnt0frCDpJLAT7lR z+Xp&HILF*vRLOGP)0Tr(N=oa=6LG%fy6|3_FHz(MDRiEiuIM@IT^pQplsS5DS`Elq zB$jjgEWNR`kaDrkZc|{t86?IvOzo>S)!w6)TO(x)PlVi-N>XXDy?maOCLyf8en1`N z{I1wsm9-l1^ul5b>5tsr{zTd(Y4QoJynQ>junYXQ>#6cvNmHBg_4*5GxKK%aCY=#7 z#WF$`3E@#%72Vf0(0Sb%=iK1xq`T8H!gcYT9BH{`Z^eJwOKGdbV%GI)TVa}-;ry%G zT~&BlR)|cstRQvd((+K!P+mhc@|pJ17io1}Nv@)*Rhg&HU~zn-^hACsU$tB09YP1| zTxVWePjW!5LM}M%$_90y@=a(%qs2Y)cf#evVlQEf*n?#W^Oc3#J>{q)NExAgQp&JI zT1DdGW=o2tgnf#%ROoN{<~k_v6tAn5NoVD~x>QTj_6sA(HSxQpx@eQjNH>I!;v(b$ zh4t@RbFGytL+zuk)IIqjo=09TSGV4<47R6Ra@Z*AG^Ln$OKhjT;vbY#Y9RH|)*=gN zDy+7q39scB;u;}X@*x$;WBskVM!Vn`qvj~%)qSigw~1Zk=9UANiPj>v5;UJ}yDOZ0 zm5(V3f2+#MPraman`{$0b1(Z+;j&yxN+C0)$85i_kwz(xX@+CJa!d<V|I%#UOK5Cq zD+gKs$R}+ZwOJMqt+XCuiB>D~16l)R18t&=;3cJFtgmgc_#9~TB;Cc^JRkqbcB+l_ zO|IvzFX|EHxt<?+`&&6!-X=TcGuA24S{Tz+cS|$s$EWHql@WSN)tzk?fAB=PsdQfa zB$g-b#1ztp*W``q6-2~_$_eE^b-L~(g~%Ogk7cI(L)vKHL3<131-t8)+?E|h^*qHj zN$;$_(Jo1w*?Za75+y8>Mw5I(sL+iC3gy&~TC@`29H!1y`)jvIB!44ylU-6_DX;a5 zI7sVf$)i@G>x2T-LYt}E)WUR=vQ*GTcQMN1FIlDgLMO6D=uV!qXkF0%Di<9WwMEKg z-Gg)&%7SC!Ef3{m;vjott-a)8XI$Up&DtA!n7X;TGON~_eUK@sWgRQ87rf<k?k-T_ zH7&&RsnxUzt}?E+TDn@Bo)(_-igKb9Y-uLdw{GJ}?5ud)@kmTyzqFHlsB%g_rYC8I z<P$=E`GIAS*i)P&Y~^2t{j?Y<qjgsHXjPrXwO6{EUP8<(JQg2WS4dWizr09ls4;nr za$3tPQLPIfsxQ^*vU#ePkRt69N?4rIHzA%B<bz2*UPf=oL)B_(b0tPm^%i<h@=Ed% zmRc6bSEV81PpORVNlNe_2a)>d^XXvTMCELe{#*~UM3We4gKQT%2yOUjdYn|ys?Z*E zjjO#jP${Y>>aA&{yh!*e*0L6oJjDp9JNttbFL#tCo@A2VNcf~t_K`i%9^k6o;tP4R zaF(>@%UN}vj$F4S^H8(2b!rj42#cc4r4Hg>v8d&Xv_af2d>|L}?qY8BjJ96fNQaZ_ zJU4R}GW3aJXE|87DW4EElAnaJ&HN0jth<pz`Xv1{t*#&9igBv9+(39MrHUnm&B6ns zYb!-RR!2({7m_2wJ93c63JX{}k|d8462XVFg(4&ui(w;pM_uIA=m|ZXe$|`sZTuwJ zD_s-ni=)IeA)ZenTWNFV5}K=zNv2SM3>7Pq-DC%`vpBJ>FhE!>ej;h)3;V|0$YI)r z3H-C(iA|?Fn2T-ahlF&3{8ZRMmh+lyK0m1Y3(Z(AJxGk@J%wbU6~8TXVxzezjpxV3 zaA7kK6+Thpe1ZOS2{}*4vd8S7?qZ8M;co;BNhh(!xr+Qb9}UUxlVYqf-$d>SUIGDU zZ{s@=y<3o6#9as_E~8JAPUlJV8(YOb(=22iXJ|v#mComv`7_>B$jc+ibe7Jh@CtkZ z8O;>li3}osLSsIM)Zhx8%+K<V#3E$zU!)?h&0n#FyeB`#X0iNi3@t#fvvce)FHZ`P zx8x2VMe>3n@(b7aS02l9cq7tL_{RT`;;>F72CgSF$Wc;9a3?j$YhIUcBm!^6A~~U} z^a{vGQ&<vP%BPb0JQQm>${Ud4$Pb<y=S$Gn+`)A|hy?O;tQ#B1fAHnx9Em2Wya`X> z6L<?go~>YYSp;24cTthuVQ1My9!%=-g`_EY&x;Uv17AXWGYfCTAM%-GCjZ1Xvd(+~ zzY2>}GKvTCw%nJWW*yl=j3iNk^<lMG1%90Q@Gsn(mm_;gc`}DAfnLwETeLQdAT3E> z)FX5FNj`@slKnz2*gAxi<X${4Kf&$%2OGm%uumA%gSRJvWB|z^4ar(^i`WHYZ`g1A zA#2T>v6;LQnM;NVQ-r$Y2w6iCNpWF0EOC-EjNFt@=kcr*-^YD;NirV#WyXI0B%SZ& z!$}{~o$TX_`E6!ld)O`3oeLQ208ns-xRV=v9{<Ff5O3arC$JXmA^VTDhebq0D+!YS z<Hva!-ko1#x%g}TnpNf_xQ+W^w2^!`9|YY*kzQmVk+H5byeGLyN|BcQ4j;=~;m+N> zIeE^1LN^0>TQZIGBvVNzti3;HtOTC{`IhnJ{4r1Ft;r4YgKQ+zNq=&QSAk?fqzFmo zL&;ZOinJl;_zBVvesz;*+=qPU^|`{sNfna7*PAEJwBj+mzOkb%IRwqd@!Nbd5MPrx z_$b~5cO>vW#5gzf7Cxh}*EX^Z@73o=%^rj+d?o+RR{_HxVgK&1^fvwnGWIl|bz8|d z;@@(7E^ol?m^%vZ2Jou9As@mw@X~w=w9%U7;col|ejmg8^2U4#@U)6s$v4bikw0cx z<__k@Ohx%`764pc=a2Y(u5sh^jK;h@^gSL(9n7DylF;t~{+X90k8wpecw<#)=@gIT z{@ghK$eXKdF3;vGcvoJS_vX9I^GPpZ6yu2-#q8#ic?NKK4c0bJH0jN&@#a{W7Z6+) z_mqVUZ`nHFAsW}O=9MvvJ8(Ok@8Q1W7I0UbM<6b@gpIO+!2J9U>u5f0_mp45zcKv1 z*-urJ_>e_lhr8@IJIsnemmAHlsD6;uc=mfT5HK1mcIPQ<64r7GuXyGQNm}s~{u}cg z!Q36p6Vl?~Yesj<N5)tP@Y{)x<3srl$UT`a<!7LQirhGfZ7|TYj+f^*c^Ld^JCBDw zixUOEcfgDjxCh^it4>0KLb!6E`83N8XkZ!-0q=lMFp9AQdLDe<2I%hvS?thD9iYMJ zUb)KGnCE*MPa8hxr}+(V%XYq+zu^aAu_yeVdEVG;o(2>==KjR!1bcwlFPTs4e!>cO z;VPBqBOOU^cycGQnbae7$Y`<?=sr&xAU<>;+sP8L8Xhs-_@6Fl@r${~b`9WHBqd2( z(i-mtkeA$#JjIv|Ngm*}B{IQ2#DY=FlM3*TDBP0{KA%XMkg~AaHuLGEuCUEPFreXg zq40d8Q|AO&@Gq}MLWnmx&+mdOEs&!VX%F^WNXC<K;FLx9zJLrS5%3zy^FaDU_@xUP zDF~mg4qwYdI7aa&tw<TLR0wGdc?ppq5y4NBz%y-0ed3SR{exwH<IY3IX~wYR3qH~8 z<1?PJFN#+^=zNd)Om$Urhy8^>#A$BqTf7L@T>*+tz(=FZrwy-xhwgEs2dNY^lZ*U; zzW)QlCc*}@a8FfOup3xuDn^_OZ!8a+55niof#Bt^VlUo@cZU5>01c;L@e#1*TOeXL zP_z)gbuv%FGtR;rZ0^9{fd4U1H?o+g<{BOQb@?QqcoW7Pfsxk0uUEkr&cXlAg5!L_ zp;saGdFXyAu3loE$F~UBT?VGB%yYwA3-V~hoD1w1yiH;Gcx(7$6Z6E~-(db$n70dN zZp}-Y`^FnRL1WGH>n=mWHCXLw*zW??Hy&(14~V>v@wY&7;|a)xSnV2oO@~$|1OF4T zu3@lw5!^S}?DstZEu4p6o&h#;L;J?Lyg%4}cAjlvuMw@MBGN5of7w28i_zt0JXP2l z*BSlAjldrk@KFh{TQz9J=sQO)!@n?hjO7bva3W^@Ve#w;SjQK7YYrPU;Kmbs#`Azi z$6Ir(t~q{pLktz*YZbslov^+>uwZxdY1mcJetTXCUReZsXa=e4<I|yF*g5dBmyn|e zELR`j$CzCO9nCWcyTB?D@aj6|NibD#Uoo>Mwz7GS&?L+_90+NP5vxO<=8&qNxr_e@ za}WM<W<Sm%SZO6RwG);df$Mjhy(C95?+skN8}rt~tSx{l0Z}mt@lV2hewZyk-s@%B zs{>ZL5E>r{`{aTot-zX7V6UD07<l;y_~|w<Hx{Fhhiu-EHVYhW<b)3xHP5#2<6ois zM{E~6%APYjJi?CmJP<ePoBhzW5Sbd8omd<3^9bO54J1DUAAb&SIRTs){d?aLtpmXy zDk6M1_#q4#QV_iM3;zWPlJI!~w~;Mi%#F~g!3&f5OssSRMwtl=_d`tDfpIVK!?><I zxS%iT0)Gy{m_~2VSBzkMdJZ;81;=IaSVW;<Fh)KSNu2Ol2Us$g7`=B1@Y|p8U=9z? zg}Wn3H8O?xfk|qT+TaSKGcY$X&XcW$h~JS61DoU`1xYr1GX|sDQ3E!`)m2C%u*nx_ z(?TBd5R!vW-0@P7BX}cUYL5H*AfIVRMv`tAr8&Njz`Bd#8VgB+W{!dlN5U_RPFo{( zbiu!4O+T3gPdkA)dxqy=_5YxwGx+^1?sPzIqXUB3|VWN0x8`kf2@FuELnfk6%C zsSSi0XDS^uW0i3l+7z=Vtem;)L<7W`Qf7}=1AGs}yM!C3I2k*t49C9<%@eMC%$^U8 zyOYn5q6o1O<GJhcK-6fUXesb>2z<8)Blp9|tAO7V_<1W{2M`zRhzM3_))$#oF~pMI zc-0~E5f8?|a+9FH7O+im@b+WyKwkcj*?=ksa_KiL6BsNHNhX8)reMZ8K*Sbk`h>a1 zLI`BajWG*i^cv7~JhXEV3^W?tG#RY70bX+u(j5R2j>E=Jz%ajHapTGlxb`o9g$(T* z;^Ip9g9Kmmgs;~DH<aLMs7><0vl>8eM(5ifRtvr)BOd1mqZp?m<~N`8G}vwwR=V3f z0q{OhdIN~tXYP`)2$HV`S_>n`cOh%Dkr-YKs49aT@D4PS3J>`N^c4p3YLE=GkNg;z zaT@e)?5i>re%=QB(*dI_!Dp9n{bgvH0ox8}AP^`m0Z+1!XxKl1{6O}*40_oMBwoe3 z&cZsgA>R&YA_;hSVD7eIM3_y`it$8y0_<$;RAHPlc?R+&W0u?Cgt_K<C0WS)qTz|g z(~&OB5>A?ta)`1zaF_!hcm;2JYj*ElgBPX1BYxsH1BEvb=U171Nyi{X60S-F!-&8E zgY@r^c?4j+jAxkVbs7I3_`lAL0wfFi2!sD;VrC1xFPQWovylh*A~W^_PHG~)mc#Fb z;IEYs&08X~7z$64$#2|O5B}8yzB-m{K=#rB*A*siK(B;((~#-5LjAS?{+9<DFHQa< zqflSGClgSwR7U1r0-jtO`c%x$Dg!^yu!h&r$tJK-XS3hGD7bntcz>xGw^u+<Uyv2v z1;b51rrivz9f`<M%j_d<jflPy?{5Kf6$5gbAv*PdKlTP<Qc+v)Gta#{$CAxmG(O_r zG-l<-Ip4-vkwz>&$*v&!8J$R#aBn1hw3K-oU^o}yxyE^j#%Y?NsCg7*+#WoJ-9xsV z01qmL+55qtjUNBPW;W9VSxCBh>fveR)Qb>XkFtZPF`qz^qVPN8RI^0${Hhb|GE-R$ zD~4P&H?raw_5xpdOvHzR<Bcc&%fibJ!n&7$`&EeX9T2k`!FT#2au$PhKOl*N<>kgX z>JdDS8C`!LF-CEWP#f`>F&$Al2&2qHPI??@G*0nd0KLutw=IU(Ers{=0}GBd&yNcL z7mhM}z@I_a({aUMZd7-D;en+Pb&bBhs%Gvs4}7--cb&k98xWm`LNa4Vj8OC3tGT#$ zl9?Bs!&pCo%~KfvII@>_U=2@j`)9~<8!_S*-dkxhiV?Y<!=H?2lt*J^qm%BGS!HYj z!i|nx;}oMfVCI^+Psbd*WAv>bfrp)gC!`{`ybDZyhCd~N9a53ox-d%|ux}xr#6Twp zKWqZl{vn^e1IaJq=lh6C@w^Z@0q!zR{rZe?USgKnU@N1$XBA|2@al*+fy53(*M(2G zld6bD0f<>O5pU)r+KfU5T@k*M%8fqoI8>w|sN%zk2mF}eoqXgqW?TxC8mCYm!uRVY zGZ<ZE4dD|Kve~7u@Kk6ck+%b5k0-;CiT{R2IZ$0SF`uH3fey|>-zV|f$c<fzW^khu z=@)c&7nW)O94-eFuQBa57*?r-%p||rAuz~1Gua3Kwm@!W)SB*`0*6I_6pk9as+mFe zGtV_M_Pa3lGch_Cj4IC9Yr@YwBW(|~vJMCxYIet_pdu`fu_~E+!6>YNd0OEo;P4&l zTpQxc33eC$m4Te{6};>VyTRTg+sus!c^mr92gdP6PX8L(J_}0>GfyD=07*7M7e<D* z0`X%$vXISY1gMI+Ct|k2z?soOw*jL^!v{)0zWruz(O6vLfxIf!>^;AZ9F{Soe|Q6s z^}iFK24jRC@Y&AD*tX;StEg~1P+z~sPcIQUvVfLgM7t#TKqxW?3Iwf$Ck%r$9Zaq@ zP@^HfIidS+h$o(89oX!V8JEg}6=#q~WCgi_N@_gnpn8Z!15m}41SbZOV?aY9Y<dHz zj0M(=U1-`sPgkKGiJyahrmz{TC%7R6Ux}!uA2Wd`v2wVo26Em_W{>hDtaKhc<q?p7 z0OJ^$o6#B30}<^2u>AqJvXKw?DGo?^3?KW+BgrpBkDu_U>lkITS;OwZiZ20g35f6v z2%3u(&V<)B!1$FBeU0-cjb7?P(06Y$%I?KoC$ReJ$SP96_4^>f35<FYsQ!s@LNIFr zZ;hOx0Pt$`L)Socuntx^4(%+%*o!g7Nz<CUAoF8behjc$0AE0$zXdFF37BYz>UIfg z<@@9sIY5?^spK8v#z16}cOc(Np!qEPzc)B+GFW0I;&2JntZm_!*%(WQe+L3nQ{c04 z(5?l!?^I+!rQknyvJy5+M>YBmSEfS;t#S28_+3ZTuodCCw}FWrK=Mmg(cB}Y8W^u1 zqR=F){1f8PJNTc0lvG&y3O+G<y&j<2*=wHey^9?O?=NRtk;mImPmD3o=#&u6UL$JM z0f!!izCHo-31EjuShsOzTL3&Z9P=90<wKxoDRP?E;KeoO36Mp&(cut}3M&THz-xHb z9`Jifc<@@-?j1ODJ^1`M80#JIzX8^qX)@?pXmkjqTL4WNJ1805Ym?wr&%kC|q4^$& zo~8I6#GCnSH~Wt2BORmWLN-(iE3Xe`uV?Nr)#CpvG2^`UgODs4KKl%L#T+x=+X=5L zi0h3gJivI4gWm(LjhzG1kp-p#4+pU3Xt2*KthG6;RULA@g1k?`&{u)dlaQy2c}8mm z^Q2({PiP9yjzCuU9n55$1aIW!NAa%<jCTf_KZv_CvGU7U^HM~WYgnDpe{EFAmyjL( zF)M^b=;4D|-7kUen_&&cxzNSTjyR(u{{q&r3I1<%8{PwF=RjWLFFeMM3=?6Gby)KP zV7(xD0b75@y9V!3u!(V!@@!-)7r7hqp?COcmAMzic<6N!Fjd*CT#a*Pd*S!$ux@{N ztkIG48Z$<L&pd%Q1}ssmWT$yvT{3S#I)f!HgENLBo|HwVln?b*1R_jJV4p(5#>l_= z;l3;|{AlC`9Wj$}ifS9^t}t*Ghm6MPP`ze$e~mX!AKwqOeS^>CL46g4`3fN`t4s<Y zHy(t1&FD7wMO<ovTA?C*YzSG5EN>p(wGe^aMosY#kunZmWpwWrBG18DE?yUruM=cE zN7j))<O=yjzQAXf!^>JAC!CLJt~N5jp=2pyWEt`dsJ@Dop9Z2QnO#(s!2)yOQCsjD z0y{iMR5tQX8@UU69f75%n|mm%g8WAJdKCEWA3V1NGSLReN<AP|C9EMIwBcj!@e)dm zzrcM1tLDL~G;nY_X5C|U#CA3J+^GKle_0u5zGLhz&=%6nf;?ToPd&|E($m1t9C+;_ z*lsXTG6=8ps1ioO+KV99X~^*xbL<78F99<@z_AI4&4l~~qn^artzngK$SKbtlQVj` zIpSO$_|O5c?HPE)5n#+X>3k>tJ&rs*0y--RO%DQ&j5GDhBDaVDuP#L8+8r5oQ>?ch z-k*ScI|Tf67>wBoUf$Sb`Ut#on1y>|1tqbT-sZletKs`uyee|<rpVqaAghUizvd?g zF~8BFM!=I^<UBY(8d<|Rd|iQUZ{xKKi1+2jdErM`74ZEe_;fY!wz20&6s|iD4m=Id zeu}!jGHfxFgkh{}(B^E|YA?8S1CTfl$lHhC=fO)#afbL&7CM}V*n1B?QWN6^V+}*_ z^9aP#)sQ<LV}FMaNT{!lnpWv+{=MiTw4NWH6b@S%RoWDIaREf4L0GA=Q`clO_lyAd z*F@Fd7oOtcLBM$qcf$G?F#bs3=^^a&0$*=|!AIsP-Q&&u8AgH$j6JBFtR*;P0a)xD z`+(Y@Bz~F)8UBO+9K`s>&N3x1b_hHq4fZ$Ian!62*W#+y80$JXX)jj1z|68rnESN# zHh1|bj=bt0Gycle2#9NKo(Q=FXir65RuWOFF6l^S!ebtyidv33syBS57rdt<s=sci z0$ag`$?)E<(CrWN|1?IT2Cq*>kgjAE@Q@GelML(30&=H;`&+_3M}W--u#gur4iCJ( z!n%*Zgx|ovL$G$^1nA+Aa~G~N_-K~Naw4u1Q61-pU00CDB$0e3*U3h*8}ige9-9li zQw5kT04@q94sdt^?6V2u^u$_2&7G?9BcH0y{ehsy;3lJIc{cdD2j*M`bnU?W8-TSx zSd9)QDg`F$OAca|F^JuvBo=EN2&No|J1Zgc=xFYPb%(_w#~aP^vk1HzvHEN$Vrwve zhgeY$GyY?d$U8GoYh4Aq=Y@9vvaaC5Ok{<%kX=m2oEx#ycd+R+<b1_=6kEsIv1{P* zm+U6<;P(($k0MW;fcV{=HDfdJ+Y!9i7CGcxvy0XkV<wQg4{SOap1TD)`-o8~xXJii zfIn=R7rgWjeCmdOjlcWv0q5Bf8@>2mHV)&C!uTVwj*+Mb+u`30c;`IJf!2D!T1kkR zzmPAvk@bjd7P1%UH2R2Jn0t{7g{DQa3TU?=LIi;&6YzUHJYW%6Ych~kgs(*Q_`%%C zE!C`ZeW8;~{8SCtYYkt!0Pm`YNKy-&Js5U2D*7PQFU7#mCos+*uzLekD)->&ACPC= zM(lQQcXA8a!XW6uID@;bxzlSipePMk+YbD{0h$&;=jm9v4S91J$TygrBq_u}lF1YD zo!mw4HXlq;87!9sX8MFHRmA86(BdAm@?U|>uPSV5<If>=C*=Bzp_6u)sUCc&I4q`` z=cY&Cw@HWtOEBta5<`BHxA2?2Bnr8mJ2?)F8NJs=cl$Khy#X>;6~4C(wf6>OWFE+E z0^pGgAh`|{o&(?f01`Q(TO4wLH{ioRyf#?4DB^5uczYqRv9bT+dieHXFu^H!8v}|< zAVay$JlIF-pbc0(W@iQ1aO8biEP+iyc321X;6QSRXpqxQ5QQ+It1v?-AiN_NkpK5Z zls8z)`1@o{#EpZnZXxsk{JKHQMs}MI)yrOUw~~E`A-kcIt5|y$n*lWZhbR&P{hi^x zV9Ci~fuqDO<PoCbMYqWzvY$)?6Ly2Xjb8M5sMtON5ypwr1<b#FcjLxBJH}uCjkCo| z1J6T%q70y^0lCU6L+(n*rO$z7qM;8CTV?PrnCC26kIbME;?P9Qc!gXgzep-9Yef2P zK)ysS!m>xq-3OjQM>XNWZBUVq1Akse{7C?s=3%8D;W+`Yb2XmMo-*SU^~#V+;FnP` z`oPl0{&@XiowvLZ#x4&&3<Ro-9n&s>dCQ>QiZgfidWaZq?B!wnKV}#|$>y?}u*5L7 zgdJnK;N``^#s$DkLy^aAG*3-`i2NY{{8<BadOyU*_P~D~FwX>3*c6elD9KH%sMbs4 z-DKF|B4Tu7{+p$-C$K|Dc<dzB6|ZW@m)9d-9uCVGr*_{&#ubZNC<wk=707uFZ(atr z*bYSfhRo}r?^D2d2>*&~AcZ+m3EPq77U#xaW^SANw`8!3czpvSDe&RXcoo1H#;&33 zAo(z45bdzuHHf=)$y!vGb%-D0f*UH+H1L{{)oWnEQ|uD^0eR=6cAU!=f^7!jos;Yj zGj^afPOf)>5sbfRDBy`4R+|4pZ5au~1@UNP5p99;k=)ov^*Cyg+_2pRGv_~r=rA5q zOf=u^4PG|>&%z5fzQV>~wQ<zgAF>#b^PGL5JJ<=n3}|nS>};sH_vun@#p>6v3Tz>r zNUgj%5VIHSh=Y%=h955Hv8)dZW7ELvb%B`~V3Sn7kp|I5$eyl}apD589ov*6I7Qjd z=YjVr_Bf?xN@2B~o95fetG>O8+*t3N6`XcDs{|?F*4V9|>`N=Cixhu#x*jU_kot>} z@@sjpZWkt}IkT7f+zQ?ucvf-!9ugNscKLh?kMJ!eFXCTaxzgIC`DLXGUA<p;uD1E| z`8nq^|I3t}EiF4duXxqA)ze3&XJz&g0=-Z9csRB>p4zMUm9aJXm->~bE%iN^yIjO3 z%Y1#j^S`u%2{qE2@^S&S!#jE|bB#!!krv`Asm~!t+-`ft*ebBu&Q{rqbEwtj)7blY zcE|XR(x$+-LAA5V7w4Y|*6k6W^M?C0<bJM0>75dfq?Xnf`e>od|Dfob`d|E`)Y<xR zo9O%7^MOs*g0o*`FLy?WGyIDOHWAyz*s~;`Hxcf(=f59)T9Gp&SGR)cxvEPZ`t*#* zgl-9!oaH_4gqIDTY4OT>^RL0*(mCtodjUfOf-Pm8iD^=1Bi$|@az7h%)z>YJeJ<o! z8<MZc53$piyiwDY<Xn#mED4Y;i`bFOrm?oTGOoG)Me?-^+9c4Fyzwjkoz5<7>k!&0 zq=ThT=DDOT84@dP3GgTp*vfBC=833~%mX1uN*;B;@p;6HpJ_Wn=a*=mJIvNY)lyc) z3bFefg#)V;{uuFI*#A%bRXH)A-qrm}xOZp^+pvsgad}gQuumTU{AB+WpJQakw^qMh z9vzB)$$u@a&hxcjyV+J2nN*^%|1R}oT2B1Q*m7BgZ1wYm=kMjYJ^lNyqcQWcHQU?} zB`lZc4o8`|G70Uqr5=NQcY4nBuI8Q=*Yb0wF6SFm%2yz-tgkAlPYeDj_a#>qEj4Y% zzr>ixv|UokJUfeK`1a3GzqS9vvYWWo4tWvY-&4(b5K}h3k~-a!28Mf`am#Y+ow()W z66e&sZOhO1+We-)gS2FtJGpY_0-ec~wEBNnMwdu@PNRZr7oQP&TjAgLey*N+(K0bO zB66{Ru(~X^<sY}qA8tcJuljGdm9{uiOMI-75ghTZ;{II2K25#W|9eDmdNpU6c-wzz zHDld=fBhTfy6iu*c+&!7g@(WLzN-?~P{;_mT3}9SHk%YZ^6RH0$v!V!3R~$`S<I7j z<|B<=5$Gu2wb;<afa}pOR@(wA?XHn8*eB~jtn2&V=&6oG-&VyN7B6JK6+QW_+xLs= z$y~lghUH!)w2XQ9iTvv?Z4GN1am2HWthi=<TJhtb=dg0lvS)L8-Hf~6Td!O0cpZD> zo9x|x+`k?CJuD~F`&F?brNX>M$Jt-^jS6%24htw=ui#awf6Sn$j2Kynj3}3<oA)=# zN9p(R#J5b(h2?vfFYlanz1-bYHLOgjdc*Tf%AOp3>ie?a$Ff^^{VF=W>^`4=u~E-! ze{@p<!z@Lo7aVCF75(c&v6y2*-^fF`H+XfmRph@u?EG-s`mW-sS~979#d+~zhEnEL zv-?H1<~;cp5S8cWgseSYEsNGIbHcZ3?9!)q-!{$JmMg5ppn@OeH8JV$Pe$h!PKW)M zr-V;_%UZqu#}!eh>{BZouRe>dzf$PxqpT5S$}}5YWRz>&ulgV7ejA?I%=c=^>t&;S ztH)h>cJlp+>>9zdigzfwz^y~{=+|9-?h<O`&XsSUSC-s@7WfqTsg>NW%-LGItaEP_ zzH%Y8Sc%YPZA#2mXaCw6b@@m4OdqcyMXr_E7jiJE=JTg-YGn)v7E0|Y8tUFP_T<~B zZ$GqM;r|t=>K7)D*Drtaj`|{RFZr?BLfgGNMKAYB{#vYIvoa-@xw`(G_NgS+Si-A! z;l#2^h)3e#XBXc#$Qm2`qeQPF13fnX+yCzUw~yMMu)>881ceE=g>x~5U*B;JDiTmX zJ0kU!@2RBEiIMhJ0kyhIXMXhioagt$)W34Q+<(eWD9|To+pDOj*AgEFA1)nPtfpsZ zLh$?3KQ?N5SieGd{c6)$bnf3RpXRa^1*cUz?-%@Z#l^<4zYAx!N-8_cIpTBj``Yop zn8h!kK(4~EKHdNAe-`y&Am3XcvDEn7%hj{ro4qUZx3ssd*o1sj#jo)rU6X`%@s%Al zgRJES7W(h^s&jc>1pAb4nXl<WTcwZBpS6wNC;bg571lcPgtu3g*C)64w;ZAQ7MF3$ zvq~@eGdQZ;zoqsO1#{=WVp*3kIQ@maWL8?*XM0ZmgyLs&GOq8r(~bVB9p7qxQ0{MI zo@zfzims3eA*X`hdz^5r`4bz}GA%fCX{pFOXLa|VN27cbbFAlb=gq^cjgsH~eQqyh zxs`U9U-K_nY`0JUH(uBN{>drSx5M7@dDGOVA#XBr>IMG}IThsN-JT{SIHRUVKXq$c zY+|w1o@3)l)S%xM+A(}@ft$XToI$ah=~S<lnNQVzUd;>Mi^%`G<F)j6YLMFIXuWCl z!OOPKo20)9Y!P`gxS7{(S|P>%$JE%NmVyQM79ZyqpKv9r@y|2rwXnYVJ^kKfzl#2q zlP_?%-aPxEm@BMh;q0u(_l7?CA{1+w*}~oXdepJU$+2I&e@6@m@$ja+P9}+N|MR69 z8Ckf*>9ByTd7u7%Zj*7?|3iU}VPUjTeAlErUR^Ck(vGmYLETC;vh;X-`0BXiz)E80 zJcVxmcHOHNwcAo5PhfZxpSQxvoMQj#{3@5;H!xSp*nAI}|F<#k1|$S}1r*Mo&zmg! z`!~9s<(*&etY)r}9_<S^4C(l})8)*lWf3(y1k`ww-TrCvvmM#{LjFdq4xDYBr7TX` z@XH#1(R#38(_#^xuVVYY3;wZGsGh%Rk;UFpir0@PIV=3ivKy{fmKhP>^NddXedG4y zOV&fpd5ab9k?-{Tv;Y3^-;n2W$YJ+4^i)Q2baZqzS}V_sGDUN(O%3}P`l*`hcv!2V z{X^S17W^KSX7gDqzRam6&In5?vflCF_L^HsO1}mP?Jox(_+0&dt6yh4;=^kP&-ePk z_h-4sT>3rEwIS?dspQb&*>|Jpr(xNJgIgCF82Vf}5ZyF&kym-KxU-7%JiJ<wZrP5T zcW*V;E;b5pe>!mRr=j=y|H|!AHzF?ARPUu^an{@4&R^YK10&y;t{eI)W68UhQ6zhD zX#FBjf;}9Af89*4=yO$g?ffc^j@VS-dD_ccOYe^$9~*CLQPj89Cwl)_>^RSp;k!dV zx>ul?8M}U0_)|m46RDSQ1>H!!_P)rMsjd%U%?teWTbVH_dZ)6+>z6XlwZyirfM@Q( z(T%RAJT2;dz4fMg7o<6FMn4*pw!?c$$bjI2?j!Z)sq=pp`rANs<eyq(j@RP^w~sS_ z^kJvMJLOOJERwePUl(Dp9Fz4_Z|5_s*fXC-A8%dD^>s%6<L%0oFY5gKqTic!F6x&O z;_aUx&r~WU-}vK73Us?(Fg14{DI-Sz@-!*aUN-!7a3Wohv_C7}eowoRwOnWw)}inc z*Y8K4?>5W1S*=mC+d=t$e}48SI@10zu%KU2_XM8ikP`33zR%JF3KeV;Qq?)@+xcH- zl(&IXBHcazWXw(M$XdAVcf3%WyXPq|CTPgdBDXJon4GI{t2|Y^X|b=~z3$^&8K{R) zuie5rrE~hqgoxCA(!Sg~a$mJ+afLpQNV@AeHg|Z4o3{7g%FKHnYlQHe=VIrOnFYr= zFFk5-|7p(Xnw^_Z4q5ZN`{P=F=G&@<><X@Azpi>`uKyRF)YG-yzkdD&fmd^KzP0^c zQ~ebBK99xoPD+)(q3oO21XmSxvRhdGTDekwX50#YH!5gptEJT+umNw}UYy9><hLty zWxz!#-1#|qNnB`ZdF#QvEAl4V?#7M#+~VI{_sRK6M0{oM;#(tvkCWHroRlkt#1*=t zcX-t2&gS&gs;tfQ+#6y}KC*u0;**eTp-p@a=(AGOWB&YYss@Er$v-9_Dtp_v&EFs8 z<O@EUf3IJB#(&Yzv!A=EYI&OKxguYyTuXjUzd7Q~E5D&Fd)1mH6??zwS*=u?_q@;v zx$N#sm5K?Qe+^EqWLs09N5OY)E&i2=s{N<9WpBRS1;5#%<7dXDvI|0K?TCFrC@)xz zj(9rxPMOr1mFu@{U7%7zfyc8x{oucYmV|o;TBZD%W&f0jj(7D8Iahdn$TvsikE>sg zXMPSiQa}vZ<?I??BYUAhb4K!-{)-CPgAe?ec_ZJOAO5vkKC0c!S~N;~nwikS-8Xb- zSbnbxdXdEUKh(rcwkG-i=C``f{I~z><Jf-Ej|i4~x2<G)!?gPJPR^^G(q798R4KeK zbISd{_pZ9O*8JAwM(FSO-mmumno8UG`iFfDT4ODc`Rmu0=m0HW__D%p0v~4Y`@ZpK z7w7%J^t@~RLmdB7o+=%*q3NkYnb6TC?zmNcGvro{->yQro6jwATgmmw`_qcdt=0uW zOF}F8`07XFvVVL|OYmM(Sk4nAZip%T^=jf6_bYjBM)(N>Qrl&oWqY$bxoY}tEM&>u zEq3{>6|a0edNt@->xjGhXZ8Daf1_ElSC^32fhXi$DHXqG#@-g&<=<H7ve)(GreCA} ztfdEXt;y@>&9m>M{#LH3!!yU&nno@zvVzolR_Wf#ln<pdnuO(Bo*op{_D4-;A6r1c z!{CKpW0XyQPJbVfWeG_wIxn=o_WRe+??cizdzH;SHdk3bFnv!}DXn?NByDcs+9Jsz zKYld1mHYia|J_YyR@-a2_QU5x>tv1e^IjYBBk;N<DXGMl$Fa{W-wX9EG}t{d;n`<v zoGAH*Rn7C(JuqijdWIu+&iO3Gvupla1?uIzdl>pC#L=$OyGC~-hNX0UzwYNW=Vg0r z5DC@2w>gjfDE}>APWjOA5_&FoSN!*7-v;Mo`d!NNJ;<te&fJoH*wr|_1vwest!NQ% zzbO4qvtKjAKQ$;`cA+r%=a|oxQtpsxzWG9;0(uFL{#m{Z`ghdsUg$@@LYAob4PQ$n z?6+JEITLovGTX5)=c8+TM(xa6K5m8T<Vi@XdjH{zo8)rk12ujHWF^=8k``0IsoSRn zbq^`$UO)TGPuri#`i{`eg}?e)azg$*iaww%_H7q7!Y5q2;ymQ?aPCM=lNRR=EF2=f zd)4CM%aq1NX4Gzww~=%I??KUNnTdRZr%zCjZx>eK-=ZG_Gmd&L%|9aS7p)e5@mKYX zcWxhoUIqMO6<n{KQx*602g;a`y@kg6z4~_Y?!ND(gZ*otEnQHIi0k)rR9X~W<`x-{ z=HFOupMLn~#KZvkZp4>7jcv<PC;vI0lqyrd=%69;NX1X>u0C<>$tdXU%vUIKS$g85 z4R0z-7b;e*UfB0qO6wmD5{l?;tQ~!a`PZ<OafZeWjqRaj2Q<n*!#B%OGWK?CJ8hZw zvf#&Fca#IlBWFu(Tt)}+U&O?GjVuM<dpx<B5|aOCji-70yCP$TMxSxskzzb`KYx$L zv`$L;pK@8m&5~zVXkMXG(zfVN8FlSl1Ih;8<XaS?bW%n*S~xO-isi2y_&B!uqt)NP z`aG#j%IvakO6>P5F|{Ha?sm>^n(u9?UDolKh{WOIsL)4w=eg&kuZnJ-I7{g1KQ=hj zV~(r4I?H)SDUiL`t#H1~h)7q>7j<7gR0fwgR5d%-@2vN~I>yykYFL~;JN@3ctybnH z?24Z4w0rN(dp+>F%Km!BK5^9aY!aB|@2wwJ{yBFj8IC07ZLTVL+&zo_towL%%-f*V zl{OX&6@L8Xzm8{ACPO@i`gHZaA*5wikFB13TDllMHunN+(-c>9*_3UT|NL_WwX*DX zv{y16wY7w7f3LH--9l<*wtBw&eVibaj;i$5uWs7gAGiKh(}vhL`IPrLWF73hAOGNQ znzF&)EpMDpHK$M9r@#Buuim?Yj(R_F6>;s%sjT02#;|Uo_rgMKXTNIC{w7@w-Bjss z-YR;*xM{K99Bri)o?hMy-4#|U<6QjW%u2QsVS9sRF<(mh-;m5cw%@+f{GO2F&TmRF zWe9zo^UkAc#M{7O*(F|o{v0Ew6{}Kai&tP;?dYJCCbX?R)^oS#TB(||VM4RS&2+Wj z^sqMW^K$Ho*OFUMf6oCvtvy9$nsUu?R@Iar`pw{Hxh7bD{0e_nC8=MacbVMzhqAN( zKE{s8dMO@pZ|B{}eI@;xelGTD<|oUm5IN`vzn$7E{!4mm`HOc;|0Z%*=XIs9V-@pu zRrcHvw%0dTj`nuN*Hb*J!0S@weamLPj%}J`)5B~BJ^pxfm(Dp8622u|ragTIhd#G2 z%Q>1bC;6D>=6>AE%k!}^OWW)??kuC6(E@T6&ehu1Almt=c;XXZw~|!~945^Z6Jkna zv>*-L-g~w4*v6)1yp4OD`NFy&BsD0ITu7UqAZA^%q<A&)eI=#3ZfTpcW9UiORkz7u z)Th6yMpgf|MOzh~T>N;z5~WhoqJ*igkx~_}K)<Qh@rsb>ndn2uc)SmZ@wlgTNV}fw zr~2DQd9U{xLO<$XvirNXYd^JqLAwJtxaCV!-q%gYWA9vWOx{`2s?6^HPNtPmi^)g5 z1HA^4L7B?m-&u2|@qS1AH;GeoswZ#D*hbE~ZSu~rhR`sbWYy9mluPdOaxM0$s%zi2 z{FvaH7V@z0$$-83;FNEP=W?2GACInnz1$iqXA?&yOr>W%w*=SqXrw+!U7I>bU2ZGv zdCW6bc)+SUUgX@+Q<)t2%m1zYztn@@{1bN}U*C|YoBLeXkmOdW6<mL$u0EH2T1(%u zz9v-3d?Y3NObYlRQAdlkqS=K>Tl-Cq0DE`doma}7<_Mz$+%JaJ_6S%1MpujrVz>NO zhkx+3u)R4YQdj2q@|tcBeG_acO77HcDerha_s71A?W0theKB*9R#VPpFXo;ldNV~C zl<mU{(sS;m{jS<qXw75J{tMMKznzhJe2?+%SyxidIh*i0p5uLr%6*-Y$&L(J`0JkI zx5Zjm+nsqOqYZmyY3hE<{)n}rbDW=*>%0})>DAnGldV$rpO|ea3cnpxBXpm89esXU zyR=ryQ}L&FxW{<*IJ0HS3s(`@$7`-vTaxPRmEn`qnN+jJdu+0vVq4YJtYqpYxXIhR z8rgb_O6tS-Qd#FM-npcp1WQGioKhfr8nxMPdM%Qts7unvX1-u8Z27&r+RIQ+hb3!+ znooLf=WfAbdD_lVLmexI2t(brxW(J+()&rxlIOTqdjHJz+vl*5EAvPCKxaSUz2{^1 zPU4=NgtX7j<-#(LexCcK>*|@TnK>KTH~EVDe%lMdPm9P|OGl9f)&m~Fwqjzjj72F= zvR;UP{ImUf+Rv)RGA3m&QO{b-d;BNYQsdH3Wrwq?)}tO}EKg`-N4XrU_L;n}ZnI66 z=FvFkLanlJlYFyYv=VEURzIy}`grw+N1Xq3k6+|w&XLT5&WR+@ZGycSKb2iJ(@kwI z-F8!LJ;*pEIlH-QD{C(|u$8gcSbO!e>l2$yHc3Bhmn=>;F1u#>1lLsA!)KV+N11AK zvI^wHYIUr~-Cl}Gt{a(k9Ub@pYdg2P(gUrMGuhdhI)svz>DJHWy<S}Lqjuq%P}z3Y za#p<NdY-w)QI|J$d*T^m^AOv)x;QQ>F=CQ^o#i$C;_!2R(j%nyZcA;Ag={t3Sz4RK zTgiLugDe~PByGG>Uict%v<2E;NiF%doQDp7y}IR)SG;>IYfHU_Q&1|f+t!ZOFfmYT z?(kKENJncuyPsH{4OhIiV0KiHEi){S`5g8|d&I^I5v083zSL11t9{66t)lX>U2>~n zy(hNQt|00T6_#5c%i+A2tF_aYt(1=1cF3iPrY%>B>DBmqDb$)M{ox(-=GsJ(U$`y5 zk%FZ+yqi+Z^-e1*<#D@VUm|<Z0QHwrj)lsPEtkb`y^gY6?MCLvg{*m{ro66JRI^e^ zI4Vt&IXTWt>y2m-(Fu{~3JrxEI$sUen&=P3F4jovVyP`HrFp79*(xbQ{zszJW=b1< zm{86#Sk4g6(mPsV{U{qJ#>lCXleFcJv^RW<;FPk&B(Cv~x|QzN3-TLMb;}})lT4<M zwSD>kp_Ak*MzW1+thSW55v_7{(aGKDIK3x5NY;rZq%y)|zJ=@TFDWUM6q89O(vO^C zA82)2g!L64$@}E3WU#(V>rOwCykbKVP4j9O^%PcIcqMuWcezG8QXlq~Hx#_2?!qN< zo8{x~B!^cNzLPQHbwb!4y`w&tERlZ5Wu++IiTY3*|3jXUa(toQK-cJVzFz1e3?QA@ z2wK7DkR^XfVc{`ZNuKeId>2n4RfRLce4zuc$S&yXnMity4so9tO5$ldTANQbo}FRG zXcI>GMsk=`CI|UG_LE*`9%K|LE@Y9`LPb8BeP?s{UUHa^A}Qo7KS}fGC3#b!toT%T zO=9>_){`Z$(fkQ-$%e8$EQjAB<H<d8ihp4jSV8`pbP^^DqR<2*c=4j-9S<Ol$Xv02 zoQs^%3u`->Dm|5oN=d8&drSwh2PB7F6P~d_^c8K!i$WV7LOWiYwx$lYPgp2477CFh zp2-r~GCq==1sWO%Dw)VS(F4>fe3Ja7Y!V2~PGB>+8;RxRNIUk4wqaZOZ}NyVCEM8y z8byP7L7}!VkGy4_X<3%Z#*mhzE-6byp}SC)6lVR|I8sCmg&pefJnSl+#*F6xUCf^q zV{2JCK7)q<Nh_Iyifj-sB8(6YlDS~xw(KXn#H$I{$qdq!e`i}T_FBlvNC8rTOS}g+ zo)vn?UEIlU8UI^Fc9P8`g9nl&yb(Xe=aAuoo3MkFBH#H+{+nMWi($dh!fBG9+~%{m zll&5b#YobC-DdUqBQlt@B1`#fK8=s$^~gWcQ<y}IGeApnKOm*7P(`Rk&hYAd0xwCN zWQ|Zw7=_tAFl%QaQ&=t%u`Joly@8aILVn>m8A+~_YUCC^^}vc&^3i-PFAs~nBc(|# z?glH5Aw|eSzW4wCZ@URGPK_D?<W&+jkR8O66eSd1wU#_4QNTbyzMAL8byY|&tg;{X z<xRNJ>C%vV<z@I|R+~|vYXHXF$nUd*>;m5bysRWc`AHVf{^JS!8)rNpxnp)Ewj)`> z3t=Ov&fD@xGL;M@X~Yk58hbG};~AWgx8`2aSGc>eCpWPQSIBGV*?6+35-CH<<Br_K z3#jc#u8|9*51GI_oBeg+BroxY1^46U_2!8wCwL9aTHHM4@&VU*9}-56@@~8n@6YG) zGx(aw2lG07DvtyjuJDVz3pdVcv+)jie*ygOE+58o*c|qZx$#ka3NOiLvq{X)>;Ngn zFR>kLKAXtKu){3G+|7L(lXwW<%zN|N`~|ztqF6;>;2|U$!>jTXRtBqFXFj+39!O{c z&HjZwhVaH1*?7umKfeiGM`7lw$XX`z_xw5^ikYsnRctVehBuyJCopScR+BwuUVH^u zBAEw~SCF$BFOLz8)z;&E_zpgtH^rL1!jilBIcT;r=IqOBKr<z|KSrI8v9Iy1d<2)x z=ir<1WBfSeImS=&HQYEUxe`V+{-^yXd%<3_B6w$|c}Bxkp3bd6Ni;BYh_B;Ep{L?x zBDq595hs7aGkHT|oPp+o)w6gK{{rg;5+8DtH-L1BtOBIoz#o_$Rw?EV?nn7~c#`pi zNqasJ8Z@3aOoM++W4+l__K<yKjj^UWkS3ieECrlo<39LVV=dq{K|DV%VV=U&(>#65 zIEm~FKL8CB<#n;La`0M$@2m0N8@`mk#yTd$BF4Fv3FetkW1s;~UXQncevA_)jgyuZ z;_COj7;!hB{VNAQnM~S|T14S8`3c`of(};Ulg7Z}J^qyYlP;tK@q-t<FrO=`ND}#B z^O^sN&}tNX%;;D=1o<ApDi`4uXMpnsd=h>#p7cM!U&3BL@To6Z3eQ{&KJx+UTa!U# zG&Jkr#`BBU%r3vZxc4zo@`%61*e;%z+{O17V1ef361h)agP%q67jm88i@^XP+&E9E z16KMReqfv@U7st!aW2@nAvZGQUeLiojJp%qtqk<G<a6-5(RF(kI5PfU`wnon8p!bH zVP-$$S$+gI+y(iE0AFWdOFzVx{ur@1Fw+8fYR~8L=D6c5kQRZpv;rE8lLm^BNb(z! z?=zoD?E$>~F?(L~@g!!)?7hts;EdB_%0quw;7>oz(*o8)Yevu7A6@}WwBJ0ZA%};N z7UVIm>Hxb+V82~>4J8S%v+=~8aYpJzg8_LoywMJ(D9@{4>@;Tdqs)ax`oh;5@Z6A- zA|kXT8sutc_Tcn`cP!+KcrD0iJVzM|Tt&hLiNJGba+-W6V}S?b>8O*C;|agd2XPM| z?GyZb0d)7*>_q8qc1XSE7qF_a7;^$}o`=+gw|oIpUjtGm0AaaFJkYQc>$nMg%^(}G ziji1ZGyI!QD472i*^0d2KXMn$KMYKE3AxKU`1T&K(GTEa3ef)_ehPx!H<~A@)Q4Be z!0a$m131#m-o9AVGZvfO4~v11IBp^5arZO$p9iT9cI`@vktgO^yf-n!59nncbYygU z8BbdNhKz+_<6_`gqj%Z|mbimatCEgn65?-7c)AU~ufs}bz!=6Eeuj_kz`Y*CiaZdR z2>-x8W4^`U)ZzHFJFdG4CXf&ztKhYioFvo9CQ=^}Hxo8#LxzxP(8MtOGzy=rCnv}h zGLBdf=gN_`h`wD(31alnAA;7yNgk|OA|cR&5yy;k3sqp==yMwd53NQ7@)@X+NH~7V z2Wbls8TyGul=8)##z}D+?DYb6ErXxS<L)H$Ov)&(BEIkA%V5#Pz<|cRND9A%_x78+ zCLG86m4IRk59c+ZzfM@|Fd*V5c*=Ojb0_@O=;u#_x634zUp6}jjIPHEK+t($W)O67 z06rDV9ngmYi=79rmFFBWDS*eYboPT4K#U5;ENS5X6jsy3YAqhYoy<51+`w%Q;A|Rn z`~-2|ofO6j0--B^ME1|XN^{`9HaE^cEX6yTUAH65?!e2yFCj*c=4nWB4L-9Eo;U!b z8~wVu;G1jMST>q1V~f~4#GsSxIpWb*_6dAG05b1`k8Z@(J>gAN%>J5*yex0U{mdu9 zjI-^Q1Fdh(bL#StVDb^)KO#T6!qc$&yYRKHV2%Lj%Q(-g1FOzLSu61WUbC;fImTTG zeThKCH~x=*hi;5>4D(|S&f?&4B{0h(eD>L7qb=sCIa?vaG~8JOn%$1;&zl{JQxSbO zfP-(qcUr?sN`UbxBHUWG50P~%JI{Pf_H!eg8&8}52g|NThG0CO*#p{|Z*~}8ge~)s zszBv6l0|-zpJW|bMEU}wO%MeO;p;i#*;8B<3Y6?YgqaLkw&UL3V9sgavp^tZAXumi zJZcI&YC6x0c-0wktPfbZFMgU2jZFs^PQpl@z;#*DgUlskfZBpUZB=A+kFlCAxVsfr zKNO?&F*^zC<F4u8;ylQ*?||uyJu!;GHto28Xn&9GXQ$aKHig||8LYo~!XU~rc*a{G z?*?yztg0e0cy$B#W-2^vE}0MC$%U*hob-n0>Bx4EgMU}UOE$yj-ox8h1IxzVJZ{7| zKlL7vb_%|6A1IE&s3U+?on2wS*)`@3L~Vq3y)e7Ta)GPQVg*kzj?uyP4nDgL_G<_0 z8i@Ri5sJaT3xl0%z+-)p?Hq$fE+LZM!K`D<ZrN2>#RQD=4SZ(7Is{x9jaYu3wPsy` z+1KzL<E)aCn5QUsYPtD*bw^SGu_zKTJb)B3pSm<ULGmKE?L|gF*JTh7%7YI%B#Xy< zTfk#4c~3GE%)Ja;(ib{v1McnyYjgz{W+4I-@&F#)03JF5@~fy`CW5gQpkx3dU`tY* zWP_uum}59%$T~#pvxwQN!D|D+@N1B%hY2<z9SpaP%pym?eUYRj*zXH*k&1!>oGnB~ zP#4lRf@L-$GcQeylP*KZ8?1k}c>?n>UIg#fgLHckKY9TzbrEA4!lp@P7oPwNJ~8`% zjsDoqqz>l2iwH9e@)@T}wL^vD#OJRO!+yYie$Y-6T=^ULJ&3Q}u+0MG3>|?h3u+24 z{4^Yvm<`_81J8VGo;%nLQDYuB&p3@xMmD4)AM6QP!jQj*fdMLFRV|>ymssgpa*@13 zz4IFRj?t<303KQo%&`notcNGK;N!W?r>L`$Yr7*SF;0?v%K~^IVB8Z?w*&G+BV(<O zd}J-~u?}dA1j`y{i`T-cMxk=70XgzQBVEZHWOHZ8L44mwj*_>SHxu6<;`hyvt|6ps z4Goq?Btsbw#?CO$wJ(79I1bpE1{+L;mlOiC1_GfOV3SwSQUtQJ9By<~S`bgpn`a3v z2J>x!$8Q4mesH57VjbB_-jEtXDM1#Vk+oR;KI8zMV3%@0xe-<V@cfX}4@?|oo+sBH z?|2adTi>Dg>E=m8o6Ix(jGm}v@TAL#DGA`cMX*f`Xu{~TDhz(94)$1Qo@ZoqoOT0O z^n-Tp@Y0C!M(^MSv*T_%<aBW3OuD16-Ac2wz=arD0x}hcRMD`U(E+s^BN^u<T?Dsw z#moaR=5qY|zbxc4;@}dj^e!;+5cWF*iTq(<32V6r?fC##tq{9cf<wwdv+20<H6q@8 z^Zc|MSiwv9O9{lFFBtD2aHN>gaK722IRm`b0C+Q=-d<_;({w^?EDc`m0Ir;cbxpx| zzpx(T)XG!fj5e@PO<2AU>~$D^G?Vm$haQ4=)PXnOg4AQcA1@&*hlPWXeHf?U8hfjp zHM>8I9a!dKb-~;lk<}aA`HCGye0acCAV%C~f7v-yMpxK-mI_|WMhyC2?_V2ma$nT9 z1-a3OYDL8y0%p$-q{@ilaqKfoMx?opsOE!D`oedTSbm_mJns9?Jau(0;?G3bwU>D= z@<SGbC~JI|cm|Wrr-372fklW4UtzgDKv);t+XS)mFDr~1>%G}I;Kz+;<#Ui1B%)^W z!F|cBI@j4Zc9-2k9r+Vu{$uXQ=bIo48;q#k5Sg(NOWT?qFtZ{3aJ)an?7Hm*eb2(I zo5A+6(DNnpJomY<K?A)01Ga7fH=lVfaOel~9Nk2-4%!Ocj|PUb;R*X-wV&Y9{6LmB zSk-vqzY+YrG3HqhcK(Izz~6lG*f=Y(0I<^>9Jmi7WFy83!XskrXy!+ro7toB1a&&E z16)->wG#@@Dun7R4&x*O1^eL}`ylZev%++uTKj|R?}E*|$qBO$>lcu}0y_KyIaRR5 zYt$*nfUi{47t=6SZuoW>Nkc??3N1fGY!eW3-NB48xOXS+9SLl%0h1ahAD@6WHk-RI z48*L9fJ-Cy*o>8x0S=0peePq;^I2zMy~WLQrn^HQhUS_e9u9+sji=@(n>{#7!Qgf< z%OdkM+R?yLe|SJc)G2S-ceWEKNMOd9hYi88ErH~G`~y2~o@nibQJ(VFh$bDtCQHl? z7$dU&!s`8?y9tOm+rj&((2BA1#3pFWI4wC9d^HwY4Fr~&z~Z~jzT|E2^R_@oDWGu! zvabS&Dy5+9^U&Wnv+i+6R^ka=<v`mHfRD2n_an6U8*9~hB}A`7m}4x)m}Kr3Vw~l- z-s}eP!@8QFj_&~EH8#7SzX7Fpkt@fs;qdIXxY~H%*iUY;+3))qma2h_p*E@|7nsI4 zOYs?SV07Uc`_UNt(p*O7{GCUeC!QK7Y0g1>YQb$h3tngR$}KU@HiPAd!lyqo5mHz& zXDoY%`nUkl{2#_O{yI<_HnTwD!se*AfS8iNq6>C$0VxS!(fz=?5t$E|r>z%+mTzF~ z?=Zs)d{P34FOST^$a7}_S!=n`)3F9xJqGWp1>3KH{NBhYjT22hkkt#Q8wOzA>ww@V z=81Bjp}}l0#DBo;472-nI%KN}{xbGtG5Sx7VYd3nwtC~9C{qK*>A%J)o<{H1KC=?M z%WIO|<}MS9G16t&dnx%uZj(S^8lu@9Zk*umfXC*BC7Yvm&IgP?g$>)nGrchSD6nBK z_-rwFSUm1F_TK7e_FY^xyRjeP_p4a>ALPR}QWV)rPiVwWD#KUH<DHu1HLrpC>=W{# z40G=f7x1|nel!b~H1-&q2~Vj2jQIg0oxvPian((%Xcqin99~O-dv|_?`SU%@*nep| ztbPsXS!MRQ8GZJJFw-#bKs!k9jZt^ty)E465EPLOmPItLkKE=rY+nIde#)Xyy%>8} z8Gq?30M9kf8q5tp-p3xXrfdcq!lGFt{Js@mM(<5ibFZfDh?(hNKRasKzla!D%sgj- zdD8j_e3H%UfxSAJJJvKdE6ei8hJ%UG>&f6Td7$4(s9++&Z&k?)cvlP9qyR4oNk*Dg z+%@=NVT@hE+`+`yhv+-}*65wM1YCRt%MXUGzrZ^mV7BInm3iUct&vY!kbMk8Ciey? zSPpzP1xf@+?uPXi$9JQDw<pjw9RC^}!M{;OQDhYoG}8q<mmj%)Q?i>JBX>}N4?;Cy zoSiz4M-bz5cDtFGNQm2hK*&&JoyCwFY=M>+VfF11-TaYrG=(=;1Y;Q<y$!j01lXc2 z@~Zz3dAH-MI<o4T;H5gqo>q|AWHB<acF2?{*0}?Bd^c;i`;eXi0h0N5H)DS!H%QnT z+MEh(8T;Jahey7E27W`6vw(q3@T-<!iu&-^Sk@YzRUEuspDe)Wp{QAElm3YQAIKK+ z0-4uBViUfR&&WdNz>XD=6aN5T7<IU@55h1oLwECB_j+bd83BICgEck<BP>N;aSuG% z4fR$%#PtC1(^Tlu7qSHbeRm+&P5AzHM70Cp2M0z>hn(}lcAMbAtIQs>v(Upfaurp< zF0e**5(TR_gRky|Rm++A;R@vSOAz;dAm6HpYAKDC1p0o$Gah2L2gtQJbWns;0=^{F zgRKy+&SQNlM%|5iqXyY)cHDcy2T$Xjd&pT2z-9#8<xY$pFpOT}D?oA<@+1mfXX9mq zb!H<kK94;74|xJKHG+POJvsJb1*;H2ERe1Oq&@{b&d0cO5PSau+hM37{2<GB_{0q0 z)7Uwx9Z<UpmW)6RauMTs3U|pN@J&7B_uIf@JHR8?5m8$J5#Go$3lQTk)oZ{jBf+_O z@n!7wl82`w-Wg|ECxNT$BYG}`ZSw;c6;TJiGyi6`01VL>>{i^|D<usvA{gtfj;y&F zB&&rSq$xCX6`#!lCrrXU7a)OgKIt!Wr;@73NGp=}uv#~8fCVqk%JHA9gc((?Vol|s z3uC{-xv))lV6i0ReGYs_n<q4H#J}$m34`JJy-XG=kFVC4c_6NB2p!45U{Od@5;;!^ z`2Tw_vSG*Th=fbclYw`br&lL%<8Mzt@Ct=rSH*p;;dedBc+5T)9#<IpFJsohMZud@ z;JE{U>n*4xmq4?X%w53}!Q2jW7n=XfUGyek{ATct+{g=`v+ZmPvQ{IXj5Kq)ZQR&z z_mFu4@q6Id*s&%NcV9F6r+>lk7lN?{nceSIFn2M?q++cF!QTGRiv{*<2S46`diV}B zUKM$Ofu_gc-IrM3QRuJ@xZ94r(+62fUNgGxHg|E{3<fv4(ubl-S%^AiFs%3;9+-q# zja}Y+5jzVb2m8Z4phcs1xG?y$z4>>Kfta@>vX}v671;p^XCrnQ=gMD2e7lO3&qGWx zGQ=MkEdU(U8SFC+clW^^{on};u&(JCvl%=@CJE*aQ*qG$OYm<JSjYyyqPzfR{DXYr zG_-jb`Oa%|=cz{U&g#(jP<&qwW@!$IDnk?RasPjaOjEGJi@3fs|1LD9fh0tT6owHW zmX7M-A-pCxsmE_1huaE9D2X`XLH1+r|FK3cavz?(9eF>2-Kt^UjpiPER+0yn-GwzR zMjrMG5ws!d)NVk@0IZ>+xlh;=<kM-$81jR$n_;D2!MrC?&l>qzVO*I3?lN{XxeEsU z4XvN!m0^SC$aRK+4X$I<x6p$P$TFgOCO39RBj)}DMNpqlg12{tR;;kfdE^>~ePp2c zG<f6%#*5`X#MnVJ8d}K4&-F+E?#lrSUIF{9MC56YIgP&&C2?c#pm^Svq;LbR!(s1R z<~}QHcpI_@ocSCh8v7^2B2NecXWaxRTm_0h08cBys9PavMX=IQu<S#8I^XQ9PGaG} z*?m+#YfxKVVU_WYfc5!<+4CYpDu}sG<LVDs|8dMR1Nrb>c%8BLi6_?F4Or`mY~dfS zG5)u~IA#47^0NeFHY4~vGL|=iKR@7yP?!6{*BA25Sn(9z4)sK1#JEAchVTKo)h6V5 zgD_S(-be7_9Chw;zM3pDdhChBzYt^ZxEqLL8-U<@JV=;|8oxF2rNuykk-2&zc3p-& zdVqcWaYt+NlwE;5I;#th{*QGg(~vFf;uG0uQWQ}x4C6F}bvJ@*OG2Yh!G{IO#Q$UI zE5M{Up0}%KX5}1rcL~8ExVt+9cZcBa4#DMzYl1rj5AGJ+-Szx#cW0)%zIXQjJ@*`U zyF1feUG>&mRmXG}@;T>}k}HT4=h$Jm0@RJ?QT^Z<Ch>^W>k*}U^BL6;ku6dEkKZW^ zan9-g-UjcS=l|4lN>q#CKj+mPXl@I4pm_B^+NB1ep6VB@GFpHmCabPs&WUO*eUjgS z{I_Z~>iCxGrqe^4vcMD0ApfontRr(){V6veQt4={`V5@RRfVVv)l}Q4y($7edncX$ zo4cZ7#8x?i3#ml;tC+`=sHB!h6%dnDdv%5G+A+va*Q#`4EN0ilUT&y)!3dM6ANy54 z+M^C4PkiqDMNqW{{{>`PYO2=rJyh7IfxbBCs2io_$>8s|s*<=b>rh_Q_H&UTtpP#} z&IFEja=-6%0eXqUii^Rf&w<L>Y7?;V#SZWnsbn&bk=a<PqUtgAlXt{naa%0_*I$rb z!8wnRaUMc++|OOqC9Wl+<u&d_OXNI!Ws~RZ6?U9tmUeON0vDkdqAI1<Pit!_j~>N0 z?LJ0NTBtr#Yn5Hbs#kKlm;?X5BjUmHsr7Q=vNl@Gr9ZUtw$ENEn_I8Uopz+D^9D6c zc=YWwL+`BT)|I};=%JmJiK@Q-QC*i~<vS~#Sxyq-{zXm_N3@MvPJNc~T5qF$5qapn zJ<WV?-V0pzt?_>fY_&$q^5VQ+!PUog+%4Q)jCSq_<GVT?h(Z<C+?s5?FdGGmnbnj_ zwA7wzD_q50qqL%~=f+O$74M+c>XYw&V)MXIUsQ4fe?zmiy_ZuM=e<2V(w*LOUVF%y zwcTXM!igp9lp@5s7N}sEf!*d{>Y_b2N*ImZgFGqq!P+F_s@6*NRORf7R=uQ-3DpCp zZ@KB_h2n!K;~wta;XUJC;3}?PRAppU&MQ9o&d0CN&gf&PwVZBkGmmgVZGrwk>*V^& zbHeqF3~jSsT@$LWoNkWt*Yo8|BHv2?Nq($F>+Ou`Mk-GOcVT0kQCBNUljLH1J*76f zCr&fldNO;~=!@m<<Zb~=dq{PK(rUY-J?T7u&^PhQ^}Fb(+FCi2@+IF$-jXyW>4&L{ ziS87h(?&DbHzTi6S^GdPbw^IOhg;Re9ib;QR~186hir3Kv{J<G2z(KBL{sgWm~Ctf zEA9QNW{Fu^3$c~g`76dpCcX3h@Q?7Pmo1G6VNb)xdot>EwA0R+>aw2I-+F9Mw7a^h zi4#e~M4FJ3;qAPeeXD=8_8s8=v~YbGe>Sd$=L*rZOKQ8F9^5T_E8=>_-AazMQ(0}~ z|BTDw9C6!IQ|&RI+l4uo+z{v+xNqmwwD1c?f8P^&8TvG3`;f4NVxKrRf~2RFYaX9A zVj_y97~{EN`+argB#yG&@xT8Zn{<Se^$o@aS7g|($SEN=RMF%gN$aityi%sNYT3nI z|4Y^1)yf>kr#%N!-gnRYvGY~Lw?nF7)R(Z4+8j|SynE_Z;jQJ5xE=AwtTl3LQu^rI z@h8=lu!yM7p(os#UCZ<VYH3obxRS}`*k`<OU8frE_o4YILEI2i+^M{Gtuddvyi5P{ zg!UlSkTe%VpSs?Lo(ZeqU1$}G`6DJd*%kO4IG5DfUq;-F=$U$L%4koVY8WWxo12(B zX;k1bS96DWfAv`5<%|^8N;O}bAClhi#h-ke@zZ$U!KjXz>!(lj#<<qGi+hJ@%M#Xp ziTp`PdDU6IYhRFgjV4j!(#}Z9`s8GHY~#4YNquZYU1OxTR>**`g%PEBd*FjPT^k*8 zLCpNw=IynwZN=csU30HVH^WG<7t6K!Gfs$m`la#rS4l;TyxzvH7|N*U3Co!(Pt-%v zJnr|eqkh!&Khd&!UwId}m${yKKZX1)uldUPW~nmn{31)N0AoO$zwt5h`$X-ZEGO~~ zOFu~Lj1P<NX(y@nzAn-0zuSrLjYg41#C78(uhC<}9)(vHFJn%A-1B8gU~Wjulsm!~ z>8E6Mqen<-vBa#Hc-Hrd&QVU^jGz0Xr*T61k$LW9HjO}x_nR*<gsY49fyc4U;uoj` z;SE#f4J#^gs4dzL_egC}vhl6z*OSSULi}l4rS9WyY7gTAdSg+Xy@BTDH<?O~^XUm6 zlYZ!r(^kt?Iel#xB~1Aq8Nb48L@Cu)--F~Ts!vF^sNcgiy_w3(ZNzpS<Es>%Ke}e% zUWk#dVVcR_%Ce$rs&+e!ZwKUH`9FVbd_+RaK%tN#846`?n)<z%7T4)#@AxcM3$aS2 zH<$S<%JZI2;h93$=w;M!70H8SVp8tdjj?y_kKrBC`_l~fwzZTMZ@#eq<;JoQ&r|jM zJ>y5lhXq=M_Rg3oONP{WD09s09~0xM+b^`fl-ug;|IMo7UKu_wG_Ntlw%|Ky<XL~N zgbZ;b%yZr?Y5Jv|6FS=V273Fq1;(gW@)@60wF5;H{*FKGd+Yfn{kP2D((KTt#*X~f zIA)ExQSYPQkOTb_{imsJ$c(T?p7Z?J{4X#dkjhs#DNhm@-qSYa&Qu4&I`M%(KYxbg zn)YM6lsF{VT9#nNj!tC#W7?}(UZ#KMS{T>;>ye+S%>J%1?j}^%e=14ZFT5+ldxgyq zZOo;<!huDBdw~>z3-X35F|t6ac@eF&6jmCmp?|lPTdw9J`oFY0@ICQC!XY^(>UqYH z%pW4I1Zw}t_Pu`M677sva}SV{lIABr5`#iJMvU`jPy_rwle+rW1u%+?)((X<h^!G| zyWZO6?9YLde$CDxABb1l6nW8?Gx1w;e%JJrcKT{*au|&h$9_-xnbs`po*Ht`=xu&X zXy<RL^$7hl{BKt=na<ZK(eN!ai>ouDo;yeAlrWFCqxfjoP}|IMCYztF7&=1VtbD%z zB_;<-c_*c6nW1uulGH6O>U(_bNwv>=Hl&SMpL{2NS0Kc-Jp5pIMdKf{cw$U^asNA+ zLEB<vaBuM%A+Ov!#Y5FWjq=a;U-D<QGwVOKQmS5HQsP)E!TTn4>WoQ|&*hz%-@dm@ z*d-c=t_VF%m6C489q=dX2P1Ywyma}^$oMVsGyNUugL{%^ji->OiaUqvFEN*^QN=(X z|5{%qD}%ArwOPAq{hLtS-^eJIa!W>;vY>V}KKJ)oasR1@-f3Z-^;gMN<A)?25dVZX zib@LUF9#;<ilgL!dgIFAjrVSF-!K;Hf>Lrr5eO6x4Dq!x^BVVDHS{yq?)XJXQ$?l7 zj2Snj-sC!xH1~U(m|@l$_x-TXMsa_WxGeD><o=NEQP;xLi+jnZ;@k-_=0NScClHeC z$>$m?va6%gC8o$D*4BW_j2Hd&mf9!legY-c;<;hJq`#F$_h#_t`f=}P_rP6aO4u>i zoIvTgV{vP(iXkaeVEOtnUs!Cx*q;9J+VGIEVbi>Ij2~1<<y60DH+a1@CGax&nOdRW zH<nOmU$=y+=0;biG#}I7jLgLSW6FH*pKwT>^q%uXt9(hl;&%Dg=`$kcq-f`zWo3-} z{4;k_E<Wt-6J8|rh3h*llZo~v?y8Sd?X4?GhJTCdsejVP%4<n0lk@Vj@JZ>8q%P|% z<-h;)QuL4H;#yU22jh49M#AF6c6MfO+sF;!(Nrw?T6B}R%YkY7g^<v&f}Rq36(&_p z{igrJUCdF*<r1^VcluiQG_AV7M#5kIPud@;N~Eu!vYg&0e$}^p(E)#2ch1mgqp0~u zLhZz7vb=XyMAOh}lrFhc-0p;Ib_3&1$f1zY?yUMax`Il0wYXw!^<_!A;`<~Pc+Pp2 zQqQDZ@dy34U2$nW88@U1qovW$zPe+++EYSQ=qmlZuV?Iqgxu=ykjyDIgcTP#k`ki- zjPGa-bd3#b6qdrfOaDR7)ByFB{;(SOKPGMVJrz;jJKpu8a?**|jmcY#TWQZ^Dv{=g z_AI8s*F!&dnRC5Q!X_FW{5fK#$MvyWhptFvMm8~o???2E*t-7I#)<F`k#oY&xC+ry z`ww%ps-SY4q2?@KA63KE+7oY7u>MTwlN73kMDEUTHeFKa7N6_;r*D)nLs;IQZc>{P z9>tXpXs&iC5>pHgDQw5Yc8RW)xP-Tco{5Txy6k-|w#j_v3u_eBQWfpl{tv$O^slRJ z$U>uQV01$M<XEvM)q)IxG_{O@aRa{O__idur)y)F2&p4)#7D&E4?K5YN%1kt<(cox z866odd~1yTksVVm3%{>jvHJT%13OhN?Xo;)c1)@pcq~SG3xyWdR`~u)IN?v_`8{p+ zj8{`^m6d+PeBAiGq5Z$mzoS-r1A*GHt74<9X<^yY{F>^h>t5p4A4c>h^L9w5RCiKp zA+zOX-`C`6R&CwmGWhR6(}eti_1eAALt*K)*U7&n*#5u0wbTBYzHG$eK>KgcKE=e? z^dtO1<Y}WovKG@Sej`&<^|a+v{2`jhdw%qa&8w<~T}oLt>Tg$w{OR8iI4_IqPedKN zzCUMjPu1G9G`wQyUimrUY1|icTNtJPJ^g{u{mDna^!d~*Zi&`3@@`~X{aoUqpK<XS zM1>S3(^iN)tIo$1{N6mS0#6LTmvTkqVb>VDk^i#4qWxS9)~?!_0-uu_+xgtn!u+9& zI7Q;L*t))<?%rvdr}Kp$4K(=H^V46^ndn@2mZ;ROZAnvqo{U{3dqw<6eJQe_m=ZVk z`|jA`DkP#v>K9R;jO^ydq)4A-f6=b%Y`^ubO`K-+abF3~6263fP23&xE|H9;sqUmb z6!E|s`s3W^Pto;Nzp#CgY21B$Yop7>-m$-iHBR#;#Y}x?;+3BT<4Vikq2E*NiR|J^ zHrprvll<1sFPghriacfqUqN4PZC&U;;jP^H{CQ&f#r|#i!rP@Am*%CrS>mg&_rL8- ze&|{l(Ij-B+8VzxW}Q#C9;G;(s%ogu-V`@3_Pg(uJ~zBkL_ha9+1i)jdu97XJ^hlN z%AV%m;>%#)bw3Ur6+-kR!Hm6@JlHs&YD(Jmk*!o*bo+0eW8&?zAqB$Uy1E8-#rBQ2 z?1-@Gsbf-{bno|%iffc`*j(o-6xt%>SN(}y-+XEnp~iYky}M5K+rSNfX<5TPIV4?3 zANpVN+XVJ4)Wf0{r7ReplQ+jdiT*GCi#^EQ%G=SnVx~x*@0-daL-#}_g-05D{R0yk zCh2x{W0_~BJ5l6QdE_>gN^7J)6D`D0^Rj<wAg6lZX%`ynJ;PrTU&U2Uo~r$bT9&$H zR1wi3;la;wv3IPh?u?=FZm+!VyXK3N*E}b~$Aqmh%)tA^6iM04$zqG~(3MUvNX|2i zzvvV6XqrPs&1!)<))TeWlP{!>=P92}>X&fMmrXk#*+1pBh~LG-giFyUW3O7V?ki!< zLK1n0|9El}^QJy7Br$ZdJEJV`Kb>64bc+Z2eb-)njQCZYrYG8V?N3@o$E>e`Qr27h zz0t?h-JL)Md=ZH?lFzE_VT+?)M-(!u`zppQiqp&qM#s?Hp`EqP=I-PI{{LvZXGhqq zkaOa>c`CW8f37U02i#xX?~J=zF>2%dC7)-}5LM5tY(-d=w9oFc-f-7WYjo1dq!4?9 z_fu4b6zRQ}&FAq`5uuCgXG3a)F4evT&L@3I?!`kr)xuwfCTN;9AUTu2qFQUD^FH%D z)N_b!Du!Q)quO#B%H7OEffLqpzU>Zpez?x5S;_Sh7x*JIe^`mg-$TD~-sBPS>5~e` zqOQuGEyfSKfp1H)+bXB8^zI9>j2x<Opm*SyEUou-&v&KO{!`WDTy>LLX`!@SO*gmu zZL7Je?E3D`>srH0d=(RK`A&0-(0&nt&|KOMf2qV3Nv73S|L98Ai^*BO;mIw{L{ZoK zZ^#k%c6OPa{e`VITv98p{Y}5C5-L4E6gM=tC?bzqdHrjw!OGA(dL9~u#Dl=LB#*z2 zD(#62x5KWv60AB&vlFBI$*P7vPtQ+vt)+o?W_Bv$y6?&3o-a;XCC$6$6E#>HtKZRb zi9S?ad=`&2kI10zn&+%ab`8EQ%4lEp>0$tf%6(=wyPayK^>GXL2BR0b?JZ_5^NHPx z6X}>pPs_O>e^Ae;FI}ek)R#Z<Xui(vd4#&E!gxIG*IMZNwZi0;yUc&BS}L4&X`97H z@qt&WKB}b*Qx&+YAft>+8Ki$#8SQuGdF#1qCn{*=#0!;GlD$=4;%r)ay_}XtRO9jT zgFRl}Qnkc+?T)@#TS7}!h`eEks!h~d6czP2quQ^gaXD(pQ{^RlmYh#nj7n~D=hWuQ zn80&?ZtIE~q_x+b{>pjm<@PxyeUxjnYmZisbJ>Tj46-)W(@VOdjhos|9wj%~1nbVB z7;3=vWGY+Q&#~fyq8Hbduk5+%Pp!H;wI`L)f!CV*{ei$OnNDkAw9z-xW;xVeAxl$! z?Spni1k_<W(Yj-|<$I#DURBSaO`~CaR1H?cR6t!+L(~M-lvk3XsuV4E*-Pz9s+Km{ zMec!mBwsSm`t86WIZ5O;>gieOnJvw$Ryj2g$k?utIHL~94f3$sMU%B(^#|Hn@su+2 zAL<X)Tz!z?DmM?NJ)$nEv=eru-B1ps+{O%7U84<^wT}j>n9JmBaZ@j)zomP!jGfX> zkZ)<amKOXJMltH0d?lx;M!c66iWo6hbfdfK7nwpHl6zDE`b~@ypD8U*keBVRvJ~CW zE*WKvyJEh2Wo5Ar+v_=8`>7QdNpiDQ(CQ*5q3V67AJt~iKBcREDlMfKJH%9Rfdu`{ z$9OU?<%wLL8}m1=MI~t|*H&9(S@oW8iMskMZ9WZ_1+6mXcPpUAiv!w1v0A;i{x!SU zn>ejL)7YuUiCVlw7MDj=Uy2h?MQza@+GwrHs|9K}XQp2Ci5K!`wMSX14tJxvBC}?R zu3`vs@B4D649L#hmkNtVG?PcFPtad_)+th0B#AkceQJ<83!SC~?%z=!s>s#VeCd<F z@IuNZ##1vMtmdhq{Fa7m>$N%JHv452`HL)~8gd$p(1=s>ImK!U3u=fl7Q%amQ%BOp zDiMb3zflod&wsIpn$iVYPopW6`tc8SP5n?qI6YmVY+}FjcV(`_{doqz<{#XOV^uxX zR=rSfxggD?N%W03a|CB*rH*kX$Ta}5<_eu+TTN3p)l&YQQj1RF5WVD19L2Ywmy2{O z*z+qt9pglGM!i(~If6z~fTL9<wO&?MV|f%65!dJgZ&tn3Le-qZXeVu^6f~8esoP4b zmVA^$sR5$UDo({iRZ5jjZC1bVDt^odxCUQPCsjIb%~N<@a4*3NwNzCB`a}69H=<D# zM!m4ond-bM#B=!q|HI9=I1k}2!9G1EKf`)c^K*F1LiJVs6?|5y38%!!^?6b7nb9Gb z={2vxSAVX}={can@!EO*>=IYxxhgy6Td4eM1aIPk{0&+=uWE8Q`Kg)+7gcE@w9$l* zz+>VmndZ|vtSl2}<tto<GSUGsUTNUAy!x(ob81-s1JC5KkfI;|k1GMa&oF-;tbYVX z$<MQ)*<3UadR1V{cj~h$4a>gf2Rxr!0!yz|8b}=iotLF$T$baZod*1#3s41EuqJnh zAG|`HxsjI8XK17vXJdmq1fS%Z%o}(of8h$$g1+;gu+n$ck#F#29uK?!r=F-!sy<#7 z!kvquwIjik`;~HfSH4hR;L&4vFV<BNtLx64`CtBw*9UkOkK^0?AMkSycB+lf+Tr(1 zl#-rf{&46_g5gW^0A9gwaoq#{#P|3j@8L^W?KIxVJ)n)wd=eUKLdD_NlFxHq>K6PT z=s)N&?C;@q!H$mC=qgR6O0*ZV=b{C4n(9#^Pv`sW;}$^w9bmFO)uepzlwLF**Pn#X zJwg7l02-M~WiWn!8bZ710GM+r4aC=FIzcz+2jvq9<fDUlw>A7>Ej1Ha#7^pmv3@6~ zJ7x)yQmmtN^b|fd4>J#<Na_vE7R4$u(G2PhD_#ipE@^|c)TJGWbT&`mZoq028b%|K zuha(CO9TH-&!~YIVFctaji0+Qex!H+Sr*U{noSjH5!RVjB*R~v(^`|cB29!WqbQtS z@OC~74Ag+l&tl%HSZ|Hs|J7Bd^!Pf23Nt%2=sX`)5je7dpF3=+a$J{(@eaNUFKvcd zyHR%f2)$nd9~=XQ%0Sw5RGxkfJ_+sgQ~4M1`8Qfk_o*k=lATTf!2yhQ17153oVb)% z!!P&3(_R9L7u9-oSarwiI9Q_xyMf1P{5LyK#(Kyd>>)T4C@dH}{WJ~m!E6Vg6nDDh z4B<hXhMluQy9W3DMB&}hkajDV0pi<Z#n1RBR@j(gu+sFDn-;^yx#=A*fd|Y7vQxpj zpCDl}|3Y=}{%Kq_o&KZ&;K$kUp5~DE180Xdi%|rv;c~$JU-0UKK+kJL5CxR~0OOwm zvhMLpSg|9w;Ht21OCAok=)t++>mFP=8qy8~hqMFU7jpGr7sz4ou2<}InsA=PY7bAo z%g;GC7|MAzFfU(HsW9UTFx$f5vs>*k&TgI*>=ZNxa@50&`!UaANOO-L@(EtgrI=M& zcw#fW<AHC~qo25=62AV$$j;N|q0}ClFO1oo=VN}MFR<WUXf+0yD~w1`2Y7hFXJL^5 z51{JQnYPm3z-~1nItY#D1k$e|X7mCEvq0l<n0Fj}AiLNK4rvLT?&33?BltX6M&LFp zBsc?m--lKE2cL7l6+DqW4~?a+z*{^&VFTFNj?Zm&gQxmprerPwFJ*T6pw)rh8<9?L zfD=2|-QgA(FoM1!!nB0%j-&~|=2v!+2fiOg4v*Y{CF??lP<jo{aZYb;ja8hWd$=}x z@OgF%thEGkzo0YtcOHCk0=#7x?T7yyr=N72y5p+?P*)YcQj31W&qh=T-q;Q(DnQQp z`t4~J{X<8gk$I?v7J&ge<GtRrjCx?LqoAXu&{Pk)4Y>=$mz`65$3ot2SiSRI7{3p} zcp*T~T6okZXlez%ot~}Dfx-Ngi=3TOv4}z^;5irZ=`vt)Bv96q|G@Q5H<SPP9T2$& zzS5U-0(otMJszAVw~FH5w(y9)z@KvpdkKCEem;b_mXcF&f_ek|Hs!9kqZyFa4td8L zwH#M$S5D8T{$PMt>XzD}9;jGE4TCEq4oXBj4{%)!@t`#B%np1x{f#;Wdnn}u=JR5< zL6GtsY&tIZ^hkZkQ3qEt;#^g{zJoaONp-_Lb0PIOtfd`Tupq823ojXm(OSaO(z4TC zqAlK;jgkI?H}8dR&V$uY2cIIzfS(V8&knD{73*-{LVP<No#r53ECr)(gSRbb=ZViK zM5wpWYcx>e$0(QKMNYS}Ysdf`L^(a$eE9l=t8NB&BP|Jb3n~JgML~)}{7PlxlPVAY z3U-->(f>qra-PR+jTrk0)ktctfK~Lx=jAvba;4(XsnfZuC9<(f@cwR)Y!B``4*u&7 zTh0MLTte264L%vbZ%6RyI_@1jV|^E-+7CRe!BsPH$3tAzI>_VBvwE4pxGfN=egit3 zlkuIM*tLN9d(h7@=;;IUoCeeujNA^~S00~MM($S!IC5CJ8SuFX*!&-@0Mf4k=g%n? zuP)IxI)%*dW^lKlvxj9aaJ+~fBVL?AOx#P~;43Laq#$t#QRE)Ir_ab~{z25~2~<yq z_c$F_D`A#Kz<N7K+y!%GhHsk4;xbY;{MHLTH41(?4xhBf&y@5GwwMdKBjHoS@Ldn1 zOom_eqrs59l=FZ5!Dk`ABHFwHhdDiwb5l9^M_RDN-r&B}WOm~J3)poQ^!5N2KZdVl z<o8LzC#8DuFUU7{0r@T<Y$`Oo7@BSkoXuyaFW;-+(>r^EyXp3^vn$tmmLr+-L60Rd z%i-X8>QjL9lfm8H2Y|ZEh#R>fTOD|E3FyB8wSxZ_2Lt(mrwPFIMxg5_)>RCw_kt6_ zr-XQa538LGq%4B8Kk)v3jC6@JV&xfNVW<06G~|B8Z@}*BG0qUgiI-d(oI}W@_W_r? zfst;AP5I%?w~>RrLZ;+A-P;Ww`a2@u4(=0_w+ABJQh3f9cz7{nc{Pz^IeR}2!WY}% zs{k0_95S|zYPY(q{!!8D2>!jI3|zS~=$C&ZDma}az5tKwf%u+aoSMNMZF|8(hcNnR zcuHD!@pfdqT~s?&Ta8lpmEb&>!^s{afw%t1m=+?kRD#9AQB~XucDvdSHgo#;IZyR} z!uWGAdJ1Hx%hdl=1yxf`hHTD$#W2LQ+lbWDX&U%?2#o>Ljt44xAvP66#K;Jw<pbBJ zM_o||v9k<q!-@xj0S9BePhcyB>c9&=8xG%ikI1$iI=lxyP6x@%VArcTm>~*S`yJ@) z4g5EPMX!T_>R^ms`1*xkqLM2NU;Z=LZ*nWFSsT%7DX>}|(c%zdOD`a@7SK8nQWd3> zoRyqD$QNP3x$ySJ7^ws>sKZ8$f;(vrV9xvS{|xZuN$|BfsKuNo_X^WctaC3tgmkCj zC!6ru0E}7|zMIGis0p3j5xFpLMy$IWB2wYtll9J%K>2~zi@`2xC4=$l29V_RTRs6c z=tVB%X~VI?*+Aj{b$)sXtB!(AO98{jgWWNILymM8vu^<2&d~!f#3bO~$+*hWN<?!X zxYW-*F=iRW<89DqHjGB(oOk~eF}ou?-(dr17xKcOSM&wXOhXJz51rmXTyu6lmV%u+ zVm;--W`5);KRG3S?t>p3fZv{j=GOwdA&}PTN4|#kft9u(-^c`emw+zjft^xdJql4? zaa;Id75I;W=d434d=AuohYzoZr(A+2iXs!~2ZW3S-}D6Q)B+~E1QGKeveiSd!>3@+ z<7TMv2EuRZp>n^E`unKrjY=+?st9CvR?XC6#H{?m?%kE4wXKM8EAibV=#Ax(6_*A> ztU*1w4^dzeUN-~pA5)jqM72}x4R$@;uI{Pp>M3HXbH;xi)N92#4#>KzG{naHxb~6y zpmG3jPUq%7f*rmOLd!QXemv^s6DkIuvwDr{G8f)!jr#k&%F3BI2YlHF`JCPc&WZce zAj`mDXTo04sq<9Y<X}gpKj71SgJ<ZM#44P<ovCqeDozLg=zvca;EuV_-1J~4y|EZ) z8+4csxath;IbBqIV8!Rir=9MrTY?eibnsctwTM(hfb*t!e;RnTZg7vvv|yi?I^f*% z$l0<Wo2mr;*M;wtrc|igLNQ`$a{8cb2|kmz7b~6)Ifh}R9vH7ZeilO}(+^R1LvSDN zDR8hK2zP2y=c^r1UmwWM0b~^k_R4iS;l2Q>oQ_gYf*k<2f{T|1Gij$o;1opEv-~~S z%c*FvZ=utNHwr5Yg>3nO)jsfovcOa&AhZ!Vwf0S{$cZMYDG8kQH@w=}p=;uPhu_11 zMupKrfW&XeCH?~fo5B;Erz_J0yTqh{beWJ%riRzNXQ!v_OL*VK;B&5<@$U~rhy0i? zCH$%x^gI9>>I?kOg(v=l8ubgg#V4}p10wWYytfVBI1-=N4aUK0@ZHA2C*qr6j`HO6 z&l(Dy<i%$a9R3*o^#+lSAzKtyTOR)7bSL#<HCeG@1t}Auj~uw~66QRDEO-O*g0u97 zl2AX-LS*X--)V*j?a1~USh5CQUjRq!g-m^rJ2!@=S_XGFyh5$_2!0p^T?8=4ZFt!o zXzVibv-807URcl11)vwFt42JoNC@t<_aYApfh@1!!MSj64tV$jNc<eOGGJ8?^z)5t zf-PPnB00UXE<kfmJ?X^pGl->ofTEf}N)4c<A^fov7&kBQ{Skg^sV~UMoc>0O!7Z1A zdtKJRbNd86CLPckj=Z@ta9a<NaTGFHfqP!Sb0ZN&9;#Dnrdpx4s(3`me0)?9e9xyE zvC}`IIaqxdMsRkscL9r(V5f`RY4~bNc$mQbdzHi(DKS@pU@o2m`pAV`csQ=zh+JeJ zWZDiMO29hu(tY?`G^BER8V`qu{)4ek!$+=Q&CB4`ErNCLY2`r<V59!DR2gL5nNig> z0`Dxvs>(u^g@`hDq5FNvYl$vEpC!rJV|NZd^bs~V3acDO-syB3dWQPKKy;3TZQc0! z1+siXo#yyf8bq02aj$`x5<ng{7gBy^r-Rz1;Pc$^7^f1v<q%M{6H)08#Ed?{evj7> zo&E+&31i;FDk=lt<AeKO-f}#A$-&5RZh*Y5GVoav8R8wzj0~tbMp;f3;Q?>(=}5e~ z9PF#x2VUf4wmpM=tj9RrGLhTfhPSRo<@P&C#NL#U^a1kZSHMy-*7+JbYlQi~gMGq* z_nwG={Sj4KA}TGQFmZyuQYCSOYKj-gax00=h+Io?MHD>C1Nln<d41^@RDXH!^(SOF zglIIM)*<fpf#)@bWUCNiH&G5TmPqVEHMt4e=nV<0VCDaU7oH=3sSdAujg>pvDvUK| zqb*>hDu_OZIR$iVz#md#zC-YgN{Dsiq4_U}k_Ccszc=!O3YfDLED?fweJL_cC+GhS zy0N$xd~Y$>FBOfzy>%hiDOA!<hwdBfJOkYadVT{PKgN~CVCjO0TwlS2{g6dAg^#R5 zMzSQB6L*J|oLz`b;8RC|Kc`D=e_Y=VD2$+87^^X&S`FlU>rnr+1==;<gUD3?oV^|1 zHx=*C0aI_oCu4xx#duW;epwSpev25?3@qD(oIdISu%Mvvn5{Nu`vmSCfc)cktik~I z{)>vC8_>HN`Q6lD*Q#IPt@**h=W%VnU>BysKw&@dXbDJ@3@=R2t%7}A6Htv+M{LXt zA6cRPRJNLdjP!Bv{E2(`Y%In)jB0HL{G%P%s12mc2{vfUv5+Y}vh2LH67j|P+kw-; zeiInl>F(YQUhAB8a{>3w;-T=o(eTb!Sj%a!-A!0>2&$QqV6toM?B=dOGw^N)#G3}e z-J;H4)19*xc3~bb5b5;ieuAsA!d@SNhsKCn!+_CS$Z%@XM*0g#+DeCE>59OH1{^Gc zKMtTv@XJe-8dX>eWOdG&0;__xZ4+7^?8tS8Hvvb}kZ-xgHE{MfK1VZw#P-0)Pv9`b zdAe9+7rl^Y_7q*jHW~$7oJ9=DOhvJ}F7Tf}k<AT-Hz#7f6=*voax$gn;N>wQKTTC3 zJfGHzoAg?B;=YtsNXYO-`DurE!}-)${w8v2fAb(UgtKc6wO{#fd6gb&k9eg_QfI|n z(N?vTf?kUaRGwGKb1bwMB0@#md#IzHhtkTaxN3lw5*DpTeZ_EUkNGyiyRUEvR=6CV zdtHUAW%P-%feW3pEH)vhy~7nD?`=pJqQ0v#&e?i$v05*h8EbigeTeUC*|pDVlYNtR z=!Hcic~#vNl{HjpYBe3BSTT*W@M+ag>=gUd8#!D35RU{ZAhnYx3MuM~rE;rUN%^%$ zBxDn=uHC1Dss_7ti~5TdYQ8LHTouK5rrg4rwS1Hyd&qcklskh<ippv{RvRJ;*^gvd zEjRVx^|B@>Qa{y_C-P)9LwumTa+XRGd$qf=zP(-?(ub+Ec9beY|LXVos?|XqQwiD< zt(En{GDUIyv|1B5%OAxNby4<|!+^J;{D<0V@1<R0y*y%O(}rqQ?c#PPTA+8av)Okk zqqfE#s`61KH343<P)(L|Xse2|3yElP)LLO}5;^rqd#-s~-^4rY+wzWeMZc)BTT7h0 z+bY5t#YB3-(`1~?$j9~bvZ{4lODE3Dhw?JKev~*RkI6Tp5N)%vQF-m4%*p+2R;C`t z&CMQk6s(s*dhLUvm(fsW^nc;qdK+pKcw!l@joLK773k;MW3)3D1k#IMo*g_g`GcJ6 z$*J86%nZ!Z8+zZ{frK+WGo-Ut$A8fJE_S>2ie|nfJIPq04U(JfU({IR9X|>5aP6bE z);>+C;_|s`KhLqA(HB|AXs`Cl=Gq8eA~mB6cel>!h1Gd2HH}t{)k%J!HCH{<BDvK) zkh@w*>QCL$&jrrNA0c<`^?|qgui9VsdG;E!?EGdqS2}HiY)g&oA+%PjC?2XO=67wE ztFN8MJm;>W{m)D(su?ZheU(m|Cc*`&wW5{wO3ag=L~}YX<Egf&MZe0<RL#hzyeiaq z$bIB0cUwD-{!;h&r4cE6^52?5#HyxuGAFuQks)VkyG1qK8^|Uu=r6Suv?Q?G9v}Kr zjkTU>Ex84a(AV0%?K{R#?Uwz~+T$+A^VMUXAzz3B+I=2iTiRA_NZ=(#{2;alI*Ax< zwN*i{YW``A)}zf`vVm?H|MMT>8u~uxd?2yU-0S+Eh_@?<yjmskMVi)9&j5X`^`7Ht zv1_Mg%IvPP+8TOlO`)zvvMfO3wBe$=+6AvYD`)C!#8n;=Smr5DGtBW?Gkdjrk?O*; z#dQ0I*senLbZQ?mv?y^+cBipGWL={uKT#iLgw}<psZNM$$*P3>$syv6`c?fd%4(I( z+1h{nNn0thP*3X}WpkaEegG`W<<gt^V_A3>nrY<ykWc<0R%X{lej}Ee`|KCmUUAke zrLJi|xR~C;{MVlDxg^($pK7hjE5;(0Eu{pCm7z43$5KkWnl8D!T){*2E4t=8pfVUW zC_+>;=ki*unbtXQh}>Eco}m{sYuJ-Q&&m<W9mII8w4TFyXx*W~+7zB`R&%YEh3$jx z-0GFNP9)1DEtS|}UZNQFK$KBctg`xJRNo(XvAiIb(_((8T4~ua_Z0VLc}7;`{%SP! z(=zZ{YmS~p`)b{m^Yrs-KeV*Rz9dHK2dux4Wv+B7`!LVZ%BoRZO&pa=wH)HP^+c;q z3;2*~qXrl?#ALgLJi%-A^E6t9ayh+%Dy~JyePX6K#mVlCfkLXQXPx*nkcQTJUaEg( zs2F57)*2i60tdLT-qn6&l(37-E&4h;t5#6EV!7=ro<}O+pQ?(u`ij#cLtv`>V6+z* zc(wIS{d5oKon|e4iYl)6l-FcC{fatiu2H1@B^Fz6RXJ*C?Ke`&l{8OfvTsv)@s+aL zzlq6uLy^boEYk7>DyS8tMzXf-V^mcMh^6i9%=%bFu1>0!ysj3JM;+xVqGljjo2U(y zEqJe;!&{N=S$VWR{I}j${U(1iZctnGw^m3s(duhQ#Y0(LDB7mYqY37D*I)K0aO8e{ zg{W&4vn_W~F~It$ouZUR8TAh&?#Ty4VNqR`*MAYEc#G=gy{buT3U7DU)5qI;xuLtg z@S649h9rKgC#iO_A_-T3aw}crr6t1D7TW!c;YN~mQjOI9)w-!XoYU1u7SNV!!)T8x zE;5MUIGvs->uKxlO5!#@7Wq*>Y~&8wD&v+_PjlO)UA>HTeo6I3ymmkyQyuA<wh=2k zX>33R)(eqri#~^*@=>d$>S~OVi|Bxz%=@(ds7D5%y6C9=E4ONmsimDHF3Bxol)O%> zk>l0V(pb63t9=lc?b_;vmPh<)ZsD2aoangJdaADIjVY~fEgg5=;Pmz*JC~TES698Q zFRG<0w{=xzrmo^F*?|(SQtCVXqt4P<)lhCUHd)!VIdmcL3zw%qT%7`${PCU>^q*Xp zbl){y|4G|agFt0Ztf*|~l0~_h+Z1l|l8kcIKx9fs5A-o&hkD16s(|*8%IGs_yZ?k% zNMEIz(viSW<E|^&YC$*Df0RhSXfw2tYBQbXl6n@qIBnL7Q-0JSd&E!9z?Y0hhy#YZ zygbd>`M4Nkcja8#JFB1E?<&v#`l@=%&^6nuy|OM+8Y8o)V`kJ2AS=sFlkFv11n&{0 zk<s*%{Y6p5LUJv;wh`lR&O=3UZfU)f9re-5P;*hYWR}Yi(dzI6?k!UByTB@=G2fQ! z)G{sv-rLBRt>4+B-;;UO5u;*YE8jPE1YF3pf0g4XhuTJ+_>g=mCAUNNwnQD1pSYAx zW@XXMxM+?O4fK=ztL;Ws|5_9g3z74jk;k-Gw8XwnxqyI{v|BC^#nc2EDyk!Q8imaC zhAgJvv;XBPdNt%{o7Hgbq0DSNq1INkc1Qb+s&J0IL1cC*b=k^73$&4<yxrKoq>mB- zWl)&BMt#HuQ9{0z8ATtlTf1aFl}%lVYPZD{qLmY0)l9PzKlO~IvVjct|Mbs#MjP+( zS{dW?vZTRkw@N`<P^Eli+l;11`h8VQ?&jObUl+pPZ^+^NL@4A^y<{_Pq#dKCRvxf& zE3s4kYyVW1cp;7kigPuimHc7l(_ZUo%&Mx7u}(WFyQ|?s*A8h})C+rsIBUG%b=G!O zSpOg0k@t{UFGZE7E3e25CLPRKR7KH}{wH&wPP=ZO*TTgNIgRfL1(a<EQw|j#RHpB_ zHO&zl)I+{5YEutYgd?<`Jk%b98gLR1QGcno;F&*EKGj^57t#Dir4^s(E9#``oJ@JN zE)+qAm?LsfBkqSha0$&8B~(?JM*a^OYCC&^s!booOZsF-h^_in(Ha@zb=6onXXRv~ zPoe>3vERrWi1CscS>=DC96eE6`Mc<kj3ScHt8LKV4f~FqA|J@!?59%NS@A(+(1z;a zdN!JX+`XRWBDbt(tw$bvh05CN&0O+0o9z7m-X76PzeoM~CeTz&)A<E5_4iV@2b<lj zr*<RNUY!Ge9*dpY8m*XiUK^t4)IPyZ{ka6Cl%wo8S(<KhOIg8cDd(UHJ5EO-bw91P z_PeMfUW;p@Ae~fW<TERm_0_y(ezg<S3)DLGsFNnO2YLhjhjv)&E?lTuJ)$VTwtkwo zRbG85jW;`)f-j4?^c(v{D&sHh0Y!?<+8Avts*I_;Uv{yg%yoew<}$0S{H_l0F}f#) zYuB_|dbEB}D=lhJA6Ts*?X_M9hO45+GEvn$=HD)>Xh$f!3Q%LCitzz4qnzf|tBR8< zy}D&*vX1(f_(ufDdSn+;XZSE>)lQ0uTD<m`zDdt4763Q(xT@x*^?{0k-W1|aPvO33 z-x*X5Vf@biCL-O7^aos;%IdB4Pdr8yQz_-=Kn8!-z#y}-{aD^s^H3X@T5m1CSftI> zH|m2$mf-*E7T0!ad+oJ>#+=qu)i~pSmvmc7Ev2Y#Z|7a^J?<0Wnh>Le`>LLsYO636 zX+I47FEG>;@`f75SIMO{H~uk-=(F_eMnl&NeK#~P7S-|@t-r`?O*elLZ{5{tM)E1& zuQXY2$$gOZtn@Z@&liKW(eCu_WsswZS}7Y_H3NGCL#+(zKXsq)ibq;c*JxvazFN;? zR5xCTRg{m`Fo{$8W99KD+u^QF?wZ!ogiCfqJ+Jns9j_8S|9R>fsl{eJ!81kIxPaO( z*IS;zCtqWKX{)aas2#jOq&8X^HS`qPAg!%lRc|5&qS9}xDu_{<W*zhyl+(LgtC3tL zak{#o*8*3%G*8HGcQ@^S+EiCI_bjc7`p>Ro|6=v?m-Bt|UA21gB^Ax{^{npPuHUpu zT1_K`K2rM?wembf&aV1b{>#6`ignKoIbl|a{}LFc*VZcAzpC5rM<EkkbF>Y{4$pF< z6{@z>mb8`yiu(5XDq5wP5EWDD8{G@tne^vkqt@Bz4yK$35C2EGwTfDM^RPdwem3MO zrA@e(u$rUwPxd5pm_9t@gC~`-LTli*T^4P(F9jm4(&pUce-az|_aJvW&o{IZ?$n;i z##m89glom2|5xgyYM|~>Z=;`V?>nRtLI%2X_%g)VfkFBs+Hd;!&yeWQcJ4a*B0aaK zg)vEP_g4)}v?};w5>NT=$>G{opz5@%p=X7wqgYG*C@nI_eX_eetDb9duC4aY<m}>) zuzl__N#kP@&9mBZ?qM=Vg^dhr<DLf(f9}ca%548gp6uUa_3)=i`r#{2@p_1^871A* z-FJ*MB<&$8o7h9kWL?>emU-TJo&*~CZMPY*S#K9tDmL1lrPWYLme48uc-TDmbFoaD z;qI>e6WEdz?Ry=#mV6><u(?~5bpPeLtIyQm8hy3Z_Byk#%q05paVy4-*R_a)qHyA2 zE)||VbWUKz_x_2kxfxHi%kVXCctnq|rp7U@Z3vfJ7E9ijls@1M%uik$C{3+g`#j5B zTlFibIU;N$Fv@(aUQkCBqvEt4;hVw=`Of)-Cw0V6t={+T-~J8ErrmUee|61>Y?dOY z=Z-yG{iF9&jgwEtkMr%dBFv}OGHT_X60*T_LBzl|XRL7F<K*UYtkzI_p=rh+A)I0m z7fWbJ)xyqu^Tgfy_%ks~)OR)1(;GL!7p1-t-onlm=)fzL-(Mr%O!C{mBg)hT*3O5< zhbC&p?Ly`iGo3FoX|DN9tK!x?mE8aHY>8T;#l%0gg*VB&CF#+JYq4YayDQXF!2Ky) zPn|d7gVj6nL7<PV0yz_s63falJXG7J572vrB!~PE<*Y}^WqkvD`;%=mtNzpTA!LXr zgXc<QGrk)arXIP^yGz7h`A{o9gsO+E4n69b8!<ms+mP=5GKuy5z0BqQO9?Ig9c5Q7 z!qd~}<!Ti2%`=$Z`d=lbPd1ZV`PaxYu2LZfLUy>~Jv+k6nOze?_`G|*ekOXzm)c2D zdX>l>VO8BbB0MQS>Xnm=C9F&SV6y*Ak}$K<GIvGy7d?$9(c9nHW?xA@nKafH<LhB+ z;+WSLHpF|;I2w9fpBG;&uw75>DP)!S_BMKq`6eVoR4wn0(1I!Vgf+Ay6FdoTeF<hx zUq|0&HNll8<R7D{cEmN>y-A$+=SjTm8ye_rc9wUID`Ba_hr8Aq?>)r>%i?#-IAf5W zJE8LrSK>hW5Lr3An5Rs{rHHQjVBfB|=!8XP3afTtt65kZ<T>xEXI#;m7^RJEQcu>B zng^oH4t8IW;1OY&y#w@ao`d`-?qXn>cG^ht=l$uA^IBg+mPUqpHioW^eC@7f6-rne zf52bfTx2F$OSq+bqdU=9u9eVx>3${sEs}Eh)0?sOeR^uN4vh@`&sEX0S#*nE>@RH0 zbmg`G`Z+RIm_I!KMilUF2%8i2!rMR^iPz#{d~>Y3fl2lms^Q-0PT}fmWYa^9?=&%R zA0yT@bI3R<=2{i<I>dIJb{j5#VjbTPV~DpAyQ3?`tn_X5ght)*Obato%nRMZZ;~3u z75BB1`^;+gBAV%X?H=Hsqqh)kU0<}k){~^u$yLlH_IE04H1hr(^1)TW?J-&>h5Di( zZ7IGHvoWT7@-kP8h|;c8p^=e&y?51#qzkcClMC1-0%xrzsMT*7>s<x)GL*%L5{XuU z<m<jyf$vsIQCNH7_ISG+M_rTkJqfYC?4B5RMzuM1U(A!_^4=_w(MF@t9pS%uck}kd z_OT)UL@Uf!!OTb%TsK?^uIpMeQO?-THO-&NSNvNojjM~LBCWffdzKOIDPeDmNmlto zdw6aJ?C*<WkH`y=uR_MS_JqF)yXU@Z9*Z^N?^tWhUjl#1$Kshg+FjVSiw|fY^$n`O z+0@^|Dy7zl4&ssV)0NuT=T3GdCjFN<*!wK(wSGLV()VqNX}nES&G2pt%@+PPq>R2M zaZ&6ze;IYdTw={t&Gh=7eeMaOjL=;9^-A)#ue_;Ilrc|Rq)jm98pn-0o-pfEYzsXp zES0Bb@}@6+V!qLb6s<!qhm;II7k12(m^?f>PtqFIMEb2%Rw9q`3~_&<+3JQUr8S~@ z{-XXy%zB(5MI(Kc_A9KLT0V<zr}~Gd49zT0fARikBEutUht~*M81^OX-_SjQ8$YYY zjkU`1Y<0)Jqc*$$HtvhpauW}v4m`n3_U+(BVy3&AJCm_ke@eEy9PNvaG>3<63STdV ze-~fd2Hu2i2u~6EJ*<D&^6-DHlRxLj%nh7VQ}{A!y(%GZT%YKY*~4~;nw-J<nY^1z z=+oR~5xqa?VdAlIOl*jr87LY)Kk|2D$<GF#SNka9R(So;_My8&(nYS8Sz|86sK5?n zTd;%rD<rjdrqNJ!x5{ui)K+!;`T3Z((NoY{UJEyTV!mrE-Tb*B@ICx?WLe|!&+%W< z2hN3m4}TdN=gk`u71>9snDnuK_#epmJXRLqwIRYg-t|)MHP74A<a%>n;3f6eeBLtN z+_1?({;cokLqEyh7LgoLUT^Td#@D~i3K8GKeuggg&iCr!Y-Wxf5m(Kh!CtC7vao0v z($D>io=R4eS?nl#hW|_;C904m-s|ob`k&$e=hA;z*`hrZAMq$W16!Zv_ewl0s#$n+ zSc3O;=<U#S$+cptCwR>asHoGb6UGzoah*jeJFiN|H|+VoGv;0@?4BQ1)_p;*EVgkO z{Xz2SpEX=PqDF+>G2edd`ZJHwG)0<-Qjx#A_3+)EUGdXmiYIKeR*8*5%GB<{-dFl% z(aIc;+Iz26-|w-rLguVtsay?Q<@ASo4gF#4lGqBNw<7-w8I;)cL&}8TLb6AsjOZR- z&HXm&mbex(GWKv{ef3oIQgv0BcbPlP=tq+S&5#YIG0y~kRRhJCknWxWdJUtl_R!Tz zYyYEcV#Dw@krP8UMvr?xIJsP?KkR0N$D7u3I7KgeS<JuDhZFNq1%18ztkxKh^>~*{ zZVNP5v+P=dv;K*8W4(09Bg4|tYvsjA?;-o=*Qsh_c)7^an)z|r=bExy`0?=F5lxMV zum_>PCiRW(5mVQEqi=?H9TWqMmqwIv%-_;1jZ(b7xz5bN13YI!O6WbcWwb`G<xLmg zEOwoDNyN0MP~YgctzvSyW<~y;qC<$Se~KKaO^nYPeIRy@`sivbM$%&Av#W#K&2@cA zmP@v@7F%y*4p-68JFX?7zF0=>J)PB%?-N->T}x5WHRR)?4+HH15tUN5j2hx96Sh9| zesaH`{eOCVb6lNWWhkefWE6KV)IR%r`#Y&e_Hyfo^_+Kj{&X)EN5n1>Fe-W;#XgDc z5wbZVHlk!==eK*}YPuUn{V!#k(Au6#5pQMc*gijQ#hz5@+?hoovDm2Xs_A}Vbx1mC zc2KosJ3FI2R4e5T(L2#J)OK&Zt+@2}()P!&ekmHc@_)MgF>|0=*wUy&QGWNbu)n>d zlP~`~_`SSuioObr_m5V~$mPDId3+aryQGKu%I>x)Pq`+$QVHk$!#%F*p7V*_Vsg0` zhhK`!;5+~RR7?>~Mg&p}3t!?c7U`h_@tb~*jvgVST|Kor!ZOMm?7m^IOge8Z<}<uQ z9k4TLojeCb6|sp68?Qr>sKn3l=7Z3P6qCGB-%5X}<G=157TG@Pgl9|mg3wj|Kuo$H z{=|&px)Db%!_>FAFX<<f>-(gAl%`Qp?x*e;BaHhr09kTh_d{=_l`r}gJr1jqvN6jK zkG{RJ#)j`r5gu8^`!!;(Q7CEN&+^gv%+>mGJyiJh?Z#dAZdo*`kokg&Yj@NxYa{1z z=heDXeftY-^3HV6OS}{}(mg%0X^JvQp&xd|R2A_Nzenv0x!~Otagqxp4*E&4$7M=A zl^CfFFv_{>7~KN(ldpoK>xm`mjVx>YhFIK!FWM>fyxv#he{rjlPkYOz_#>=kOxuqX zFO0vV)<+KTrV3pYcG`X&*W}xZ_{%iG=&EPcChAp<-$WOGYu|nQlbEetQz6`4Yo{mD zFFe&QY~&Bg$qnK&`<I25NVy~A@sG=&DkVH|r%U-c;+bcwH+ASvvuWIkZ$FdziYLZo z&8^+j>gjFhoNrs;fP5p`2~(!#U$wE?36h*k)it8rW9?D#_pRmORZ@I1ZhXu3<!h22 zG9$(RBA$9Wh2-|E^7W6d|2?(;tUlK*wf<U&D65^2J^h`mzu3}lP<NGw>xy{FFV3nk zp5waZI&3eB8!f#N*;0HEhd$T(QpRV77E0A7a)`TzceJ)PG4s!YKi1j%J)J|I>+89! z+{*i`Y=Nrsp*Uh>6FKDH_CeKLU2~rE)Jk~Y7)=5VVuy&bK<@x6_G99=oOb2N11W}v zhr5@1FUY;|`M(d1eMN`8?D<n<QJ1YmmD?O@-Q!_KW>+W=u$EijrC)xa0R82T^?VQs z3Ay9DyWJ_uM=Vaf_AzTrA#H3_fvE4^*{&_FDS@hSO@HL@rF4x5nc;e>Hkm7Jmwa#L z;S}0_cWaGgNz-e-wQqB3(aG5Ay>0ZQKjYIRM|&@XzwnleZ~pZ_;vJ(*<fMq7?t8{^ z{jq;u!iv~!W(C&~PmF#_ezeBf_w1hBma^-q^hP{McD0t;-Bnrfhd#iy)R-XJ(}|?{ zR<zdx-M5QB`lCZ~5o1b3y9mv7Uf)Pl{d1Cf$Iq0JuGyaadWigJ7PcpH1!_YD^wnCZ z7=oHTn=GpKYUNxHjS~6;>cwUJ73rL3o41R0E3Q%8<Ul5mJ0fk^X=8-$R=@k2B)(5h zrcv$+?qSr{9vKMOacUw}*H`FAwH&<0EMQiZ)o6|pX57_Mh;XXUnFF=Bplhr*o9<4` z5!ckW)DRJ!!rmKo#1z}>m&v^X1I2FFH)B1Ou#y7D?fdG8W{FdJ11&8_*ngNe>`a`^ zcwrpZ->{@>>an$h{?bD{^J#ff_r%MA%C6U;?L%(qQ8dj;A25Aqt<qWs*B8B=S`jb; zTkZc*L1TiJq}}4VGM%-~s;aVzpT=6Fr8bF+@L&8)W}*IiTVoiF^EF9+Wae~*hh6hd z)Z$eJyRtdTN+IL4uCDLe26Z;j+ZvAg=Bz$jtD}8TzuTp)0`dq+ZI+?yYxod_gX_yt zOR>`EqnG9(fnNd<s=Di>_ZQD@ts&bM!JY@zCoQcZv}vlL)yDcND~NmgVr?4yp}agV z+o=fpP1~i<(Q;Bhaor4&GxgO*Klf&{6e^xBJl=iZJ;oR#4$FX9!Tis(sFT)T|Ap(? zy{rv(YO<+~h@sqU$%%GG>ElfFgtk)?+D7$=$mt$bgT~M}x-CoCH|&;_Ti;|H)J9Sx z)yK|hcabURsJJN#(t7#cUaVfQF80w|>g@bayvnM6<(||^e4?ooDvmolnfL@Rp{vNh z(y5B7BexQ@_4N8S;o&7R(Qb&<ET#HloET0cR1wviJ(O46ra1aQzt9Q33a+}&voYTg zu|pIUNpz8>a1YK-?ZgYpOHVnMn5I3}?$C7ATP~KHR1{aG5@LdwN|u_fCUH6HD^`io zBBglE9eJ~ggr~gH{?V?8#?+SQ(JAM7AxL+HR#Oj-=KfSe3)SxN5g96*Dd#!Rb<`CR zx;oubvs8WljpmE-B8M1HU)aTyRDwEADYdfNW^szAa8ZimdgP@w^gk-Y^Hl_A5#{vh zT2@*oQ^@J+9mh~3@mB1h1hrmXmCMyx%BrmwU8yi1QZ+dx^!^{E5aq-jddy8oi1|Vj zH|YsC<U@Rci-|R&wkAY*PLg+|##KlY^Tb!GNeg(fVzr--(<V_wj1BI2vG^lrrJdA4 zG=%QnV%(O(58F<qmcdRtrRg@!5{pD%>I7M<JI{X6M|w;;_2=F^o*U6-NHc>h9>RZP zu2<~5|CI|+2UuqgCDH)OPg{60@8unQjnDIDI!XuWEq_+KVYzu6%SoJ`zHuSk{~9>> zjT%ALPk471f8Yb$i8r&K%TPB+^e5)JN<(Ql-Q_v_l3Q~cI)`@#(PuuZ_NljOBxk0~ z6wfUf85w51%iD0xAui7)xiOEy&oTUods8GiyNL<}PkzjT8SipuZpBh9VAP_No@($) zwMZRR*|=x$dBApDf>ZHeNSliea~00cO?d_H<htB|2LgZ1r~t;CL5HD_Zj^!EaJJx6 zgYD=O#n3{U#Rle|hLu*JRFnfcc@MdCQXE42xdIOhb{OzbHH_FDIy}w!fZZ_qopMt$ z59I{qoTPt=m+&`Sp|MX54(?6a1nKJX7DzV%8lJ;@_)m^konVbW082o$zaUk0{-CmR zFGw28Uw9&r7f!LbdOkFBgx>;75Ap9S+@n-JZjQBng^b7eELJ=UV|i#bWLXS7zvMfd zitg|XUdiiN2YQFW8)gA1bFsQloSRy~68(YcjKOn#i}5(#%~x>WUaX}i*9*#;f;00K z^-4A5sj$Ojyq^np*~d{dI@ojK5oU3oI(1HCtVf+_73~9Sw4f0BhYbp)L^d(|&EPqk zS*aie_z|CE<}OqXR%-wz$xD77LABu{BWW3=`3JvMfj!b8hbsoJ1N&ng|MD$%x`YJq zDhYZ|z)G2)@@l-ln-Alif1#Uvbc<79H4#)Ac67Qr<e-LBluX#c#=E5`3K;*+S9uLD z;{7}cHfYKfgR7kmPdox-{K1WQ5FZ7@#jp>$-pHrGrqR$>DSS004`s!Ohp{>r`S>|d z^O7I)Lf~OF^#2-`b9#k5<oobcA8dUJbB9xJszp^P6V~sdLhzP>cxMQefpq<;Elr^= zv=Y`>i3siV3}{FdsS>rPUQ{I59i={ad^7a@JLJy~ubM?~=r7#q^pYxz>z4qtTi|0w zf$5Z3vvUr7T8bcN&&LHG4fHPz_OG}BTeQP(Ct)pvoNjX(?mi36wWrqf2V``fMjVG% z%OIr}5`SXn$<D1<&vT9k&i(*THvrz-!{Ym}wu!+V9ZAq!4D9QJed2%!=h^tG^o&14 zYcA4)-6)-2B-eq(;kdgd7lcIXfs2=XFW7}_GQWo}JcT8HV$_AfrxzPTo~O{>d9H;u zcc)x56&9O~IMI=o(zW0T!xON=--A0++fsGpsxPs!H9*8-$n=@(g0-SCmgJVOT2peK zkjn;*ZJ`BJ7vtq6XCF#2c*btT%5rpsyYN`(=s7zbdu|2$0*(Lz5^&!y6a#)+gc)9O zeXQk6@X6=@@XkPXo+{n}zl-D!(A9xpx3do5$Cqk>+6eDS4KFMWw#o|sR;o7F=k#ER zBFrkB-ywcB1P*6%+2AwtIdD~ajOpyBexS~%6p-mGSLQ5Wg~GgFrND^2coyHrT}kRX zSm1xK&|ogbtDw7u;O7~T>Tj^9v&-Z@aNL2DRRMfn4`Y<T`kc;q&#?}t14KHkF@Y;l zI8Ed2oXE~D%2MFLLh!W)V6*p#l~KTJx8P1`4fYrbZfOiY(rF&B<@Az_;~)GCtDeF& zFy0V&n$yS4IUDyf*8B;&cXmu(gr`&kCJWJlU<aNMaK}^l%ShTo=YWcpnC~wA3auw_ zXLzoJ4To_p?gxxHdstt=U)z9De+fR(?uR#TWd%8>QVC=@n}EM3!4v<TeXMh_j!@w4 zKCHAq*mdVTuKmc9=?b)Tf(s+o+3@nMuyi5Z-2t)W0S^Py4+0M!!TgoTc|OyJE5C68 zegrEFfh<Q=Uj7v;UI^sA#yZm@a%H4Clp0+1k`}>RUm^+=glCoj|74<#!0>NasgL)< zXDeg&-+;X7v<=o?3w^YueOTi-tR)sGa~OCyZ327tgiWV|ts77&=x89FrTOq}=Slqb zbQzvfE4WkiFn0y!hhnDs&_YSf-UYnTniRQ3Q)&SAc4B&ZI*#n<EzJh*ld;OlK>DL# z--_a}?#199u@^xm>;x?+^{?8<|6pbFIV~8!8Ti<FUUdvS;2E^L9`c+7QuY8{+qft! zvWf>mf)eEHOe#fR5n=Zsg5&^po(9kS9}3H9Gz4+2IkN7|h+k7Nj&nl9Dd6J`PoX>D z!9QsNFu4vKWpO8P*HBz>8CLEMR$BsuxZtbvxI0Y(MmzEX&PgAD<6*$cV64p9xAclv zBetzWY+FtrVZ#LI{2gllUclsCtg{H)>bqJU>^T_2{eZ={z;YSznGX95h4%Y!5$Ga} zyg(iU8`Ck<aO#U}tN<cQO<D`qod%mc02fuE<(vkX2*+1u4k!&=)Exd;gr|YS6V)Yn zu4CIo)f-jnFYxWG$SY^7iE1ixuvqv|21t0H=YluhvD53%OAWyX|Eh!V?bh5>#Uisz z1&q81_M3`@mwg6z{|{bLh)(k^6|a`@0{D{xzmEdvwdTHvAHN7g{Di*F&{VNlY(Zx2 z?3o-xlgOadu<lT-b^+LA9>1i@;tv`R877PM$icTkOXZQ7Z2=BS0;|Qv8eoh>fRd;O zY~Z8n;+FVJT!dYI7h{DGY3V#rT7znH6LnIJMkJpDra8#FkemL8EHVzcZV_4w)*Q>t z__i7Yu3CkRGbQE3n)7mHAo4M=5dk~Bg$L|IoIQa!w*<QHikx&lKUCS(W4Te8d>xrW z1Xto-^qU9+KN-jg_VJ(Uj!dIY@pm9{l{%=3B3}(Br}u4kdPTP|`dws)OXvt)LMBrV zap5QIyiDbX@2^KrRta)tgN46=Ev6z<9RqpmVYL5{m(O&b&4A>aVVw#bqX;ppIC;f8 zia?c;NnA#T@(Gp5B51e|wcr<sL!s1!Z>s+g^-7a-7IY0U5}Ef;aA!Jry+#F{osQ7w z5ybSH+zlFdjaaY=mHB0H9a;JujC)Qz0_KbHd8!3nKgLxGlC_{Vz}8==>9){cz}N** zUF4z}sOmQ1niSkmRpaW&(gz^+&x9V+(0esiO;T0Zjd!ZTE8-C)TZ5ZQBRVf&9eleR zE6R^(d`4wtKN#*8`0!&y!;QFS7+a|9ZmD|U`mEehtqh(;&<#A00h#n)YN|Y@o~oVv zEAS@~KXX$@&c<HE^5Vc~6(DUnhk!XJ0KFyQ)s+#$S|S@9&DT{Juy9H}Q0<YemqGlT zj2Li&oK8nwRE#>N8ms4O9p@JP$xmC6rT$OMp$u%xGioMB(q~kI{qX)#ZlwyUpXyg+ zn(zd5Q<dg?s)TB*ilR;#u6|eP!EFXPr?X^)g>Ud&rEtw0*z_05CB}#@A}6v4ohtKo zWvdm)`wjsw*WlZ05I1Tf4$k6BsNc$x)6eaUECd~YSCds9^$s;(A}reheA^4vR{>g# zxO^IX+YuGwZfMx1lwu}OTpC=shVP;lNC6HHq29oCV{l({zMx8jw@cA;^$UDw0)J7{ z<S7{feH{X01~^2dL5)}e@hnk2Q?Y8CTB1HErwiyHct|hK1V88q$>Y>SFq{R(8HkxK z0oN~~<wRt#*HkO@Q|5vG-zq~rmlfdGAHfsRTvHqdw!S%MNq{-?@;>F0^?|Bh;Lp;? z1G9<3q9-CwZTQXv`T_i$qo(2s>g`K()7h;h8j0Gd<o^V39)<@!M~;w_x+3Ft_KW#Z ztu7Mh@pBUGB99QrNDUD#qJ#^)@m_otuTi7c5p9H5phAGA?$Tn^qf0TzQQ86TxQiNZ z7C5X0;sX39__v386fUxgLm2Y{MT(rF5cnyZ7$iPZP2m<-D1-K0M2r05Uz#G^+D(y5 zR1~{KvKU2Y;KRxElzzYi`_tfHPdyWncrN(-Fuc7WW{V(OIp^TNgC$<_IeI}3Po<$1 zn5`FbzjwSAthx>B>q=jMnmNuBbBGhqk)3Sjdujyko5f9#QT3(#VgWvV4!=!H*I;ii zc;f)-jE>0DOr8hcr~^M;gxtS5-9RnUow6fVW<iVy@KwZ@4~V*H5bu8F)yjn|us(9c z^g!O9xZBysoxrES^iChYN~n+u0lx*{T|LR!AsUW+t18x49=y;_q!)Yf`R`!j$B^;_ z@`fAmhU$oXg^{@oKxEj8%xg3|J3L+^%PNChk>JB#WGT*R^mS2XHH5S_F#QG@N*Z`k zCvebM$|Dkil*!1;XTYobAflcR#?^c9mdP07t~we#o#g@|=nusGS*X-4H30~Iriz2F zW+LuB!))omthKSW3(EfgUDcg46`mlDq=aU|5L;rDPrZg8IXmRCg6IEHSJh1T>snNj z6);mRu=qK(6Ig$$mS9{R^;}U{W<Bs<Lv@AM<V9BPbRjDPjb+8ZDS`X#7_oe?zgA&> zubM)dbi5aldXxI10;&dBVgh2xeZ-)=@E@m>>vGt!Sg?zb#5jNb|4xN(P-k2OUk(AI z?}3)j;oS}R_9823g19-HjzU{gpsO<U0QSvE7q~6v_w!;zgbs)}N6CUUpMamkMJ#wJ z9)9OzXQ!9V&YogFxFm}hj2Im*65xj>#+wEo-3agK2;Nk{<7;@$F64{V;WPgMn@%rN z1I$(xXgVJ}bLb+Khp$W!YsE@2T;vvK5zp_#vQ6m}C14CVsc0<vioBw~7$N3~Qlf-t zE;5T8Vk+u%r-MvJc+VnwPbA8V8_0kvA+!C#PA}qQPK(dlLWXO|jW)x7{|<ILia}je z9sd6ax$znJaUQJT8&wh}J;(2_A?bNsot2y`KXV>bWVet_<b+PfQ!30?4?mY9Pn(U{ zyar6!6Z}#G8E6&QV-BK44<Mj?aDVQ1tRftl%D<?JN5Wh4BBy^2{Cq)$TNOUi7PZ}L z$oUM?I=gr8pd#D?wAO}~&!9obo87^`g5*VxI}Mq6XJq-6;1_-Il>;951~GaPuzdv; zY%gG9MX=B7d|==&@O3|YT90$0`YDB|IuM^62=>ev44?2~J+Fg($&P{nTH(5{DnYGO z-PK;T5S%_+g(6}iA5x8xce#O1Tj|J^zazg3!|(5u)A{@oYL{qUPy66|i=oRMbPQR` zzjPhAn~r?q1aR@5j)UO_L5sfwZ*J7}cOjqC<8TXVpp%gNR<Ik39{hV&HPl2ek!u^! z(=o7E5%~EmAnPz}Qx^=`1GRTA*u6DgbpQg+P!5qzFckzM&cV)~=o0P4Osz4GiS-_U zcAO6NkJ&j3ZwD-IveQQ?5w8}YF0&DHOG2)xK<7}Prx@7P*@gQ8EHMVUc?0>vz|<Nl zz@n&Gs-luOh3GPq+ao`y2M+uNKAZwse460NYMFxBMpnGagPOW7xU&h~^Q+HFs%xqR z>XMPDM~B0HW1;n)U}5L<lyDZvd0L^0oB{OY#Ax$jy`hlVIXmeWSYRc5vsJLW_)OIE zoq}hpbcPPkBSQ>@=XXKO9t_s2gr6nAR&{~NvcTM4WF&jQxlX^bN6^hGTs0F2Zi}Bb zstKom_T%7LM46!Jj)-e>FiLS);sUbGi@@ctVCqy@c`Ia-&R=u?0PcqX@719<r-NN5 zF!w1~`xLk$hj>645CJ88e>?Ju3XrD@d~i5^)~12MPE++M12Rtq{T>9`PhgEt5gYbn zT`@pHBD~{eus`O0pm#m4IfvL+8M?2F*@nX_vxBkH;otkX@*0@y2Rl7zTO-@87K|vD zv62$FW)31^E7YaO5towT#|NP;r+?~kaQ+imcsV;=>DHjObN2N+9k-9d58ohSWrPMM zg2!F}xnEELJf%aZHoJo>TVi|(1Vtiy8v*T31=rMoHVYy)e1iABMK$E~IA4c3X26Dj za6`lb=cFvBd(#w1&;>p-68Xti*#8-3JQzG(#ObuX1~DlK(w#x2s?+A+X%(x0sV>OY zI)U}8BBD&kmCb{l;YR~I?cwk3fztNyVC2)tfb$1;vUbIFJ-7~#Q;mOT4<brta79rd zsvR(7Al`phNvP=VDFd~{Gj$hH?y2&tWW*OQJU$96Qy1Sg5s6Ye`;vm)=^JDINsuHx z{|2<`oPa7YCo=Ex$kaEZZaaam-N+H=;`e``+wZW%ZPbUc@SmSpqYvvk1b<5fTl(SQ zse<PgTxCH{=N*CUf`b+L4cKOXuy6Qxyf)}R;9)1m{>l;X%v8WZJbwR%*!C3fIvvg` z(`s1M<Sf8jZJ_lVEIyg8kkdPUmGe9{y!{k-C>2<AD?Nk{JBV;2Yny~vG#kt{2fk7V zk?tt!>E-0o`k^BFz`r1?+z9NAbo>Vuo&;xBLq0PZaV#q}5q-$T;fPFSxD>GenU_#q zAZomL!Z*|~N`r{m0(yJ__L_(_u11c#A2D+wvYbD8mRL!BfbA}#0X0_Lsk}Cq*CX6{ zfvjRQ8d|;$<Td6{K8ZE$m$^|{ZKW~lj9e%7Xc^TgxmvWK56B7*q3+utk5MzxSPkOm z8uDOOMa>icigd_o%F%8vFS>AbmCreY0%$n`hWmvFDo64hbVe@aEXG#0%wgg$y&ZS8 zT{K<aNXP6HbV%Ey-24ypaz|xS6RD4unk(6J+3RYd(#TS@T^l9B?E{MSHCkg+=PJe< zx+V|VPqZF-PtGj6Naz1>+uN_KGsY0(i+RkB@-!ATtm3M#D_qNN?&CgmQ+uOK>l~-k z_R$D=%>G?#psx*Nk#~(oLbJZ91T7^p@f9+^xTt?n3048EovXZE&Ms!O($c68V8lY= zoN>Z>Zk>01F)9YW+x1-oL|uC*SbhT7sJrD?<&0Qb85qY?^=14;ZnfKsmD*nGzTMVX zM-Tn8c$gkVtK~rXl3VLX=~Q47buiMZj50||DsL>2uLDK3Z^j7O(|o}-jBj$YRaaaT zlABmJ)En0#b_b%lgWi)$nm6dH*vQ9Zq#dr;6?dhyztT)Cptb~tvu*5?x%?YsXU{VG znE#>JgDfM$DkL}PH+Y52YlRsZ!3K+ED}E^E$T`}dRzu#ekK_&36J92sieF_wZg&l| z%c&t^m|7?&h@UzKra}8D)my7QmDHEny0ufEt$TQZdD~9ZZp(PJMBK2htCFt&?EV2^ zbk(oegXK@LSt}zq*mtyTdXl|`%Zgu6cf_kZ^jfVF8MvmL!Z$oi%#{AIVOLZ)^NIY5 zRn7}IJElg69QJ*6QTp9m)Omj&{fmCo{9uoDMXJ|!Q*vwnXrs(1E@Cv~-c}(kk3Q2s zizXTmRVRBgkI-+}<-{lzDeG#bP}hHz)kRg>j#}b(%E>)+kL+aW`W~&jHBQb94frC> z!=7gPnLr=g@N}Vas;uhFAA!Aec2^@itu;4@yRJf3J+(})EJ>MKFBwK##6`}|4Ux61 z)4FTx{n>c7dxF>)cq6A9-?X!KcWaE{)*G7nxU1HZ-_t5F1$g}6S}O`$IjN&IQk4*$ zIi>0*B1I!^uJ1H`+|pfNB=`=Bm!TW|4S785RbF<|I%sVXRa>h5VirYco2aN253SYZ zftD`rs;7EkEu)=NRH8hzi64vM>Y)+fdcGm<-r4{}{9%En?r5W?d0QS8$Bo@;q1o3x zK|k$3#J?J!RBO&@jFwk8g-W26-t&Gd&>&>K8fO3NS`$dnmg?QDN#Zx;VLxQN){rvD zYN92FY7fC#A@+LFKwoeFuG+Iio)f7j`CoGi*9|*a{ZxXBsN<fRDpz2))>E%1$8j~0 zlU8c8<StRi*0f)Yi)JY{#bz<e{-J#0j&WAbOs?vF=4xWCv3hfLqoe3-eX^Rn@~8-8 zyrl!3yr1~EKQj;TrjyahZdbf^RBo4=%B+9TBa%PrlWB%sQ*WiNQ#LJHJPQa{HpHR* z+AY;bOye*1d+O(I?LSPn)d>o7owS##8`R&`*z(w$^?ahWeVUu<msNAS5*OFKVC8yh zv0cd<!+$0J&<+_bMWlI_vg+mdU-^YDYIWo-9*3IYuw7jHYER=W#&DHV`s{tKa`r5% zkC8%z1=?%PjgP+n(Nq`9&-M-Kt87tPt+L09PFi(qw6#4X!3qhC)USyta=$%PtVPUk zZ~ezpv{^KgR|RrW4ZVS?B8#f?+TVKWz-_C7_o&>NlwH?D+L?3w3F1HfEiX1V*we)Z zqr7|?s3+QJ!_`?UHSKfNwOw{Pqm1~jCYdd$jHeN0^Ix*-yNi=;M$r|clU3ig#R1gJ z%ATQeh(y;r^NhcW=acruye@y&57KPqMYI`#IJckU=}#5Ge`+0hh`!n`V0H6E>(PPv zGSss|D{p7B9~-MRQ~ssWimC=#>F5t5HOHHqX^|_Jd@3*N#7Xj@%V##T4!W;`MM~<! z^>BGv{;FlrS-!Ea8Xhf^>Y}!be%etwWN%=<>mRkvB;N08qc`v$v~IXR>x}}>OzGZe z97wKU|Kr}LT{7#b)zn_Q#A~e8oF0{3RrO81qu1J7S|WFIJ#B|LtMX`7L^fnO+o-Ad zPCMmbwN?LDw6c@sI&C>J=uP$lN^NXc>#Xr&gmwsV<q!U-4WMr_iN9;#d70d)ZP&_k z2};sp#TB)lQ|sk<glb5k$jG0HBYXleYPWt^2>T=z^fVLWtOPEoujQt)3H_xd^9uDh z+2XTmqh2C9Kj4z8uB^kOR390ldW$jQE>9FowCiBh<EUikyZUi4xk`Iz{7XIT^_&?j zoJ}3lvg>JSsQOc6(Q2uuoI)Eaiea@y=$1XsIwW;9TCw^-EyQ{)RvW1Q;>xVwp=L%| zF+ipiXY?Yx-Fm7j(hhs4?4x}bi`7xirGFKcYA7b_GesN3@D7~AK4dPjkJ(e~O|k&R zfaTt6m-Qj~Nd18^N-s!P<XF)Q@v(<hTDIYGcD!{(gz3YOK~~Y<Xl0PO9Mwl_J!u_3 zRhpb<ZL+7?6>YX3$^tw?ywghQ8;w>*9@kF&hvr4@7Or2VX#2fYM<v>mtvc+{pV35a zu9Y;Vh{AM4Z=i2PrjwDX*uBho_B;EB+1Lum9_qbHLLAzt@6?si+qkW-6=}JbHb8%% zPFrncaXH5PVGk2CMG9nRoAum!2T@#~V*IIn;<Gf2JDKkSZS6GHe}P?AFS%O&P&u?z z`euE#vB>Zl7qpkC2E+BKTC9w=BIH{0NZ?;P7v-m#+*%u>kJtKZ&5UtINv*O-E4Hb5 z=0$V6RnIJBHn!i}_wB4)L#wQ}(W@BaUFBREFlQI)4vv{<m$AQE&-_jNmE>*K)ZhF; z%c8#(ef9dT9eN~28&0?6ALhM4TQl4o8h8}=+sY^Bt8FwyD`4EyU+Ots!}X`gl@IFe zw2t;$tC?Lt;PSVWci63d6F2l>T4imcYp^?=enP*fzoc4ns}*lO3e*X#GxJ&Z&8D`O zHj8#zHP?REDWi@%&R9a%xUR89^TX!*?8bo_{@k)Ld*xcXrkmP9{h_P6r<IY~m~Pae z6SAwF#w-_D;4cg5s++&d*YNl4T0vKN_Y|YEyS95Jb>iRjf3>{wy;arj?Ejhk!}>>- zl?y4a@jorUp4ZdSv(wmM<a24r85*c}W_^GCz!HD$z^8yASEz-YT_0kkbk}reayR#W z(SCAjEt8&(cUvLSZDvpYJ1|YowsWeB+HZQ2=65yo%yFGHs=20Xy*N^Jw3qu<_^S9r z{VV-;;I;fBN0Trv8B^UuU6$vv`v$7Csagc`o0)c;+1Pj4_to5K?Syn4_37F;Bh+)w zb>BE-4AraAAvMnW9Ps<5C)>VuzQcjL=0N!i<<JJXTDhmWb9mpmr)syv9=(gUUwxO2 ztT6w5|2OliRZ^X#=h_%;vk~iV<l5~X<H~Pb*ZQhQ_7n4(ufDHnav}dhe_^w_v{grK zls?wI*L~b`*i~K}(T3@psGsUD{|zkirS%^VB%70EGx`h-e>E1kzPPTs{YIGK6<^gJ zJJM|BpYK25d*PcMm}UJZkMcCFnX9&|nD>&Wr7m2<jTb=NF+OR{@+bJO`|k&)+IiJp z9w=UFD_!ecy*(}6^Net#H5E~#?5gH>|90OuUuU0TmbaG3?4pU5(&*~>)w56A?i%I3 zs+ZPFiKfyQ_z|cU_{;wdvBM{uQc5k%SZ56OG;(Kmzjl2m$um_x>y^1Xu*RRse?3sd za@nZ0sj0rh(@pQ7zw|`ALS4VP!bCaQ*Pd^=124@1_E$3la)?}Frhdg}>VE6G?9So3 z#>K@5mBQL(KQhY)o(2w@znSS|PL85*SCV@TuXbnhrZ+x$U+bB)FS4pCW=#k@mmN)) z-H7L@`l6)%r(qdOT=!l3#BD8%@5rojh~3|6Z8o=c^Nt;FhwvMk;P%l1ktMXWw#PHx zeP48?N$RGo?q6b`v;Og~QOWjUl`NWR&2__NxN_)wL|)COqHRlsSif0)?A+FE>%F~Q z_LB$n>)KfPw<i^%lFyq{PcL@z3hH3>vx{+oK!ROIowNVu5!x6rRBz|{qMg-RiG`w~ z8o_r}KWn=jWOcE}*~{foY4dE?uU00#uXi|C3Atxn6%{F#mZ~w<W#KmuAS+*L-;vF! zuy&LyyRvE-1?i8~R$3|h(P?{_yeI#&KFZ8;t@@}+>shIoo!*m4RM8FZe?*#d!sl=H z3S^4atqHUc8B`ZKAi{}}PrG5y8)_8qQRO&H{i<TrEBlQS3J5`kx>VaAsN)_Wicw?l zuQW?!qf_F8mCO(6j8$4BsE(>G2ZX6|id?!|J)k%>LFH5b&^~3$P|;96A|F5C9AcK% z-6#`i?mjLKsLtM&R8S1y@>)5oGaV5lEGd#`tC}vd>S;s=(aUHeBPo~aXg!tfz)K_S z%A%C&$7{8V>Yf&-MZ4dcnOv8Q5!RNFo2md}*?nqaf03K@u2wg_npTmPYJVB2wb|Ml z*Eh9=l9gevwr<IjR;<;R_t-bNy*SOU#Al<4ySts%TS?EO_IN`0u^OeO@RPt|WB`i- zOXvshR=u>&@X~L_GuL@!L(_STwaOYGs|Whqt58$*<el7%9|++ts^?TUL;vP`dNp?g zHCWw~t<(!&FD`B$2n->w+RqQQzg&gHX-@^C7xfdQ(%Mta-13y~CeRdVmf;+7A#b7C zo+(&k-mq9XIHab2gqN%Dywfgf<`>xlf7$<Im)gp#8~PQ|$xGUM?YWi%mCj<jvs!0X zmF4YAs1gdxJ>t07>KSU+^Cr7rQpvEgVv2T1mDYxs0qLbvzSexz9w9YU0iWnk{ex!} zt<;-nsbn@D01vgSmvW!A3C#QjHETQ9L5f%Zg{7b_p3m<8#9KN`-;kN_7ydvi%T`fx zgz6-g7_ZfSuPK^pUG@Iz7}c^@(IBe`Sn{G(lG@4*<kQv~_sq<pH?$wxrqDmAs=i(g z*Qy5gQd^b6pGs7+eyYrTNpHk!^%AbqvVxIcZdJ4747;jyna`ClbMge~S4%~9*IU_M z)C;*_FA2G>hlsx@wTP2b&7In4|7_WfKiGXZxBfv}L@&MbM4YItwNt;N+D@Tbnx?vG zWtL?)L^Y<1#znEyUK)BzJu$wzi_$kr#eYz3e>o9m4GeUoBUTAyl_T{@>YFRC{yPuT z81f|9PnFx;V*6~DwL&eGht)ytn9DR%g`758i+@6wis{-77TP>h$!IR%&qTXaE9n(4 z^c*xqKjZfC4(%H4v3J>T>~&TzGfB=gAKKewxLi+_P)FJNEw7gwg>2H@;wHBfYpt|a zBl_gKX@~L}dm^9HQ;8j7w5Kkm)X!;c<utx%&yaV`p>nZpT3fgT^4j9A5?q_Mgf-zL zPhL*|RoF+-maAE;6*8||pV_i<sMq>+;SrlWuSFHnOz+B*<xU=otS6V+XI-++s_ODI zcW||EPIL<`OP}1k-D|}>IwnkRZqC$`%^y}RYHPoc&9y^f6Yp?eN0pyfZ=~v}*{YA~ zXBXjKa=09VEchagbazvIw0}ZJ(#w!<uGIP^3TT~pn*B-dVUARZYNYI-(&?WlN|bTU zq4{8kYHE|5raH<{JDd8;9wSStqpBNiGM39Fe9=2t4)FHW7t<2HpmMA0{tKc=;G=zx zPgpm(q}WBXXb*DgC-NI*v@=@c<vnwlm1r-u0#-};M!x2Gu3L6damcgPe(Q-AE{aj9 z_`7|`e~0$?YRW1q%yOanS>v2Yug|AaJf9|7(RMY<V|}$|Th;B+_61o~Ue`Vwe@M;s z-rbZ7dzWjC`CpD#cddWTi(JmXM4nL(tO;T$GW}ATrKi@0^Cj`jK4dqOo6Is8?Up^? zj+3L*HPOTM**@g@;tr*u-u{~NEZa{0Y^}A5(=God^;H#@nNaT=#t;3O5zq$HT+v2G zK|_7*ZYsoHqEHd@HJWI+T+QUN&_{ZIJt=fDAzS2QG|>#GyFAl>R~)nND34xDJFjoh zO=CGt6*&ZCP#M8R52Y^uln-P;6%<7buTfjp4=JFh)5nGEVjmTj*SJ%lgv!aw1BYmg z?8|AyMonmuy4RRXC8<3d_5~}<u4*l@_S*OC{IL5dns1afj@b9S<Fp~-xmPI{b(ObO zR`BapwJ9)wnyZ;KLz}Eu)vM^E_32_0<RrV3b<@saO|m}Q)9np1E3FjsU4I(mRKt*c z`YmzYyBiUwvpg-I2P(=3eA!$`?dV^U+6-fwUP;U7noG;oBsvi&Yu>R!%*|GLwMI5l zJH>w@-gR7`$5}&G>(#YK?uFo{H+G!e+w3m$a~?YneHXn@>kTmsZHBf=D@<$bLOeSV z<G*0t416`qs%~-;R}ou`3Z9Mb%c7aPt*4%-=XuRawzccpd9BmdI$CKrrh)op+HG`4 z{+wE0q^}oe>>4W4zT~@Z&$LdP_hc89z>mc{*Hq6ucMpA(IO3@*+8NRMNUZs_c{dPh zrRI`6Rn2n!B`O;g-Ado5eK6LD|4hHiYDOowvC{^Q1j22vDy#n0n;ZZ0^l*1{l~G+? z6^+HJi)+4hEbzpC+27CHZ@wUp9Hw1EU3Jy9%orzHqnf*5zqX18<^{r%tw7Jf_CU01 zsC0d<E4NFA-O~HI3#y*(*W!^}s@L|1nAHLY1Iw*i@`gCX#Xao}OW*Bkt4$OA^b{&Y zwKK<?P5m2v9y>gcLlGUM>Ym)L<spMZ7wRFdBs05rFej=BdQwt0v#?*9r>*Rwp^;HL z?rG=xiTvuKzE|YaXCS}#2jct#0>%B=ttdOQoU3iouX+b~&V_6YIZYF^D06{(vaH7` z=}uB6t8n14y-s%0?r1}`P){3IJ>AlWQ8&K8MXdaGPk${~Ey8!pvaHKIz!>8CBczv6 zDx|xs8zO9Vvypp;xrY*@<||``o0{yYy6C^TI_Y0MOI`Iv8+{H}WjEEf-k8n&&wQJG zAN>(Br+SVGeYbwwQ^@th+t*kJz8Dk8?yeJfPUGd(<T~a*rm{!!2tA$qBb{(Z8xPf5 zeVEdyq<UtqwVo%>Hire42mau->aeKk?&BKbsbaJaJ)>^&vB0l#sjH6P*6Re;`cK#s ztc)~U)O4+LYod{Ntl?Jyy%p-lt9H1(HK6&rnQ#0}%`{>yHFlNulyH09J&c+mjk!0q z^?%oM(_X8aG1*_w+G2;v`#f43=#Ftc&`x=qXkWR3Hby?=VpcVKyT7!5bRehM)?O{# zqJyifYlth29^&q0G*I7B)mCsHFw2SJbi!Z2T5P*`I&U!!c}^Q=^kLqe<P!I3ulikW z4s5Z~`!e_oTG`A?DwQ}Rw!7aO*W3-XlHUDd1#A9++{iT{P{SbACa}PMY}Z3YJ;9jc zSt&-k?z$duCHhCb0&6x6JPg$H4@%x(-LtatWKrG7<~n2))8`ncjnl}1Vw2{(Lu3mj zwG`%1@XTHHlN8-{|K?hvop9GQm<CX38qIU9>E^$It^VhM^s+B<skfr8=egd>RYFU2 zv0jAzfi3b6cSXCbc7P9<*Ud|^6iJ$*ukti9ChMczOSJT~MXaHWywr*ftT3|$rkRCN zLq+Nhjpd%lMx@b3Z|vSdu`<1Hzw3m!Bo`X1>~ZEfvz6RN*=Uz5zo)%6!D#0)`6Usm z&qi`opqV`dY4TB9DzE-c>*iVOnrx)da-e3fOm72Etj8fUtQETCVs;I)qE%dc;eMj0 z=cK+(tL1*K?W4N9oxiJ${xbFnbG~`c%C2sSy4p*9hNrI{q4(01@t#`AKYdZI9r{1A zul`<=T{JL8IXxsYxH`ET=yCc&W3AZFbyNpxV8sMVT5j{Inby9*PsFd<UDqX7vam&j z@zlu0UaPY;*_)`kio)WX^%`in&Q++5=;FC%j4?{OKIyAPMlQxacAJl^_2ynPU{zL? zv<`Y<eSv3^uC&}Dg*!}pE^YrFYUv3DzwDDP>!|;W<(w|IT`%oT)^ixI4Uf3QnPq*} z?4$nt=8-^ZbB39f_fb22h<?!hLdz#&>9sLYrM9d4bGYUk>(o#2z<w4e5QwuL(>PJg zc<(u`ZE)Syi=et0Y9CYe&3A#>W>0I6Io~czWwe3%V&jmjt5y{?^%p(HerdA*g=>oN z@IhK{bq)*+th5&kua@4G#eD}XI8kd#`8lJsRHnecffs>$rq}#U&J(@$Z2AXRVdJQl zTW!>T)hb%Ot(s<t=d6g}Mxv^@$e-C9D}5qPD`Y%y{|$Zb5~<X5S;uy(9)ZsRGRIoF zl~MgEp6ECA7p`eWA$_dMX4K=qte@ba^dZ+Mf@V|ZKtiAaVq{u<gO=G?<Y{X7^~>B` zZM56k8SF2JYuU{&)?j-zd$i|9KVyn3UdyEwRwY~kdD1Rve>2^oZ>Rv)+tl1-?lh~Z z-A1S`jh)`!#tXd$YT`(B-+G1YwTW5U3bm)ISSqULcTYC{b9wY=F@jsTM%Z=L6?3Nb zBy<V?)N*hstB5rjk@UKIzld<32>GNL`be25Ysi~s2f4^>YTdD(+qHQBMd}sZH;w1U zOZ^mWQ_T&JeOZ39x?1_eEN-I>;SJ_sYn&OTBHd5;w7ahNH?4wx)_Q1Xm1Ommqs_Bs ztaZ~msd9*gT4_(b-ov#_ODA&6HCkpXAU~KPR%B=idZu?(<LwRB2Xm{+@0voEceneX zmP4CwRafD1rB#M&TXn3zk?$4czRK20x!UM=j6q_7m}XVhTUrHauQ|yc9GafOjNiE= z^5>RjIn~lNOLK*=aZn2px6KtQpCyo=r8WPu%9<BVFZ*Ou{UN-6vDSu?RDJc3n)^2i zPJY1EJmECncxPX+%cwsBbLfJ;S}WoGsQ=IhA+vbFU#+h4zWvy`Ydr|Ov5N94wMl=3 zDsBWl;{9s4ny+fvr|DF(PkeB#6fyQ7wVj5U(ShE;{$%aB>y_(~K1u#%*W^{mik8YV z@&(p*RvzZG+)2M^l+zy2VePOyr&7rd{78QGv1_xwPz+Lctj+RIe`BkfmKN3GJ)@u& zq2;q<ohNbZi~LM>mHq5i_9!l_%86dOS05&N&{S=p%Bz;k8e)q5!kp^rsfB1ORb6|k zoELazKLn#@HF}_W2ovk9Y%0c%lG|lxl^s|gC`a>KwOkC=+v(F#^B<$id`;a{&8V+= zol+Y4wf-U?$ErehA8R0LiM-kw{RlGT?rOEYU5&OU%DQ}7RaA3i4K-Fp@?Y9H?YlNy zYpWL&6KSz(A@)*td!jZ)FN;`~SGH7tTb1ot%B$_s>gdC@uHp=`_nET2yrsUYD9$ab z$ug>(dcbeRe65kzQM?rm$fq`QW$~VGsv24kJ)c&F2dn8y+4a?Nu|><Ljnn=ReUP12 zSC3?}4B^pSLk*X|$@g-l+QpVwEryAnq7k))?XL4EUImP8&?<-%yqLSnW^#u;ShW*R z#Z+yR_KnVRHFaBNL6$Am5tVFrm7VQA_9<D7%LyL|F+mjMRBE8w!h67|4Y?BPmmKt+ z%c_7}CkG(=ZXhh}tTs^iX`@O|JJmVWpIUGyj*~CsH<?Q%@^sV~PsKcOghI)~bLc1k zN|mS~y+LkXmFB5Q^0VBpEPRq$^NW6B06pYc{0C}8lO|F-{+0c5pxUhBc`;%@e{qal zbeGrgbN<0?xhgH7E_8&>^Gd$RDY!LVr;TE`ctLH&VmcGt<93IhAg*Vl((K|V>JBfb zb+k=%7A?iUG@5c!8oEHQ=o%`#(uhb2{7%i~*4zzu{N!Gg$OGvDpX2JN-2SAjG=-e5 z5Epm_M^KnpDvpRjA{X#BlqOJ7vS_3jOg63Nf)qvhxCChwO}jau-f|m$$Nz8vdd(5M ziED8OzM(Q8o9j#ASix>lR%8`vMFla47DD2YgshQj2lp?2;bC-`HToYA90k<Q<Cffj zkMm^Cfygq0KkyiiLuHnOw$d^3h?n$>Xe>Tsb!D8MqI8>`6a5R(DspyEr4IH)i{w6B zoE!5MPK8<Gf_vv4aVT_K0P7q|e_@Q#;x92%SfZd-LAx!sh|5A!2iijUL~m&LEhPX8 z&c5SfR1mB9lcrKN8o{$6*%sskLm=M?NEJmV=?CmRo6?G5$b;I@c-lm{=@4JW?A>V+ z-Gkn`Qwiwr4l6E9MW`PnuSv`yw1Kmb4J!_UEeB)V**t~ca}s~$7aY$yp`Z59^byKH zr)e==rq{Ty2rA^F+=B07ET@-SD0ShQ+>FQbL1=v&*9)F^f0s{kc4|%O={I_ZncnkO zwh$-UV2t1KJ(sdLPqy#?{>hSCL8gI}i>~lfKFecyBe!Qi{{<x6=8ya=xTp0xFu0sw z@nc@g3!&HIw4CPC-@sQ-AU-p6dkeVe2#Lp&^OW5TZq79@&Nj|SzfdHd4t8D|$m@aT zIs6(ZtjJqbw93U3`3%S4sz}&q4v*tToCrIPrd{-m{zro#a|e94cb?3r=2RYQdJ7qx zt~K?z3-{xuT#3WDK0I?eujU1OfRFGn?u$=WK#N5%(g9ilc?*-9Qc`yKW^>ZX>3w=1 zX#X2_yn-2>-YuuN30P+lcjKizfxF}P+CaCdekg)%)<T2TVUyex4=gzy3OWNXXXzGg z!*6+^W2gU}v$w1pcji#|M3Z3m&g{UT(<P!WG}4Wy1)tbG$Wu}6l;O&_(s?Gl7_d_i zV_JNTA3)Pz`4X<0ici~fN?5xKaCaAX?&KbLl@*%J$aVO4_{ss;%jq;TFxZ)LNbtG3 z7i?pkJNWD>UT?rV>tPS4D{2QWj1gLLfBp@#JG-SC;d@fBAJ<-ZO*IbTylkm(F3*1T z8`l3u<wYf#8nX=mQZrF?pt%vX0QN@E4Cr<Q-YEy>jA4@#V8{3HHp!3pCZw9m)!{2+ zA@y564V{jF+!G+lRcJmMnhC>|C4kTt;FsfIyEC*0wk`$@JN@J`L8~Kyv5r&)@3o}e zw1&>pO?bixYKvDdNE6kBO%bSxbWssGb6>=WuJG)%qPi#~QiwXD8D9C}%U8iW^Qm{R z(@ahJ1K$lOJlF|jBEH50n@525J6PcvM3dS;)*tZj74XWvK*)Az@Fg(+ik(h0UUK%h z4ur2>XBV(v6~2=aT=)t4-VGaE$F+~ZhW~>v?Etba!5fz2YcFhn7#9Bn%v2h4l*0H^ zF!xv>W-<_Qn+e|RJiXW$GAxDvZ3c!LL;DZaTc9upDv=FpvHDFlP-Rt3)kF<b&K|FM zYP?#n{!wADX(#Ro3)co-8gT*6$#pS$Uf}RA;O9?_m6kIj+LhyU`0b7Iaw~l1cwBQx z(-_ui8hqB-*_pgO_>^oSX9ag&<Nc8S0e?Y!YXvRVr$XQ%3!g{8^07eX2XKrDUmF6? zays=mU09r6ht8A!P7kMp{27`V0U4Z8(;za{0iQaZH&;SS1mAxJ&0l1vuh4xk;5+b- z!-R>@-5hB3G&}6Mi2nn(wScxJVWcrYeKUM|JlHYM*=uzG8nfV=r=b6H(5DC3YJ#|C zBfcyG#@FJ$<?w?#JQC|~0PR+Xe4AjEmYf56*?}u2B6>L;czWW>X_&PMB1vm@x}#oz zWgbH>GcoTbXvEodyMPbjx=q{*zElXK-v$?#4DMK8$|Zt5tl}U`HuAu~_hIe6;B&X( zh_}tbW7FZO?ZF;J!SU1JOId)UuEEZ0Wx>)Oa=avU@cD9QXSCB-<sCaQF9+hfm&U>? za)2}X&?)MLDtrno(--f}M>HA-&N)sW5Sflre>zC}aK{%|#pz|51>>ist6-M#(8*3@ zQd=<gB{21IFnD=n2D{;v-EdV7{5u8c-V*GmwjX}jftJxfh-NprF>;eC^pd9{29$)i zPK3AmVYgTwj5}-4k>Ea$|8ZT!-#Uo*J0YX9JE1e!_%Oy8g^~JE56IjGYaJcjPu>Vp z{sWYiL)2qnb`fMc58LzrUrhvt6eqK@Yo-+BX+djgaIkCDUBuy3SoQzF@!t?f9<%do z=_%**5c-852A{omc2+yx%m?868MOKwhzchIG5&AFwDb7a2eiciZO)F+UeNs`V5T^D zW*T%gCivWR0<xuMM0l?vG85;-gVc!R&d!J9;Lyd8t`g*a1-Wy>uET(?-LQO0a{6m8 z!e~x!Q>TOC6!2m+mj~wW;hiJ!u=kt+8qAM;U?}G%U+{V6B%mrzRRh{Kz>~KDqYL2O zgPhYnxB@)giCej_o_$=6#soXwL__xjp{YCg?KEP;4$L$GzTE|@TEg>jZEeKd3b=DV zR{W9;@I!TYeF@IQvC6MXAaBY5Zg`_^sN+hhZ1A&+$mde?8TB`+f`WWhJyC_hLW$s_ zv>5GIc*D71fAVVhxf5P8G<Z6~I*fk;`T1=w1Eg1ho^wz;<XvNcz5G~p4q&$u_&tsz zfvB&D9Ib%zqlgIU!76XTCM|;dZ}&SpT_AfDt{e{?6oPiQLSNZnfi|%ETCDX8@(!m@ zn!vbkg4xWz;2x`Muy`@({|T6FCr<`atML=))C2Bwa>1XNB`r-rENX^q?;x!No_YhN zXMm~#z~S$R+fVp6L=2r;BWA6D9#_G}w~^V!aTqY(3f@))xnyd1NmKYlBmCZrYT@02 zK=Vp?d`EcO-QeD*S`-2_6~UN4g1a>0Afp$^&qU61{*ll}@nC1A))?nkj93o*SOO^Q z9qchWkG9hscvy2pu`R&)8f0Bl;YnpkaUa@?nd)NXx5$3tkaLbhY;)n-!iXhK?xev- zj)NuAA~XAd^{qrSJV8s4)2@VsJHf_IcQ{9{eGwPm1^a1-VgC2f&pOyDC3Qxgnt`0% zDldR`XP?>+cJ>*(0&^DtYEwg+!tlG2kh2=@n}U%-P=PgvwVm#TufYOYkT+zYkKh=F z7QchXa)DVIVD6^4cO01MJ-i_Un9k`X$@u)B^LGu(2X+|%FFOc(m8Xla*C*h)Ex36n z{JJc7`8K`}b6@B}1GAc7haAYzx+4n>r#D=Io^nm#B`+B64dy+A>qE#{+4tannse~{ ztH9hicvnmKOe|3Nn4QjH7ct`}M7S)t`VX+(YUDe6k=>uA8{n}O$XQO(208@0^rGp= z&gW1Jg^II4!(6a<b0DM+T>{5-#n0nljfJ!sY&wr-0%1dN^#z)YS8IWqS%?8w!D-9D zfn9<-s81l%S%GWX!fuP;IbC5H7i|0(YtIgQf5BQGfNkRtPx4S@a=MruM|^U2xFkUC z%kYgx@b#jIYdTor3jA^({Bi@hv@yK2JAR)89x4le=n{-?+k+iZosRS;pp_%IVj`ky zpJ4s93EZ&+%;I$5O936nBky?&rY(=Toz7yZAzN-lr*fz`ZX$P0f^I#)b$VR=4Q&1i znSm3rl7kkBW~Zx}3u`Hhkurlb3!q-IU}466Re=8(u7zCP!s{wn`5<U?B_h};e4nN7 z#K^e6zz)~xIsF&hm9z**8VZ}tgJwHH^UdJBwK2D|%cU5i;Rsl1Ww5vPc2wS{Q2oWA zDqa!n@mU3Tb|Z(`8{)Sa@U5j7$Jy6^7M@oJKIZIN8wn{KW)1@uy5WkksO+3BWuswJ zXBX25*ls*<JScc3jZ+1^;q=Ip$^qX$xgu)6s(804My!ZYQoz$C{LJYDUj(=<11a)C z-rL~q8;B52N9eb($o=5{S|>A9;7BK{JRj^`R}tP)4%)l`?%RORA}9hjaB7C9z;8b2 zIwNB78=zn-9|MbDL^W^|UgGS%S&VqU8I{Uy%=8?XxQQ7)qE1SO5uNi&Y67?AVA*Q0 zXJ(9=60DU4vd;#GHNmT5kTWwmyC*s$@^1x(hv2tH(B>@Ya}c!H2?!qzbPvbZ23*%3 zcef7aHx2QX3jSOPoEm_2Zy*-EK-P8;xroyZ?H@=#1&BKZKRgGSj|aQ!-NQOR<GmE{ zC1*cWZ*tDtX#{4d5B^LIglUM@Z=oLtc|U<mLC!fdF&NDa4X4NTpM#yZZ^Ew&;hoaB zKN<5oCrr43w@l7y3dj}f12xUDwsQDA4sv{lg!eJxPt?EJG0FwZbeq2+tGkR`ZXTq1 z2XD)Y>#GL)$0o!7(!ichEH50Cu{t%z`itOIO1cq@O)HT{kA`<HgHPTIp4H<*Jo_Df zJ_O!g8N3+|<hz_bDadKMfv+cnt51U`;^`W!;Ou=W3Jd>2&OYZdkSiCi%|lLC&llih z=iH+EV9!iITMcN;>F$@C(joSa02>_xRv*A`o>PFb3a|JK=5h9g#sn+n{8T!)`!-cD zUo8*D&I?&S2hU>Ji#+`!^p^s7CSV|z^Fq27u*M*)ei0-o3T%WzODX6Itmo|TI)=P! z7cjUg*ul~1M*SKq4xtmlvnW2m-lxC@1a1F<)sMvLdg0%Fz>RadPBBD+0PJ=e_MeB? z{f(WjoC5ZGg!mo<>*&Zb{{@rv0IJ7>wZ;L<3oz?C<O-{CZDy)~kvbug#^T<ic;_MR za_qMit8x0L{)@Zz;BF`H9|XRug$g<hwXc&IjX(uI5Wjape$yh@`P}Kleml6=cQLs3 z7BF`m7<-MF$k5qm;O|GUCh{Ua-p5Q%SC41F&}z)I7kt|vnOp<T!@po2r>}Yk)LkR+ zZUc<}3o4DOs7%UpeZ1ETdFs&MDx6-eI`rzpXwEq(Bj7J9A^#RIvePfS8MwPM^2-jv z-C7g*BqX~E?Vrch&vE5H?8Lovz<Cr!L(-SP?tWBF>p2VZ)QYJ1%3!u3JR23u6l9)G zb<+p2us<rnAsBx?wD~9A-GZ^4v!;##^XH*8XD8~KVE5<8!Jg&&5k(F|k89wE7a-p* z+%X;Z^bYpposB3m0JU##tm_6MLQQZ)b435z@Q>zT_OXbtJ>dloUgv^m`r&=&q?qRz z{~*@%A69)7E4&<Ju>(NOeZ;=^u%`}f7lnsa018`RtZHDF1{lxb_F;Hkot%@nQUc8- z;g5;%tnWa&b1v3J$g&!C{T=Hs1RJ!0Upl?9R|88UA@fLRdp$J!H`cW!*uQ=Q{C6Ir z<^bSe0Z>s3R?CSv`#V0l1T4IB_KO1>n}U0_?;%4O4_+IDZ2mnvJA^HE`pS0+?zUVO z?6_VaxNBK~6HY+Sogl+x=yD{G=#1M8R%ngUyMQemFL(!iUkyg*V_>(;V4MkH<wf9+ zqCu9fjh{WhKcz5BacHqVu-^t+_=dRU<i=_7ehbW+8(!KES%&j>H7CxD#F{oiqhEpI z|2xO)H9X@6R(uYqKZD=Tg9V(Ev7Ga;{(#<=2d&=@sB4ExpbUFaL*zrXu>!1p23H;l z{tfd7xVNa&!4b@;k#o}9W!&fFFiywTInev!;Qq-zsG1va5w66<P8X>Xc>O!1`X6Rr z65K`U{N3<4(DxZ$cNka-;dAPnGEkdm<BrhVSbV-38h;K?b53({POdo&EnR@$f5mEE z!y@;<I#EDJD==ea=<Z{%A9!9crG#c4<I2au9i+EVHKc-FoYTw<)Gi)edl!|ba~{`o ztnq)4X%E}*syK{S9T;1I{Nf-o!1eSHmF+fUiM@h-zSG0LPRG^+u)L3pVXh0vi=Ogw zF!ecJCXVtaQJxHuoqCC<^oY_s&rk|foT4H!8|O@i(UcC}JwyGeLeziifcgzSv<s*@ ziWzPTkH|!cdV4;oYm`N+%TvW1U}g$+RsV82HIQb@Tp|}FpFo#^#oR#IPkD@ot6rR- zK10(FgMDy6admCJw6%63no{aZsg&@k<yt*iLi<;3;!^63YN$G^Gc-|+7SH)Dt>Oig z1(-a|Q`8YujvC%+hkRNAK_2b2tf8k8qeV%5zBnpo&_}Ji`c?Bn=D8{rk5~CPw@_-4 zR-XEc2DFE|fF*|UL^Y2)s<r%908v1$zon*j@aeJCQ9P4l^-h#kd#`DlOOzD>u|!qS znyH4oNi9%CRSeekk=JQ`gZ)7N;H&DQ+No~K%xuXjoUCplXUa;g#By<2Ei&fO0Ntgh z*V2orqP{q$;>A0;p6j9R-61DY9%MxyNat_LQitVQ`BG+*V`OhNQT~Z)x4HTObbp|4 zR7!o*?{Z$fkrt&*qweA*^;9FpY#G60<q@^oj->W#5qF|gSWQu$B?rp)@~Aye){x)r zx^kczEyr*Zbrs%tMUK$>^H4pHHbEOhH$-mnLlx7ys(riwm3Tw>h2qo&nhtzShxg`D zo8@7}c6+s4#>!{X!zW~aXe|y|g(ctUyH%JmTe$QpR8)(h20Twop{h|;b&G$KFGZrN zFPdw!$wCgCn!ihp|Fegx1i4X8SBKOn1-4Qh#3p_wN9sM)WWA<nt99ih(Uekh87)p` zrJB&@Q@e~NSkqGIzl$-Vr*KZgZ%qAU2mV8~P_xx`o~IP>R9oDm7<t6Frq&vFMMk{@ zg=+7qq-vwpkyR*G?&g5KRutvWbWJ-#A>sy&;Qv8}XY#q)qh85#>b^RteqoInxlT*@ zR-dS5=|U^3{X!MQUg{!Qw6r6+JT$V}_KK4{je6@zSltyW!(HJcpJWM@i{}FCmBAG4 zs6O8nMgJd5-vAy-^L<^_-GkW9X0x_!+qV6#ZQIswZQHhOBfA@0!|uA@>G^-pJlP~O z-PKjM&N=r~wyQ6HrOi|96erh{YfCS&ig?D?Ym=l}+9aB&wWbzoHrVOIn#tKLAOFgJ zQcvN}GPO9-k=(^%s8ta<3?I>nkCM-7-<6Miy420kRN5uYW<`|t+EaPFSVAqtN;;*^ zVJTop1!W2gld7<?yuLPw-PAI*_H;v4=#Q2x7KoOt1Ra)3izK#9sX?*EJ-nx~j`k|W z#CaCOZmHvGi#AUj*X~KFnoaJ_cX2n~nvD`MnnjdW+tWgIC}LHNs)}LkhA_yp*e9*H zv6}c}C?dHl$0<$Dg+_jp{yD2KNn1qC)i=^|ahyA(d~7c7PkCs7)`#+IeZ&oMPAy62 z#6s~4tBVa}RK7Xgm013iZ!o-+K1rF>Uir^CLT;m_iqfLBxT2M$t9-h!%Qc`Fb@)|r zR|^wH?X22fTvNATW^St$#W$*`g~(^c9c_c5h?s8p$m`2@#d^7^I3N<Zw|brOX`!@3 zjg<=13u%!&iQnK+d^=RG8Msu8wu*L|2aTruVh5`W)vcx{p#SL8<wJNO3af(THG zI{Qk4#V+lxIIFpdFWOqEqzF_hOW)Z6F0n!)itdV8YAH5X?I31|nPQZd$R4Q~a+oNo zbupUN8K%~3zrw^a`MzkQRh5PPHZwYp&@AU`K9t(9yUJzpQz|E((irur_^K|^tm30H znl;rrQg<<tPKlCAjJ=e+m*=I^#sf4{j?h*pqwH25DsDOZQ*Y-JQB!>_Ez=&zjih=| z?0(S9joMS{p~lcUZJO4KN{TRex@**f-;wS)(oN^JQU<2{;wPnNKz$Q?FJ+)3k;1fv z!Uon4lj5{yhFwI+5W}dsC?aHPrdDLXoKxwYR-9Uk&Gbz)lC#y3^vW<=eQQpqtIA~Y zTVAcDh+)z#M=lFei_j{yKhUt5FOX}|f6^)uLf6%G6r|QCRf|<$({3%Ct_TTk<Ch#} zlg+)ga<aSODtjpH);btWwiSjF&f}uKXaSA9to@Mtsa=fGG>vy<p`wdutD2~%b0IBp zP7y`4xniXDk9KOem1M^v=2Y4`Yq-r86%6CFcghJhhXzPd4hxTQZlDh;lQ)PJQY9sb zcFH?M7uuzL0S-!vzT$*BgW3xZ(Sy|&*?g1q!T#BNTXiTUm2-SFZ^y!9yS;+pj3Y)^ zpld(0?{uFZ71Ip8*e(8muNP|(Ei28{nz5eRbMcv4i3qIm+tD6lfU|}2Rv9PAttT68 zP(=}=K^-Qw=iQxmrLt-OPuB`4-KdrFS{Y8BhAHACG`}3>5kB-%_-JR?H)NZpe7FcV zykig4G`9z8h`E+rU4G1RcnSW&p(&qjHg;VdDV}O8*g8I6q#Ac>{{yd9B3D_}6XJ%7 z)qzu@C*rntm3<ZUxsM^!{?@dSCG)$cNcK*CBvO<I_QP^MEwAd&Ham+^CDB1Xr+FH@ zq?Y1~TtyvA%hh?}hV!Smr`AvlGOoE{y-8X-gS&c+#~Oxfx7-xgUl|T8n6xnJAU(BT z=Cjl@$jSkd#-{V0=v7f=1D(;nQ66oexT)2nbZ0sp5-qjY?2Xo4{!4>Y)znqZXNs1? zB?~{m^%|U?lts>DIJ6dsZ84rLdGhy0cj+dVl^I%9)(E(b)odb0-6;A~Iq@4V_CAYL z5**cxbC8>doAa<j%1cU-ORL`{T|KQlODzw7>?d#FKb4w>t*pMG5qm5CV_mcyEgrq8 zruouDk*p=NI%2X?L{(Xm;;ki^9+91s*uht;;i3bNvzO!fv=QPx=}+hS!z&xU(IL2; zs)$TuZIpUUTdP%5mx#P{O})qNY6s;=QA1QT&Q%K-1Eg12iKekOLRE)wFUMf<NxSJR zqu<@n=Cc{fZaC*!QUPt4Xf8gf+q6w0M@`fmbW&Ri{~0EI;oY@H#*MUAUS^odZtyHP zonmTx{@&SC%@pgM^F$IIgfGsPmrJ84T>h?o(%h-1%C&K#n6_8@MPEfx66_Q6P-=)_ zN<qbsZ!ovvljLZgCH2wXv92`ADf3I}4yuXlSCADo+>=K$Z@7~z4bEJY)~3)C?VVNz z{_3B0hhGPF2a1F8T|)t8Gf&}P<i0FbdZ!Jc6Re>lo|RJjVKw+k>c|er4VB02k~D?o z6D7q;k>%JaDyaWcL&XMgYYJBDCFFbJ77sGS37hc*yUg>jP(DZ;)Aq5)_N&xIeXFgd z8a#&el+G!F7D->A=p&)g71cEDfjUqv2lsYaJ4<KSP-(kxm#ZiV)W@`)`AfeknlII? zniu<HugQFY87sBowRuH(gHoFXDWAm<Y9fAVw-BS9;)*(z6$i8Tv(5aXG*a_1-Dhv* zea2ICMK;neF4S!-P0OQ}Wj)lRbb%%D!91_wmsF3R1a}@$WieQ5Ckkn`M7G+3ol@t) z%XgF-07Ey;Ekr%@B+14<@q+9HYp5zxA;)Rx&=_qAM%z#J<t0p8SbJIU1nmmzt(_6! znx>W4j%nMevU*LL%wEa0DaBwm?BuGOpvFpRzJWi5JG@Mt9fACR&L#AP9K0XTk(Vfc zSb{tlYs!McEDEU=w3BKtb+6V&JFRVHX6dNbTn;d#QL3p04@b1~u)SJdttj)gFA|kB zFV#kUunH{44=W{U3~$NuXzy`mf|IE}TBO<y^FbJYN$DsNxtlN0XX8p`2HV4XW6c@v zOk=X+33xD8T}^4Mrc|6wG-P9aKA5LygS3L;nYzH4parV&>Ta!%7DE^KQ`VaNO`%dR z<*e~FeUW0tdS-Wqvt8<T=L4#!zNG_fhU8?U<qWAMnWc_mn|e{Jp-y!+QnzUPosG0T z;<@<ElX-D*%ve-@BMmUUpo!8_QJc4N4x#Z{3+GPSqwSzsY?r*8-Iqtn>*yr6(L~iu zL)5A2Y_${o#vH8x4Wvg>JE<p?GH#Z+T-TV2Rqso!0ITIp*KC^XTqfFzjp7{dBvqGE zrHAqbwvzp1Mm1Y}bxu|9Iq$1=)IRD3@}dUtGnJ{cN${0Q14BG{@#m_8+#O5APW6tX zBn?*+s4`nACGaEC5jgIlTxf}iaFi;X{hdv;n(7#>61CvoQXA!q*kqEFc2c}?t!TnC zon5K6V}<%s^Kx{d%GzGGg<qC-%V|79*+vCefT*R_cSfp@)Gp2-@m$?6uCffNfnl2T zT#9x3#!8zN`88c*9Bl7pFU10!2Q-=8)(XnScv(YvX^Ol}8YBL)o6cj}L`Pk<taFO< zxmrv0#7Zq)9;j@QuCi`!v#F$UA^h%7VRU@cRI5T+&Q986tQMNdlcj=&$C8`;O<JoN zSTW}yHPJr9*;6g;_^mm$Zj`Io<P>ndi6OvkjTq(DTPzjHY8__@wYdEn?RM@GGx#>P zNNz93Dn%uu)Q|sgP8J&+^&M>;Iga{j6=!RzPUHD=(*$LSxeRM<sBE67Wt$f`ziX@Q zFYNW5Lu?5wQawS1<sd1aVTsaNu}e`{Qx9~0aNM(JTKCvWIm!9RQGu_eC-Mh#Gr6E! zCFc(JC48~?ZhT>_Kw*|b+GYE0#{k7wt*?AgCd-u!3Cd$>Joly)?Vqih<EyQpb(}p? zUGFRbzjea!R&L|f((uAmjs{ArO!4;8rn9#1j+@pv8?fqFuT+CS>T7&wxT*vhOGyft z?xkrqqwR+6g5`yMqw|8e3xy}+W97JK7t<x_hn(M%>{h~lh)S}=ocwCfTvhyseAd=< zN*-s@jIWfNa+-8d*yyS4fK#%RwA8hCu*^_Rq8T#&WK&PmS94d7OJbQ}Ms9Oy0C%(P zmiy&KJD1qnsh{{x`tDZR@W9yG^hz2pmE^ym&C?wT_MMjU)@e3<PIs}&N*mJ`qqkdc zIiKe_V6mgKv9*c$aPBwxpYyOSuLyKhl+##gLo2gGZem;^H|47+RZP{kIfpuiS-0C3 zSQj}oRYLBqXkeyFMla=$^2<<PHSj~32TfPiH0K?qf+b6gcWh@#ax)&|wnLdBTa{IO z5L+UAM1N7#(a4cvO|lKMuT(qHK)Jkp-qZ?h6ya9mO=P_oYfEQ&w`<n*h7#H^M=NcO zvzB2l6)<|4TTA~b#pF6XhJwXBmZUzlt+!`br`y*%8i{#)ptR2TS=psjmu5+llE=A{ zif30aWr?TiJLP}2X5xpv4kIa&7MUZIdh!f8o(Hk-B1~Ll-j3z=G<&#Xoa2?&g9+)h z{KDh|-}sc(H)g2etcdl5w#R(OUe~x+{jAp2x;ssVX{?5#nkvZQ%0uZhcd~w3EQN|( z+d{`q`(0;ixa$z5hg`+D+Y}+UlTJtl<&WAT?QhOt_p4$Xn<4+P_ZJ&&t62ldkEWQK z%9>144_<_q)tCrjFYMbKH>@?CEuHzbr+kbuRvKgKFAtM1&>y)LR>Q+{{Aj*gPsazt zX|2B2!138pK^ZF|<sqiB$`^U6q{!uIpL&~CtN!+twyAc5y4NYQd&&%1Q|236$qv?p zuYzKZb6n54>T#SN^Y-vZHN+e1Kz>~Ir=q5Y#%9VLp2<zpR&}%5oNn6l*(Tflopsfl z>O=X4GF&=nd@Xh5yF_=T9NQpHW$#r2%x|>g#*tcenrZ*;{Lk=}&dSG3smdGWG+!@Y zBru*Hsful|!|t4|Jr?17hPk4&+Qbbt<^A*@--?yzmfTTVLGN!`kWt}@SR3uK&M-{i zW!VvPF++f%t@J>uAvJYu6l+9z`x@JL^?|mPijmoTNvWlz7#8rhEJw)PhkvupvsCbz z#(zmQl@xUqeaTH{mz3w)bfd-aLhdOqV8!GX>TqYGm|-7mE9daj{zq=&jIz|Yj-NJM zV432s=+1VDliH8WNA90YN62JycXkv$*5CHWN`R1Mt0`F?q+DW!q(Ai2){WvEjcg6= z$JENqCay|>Zo8#hasq!zubrX%p?Jj}WDjP^z87h)aU6}(+S>=_)|1*{9XQssz-Urx zNN!A)o7%5A7ikZz@2uS%`$ay+S+3!PvReAiAF}c4KQW4hvX_oftI_YdQb8FaEmoVV zm2-xu*X7Zok71|zso{chiH1rgwPyCVqMiMv^@Y8X@ZeTBBW9j21xs64chO%R#_zKj zaV2|(`(zJ;lwa}Es%rM^LDuf_N_K}^O@&RTk)h7<26WLDpnZ1~wwbIY)%xrwHIRy# z3n?3<I;<F7au%V=++V6<DagwCUy?^C|ASWwux`(kX_s7)oi}Efr<vaJqtsY>ZNF>} zQ3Gsst!r#^$%F4<{-%otgS>}b)Xq3#ojX`Te$!FW($Oc`d{NrR&p1EZ>t#e(m&hZq zhA!oH)2+Or2X*Av)UlSmPR;6VEn};%6_Q&Z;|w=3X{Iz?>wu{KqRUb|{m%JMY2oLT zW28G;19fT6`^;%{T)NKfCWA+Pw>|t4E6y(1%h|d+(kv0SuJ%uCynLFsG3_y|VA13W zTzEKJvkUSx%{O<iPhO9&%63-SvDdjRtxZlr9GPi&=hofxwc8iH>WbFdvfEzIdeJ)9 zZc^LJb(H$@BDXd2KX?&x6mm?_I`L_8ko5tb^tTueD$SjW`Z>2;+IsbaoGUdoSMUh* zx~q(#kL2(8WVvX&Ze{kJPH$e*_)W=U9AJLR6q@Or>$vYIB{`*JHri6zV~lSnWx6!l zG0<@_^HpXisgazZBzOp~8SVq6A)=nhYprB)x9738a0H6wa;ou{T*%x~Ng+j>=G<oY z)$|-XS3T(X?6<*VmV8k=WcRYhq+Ya)l}{<RO$WX5d*24)_o=U(K{=akCoL~+eN{Ux zGMbHhlyRnx?4>y7Y~b**&*XkmsC?5_N3I_5!I&o1b3C{CWM4{)cYaVh7`uBk@R{pz zRq5{RsWq_H${lZYvy^c5(SAwp<}b<_;~7IFS+pIFYL4+5Qx5Sn?5M4V*J|%Xr8pa5 zn`$kbzACE#-)r!6Yv8@jJFnYRn(nOUET8ko@&b8LQi-iWZmwad>y}48NZZt{&Tfv% z(tdffv|W2ekNmfoyGX0mz1FKaA}z{M#kkXy?eWfMgy&NwT@6$V+Cy^c*fOoz_Fxgq zml^XIZWx-Fx{;?i?(nyTYj>noEKIs>9p;(GdxO-IIV??Vf79c#7Rh;xRo!cP_Vn)I z){-RkrsGu3M9Tx~Px~e9Fq?0zZQ5%1XqqYQp-buw`z3oVsT;c{G3}4|>6dO;A-{Hf zu}sSSm9f#;$oSU$+P$G?anB3NboI8w)7B<uuhnR)r2P`Rr28gS@h}!qa>Zh8yM3R% zk+x29!Yh`y|8)!ZtST>LA(p1Lfth1+P0~-}5|2La?>y7YZ?!oNgFPpwrZqPAf#aQ+ zE3O(UDh&;T4IS8cn(k=fXln1oTCkd87IoCpyc-!`O8uQaxpgfYGjko;hCikcZnxZh zJ#wWdj?oU)x-56Ct*))BC?^b3QR4}@jA5wcO^4Oa&dNZypYl)3;1{&^@=Wi(QkZnh zR^GBPw?~f5ikeTF>Uv!EIBD9=p4g)u{c__ipKJphBdMjxm2WBFiNTjopa?a`IokPG zn<|ahddaI)VQS)bP-@B6Th?3e<S@$_X`%AkRLZlSTbv<St>q|XFPpQ-e#bgZ)1RL* zSIHyImt*B*HkYP4gT)oc3O1j|ipg>X?WaeMalF);hFUt?zvpal4lp#4Z+SLx|6t0L zyE|T~Q!G!cBb*cL&6%HejCYgg@d8REDU=6Mjx&@_IZDZ)ysfw{Pt>}3{E<)c-J-6g zs(q8?uNovhH7cGz%mc8NsH(no{IWfDY;nGK?h`w;9F||YDPLEb$wj5N)D)}sYFa*- zF)Qs*#;8Nhx0Oe73vFr6c1N<ci!)n(W<KG5&-hP1&(GR#IKJ79YFTZLGlM<Ug4lUp zKprdS^6}iji)zzogm#1fp(S)x>EgI*&M&`~3W+VbMr}uKtaFQe$#BX2z7k;^%SJgO zRPH#cB|C>{o5)jRtSu`dU6IVv7s<|Ai8*YA7%xrHs_`N6afiiRU7l#HDw^07s%sgi zb&-6GJ>1jfuf`{&Alq+oo)r_cd14T2s4b^5>>2wd)#pd#8|<*iU_0qFi$d;fDK&A7 zGbBillntV<eXDS{YU()FMX{OEq~b;ro7G^=Qw^dL+Iw+`ifI=`oX8;$=?QPAl#*Jo z*4%?Fq{Ui}h?eU)^GUUo9Hk`BaI6>S9F?63!bf^%TqegUzoot!7t@?KMImuoTgW^` zKkbO7iYmyEtL5I3FQ3KcQESm(>nv_EcdZP2s<e{>`4pVB(|O%-MAYCDlrWj(HGHb( zE8eMx=#$VZs`S*3sgkx%Sm+u?r%8!?79YyaYXRbt_yz8?6L$HC)PyI9n&OF8$LUS0 zd9?hDSLPoW7az6B;xyf(C)ASOYB|m+YHckqTgU!LccqgojCs&nF;87jdDuKwSbut{ zoWq*&DO5oe6iI4Dww~32mX>7|*gox;uxZc53c4*K#S>=(?V0Ao-1rSCNuI(>^2W5C z4r?RnIMbhk`<S>)d>=o^wu*SIk@_4fj-I@Uw1sOdUJMjDS{u<$OcVFDt7^Ks5-1Ac z<)o!jq%@2Vq&4D<SVYgzpPp<F*7G6KTwa^`l0~c%b;zHku>1T!-hefu&a_!*q7RJ} zWkmyRl@==e*)tv>wUn0d3v3`=69;GoEnzd*EViC6<}0Pnd_SAd^!vq~A}?#et8iIT z*?v}<%FrcxC;VutNE3TSjJV74@@i5VpUNBXmh_U=i-nX+?btUylrNJ)_)>P8X1VU9 zzQB&K7*?Eb=9%mzd9o_(1{ENGQpHv=m1?t8wuIm1t*{dNM1#l&=cI}Mv43n2f5gYI zmuxL<X5HB(95;}CWRuxhR)eRq+Pog#i=$*Q3lW=5J82dx#~bo*>@YjdO0nkj6_M8O zR$I(waK?ADe$1C`qOCMUpINqyJz|x39^R2>u&%5X+e=Y&OV~v&b;JAq{0$4@huL$u zxkQ>li}7wewPgKSRsNglcM)C?uf$-X*Re{VX1GdscAdQ0E;>OrabDaOGsR5OXf%5K zl;vZ)=^urnEh{x-&*>X+MB*3A!!ELE>=wPIo|H_1>=UcY3jvt}nLiss21*pS#1GLF zc-cTl=_$^dOJk`u9jD0{8E2XFKfK1_{aZAK_E8-~yETQP4^z?4Pb`ZC@KS6z*+p-h zJp|Vd#x<8xfBJyA8B4=({0(}9wzJ7W`klH@=ooE8Zx&(}#?fKQps_3&^EZ=4>vis^ z5nZM%%wZyxMlZW#E*b00^0J1k2&>IDuuW_%8^Dq<mZ!Le(N&#i4aOIb(O+fX*=A;7 z-{}A~q-<b#hwD!2@+^p*)pv%`RP^Ktm2%bWn#dyH_bRZ0tPuXK!U7Pn1bR+-6%PGA z`d+LFJ3ve6n~0(<q*ptDp=7^l6Go)(wfl}^Td)S`&k)uT-_Ow*+Jh^6#L)*_cf{!T zz36qKej=KIv`LIWwAayFD#$7`AC^Tw(9U$ycQ|c9v^%oZz!lbU=t(n-v=Mv4>Y;D? zy(cN8-ys#oRE%>8RdYSVc?w;_NP-z50xhUIN$Bem#QHX_`kda;MN(J-5K|1O9K^yg zp8Tv2yUy0I2Z)rupY07@z#OfhHW-5mxL(WpvM(4{GF3*LPq1rj6f1+Zh5pp}OzMa4 zd07Ew$BdO?i(LBz^6{Tg{unlwy+XtuGH>9$C9ld8!HHh1IV+0M>|zNln7_k!KOicB zGN~teRLFHlXfIY53^)p0>bv2V;ppy|ty*k0JBU`jxi>$DzSU<_*i^QVon~{uq;H7* zQF=p(6iYo=O}2_%W@p%a)`^YA6}lmg8hruE<^hras0ka276&tTHj@UsYA&8Z3@wP~ zXGH!SW@<l4><{TI498f5aC~=H<+ksxksX0{HN?A-m@^a8YX~UpBXD~Q2&|5Fry(Xp zN5G#>Gzsy)4phDb76TBw&a4FcfGg|<CSDM^?xe{eFIE<9lw|+tAoZc5t|#>uW9<>K z?PzZ-_)`m?R>l0!WFv6(Ho$u+j8m^Q7y{n5gtmCHOJLDkX!HZHY6n_hg&y6aKa_)4 zBCa=<dQ-6L+3|&3cZEFy9`w3(Yrx%}G?Yjrh=Nobsyl#Y1D~7Fi(RxABRK#Rzs9ki z=;wcI8<1EL<M7A4za%GOlnUHE17h3b>mI$Q6pYvl5iEzftivV%vn8-1e2dw+MRAC9 zYm8zY;@A!`yo;;s2RAmM*O$<%(a0e6s120ke^9`|;KOBHxd`;E4raYR8|Gp_KIVYZ z-9c+#f$Jx@`eN!uWoaff`7Wip?$EgoOzePe?V*8G6FSuo+M`#P%S1mo;_c03U^@oq z?gKK$L8UKZ_8(!S8!-N>h{{*AQ4S1`0$239X#_RUYcYI9D?c&YI(9#}?mJzKC@ptg z@hsY#g-ACB|LTzutPG|+)P$O0oXha_fLcMdIs-orw4?8uxr;ga0xe9TD|k(UmfQmi zZ-B$d?1+hemva{KN-`BfFT9yR{5rDf!2Lj=V>K%brHR(7wonalxH3M=k7(-%gz-jy z>jJHvfS>`$MuXW#aB3fTQ4{Ay1HG@v3Pr32d{1H>(6eE#dWB_JX?$LX^=1nY??Gs@ z7yQUX<iUebi@9ti7@=3?J>ja}>LeYZ9l*)w>;*V~2}*Jpb6=U&Kp%TSOFKhX=VHzm z>;F^gy07<`UfT+vwgxtuq2HIFbS)5*ZB!m}GalC*?W%sU9$IjnEy30F+93zPY<&+= zA842tMl+RlK~Hmlt9`)x5%5aCpX@T?cotlG?y4jzBi4n$KE0a7PsF4yRHz>M(3q9O zX!Tt~If(Qw;B6w!r!JT~PpE=kNg<Kai9y9*PzbKIjGba>%+5mi5B$sVFF}tAA?F=I zf4jMAGM0uvs>RH%`U=5_VmRK5p?tvEJ7k;1t{rSEFuS!_9oHT!6Bs44N|?dA=usiI z9MLG}y6c#;T(~WFD9d}yP<zCp3C7%v=}PGfH=x&j)v^7PY_7Zaku~9<1^|oqah?}) zo_^=IepjFuGF>LH69uLD2^57wEyB>lOnm+v^FNqcfg$=G<DIEIxx04ld=f*zm~i?c zehPmo2}G|$6mH^rPhGoCucJ?e*cn9q0DS^$I)Fi=s4W#HKVUvtTod<233$CFVhb{y z2W5(1B7hozSrah+kGQHCY8wKDO$2+lfVG>!j5)5oNE&|EHSi2FXHm)z70pjCg#riB z8V;@?Vt5Da(rd;3U(FJI$M0ig&FSFE3$QO3W4B}GO>kJ%n7&`Y#QtKWTfxEVR0Zd> zgvO14JI+8(s0)@}q0i{Sepg+GcrdRxa5)Sp`42kP5_52#^m~_OymJI<)`97F^%a8- z4#jabaE0f%YBX@((Y2GjH`H-9llf`9V~0abaqYPtigSh`e_jNRrUFetK%@!ltv<kr z5AabN=j!z|axsSOP@((i|8d0Q560sQBwc_`q$BS8@QGew;t}-653{RRs@mr2X*LUm zgPe>k+!<{x09(&MubSewjzI1@IO^5xe{3X<_{rjd*y%v?8gObH6KpHH13V6ao|Qu0 zT#4T5drb;rr0vn~EL?FH5HberoPn9vcY>WFH>Tg2yc$}$99i`|J{dzv_`VV>S^%Wn zM{cvD*LiS6LyU1QKC6QmmSA(JB68SE=-gX6gn9fA$I48vANCQW)vKTAyFNmg8#HJx zRO$ylDZ}o86_YSuyTHkPK*0+5om9B`rmnk}mr}YoDC&aWY4AQPFdzDp51Jz{zeg@< z3-t7Z?)Rh`h;KY*{HYj?Ufp(8Sh|VvT?4vCxc1$8Q*r%XQjB~o_^^)jDqKt9Lf3#F zU0n5+^eP!w!RSli8;R0bRU`;+s*lf~iE+pq(}2<;Q1+^%SI)SFBPXDhe28iqVif=t z+y#HU%vEpH6C?VAS6v`E3K_mLC5c$E8|qaKYF0qM>mQ>i2A|{0&WN)3sX4nx0nn;P zh+i~(-!jb1ZuDUq<wdOA5Vx(+$|mq;nd}3!Um!}OfwC{)OEq|g{mB1A5T$eA)hJ|^ z$Kc*Q<hkz9g_%rOnpeOEckN~<4R==%3U&xFI{>tj=uQK{s?}ipB`E1XXh<qW0EZnY zlKld{51`*AT(#EpJ<da1RYcu@`C*v7FnF2EXg@EmG?6*bb}D8i18%D)7+M&Lw~&4# z7utcZyI^oDtPK`{16|OoI4H(_<j6!Ee*^QU@7(NxNSva<>^)V+%0;i9ypq}>iw}Z^ zo`a)^0B;Oz3h<hM=<i3KT7}Ht1Ab~5X2FUvdm-1T@Myh&mwfQ1Co!5lh_t>BGyz^d z1bItBtLK17&b9zS?(7**v5V$|P1BjKyP;S$jCR$M>5nrXVAO9A3%%lXBQSj+W_<!a z`wNf1g}p_-EDbh3W@erZCzlRo-wB0kjrpyI_)dYN)pr<efNFfi=lAfbk(cJJco=^H zUXH}P4hC0SBCj+6ugkKF)Ci9AAR?3mcdG9lpNCmr2Ilra|F$CTMbL+%%!c)h8EfwC z$ngTJ$I7mIk-c1Xu2X@;P^RyrZv`cpi_D_W&s=22Af`Ww!vn`wW65wBd0h_v6QWQF zNU|bwe@U<F+7&83i=D(O`!dyMH{rXwz!$!D)y&-mZR>-1_=it+;(UE?Y)v?T;)s4H zTt%;8mq~3g?%PnjMsR6G!ApH_e-Gf%6DS!BN8b^SpdkFUUdJ>6bKMW?I^ETj!CJQ) zu%_2GzJW*>Fw4V%vUxzD1y|Y+Wod@^>i3EVvOCBzeUW{NApe>$Vh=>{8|ix#YcPHP zTPV|WNdc%;Dx5?S;Ib(4s9yW|3>2g;a?B&-+5gB5pYDZMmq^c!(}2->P@=qugZ^ZK z0q_tFpfy(!*~NIT2eiWrZGT1P{|vU~0Wz9m*8hM#(LhQZ(CkF77C`^10SRT9zJn$m ztGqC1#cVhgBb-rJHXOM2fO1CS{a}nhch>>XXT9d$HaM=QYzL5dm*pZCTn8H$@HO1- z+Pz@pi(Ko87iirbJ<%(RHpSUDSOcuh_OQJy2fl4JF!dLn&J%I+L!Mg*ucl|cwutpU z<i2M>;A%v3DR_K~W#DU?YnR1BxU}O~(_LkI;2s~i{+4kRtcZ413Jha<-Rr^ZHP{md zO|gI-`cCZ@z-4>ntzy98b|}~x<n`BJtsPn73Xp#jBbtI^S^_=Y(QZEQJOT`>!Y(71 zp9MbV0Do_x8+!HU$5a(j`wm~Q2tM!-vVt!ZxDe(qjyiyGcU`;xx*!IeU4gp(MeHv^ ztIc@7A#ijK5y*!BDgsZE1%8wRF80z%V4)!*u6x}#h(mX9)6Tvy4}K9V<8c`GV{of7 zy9H;n9dkSfbJPpDcQ735IrbH?Nx_)(y~LF;b9%+S9~fU3XweRg?<lT)8mmfOSr4J- z6Tl_C+I%MTW~Qt5_d?)18A=-ijb0C&==<#kLgPl_-?6SrZkfo#@yJhSvEnJlt|4DF zL|hgCb4@7{h-^TCWTG%=pss`Ck((DIYJ>605l_Sc(MH&{T+L0SX%@|26cCq1s`w`M z3#*8r((qk(#B&iRK8WgAH@eXo<k%`$37tdxW59;X;Q1O?HK&=#d7W^z@wjStj9K4X zG7otE?#hHQn4QN|jTGeA95~izIL?PY2@;942{=5B5j`M%S6pXSlD`JSRpA3p=VOQA z#ZMy}=&R3@>@#BK>tatLl&l+Ow;-5X6}sX?6m!9z%`AW)ggV}VdcVf1IX{$ZID3R% zoB-}xK*>(SV`U*HheLVp!T)%JTl&)wN&&Iin1ff)^zwMm3)l-{x=%d|mEMSJo`7%H z|4LF44A}^c&W0Pyg6^$Ch8qoJ$h;Q3-(a>2T095L`3)zo|JCIk#(WSi!wrlN02}oD zR}8$~ixGUm=!!7?@BS%J;kLN$R;&wevs2uU&jqiWf>Y<v&kjJ<S@@DH8U^gcAo{J) zW=&*`4QQn+m^&0~ybPAsz?$IzA~^sWdzfuve^@e$V-dU*@5~$V@;ntWnhV#s0_Rmk z?7O+DPoKx@Is1pP>}F5E<c`p157%F0PDAg812_7P!#(gxJK*C!A<LQIKVyKVSzzBq ze6I`N-xNM)yK9$CGmK*c@cIp&^#w383uo^Jg7?EC&IF>D;E3&TLvP?9x5KZEKnt&s z*N<Z*-XF*6)eg^t59Og4R%p0h4YWAekVd|)J;JS^dwO;DU1(=GP-XxMYC#RNu?h|Y zk3ATH9gES2|1hVcpu+VjO^gHv*W>DOSij7KhF^sb68L#NMs^kb+X8Q~61nFLoWeS2 z`ChCF&!b;^@cjr@3sZ26zSn3k{O1lZFb*q&a=4QItf*gT%Zw~?61d%tbNk@P|6wj8 zp@SvR=Q|k9De(IuM!gvxA{3s*Ktkk*d}M~}tP2;i5KNwfSPX+N>H$YO2&m}|HXWeb zh~ZF-WCCVhkJl+gTCa<jg|9gDdnQ&j?vxLXvoyYUaLw5aYD2Z*X4`_v`W4*itw<6X zq5(C5I!r|WuVK9JFh>v2j$Y5&46Q4U{uV>N{Eb=E{qRVPbRD#29WwbfSEbNzuBvTW z(4HUA-94BqeP7oz^!pM;q21Al(rp~4KR-i%jz=^rk5=;_a}-8K?E#$jKsK*|ucqKl zCn$Pt#LpMbN_IJ_c=AR}vk=eUt|u{MV2(`4TDRc*FJPti2T@H2Us8#nk{Voz;`*B> zk-mSmE>wObtK+KbyBqB319c4s!(L$}@Ck8yjeir-bKNWHPjC8*S2AX>DL6I;>^%(a z-Vg3KhTG_d444m5`2=;%bnV~0gI3Pq>=;s@?G=Exf<WC>jPwv@;V=-q7V$a*)F)ys z6Ae_hLQH3arQ6sU__4*{<vQ?h8=^26m>%KU;WY*k$_pLOboK5jG~p8>deT)lw;(Xp z4M&eawt0l?dIT==E!J+C$nam;CG>Y4^kE15;sLDh^u2)9G2VuVcRjGTG5BM|D2&jz zT&!#r%tSuq)Q!m4-x$G%`ttv4Ef*SLW$94OL+mUx^8k9*3TwZcuD@Dzp!UF&{uHV5 z$OCp^Kz_{<(OAEvi6H2DA*`wE;uyVFXbqq`SKJoaz?vo=h-c!QxZ-+!7Jo#d_$XqK zQC^5FtaQ?a7sZJ0SV8?1_k{^gz7<eA5`66fyblIfmP32a0nH<z8Qt+U+qF903EVBl z&&|=N8t7Fqu%$J6xCPAJg1Ok~de+@{V1;4Ky5^R}Jaxf$-Q~5woRoJxd8-aGeJkYh z9xkuZgG~Y=M}n{3P!WcVpzqtS3cb;vVPk_csR8Gk7kFKY>@g31=m^%+z42~AxG*9k zvbFwK=y$GlN+1}expseNf~)%9N$w!W-6P!-Zv_(n=XzF@{)Dzr^sEA2;fVJ)`T#WT z0M4$1>Bq6=-Ur>$)#)xcsMk*10>{~rN`S?^T~C6#f(&~d^Q5nueO<lPcSx>+nrw#? z*aa?L1W(U^z5jFl4OCxYkH$HRz}I7F`2pOX30W-+uJ;|heOL5mx@$c%3fQ^>r(yxt zeE550hA&uMWHV2m%YMW0eFA>sn8XvA6**%bB2fab5n#Dqh1-E_*9h2u4L|pP-f<Ef zQF|9N=flOeLj1?$ofEi%zQ?E?9p@#LkJ1b=-x03P<G+l}Ohx1e+Dd14bp$2wjq)|A zG|$z_X`3B0<(VG+Y-b#9l<m3A*QDN#-<q5&t%#T#X_6fo2hv_TJ{YFSziFaW-}FCY zEyv{aF`0_I)vuf1H2HPTuFSRe7g9|_3uT<#-VkEgt!=Z8wB=B3x1a9U<?GI()`E`F z)J0k;SCk7$rCFF3;oPa-q<PXd`MY$Ujnw|<Y^y$JC6#{4VE$e!qiq$l*iOEU59cbf z{W;AbdCDcMiyU`Yw%c8IFU>bSETcN@@jLH7m9@zU%q*dfH|8pK;cz-d7i9{+?QmE7 ziQV!@$zbfI-cOmR-SgTJ^3_-_A>Vg3duzzJ;t^qIa;C&?O75b5G3_$>8l9#Y#zI<+ zl<e5rmVVx6Ls$C_P+O$bNttM!Y?$ED+5A7bg}A1f)syOM;h~UWjltV7oF7vkWGXz& z{a?U6^Td>Izg}iF^eI|!Zde`r>V!8*pX{nBz>OKp%8R5+4xUvsC9iF|=bpgTo*Nwb zQ^#jK)f97euN!V9obQvbS|Z%9gnD=#N~!$)a7vm_>B9dazG)+q=OtIQKa__`zxZ5p zv{xbNL&o6P+vzpTuR|$dGpn89lUl^~*`S$gn##+mirso8V=DjaJ2JF3ANPC4*Om4L z(Vfd=1*++de-B9Hth>h|_d4brL!flj@;GT%N~(AlFeCJp+wPo$2_-TEc#!)szvUja zGODDyv8dqVkv`5=AG&|(&N`Q9S^kFCqWHZ(BU8^vojk6(<uQM8J0XQ+wun8R6lUlf zSueDXQYP&|Lhqa(h813e1N^j336&h7e%<nK^<4ga)w5cu9iyw&iYYWPtMaFsKRY`X z`0e!VXxeXJQkLyndhMi#_KW`6p?$o&Su$dGrXJ(-e4|2~H2Zg@tRp_{3V#p!@n`wt z5`XW6gw`xlI>VXpeaO%3>@@cgUYiVEOlM7vMcb^Z@pChyJ)eho1^ChI<btWWj@NEm z1Lw*kV$WFO{ALzD7x?YRn|m=ak0LtNFJFF^Bk)s!&%LvE_%sRZ>lx~{My_FNow_J- zkiA7<{)kNP@wT1`?^6D#1%1ax95vHFV@f>}<!=zVDY^8sly4_|2Uee5!CxBqea)BS zS<}60`0sVQV;HBj*0yFeOKg{0*mp<7OutL&i{v&b_w36&T7_TqIFnd2ZLVoabn);m zNtd2X`S!tYQ7xrvrhMx2uD3r^R(LHA3Gt0LPnT;s%A_8QEtGx4XF%S7kf9Wv=pR?i zQr>fW)FvOF#IWS!#tjA9<b9L8;K8_$jeUpJTUx88Y4fLMujeGL^k^7T-0!t}UBfm< zg_Q1p9;Em3x}3LJn8v3h*8MvsJJzjv)X;#r$wT9JNXC54@^8zEdsz8xbNByhH>+2~ zYw(vPFT2KVc0U)|!Eb~4h#ctLnN}~hecBQCw|Q2FzLzQ|{ugs6tDHxVs4XF9Qs=~Y zY2)%JMRT;P&*nXQFN#(9(r9RC>z_TJNB^E>Y!flq|3A}v>57_^-7;Zn@;2pD_`UE4 z<|nByeg|fZHhD#uA~t15{wi<x4s|P5*mV3&p~qvhi<Dl_bX>vP@k^gS`Qo6l;UU4k zZgzt&D`PE~loDG`{0Xm<Z>;xCr0PkDW2L3RGYY&mntz>23UDt{v}2ShZvVZcZ>hn< zn%u2<Q@!@))T?nBwE~@?y*=6+Zp%Rque57_O&OnjDSzAGs?Kk}pTs<O4Dg*AbvU?j z(wQG^9ks*96z?PVds*XgeoMX5RhpE{GbV28+w7m`csKtp-iJ(X?w<1I-0rc@{tl)h zd1^-Qc5jwiIA%bGyK%4o>9F3$CVwU-9WnY9h|DL_QttP7yU(<;#?pFyJ<t63{HkB< za%0<oZC(T2nVW~0pK;-Lt;AJs8>6d6cHsSD>-;%pNpbHH#KIOh*8RGfDS1CHQYOUl zd%=Cj&*Y%3b*EH}S08>J@Nr3IZSPh--wYEBn)02hW!3!qExop9{yd8VFWQsiyi@jy zt)BS;Vtj2`zkYYLeGB?hV!q$=uYd0Di}8va)gYzZ1LvGC-XF(huJSnN`NeE^%P@as z1=HMrKg{^;6%l<gc$ocNT*Ku3+7Qpn0q^}bWW~o+w>J*1QlhHQ$1k=!#=rTZ1~ocZ zKG`WgSN=FI`<nY4&vvG@?jJn+$(7Q^|Co?c>9G;Ltki%lMH=Wz}WwX8&=1Nm)Do zjCQ;Xu35tAGyT)tTS>o*MqX(8w#rKF_U9_^Eor~pu6V34eerzZGuALCWx&@d3Br9~ zzL$9vzAx!};x@}k!+P&a0Vl+q1j$m$*RQY?ydtLF-F9D<z>AIc)QL29_`d$FmhjjZ z;<?p)%j;~w4EJ)Gf4}tpb6U9({UiSwQ-QQ*Nu{$t@t*Dp{$1RDr3GeRaC@8AC(JAP z$%FDA7J6Q&-L}D7pYk#0cgDYS*cs0X9s|5K`8V@?lXL5P(;vswu8|81o%3mtwIJbq zs?9mcv@amd&nI_H+70Pgm?8Q<i`x^+)3ze5a>wRf^Gt}F`1bF&la56m$K8H;b_pur zH`jLWtNQ+6?)=DB#lk{PXE*%UDd~yrp)uKiZ;+x5O*m*R?BB7VW<K^|``yd&Z3-W5 zUb)=c9Mij6?;B)vF&}q-@7~D&abRA_{-@*Ha`DWsLa`IkS6Qq0e*X?<rm$k(bHb{4 zjz~F|QdrK8yc!;nw*7Ib4?gZSYqe}}*n9Mk(r<?S9VuP+oML+BIXpn}DxG!g^N8<f z*#77@1w*}tq>qg)n7Yv!W9lFHG&sV!A?|VRMc>y2ue;az{O`f$BuBxp=D$jx%3AXN z*XM~j1>7&2hMJ27d<+~ckBamAl$;ddH=sbVh`Hi;(#E8*78|={E)jUevuB2uI*^;f z^XAE$b@1`R*GUHVn#CLM_51c~?%TtEtMkR~jZH_rrUiQX^ssvW==IfN?;KvCz*xW6 z*}an9r!BF)WJNs(hEy;QNq&@G%Cs@6kN^3YQTG=7dJ<8fao4IHwNIaxe>{>BD2+At zHFXY154+@1DJArM<L?%^Q2tx_U%O99zm$-YI>>rcIug($Yy-Oxw=nCI$Ly%LrdOZZ zJUN!0QKV{v;)O@2ANXwjc{<aRZ<R*7l@I$8c1Bt7cl+z;e^b177W|pFjdCv8k}x8* zsLj`WAT&CBt<w?1vn<|~qT3mQK6ZJQkUgT<raBe#-Ao<-_3*D68S`j>VU5qE$VMSt z9rQza7nCw5;7Nh`k*lTsX(C}u@;>`g&)#`1gg(vr^6RGcV9@*MW!mOftzQig`O0ss zql7MvJ@IMb@3*-_l&bD00&az$_NAPYU(}C#b7q8|FVr}+u<DakBffP;0e;8tNyIq6 zv+0q43aNL4-{!exKl#S*eI997*;Unj18>ES`4aV~nYE?S?3Ea>Ipm_-z>K-yPyeXz zObh7|MgFUtyHfrpFUab|*ZThs+vw9Z?db0XTIsOF=&kC4w=3Rkr(2~r)OZ{`GvU_P zgqR)HkA_vA-Tmd@@8(mPvwj(Wf3r^u+#a6Ce}NW}E>e{2I<(IFeMlRh(m6hV{y1s| z`$a8g(Vq&w+2N>IyhU|q<gJubUlV@a$a!YC;AQje6<EuhCuif|j9+DP=lLuSUlnp+ zj?CPaB+|Z$K(F;7D|~(Ib^o@shXy=~@;8?I+Vl0I?CV9Q)Ld0yR7UjI|NY3#-D1A( z+0w_&ceUFXM}>rgzdL3fat{gL8eCf`n*Ac}XU1x+lJSwR@O{YhB+5A!_cmcoy{`P_ z?<`3@BU370Eq>PF_N&tO*z_UBZeBILPkKeW9aS^Zw*DEL7HZfWTp*;6xoECOddqaX zV~nAX&py9l#viGs<hcfC@SV`=SqDGR_nYpAN_8yf>3K7L`j610|7f$@K95!I=RGr( z@z!o}QSogY$NZXxMf#j~F3mib_BXpUtL;7^D98JR^~>)7O9kJ}(Pd0g-}k>MmlKt5 zPX%M-*vz)S?EjK%_mpa;Fyn8}1drp?BxT2+wVC@pR)&oUT*upI9!o2qm8Fe$e-d!O z?+@?!uRtQ1Yv)zM|EBhNee%~UUn>2jcpoWWY~6nqat^V{3X|uX8hdweJ7S5CTbEFX z#ssVlx?=ug&Cc4M{nb8R3imkgALw4e5*V|@wkxoD{-dVR-}=95o>4jfkMia6`s9@P zQzLPky*+Oyf0CYgR`vNOZ%keDH#Y5pxqiqIzpFebGa~DNEtVylTl$3f)RMDPbN^P8 z&xXH<s-iCZxaEBvEnlG*B@YHZ&nOpvElsoaRP)eDLyX^Z-vQd~gem`q=hpFR8t~V= z%vmd&tWI?`HIiq!t@rpQ_sqB#Tg#9T-Xm{W)$xA&o9Yf{zT8rop-po8Bt|7|&75c3 zM>%eJgDUvVREs7={9BXt(^SAa(tRO6>+I$%Zy#YBqc$^-_dae+&M6<)k`D?Uo#&ZW z_S4VT%Psly?I|-l&kyVV<i`oy(g)`-@!jKcSka)_;&I&7-^R4grYQk4{D+%HI7V3d z=FYc8QG|OwzjAJq9nOEd?Og&QqlS4HV#d9>lVlCuQF>d^Npf^rLfoF@>Dk_*ok#7+ z*igy1D`EGy$#D&35xgsGpL-w2(u|PIHP$V1ko#%xO75G*;M8V`ZH#>*T1OSIFaCJ< zO^Rc5{%PfwL=93OCrtX2CvivaH<NF8&3r?Ad*<f(as2y<tf4;9k$plU3|n)Cr&Y~7 zXP;xd<=xxwta}lyU}AJq0rU7gzw<;}TfeLO(Sr>w99+Ie$o1UKasL0Bre6_p9&w=^ z!>XG;Wgh(9?q3tfRlh3XkNlsr)Xd!}eKS+E5$;wW@+oFGVspepUCh_=evh8#y!*cG zt3{Smd4H5Ip6`fSJTCtCgd}hEoo94tX810%CF@Ac-@g~^;{rZLR0&LCwK6Oz-q~?f z&ePw2y;pBTA4}b=!-?nB58=ttlf9b$J@>p;%rW2lW%`%%^*o-;euc%iu$FQ&1bBs5 ze4?CLN%iCAWjAv-g#6DxTXDA>&ysB+{EPXX`L$uDp#&S~9Ow9y@zHQSbZ1Bj?*H@F z`)3(R;a(+M6&y}JNn8J|NuFoxXUz7!0}c9X^GU21w<mk7`>dd^e)Wy_a(89=<pevs z8=kwxnA;n>ux5_8T7m4{wt?Oa0^j;v$gJ{Z&)++y+<ZTZ^!4z~tdg=NWkhZ&pW-&u z@2y{FwmYL=a>1-)a(>^do*PZ7{ZjTRtJ%4jmoj^s8XI3paoRU+m9{FqHGAh>BPhr1 zSYoL!0m*kfbMvn)FhX9EX-?jn*3*8K4>hLv^z;5B+p?=A{!I(voxBcvJut*M&)G*f zeI1>(MLfZ1GFMjSkWhE9>6r(ugUtv0JNqVNd;gpkTTz}G8CXE^C~eJ`(<OVob&!3o zI>IB--{LjX`8`QZJa2DfI_^=(ql(gjsg7&8$8t}JC*}aJhVCV#9ga`Vr8&bgTNwgF z%0{M1ZoekHy^}sTxO$nF1=>pI(#s|+OR185L4E0QCt_CE2Ki~y<L_;f|H&u(ZU=wz zyulaSHl&x&=w+Mh-Xd_8&mU>2<xW-u&E^<t|KT>%uX5l8NA%D7UmiK#qQ;bH8(1nw zOCFYf(Nf4Uj8*b%8#KqOisgOm`q*`j<vx4;Y#ygre#<qBBd4v+UmoR=>RrjW)z%`% z&EDM{V_a-qOWjR_eOmAf3A=u7vkecdTOcPe!d@+-MRu~af%CQ~BQ5cMZN9DnyBSfA zLdFY<T{<m&U`^RcHO=<S{!%<v))@yHV%Qe)P#rufcVA|xJk4iW=x%9$?6~jyti^nK z7w`y<;~y-IGNRKQxkt3+Zm$COdZiJ|s+KZ2r<wHEoZw|N*Wp2qM9X4}A1#$G8FP$< z<%)cyW^@jfx7r6<7D%n!$NRUJODCQAci+<6vqn@czlma_Wn0$l+zrmQn!DkUXGQl| zX?gC$)U7#AT4o;M_1pN4{#o;7y~vFc?F^?qm$=1B*ER0wVw=f3NhR!(+`=5<Gfg>` z^7UtQ_C(M8dACMXVj_D>dPZ)BI)Xcuqn<u)57-b(k@OeYb(p_tw#N|j5PIXtm;2gs zRlBUbb@TMdkn)HHwu<(K;)gj*E25s2TDx)2e-597(8M^l-9J3fB+q2c!y1|6XYJ}- zroAx*dq$c<=zDI*tQWR;wndrjw!;v{8>nY2EA3l^q@<dgxg|(@S-icR-G@3DqSZ~> zMPsu2Tel-QQ)1<`7pA;n?IL3hR?F3lep$2ao2aqzk!NuaqD_`lX|J-*vTAPb9`0s$ zG1B%Wr-%S$K$^ehiT2FY)8oARK542W)3V3r$6iX3=WpXU2U=DONUzy^Ti2X2@>Y*f z-+v}yEn(egzpfcrXStKS&-755<;=8z9cnK_VWVW|Aze_L+ow4GY5k=ON^j+Z;>nkb zZz7+T?i|I}n5t>rv~$#7DPk<(6zR`%iYPn0Zu)kTraQQOm9w~(#>(?Ya$duH{z5%( zzi8t$OCG6gmzPq1ZLwNQ3#65jhkQ=CD*vKR;-q$0t0|5cr%Kgqd)2(Wv|B}kmir;4 zrgf$A(szOPR901+s}@juI8QoBYhr9@ikI$bqpTBbqtz}{iMvVv<9T=p?Q!mP))L-Q zdu5Z{lD{S&9wFXpO_UVvt|N>6XZ+`Oh^1xTNbe`OM+^Tm?lP;Vr8t+^GacWxN=g-X zVR$JTTZ`rtb`0gJvej@-8ZEl1TO1#qA#9kk*JxGZS%7v(%@8B0J<E_A8b4`+9O>ef zQq;Ivw8%YfyJ>jj?(aE9`Ar+hU-&!fIYx-QN`F%mxq~{+Udi4^>&QY`H_0GxmLw{p z{%|xE4WwkHh0<JVMDO%!>%v5B6`OR(`CELJ8km|XH*7aEmpG~#6TLfoDbh%1W7|Dz zcl%0_F1<BQGrSd{_VSkI_Iz|p(&VPfc)muP<Op@F*7{2A46<>qvVo5mqtwOfEb)<M zDo+e=>52M9SlMZI#F=jS;#8GCZfU0Jw9E0#5$jy2eii9#jWk}Gt39=Q*aMsnDlFgQ zXV@5#pvI}Cg%|rH?^L?WFWEKih5Ao)=RdiRRGQDCpUz9pC|1qjt9XhI))ea=`mVe- ze3Js%V2wGe+HN{JQU|%9(uu`5dpnjmc55Z2dNPxz@?vyGWYBarQ>riTm1gth>^ALU zJ6Q`>o4=uL+Hx8!-Iho4qUvaeMSCFKRPq?ANatBevB$B{UPb%I4Tc^{YwD`z*!Mfk z^jg}j*p#zU7ka35(u&hF>5vj5?~)EuidaN$G>Q81TI>NWV}ICo<|l%jubowSA!Uyt zMwa+GF<)KmFsi5MpfpfUVsnL$HcNe=#);>wi2Of!EpJ65#Ve7-CP=fSY$;PZ#MiK5 zbVsYN6{KM4mz-DHBd$1CtMgeGd5_#sD#zUDg-BK}sYOLE){FmQ0iwOSRBa({(*pLH zmE?B1BED+NL?c#;Z{z)W1mDOi^K9lx+tfX3rihdTFDME-qtqR=R@x=Sux^y4-B&BC z)3oCh&lA~X5#!{}ld6$kv3h(G^P)=PmgXy7(@1Hx+*`iPOVdE{j&`%2EP%ga-B<y7 zqk5`CMJyX38ReOLG_?{pwd-14kt|HCAFD+%+Df&L+DqFd6jqaGv1deLqIe<pkeUDE zIlKmcOKIYzC`d2pE3Yo~=52{-NzT>UH1=0IkC{D8J+wyZNp+&=&(`w)_!lxFngzsn zy2=jV{GIGLRi;f;h7IEDBw4D@CemWM$r?!ScvEg;4mw9s%$N1$J*6tr27ZX;rC6bm z4_%>l>=paS`m!N3k&;Dy3S|jwERW_U)`X1oR-{uMwvpZE<E0LKC>tgAX>*AItKm{J zX%L^x^rwL4VS=4uGV^5Z*dqESdWoIl44cJ^@G(rU%%cCF<vjGDK2P91_*&MUs#5|f z82u8dv{ZoSI-fc{rS^vU@^X5n29PS3lmqxkHl1Cj)*?xDh==?t9}m225i7`#7m$4A z8+<7>)~0FuX+M7_>AOTPVD|5ddNhFT<y*l9((Kv^YQt+tE6~<*wwa9u8;-Ew>=wI4 zV?`RUS6JFF)#3*zQ~VLNs2oe;@zOdelux7Lz;_%SVg~-06=zc^jG1{&9>QxgmHyHq zwx9pvWBGe_oDE>!>@@}PHBua(&uU|K$0GVyDTM{{KWqi5qCMGZDx1P~v9)Na2<GY$ z{bpxbS*HKLO(UvG^=Sl!vo@?N`^rAK{_n0PtHxfl^N4FHpsX-EN}Z`9ou*Yx!F&&3 zMc5d$oJYSKmTlInmauKE=eXulD~#_w8?8SxQh!n`X74kb$0oA^Oy3`{ojR}{>;{WO zE3I5LI_i@U!|4X~!1W8TNcM#+w1Aqh9Y96{)|DFS)p6J{cFI+;<TX{H%fg$y*(&DG z@44=n{YWZRVpZ8R*RGGJ6inxl=Z2CX{m%3SuKNS_Q&B{qHhQ&^g78%eeaO$xvp|+g z6<8EvF^Jt^3-}Y}!#dD7>cw){YJQK`;;C#ZOQIq48XS?)gBq+aJr$irD{(@UrC|1r zx>GT6Me`D?MN|6WsvVFCeHw;i#)=Fvn)D~D>-XuEXY1Gr=A;3@dRLl5&q!fKnVFrT z8dQQ#ih*Lk2&NhIo(e+IjvyL^!IKQ}g(kAbEQgkWF%dK#*Sv?QR%4an<ys+r!@*qr z+1WvCJll$E4QE+&!1XLxcea}4;iWJ?SJCf4MBoGXwS{d$d;hWSnD0L<obTrOp*5x1 zK<WZEc>_1?c?Ou1Bo2w{ltCrXlLAoMBUBRC?@42D)LhK=Ws0Fow1!TR50s`eGqMHr zki6I^Ru0UWfa5(`d7!5<^JmT2EY=01y+S8QL&PWHw}PxBUbR^ru(mncG_#ACgJY~7 zyH3Y3W83K?=KeK(r&??ed&4fXMeGjVsYqq%9+d_o%JW_NQ=-A2?;=0_#(3wT7x%#K z$CLuJ{UiPPs5_}1FfOA%iPRl)J&Hnr-ML_DE-S$gu=`Yy9*BQpJbKU<vsa8wqEF(Q z$V(gPE@e{{wh#06jM?c6n6-u+P^o^bBCC#=mjDCbfu;Lc2s?(pJ*2#B0y~M<7DV?0 zc&I;nxg--*9p^Ve)b%PPQFK6z7DvQ7y~dj;;CgbgUT5fk)PNYx7Blc!l4wBw)Rw*r zA8@uDBC-@CcZfM+k?^2S;B*y4qX^9xg~dlviPEVEdfyP<q$G<4_CEvVvnfFsr~)mc zL+H0mOT{^{O4I~0UQi)K>M>Xyh&D<9firMML*TAHqF<5jix{AJK6p}?HDM9#7u--k z%u#!==c_n{E2anzB<TNd?nJB(iW|ZYqo@gtG^7lXAkK>&qN&K$>R~iS#QrkacmrI# zg5IpcHGe|$G;xOdu>!mtzssypB2Qc+jz$5)gV`9ChI!ZT#7RR`mrxHx=OuMUy!Qgf zZcKm9`b(hGLRi^D&3*$Ro1w71fvqNN1{(ofMX?mbr3qWez5_ee*haE~j~_|L*=m+S zb$|o|uDg}=$_<}gduvY8HsE>*mBwe`u4+gvfiW{XMMV*p#kg83W4t?0U`cEZ8;Gwq zuKP-DtT8Xflkn3(%<*jCo%7w$!sduzJLu9a^xK2G^B3$UYlN9n=?#5AR@%m5SZiL0 zzhlFgM&E$<7~r%u+Wm^W_6v-i2_)4+D+kzqwD}8XRC7I@xCY{|2?)GG3u!k6FolJ? zo+=;7Tu-9acki-9dI$b^yY36|gL-b&E1$3k<i1_#ZC9q>pZ*S-e1kne4^M)9dt7%L zbY}X!#*NrvR*a9rXc@BaCmM~2j6`gL!RW3mKMQc}D2WELCG<TMdamziWULHwl76R6 zX=IY4VDbRk3l_cu!tOzrssJao(MmsL<tspOPmF6e{*8cR)T>3zW=o)O%dmDWftCdn z<1&!A6~|tqBzgcG+`+7OMP>?N?=WZQpri#5<H^v>sVookfL1!8h?=XqQ+{aAAdG(; zc-b5C=ngFF_pY~vGi``b__^+d?t-Xx!>Hq2JJ%NC%;Idm>k0L@Tu(%|A|vWG5_Td^ zn=peLpfu|-NB1xndC~LU$Z_phYbK#jdTp24;PXkGr|$)P1a1w*mtN0eH8?OAs&E=A z-xcR9#JQ({suP&`l0d+8Wa+sW`ygm}E7x<F$AhB{(AFPU#g8>W=Mp*(jC_FhZlXQ( zoU-76vR$<^R-ygdl!_VGD_A^6Ui3sPh%UIET>Te((f0=F?jjVr5(zbLOH*BY;_iVJ zUQj6mczB6SP?j)8$WNS|#gz>}+c>rx2z-XTI}4m_0JI5UCk*V&f}VE;&Z|P%^h#5o zp+r?NmK*FjvUq8@g%zv=^s*CBc@6oeI<Lz8z=KV20v&+X2k;9M`6WJ?_k<1{MlAKp z8MhJJzd&j%*!Bh-c>-j02d?I^AyDHN%)$Ee3cNB;22Vz@3&^c;tSmQjot0nkX(Qf; zkLPZD6PVB#J$QiQGFTY$`CPES6?)biIG>2o+=3J6$Sd(&=*KZv-Kh)kJ|FN}jGh>Q za{d0Cs!)(U`0NBYd7YgDW~(C#i{b1TPh(k#O(UR7-wk-4ZqY$RVHU3A&wsN8;I4kp zWjItV3BJBN@5`e&=bI5z{m!6zz|ACfNcV+^$$aF9BJdgYnFX5v4zUkGq+ih!dWxJ^ zg|$ay^}1O>xLy>_j9`6$>_qkycys_|<1nM?VDv`B;~Pd-4ES0Gt{sJfuLG`=!8lK7 z{1Eb{f%x|?aM%vs)CjLNkm^!Ppy4I_)Dn2Vb5K^j?$lABZWgV@e0RY-c<`_Kt~y|- z9$Id}F0oAL>m<xeDfH?K*f|{xdW7EYbZO8vngR@ufU*}wJj=3Lh{X{gbrtP`J9FUO zfyh~X;hJpFvAM`sCFv&EupYDi2&21$UX`PcKzIaVbq|p`4*m{7)|x7oiIGA-x)`g; ze(KNu7ez%4@l4bPH#WQK!L^`VF-Eiy*F{^X$6VlQF`};TZrV#(u1a|8!RtvtcWd<j zDYDme^h`kKM?#ZILR0l8!!N`2i&8b$^WFbKaYi7=jS`KJ_o{+{1JS0L4Rt-0zXG!2 zL|pwCuI3Be?4=cm6Cu}qh7<pRoK_a9+yTz+F#1#&ekvSl+8JtUK}PUn%b^u!`XTzj zSG5Cn?!fgu6ibjpo8wB=fJPO4^q?4_SFIfmZTLnqv~nhxm=2X}MZ+*tUuY5#v<teX z@AljTM4lr3$+5rT_Zss^{y+GxMrf-dS{n#F9|2bvKr!>e`KaO|;?e?R8p8euT<DcP z`$B16K;>J3=jXvDy%yACs79!Mw=;OT9Ju9JPb@@+7!GYSK}~mKriS1OVfc4D@Hhlx z^oOQ401DawS?R7jeBF@6R=M^9Ie^Au6iwwZH_^aNTUS(y0aG<`wP0XB0w~`GH#Pt+ z`U_?$7T$C+SauJqkP~3<HT)dU{=t!Tg0ATGurA_f{my<}ajz4{RV8T56t>J&hs%u2 zt~=M7(Cr-H@DDWw?so#?rx2<7$jT0I^aFhb`ilZ3+mPj_0T%}lssEq|V-br1!2clV zND$ET0v<=l$~(-IUR|UkqWA+2ume~%3$eKbb>4(Hu7q#-4UGAKp9_$6B|Zn5Gl~@g zI}bxY{=##tg3ipv=hNY)^=fRr;OT!rZ$q%!UI_nWMx@MeOgBZg_#k@Fec<^7)uJqT z%86pC*ead~n}`!Vf#-wZ&MxqO1F)&DH^Q)TFagg8ML%$JG<sZv^m=a%k(Y;I9ezQ) zg`eI6kGTn-ZxO$+o+=H`=@hwQka&uJr=$ObO!-XohX0I$(_194au)N^MjNUGr&tSY z90i_l0avELf7e6*^j&Nju4;y}F_wmy;fh$R3<pDwBWDC4(mkO{m&HA-dhQE1nuRNG z7D3bptt<x*x(Hdc*6wOD+-HB+&g%Ez;z68$(siHpE7B`6U7*77eVyTp3c;&B5dQ;9 zZlk}~G3LAI={mITi~i+^$MD%YGd(C?tQGym2E=j*&>Muj{~g};vFI))iA*s9QPX$L z>bv1mpj<tm0;PcTe9+qr(rZFih5NriGod!y;NW_=>SvY4%EE%yh5@%hP?6=x$1z~c zUyL$E+(aK%!X@Z;Mn=&Wu@7;*g}BGUu{VPfJ^^oiSPbx_EBX*{`Z>^E#Z|RoJ@RmG zu(=BIO*GU0w$T)RM6h&xT|&OA4fGp;M_=Im9&*JzII?=KJ<_vXuBsYF@`lysr}-YP zpEV6Qi{#aiFZ&}uo&(F5!mW;TW#{(5<z+SsZm}9K%CAAaej(PS&{75%V!%rAA(W;( zj&z4A*9Yt0V(sjJqSl3jc!X8U4>*@YEH9tHhj1Hu^A_{JADLt&bK_TBdz1E18Ri8g zT1gv$+*P6#a>oU%?=G=mHlJ=|4t?N}EYusL>;<hTiSca13c9~uFAVSLF5nN?b{9yi zg!ysONqFj&d;_<@{mq~z^g&d^RdYz+z24Pz=k*}`bQQ;!0<QN`adsar#2@auH4v#k z+rkG?`~_9H0|r(_CfMlO0rm?swhURy<f_>+jKxC(572+W!F?(VT|5gV&Bx}#R~4ed znDI2c^c~3Eaa3E^&gq|+F}?Dr11qrdaG+1|`Bvb!Jy5a>Y7&Bs+ZFDv8tckW@MGMI zN3%A_VXZOC>sVdx#QLM3>uDW&4W+rjU?rftFjfXn(4VLD3M;Sih+!>ctaVtwPJ^DT zz%1y05zu|(W4-z_I5XK*t+57_;0)F^gQ+pD-jo;TEA=XTVD@h0l|`;Sf*YW$-<V#7 z`3KtU0VRt<UMR_rV!Yw5$~<E*`d(<G5xCqBJb3A<=c_*vCKfr+g6lj0diA}jAE_#$ z{|w$@Bm7(n;=BuUuU8v(QXeRBEvRb|ptdM9F9quJ%(aUx9I-EhPrCyp39iho*R4s$ z*~ih(`p~sGuJ=ykDj#u<CwquB!)x@)53MZ(LRtW2KI}JQKFL*cb2_qL6{vni*E*#U z97!tJwE;1B2IsBU(elJOeUMS6<BWdLgF)z9J7lHLIC22m(4VMX5Ya0L9Vm|8<O2f= zGX2>UU%?N(;&m|~%oAB}H{96`jJhz^CYKPCW^j_fSrl)|Lol2FkbN)1Yo@Y1ydf{m z>+@E;HNTB(=@l5;!xNf$XWpKNfoXl=d}afYM}UNha4uEZXtX;5<1wM_{NV937QzF0 zCRAb}UV6>XEUKtKEeOY~1+z!sxUR^VqtX8vI6f0T`4GRycXF9G!g$BSJ9p>9`G4F4 z>{|!6wZglRcqLFaGFBm=pg8i>Dd^l7AZiyB_af;#jr8j8pIo(f1tRbp(a(=-O@We( zMtlnZ^LlOFP_#D;yxNW{jlz7~#JX?*?SpF;Z~|{#m9Pgvn}d+Yeu(FyCLH2f{jY{_ zdx;`P{1GGZ+e7f>ARNtIVCo4pw?8rZD>h(tq(7fv7jTm!vfyJ($Qxg=mTm*AwQ*Hb zKZ<NO0PjA=8YvTKISFp`g6q)#_OQfN$-F*tiv9$QX~5YCWV1@hJ67=*>TE?0Y(l|M zjO)USWGVnx+Xh*<0SQqIzN@k8$s8Lnnic5vN~lOYuv;4}w?i*(0u^K64#xv8Rgl3u zA%_RhAMr@M6E8(2mpk}HdL8*Z<iJQ%#c`1)&WfW#ubaLW{l0;ojzdrNdQ`38i5t8A z#&?wt(GFzS(#RrrL>;_08u{`VMzREL=}$386*7h4tf}y&Ye>&iQ{j!vkRP1pe5j>2 zFp`3(=0((U1;+|F5izXAE`zTX5cN;!NnT|77jWVK!<qWCzB=Q)rkDYJAI4xD?LaL5 zBH!y(*uS7Z@o<n^;3{+vAR!Y>1`>V29zWox3)Z*OnO<dnJh-(Bj_U_>GZn7u0vO&5 zJg*1L<z@QcfTuBi?{gbuoe0byLBSS+vrn0kcLjSB;X$_JdOMMyi6X(UfA9pWkez-& z4LSkoRp3k?;QH&}qo+b`H)G}a7FyqorMcGegR#>5!4!T2tGE#E$*pjCBar#7AR}h7 zPsnj2p+z&$hx_R50;owj{r_H&8}@()ZP0od9Q{9xNzYDIp@+?&7JGs33~<qtzr!jl zKVQInxxUY34Um78&tL}r4?p$iS<DL=^*Xe0Gx|Ch=Nnj0Ajbxt^kw?qa4YG1)q~*! z1cke5$Zv#4eNTb#6J3C+Pt+Gj-o#HCn6V1*iATWG55S*ZtF^1E9wj_4+>8ZTcm}lp zFXA+b={2SNu>SVLET09279itBvTV5Ju88gyX#ZARyDj4X6DzUJSUbE2dhfuyJ_K84 zf&Fp%GfPATs)@CYUh}FFSwszB-UzmT1vBHo%sAIy{Z>Fl&R|8|607T((6wsNn88>Z zc=4C43J=0+@&GHwPeLimAgA1iVs^%LCjl{CF}4Yqz4kay|C_QOA|c?nV(AVrGzP0` zy=vNjSWnD=Gd~PJu0Knr5VZaYP(BDfQK83r{oFzDwJKC*F|<M7rBV+(*nmuYA3dH9 zF0Mij`~<Bygg8yY5h^gW3P)@~p0ta>$eX&h=xga4;BA%|58g*&>^HzQ1AdMXZ^Sla z-pW|L6oY<6fEjuf<8O%h45*HY>3@$J%)H?Q>!bf8pb}f5CLUNd>iZ8HVxDi%1UULV zR2f<H7FO5Y!LWunav`*-t*i3-0C>eOu4k$oL&WQWTSqazSFT+(DwV?(dcYg$JD~Na zX6-}n)%T~nAx={e?=IlT1Ss2oOs}`AKXdFC%|n(d4j*nnJ~#|?*Vk*`B2(-}9BUwd zZHD6Oe*u0$)zQLgaDc#dU##vjfS5EW%z1VmI+2aFYb-ruvB3UpaE4>u*#~28gPDuL zk@_=a;=wf4Rkdsz3xqTKf|<HO1u)x1fwfVHN^#_{XW)?!5LgZvjY5uygxfX31@=H+ z5@<BoKc3u~Uh(!UW?Ro@HQ)*kL1VAtjQY$1Jlq5}{CQzkkV|N<9<pB&koXd6pM@*l zWJjqRt~Qu-WL3kMO9T1+!R1=4I@A9Wy%gE37viQOyR8G>x`8RL*+A&;a?H~@a4ZB- zzlDr8jsL@YD}nmS(6Rb(6NT72nhU2rnhiwnhC}Iw;Tks)yPxFA*I*_Zp%0}IZ{5>W z2Hz`@UiVjlZg^oHhr22?mUQjVTLu@YKR?KVI6s0{>x{MZLCjw?+Wbk)Tu&&7$I9sp zR<7fLU1E=siDy84?*dzG**g4I2pKC2PN@<4-vci1DRM+4t`~=FVa7_MF;w)92*s-K zBpj@U>%<AYBI`TwbsJ_j8cf_v%b_$)*h}d0SHyE46tFkfE7UFpBId%K^k;rtf7U}) zd{PX0R~=)w&}N|JBi8(Bz}REtnWxAf4ywt1g3a?W&T#e|SZU9!;P?-k1?~^$z4$zw zJsNYl39jJ~;#Y_5hP%5$1JUQxq_76m7g`q&4i;nEk;|si6t<l7eb;a48)EwoI<SyM z0WWRYU}^yewHrs)W@aeLWbk?iIPeoX_7M>q4IRh__b5Rx^1F82=10!zN0o8r4XjZ< zfZ0dD!M*U3&DnF;StneMry%Qx_3&dbFb-LH8q}!)y~aAc7qVh7Ym2_@0k%mThLeAQ zD3)dp<l8_f)gl(b-QfxvfP-GV6<kR&l=T8K=4)EV-0@RM%+x3-$!7FL-wA66z7(wD zyx4wtgfp)Fu6wC0t%Spw4Mj;uj#wbZXtzaxG)P{{YG}{ZBVq{i;H{*tN-=|3`2l8T z1Ea^Zhfag~TpgmWR+l@Ai%c!ATvHxq_)TZ+_2s7qH@8jBX4$jtXQ_<wr2K(xaQE~1 zWm?VuI#YNp(Zo6@$C&HwOtRf|!beDosh#Pid7e_7)uV3GGrk}zI(MlQ?)}osX$!Z^ zBD*24vAJ-UYPerDg;QBa5wT9Hs|Mumvi491vALQip32{pOlc(dk{7cVYN(@(dfly& z+xqMmIrSt{_^yBw*)>x)XEm0q@@F=KGT8Tg@FeqP>lJOR<kY%mb;x+f`Wy1{wW>kt z=YGg-oKi-MbuMuXwl8(0&=7CW;M10wDNh`y!Wu=@%AJ+aDmjU&%f;+{q!EE%!`(f) zW>?5PrT$fGS_bB*3OA3GerUhdK}w`lM>{KiiT!d7El&KSbz;5T(Q}7G$?mI8_09^7 z&;1&AGpU>U-1JTCGv*8U7_!?WrzNCEsAc(C`@P&CWsBDtDa$s@`j0~7)>>CFf?moc z#C6dfIbxC4!>yR9RCZb0PD5JM3{Rhg+dl^<pHWQaW3r!b(a?v!s^#)O&&;QetD=*7 zTgmnQYpiT9mU+OogNE_uQVT;_<7__D^3D3q-jM=jbI=es|1@U1Y7+Uv`I4Vge(cE# z_nYE1-<;;91t}i=Q(MK%$sQ&*HBDukm4a@)L?LUhY}M{7?>E$U^D;!p6|{fpX_=3# z)r?oYBK`V?24=;?zsa@xMnuj}EA!`a;#=ir-~?lN^KY-G-fP+C*u5#u)k)^@hWf&; zER-)e`sN(YnIP>khZzegr=@$++U(WIU$f#(oBWMljm^xvjit{o&!i<DWs6;Ln-(AR z^K@>a*ALTI+1I^&KnJ&lX?^0RXGhEH%%fOqC9mN>vCy(DBS-BZH<rVcgGx<vGwb8T zE2(X@(4de0o6Q%c$GmmowBP&fZKAFejdAq(X8!7KSN(c=|L5`2w`$;M-s;b@A7ye< zJevjNn7=BYv~?Dq-ZZ^6tuvPL_-^`VIHXQW&P}+K)6i>5gpdD4o@zTQ660RR9%FwB zjxDj<(%{p)_d!la$hv?ZzS(|L1C~20d|&Xrg|$M^(};&2b@&jgUskoGtn>`yu)x6J zbhk0u{meHBdy}uKlL9N}4fYGsYUFm3+N3><&qJFEoGE?Yar<NCH%qKic+IfJ0eOAX z{oGXk<J;Hoxlco-s1IKE)LGdxGtZ`9wl*_s0ZW6^-J95?qyh2ya+?~nf{usH_KI~D z${r~mrk2SlU<@hvw%9kD{o|Kcf2{F&yz{09FZIlJ&$4>|sPk)*Jveel^dt9dTa~m5 znR~MLILQ54;IPn|#)FyOi4&6)M|Za^p&`NN<RclYty}nq)N(mL-5ZyFnrC+0sOS9S zdAH^HeIq*f9&;~l-k5y-W9@%mO@#}#3I9(Xl9`=SEd8S84S(zTFzm5kCDAGI?ceI@ z3R@j`BmA#dL1$2Qb=jD{HD$LvA%B$;w{xs-roUS199eK+^gqAbrlE$()^<N8{NAVb zjQ*SdxoK!la$>!Vj+Vcopl7YX@Sx#R>(t7zm6NN}g}_>oBYc)PCueV$&u8~dZpDrk zxLH=xX1sg+RI-%H|Da&I&_kxFMt|Fw-%Dez*tMuJh3<Ry$$1dBJoSWiifs4Z8`vY@ zoFu2t|64kBmb^UtWmp-{oZJPLGt&69cNx8nF-7tg3{LO)D(&?P*1kYezNbN&{ESXz z4F9ttu{<vnbtH0t+x6_;38z!;S`*F7eai>iJgoM(#6EF-Y)9R^!YBA2P-1d+J4e{V zl16B4Ly}AF_N@Fp;CcT)r2=vamX1pD4B$St^!TQ63E4?LuOlvaN@`r%$s{Q&pZd|W zM$lESEoyFjgT!Ci$K~F>iQex#x~L>t+3bJ4vX=ThEqx?t<lhy~_kMrpu{5e-#6Z8t z=0BP_ZpM#o88^JIL|yTDsTR(hlCmbtZtr0n8IUL7n>;P;N8G%OaqNH}@aoZ3+|?R8 z-^7j07~nIY<kQH*aphk`f9-F49{nwHWI%nl<}@yO<<GI{^*!rHeej#2=Fhm8vM<-0 ztu@#7i}$fetJ1aj7MXXs)3>yLBagh&MAp+0l8}_q-S=aWrXfKIY46+pePH$p8xs7} z_qY2)=A9h($C5e2V_oPNj|*DGEGg41camDmZNK+(@6s%P)~M9KS(~K{&vc*troqy5 zsf_be%Db#pe&Y+|_nQ=-^WkXH6R)iBrG5?EpO{ATfXvMJL6#{V-2&bk4%p=E($?#a zrS#Tt%CnPuOSM(Tlk{%(>V`F@)5=S^o$}ta-F`E<y1jhhi#+eC_0O~4BW?3S+(J8e zGGkZcUr{dAD_L{?@ww;QfK1tu**}~){11IHlrqmST(phNC~t{ne?4v+o3gE<kn~j^ zY<ZOR!~9=Fub|H9UB3kXa~g)`DIT2Waa&5K@wtmr9J%An69X2wKd|_wjmoYi-kOG( z9vaFi`Pf`XsO6n~judO&U~Ir&YG34L2HDXxH^gm3Xsq|bw0GZjCdHWBMotVa?GYoF zroFjk(oS2Zn~VW7-J975XGZ3{qK(E=rWPLg40f?F^LSPWjr6d4UQrIKM7~mf(J4EH zeujMwdn_t{3H@2j`8>Q@)Ht6`#zWd)>%CMt>ya@hI4$6~wkIV!b#ZQGe!{fd>$J}z z<v?!NWF_ah{M6@#$257l)|*PI2Q5dk|MM|L=LAHie|WPYrWBtR$s;TJlsD#AJu^=y zyvcF6JqhmVRn2xFZ9vL|+#fW?qiaZx*J5!t>0nYG%X4FZS9On(hMvkHZA)%QYPj|; zEGm4Ql=E%H_aQkW{GuWZepNjmNT+S9l6s`HWOe;22FTJV%eJgPS$iDCScGpe-|NOc zxj`vSvO9_4Zf`tf^8=%SCFJf)mvYyKjEm~&9U0sD(~#r_=JAokLd^atN^RS|q|}7U zTBgsz;6KI$>*36cS+}e~l<hXp=e&Czt!HNQ41=w^;^&s^UfDd^TtUssnwA`B?wYrI zM1F_#IqJ_#TZ;f&pv8Buw^eGN>l<GtW1gXIz$LFKTJhZ4*=gC09d2@d-=*GNrG)Ih zsjYGw(HP@h^JnFzsRiY?zfLnb!^8JSb~5++{`k|i<PIKF!-^tD%r?GtJWX;YoYn$- zy!^lLC%MJ4zvT3Hl%rgaj(%lKjV<Ss3a1};Of)9ASxm=`ouvcTifKF2%lf~IE*N+z zDewE7Khwm;;3a_z0tb4IrUI#}{~gO6>Ao{)k9%21ft)p29=80#<j(ycyIr#nO<j;a z(lONd#N&qBNTW&0wcg6ipL*WgE7~XGPR{ucgJR0tj|RO8sukGTYdPDHvGSjimB;J| zuHYLY+_SP%YiEA8ySo<(j`g?E%9JMYPcq+0RlHyNx_dk}rr9#nr^Sc!bNS~Nh;Va! zGk@EkdfsDf$jcxKYG&SLn;bVUDT&n#hz*=4Kd>4yUuEpGCd)B_p~36iO5~PFs+4-g z9%0Jx3iNvIo}VS>PEKl+eK61(JvlIM(#S6ZVqcM0P*&iNz-^vSwRfqt<A&IadEN<1 zF>iHz%i5iO)e<4dV|LIM?_DAyb!&2sERvdfzVc4;Xl4A*8JAHtX}Huf>T%ve@{}LH ze-z2c?<Ioo2hR!&HZHM5##T$7%cuDN3$RJoty43!3{T5QxqiTgpo_-;vKJ+(sh=EK zMnCVHUU$vqSslyk^pLF6UZ3)84$jRP|Lt{5M|;)47Gc$cRgb;e(e!a~-LtotYlfWk zv5KEr6Eov;-Z<)*gZ$%sfAZOxhf<bh-RIBTQ*{?3MXQvvGHsk=Pe{|KHXgVCjrdYK z+1vawba-H}Z&TwdM|4Vqq-V}4KHGw>o2EMEXST~s%k8So@cJ0g$1B+xnm#c7Y3?Dp zhI_2{H`8|MvGYW3w~RuPcZ7GIP4cf_3%_4VKjdi&>lReq*QPwS)lPn#dWrt?IqK6% z%CR=fiO%ihkXSL#Xy4Z6x3+0%6Eo)8+baLLukw&hCi$&nb56;$(uUdLpF=J>PJMe9 zW3<imD;Ctp*XTKqpUb_Gm^aJc@Wl6x`*vqpOH}R*`&8AJ_xH$j8!KCKax;A_{$juJ zv8jvE%5Sn8T3y@M458!(zYeTo8~g3<pLh0n{}}&BuR>;(4YzJe{+3lv$@LlG9_mca zku2Pqst)1j-5Yz1ky_?n%?z{+r_+WoqeE_}?2`_#i}sdTWsI=_UH!INhW>I-P}K{5 zgM4E>`kEI={T*sr)10roqKB_}j=Igh$bQ(_&RLpHm@b+RNTD`0H^9-BMoFb)C+}hy zW@sf%aOBU}p`7zw==a(>^Y6rzMPjm_zgJU_nQprbIcj$Lr`+DsbvM<}O?|IER*P#T zoeQ*1rVXaIazmTJ`qVL#p2<t3rE-?k(r}cIbo9>H!g~NupVT7%Iwz_2_g;rQihFGJ z=wKc!hNhp+-be$GLzdEUu|aEM&tt!&rI?<WUn-~7t+p8ZEN3X&CI2(#H#!v`R@J#S z<2ZZkQ!Btq1LJBY-LYi3A9COBQPT6Vc`jW~f1lA+y=?F|zSH`Mt7?j4xZ{yl)ilJo zO6qT)U<tK1R41?*$_-_zslQY}jIpxxa6_>782?)K$oRUcI~|og<IE|ZA3XfcF={}1 zshkSpg|UZmBOMV%9Ce+!j>l}E`G~2r>|q~hePTbPEtI&DV_0OqE!AMla@S{WHn#Ge z<@YN0c|z;7+hVHMcsGOBYqw-WJ^RkI<+i-s(>+qTC>}aX*ldmg&YntV^EXp>sjlON z?YJ$7M)R%8e&bK{?E}roX_c$GMflJ4UYNBmF+Tk>pY1);<Aqn4o1fvE^?K$*+XAcy zFUeI!jO~B+d=4+lG}LfUFcqhG`#sBCwE^oYtyIn%3YlxNk<35yh&J1+f&XA*M6yUe znqzc}^St3P+iQnu5og(lvNP2GnKbhbcGU61cGd2!e&qpfo*p;kRrai$KDI7ANp2!v zkcJwwB#E{=QZnnA&EEZeYuQ@GUrSAObo094am+ixeYzazc$2=}62_TZJ<~V!x$Ukc z+LodQE7v><m><zaOJYt@`w7-oIb%#U3^D$5&ek^Nlyy}0I_P`Eqjs7a|10gKG}b4{ zbD&QpV-q$#w|QnQZHzM6W2(H+;cvT~``PhQoG>$w)`kO`mV3rpR&6c$8+IwN#*4g$ zT2AxLj!;T@FZA0bO2prbpPBQ+<Bm@&pE@3m_*m!L^i<1hHr6f4ZMycwel@p_ZK7IE ze&Bh}TtJSt+H<|^m&E|(kYTv#w(*Eqt8KDvwZHec<`?e$BlB?FpyZ08f?r8L?|^)6 zgV=w$JJUKlXUkta*BS?CbsUb|t&aNI1k-Z&2F8grDYt~Roqeg~Wh`KNZtN-#7RM>C z<-7LMtA9XC)8=Fm_cgPx$<Oz@cdGX#qX)Z}m6~}+TWR$3Xu{LAH;!fYbZ1eT>ekD& zPWo)0ZE5N#piPqV8QK~e8n3bS;t!p$eCCp8Z@*MtA^C5@vz!KQiuY)*=^o9L9b$U+ zK1&pJHTE~{(X!Mmds`>dzH@iCqQ<sTDf?UNaeIQMNjH>nhFp07_h(PUbISzk>iNib zHGi4BC#kIEl=-+vFOQ4vgAIE`YIdq+Iz<{^8Tx2x&Sj3V&R6OgX`!j1Qi9goCfi#$ ze~F@eqU5IZk!te2>=KW+F4S_2sa{Q#xb!Ni!*j-)qC8r940bDJ$Y9~t>z2xDbEUe` zOmXUX=T+59E6A@ZIdVbXO^b1^Qj@i3tOFk+?Uf$z>C!_v*HK#?tPJqDXc(5gJ$-JD zhjEelhq<PylCgv`!hX!^;~1;FR1CCG?XG5MOPtHZYd&20!53;qb+KARzyVTKK1eEW z(0ExxjGAqY743~Pz1pk2vpb|WR|}bvOr_i>n7Wup(=$ti#j0j0&7@HFo*J?@YDN1N zwKK13P^1^4tKeF7@zuGQT1mqVf8}cYFE5{Ka9m_#Jb#%gS=VHa%`PKdHDsFGx+R&D zm9Dms+!R}1-c}jKyGb`$qBg|#*8YsC@<2mRKAzRnMmWc+E5&ztvSF{XkUf^S+REBW zQI4CRr&;}y{W9~R)=Iu?tnL=#o^4w1ET8+;vPb-rfAN#tm;F?Y*1k3`8ml}uB=AFY zRxRs1;hZl@$w^8N<%BpS#W)UHK8YQs6F%F?JGV^69LGuJvT=cXwz;TV6y2~awfboV zmCaH%f6hj0lkF>Pwds>G!RRl)63d|KG3eVfsi&caVJrK~nu?m%+M>CkgV%1p(Gs1t z%6?QnWT@+wWSV2XO7(0-Y-TN=@>%L6m7xr^z2mgKDf3ch83Uw^R8bUDv$UonUh*`^ z#+kez6_r{$N{C#x$E~?B$8px;ZYeDJ8BA_{&Erj9<x7s{_K%J<K2Iqog|I=Y)A`a7 zC<3Hc3dtAPH1S3Kqn#188IwyXO{LA^kJMLG(mbi3l5Xs%McDr4DimR8ZSpfcG1OAd zY6tBN9i`}@yn>&h7FsziT&<;DXC36>N*J$0CXp*fP#${D8_MV9`_w~P&9AA$wf|AN zVH|toXlTiH4wloP^G<n<vVzhbsrJ(9TmFaTp_1A$^|yLN{Xu_Nq_mIqrC70B^q|cm zmxgeoG=R@$=ahz8sJcn3r-T?EX-n-zZ4&<{PceKqSQU%BK`Y@5arUCOd>8!@y|g;w zj@m(lvWYxWD$ib0H*rDy&;rE}Hij3G>WdV~$nH94J2lqT+>2j!w8`~XTS`V{x?#Ms z*ief7&vC(4OzpuX{!w(%W@t~;ug>S9HSaG=yb|STbHpJ^5nI?dzD~|$kLk4ZTwGHl zMIFO0V>zl|Yi+$Fs>y8(Hw^m>N99gh13TG!(`u;))^)ovhgL);nyr!~Igw>*soFdd z#X7KYe7ZbGa?mR(#OjG=Vm1F|2$Tn@U#yQD#d(G@z!+dyD92D8wVuPF>VHF>LEhR) zt&*0gSt*7`$w&AAs;>>yQpEpQQE8ZTLTbRPQBC%U^ok!RrAdm3=TWQKD`|`PBqd#0 zA=i|elE3y=T_Xyxa<p1lwf>@<cq0B|Gx<Tjf#uLZYOO!pl6B-Zc98i~6_$s;B>k`O zgXHc~FY2d`RvXiMUPXB$FOskE7W6|b5&bAi{1co#qxK}Ube!LmbAFGN;Y}E0muM-g z!oRUBc7a_*Ya|-+ThbtD3WZWD$`w)6haHmFDZiyC<|DksR;|0{F9O+N_MKLUIbs8S zq$g|&zsF_1kIK_ZI?jCfF?JTJ_nM{BBC3R$UdbPkUYD&6{bJ{Md8v&AZ$L#voc3M& zqNR!HG?bc(?&2K1W(Gct9cP0v-eaN!4Po<`8>>MD*+Ax`qG0ZL{*YRVZQ#ogo}bU) z;nF85mPJyq*d>;V`C2V;lmhurdL@2}jZ}jDqI+yDPvwu<P3ppusR&z7HfEGU`G0H? zVmOZeigZzd-QffHQoev?vOBZ@7_B3U&}FeoJP><mDHR}#2%+m#lN@B==lOBopC!;e zs=%hRqiiX^fisI!1WjZO_&6z-kKw`WF!``u>@L5?r}Hi>R=A6iT9&X=abBGFV4vx! zC`#>^pR^9VT0%3$V<EA}tPg*}NAbZd9?Wy2ihPPxO=`(ri9aGs6leR`ARf){(L^ys zixznh-TzoQ@bs(rAX?K+c8hnED)UHi*@w1~7jGo3k#_Stv_ur9ljxh1O=4GBFLs$K zQAgID2l6eHqPb&c$BQH4Hm${HX~IWT6u$aXR#^)^h&N}gz_BWnk9A_ZSq3enRMC}c zvna%C39rfe(=6(Mc{|FQ@lt#!>p=rV1DZto{mOP$6*+k{HKtPR1gpS(c@W>seAy40 z&OCS)YtDL7ZJJA`DVSG=+WPV#R2s;OrJgL3PX$uHQ$d<eKgi7H(+FyZUiH-P{KfU^ zaywhfO0bfcgFd_?Z^9q3_Q3H-)`R!s5mJ!UjF;d8an-JT6Fy(fy0ai0afZ!e+gJnS z#O+|?3K~a)s2MGDJt4R<OQ+_PCbC5&?WZ_8g5!&_qx6M7lP@d6db?_Z6vw&6SRb~4 z&0#()5&a)Z+0=l&W{VineVR-GIPwS+Y`cEXD5a8xLfK^2m*rzm@YxCU_YCiaOjVCn z!)VIV3@FVmR+zi<`RpTI5@*CKF^TH4J78uXAn7HPz(kj6Fx!lCrn;VQxfcDa0VeKY zTiHgiV+e~tZ#0bLJdjzGm1kveW*u?@M{6(})zR}Xc7R4wQCdKrtTp?NS2Wv#wMs`( zSL7obn6ZGHc{e6R6H#B7DU2;+2hi_CI)J!upvQ>B2C7UKg;lhqNH&Dk#}&KcDqS## znyc!`P|V*Xs>gmXy&B+Zv|kdrpd{Gvg7xBVyfwS8-!(24h-acZeFBEtBA(;OjDDqv zhM3{|bc8z5c<K)f|E8_@u2<dYM~lI}>Z~Tq3%zZIt0s|?=FxJ*uQR?+Boixywi0O_ z?WQU?dH~%7Qe<`!Z7!gxt~*TEQxDgDJ)7t$<)VdOv<LGy3`lqlJhY~~=zkhM>p{h- zC5~)|)@+ETf_dBm{?{O1YD<Uc4!yyZ*W()Ah{rTK=6Y&yf70*NUWiupiZXfFCVC<U ziy`8^SVw_u8mr3I;M%{15u<xYDseUft*%8sB5-Uq#5F}UCo5F+7AwX&(+v@ae4dPX ze*#?VRY&S#{;na?R(eLKXbO6~0zFTmzv$I$#Qz1k;VRMWA<dy7bd}O+1gpS4AU=VZ zhedRey0I=mZZw-q3P!us^`!l!>^w^VilW$Ex{Y&w(KvREnRzfj!N#%U$TBlACtiqw z6PVM0%;He@kvJojrLX}00y-4I?xC&1K+AmS|4DWOT-?Quv9IhGbR&j+0vFZ;gKdG# zBFrC5>&a@fZmd7%vofp5^#8fm@7fs0YB6v205i509AwOZ-<{z9IgEA+<wakAfL*=W z8R~_8Z6tqIiM7G3>rclofcd!Ly1%gx)xy8oRFc(&M(9sG)vL2y1`q47nM|*uq~BTQ zkKT@C@7OEW5ZA~AOB$f}Wn52b9fi5SLkcv*jRmkji1G(2jof4f>ciPP>IH`1a#a|3 z2y9wO-_4Z(1#idVaO6X<z8OZIj41R1dJ5uI53gv9aW>*MhFwIIjv*@gP9%MQYY1D; z9<isaBa~thYlK|YjFr%JjjaHVeG#idtR*ls6B=_Ii2i~R^kdce8nzRPCBVnOlm}|a z*%GP`w{U=lBPRQR>g$vP_3p#6ftBK5%Xi>Jugz1DT?3*jAQx0(tuVJksT?JXc2pR% za|1f8fX#c*&v=}ZBNmI9Vkya(rOh}pKXUyz>IgoRrJG_a))RT?Ab1~5!-YvqKu#@5 zh3LDuCvJ*x^u^2$l3m2&)e!S40i$|_sdI>LZ#Do}s6hc>Y%VQ;|H=fn^cp|Qfa@|C zcQ$al0avaG-_rx0r8c;4h9juO|DoRlsVbb>Aa)zCoxm4?QB9aTU&Z}+OO{1MZQvWi z_*Z1U?LcC6M6oSHu0*^!zr%_F<(>H_=;3qZtGYZDZ5(F5;foscO7IO0UC%XN$c)G$ zcFf!nx&XemWTV(6U|}hEnh2bDvC^*ntNI>=FBsV|jIjmUOh(pvN%@iU{-WQlFtRL4 zMvqQGwFhFPbKvPb*lDmO58F$LGy!v;A3o7S?cvYTXfm4%ER2T#h!f>WzbmH!OG3;i z0M9ott9s3+f3yl3rdR8$5A0onu1s;wW@oT9nyKhrB{mgY914fr%XRl-8??Oz3bFzH zIE4JC@9n9{&O&wdYIPmh2FzGIl}8W1qIY_I5eaeI${xT2_#ombv=#kAEZAq@{R!>F zsLnGltRi|dch(Zvh-R_Omseq3fRRx6x#NiaVy5phO2cgB$4q`;GZ2$NC~YX(Da_Zh zV73lD*6%l}4ptQb294n86Ec8<Kd3i&qgS*FMm%-^o3q7U8U^h9p-1%3_2hFSYl7B$ zA<H#nG2jRMBqH+%zFPw}Hz1R2!|xsG1n@KzIyw?_)B`OKfOGAR-}EXPvB-?aDIaF- zJXK~RSS~rl3%H>^ICC<&kvo;35O}vJY5|2>O8+4fMbUhmRgvvNj{FavvpRbHkp{B- z{1Cei)on+ekw;qsnN?jo(jHL*WSsi&wz<gsW2rF^Hw-=3?>$WeLQcT%cw=TGn7+fX zI2f%z!M-9iV<h6M-~Ct&xX-0pY(J3N2pInj=IHk$US=Cy_fNLMY}QA-OxyuADac}} zEfoF<a#C0L8G%0LgXTs7vqUr5Cbk5=rWq9f3cOTJc%BsI%@cvjZR{ZwY61G<?%H8h z57FLDZ%KCq`g8xMLR;VB+7(>S2Ct79UW}{H#Pw&gl}x|aZXGg&4ey4bmxJJ!hC<Er z!io9l4j6OhiTFPueGkHN9CHmZn8T)kMU`>v9(Enqz79=Yk1UW*P4QD0e~K1<Pz$K4 zK9=Tay98qK9MRZ>v5y2=ivrzEq0&3xpE`mOFM#1)_<bnQQxsS#f>#Mw1-~-r#W`^2 z2mJ&O7vZPbi2of|O{vkYI!)os1Mx~hrn!pT-W@Y{4c@l}D+Qm{7ddemGU^@pfWtse zRUq)B>rUg<a1{;7CK{v7VN{Gf;EzV(z3tHDDew#XaBemFDKz0nO@T}OKDjIK8UGNA zSmY85^rbSCPrq+5#8t(u4kDEc#!tkx4&n^`S==98d)ar<80dN*aJM>K#R;@<2aLX? z@0-98CxMN4=>KnAb0<8SUX^Hwiw7&AJ!4!?FCT<+d!Qwbm?R^Mcp^%{t{t-i$nA{S zn=s2G*#DrfTQH|nT+g`AgBV2NQx$IEq039@)z3D<YYxVk7vKsj5S{L5eG_I!xb`{a zBA<6cHnhV*-GoNoCA}8!6~u87qSGCDt3DKJDDvqb#Or@(<&J)@B}Q?JHp4N+0cnMq zeoxdZaQg>ZT#K=^#o2u^mSJ#1&B;jFq63`TY1f@w>%h^u=+jw@>j&vt5l2UHy@AM% zlX2E+xV4F3Xb)tZH$Z{@%m}^OO)xY=zvJ;G^2AhN#|&Rmi4|aa^^9QrmW<3*6<XO1 zvosK&?Q}iM<2IZ`EO6Kl?@a-M|Hsw>g-_t5oGb}hC=Pn-!+$b{wa;7pc7u6xLaqwo zaaa#s0lw3iA1}l;eD)e&pWvR}A{Y7bSoR(*{KMzjXfGN5>LK|06`uMyuDTNayw2iX zyN}0#%X7el5ny6pSN)N8K>i^dwL`xz52HDa-p+O1#b1f(l`=nK+)2>OC(y`6K*t<p zcHQBwLUb!pZ{+a~_(Xp?z*|Ipi)&BubKq10C*zTmGO#|^tDZSA$M^Ai07SgPTpz~2 zJJGTQpQwobE94oy`s_YeZ2^5x#tK>j#I(aKOu#&K!F9TW7yaS91Hm7Ccic`~&5Bq@ zBJw2=`DD16bGZ5iI6HrEBrm+85qU&Ko_CU7Rrm#TMc<)+1#|rfoXW=e?o59gNJX$I z7;37w@(WqGI9lk=CctwJWO|*|GEkPTh+lWiUq4pE^*s9GU|w+`-T(jBm{c%kE6%<Q z7V2JqIAYZgYB3YN+6OL825v_K+p~e}vB2$F#8rQy%6z=L6uD<DBKr$bI|5WTN46M) z2%N^T6Tp?3aH&@@7f-?IV~9;zc(ZS!5n|zij8qQsX@WCqK`~0W)TJrrrYGjBC8E|C zd8i`VZ;lq%;NA83((hTUgDW3E49{S0e!}w^Ss+-R4{Bc#^IsUT3&jd48=f#8(OZq) zJ;v-@!Z{<LQ{EH_1Pn!6<Dq<=upX*{{tm%!{~^K`poOtm*Hncbwm>Ew0Y`9&ox{2} z1Beaf64#%`5sX!>2J8w(t_lyqczNTUXzs<|gBjb{Ua(>}u>S!lPR7>-c!i_T^?6Lc zv$qEPw+9r*2Qw!y$9}Hb9V_8RW&!(WkYQHCH3#xBd?6o#wSE&m34U%BU&_1l0lWmS z1+H=amZiID`PPH}^ugKs*F^lh)m6jP3uDl$Z-ud!P|6G-Q{UmOXNwH1a`jy(6<IZ~ zr8=Tl+Eo$E569ZDmTv>REOXtjIuP+J3)XjH!;yU|y3VK$oh$<Nm<Ydf5`5hSPOgH7 zs|+Wk?>p0<m5|?6Y10GQNPlL6zVFwU>AR$gBPNHDhm+VF#4eNNAYy?$4P!Zt_s1ib z&qLNc1a5agJf`5Pi=jb>5WV$qt3%L_2=t&g@ckdMWC;4C*SYg#dJWkh(BzxInw@ly zdWq?KmlmOiD-h8`08~J$zt9m~=Vu`Db8z+=%!a-Xp#zwvf?p4?_SgxH?+@Qp3~Sl% zSfR#<8{#3p2UCWK#u_7DgkVjQE9wB1Gr{8p@S+>={V=e(2MAq=d^#E2(Q7x&0QTnt z?K6;(CP53zVO5$g0>}W5R~%oJag_mBzqSVcngDq_fzhE<1ncmh;*B^ZR*6ZXDZcuO z?P9+;jTJ^3)*h|Euah|P2yl7~c{9d!k9<DY>>NQvCSXj}U5w9zIC)_X;9$}A|G<Qs zaI*@u&H~n)0n@jE>jz1%?VaYT_YwquQ3<Q+ws1V%&`Kv)CEu6GAYb8V{P9UNBHj|H zxW!IDv)5wYr{OioRh42CW~~9DsaFqA!3xv{Onb9$XjQMfaT`}UhdABSpQ{88&Vruk zc{LR)!1|b{W_Sgm&oXAG9?(+~t&{{Rs{w%xkdH&))UV@M8|ix|-GQ?r(9UG2@i%0@ zLikj#GgTh5T?V>WAAPL~jD~?-Rp2UPF#4UCsX;DHIf4ACuRQHwM0<R$@4xAXGs^?> zgOT^j0izSpelb@qSG`W-TWHK;IHG}24jF5@rkLezq}PRB?b=827it`ce)~gJr@Qw1 zU2yGz8-o~)25RGx--s39AHnJm`V+w5Ku6=VX<*D?{L~KD+XruX8!S4C^;!#jJ{!Fl zfzg-3Ow`6a_Qia(00)Kwy&W*#2gvvLFcSSa6z}0w^h#wrkR8&XbY_gr0ry!B<Ej8G z<bWF&5&0G9t6uA6j!OYkMUwa{?u#elk%$MrN>VV^a<!p`<<Qa!<W1ezO~>lMjXsD_ z<jV#?ZB1l@_Q3fXxQyvoE!4vqErH9iu9)baESDm1RVNigMrz9RX91mrqHacBsY|8E zkN%0GbWJ3R2=KrUEz|^ahN7Li^jwrCr}&TFiVq?`GQwsk^eCLu4Xc$BII=tVxerXc zf_Tru2#<ib7myS5>QfzD7}Iy^&BfJT;Zr--R(j>xv2Z@!5y9`smHD9-wSma3$ZxaY ztSVC*WT9YqD-Pbh$EyCR*a5b+6??=S@l5Q44!i^7Cx8XVG2cHh>qg+Q9%e{iKc<66 z8xYfZ#DVI9u03nha8x|>bvQIN#D#;iSmpbIS7pGAC18Ce^l~3YH5%jR7<&NnXAgJ> zeZN_M^hl4^eyo}&0--H%W+D|vhQ8pcQ{#zs>LKV{aqvs86RhuyF|lPhXBL?KKll>e z%YDKMt0}nO4gP5>6uK*vbSL!n5fru{TC9sBssOM1s2Or)5c*mZXiQ;F_6&|K1rBYd z>&Y2C;q|(K_eQK*7O)>!bv;B2XITs)T9AK2hH8xUQW&&64=)6V*d2K7?5YD@3fHa8 zEKtEr(kq^oK-7;htOlUVZFw1fk>BL`_*7i0Jm<V0uL8$77Hl|%vus$&b-@a!E#}J( zl+R)J*-zRB<S&9VyvQUz9-e0nnC8cQ_)5g)DzyUEJ=sKH!;Ki$vYGm`v)FG$>NULa z1!zhcR-gZm&BRK}8=1Tz^3YYb02s<e#yE-DJA_QNAIKPm*|~;UE5kM;ev8=`a624Y zR~6%)fd14*^aNJ79<CjAdT!I7Lvsm{{0*gx$E<v$0f@yeS7q>;P{wM!7q5Z%{X%@} z@CaTP`E??6VG`7?8PK$kLf~E_5$XA~6xms?j3%f#ym}S32-tprHv3==wvnv`K1#6) zv<`j9$DV^9zk#Ti$SNgqb}DB7vq%MV3-WrHxrsDI|C<j!j|F2}gR}Z-t0Gne!E8L% zB&VPidUfG8@IQK;x1CVQ9ASjN90Ygf!$u<Sy~k)qBByl#e?H;J&iMTsFfOAPXAtGz zq82;s+J#pHZMLB(tYUP<pMY5A(jnFg7@Z9??855W0cDsARrrX0-J*2z=0BifC!pYi zfRhdw<2_f^;zC%neS^#MLxgui!=K^Gdss<+nTopV=vCtF*(vJB0{B_hkB1>6B_juo z2iN-3B3D(iW2_;vuLm>o!pIk9AfPEb290b^U0E%Re=o*W29b+kb?A^-Ao8&UWYVEj zjtz(E^*}yc4bNbqOwpPxrB*x@tk>5<58#HPd3pHqNH&#MVyiF%-{7D_fPg1JW_jj? zxD973d3Ru|5dY2G*?sx|zWkwitR$hon5%clJB28p(Cg4I!iW!3QS{XV{-_{&HvlWa zwdBqp1A|$J(grw{3h3E<9s#yhgZA5j^f_2#&BD5~HlkXc_d&i2N0u1|f2KeEuRb3Q zKd=wy=g@UvWf0<Uj+XQD^xd@|sSGky2HZe5Xh9a`hXXl8hxMlk;k{RI;U(Eks8e3} z*zN2Ig~3CY1m12?L)ZSS1kskB!YwYsEPe-b>acjy_mdW6tC1b`9Z}br{>+P9aCa#p zmrg=3_K23V`jiAE4+Co3A=AlhnJ6TB(RSqQ6sV;i^x+S%RgAahS25E=Ts1yRKz$mp zJ@i#{2a5Y*&LY6W9q>H`kckrDYTwXAHVj#<EZj;aBHbQH(ko)6ioJT}c4k2y-OhBR zpF$pe1sz+2te;CanZCa;52AOGod6r&(;7A(@vM#O9R^3s;hf3v@$C_(H?H02J&{jp zB8TgH2TO8q_CGKwg1<nkH|Rdrw2i>%sZh^@G@L!A@>q?QLw+9ses@Cr24jXtV`cDM zcwiRuAa^Wc+u+Zt1BvhHH+nw<#~Y{z*2ZJd13#Q|l}!8+GS?k;iB_;XXsHmGx|fCW zAR374xMSTAk9^pJ`5>d{wep%XeFt_Zdjs7)Pb1htaRwM}i}{+4=uH!qTu)JYfY{8S zN9b1~*nJA~dmMa|p?CG69$n#4#<M9j71|NbCqjSibe<WpM(l>@y<!*PGY&(e_JXNb zpj^80)}i&t5B-3e5VjJyeL(+1YwgGhom%C3VqsaZY#0#q1Z%A`U{E^r=oTE*8|3u0 zP@vl614h>YV^YOOHjwA#J>Z&y*#WdanT|j|b%o52sI&vqhq6&nL<<cQ-;nc?5o?WF z1J(PeI&iE%t@0e&Y=r215Ur2{_fZX8p$SxeJo5B2N<<_VLs1SQe>f1addN=$q1q~q zfztm0`m#tvn~R|Z?(j1&L<K0<J@mOLyg(F`%nW?!Pw+efN7m7W)fm#B4YwBRSci3> zcj5!`vL`Uw2y6MxVgf5pU&Ic?`~_5^0It{tWB-O$9zm_vASy+G;yqLVej^HzECwV8 zQ)voE8_o1A1lQ&O4~`?cXR+GY2p`)DZekCeU~{1FC+UGuprvQ%y6{7u7zL)56P=+m z2az`(iQ8zmI!zJ&Sdo~Z{axYodV&1{UZ)sb?s+h5u2=%*kHU<t!3-ZoAAXTU5u`tH z>I*bl|DQQ0aBu@Fd;O_XBjLbE%tNFr(k-U{Uuu6isqI+Nd_%13!!6px3sD$nycAWT zzrFCzU--Fk<V7FFJB;t0*aQzYk$m)A;_{`#;6>{Im6hO+>Y*2-kq`C%`?^Bc(S9~o zRQG|JhtO$1eJ?4p&}3wsnrtTKrW10=2&_Rl^3M~DqBsz^5h{RO25;tz>^GcsN9+<2 ziGj!!Kats*uwRIMDR}A9!1Wrc$coS&u?#cm&)Z^lGT>NeK}9xWz2Aq8;SKo{a9yvn zEV2IyU$IaO5oJWKc1leY<f=&ALW>s{*eG6~4-r?iG4z7H<@xzudc(Q^)md0QPU4Mt z0yJQ?_Dx%&Z5Bth8`=vYvm;QSc5FA_#d-qGi&;tOE_jz$45Pw)x|EI;LwDAM*X5OX z6dYJ1tfMnTeyy7}RJ0cpwX&j#*zd|O*P+M%fU6Cxj}#;&ibq;MQIebGp?oM@=rmqM z+60!*V5j(7DS_?LHmgzEbMaa$qK(q-i|+7iU-*AgC@%_Ua-Nrzo3ia%gvRKsv_mQZ z232Brd1>hx<|7yR@hKlqkJX9JF6u(fO|;cYYIil8XwJ4u_2uPoK8x6HDNGI*DbArz zZ;F<E`Fmj$C#aw_fNuekyje}@4T}<woay#ZZMpVF^Akzx4zUAk#71&wr4Qf4%dkB1 zayeGqb<S|ah`RC{X#tfH`>3`&S02RAKtcVb1fC||I`i98oh!APh^e1CPV=I@Y=+#* zFhok>1NarWlwub{oGTm#YA6?!`cjPcl$}xbDTSq~>?4blMo69Lh;xtqvDy+SPZW2x z`C#}5ZZz~al$7#GIXqDbGgP8{&Uo7bZHXjHsq{%y<U0+^4Cm!+7R2+&O{6e-;@D`5 zbpFQmC(>Q5JLTbLq|=5&#&NRBSMU<b8N)uR<UC?4t2+1*-kS{KGW%%gY1*#T;TkoT z=1G-lpW}z6lHH=}`>>B{$1yK9enYXF3LA<;-*@trh6VC<XSP+cucd`bQE4lX8YBC< zEi{p|2A=q+w3-i7n^`+qUpRBcV!E!K({{0+@()7`a{==c-c*Fs2dT2LDVt_5Z8>2t z%5TVxxS5TSZksN-ITSk^C$_T}yp1qBzgs@pYO7ndHMBs)@+4)nVY@*!d@{ze56&an zeCe6Vm#?<g%#j^4m9nNcQfW3(I_`Gfqk!QExrux{SDK{dv74<S&L(t4^r2)?Q0ZlU zWV$1t;tu0%>8$gEW3-rJ{$?oV*pii-T}2w_-r5kvG?8j7=9OVwN534~MG3<;x^6q4 zEm=E4g^y5EZ3go)O)(EK%wezOs`4+Vhx56!ps}o5kQkYJDx->;V-7I~%iF|T>AQOY z^9A1CvD>j&$}5d=q-HJ7-mD$v%~`TqL0mA7bDL#4Nk6n`<6RMJuVf!gL%dEKkK21? zMrD^%B0Po}uF_2Pr|FExW@Uz2*!orUG}dOLEVt4hT1(3l<qqt=GnM@?A9sr|1gIOx z+xW!!$F|&dL^<fUSE*%Po3_=G>*nizlpj&=iZHKX?wM?$t%dcR^4>T`^T-~Z;m|@2 z>!oIz)0w8EyIW18`CR*CseqB}N34ad-P}(3he}yF+f#-)#&~shZ^-93DzRBU*WCXf zOV<D;Nz-gI3ytya&f2zZ+qTVbZQHhO+qP|cR^vuhWyZVJ|2uPLXQq*r8FAyrjo!+P zcv-^J*n3&;=*VM^jdjHSV?!PDm2Os9tFd!@@FPc8naa0WNpwdVSrexvM7p!4yzZFq z>GFGrw{&QkkSV;CzldBNwko6wyPSC6Q&(H>yej&}O^bC>E$2KnjTmC2(hCOXcm9#v zd>utT_f>09{EdXed~nJNA$9!+|3t(^yUvEDQ9t_kn9qYAhRsr@d4I*9VFg_e*j$e< zx{z7jVQQHv!mP?ux{J6pw$ER~cUUc|=SzH>klVN$o+9}k)++YopEe>Pq>eMIrTfZo z7WTyT%bc7r+_%S(#<A0!9y>Yi0bk@8sk}DVS)cS}u9MmcbBOP(_0t_kuM_4ZuHm66 z=Y>TXpa0yBspjy6c2FAn3}1<$f=Tl0hW}}NfA-MbSl#Y*ME5gNxmr6%@)!OPmc#wU zRZzL^-|8QsmJN}nKmNIAsk?RRzwUF1?|v0c>>RWyxPtuU$t_nz6iYHrDdQdNN$MEp z&P$!+ZbhFZ-JRDFBQE$GXqke!Yn`0y(?vH&SkM`7P+WU|`Ou=N{^%9sSN_T4d+2`Z z46<_gqxh4EuAwF5gT!<`?)c?cV?;;ijUC9gyK-nL#93>nV{TAUM+&Qt&n*UP#a!9F z`{TwMHA2d#{GbnuZ~WKiHC%O^gRITQ4&_La(_vF7i|37Jk#<RU8RcVV#Z=`@UAk6X z&bK0+BZCg;lf_x@HnELmau%>A#E$cy)3>KM7CPH^<8OS-Sbp9)Th20*k~?Hm_)I0g zuX5rLYUMa-^+-q;z1l42GW7z=GOM~`xw1Q2@lJl#S|k&d?CO*F>mCnfOmZmY9(8q` z{wKz>-ceGk1om&P=Z<*oc8N!c)%}XDtIUXsX%_#Ak8=*vvr$r7>AdMmq35@rct2a0 z#e8kB7#M%oI^lShVn!05KRjl@-$GUk$687h<H+wm5ne#6X&m=75UaE;)}#2Kn619? z&M;R4tsB);mbpghzbM#0!51WJ(o`+hJmhJ@N(5y|^~l{i@xt#6f1il`T5~p;ja1GB z$A)ZR)BN7VfAXpN%;=UdA?7w><hLV<HbFL2n>m)K&EyI1O@FYw!8YrQjhwzoEO~IU zluh-|aqptu{d>$O>jk;WiYd23_l0!iEsZpu3UrBW_J_m`i0La+x%#+j>9gpH_Q_d7 zt4ZxW!@YIPRU)0U6#MOuk-Z!-k=a73`;PuP@-wS(Rgc$lsvVRCq5G1Ib{?==Cu}o1 z$i_yiglo|^%q?zjh!)h0U*g^M1a*^~oR}kFt>Kf?9W(V4Mp3y^OOrHdl3`}`-}k;2 zOemq319xs$2L_Ev(mAN9I1_g}fr}gFNblCTE&e*LR$;|MN~)&ZsQgyi(gSa)gcrVx za;M^QR#b{x>DgV!@Q7coDW3UJVZYA!7dZT`LyrF(6g(~TjJD6;A@03zJgt?h{CN|; zi|#>RL+84eQf}$wF|3Ge={f3|Y^_yFY118L)ZQ|RPttj4C+$l7`lw^SYWiO~lpxi8 z)txf5Qur<Hhd(5~Sz?ft-z;jR^rfRzL0LolxI6MQB94;NMDvBGr|*P#sI<~jI{!Ks zLD6>QQ(QwF!#%BjpZnFpUoH4Sc%6`xuDdR8$aj65kt6m(Ol5PZtS+aT6NTxX5neL5 zGw<!cZMLQu@ygfFvq*&LvCg@AR%bTthSl22FYoBr)TZ9w(IsMAu}@)*!l${nsrU6d z?!IbA<8|!2xC`b@R0*l9tyJ0lJb0`l!s_R3X8w@B<y!v%?<R3e8RICVNnI$*jTYu< zvDDepaoe{!dh5Sa=0W$mko`fM95<Y)-D{L8{;M&YV{RB3?N7199vS4S9#l%7Yn(~A z?aL%5&|IsQF<zEer#XsiOSJ>~2&=0<gOQ+AaSxRl<Ffo&<n10ZA@X9_1T7~Y;<%yB zFg`?2{(I6tPhYO@lnsr{N~Yk#u1jKK{8vv`8m-350lwMhWu>a?z2g9VRazjQY_fiv zXY_K8J(h@X72~9NVKGVi2iyM}<I;93J+1ul*%Ob;QQ9Bny|LAJskC+9a?O!%y`z0a zpc<bE)8g!-9_8q+Hm5TBT#d`Y{t%<BBUbNdWr*7wTZ``t>lV?-HHS4&&gkou??%bE zF$vYJ5Bw+H^(_{k^y0z)Imek7y;+Uq>@L@ZQ}pI(oHLxgp|(ErHx8$K?_1`*#$}LS zed2S*4E3&XW{&6*RFMxA$+TYDF)KFiWXxtiDI>JGV!OW|&2U_DA5vBrit$H;D(4xq zl8Xwgwf<eb$8O0BS}FahAS2A&<T&dHvv}N{m<YBh^jcVyBT=5CPO6u#__oL9NYLdG zt(ta9)DfB08qTGTk1~UQy0KTT<t=HvSVA|{G_ID;oO&M~p>Nfv8OJ=`65Fa-f-9&S zeYaz`T9<>Dht+oZ#bi-K(^Ut>B-ZmdSP%V~mff7_JHtA<rUkE3hnpX)Ry11~DYu$e zDT5<j@Hl4z>n<~}<*uB3u=lMe2`vgc;u`L+6J0CehBG4KoI9MYHec#3Tu1mQ-}KmN zW--m>$il997s~Ojbit#vLdG25MzIU^_yaS>8mZKB&UOw^7En2!L#^r@FR~}x^yHDp zL&`denl%!4`93+41<!JXv;N|Nx>9#jecy%n2IfZfr<#vl^8FHP9J$;dwYg@9?~O4} zI#@fgModu;yV|=qsX?N=cq&$@Em?uY3Epnj{NQFm14Wg@Kk+f_oV%r?CTnUXRmr(T zNoqEYU*#>w@~fkGAAf73m7=*uI+M}?|0Vw$D<gDnJNb-n)q6X)DveRQ%%_6NRqZQg z*weR%?+Tu*&oCP$HZ#uX-(2D9ce9-}SnKX|sSk~t-W?*7x>`9c#`(HimDGcd7n&v# z%|>D<tHHlo*~MGVoL$@vwFp*RERthbPWDiy_q_GpqzUezkVkaGQ#s+ZxkE3aSLJ^8 zTWcI#(HTnDe64+jsV0jPxy-F*D)qhdien!iWu~%Hpc<_%SDOu}iN4BN#nFqsL=~Nt zD$!0eM3ysJ7`J3KC8w*SVj0go$9yG~aOYe7q^7Fp^)}iyxy~1p(9}OhhVe)yEC+Q^ z^EoPL_e3MJh<V705#vP^8>5|Yo^;IP&qacH&uSp=Tj|9$bEx-?l|>B;E*W%HF820J z^jHP;SUrbcOiSXp;GE678NU-2dnSmN)R^+4VydaWa-4BwQ?Fa8tSjbktB;&Yi&V`q z*0D#cz*5L_R)kn03W_cCmL@9&DVg*trsJP`15fl)!fSs)R28Q7f@fDoI;QJgD2=aW zVrGB1e1UrOC9A1-bUoH%Sz+_3;g*G2IN~~yrPoU9UNsfJEdPlUvLr>y8f*+pD);dw z+TEauu2xd_RZ5&D*6MQ|OZD=+u(CxvfQmTS-`w9-bd!ErUW})3)I2Nnf~<};PVA6= zDlSXOh5Vbg*7;TY#oMFSbhC@1DW0uPf0g<wQ{41|E!Lko68Hq4KmLTLDy?^<asJkJ zs^zs8>T}uCuX?}x6@uR22f3l#)e34V&nwRfkE}-XWt=!k^_AahUhSz84W5XSe&d=^ zmo?JUuw4FHp5fxR>tygN=XV+-Q*bwXY@SS9m3TtDQhPYED1Ri@pf*=`%A7_us}*ad zT~bd`IeNfSqXJyXOUm0;2Kvh`Q6`#9y_EZ?29MAZu~8J2eW6fp(h@eB4PzmE5GzE- z<UV;*9uW<NU%X(&v?wiJnNJ181yM}uG)@j74<DtB;UnZ6E1c(JZOmw2RqH?3`QSEc zK2O%z)#e-bs?cVx;}lO($`?M;TpKqqe!KZk&8}}jJ}f|+bmr_$<^5m$-)N=gR?f;p zvX{Etb;_BjXri!rRQxCZSkH{C)_Y!7Yp!b4Of;dkY$@dwc|>oT&1)+=cx{%8mBjZ< zx!l@kb(b?(4qlpNX64yq-b3lduaF_@(Gglr<ym&#Q>n`v(S0#gd_|=<n4VDyK1Tb) zKN_!$nrw`#yK}giD?T#e5-S@L6Z}GFydC$cJ*c_wdz{Nt8QLs|dXpNk^15&|(FTcg z{uAZ`8BOCvW!X-x;BvY@s`=$ctDL-!*)BD<n1Z@%#kI_QjLamPz`9FiC2PHvjOAC3 zD#?{IJd=7``N4ElqU~r9`$Su)3Ay=BK7&tTSLF*iNCwe0c~NW<aq=F^qEzIm*kGzp z8RR56p5HZEiSsneaoAl|uJ-<nFJygklyDu=T2WhBL|Mt&i1WTSzP~a^&7oyv2d)3u zC1sv6N(}XnvGy^k&gPk93ptuSRW|Y^Qj@jl9xKN>i00M<ahFNuAotJ|YQ{dWO6;br zN}c3m+Q(k=zDj?J68o%CvL4T&Tu}bw{rPcLR^GAlnFFkoVygU4y5&IWX7$+}`cFpC ze0G!9!~2E_zrpCNIwWYDdcwGqIKlTvS?*LE-IT(tDPK<6t%bgS-pbZWc8p)5_TrCR z$?Gf6*#)spq@<@bp56!&jaYi+in5BWr1rFob!B7a12I(oVYM;iW$Y{4!#c6IvY1#e zl2AonC9qE>1?{12B;-7~Tqa=#J)yJqy+gpf!uC*Ax=5$#A(>Q*6^H)#Lrdw9HPc)! z&nw9tHI&QN2IHlrs<ZW<Y7btGc2if%CZ?NBOjSOmVJu3TVlq}4$|uttIhI0!wUPW< z;BN2o$|JRy`V+Qz!VdE??1;!BEJ^&Xx|a{33NnMt3&B=PWTI}$1Ff(2ifgn^c*H01 zS44o-Q}cU#CXZk#Fv~;|Ky4IFXZQI}zMQ{jS-@XjK96VTEBPV*m2QX=;xJ8Ahv+Z0 zEBvlpVSP3utQwY6-lP=#4y#LD<Yu{mK2S8>rK_wekL2Ch9P-0bX_ZpSe0~@h@X`uc zVkO(n%kdTLAeAIHm6snyY8gwH_%@}GvW?x74%t*(6V2pP*_4J*D!L=5$W`Ey-LzBQ z5>><%nU*DEvGj|o^6pBgQkdK4*SBT!sh)g+_0Hxc)Y)otB?x&a0Z5d>Co8b@yem6F z8jYfv#922sp4w4<`B}`7Ln$o}RX!+n6enLtq4bIdvvRyOw|5yezzny`+Vqo2b{Y|N zQ{<3k!D(Lhm^EV2^Z>kf0Gz#son+hC4R(-a;73_&U?qY(5LGK_1{GveV2|Q_1E0im z@Fi>)t%DsJGKD8FzkNa?vRW@>+4*?whQLX6-DxDX1L8{aoIu_mN`~j>P)p3=JwMN9 z@r=9?AIppJ6KpokqmDG1mQZSTjV0wNc^2R<H*(D#t2p>5Da*$?(iy~j1u8`s<T06> zmeEQoLy;J>6XsQy$FipEFAb#Du*f6&kM-d`c;3$nv!fJ?m}@D+WeKUst#T2q1Qt`X zM44Y+mR0bM5AuXOLJ2Ib@|4emN4sDqJuvby%s&HP$Y=9!%wiW1IeFPDIu7KPCxs?a zdX^b0naVe_!<heSdO<OPbARh&6+!$h8wuOqfE5nll`h_g@8#WqD2qK}yI}Y9tTUSj zB{&jMbq={8DI3D>un5+MPRO0|uIxmW*g#f>J-~<uDU$WY+V9Caw3mWeC|gTA5Vd#7 zzANo2UQvWKU=@%7wo-StgVknL>63gYGhtqwy1^qKNnzQUpWe`YD$F*q&Fnr4W>bKS zkMaObf)9TqH$WxHh4P6EBc08#&#I&efx96W(o6b-k@H}sn<x$5`ycPcquFx2<`W{% z$z1Fr`;I8qfS6A#iaB^GUV@KfDcCnUL`#9(E&K)xVfNXge@Vq^3e#!1M*ftAX$(yT zV%FO|{wOUn!2|Y%ZHG1bu*K{i=K7MYWv|#3V6zarN%>hc%f_qmB>Xlz&g!s9tOlzN zI~71=tfyAA2)6hRY#(9vebDt-a@e{vY~v*#+5fwEfQlgslJG?K5B9ysro$WGSt_2D zA7edWZ6Bq?d%+!iH>(NkKLHZXz^;dBJM6Fyai_2h$f9<yhvn=AEYuB;HeuP=F{Uv> zG`*oOWZx+;ll5Z#SwS`zwycck?i09^_$2kmzpKHjF*J?MVGmgw){#Af1*TD3a$*J3 z=sUfm29%flG9`TP1n!2j0c;uT%~G-h)W|*~6H4VVCAass0%ea8Z5hc$kK{eP<C#oD z&4A!zuyjHA{2U?XrM(xkGnnHdxiGJvl!lJT26CvJB^S#ZvIKn!+=Zk76GJE$g;94o z2Fkex4aJJS0uR;LUCb$x{>jF`Kq?jv)Hb1%)B%We2JVrZ1>Ch^En)2(Yy;S#J@Ruo z`A4h}3q=MQCL2iu3bHsnw3K>NCvuQiCIfS{3fv8pjfPPfuufgr_AX*L8=D5de`c}F zVEK4eeh?PDjZE|wnJ63)V4r**&C>Dmd=`8^k!rzieyYJT!sqt+q|XAq^_pXbA@KPz zx=ood;(Jz<8}Ld7X5Z!h6(ilI62RJ1b{ClYiAdRmuN~m2x@<l?x(z<A#M0n;!GU`~ zb(WPyf{&^)`(9pwxCjAjuf_YD@+nZSGx#s4u6b0QN?<)(psiZNHVct2F0i+_ekEiO zjh(_376k58uExG&ZoQ}gWykkcx<EMsc_2S~O?g>&=(jSkMjd#2Auy32oSzp_7|9-! z&D&3rKc0}i@8UEVKLoLomLI{p$_DPOEe+0Ig6K)c8UF~3cMhEUo{kCn0qz(EKb#<Y zH?!ScEEZV01N+^f%wVRvY!%xGTfJnj*+=ln4ET05>~o*>;0usV=Yq*%SbU&s<K{qL zzdh_WEO>*hV+(-$TwsMT_6{?)_b^^Uwi-xPfajculy$KBK(KXZL~}jn#9Tdry)l!K zjsC&k7l5JIz$xe7FvnVy8%Ui(`$!Ai+npPhufx6qr|YRGwE$O-1Vf#J-69ZadD&&y z<RqoT%Ez-&i07khP~Z&fYKY~Y;DS@oww&rwU*wuvz^fp8zug<MyE9~`2Z*1JbQLHX z#a0J8n<Zyan8!3~gXgb+ZQJ2d`wk!nkWdha$c=TZ4cs3b7uZwrUtrJ0CRzpbPXlk{ z0;6BSx*y4Bs2aXOaj&A1KzPHzDafx7a{|$O2bTJPI%6L)WIaSfj5MW6@8usbcu6`6 z^(BD|dpFT)#N!B9G&e9jBhblh6FbL#BF`RTBQP7gPmiGY6v~>z+dW}3`>x?P<OTXO z26k>7z^vlQzFVpyuKg#l+sE!r(3R|dq+O^8<w35l2)qr!Y*wK{cmak-tpXc8qf*E- z^?~V9Kv_dvuPaN-!q{(k@FSkzjFo>ye#picdk9M`z$1%b>61X(AuvoMymvhCpMfP| zMPSKZSb@FgW)M3AB~9!NI}beVVuSJTKCoRQW^+<3-WeP?ojMX+pAC_C2U)ly)x}!A zV+AK^Hs=2k7JP|EPS7d(iB+eEk`2NNKjZyd@yJ+O3@qLSlYOKVh=K-)YWq(9noN?t zpVU4hy)0OE1MJ!Xb4!D46%y!Lr()Ji*=|I`7G#W4n0-;!1n3!s*&cx(vV#llC``vb zlR<Wutz@<~L%fW{=;@H5b(R|bCaMVRqy#&r0xB}Gc(Q+%!8n)Mel`}|@CrF08N8GZ zp7tREe&fpvi{8X~XM$(HQc?JIF0w`yc=Hi#u$TtXdAut>YYdI$MlPs}__Oa@-wW<K z3WZS&uRIDnt)UE9`9<W|ZeYd=$Rf3%VJu|a(a3>|@t*5YCVK;Wuy*2obFl)u_f=(} zs0_4^jaU1%N8y>ph{68&w)?&Ig3Y(U!r$l`)j@o`LUuihs}gV{C?8O3cc#b)L=*w{ z*=MHPezo@xE(qKu{tGso$XbA5Kfp_wamBnq$a>%~2{OZIc<dzbmmF%j4cM$Fuu+TI zchF8lE?bPOY{8>xVbfMn1ACynhQPwXft^G4J+&zjmr2+e+J&eYfp<)%e$e38FkW%6 z!)(lV5PVP$KFz}RVZ0v5&8OkZGFbfzWPoj0>s<J8CdM5B#Fr23L9#8$nF$8w@NW#Q z1<vi0+wF`(@I@RL_AzF5f#xE=wTHDwAet(IS0@7Rxxmc!J(qR<*E4{|(Q>ly$9Mp5 zdjjXE4+aN)1~(*QU*P{7Kv*GMl>!|l=7R64fKRVeR$zEMJar!0OXV$~cl-17+zTdM zgKt~OA7YmR-9E<yHI)!^DKXAK)*k;hK>kYs1RW1_OttmMQ)G~*n14IqaTHJ<0*p^# z0z9|@JY6)<E9)72@rvxOUAM93PRQdsf%gZ%=R4r)B<4K^dSE1w`V9EBvtZ9aXSTe! z<|J5hDU@Mlz8F<}dtQK_0_IBu`mBBjci0uhKq`y(x5l@9&OE0Y$b8Ka=R+|^H`GfT zAif~DX*zUuB<AD<CJ$gfVL(}HmXz5$;Kss2_Ic{(VWC)L$5UX>uT%gQ&x4420PZ}E zzwKRKO`*0@A&U$J&Pq@p%zhr!#V2GE`;_`qh=|cpuN!d9NwCjrR2&njGG(T$fxa3g zu(}NRyEH1Eqqx>1T=O&7C=shA@a7nJsX4A!78aiX?2JJcnv2-Eh-k})`o_Myx+1Q< zI#44tg}SeRzcxYzze0QlQ*u0ejqE$YS3=n}4s_33icB~iG5iA<J_L<-nrt-^2fNin zp6r7)CCF>?6ZCsCsz$|7sf1EZcxo!xd`_Ul#uRvME3o+tjIf97+9DrVxCtV`M;*b0 z*TL3>!7t4av%m1{7F_o@xIY+NpOKA5hT4bu+MO+T2D+5p!rHgtRo5|QIMjJ3`Xx8Y zE684@f$SN9dssJthqoiUpN1udgHJM`#_A7b^hS)=M|K~EyzT}|R07V%;NK^Rf$q@4 zy(wPahd#X^|H%-j*J7~wbRf^}TDKN+uZ$RWux)r<Ns5!HfRKuavu60W47BApxm2E& zQ{@ABNA5!{bW?J?t_G^-bEw2`NGFv;wzg}ASwL5Q%(Nzcj>nawp*5NyVtOF^oP%f9 z%eAt$oQ>>#Q0|s-vJ5o@s!szI-C*<j@N#CXq&#pMjpwgou0z1CTVWXs@tgrsZ|}p2 zV9Uvpb7UczPo|PNG2UVsfhx%ERGbl9vkF{jpI0y&O06yMG9PjM4lHSR9@-t)BlM5# zoj!IK>Lc)Waa>~+7~>=CdlAfF?|FL*z26%s>x}$R3j7j*xM&WZ9SB6$1NZ!cRv5&_ z0#6!kK=pM}E|DGOHrVMlGP_{ocyrzlm3e92i4Wy=H@c<B2qVFL1(0)NkYU|G%X6si z3OtBUME1A$J=dp)vXne74v3>7Qcjn4cbarqb#K_OHLzb3qx5Ed!9VBWpW$Gc;lT6& z*e9B*g1-hM&y2%s&ybK)WF<LJzQNpH%38Q$E!bl)M(M-Wqox~;zfwY9cgCCw@DSb* zvmFlJTZZpsd^YT+0zIpMxkm8g2>4(sV#@9+yBM?P+`gNu8gIm1`~d2dr@+_<*wVl} zQh+i4uyZ`Q;!@`D0X#3a_YJ$DVHvdVePqTbEGh5Eqj(Bs0=R1dnANVC?Ji-Zv91AF zl?zvQg0s_N#>sgto&go`Td+tDb{cuC5Ky@YoUs5g+YGfp5YNH|Ji8BT-v>Xn1lKPF zmZm{xE{8WtL4ogLPJSJ>TMet1g34Nj==vx($Vc+K)WJcG!5$HTT{L~b(rxgXni$2v z*LLucoqxW9O}>DW8seG;^0Cf#0ka(_2o+u~L`o9Os0LW!9r*G)IQR&D`;B+LqGf?S z#h=OE(PH178_i7EARXTcWX?xE?8EMXt<NF0_R1`j57F5Lv$+fP*C)_5*Mto;{vG+f zJ^n5g*qb&7^+Y7k##{0m{1v~CN@5M_?$1DXIVhL@h@l@c12{Yw@0f)Z9S3LrZ+Ffi zb^><Fgv=iWZD;%Q9sJ?LRl;~Kc(f6(i;<25`d-^R30=T`a(q_>-XGvq0t$H=BB>(2 zlH<|$fgPGoT-iQ7!H?=iV9r;7)KtihJ%O80I)V7OEW@F^c9Mft2<)Ajfn1ym+V%!` z((VFepMWt1`K~5>un!Sd4IEYmE6xo~co%xKH`Me;uvi0l>kGWv5;!~$y}px4#QM>| zXKvF2CyPA7x(sTCJUI~2n;sf;3J_rL6^vxp;mNZ=#}2U7A!G#^=q$G%tno0=ankOW z*$ltg`$bDa*<WKWL~<2ghv(-h_(WbDmg)`_c#Z6RS(kCGxu~GRv6h_B)dOIcGhmz` z_7<y2Kn_!&o*sf#5@;_f+dQb4?*zKs8nAl>wi~M&2&9~YrnFD8`G(B#AL|F})CA`g z1Vg<;Y}?&+4&gPOG3HI=-_7vid(8SG%g9Ueocs{-%q~2?8T{K3>}z*~v-hyCLsaHM z9_b2XI*<iR0p;(&w%_o52U@%&_^cT+XcKt$Ay8EeTI?!v**)l^Er^~4_I-uG`a<w~ zv~*$Q1>kv`p^F5xM1N%aQGq=SU4gOFu>LV%=oMCw4;t$dJe?Wi+v>jyyySuAoQ#Nm zMk_F42TDp`kWcJR_x7E?L&4n{u;#Uxjfv`JBs@}>JqLRFV@5HkBMq`OM^V%v8uYnc z9rnh1mmqWO58OGt9x-R{n%|7fUl_Jaj=Dbv-W|#8lPxL)x@<0lXD6XzE((oYkex-f zW_MOy2@C&$g)d=Vi=b+E!58Z=pSobw)6jgQ;gN2@&_XEND)74f*?n?+mj_E0htKP> z1jN8pFyK&Fx-KHP9O~&gz=j`|cC)`^?>n-<j2SSS8>||)kUx&1>dy_{%FG{tPcJiz zeF;<qRgmKfL3f9s){6q4RtJ9V4mKH((Z|B)OMpLnf7=9%)eBtSpQYyMcug?mJNVPS z-*f<GTAbPU0lx(2?ghSjU`2N1jYG{h7qdQ#*xAJnV%#b4PaP=!alpVDuu=@TrZ6yG ziRa@vxF1NpiYQ%%@$7RX{sPbTF3MNXGxJcbTmsX*hy9NO;Ym?Zv<>Y1>V_H5K`nA6 z&|&p5^z&sPV<^6Q0vmOpm>pmZA4Vy~zCwLoMnnp5`Ee-Bu84<b!096Bu=&Wu8Zu@* zthF?L9)prR4o=Y71+ptm+h22m*yPOaYE_gS!iaW{Mf;qoL>UR}mjjL`gHsG>zo+yD z@A(H`6vCS9O06usk{K0JT4vu--Wv$|5BjkW-rWg4Y(ur74f0VWbh41qP=n*;TX2|= zHIS!wAWFVrcDVyx1(U*(ePO|Rz*bLY?=q+cOMgN2a|@`R0UfSFR|V4t>6iDUB?+o7 z8&qngz@z^`gFXfZn_^}y;fuP!TYq*FtelJ&;a|ZN4ZtlnSNfnA&tuHd$PWXcCwCyj zeZjkJ?X?bw+ZpJSdI%A46o{?>PO^8u?}VpMB0>)#`z^qXAHgPe-{g((n%&9p1N652 z>4kuIe**o7z>)7^t50C9Jh1n;K>ZfOzOj7B4Vl4%2f=aw5c?^iB|Wfo8rbY4Fj0xw zcW}1{0=nX7X7JlA*lHvy>xHNti-Ha8z1@DW*CyC06uNj7=Ha3<@+nl@Ntp~<cO|sB z-NEuRd~EN{jUxMVw%v%;mGJE*j5HYhb^w-$M&{TQ*oEB-*`yAufvUuSbw<Gkt?)X# zL-TRirU3ZD?q8lZ@TqTkWZNUKVgitm33F%zWL1UFQX-<8!CEuG;Z88P4y~~O%CrLf zlMARAiW&TY2Py*PkC6%YA+y>_>m{s6)DJ!?3&oPvJ}n4wbRW9J#dUrdJe>>PI|q+d zrviZ<mP=v%M^N9nah0;jN_$`{jkTt?vV|NW56kpWb+fR#|9vvvJn&iYZsgolY$9a@ zlUD+lr^CGFq2BErICm_b#v^0o1`>B*+>Nl#L?FWcWT-VN?b=|9&B*d6kq>JEqxLS& z%wUioSkXq*)OJ<f0q;D3dRRzPYGAL8fzznU0ndKeAPKFMzcI5IDD5bj8aVq!br6-O zn8Jg3AJ}U>c=IdlHH(hOMDarOmDlJnJIK>2x^ji(qt~K?Xe};^Cn7gic^asn0FSg` zJ@`IeP}z#?+L-O6&$vn^#Q%PJCS&CySzjJQjc}8_<Xe@NN<8}|dyAr$&un3}6FKB- z`3`f6mhGtw`^y?ATa+EjMSha?rWW#<I4=&$K2QODfyHdl+;vf7x`2pnxbA8oY$j#L zx^e(%b6GC_6TY8_nEWGKf+rHOk{m#7MP$|Qh~N)ksJ>+Hkxe6iL7T^kuJW1O0e-&# zM5cwtc#Q0loNWb<*ga&Q@qx-VrIFHvr(uS?CF+XTmfspKUWwjNn|2q-Aoh$MfJRpE znii;GKcc=eWGUdaCfK<Y@KAuoAb;J1hxf>lG6}Av^OMRcb(EH0yR1O@$b({?(7`C( zu$H;VlN}H<ubHaEDz()hwX1TBmu01Bs(dATA&M3w-&BKUe}w#UJ#fZEW1zVPzp8vv z>uC+t82*xei33(ytCcm@`e*eLDNun`Lp;4@k9nffQoW)6RjMnW*c(LGeVPSUug*4s zH-FI?FzQ+4+o`0$!s+>9Ww=&YAExzDZc-P~!JK0hHA2l~RwZF~{ha_U@Pubo-Y8d< zLCSJ|AG+QHTNXurU5=4UB2#sM{>sZzP$3yBdP)b|#OtXYG^h4hnaB#tDb{#1kJ;4x zXeJj|#3bOdAL^Tie7Ukgy`v6MqxgTUJB^{zfzQKIGMg9wf;DuyE&7Sg;y>Ayja1rd zo%JgEOLYdnBIB%rW)+N=N34>Cq1VTN`HJ$hil*Jtx@+~+*L(-^@gvj-I@GA3{4AF3 z<em9BR+7@nlA^x2BR8|Z$}g>t-b62__F|RA6!W9e+1zYB7E-RHPEf>$Sbi?}aYcoH zMk`BrH)J3;+m1|=1YhTA5}0BxxnxgKMU;_`=o4S6WpKQ89Mp@dKj@nE(YWK!WDGQy ziW9*0Yy0ytc9W-8J?aLnu~tBR%nPz{^bbgC4@Fs%T|gx^p6#GCvVmYCzs$fcDfhIG zdUD5Wt)p^JzA?KS5B*z=#)zmtmcXcU=@6U2Cn!Fpp_)NGqL_RGTTEVgN_Lfb<PcO# zkD+5m5Ndd_R9q4_q@RsfU5<E%>R6@LW!1!UW4*tc-)Uqp3t3L_M?}k53gy|9PHGBm zmX=!!QX`bIjAVcC#5U1Uq=i3RP=YG#xKxxDVe&kMD_gWrjulRyzE82_RdcKVkFSxx zn$gZ2X!S(oH>B<CA%CXS(N1b-v<&JKjygxymc=l~q=->Xc99R{YWwpzIYvCTZiysp ztGeH@&^5<3$-&eaRL`nqB*2zGjDzNEtC=vwWqFvA^D9aXErZ@&AE!M7Z`GiNi2p>y zN><q&>m4fpk$oEAZ#h%8ql`Se7Us<2?&faiJf!ZUDOQkC)xXjI-cYR|aU1i@BP&x% zURj-{S9V0}N3<I1Og<Rw+Z((-0iJ3kFT>A4Q00@sE(c{pxr)Z~Ioe?7Ay+BabX`?u z$*$%Ne=YwV|8FC|wbV+m28h#gF8iq{j<?QduEMUtj$~S9Wek+mUFfGmlufo3tHp5X zv`>1GkHlBuq>|jHYR;Li<*r?NGoD$z^1t-$@{RK^G0vIKtS#`;G}(n6=7u^|cRJrY zuIuO2hWsE+lPQq>Mp1eB&w6E6w?>I3a-dX28f&mMMy}#@^*hd`?#-@?dP%N{K1L6} z*FVD;W~Q_DS~oD)@#48Gz&on<^^cCdj^cW9H5osO?D7nZ)j@U>POG++X!*r<*-}0c z55xwk@FrS8XA1WhS0ksP?q;h*EAy`L$Otj_A>#9!1<W#*Q;uiZ)a}|>{fhoV@1`r- z2<0Gqf>B=pm6kQpx+z9TPEL8lx?~L#Td9e<&GFscI@s^7?>Nk_ie2UmLpLj%_03bp zTBEy}U>yXG?<xnh8+u*GdB+h)4aX#{ky3<(P&au|v_M+yX&tjJi%c?$7;L4rrikgR zoOa%M);-hR(V0h0L9u39<Gp{S@!2?GJ~B2L?agSbJ+0;+)s1>v#{<VWeXurKWy)}V z9+mYx`JYwW9BI5VzgfxUTG?J+5QXGL%BrN-UpSk(V_o|ldDT1g);eKa^Z)ht_D33x z{rQY=^RRV<u5(MhqixYvY0I=Z+61+>asxT49VL}9mM|}vcdQc7QuF0CaYA&GVSK8# z&>8K%8??^-Qh&}f$cbj0(aN}B#2Jf?NTZBFMqbg1+4u9*bPRFK&?jlBv;^fP|H~H9 zW4TRyx9*x3t@YxX%t32qyyZqLG-3O-KhDxY*W4Q&7nI@RlF`&3;qPQLHwGF{{H6Wl z{bkHhnZS0cCG}f+WqqiYT8mS<Du4MRsQE9lsPLJo%u3b-u}tQt8Zw)hWK|b}%4m&T z8-iTH1zcIR$D~;|{W<)r{8KUVIls?e-4Ny{IZ^qn#W~!LeR`BuPCKU#Q0nrkG)MNd z4jW62CPrH8uxKu?$U>s9HO)#R$MJo-%bh>?m^+DMGxu1jjN$$y{#RhW+{O%JwXxNl zBl@%6YM7&rbD~3PF=|dVvyw$=z`vnB+AHT<-H>gzSo7si=+*bY>K!qK-YS`#hP!Ss zxhgs;^L!%Qoaz7VFJw5)g+_iO$joC6lK1&f^|WJ&qbC^mvwBU*p?u->p@g$CAwP(p z)<Y{3DuT1L2L2Bhe?>BuRNL-M8nhwkp|h5jmc2FO5dEY47ya!JU90_3{>J7(xr2Yy zp6DeV4fQ12G^L-C7BjuhuFz&#TV%Ixn`E{TpOF`<S|iMS))4WNjnMbFqJnO_M(Quw zadV)*q%YAIZ1gaW8g-06{=G&LF^9$|)$}9!5>3|zLzR?f)2IfWMa?rtOt!X}VP-`u zQn+P0L{BSofZ0Z7P_jFJyN3pScXrZF$WCTHqoDtQ@zKm{t}|Rl8Gj?wV?AIq)B*Y+ zeZMwEaVZP!lV*rRtsDn4{k2}0DXb7tO@0*>#TRp-nOCf0G1?AS$KX^!DV>wm)^dt@ z&_CJV7t#8|xM++u=9neKM0QQB=!kTdb$rn_DVO+fWcfV&8oR_B^Okf`juxq*3+=PD zzFARLEs<HiQQ{nP+?RsSx`Q0)d3v$L$l%XlR5G8NON{Zx0e`G9TkPbsw4aWQ&P#eO z?H515<GF{m;?H;z-j0RQeKA1%mY?JwsxAjx^Gr?rlX2=(=boVEK~J4C)rN?v<Nlle zie|Lg%Y17b^e0Ca$j(NpLmWk2a~)27sXByT<u3v~se||^)`O18U)EGHQNEN*#5*&i z8Dq?~n(^$8#qOHHQ{2_{chuCp><{sC!wcKE&B;bCBe$u^ib`g^kSmk3gnm}3%<@nW z>dP>8kEP-np|syvoy3&D=km!!gqg$4W^JV-T3J`F;2%Miot>1WVye*>+2lABX+aTh zuJk`K{#ci2t`_cG=Ukv8v#`&|u$@uCr&cm5*?2~}Bkouoz<sA=5pmF*Z;Ui1i?+&D zNAuw1AvuFqI3ztW=lTo#k{R!f7vPhj{#(9N#!^{djdYH3rE@OPD)UQJ75XM6cPeL< z=X@S*mB*}0;vDknSNbN}8%O;$Or28bo87fSf`eZ;^7Bt-M*mS?9izF$#R4GtieEQ9 z;u=>Sb6w+{U)AJ1sVpthQzTo;m#dA`=KL775^Io|&QmwKBpRB>e7%f|Vx;=jbv0yC z$R$^0b+}mKf9R`f95647<zlxn!2iQP$gIh}>z|x&oKN)1%2H{Fa`FScV3U+*iovqc zd25>aM^um=`QF;+Z{*wWOKBbB3C?uEnL{-9Gqss$X>9PH@jW(QSp&_sMoqusFK(4$ zHFcM(t@EgMgKk<?%^PN4IfC_3W~uvmCt{+Xl>%z32(L?@%mIGxSIqmos%vdXov;l- zSG0e^@(uG|@{KSr3SGFYjDF#}Vho~o+7%~rUDfxoO2TKfHqXel{D-<jzpKVkHF3%O zB}}RFqLjvJW*ELN<`5p{Y8f&$^q2dYc1UD1I{8u<zpYMktW2~_<DI{=^`5yM3tXx@ zg(H|{vRWC1%#^fU*{F4NjMK{T(O~~OavdAb?^0QFr?0B7t=W;^aOt7bLKnCft1GPu zzPvtel!M9`DW6-pjGz7umZl7HP6#^V_UehW!>nPHvtlW$8sW&~Y^!D9X=Fc9nG`-= zIUp;Ws_%?<yjfRCaJ>(i7IMWI#ReHEy)V5(jJM(ekvL&K@wYZKSx*agj|iIV>a1k8 z+WQ81`<YoOQXT0yq~}*pKqnj#U0Dg<lHU=t{inR=ea}QWJuawCSk2%^dRyu6_wsi3 zoi^Lid}z6nW-epBS)A=~3=Y}{rkTz@8$Z1Fz1^)PELiL6e5+?s7SR<;r5&siUqLQ& zwI_vVm+uZ^?x&$m!`(pzlzwJRVt-Fb!xH;ZO+OT^jj?8NSxkHAeiQuC?a+pcE50Y5 z`Tpd>&obz-`V6%TKPcnmCl-oIcAJ&jKf^Q7H$nDxs3C*H>IWTHBds%@r-{jZQ>`Y{ zM=ldf{crr61XF9eV?*i(KhrPBGX8;{Gu|;~7v@zjJBsS}lr^jk>d0D3E+y9T`0jgl zd*4`!{y3;im>zscYbH*6UL_Xs<*>YzltSfA<BRc7o>7|yZ3&GHPT?3OtNF4eK1|GJ zB$H2+zWP*kKHo;SX@}BW{jR(a-TfOqPG4<V*ZC;qZusqx&iXkk&Qm<Go!4m%mi=U3 zE6iWtNFht>Z-Uc?wGOH6NG9L=(kHI<v@lxA>}pwkkQ$^cr~JH|np6u@e~SD57v5R^ z+5ksDxWBA}t7zzfu(R$s<%#jy)6kRDSI+t-;;p~NbpI{$Hm~oh9o9E|a&R3jxi!K& zEOD#%tC5M0s5P~J%4(%0i&ENXiE2~6%AD-8ytPbHCkF?G*A4SH`q6pc{e*_z(#AcD z%M#{9e|G;-tEsj!C?RY|XmwWxw#ffEv14LA-$ip5+l-p_xf-eTS8iyR)!)i0anje% z)5+J3UOOv?-UzeYb(AwkJ<m4JW?v1fh*)7<^j`G*@!g|K&bFaR!jlHYD?f}J-tLKw z{66b8>!BV{^79a09O^K+{zUtaE%kp-=$RN~3T<I%_aqs@D(DNXG>KUgr~6L|&I`%9 z{_Ba)6StVN^~Rw}lA)nF9bU7J=Sae7-%3$RS);$vCMk7*!ItU+hgVm%6xPzjP6-}g z1?5D@!6Zi_%DcA63ZA+Nb%3Q6yaexP?f1Nm&+F^RX9np>&W9&=52A_QHi?sc6GT&` zsdKC=gPv9`#jB|A91We(V1)?J^!PfSMRYK@U$SwLi$hXyr>|=KY|nA4pVC`BMO*yb zQ^MPjR=V#*v`^Y1xFDbI`x`$iae?XJFC63C*_}Dn#i)uZ=sz4|9Ir|BhQw8mPiNM4 zB~N-h`O@$aYGdD%n3{20{8L#kbt<c4to4lc{FW13M<Vtl{T;GddF;Cv-y%`^Ls=$$ zh_i<yMwx>Q$@Pbhrj918uIGGAskm@suv1O?I5Kqv_|7*y_G+xxcZR<4ILhH);7RH| zDL1+j!v`i|Avu-p{`!fHJt5{S`lh_rmaAt_drxC!_0P^mj?2_O@p$yTSid>beKpzF z<c-6pD{<Z}v18)T8wYqhWw&^qm@GabaVw1uu9ob3vS-1yc!Y0d!V*uM)rsfRa%pLl zJ#q?7V|yHXT#0&|9GwsmojUHXRXMm+im55Ch8c`|GR4e@zhO*fWB5qxYGUE|bDl9= z35`njJZZY1o;1vpF>$%?yPTnR(_3nNl}@q%)ncJ~M^_#Fhx{*L^uJ=Uv1Xy5U&%kG zNDTW*5ea9aN5qXY>{HAtiHnJm@$J1s*x!&2$(AN<?EYspO_&^)&pUw<w5-nL`X41u zq?Dg!bJgKGtko4s<C6U8{%^A35BiyMXX-0S@+e0W2K@UGo!qyZma)ZRlV^AQdG9>F zBs3~%P!iqgGhWB_h+W~iBgbetoaOYg>JNEaRA(#IY_0;@OY3iJj^8K#6*4~s{Yd#C zb=xG(l~M_{|GkR|_s5c#C0gY?RpKl86BJKa)5xh2ll1bw)-kcsX}!HzFUL=38NDuN za)dRP#j5>XFSWGdW9-3S$^QEM--BkRicM21iI?Y!-}1LpOm)AXR`KiBV9&DnjlR6< zjj(~qaz<QGZ+Wcfb1~0-+qvO*?+np@^PTitlvC<x+|^AjWoC-4`@4MfEGsHxN2+<L zXN50j$rG+dn{k`Wp*%Y;ZB|R{8NbQctiO(Un5=fFk3}Ukj~*KL%2=V+b|pB&^d`zS z)`(2yfm+{DUvZcv<G%el5o1|%L*Azxl)8WTa5gXg+rQYj;$}@=Ua2B7`-XY`Sl=91 zBchX}2tFVyB>alWka$C^(fhhyJ4S1(?XFWiSevH))NZiT{xflp{;h~VPVK{PrYw`n z3_VC`6UxS9OxSFW;>X!8^Pnd>F|%mkoE~vI;*V>cRVsdDOgYbeF-yPhhy(u>;{)*h zMr*D8&|2|Cf7SSU(Ou%V%dR2alebS%DkLc-jZYu*GGUjsM|r><);v#+#27Quu_*Ls zXi+_*aVEB8Y-ZnOHpn@`bymBf3}%g$^K6$|N@=Y8mUnzl;%mkZ@buw9VXKoLPu{>i z!fF>&=-<Qm+vZK>C(kLm`tE!C(s|dY@Y-RiwaosUvA1K-`zG*F_8v^FoBDvgR1fhO zsJtZn6V3NuNz4#;A@L`%5O?wiDb@y;WC!E(#TW@uMx=6wZMXLM;=Re}u(L#1rO*Vm zs}UZbA>pp^k)L%)y^YdDnan0>@rtf`*aMLuUigB%ZxbGPhqDU7cauI$wlp{w+mpC1 zwq?S3BMH-$B-F?%ZdPQ;98ZFSf=6lB4R>OSM2}fWwHz^yU^TTeT^X)Da=e8S9b<J9 zKg~~mxBs6nLR57u4Q-KhZ}<$yRO@N{#kjkk6_%>p;N7X7)x=uHUTNc;pS5B%%9!9w zZLMZU)!y1k<p(RTmQzkR4lC2Crr7S!D5{zp%|ga3|3-OBFBUR3VvRdODeNs6mo35c z9j1v&8lH?|%^9*WZ>KfUXY(3jsd3WyD+}}C>NI5)@2RBIZfKdE6)87W^Di?ei}4~@ zq&Kn}wZX9mLf(ela|Y9$#7l9h6J2H$Poo~;|HL@+f_TNYsJf=G`y!vYS1chPZ^)xq z16E4=s$A6m@&<xYCS#7wXtuJNTMb1WWsknVRoHb5@4xT;=Z*5mTQ%u2Rh1oRoE*r{ zvu$jHjJ9-{f!guZycb1@p5im5Qj?*c9i`?p>znKR%b8!DtVT(PH=C!4(MQ`8x+koF zdzu)X@L$|u&ujXt>5fFstR((WW3MQ!WYRim&-ievBL7&+#17e$%~Su=+N!U)*Su^l zG28Mf+5&Y3t?|C|6f;ujD?-PFXLrvKnG;UMHS>n^d3sZQ0KN8y`d%4VNvPqPLmf)D zWsqDV=gBp+i$aueWr3PTIVReP`DQ0RSox%c%irGOKBv{x@h+ro$a=k`Q6NE0_-!0f zYUqo!SXt4`U^W%E`AnsSa*zF@Mywj@^cY!~MzcL?8vU1k5|v{QvyoL7%-~b1S-ZS7 zegEVvSK83KLBDwm-<ibBzBRO1TdrMXHO#q21*<blu5z^}Z%@goJbQ*Z^@4pKG+Uyk z)beR2UA4BDQL=zqTr0^7nO%Ja%~EQ?U@g?;DkRr>mw2w3US3b1rP>HQW6hu`%0Trf z&%*LjTV$5$sQGu(M%F{Aq<gez<+)sM-Zg*9g-S6s9m{Tp`B#~WlGWAQ-AS)5d;0hI z3Rq`YH)RyRBpV7#ETs}WjNfKm*el*fxyya516`mCe2I2XKdI&7t3)2_fk?*}sSfox z?Y0J3$=N5ZxAT<4<X@~=#%NR@t@%>kinWk=WkCw&(Ogm1qYA&yEP5$j@~?PE&y`4h zm_8cOal*<YcG6uwNr_-j1Q)GnlTuJWrH$ZQL{@8xCFDfbhcPlxzvgFac_C#HFT%Fa zIXO%Am-}U3>csb{*>w~HN*r~QJ7h}c<h9v*vD7Lnf>}Q`uRc}{M~3WdRgxF!152O^ za)6j7G|I=Cpf>O_m6fFB(h?s;3mML)^Hyq@`jGFV<8n5wX75-_Dkqv-eML#;Ry@2v zC0Ogt@77qX?E*_J9abart))>8_8%)xIcYjoW{cT&Y9)7zMCoHQp(D35P76>gcb4}5 zdNQ^UUZ2ByQ+N4QNYPg=mQ!UT`CN<<Wkh39Tf7zTMK^g|)}iDq1nd7t5wuKRmlsH7 zdsrEkpS`F16hm>;itS(zSv|1o2DX!)%6&3#;Qv7nQZOaRG4S08)*U)*AQhvPz}r>4 zzXe-Q%V-k$sV5u62D4)91=%M}2C-n?QfaT$Q0nqZK>I~fSUxtLRbge>4;o7QaJ@v9 zi+^H`VKIgB(*)LvSA%yKvuCs%S4zW|@HCjo20BcYm>)Ixdwz}|VQ=ZXl=2FVV!QEs zBUw=75^k*KJ!{CXuyvG<*2!#Ch#h0u`5auiB5kH%_JF;DMytgPYLDMGa6cc%%ksl) z6`R1`vy<#Ld&+9CFm^}wmQ1#ny(pZuXD=xmRh0SULfMWajkNcs%lh)0Tuv3)^S~WF z(X^V<vsl&@NSD-;_RwqANZGFpP{!~yEE9bKvTDh$at!7)g0|CCsz+n#6QU{we{G*? zD!D8wW2Hr#u$~Ky@lt#WpUd0B10j@_zSCURj-TR5p;+zCYHR6-94brDUcBD!Hn4`7 z><G`P)K~o6U_p4k4z6RLSKAshwC|?+!Y;B1UW9ky>sdS%p^o&Kp1{^ac_IFr#*tSp zmkZ$M5iAF*OIu_tFth}C^zwLcdr4|9{o;vSN<^XT9qpiYtPcOfCnI+JxZYqY4hwW) zI(PHUY!+(3%yNM&3EL0jYgr8{A#aES@&>$<oDW8<6{dDnpCyBDm+@P;Vn$jaAIkKo znl<(Yt6EHghOj9tlI5rDvZq)s>d198oBaXSB)MpWTr1<{N_t0EX$}eLqHgqyYBE#> z)J`Uf$#N57<}I7e^0IxjjdoL6))aq@L=9bq9iV2^ftJ!*V1E<ryIt0kZ{=<Hb_Skr zN~dKrSx_>d+rfqe_BWMhmBG_H5dj(Kiu_L5F}GUmA$6r3V4%)&j!Yrf$)fa%lCWm1 zH0uwqG-XZLURX9!9+iICh~CfwHW%n`OAqCInO&~JRVvD=uzRe`LrZ{AMp1GFW^!H5 zz}2${x^C^FPKd$hG8N+QJK5a<d%;%y<rCS13bRg#<nC-4+lM%D^4+W)dxUp<1tV~F zi;A&P>?Ioy^jD${@~q5(5ohDM@v!b<7RTZ-%Rhl`Piw&-L|NHis?K__7x2;uo)l4; zhk5B9?Z;?7O3UnfvZt|AY#!Uh3bF0%N?`xb99ZTMcwhxf$9M5oyfo&qiWO$T;Dpg+ z@7KIbnb`t-?S}U*umS7{6{YoH+b5_;p3-}&1MX@D9x1@;vH9etZ_+_!;n_D}oqVhV zd(B4kei(Tin+=ZGBT0@%-rU7X@F#3F-ua2H1$uxifKBVkDZoa0uum$?urFH)o;e5G zcEj4UW2KdW;7n{eTY~RBc)kl;3hSJacjW_F9SpVu_-=;vy<v$^G<n%_YDnFw1=LDX z{MD3AhPBgTjjzEK!R#(p*n!Sa8rGbxhpjKb9{pK*SoJn+mJ_e|2OrL*crZmRyyg#B z47my`F3duKJ^ReX0aTP#V3%RlvaAy8#iHSta30DpvX4Mn3HF7iAX=Uw8ysZ@Jlz%R z9RSo%z%`=4YWBV8k(gltDhW>iD}T$nl#2?{8#z%Ph9#F!mOxK|JnWvmmx<2HV~Ce3 zbO>H4!Un>Vade(;V1@-S_cWNN7go1-z-)&yydyVDo!U}Dpu<obSfdwRhczC;Y6K;8 zGjLYNq`=9K@8wdtMxK+O<S*2P8NpG0ISpE=8M4t*`BEmx_EeXeQy*%D`6Xg@d*l_M z@)&hu*I|LD%>JM1L%2$IjP+NB&;!cNBn#sSKxzSG)w492N`u=!${=K);WQ2NZbr2b zl?;|_O-(2x9<L9ptcTS)gALkHCLrl6`KSkLhb(#n-xFZNIqWd-nuEV$L3{`vea7yv zZ2S=7y*v2PJ}X#d_Wf3k*%&ZJZk7`4@s<5XbX>;u>ceve^+V41&a!a(uHqQvmDVf~ zYncls%!=_%){GD0BYA&bj6Y<Pz#vJO0~XK3P9W2q=c<xN*@S%G68diuuDX$>!y3Kx zhn4{IHxLi+z;|5&XJGy!d;h@;<j;Tfmh8S3Wq{7!tR{Xt3Z7a;cK^fFY%HR1BWoDg zUptX)Wut-RP<%=1%Vr^VCtyWgSU>g&_Wppm|A6v-z#cRE<nJ7qV`oHZ85Tt*Mbl0^ zI?O&1pT+<y|Le8Hv4*Q;fotu%g>oVDUZtafy)PaLff~CA|I7{S-HZle9l%x<#B@@; z@&#?R|L2r4uu_40WOW|QEAp3YKO)NBUu2&j90&HXdkoY8uN6aVwt$~Xv*d^lL3THl zwul;{2&{QGdBI0|;MDo6;Kd{K8*?rW&9E6*U5#fOU^SiK!#gyQ8q*5e0xgmUD;N!Y zw}XdcpgkmJlm-^b%0|Fq^AQW<16^S*BLDnFO!SAX#)4tn!wPoCn+kMECXv;ktnBlI zmjZ1i=_pi43i>4v$|ABl6oM0MaT%zzz_8QVX6C`V3n1H{p^sQYPRzFmR%>^U@R8jM zt0Sw3nCl1>r=T*_2*~%z7+C?RT}GM7K_{RZ_Q>6cqvEm>RKiR|R&OYyBUBr?$0zT| zKlpY+Ijz8W8DXsq><YZ_8BG5is98muFz>POh`mECH~WUiULgk{&p|UTg}*yv#g*79 z%&$LfK)iH-NB3bYC$l@^^t11iLB=|d9OR~~$S$*J7@oIx%MM4hC8g)GJQPoA*n0<f z^8_rmlC{Dr-;sUia(ehX3q0&V?rqJ!;%`5$ZSQom0(-d|GsdprDwDushr!zK;n)0l zd=#63_eDdIw4y<Q&Y5qi89TuKGKJp+2WN#Jzfw-%%07?3BXr(hmIL|V1}vKjtGol8 zqy_fu&JV-bxxj9Kcp&~GJA+X+0P~UHaJ%=C3O!)o$!6~ZxBJ>8V<}h+?Drm8L{c@V zWk2#uFuTMm^YYM&U*Y+A(4sYf(<jJZ5wK%Cm|-EJF&Xf>5*$)H&<86ESRfAi@EvsP z2Qc?S)|1U-kDyRT@*R8zPst<r4XkAd6jUu>?I{c4MR{(Xj(6p?cyC@A&;N((*J9Zb zyBk>o%N)2rd?rR|hSzTf8&zio!4@&BB%cj!$N6_e?M>!Gc5*?B)`MDH#n<8A++4#~ zPK@7_Z{rX6Bi@mJ4($AH1jLj<L<nf4`78>&(}LM|6R!iWEQC79Pie4XKcxeYyo9Eo z2?n-t>V(D|4j)%QJXOLdOR<vLu>48*>J9K;32c}VBaRB}g^vbH6h*wYXO+O_H({9| zpkoMP$UZeS8=ke9<#iyl^#^Jj*xk-#4>?M10=jzv9c!T)D+2R-<q+9Mj+RltqkT^C zZ^UpUyy5_VCSnaiSj#?WjyF^ey7&Rq%vR*lwut@dY$`O%dRWN5`_kS;d;v925xhQU zpeIzzz<!Jphzz?g(O2lurdZ)=C<eRN${y(UYqSw~v%7~jN46=8XV241JbNAN_moaR zDNTjWSOBe-323hmFI9#A?EWClVC#3#;+McRC0ICe>xMuNo8i<O46z+tWbgFd51SXF z8OWtKp$j+2<haiAz<ujk16>!c!xpEY4HwEI@}o=&Tc^Ni1F^!QK*<`Y%?+5{2Py-0 z$pCbu##%1JhxVO&U$Bm}Ky+nx0@~ye7|HIX(;HlOf_}n==aD6k1JCvjy#DZTRcNI{ zVC<sc#9+1ybEu8%Jrg|B54B%UMCD_sf`+J3m*Lt?SVr~}nW++@ZUVk<u(Lq?b=Y($ zY`Pr!v@buy4*`ow`AO*1bcoXw$ZUhb3zq};e;>tfgQ36gK~Ka;Av;2o)&Ntq!uvBb zo7<Md7oBkBJn))9TT#J<W3=C_IsXY(s0`0XAX8s}$8+NG5?tc>MzBCx@KSnS7uom| zvVS39J}A(saxnD&7<i=;FUUjqCS)l;R$%Xyw7ZAtc;{J`gzpDOmIp`csCoav({}zV z2qfD*jwXS_Lb(U8OODL_3C#8g8m&8T!`t%Pfm~V?*0~HN(45!d^?5A&22Kh_H9IuG z!^gl&b-)2@fR%Jm2KJ7y0bp<Y-r}{$QN`iivZyl_0{e#iA#VT?dBMRCQ0ue<Mr(tC zMkC`DhyE%9thB=`-vl}oUxtt7VVt$_<}b4M0%vA+x3-;lbs=CWJy5X}7S0yv-C}3g zP}FU$$kuM0av}?ihp+Aa%xOqR-5&(SSRB!ppHc<-ZZl^0wq6aa9mLO7$OiobUH6=* z1{m82KaE8czC~OVMidl+C0-)hOVCAmTV90PE(N5j&_uPF3z)RKB~`?{w#jA4Glr~5 z?J@Vtn1@%Up(K<N&mNRl<ptosbwHzE!z%52qL*Se)$rKBfXcpwxPL%r!6B2Nh-Y9v zCfTQr^n~}`1Mh>d>N1$uG`!mf8`|BeTEcTz@n{mPJr-5yE5ucI%zqqIv?UYeBN<Gg zSamG4Zc^B}JG8_(tn3#u=H|doj;3IW8<Y}!-xiUclAXlpPw{Li@XQ|6-N&FIQljc@ zi*=*`YwjnTb=QE?8^h}NVa2ZC)IU-~%<Th;f{;g+<FT4h4rMWVN&NK7YETgq0y{uo z;Oick;tHNyhIsTKrt1M`U4XdBn8R@7i^=Rh%fy%R&4{~d-2RjxD-e?hRmMH!zGBD| zx%v9QUbgDM<2<N@39x4s#KR`UNLlC|&g`yLQQ(P-nBhmvc|6$j1ajRa<hZ%8+QY!E z>B@mCjzI0u3bW`6q~%3y&qpOxm5=9Dp?*&xca=jPC?BXE@3DfY<rX2o)kP*>h*`e? zW3C7HWXA7{5mWXq<52L?CTRExcxDB%uRE~Epcu44=D=A58d%BR!Ec}Oa{(E>93nVA zuy<`Se0m3Qm<oCHDcHUplyX5}EEXQOpuq+Ow8c(D+#rmhvpK+7<v=gb8o)_vW@6M7 z7_~gE6NbF?7W$$I^65LouEyUZnx|qWEr9C$nA2={_chqXfL6bZNV4~wA4GL|2swE> zcyBb+NQyw8JiF&^4dlJfc>ielp&$6>G2$j0V!IAv=K@gp0BfFs8Y>^FnIPcWi+FDf z3nWFxXd0+K+hhH2X?Ng!8$S&IKl)IYd_YE>1|87^Yqh(54aBv3A_JuZ>X#vxHUW0* zddSA<OS%c{tOUN&L(dMC3lNPNVB=S~x?R1@L5$eFF^3}J8zYLw1$xRBg6)f99Vfsy z1;8_t5rr|ZsC`z>dibj}`yDvrVi&#+0oxOi^V1@$+WXEY;o7!>ssoE=K(3BO{Mg-@ zYEnTk$`UYCPB1~iz)20s!1RewZ!5q)tME)xu-p+??GZa2*wvF1Im1IuvD%+dkX2Dd zya}AT)B=d@gz7mPYA7>sg2pFgw~<&uYUtO(xXN|d>oR8256sdZw*4jJWlC875D<PF zYwk*2VD%;7hHiLN$IR-2X)XAz0gzTGu;cGiV9!dHK-ck3P?7(^{!`(R;&??Rd`oEV zpNP)K_?iSA-5u6E04`r1=;1mF*}fWT)q=D`K9f&mIQ<vsvwaj?y9#`H5p#?R^jv+1 z{8kA#{RRD^@@KH|YIvXpaMuC9k3@WK2y_iMz%26v)$9&LWOu}$y=%S;;$s@nT>{zI zKJTC*e9<FtxBofJYap&T5ZUi9wD@pVGSFdq1-v;Jwz&c|R069?hm77g(2aLI#%W=n z1_qwCd*;4C{QiVe&BaUcNW||0JUR=w?1TEPHp>S~*gL(NB5q=El@Z7{%VFKeSYtQJ zLLO;%0t=xqij(EA>cz-b#n@?}(*9ie5iocbdGQi(H5=&N2vix+gr~`cu@_@5!vh_) zUqMG*!QWMpX&NKrcY;OQBF?+QDt7O~k;umOz9PH7XcMeq6k@eER{sIGI*pZ|z%!{~ ztsKbUslinaFkoBg*v?pSZ!n->d3jp?3zkg>#JU1DScr&?1+P@(F1{HNZ)=tOcu#&P zWxL0FY0P&T@@O&CJ!|0SbAgjVl7L@KWQie&!A!`csi0k|z$)wU*c!5T22MxDdJ6j- zMC|=U#W4Y+Ove>%Or;HI(lYRQNnrdXyj>BR-Ulp<#LTOMKcZl<o5+SPwl}cDs3Le% zMSR&^gI)&u#kHeyKyqgAOa*92Cq0pA5%(34*J~r+mZBoai9L|%D&X&RuzOKltqUso zM0}-3G}Qv0Qsa7!z<vYa={BgQ?5blFvcn6oz)|?7CwyVQOJ(+XE%T5QSA$=k0^29> zuicTf5m+t=IqbWPM8+P4h`Wq={{`yTBhwCsSFU25Qh`$}>>Z|E5Hp=I%39#(3|PSa z|B2F2ZHb8CjZm_S!GDVbXCLH)|0CEhVCNv1vpv;^rP~EMESE#1yGh0B6D7&ta-Uo! zkD_Ww6*!q;KNx8|tYmjVEDg*KW?p6j+uIOHId~5KmoYvW*}EM3fqBk_HdqMtRSC21 z58g>j3)vRlQu(dq4}8*7k<a7hF~(fp8kwLkcrp$M{0XI_OTTC&N{S#k)jpGwTC(Xp zjdGe7QxbRrzlA(pjyL2cdxQGnDrVFP*BS$y+B`V|C=cVcQ7<JT>t^Mpkxi!|Kc@f} zBtfP15LQ|QZgV4^ngdChU=<-faxO4llTAkUC=7;iLA&pxytW1h<{O|+z5<NpN7M~~ zqWdOq(RX=~9TwL_3S}y<tezr;+A8;y?CNM`J|C-^$^y(HD+^VY@KQ2C))FPeXREaN z)jBD*i6+P`nRsnw2;ZvoRvs!nl?A*VqA4$LBXXmHDF;qTZ?!eoTf?P?$^!$#c>|?A zKh259sFl=~d=Zq9SN0G^t;T`@A7RLBT(Ojb+6E;VpP`l064l@QF0J6vyeHxzKiTJ{ z*gK1s&~s#fs)2Kn{?cMOSPqmw<rdi*8uAM2gK?Z#59I*AC(rQJ{D+d3j}sGQ7pSnZ zR9GIMTf8aMX;tRtCzRvJ9dp<xWSt7KqO{LR3k63#lmEau9hDcjY8y4H)=90;Ph0sB zC57Z#IZR}udu*K4fv3H!7vCkj$_nzhcxi1nms;0^B4flf*-wT+@7q0_VyxYKqw-a0 z#@mYN@;HA<dDvZA%w{S<Y^Iz8O?{MgqK$F~eGr31ZR?r!4zFtle-2~KfR`a!lx#(1 z_1i47w$kcg6%>!z5}8LdLS;}-*(-jcep#$!;ki&p_~l};(duFrGX2&~^AhHDk4;f? zDR1<{>IEaal3B~HPUMq(>#UiSO{8XT`2+2Zv%Gp$i&SfZ0sC9RoN77!ZH$tJW=V4K z$J%N~l-AbyPP?vsR~lO}zGt!(&&IA>hkPAHA9<E~@ci03M=gDpQkJck56qobA^&%y zke_^6%)jPNN&JDD-LX||ug%dq0R;!-Lf=%YyZT$v6va9wZnNSPt~5{_+CaxRwI8DI zw>4D^uslW~(Zwuf?zZBs)~va*O<ktk<Ij{I@P8iic)I(KE8mo-T$(G*o9w)($SSLc zc{=AswTgW%l;~~kFnjs`v%Xt(%+*#yYcZ+HEj5dpR(-E_Vmp+ltgCU^mqR_Pr&Y(w z`Q`~Wp1!hT`Yv^V^SomhKhN9I38)3Xw}CZGHZ^OCIo41<P_3yBS1a+EN)uTbEL7jG z`}$}poo}=jEX=IQ4#_+6q_$nntbcOEvD}E$B4Qrp^zZUNl4p!<)&O~jZ`Qx-o3u6R zP_-77RSZ7P*yIUU?>U*?izS$cd4Kj;8d@iPn*P>#i@&CiGQwIT|MP$IeUR;qbk;SQ zo(<4;X-k!~>Ns9dbmkqD%Ep9*kG!4pi`IY^`OlFl^H|4~ntElmy=$?uo1A>C6(W|J z`FuCUVQY)ohdtyY)j0i)l1pu>?6orU464Vx5Pwp68??(AuG}*&AfJ`9@+y^_FVqK4 zMXf}PH?z)INvxCJ-ey^IoWGgO4_5r4&r^T$LF!@iHtVF`H7CT}koAI+Ig2Y#eceSL zI%~yJjAOC(&*9cDVD)#cTjnj%$k<`3Vx!@w?uw6}(S7<VHcPn)3-)(xX5-^3$(Es$ z+<WwzMsX{Ks#)K}B*#vDqoai5AKm1OMLqvLv#`IDe}M7a*NsN1my|HaAjc`_>j!?z z`l8L}@iA}wr-IW3)pK+=mK#6VA}h$!9UC3DoiALYd0|cC*Gz7mG5`6t7!Cd9#Tc!L zT3FlSSfk`(mBkHfg8s$vK0Ye`XYkXYy6&Y`QEwxvDZ2ZADA%>?y6Vov9`o9`nqrpp zAMsW4=lAb3)~E@}Y$e=rf&UcO%n08<md;htzbHDd^JU1ykp3)H!guQtmG%GQTlHb? zX(36pJ8ZnV&=_SzdCU9i_*3~;_y;HhU4<OFW2N3vhEgqm1}n<3OidHhQB(_Mq0L>P ziB}VjTg#19=5&5Z8yfb^orB-wwRoJd%)cdJkiVVxgtxjGqfZFh;8>~sV3DGaG0oG9 zss<I28)Aw$ONIVQQbuva)$jySceA6c$hQS8OOnc!nhfq07md$}=M!`J-R1*hw=zB` zZSXorPxYsj&T8kIWh~a0xH`vH@vaC8i5L{-NSqhl%Bo9EtSm%)Uy^0vnwnjvmNSi( z-jcCrJZJp3%;xg7qj7MDpfg~H>gE+=dg2W+!#&?sCe~!{f;S|~;@%s5{NGQrs<<Jy zvc)=2J|iNX8bmjZF8)ED3$d*|{rweXtm1Kx2^s0kr+zb5`fhlZddH}(g3J5+#O!ym zBnwm4l`N`MOkpdpRP4UgVa3vH51t^4nv1=8&7(2Jqmz3#i-&p>_mH6eq1_zkX{c|H z=d@?1{OC#>nm3`VXGh48$VZXqJfFYKihF6*V{O$=TEi4W(xwS&AQC;P;-C53M7NK- zY=p9`Au{-s`<y$L1{i0&H{x4(Q}8<>dBf(!9rM2qU7D(T<c`?K?<+;8m&Non&KcU) z6hqQi2(Du`h+g&A>1!RgGjXoS=E#_|Y_f0eGn(JX<~fqMFk!iWiBnCsKB!|%O0#bG zo%H3B6pfnt_R8O1>Z{N??vqZQYDwA(p{o-o{P-3%F!5GGPqV+=;>w@wM?@pnOpy?O zF)<=Boxi<t+&MQ=gl3H$>PhYXmi9-=(Z6y&-}1Q+bx68C$sotfNLQLQ5zW07KA-&Z zI4+4fk)<PCH_7khUES-9r2js|26@ZLqt+j-V=@+z#5XB!pSCGg@-$;(vplc(uDIn% zUM|%iSJAMR$<imeXWaSJ@NK`p8O@>Yy~;Q}A+%VsjG@(hw|<=dmBZUw`Jud3tA~yX zFD$M{UmzpwW7@^m*EeroOpLFRBvqz-Nq2^n3mX`|hp&km_Uhi(3BF>XZ9=Cxmb-3+ ze+z9RcK=BAZF{2A@i1tVBb|Fo&?K#E>=w&#+>QL;DDeHn%c4;~^otp$q)i@n#ofuh zSn<d8c(?RJrMPd-Nl7aOFV*_FcLp`2M$v`7wvXwn91S@gbk#9S{Y9(e|5DMQ-;pg{ zFQY!a;y;!snKJgva5q8=`l9zz<|pL)*ydxQn32w0DZ|4nxHdXRIGV8bG2^~#G0oZT z&|IOH997vQnJaFra>YG6=`lx{DD_R+?+)h5a4yrmBo4QOUm|$;%h!*u|2))Qr5F-X z%&n@a)g-)FLZe?z<8sMop$|j7u8n*TI~`w8&F?-NQP{oeZ?+GezMZgGIxB1K6z784 z%1d&K_u0>gFXw;#P>!Z7pZso+N4ArlSW5rI=wUI_{8~uyup2=K=#aT6wv|#Uq*c<( zK^^}NdB5iKMSqD@b+Z0VSvTmi)zzHlt?{Sow?|QzC^oWJ${eA`*<vw(x*LV!n#OeX zC3oKm-5It+`6xcc9;0j_N0Sx_`4^q`)48wTjq<5(XT6f<Oz>>E(7!EF{nPvFsi+6i zmE4v3a#&wVXU;Ky`76cWip}Qh>Np+zI4qN5$X+pJME8)bNw0+biaz<?`6Z(fo+>i? z`_%b@+KN*~ZU3@p@%8b~vF4A+jcMv8xx$Va-_51wP*3B8HQpG#YUq;iQTjEp<6luR zBD7MfJ4sj!e_!Q8692B$xw8kQ_BcJp3~}CS9hdR@<8L?pHImLwZAILrl14jolDWoP zGOkGCYNdJb*NEqOocQnGO~Vt?IaS_d6Jn>mUGQ$0cXX<RoD<UK4;pUlfVNo^SNP}T z@40+?l5I&lEqOF$^3L<FGo){3LZT-`?G%zF*<7bzW{o}{U)5bVxsfu)DD|n$>u>*N zM<nF<nQ494I5WLxkFR;chhP7G<d5qeIxqFjRF-3kSMl`qEc8|P{76j48@dN3NfEL@ zY3s=r-Co@iVWp|-eEcKT%d4LU=!<gn&9f)f0@fw|aH34C9HaeC_qVP#GgX%~4<fes zqY|bkT=e$z$0aN>3TjnD+9bK`NFjUw-Ji%^qmmCyHb0@~n-nj)#12cjFMq)-J%T+6 zbz`0+#Krae7yf6sXH&$wG@&WeYfa<d#m!92ZYKJx`WCR-t|}4#LYiv*eCPiDldiBy zX>x@W{oU|I>UZnq>#Ugyluox<tr>G6_C$gj*Y;oLziZ^;<lWM0Ni&+`{vC<E>&b3) z_7(7r<=j;#qLX_&FCLdCx-Nef)-2^rmh8)g=k>l%3YnK@dhV7<YkQ-96^vPs@H??w zY~h3|dY0s_RD(hkf0|e$W>;cXv!&62wRPkS&K;g!kCSTjrP%&j<A@_EmK*L5qn@w* zbtlR6{QYxX4gVE4_Q(7`N8@fL){Woid*)meIXmS%*S^FYzqkB4=1D3asFid>FYX-X zdZzB7m9Z5Q_p58dzeU#cclxs7)sVlnBJ1VPoo8f3r`QKyH~icYzryTc%#~-I?~>$- ztm@3^S^3NSmFV5eue$m<ziSPY*N!audhKGui+Be+7<@nZ5;^h5o7b0q{f+SEtDk>I z(&@3aKQ{XANSHuVXcar{hz&cM^qupt_sE|-f7%+m)u%xxoF3&E)XZJSQLS2HX#5E| zIV4xA@miig9p7I6Q9d|D?(+FlC2yRt>T}MYlf9kP2kewpjkdb#B%Km+Sg!xq`&Z}0 zc)lsPWbjpeg_2F#4*lQEn=ihE+#7T<&EMd-_=tDuJ`5I5Gl_yfGais>z8?6rJf^&o z&2f?!m&5q=ATxNYn#&veZ*@W;YUu3l*0l(w7{8&7QJ&HBxMBVUTB=B%ytaJ#t>D|_ z|Eeb`o5#vIA*^jop)VhQ?J}P^UTa0=FY7+P?i}RkBbO$=OGs*FQn%}o+70$jcI1oH zG3p<ADzPQSIl_|n4fT2Me_r$MaKh;1zjHmxRz7G%OzrQl{&ceLtNoSMsLroy2i(gY zZP-r#Pwy~Mlg28gQUAVF9_XnYV;n;KOe`V~>3<{dg!J+0Uo(Ellh`SFf!x=!bqbyy zTleSmf62vp1-2Fq#96(BJKiywZ})chZ!kWJUUIk9kEyy6G$$m|xq~9(rX?O{eZ#XQ zcPmN%{P*_N_r{LTS=Z)WoVJo#>!<lOGM=&2dZ?09F5~-M2Z9t=Uco#Q6P9~FSZ&xT zwWMo~E6m+h>qO_h&Y0vzh~6m0k)(O7v|sza%<^Y(_>jDv3(SoSi3@uF?c=b7ky;A( zTJ^j9r(AYc3d*kRPmGKy64y-Zbxd;Kaplpf@rryG>p`9TlM*_}?(QBb_k|7hyni?B zx%m4ma%&;0;GHC%KYw1&`S8;-(e)~{f^(thX04Fn>SBK1a`;#KjtI$LYQMBsYHpqd z72;zSES<()Uf5A0=`-hrgx?<ry}1^vB<qm>SiV$A8vRZCD*OBYd|N^vC9CAz?l}{; z(>L9bCM3dnP-ISQ;CW--V-D?uQcF3)Vp(Q2Bj0Y+G*ZxLcXa4d_UhlNkJEnk)#_!= zmal2r5c9yNsP|)IO~<P6q0SHf2k}G9C617=-0nNVome)Zsaaml>WJ4DDjoPzR#{oD z)M9&mWl-m)4(SmRYR&jH<U`WGRfEcAo0{iI^68!ipGtr3llZ`SDYS-8-cp{2B5Tl_ zu$zuE#_O29v2)C9`q-d(&iO!abCI0;v`1<=VVKF}NJn2+HF+VX!}pfarhXy)zifX~ z3^PZ5zx^e5d|^lDusN>F<^oTwdD<~5G}P77+84)T3;Rzit6W}(!TZY5lvjD~;Lb^u z#n;ux=u1#gPy{K_-+nAkm=#hz<C%<?f-@w{|GxZBLm3s6KDah5N+_0?nu0=FgpYIF z@|TDSkIQBz)rYw9X%6|yj1zPDUH!E7-1_C6?N6<q3&|TK%;;Z5zft^z(1V#PXQ><B zz_a8>wqLXSA&w@_<@CaP+_<cz5C0Q7obQMq@GoQHAtfkyY0z*bskPed#mZ~59G5kx zSu<f-;xPFzG*@_tHZi*JCq1gFQaHoE+;`KRXQzH9e0~@+Ur86@aK&2NJWb5Kj$ENt zU1_aSaX;g)%6sm5AyN80YohT|YR+%&3;I23n^-+=sQ-t$F(NMHy9oWW;!EAwy+I;V zw;V~5|1?Jb==W_{!h0=a=qOiy(JnEwcP=07&KXooZEaNaJ~Yy+XI(>FyVW7`si?~4 zst>fB4nuuzKJ@xMk11Qw<e<xZV%)_)#S)9Vnx#&eZa}ElSLJube^1RJ&M&S3vQt9! zxZ!4npsEr1gVTy!aff3snQNVGL-IL_TVp&f<B+;2XlGCkeWLuGuqD2zx1tgeayuxI z(#AynjEp;~`%}fG4@%O~Z2RlbkHhiLd8Hu3u|cTbo!;dvoioPSj9>8G@hmsWDaXLG z&nUq>E<P#3vBGgjDZsY-Zzd-5X0dKKYX%Q>bnq|wGwttZf47jesoq9PEi56+@3FBL zt?Q0mj;z$p`z~>jbybUWr*RCSnf^ll!sdB-fHG27TF+PNf1N)akxCd{F}EgO^xpMX zQXjat=qW|<7~kKe-d7H9WUt5*t`ENV|3=2HGFNM{jyY_szn`~@IaY1#Xsb7+_J-3q zYH2(H6<RrVlx0)TXc@E^-d+}w%l%Egs=uXmSXZ20CD{Kfx=~z+EEV=XWshV(v>OS> z{@#r{Cm!kR^o#PXuaobAOz-^aHXLtdA76;Kx#43Sw2}HN^_{X-t)zBQbFzb?sx0O| zU@W$RlmYJfj^wOEV$B$b?~#@(Y5hnR^w^jioie(GKU8lY>~PhUQ@ztX(_|*66|~nC z%CZ=py+8f6XrIzrx3t~ra-|I8tTKJ4ib{LAUE~)}si)(KUQQ`*)JkaJ`^Yu~AC0II z+?_Q{jE{-;#L3pq!_M}~IcvY~oY{%@(+@eiDF?(;<G2wdS29(Z&tI@^e7KTMtEt^( z)9Jgl%eUG5VRg{sU2h!@{>8ICeu8%)+aFXTY-G?zp2b(n^TgMZ9o8S{sxru&=uc_Q z;<1i4j;Fk#InZ0x|3frUGwTJ_MeK=WY_yV78?4M!@>n^HbmlsF!`acbNIzt}iTx4# zz(3IWElF6?SME6La(w=T6h<|5tD}aNNiOyWnT6R}EvG(`RWs-NLd_|xm^NI?t_-EN z>=&=9jntxef660Y_-~qbtrxttBd=DAhx!dqSwku!Brd#Xa4f6jEtj~?e}@&;Yp4Ze z5nosDTT}90jv;yt?l(92pPC2gqgq!hrT)kEQ7JZv_fy=gkZ5k@GVYjl<t08xPp7S6 zD~<Nv%*J!J+SNGJ6)d#O)^ksF&s6_rIgwRjXGL>!z7;D4FQZ2D`s}<ML^^WnMV^<n zA~##i`=~|KARZ?Q2`2nzPWfK;Q^WKP>S4Lnm&CimtgYn@xfNQ&`M`P@KRvF4w*_U= z^XdjGZp}8Ti-A0wUR58de4xjoojfNe$o;YmZRTmTBzh^WJR50+TFe?CZqQV|L93^A z;<wFxo*~|!R%X3VaMR#V+E24XVvfXF{`K@m{h&_cx5Zp5PHbW6)F`DNA5J~xWtp1B zQAZZU!_;hAqIO5Uz($EN=0xkJHH2O>t_)TBQGY9^zny=c=%v<jXAGL`kaW<m`Gy!h z<PznaGK6oJ>BJD}rJ~9OWj(LR+_HjHs6LBO>MDkEL&>15<_js6tSokjOX8#0DSOj2 zK8p9I?Pd!9P$P_ebmR!0=bomXF+X@Zdk>f|SSsz9s`0$Cx@acHuqjGT^^a1NUt-rO znp(0N{6FQa(n-nBM^FyATC|oPQBmX*CFOAbODU|ZmYL0#<{}#E=ooxCD4*WTa(a7u zju{zwG5x7NR@o>!Teqz$^p6XrrxMRr1v)L*cRVkqxpbbousY07<>W4rQ4Fzih^HbY z^YK`In7tP9);+mRIp!SVPV3CdUl?b6?Tk$1RljQQlzsA^S;LwjBbE1RNi{p4FBggv zVv2l64Oka$@}|lLK8X5>v({>Bwdha9d0VxGx|*+*<*n-C6uY7Cbq#dJDcQv*e<`EB z_`~`u!+8tZA;RQHI>uKkTuH&JQz-S9|4A3MqV;SGKY=R0uJVN4mPN&P>$jLeL-=DQ zi58<?RN65iE{gkfQjK!daAwq|&^B|1G06Hz%N0c(&cDkdVyq}i8n3Oq;1}5tssu~a zVNvWP-=>sP+W{-Hcn}Q|yTv<tuRKvJDHCLVYoJ)c^EgA?FCB$=d-H>@vXMiMz!>e= zW|7t^Bj(Wq&XgIfgIp$diC6T8-R3#LI^FpJh13yhdp=iQwtidR<U_<?Fz0LyDJ&Du zpv>a~*j)KoDAL8A@N&vtR#FbKvRj?REo6j6bVQbw<E4k*v;O=gi>LZ@mF}_D${ZzJ z8G=#5>AI}O5?Gk>hUs*`@|tPoRX$G7;mn{PX8X+4{#E{=)+@@$i?g>PwKd=BEJOHq z<)*Te4`$!#A?;#4`79+?$)uK5=PAXN96TB8M$_bMnMsb3XQ5{*vev9KdrOt+pFAp` z%V6U4O@5UhWgZ$uHz*_Xl0kdm_0y~rug44U<oqE!z-F-lEI)Iw7%Iocu;uIz6{Os9 ztr#iF${c~SWK|NvYXu3vm_YGZVNHIIzRRX^p{xOP-p3V}$f>e3^<&fcN*>8WSa$Nu z{nU^N7SBGgQLG9Rfph1(&^0+)EVi0k2jGpud=u}%TFO1vFe^bQY$G4dee_biw)%+F z<mSKlQa*=up>A}S9<j7MidAIWsUHoad~5_O&-3vaEH6zEm92?ZJDG|XQM;<k_!^nr zx@b-id0D(NNnNB2Lv8X;68+-Ol)K7BUWB!zmq6|uc7)GY{EEe|vPrPi7b?x0DVvo3 zd>kc}KST=hvGwr475)e8{!yHkZdMBnk%<pv8yVx*k+;wC4E#TKlg86}dPyDFB^C*7 z|B#(vnOQOT;{i*?&%>rOXb_^9D3o{MefT!^j<Qf{s!qo#b)cWieG)W@W#f0a!F%y3 z>=VXYLWhB(WNZmj`CMLyFJ?!nHVs5>xX(iP1y+wOr)D&RvLY^e@-aM!XJ`3nmAoU{ zQ93rAO=AVw5n6$fvaxw=Eo?WQZpqp*r(7qK(?mK)eW@kpaasDo;eW}#qxl83rcd&* ztcv$p6v<Muu@px8<r*16Bk3*anCVdJjP>Sblh_%Shc%`z@`4Par&OISWdE_$><7gH zWA>@8Q&>w@AJ^@M*$ib3fxq*J;|ufyNV&(}vp1}3;9i5v<fm|UkA?tAJ?R5=Vm`Kj zm10dO26LN8bD714@v^XFF{ZMLfpf|8vM72^JMi8!^o&a5dYs2YLuFv!C<-&r#Ta`- z&8ZaS#w*HV9-Q^0zf#J+u*XE8z7xBPXxL1*p<#Ma2%VByX**sykyXGNPTFf_q5Ko; zh<H|k;Nggp`Basj$nyBN3cZ#uWGI!OO*9klH|2NCbq#%mCx;?Be#$6$gtEW~cW4@o zfj4s_4z{yJESj278cKnPyhKHr5A5Njweq5zB3B@azDY~2g@v-QUs&I4*!3EI&l~9J z*PAxLn-&!Z{%*5F7_BAif~>!jy#^ve`8-yLy}}H#vl8&bLbBur*$UqNE0<FoY(6${ z3VZ~MqXNvnJE17%a)c_-M*2rbnZ^|$H!0It3O16x4cyt)nia+)*XSMAw1C>sV0uJ8 z${*;wL^Oaocx9fHpI{kTDpnPvuSQ%JL_FAiL)r(<wk`yJtfcqwZw>HHTOi~RR?z@4 zy)@8?U^}kfk&4hN{9Xu1sRO^;cQ9<FL`ucVf;Ub8sRt<u3uZalKe|XEnDqpVy^~#M zePMxIER-d{QZuPPwSX`8lij=Fe4vZXCcNf7+t12l9p!-5g^0FQSobzu<pg|Mjy*(N z-XKY%5od>4E%p%>{!E$Rr}3;hTMJyc;H}s|H<9{*d(G@#752Sr4FWqKnov#ZK<%Jd z7Sm2(={3-I5Oc8a-5QOEI?QUaBH-3{h|__Hf{LskBI+P?S7WTD5X*uY{i0Bywf6tt z&-NB0^(P1Il?S9sB`FBjio>fzV6&ZMA|oB5seyZu27_}p+x<J_XSq}!lgYsNtAVV+ zc;!>dz~%zWjj^KZV2J|sQ=XEW@byn#m9g@vJRyrxX~ca}cv)kIX#!&JZ{T#>pRoBl zFjiMOMu!kvCD|vIhHE^W-(|PJD^szqA9$t?m7%gg<x{NKj_o7lz({-9ZuXPygNGKf z`9R1ec95lI&ygoy(>Kb&o&~Ou4EEp8O7lZ(PT+L<QY;6)_Cx7prcPkK6s#YfY0sJf z`H?_vKFm@<<Tpf)8iLp@A2<cODeJ|$GZ)JSs}*K#fS(<Rhc<z(B0u1b%hZSF082-} zFrk=5W|kc9`-wF<@UDMAVqum@W58w0kUOu?SSnAGz>W4v$LBGNNUWz7%MM0J&oTjv z`>=*%u;+0gEQ$^w5~J|*G4j)A{9HwosTRJ<fDg_iwmSl8;cPdZqTj?3A&In`9t65K ztpV3fruMLSUA*fuY-8`vTS~j=3nGW%s-N-b4;nyc!T4Xn#(SUyL)m1^q#k%QCnCHU z=9LVw@DcC!gEfysCH$o1SY=4yMB+kFi}wB4sS$%2fv)N74m*XP*@62)tS7klDqDv* ze~TFTicDpILnM35jv)H&jz_`FzQ-^WSIUgoUIh=?6-GC(NGo<1KD~s9n1tLm9c<Jb zIJWNvOb#2hWHX^E-m+`#5%~BNdj}+p!WFXy?m(Z!(!i4vc8>(}7lY?U1v-XQMKnzT zI}Cx}vtz6>n57lyU{wWZ%nep)jceFDrhY-E#83p=f#>GYGOW?T&cizEXj|Y^=O=-# z2ix$|-fKA*vA7ww+=R$zOxY35cV!iL_%p?TU+vCQ!SG89L?L7AfIPd$ihTxi5LUkj zBiY>|@8aD{fED}f@Cs};c%UBepaPjOh?r-1<|_E{Dl+6Acz8YK39N4u{5}^W9K!b| zu$+C)`%(DzF6M5)5?=6BLyXjswF4WEKz`ZB&LUI)7r5*EI<SzHc_=fon2NvKvPQ7L zWjc+h?1+^NLspp_=pD5zkR?JeQVyW|8yNaM<pTd_!q-{M{|fjj5?|4<$xI-8G*<Kh z3Lyw8;~Cj!m(K)ac#y9S$h-0l6nru&M`;5)4jxL9(a3Z2<tzDHmIT|`_h+V|_cATA zOK!Z<4Ye619h45JZ$Q;3J=o}#JS?X}mG(kLd?@ph4&B!faWxI<qAR$qIj(5;7qNF) z)xv7?Ama$cnjh@;2Yx$%D98u2*!QYB;g@L4@kC%J#0L0lA;uXD?KCLRgX9y|@)Z`? z08KI|aDUqkc*#ad2KJh4Kc0g<7Q#xGz?ydv*>)$$kzlR4nALpbA0OD=32u1-JB1-n z*w+66rb-LUjz&HjhDd9{Is{IWUxesr2T$0YA+I8yrh%W5LM7$LS8ZV8A>Q{Mc`Kf5 z#rqnoe1>>V2UTK{t>V`pT3=H^Rt@i~7&y1S1o*3+y-yzulmUEK3`nm4mg@u#`-RMR z4}5PU&F&bpjMfIuynl-CHCXM~Kv!RzH!WP%zV|jgMr;AUOUjG9GdIw4##Uq>aCHJQ zZo#%U@LGG!f>>!+)(3n&74en}Gfal7Pe3)Wl-Yd{dIF919kqAauE6d)8>RJtqw2^9 zePNFxm~SS;f*b4pjq$&d1{)N`D?SE#jb=oor-IVGjoF5RNg85Z&9T}=Y(28#%|O4# z>+Cml#w%okchG!uz%3I4th5&_&>UCn3wG!Z+lIlK9KM)}EZrOYkQ<ruBTLV7@z0p; z07S-o_8epG!K|AH_H`eEzm^5gW>1M(r^5S_!&Auvm|q|0w^j;&-KHMkgj&!Ic1I2; zJAgQC5a<ErLVlP?Q=ra{A^v>GS?2?hHUcUrX#hMx!@r=XMHxh4F+|EhJmW>ICL+gg z0_WTZ-y8taD?=N01_BPjFIT`%s1A|UI2f-OaAo)Q8Vnqjh3$^gf2bH6LPc~&OfSV; zo`cbg!3*62dxVQ%?Dycge1TpJb_c!m@XuUC&qe6J?cnC6z~+m<+3*Vk_9_h|EyUwH zp^JNiSKkNrquM+BG9j1d#)y$v{dMG}JwTIv@_r03pB)*oG?;fSeDW8W;1t-pKXgtL z_^u*sa5vE1tSz$8CVch9<E3HUOo3b)iTv=M9tC!yB*kO)w-5O!E24V`d_Dty?FMDg z4ezRk*SE#H2(f+@%Cso_Hyh8{ohUa1y7I&V9jkF|Tb~|=Jy*c0Hvf94BeF>nJ`j~+ z6P};{#jE!sCie&K*n9vMbivy;hmOXoSF@zNC~wBg@u#RmXFz{7Kt8*Hm>&Y|brTjX z34|PmZQAi=d^KOeb)KCsVaI@?fryN@fjiS#Ks$DX)%q~|4z#Px1FU60)%X_KDif5= z3|R3HqPieZ*bk4b2Qmlqhx|65fbke=h(usq0@u^=d<V>~X8^_7F=M-n<Z)O!Emm_7 z9_$yeYii`VvjJYJ509?^S{}0m)Pd!o!AkJ~JS{TydidlmIQ<M*@G`Xmt7e3<90SJa zgE<_4r5j@AmGSN&@T1+IM&P+?@M19Zz#G`A494CSh?Lcc@PR-_M|evhtIng)!2az~ z__q}BULWfJGnl3e^i~_#p%eZs20gw5*Gmrdo)>X62JtZu+-mnkw9oIa3Y-)OoUHL3 zkJ{`!8M<gBG-?KVhB_=K5O4R$h$g#>LTc2nU)VY5`I_u8*3=W(a|N>CPDJEk=&l{$ z6b0UmCfm<<FrWE&bSp;aibyL;d8iOILe?4q&Ga2B><aE11N7Gp<iRAs;&k{aJ*C1| zCd!B3G`fv^_fw`vJ{gEeUkJ^<29=O)83j@K9`){e;G{OLkTRfiS0OLGKwhx#X>W|L z^q9?hs(~8Xl(&)dF34H(yj&&k$wXNYv$K0QsfduS>^ySCTlNcnJ_y9sWcHcx_HMHQ zK=n%Ghx24}ksG?k?tAnQ>n@I2o<jZBMOK#`WIDN8zC`|Ag8Y#M>Z}Je*IQPIyLn;$ z7|62Kb{TN`QK)#kW7buyqdcm{q(D+j@W3l5v4p@K>VL7SL(oEl;j^Ted0qT<2llGS z#(_!x0I5Zx^qu@Sl>0ld%0hTD3$y!4eZZ@30R`d6sS_}RlXz|!BDW(VFPNQ1gr35h z?R&dV;I;NH#NOban;64jnRq=!SZCgfm*K&@1jaASj{uu?-@Nv);S8+(3D{sYY!-t^ zDiP=mGY*ll0hR6qeA^v7?A;7qz=w4Z-D8oPVpwBdo|om{!KFXhcT_3If#Up_uLk7* zfzGnIeq4aVe^Lp=Ls4)}B0Lz6Z)c!G(jnOTB^iOf92}$ffudc5@jHXhM&P=?0(;_L zz=J#3R(P*E5FLUF!V4}+gz{{{?0t7On+8F7+nK!`UQq+FJ{ghK2wYSRztsd1TVm|V zK+Rkzz14w!Bx7Nr7Kqat@Qd9gas&|E1i9!!pd00M`0_BmUIHl#kn1-CeF;E6V=r;# z6UgI>f!7%{3wfv^P-u7FI1HVz7aTkt(KZTI;CQGtM&IQ%XtXC%$P}mpTS5iwM@Cve zmB>lA<T@bsq||}){y=#yAfjy`S{op@<wo?^fCUF(<RS1?d8&X{O++3XfM>%IOGzjv z;y)evWgT2=C1!LSS#S)LbaBc`PvlWKRL+(IWNKV%Is9Pfnpqfs26X5QjMxuz?+UC} zfRbzk{kRx$b_59C5g5td@wE%qxB_+PL{77J+-%3Yd%{k|DF*8F8fw{l((V#{7`gU) zpqGr@U!^QOl9_!)9)BMAOkg9%JAwR_7Bys5_@zBKXBnbm3$o5(a79P><RJ2C4?J%x zsj=XLj<8`XaM3*|!-`-NyW8nqu;pCvcLMxxD{Jrn*UYidnz_KMwqCJ!jEn@6mt}S@ z>!Qf2?_hKLv$(Tle>QRs7I*|(M3bF0$ATXwLD{qg#<K-Fo^mi;GO+8=z&K5i8C!zS zSK+69PrAM1We8$GWvk&cpDX|svIdG{7ovUxknxdfg2V0IId+{G2c2X0Qz;YJDaV1_ z)OaQ@a9j^x6_AULBG>+7-%tbEy<Uo9HX+E8F;H_!*nOby8Z`Gc#JwA1OhU|`!z;ba z-eq+?u)nN)pih*2UP2GNdp=_R9%?_k7fk|wlPrQKMa=KP3J&605_SLXfD)+#Zf=i^ z*p1nzTg*iaEQad%!=e!LgAg$abmVtRiKr4#xgN|UFO=RT@ZKf(U=8wq2+xA7nFShf z75Hx~to0w>nFH+n8lI^K{oVx;*&mNIg>8r88cpzTbJ(K@P_Yqy=s@<q)I*4zdC*+( zWbcOP&+LAm&Eb&__*n}q6$MSx2$`l4YM6D%JBN_%h9bt+!R|}&&iO#{cp%x{soowr zt}oPIcjU~W7<Ui8rXYgslSy`fYp#JOFQH1<jQDFo6_Ht9B5z!``!~v!`0cI?r6`#h z(Uk>p)`Ch0;%yqZAs6)I5R5emj}?bjoCf5TgiljITiczd9|BSKr)krnPzxX?6=d3U z6fcV*D^|f*G34@gcxO>Wc3;e`7FM(w@pd0I)Ia3B`#}28z<EHYpg~ts6!_*(ptJUI z%=a;TaU0PSiJW5Zut|ZMBNcv2jVkT~R9-Ni$qcm=kN2EM4Bp3VJ^(qN@lFO5UJvwk zw!0(SpXU&2?8kvqW7c6Eb|>B}VCQOJ$mWQf7C=%qWU8mo>Z#%XDnNZTydoE_XZIlv zV|E3d331#PK5vBYQg}}dXu#?4-d@xYE1-zSqDGq&s9I77b{y9Xbg3+c*A<1zX^B@( z51h+jpG9DwYqAiG&<99q1JAbvp0k1zbg=D5touFU_Xk#=3wS7tsHqU>Z`21PE<uL7 z$*Lm1E#x!!az2~S<^7SBGV&j&pMC)GACaBxj<NrN8M-0697jfZgZPMN>39QPgJ<Ju z5KHe-X%*)MfaVAukJs!+RJwR&yrK>t#Ow3!yfLr9>jqTPZoGOD<~$BFJ`0Ap3k4j7 zF~70X`27ugh<uw3krBjSATOT9V?(jJ&RE+}tbP@uyell%7jwIa95oA%c0(jKh7CjD zOAXv6pc37{RT#7Df~Tm<!`T@q^$&rbsJ(#eRY3g`V7Lp=whS1*0rs)G(XRobzQXSd zfTXT?_3FThRW^rj!1pn*^Z}r+ACNo@EItvVoCF3A;_DL7VfQw(z>wb%jT-_zQ9nWh zbM_5bJP#~A!q|6ktwXrhNQ}1(aWNlPJd5A$OkwZxo{U)Qg^}Ch`#*5BL3Yo*9$4QR z=+-0fs=a5j0x%ed`uP+h<`UVTk^Vz=FtE}j;LV@7p1t!jin6h>v=mX68nY;dcU=s0 z9=4V57sSmDtY<Y|?V&<Y^JxQJD@y}25x{S9L`b?om-2dnUf<5Zr!dLcD@4d8%&-9> zJU>)xF;smms2RAt3vzQkJTn$CXm>Sx8tCJh9c+~r@5=@rw7}~R@tnj6$Dxf|!VbCM zi?UP|U%`mqW>~k~H+353wHssD6|J3hcY_<gk^PC_E!a9Hu&ewF{CNQ@ScuHL5s%*w zd@A)5ym%IB<Tlkpbl4Sp6U3JSO;sZhqm>aM4S?qk;Q9uzNOoYx3sn3<e8&SdK3L-^ zJed-9sDxQ}LZr<_jGRDKXMnvwu$TCDL1DgT8vn_DBU4;M%{33GUkOZh1Oxm4M?AoY zF9M%c2w)%wtk^rSi+B)p*Z?*jkysvM4};Pgf_V)Gx(niOAAF-Sdv9)K{2LA2+I6?R zXRkV<xk#X^**e5bOZf8z#(f8L#0GYa$5MOnl>NUw_WwrNNL>ouU{^g2F?I*&f(6K< z^KgZXutrvB;-Y~)#(ThpO9K7peo$?o$_b`=06qVmnnKm3hpxR#_USXP1E&%R;O99s zyh&Z~%+NqRQvfro$+m+Nr{Yy-5IZ-KF>Ygw4Y25R=-698LKDoa8_?Ap-=hL&0ut(p zP`(ek{Q*?=cBs{Zfewf*p)<2UH9w+iY%bQl3SM48LN=s{asvI4B@j#hq=aTu*ev)y z4O@!{*bNqzxOy)385Lv~So<9+dHZwqSXeL)sNILP&4wC%fP8ltc&dqvl#Zfh6Xct& zP-N372+U9$QGW<b@D1y>KQFHiq_qlk6HkkbF%6mM67c>DBU}a!ry)v@<24E+xd^!F z1&v#WssiPYFt4THibz%(771mCplfylV{3q{j<Dq{DhW+L1yN89W4y;YzM}T<A$Ibx zW%yYZSGO?h5McHb&9P6-0N2%petAG2f%E0S)kIi!D^}W&+2=>LL={sX+93~c_Ekpm zmy*LrjJB~G@-r(7EEHhZsRMBKB5+Q{KE%s0ASMSpNN-stIsmpTPYYOTI>ssos>oz? zj~Vg>`zLd-Nt6vZOD-+SAk!eL-;o_?2kJyOEI5~X%lfoP&a-Dv`Pc)wjy0pYKv`0P zcjZ64z8O_wCuB!fTqb8}p!u_~a9Nq%6ydCo%tLW9y{yTO2qzmr59JirR?gwW<rBPT zwcN(f$z*&0*5P3bDT05H&!H|m(m-}ierM%@_B!mA+`@8GF*Xua-bXO#ZuU-|U<-iZ zQLGQm;rXdJ7gU2ig2lMfgKF|+YzVF9jVPX*vJ(G_y7C0<my>f~at5nF4S7fT7xubM zYuI}EfnSz|c|*J^C2vo0tRgU005*RH#yrF?QE%k3mlO+pO<;v-8k9Q+Tb`uSY=(W} zggnWP$S$yWOZdMr5S9YWzAcbVp3yk=SRRJr*}=l`S0%PpX5(vRLH1YL{f58NVdfX_ z*(}+OhfoFR&`z=?-y<JE+i-fws>>+8RS=6r6+e|v6=(T2Q409$DOa=6;uGsF3h_mh zAV;yQqBzeikF!zI-XZOkJ#d8^&~KxVsY+np7v(rGVK*k^4wfK~AuGlsuFiwAGsuy= zmh8i?qq=b_&BS(PmP`Tm=p(BrtwmqujO<7&_&9M_X)lT^L*yA+%rc4*${DMmQdBb5 z8Ie_0@mVL;HliD}Npa~>f<#J{%P_W2IcG`byYTP{VE#19CToOJLk{8|M8+eYQMlAf zR;Uupf~m7|!&<AB5!sap)>vLrDvBa}H)8WTTPe%%in2HJvlAjwsVSD=iZkUOK3b$u z8;Y^KkW8duJeP=6bBTG%2w9OO;|qnwed0Sj?W5_eraZ<U$-mT#MFM#@<u_)367z&@ zl2=$knUimlRp<q4AjcwGv<AaWg|d4n%d^|iu;tiUtfK{MCD(C{UV%%a<P5$}PGgCP zxEE{=yp{*Kx-%uP%izqlG)h+B&18Sfq=Rx+c7={PDC;XzWE;MZ+VJPJQ<lVY*_A`6 zTz4WH)&R<qv5mm?7&^sMNe@44pF*M35NXw0VyF_1nGRD1i<H`D%c1p^1$a)rS9Vca zQYW^KzZ9vJe6*hp;8W=WAC2q&6!zyhPvm$-i1JExS%SA=!>ECh3z_99D#|7FLD?tM zXj?@JU6(=Xc>DjcmF;qjCd_7dq`A_W&!<nyDC@R^nOn3`R8fr9MjNqu60@=PUHqde z$}ua8p4CvCrLAL1HJ;n5<0$Mq<4Wca(ef&VP19M*&s>*{jmj^6-|)IydIvbYRxIV# zTN;T@ml3Ylplq_1V~erHksiJt%A-VnomtED`p6YUl%KMV@`!TrTgppB>J3(fg84*} zY?FP49+(657-goPyepkSPHWEg0nxSj1!~Dt^SknlGDs9vA0g|n<Nwi0Wrob9PL;Kl z8?=R5D5@Nw*ylF9qejxpTgqkZAwOg;)n1#Oc@cKgnxhT!ztvlrz1cmrfPbGOiP1y5 zCH~3TS{eTVM^<YW|I7cgYU)KzQj^P%bWSO071IZpCzJ!C36)eHo9EQm=6)rqEYJ6{ z?jo=H$=so&5qF?W){BOGjIh9qqY!cZ={>t+B~fmO{p_3ULyy=Q^N#w=nqr^NDQ_~T z)kphftWYjeF_B3rVO>-IGp;GK<yWzef48zK!PYe8uBbtScwNzqXF<+PMy+H$wnGM? z(vGsy@g-sfdoM@HTkMGCQgT_3`C>5;+IpQhpzJa`X=SX=NNvZ&Zk3rC^nXT(+FSOK z-IZwLtvb^B%kl>PM=GWK%F4<f6pE}VL`n7rIr@a$MWygeJiQTj$SFrtqKJ~uDXaW| z=$Qm&9)yZ3TIzhgxFcWDb!!RJtlhLicC;R`B{Bm1Ig#CizVz}Rawl)Wi}EEb4d2F! zP%7mivgUL8Bp!=%Rtxdo=q5f}70rJ1(_GFUh#Gu9xTLdMgqA4b`~uYLFd*Oo>b!5v zC)R;0yC5d((?CiG_B&$L7P+jR)>_LcX33`3emW@J>@|N6-MLc9pw{A9H6J3RH*3q2 zK})sfkI9l}5iud)k>>m(_~1LMDs$0rc?%+UpG+-Ji7~9Ze1>T4%Ewq8wL(f#-c=7* z#wri!mO6^MvQNA;tPqY&wOP9P1zv`Y;9J;WSxwAk_swXrOt!Of$h7i`Oeb%%pK7R; zSxKvFbV*C4JXX5P#_Dr$`yBp2?i5Ysbl|%*Gn5+KWCfLI_EOxp&ww$XvYl3G*-hq? zC0KuPSzW~InXes%m76T1V*^j6#)yo1tjvK}H>{D!;BUaqBUncD3Jp|R^Ifc{c*ORI z0oH0Z)EX`u$u_bOMaZtsz1DDg>E0#2I2x#>wIZmsPHX#&#>yKyB38+jbcBr&owc*< z605GBrxmQYRfEqmn@R`2WG-hj<y|?DDv;*PVXokj?oOhP%TUg1+3ALAsM8To{lzuW zS^8)+6vQ8GHE+mQY57rAZju{Gv6A5#ry0u@$+{S4r@Z92Z@gt6UF)rGPM2C%?Lls( zgnHYslt;p{28sLfF8vmM?I;*yntD=hX7M5eWwa(ieK?HKY>eD&IoJ%5M%zHTIo<tR zd{Im5&G>kJR^--e7_InLs%n*!_pG6;l2u6U2+d%sd7w%k$q!<jRlq)Tz`P*t$zxV= zSqgKUtp<sSEXZ+EuG34ZrImxSKWD6isjymNxB0{>AzO-pl!H%Z&G{$j-X`)aEf*^+ zjoOR1)-)>{^)y?FeX@Y;sD1Ez)O4Ck1D&^E%}C_i!E%&25u7w!JhgtyBQhyXSNF0u zYHL1~{i4Bgfoy4Yrh1~bWyuEOxM(a7%JclX(%PKmaH%zTFXsWiN|_*ss<TC7QI=)0 z60Iy^H2W^9@uBKnK3d(v_wi~_?0M;<)q&Pp6-8~#<&vl)E6{mfRLN>Ka*g1{mGw@Q zS5`8}{mM%7gLR(fnBzosxtx`keqL6+&rd0Z)vN3cYU43dm=SEO<u~1Q%t|GCL)}HH z)p>c@%XNq~)_OW>GgT=gE$*~F3#euDw@3{h$wwXd0wq}Kr_5G4+r{3>-lCjXE~i?S znF@L5kC+cF+eme4m#h%i9%X_;`cBq>KL+=GH+xu6o91?LLJWcWD#G*VLzQakKXnbe z1@xSk?=2}h$wTHq3YX>Nd+6{fN=+?`mDh1c4dO4HewIY3FN*OI))8YjB{3t!2zi9I zz+;{C{mOSGEAr6|=-NCola*ACmTk@4<QMaSt~AK}O&rN(7R~F-#?!b?DGwD>c%Y|C z8!0Fk*k-ACNsYlO30g9>k-A))#iQ6WF_s#cB}Egdn?J=1(OkX}TUj5T*3q50m4~it zEY6Wei&Sj8oTW4Vp|Y7+Y$;GDzfj4g*V<_{)T;UszLPJJIcS@;-+Ci=8UMs!!DJz+ zv9wADeYBF3O>vJ`+Gvv<KTzd9k)bToYyh-%vKEP@l$X6{<CJ)<pgKppqnIp+wuu~K zwOLGNFf&*q1c_rJ6Wh)oX{uI&qFi&-6Y4I<XTFZj7q6(9@zz`~vRY$Aar(@%@-TIr z-dxS0ZB@pwy;4|>#8=~i*ksnR*2}^&TzV;*EmB+Q3uG0?Km9C!>6oh=Ws2l9$XaZC z7rJO+r3cdv<875M`Y7#&+D_ZT+R-B+tm8&|>#4ck_$Ee+k5)fa;<>d+j<0f<qo*Sc z-|DEr752%hBy(FO{NrRb#Fd5``2~;XZ?$UbO2wtlhcaDm?X%_^GtA%SE`Kx8#rlNU zSwdO$f64->xzefyl}UOj)K6c{II3r)F}KN1W>I-xj^|Z)Qzei7Qdz4aB3PK5EKXWA zjCNv}8Ew{;U4#XFeUqQT+8fa(*9>KevPyq0$I}rrALTS&7!zf2^MYJYA<8t~OUbAo zRu*fylv7kq9<(-FgZy8u_Qp@+w=88fM17G*UF(<uy<F1uoxRq^so}InwzeM2$^KGS zf;eJ&<wxdFF7P(mPpz-|QN769$rvk-NNprH|Cww31FT-6mDo!&*-|Z3A3&|N%+3OA zlAd1C!ED0%ZPvjR+gRhR=CTH_z}qOP9G$dU+Dvtsa>9B8H0JlsvrZXVjRlrNwvd}B zpL$k1sb65tHPv~Mw(2#YH8YB8=2BC5(^_Yck?&DqewCe3D{D8kH0n3yE~||d_cT8H zx|tn}^ZriOKhaMNXHm*5M?w7qwRIlT>hpGv=4_2D1J+4p&iB6+7eqDdK6fhvm7@A) zU3D%|JL`AZ0O*$}{~tqGKMXSMKH$q}tFq?*Sh@=EsGX-ho8+V}w3JdPEmEYoySux) zySu{=cXxMpcXxM(0;TS9l4SRLbKn2zbI{%;yR$Rzyff2gca%Yv2g+3na_^)#Sfr&0 zFU1RJcePOUg`<QB(gXEvav1w3KU0!S(@ag|0`fyXoR`$^I7_LM)n;lReUu(db}A)5 zGsjs9%4TJi`yu9L%2pQedwOMUkKWypt?m<5HHpoVbIP-n`^rXhh;mdKA+6ID{!%^e zOmUV|y|r@sd%XoKKy6Il&AygG?7ii*HG&FS=CBL8s;<-~tB38qc_rRRf5LLemE^DT zbW=G~Z|OeUB1UNywBgP<&c4nJr>8zhW3-oY$br`Umb=P2X^s0P>8|uvap<MBoZ4H} z-<e;F=fijonk`pVjsUN-m7>x^mW#Y_Z$b5<<Ef*wI#6A&{ozY#4RbR;w){|ru-R@E zOm6Ig;w~<$cbx9}NJk^JI^x$%u}XTP)RB9cHkkUzU8FT^ihe+Ap-y&Ov0ri4RbQ+5 zkZ*sZHs%wS2y;OeW+`Iz5hcur#Rct}^NiL=J?J<mmhpJrRGOxglgF8|Od0ZT_J}Rk zo2bXsANJz*evX&UdFpR{Alt>B%SWu?rhKe{a?jd8Y?hC(zN+pFQ2n&}j+$KX+o(UA zDud*kN{FeV62|(oU3{hUrMk*K!@kw=z*%0cr_Z2Y?7Gyz8e-XudLWNmG1^COq{`|{ zM-E3DRkc~PJN!BP@tAx<t|9j}HBf@2JoHq2bAERQJFDAYIx4E?)W-TWaY0I9tt|B| zT}?B@By(|dsQy}6t=Sz9?WNT%&JNC6G?AvzYNe>@xiZ8wQfZ)gGhY$Gw>y?P-`Wc~ zJk{=MUcQ4zN*m-mN=df`rY`a#QPmnmPH~)NIO6OL9bMHS&H()Zg|aM~WxB28H0@WW zD&v(Xy*bavo7nu-yY>YRi&|MrL?(UJG+DW2sbyVk+9hJ8o8|^u9{Hkn$KhwM<$SKD zIX&q&+s&e7lPO+#pahwUDQ%_iLU)GotM(C&PTGBkn;5H~XH0%+iZm~Ce`mgHQs|;Q z%X~rGC2v*7IyyN*oD;Pk+IQ+Dhe_*9M@+YrG(|`y<xti_Kcu>A2W(Xxr=1DTk$Mg> zT>35rTlSm!yGK|`n_jX?{JFKPUW^S8WgYdLCmsE?liDWnN?sxFREAn=nQTg&yjSv- z!nov|q}|CrXusxYrta5bcm{hW=QJO))O9QG{zG1;^i?;R?}(E6eEMLsJ8s#AsH3!7 z+zt2J<f9g5%5OR(kCHmDK+(w2L$hVa+EVNloj27;-ki;o>zm$K3Ycel+>)=!&w##B z<^c6J%~TKC_c>~+Vft#yFEurvly916m>(;(l)dr`YD?3c>Gu7O*_k686YSxLgLOq7 zd9PC0^3(j%dd=cSmzl{~$8<qF)!I{KM@vU@wHC69GE$O~ZEB^=Fn^aj$aka$?1reu z6Koxw>Dgnl3p#H)?(1ezjD?#rl$Ms_W)HVZ(s8<=S+zr^e~$BXM2oX0I{T?VxJBx# z^fxn0vQp37Ly44UN`GiCf1wu6Zr}{dUSXT7epK6u?zBT0Y+7S#W*KO@W~s#e*=l>T zNMhNJvFw=Rr1P2chJJ{3m5W>Mn2#!VEjse@by9w*rdX_1Q9EW0v77AO?c=m#dTB5~ z8PhXmuc@j@H+4`hXw!J(>>sEROKLKWu&1lfotOC?_FYL-$T9-VS6vw)=VCJ3#8>J8 zjy?9O&IR_O>S}$nm`GWYWXY-6%@vgKrUOzvEf3F=eOBtN-_gCrN~a3sY@snyZ&Pk_ zuw|$`*0P&9r3B_df01=<cD}Ixv%gT+tBv_?wun_zR-4FF$TUV;BL}c!>PvN?eT!6F zuPDCrGU_+ArhZg7*?H3nd4##6)JLAe#<90lM-&oEHDAYn>Qu)#EmeCXa!bqEDbr(R zzUhO~ReCKSq)0GLoV}i`&=~H)TB~ttgxJAL%PI0kWv9HK)mFZUbI7n3iF%@f&b7LZ zx$06;Nxj0VN~ugXeO8VurIgxis2n3X9ogcTV-cy!eZ9DB(F*F_d0pOI`XMiny323n zhs;MR#O|;Ov`XX>Mf4{QcjN`fG>J;EL9CWMLq4f^$wQ^@%%belR`PRtg2v5d>6i3Z zl+uxv>piH1?35NTKU1L8m<jff&1W-+i~f9~bEoE|lg4>@R*#*OiYsT76^LP1rDe)8 znxHYcw=>0jS8hQAq(|CwJwNy7<&@6SdJ3_;79{ydr=&6X=>#3(pPUu6U+QzU1v0-n z><z7y?wSs;5=uEKzuZ*uRP!jW)N=AS(<ISc{-gKNyP%e^Na<{`w88X_HcHRg0=7yj z%pOx7;iU#?FV&pRO#KJyhymn~FDfZgSJ_=&L}U$fw%0yb`l>xlK`ey6^AqX?<j_^L zN=hv`fSyPl*(B*34`w@LFMT)<Ks`TC^>S?C`?Q+;5*y5Ju%1$RXe&lPY$~Gn;+yD) z`pvR{_XLjY@Yrqoc^)S*$w&Dq7okg1Zi<xVP-|KyN~(LE9?lf|2(60tQH-J`tf?F! z`LWy5O@3Uqt6`|%BAvUec3y=Ip}pF6{g!@`M=DkptXz<bipx?@QIX|ikN6pCp-puL zYp3kn^a<Jlk-_fMPRS+(P!8z_|0QMV?qW6ts&~vKqycOV4dq33Sp@Ph<vTkjU6)6Q z($Yhb$Yx8MMIg(`C#XZTCeHnOf4wMWu##+`WMf6>37aC8NtJjl@rj41NtP@+BK2jT z^`CkKzsT>(Wu(z^np{_Ol3Iy_teCV+L^8qGtIxDW&L8?8?XkGbic%M82J0n$P#Zmz z{nStDU1^KGu(>aLMx)pS)E#@Z*V<U=F72j6atdF<+{wgdNRPySOo-L$1U*9i$;;{y zVwyCJl35&EB-%-ld@+lpmbxbOavV@5DQzfNYNLnfm((OR5sXqt<WTyERM+30>dD{4 zQ_9cW)ZV&9P0?=XT>rzi(kHQ*jo@Rcgs5Pge6NpX_3g=sF%S4b+NF)wW;vHRYf`2- z$=}KKg+JXB3&lC;t0P-XDe4eC%Q=Qu;Kz7vxecXIFXZPw(0ySspIT`><X?_cv>b6w zqucrieU<vlQHrcAn|GBL01FMp2ytB+EA~)z)?90eoN<SiOMK&b<zteQx=AxcT}YVD z8>8kAlET%-bV^xG?btwGo<GGJqs1<&BF0N?A=MyAXs6BMD9@(<wDW2^eW@138;PRK zM^;!NsRT<9bLkbIB6jmMc0z5+Rw#9(s_eVoiVJnW+E>I;FELn}PesH)R62}4h^G9P z*sGmU^J(6?BDRWuY_5EcZIzC(S!^l|<M+h@QHPGG`Q=b~1{=#>@?3l}SY^H#K~u#B zX^;5BeMM*S&3KLxnQ$MiqqbCgpnHg=@cS3+E^TH7X^ZicEB`DO&<pyg^^t>=CGvE3 zoJNR0+FAVq-2e+8M^&CGxR@^nvH-d!+^D4Pt!HU6Uo5`RBq>fx2JiZ_Sk_R~pmS_B zU1vkYT2$bk@*OsfC7_bNrf(GwDUv2gqv@E47X8I#swiHF2s#8-O4e@ar}!4Joqb{B zsU~YptBDC8ahJ75Mf_D%Ws{ICR%QRFfIf(i(|2+keMcoVPb?Ov1rvePNX!;_MT|C2 z->hBNLV${LRFMs(eiR|ji8<U?|3UlsAsR}Vys^B1-DcD1C_G!?gZW=7LGkQ`@D~;7 zkv>}V7HxT3aX>q#z17BRe!L%lE`|}KuHvbvAtFUNy{D)zy78$jid)z&X$c)bCA);r z;?ep`;mLBbDQqKh?V0pg45Brt%=d{jeY$=@U&QVB`bBAEqDpjG6r$lgk$0uiA_<l8 zTk62-vr(*pIL6cYIPpeg&?j~U+3gEDLl4CjjA-no%EgQF=enPMhacvu*i5lv2^|(y zMG28d%))F(M65U@(nK>V44HTEN&Gl3WIWHyy0hxcc*f#2Ws3qVlr^Q%qATyl6ZJ=W zCa*)?f#q}bPV^M*#S>m$3=uJWqUd9se$I@Yw}<#DeFI`!AXT9&q9&aY(?uIxdyjm8 z{>mawugp8}_1x$uQJ6-G@z7~c(O3NCeGro)#dc`8DSaV-$|1J#68td_7ng(|y%qBy z^=Wa2){+-X#%Ljs{IZCH&u1XFzD%8{2Q8(gq9hr=Yl$Fl)`@js#i7M=G*6_9{4|Z) zP&FDw55!|(^d>R>qH&5o(KEV44thlmfzWo$lPzUSSOCk7wQt7f4XHRYGbb%(9ceCI z5Y@yo@qj1r_9B^|6wi4tp2cUvKaPtn#-0grQmhe~A_?nzO3Ud#@?_<q)#hvnTf?G& z`>JdoYr=A{Z>$0v15P?8j)`gFvv`NGja^d<ghRZC7G_eMs7-J1S!>Y;);cA=V9X;T z2L;e*S^<Q-W+Rxyw$VRuaUVJay;P$lQAFGluf%FGnBHQ3<NS4n*=QJzMdfl-6ct%~ zs@Nu+q7}`deAFHih5}PVp{wrfH&tMDnNE*s7tNzv;=1T4hGU%<c@i&44QM=7q?^#z z3UNZz6_vywev5|zQ=uYE40G*>*(E-S8?*rN_Xpbn9xBiJQ*HQITPjTl$-++2Dp<EB zy?{p!CO7s4>#PNT?<stRhd9k!qn43*f_??@s|26G8zZ|~EfNKx5()%@E{c^RAJ8Cx z)@pPfRxe3G(E0)~3#_2Cbas(tLvwE81rHU?#0pVX%oUr(OJJn}h0`FcIE2d3MtToc zFU#VAnWv(#=p+ULsj<T7l9HFQz-3i{^*oU6nplT>8;A|~cZS#@h6*Fn#=4$ZGoIMU zk1>Z)9V$ZCF^16{Y&Im$7AGhMdYnnK!Bo%a7Tu%Yl#{)pMzG&LjP?OY86?vAH2#rS z6JL0Jte?Zzzj1HKQ_R)dF^ks}WkeUT3hTQLHvcD#CvL}M#L3hPTF6f)ppgvm5!T!e z253sTC{YB^eXK+i#i<W%qVm9d71+IjIE?G7!Ggy5@snVuzv8?Y3AVTebUhG@FzXpy zW9$-q3jEGPR5*hFO|B<(BOrAxdMR$>N*$8l0v-oogy+!HR(ga8YKCnG!N-gpZ~bUG zjR5j=a%Y<$>kv9j)4@_pSQ&PVdQ)e3@mN@)5OjY`YymE}i#uRpPbxqik!j|kkC;0f zYp6^u;jz8og*~9<0W=OC`Hx~T-bBg`oiC#guzM`9)dq~Ciy+w7czUHjHK#xlt~36J zf~8JEM>mCv6)u4N+Cn3NLJ<*S0^-b7u^axd4J*4Weu(eF=#%hRJQ8p5e=xaGF#N5V zYuDatx&aAR(LkEy+M!tvvplAvYz)iKo?^wtAkiAyPd~sxl_){{!m7*^kF~59PehE! z<$9{BCKaSE(9$kikJk)fxIgR?LKnqY;Pr+m4PU8=*DRXgdPZ~!`7#f-n)PP2z)P3t zKIWVX{O+K1s>+tL{}2JjvzFkLKVX8l$Y6BWbK$DEhjnj9G%p|m#1imrUs?n^y5lP^ zB3dzg{d1kv|54P!O8$dJU*qb6A_V?82HI~zX<(%L@SyEL%4abW+6|`9$QkB<tBk#p zg<ShCi@Kgft&4RTPyWUUW7p9IAZVEIM2>L`EdH7Q=4QmrqM`?Ub1GlPfAXsElXc*? zqCj3Ucf-6b5S@mDb2<Wz#lR=&h)S(toqu4|HjsTSb#U$Q9|F%g4=g%?ae*jS-u2XK zAIeWHs2<QViWXw6L6E$U=l~C@Bg%`JxDU||pBR6U&vfZ|1?<=zdBOp#x}$gq9i4$c z7<-<k0yoK`5iEQN*mBZK;I0Q5C&Ra<orsP<5hDj8dUgT34WY$g%foaGUxr^APmk3B z8goKZm&6rU-?N?2XkAeoE9?T9CSz4Ify9&WELA)M(w`&K`3a5MTs!11yY@<S13K3O zg>FE@SYV}ttBXbf%o&OKTH!SS-!}wy3S!-j!7N?ifyHojQP=L*?erBGS&pk3xH>J) zf(;jeKexhqeZ_LuK5!2zOCy1mHpn-O?mosz`v++cyl^(`*_*1k_UaiOKE`3Z(eQv4 zz-$&3WbIiN5aV=pjtGD*Hb7IKDI4+hB^c^I=wUiAo&-%v>^1J)0UzoKON{{1{OB(3 zGP)h)0G^7G20eTh3j8+_(JvlMeGguk3Jbpy&7rU5u#fSaOHX)8UaTb?Ynn|QQW<A1 zv^P46LJ!7HqhhYUc2PjI18ibgX0`GA8d&`Tq<IhCY60Gw2d(Y}2akpwwt!tdq4NkZ zS5vA0Z4Aa8E5Tva;SX)0gVoTiP5g#c+`vXn;g>-!ENmnn#1DUV3m(4&dE;#GS|Iqj zFh)7zdXjw-GKM8|63l#<p28x=KBsHQZSO<Io#0x7(;q+!g@D0%E`4->1$&XPGt_vZ z@;}_a9op=K_qqaUHDHe>;6bC~(tMW0@<?WB9c#;qFkhB}Sl<uU2_>U1TLebD49}LZ z>g!}YK|7v2=^HefEmDNh(R7+<g0Hs1!FwU6+3ec4`xQtnNWRcyKWMHw#&`gKU4(yc zgA3<~?yj9rBXFILTqF`BmIiVvLfWtJr=_^k=nItLdJfLmtGmn9pEDRT6$MjxAugZ8 zXP*%J#>3wl!!wIv{4v6KiefSla1@qv!u|o6*#U+LCz(=_8?VJR&BQodkqil+K~oaO zYYT4th}aY3+HEw`b+X1+p!_jb@=h3?doqOujArb~3kA=fa6Lm=3RzDUeC-@!`9XNy z4$S@?k=^+D3EsB?O)|xRn-*g|H-NxDu+?nv!ER(=+0a9_>p4E-N!f7}jT)jpGP^l! zJ#0{jC4d_YKFUow5M>|X{+-amd{@Vq`l6K3xsyNPI?qJC9s*uI$#?U4cwOS2$bf1g zO1Fca4`G$@xc4;fodrt`6;t2`HKG5O_~|O-4T7&U210XSJ-<a>GJ0YfGBMcLI61-x zHc5o!s_+70>jMQH5y6aJm=oafMobc58X1gfMveUdQm%oQ8T*Sb!}E-OB9mNuem%%| z5;X|-6a@C_!F#78E1nKq?#J5W$%DNFN@pVC4nZtlgzwtIL-XN&W0z_jc-$JWX-`x| zRgf>~`~;uP>+!LC4&TGS^Jm--c3%pu--mx2dq!>|3#$i=MG8M*5<!R`^`N^;So0e2 z_geU>ae9C*47snudzQn0jV?MSVdEy$g9E^;`+=Ab@K?>%ap0CH0rVLiO3sUgxPB-! zITn>jZqysTut9wx<Gyg%LgU$7MO{?{nOG6T9w-0HBOpU@=={Cth_%ney6a)R$0-## zh*2{<g?CR!L}&_b&IMj80PP%ve;z`7c=W&hs%v4VMC4235b45DgOwAd5#@%Vj@atz zH}V;LR~X|)z`qS_zDK5T-&J9Sz(>Z2QCQCdAif%W?G@tCMeuJteWy3z+N<z^vxo)F zkUwbf$eNIF3o?MesDEt82A;zAmm?R+i<tM(wfm?zGRwDo9Y4!g!wx6;Q9cBf>1h6l z8+-nmz#|Q9R6-`(-_?C95~$b-DZPN{y2#ne14A9bkrU{htB+Jc%={PL`Ut2s`uCZ^ z?LI)K4>F`ybQG)?hm2`4?x=!Q8t1vJM_j7{dzlgOr@*RFq6kJQ0<0APzYYekj>Z~i z;5$afNfXzR<L-q&aOC`Lz^7-Sg)Bss25bPUjhskk*InIP+qpWXmT`5usg8(nmu%2e z8eIWD96)w36*wq{8Jd7!zrh~M#aZA)6IEQDZO7sD9U2W{g_$2B))OH3p^N)_A<Ci3 zM6Ak>__K<>0rlljz13q)k&k(?OjI-~?S_}hSV0_gaTTNg1<wx0S~k*YAZM3rJ%!2G zTe2QD9SU4G5|4nkH~c+N)(!dRI_P37EL0c_V018ih@Xw!H%ow&1;}_VAy>{4xxu&9 zk&BN7vgTrKe}Ral$PLOt=fQXxd*@YP%8oAqxwEj!$Ka9s;u<(21)7{GdI>LlW$-wD zlixsX7Y*Al1^c~#Z{0u?x{rD}36{)21z#4JG-AdJFsjkrumWOC7wFJ9HRCsQu@<q? z3VzK+VL*tn3o;kDITW$s2iAHCy!zAC3+@rBiY-{j0<1h(JmY)$e14Amh!ptQGoDw( zp$=jqffobfdP5h_!Cp?t{tg+`QZRW8elm6@rNfV32ydXN1R1?v>%iWtAj2T&qc~!~ zXT+aBu6+&B@cA{+UOQxeL*ad!VV9q<P8!(5$gwjp&MMJRsNmx;ut62DLT&hG7hG#} zgmj?x$%~w#D3JLV_x|VV5<VW0VHb4t2$C5*Y641)(>Z=4a(E$6_yxQ!#WkJ5GfhMV zT;Bk(s}1HE2s{3U4v)k4+X#R7cXP~E9^a*+R;>(=AL{b<#o+vf@OU%4dIa)_>hKOT z>JUSZmt9@KHXsr)*FN=@Wc&u}0=)pv3$t*R2;QkoMjxT`(7mz0aS&wKhm{&<ku*fk zxCq&uvG05gzOM?ryu-@Y<BChj4i~`FucOw^hb!BV(Z}#B5F|sVzCgB-sd=NSd4_x` z5T6;nsHP$3OCV1ciRz;iW9&U@AA_N0BYWrxR2ruy%s|e(1w60@`SA|0#&7u6Wq8Ff z<Rnd8S;=cK!V0WvKJb1CF~9?CSQIQ%9a!rGrr8M(z6fUB;o5~92uZvl`*ir+5HfaM z4Z#&gHI$5u{x9sGE`}lk{)Pqrz-vn*Q+x^TY7eIW!*d#YdZ-io0mK{;H~CDSM;zj5 zx=k;JnB)%+yG4UoXBI*u;5VCaZwftd?Kv9HtkO2N2e>W>uC6bN@jCn=PZJ$jX{o<F zK)E3ol@`ECV<<>^AO*18$fu`MQ&v{e*l&7=8f-qit(RCuZ&^EOoU}%oBX5<WX}nm* z$Lb|?<L?1O=r$|H^3!sl{w(6ca9GNp{ReF)(NcB}b!J{NI6RfdaEq{rw)`KT20y<{ zWmykal?|tw!0sEMb0_lVZ~P)}29GZSPIt$@ANV1?yMA9^$J?MryF$6yBh&^tDP80f z3wZ}#jZe`R>Yw!XJd5{*PLA@|ycxLR1kl(KSn>syDxvzCh$wwcgdns0Nr}M8a(MYV z(F*vriM3P+%&a3fe@1@bNjG)?+%y&b{TSNaF2cYMMvvh*`0yrDSXtyxz1Tcdu~*p+ z)|iDtQ=3qm`O`K;lVym2LEyxF@UGF|(*Ce`GIeHgtcKJTI`o$|vJvbk+s;n15=>zi z5c?XlC-8|}@SQQ>{mF<u`N%jQ=RRy-7FxJ!oI(c%8p})ZO8hu~#hW6t*adx`MUHnL zIpa}iI0JR-aK3}PgLRMK(`Aq*MU+KM`-SUDBR^3D=WB$~4J<$W#6#TWS5d`|0|OYl zQN!Vdg^?@l0m?hOqRVEALM$Fb3Tl8Iu8z(F;i0>cr+vi?tHB9dkgKdkZjlKu?nztm zc@IPe2k*iA@Tc4h`C~tDMmS>URaj*+q&EE1*o`C*9fzPQu^~_R1D1(_j|L%1bOUeH z!OSb+_rnm8`=AyP$X#NPz3oLr@&d9(!Fwe33I6jD*=$pmmz_j?W$fwM2JCR*j&au0 zefXmj(Pag4;cM{F(pcYWaO(-6tuJyvqgVQ2MAoN>UNymG8t()?$q+fgq2A!hi^vcD z2&2b%3#@T6s?Dv4>HQ$rao4G9iO{O?`?Mffu02H~CpeG!>xeYisWx8;&w0+%5G~`l z#y=r$RD?b3qC9vY9IS5xp6!sz*nbs?S2QGR3JX<4#@tVgbnWw83>&V)|AUd)Ooql+ zArf|kHZys3;JK&kl%cVx!wgA{^UM+<Lm8~{9~k32xakz~>t<lac8EL?&`C!!b`7-x zvsmdd?kk7vt`?&A6WqTKn%nA{?-P*Q1@-4GFr$fivkq(`o6U-{d&JlZ<VPc*i(Rny z7O-+d<U5NHHCllyIz#f6K*<bbpS|!?Sz#8J_y=g>5zm14ha*GV<mxDI)C!5h*k_lM zV!`JrxPP(80d{Z~pAcJBTy5jE5odx$ptuOm5{S9J__+{PKLDB<>N*$jCpc#qSfexI z*C9j<6INLc+B8mM+K=~3z#0OK@DiS}hmYhF!4W|`CohByawXr&t>PCqevi`@$gU;q zh~|lyJ1^#Gi70IJsl5&9+<~mds10VLCYgy0**LjmDv+58{dR-jl@}5Cw<dCc^@x=J z;brX9dxte{2eQ_~zuLPxPxk{}HY3KrKvpAx!=}OyYawFPhfSKm=NBS!bakBv)ClsQ zM_jv)4CWuK`x_kZj%(T?HVwu4B9Xn1gYL&8W;KC52jRYEuJc^xz;lhR<n_UERq$Oe zM4$Y)J_uQrKTuZ)s7;4-M_>u3Fi!F-j~re?^_U-?V4T`889r%b%f?<?<NQaX59~@B z==z<@0n`r9kijR>O+>`8sF~U!htG`&n+i+p#p^3#_CMe!81J2jPoGB~6zGbG8=<*g z@VbGRu`;s$0PtdGu-+2H!S}Ac;uqnwBV1kbBoab_cNBN+SYHW$TZ`OwFz&2}cY0yP zli=^`TxSi<!QBtR15V_$#8ScT50ORZU{~p$Yp-xeXrUQ6tS#(!6kM{BHXsM+1MQ@X zGw_<f;;t~xJuBrpb*&n*h8p0zf~X1JBBS$xG%cZ#E|{+=YS#zI!OOw_yhSb`rW$P8 z3HJN}3(52xdffxt8+%`OL%(ZWXI(8r{&NPH55jsI!4`$UZf>ytOGKl>uCF-Uw-+cX z3PzTJ_e|tgeu4pmM}VLgu05_XuD{P*1q(F7C#S(F*?bU?^#vL?eyiLS77quOGF<0{ zZGaD6L0)2}XQ+Z6xc<5_2Z+9ld6r@Yv&3juJbVU>??9FtBPzO1LoEcW`~yPY!-6KT zS})+i=*{^bP?Ro=lcJ1l_Bp&FP8jFkX|Qi@SaTvQB2yk@GVZu89skCnvTH^LS1w2N z(<mP^e#1Nqyc+I0Rn5nBs=`zHMI~7n^F>s@g}Hh_*T(Me{K#K_h}QUj94s{lF(C&T z=V=&c&GdxETOht3K}<|T)U5ziI;jyd$&aXG*V8uG`7mak1qAm-1~(kGH#)?7!eg6Y z{0PYDK%HFz^B-_w{4lDhD8!mmuzn;gW5l9Q;H2unNCYz>R&QX%S#GujXzGnDtqr2{ zX!yfE;OrSyW}AV$Ev_ByGw|+M*KZ*Q<MkV}-Gy&1hFnIs=dG|vb1+>4F#0?AMF{N& zS|btt0}=lRqULP?{SSjr8)z$nPYb(#Q?VXWsv-f^@Cj)BqbQ7c*$FyniP%vbS`Kxc zm9R`0Rhf++L39g4O=EcTVZ`#h>=3+TJD4UMEWm)1dag4ydLUjmf|N(d_^Yl_smSnI z<IIuO;6vlY6(3yLAKqX{_84A&?SFglC*iI|(C188=Qi0<Q6GagJ3$)5S9~#tAN+SL zt~mgIzXdNm4V%`Wxrh{A!0aq|#tm?ru~*d-$nn5E##vLlsTlI=My}tstp|HP2I5s@ zl<g2Vw~DIB*%G)>%k+RQ`a^%l`7`gK>5{Ogak{5bs~SH0nwJpg5JjHDhIJ4RzaTyt zx&2sh-%9w`AY_CUz{EM>VdG$nvUDGqO6E(r%{)b4ZNIC9O5;82S<c&LBz4M+pr^h& zy(_qp+)2OUWR7>)XVfyNT&~h*ewfa(-Q>@^@%55m!P3#xHjdivb92t{`IR#Lvs>(A z>%q{-h;N<?*-K})?9}wNNmr7(vhIG(1HQSp(Vk}vbL4Y`I_=Kw;(%vm-!;}Bj!9XU zoIgdotmfjkUwmlJoQ)H^zMS>tqZph2bdmRgXH37<@)<Yd2K@Ukshl!Aq)EP1uNql( z6U@nZZ6h^L>rd}nzQfJq?FW-KrUaOC`PLLSGoM)g=4u<<I%V>+4eu&)ThV+KthrwE z?5yaN`SG>>WTgao6)V`kP%*DuNxgrz{aYmahjms!@myzoo&s`vV`pW(@Xjpw+pTwO z-{cDBMFraX2K?}OIy81)?z0sO<(tWGWwMN*%wq9*6E4b)Lw@F;<~uOGYV^E+l(F1Y zCSYrz;$`Pmvcr-GrS8z11g;LLZts%#RUH@Hzksjp_Om+g)`*5By()C{?W69@yqGjK zVR>|ZTbo=X3mwfnlz8;3?@`f@9i|-N;T>{cQBEe0h^ZL=*j~ohEwW$E!m&f5C#erZ zH|IVOQ|x7<nB@WODn1LFt541pY37U$$qSQ~nGff)<)7`lEVXOYgy@zTc5BgG^YaYz z@wJ_c-4VAceTK3l*Zqhm?q9!b{Apn?3Qx(`E4tYeJ$gq@slubsFU}m<`E2d7+>=F2 zak`)PNuh&&Gn0CL9u$*o4|Dq#m>5*wceHbAOyTHGnawS8ga1T0J<orh_xYT2X|dNO z&ZT{MI{DKl%fHf{3pJA_JKH&4Wk)2B{?pwyE%(b}xr4&ecYW&o=Y?aksj**;90dXv z%F*$jQ45ngSe6GC%-=e=)t{HIZzb9CMpO&;T=^pQ{)VKY;d{zd$vH)i<Ym+9##H!m zF(KOjb&1&#Y0`pU;!|ScdS?NzHMwR7&-2We((_Mx{C&~ZH^Xmq=qvN%kCq=+I#BXZ zsd~wWZ=8J5Ug}rrO9iVh2|2a?zmPvGezl>2h11K9$U816^kwkpN~ulV%7rcnA0E`p ze)PNVFW+>t*QlV6LBI0`C51oFiiz|OuQe=m_`B!VXMDLA6kU6J;n~(swpxFN{OtR! zWK#b;Mas`B@lv_`w#nlnQH5w$Xw$+uLslvC|J3=KC$6K`DOYr`S02xRneR70&q^;* zut)tYw;K=i8!e*u6!~6nXLyA9zvNxtCjKfBHODzSVqdwh`3Gg4e$?Xe-NYf@(M87< zoai+!EAU&7?^^nLw>jZkg585m{Qmu}@487xswUJMYOi+b_0?A?A1joupEoR0y7ABJ ztMAWEf2t@wOa804JnxeDS9b=#n3_E(xNoT!Vb9G2l8$|B8Fk7rGslqd$+-YjK&!v% z2DXV!yM6BWrJVDcyek#=`Ot~hkNSExZ8WlKU%#-d*zcKNtNj`kujg=7SX$<k=kt&K zZnpaRS4l2-s6<@QBdy1;V;^fJc6HmIcYU5lf#)nk-W7Sh%{iucjm8bU^WUj`_Ds~` zqSIOwi@c!}i!1rL_|MqrFz2uE>J{~fYR(Q14&Esk*EZl^sTYOwxz~#A^ZvhICDp3| z%R=3A+H>@a33wC~Jt=2;vjfF{d}w-n(8Eao=Pd$iZuXm+Qs{HuPvX~#^gOvum7FDg z+~Pm>y!GZ=f7y}0ZYj^)YxKsyCVyy{aN0aFM9TXyc#vt%>rby_byS&2^=>NPZWO(E zK0dqT$!4btozUF>dVF5_`&`^Z%2nt@nc3lEvwa?AJzJ7kBydHkxPoImjwI#z{N&dx zyETVf*r71toAbk*Cx_CW6rSIxzR!gFO)h%;u2W=YgV+MIq}#~{q7tKeM2*SX7nV_e zap7~$CC?L{=Sb+~y}Qtsum`@UvP*q``g2IeF0X@mdWQ_o<r{5zwmP9uuv=YAsP~(y z7h8Sm5PYdY+u~6cHDkoDPd}Bvo70Mg6s};6Y^(&lF7&uejF)v_ff^AP0wittkG7xo zrfm02%@>z1I(Tl(qDSZdj19b1H?_c>PktAhf0z~6qE3YpCEbSG^w@<__8(Iciu%7S zZ!Q~Wsq?nr{mxNGEkE*iEEp6xQjhpM?%T$=38qt_0}E`(UnH^2-IG5<{ckkLEOPeC zg-hx0C;7Lmv!G~IOKxYw1ZVWh9~sf!-Z5ncm(BEO_wEr!8f@y3KPtS2e-84ES^DE* z{4pAsw_3r51^m*zZ)bd|?(?-?WZ7bWf-ZD_vB{dRW_Z~_o}ILiq|?#0f5t^sFvXQx zSh;S_Ro_P4nfjr;)*-LG(DjfF=9JjxpMC!9RlnvgQ)qGFb`JOZEkC_Aji}bC+~N4s z*WF)Lv3OT&R`P^(h?+k=EagS?nxC^Y5mCN!>Clq@az1GJ=Cmy#q(qVPp(iXC6McU! z{ug2o@~;{Gs93O6{z>4+D^kfSd&(rl=DEJ^brsJ7H4jCOP^M>hOP`wYCpP8hAxEVG zRjUMqZ;hn~=GT245qT3M-iOpTZBLee`~Mqli}dM|?{U$0QjTYJKbk3L#Uf=d#rxm7 z{!%yXt~#hxPS4$Ha>}dZl$aa8dy5eT^HuWBKRI4|IQg|RGbq>9B89@q>uSoFZ%d+% zW&QT8AJ(VnMz;g6GT*jy_AiyQ(vkGhw|YFk$m&(uU17Axe*2=7w#gNec(lVYEZ@>{ zV+!O>_j`Kem6{&qce2p!0x^D_vR{7r`pJ?$$$w>jdttlP?{(eR<7{t>eX7*We)`Vc z$A_Fl%blsz-S?`hChKv3<9`0V?z|n=tZcXZ`_tCH*!#9%+8jTR0(<k@0zDnWznA#h zJGq3fe}SrncLo;xT<_uL<mvg()P3Ur<Z07etzvw_=GO?!|3ePWDi)JFW=!<>)P*?@ zlx$e^ytL`#`=<x~w6xg5f{OGEPS@W2lD~K+hPx-`TUNAs?s4B&Jzkx>HGjK03w=DE z9>1M0=}E-E8lHI-k(k*dsb+lH->He60&|p=OMR7Fyx;qz&EJV`>%uA(>XxfDs}=k6 z$JTgVY7#QCSnJ#cf8BZ$oH4F|ch&RC^v8K0bjdhc+^5>$pw>KZ#<RrG*tlQYQ)lN| zTDD2CY`yT?gs1)f&9;sYdr@#fzy!YfU+JHB<14V6d7c*6{HuKZ_MxU@L9r=iH)LJ7 zf9`oUn_BTixd9%PY*W)M>8)eG{A`=4<T+DT6o}2RJ^%OOVp4#QM|i8yW}aW||HUNz z8JxUct{K`Z(qSI;zV!DNa#op6g}?l{b|>=lC*LYHeirUVJu=Rx<;$KL-{bdteL;Br z(h0dc$C{tt|8mr^FknsI%K;B8m9js_c8FV_VYO5b?NK1mG5TG*=rr%T6<P+ze>`?~ z+26(aF4mYF`aoNe{wjS{c9YnR|1y;q1vi(uACMi@`&plFB}AXxl|v%~4=Sxv|NhGt z^C)|ZcdG)W!Z)X^ee)?{RN$bpr9DGm@kdQk*GEjM9Gzo>{c~EKw6YncV+thg_lzwx zy;v#trr)o>uKzcmWqe-$kjcK^cy>yoBvbM`t*3AEd`UrX<Jx?Q%^sb*QL!Gp(zAuH ziaVbd3n}OD9GdN)RwX?yt#<6)v?Sjx5zh)L?C00-AG*g!Tl?htFV_y=UHoZEqxjf_ z6XKu$f$&rxkKapwSoqC+)eFo^$@Tcwr;_GHWrjq0nwn->(kf-drOu1JZTHO?QFvtN zpX`*+b-p-KZh3spbvfrPuZPZqNg?s|Q;V6d1Q!VJDDC@NE#|6w-Xg1V?)&lP@#yH^ zIa`(2LL2ek8M#w0rgl!8lh{Ft$=$xdX5XTTjlT5$mD4`M=VQ=@9IwoltjMG~Np9KG z+>hk$9ds|F!ME$#ak<VHE+BiqTKVE^_V_|e%2mkO(YZY1YD#v}(}d?4>D~$9v%}LB z+n?yqePd42BLAI1v;4EAb7}VYLP=%R6#uxqp5DviR{g3bC564n7nQdB+1k&+=6}Tt z7cb<wA-h0Y#}qwzYSIkHL_ZcjJNG8%k)L(H-A;-y?+I9y)9!UtZI;|4J}~W@JUmxK zo)YrjpBw)D=jk8uIG2BP$tMecC;PrD^{U_=c|_L7w7aRvDOZyJ@hU+v;WKkA&uH}H zan#(bY`5+KxBb(trJN$=ani6XRj~)w2z=o1{@o>WQefMH3rr{8eSFq2eM9~Q<%$O{ zc2-I|mC`@;U$UH4(S1;eUr45DP<-;wi1@Esq-Uo8bD!d-54H!%p($RDE*>9pcl9ro z>iktfYnx|u!IjP~FO_#u`uD<-C1-kXv-iquoPIy0N@8+$KcCFd-NEI=#^@Tq&1t=) zPM%wQB<~WY7LKfxxhaF3yL@is-s>?VZprT<a^dj%p+A$GJe}})zC}b9DZ1C1lKm=u zPTKgCkx3ua$^oUq+5|4M75H85Z_DhWRxjU3pB-*n#fPlzsmn65#8>~Z!GV^9zq@`< zH(xFonJ+l0<C9Te6t@qN#S1^OhB`vB)}(3)Z{uUt2{~)!R|EQH*NrOwXKz+lYqaki zzX;F&L`df3WUq`QsZ!vaT>qqYzkA1y^vY3aM9_r4u}|9n&g*xtM2Gyfl+w0$nRimR zC(KE73isT@!ZW-BQcL{m6%*$y?cT*_k@s<{hh8jWPKs~l6}d>@xtx2&kDtY2$9nxL zv@F;0=!4H@L|yP2S}ZYqpXH_6F*_#tWbByuKGY-6o&pzq94WS+^Zx}ox>zUpeDiJO zSzUBYf0xiVEl&0h>YmF=ucPuNHuf1%V1fVmsCO@vSW}K2k()#Pl{(JVS(cQxvHKFM zC~<jTgje=>o!ISH#n=IANB7r$E&S`c_j2Y-E|7HJ_S@Y*cuU|5RrxtN@w@-$!aQ)! z@8B2Km?Qq%i+2xeX8xdtWF;l%i!GR3#d1Dhhx{wt$0qFhwJPqjcG11EZ%+Sy9(6S} zsY1ewEFU*Ds6t?Q(LL&0>?yB)1xE*0iw%0&?e|pADMd5#=W*YzpU>);EXS-)=%M)M z8&<G}PwV8_Kh8wwaL)E{`h^9=c)IHYlPvMUSyRn=&cIxg%%%SI`*mBo7q+B;J^T5q z+8?L!VFkVww)-9yX4{aY*8eKT>{F`-w=GmXXHr(`k43*eW+Ypl`W+4E=iQszlIF*C z%Df~O3b>l<p2v@*J>O(!<q-EG1C;F_^S-fVj1KWH)+TqNvdcL*sdn_~=$^I_L3awL z=P9PW|5f=%y_8SNCjZ>IPW!t_$C7`=lubK9e!iE2U;C|fy!|>a;i30}!i9nc{VVlq z*WWu{O$z79U)S>}^~gLDoBVraVgb+h5p5#6y8Zn(<lCc|^8B_>Oi;VPVwSQQzv4=z z#OVh;gK{khsL9GirTw{XT~p{u_}#QoFVntcOUnyfh<M^xM@hB)jCYF)icVs;!u=vk z<v5?z;OmvBxa@NtsR6@sUhpdE+?Eg@7h#LByv$iQ*vE5oLfqF@&SiQ0iZ(WN`!wq9 z)Xbx~{zk+Fd0Q)sf2rl7>;C$c`8nsqVwJ;os_OS{-)u<<=1u|M0`K`g5y8m~Vk@MT zkZ<~T&DGHBRMwL(kCWVT94XQw=zetb7Y%+p+`<a2D0JDsj=6l+vcHqRS4(K))vnlt zqNO}M{|);5CAx;lkz+xSU*Ho<O6K#}B?;5CNUsCI$pJN#r~j^g|3aCevkO0@&+mJ^ zHD_6J_bB!}kB?inV^D0lUul0I=_~T=EV?*XLEF&peSSVk_i*nLcqXuuH`7liCdaPH zs$nhQe=lIMb%3MS?{Z0-y}uN=o~K~4@9UypH?p|=`64&wGMlcYRE;|PGcCEJSLH&b z3+{C96>t9fBRWCt<g+*^EyqLi>df!)_maK%0gpO<F}}g3Ls|W!;xZoPxEV1aFebYD z%eTLBd*m%zs%TOFVp@;5c~K4jre#0R@vGpwytgR!4}FhLyd_J4^@1LHzvjD=D<tO6 zT&J}08s#H-USiwQUjJ%qw*<W|T*!Ox_pQ&O{)GorDDkbJo7?8BqcPY2-i;}v{RnJV zaC9zzXPv0zpQF-WSjz|2^Y3lFVn3doGqtQeUHRws+p~p7Y4$Vm%dhslMBYDzcghDp z#J!x779J8DxiMs!9Gp2auGhZ>3FTPRTzSIt`L)j8@u$wegzOh?Mg42|wX<At3{2ad zR^PeWywjtq&u{Aky<q(B*k#t5`O1b4&;I%D@Ruk0gnVuhApzako{Uj(vtoi%pPOIi zmP4MnN2NCTHzskuw#1{McPo$6(q6~ij6)gYoxe;iJtUvG=JU>|n6}B$-fhF%1oul( z-d6tcQJ!7kUPJ?b&TFOm#ny`t%#3y)8~ifYH|z4$fVeS9SG1DuiJocho#a7|L78Q; z^6Kj>U)<VzMaY94A+bZ#zxx)<_bK2;!sNHBqxPGgg}*EK$7czzo8<ZLNnC&10k8hK zn*~)d9ZlO2*Dz_HR>^&|Z&R=R(r-umtkv0L_)(>kM+L75%4o-df3xhuKPuk_pZb4m zyvrNs@O)NiUcO20BecJXhhtmE|FG}$Ny@z~AeKE&_KEGE{7c*EvE65{M{}0Pc0S{3 zriBkMHSkXM*d-rG{}Ef7>gN0uT1+1OBlMG=Rxz+y;o^C=SgT|Yj_VuqI(aXf6ficV zjL%DTd}5Q>59#OFThF=PVb%y<*ETOR)}AeV%%{EnGlf#^#I9-N?#QJD{!Ux}DKqLA zD-xbv$mv@}J02hNZ&p$PZJ1B)kPCr>+0UdV|H>s#XG47c`hRsV&fjEEMs?d(`Kh&r zXJLz3zmye{Fp-zfaX9Z-kB8A8KE8@A?^Pz^b$CtpU71~D7RFA_C?j9YF)vq;*ERc~ zxDGLuvu>K*{jd7=GVix_Or4hzt3_HvtR<{-M7laCvsv0_^Rd98xzF?L?{&X?%E*&z zf02p7p;S5fW^|Y2+z!QkYR>jKYM67UANsdAVU=C=Y!O(_ryu*0@;rHvEkQc&vD)pR zd8QU@dy}-r-rx6Jh|_;d@}Ez)qL#=_!&eoOea<<K$MuQnmpYwW{E~7W^jWFhO?Vvp zA<d#p_8a22!CX6gS#sr!R(d(>1h@5;T=dKSJ~Maf07VMuo~x5QJ4*SoAbE-3gF-Dr zaw|R3cKo}Quq>;NH3gM@4r`b6KXD0(4ITA7Pv@BH8^?yH?M$AU-BUj1In<-S`KNPM z)}G{{_6OdBf@Az1rG5Td?sr|DGo*i5e&4FPJ)v^!vgH1HZ{MAPW4xQ|<&!evKc~g9 z+P+i#$9b%F)=KG^cF(!PYV*A55h2~ReM_&A`d2v^uq{ZJ_x;=Zvs?=I=#=+ouAA2Q zY_Is*@y#+;m_2gL_KPwN&p4VmBzd6S-|Fw%$)}UDJ)=SL*v#duqG!5il%<ZI$G$Rc zvg3_Mi@=$_KeC_y`TK8%_9;iZ+!=nOC6A1i@e7lVYsI~81z5Zz_3kOn6Q5_?WMjRy z`_^|OZBJTqnxcNNbn$xTxrFz%y~@gAyJODl+1xu!x|-T3aed}6b80|vz)m;WQ7P$9 z(h5gwYinPBuaV@F)giTcW^V0+Im`3DyDvMPm5@Hv(OZu8c;LQE4pMj7_h%i}db!>8 zf93tk(J9V1?yg$b?^SRW|MJqq^d||$QbW0~SKl0`+;gdoQ_dwPW$%<vdj<pDeVi3D z2WB<Y_gZWorL1fCJI9vn<Mx-PKVHrJDoF!V`ot-jkKDEg9Sihw>*jPzEtK-pzQ}6w zZ{<^gMP!UgiOAl<`g?ZpZed-nP0U~!ubrPwk3ABs9Y}K4u&=fip<8ZNp9r^JS!r<- zlM+OO9E)=H@D39z(kCac%*-#vdI_JEW}9t$%9QjAT0^&y-X%RkC^&mfdRF#4%IjXw zGq-7)e%Pkit~+}v`#t-4ouKw<1CplLa=EqjxB8Yct#!Oed!Nc3`OSxXe7wTM&x{qR zjclQEq{lbU^5>^{nvB>e@|HNzd<YkJu#DYM*9XB-&f&dbf7-bUsU2mAZ*n^(^Zr zJYKQ}_D|_Cna6pob%$4|B|_bw@gyTgjaNpyHMS0BZ=B7ut@dxci#dl|H6>Y>9EI&y z)w^t`b%Fa=`GW01s%PeY+UViq)6T8EsG0pXeW1<E&byEG_$V*4m&rVxU6}G)!`)Y! z@99PC1G8JJedO|P@2%C?P*t^UaXuHSQqZlaMTns6Ug>ph%cOLVbDnd|W%PSlg|jL; zFG-!O)htWN$B~-7z~M$=rlOWmB?lkrcwmpvdnu8Yi>CG>Maytb)BDmQ>3})Jbb|aH z%d-C2Pq6cDs{40SsNOgGb@pxbxzx}y-Smg@sp+;-&M5v^sc7CNRng-dzUmcmRcT}% zC!gj&wb9yI-ba$;NK-{QM3ixojjO%n5cl71+oUCGefwtTTfSRbq10FEu&vr;XGQG^ zwU&jnn5?`kFUMO@A1PekDTRvhTAa3A+>(yVZInDx4pB)h@7SkRkkTxYr4+NP#~uCD zwqh(BA-9x9i>g{bwXeR17D!=IjIilN^r?EP2$60{E!i~wQXi<-5UDIq%C96zMMPok zqVt&kg4I>t%9Cgr<i4->6J=>FTgD1gw(g-7)>Fh!_C$I@x|qeg@?*l6iprBDpjZ%J zC)^~vbX(fQ=JDftb^WK9C7n{j6oob7IrTdH4NaH2OA4EepRD=?&grOhS$ae{#5*1; zRx&^70^3NJ#Y!=bo-&KvTG`Cr@n`yQzK^9!M`g2Ig*^~y{E)aumDyn`KryaUSl<h8 zGJ1I26FWpYHD^=UPZ21d@%>^wO{V+g!-7}}yCmGiU>?WYuxvI)s>M=8xacQ7h+Lwy z$RQ?(hhl{IAvTM;!W}>D5{1Y(cXc_lvL7Oyy9=wa6GzMytLPuAEIkt~^%dH9F_LAl zG2|^`c?BM=_v44fb4n1hD9AhTA3RvR7F(!4`HHc8ptwqVnL}*idH4dJ%>!vY+bF$e zf#SWc>yN}08qXSI{l9rA|0~{5PnMIsgd~=WcH)oNPo-E_R-P(Bg7#!(oONXLg*T7W zn~Q<$o8%>>vMN+V95bFqkhVy9Br{FmbtzCvmy*~n3Kc8FSJ45wXwI53iCzn*m_{Ag zB^pc@MOP6@jOlDH`%OXgSZp*pq_B9ZN8#)?<z(Ziy_hW4i;DD_YB5e#D4x&bLgc3z zw2j(Bqvxon$l#qRj`mYu@mq8vKgtkKg|XYPB`p?5#7Vlq%1I4ayzu1#(9RU%ti9wR zA7Xi^EKk*QiI=pI9c7WM3{@0mcs}7zC+QG%5i9sk-cwAZLM)E%LVvCKa&em4uv2ti zeBo#LOwpXouCAO_Xr-9Md-Az_p;$>{NT(}whZ<1_F`bX+2e?@@r8#ti{Ar80E(+5L zdPr;Of$$S!MWXnEYbDw$riq3W#E!5)wnqHX<MoF^Wj|#u)nnDfDQ*$7sS<Qhh{i&P z>6E|}sS;~1x^iD$NepF8<f?LCc7R9e*ZEn>E&XK;*mB_WzPK;0lSc1o7tqz86jqo0 z5j{m45oPqopkEl(lXb%U?jo8$<T*qHePY|BwXA~BwI$jbJ&PZrL(E^w$4-h%Sa)4f znWDs6F&eMku#6YGC*J7Sv`Ts%v5cv#51T8V=?C-zyc;yTlHH`4B7v6{@uDvIP*YJ~ z<fPK9nDmY9rCYp_K1P4XuK+QHrIPHcc+N|4P4CG6@QFf*H1QAEQp9d<*Q@cPyptF% z-Wexsx_Zg{6c0pyQ4gN`TC}7Kw1l=&KOkumt;UMK(g^tKd3aY9YD)9zyZ8dXGxqgN zry8_c428Gu5dYCxD$459Qc+Cw6+|0>td*qUy1ldp_FY3IXt1aw8VKWw|E{!?hSO}^ zZ*)oRCIUor%>7QB6t#qpm?BbynX>WzG5(qBT%u8Ar!9D=j3|!Jp3_BEn0<vLB!-D4 z@Tk?)in@xH@cs*8Ewv}7V8GyfURb09T>~*rAaBU~33u8-<H3HFg_E}y3&D;JsR*4A zV?>1b2mAl#Y5W{#7&8}rqTleY<)R_)p)b@Y^H^c@HM$Ng^oQ>ELI?G+vIf){9&(VT z!RLBVCCU=}V4-hf47DaV8YY^G`Qo1Fg^`9*KH4W#uu373EY<*{Nt8gr^cS8v8T{0b z0$49r5Hqx-w?KLxS_lqn10VQJWf%d4Ca|OvSoupTWl<-3<my>q^jqwYJDQ7*VwH%* z>NCZ2(M9wUTf_ufPV*>?dO?mgq95-3gKI~LC?14+9by2rfK7jaLGp>}K!QW`fRBDL z?gYCo2QwQ_eDo7{c>*6No{36W!&+GA3NHm6g~DUA#ctR%K#Yes6#;TW!5<EOAL9pz z7*3)j#?Hiu&&51ZP*ilC1z&-TPF^p?9TDK#G4nx;1m_rgUd}_>dO%w=n7pUREy{~Y zz(qBhNS<^X)|FwmG(HGp&cUZ+ftP!bI1_W<6Ai^>d<D{CVDAc5gSH+5`OTrH0<LHE zoni#W`Q+LKagLS(dn52N_P$gHzKp#gX+ZpM*FG~(SZgWp*$~lSE#@7Ie-C0Ew_x`) z*Ru(qL>Scumipjd9lmj1+!d<0A@X1ZZ&-CP{G*Gj8*dHqi;n?&)T3_1MIVs`?VRED zA#*3#swm_#IxZO9EFZz6jSd;}X&|KfBVLIs!a`{n?=tLB84<6B7=rK0i)CUQWGsS+ zwnms>`RigKrNYY=Qvg_^K6J5B<OAjwP(`{f-n#m8w7{Ai;N%1JAB9s}5}2(vbP!E- z7-NlTDCE2Vxg6p+eEtd*gYADnCZk*3K&nF>fzZbE89w|S@qWID6XP*MC><1`K(()^ zDb9&E$SCT9TV;BOm|^r@9SNL71Kmci!?9rMLeNMky$0W<!FN(|)pzJ@J|!WxCAs<o zpAwaXMU)deMNQfT`MLp-wS^HmuLxuR?O@C|2iOV2Ec;wt1~*^^Mw5W~9AdG!4c|=? z5*X{Eh=n&^bM3O(iuhTL@?!i9;8e!SOHgIkvz-^=z23meY^<n1SjJA5fI_3I`)#1< z7-TiE70|1hz6s+baz@58j2U7Quylla(l&8GOoeY$qzOPwV^U$y6p<ymV}0l7Cm82C zu3AJ>T|53(QxkY#Fd6%x2jMECBWNLb(Jk12Gro-HFrSM>;;`rr{VfLHRRFK;10Uw6 zUR094V6IuPO9XhQF0BWi`rvBg?D|dc@m9F639S1D99k8AWt?=-3Gvc+jz0^Q?JtaO z-HG76PE-yndM5^oQ;^@-FFQnh6s2M3c61u!jf4gELE|Ct%F6Jji^xEXF66}!7t&!F z<5~A&;KIJ}{`P_+uSzBX&zpeR(;>}Q%rO?4%%*%SmQt|p-c*=g!E?&cBbv<Su$D|_ zi>NG}!E8Y^6Zye@_J{3eDt*9DEol&~q6k)v4QGehe6W26VnZ*WelAJKdq$DbBRK-t zJdahs6h=?M8hB5pf^-NgNd>wm0zZps9lY!v*@%!wt^s5JhV>r7fBk^13qavt3L)d% z?*`CBj0nf7hS7WYQYT~x{djGDm4D!UMG^4X9sZMh!a5^h_gaYbcH|@;ViZ_$7oCQk z2SZP0+9;X`vpC0V0I`X5n0;XTSPPmbPV?7%J`n8d>I1(BR-X%w^MnOvgKyK}q5Z-3 zqacmy>RPi_90H$g5JvCREWC1nXEwXe2hMVJYCDe=4gr3v!804Vx*a#cN^9ZY!gLF4 z@RKZT9sFz+aN|zNqBe9Lj|lh?etHdzAk!kzS%io`d@DS#4Pw^=@TsxWrxkp8rK_Xr zf56cpc)}SlX&z)(6X9>3!e6Y0h9kfrCvlz8C%qTEuqBu%)a9q=5YgH|3kx9o6=8Je z*&~)BirjN`W*!QR9EE4JMiv_kO-&HSex`=x0K(!h?g8W_y%8<eh|?JNFE_fZ{oo7W z^HE^EMeycx{4MyV6Hr?Z<5tBhH&)dKcJB`kXaLW84aNzF{qMn&yMc;a$e7%qgJ)oA zcliD&WFV2?l`YW31I&93{9){WFm|gPfGx_<W<=j6h_GwGrujuOPvlh)*IJ_9a2KEX zO8$oL;_o0^PDH4S&}NJ{4o)m0lDHrES%IgYadoa*3>-HAhyQ|q8qd9Tgd8ov`33R+ z0r3|S<wR^#z$u@_3o#v9nuI8J2x!OwB;H4?xr29qV(r1WuP%6qp>E27wIoBU7BY6W z2EY?qW1fo0pR0+j{5!HsPv~VKc=0PZ`8fEm2{bdp)#uXK&6^0OG2(PKFM>?)F>>_~ zF#9xQTz;Y`c&8og+Ez3}WEmrjow<*J2IDk|9j@-FZe*NwU_ANmf!w1P5VjNXq_684 z&}U$sx1uOw@&nj$8+2LN)sHA0>-a8gh{rV$w~D&@9sYzQ7R20zxc@)IyyA$)CNSI& z#M(!Q!q<d{c)~yN6poBoTooqd%O!yKOw94l6>a8-9<cdqNMlqh2cfr{xbq)moQz6l zE;Qx~Tzy7{-T<?P(O2;Vy7PjER3f8eZ+=9Zo`^2fa8Gwcp|P&MBgSbj{;pF80&rzc z;QpnnH_~e`;&4$wcmrcbN1f|nF5_AIvA}%^y!)FM0P+dr)};#2%^#Q6jzijFz*`4I zoTu=QNNBeiFmuYahiD}j`#pa81l=A-_8KQ-SGU$buC6!UVBfy*jaSg#R$$CH;h_ld z+!l4v66A8v5vNZgV`vIKxkXM2WMAkB;!GFBt?^h*0OC<=utQhZNg6f4<P8xw1UT$E z)>D=?fwex;EZ0>P@d^big;5S<d4++=&(P)tX!W40JM&gp^9gKd)Slmk@uY7K`UD#! zppL1GOm!i!Fb+(ZhWa*;`GLpF11AZ<_YArWK8hhD+cbJ-`+^1X;~s*=tI`HoY8*5c z<mz8L16AA>x(4?0M=o5S4FLDILH7HA)&nEkP?;=)q?Hk|^H6;XboIE^MFZHapR2E^ z@x1Z^x(!76Fb(|v82mrc)tk-O?Vm(Zv<ERR1|Con5wHp>6yx+11>Be$tM-D8M!LFf zhCxCfmrlkZW=sQPJx4v0j+$pA^cjKgt3c-!Fm_#Bu^Ksq(TlJi8^-Rj5r|rOn9;3m zD6C-gO*MLVRtHZvMa($>+Zg*{lZm4~Z_5TT6O-6`GS1^^>FW4f3Q@!ZSjmZKRs<3m zQdGrPQHq0CodxRZ0==tn{TNgP&0Sq2ec_b}s2U<LPZQUE=E=}OYs_EF)nz_~yjdBh zqn7B6_j>|8_pyd8K)^9%#MAMAGe}n&_ZvOGd%Dgd7>SzhB<@H-j`$q*J%spv42&Aa zQs@otXb&c>k2!|JhJ#=mV|UB{?=f^D+wFj>H(-vbkTE|#Lv09;90grefCVBk!ysfr zMmMiLuAQrUV86HY0~Sklb<Z6HMpy^E-+|->nVB`lteJEba&O06-+(7OxwB7@svB0G z8#-tOlvl@EYXJ?F!A{0mFuCEyMZs=Xu!b*uSs<e+067M@I*?9Bb$Sl@$P;9Ft7r<e z_zhPjiW$b)Nv<<9CgLj}{LPzcA_GZtWi~1B%}Iz*%@H3jA-WkIu+m|b<M8*+i07@r zn!CXd4YA55z|;-!(sX3H6Tk+m@UPJ$aX0+wG#LLqc<coD=K%8LQ;4`D5Y0~EH42Pk z5jGwO#@Q;2U5rK#tTl*vgIxOzj=K6^d1Lex#OV2A9T-uA+?Aj^V<$sX*FJ-EjBRvg ztc`bm;fkY(1pOdiU+~m+tke_!WAqP8hs}b)<RQ?d!Hcc&U3nm@6|B@B6<G;aN4PFP z?^@ub6R>Z^dmcdNAKd)|I#8&TD~Fhb_d1cWBfl*)XLJ?32@My)cqzg-17R#sF#wfv zEzDK}`ab5`JMvys#augR1v0<M_`DVPr!4St0sejuV{UQnENzK9JY0KOjD6St0im@p zYf;EK8*`Q>qsQ4XaMNjwcpF*Obm-|Mc+~?jrHV@j0a)!<Fm^n&o(MjD2L5^pD{Mr* zW$Y7t0NrNcXMzueLTW!?C<)oX0GC|GX)4C4E@$DREx``)uJa>Oku`UO9l{{l9cc0| zFk*A<#*F~FOS-&&7_yNH$UKdH<8KhdszZOJfQz??tlxp31HjG>R}U(qF8Bud6hs{# zcy=W0(HYj{$l!0l%JGN~WiekF*rg|!ZY=VfRdg8MxehG51OBlNIPMJew}EwYyE-F} z!Kb^x&_+D04mk=Twq?UJ%&yL`H&J^uN1Y*yFi{0HdI4lO!Qvl}LvEXZ4B;P-;n7^< zWke}NuXZ8=d9RJX#QT4F7QPz;FZhC0xIt4%;L;>yV#Q(UGC)attg{lbg3GYQCB#9a zznTeiry>IV0HWW+K5twdoX0`46J7j%9F`pnetM2NJr3G7_9Jd{^|e&M=nmHzVawtD z#A>>B{CveHSD}T|^o2rMe%6Quuma4R6~TAo*=W|CbwO3JfNjA4{_G|q<`Qtq5$LWD z_?01(`UCllSlkbuR2wVIgB4!k3y`m$<wX(OgOFvkM>e|`8P#T3>=|%2Q&fbO(s?q^ zfsE-ZuZoyn3|`e0xEq2`XCmJ_g{u$1qsxer&|DL&^%CB@1*>O@0<g(!+6Qcp1iGxW z7y0uK=-dvC_k@ohgkRl5uC^77(p4Dytt(*sI;aYlf?XE4y2?%yMt80Az>TpN@c?qy z(Wnh~B2#+o>bJECRoq%2DnGn&Dv<OHR+xmljO^(X>~BMs><^zXx~Fvm-*(1z<$(M+ zjJU_uIWH43JCIHN6Lr83dGR86PzJo`BR<(Ej4J;OvP@5)s*wxlMn}#(;Nu(k`s1o; z1|c@iLo8f^|34xMf5y7|BXiJ^JEfs&&gZI6qae{4tgSyJY=J7IH&(bGwS;lP(MII0 zNyyJugQveD21g-YTn2adfkY}~%oOD?Mj>Pt#)uz<Dk5FI&EKI;`2@y&fNE(9cytOf zm<5>iFS75xK-5FTl4)3T5i(AI@B@=n1ZI1JeI`RE+we6FxEh3abogf<Sau9>V(g_i z_NG+A=kXZfEttm)?4K3Y!9tzDGRCPZ-@*R(DGMmAj2N}t)yuUu^>>~7m5niCfc{GG zh1!_E1u)(ltlboAD1zu@fxa`q&c?Y+EAX`sR%weETFLc_1BQkGkBxxWX<&rDh&W>q zRfZrsbb$SP!Sbtsv^U_Ut@yk(^qE(bb=69Xz#mIt6%+i>169dl;HCp4Ukv1qKtxF3 zK2(91lUj){n$DK-(^79;5oRryxBwr!%T7a+cl8Wjlvkr@UW46nov_wbbVEMy0#$Z< z@Xi)d4wxwi8<c>J3&4sNXswy+%!sm(Z3Uv%b5saiEJgNh?7Dg`2Ez+=NIMCZ55c`l zQ0W~6o8E$Km!a#TK;=g8ULI)Tjrc={#UmOiI@4s#o`i~UF?A5b2sI*V*j})g6KFBc zGqoaXYy`eYgKY)^k)xog6TsSD<gByBd7$Jiv|W&1AT~7t4^MZU)zceSd*TXzF#jOe zZ>5()ik;xUYw)06@XLaT?mox>?u$ge2Q^a})QDfff_bnG8Gd$JyrfIw8MPHJsIl=o zb+HH$&6gtCad8H9YJS#JRAPU{U)m+Sz;=B_7$Y#!HpH;nh}6d+Ykf$R4t!5X1~&^x z-w)O<37<`eZ`Px!Snn^RhKIl12Ac}hO1>DmJ-mG#^tGEzA{R4G_S?$b!HgYQib!G+ z@Wc)5BLBfMaou5HX$Layp~8zz2P-6#MNDMjbWt>7iqL2cYCH!<SSmUpw$&C{>=K_X zoe|wwBOtmw^gAB5d;u+7rkDH}GQ8E)gY~2KtOJnSn%xkik%bo!{a9IKU6E2UpC?_R z?lc+fEK>_<J3q+wQcqD|S|tjzN6086SSMD69x!)dr)%(%AQsPK@Lh571kvm!pCZ}x zO6)a|eG|1{GCXIv=+9cvOtFEj<;_?rtmHPTwS6R50w2r%qJr+r@{1kPdA<;gTa#jV z28E)E+C<%Wd#Nd3A__4-F_u@Ps@yo+$;wwsE%{#EP2NtO#SgXy>r;X9IZ{_KhIUA^ zk(Enq5%_F|0CTVl+C6@qAJuQ^A9)b%6f5{R){E+hW9%Z+VC5tpFHaLu`e?R_U(zdz zD_j-D`33#F^i8+%uhLT*C+f1MY#s&agGEk}U%RU<=6QK@eVu3zDTfI!`6ca>U$Y^i z7b4y|rox98>Wg_(Es;;*=lLL-CkzJbA@!#U(n$85x{3gPT`Qv}Yt@`wd%@p}Tig#= zUn~14qontyc<B)DA;rmCz%ZO&)UWD?)NZ_#_|BKH=~6Q`S>jSfdAQt&eV~1UYhAT} zYDcw?dRg1Sr|}P>t<**OBJY(w<tFA^V!XDGPBU+DKo8YkIuo5O9jy>K_R|#Uu$)(( zEcKPYFgN)GZz?wE-5d=Z)tz?x1m||$gD+$@DN!zG{%D#YPnJKK28jGllm3_4_*8Yd z+THoj*-C9EE=ZCRCfzbUQVL0%q$uQ{WrVM;s9v_QwswvZj#RZRzecy%R^_LX$6QD1 zDgB^T>@7c@byf{g7E-ugN7L*tv|(Vv21+|+nAF)+Ou5A7V0Af=uN2b`IO^GD$5r(` zY*<;^A^%|;m4!->JWAfq&T)V4u9au+)!o^{<<sVB!0J)w0sB4?PCA{GyR+I#Cv&>I zUP@QCz>dwu1Lp|mb7y?^0reAq%S+2{@<v&hBuhnUiPVx}`9%@L&uS%17x+;7NcpYl zg5u5k*k5Ml7QSL5B1r`*V6N>}%CtrrA=zjqyQe?2FR{IIe6hcG>iiT<Q?8n;DT~c( zOoNyg<>dABV>}lS)le=kA5lM2hAG<mPI=&rO7CpH&xfE&a--^|v2MfNx#=PN=@Bup z&?#j-P48nXuHI0Kvz>A^a|5>@rmoTs7O$u4%d{+KFD*`QMKjGe#7Awhw7|T=+LKmh zR!F&GdnFQ04WzD;#dO8JspnEt4e?2vuLbEx?XA=2rB}7D<sIZF<}s$r7OOSVoW`>C z8;-e-s_H>?n(ie=OCj#Xl({@7y_NS`#!06$`z1>0rTAj&T<a{;A!V~Q!^3U~7G-R8 zvqm`_&I-0JnTxYy^^=yW-do(ancv9cr9G^lb}s8`#zETwy{x=mek;XW#+Zh)w^C2p zspMf%*^x=hQrkH<nbSO4xc4xhG|#hsGWV8#+jnK0$<%C*ox$o!XLrt(RbHXqYu&a< z8#Pt^?M$(k%-)#&L+z|^w{h;B+*i2$q_5nQ@=FKUYiF~R;fV>EnRMOjy06VMr?skC zQ~pzS@ugX{(|Tv@vTf4KA)ituvhMTR=+(*cUB71Aoi!`_slAialZVR}tOGp%dS-d7 zFomd-9hcS9$R~c<)T9f^YwS^$?g8Bb26%l}A}EUIr>+{$+?qBhJ<ZNoE@iyZO<u25 zbsOcjP3f=w$UL0>IBSoyxo9X~H+i|0@_6FrVPWzv$E7Tj{j|D?Msn}$5*cr8_mwaH z=Ys-$@5@u1wd||4?Yy8mJv(1UnQT=*V|r{IY^fvHlcN+xekHt|uQT6e7Ihrs2bCzx zCrdkP1&gXA$xlT_cDoG!th$;-DJ(x!pJyf7EV9*aOyB_T4|FK&QD!l%nAAYx+R^M$ zw&nbid6CB*>os;-57({KO3D&>)im1($0(s%+&r6lp0FI0`cg7`E8-l3vs-1q*B6*B znHd$e56cb`nn#%bE$=6CL%Yaq=6pm&6jWZ01=&vfYI0h3xb0B}^XAS1T0b^h&c#lu z7wzNJcq!ZcxK~;CI<l(Q)erDjYKmixbE-a8dM4izIh<APTeKdQv%WL^3ws`?aQgw< zeKm`gOO<$Y`}eF%j=L<wvflDWzNQaSckwzbLK@4zIeyp&=@*sv9>YENS=x}@x!(Do zW2PfP{irWyTUj{Y=qTk_rZ2YK_L=B+&U3c3%W*Y(qdkxQP^{L=I(OLTIUb4crdQUn z)_ckx(U?!ym*}bb7A-`3rB{>AS|UAmyUj9n5^c3@jv(7pM{!-SZl+n%TWzT0xbvRu z;qCBW;p=bi>Kv1qKWm4xJL<Y|dP~P1+h_HGyu_`g$485ec52_9$*Qh@*Pm#^^#=67 z)Z2Ze#{<hSc3O3JUe3<6ZBoyPqKYQlxW)P0K0@zjz3h|acg%ex-;z}{qoi#$zs`JV zw_3nf)80x{H!pS{;g(-+pyhV#v3J-0@E}C2lYBc1G1qWE35iehh0Z%!EOU^(pI%lu zX<ouSoVBvazDpKfQU0ZUwn#s+i>5tFcRH&{mF0&b%yBepxWk>jv9|H7ZQU)NJ7(K{ zIGc(^Yz8uo?lf1PZAo$SvYuhpw2Rr@(`#hEg++f`Y)X4Q&GtKc5AWb!$Zx9uVz=Dd z!}La}8?(xZ4A~}G^!(XBv!-gbOx(lUGry^%Uc{zlPX+(okjuyikpJ9~o|%WZ%{T9& z3hKd(l=S~>d-!3?YPT)&TJ>z!WZNJ4r?*ee!u}a@Tvn5mhpENYbor3^hg8`)H1k0A z82-_E-K(s}P*&2uJmYira=o^kAipOs{+WN2>sdEhcgW+kBiRd6H)MQtOpqSAEwz52 z3HG%a-5tA3mwcY&_|J1ax2JVZicibdvXw*T7gW*qB7H=5FdcSp?ETBFv6z!RAVad} z5yO?y%4rsYtn-i(VEt#wDOpuh*4NaInTMUb<!<gyYaLeH@gk$VW3O_=r$9gjFO|2* zc%6JB<2^rMZfiMDQQ7q}8rVj%WcPVKH{B+P=&ZQ(R9joRY~E?vESD6y`DOa2>^F0H zj+kiMnC6zr9nq!$FU`F!+m&58ZJ6VWX`6qEoIN~OXy(*8iKeXgl-I48+X*V2{Vpvg z`<-O=p6XxSW4-v85tnMVm0?e;{oO~K&Ixz@0UscHo9CF;upExy%v@O~)K`|A-pAeV z(DJN=wCzrR%ibJ40{*!@b2dtuk|b<<<(r<Z+{@DJthH$qZ4H%%K6U-axmV!VGH#^> z+owobZqqz^m`hL_{R(e}h&xN!M4N4=(`RRS>WbS6?>_DmNMub(o9e7)9^t<?V1)ZF zwQTC%q-ojpq$%zr-2x~edwg1<>?n5G^Ss{<kGeE4t8IEe`vPXSrnu!dW%F$Hjeei4 zR7Ofu#1Gq$jEt;NS|f|>_0O#nZOUqsy2M^bN%!3qFx#UhzmV26xqa4mD(jZvc9~dq z&s3gqRn+(F?*G_lnf%$Fo|Y@C0e@^>=l;>Mi~4G9w2$JmvdEOc{^?b+*Jb5*)?qn3 znt0kx`?R|mKA9_diq$j6G~WR8SVw$npR}*eu5wPdo~DZ0&dkvnzRv#U%idG`w!1gy z3$pg5f3&@$`Q|*9o6-?&yqcsJm&;i~&5!A`mMi;q_6#+OJ#cH_eoRhMzhs7G$A~x9 zo4(C_Mw#ZRu^BTnkE&y&yq08nq}IXqI(w=<(30Ub)4QXkfj%K?KxP-mO19HH*Sw1L z()y~o#RO9`w|$lhtg|!7b}*}g>dPLRWw+y|X?%sfa&}R*vz*U;yO+1ye%k2Ro7Ksl zhmVlX$mOYpI>6CJ?Z=`l?c6U}JeZ$zb9Q_Cdo7FAlkc+=e38Cf9F%)na#@!vUwLmw zu>FH=zq&wlkQbS*D%0qyHqLR!*<B1)BCMM%Go%K3rhSfmlsboxVL_-va_S|u&-znZ zCvQ|XN;`NVwYFojv${T7TxUrvK$7Hs%5YOVC5m2XAMA?bg5!W{bjuwtkC1DyihQs7 z+S!8#NS@|m7Fn4hUO3;{EoxmJCI!mvXs?#&nC;xaA4=a%i%fgj3~jRGk^POjLtK=i zWe>T#6vHk^_oOw<D!!>RohzJuoPG4U;y>x0+#Hc&fcnSoR4bBGDQ%56XG^bmOZ9@f zOW!U&PzLX$?Q;gGm3f%#Vg6@MmFMz<PR+i<Ih+TxZpaKzN~NS=DS^e%ZvIaD=<Keh zXkWBceHU*|t>w@1D5;5f?9Abur;TPSElb=6SbnqC>Lc4aduxr@52+9v#bcaf)dapu z-ft;n@s^wEv+Tv}3)P9VS6OP>BR64lMG3mZa!N;8PC=UPZ0;PbJrN=D6H}U!O&RKC z`v6A*zpX5F3wNum%+nXyFWY9T0d!2xmhSMe&aL)0&I7d1G|BqFT#%JkN7<PpR&Ohf zRKCekR83qGUeadet5Q;0#~V2-IftoN^xM>1Dk^W2ZVO4zqn>eg<PX?L(;agS<taVY zQk+FJKR%4U(Jo$EtD?5i>XAt~Z0=+}F1_Z*o#ec#t`tHltIUv7SqNLpWVx)IU+O9L zYS~U7wTk|o7oz|+8Z}mD)=kvZ_oz?R-+aC_)0AN9Dc=|0w4G`Z{VnfF&B?^)X}4ez zi9MFfnNYRR7cI)^P^a+jtgQS_y2F0ZV%p4lNqwZB$em=(=@ja8{W8BwyV*mjpj?M} ziCS7awY5HuqUB)oL#2-t&%0`awEj9X&Jg8ow7hB=t+}`&-!%o8r^-LXNWHmsT(2dz z&@Vbq$LS_pETzlc<x6ahSfrQJBJ_)Tl5Q6->6*Mn86{sM5B-aCzt*3!mA=*%mdeT_ zp5ff?%vLX;ZeP##i)5{xHecUHW0f5yU(-OAQ*Y>e>?o`aqe5~4lP7AVGIUGCie)sG z^3hQJyLuZLcP*Av4v_=twYEi#<n^U)mMYd=rZCFo{B8?#)X~4Oxw0aq@~`R_?Y&qp z-!<n!9Z*}p;^^gAi|VVd9B#^CnkP492~>b?(S5okVtFk-O?#^E<rSD&*)0EHkv!I^ zJKcFZ$zd*PiB(Ea6ZMy)gxZPMkS<CY^jM#%p4D=R$8rwyb5lF1x4zjC>F`$Dit@6z z=@hW@MO@&o`A8bZvgok*qnA<3sS~x~V2%+=K`DqYbhLL|*IG+amW^)Lz<?{Azig`A zT@RG9<rh+<xTn_92J+VO3UgocO?fkK>TK@#jvTqCT+}qg^gt>|M|eH{U96*28ZJih z=~_+AgV(3~@(|^m)Jmx8cc+!>?4sGrI@<J=&Z`R?iaLXLL>0S-wdBdpld3yEBr%L1 zBbO7c)pW-!wX+x|?=(f5&dEo}Q@rO*DYuj;4Q4Iqt6p5o)a!`iauZXaQi&DQPde{u zDKyL6+-;Jjmo!n^X3yvBuCI~CDOP!u7@@9kj?^72+Pu_~tawmi)$9y`MNY_-OcRwe z(nxAY<JcUjj(mds5q2$F-Kq!iAXZKqD=W$xX(qkkdGu_4n~hbDo8y!~X&T~OkQS}K z7oS;fHd2hzziY|d$?}?dn|mk&*kJxtGwG{1(PUPd4Pc4%gc`6O>;Y>20=&5XO%2m` z@^$<oxzi06EOlYks0gp1RpfKTFNsXwm5y?AYN&74TIid_CT5ldo#Y$z0z3zOm4+yb zm7`K;kyp>771Mi*HLSHfPF^SNW>;wr4FHPbx$!)E6Rp2y;XTB4X_34c_3?hKuG&L4 z(_baoeAzTY+M|zjUUt6G+S3gwOgblaYVFm%nkJ6P3r+Ks?`#O4q21K(@%!wNyi3_8 zPh@Rrp133IqLygG<50_{>eEC$v4PcKE2S24fK-Dn=yTPg`cj}h+nizEqIlCW)$aJ< zysjUmDJ)A=(p#t>)kFM;bkC%k*2^DxJGHs<uDV|IlRnGs<ZA4wh~`_xMcTr;qXzfm zrSuDWK|Y-}usrffxt<h4BlSw!F1-uwmUo!uC?8pCepy|mp4RU05mc5g^KM#8RbY<( z%uk+&IGMrkYd_U4`b4pi{gMVriF8K%=6`rEktN=WEu8Uw`Y$a9uP9ouFquo6SP>!X zJM}~2nY7q+!sH<*@_K5#!|6=cchd>hmE!bpt&A4P*E3J$wK893Yyj6$CG-+Q*jZ_f z<jEQdUEi&b<F&*;F<mU>{=BcgSWn{nXtWeAx0L>)|M*J8q7PI<-mhfHCs{i0rIpl@ z^l}s_HI&}cY~D$~r5B>pQhlYk5+SV?ZFwkPBigdsQadRJyDd`qAwEg`f<2mvvV4fX zNek2)^C+P(xDq|*1$ar}%dE1m(iyg^E)MBKbw9pKJftObUF_#x{0LtmI6Y%`SZijb z1)`zYCVG%Bej3DTv9%=82;nY{^0|B(AI|6VD83Twc_KQ9O?(aSB#J_xd*xG7ZQ8GI zRWlHs#!@QFVl^p(|I~u?YkV8UvJWf@<80>7xfi`;ZgMWU2iEsgOb}<qVZ@p_n9KNG zaba<gw-9?MpVU#_D36qOQ6^8+b8tW5Mr%nGEn&4W+*c%sFgBbWp?czyK1y%EzlyQU z!PY=t<J@x}>Pd&FH@z2kcn952*Y#P{SgvJSZW=1rrVjcSHA-`GiRmnk{_@FsFFjmj zvAuGna!Fc9pLiI5%sbN|wpyAmePEo1f$@8|o-p_#zKQ3eyC^8^yovB6GyB69NWa(> zNG|h*`enT@uOSwSk32<Rs=Gt`<Ec3_I)lx0bz5pg{aHgPjWuCSDNfX*pHvH)ISBo( z;HSkrR#;vozXhWw@Lzg@-a<4-L<pd%+@f#QPUzdjHZ~9$Q+evhYwL6LJi<mBB@cO_ zlnbm?M+^~l$;3QZ3DS9{zChRXNHLjO!Z+v93gIU>pCt;>A{t5IbY83x2Sga%qns>& zO(#EE>H2F_Z?aJVmY4l=J?HzD+*wIxVl(KXc+NNQnY@5lB8(m;fnqtY#=G*`{1i`w zC(Y+Icw>H$*B0x<2XS41v&0zzi_${q?~v;`fOBN0EDB_IsTQ3Tl~DWsfwqncRdgkp zzKPb*YHl%E921ox;a*WqoZ}f_f>62%seg;g;xHJ~L#)C(ooPJ<k%_XzREnV{tSh@s z2_h%roJq73*F+k|nI>w8CgOz{M9XOq<)KWhF9enTcOdRHq`88%4`f}SpF7ka)p8Sh zO4-zf6=w~Rwd|tD^p~o!s;mq<N`1&KK8k|0jmFSSN)`{reynjIO{Fx9cb`tuU5cg8 zsEoT(F-jDLsSYimc@#?iq(Q4W*<SXXZD7V<aa7o8D-C2**f1uLPqd)gn5h*j%8IZw ztZP2T3czP~*=)9(Rl)owX1rUM@{{qm@8dvN6LC=l(pTyLZ9tO0%^HIxA0h{;Po>C> zbYcAc>oa^*V3q=ulirE%qAcY6Ng0rI12v>xSjAqfFO-%Dvq*r=Rw9cvdW}pGD*p=) z_r`3ysS<f&rMa<+jWirHPZm!8l%GW=;Q_wcFET|-*QtD?DHkbN^Agwd*p)>QQ5NGo z;aB)Kcy3!D;vT-<yZ$oPiPq2!tiB>V^_`HZvg_3Rc)CO<XdJw(9ndnxbpqfD+Ct5s z!-AB9jPuWTin*c%;!Z<RAD+}z%tYMj4R0(#GpHV9y$LQEBi4!(c#Uyl?G5pV7c!oo zCzT?Y%q~L9##2o)Th4Z|0<0bNcI|M;OPpqdO^PA{-xpUzEed5%*<03$O{6_o(`PXj zeonZ4k+{j%^6KKY7){S<8pVqFqOSM}FEUQPv>E3<LN|e;Baqiql!RCB<*)ca@d$b2 zC|GAGm4H9=1Tz`^vwVQ~f8vMW(2LP2BsU^g2)z*}uqNZ#_u<e&9@-)XiR$3JA)*Ix z9VU|Cg+uuzUKm=vC{By*VzC%4`iMEg*mcrfR23QgE4<`2uPLSqCw%dXNES7bgGZ4c zJM4Ob!FW1Eh|b8~W#HqF2&UU2$knN2F6=WNSm_7!7KGNXV}^5B?<Q#0NAwrHT;CZd z0iVL_qS%5@pTn|oqA&R61K)=gZv`J5;2-#T{)6We?ZrmeK0z2yl~r+dm3bpBi>p}W zNs)@^>joP)rl#<LHm+xjjAyh4Ly`tyfF$ui{3iwjbus)j#=XYB^GN8Tjxe77-2(=j z3SYQ`k&c5!`eF5*MY!wS-IHRq$OBZ)hn2q37x?H8dQB2LPj_7BS2n;rxq!AtRMXXg zrUL#w1^;kIuEy90*s~W9?MB8K`N!}z3~N6K?l+!ujfVG~z})WzBPaBxiBGWbRk2Sz zhP3Zp&o-8W9w!6OyXgX*#i(y6KQn{(-hsy+1Mfx$fGI%yLCE!pegkn~Y$mF$_F(UL zx(K;U^a!@&t{n<rfw9BT@pEYG9L7%si<#&n@cs+(-31a#!Rn8obDcL76U8J*{8B_v zHDIU>q<DoHUVu{$WA2Nnmqt?uc<pq02DYmNuItW5A~P+<a<HGSUNx1$BHzUhSI3dt zK-d$kZwFYnIy^gvDCasuxw+7}k5It4ULpjM#S>aLcBL54uzZC!{Nc4eV3>+vPNOSP zJXrp(NXJOV^J|4+@2aqLQAAdo$cMFZu+}f|_I&U~17Nu-yu6&S@ofH+C-FF*#*H2k zHvSvmf8!yLq@|dLD{ErLx?rPLxH_HZ5CvRMcSsny0<|ThD@t`T&af{>lfX0&u;y*> zf%(w=PH^U3S`Ay5MkKM2(RZT|T>*#90MGOTH`Kw)Ls&%`e+dNM;qQ4eWbhQlL?dXq zjc6(!<7X$Y0R6XuZ%lyo-N8jYDFRrZ0UbYqg)bt`Y@+SZ_kX~|5_sYT#Kg^Dfm+~! z=fLg}u@t;D-_?a_1bD49*dsuE<LCG`-T_fHm^bAWcynGAKQ9HV#&XV$?u{M9P}kE~ zH(;l`u8uXUG1d*&Gh?wLM(D6YHO##qv2HW|Jx;5@v$L`O_E`O3#IcT8c{!>9&TWOS zIuwQ&`cqtjmrsO^C%_hYVTbNwApC6xeBc#qYdm4B0e2@{U2@Jsa)Fs^kQE~|$G<J$ zx5jz7hba-cL^L#>6Szu4bbJdNjK}A*fxo4|#c{-y5Acq^l#6|GJ<&aY%77!?=rz_g z84~n>3~Rvv#uIq2!5ojF;Usu=WeNmWHiGTWLccLsUngn}jqgGI8Ao|pCbee9>E-oU zHP((*X04b59?$@I3??t&v4!gdbmMs~gBg2)Y0FUx#=i;1dxaU>Bljqbb$7vcO=0PN z;8+5d3nNAvXZ~tn0t*?>e{U0qz_Ou;`rV-yC+v_Wav+;9&Oh%%UBK$~VCmWTG=lB{ zvD0Cfez3)Upu_0$QUsnH17<PoSP!wSFfh*f2|j@j;5~tWTigxW-wLZfckLH?DiXn& z7W#m3E`i%~yV$%hjerJ5Ahw>wyvx9;ld!%8SX&ct{6pOR3HN#8{gTKciel#OR2-gn z6KE@muZm#Q5~2_|JWTjP>*Iv+_p@Uz8z*4Bzwk14URkl`v$$tFIB+ShxdilX0_L8I zT!>!FAVUB$%N4-NR&fEGyc728fhci7L?hN;M>L*@YvaM$Y0!nyx$U@!0*C$qd(H!% zC*V~NW3Pf_NAa~6`brZ<zLWsl8w@`SS?gV}+aEB7K<q9D_U;TEw*%Y!5o3{)&BR=l zu+AFLy^h)Lx=_>?GW8JU;jMXrEaN$B?m9=@cpAP6tQzflJ}?8Z>4~rbW67wg(qLKR zT<?y+a2g`V2-MamfTR9EUMPJ9H%3C6o5;$(<J}FeCnZ||OMSq(_khMFz-c{5eh#v} za_!RUjEFE0ytEMVdO~BxfB>U2PEq75?=Y{?xvmVEk+;=>kJQIZ?SWASe>3{@x#50e zwRthablAByn7p~``QK!W9xuiKZ{1uy=k|cdFGJQ#K)^sq(+=@2(A8_f6Qj8!!mpzP zkTet)U4$sQ9<Nr2a_wQ&I9S^XjpPHSt0LB{M|SuSSx_^~=L@Zl!o5cj$u45$GohK+ z;F5#z-Hom%%MU;!qjAMdMAx!dhw(JMu}82NvY+8V=XvB9t?3ow%U|d?TXe*ohoGq* zWc2w622;Nl%UoxuUvr(&Z?IW8;CmWY`3V+k16&VB3@-s(%dRJ(-H|&Pdro>|jZ?wB zixF3*z}JnZsV0b$u1-{gT-{-Q!D9R1uT$`T7<g?SzFQ6a<#YAvnGC*v$tB^9_qM>x z_aVP!7`q1SkOIUm1nM^eeMUFLf$*k8(F*!Ab}AV=O7=pwN6_6*aPDK=eFf6bKqMZ5 zd4^%+F+lPP*BSmJ;TsQtTq}JBD&tWzeFG+Y!|&XM;I$CTMvE$<HuC7Y@E5~#Z$K9- z;1jPfdJU|6IC!rXc|+4vVgDY`XGhc&)liwth2~2m7tRgM#KC`V!XKVPmOscPzM&pF zB#hl-66}}?-(ByLHYcu*hIgS7$CcSwv$6B1GP2mA@C8p)O)v4;bKHO4)osl9jY$+@ zOA$oZ$+QEQ9}5{K0(+ZX-LSgB?q`9ZEKwEO>jX*jVTRg}H$TuDK*sZF-@voy5w)(u zw>^RI8CXkepfedP`x5N>757#Hl80m5J*XEFsS)y&g3N-t?GV0<j-C!tl-ANGYK+XK z0;|dLuvFN-4d#l(jK(w8A;>|DENC{oWdY<1Lr(V&y!jq^R2xWd%xSRZD&Y4lP&~=C z6TsL#A>&_zDf^)EJce}*g)HUqUKe=f0?fJ-nZsk$+J7+rDbz=c!Ka;o;F9o0#kH@c z9mX}fLevBD4Uf7E?JmN)&4{>0N4B!y-<tSeL3Z*M_I(T<+UDv^`x!dO3)vgGIv9D- z4%8ssky&m9AK!;1jn4`~i&4Pab8zq?aAFs{PJ+#<V&$D(v9Oq{U*BZp-rEtkI{~$u zfFPq2%q@8HAH07CSUw1Zq=8!$AmA9hBh$rqevq*sIH^2d#tG;O^k@UVO+dyMpeg}% za7XytM6lFgM3@TjzV`6(U*I{X$Pej_4q-;^5sel7#BARX0Y;#{4@IP@2yf_(Oy?AM zkzkz$7-uLL)xdBf@E3vzZ5KK5&RqEV7FVBvP-rv)d4&z$Ak%y3;UTbE2(~Wg>S&n{ zb847tx2x;mQeo6>1M&YH#PX$xGHr#%<GBSHYJ><D#a+GE`XE=VjZbQeNO)Q~#D>|> z*e|T$f~&LdM98=Z_jeKgA{zN$4j~!6!;udLplbffqxe5w(X~5ZEtq61Vy4j><{>=Q z=n^mxUeX5IdWUz6-F{nOf1_{6K4AVhUeSm=7oqV_$kfbOZ&{$B6#QrlGR3~&>`2r< zd0>fo(1UT7M>f1R99Bw%wT=j5Cz{c>BPZ5kbP^l`j=6&9RR~<=P7hqwzZv;TXZYuQ z)T&?T9~EUL_7B<bQrAiK;m~|Fc;#fwunbK87`ek%@bf?9VfPR>ZX;hifz0&*&_9|C zZ|n<hSqNXR0{i5Jq|5L%9=7R>&luh-08ARWPA~9}vAdx=VqJgS-2q6h51fp{EDK!y zHFCnQ+QI5G!DC}xeikk2y80pfq4(s&jBa`B@!3{dfv7qXG7g6?wF3qM$>;?66S>GY ze7yuSet@m^Li2}#=$+z)_~=4$ZXjw5SY;GsFnVSg4DW~ddE50YZW6Bf4Q70UobnUy zG%}ozu*h{(!p3v+Ur?=2fmE@$Ck}Sn3rsYF4}@Z6Gcj5#j6N1DkOdB%iF+yln>#R4 zFt}?g{;vY;4;6R$YOw>W@`Z1_Ct{;f$#HR%;*k{_RpNQFuxPMEJ=)6pNV!;jc+PIN zjeQp>yd#A%F2?c+Vj6qN?uh5SI$dLJ*)?&5cO!S{JLLyv*U?f|f*OjZs4kz=LD%om zy3ir$=LWEK7n1j<%4`zyqJHrD1MCR<2<)8)r=_E|j}y6BCuVf9smkutYG~s=33g5l z;sufEEvFNxr}DtJe)Ae&$JWS9-?-}5^?Zp)VpFNF7|9tsAx-7))ZT24)JdGwHtK=W zavH47*MA|Sf2p6*7K#?^j|kHz>GAA<G+J+<u95D@S^TqFjSkDX*)8oV?<Loh3h*vk zG1f{RLYZ1YK8^Ka&BPYHH9Y4X^5r=4=4E*);IcJ4D-!jmVk|2{l|+)Zlh>0bu({f8 zZ5efxhVnZ6D7?=?)x;EDo=%FDd?K`Rny&H3dKt<iwWT`zu*hJ(tQVMQub9e?v#orq z9wq*=1MCIQtDogh<ww#|{hhW?xJ#RvRh-s_3yZv(W^oJ8q%rI@@OGJ7MUu3T>gg{9 zNoA<F7zA9zW2P5+x+oy$<AM4EmPfG=)3@<gQoIr)PN@5}1xiOHoW-hZ^o7a^Ij{bm zf0kde0Ax{#th(@JP1ppslpm$G@-#71AIpYG?-BEQfTv4I{e_ubVt2JRqM&IQJ#rQj zqm}PcxcIH@WAREBmF91FF}6v{PZRaGtc-GA#Ofu)0eP?NtFO|7<?k$0AE(}>owCd- zXutFste5;kN>U4Jf8>{@{9>l_0Bd9J$EK@)_!y;x_^Q=mCuq4CBfaG>XfoTZujHHM ziR^$nLTe@smppkh?FRcIb!9`inKzX7%Qn3i-y+?iP+mhSMkdihdIek#;c-$KmWTJ_ z=jjbAEq>EHZHPWn>8CtWduq+u9(kD*sSQL;RFMVC3q+E7ht*;!dZL&iBa&&0z^Du4 zS5#7z)m43se3G?Re{hEsD|#`7ztyWNCB-9dCK6-x?b1)SL-(d?d_McZTau6Lr=7BI zH&r$jbAE6(m;Bipy&DZ?ZMAp8BDLTTP~*q&NWMn?$Y$wFw1fPn<Y|f2%BwHwqjXnt z<B94<8YbmrNqV3d&Sr}O(srI-pC;9iYKn&X7|}ph3`FYpc(f_67_aW;%UA@BWL@=F zqPa9k4?#x9X@uBD@3j1Ufig%c>=?rvOD};gZ&)N3f1<6G>tMYHbcZxtr09P|6Q=8X zd0puW@2z)ac9y|E@x#DgH+iAnO<gR-DebhWyazD6OS0&9v>kGgw2a4VujvT?L-R#j zzLq{n!}TKCPIilTfOkc6g$D2|uyiZ^l6HqV*$w@x+Jo-0#k{VlO{JY{=!BjJ8u_R{ z(Au(5!b_CrKlS_kgHo8CR2S$sL{q66c=Nt`hK2Jxirul7vUrMqR2-Hr>bmW?6eQQ+ zUu|clA5?&6I+ycJG(@hh-?ddSjg&X&LC$>QpfbU<G~*Y|l1rN|IODaIQXa*op4Hxv z%1O?tC(>E_Y10wblb^K*D#fL@R6=kqRrVKMxbfuiMRk(gg*BDN^I2jsIZ)vTqN01m zV?`16Q~IfnC0}J91?#DjQ=c#Yk*7PaQ>ZdiZo-eLr`dAL4~aX@Xb()xqqn1(y4-bA zSgf8`U2h()glciTq&!hxCSLLO(ni@V9bld`pC2-PmCLJ@sGjmvOpwn@&G}?)l61(r zTI|mL#9LVYqg-Nz+EwbrkIOBoEG!p7Ym{fS9{Fv66wW^INo>D#Lw&;MSY}Wey}RB| zxr?0SBJJQZEtg-h41J2~C6jcIzUp<fS;{H4nU-oZOre@h8b{srBkB}$Zn?R-S~#@r z7MagbE9v*--}-nloR5Z`Hq#;=#&3u!(l)VQn@EqP(q!fxbtbCG?bs%oqORq+q(<fq zj^TP^QwR3dxn2~N?--qN=@omSgIV+-@x_#()z(ky@7zOpckQ=Y*;15^;L~|dR#~Ya zx@*^@zw%V)5xEE-4IPwbJDq;!#Uf2QqxKaYWve)b7`Ic-%~wdN&f=zhQoLs6BTR(M z^8=d)l$<pGr{7c4_$_&{+?wyTzcB$Z(jhIEK3M9j)MAy@KT-+#6nTm3>Nz&ea=|e` zE27Ld-P41e3EB!%U#9V)_8i<#F3Q5#8ru*y&%9oJ;ru2R$y0fI+M&N;W5LEBwbF7+ z)``D%{*im3k{Zwd@Q(aD%Lk4&Ykp#uIok15tfvTRnDdS@TC2iuP#gIIRaU34MWQfu z(1z1DUPXSxXRF0UANHU0Pt}~0*fyy-9d(QlK6F>vp|^J~7XwVsk@dOjbNMF4m*V(; zx|9E;ST;ue0oz8()pViOr@B&iN^$OD1Ee-`8W{AC^pTFR?UcfI>!VF$m_^Q^d+5{U z;?f8asoG_yC?V%jhw@)?n%UDa)A66Vo8-anI$kk%(^L_s1xQPf7j;8S&da>nQ)(tA z={}|(Qg3Y^{gos>O#dLimA><Pyez4DAE^lY$7=BYv|oA8A4%1<cu`IXR}SgF_;P8a zsTXZ?oK{}47A#nOC$3AU=^+ng-)I6Al)9@9USG+rOi|CMQ{>a;UHT<Gl>ZT4ilCzE zB09_}=;xI*#PV_CwK7M|QX^%Z#_8X+`*JU>iYO!7Xt|@0S!14RUwTGeSw(#z;(rBe z4ZWx135%0UE3LJCj$_<I>CXay>Tvc$PS<nmz3GzV<SBf$zDMrMZmR3}Pk9KN&gTo0 z_FjG_7Z#7~d!$#=WV$2<X<z8FFo|?&v>>e};<Q7`<W{wmX`5723TAG+lbRy?n1_mJ z+a#*srir2IUcHy>hNx5Bc}-nzo*+$C9pJ*H$``ui93x6ukg+<)^X-;XbW|;>$13OK zCi*&k1LctalS=Sltv4N2Zc(B-O<iQ^Ld(=y{IYzSuc28i2eRS6BAhu`E;flLiZT?y z4#=a$1ZS4aq(EfpdsqM;ML*eCRE>2|!#a3jxfxFt3;1!`BKH+N^kFoKc_}^lK!*=v zke{^H`Al6aJ(bGyrfNBgVNci;JvTDX=ZaHntbUT?*kX!Q6GVMUHhF4Q_0}}WRDu+3 zq^8Ibh!3mv&Xj?=WHWu&dTH~hni8fL)EZz!U7xIelIF8r@XXy}4a?7t2p|2dbCz^W zp00Isb_bX2(N{V*(Nj56o3GZA>#-lO#v5^uHVKnnM{Q0ylo-C*c1tg7RoEK4P)jK< z<+J*FduRSt$t@4pH#yFV2XbS!L7kz8vHEfk{i?Q&jgihX(sy$YxfpAvKZlRz5o!8f zF;ev7U$k||cUsbW9;Jp*UU@AAXuo+WHjw!um$<-6OOKFUk4Al*CEUagzL%o;6zvW# z!*lXsq97vh0C|iQt22Ep-ByM(;>UP1<m@-7oBmy&k664+pQDF~G+IKl`8A%0okeDu z9~Iwov0u#R<MaXARjr0TQNOGwBLZ&a8(B2#MXQ;e3bIVrSUM#3@P^!7vP!x5T6H$q z(;_x<8MSsPR8U5jbz&u?D(s+Wgq39LAJjk2PJD<sq3_jZ@+q+43g)DF%q9(xMzS@$ zrWi`es0u$K6RE0i*VA+l-e2saMW{jsvsF?vsU@o@2}A?CP`IjP>3R7Gt%mBR8-3KC zAxD;^1i7jl!bY;9QgwL$ODzP<(n1_iJ7|}vk@Q#iLAKxQjC_O5qij}2J}5;|bFq}B zaGSP6JEc$MZS{}(Ffjl*=62RdS|L}L%1PDa9?})$?<GXM^hK1^tZH#?LnSzXHz#*_ zp?sWGXLqGZ@&UGlPKl~w7C)~xREKFh^+$SMt+>94l39?nMk=jTGi{V2rR{P7sjz6J zS0p=os<&{?RtNE?sIVW1*3w~ll5~o-LNthyV`&4b{e7aoURB-WysTZ&*FraO{2b+w z`bzgDUnNB@FU7FIaw9fe&!J5b_t;teuRYZHRyV4++aglBApe%rr3k6K{9L||d~^-h z^nH3EwY8(3v$$59SK%x8Gm*_2$s^<g@-(@#RFB0lB5%FA7D2P5Fn-xy+c_MJHxRX1 z7rBHIE%lbF$c>aO@^p5^IPXyJr@A@&I~O|7I~Qn)Je~qj<(8GbP4S9J9wyyqky2@_ z(??yXTjf>kwzIxHO^c#jh%osj57QFmg7iSjt=v&s$`<O#PwVfs&d#llTTY7>p`Fn$ z(=lnYlr61QB21x5Z^?-&x(d4>%Bb$n3RKz@LKEz39B-+g^q3FjGvsfkF7i|A!%8aU zmAmY+zFy1J7OCCsx-Hh}uHV*1@#<2r(m@WCn=78UHh@Kgp?<Olyr1KfbC$f(T#SFq z4%NCMGqq{HB2y_~UMFp)hLTMgp&TPW{jQdwNzOdBijK+JDJ@$|rZnZXvQDn33^i3( z+OhXy2Ja^h(=n~E{gqbOe9%-zeQH}R{*!-+(Ryt*#`H<~iHc^56r;q+d4-2IPB-(f zj_I}}XBYlm->5568PghNm9$+-0DtSkkB8{R=`-u9-nA{FD(;%H+#YSeE;Uvb^1s?E z>8z!MDJLsHrxBqR%BS@g+H_Q=Q|&WthqQu%@o=t7<IQ<Y`Q#z;RQa>in6B%@-?Gl~ z9Cem$IP2^&P&sRx?(mXJ$p>^_<iLF_70m-#Ct4%lGUt}6X(`$#Q9{paUt#ZqOe&HU zlZVP4@)`LPEP9HiNp>)LhHB<7r2sL&UXCAi-{|I}Dp_OoiSlzX9d+brb53i7ETMKN zW?f}!sxMM+^7_27{aV&j^)IzU#$8-)?e@bwkgA|&|H<mH&EgIpEUxfs(geAgmaIBV zdp&Zq#aZFDD6I^?tB>Lfq(;_@mZ_4RI+%Bv*YW&nUu~II*}f#}8n|}|P2`^`%QDyf zgwh<WS(!SrP2!wBi@y_pXp8AM8|CPt_jbErIpi3VQN@`kUh_VBxEN%f<C)v~o{^Hv zT2DEu9<r}<?sQJGP0Xt7NT*w<9Gl3!+=D#g<eyrm^A7ymix1MWQ0YvOXIjFjuf3d7 z%PUR3XbaEqwF&JbZ^vWVV~<p?1?Fb*Go`EPj@W5?kyYPb*?ur9x9t<xlnKf(`Lm_H zyPu^z4RmDNuB%RMueO=HNq+KbbBtSawWNKmrKmNCyJr?mDVH6^pYboex}~abY40-T z{4885C{I-1WbV$i*snVKIZmm5N?VU0Yh$IZHNV9oIUW1c+hmv4e(STv52>5Ew7HXe zAL}l=*%@a}k?%NJx;161y%;OYW=qvQ#`zud>?()rNBAl}#dbb@T;>61q;^3qMRs#P z_m<|1$|)s~UDq0BZb+4Et@R1)oZ@XcWxZhK9%;&ktj_8T(=Q6O*G^uVQdGaMT$GNP zdU)UVE$7~zhBzB(bu=lvTE<sfZ@ye?5O?LGmKgWOCYeXjK0d)|&N!O#($PSkYMEhu z?>5`Lsap~E8`|HL!|EvctG*}ebh4Ilh0V9@R|Z<I_`LDXHl?UN>}Ax}T2fYG#$)vn zou?)2jkMO1Vaeowv@ETKv%H<9m(B>|v8Li~{XI%}m@FrhUCJBVi{vKiIQCvo&d!%| zK3g_7aa(1&XZ7>C=zd+E<(OtWuHV!q*>>6@^jJ1TswP#H_L_ewOV!irYi+dFT+PbN zY0F?<ZprRrJx;lKnf&Cj(&TKn<QwXHxi?jG9!TqKH(CC3yJ=D_sqR<ZqU9m>Hnw1~ zf{%5qbL{4KrK7TiO=SV*yyjRz_Csn#coI3=+OCT%_hw#y-6Tr~({`zlTrkT&@jv~m zX|u%CtLc7DVIlW0(*etH_YCVnN!VW5&WSKu=XmU}=`qYxsmJzG8`C-Sd99m$x>lOc zW=otaY<;BHZn-@RxRo|%NJFJg^5pEf$<tJBo@}bGFVFa7_pvN@3pVM>Rm&{vOL>Xo zp}jFRr@QKGXMpY{oslcjKG9ZrqMXwXIX-HG1xa(%QTCB6xAnVwXSYn#7wI;wkVwsw zJj7n#vdeOm9msTM#meQZPnDALd~<pCNtSl{FZ+7Fg=XvB)!%Aa3YC9R1JP63u4E&( zPtjWn4;G=-bj%g)%oW^^x!p1klt0rWxto4J<$$A*CCYq`0y6@$iYZ=h3zP%$2J=w2 z=ayW03wtmhNmaE+j&L;^QvRgtB0wpw92G~j9$E+filzf6#l$kxNcT$arA<wx>69T! zYSCof?q_~&z9FioPtTkq$6I|6<%DUl+iQ!iCEJ?t>(o<Q;TY*GN-yM+6iD0Ts?v5I ztk+Z%wDBU$In2>bT#|RYlY2g89P3TjWiMx7@^@!lONu#0Z<E?9E7bJa`a?P+Ei~7& z&NcmT%*%exuhAQIl;f520c9!I#AP8V_t|9LLYw1ksn?(m&N0q@<ZqtldC={Te2Xkn zKGQ>6jpTfKWvk7+PA!pq%$8(nU>zhCkdK%rxZg6pvFEm1L?5cA&38nq3z@emhF(yF z+@GR&58lPOLaW4mop-eZtbt{%=Lu_)v`X}5t>jS|KB=qOG3ze#N}HOv&)LSUndOxf zp-2`#&*$uBmX9NoFA`r>hx4MESDqpJb2n;2c|;HXO#AF8tvyj++w<@Pay|Eco;l1H z#Y8?-4%A*JcW|6CFSE9xW-0qp8_JE{7b;!lJMw<Fb=FVzgBc~&02adAIj7qLMU1H> zrReVTTioD>co9dIBU~G0Z>`;A0haNeFRb_35MGX-r*#<@Qvb5r)}?0Eb}cc@R@#aJ zTiPhUHf?oJkfvsy&K#p}r&he8+Qk_nWyr0Cpar}<|HFK>3HG~AZ~H?vkzFz!^Qi5? zm1?4%eo)%(NKWe|Dp*>&E!KY}o=)Fr%J#T!E@?ieTy%GuVzW1A-f^Cw{>;kF&Zn${ zse<%?#cLh3EXhoT91omT?d|mD@_JK#kJ4W2t;dlcyduppGChO>t-al?R5AHw+G5$q z>xp%orITrr`(;aU`;N>(jy%NV_oBUemGv-pS8gaL^-Oh?vX!N%4-pl9YdMrGa~;nR zuRoU7WK)N*)3yugbETu!5$<2~cS)9v`lbe+@2w-vR#P62p{CllK^ceak$g23C0JQm zW2z@llgg=G^e^%akxRR1i_9v-f13(e8+$+UC}R4KN<+~*r1h~sHHCY$v4mu?q|f#= z%L%tM>uXa{H`TqH-a5l4<Gmw~I7%h?V7h8vtTd1ZiqnqQY>sr_ncLx?MfNUIF%!2m z@%m)_Lw|XczAp1cx<k~n-gke`dnM0Eug^|eo4c(tCz@J#zB9G9Ezg*q)l#b@)evv_ zeA5;4Kc$n@*Kt@YWqKp#Xq|0+v$l!<lxyah?r+_%m`0O3#oI5WG}WUm)7|>Y{nF~E ze&N~HVs5joBTaAI8@LU1zR8@M`O48)6hsv6Bt=?snN{V9R@!l2@?fhp#jz_hm!4nF zG!=6j?|#oxR0^XUd~{kTdz$&U^_gWv_SEG4&f3-=ZZF&uOnI%JJ+JCrvOZ^c*st+6 zYzyzhE}QFF9OiG-)DbVL$WyePYK5%4&Ka_oIn|Qat(>`?^qrZ7DZ@AGjxx|<wqCOx zOi;7lnEc&3yX7>8nksm`7VeqOG?8_P2TAL6KM`O#VX>KiQ#;30eVX!FKkw|Hm6Cm2 zT463}*<d+o;%q((VqY>p{vS)%0AI=SbgO%2E@H2;S=+X4+qP}nw%*#dZQIOl>|D%D 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%0AnLMM(4 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 z%0A-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�*bP3uH!ObI$*zwh0R6k!S^A?g_mG{{T3e=Q)JYEvopNXnPQXP%;FzwGBG z-US&SVEaAn5ok%9h>ox>hL@#`jRhMZtQHsrP3|gudCR_wQ^<x!>yFpZC>kgQs!Oga z;E&@eTYL<Y|HS<oYQY|p>NB7SdPU83Yf+C-?VO-{0_Mk7RS<tYT~V+Dp{Xi=CMOou zlruN!wQSHp+t0L3G2zK@&!>O5rU_`&1rFk!77Bo?;yv?c5`q~yCx`ch7s!E5QE?@h z04Of0oOfH%5oo1)b(7FYFbND0bNw%l?J)4`rcd#5`k#?%9b-={1Q0-Ll7HsE0rWk^ zX9vJ*DJCaV=RX@HW${A6DP?57lV>qUem6u;Aj;>Goo(jT{~WF|rK?F`dTlyKXc1Ad z@xy_sXAhc7!Uch_>kja?jsItcrz4b=hYRHJTXoIhGZF|SW9q00A7s`nFo2L{{a-M8 z!%Y`qWT39(THBES?8j7>7uQUvgMkU5#nRrk`A;jS_=DP>U6xY@_O|$4j4m(CPI=jO z232tB#(0K_?OK8Gn+#7Y8grEX?w?zF*I!zPX!^suIsQ0Xu|x9XZRrJ_zNQkxyHtz* zTY)^@JJ7*^*ejG|?+PR5C#?Hx|0Wo>01^L8Im-r>UN}=Qk9WSf0brgCj|eC?z=etU z>jVvSiE{MO1k~no{*q-~Xu2H-RTlGCgu$%}`c@WiLV&Z|yLgzXGZU0RkhMXoVeTdv zVg0-A#?cpEf^AysPBEO=kkf?h>{~4Vdr_#0^GLL8MGX6l(rxeZwV^wvJM7+iTKEaW zuAXpZ8Jr)Y?G!;K(C3p}bF=?DUF}eU9}gB*wv{{_i_+hOlP9n`#8aBvOiy0-Z_Yft zq={}U=J=3?3uSvWH^7C~Zd+p3bUYbH-w^xjN@k73R8MI;aaBBz6}-{Al1p#CvemOd zGD)$!Nh!$H!z0B1;{9x^d}%-gyQRC}wUQ35cSizsQNB?@Cf}4U?r0u(5T|twIS(HG zeUP=vkB3ty3ocvA&7bG2#H~0tlQjG9S@tIyl^Mh8RV#V!@;S``3Wv@e-@sP$a*bxK z$>~ZNv!N>W#7wj=&VhmMleq0w#lP4}s<@OtjAL0vBGJgl9S3RCNZ@WV?T7uL`T~B1 zm>AMV`eliVbbZ0tpWj9ddXMk0L+<88JkUsPSIMHm9;OV(oATf8A(1c$F>te64kE%t z?77^syIMd8q;Wf<aFBfg1p|A&fHE?b02L7>+H$o2KlU|3GnK%=6jtt$9w7k&unyBC z;<*rF;^Dw@|G7$nOO!dNok$4CkGg|gV1r>+pMI5qSj}z|mv&T?$sP_B1y(WB9wkr+ zgc)OQfJEdN60!k77(OjNnt0g-nLz_W%YH(5z;CW!TmXQXYMBrCDZs?jf-LNxGI1yo zF=(Z}q8urWYXn_u;8y!YNa+K~8lhoj)_{ww#@Giq3aX)yQh3}l3)|X}18G@}99*J1 zuzCdd?r1XcG*b-*^D`XWV-stW;AU6&SV55~GIYhW9{`0kqxGSg!XRkc@Xu4uAnR4G zy;FZnlR6qP$qTx&a$#^gPoM_-dEo!KdJo(HVEJhC!o0h{6vw5&|Gb&VA1cLWq`V=_ zR)<IhW=`;gpz<?@hW;$~%4W|>Ruqrk5)X_PFEey+9Ts735Lgf*s;55kQ}r}|{l3Dy z1D;XGxXfR~ZES#$YuJTv`C;)@a;3?J!Yiw#P_u!QF+G5{=B6)^kpB+S#rk^3y@W{k zmn(0!NA$vW*+B`H_pnEX_dd+I>+a1or^Yi1rf~8gk+>qn%l@On=-*{xWWD3Q{wJba zas9w(IPRv*?zkzh*BJ!+Y)H8#Q~&qGv6!b1o*iN+-gR%NYai^6t-2}bH_k0FQDH3B z+Bf6gp4q+RZgQcGul{o;3Y0&8Qf{0e!01b`)PV)D>J~ybndzDwOBX1AkUW#(U6mb% zrvB*d5l@prHaSR@aE0(Ob_<u^n&A7z=Yu^HzC?khdsTvWL-5;dQ$gYN({a|i-vR&i zSiw<Hi5vN&na33k5gcE-o=3R2e@t;o&Q9D`!BNuxRCoVVLAZn!9Nqm-gt2UNkZ?r5 zWyMV_a{+d+($(kkL4+-y_lr~P;nx-mcMdkOK_Km!SGQLn?M1DAz+;Z_OlzIAq`>Cu z9tz>m`xMPg?5h%6l0Wa*q;leGwU-NZc0AG^jcLq2T<@Iho!>*x&CK7uG6l<stMfPK z!lUY@-HxUMa5s-ys=sqh**v@pchf%S?il7CWjMP<g;cvb-+S-DHsIW(w#$?@=?2Yt zQ1MhMXec<Mh=tSfvF@$ld4ph&3MRkynDg8d;6^CtA+(I&e9d1dt36TN){F>WtY}W$ z`sRJ9^ZnAL9kS%=Q{fTtan*m$4Jx0lJSTB$yaNO4tc1&)p55~&iL4J>1#2RN*&%I2 z@MN8tAoD}mPWJ?bLbajjOII<;D*j=0?_|FCgi6vYnuX~luA7Z7cuX9v$GbyO-xBU* zwguz0bLbG0Iy~aZn4ccFengN)g<kJJk_2RB=2B;wqiGZf&8cN~h=K8q=!rqjfPCZ4 zaXYYq;m)A#WGht~i2-tX4ME|@AHH3mI)WRN(GsD<9a+ERv`y0ZYRc$J)Y`%Iz4=O` z3AR@rCF-FR5gpVFG~KOfS!q-CtQI;A=btqUn|809Z9z@`JZ(>)G_`kqN3MscWlUL& zGQ?zOZO5t&+J02SU$4NOv><Cq`$4}Y7fkQloHY`G;f1dIb>)rI10!c*ro_21pRn7M zXqoG1O%kdD!Ya#&!7#JjxmCK))!t0{%pnFFvl-c|)6}|5_ufmaZbwtw!hDhb(HN<$ zROzC_UE_W_S?d^L@f1X0zOUxdH-38w;`!=nCQXmz1%-v{0t_ZT@%}}&E-Mn8*8Pul z-f3(jTv3v~ktXps3Tc|373!aA5(a>&`llK}6zwnwWJnL)(GT*YfVioH5&-0;TkzZs zMaeE{nK5Tz0D!b##TgJ-%SDV&uLoqnc^Cz9JaggQ{t2>FBY<A|FO+Ays9Pu~rYCqz zEhxl4#wVs`7y!IOFvkFtLwWT49~zKz6$7I$n+#}RO~SJZitpS9e;J4X4DO_18UIVP zkFs|R6nVwX@l&=JP;|qlQQ*=FXaINX3_`Jn*0Tk{ej0+c1qD3nmWR_f14#tCGeF&1 z$yY4@A4a;Y+iy^6tL3n^pz@ClwyZ%Agy8M#(MA<chmS&5Wq=2l74!Cg4J7pbw7veH zg+1#w?|*~4FWVje4PIck-~JmsKyL?t23fT!7S79{GBAMi{n0>Okpq7#1qGxUay7Ir zOMObUNpt;oSvYWNyyN(#zM$*4y&LvH5br%nhMe(l%}DH{R~mY#5ZCq4GO@8+iC0>E z0xaXUoogr2M(Cv&8YD7y#G)?r4?~md=Xx_?a{DOqpVeq#llvm9#*fJgkJxC)l%x?Z z(TM!0SlR9ZBH-NFqHUUD9#Dccp<gUxYamz-aq!5;J_LddCc{xX_EN!l3wdZolG8{6 zn9EpCqW%O-WkJ3EAk{<BM~6RHn)Tq1i38sI`9IM}T<oi|;Ld3;9!g1iX`r+EF=4c% z*bD_$0gq{Ei4Dxhcp$u!-Ub<=g&z0A4<^)@yvhXD{#KW%A9M4q4DxVuh3x4mP21id z%Z-CI4C%7aZa~Ux=v44Q^2bVm!w*)a{3C$Q+Vdz(LYEg!5J8P`(ZNCYbZ(5{PlO0{ z<oI+i<Xw|5K*-&zC-l!S$AGp|Te|_HzSb7)y{eQ)&qb@@A(kRpopOT)?GrIUCTIdX zAY=)tfC;#sBeImHr`uQU<0^IFCF34}AtvU3+!KOPt<JHP4Oa`U%nhYw=P1Cq{t1q$ z_-~&?iia+L^vns#!H=|j&5#I*8;~Yn(xFmhJ1hJ{4yO|;M8lk>&92K0plz1rffs&d za}9M14m`9xSGYoiBUEX9ZOJqXK`vj58xGDUp_y7!>}KG0Qur4QEjM()pn|qi<ZzHT zmo?3h)E3*ylBY}Sibl!>A~e^|LTxJN;q7u<%_GD4sB;mEF?O0e5l+&u{%g(zo#&Xi zMlJ%|^E_@`ct%YLC2LRM?o!hkgSb;F&BGQM<FwgCqOq!s{j?BieJG=sxT34FEo(9P z9==wQl9__7xy;0)8sCe&kXR1yNX1KAC}oW?#MP&4LN6Kq-C$h1qxcih=YBSFDEl5v zum;a~5g2o-MZ@>HbDa^Ek(wG1Odo1DArQ?}sF7oJ))kQ$9I-DO!7&SuXWkK6h|AE2 zb;n?AcnN;qkzTN~$|s)!BlPs6C^Q5!fG~}SXPh}Fo_P~tpda^`IcxZ4gpqUqAvCO6 zro|#6^-{DwgqbHeGUp-ra=lq3M(=ItFnrr+Z9?CCC$%ax43<@x`6=z(F<R4?XHyIX z_dA$(|0P|w{?zU*4hb*mrV{!Bq})Yn7-fICtK)nJ%kfowsW+P9g;3Ec?eWDU7F1y= z_4tp$1%Bl>zu(=o`-<KF_;u2EGy<;>LoqM%r@<R@SvN<yg*h#pPLVfv(Dr_LhaO*k zHT0pr<gh8|hMqq#@@p$V&N;UC<;QR%ob_h7w42{T@Uw+^llC+Hl2Zf8hxKUbm*Cr_ zc-5O5fZ<NW(%#FqPZgmzyj}Z=`_Ij~U;}2r+VO1<<jto!eLftXjZ(WDT(Wg(u2(xf zT%0V7UR`PPpi+z|=2f$GwOW@(nqbEXr8X_s#p>@+7;;zCu^(x3qBwqI{$CyBf1{4e zk54DI;0A8Ob)cFW{`iSMomIv8v*;T48^19gll@<xn~A*#CgM5#>jy(Le#Vf^iT9`Q zm7m?-PX6s3j%DZypS9B@k<{Akx^0IKWLB2vmE;cK;(-T<Fd>S~Y_HYdGHm=I$}H&3 zL>YxqMhl*0^P}>*kLBSiA-YqV2*F}7+z1Sa{bFF}zx>D{9!bfxRI`XmLM6AYcD}Tg zwics!K6=ZTP23ox*%@*gy*(0c(8Fw<0t0tNE&VK+JEh{VL81S)>x36MF`Ia{mSKTV zWbT$_wm{V#5ofCQJUY!K(RBZmoOyGdyAown&<6Ky5xpgL=TxY`g?*gD_AZf@dZREs zhLj1-0M%~*(gL;02I}cqS2B!&YC3H6l<`{|+u4_uqsH0IoPnyB3hTiL?4f7(`6O>! zB^c~!14gV7!{lERS889fR|@z)PpUotlB@fpScz~qj^jxFTmQ&3m-N!c)zmnYdEY>v zouW+}g@*ud*kM*yUU6D>0Zla^kt4}mqbPTJ;5K)~i&}WNdtiF_o~D3rLqb;Vd0l)@ zZIrE|LZTD6&)9^Ku5Q$~Nha#RW)2qI=vXB1pV^TBRZ>%OJdxOx3%iQCTAvGt^G`TG zaj<&0c8T00rSR_^473k1SRF36OE14hcW7ukcEkwy?t+uD+(vI#WrB804j?=x)B;}! z&>duLl?yHov8q*UO|W?f4P@)Y2J(0w`19~@{nZA3oT|c`l^dxM<c{lN>Jyr42uPMQ zvt?oq&yi{5%Eu5vJ>TLA<U(H!+`927%f#$EaAHc$g^gd{qLTf|toWmX7dWn2WZkun zX^z!+w00dDiaFn)kAfP7CSoE$;!L>Vj2wDr2H%8GbO2Ymnq?tbUfgce{bv~w3ihkG zM_YK?B4oJ*6rXB&+dNOFTDxpTHB@~!w@2@)+(W=dHJ*xz$8@DZlA>#A3+j-=xTS}> zf(BAhV?9F~_amJYQYcm>zZ5DW4pN@SM4^RM|M{ZV=R8T3JZ1Bt3a4!@2Sy*c=hSj# zcXTpO;w~j^U9&~@k{8a`&C3fNvG<NspBjbDc_IT_XDaybxf3rf%L7@c?N;zA{a;@3 z1Dnab_)T+^jMdU}q;Rf_qv6ZPB+ckJ3k`2GsB7yV2=2+Qjjx+Kc{1L--cEV_wcH8H zWXyV$2`upj%6q+h!qYj3|5RnGnhGf*?t4M(dqV7c%$<~VWgN6)u4*J_&-uuqF<>4s z7Tvc0Jg1vo8drwoATHVz40q)<agr7_yE#h9E~aV5I5QC4L+ooGlf|feIWc_cXjVqc zVut?^tMM77_e^oPU{hD*-<4ZamZ3iuH^~w*M=21~FXL@fj>1;!Q$b%a!}lu#D}dFJ z&V`<N&J^nG%$ledWK_O>&?L<E&~oh%MBq9>(pu8ogk&I_zI91IB{+1#I1xfik|>^0 zs*Tb>d@-T0IjU6O`8(-B(MhQgV5SrHNmm19{UPz>SK>+Cd3fgx?HjhTOU$;BFv>ZG zkqq2~>xNhYUc-P!m)eUkHa3Ewd9VAcMivqK3yQr@B=D3TojiuNYr=45hLE-^O3@}P zuW>n1z0`s*^w%O(uWhqG47ye&4u#JQC4R-+K}sVLOn-ev-S`?S<L{a%Zt{E}Ufa(D zKlHBI$$r4Q%Ne9<x@vPM9JMj4mYQ3dtXq#j+oc7DT35Eoil}STYPx1z5(-KJ+~cNi zj&n2I2m7TD+P${a$R^F{6uHmm6Pr0lTWh0r>pwMBQO?arojq89@k12e+UTFvz?6^2 zPf(w+`FqG|@$XwnVhoF>6c(VIypgOii7HR?x<s}tp$1n7N0%znNcr@uewII;a#`V@ zF*z=nh}cv$mWOl2q)484hVtbksI7f!_r-~9X+?xd`AKKVuhnC0a#<UcI8{b!9VL(S zL!#`^4VS*H(c=3?%vKgc+ZF=u6?yVOvsYl0$oEasdup5EX0st`o1x~?F>0H^X0rim zn*mp|e(LIN*HTHmoUE?xL#qx<714n?3%Z=Z9kLImOn>kuK1UWAz3==Yop>}zYYl2@ zbXa|EZu;ehCv2%QYLtjX&@_<i!rODg+aqz?BP?E`jDL9r>!y&qh%h(OD%{4k+|{dh zqH(w#l0rG%mUlQ+dMLM*#ioR@F8I^(X)+$w++xqYj5OwE-^}bdCwiEx2w+TdL^tYE zh$$~1LLVXBJsEA)6S+rNT?~Bk`2$t-$?#9k47UT;ShNg@mC$0N@kJEJG?01)RjMNw zzA#xmr{}lp;j9!SZT}XsCq@`DDg8#}g1J;PCTvfHGW3I^dqHup<TiC)@f36Srz@g0 zo{+7W@{gfIA$oi*rrwzE`b9eyeF;aj*)lxV)xDW?yJ>bvrMt{%kiE;S_}S8MV{WjT zwU(D|L_MGT!H}^@nneTGiW%q8Hh*Mi=GzqB7PLevGi8%01`ALJ#Fb9a=w!fvO^M|9 z0RK*N0$L|7y6u9FAkl9Kav{Rq3hlQd;T*smP9y_VCgGQV=0ePquxXnc3{X!Bjvis= zU1)mLL=fd*oZAP>;)pm=Rv;=-9>dcrjNxX=2|Gh!5u^Pmt<D86o~Js3r*(6pBI1#o zS-N!HNWCfNbc!QKT&Du>LH%~C<9Fp3>KdP_%o)wXDd2kRu<sMvBkMgccW)G+R9s2o z%BtF!&gj)*td=8O$XXV(fCJ$~0T!jS1i>S*MFOtuDy(uY-m)aqk;c4cX+exLW&A68 z?!pqY?i`87<(JST<E0>q3Ng~X$mo$KtzWk#*dwCRi5Oi$h_rI|*^-X%ReG3~m`c%; z3F+?LPSqFTh&eFQ2hNo4ufEc7nZmi7FPImsJa6+N1bHjz0k_>V#x5b%3U!u=vjXNW zKDsbgju22YM>SqEA@!S!2wY%ymYP2Be}#=|kX7h^-D(fdtphKnz>9<z)Vfe`&<*?7 zyXmKDdf`^m95hTf^rwdMJC+<dEDt_etmnH*b1iBVZ$!o8I2TSd5{QCm;L;WIp^*jz z+FPzlVM4i>(twtMDnwlj&YItAh6jq`6^tY8)d}wFWH&-L84QU3L{U`5AM>QNn~3Qx z{!9>hbM1%=Vd=ZOw*I~M-6`QzLD;5Bhmj2leKgwpEj|vsM-5A|;hFl=uWZ_-^-BYp zuFmAhOI!-mmAp~rC}kIW%3{~z4ra4JC1}G&S2uMf-=!EcY>fI0o#L0KNu_Pj&W)#; zg;AeJ+D_vY{t$2xnYK9XEmdvm`7^5~^CxfLivX(H<Z}fYehBnc5zYi^y3pAR@eY2z zl&K&4mu#6t%+E!|@C&P2r5{N|L1l&!s_A?#5fS)8$uo)Bly}+WT}5&)nJz@H2mHpV z-UeUS^M-c*AuGI`xzfVFBe9*;S(>NK_^_+L$d^#VzqkGUDG^0}ro<>EI@`dzOO5gz z!zpgv6?3ofdce2Auu$P-n_i}CeV8W`p%6BEUi|pTSeEh5S{0Orpa7NYQnp!GVxF!N z6#rVurCV-t)MKH!La*ZUs;;%No}-|4o8vXr;7QH$o)A-Zreq=|>VGYbywUT}&QwTH zbSj!hK#`R#Do@oLQ*%73i0D&IFmQPQ8Yn~?K5GA?uEYr%AouydID5;exPq=-5O;TX zhakb-A-G$D1qtpFg1c)VKyV1|1QH;4aDqDt?(QCBs`GxczI)fbGk4bfpmx=kXG@*a z-Bh2dE+K;_(Ll3WtPbTZkU)<HPqC?^?NG-nn15po|Fgzrcf#`a8)Ij<u=R8FAVLWZ zt4SpG5TU<@`xYvf)SXmo`F|KMwT<qiV%6Kn6=pth^n`xmum-{}Ksf$$h_Ipd9R5Y6 zuOw-oqETM6RHl1lfgK#zS2?WN?!2%oPV35uuAldUW@(fqFDu8#uv^YKe+;2KlGRnj zvp&3imsW0P&so=pKnloK#-2q~2wMwtF15vi3j8huJ%!N*O#wMayGI;)al!j>JE}MO z<{@Pb;kEcAq{>Eiw;t&Rzj${+e=86<qYPTNW+ShztA~Vi9gyi74mWautX1<kfOP)E zkYCq@a;=m+K5rV<hw#6U#QAroy1r>;I}uFi%1*__@c9IM0YtWIfzGG_DKDmZ`O*=N z33Vv4$Z54OEC-k)!n9I*cbOq^t$9&b1|2eS#r+|s&7|ew(?6@V!XY881djf<B;%g! zZ2}~IDf18r`Oz01iZhkIV{T#o=Ris)=ghZsNXi^m?@rXf(#Sl-hQL-KE_-9#V(7zK z-{?-?*FJ<Pm{Q3JtP#^Z^8visc~di0)rfxg-;yeP2G;hq09E1tK!O#f=|G&IApcuZ zXlMWGG+p&kJ9)`fwo!ef+Jc4uxcv0hQ~BOf0hlHSIVAxkl3;;>LVf+9BtZw9q)K&D zi_xt3s(uuBxpyaOp}!!E>oRv7J^lR7fkVXV1}UJ}kN0a>Xn@C`Sn!v{u}g!kDq{jd zbQnI7fe@`ctJt^Kio(Gh3jiVYrRfNSRI_$6I)=f}DvfRNxijJs8Qkkgz$^j@0Ra79 zNa|Xev|P|WXW|@(#p`tqv?uASzcLdZgr7s2>mvI`BzA7%(LFSA8VHCzs$}yHUdMdw z^mo8JoI}p=*tNmKL%g<QtvBfpdi*Vfprz)LUga>?yMM64GG9|=+VMR;8;{fs5NU#8 ze}{vXh=ckBL&kytRjSX~U=>hhw2)g=kQ8ItmocqdlE;&2sd1Ig^xEzZ7F})d<8Qu0 zB@qezE`JA7_It7$>P&zK;of`X`~=;&57{N0^ED0|o(0aV5Xw5T8>Vhe0{C01d*x zRpb8h46Jbv=X3!d?(aAJ!#O^{fdBhVrPk!le~E@2|BxMG;ZMgRc6xUn&V3KF{tEQI z_tGz-0jpFfyVkGvz%9zP-G2qZ@SoJO&qTrf2!a(ti;9Vsl+XD5_`C8GC;Qt64jrqG z@4Ppb=TO`-{7m>HFT!a-_M|+Sv@duL%sn$==|FTZNCkXpo5{b2{$v~WC!fPL?^dF% zZqz3+?TG(R!2L5{-V8H?p&j_)R)a2}gZWLNA^1_KTAWa^$bRi>^@c&Hh|pKf@Y|7n zQ`AQ(X6c8SSbYAJmpvxkIr@YYQ5zmbXpT&lk#nD3Hsz&I8?#tOB07APHK9Xbu|U8p zER^IAX)_2Zz?vN~eRkk}%kR!T@3Dl&zWc70R2$CPOzFobQ=yldFFVaG=B9nvN^fyo zH!zb!o|S1t!eR{s^`&&=S%spG1Ce<Py7S1`Bu_Xao#?0YgWs`E>(TL0#R#ybgwS6) zM69FJqYriAY*6L}@-QJPDfft_!+$cVvl0tj%s*$<Eq(YZwWU|7erFjrRHL7N{tE>N zrMA-WSvt(ZhB#QY{d)lis6_(~P{Ritga0->?ECX!Mq*3vu-96r8Ye;awovE9MrSZE zr)FLoAAcB7{rnwPSnqbTDFa7(2yLUmxb*Es5j7zmzr@PqSeF>ns~o?;Pf+=qsgjz1 zl8}+cWHWxTbxOmDuKYIsP&LJd<kDC0yiQ^=Z|7H+ce__<>M#3Jjo~r#Jx^l1!rFF9 zj)T8vD1PF|8AaFBho?krsAI<hyMOC=Zmmz^L)s~oR@jG6dhY$%-bge`tt4z^xN<TY z<e&6^#h)3k9KSKgzW0Za=5`zwen@9wmXRU^#!s98=m1y(qm={$X<6UO6Gnavtr{(| z?+!{=rg+H6VoJF#rHV8pUzo{P75XORT(JB5fR`##4G-WQ?H!Vzcq%o~kU*=#H_&}o z6}(R-9%i<P$GFoTcJ-(~dZDgU1>6Zz5<2$+KdGqxYh{Rl22e*Y{2K=)L*&g!TVDUd zLdtRoYp49xOMf;W2nip#Y5YIosfm0=5Nt^Qd(rNKdm|&?hvb=M{^3+q8{^*p<N5Li zbzpmL;qMcqKL91Uq02%(EboMIkGkhfKOayV)GOT}e4yzsP4*T;V6dE~juSC!QyW_; z9ai<c^cDLsG~=go@}o&IXH6$w>$L5_WRht|&)vUkRhz;KXceblsID`^I=)=~2^F`- zTtb{*QMo_*xuSPZ9vug=q)3;d3osX<lOyENW{Y^Y`dL$2MzwB{9gzne)GC3-zcohg zeBIgLH*x4x-bueJ(IyWlo(KX_!kfW1PkXQ54oJZuX>9dLAU&s(20}7RNM$#gTJ-f- z66(1af`p*%{j)Sz#v(k8R@A=EA^Xu#{l&e!*JdV|y_xEoiwvFT6t;k6(T(JMj|64M zgPIt8_2@nTJv@H3efd+2>T=t(Q4!bMjVSzTTi?A+5c3OCKL3s&yVUN;hxn5Bq03|y z<CzyQtQWhdc#m|n@i;MP!x_$FiizHCu~B$$<}%IY+5^h@OQ`UEbqN&mmsrun81#3@ zDFj`;V55-bqYtNu`3PW{MhXr_3{>Vx^7;Eo%J};$(MwjT*7e;*1>azs><%srv8b)r z4Zo)k|L$d^Ho6eyimK959udN)Hk-U*DJp3E|C1~;i3;9msgOn4^b=^lsFYH}D6h~D z%OTSqwa52%^&(93cHJk}@OE_#%gN%62g(${y9-a!)uxw$T7267MEDieMrYy^bFvch z4rS(&wX)&hGb$Ouc`JN%D58R*S*2y;$x|tzQ<A%b%~(IwfwR#kI*~mjQNa^B+1){d zlfd~`_jEGff%1W%Q$8bNdNo4l)T~<q(CBp01q=ZVm!?UplLBQ;eYN-j>D@u-PscJ; z`6MEgJp1>Tvi->xh4g{Zk(a8P*6%b6@jt7UN}7oZ(&zzGixHN~&BzR7Q9(oQjQrh7 z3`;y_V)H~andv!ftzVvUdxLem-mcqU=<*p$NG7U4A++;}@TvyOPQt8&uI_uabn_4- z&+2lrP`L;W5o+K-1r|GHn!5f-T7U|2VLP5uMS^5)7=EI+LshZ<$RXo!{|EvvFav4Q zs?WRy<@9uycn?^zbwJT!6wQ${;^p`%WQq@vT0BGrvx?r#C3k=L0lNA>GeAE%S8Aad zjF4QIUkkeL)RKxskWn5CF7yDu6%fDt+`z9YmVw%+81PGh0D=<f2SPmwAUuHxl^{Y6 z<xo-{Nv)`GXfy_{RyfX(wHJZSXq0elmR@MJ{L=1DwUpAAO3p~#tWf>jt?14S-4W1f zoFd3gscVdZJ6t@8q^%9ouhcNShYAh`C3jwfYr!u6x6H)V`YOJql-cYVWfT$P<vJ&x zw@c;pnTr&MDoYc}`dK)xOin1WqR7XR;?SI<4?81j$S-JOstHT@;7=IzIYu?ujid{C z@(B@xY@|3ar1J?Q^2cLfcLA)S^!zVxm)1(c{{JGRMTAx^imy0Ejnc(`KW+*oJyqeg zHbq=OXPKNu-l#<TZbqb;z2C-uiq*pC6UIA>*4^!m3d6yEQT-+7Epd=Vtl7C$zP*21 ze)pjfS4x3Fm@!!;aWBi|`eG;BQM}ZN!F#IU@fbJy6>T6%MAywH+<{X3j?yL&nGEg& zmq4vbDUQ+laeK44=@{GuQ@R<aLSLf~d_NQDFW=4Qs&5;W{9q~q!9&WBhi=B<+H|>F zq?iMgowbT+FW2=Ue__U1%@1NMQXKI*yS<W=J$SP*+%Stqz*z}v(gE<GD!PVz2TJkv za~{EiDu-&<$>loU|J~U{Z4;1Q8jnfl08xL0X%hgNqiW26L0Lw~D6Yw&+CCn`4KmA; znvDr@6p`YmJoGPZJ2W#~*)I~;y<Ah@dsd0+r^^5faYeY7>y`2WAU|KkUkQ^j8<7|2 zO~0y4So~gafb;Z0T~<>|3}~;`Hx)n$-hm2CYi}}NuD9-Oqh=aN$0J9z%fY<^0X22@ zBDV>YCgCJ_3u#I>3W3?Rf=a5y_IA<K=fEh<0EsT-t=4Jm_Cl-buAiNX@bONo5g2id z!Vf6z_O98L1BK@7l8@st-6u|Xz<NiOE^<7^9C(x{W`zoWkSO>4=$!6n)f#pSKr55H zU2qs~XNmG~<v<CC1i;0k?GmS=i0Vi9D)NH-Aa)m&PwaIM2+I2Nq{e<Pv4V@?4`VXJ zbNt3?!U(4W$ebi6OD=_?>>JfOP{r+p;^h-sk<;6&0r)^G#sY?m-ht=HBohY^0_U{d z67aYP`2!#+1d}mZIoM@{C4#h?92mZD+XPO-uGTwm#3y371t6?|Ur2ksUDC4wlQB~{ z&}{;;z^V}Sptq|{sFDzoewsMi9n@?l{A!)b2-L^eHx!r?&c?v5U`Qu{(m5i43E%T} zsl^8>Y@?=a0%z%1yDE<@lD@EO;kCK(=?#g-WcA@?Ycd|=oM#qtJ!nn(D6K|WN!Z?a z;l^aYl!)Dz6hn-&3R_tP_DQ_0RUrM>Sd)2#j5e^+yS)nDk<^##bfP0z-Yy^gVTS{a zv*;>@ymGxhbP@rM2#hp`s%BXyxTvPzm;!ZMEWl>FVi8valWoL(mr0pp3$8E(hIC1Q zAmMDi@P4G&gf%p={sdZv%{R%6dh<}UJ6}31ED_c~!MHVfAl#PdRX(dO5;dZ4X9m91 z0JM1R0t)q}gr^BdJPF{!;I_?&QiYNYfF}(gd@T1gpcS+@<=oOJg(R35P(`T5jU|PF zN8|q;B2bOYwS&J=%0s%80&Zb@^V0OGL&=yH4tnjp0Gtr49%Q_G9!t353t*Yx!NZM6 zg6h{{ggfLwe=CpwHAKFhr!Z+BhUJ=9khMqv0TO+Uj9CXX$8o(vA%2DoLi_(Aq2I$n z<T_S3Ip9!X*F101HBSiR+h3%yf6(v8BaYyJ#eE}q!~lX|nn&x>48iD&_qT_{et970 zRRv)%jL#VW@7CZ60{~?zLHU!k63EfWq;LOa6B5Y(Pj2w)))nHTN)K!KUz85~YgLdM zBEUM;0~efdUM{QkVTE>N}3T1=#quMmMq_`3l|h$-z$<P%6foaM2n#t??N57zQO zuZx^N5vzb#<<5)aw-5;~A=YCg1WqB3@*BkD?$REK`r-zeqZo%Qqv7_!VU|-~uoOY^ zaJNxOJmUSwHC#*0yDpnRGy{CaX2s1|(TPfxv^BjjO=J3>=C`7w3ojoW;g((mpW4h; zF42W>wtf8Y>GL<(kGDy53;}dFMQ#N<mQ5p!-9b#7@{WV=U$)Y*h&0Q{2#pf%#*2w+ z;s$5Pj7u$}uvm_>fyWCd*`-I(!glF75~=?bNLhT|88lTs+9cFj>e3>1YVv~ZTXPEg zd8Z(8veR$rI_!--+@HQYLOEcn>}o(;Z^G!A+G9b5QWhPQDVeiQ*v#QQSgH@Dfl1Ni z<=Lr;HS@tpIa1-}69Ra=K*Pdl0M=dbgW~XSSK=eSo+g!^+fU|(v>`cCSi%qOi4;<T z4`LnuP;c+(Lgab~Eomxg85lNbv2tS7RVqt232`nfH_I#s`~D`VCyEu-*RQRgo{Wdq zrrIxtRD6!+58izDOCiu%Aibf?xt~g@@|#80wv4`<06NZK(4L(&LXjkmAXe(D(YH|+ zs7iGGA999LS77`eY*^uO23`E0M)M0Li3HhiVe~fNS)jh%Y!V55tv@Q@h_#HNPi;ju z$I>1rIVw=C;(Gxv?w*y%{atEQKy`rl4UqM(gyB{ta>tWK*?;^;;Saw8sUwfG&@7)~ zM3&2<h`S}pX6y#RxgPZZasLac9v%phZMOkdZ(Kb1maAJ|ZIymrfx9d&r<l<8UDj?B zZZ7t*jXLh0dslyDvN|yG^wI8~bQgNn>i{ut2kK81{|q(;3?mZ>+g`8RwP3#9)9-}M z6A`O*U)d4Z1)}=*#c%dtxD9PTZ6av#i^G!R8kVtW+e*K$*L>ZAZ|wWEEv(g&tyMpy zn1aDcZ-B0?i}*NaOLxe}2d@4YU1q-zt;HkqcO0=Nu`Z8#%6sOf7WNAru1usAq+qUh zuv?SlSy2_l4aCEKEz(}F%?G(i%ZVedtRyUp(q9MQKg(8^SQP%^WlmP>?HT+b&;!-D ztJ4M5_-Uv$;~3V#X%Ef0E?^Xj@b3<!V;UIqxWd)h`xFGtevJt@La<rHTJg=RW}i_< z3;YU0n^yyAmDPx;6l~dLMC=Ma$b_I^nEpUZmxpHg{%&95!rH&Qu1)&Ulmhn0!Zj5| zXkT>NZvu2~CFwxwBn+(!f$dz_fNa^*xi}4vC!v_tn#`*G2M>ZSlg8IGcL!|29geUM zh}P8l+phFowpQ4co|HddrsUEZqL`~MWZlTk$Fm^ts@5;t--b(w@O&_E;$4J(;BJ3? z!bv8VdHC)i4uM~wV=}4Bvl}*#!52zPTNr)p%=n`KR+Q65Y<kNWL(^XvgzT0vg6-q_ zu;#z^Z;!>^{D<8+X@y#UxsYBo*2U)M^2@0p*1>cy2A9o`ulBOH%3I@YYWozrkdlc= z{Utq@l8NtejEraS0<%~yb$a$XypqYwK4L>>@>(4C)b`r~AGF&|+4vBH`*o#k_nd{! zNy3$x!Iz^1?MR%!RM0e<U`1U?QWYR`E9C+oXOD}+Kf3{K<D;SF4DCft6(iO62C%v4 zfEipghLGCs)ir4at7Ot@x_5vSo@YVdi@)N=p$OZp<cmu<{KEbnOQW+yQ<%KjCBZ(h zfz`k)KVNl{W{&VDRTN~)dZ|051>tvh$(01zzlfrIU(S$8tAB3~k|g|3lK-6E|35jc z4=Um?w%Su-j-qs{XCVEPQ!vOfX3C;xP<!d}>Ex5nEJ)TWKXrOu&?!uF6qTPZxQN3a zx@obYkq)GsUc`~p98#HcJH^gB#PI*YQ|;wKrxzZ_|4V>iE}|KqrXS@NUg)iMH(D=# zQr_w_!lxMgBG>i?G7BTt$cTP)A<FJE1w{|ZTs*t%?OpRNMU!1y)vVH6;1qwYr4d;# zpDnLqsB)QeMy=W-vy9?vsR?E)^_ztl&sC!D24}Lh2XB|LIKmN<jhU!Mb=AzBYG6b) zTny2t*srNyz4h5-(#||(w_pw0s-HM<K53T-Tj&>waAN<yHr~rmFtK6ZT~4oB7#8)T zkV1C)^|TPN&-~j(ij-*=rnWn1=SCYUM!DB`zSP5+JF6$F$Z@)d>bDp<R2?A!*cAbY zYL~?sm%ohL6;7&Idb?J-$lE1fMV_q2+e`F@>!rp+aoXoo!3Q9|-`uSCCbQTubsQ>e z_>)Ain4<8xMes!vb8>6kJAFzRe#?(eRBI@tfbr1ziO*S!VGE6mn}3UE`jAQx(Q?H3 zUL@|Pqzfm1Q9ZY7!&=5V8-58<6LYp@X9oIW%4l`>X@fZ|5biiE?AkeN3H=>GH)ROP zoMdidc33TTM{!gH(AmM6lL(HAJEtWuN!wHg(gM++%`j#X?wFE;FZ469ND|pcpt_`V z!yOTj^cBWIA2$=*27!rs5=~t$g*eY*Jbv)pG-aQ65mj<f8J{6270Yv%A?V}oY%Z1! z4wE!La!QZARjYj~T>b4;iabB^^x)4Mq*|{1N_2h=RxNlt*lp)>QwLL`cMhk)R&2+^ zV=vPGdb!Yg_1Uiy$KZ;X^PR@_BIj_CdiAZtjisZDn7ag94I|{#33PG4gB{b)S|zRz zvSL#`ja}&ECSd%Z%#30s2X#Jbh`(BPHYtln1g2#yEW6PEj4lHI8GQgoJNPdDF%?;L zjRYPk{&}pkP!9W?|MJox4?W0;^E9@(4M`b(EM3?KCLOkmdwaCM_a(lFx#Kpm8>il@ z{q|(M1%&Fv>BkdkiviHl?!q^N)q7RGic%NEN_VxUR>d@OL-2SDuZQ%q*7|2#^rC%z z28q+FFz6SjK7|ZKIJHEut0)TSE@2ie)7qK&LSPw2A32bfj(2d}Y$E|}&_pY|b5ZfJ z%O&_l!yrR2E8WaskzhJ2T@`7i??Na3M}{UTdjNoHpp_Aqg&iUI>ixVFX;VnE%p{>` z@Z~Cwf(cA%WcFjz3!c(p`j72+3cU=u{xe?QLT=n?k(tdhi^KHm@7S^V-J+U4EA@;R z(l~D8xcr|**oHKFjUA5NTSAZXmZlM~X|L{)we{+Pl;|EmfW;Xw_ND_oRPGIT_9V1z zoI&WcS8`n*E<$Oq5Zt078Q!@+VXIjDZ~O`eE75)F?}jMKDbWxuq$|;x-)cKot$mZ} zOBXdgt_Lp6e|oik{R-)9`<`O`?xg=%x6000zX0hRW_um3uHp>p+kJ~@l6m>tGx#m1 zpg9iBpH8bJE=$H8boQj!vd#u#D78O>qA*~v*XhFN9A(h}%gCau*LS#)qToE?OK)C1 z0E<RNd=X!-Q*V)|j-G=_;^Eg<K)GT0ZwV*#evkVTO;zc)Ze;?GH+?KgtiYFUNaeo} z<fdco0#N4AhL+dQMA2KFh+xIBG~(>rD|3x@a0Wrrh;C69M$p`*5Whye_!ABw-rv4O z+08QBf36OGz4+>1TMSoDoMO0*(;VZ`(Zwr{MB^4EGAh%wZBF$vZNN@B)b0sNW*g@& zBg%QC<Ku=YJNB3rI`ZmVanPkNH46e5f@c>rd+k?o&U~-XlyyN|>vx{q1Qi7a^R9S? zZn*7wKV3M}B6sF8kr@M(dcKrqS;92Qh?Ea~U;smN^}5h+aL!R)X45R3^K=jemq?`v zIX7(Qk;bItUxqX{FR`nM4V{{Y>Cf?S*D}<C2MlSPxUj45aIrosZTc|$<RvYA38Xlf z;XIxr<dPt3N}z{IYz8&5M6`@JAF(zS2uswCE)cwi8JJ95;4|VzTwpTHN^}fs*pKD3 zGW=|IE4KOxEdaVT=q=8EZOmINEHZ0wu@1_p38pLcB!`WD3sUOY5bddS2V8@2#G@3M zu`{-PGe(fd7&jb94qji$Em*1Ng2r)F@nz1G<fcM;9v$t6PqeM{+<K8a&Da==b(|kL z0=kQAB2!SRvBreKtquf6;j1WT8N|V?J$A5oE$KBJvFgpAS;5Ug?YNEN0!)R0XwEBM zdI#m~Dj+NF135iE=3YlhfVgnS&(9JinJXDG81Y2cnul*iu1WqVvjjzEdNm;GMb_}f z4KCA(cKg4I)wr<xx8gH%_=bxc`J8#0Zbh*YyBDDvYo**0VL24V&q_2J$u#{mTa<Lt zna?@wb~ePmHi)(7{pdw)q9v?e<cVRA!gmOR!Z{k<kh&e6^L*<o7?-$((a{nqT(MG_ zEU(0znh*LCUYDfY%@zsl`HvYwTfqo*;jg!VeVjgO@mgRXCmvEYmI*lVshp=t$`>RC zLdgC1^3}s%5p^=N`0C$FTBH-$#))uN=Hssit2_|G+S6DY@RBVK=r>y9ts#ejioKBI z!<|+Iov>ypArJ`RHp(6xz)oi^#0AiAs}rR_8oFc32zsy9XdiTLBoUjWP|jSJ-`kqu zfF1~Is`-B;!sJqS5i<p6N_Z;_?i<)Y?o1n{k1Po{-U%w+o6Ay;raY~rSSS~Knsm~L z9x3k_Be-O2l6vs)MP!B3i!^Z!)8BZ2rBIuttb2H2BJnK-y%qW?ziG<`QcREPL>S<& zMvjLRn4mMSs;~f?fa&*x(Y2|eWLh|naY&nIH~ecbJ8;jz0d%&7bYF4=$)y^F5Z%IV z8I@^1f|C1p;Rml>sv+pqgKRney%3)r7*Y>5QE(h$?K46&t&9^|J8{+s4XGhs!NmnJ z%VzEAGNgWzjYxv}2Lj$PA_JHQ+&9e!-cl%weA6F!;%=7*o3H-cfX*^FKt<j;2{;OX z*M!XA3fQa(zGs)JN!46`=qJG<2Z*>{CtDzm=MN3a3Rcxv0qWVA!8IpZgiKFT{$iRq zO?vctuY$k?)$Ai5D3|6f!~Y4N+*LyYli1-$qw@Wl3e=(zX6!gJW0;WknO4sK8wmHw z1S~Y+cH*zkHA~_AH{pP6)Pw>CMYgyiwjhxwR}Y%oE;MKmc1u0SG8U9xWXDH8PicsV z<(i%d1~^u#PK20zWTk_u#_HHa0q=A@;>r&1!F%QZz)<aFjj)H<`48gb0GNQUKl<RS z6LA1CNC1Mj$8tPj`OiCdQ>c(MGQb4;GR;WQA>RK>2c9LT_B%1eD+gp#Cd7>X@XuQ& zXaLyk9gb>9O%ExBW*z=99~{U_TvoKd7tG$jC9N5)bL*d9y8VR?wP-5o-`Z~G3t6Xo zy`-gK-Rsp{Jz96wvxc!-cz;BftKzH<b*>_h>Y`3nExnURlohTfFf2KNQOuCJng=y& z9~=TRZ;wlc$2o*&1;|`iYceni%z^OoT7Y;R3e9){4zV}WrfClq0|o3@L58&7Ks%1= z0L(9O0Macz`pE}4M0n>gU`<!FA({ZttAT1X`<?(P5bVbBbxBUhH7zg*FqszR^#a0I z+^zTxs8PHHzJ!qy>L8Ge^T1cWyM7%38Quw&V<SLV0ZT<dWR8%Uvzj+B8u-bsOHv~f zI*7eXl8XjbNz+-Kjj?qW07{rZQs_K@L^Ui<3W7I7UHccK7bK}gg<Dq;s#ntKJ4nRg zr@D|5EWd-;`~fxv(hND7@QAWvYepbe4SBCdU=+*P+7F;pv6k(CUd79|es7%B4drh0 zfJ{XGjuMihaHM|^#J#vJP{FhcpKel9?53vHRt*?vWF6MP5F!VQKm2u00>0H~9jXjl zfACY<ekHc$r})T@nw%bt9=&|nQXfi_ZThq#L6N$)LcJ@D9m>Dv-kU0!ZtQPtN$`Tf zh><|CfHG1_Y)ginc$o~viC|4$U(F{B%>)bo*o2B^sb_?on$|&L90A*%(FxJcVjKf3 z{&avX#wcL%XN6jNISM7ok|L=q{r3|&!crG$oBJ_(1w}kF`_H@C%A5KZ(wNog@E0R` zC)>Wnu?p;V(`q<`|2&c{#%v5seL%eFWq!#*ATdq<NJev8iznl;jE%eQP5i77T6>W- zaIZIdABOfl+odM<n%K;j!EE(SkgSgp0=<RQJSs-Vo8)k<fT3}IJ2pyjYZ>KV)3`GV z1<&c@d&VD;zssq+2)XIHMw}$%(dSe7DXNWVyJsJ_qa(E-wF=jjaN#?RvHeCcAR3Oo zUBlvvh--3`Ox3r0^5lAZgQbd3hW9t}<9!JkUYWcNCejb0C!}57d1r$A=`+pL@)UUa zoHY0k*DrOD<ChVnjlU}e_AjCWdemvI_Om+Wh<w#W+-i-?1{o{I^n8`<bF#FT*?5SX z#f#HIUChy>Wyzmfsb0?Ui?AYBD46be8~4On;RjaVcb)JK`YT>@p<k-Xw1s*^R&t)D zviZfTDi*vdMHFWW35dstkG)`l_wbL%@A^WxcD1{)j~G1a^l1fg;Iz2ZS={GJ!!LeG z^(8|FD+<OpSptzoa5nDJDt~Ff?5+-8$~_IbvUA@H3M{j?N^C#B8bzlHU(%zvNPUxH zuh4Y{<e118rcl_~@y{5=qj2Rocp@P0HTC;L;{+NV)=lt8%KDx#M@g^J*b<>C{o%48 zwAzXZTldtBE)$pAvk$a!V*7V8Cwx8C-Z#CIWnL9tYXYr0hxJ%$yxwy7N{JI9rQbYF zTF4D9JFufT7UM}pSzQMXT4rN(v$tki>@cClg-a%xw*v@A`<>fEFDleL6P6eLG8Kp5 z3vQxI!jR$t0(+8d7D5xzy0-3y3C75>7<^2w0~>0NE)Yrzn`I4=x|F(qMUN&s@3ZqC zegpWKi4lzr5QWTnOeYO{_02>^Ji+<A0ctfS*ILOW=^XV<Q(z~OKhT9Bi}67!DJ1Tw zelMDgjl^q>ta5<bi8{j`g4??if<6M#PzvOI%E|cOg0ym9bN?a%u~l`$1(LTV++naB z?)r^2g>pHz0jL^5=tZK}h^`l&Z@urgoI@eGv245&eYj7*N=^y|PEx7K#8Ad&wWQx- z=x!#ifX7@+w$6QGYFt6s9G5tduuYg;k%Fg~J0SanL0k|1r78uGeE)t?pP$Ga0{es? zidI9#FQEe;Pwu5pJQtp;E=lpbdDHK>1#P&EGb|4zXQGR7t~;AFB^mMEF=JWr@wilv zRWY8XN>|J6eQ!eh!hV)tt-=HWN;2`%+K_4bO}KpLPa%8acTdi*=f|@<_@y?a-kQ|< z(zBF}H;ps5M~eKT*ei<7t$)5skFA+`2)2kS(D7HGJJ<h)YE&mpED*Ho_%%zpmA#mz zT8i$>7n>(shieO)<@X1c2wRtQbrI$VIvCCkk4m=X^K~|VGRU%5Ctby}g@uq-e`>MN zg*?DVr|iXX_;11V48r(uLG<R=-+?aBu~VB+-|4Kb1fd`4!|O3`$5Z01V~cNB&nTx8 z{C+A_@^vnF6X`_!hT1U=2M}bz#-36Rfm)^Lwbp6a^mmHUXNnSHGJ^UJffpjau-_yB zeLxoxg7`N@bHW7lfv_MQ;=L71U;*J9^k|HFd_RQ7buRFMtc*ooApRl;X=DbXLexNX zbhLJf(k2!wYnl73i@4~%c~tY>@fTgORPEgAU9uknqe0fuw!%U7A-@9)(A$Dbv8EC5 zL_-BANFnqQXUP%;6hQrwbUlSZ!a*WQM|Qm&t`wcgwLEer9qJpjECv4H8=O48yi#p) ziJS>!pgaABTq)-oqGYSS1DDSin5&RP$luNK&{nv@_5fSB!th{TB(8e9^Qyz>cJ5V& zw1OE(0kK+UNiF|r08*ZOyKzhs8rSGQ!LAZoU^ecU))_gz82hprrh0O$X@g8D5Cri- zo(a$lA%aKT1MgUW|3L}{me}f=5Pdpnh>j%^z}>jj&PCZn+flmB05rCs_1y63XE5h0 zE4-QDL<j>NjXGQ75=$Czz}H}t#IhaG-c;F=Aw6DT7gb;4Xdbm0+8!DSHKYsuuS*HK z&a)MU=D@^C?3afyDdjf6$hsoHEe?U&i#5YU!q_evxoNuC^gP^9VMQ|j?JLgVPmkZ) zaMyJx@}w9_5SYd%j+qb9qI4&J3B}>yUon5xsg$|G5N~ukxs7W4n$*kY0-mD^9oYEt zF#ZNIah!$m53(P&6JR_SAVU%&KA#_xPAow2a~dB69QDpl5R3?^%^=J)niXw;RpS-s z*lQ_j+&zbVCS>1Kyhx79Fso@BpyynriG)#l(^(QNn*7kDm~|-Wzom1YTeYs-{)6%E zecP}<S)tF`Gse>u3p-;Q>!A1+{q;tUtI$J>$y;&piJt+Nvgf(oPq3RD&jf2bE_Y5p z#R={lR?pGfh86j<g2FF!$b!Yr(>jzB_QO#H9wpB80&56NOk%kRM_pK#{_I72+SL`L z@So&+iMxuvr(T-zFx}R2*?mTOek|?hIPCbre>YN-{H%AqqHU?`tt=<34QqnNZp#*c zI)RSBbKsA1yZ}Gr&Xp{2)6I%+X#zcMM>A4{kYdwh{Yr58ikN*v;6x*1=%Yr4=7;hE zwvwi{P{obq$0)hL*59(is&Pj}-)#wxemZ5o71Tf^O=W6Bvr9>jNzuQbF@*{7ANe7U z@tva-p+*bc^q_(?Js$l#(e!V92i<aZ@(N}@wXOA7t|5E=AYJp}K?5iUE?p&Mj#IQR zJG<jfg^u>b`OJ1@nCL|a-(G3hR@1*G-qMEE{Wb!%6Zq##cqa)=CKLgd{!~P#HcSmv zEFEXlY~`h-?l<AV8=^bg6MAO@@*sI6U-`V_&p7TnZcD5We>88PpE1fF!~JV2_*t*U zH-GzKZmkzuefte}u42u}iq6`PMBc!m{>5%8>Yha7Z#4yN!`19I_SP?i*`<I;Yli|v zG}Z~<ZnFmRN5wWDjhNjfp<^Q!1Mq_o9=2PWZ6~(E;IygN*Ct!`ZO_+bivjf$0iWI< zoDmM*js!$@@V$I$^nN(7d>DJidM+BcW!{i^*s*x%4v2g<lX)mVcfmIAIKp&Ekn1Vx zQadhSs+nBPv|%A;AUQ7XathVR?Tc~_|G9@)LYOt`46}JDd3lc?YCA^PKcCijS-@__ z)_8i7C`ON0bWL!6SvVg4hjXp0^P9HBk*G`?WyVx_d>jgTvgd@cF_MV7Yh<n5Pg)t; z!A}%0u+_A@MdY7y%mu;-{5Mn!c#Tnaa0GTb4PdRHv&#PY@j;#ulN!}3z2wf8Ei&0- zWAPJYd8ED!=G83XkHeAUBPk2~eG+-kQE(0asU%Zwq^UZoB$MwxU_8DYH|f{qhCzo( zac_8}<?Fj6=ejr%eYSU3X5LScUy^8{!n?))D5kogr=IE3_)7^#&71bfY4RS{9Js`h zXkfOhn(l06%EuS13G4;T*;Srn`4}s|-!Emz;*jZlTILDQ>5ZN8a&r3FY?d{;qli0- z_j8^<^FDZabVmXA+WO~wa;9@Nk=1GQ<OSm<x039W=vjWhKm_Vx6#86~`YLYe01dvH zw5SUK5uw|YsFQ@4lE7Gwiu*ND+BsvwyDZueCTSki&dwrSE7m^Y&pT!kW4%=<A{7f- zb)lku_-9rVry{+6LDP$b6tWdGiz^Am0<tEiAEMfw<t}AiWlY>7cVjTH{gQAd2$_RN z{U$Un;Ty$i3m(OSnn#`@`K;VBuZm~n`KrXe+Fa!qUj^J1IX_}PzMmEUF=W}7CN-C3 z?m*J6I>EaW<~T8z)k5;6MiBO|tcly~O-%dt;ylNF2JW2reTEjK;Vufe<h3$--nAS3 z{sgo`9)Y&gRYLnV9gnP$n{gj+iCJ?&g9ot8TEg=iLFSP+am%rdZ{I#7IsI#=s<g?w zLj|8EZ|EjQ9dJV+6xEpaxTPac{7Nr-Dk56c*7fuJm(&RzEA9y|MwFvi0c)Q+hspro zsj@s2-`50wQ-g|?BijQrVYy()-W>yup>lV7u(gwD3yr}i|17G%@X$Y4mJG?B>= zYjJmZA_Idu?E{^dL*77((VbEUi4By0=MUp=9EUFv4^n~-$G#1fSSmzussF6hk^P3* zf<A~Jy0c-rEbdr{6xrQG^=@(b)A{e{d#vV@^S3`URE{tThHbmKv<ynX&+%3Vyq}xz zejmh~)OJC6!sT<>(rNEZi8+yins#Bdin5<0#~H`7tfV@k>grfzJ8h`6$_f*gMs-LQ zT1Cw$kp2T!;UJgV<cM{XjaKsr5zZ0uwpe)iN~2J8ms=WBsC#g(F-tKt(4;Dx$*pTQ z{>P$PoUuGLW7-8aW!{scvfPJvDL33<#u6HKVvNrGL4A$LJUMhF+em`_>S!Nlebm#W zTvPJ3!%$%0p*%{-gT$hm%D#VeV!gZfwyq9_E%jv6xJJkKC>x@9Qj53Y>Stj^jG^bO zdUKoZNIKkq8Sglh`ywR3ThT7S2>mgIU}pE(wkIgI{h>oF5%aNwVxZ<csI~ASKq&Yx zX0*UN@VQ<%o>}{L40HC0)EG@q;7fl%K-e$i0ABaXVt%_J3V$Cc<M09VtGWD%{(Y<N zf`pltaCyp#G4up6-H7-|G2I#>Y`@B7VVZk=zqc}%b@$zoyXG^ZFYon_#6XiRq$#d@ zP`*HMW+<fFI7NFGU%qR8HIX#YUv92_S?4`hx@+#SvfJV7b9%VD(k99|bqx1?wL?HN zpor%aBSQ4!=5fwiBVsP*!*lN+Sj-uyYX#b|=}Rv6VuJ6F$=vv&@}#_INPa5y=Fgg9 zTBtr#1inVR?|2->(r}t^R}EpF>fltVomo4jU^4r#)5FoA<gn8PbFM8cbbLtfj2TUi z{NNljC04PZ|H=qy<yH|mVH#HvU^-Fi#&BQ1x%UgFnI^R@{jl<-#9Ko(YV+?Lop+X! zBYuJ#=Yv+Jq_)S)9LfHMCp8oNo;`Bj#<>;pIufCZuLcPL9yJ}p?XnN(-VY_-k4qIW z*Z~m~&vV8BH|2pFdgL~L8Ea4k*yAqsrp@gTtra(3wo`PvJD9ssx|Xk{bPa|jV=!XJ z%c)Yz)KE&6dMZ*{8|6V~t;nM-?u)IL`H0DuiAIQYGd0-W<vkAy2a%L7rD?Yu{kr`L zH4)aw8a3+$oi(+_7RHS`Dj?wS?=_kfd1hI1RBYPOB(8L6gSWtwQKJQ%?w2W*T<V(0 zX*8XHQtFpkTC#rRHFN!}P*m}*@i93wOyA}cX=bl#Z3l~QeN)kACxYUA@c?Kl&ycNk z+qwsFlNVx+kBoY#8kqjOz1wBn_cj99_qhZvD@>Jl9UV>&;%!i+g($h#X&g`%E!fF_ zj&yl=>H}tftw}#tWIU%zKZ=VUZjhW?_V8|g6?+cjEzaz}Oq1qMxNbiW@|RrM&Ft@E zp5Vv)JH4AJzX6*5hO!C%gq9My6%qd|62FUA*#v$UyIe2sx4CRzUyhh>H2@v_sRAd8 z1m&0?A7Z;k%wH@uiP=ZCf4Iz`@VjX8@V*@RV&VfDvpy5CasIJL|GbXGhb4}}ZWq}l zlV!2$60c7SkG(mt6v%fHD=p6f-gzc>V;q#f%3v^OWlh8=3UDf%ryl<P>L+r!>r5GN znojwZcDl8JyuX;yA9XFbrCpyOv7iig%Im{A(*|uo>EYB4(>Oy1$pua!XQ||2ek~W3 zY{wkX`^ykCxd10d@5~<bgYs|mFFE@!1+6iObTDZn)QJkKDlk`fa6e8;e79GRRN(K> z+^B!~eO2H=kChMbd(gW$d+?hQ2R|}Bo3L|3dd8QLlb&{ZW+-1@URO*hXf#+h2uq4M zQ@{|?Ndpsy5lW1G4O`S|!=97QZ1V_3GZRm@BTO@+N<Z#G5d;sXI~=n0VR2NIdL`$> zgRh~{3X(%)#`^0a#uHekTiXI&NATLj<|<a4&dW-gAD)bo6H}{zL@GB5MRO%NdH-fW z&xc=d2fOSVDyRiI$2Rl{q19Hhi-URzhP}yFZAx5Fv{$=K<hS1NrU~iKlARX6yUWUh zza8G}9S=1X`II>YB#)xlJ9I+F&-Ymm0p9HWdpmbaZi3%zhFI5dw;ubRQ*r4ZOqF!( z<4V^*JU)?D=zIQV&F5A-sAAS)6SyFIF=4el3_oFIToVR*xTs&oS`!H5azBi*MT=du z>*M)t3lhlZe#j;SO;rq#!b2KV$k2ySKKn!3#;_K_q^>a2JvbaGO6=nJHICmlxgm+) zc3bV?jg_(6=I0w^`1kK$Xr`c#bck=frWtDrcv0dtgIANX{wX)kb7|ntPZ@fKf3ml% zRZeSL3$EKJ99N~m=~1pBqh^5FK+@;851cMctIVoOU<tDO8->-kFln%hAyhDai7Hi9 zaXGHK6W?c(I&q-HgM6T)k$t61)zx5XG@JcYX=KUo5Gwonl-}q%px&|5nH&+N;~GhC zq9m3ipS1F>`_Ys0`1Qo&{i!@rq<8c0V9mzM+}QFRXZnUMtbb3rE=Gx+M&WJOBlo*e zup#Msv}`TzQjKo{|M@}D8E=0aK|Rg<@5`Rk_dW9CKgS5ybH=NQV!2F59#X8=f17UF zNgpx4vs{(htH@Zvnn+I-=jkKDogm`si?C^KCO9wq@C(W>mXxbcq}?jFAmPLcj)bc{ zj_3`=T)38tm&T-bENjA^U&+3??VE}Oo0->s%6hsJ>3r<d{g-4kHwNwMlvA{JS6o#h zaRV&``{qAxc>I(r>Tpx01mg6E^|Cb@0&U;n9KDIw;EwOCokDKF7JwU<FkK~v^TzVR z&x`C_^nmk)%b^)ZG?-zhUkT<eJDoyqMFY1Qveksn&Jcky=QsYzlLML3wvbL0E8Kbc zybW*L*^3vPGv&-z3Anrdf|gAdRF?NI?%rv6RRsy{8NzrtHJUzBhNb>EZejX;6gitL z)mYg--B(oM#EO@%UeE<cfVHcIelBn>>W}eW`UY9%mY8`5hil6)x&_7sc{+C?I%@G| ztWV6{T!=b;ea4K&q*N{Cr)0qU-gP*goc8BUho}L=vhw4<YV3^n85w`xRF+jBgmEw) zcwc0A`;6xrse0{|hFsxaMts8e5dVBS$2)NX9*%u{V~n<<#%}xA(UIHw_t{%q683e@ z?_RazD&*;4irg=rcGGrmw$R9$V)<|jOu6^&I$6o0MN(#6qq(ty(%e=h4qt|1zY>m( zPni{bnekLC(bJ-}q?{APO-C~B*6%3Wry)Q>FNmFV5v4u~!>styYg$9g=zT;u*KP;x zdd$Pu@6YjnVs<yYbsEaWzS8bXlWR~eV4v^h91EfTq&!SZvm0t=SoA2De>x6%Y@T?Z z?Xn}g;-SeWv*Izt4;l=I$o7NQ7V7(ITp#~SBgUPF-4@mEJD_N@BfsJ?DkOei?bd&% z@jlzU>EJL!{s?@an5#3w@|*kYBYA0LHQrHhBBb|lz|q0hs?xPYy2CmoD;*FpXA|Fg zAiz=Rb-`>5KAgPI)?&{4VU0(Qf}io#Lu|!E6(isL*uG$<l4i#YTto?-tZ*cZAtG5> z_c4)+GOKbhaXN7KR3DCdL&X?1k9grS_$H474w%jquW~fjKke^CdM1keVQOfxf*$$6 zQhUvWgHv>E2{S^t(YAlHBz>aOJ3Ck2F+FWk!5-yXHFP3=htN>dGJi2F{d}zJ7JK9A zQxhqAF20-^AGPHDCTzayFFJY$-hv*sKl4}l0OVi7o|&E#jt>}pkGqtdLh2?W;ym|l z191CM<wc*KH`^jhsT1B=g0nP55}bI)#rwZ3L{4lbJ<Rpqzv45aBjt)VgG(x;pdI*f zv)dc+(z|ACN}j_GS1zH?^?}px@}0w^{K<q0QQLX+^Wd(IIb%~%L~#S#YRjniYYARG ztRwoNhHYP%HV$fMlAsvqRIFMfMN@<z6X-sibT8r{T^M=x?q9G&<<|)3TgIxq5BxzF zP!v?BLP0<J<)WPw`{kp*w{vN>Zr_FabF>5>6N+Q)w&%Duy9#Vs6flgoe0=>Zq|q0= zPB+9}F#QgD*B$@$v;CO3gCA+Yk7U0*qlU-ndGTwht)hD`aj^%d1^(MVV<p}Xlo8KM zzv!`_1I0Ej<R6ye<az?M62ukzo)cCI1pGhczwhyVOjyak-fb)jYI_=VP%sI|O^vy_ zNiRhip()ChtIrN}D?GQdJ3XmZilMDmk_|AzfBZpLKG|_ubn1Z|1KwhOTs}W6z@igL z5Eh*3VLEnYlU0;_Gk|~RB4T^=2HQzPjO1#?1rz&IO+uxwpUl>Q<<_q!{HNm8J>@YC zxkW*H+=3Ib89mt*L03Nc6~W_qGQS;xAA<Lz6W{6YM_u+(cZK_x-T)oO?=mZb?Mpa* zJFl9B?ngEJJub7&Cui=nVcEF*(tAF*?>J9f`}W-eeFr^&bZ>;~x8t>w0mipg0Uvhs z8}OBbv`5>y0`Ab)JfroRzs0aWb22m-`mD@_rLl6%7~N|w`Puf6h6K3lgBcp{lcP*k z(@fIw`SFz8jngJ8{X{Vm<YXh464`zJweGf16g#&8d@i8hu^Ou9A}^E?Ajvvm)}f>; zb7F8hLUR3DQxsw`B;yh|yt6{B6Fw>KPZYoS{AEm{n?($Y>%|+Uw|_;%pdu!$XO*dc z!?5JPg9|c;8i8Y}rd3xlC6piz3O_*J#A!mI%I@3&cU8sjyG_!zIE=CxI0{&OHL44Q z@|$Ahb*M!l$?1T8I2Wkn{1rdE{3og)#i9ypmA?X9sYI2#*AMYp!SBtA&I`q;(h~l* zOzqi;IT&uyJgvC|yuXjS#rJ+V>3>|ZVOUQX-`I(NZkdYR(0jr0%viE8cW-m;Hy7ZV z5w)k+TvxA8krtP5Te<Q%_tAvB=3x&9JGQ=}CoM{6!h|7J*8lVEf%mTb=TiCS4UUL} zuU3o?&kGvY3_3*USSEXG8;HBwveH`jlu@hrhTLZz8>^Z_EZvNnZ|jPE%hqLVvvK@r zMmo6eWhNb?#gd8_@%(7A{k1Nm8m@|WarXvPCKxCC`DJrox%~N}R`~O1f>CqodKcGb z8#H^9M;eTp#HxkeZhI8Mg7-4s{yvvc+8^A2_2V{>kB<c0efrCda$G%5!EbtQlJg3= zaXgBrQHD+MVDl7q@gC<6s$^y618w(A9oPEa(M^Sej@LKlstv{i4$sRkuWY(a+ZCk$ z-W!U&CUN>4?DS=G+Mcc?cwf_vAm|Q?71_`QwLO8x7e^3rU=C5?;Do{C2-?-Z8Qw$& zS$josRTgG$d8kH?l^;KbuT4m>HSUmU+kws}`n=!sab{;EJ!W{#{5#9H3-JZnp&s^g zhn@;BuMdrt4Y#L_-^MO@ix4l87X@g&i~M}-E)`p><S!M4+rg0cDAw3U57OM6fQAFo z6NfZ5jj}ZjIgn-o((pS@>HS{fuAOA>QT*$VLB7LXp!a*=&lkPlca8Ej4aO~C_}Bu@ zlzePr&B(Pl?XcN8DloX8Z|E@mFvVoNRgvApX2kzuc;w!%gp>c^g!0cm&D?VI?zcv% zs8$qBc${K+6ZmIYdfm1+mkBa&dv#9z_kS3{XM7Y$J25(7>dx5w><(R!WjhRKjBxwe z>=Er$Fz8SisTF*1?^J-ng^I@#*up>}QrG=Pq3BI`XN!vL3!^UC>B*St=n-MyKE^Sf zVpyjz{cVbZ>pj6Wl<N?a>If&y2J}6yK&FJb6HJ^D7IQ=vY2-BG;DO%9nrk-K9BR!Y zIher~WW%^!xP2$d+oesmpcAN|<G2*|BJvZbfkrESW5Yw{*xh>j1*^gH@AVpsCaGh% zx#Rm~%n{78!u#U=r||m$SIUPjn_2U5qVW>@M)Mm;Y^|t1i^`{gRFj;pPkw~#rKQg= zxHZIGv)+dwS}<(d)ooxmWk@{6AO)ml@vr{<D4}D2W}<sdud#q#@Kxuo_j%Knp;&sW z7KZB$I4Zi)sA$E$09&7HL(PO|S8uII5pHZJx7|`e8+@MB0Sj?crb!pseHGU8&G(ts zR+=lkNU9${->WKxj;mI*TOl1a?Eei1U4K(ZHv)8(1l&!u#9xLU+wC)kkNc@Srl4+W zsXoRwA{IS&>D6XOXE4=UsPM^8TPVq>RL7SN@?!HYkZ2@VVe>Z6V*S3DIY7_%GhTX! zbab(gPS#<C#zJFkd(oV?jHmJED16+3D~TmaF(xN0!G}+4LjCbcSKFb`daNS<IyTmN ztTggEHr{${7mz6Hv2;M<tjBI6uazUM$9e#XwjSFA1i5iXtDKHSG|%ey7+%E^l~{xG zf!L=iCGcNtvHf;Te!cVi#O?QJefujHU&f?XL?^7)>ThIn!(4m{#(q9PhCPtR1~RmR z2r!SL#86k}as3EbZsc;q3?R+pNt_UB!W!Fy@Am?{;RG>M%tcZ^g1!|(KLRmtlS_kJ z!3S)sd{6N^T8!?Ge*+k2&xFW3$42jdh16zGYA=6e{GNKT6WYv#v8}+4;<8s*@w#3B z!NrA??K-_f7->!`yt;V;aZOg+Y$oX;;1XJrEHoYS(QQvTgBC+-sJ8EigvPa&DsPA8 z>R%`moX91mRU;T#C=MKJ1h42$<v>`t*^}No8H1T(bqdVHnpyePqBh?rQ6*>APdcIz zV;#Ofdgk!hv{NV(MPdRspkY*D7N8hlK0%3V{E&nr5vNtZAP`KZfSQ6D+LKGtO{!@p z7$y!`jb$h~>ekvF3?3qpOqw>gjY}5Vgc-fkPRctg(aK8=EQsA|x9uLtOYKd0#v{o) za=T6Wi~p@>Cy@MATSn&}s0-wt6I#wN3DHg@7&l}dzAvdWn}%}jVgtpVxOX|=Y&zYZ zWoRqRtdLFZFXc?9oaN=j@dXmvH%orr9!Vc7gquXwwDrn<CqAb|ye$w|_B@DKiwDJ- zH6jZS_vJFL*p68FQL=qu*XnWcNqqG6qwI3Dcw37sMOf~$$BRwW_h-Huu`jq(4o8S^ z>iA1!4@dT}eca@Fma~ZK_^rUu0NbaYaeeyYtc>ycb%+1tQe5ov)JjsQVgSd3`<He~ z{~sFSNa9PSl;OFK(+NM-_(Qvk0@!jKZ+UKc9`L^S7l*5bjLn?doWkqTxfkTSDn64Y z9Xu99AE8>}pCpv7FGsS7VQKUt(v&xG6h!}}DZe$9!KaKaT@L~RGL7C4L+m1ZGkxrd zU;ZkBT@j<)N?$O^kGgiHcXmT2B1Y36K~w)1@K&TJB2;rD3NW)3Fl8x)O2qN}b`5XT zFY_<Pfn@Xm!VJNX@jHE{h)`uG7gA9QU{v&?x*xyWleo-xJLm>VJs|;iP@czKyNI=Z zn<rwyLq{#Q9AnuW%*I;}WOdPTG2NJ^JKF<@wJU8j;9H}fskxJ$h*WtBA;z-H3qpBH zA)AEp{CciiHH_?&-u#feTER?=;051Z(}=P`6FIjG*YZKSS|qBdPF|=wxE#dWq)Fxo zBws};Ot46D6yXecG2X&EQ$3%#rcS(N3JQYzAwE=+01vYbtzsaSsg`?CI^Oqx5%!MJ zeLYdbXl&cIjmEa!*tTukcH=a*ZKFxr*iGZ4angJ8f8KZ9=fhp=e#n`b?U^|<=eIJm z_g)mQ2{!wOi&0TtFklZN0Fy_upe<j-il4lB==V;8^GxIY&H>ZLOhSFfvfYTD1?t2V z+>9)?M7*avvEh%C0wwLj{v6>|8TkSchST#RrU2_L#8V4DlvrM^SlS@a{Jc4-7emck zvMTIyfgPjKoGm<N3c(b{fFC^O4uO|RzGUY@B?Oi2i_u1$Vkb4hTPWR{WZR9oYY#RK zvl5taT{x*iZ26tb6XM_GGl^t<6O-;t?Ty^%Oi9FFd<hP)Ul|`8@Rfltl^l=tw#9|W zC0OswgO{92c7dl~8sBGQ*FTP>>;mD*+WNy$f9;e+T{x<YJhbz?Vd?7Q1;l=5QX77} zJqk&$`FAlPoh2JPNP*5d8Cxk6Ag%yMW}}LulB$Tx`5Qwewd6XNrIq6CLGFT}k=8SM zJxz|B>!>N}rw3*$p${Wj?|6D|E*+mdfnDVv7U#O+>fw>bh#Vwzr4$;wEUzSSfyn3+ zX$(Gje#w%I;m(XglDoZqC$XlzeLJzuy?rY&g^1WxL}w`{$bJa-0jGe5XH9HmwV{eh zro?iLTWgcA=>9nv{6zja{7+u@*0;k4ixo2C)Fn!(!AjzVRIY_lf(lGtWG@_@7tyE7 zhgF{#r2+uBp8%k@62$YV>Ym+lIF=d%ex3mY5#);%lkidiRU37wQfhNSTtHao?c}Lc zmStg_prUGF$pJ-jTdbVc$C2|=^uEUBb+m+#nfVhB?;$)fwF>r7<-uWnfw5qPMSl<5 z3lFa3sD}RKKk9MVt^^N7`6#IR^4k2-ahU_UpU6^Z7xGh879_#>AgvGuAeAK7n8MUx z2^E7h3Pm_Y<iVgyV)cXug$krQY`3d(<W7^zelZkFoPO--?#~Q@5(XkVsZk!(Dah2< z5W?)iTA(&CesV>PdBUckyqrWX3{uVvMRB}`cgghuyum-&CvYKlAg}dB=D?oXP;sK0 z4_MNBY_YZ(uQwXsD^X^?O8oUr4?&vWFExcx_?AN*?eRoYFb&g#<b?bau^}|*0=Igl z6#|c$vf`NEg)MpoT4$wz!jSuRwO^v>LCvLn;1S#pZ}q6w@@d6u<DZfuBCB+|M}L-Z zW-XGC#^KX*)&A(}zubzL-avi$_Z5^@93M=3nlq2>_XTT{$6rL-?+!>;0qtR){kp^5 zI|<j9?c_bL7l&JkO0mD3wWA2_GuNGo#pBHNs4Nm`Ty;8Tj`rBJ!lw0bnOrqGW;B3? zYj)3U0ot~O5~5?X?eMR2>plAid6lZ=WZ;UjjaH@V?4B$ljFyd2hbs7RIvz&dN|969 z*P(P9cr6>J4pp(CbUeJe73uPih(X-&vjG;6e2`Km(X+YT(ujN?nlN?l17~jzt#<Zm zU+~#c*3?Pxtu>n(HZEy)Ilgfa%xYF`c7?%Cd7ipmuY8dwz2R7n!0~uuA#Ck?sU6xR z%gBTyoS7x#g(R}KsV7ew+7CIpam$6a_<wWdH{b)x692sMscXOSYq|(-4NSkknOB!o zRod&p+Rx7ulu~|CR1@T)iTP(4$|CE?6a6w~RgUa@6>0yHH6$p{ig)uu%W5(5``$Jz z`Xx&xC<c}4%v91*wBfTH3v%EZ68E3cUN}h8zA&7S;G|y(EdL9$wyx<v(-8m{7hI1$ zN~DHL{{a1jFjiCz!~XDf4z(of;T8qQa$#LN8-#i+E(iAR;p^lYNk8M1=&}MyLzVA$ zSF$NdND~Aqauyi7hk|q%x^lO$Y=wIANzfcoJcd)+2wfCY#$n`Q`=vy$2s!$jU}Oz8 zyKibM+6dJO?AtSrLI-Tt4!Dk-_uwBJvR;wK{0_)B76<VW`eEn4Cycs{VJaVxrzV=0 zS=2_QDG|i?fANruX`L;t%R7wC_=V``{ZVRy_32P#Ry#21y{g#^z6x5J6i;Jkafskl ze_Ur@REn^u_C5EO@8uG{_K4V`@lEw)?jn!32r=eLH@+2!VG}H6lmD;;H7sM3->3({ zQadg;E(9%*&CaEIhv5O8Bs!?pm%3mRNT{Y1{3;J_Z_qaybX6nHRnLLPVs7GtZjf#z zY^pG=!mxt-70fEEG}tE1eo{d8kRpq){g6Fu!&wgWtd@sW*MQpORsrHI22_SYf-l+x zjJFYv+=8}sVRYsR*4{6pE(q9FN*fA|LRtwLLM^OM6-8vYm(UtHN(xghOJcshP?Cu3 zd(f?z|86D19pvaPJA;|`#&K^@&%Dm#4mNNNJ9*1rLCpBF%X5%8(NyqCO34YuJiyn% zAaEsY%_3@Ky&uvUJ}ZBOg#^=nEgZK!ln}EAp^6|bP&pMUgj7cG;!JbY;51ceK7})? zEHdnX`$3^1Phv}%;Vj3okq2ACn?N^&F5#L$S}zk$m*Yw(Y0l<U!Ww)WXAaje-9h9< zm(e!P10`EmL2BQ2L*#buwyRer7HvMmnPX??n@3f{A6lh%lwBWI?bltd)tO~M=i~Wb zD6u<Hnxh^k(-T)yM9Hr-8IX@E2<Roa2yULO414CzUw-z2T`cowEOX(Qr_Q4&a4ljq z)}kwX1bfg;XH)Wr>@0k1&(jzp?_iXEvLg~X0Btc5aB4ywBVoWcmFbG}B)_0CYHv)2 zYt#eFvmt=+qjk!0hNKJRol?;H;>A$0ZJ)N~GU`}7ra!6fu&J?^%x|{RO(_SYKpwSd z2@Bm$5}_K6?mdAwwOZh7@`tr;7w?+wI-62nbZ9wL*K$Su8<+AV4=T}mocPV?V3b4Q zdw7Z3T+wASmOgf@V&hWB*Y1Q9ZzopD<_A$w=P@5VUt7%6XxaT$fuu#0Z!Cf?X<(AK zRF(|I5|)JijE|S_>RIkHri~L;JPI^_w8azIk!mt{lCh}H_61`qTPs`9br1Wr8<ac8 zi|>#5OdA746mdkQ@{3iD1YUn@pKttR)PB&y6#nZ??jB{5r&zQ8qcFEDYr9lB0&}&2 zyud2t!Fxt8bz5IUcApGS*|n#h2-cXKOb}n0b?DaA4@A4PDR~G)zx{?cs1dJ8Cd_Hr z#P=tn^y`Sz&nb4ty%yJ?-rm^-WFP#7`UI!&Mxh4cjwLVhveuJ(?&14zYXln)V&2Ee zoV`syh+m8}(YCb49-@|qR$<#uVXDp_Nca*R=WdsOY{yY9f7%HfiVeDo&TGXktX(bj zk{0i*vRFIJ;3FOtQ1bg8jH3|^urFu9Z>kQ(zGNiABL8c}$p|)SO`!Ygi{^?p8pjrS zX1OjA{wq{%HYy0}TYMSkvFv8;w$!)#n}f_{0^{0s$I{LeFGODxTC=8<4vo=ZRLj7s z5YamG#C%aIy6Cm4p5HWz3q+YmxRogUx@H~56hn*ru}=HQ97>$yj;vU+JwDXQ8U;AA zFL@Hnn2{n9K~$RZXoK=*-^>t;<9`-cWn-zonNLywY2=DwQ3KA`x*nJOoH9&bx|FU6 zLa<v@1>X2QvF26aW-a@S2U{vIZ3T5}3lA_hdI}y14nkLG?s)gLD=!r<JNLEMrKT7C zh?EEqxCihPuFKi7nNW}K60aNdWPCH9!B`oPhe2NYJJb*AdBnIM_Ie)#ZGxZom%Z!V zO9BkF?;TXrYs*%Ijz7b4y|h4|_ti|0(qpzkFKHYmL86mc)JFlT4x@SOs09s2I*U=l zS+=5eSbow?FHi?n70_Ic7l*FL3VV81Yet@HPOT7r({!6aF8cFjS?_!y8h<NHCadX+ zbu+rI<Xr8cAH-jC48E#gl?ZKZqOXOzi~z;olTKkbEz+>LgyV|!<%TrDL;|WY$BBEO zBU48qntR=j12JLox{LxRPCIf#z}3iUbpZSuT|j1z3A-E8s0)i`ljSlZ8Rew1sVV#S zIZqlfBL~XbxTIwp_=|ej_TmslCdTB~8q@Y=`;Nm!qUFZ!EQDq&C%%W>Nns5Fxk1no z=Y9Eg6Zng*XfAn-wUX}S0KTK6uYhNt!g~_n*%yJdGF?|DP50orrorfZSYQZp9=3|K zCS`DbJ8yAdKb0#U?VPXl+IMV2xppdBQ5WaFB|~oF^33vGFL7`G@Fh-i{LCj!)Sjub zHr7=?SbwfHuRM3l-NW<nS(WL!Tf+~{UrMO%S7GB`^nkma!0M1!l&ovMusfzHZ!Nb# z;#77#w(^%XnHvnFb;MUR=D3K(S4TKjv4yz28@UYH%aB-+cWwnFPtqTKRwdncQdav` zIKm!(X~iWxJVn(CMi75!s0Ei3jDU2s?Olp!>Dp9vk2{zhi&`++@W-R>!aQCZhsEPp zd0et`i=h|Z@OD9VP`3<-cHDr>>OIax-)Mi+JvG=fa5Ck`+9I;a_T7l~vfEBnwcWH0 z3`tfSb%Jdj+w$N9Jomb(Nt;kJes8JO9rs*;6-*6|K?hgp&kEe)T)P2Z6xV@^foKld z%Z*5y)ZLQj7~i^ygHBnTTd?#tmjB}e*z3C}b;GuVCM+TTLMzCjM!OWlW>dhL&^6mD zdkA;rcDYJoJGN#$*0C0q<9wmCm$MirVd?#<MnOC_04=`ac(D6GlDJo9vTi?!l<yS< zMZ<a#)2y7596@zaZ5-v$qHI`UFNoZTxh&ot;MzG=x5ix11jY#>TNfWO=T=JiJdAh_ z)(Af<xcm+TP4a>m!L9-=Fa4~dj<8oDm3wBva9`u{Mq@uWhzkA55KhMx2haWpuUzNC zo498-4EgJEfc16ew;`dlxF<qbW258zI9E|tz~Rg;6df%%dfv#FYIC2LdM&gzv0#g? z5|@mJSL=(48oCo}W~PuWeM~v+=Eq{#9HP<;9vZDzwzP7<Es&Lyx(KEt*mh#_`{3|0 zBVf!rqKVYh#ytu89uyJyVqDhvr&V-O!;Ni1Mr4}<S|kn?-Zn4k(N5qN)y9|89K`Z- z;wXDiY&a$$;GGDLkPPM>#0}iT2SM*R0Wdsaq+Q%B1*9*OEU9}JL2@`m5PH+skOOx( z0dQWl!#FE@Un7_X2u~#{D;4L(l_(A3wQzpxoa&i^U7Y^j_C;geK|EkFn!Z-wA!U8{ zB6D|MQpw5uJ<r~Q&fBvKswa<5`!1oEgGp_G5;T#@BH~Qu9S!&giXC~Iytuv-bQl;@ z7zSj@v6H6YJ3=n)h!p(_E7>-;qR29~;K?O3TL&3s%Gh{>8mcozsq@_0gzeTg^|Vvw zyT%(eKOK1h@kF6*cBUNVIEOqB><8bvLFx3C{s;R0y8etX$MR*%PY84`%9wfda(eg; zv0{dG;Hct-?yPL)M+XH;O3FQgFU6n(73a*O0!{9Yd1W@cR$RH&Sl>#*Ou9CCjPu5O znAYrGh39vcyIO%Lkkq?uOQrqs*BYy6vpVPvBfnH8(CiZe#i0)uOn39+P9Rv6o|GKV z9se%I0p3^1Y<xwky|X*`{G4p;U5E+IJQzvU_lNPvhg8%6hU~}T4<z&KKk|xObw0=0 zK{9-XMQ==!_#@lPi&aw08gMbrwK#0Q;8UuW3^7C9bqKa>uPFJ|HV^u?mAo_&4XZkn zn@0s4;Nrg?>rp6#kv_~kLt>Qu?1-G3p9vR;*0Y=`eq+bxL@iLxlD6e>Wo^nX^7yLM ztwbeMZu9j8qjlNMZANv^Gr6DptSRo@M(VckTPm|F?<*gj+R9L_^;gR}A_d&`nsDXh z0`Dm%ybb{yV{)h$_4J%>Eyi<6?1-7x%FBS(YuBHUY)YXgMPIW*iG+Fywra5A4NJ@% zM7fEIbCEsxRt!8?9WoS_i0NOPTJHaq^RPx+$N*U&xoUL$nS=xDN}w!PZwPA}u)nX@ z`n<!HkD4QP2<ZfNP1$&(%O1zG$YgS2wDZrdC;pK60n_(R3puayN6$u+vjkU3xwRQj zzG2g#!xnW<<%;?)JRT|1>>Nbr)2(pcW(blA)^N8;vP3cl{qOlYsauVlUB&QVI;Sy9 zavbsE??TS#ny9^*9E55MzfhvCrgHxAcK4cmhaW&jNKERw@l?LB7g}d74Mry0W2!^Q z(p#P8=Ny~2tcWkRio^x7i3^)^Io;9t8D3QSovpPJk7R?EZitg#$&L$h$GB|&$JG$o zGf9athxbn$GRn>^OxTXZo9ee-aXofE`H8Qlip84!4^XJ}!c*TYtwk;DAvN?&^=XUS zWeNA265Pe^vroUFdmW|U(|=#9Jy~R<oQ<pqsV(|au>XxYr%QN}?(l?sbguVn?XA5& zZI*;sui^Apjnk6VxX-v&-=if1MV(k*Twk4X>@EhM2LP8tMG=ML*yMkx<o!RN$iLUu ze)=3<w3~QTzMVGCB`|mB1U%HX8%Aeql$5j}Zg`*WsJ5aJar%NWrq#N%#``%(oO@bd znz>sV_K?0}yV-r_hddWNI;=4<3?cQ!hpRbyLkHMKvn<Z#xXcWp421$J-Ef;COZXzI z$n|-4nr}u)Y&jl7$CG-2i-kXUFdgxm5I3*~oVLB@DA$tw=@|QKC+Xzpu<>N6nDP{t zV}JyaO@@*M%Nm=d(+C@XrMW}pD%sQI^#!w!Q(|=ON=bhO`^=rV=^}1ORBnJ_Drx^h z*vMZfkvRY5FfkY52>a@RBa1a(sD$iyW-{fPS!}kqA|d<Ze-cDKteuvrt)yeL<(3mr zLHMWz{yDUx+9Y^bHZBZl{{xkY90^-4NmLyg5lzib*0pOwd+p(zK+h4(Ij^tPO%f)S z`ok5O#1P~9>{8z*#}av;D&d>E%TlgJrX=fc9Oa(vWa}(-b}K<2|ACwvwKK|k;&r>8 z@CRPUhZqjK>HY;AFL3M%<H3h=!N+63P0?-f<pD~>6ZdtA<L-DnJ7WCLq;&2-Jv@gO z`eaMeeM|iL64o0J(KkI)JSQN%)>wN|AnPfmq!rOahF?yE7C)agkq;lZ7EVo2_dt?& z*^R1AY&%BB&nNWnz`2_cq2;jhnY$y9UTdt-y0&M_29_HiTdm!P{wHiZ&Q%%v(ys%A zA+fltWoaKE!4}K5qV0-qXZSUaDboHulz+$~l+UU_SOpII!owMQ*su7=-~10h0u;U4 zZV<j^ZFe~?H{M$mGyWxH!!U1jMtNx~j=Od__|pRFi*GFI*V+hq^Eyk?^W%x}r2)vU zHMVSB=A9e7hJUv>1{w?N$O2`R?*(lj{3Lq79wh|hm3jl&(rb>tHyv+D67UB-j2oYC zaq6M1SI(<uG3EsUYTLpO)06{<ebq?+VrFGWrC?qP@6U%YHsFctyNr5HxSf9OU`qI6 zEDpaXFovHrUuhloh*vL8I5tPsv-8CMV!Y`y1Rc-5poNa4`VkrLSu%%SPyK>=pgoce z@uG6jZFO+CB`#EcXiSJ)zV~;qSmyQ1P8|^X$_h1PebLc`*!jr|H=t2|s+}H=S0mya zp=^`ZB_MIf&46^c5TVRZHH`l4_QnABLoj3;Tf_@iu?}JA{`Q70cC{~K1VQE=RAu5< z-b6}W<Re`8Bih~*5^BxS<h6{-UY`uv5|)F55Uw?1$d9NZ`yRrXbP-*%B!+(kxGqXG z;>^!JxGrQsVy)*Ogt3(e;2sKL&!XJP3EBVa{&+Xf=B-1M<=E%LU15GYn044BDL~=e zMDY?tGcp3i@Z-;~Kj_P%E;Rua*I&{?8;mU@sdoLIg_3Lb<_}|hQZ(^mJNM#z>sCB2 zihJQc;-x<_U>Tx)fs6ZXA?<JD@YRn~<0RK79<iO;MnAtIR8}T6r4<b{{~3Sm8gKSS zGm+8XGdh!mebgc4;UV|50u1O(NU~RWVfl&)Ci)ZVJp!?-KPHCSNC=P&m_37hL7PUt z-o;~}KOD>V7z}E%zI&8(a4%%<*`Fw7SDDg&Wi5K8xd08o9wr9eGIVl2T^`A7QZJhk za&gDXCp?%^9~F8@VaOxT1W62r^quV>^g1`y;gQ+~C3=*>noG_A*@N8yTp~YRAxozJ z#}!hLD3821G^|4YZkM1F+Uu+{Oh80W=zZDgeFp12-o)QagT6d?JGv6v6Uv4xTFd;m z>3tSOOqkC#6YiUgo0C~y1#RVBD?)#Y1cmp#^Iu>p%g#UOhUrU({LfdV+|j$Ui3I+y zC*<boB7LO8wY%C!?P4?S#5);cT;P}n5lUa_jqEynKvR|9_*s!TvVbV5jNDn(Kgpmp zH*84D#KAS8E^y0s|NTXwK?`J5&)r(6AyZGECtkd>@6F?+@Hh8_6IFv+oA4EA9v68* z6<5qg-v(RVA%WXmy&%lehPnyuG4vJt-%Wn2_h|Gu5p2^v=u7}Ek}3tkeX|DY9kVr$ zBVS<X8kfbP)2@(se0R@7?>dy)^sdHTX)X4Vs;$k9V9;==*Hp`g=Wa_OD^LVj^!!Gw zi+(^!#<cIiqecpS8^yg7As%M`^#rw_C^noD?@2!QRO*$*x(&y_hfiF7Xf;v@lX^>Z z@Ej!sBuK>%6v?ypW9ICGesS9sJwS|_hp!#+g4>_jpIwY%P7mhA>4#%5>rufMo#YP& z0((2Nr!Wehim~G@Dt$UV%HnC0=AeqR+Kz<Y8ISNP_<=klJjEe4m|OK=JO41Y(^sD% z>NEHl5%5g9S&MTn<`gFMD|)7+>KAd?ZcT%W#~KdK0y2Mb7$<>U!Z7||Rs!oMl3|S# z*<d6>n!h=Cz=D(G&mGd^6=3Ch`_5R={`BLAG~~%WDl?RY$_MY?Hx6tFLvuy)2=ciO z^!rb@M`wopN2%gTby-WMKdB2d2*(G@7FF(8Yg)7yJh3}>^ko~nS>UJqvHg4WWl|M4 zo0_tu-nI}{IpHVHV9w3gb1^}_SVRo4!c=Qu%5a1HL6#MRqCCN8I&WkKw1h11^@gyU z9Pnd<u>9dyfgs(Md+r>;nPWqWJi(8!6rg@$1F%LokyNPb5=Gzxuu-Vs>hY!tkaQ*l z5h(+w&Mev@yT>|DMX|?m;Q~%zNsx-rUg0#jAjAoyHxj$ujc?yYXjjJuJ1B$s#zfxI z1}1fQc3@WGOh1sz+!lE3+91ZzU_kQN!H-2?@9irJpq|VL`qEL?*`h7L2f7b1DTxR8 z4OQS^(pKA7X~K)%gav-U8r>2|(1P*Uv$9jul(jR5r+b4vswi6qNm(KP9;&i97)1jm z7bgTwfpLSJAX7$C=7C4hfhfp|z?3NBJ1hdlgSp?$P}LCtCDKOt&JE$A>Ua;vgP<Z1 zbb@v8i!)dY`{0!|7#U^-L{IAZ9@HyNb=4(5T6KI_Jk2Ml9fkwMPqB#kabEkQwm5BD zmT(n$7dNUD>>dYN(itosA_wrxz!|8rYA2XDkjUqa;!FLx3bsqJ0GA|Fgh-M&U=+j# zCg#<Kf&;e@h{y8^^F(v92f}WxED3^vYECim1#eje#NSF@3S4+^4ku{ZT7DeNj+zCD z1S$p;^mx%h2-JumeoZ`Rbwwo=#G$x255Wl=QUNqe0eVpVl6cA+uc9PI;UuqW!2<+F zVGblqOn?jB=$E`iHY7_RlYklM3>gcw5jn&)2$bsFombk4Y47-gdSSv}#a)Vf2GGq; z0#FFWJ)kupUh4_Qr)koQ?qx*zgD<$^v#PxV5DxHy{>cXsU$+NgRvPu8W-&(t&@Y|Z zR}iWd08NK2(<eE$aW8rn3(=qa0do3=ZBvZQbftMDH7B2d?S$p#VZFS9{?>#0FqGa! z^TOa|c2g+D`5{~$0pGcSlhK0I8*gXwHj*_+xohtmc=a)NFJ3{~FIYngC3VtH>57Bx zU5QoP1a$^-gSdD2i}`ij);g5kaU2PRdZCT;9ZWhBxp6fyQ|_G(rLtZ6*s3~Jbq;Bk zInxTQvYr~EETid)4&}C(@uC@jFsh@+Thm^4{(Ol)+jS+(iu-e5aMo_8h1yE9>r+U> zTc=y~E40q#EK+anKwY-rkJ=RJ&R_U+)!mmESz5PV;W9UuUg>A-PQR5HleMqs2zA_5 zW%>Hem1X*RigYzAtpzUht~!<a`udrwI!AT&)^P5w`by7Q9p_=)-Em>Q9do5W{<<OJ z$9l3nqu9D3MtI<8;iYRIy=33kdiaZ%t#m9|HN15674s_p$r10EOBZeK+U88MS>2T_ z)4X@@6+YtX5+rXg{G)qT_EE<ZvvYX+eS|L`&IP&yDur)>GkjB|F8#2rBW`6$Gc$F+ zz4J>d-+H=Y8fl&6keEJuRm8CDn*1QakF=!}kAMofX?wC`mf+=+n@Fj$`#+;^;li}~ zEhw&8!sjM4#$Z?1*%G_U*;&I7Kg*4f(4UM10ped7Ks5*m+!e&<jYPhR2GE(OvP7!9 zpnZhNcJD&~?E`F6By?$=7+(3^s&IyIMO{QUTqjPfJ-{L03@%RxBIg*Wve?k#>!`|J z<&XR1SvAfNW=j+~5zR4xU0m=qC)u<mZ8Kl+B`c`XmOai}hR(FG&se0x%2ru(0VMrQ zBY<HqRXoiw9h!SHqEfRKsXt_Y-=#WPplb7CTVe$#!#i7$TEPLd%Pg3nR14bJV0vEw z1n4OOE!g_N(r~rv7mEla%^Si{;a{qRe*8q>Qbv0a2n4~enI^k1INrN3dTj*YQoBDo z{g72<Go4+)@_BfJ>l;Zy)aylEz_=Af)WPtvNYiC#x7s19U}mx>3&Uui-M*16@Dn=E ztn4kLL=KeJphOB!ijR=8SfRR5Ik{lEP#I+b$6Fmfuy7;|9zYs_1$!H^TT<XZ6&wRq zdRW2J<>bU*&=q9FVD)vvf)F{*&(Kdka5iGQ?g0=aEWSh*RKbntEbOo&ieobrAojjD zAoB@QzcqhaV3)dq<zCl<UL#~G?q-D3<PRA1O{1RnLR8tgmEt6-LqLiBWf(Z}(;iu5 z>V*-3*e(nr0b`yKiGaw67mI-S!2mp5EK7JH3I-hzoQSz22g2zW3BU-cic275v5V}$ zGM!vu@)}WQNuAE*890DV!nhc9q98t8vdD-Q>np+c@3?N!qk(h=J`0W}Mm&ryo7Dmm z9jyI9^*{F?dfMU}0({4?!#2P0JLhB{F|`{*xmNdr5qA0)igLwt)0?MZC(1SX5*v|q zoOkdywEix19?}0&{EJ!K1(6`wmCh4mu4=pVxwI%l8K2=tKLq8qzkm#TrL5?%kFu1% z^h#eQ_Q4Nig^k~^y29KZ(3zW@xyh}K^w&Q?*1FjpCf8yr@Sr;`>iX*-{whLjLw)3n zA9$*-h2cNl1>flI;s@WThsGQp3rU;0h_DtwGBJ&z+l&6~9ev?$2or=>Nyp%jRO`8Z zx<q%3M;SM+ptFJfzEgVEA9Ul$GQ8?Lh!t(1_)}HJ$tv3G7y`QY&N&9vkZfm=T2Pde zQH}?hzi!Nvwma-@Ior~85I>B0efoP3p3Xmbm6@^50c<d8{6rvf5Y4#hJ%}TJJ~6G3 zBt3Iq3q)etRS7j0C^nv<2*C%BMhQ<c=LD%iU*?kpbv0H^{@h=Q1`oxdQ1GIj3w1gk zA!KFN5AkKPeh&uY+#8Dp?wQ|laE#CaFwXpv#E5Di%kwzax*T(mABfJf7wurW8WeR+ z{fLQb619@AXkPquDedc5K^5xyVg-v2iMzkQ7bq2Yyh5&&yg|9cduK!|;Z4Nm8e@L& zE;(X-a4tEbf82d~*tdUr*n7(Mi#gwymdwj|f$+QQJC=S-7`Av7r#PKj--p7Y@{ZQz z9|d(GW)&oo_1&@G{zGA!z6UjaT*gTnCh5KdB?fmBB_XeY*ZfYK9k7XOL@NLm<I6Ak zCKK^n+9_?XndX=$i+>B6rItAud1cEU0?PU;_A$DM_N;as2F#`L=?EgiYY{xL$rDk; zt#!ns={*o-`YT5Wbo7lNt7Kev+&<u5zctSx8s~^R3_kKSy~r;ZS17jiN2AUedI&N* zLUm;ps&8&KO++Lk6*jTt4@b3JFm%|+4$Fos|GVrFxln(%YDja%oQBI=&l4th3(^Th zq!ZM}VHdU<r^_u$&U&!T-X!il0~<|Ih|AZ}I&L(TpCdK-m(;MxsNLhc=wXpDo@ALM zNc|r&9LF25iQ-(7W4^TWc|clSQ|6zxu9DytYQNP~Ud$+RBN=D?Av6poW-_4ET~Nuo zgro#A$P7J&l(h(Ezx|><3{_{A%>WZVJHDF!Ejo28XV3%2dmpFsdyGu$&E-$6<)rTG z7w>m3R<&0GZ|I@icr9VIT|y{Fkm3x}!*Gh4oKS9K@LhA(T7n+*?x-G2qZN%iS!?-( zVc+*x6sa*qEPlo9(rc`NZldkn?NDX5p8BCzhMxT03-6E~q%>WKE8c6Q@OGT-{gYYQ z$Bp~zij1NniNo(a!%|uWbJv0~$~|o=-FvMHGcwIf!=WwQ3b^&O0{s<gY{6aMUh}Hd zFx)9rYl~>MEai3TDoY!TFC#NYM<h$Befy0x=>*(lHSZ;vTv3nM7Dyg92veo?!}O3) zzVitVRL3TtE8IS~kdC6c5vHv-+5KD!J;z^qm8(V^JN{kQ;tLDAcD4@7u=jOT^-{y8 z#u&5HKCLaro=`)C1GPGE%__qDI(t-!07GHPaQ;ZW42vUy&Yj+7@kZh-w`WbqC&|Zw z&AXd9x3;o<@68LX4>!h#ufNF`Htvt^;@nMCAkIx>F9rTh$2QF3F7*OzEb4^4kE&y; z)rZ=I13Bb_Ad3jcO@hm!_}R-Dy4AkyLy7bE+6=)J>1C5Lxd+uzElM{j7rD%+3?@{@ zBY2H?jAZ&+^#X=*u#b<aB!tZY?l6SSz12<HDQla!q~O@+P=q`zM(~Po^W7F0TpmVI zD8<;M;N=fdsJRdltgz(|8W_u;#cx#{d8{W82_a%U0bv|@@vu&0WqWay{UL8vXc-aU z!9XKlO(ld=6pu+mb{IFDLr*b`gFt*Y&KR{rJ1_wwICfT2KpTPy2s*&S_+T;Y4Y5xO zhV5HZjEY0%)X0Z$kmWl<;9I)q0plVJ!Q|0x%u)%95*)i_oi#}26b;mR<JnD6dDN)Z z2+5qvYt?DNEa74YvU{#1q6RcnxU;%?p?M%@N-&S4(ZB=tR)s(UgtB(=6no*WF(S&u zU<zX55G*jdG7c2Q!<Ko5I)f_M!_x9)q&M=xIxf{TushiEql=A#`BG6je#Mw+v222R zA&#%kjgq+PNgrkpp?O<ez2l_hB6f)vY<Nn`9%jGKOGop&K1{2U&GXl;7ReoEQ!7Bn zmCek$GI5;_c^{9fmN^w<hu;w}<XP$%5S7B8=x8#TT?)VerT*->Kb2G*Q=TPakyeT} z&wLIaIaIy5Rf5hPuBhE4UD#a;Yp9m6GUBop_FOX-r!WYj88je3u0D0h`$yf{?;-D# z5kScgmjR5~pVtg7kxm7zsPBhiK(XUN;nV<>nOd^VIyH*dCL@`owx5XOFtYHwT6by; z+B{3lA#cJfv%MaS%vMWu^P`ayB-`a?AaNRdx-JjN=Fno!wx~YO{1=qJMRdr5YN@o5 z1-PH_gm2NZRRM#L3Zb4klUmXK@N}oCH!Gsd20ImSiURai{1kbX`FccXbIpph$gn3m z<Y9NUs6*bG`aH~KBVWpgXz+gph*eIpXH97oJR4L_q1YYJ{Q>%+Q%T9`F(+Co&&#~I z4ztJqCuC4NI%*8S09|p1{8`~$TLEeE-@S&2|Ivj<nr9i0GS@5#jOV8oY|~~GfLvh! zu)_zo0l*l*F#zz)(oHwYQBwhT<=XQMdM0GfOWAUlgF3jx!zXPZVlbfU^ZJ736iI4I zoc_(``a)6nllSV63k&I<MyG<@@ViYw;NXyV+Z!`5pWl_;;KJ_gBm@*xdFFq(>q!I8 zKbzXXh}PhZH>n|E%{3#6zyZ&A0&HLq;`>yR0an&jd4QY?YcbrZU;t%KOkWi+zDDAE zYNI!DWJ_jBOr)!>D|_>|pgfqp9vpq1`YjB!IoH~jN?G5{Cr}ha`fv7J4kcs15XUGT zQgC*%Te!y*U~!Z~>G=;8FJL<b4@eg(I9U#^aR-*s5pZ@84wnmT2G-_~g$slE1^D}% z*}bdr<@joVbAMJSzg0gXXN!8)AekB@uS*|`pZX9z7{2<YtoYtc;0~-A!F>c?Va{CF z)|5uO8Uzg1I6FMEwQ_i4k0-3E@>WE0ct3mPNZX)pbu9ePYcQbY@Ti`OIC2erDa@Kb z?2f|~U_ivQVQ96NSV&J8u)d3NA!TsL%Qx$|$qbLoh{u)y^giu6-@X}_Tw%qgame3; z!vmN+eJnp(HbUW9{;->Q&f$x110i>51c2}_K!&*h3>R@}yf0)Fh=lrv9MUpkQcA7~ zX&i3%e0k)Qh=iyq5ec9@GulfFsHE1XI0g6^DG>%49DeBV2&3o7Yl)PI=%Gpt14MX9 zb14xrxf;m&jBF&<S#F%Bl%N1$t$~^g94K`)@&cS;lQ`tNG6WtFr17ZqD{hghDMB?( zR;P!5McdHhd`vbDOv;DP6gNNPx}i)Hd<oPQzlY$T;&IO&MwlS@f=CC((TJL-$O5lJ zM+CGv|AJxZ*ix+l$>k5TZJ6o4V6sILPBqf0k-AojO%RknE!rDQ5PY43AV!=93anpX zW=M>Gyy?xe#in`pTS8}wkMx{>iX1PvY{N=S5q#y!Q~n0P-q2&xcw6*HpkUY{GXnEJ zVU(iB3nkM8RHXsv_CAq7v|<1QTynS<K3+&EcR@<xZGp)aLk6T9pnjtGfu|c5sq1Ml zAkL(m+EkDql}@Y>uDm-cCFYTk5C~QrK4Uz79$6^`*t(u<j`UeHqSq5-@VZ_6A*z@r z=z4gJRddT0(+Zm@{u6Y{H$l)vM1&E!<mY~WV0np&&la^B_R7BQJ5x=+-4OEzn?&VC zi9?c74dK&-QX32{t<j`kJ#Ep!^<Si7z|3^BCr^Ur25RIoL*Q0JE1`rS2KE;&G{8m| z7i%Oyt>-J7VkS^vr-HIYUJ~)+R>ml)Hb6S3IIoP3M<!4}PZN|gO+~K(wq_nSJmC~- z9NiR)m}d{K09P6kzOU3gpnEjW6z7^FZ85l>T4alH1D()0UYKQzbO6Nv|D#aZBCFch zgfW;{|E@pYbj=u_0kMjKSrkm1f(5il1Ao{BQGovCA+|_sNLCO1W0vnpSBje>Epw&O z=l@?C`9uK{sW$ygUU^#`qj79`Kpdiw*{6)L4xM`hKo0r?H6Xbqdw#ua#`tGQ8U(Ft zR$DEp$P_{O_xyB}6o9i?%#9gH<w(}NV(=4#?*tJbuOgTMc$d#T0BWu+hfJVxF_6S7 zpQ~R$VurMQ9K%ndn8k&x{&PrJl+#O4_?X3h@e~5r8n%dxY*rR#Rz0T0L^p&9PzBsa z0OYNbzynXt5(~XowGNA2)3A;`e~igQ)@yK7cf9F65uyaZ<mE;!KJ8<cgBVA2x9s7# z8YI#$(*zcFAGE<jECQ)Th7)$tKJO&1Fx8M4q^?;*E|yM=1>&@>+CYY>jJjym;|3rO zG2=UW+033Y)ljQ&&eR}VWOm_JS|uPQ0EkDNJv_sloAPbO_*hH-zoNZ=q;aMgB|p?Q z7$FZfA=Dg+J+SqQ6@2iFaXE1705*wtMqOi$9e7`|p@2&VazQi37I9seAzGi96`ql@ ztOplVCq`H#V3elFOr01vfSUFUV9w=d1xPZL5e!s#QUJSB3004sn9%pWX7GKR*~0~5 zC-WAPLM^!P4s)#h_KBbjYG<v5?#bMv83;vK?9HeE!Vohsv(13{MH=Joo*<CMSUyMZ z@eF8Vh3P_^8g&q{2*_me&ddN|h=CzvhtHn|jNB#}nFs^A$JWCqBQwL_ml35nL0};` zj{@MB^<ZFt0l>atD55yvM2O;tMNc!M*vY}zPSH7Lx$E>z1;%_PGt$|bN?aCLyvINk z;?JTR0T^p@3xJmazi54w-=B}i`k%@Fe)}(htwHG^Ql@LBxFRqZeQPm$lm8pB%)bDS zvEkq$yMGKM1gz&}>yOudIa9Qr?0?w%+k*g7cg|F$Ox*2|5gg8cE6QB`)5`3=n*4h! z=12ncjgr8wV5wmjm&ALYm!4ZYP2e;45lu`^;(Drs-1G@lOJ)EFPd?0&*dhz=f`C2M zQp~g|jrU$pd5$e|^79e_(FFI?7>rQHOjLtV*-W#8P7{;sF)#W8Y_{0^s8#5??_9>B z7{L8d^W_vMaQ9Cm04e1i<G_Z={>M5L5H^GL$TLCUb4*4HSa7^EoyZL6X6R}C#4&XB z|5r$I0UbZ_1SITC68HpAyPiJh19JYN6N&;bHU7CI0KEeFSy(bw*8qYPL!~l-E(9!) z0A0vkh?hD&4&6d(&D4*}J$nDV1#k@uWTBE7qwtY=0XCRlCu>N6iuQynBVgnCzE*Ga zHP2I6B<3UU$lf}XgCNlHFVZNZ5@4s)^@Y+Dflm!;yg5=Y;&f67P?So319~^XO1bze zN|-3n5uM3N(a-uJK|DUqY~}7eZQ=VIuuQgLkt+bQZ5cfYgbGi#O5k(AcZ3OiGkhw* zsOf=F!a|v7Kqz6rc*~_Hm|#9fV1Bp(BA`28w2v3MY3fUvTu=4Mj)}~WdgVlbe+Y>g zEUE~$T3KA-lJlJbk`>4V0aRv`t;H0?Rn8H{ATSMAn9{!iL7w!L`*_`brl;mQvU!i| z3Q^zy3btp`6;SZX|F!%Zu(xto3Mx3W0rSrYoas{r`~C$6d|M-TD~+D6(sQsaFt-el z^U4QB>w4OY>E$7{A`Xm4;K&3#Ac`61tQA<X_tn5DJ`=E*4TOAuPy?R~-Op2eP=HQu zmGHXqvogI3?l3_B1*o~0>+=!=0d&YdZ2U)4vz}=L^T{;*OpONyNaKpCAo`>*pmoIo z-e=FOmn?j?$WJN2M*GR>Ot;NvhW|;LaH8k(pAhPr`Yzy=`@bw*F}`luq#%Ha2uvct zD>0|(9Ba=30jN*^-;(|hIkzk@(0cyA2vd0P>;5NRFhD6F@&5S<`k#2g=3j3OhI~Kc z1@lQx5SZ9BWP#!xXNn>_{FeahZ5K(wXx1}RKm*XV1wPRPC#iqD&<^cP2)tMGKlAIR z30`^=MfM}jk=_N3fG_7GI52#H5756=j~9reCV{2)L9hTUH6fTTpjRg^?B9TTKbP1P z!3#X9;RL}8A88+ezz$|ILwX-A`edH$KmexX3V{KD=wq2n10dQ4fF@Hvj}%aI^dC_> z->0PheX|H)T|GY0eG2pi`(!uwEB^#R=>x)RLb3rn47ZYK0mfEzHekm4k@iJ_m&7p8 z;**TqZaNJxam<(f6SV{XNxlQ|X)5<;NB#x1e<A{R>pu}fFxr4j-IV4}&8?Oh0Dn8; zbPB*fH~@$gg7`#7GR=NMj8DvE0RC(ICV)6_<bwg|60tj(9AM^nUmhi3&H;%O1<*tE zssAWSmdOEFsxUUdJGnuW!8`ILAges+pE0R_TL|S1a9DoI2+>%&GxEdvX_<|HJtFn? zB1Tj&l@u43%{&5y1b?6&ml4;;t6q7^fXojs@?`QF6^58J1gq&>M+i6U_tA+4R*gdP z$Q|WkV4rkL1dz9Ak56omPvXf6OS@Y%LI@x8GEh^T?&Nrzp4>mANJ(7Tg>F;J9Oal1 zdh#|fiF8mo%Ako|4cR&hh!*UT@)<3-fVC@>+lRp`qFsU@z=9^van?s@K4Y>yJmmSf z#`Dgb4JTFa$0?SKpCa1(JnUrW_f0wElnPg+%h)wDb%vlyxtGYK+F>A9RHuqO45M74 zVHk=B3nJ~IA5jsJ4ufkJU1=+cWNZ{`L1(*-*@7R$f5+u>^Sp7%V7A(V0Sg%Vw}{aW zN#cRgDC#{hCidDY0eN$I>6?3w5)09vsiKh0Z<fi7iN*Kd3`<<vxU*kS`YT_>v9Oe4 zr;sC~I#OV7xQTz{5K|MQZiWHBHctx+B-m+yAIu*fAELmIk8_g&bzo`h0iQD*C#8E5 z)|VAv-wRGA2A1IPfE77K4DcOgp<1OkM*=tP_663k(WZ8N8ZUyp)uSvxG4l6w8D_af zYE2P9mFHc5!d8fTRRJc%H6{IHl+l-)YE60YUUU`aON141G<yU8xGuTRK*7Fd*XyUd z6FeFiE6<V<sl7g^6~2F+|AMPbXq?Zb@9~uky#vSN8WRKtB&G#0m;^Sl3|@(~1YLtW z3eU}w{qiDJNxTR%4L67;Um~8jM0St%`=p8GSqgW=Ef>>ZUJ!6p60v!5ozL=H0$jT9 z_?`)a{CSPJW0HT(pe(buhwnXURxfKHShk{W&NN^-Q4eDc{CYZuo*c&^ea<R5LKYDI z>neK7T1ZKppX4_~9I8~~hCc7;J6#dDGe=D3u>T44?PaET&Jse>iSh)2<lQRz6GutB z#qfM;F)76@C)lNPyEvPY=#b&()_ho+3!qR_5+VIx8xHY^?!EXm(XN}-LTi>hc-jXy z5G@1S&IA29)>P%8<pi-1M8Goq7;xI~uqA*pDha65ZV!sxHU{;p!cC5cunvgcHX7-1 z_oo4vKpI_HK`i;F|0!A^za5$m0x1_Mh~dj`F0v?r0vvvF9L(VOlLxB-5C$V7_)ykE z$ndP)fTCal$Qyk$r|$yT(2Pg{m?#H0V5sfL0Usbk5xvlu<XPKk>^CSafI~8cCo*<3 ztF<^}HhyINNcUx>c-CHcLr5*8=DuQ+4VR4F6P5>ru$<~9+`G03TAU&#Pyk}Ss$PH5 zm7`w6MhNHCzHMxv9*gLI$CQ*7#Ckxjrv?-N!>+v^wTF_D82+w||Jfi82gZK_h!Q-B zjXn~HH|P1{&eHBxQOynh1t?$~ZWMi@y&nFkNA`+3#d_KZV}<DUsO?;Vdu8UsIoy<Z zH3)qJAT+3kvYq^XIV;2iqf<_9@Mx2>oBIyOSf20>HyE=jzj8{2hWR?;6`f-F@Ge0x zH}@0zpk0z6U1Ry$g64ph?X>_Po{y|!lyEI38^pnR{I66<itc9P#YWK~mggpk;6$+Q zrZah9Qt73L1VsB&0m1za_%0heU-iz^;*J5&i(gE&o46^*D0CvRq0{18SZbE;=HgkY zOWrP)Cy>k8!5JD*HpqCHw7H*eJx3X+0NV|Dw455+IZAkP0e1%2aOWxtJmHaO0lhcO z;;5gEV953k@(|rkRDiR?D^S@bmX8Y*9uU^ANu!bioG=t$HO6L-gJ`5~?!)|;bLQ`0 z&^p0lo&(3&+#hYVJdt&{*+<Mg`Ya+*q?}^0g#_3&U1G8SMevlt?qV^wRZHuogE-un zRK#e<e*zvVrMFW6z`p8Vs@ph4kajO;$G=3kE!07}Jsl#WmbvCHul;(xxSD(Y@-MSP zfvG^==6^)L6VX4U%66FE=H))4_X5KQZdiIr9r~rc;{c^knVw4g5aXDix2Osj4E~s> zNh5~)lkh1v-kT}}pqIlW6+jnnaE#crv0wLorJ4+(JJ10$AtfvWbpJpm0^kCYHUm<f z{VJ6{L6m;eK<VYY9qx_OOMo)KXrKo#3b4d-vp}?a-H0I!G8(*bhynfm2XzYC4rI_f z@HdIW3DwPuh+^#+wGR8NLj70u1FD-U^)B%MONtH*;p<muzhvlkFBwf{D*n(q@OH0g zXb52Luzj$OrtR5)cTM>O>r=V$HO8C~Nhi=HX0!ih7aQq?*AN)|H~{kbM?mI*3|N4K zc>>ch3QrFFNs-|LT6o~J0dN8oRQpr^?a`bTPb0X%QP-=|kgW<fdj>|^30hU{0h$D_ zh76>VH|bqkMMy<YlJ}I_pqfDk%tqP&YL(<%N=4LL37zJJB;qBQLZI_?6MvJBU*^#G zok!IccV$>X^ZQ`%i>V(04>->c7}LUh_Tbquxg-UwhSd&KXZ`^WZp)>_0|=FtxesJG zGY8Nxy0Pvc*C520-y|kus)Ek>cQ%7if5ZzQ$&M2T!U>kW*qx|V3O$2k#r<!$DfAf5 z*x~Qd>Jm*}FnF1%W$jK}8sc%gNiD)Bp0!5KnSlSiY=*jO5?HDnA>_-|ONMYOFV>L_ zvQyuzd-#)T;cZZIr?^TL>s9Fs1rWYH_+=(OKb3Qo*&gTacAV&{&76?Ld4uymQfFOr zqE2Cp1)NuYMLL?AQQx?z&X!l9rxH}!P3p4DDc_Ba>FP`-((hufHKm*T=w;4Mzsx_| zNMzfl4on=zAgurEQ_aX~SjFfTKFq1}j%ywupreM=bRCpwp;?bPjvC~h{MMxNyOr^f z5El4;oiRswQT6D}F?Y~jhG#Omy@$w0_M2$>9B4GX;P<UClRK^kooK70dfQV5K8I2s zs&%F`D6B^~u%2#{YWOGfNM49n?MR+cK-iuu1*E@iz;HM969lxqpiS$u#J#NoAx$!T z#?=+7taZNAP{$g%-5ZcWX*fytODDg?6$Mp;;fb`0j`ps6<mgnH?*(1HJ-Aam+h(Xy z^r+UEM?7jGb%cYRc_?7^`q(F*Zp2obroR}ktTv+DR!vi?iw;JLH<(AOX7q~7T%~;H z(328L=O_9eLCN7EJ9|`99HWHQQ~=K#Ckj^)^L9R(7wcTsB!2T31IrxWBWygKapuQ) ziQT0**Je}=Z*C!NZl5hJepfqfX5>^yIJlZ&1>4-}wDyR3%V@YwSJu*szGAU|RZ?@T z7$m1%KAyhQaHg6VV~k?min-!qTB|<BQI!cVsP5ur?ANp|D1lRdfj{P(<k*NRXWNBj zU#=_#MtbzB_`YZ?pvj50K>3O*F&+OIkqwv_Y{RTEK8RXvu%MqGAMz$v*p@}_i(f<f zxoJzRIrN&9j=6%}ixkmAzjtK)SJ0sCoYHaaU3-Q&hWF?8U;dfK#4tyX9sg9)m1>&t zDxdhR-<@*rXd>}q6*B8iFcN>Z+Bnotx_VP3xcxNIa9bkK@>ayeg<MZ&%E@~`WA_X= zEdGfrbOzzGN0$73If8^Jdgw2Ch$nS?!Ea)HEDnWAZTIA??#IT|72d9U-Sr1Ca2I!k zmtBwKuNPO>&Qc>54<4WRwZ<-^cG{tgqyqggb{FD<Fc06xZO!Ih+z`Do*3B1dv+TXn z?}zqlKc%_sx1tLht;^kBUCb>TCuqvRnOK$jW)O2!OWF`rkJv6j5H^e*)xtIBXx?|v z9lXnU%&d9_Dpk)kuuNs6<Zb<XCp}Nqiod_f_%y3tHRjFau~}_1T(It+Hj7jkmEg_m zcRCkd!97pyHJ~nrAl4^N7>}BxeFJ#h72%oe=yu{9E2<y5u=6`n`3{f|?T?N+qJ<!O zCANNl^Ud{v?U_Bi@DU&rvr<)w^gPnPV>{0|YpCn7G?;rlESrKG^;Ed>t{lLmaiL0i zIG4#iP0w?4n+-S{jZo!%ZHu%d9)4-2irJ{(;6VRb)b2)Ek4G?;{%A~n9yb<WTvw^K z*pa{T{C&Bc#)kG3TP@o@7K`3y<0}iKVatPh<Fuzl%NmW-HQP%4j%-dl=Z>1YPsSnw z?w2g9UX{t(cI!3wMXFV<029j+Ql-|i$9(&kOC2dxpMG9#pZ395iI#S?3E!liG!^V@ z6?$*kvWo9Dj^E-cm+UK<&%)MHE7B+TU!}0-3lha3VKjF=D`R<cKYX}2Db=477b^cO zE)<_?Q;(kU1-p#@xy7cfb+0Q)2sJL5!%*c;6=f=&6a0#0uw_4HK4sFiyvm%<z@=JN zY~QrLH6keeSAb1srQKCaXU9AFulanfr<wnTuTEv(-Tljt*>b(QQak+am^<=vu(7kV zI`Uh4aR+R(R*n`7mP*+zQn>!aq55;Y&S#@Q2Q|J&b?8)bgt~{Y6)bg4w?$pm{^SAj zBmNqvEqv85*dgY}uT&y^gv~ZI2vxXqtU-8p^y#b!5i3znRba!8>?Eb8r!wD(k;H7m z7U!p;uHY~~<WA(3e@c51CkOeutgyn31up5HRrYmPQhSO7*M0GU{|oy8-%p_5l}^-h z+JC*rI$pI)eJomoykJFZ_oK|Ewxx&5hE_m&cgLyjOIP?0m=Aa%9DxKb#J9{BNg?01 zl3k&zbCt(Mbb*i5DTLAl!lImoz>SNuQ+Xe~vB0(U#pzS%fBN5L@#Ufld#ETD+8z{0 z7cx2|IsVeQ&iwmP`3o}!!zz~R49X|(Bj-mL2<@sz-!1gC!wG$${RX0vW_e^<gE=?V zKy=%AL|Qp=S_1<<OqV$~e_bO=Zkjnb=~5H^Qxv)RM#)SksWSITgwN^mrm(rIgJqSm zt3#{JdfqQ-{*?yacHPfMaFML5gW5n0Hrq)=oSUnIo~Q9#e9a5AtAk^8pz$1H{$1wr z=H;<q(vT_Dj#xF>Y$u@#ruE!~w?^{url9g?)m9@Dhh1Py<F%BxeHtN#<KzKfXdTwo zL6ejfij-|D4<C<owo||XCfn5%$9fJ?4I%|%5*5ufqa-)V1WYH#H8vS&)UkGrtVcpg z<hX)|@wP8zCGm3Kr#j5VU-ZkkI#i6)Eam-T=l}K3YVHD;(ryls=VzX-OB}~Z8#$HP zTs%D1@uo-Ec^V>2yOSf}Zw)Z7fFEyeBLcqG4*&UDJDN`=@wQ8mDnPT%bk4%(x}wiM zm-2G=Y@{A<{y&txRal)p6E=#wyGvUfio3g8fda*gOYu_Nr8pFKcXui7P~2PGwZ)4R z*;()RU;AKR|H(dB$;_R}WM(1{to0=EFXHDl28KmG)J(J)VDlUhkn$Y3NrO0L<S}kk z9%*5uxnz`NxOly_n`BvCrgyRbPK|N9nv?D#`OkRrH#5T<OMXeNdq0Osbj5eT{^b8x z<!@r(&x$!(n#(_GyUFM>5VC2Of6<;T!Q*XtG-TJ`&^Q=WPK7CnC4=5hwCS3@056Tf zu>vf3S<W)tZ&-PU6~ftVm*PR6k)p(bUc}6BkwgIzb#QLyZ>b#sTbTRnK&NJy_JcO5 z*+bhwSF735HIE3_VS|udE}6y^jJNeFt)7jyJrPyNx!A8V4_?buf^O8!!wNN;OuPPr zlHpRp!7!Uin#*;7fOdpbI6cu;l)ft{0=kwY0Z4w@Y3$3?3*iT04_z+&U#yDP%B@wU zC)^Sm^cK<R_Jfw~#es8iI~%Dkwn)gjG}m^c7#S{#Xpe3DyxD1fA16QgiXrJ1U6s(B z<JI%GQ17cffx)(u22S?_<6`9#5QYU|4x%%gL`Rev$<#yS?gMTLMBp|C)eCjZhuz!Y z($5x?Dvio#*oVHD%}r3*wVV9pGoFjyNC6Nr^D6{l_}OB;5R&?%Q2xplS5tbs_Pk-& z4Evg}PwnB-Z|vGHh6+|(aV>*tk7y?mOy;5wV(sT3qv?N%a#VEf(NNK|Wrls}#sNWR zO&`yiVQlSDDB1IP@yZD{&l=xk&ax|P77(l-16Okzm!qz@lHxZXEnb%JthLUxE4TEU zWZ2Wawrda9D+G-^s4TmBX@L(0Ng=ju9fidV-&QtZ{gDM|=r5`JQIRq)1(o$&)tkOz zJ^4cA7Mr!=m6b$l$ND?0L#cR{=4o1{Pwl!uT^2#}5iKpSdnf_Ag9Vtxr$UC7@hJ~o z|Cj4`CSd<tlR0$3f3KUTbB}q}cw~W<E<awflv@gbO$|GE)^oq(k$_v7jYqT;Fd!ra z+liueN6qXi@jPp_&~h2}ltWLdcI|7#C4g24R&L1yj;!dGsxG^dnqjWEW?-4j{SE~x zhJiItMAmbkP~H0y))MTIR$N#5JWw<2$w0(ca0r`^5STx;Ljxc-7=%FxsFDp<=8aQ} zHe)c_GrTrgE?x=iD<*yQL`0chR(tf`M!Qg%H@*TwrCe(L0Y4Fe(xoU1W`Q3om=f=a zU@5WGyG=yO{<um1a_#3~`P80e4XU){F^|%Kz}Oy~5#XLa-0UfQHxwPw4j_S&9?@Rw zxzuxnZCNSuUhn}MLHVqJW>rpX`%U=oi8Y=XV8>_9uYR62s=Q(_9Pn{LH!EpM@T^fN zBwlJAZP;V+tod$&y{Mk=5NP>ki&yZGK`=6l8jprN6f*2}`lvJP<DyZ1x=KQJoz|hh zZ4IcvE%aWP08O=WijQgkHU-;Dx8N9zZpgsiQ$zW<ORY0V>pvh6Du9&2-*qvD7ddSr z%z~RJVZ}pRpxjLEsEk=dhoMM`eWCbLA)8HOAe&8twm$hs5{sa@GxjI=A8<Uvo#TWe z%$qRv$N0C<GJ^Twsqo8H@&NSuAC&>`rBChPw>03HBN*tA@h?8D*m4w_(Xc&G0gaUq z;+=#$8cDvzqT6z`c&G-V_@$MLz<KUdJGENN(U98me|4aNlPhE|^TjJDVXr>5uMJCB z{TrQ-e7GgAU4uT*;A3G!ym*cE-^G#$6#F&&MPYjt0&@4|<L^m-)QCq!bDm;k*b{MY zEJ1FTq_%61Mp<#~CjkSkm=q5TaA6QkQ;AEhw3D-NFb%B02w|rNwXcSVz=X?&OgLOB zJ*QXy=kCaySa5e_2jSoTVm-U%|2`}9%}1e~bc1EGKsGt25{%gGLjs<)0bwxRPKdwN zjAgR?aRQ_08;A-FM0JSpH_+V=bYLC0LHnWoboQw|S|O(P$nE><zTylV>pAoV^q;O^ z>6xn<z-m7Fn{7Xb{+-;0^*a&okLUlkWhVZgZJ7$)V8wVe14D5~Fx7rexjV48c*SQl zqVedjOnpAEq()}hb!WwBxtKKnh-d91m@S<tl|Qtp!IX?dUvaI#SaFq%#-lq<n+3Zq z6L{8s0iRnV!2H((aY#@A^=j?sKD`T569sD;Au#xY`vy!*gFLBUt}D1;71+<NJ!+-{ zQ+@{HvJ9SQZ5_-`+=~!pUZ)8#&omT9idPCigmWWo?S>PlD`=KonN*Q~y7qgqg4h?* zXV~w&15GmCWfj@aMLV1TQFzb`zM%C7FukinYn6F7e=?MY1CMNgLbT5##iS$z^+yP* zBgJ~+V8~>v^Q?U+uxoFU`RQsKU4OJlVm=p5sRriHUE8TBSTC>vZxj|{*S?h`3H)(J z2FnMo`5gKYXxA|o1OOtT91d1#*B9Ij`^bE|_9CgDu6lW3m;{SC9M@!LD!;XY#=JkO zRSl1;>6;&s{5;KeVJ0KRvmIR2voh!jx%Dvndvoxo_D?flfRZ&IHH&}{egbRDSK!3! zS76Y61z{5ED_$7_zz@(3pQ1p2gQcj&5-==a<TSH`(o0ZE3IHD*u)ZY#CiEHvz}R|j zB837hW$leei*&+vbDumtf$pOt5Un1tAnZegri+wYzR!Vi6;lGbNjz8fm+L=TAj`u4 z+HS6j3zD!y5@C>_yMi&M^UF1eEw=FpVU+lP+;<U35l=Y?>K6_W9DndUfHX~HGRMLV z{Luy0ii5{aF&I-B_`twZU?8R?aNB?otoK0YZxxWAw4(3N{R$qfA-s1B;U5!6#U6<9 z#q|p7A09oA=3v;Urr*UQu792A95!-~?z`sEh9-)m;2{<KGP31mcISoUsR}1NEFnT? zj#ZrE5XlyQlk}!oF`v~yE~0ZReEi7M-JHJTUGSN?Q=UGt2s`5{uewxwRK^PZ>nfRP z8*Eo$2SgXMX$x=-p%JU(9}I8}p%I;AjBLmV$L*N0(x(lJpg)_@h61;tTA0Ilgj?RW zi~sKF(mJ^C#(9l8Gc-7_jg_2r3;ulLlgIH%2;NN^>*R|Q%Hnk~8c$NMgUWw<gk^s9 zk>Ts{;iVSgk2_4N;H)s|#T@6wSo2!2=5qY9{d$r9wJv9`BxWpk18ZPXo|^H7;NV<6 zv`g3Y{%#$IXU#6nGoM5LnjG(=F@=t9f5hdM>we`f#s;johNSpIA_WN;KO`n4b;>R9 zN}oU%SD2e*V0Y=t6&KYiw_L^3ET%gIr`E23uC@mc{2gl+yLM=>v=E_W*yp%7F~5L; zs|WrHXl4KdY6A2Z2AJ&s_yF?-Fan;SXKjRlS`Em`ci;}#axh)5my6?+d9x8b>GBO% ziA%%Z7^W4)&X~yKA>VASn4b^N^u{}7kD-ie`!Ga0x<hu;F}&+KCL~_xWLzCK^wF#_ z=It*SmU5Bq&1)VB{O5T+mPZQ4y)=(!GFZocD_|mRSd0zto|?zz>iPLMe_CP)yGZrE zF%hCYAlsix)4ERRv|t)!Uxs4!4(D_a(m!j-dl1Db7dR1#y*buSu^9}O(=EBxNED;P zzpmu;k0g@KNcur6FkJyMWC$5l6X%LPWu0-bAPRqghP~v7q`eo#@;5ZN!g+`qH8~vR zukhTDnzByk5U;wvt;&LeiCgSU)=h6jx*^toN|XU%owFqRjz~DQN}7(#;z(N{X9LH@ z@V)Ec4f`KSM2(A2)-uavo*%e#@l9n!3Z4${z6glFS`R@^E8PTN{hQ?n&fUrU;85>9 z>H(EU6g7a9<wa;8K=_F~Mx?S%5*9ZDQD@A6L2sYo$qJZp@%3StK|LlZPAWjZrf37r z2q}9D1Sn~qM-4x{qh)Nxkc5#>Wxe}YejZj~MD)_rN%Soog@=yw)`C%L{_+28n}Zlz zDk$5RflJX4!0|0E9HlvG_xxhl(=xO#n7ef~8}s2t^>Z6GhkBdO02BN<@4@1g3)K&) zJ)Vzz!AhF;qVqB%QhR^FX1NG!T0$CquDN?0@yGtCAyQv!nb$RpqI!f;W06=<V{?&% zl6r>Z1mS?TbsuE~8|@$7TZWBW?G97koLF#O;$D1C_|bnL^)#xRK9idAL^)xlA5YFv z5D<E7!R0%Skv3ENQK*m@efl#eiJKh5Q#dg?J9#j1^loM?ar8V$&@X6|Q)f0=t(Uv% zi;NTd0?plp(K$)rp{3Jj=w<mCtfFMTI3u<FCP3ugmg6Mhgr(*rL3>Fcj+RJwpHzr& zvJn&c3-CDMxd|(G$v|~vLZL#r-qK({>Ikla3!lxi2`jM=%IPyu$rfDhEQ~5<=+1|v z$4*^>*<-@ga0OUsoFth0hk@$w9+;O{Vr=EPe~-u*h_q_AnjqOZ);3aaX<$hXn*zu- zuw+wb=xfX6n8&T~__PLaEVxj>UI0{JZqczN|7?_uxWi2gnYBzouDCK%Ju$kFv<M4i zAHWjiro9~bZsj|_glE1j+4rLoY!Oeovy?mq>hgu}R8>ZzWYD|H(y-z+8sYZ*LFlkH z?z!(R;U&$}WDq4SxWpDGte^yXVZNxxO;}~(qovJ2N%I!;s-?~t(~n!Bp=QkV+<pPd z;=X(fS^1Ly?6MIz24;~GNwAe~QioziF}kM%cTs#{%{WQ8<f3lF**~K7(v!Rz!ivhr z{*R=BkQXME88e$Cl5FK{E>3TclS_duC=HWleb}Hq^+Ra!)R~c+)f}eVF%Xwk5csxU z$;{rOwszv^RV2U#9bdYF0!Sg`L;dmA-&pgHnp3J68zZj-8{?NZ_1J;xZ3X@z0Jbtl zk`b4PnXuZO>`xxD;BxK<A42L^88aj3;A3#XW#Bk=iuK_r&}=C6%t1k8EF0?NA2(lL zG`na}&o&>O@vfZQj;pyf**@kFx9-}b0>!fI(HV97ft!Y&G*?6`6xhC)+J}vL7~k@d z09SqU`OCP%tw(}IUnva!ExCsm)n&X&EvdZUl#A~>ixSx721+$s23+c|S5O<Ao*Q4$ zYBZ)y1We7=PfQ$<jlvYQYm5n#s61ODB3D9#7tCF$48_Ca44I+t+?(Do(wb?*s%ST1 z)G-y?Dsa05W9C|(p(vp=Vfg4?SL+^`PL;rrU^zf_+~yMas7IRaR!NJSQuE=v*mdcZ zdHFQuSF)%jieLtEx)X(tK4$Bdy~IbjM}ElE>Zw8?bnVPD&^X8L&@5s3!gO;a^)K8i z=<~0S+PwS9e-K1`waQpa9INEilgAvR!cCAtcvK~ny<!C-0w=Xd*xsP;{>x@8s$Q3t ze{g&Kj<;Ox9x0y=??}><3_0n6U2{}3U%155cP3HPtSdPmE}{onIXAdR8{U&buh+|< z+kj3F_4B10?b*zzq5L|!^SyJqlxnq9B)f%hJYVJ0i|N_-{=(ABCZ^A&)pOj!oNK~m zUd3L;0VYs1$T)B4;NPHBN5sGczKLh1|0n|uFRe}RUVP>=dMVLTZ3H%M>wZtU7ySGJ zca8R%!M*R<*?igCo`2rAzPI1~Ru8te(zb<5RI>C-PHwYXd<Tsiv9ngRC}00uAeD6G ziZw|i=v7144d^}W^Bz39M8{9BbKO4tNls6JN#315L?QgWfbfG-p1sS_YP?)iwxnyd zphWDuL!zV!HQ$L%`lt<%`ES)O9bM=4@2b9~Xbv^)d*zHn*csaHbB+}8z`4hL2gmpH z6x?G5Q-DM!n9+j*^Ew%eNLM*4Fyr*y=LOCjckSO=+R`FL0%fkR6&SX@+6cJzM%@V7 zuZxp^q5HCmyXy4ei+H%xigiCb_4GlKKKNBqh?=A<k)i@K8>`@LJ`IK6?{ZmT1>xxK z(By(71mTN#kq@K8nBVm&tF8~jwQtxJj6`f^N7F;Q-DnE_&|D$={brQ?Bp6MA_h75d zbL>8b=Z7AmesU=K$lXYkRJ4NP7bZKzi0$P?P-jb6UoO=0Q#<L!v!-}r1=hjO+5AEK zF-0WdGIH!syiP??sURHLkcpo<Z`T50cKLn2z3P-t+rDDk1#x6<qM&!xU&VL!H=}r^ z9TEnHJ$=TV0lTbLT>`>UUy%lkI6}xBwJ4wUuR_Aue`r`2xMeG3*gC~2eBTjg{0-e+ z19r3jvTCGT9FkY9L_e&}7O1yE*L0cIkR^!ie_iMg_+3qc*f2|aYq!QhHT{8dIj@oa zR-|&df2r|8Y+K6hB@t13MpQ(y*Waf%g$pmj0;$ozT$;GT<?E9CnNMM~Zk>x$pLHym zR*>({a#~BISoO#jg!Xg{yV<O~Bw(3FrU6+romdO<Q-#$>B#?0WCtV&sS%+#<s_wC1 zoS+z@&tOz^NYi=ONr~;T#6S&*y?xK<FauvZj}w$F@kh-glG@4=hS9<4T0noZc1({< zOQyRBhQwqh!%MEGk?`FfOYS9s4>lz}kc94$06GfCzT0u~G&RjC%oLQ2s^YoY9BTNY zhB+~}IJ(z`^efebWCJyko@z<M%xnuu!z|}DWZE5<IG>A3E(vyqg9@cxJ-nPQMY{PX z>iN|?P|Gd}fbKc_t$m=JmV=!NG??Je1h2XNv0i#_4^DGkqPzoeeHtDq&4hGK&6=hq zh9}zhXfb<?s)AY?T7N7&wEhC=2a%u4X}Bz(_tFN3CijQx$MiC}p|1C&iY^JHlUn#l ze=|*mU(Hc3?4p_{<XsZ{&$a(+Dkk=|g3w7D*s}<ujr{yPz}>SD*iGuh;u!5erl%j~ z%=y7uC3A_cu-$yk+;_*fzizelW-y+N__BRa!y^*i3OOgeT1A>`IDw%?ChuJ_S}8Jv z212osBC57Khj~wF2qS;C(mj(tllhq6fo+k}Jx4u~AS#1K*SGU{iLt~0FBCx2qCGP| z3eGdbg@0bINXzBGVPnAF0o8Zu3zhCI>|TI8LUV8;gJ7Hn5`)I%(nko++C&uLucRxN z#_^>JX(TZuk)gjpC*Zg?^z12Nx{Q8*-}uSRq+YJ>5>_o=&r0T9coO-C)_2)D#5#&z zAI;(V7*s2x7L*Ew>o{QS$8edhItvD|wQ(;LxJ%=N;2B@ND|w_B7@lK@ExL16E6Kcc z9W&LnnS>RMH>Tm3Ef>nVOuIXb2+4_NR4wtQqop<*iH}q~VwV>SC2P}E@fnGG4c_k4 zf^bT24dbX~-=;(o0vY@c3KUSrBzrj@hQ?oS^X66<piE{Pl0ee=e_RDy7%B|M?#RO7 zxeQB;(U|xA3A{l?AR7O>s)9f*pv%ViqZK6Q5O6L9@V69eD#@6}WNWI5Xs%H%P*A;p z#~11uVid|dwsk)pdS%IS#YY@~*4E)Df_EK9ozj5D4@2ziA=t&B6Po$B6ARv%k4sQp zb_{(@C8=WHKW2#x;m5jy(D?5)!=q<ym@~M&U0(&G<tGbm!~e0<R2_<@NTfm!aH=10 zCp)sCmQ<ldqo6YQ@%~tTm~TN<YfPsi1dU(UBGbH~oF+T}C7>;7-VM*A>o@BYkJ-qm z^V<m%V(0Rc_w!gByPCZG#Gu*F2jFNxeRyzl(?FebryZd-Q8IPO!JomKIFP}<lMs^f zarhTB#<6=1qn~a{!q(}l8x@*mKH`x~eV`kfX-Vvy{r`)B1)2;5k_@xux}UM$Y=c%d z9<#%60IFB2uPGLq=}Y=_Fd8>^CdM_%v5S&Sy(Af`KeJz!N+(%u6{)AkQ<pCp4J+F| z9l7`aZ60$Zj;UQz22_iPCnqbdpq8vA@<TR(CUzc_KQs1I5d(@k&|c|7fJSb)S5%VK zd?(7@(9)owj*Yoi0<=_D8GUX(f?x0@m+%{Y33Z)+T+7E<j7d_UbF`<C2r8#5$O{fI z3}B%O)n~`&%S+OJKYo|ZVVx?dSCL9{<=@x3tu!!;5<;&TbPyzMV8q@cQz~@@&7D>n zeQwD}BjAODBM#b;+D8Fq@PBQFGaJD_7z2m=r8rMm4dpl35NPD14N<{L)v@GFHx(nR zhU%yF!kpHkwb`t}R#p|~m3{C-{)T$$sQJlViVd+{#=X0Swftf50#zbFU;vLw5~Dl3 zuGX>gA69%Eb(rXm9N7s~&|5GgLOJMcwsZ&!B%wKW9V1>lRaO)P^>geVvzCbIV-P#v zEY*LEqt^D@+5CqKropj8cL1ZF|833lGdnZvht_b;{yKXE@;*L3X36U3d-y)<k+=%( ztOg|zw5pR#OA?M<8_8i7yCM*Eo|~U{>2eSxa!S)?%cT{G?8Ge}8<?}P2h4GM4Z8b0 zg)H23E%s|L8o!;mn8TJ%Sd9zBcx|UQF`v;Pus4zHw$7I~uc#$4ZVy1UP|g9UMe?b0 z;hu1`ZkWtLwqS55r4G6~wxp}WS`yj}>*sEhJLt^`v~JjrjJ)Vs3KJdFJ7!6%?UUyL zN2JZSO9|B4OZg>a$so&ffj1jjxQ{itR{);(T_GjYmTw%w=J5g4fjt<l?IA1PA4H>j zC5qK~z-0W@H#(DWg5kXhn&)rhOlPM!FSO1&$@)*f%<0MNcaIIMpGy^p!e7PFXrJ|t zBAJaYco9n^>*Jau={iTl(rY)3Zwd!rF)L0sF!N8<?+X3+b_K2LY=P8O-B-Um&VKhn zVSYAmcIc)G+3e1d4<qAni*XM2YYr(^;XJCx;^qpyx^3*_oWiZyXqtLIpJ(HkBm3JS zdW)Fz27apkORN3U8$22+#YyJp(4UAS-#8U7nHAqUWVG!fzVZLa>tapPobAud-#|7K z3Nja6ya;d5`o43aJPHtI@}GkNMvN)QwZH@YOy`km)7yN}ik)G?&Dl(_CaV(BgO1h* z<I+J4%Q)@+<AeUlpq6$4x-$z&&9^VJALM~2$JZR?T%b1Rt|~vstS{RzfKJ!woPxG^ z&RrLBfa$h!%{U_9^Zu)upYeeM0KX!=r#~==^9%gez6{WL#g$Cc63Wc4k@$blcqNiE z`7M2j%|@f+Xe^U`wP19eUjs!~542Q@_QAkIv;`jt2SB)pz^I-;gx=nL$Ix}2W4LM> z|KPf#c>N}L0kcWlAc}4RpOGxtr`0gz*4jxae?@C~@t4$%T{rom>d3bS*t@h!?E2kP zv9tI}eY3Eaf^p8W`qw8H(ij0xy{As@#|^;#pF8)~YPK}yqd!IDK>L#zBvDKx)QXeY z(>jxwj_RoV$+Y#7j^Bnw1@SOlkx!#6{6a{qo#tJ<+g=h6YMJ?0yt(UvvtA_H*!^i) zUv(74k~6covUApf4iy9y8z-T+8=8M^6Z(N6jZ5)_Tx~yzAD0<HOOs?hv2DOPOKOpF zelVyepRfrbm01rcfLZWgi#G(C3lqlV7-B70?Xm`@PB{}Ts+2Hwo&S>DFYErw6ei4( zmIoCK!kBP@8s1m$MHaXJQBV-RW2~>)S)m90+u#sb3K8)+p?y|D`SGox>Y9}59+<n5 zJVDJe(dpSbse1N-i9vDlZ5nhqC*$Gg-hEqZbZdLipI#?TiEcKqz?78$%fvj|hP{!O z;CNA4pzet<)KizFez$V6ctqM7G=om2lMT^oC~M7R3mkWwoe~$T2?2<7cZ5V=DTIoa zbSfaI-?dZ4Xp><9TGz=K*=>OA--Aco{{V3^1(GJ<ND^}!kUQn`Ay54EUjc3#rSpG8 z!e>Wcc!-iyhD^l*byQtvxBM;|bX{jXU_-)P```bh7zDB_1W6&9rZ#a9h(3WfCZ{hn z1qUEz2xio*Sj~eGs8zrF0n}1R)(2|dkA7PLm_gx2N+@$1#5x**<i3AV5DCSbusLSM z7*mN{Ug7FDT{yyeXmhGcvne#PEK1P?r5Gf%EZh-FJ74tzQX&uLY+z*1EgU|<YRJD| zd&>EknyXgrg@r}<Sp#LSJ<L#b=cH7P{@}Q}vX9dS`cDpT&=w(t4`6`~aju5uW6V{X z#Lt#-hH&s*vhi4;@WU$+1^_onco+Fg@GsrD;4?eWC%Py%EwI5raOsCY2##??3XeC| z){nLEUMw$DknG|&g#Ei#E`9;{6DaROh}6ZhjhYZpDgb?p4aug;ho<0w+}p2|uYj`8 zoq^|Upz%K=UdXX{K%o7MN(iFw1lqd;QvV9Kj}95M-ifur4CHTkY`8vsgA~xIx|c)p zZp1BO7?izL|1R!U)I7CGbURuhRiJ>>m10X8QV`d~-6{wQ$bBfc%pri<fYBSE3LVz) zEhO^;Z*)T}SpI@kLjWw0fvUlWWWMru0syzyRF;|JK>{Wee8*a+2Q{Lh*CD1v!*^*x z9JeRi5`=i<G>5#w0>Qge&wU{6T#zD*LK@0~>O3ic0B}~iIgkLW_-35X0YKjcdFwZ% zplk!jS017Z{h|ia5^fbU-WUs;U(Il0FZ3cd1qSoDy2y=e=62An8c)vDM)72K&D%Xh z79q(BPSHE<XDXNVfmp}y3-@C-pJ}kNJW{9h7S``o_%`ITVIoPJP>%76wL{P9OBeK{ zRkY&M$}aPDy=Qbj`?mS{wh3Xr61JJpI5=B9^WIlUvqIOlsZwYpFKPavVRSimj`;Z) z_p?IMOS?c&8q<_JjbGm6?yX?KSk$6>340UgC-gHh%MS~Vgg@8sEnb8~#k`(`bPRm6 z{n9A|JMBdbvWDJhbGPeA+pEVDQ@KLj&N|RfSF>O~^)oWq`#)tb<>Y-OSw*QAU>!le z2vBgC+x>A4Jr_60ya!z#dQ8F|CSBEC(fB*QvQvrYoBWaYkRUfs$z9K?-hBFxpJG}Q zk-UHM(6)Pimq)&RA5VN<<+{%tQTlTvsjjnfKB60@gyLM)<LV(9E#_{k(u4TGP<l^7 z)tPy@sr06v@zjCug;&=@C||njHlD`5bzFeo*01m@lG#`rgJ@B2!S+IOnUL<Y8^SuQ zc)^arA<83p%wO{@6Y{{$hjl{BIu_|6F(0GRB*|Ls4ONky9j9VnsB~iU*=}E~dMp?q z)LYb4nd@&{L%mKLsT~ZByLn%6ZXGDmdGVcjV<b@zUqnrf-cbpT<Ah)hi@X;R<pY|G z2ex-^?jT#}otSuJJlaJ-VDbs^HY_{~FWUepUmwMyq_=7dY17rjbnUu*lW}Dh=tK3} zBF#A4JkWyym$^ydLABzBB2*FK<2cSc+PhaDi<HiVPg?}Dm9Q=(#^6N#zv;o51p<mj zkI6jH3%uM7q=*w&A;=tyd0>aHNnK$jY8-Oti{_7cRTc_6#fQg+MNU|S2Wd4kViHqp zZX~nX6LIVK;(-L@?Fw;Z23#|G^FX2%DKT0(MfwLOLpsrfSCo=us<d}P<v`=oWkX{k zGRE$Eg*2*fQXz@RFmxcv&&-VD5Z?@p<LLcz-iu6a9@z5<z?bOdgYn$?Piv8syT2pe zRc3h1!Ik`AW%BU;j4@7*Z`X)056qYGE3GGoPRp&k{6oeF2Xb_4XBZA~(}VChWRwxO zXdk&b2K2OC>^Uc=GcF+B7NaRS8;4B7Po5I1BuQ)KI-8T*6K)M84Ih~BQqx0~rilvu zQiGJ@a*pE&d0*4^f2nZP49!t9kqtFcH=*vQEU#tiH!5>1d%ryjx8rf#SW_nYK_ShU zIJn#7%`VfW$4lG0F}QdU6^pz@&a)JJ`^YB}23#pusWCX{o#k2qme{6OLKG#1N?7dJ z|BDw|krLL*2f%a)N3Gnuqs^XO5eXw=10$cXu>+K*bw;s(L!^?x#w;{yT&};+@5O25 zf(Gtlouh~(Y2_pbh&aSasE6W^XQ9|bmEwlN>gaHHNeD$G)^tp<VNa*dM}$l9`!oLL zzeme~T^+4OKn5zvJ2PwtTitk<A}($yovMgbS0|c2c3438E5Q5j)J$*PJZ!fLDYy1B zD&$he9LBZ%tz@ivJ)}vA#o?E#9MFYCM#{n3mu7+#g_)K!o#xIMl!6nPmc-L@z`J0S zlVDl2;nrTLVah3G+{VoGWM4J&%3)f#JSWVnj#Fg5`la;h*jkLlm7T?2mg*~I9`|yv zVAwy5@70wEQi0XyRm5_)h=u=d^``3(i)<<75RcponLI7_#E%3JXMZ{(5=kC72+|vb ziM3<M-SQu|T;;lw!yfsDxWerH5u{(k4saz@YcJms*^U>XH(3(vTZuns;YY_%a5tmc zI+1ffHq3sFNOMXccgOlh$c<GsHwecK^Nn4&PpH@KsQ|r6tXLnm9G@ktYG)A6tZF~F z;!N|SunBXX#+pcO>z|srEqD5U$G_r-!=5n0@UHXB;|sU$L&lg=8;&AR>3`FiOxa5; zrjt5-#}3oG6o)YvCy>taP`tJ*8CJbGg2T^F?w~i6w?s6iLQE8XT=tI~a*ANTFyXu_ zeC9V=-m3{<{Eg|BZzH>Y%8exI@j&t9-ro4H0PhQz!SWLYj0V!RG>T={VqMP{Ss$H~ z5&;;@#s|aBWn@A`#rekPgw`b1k@;WFs1x0xv*>XXvL_D3iU^521m2jUW_lu#Hsm5b zk|Q~~znk_GipVErjXE|0gK}8Ob)p9-sV>%XWSatFUsqtpyCcFQKA{T?Pp+;7y_Hoc z#@VBn9OwPYeBH~e`v}92VKMqjlH%<4mj{Z*`^Y}!&pFZa3#@T0LS{q?j0@DwY)jrv zt|L1mT}oj({rU~}9qT@hB4q`PVK31`R)Pk6F;No*mJ^HDFvB_G7qY5_#;6$2$w3YK z)}D&lC>!c`MBw%X&1k|8W#uESXAJf&gkN~HSv?bla0Q~Wy+~j!aUz>MK0JL8Zm&sC z8Su0sCxpASJ}ELRbP*BWO@n(};r09=U+G=1N|EUEvFc|N*Xhk0_lpXWq&t^TLrp)0 z4kM$nvA+ImHtwCS{OXyhB_peA3;h$;4&tS&NTYP8{`siLw?!v!r~Udqr+$9zNN%xi zZ3JhT?N^bX{UGhBVaxjDo%DSCH2d!fCdA$8POIBk@=;TSGu?c^R6=pnubWTvO0OcB zfb+)dI(@O1V(mq!$EON*?Fad7nkN2<fm%3CYS53eZeOeXm8^qR&#q2CS!JSn+}j}p za$fxXTt7wAVQD`ZRxS_n$MEA#zfz3meV@{>NMZN~EkBj8>=3W9r`eOT$CU2nhR3z= z-w)D^K9)(o=P8Ic%nxUwv_Ji(<zmIPB0Il0%su0hPi$-rQs0+;biO{wE;c%yf*rFf zOr-e~$nb>rfr4x;EkE|MfICT^GD1XptU221w%RfBY4lz7%YkC#J&TpgGz+IDV~qKw zx}1u(I)TE={7_48sA_)Brzd>!Cr@V9$Qrh@zLPs9yB@ThfH$f~Irs9}+ixnn{30f1 zvClsK)GK@ci<o&v)^a2%xk-|4wg+vK+l~gUMv$KGTvsWF$#HnmM_L>g-XMI_36IPp zw76y{iT4$o?WKgWQ4r2*4Flf_>UBwvSVuyhQAlBmTCJ*AdX+=tLSuk_zfnQxclvB? zjQPJu%{J)kYWhLEWR3RY8rVA+OfqD7v^i@k=FS@I2^kn;W?k(FUk22lxicb{?4Ad0 zAJFn-^jB55w?&$<x-XIs=1L{5cJ(MOLZ07!|C${9_PEiTvL{2<QhlJ^?cbF1z?!Zd zgD86@YVTvIzm50&!S}70?BYvJA5F#f+Y4<DL&~bc^=RfBiqE%c*S2zgRldzKqVg64 zlDLj2R^tY@HYCp<Zpm*PxB|{oa;jq=!ohc^3ZW+j`kp+4M!pdu3jA+XU3rEcr4r!% zl*3~AV=NG!(^W`{f={bhmt<dD(u<V^QO%*FQ4W6%Ga7t%d+itD{j;hI?MY8H6oXuN z9YL-{X(H~Ib3z%+(IJ^I4mh;G_TW8%x`p3>;+}_GM91s*^L-36aF+3Ib^?>c=?3gs z@akY^9=Qn&d2z!V?FJ+MEZ!;Z?@O+H?9^<o0<?6{?Bp5$;L3~p8EK}S1#CmPzR$TX zSHT$ylOr$&h|KBM75?lmkt~te{4&SBgmenE0qwZq`iO<?j%gGJduIj%PF(E9rAK5_ z8NyN8w1;8v=PlXsp@!*HwSeZpcjBNhLCTcNMcKTayTA(FSL!+FKoVjjpDKZSR$|xn z?^fwSRe*c;fr+f=TFL+60;Pw%3%y=kaSZ*CJ??BjLE*&VHjAu8H4U>_&uR4+8ZBGl z3T@Mf&U6#`@h?}pA(WSD9x)77R+aT9qydDOKNU^V<FWImzoBR+=NtQ>CUb^Am`-%r zLQ{w%3n`TdKnY1|l)pCOh86q+C!yIt31vR#B#K*_5%WD+Ob^BY+E9r6j2-t-hJ6hR z0sC;0B`b^)2`2WUN@i2#IJy9;Swo4{e`&w2(Xe472a%g4Ko$8KzBT^x2=QFVU?Jy3 zi5=EGmEMA?M-~nN+FRO~?RE-o(a-wt?|F4u*hgytdtaC}1`GNgESP?%A#9>aZRO&k ztl>xj7q~C9O}1~u_yg3zJ#{j$jkIhCxtsxYLV8GKh>mChPEa?ASML7ST=c`RWNsW? ziDH|tNak>%9%fRrk<MYW1dunu5v|BjEjWC{J%vA1q4`|$in(Dkm3BTe_VCZEmq4$| zNb+NE`U-F(8zWSGNoez<KbX5`EMLZ(Ohd^+sg1zNfo4nav?J-U_@GRcU28da%mZsI z5Re9?J+qn$@5sF8O&fb@w|Yjae8bSXf!yIk`{xVH?b|+N7{z;Ey7S#K0It>%-3kT_ z6YTiX)ta({@*gGJzI1BqQU9`fVCNjWahJJ?fq;C;mM<NfBLNUtNO0=LZS{kYf(Jl$ z+8YIsQ<>5K*5)&bXcjZ^Sp3?r7Bt<J<Yu&r8ypxP&0-6-C1Ml{aNX)%qxe1@5q<WY zo^kV3D*V8&ZG!Avox4G_<sCi7w^CMDts#Io%yArnQ-Zsf<0w+HPX9S3KaauXuex{J zm4mAuO%_(P=@@a)=b^Sx3QnfXbxr%Ch7d;Gy~^VH@~rB}T>0|+59XQKs9QYjlEWV? zk)tKD8WL^3xe%zm9AsUUVcbk6;LU9c{X)xHH<`~Tn54s-n{CT#?@XH8!)wL%2~e>9 z?JdsF#s8B3?ib(2JBCkLUrH0*Cch`Xn5YOhZ97^LzehOOC@mt-Jer@4QQ=Qo7}Zs2 z`|M_CvxGg_r1_rkKrmgxAS;9Z<u!SVBQKp)>-UDh4@>>TvRCCLb5ctbdr^6hUi{pe z9~};I5-lkYI2ns-G$ex-rtSqN0-h(WgAw_xy{8BGlWn+1%8K8kxvl3phw&NBURWJ? z9T%CBi64at+_;kMlgSTnP1d;zEv88gV^3}mIx3RoC&xICF+5q7z>*L15l0Z8piz5g zaz@+mO^STM5lygl`&V`v6l>q2!5)UJ??@{cv2c2}UneU&ku8V_4rg_z0IP!VV}|r* zq%}C4RYtXsjQ0G<4xGHIw+~KUC0dLEC$Ac2_qW<W4s4w)F~KOfzCXQ8em`gdWJ<>S z$!OyY{rQ!Qhsho-u=)1U9xd`nTrPmVjs}n#AEw<+ymIV=0fl${5Sq<}*0%wvQ5d&d z7p_=k(1D;jJz#?wCP)>K0kRf5ypcWo#6S)!4FZc!^#VA97QkYAI6!xS#U_x@E7=0+ zM_-Fq=N0^S6Mbd!poXJB@hdUT=+Aooww9n+%$Wo<R5|dPK04NCmY71PZ;A*`hV{JX zpu~6+Y213K2ix5Y8X-pPD`HGf4WY><(yB;gjwzQHwUJ6Lxsl4IATtt_Px7WSOpB7l zI~b<k_jCR$ewncqNaLBI6-bR4ffYz-8G&5t$Bsg~FhVWCyqH!oSrJ@tGUMh8{4A-8 zah%Wv#Q3irpS<zJz<(r%TuG-98g0GlYaeMv4Q9Z_jc~rgAqUkKqQYsUlHGZh;K0^? zS{Lau{)ASZ^e1Y+sPyLvK3vX(o?we{C77-7)HFDYoQO2}%>@lLfg%z<%pzQ!$Qnb~ z$8beD#}%?fl}&Zu<k!=vs_P?{CLN9FZ2Qc~dNXGvFFI<}w^M@*FgaX1cmZE5UP;2B zs>+1IO&WYfL*`PEbU}JVu3+!!UnPU7AS~bq=P-k#S_QH~>XG&P!6~g<WL#lA9&?Tb z*sZ3>_FOO_#H}+(jk^A%=wnvClp~e=8QJDL?tm~rX<2jXz%<*h*bHHdxeXZiq;HLl z+VP=kfNr%UJA+MQ5kwN|O+A%)A`#HvG7dr+a}iSSo+R}kWw6>V+*}H*#2DejFdaUg zCsf$uGeoTyfYo#AATT3$LQiag5I62IwO@Cds7?+Q^D?6WVM|Xjz_jDeGC~qla<4>I z1Fx$VVATexI^<^<D9CNnRM;VTxu({Dq0(H{TsyD!=DCBBuF^DKrR&ZbL&oR4J?`hR zSr=TDlFnDRgE?rwBD^{{gVFD;dF!eL*2{zFH%ZF<Z|zGdNlBe_e&s<|3dEQa@^T^R ze&us>k_@5@PO+&%``)_6cYSIOr0LiMsPFS_<+`{@zMV~k?s_#)-+y50#>H!6LlND) z)S7j^{}f0{Py4o8+26*>>HZUpE)7V0X+!`5#k_sF0(bg>8bW7A{cyl-+{{kdpp6q| z?N*)+^fL6#fWl`O*lR(a#*a=%4R|qds%iPma^wSGCC?4o&37FRxKv?<x1V5Cc6>7Y z=iC9twcdh^b@nkgk1NI8ea9vpPa`xX@Ki`8d8>%(yP5=H3M4Oswe#t~Gi%w2>HR)Z zmpl$f2}>?wC=}D=r@g7CjkFWJqk}m9#)YKMeSvQ=ylQ9=X@`7gnIo9xUgETy&6e%+ zpZ7_T)AJtwFbvsBQ)O0*!kg{YUJPSf6V740Kge(DoGSeC;cA@KmULjPS*96lb?wmw zQ0tbNTM%+E`CB(9oKIT5#+o*)wr@Ev5`+BLa)2ci&yOl)X9Qz_T66EtI@u-bWz;Ae z{|D$!LIJkr94!|i_f^s|GcV!xWaDI>sn-0l%j<{%i?)R`70n`&=(<J{I1U|DdX`x; zkA_u}8$wO;jJ?IwPJht!(8qO6pj;qE7xl{UEnL^Aff&-XZQC5&S*jk>rkPL-xr;6S zka(o&@M?SDFdJY`6yAgn)tTB?A*lS9iJP?Xxs6v<_@g?Vrs`=MNm-NZEVH*P!n8y~ zDj^t58@hn6Ogzrf%GZ$WS4CTkeLU8Bj>>;j4tpiO3#m1wa6m5|tTUxJ6HTne9ggwv z-U}}(#c~_pS&5@1gzyJ4j77?1g8LWXdy_H@kf+8(dM%j@3mI0wUWgMoO&xX-cuT1p zMt<c^=OX~GQrREl(UH;>45M)Zv{M$=&=1D&t19mfPJA6b4`(Dx+B#x99XbE@&Tnt` z90lLa+`SVe#YT6Xy@kRH>C-Q<r}*KRwwqJaLquHU`-l{U1^;A|;Z;wJqqWib%GgNr zGzaXr{V{D#<TK{L(QHK5I^W?R%S0T9-5ekStklJ5g8Pd<&_Ikj`>+5>s`K;YURv!- zP*=n@>G`WtFJaRv4A#JQUPr1`e?sxKXn{XI>S2ITCUg9+yx>_F!N3Lkc7?<5W8xP2 z^f!}ED&_-TF~z^X-{^;d+?6)75upS6!^cBDlTiwfZlxPJoG6d*q8I!K-;?)zg2SY_ z;no6O<!T6&2t@|91IfL*0f^v;CsRa$K<)9%>Ze@KLEC`6wcRObLsaIo$qI_SjG{UC zLZ`ZAW%^q}CR7J)8qQTa-|vh~_W1RED_UhYa;1Y8Zdx||T6=c5sw}q%H!?}`nU}J5 z(CkU>-^V%{$fA4e&Z%BqxFy}c0l#j#BgX^SJMy&?^CLWje9Q!-H)fVVw?Wc#z4kYh z{uQmG8uP((H?4;Z(UQ`SP931&uXXD}%+Bxf>)ZYxKgpKzxLO>Uufx7(8C5F0bObn( z8&)dV3LLx-BdnNhpZvM7HCW!5cU5i#;fvQX8T$k}bds9yl!`1UezfiAEW`B*8CG(f zZOW0MVp8F-zE4}>!x`?2{5lY+wVwfgrQMR0+8$)Q;*1%nJO2V96VTp74Afy2NYa3M z8bBg1hI*)adccus6B~R_b=vPpxTzLu1RG=eHJc@K4D0D#YVSEkPY7BLe24#*mwyG3 zFT6W>Ki07$Zof?r3lS2qr&?MS*|(0-AZ#*vXRzG$8Iz$|=i;N5C$;aVx$tXJ^Z7x1 z_d3QW0!bk2TS9@w`o3u6H<EgGB&Ds?<s;LKzWzG<Z&e#Y>AxB#o^K9-t2J3j(jq*t zv)`8^+bmwG6N9LLA7?p0{q-N9x|S62_Fy>*BHJ7IL-V*TowMlPP9$QLj+?VNs|QcU zYBY{acR#5_@laeN@GV~E9ZzW7*1#8zU^KceOg3a<jH<_|7kWb9p}4K-_9-F`vJZcW zB|{}EL`+8<t!6CIh-0|b4$QIE+Zk;U-{;z2)n)eRX`8R{#q?+^k8M^}aD;s&_)@gB z#X5fW#drBq(hhGQZ?M|oP8r?}5$os2*S-B+y)A9bk3AWDMY_xxq`nzbvzU)k_180F zuLN_nPCK664q%r(e30-M(tqv{{`AOnPA9>vy9!&rmptuo`<k_c@qd^{YPV-BLBFqA zFGeGiq}-MaZtJB6n+;boBELc6Q!q72iXJT@=+G#nRDb18;-)<VO`)mq_GeC3H%90b zV@?*YU?QX2`sw@+%Y%u@PH(q$p=}$0dI{|`T<y;g{yXj9Z)}*F%;;|bT4GL50eUAq zKAEw^UbBvsd&oJSfp6TKr~l}2qoN}Ti}wU2JwsZhva3kK&m{HT<&bT-;E?bhuXDjG zBmc0ftJ6DT{W#@@!PB;fASb^CVd4Ui=TFiRB6vCZ^bcy=l`k;TlwEADP|}ob?m_v7 zuTw01B1GziPBgCLf7FWr^gj|`Hzz-~a{K|$2hND(g8pITKR`e2hT&mEiyD;auPMH} zE}8ZFGSIpHm;OPnsY_h_I-W$h0?;y;3=tyW1s|bq16}DE*>p3KDF?!B12orPT98Mh zO+<d|{v1dMg7Xgx)D{&YM1I8xTG;A2-gyNNFRrlg6G(NgJ+ok4;o_+~eChH27_<Io zpn2!j;LOSo0j3xco<DR-q~lpE<!+mYXQnX}bDPBY=rP$>NA3Saw+|<tt3eV#M<26J z=2{HM-UEDo&#M+o#+dbvEs2~0Uf$-v{GKiviwB1j8E>xud6gt0>#&}A1H_UmhiATv z$cpC39}SMrWccuaTBlzGU9P{=$i|9UB<&vZK9F_tAHxpLWSEMm0kSy-w6QZy<2n(N zdvKPAw-J!tT_`t|!33@yUe|9LDLI&6lKFSt;jyQblg+C=b$#UFqRa}&n&Z8>tNn$8 zhwF~EzxohhRKb%%_jUR(`t_r6^$vJ*v(tToFXhPN>S8h?o3Kg{XgL(^DLEJ%s}m7s zZT|fC$fNGcGbfwy-w;sp^$6D6(=hR535bmxW%+m-y3W$wgDOQ+S4SS~a@}&XSE)(h zP<ZTwtvbjfN*?lv>Uih3uzN1ecsh3e0ssAV$NjRf)f{(3HgArP|B(myW<Q%j3w8|P zWV7Ej%5*6SesCD61B;&|rKd8cVB2-R_kYWNku8&*%3uw_7k20(gD6qZnYr30jTRB6 z+{iV`KfJ%YiJ}pv><)namL2Ob&k4Z?pyj8A9p<}}u7$R%S+3|1=C1zKR*MLq{aL9# z^w72(lApb*&T~k)7V?DKph^<%yY8?(qGT8DmY=zznY-SL$X0db*P6MafD<<Q6?b!V zUtcYZCv3FHax!;izSck?9LsuxA2&3J!&|*-RHDDCT9WdQiFfX1FD*)SiEhcD;_zYj zVa}&rq|KzW@MMbd7UAA43Hi`-fWZFt=m9a+VYu!*Saqp;B%Y68{ru<wlOL?>Mn3J& zXJE}X$x&S@=_0E<e3)M<`RD3$oY5&_kn`}@Jf~XKM^tY1hMl(Ci5czc=wW_}m#JN( z=m;XEuyp(2>N7S?cn{L~FbKWPnRIQ}2OcD?6D22S;7uLW*nh51sE`N8=bY*nf5;Q< zc<yEcyx0?x<I}!w!ALeN(Wbhz<O~3rP@?Y=bfK|Oe?Q)#Y|fzFLdBTh;chaZ%`|{J zl4n>$?$Itn=KDB81);%t-01Es{gfUlfq9VvtG%_*=i<^!B{mRK%I$0NPc-i7B3*rK zwv>ubG#uvX+eL2PM+5Y%Q5|@<MxnH{Lq{4f^rFB;m~tz3COR5cUJHtAl;43$OH1FX zDa%1DvgISHRexs{9zM9be#<|Zn=FJq^t|efkEkZBYT+>OYsx>7eyIW+Qww9eq1{UP zp=X^-MgGZP7XV9)0wF2of9Xa5gwFXdHTo~5grvNP$2tTCj{`CA__4l3IJ4u=cvklr zs-=R;17YLwM>Z3K4r@3`cFIbeCDcD%<eD9k=^}j%i<;V>O(Wd3QV9R}HYgan=d_>C zaCmM)mAwefqI3M&aW$$c{dRKyHp!l{>J{s|+zSo`?X(S=1eV)xX-SM}Woa8!y5Ch9 zeo75!)JK+^RitayUmaSPMZiR#seNXmwEi}l{N6fxC;o}ha3G(t>LzZi`2hiCF(l4Z z&j;7AyCNu(0cBM(K!5G4Dqn3hOxDTJDAfC@*C(`iux5-Gye8~F9CaNRKWUgKf}b3Z zL{WLN=o*%LxZAZBOEY|RlFHRvjHBD(ZRc5Z3haAHK5KA4e8u5HkNZjWBkm`&B2i(@ zUqvE3W)rpAVDVlY1bBcb5Xt@I>bzo?t=h+7RPXa2V}IcFMK%qji9$|hqtyvSbEk>g z!tu1(KU0&Kise5heY<rNqS;qFW<g%9Z-zY4i<2Hi!-c45g^@g6Y5F-A$8M~c;hJ5R z`bS)wH+73i@w2~C-?%X{XAsReS~44_PM^|3=n;LMyo_)U4O-kMol5P+QXB$AMIAC` z6Q|nX!CoAK3Z9NAoUVVV1##vhk0#J5j%8iTtXs3j$SDYltz0^NMZGw0wP?sxesU#^ z+7Y-Qe_`G<{7`Xrsi;HBZ1Sl#xTzOs5kXO>!qXaEVfm6>_V+eU@feTYte3eaaz-GH z9ZGU7gHB(uF>;0`>G{oUu{;NgZs>Rvvq@yv46BJ^Z7@qOPBWb1G7dl(xA?}2trv&M zn&K7R%|%kqzuKE=A;-cgy1&usd)<peft-B)m2pcvQSDU$n(x1tSBZ|cdsh#4m1Eb^ zlbQ)>T?6-T%!^rFM3Ok>$RFf&Q~y}tKMn6sMpd?OEm$jmp&Dh%v>jRHu2HZZD=?w- zV9#PGzL8IQsXjZ8d}7x*Rqg%w(yRP8;;H2M1Hp>jz73vWYQ&Qqe#TsSm&CUm{-wD4 zzxs>>B1nu42qQ&t9<yY3ET$XY27k_P161!d|G=JA@^JURcE4*&31{oHz(B&sGV%N^ zVWB7<eB|N%x5NcWD%H^MduYwuAf!1`f3Hxn;3F2wIrpL<Zt|``jFdp0&O~G}NgNY( zTb4s*M`QJ8i_$H1b>7;hSZ#XK_4RAvkv(&P4*hYOF*B_@AAydkMAP|S(T_d+$mh~B zkKAwIjLhCle`9<5^{6AK5wqm4n3`T}sylK!t&;FkXfoW0BFiVQx}0K<Cs(NnKfmtP z9U=!A1DauXQk>;)retzAhjxlFPC{F+KaH}(+&0n-^NAl+3nN$klnD!)c?@fU8m7N< zF``wG5stwoUioI48Q!uF5!GwnC87+DWdvtm<ZLq$0PZ6EJeYiw=r`1`6(XMuz}=9@ z3TkCeq&=PJmm(0Mq_?Lk>T3xgeD$BX$doG@tD;&g@}L9G$3ceeFR5Y_op<=@v`5lE z8=*R_6g@Ar?9&Sg<3nm`I`3jelgkPTw*qIAu3yO<h^n%>@pyaINzF#GzKbHyCHxI4 zARbB!in0EJ_ME|(j&$=kY=phe2SuOcS@U1P>&-?UM#!)<r$2j5oqOsn;ZSsbMWKbc z{@7PQ7%vGDer10{CHL!BCCJl}>}c0w8cAEx6&`$D39pW%GhJyqmtl>P8D=Bx{SAe_ zYM^O+xbmJmz+(>&%-lw}O5qz^yyL>69j_=?z)oj#*a@N&3K7woiCdOaVOQYn$mAb% z-pBhvQ<B;^{!D(PSw6y0{HDa6`y)+>JMKTZD?aIgm2Vosic}LAjuCGD8jS$AMA~`F zKj<Y%bPH8tg~%^$lK0AbA8$#wm8QBSH-O`xQ1mOBl2%-;GAUE$DwF`5N~lBvYa1bz znL_7x-!#nV`K8B`HT^XT1*6&-{vsIYAhWuz8mY%>=u5IU@8Yq;rL*u$dy5U#)0BLD zqps&1(IXEMdOAx*73@}HkW~L6`83J^)6x`_`4J8Bm(WD+FZ6wZe4D=XQB-&pZG8(7 zU++{#IF%V|^wOW3cv;UH$bvk4(w2MqY!LKkC>K9zW`4t!JY!KbI^e^&vg&~t<iB~# zUIu|Zfp_Smff}yP;Gg+4_>x1{*%Xb<0cJkwk`!NZ_+kqn5_GNCzlrDZ-dTD&Diw|O z-Bu|Yt2THEq6YP!B2AcsmWg&K<-4tSRYN;?7kM+kM1#-M<oEG5q(xKZMzp<2-oqX% zs9+zNGO>GNcQaoJMz{iBt+bsZ{Mnh8m9gKO%x@*`;$iP7sKn=ieaS#p(IbXmx=y@1 zdi!b<Z}29n37F#qi`eJk81b=SQj}B|<hY2dLI5o=jFpy)r2ez@Rg_)dG2+66uJ042 zOT>jw4(?>2MwD0PM~cjktJ9(fv0aX_kFWDR-$1Ld+aF<jXAF3TZsTs^tyw>i>-6_9 zB)j&e9|vk&Q}GSLxkRY%<0*d6mPlFI#8adxu?o^)zTuNL`5e2QLFoF`BwUZ||6%Vf zgYt-?1wkBwySoMVKyY_=clmG#?i!rn9$bREy9d|c4nc!MaGNIYz1o@Gt(vW^+S;kw z{lPsh_w@a!+kIMY7HRiU$Ji{@leh=2T${=09mDsI<CW@r$x<9z=tl{629+I@NHo*8 z7SU>N!ll{6?jg8fh8`EuMhJIcfvwC-akv@sB`<Ia{0b6d3xlhU>FcZQB4ol(7nSq# zBsV4?G`X_TW_1i7aq#PN=dyiA-h!A7m!8S?&Wpv<MJx8k9V;9pEXK*G{a+!s89omb z{&2R}b_|!+KRBt|LQM>vMDW8VG?|@K1V_n%4ohpem!nFL&g6}`@gIOSNE7wR25#B* zM~WXO>za!Hyx<=swU65UemnJB2!Ivb<A#Qq`r;AIj+0pc+q_2&Am3UF;2OhbB5-c* z$I_n_P=I#^li7p1Syh@dIxSx6jF%5OPGuA8o-_RE2)m^dN&>#oa{=44iu+Uf;sx;- zJjZAW>tZl%h>Y51MpbzqHPQ7@511$08?^ueIrqS>hzGqqb%Fz-f_^4MSej21+2?^> z-cImdGU`nta31Q=9Ls-a<|ZvZUw<q9!Hwh-50Pga1q#(D9v2-XDt89YT4_oikATeD z3j0wXs8}arFWHa$_aRd}W{RvWL6i^Wj{LJ&@lE{_PVEJ&Hx6O`FA_AS&tf1dQOEE} z&d@E?tSmsE=LrmB3)N~5^eowW!44B9bu3`&7~XL5jsj=o0D8!N`&o=37|BCGT2f?R z)69&+MUqrz;c<(u(wG!NVfYz!AJ)x?(QXZU^EvG}oy32#@3{x~t{^iN8?xt5{5f)C ztBS0s4MbVfN_1>-EqojK8k)XYEyy#xl%G0^O*9q#ta>b?8pgD`RQ|Aq;>KDvqe~_T zwc^GuLO+eQFeQqOJx-AO^I3RMOl9G*L&z8-Ss36&bua;0Xah}O4NY|3x$5I6z%=#n z?n{4%lsnGvQjjvP20|L#Y<`V(tA_sN2{R)bf~KSr-)qMo0u2lc8V2~zd8n?hy4+D) z44lwNHpIk-%PB10f}s+<DJ)N;|Hj4xiA&Sm2CBXqs&V0Ak*~(GY1xduKZ>z(O1ys* zC-<}r7}11oNPO>L{_@k9CN%Ugd}qqZgJkV*m)()hMk;6Ll*ZZHw!(RPMs5CsF|nE7 z*P@4+Y+bSmlx27;KQPJu*=NhC%D8=4M{<S<lr1x@43bmNw896nFzJ67#J(iJ>R);e z-@-xJhea7;{!XH|^EUXr#nEl#cM;coF^-}g%5{M~j-t#VC^qwqI{WN_RGG35TNfdH z9c(=FTvO9DSojc#hm*Ju8;hUPn8qQ98iO?v3wJiAsh&*EF|_o&rF~Z#8Tt@-9R0TR z%o4dD#yZW$cim5uK@!R#C}Qh}YwP#b*bjI18Lt1Cg|qADZ{+L#CCVY9{V=kLSe9`V z(F_vfG?JeaPHTWx^F@m)q|bGK(1WqZepv6mB<_CLCBi;z3WAI-hhQ{N1<VN)(-RhR zKir`_*+cv^612_dtylQk2jiLtw9p4*scQ<v>;AZZhW~^A3}ZfBAb=(~P9KXPqSb$w zQ<d=XstuaC-$e_aT6?u8mGC^G4X&xxzr-Q;B|jVaef{6Sz5gUI<A{zHJXSn|!am^g zR#jgNq9M-hq6+e6Szi^RU}4|rGYj&+7+SzT_L_%YNIIi;XJSbYdG>~BBoOZt3k&#{ zac^YIrmAGUksn+d3C#EZUPK1iI1s)XatT@o?@OKnr6^or7wm{2i`<ty#2H7)UU~XX zvPNO+SHUw4#A6fu$|0D>n6M8kYUO8C7WyBD-svTEAGZ1}soLQ^`gWx%tCe4_dS1W- z8gd%RcJ4!OC=A#3m-lO>o14!@{r#VN{`Vtr82?NCzq1MhmW#-n;RFgNUo_<S|9t$9 z<5pnlhb#VXWk}5YTPc8-|2(AsgD4zWU`jpDaIh1xOK(vRXv+JrQ{Cu{`Qs=KDw0VL zy~e5t(BrX=)6X?=QowTf&!r1^e%k#8l(hpETMc0MKO)&r=05=S3IisQZ|N8QM)tlk z!UC?Xi$7)mhQ1BWd_~+2TG1XsHTaQbhqx`ZvOI#?m7nDs@S!F6hYoA#5U32x^t0<b zx@iHREf(+Sop~7+=tHXr&scKM0`L?VDqXM(k*>^YDf6!zvTNQY(SvKZ@w0Xx??b&Q z;z#?kK|g=yk(awHM6Vd_3r2cf9*gBjs3w<jHa*Q%Hj5Y9wv`lCf`GlI=w&B10%dB0 zj}iQeVIMCk9t)c`o5qi6NIn*1n_`>U$__DHd!CE%Sb(RjvMr#+KCQB8#8$u9;T<1( zKilC=u|^R&j+?*|)-TPn%9b`WItLl7rQr292AQVdMh@g?nj7oq;xwD59A-F;J7F0H zX}}}Q)NTR|HPY;}+4&~9k~@^PW=4!Z^xv@oKR~qe$5pmG;QyBW*jJdhq83Js7{hAs zRkm#?U`KnNR&)Tq$~F^asJhAqq{q9JHi-P$q82hn`y}B1Kmv0<I&v5jtInQsQ$FE& zJg4YCwwq##)HtrDZ69_XPq-kg|EuPv%)$H%im;xNZ-{|ES$~(?BEmQ~?0XragWg1y zweHVJ6rf;kdEF~1@iE$KhA!hf4`yGC9SnXnnVS%?L<F5_ahBVqzpT}|^fVz-kGGe} zETufeHJh{C8kSowiO&+r?g-XJRlKez>r<}R78dfR+>A2S!E6F$s`YC(up86jTHA9N z^ElHw3E;)nZ8L4%+)SzE6x{g_UM?@TvFly4Ip<~5IHN6&wy%K-a0I%WmzZRv+TjBK z96TH?dW|$kRVc>*QCQ!H+G}7Mt)_Xrh!O`mM}34R<Y(0-2NC93D=D=acDK#u74#`U zkr$GWfdgoB1ANx#r%tfbZd0@?Rt=C;)oW)rqiN*}Fc$FD4#WYCs<j$M_Mqdm-*)K_ z9ZJvHr{u?%7LAM)I$XeN$bYl-*OjQy+jkfXx0`rvie7pM>Sm<4WxPHmNBaeOa*L-~ zG`u(^kN@@Ew_VC*RukYH7CHPqB?m6?>DrGO{nyr271+8~YXDnUuF#jF1mJ#N;09jB zk{Vz_L$8SKmfryc^!BaUJT9*Ko~Ht4E;(B(PM`^!-fw_;?70}2TN6SfqbWZMZhz3a zvi(>CP^Sf1qWPxi8z)IX&^fCN)Y`#_c8a$2PQx5$rmlUyIckT?QD{Z{^4lZsCR3!t zPCx^|`6KV73-d)$;yGelru0q>D9`#`R$Y|d6o%|ZqL=?iU^TN$6nRl@OLxk8`0tpT z<0Q-dItNx{1e2DkKJASKP0@yrskh2Gt+nnCIWLpiqB&hJ6EqD$K4c1cMA<cHW&f<J z!gWjaxkNVy^;Nc!8=QM!L_!(0OIHVWra7wru```|SY@krGIgxj1lEVo`1?Na)M4y7 z5!f1{tOBl+xab`#sxO<(RSXr>R@q9cnJ)l*6E|ihMcVhNw3{*U(Jy8##cCvdTT5_$ zGe!EPLw;GDR=&HZIZ6fS6`Au}-C1lh$)rDG0;9Ii4;A(Ur?bxsg2zCVi1!WX)Mm=^ z*n3<cf#=}&xPx;|azXA~KwMxQ={Qox+=KyZVEug)3XaI?c0+;N1?>URKL!4geNK7K zHq;8ZyfRaNlga|@JgbfGskdN4bHHC?@<L~u*yO+ke%5?&<n7-Gs4lfjS39-v*QHhu zn`|s<czW4slC$3CX^K*Da8Y+t{!>{s$|TdtuC**)>OOScgy@%#Hga7p7PWnK86#L~ zO5+p>5Bv(}Y{r26tTpxQ$K;fOitzs<&)FIo6JwZw17rnS2L634c&Gl^Xo|M%3~n}e zvj(ukZc)3j@MPXOVDUD+qgnsZX3=HwhO2WWH#Ej)-Xwjo<5%SOWz+r6{_~Ih2(ZnN z=4uf+Prge{VPoC5s=$PF<@I#k(ATg<2l8T7W^kETwGDBJFx^GRy&{Einj_nd9{vX) zTme4oMeA&-x<CCR+U*}0&y!CV{m%CG#A(hpD4%ZoMK$yegfAgdxIkwn&`>L3)AAiZ z;S2-YqvKvFO2Y(gZ2eeQvYYJq5bY5Iq=lc|*lpG8fV;h|-MRlOg@pFLbv174SEx@m z=k9gG-sxeqc#;n?*Di${T<lUF!qh(f1KO&05sj^Q1wA)Ks~vcSo7?>!X>0v8?bVf= z+vI!{FE7rY!7L)9#(HNwU6XyUHN+Cq*G%)PgT=n$dijA8MxxzAyQ7NVz9_9lkQGfX zON(7Z7mW_EKBwNgJd)Ofj6^PhE3?8KE3*%2oeyFa3N6JI7|Mc}!Ghg>_tCCW_Umh* zu+9h*aJ_#&bbsrBvdz9g^(j?nC+Rg!<Z#=;HrbKq>PZZCIys^n%C7of4^WNP7MBxx zxBdU%|9T0imuf*lMBe{PgM&BY^G@ImEltfcWoLh~v&$5IB^I|Ad-KQz7+V+(e;F1f zW+OKq<_5**=9A_J89|{zW3m4*)rjGa!eb%4q463AXFb+GUui7&p8kEufA@O1?wzyA zH>FnHc)P+qw_(%W*qnoM`}evx+fQKW*A%Sx<Aaf+Aj!$mK`{S|PfhXvTf)&`{?02S z#cIB#U-UqJ{~sq;@CSRd4Loa#HHlA-l3~5Q_WmCsUkc-qm?Qsh#i$JCzacpKLXjhv zo=4;;8?7SIoU=wPL0izCR&EL+D}dc!g(yfOV~RBaL?lpTEHZdUsgkXHnj?v{`hFGc z_i-a~U9gec66pkzj^Fxsa$2RoB1ie}x8_2x(KxePf^&`Xp)>>#nA?LhZb_sc#41s) z(Og5+(gh3(UiYCzekCwB`05(}uF##y`1;ry*#aA>3B6C2m~M3^WDcVq1C9MQ9v6uU z1R8Jf&Sj(jiaf5JKJgWq;Wd3#yUG+Ts61PYaQ~6Q6(uRV4OT{R9kPgvH#Z|p?hhks zG$giv0Vd@p<X*t?W=XFE;eTM35rY)(*y(1;-aJB8iet~MLj~+PK=Z@*2gW3Cfv2}1 zT0{GwU^Yh;7iv{`4)81aHN8A7-=4pXdFMJJ5Bj&ljwZXIBz@rHAppr`^b|l^!+TKb z1b`7|9VmjwHa)2JP|QF;U4-j`ndctyE8)qX1&%&D+zGu51h4tG!~S`h<5#le+UHj~ z4I$A3FZvB%g7MijVN4bx7W<xY3(XKbIo%B!a32&2MI4yYLoq-RD49!jVVNZe%?H64 zC^_u=EuX?NymiAeZXtW8==1|q#8|ok$N+qva}0{ulU@jZE4~?&!|;Lc${sJ7Do}F6 zUqlitwqpmL28P)44c9!2^=N)xU;!_2<1c+~hjL@3>(9bwjVybBe_F=WJel_QR(Wch zow`-sNo3(VeEgYaq#a67|0;AV6{H>Iy+0M-p?Q%iCEyA@mo@yWsFXhUY>%BfZ&)CE zGy%)n036zvNK?o+E^_Qu<_~-cii)OC;GD6EV+1?3e<DcEda51ZwEpK`FDe-j?^K0r zgq_;AJsle)_gG~jk;!_rT9CgQ1@JW4DF6k1;OWd0O_yON1TCcCskFZ+C#Z2f6mKL` zqwLf#bgO&=c!_@B9~p93N2r`ANoBtRDmH&4!5d0DucAjP8t8K&>{#2b@Diy%toplU z@^Y@eI<L5na0W_p6AgR^YkJF!d8W>FL~!&Yb#aMyHm$4tG77%xZx7ds-c!&q#%2B; z09i_yz^H!^#ZFah_C49F2ysAkTQs9(mPggepOY;Zw1a#sHxi~54%(pw5Y2bQ4nShH z!$A;tm>;&3Up0xG<N&}$Zd~(n;P3re6C(Di+ne$oD9!<X{r7tO_As!WDKBW=?qv7U z6CNUYe)6cY8LFe`f@JoKfwkeF*{%hkx|%{aW5S0X)Na}!8G|ViK8$8SLtq#{6m>u{ zUE=`a0Emc9$+9D=D*@NWWZ56WTz?b_;s7FXx%@M9Y3c`vDtzjPl}ZJ<D|21nv|ak9 zP_~E!`Dj!0y@a%0%1z_OH0iEZYotUU!+C1zhm^8YxvO=x_VitXQv2L6$fh@+E(jU0 z*eePeJs9G>)V0B49v-8oDX!{(QU7&{siblLU+<$JdJ2#-iCrK&m1{>a+3xLus*8t1 zJm`}(k+NHS2NdyMHxJ#^J9u&U^1}?r^M~21WWg>l{UM1Fb}9tDcN`i<N;i={w@PJ# zovIV-=_<~Z@Nobn<K=yp2#n1q@8esmVm9rOuT>78>g>~yfaed&Z_iJFEyu+<Af9dM z2E@|+um1#({{)BUvh5I~RMi10QO8&DoX7AqpV*S17qFD9F@wwqyq2yq?Y9y)WMg1b z&s`+bk0Gmij*tWCJFh?Oh}_h3K=;VFE(&K-a(m{P&|6sJDbIWqo}i+GiOk0+6_VTg z#u2M*L+T)Jyz7X&xA+$3mm!QR{~;$AUJV0o-tI%P(x>Xmv!+{!6crC7J1ld^Bc)TC zp|QZU*|U?fz6BqG0Jdsn_WINFGA#{%SW9R3o>EqJ1?V6;(@cqKzeR)|+!lQH07g8A zu$eZI-^stwSrX^-EW=PBFj<2;@oaB7@1WOmPpb#MG(iX5W=2sqAE6w<{r%d;o0RBI z!IzfGBg0K)!rm90URtovi^k-}$(Qz>N5{mye{I+C_jWJlymHhQe>sJi8-r?PCnCyz zdCbkpJ=1(D`xX1JqV9HOY6z(pS-9+0k_V&$&J6BJg~dl7zn#`#326|c$CTNh*hx3S z9wjMW*PdGs8_?95+He=@d|*A7)ZpE%LH<+E^0{{*!i=vltj|<KuLW5C_$3y0d1O7w z4$VcU;yFF&4Y~*SfrktnQb^KQTT~iE`WK_iPU@QUtLoVk{tODt`ncvC+V{R(df$oo zSeR+`E@Y`wrRh&ylBEn;{X)$u&or}nN#hKBK2FX<&h(w}nf+gOBE6%LQn(I^{s@!T zP5t0;HmD-UlDYMTJA%g=S*WwoRk?Dji=y|2Mq-@QrxS4pRTq^x8H_}Kd_rJpSI@Nh zt<EM%PNG@L9w;MnA6QbKRr#^8`~)^3;A%-sY*Vzdzz$q;E;eeFGoB(tymDYU9nbxi z?dy8T%YD7B(v!QJIrT^0mCQ8zaZEFiaAiz-T!OY_Ju=9BbxaDvWO62xYYEI_gi!*H ztJdJGda0~4{kJj%(}8OfecUi=q(`?M)W<8ql4f07iW6ITT*RqnCn3xon_F14o$K%i zB<~cw(J?ol#CYG#4Twq25RNBl7Rl4a2&Dv$Io?f^scg<UH@3)DOc10A_BPC$c+fCS z^HDRn6g};9g}lI&TG`L&+qL2oq0TH~GRas3@XA=rg_LX%(x<`b`c{8rsJ_z<p4==B z6oL8S7NqE6eH_ve0a$ob&imGY#6dryzOH=AmK{#1%|Tf14=7SZ#4C;9M?D7uS>FTo zBw1Uj@1P@mYsdRDuOy&u5f2XVeSTgu6h0`<C~ePbuFynutxbMLw8Cu?^1ZDR@=-L) zOeWX_c_<j=Wr$58Ji7E&%I(<=s~UqZ)K8?X8HkuU?}}ZTO8q%yS@qGo?1@sw0>eez zdA3iIm?+7L_2|wm{V`)95GxYOIU5*!O{*=T8wb4M6vQRc9pe?E9D7CI@g3dzuP!{w z!;|bq)5#Sy#ERUFwM%g1&Qrohz68-#$pahdIdbcm`$w$cK<)IM+m~okZ_yzVJy@tz z6*VK5QFj$g<P2y$NH<+>!eN!k?OZkFu}ll(Ypf}P3)Xvt_}y*Mtl5L%yp$<r+ML8f z#r7R5#fe_rb$BDn@Xk*^p?cEA-0;QS>PnLF62;sMM70uUcJ#Vzl;~AQJ+`iuW!ZkD zT!Mwg_C#C#zBK;kKq#;G?danB#d>g17I>Q;Z5iuN@DoZlUg!AaU2TRv$|*m?c<IRz zmP9>yM%*G^*wVuB$>R(%UnVJYH!{$|?_2?E1`|ZAIX=#eEc~$+@$3knYLV9t<=@c` zY-TA_=-QJ3d#1s|SBf0__@KK3{O9bppf3vkRlU9(f?S+VNRPzgOq_v}msD2IY)u6u zIQOsM-Mm6LkAE&*rv`JQd_;u|A$SgTLk0{(Jw#=c=d^HKMoe0L%92~@wMNrd)5}Ko znd-I3BZrVk+T$=p+hO40d~?-?mH1|Wr|S(EHrh;dA8kjA+R=MGU(Q$;<EpBOJ~`Yi zH3h&uz^DYaD2nr2cg2>Vv<?ZMUGYOuE_)2GM-C~LIxD7$BLnYNPWSA1=Ijjd5G=vb z)6hk*q9JkM^&#B)6LQ_JciLt$%UT0}T=|@8g*bJ|X_F|e>`=V1U5V-X1$#cD+1ide zAy3u$s%cv@*n!vc+D#bB-q69?X~RD5DfxMw2yGhf{(}EYIHAI}@w%p{@4EM&LA_E* z8n*Kmn@itN2N%MyX3_Oi0`-qpg2@!KCW27&*;0)p%pvq(MJgv4s82lz?8<AX1S_b# zCw%Lu`H{?ckvNn3GQsKL?NG<I-^Nr%a+cr;459Dg3q1Zb>_v9N<+RZb*6%at&VU&% zwI)4hVOFN7=ZG>>Zz7f@SG?*GMiOlBmD6MeCO~mNlG#^&A6%0kF`WItJh?=B0jF!@ z22r@f8?2I<1y!kRz1{!2uqsI(es(Lu_^Uh|cl(^A6lTZ=G7#4<8BRGkZcWzT(S2Xz z>LvHAwExlUzrO*r^S9C9pq;Q2s&ozl@hcuyDmN{3C)k~WIG-lU-Pdh48hC(K$Ep;I z=u3!`O%#S4+54HTXod(*%fs-YH3NSL2M1rt5x_m`=jlkLjHHJhqP&{=6O0mSC@}}( z$3DxAJ}wU-HlX}bew3J*Hd0yOx*T7IO|0{)!fi4Js3>CsYV((ls<k74YIfOEKmlZa znrDAmXpeCm!)|*ED-7Xy{sc>Fcf+kSZUb;L=2flgKE4YhR9mhrzrU~or&KBzIkApd z4K3&$sQd#4<Ssxk;B2CT(u+M0GO?~JYtN4>S*}3$XRl)O&RJ~zsj&(ZLtp_B^<Liq zjZwFe3X^T9XZJga4M*)S^r`0rr8}Ir(oN+;9CmZ?lUi5h=@+pdxb%-I2aH~7N$Wh; zF5<DiaHib}pG5>mE)fqUz(T3BR}Z!Ss6_E`c86v3+GMeatiaEljPfL#<ShQgDx@od zwvIQpv9U5|l`m(;&x(X-5*TPv8+@aMhRbl4J`ztV;9C$%@}x&ko2cEZSEpUFr>OcC z1VCX97_H<WqE=QV^pA<o+%8v0<E|pI_Cc?HR|GmRvxKL_7h1`OBSk7mjNQWpX^@7N zAcr*ANrxDx5vKm@dUQnpYDyMzf2GhV;^`oc#p$a1SDvrjO~(pyGkUD!?Rry6ob39B zy*=k%k$Om)nuudnV>T?uy3!M4$16+V#$6#_W?d@?y7BySbEfSSy;#P>40MCNbF&MV zL>x$4BdZxhh`bUp4%!2rLy*6VKI#9J_&{Vu3OjYDHowhgR$#JIhb7a(T@`Y<rtpnS zFQSX74%hyHScDsE6{m_gS!!6HF)kU0W!c?z2y_1CGyGa(HU5)Ib~$bFb_^G34FuGJ zW6-cqoM~SH>^+Suj`E+r-;NJ)JKo6~n%h4&YW$ywi&F5j`A5SPJgGVl`lH+)r$^3; zGD9@^Bwf5WRg=D7JXZUHwRtf8So<2beZ}RV;K7#U%hkI%cS?A>o?9IFV-m%SXA|SV z8|E+KwEbpzF3A31oz6kn;|!8zlUcju>p>KYK@mP2b3jrk@L5wtdlY;uUyl)Qfzk%V zLh_`pTW!X~Bn|bgu8&+;x*m;iuKHZ06=VxO=gLtZs?lhF&sFawDI<s*Q?<pbpu5IF ziO){ekQJ!^-l0nqj1t9-zg~XEYxVhL67;}c=L|OI%i=HLR(Xd|(!7~zW_$Df=vqlB zE=6<}abNLHL2wn4v;$itO>i9+IQ@8dLG61!@(T*_Na=<m8_zi_U>K->7WLY#e_(%9 zr#dqQTt0r2!X3|<aX^8lF&0P@EZAI!M5ssEpE`_~MD%s@9}L{q-e5z>>6)g<vCEy= zWTxaH;G8bWcZyrC36xMz?jH|D;;>e&_jvh0U^!PsUGJF}wZ!2@tF*RmJg|7dFx03r zVFc-FI4Ht5<`96&sdT6Ro`W%*F{G<tKfp8$d1to2Gcn$o{zCw>7HJxhQ;7>vKQt8N z86d4@<e4_YPdb*~L14z1I2Cj<y4x*uYl=RoD-a}|B>NyneHWNHvFl5k%KAV)d?WWt zu<I%J3U`H0{RP~cn<@IL2L_)}LVB+ri34AF`_TyUTgqCrFWev`fu##{1)cco;W0AZ zj>wWwfdd;bjlWV%QUESV(#JRV_JN<2!w%QaL(xJPW7Vh0Q^N2xvOLG=I=brxduTs2 zfrxYJP|~rXe;<$kC#7vR6%)1bH3O?qq%y<89lY9$%_&Rd`ZPp=mM<*g3|D{5X&tzA znTI{Ka)lqbl@~G8@*9}jhkLiu{fjrImyZvZWW@DHb}7&Jm<F`t32vaOeZ}PiHY7y@ zZ}%wE9|ikDaq*@wTJmD(jVaG_@cV^eomER^Fe=wKMGS)qq9n>b^u#@y&D9s<zjX0< z53p(Y<Q?*seinPQb|ylE+XXG{KjmUwT%Z`=^)x3&vNhrHaCafig_s@$PF`2$*<-F= zL7d!lZ5}e>wSzeXeBB9S@5rd<&ra)#`&ls7k+>73GsO8UW4qTUt(v^FOp4&ZEwXJV zNj$Lhd-Bt~O)~bpN9B?UdqIoH5pP-d62oPgfj`Mi{b0xGy>R}4?I5O(nNw9-vwV?G z)I^x3|0P4D{kB!1%0YYTMo#VEC(5%u`pQ8Z2v;#KjfYZ{p%n5oiAFDsZvw0aoYp#) zWjg$j(Diy3&;#z`IvOn1`xyRd8$Pwk;|KJr^JN4j+CvHsxdEUub;aD;ip~_eGlRx5 zVyw<HC{~m*^;63}RNdHJVzu(FAIhX|Flj^cWhzPc=^$0>Yz-S~CRGz&rRb?&a<BzN zD$G&1>?1rQyyAGAQm-h3u@ZAM4{}9Cvfu7LBkZ+iuo0dQI#-o3&6)o0oS;ozBqDJk zozfE+AlMkF`ikPca~YpDZ`I{Dr?_M4(Nx^vk?f?I`|~(=-#a*g==_@AM~z5J<nNOE zl}C^Sa~NMV*rnHJr<WmEqdpBd4xwkvLa9rNtTP`Q>{LPa&<{SQ{1HAmGpm9E>51Wg zq7?(xt~&)Y22{PTPxS7}WPI=s2?t}3F4BC;Gp`O*X4fv456COLOLT`0t{Ud<Jh?ep zk3I08pc+r_pD#^5xpB(ZHr^-bZg10Pgbt)eG-*n?5*Q-0c3vs(q3n&RM=oLs9_t^1 z1cZ5bzxpvg8!-Gx7XNnnsXJbTtcoeZ5IHBLS}8dCJWx$emmfMMxp<h!zcOK|Z<(f$ z%P5HMIqT8pS$<b8V!$y*zC(^km}iFS7dGvsi~$PmvR>JInU-%;ny9+3QdBh)Z9X0o zx+QjRSA^Qrw?SFu?58i}v*SA<xegHgT;WL!n4jL*tzTU>r{=nMy7S5wL7QI}@~%`& zMcwe|1SZFSoX}6#S*r~+6;(j&>6SM^6{LJpk&I|of7;14&|PM==DkE7_p~+d&NJd= zKWI$8v6R*0+V^Ry^9`>k)>>Q|r7N2mPaCUE)`zbmVJ1hgHK$O{EST#RzxQc4nNS|c z8r?%}OwN*c;TI4dbmB3lZ_h>izE3FAT4_t<+I^4d3ja{v(3sKS0rQFeR@0Q;o4|Nd zi8a>Vj{X?Qzy5QmL6gQW4TZd>LKAFV2l_D)9-O*v{-!#*LfiOAta$-lZG>IR56(|^ z<{uo#(%P37tdIIaWPFNvqWbuZY#KdQ(5bp~29-QgD^EVlSXH(KtexdkhrtBSa#RYv zo{70DUjD6PuDQKJM3OJyP6&>UNXGpTbs?s?wQXV-KOfLIu)eCi!)@p2PAp~Fhkd{; zp)I?Hu>P!Cl0&E<;mFe-YXB)zXT~D1dOeYUn-(3o;A5ylOZ7Wfzl*>sQ<fUIC5quq z!Zl8AhYh8>nm*aH4)co85d7xc3~v{@t7~pNVehG5OF=Pk(?T(f^_L)$v4)7?HgDJ; z%4LYhy)M#2x?y_XH;McCxW#)NRZ+Qxt^AyYF5MC$YTY3F^JAE{`B*XcTYV8v>4l)G z>lcwu>gBdv-1E?QwLc?Gaf?rWMQt)oHi}n)T}5gYBe%aJ>@U_O&xg&1lEq>#d_~yX z%|1?>`ZOz($h&ogAAadlIdlo>m;niGoLb};KlTlKuRDuP{pFXpV_CkY$Uk_T%#TSw zxzT2A+aTO6Y9>}rD(WJmSrxz%tNz<53F%nZWdo&;UYtbrBv0zqc@8z|2)0Y$15#0x zMTY7eSw!?C<cK<C?4p#%ObDJL_bNX(KSTlV?01LqbZE&u9P<GQ`yUGDyFchCO(`II zM;-DD<jy7Z3!h(iM)BZ-dv#YMjhgK;i*26J3oXZ7NtTj5wawCh=5E8Aaewg2BmDW7 z`q5ys5e{@xDkgZ?4q=5W7;zZfWvGmdv4Hy0;($F`b}0aVZMB&tbzL|n_1fXU=Rz&& zH|&lGJj(|;VyK!?K(ZL7%wlZc!17Fhze2-1@fAaGJY5U2JvQ#_d!c5we*Boqk<+)m zYkagTW?P63p*BJ52OqVTgBsUUjiXoO%ndXJ{bjAEd>4^x87F4;hBqnW+$BtE;doiW z+rRBD4(6@R=x0kfEDbv*zkFRV?shHn%zmG^CCfx@H)ws<pX~3&JaUP5Nw};|X5!Li zvKUX5PCdwI8UB18H)**tf*AHdnwlDQ`PDUieP$qpcPeAT=~cq3x+c?e-v+y0(1fQT zehgDxb{m&gE{Hs}RZpffymVr#E{#ro20TM<7AKB0u!=Onxz-Z(K<0&ayD#=hY`WMH znqNfDMh9D_aWU_*Z8~6iV>&xYVY5Gi#8#HQp_j1l3C+1i;!avbLgbURmo;_BNU9jy zwN#u?tjx~oxbO&C7mPx&j)FxZG3sDqvjuj)9W+1Y5MoN7j)i5ExfxC`5emAAjD;nL zY?$CPQhx6l^@;$Z=wP%jWvzo%uwNem19TB%tVC_ENU({OY=fd#;DBr|pYYW)AK_2U z1#RYD*<hH6I(r|j=yPs-m$9~MJ{_ytaET|@raI-oLaTXZ-cRQ9%mg`ge^TY8v~R|! zLlbAqm@T`{Wo1m45vRGk?yQDszVr8nERNU0<D%0W<6fH!`+3o8k(P1bdyOt^h#7O1 zs2_-05s?$;X?!aVEV1S1Tp21+Cn0NN?}=6~cT<TO<@6IvCn(lfwv?miMM12D<{`U9 zKz-6{{6mzHoouHoIm4h<ZV)ymK76Xu_=f|^m(@*Kqf8yaicZb#LsO}uW_gvQWonRi zwFWe8X5HB24=~OWJ9|=##FhO<%6$#>U&@$IsB0RHUI<ur%ilJ)oo#e4ksH0x=4F@V zO$O1aUm*t^>$gM)?(!C8ml=al&~wD_Hb*-u<L+s!k2tptgq}q%n!nSN?!>A@j-Fxq z5MRCtd9E?u>+PV-*yNoU^d6w*2)(R*ytmysm^sNm0q=zkXD(b6Ult9TBKPBm-_G57 z8Bi2!<YV&KMAqRa6P()Ws2j5!6h9xT)0`@xJXJ2Q5*poDl9=+fo;SkWM8n;_D_56A z+vhD=`95DpLQm-|RH+lT_JT03Z>>%pxf3iq=J9fiG5fF`+`&?AZ7ALNaLH({m99<{ zwgPfTcb2N`I|?^9G*&!hnWrXy!M1u5tNa5kxLMHZFV6@zUL6~s^V@pf8gs^BcsAC0 znS%p1<YQxZnYn2kaeI&D(x^-v#W(H=4L7PzxiLbBB4c{U(E9PgM4b#HLB+&iHvLZi z#Nr9V8IDqhTm!99j6FTC+SI*kwd5b&Z-EwMijwqp<_Jo-!uytw-XBIe#|h>AH}g_` zwZFFBHr3G%>mp#a$7I==ll=PHT#>Q<$JTr*SH97rDz(z~qmG$(Xv(zM1ODGy<P*+m z4Q$bqEDw~@K<W;Tb-LqHf&Lf6FQ!Q>94@4ykXeGQL=v$AH@G-$k0nsY)w?sMhqzaZ ziWLo4idzMDSNx9K{Iyq|-r7gH-DOFJVc5A3ucCuGew|A@9p=O{T#b93gQ}Kf+J5Y_ z`*)r4gSvjlg7h^d91WeB@B?~<$@;GxFW3q~+-GKN(c3nQQPRZ3VI>|L$0qaZhY=yV z%39u9jp)Hc^A&WqO6H5uEHna=D1$f3AD41}rd*ER&=L+S-9DEV{YWo95obm0QWe(r z|FD<;fL@X$Y685j?=aO<bs@}Edzrq&v~sum8^QCapPnK(mSRSo8tqd$*M<k9)-A$7 zLx+%uC7FpZ>P2enJdV+nZk=_u%D%bIh(XxK>2Hl6=7OAvIkTk~hmlO#65AHF__lLX zrt-5@jDO0%M;^J}ezKHXpD_QEXt~I*#=3RToR7T4)QtjJhmsSJDoE;9)cQ#LRqL84 zAM_yFcPqrs3YNrre@DZPBLtcB{7d#?ulLqfg9RtbC__1OkFUhKE6fYkH+`w54~Jnd z)p<fS4sK-H!g()G0`b)L#MVG@=Xi{vzBA8vz(GEI>9m&3hGckJN&Qvx=u3+ncHs-E zd1F2p>xw^&_C1y4*JiC(T{Lwo{V$_*qumZ7HtMCHZ}OcA?@gwER}F=hItU(KDyC2j zk_2X7&_<3e#!<FiJ~=hadlrc)j*9EvRKoJN>Ovd1=$D$R%Vh;k5N-137TZ+>>|tA^ zMIN#AQx0@M&QL3(oA8(^P{%Q4W0F#-cxbnBYkI1{he-Z<z&?7mQay0VIv6RvHKFcK zQNE`ee~?GV3_#*@eiUzWx7^7#TgY6G202^T^v#L6i4SNPm<@E&j}PSGCSd6KCm(5p zQIix!mZrJlIbyGTDXVTW_A+;NXWaZo*4ubUz>%kXI-{>>H3ieUPARBHcFcdJ*CbO} ztB1tVA6Aw0?aHF8C*;ejZPk_1z<PN{!qYc;9*0?xq7G<p;lu$bnw>K+XMdHfKu04m zT4q(&A(gsBOi@oPUd)RauU6bZ(dFwSb0vd*IgY1B)Fx@QadZq!ngm?h;yiOB&%j4S zh<U3D8Wbl%jXGx*j!^NbaRYJosH^Zux3keMIHoVib6KY%Wjdu=9Z&V;rC_7F<vsEZ zn$Oo#ZiVUQ<G<cQ1{$_Y{@&5VT)7d3cIDLR84P*O;QS&e>qyPLBjfgc$jTLzbcnio z&E(+Eu`cyV%Vie*OQGH~@OK{<PvV0Yx4P;BEuF-%4hPzu(rBO`!ME1E-*b2qo?Qqd zki$!qSPodVaJKeMwBpQRzaU&;=?lRAevw);@tgT`uwdN%wNmwQnS(mDdTU(Feh6)G z&t}eamyE}B#iz)Jh?gc`VbQtn6V*=8UX@QWexXRjWXOhfUg|{f`q4?QIXy)Lw<u#N zW<Qb0ji6j?h71C3o|4oasIKc3a-wI9E8HY2@P}JWZmb9>F_&4a)*kz>+M(gND%guX z=5Y~&qF%V`r)EfBJe`$2I?h)lJ4kZwpp!GT+P@Ke@}FLP9_(*iorYiWk-f)lx3X0H zKJi-iRXr#dEo1A@J*ryLE|zRMmNb*jF>zGW`OAUf|15Ac+-oY%fqXb#lXl_ilpNhe zmA)gbqX-g+-H+UJK<Hkb&Uh^{aaqW^cnXY*71j_$|0~xJ415VOAj9+l6x2oXXbAuK z`BTJ|1GF!u_;sfj?AXzs&TBzj&bRz$ail!qhT?3s*Y;dUOPaFNBJ5$Ji(J3ldI1~b zeL>@lo%QP9>|uOmlNOBIC5Ev6q2I1`LO*u~y<)m>QmDHkw(oh07(`h!qW;C4Q;p9p z&j0w;c1?6cCii${8sjgl@<%LATZ?I@oY~y&K*DC!jM#j|rn)c4wucVvc3Kce#rcJx z<(5JOW#Aj1YesyBq#$+$QNtMg&qJY_8C@`?>$JOf1(<g=e(k>u3xw;G`j+PPPgAGW zgc-$3vo9-Uk1l3O6JUDF`g!<3tY_zQp%vxC=}HY^w5>9Fixsp}8>ZX8nOQC``*ohF zm<-l8HEJC%sVO(|gnz`SULI8@l3n5<Mobw=`M`+outQO9KudM-XrGEtrqe*W!gwc! z?SjDqH%WW&I9|93c|jv@7=-;wh_(UVeb!IBPNJ5CvZadW&8+f<Np%mF48sXlURIV` zp~L37(nmF)h&@&QBO#sN!Fb-W$ZJ2y^H*7_f;MZx;I4W7zJflR`|Op~JUuo;cD>nl zA?=T`4r%8fjaqzmXARP_Kh*128U`^wGG?>Yd(C!~+UaUeWpQ|}=;gK5`L0IT=|<H6 z&UE-pS5(B7OwKAE#x$DJSpAn9q!U3CnFgI^uZ1D97ED@gg<e0`v=fWfCej*R7?0$1 zI*jbf%QPBo4&-&}Tvkljvt%}VDGJuZBu9$$)xYIeZN}23u)P_S$G9n%8b+P-(w2Le zCu<Z{WumIj{w+~L(&Ew`5t_r2$orzF2w!8rzg>xUeCoqfVRNK(g|)BPhc!fvxUIrP zj)FgLfE(l-^&=Ms1*JDqJE{||8wa%@+5MmyLrGExnp{=Q7n(3be>h53+}jGSOBU=S z3d^S{qsMYcxd~O-iC?xzy!?cpQ&XtX$+cZ01CM9d@i&WNWcT<%xBaDZbZUH{z$%j! z-W_%qh(c-X%(i2ArwjS--I;_!2BQ2!f<3dmQnnhzwCBBdaMr;(7)oI~tm9oSkQatN zL7KN$&REcIlW|V6h^~!)1<I?KihBM`{!oq->E-Mw$oK<)&*Qy{KS^@;F`ggRk^t4c zZ-({{hbgKIj*;W(h1!{~-cUw~=|qL8vR4KTf9gHqE;$+}{4$jQ?D7zg-bReC-u5#$ z94x)e8dVo~Af>8v-WzumS`0#*7w9WLxXO97$RM;-XZ<ctJOc;HVr;*3odjhP{S@>? z$MuP@2<*g!E958o0|^wVo};V-)(<S5*PL-Y6sznSlj21X%h_LaWaX|9Ndek@pLqKa zK`}a2alZ!xQh@!KIrJl#0Q(aPI?{s+jfM)N8Su{A^<(zMHIyR$gDq#hxH&bYx2gQB z+*&bAO)SDiLxk!>L9Y>SOC`8Vo6`AjL2N<Dbbi1q@!)tp?DvH!TbtCB4p}8wJ6bQ2 z1KOdA6?pSM-(VYlXfc&kmb;hfAv$0i(1bV}SR@U6b{Fg)MBeRw(q?jVAy-8I(gJpR zM~zk#oA+YiB|6QEo(pndrv~@B<&<otBj%`uWV8A*2+h1v_K7odEJPDm^r^E^GVY_$ zQ>R^wWA+Jtm%tbBm2*1;Hreajk%2MXX+H=4(Lof;?&i&I5As2POl1|ig}^;K{h4eG zwsKzid;cArPEM?XHEgaTH2ebuJg+^)oN4fN@Euu`VzvRU-ms1Xnf-wbdxXd`dl%&G z>HR)~(3aiqEVIJW#ILz~&bz_?`k7O*Ie)7l8a8<!Wiln<YTJME<~38-|Dvgb1e6no zk#k=*Mo=8xfH^9FpK`qeXni9fe%39-j56f3-?_`ZJZ`|PHz<Hfv(CEXH?}2PJ^N-; z0$)^7=I*i&9R5eoEDP$^3@;2BcVrdm^sJ#`%lawk(s8EU@ixF6(~2BEa!IT0+|SOj zmiJ2N52~ZxWV23^)%&CjvjO3e$j1QxQx=9W0O9<@2?=85e0}(nC6L5A6weS)g!UJ5 zCU~HrKo=7qP-TYEHv@#7P%hJe&>L?DiB?<ryv>=gPK(KZWONOSVQ>6YZhn_4MhzAU zutwmX!CO0x;*ZcX{<0;@H{wkr1iDYi{bYUOlfvAy-lY=fW`}wQJ}yCc9!L89%f_p| zH80^jLT0l+(05~U+;}Zd`?3#qaJpHL|J3FjcztU)5zPhr+2QRIT{G$+q_$ykx)H$+ z1@#n6ru#yVVx0X?Ptau+MXOe_MJZjR+6ee0@7Rw%VGQo>xM3ftLQJrOtfErhEU6dT zzYJiLyezuDn1f7{5a&S?=wGl~N{qf>e~w)Y{fwaJq72Z7`8y1bXEy-tgQ{8cUt=cy z6e=hXWyg(q5<*g*3K6i0Y|!f^7sE?3P6;Z*Oalc{1VZm?ZxPmcVt*E)VVQye5nVGl zF0lS5GR)64^P89+*{=<2Xr8hb{AZRvgd~B{+H!<$W(|reQ{DHhAWe3F2JX<CWI4+W zOJpfF`jqNigH&MxW3<No<`X!E4DcnzmjT;rt&dH><+5o-R2~@^h#H%nhYt!5uBF_> z1ZOY9&_cXJAa5cpyq{m`h8%vwt0XH0W|%HbHaFCzY4inrIe@a&Y{RA6JyPh-<xWj< z7xRqTJ(Xbvf-Dmf^l#|5o^FVTg8iO6CB=s{T5J8+Ks%>6fOFwH%n=-^VZ+QaUiXxR zSQ>|};B~;0QsEPd)%u|hd@ix=I;Gzx$>D5t)sww7g{7kXtMNJ&;xUu4mivePHd)*S z{l1zr^ibE-|G5Za;S{2R_q+-F-gYqOZY4~L+i2bMy=w-p<-YM<Dsv1Bkg|+URknZ~ zPx3mU5CVW%l+z@@^?>UQUIj>nex^|z`&xG=dj0=2B2>jHw3fS{q#n%<L<(;=_|WAa z#N$blZ{>W5fbkHw$1!@%+4IluUxF%ukgv8~JN-aNe>D4xaC{(0wWYX=Hzc5O)8bcP z@CAG!OYj7gB%<(YMneE5aiI8;E(;Dwt#Ykc!1!N4OlW{pPz~3+MY`ZMm*82@b1N(4 zbY_Ums}C9s>gof6$um_XEIDQHYOsWOPWM-47~>*y--ld%4SYK-#^fXoyAX7v^@not z5+HgGa;*i}LRPm#VYF&@imC)7c8IzQ5iPVbtgsU0pzx5}DS8sF(K<94Vh>M$8v^qi z7^`uSTFW(Z2|<7>&e`MAR$@Cb+c@y-A)7BTJp3#i<%ga&B2FKK{B681{UUH$%@jEy z9uhL7K$Vn7MEEG|$N+363*f<Q4bz0W;`lZa8G3^)=>G+}WJc@an@t7Dp%Y*g?T76q zTjxkUZBYu(VaDq*%7nPt@neVEJ)$5j_nGsLYxgcVhCwuRu;~a|?(t<#X{|s$%W5vh zj5sxC<n3(;OAmU0@q3?)@QE9qkD{9tBfyn6lNjzYdP_7O%4j`?6yY+O@;x18pi4$U z^e?gRKw_anK-#7ZfK)C7wZ?u30(%EfdytZjr7my;vG7QQT9mZfsE%sbCjA8R3M`Rk zV;E8{Uyodo&5Cp_H9b1W=lcjJsh~xj;IKn_CfpSlb!w1HUIo}O6P<+g5wM6Oa~<F3 zB~w=`qoxOBUD=}7D;*<VJv9i64v?KAlt3LM6<|LA6P;lM&SBFPQJpCM(h_@Y?lgv) z5qr9ORw@*-kGCJrx1;eIZHPPEZ7mTg)q(Hp|3xFT3-H7tGDT-O&yAAq=?I3AVl4}K zw0N-OGfe}2I~}sP`}%z>=jh<qZs7YwWkaosOg$Z<FJnG5+1P*O`rf1-QLcWg@of~Q z3pv8jbU39^op!EuQP)oGb5_AuNPt}<Bk7OqG_v&^Z{aoKW|~1es|46<TF$Fdvemrd z@F4k0umU=j#6z1IE%c%Xloy|%P^a_0+2V5oY@j`60k%)X)BH)G@LkO=R3QdD&Ha#X z+7rfTBagB3ISn4jstwHH>(`w?pfi@pZ=iZB^Lr*lqVT?AArDD5oN@3~<<K_H4@i17 z9+nk5iwfw9v4LMBPjp}|c>vt{fpS8Y^J!bwYRGY3j$#xU<@b)*BH%UyrTX<AXowjj zmCoS>c!pscD()D($ECVMUDrZRbGM`ovQnc5@?ylGf16fogh-j0cIw4JMFB+6*8!fI zK<+vtd`264fVINV2PO7-Cm^DYs6Y?YD3C(s_XEiB_V?&sly|v0fX72bme}%l?a2Wo zCdKjzpbIAQA6+oG0+N4SunBL<b4>I5q}?|qK1(qN839$RGnIaRKM7BWeWJ5L=Q<!l zKhOkAUnL?|!)C!j-wy4)cj*CJ;^ITE7nlGW=j96p1<RxZF^+TJi+ffNCGeh1?4Tw* zM_|1T9P1cKRT#yhzXuq#iyv4*e=(_eB<v9%z0t&#OQ>fU0g3Q5VEoY;T{&x;HqII- z$abkuRSs}mJn(b={P1AW_oFpRPMl;pzp#ZS(K13I=SwZFd{^_FUO)u0yEfd4K0>@k zX6_B6cxRjEp90l3KxUN(SK6zr-y<J9h0pnf{s=^Ihw}vtaH6b08m1l-Dk>L{`$S!Y z0xy8*PKfSDBSBpymVXNG^NPVCFcm+@eK<kDAy+&*)pz5KZMK_MTf!oCyLj}f-MzRL ziH~}fS10<k7(ix!#+<AMzd~h**PMIei{k%&cgUPi1NsS6ViU^C9*kC-#`+aB_k8r8 z;il63u`?hk@4#G+L-;KG8R&ND0f~L0Gg(E48Ryk2KZ7j@1r(aqNhYD;sSwlLTOgf@ zb#YnF9YOmYO)P*9`|$@`W59-=+ozi`T7S}!WZ&r@<HZ9>+Xw-e7;%w6JVKf~V02Nc zhphZ=eF23f(eRZK@aI7uregoDm7PyK0X<m+{9rHCfHv1ZR-TE$`U*CX2w#-xp?NtJ zfM^a@G;O@II^teVYeRtCm{n?bRzUCi27POO|Gcy9+c&8L>&Bq8D;43p1{ILzJY8sC z`@g(w=1p4>uWxgOb2;Rr0uBuF&*d-wMhgGJWN~N@{Shzb6vtYtLSf95eF)E|=aWNE zP=jPBfit8`*)^j}lP1Lxb8gnfk3)jxcqCXCG5i^J*UOcC<^wbdsD)fVZ0n?S0(E|` zCgNJzt5ULUbzpai=*X7`Gau8ou=)^xDofI(6Zfa2&<09vYcAg*41EKcRo*8@OA*hK z(o77zhoT}r9(m7br5Lgl)qx#Xl*8I0Ejj`R@{h$qw-hfJzC!E*QJD(pqQQYe)YS(9 zV(`Cga#=o*jhp?B{z7o5oo}O>aqumy?<1UBAY2~FVF-Ef!%Z2w_5chum5o(lf4|W3 zR6z>X(ZDYE^r>>ljy*!1;Ap+e&Q6gG@STmxSpDeX&q+~l=wf`(t+yn?<RFUER~;!F zisT*nXOpgFI*~|k-$Hc>@S+kf7oDgb63Di1QtQ>j?!3xUS)_(R<J0JuNG!5wN&3P1 z^Ls@mF)`6NLQ29@`3undNn#_jG9vvE*VV7l)GF~1af%6E(jz{Z)#@Co)-dU8x~4F& z(Eg9=NrQ}3(9IM@hJB`lf%HFblG+mXS<r1@6!aNOcZ`P)MINab&uM$kVoYgY8ft9b za!IDTt&F_$ddB^T7+u4edfa3hLf}2Yn^g1F<&F=OteXcq%tJ7L(dC<VLBwFO4nB8K z^so-rp(aMDVjzrfP3_;TPUQvc^b%c+=fq>?Oxgttl1GI1?Zq0&h;3gD5es=JA&d)t zw>-=8E7;Q(OBKmBB@FH$6voD-%B3eoQKs#!s6Jl}sP<0bR|#*V6*$wL2=1!w{MZE> zcmuOo_4C{h$*K>Q;L=+tKgrnGbvyXmedk5hH7r5Iuoc<t000x5zpSJOqHv<KPG<y8 ztcnpfjP(HQ0VJ|QViH@*gxHWcFQ1xtnh?Gruzd<;7|+0W<-IrLUdK=XnK-#O>VG$o zIsAwS=vjilI6(q-Wu(;{7rhes_*eMvq;=$FZzwpFaz54JEsVgDR72SyEWtZ67gWU_ z@FvqhO#G7p1yEcOF>u%l{wCH=C5H0P!Hc;V7w)|g#muEbzT`jT!(ZHYmpt7<e?Pw? zZ6X_%?<UQ$5!u%7NEQZ(?LSTSNEFWZqz={p3t9huSo9wDZ@SE1nRnwqnpnU004e$l z(?_q)_o+dWZW;kz285=+zuV$A#2zxfn;`n79ajEBfS&04j6)a0yT;#<yrGB<^LG;# z5`iTaVAdv|4}IS?qro~i-xcC}MmKHW6==40P~J0R#V1Kz`)87-F1Bg&E?Po}@SA>D zzQn=s{fB&L#&~IY&*<ABk0Qal)sbg{;Cpoj%!X0$-WhvYa6p*+g4|YUNa!`o86NEx z91*{?@={n2XxBU!e>pGo{&@X%`L+(z2Pko-!$P-Hyrb9ed)Hjseyr_pl5IFj^01er zWSn>>Iu=VVBK`1AZ*?{wXbCApdWHLb>7SGayX1gcr!dZz4r*<RrS76KT40&cWt_Q{ z%L`{29oxh|6EO}rH@kQV^Nie|Co++|H$|&ua2mFfqN1-6j-n-q^laHlc6XR8bi>A6 z&h1*SM;93mMooTsmhFu*gVm?ON`W{W(({*9TJ+(AbBFijnTlKo)EM{6x@F4pkGQlg zH>HBeT_EB!@n=YhQy&fcLP+kyC2l`!PAeZ}OUtu{!$#Y5I9%1c^htgc_N&Ru98Kxm zml#jS_L4(o!__4JQT#y#cVHjRmXVT1<RiR^^@Q*U4tbX#ZQHaH+v-&tT>Cb^7txx% z$bX~kEyJp6!oN|vyCpYBmvqObQ*r}J35awzNOuU564G4;4T2&iAsy1)B`pnS_VYjQ zb-kxPoDa;J`*-)m(lvY5nl(PJ+H<nTZ?9OMc5O3uuqdq6<ks3>LX<teKuSL``b5}J z{TNdoyo%0Bz+JXswCb$;MDyJ>nd#W6HP_Usq-m|k<~Fprq^U;st@6=IK==^k$nuod zk0b3NjPyp%kB*GIkq#;)AP_4en$3fPUuVeN7ZiGKETdtsQjulw$*bp|knCH3+8Bp+ zeEL&c%LO4ysod8i%g|K?=H;k!CT9M`0pXTj?%;Erng}<70qY7IOhJS3j|*fGS1GfU zOTMw+s_bJ5>y7#BBX^G<nz&1tf=3%!jYF4PQuTGE!kSFG6Brx+iCiCQs@peoJmk!c z8q%mr%NbR5?VwNZ*fpJ1qq!$%Wd@rIDE<7YAu-HrO2_}21dlw>`d7J-(z|EBDW<lf zYfhWhY{N?44HyX-5X}FhJwSp5#lC2yF`e)_wPyR*)o{4?XM8@o(1zblr2lQ<aW3T5 zA(hIK`C9P@Mmc3WxsT#eY|JUwl09zIoc%)Rw;eA1cnDx)%rMe?r-d+)+G=C+Djrj* zK3`X~Em!8M<LffzS9>A~yDya9gpP{{GpoAKN7<JPIQ|x3SN~}LecU#$0-DfRLaFLE zKW+b9spQO7nicCIjjkx;QaxZ4sk+S(Nq@mzSv}O=?lB1O#q|*@DdO{*l6<yC0h@tx z5&@<RwC8N3qp2U*Y*ei%1>P*?<+DvZ;yj;C4=p_)zV)Jl`HO~`tb5oDM6lTm)DdO5 z!R!#TEU*JhvPMaat~dxu7_Ogku|jnndXBfQ<koa?LNrfQ{9}_k%P83X_e*mM#u%?^ zC``f@LaKR<hpBTSFi$VTp1UPve;b%Lq+SdV7#EWAn><vVlgS?tz!G|v0ZD6RRPLGh z$BkCub8~0K4^R?7A5Fo_H~A<PKI2gKT!F+`7Tn@B732yZ^~8ZzX27#;0X(!jt4)^` zx0oNtIAD>Bx;0adxOnY}L?W=Viq5#!#eW*S=?)v%mf4*E(u(VfYP~YR5wk}kh>=pc zCk0LCq&Vb%LjK=KGUXnAr&yq2MO&LJVGpl?DAWY_`+;ZvGUPCr#M$Rm5xkL5m=*aP zXJV}Nm|-yNb1E>3RlLRvyz^6nto}c&!`tWo>a6as0B9WJhYYaAULyrUIx-A<?&MYc zjRB-?f(xRdYJC+7Ym2$%N{kiuZO7DUc>%~0@;n?J-&v#zu<LM$Nx7%#qb;J&iAm2p zgo>+i8TKC@iLqZWl}l14)On!ni$FDKWgggi?9~Cz%EDlGLY}r*#cpI!c2NL-sUYW5 zev^n&VJV1MQGX|mtW#4G0yEVJfqk>iC`m*D*fR*J5v6j;W)Nb<%mdI&Aw`#7j9s_D z)WJ+$V3c7G>7F7gCQ=T8A=yIG4x+G`l$mbLB2abuHIOST%R*qabX8=KG<mFIoj&3> zC;mpkuv*DRU8Xz6dF!{`NI)bER*O6T<byuh1X6J_%~wY-8Zx@Vwv4m>+*O(ULFffm z9TJ`kJAd_22!*+UE&+j~p563u5EY+B;HUvCT?9Dw&g2J9f7i38$*{NlZvP5pZxO$| zqeH3KSkmu=q%BP2sU@oZrSc_HX1W}b1f?)daq`;@W=x%awGh~8)}v7<>=an{<r2SN zMyS~EoMcpH`eI%Vj8X;U05kEoD#1`2`C<Eo*FfHC*$I?nIitX}vqA-sGLnYCW&bgS z!A_awGR<jyb=&KKy@?<HmH*ZG|Eu%23&^nhx}T{hsxI9<;{s)<1fos|M*qq`1VAKf z5EUmkRi_|SKy8D~8(=zy4Kg4${UBT5QDfN*lz;r;^*@2Op)jo%3I+(pp<)=O^icKy zisIUrKz0Jkj+)*MCL*f%mpV{yT_S>{%`+))@@Gl~!yxhgRv|DKi%OF&{=yd!(y*qv zlXn}2kTh1XE+GKq9l`G7;*Y30Y<G4=C>11u?m6&!V+*|G2L7=$+nz$%{Szu9tu3*k z>_(i4s;ftNs)?!vg{Ibkt=9k-RY$KNnVb4Vrd%?LRB-@a3w!7PCIl8}MW0JJ^i+nu znQ-v)>Jzqe<wRAm#aXdZf~a^r1XTR|7?t1ffJok*C?^h(fCZAwUibn@a{nu6Zci~C zTT5_1W8d%00}MAh_yUO|e1YVW{~EoIC1X&ABr2mC;hHSPM27aYn@FE?MmFZD!Fx;) z4RQsEVip(!<|>L{FxrH|uwFT*Lee^gshE^Yj{9VRjKsGkqzcaStoTusit0;4IllL8 zM&I>WK-+a1I46R#X&x(aKp#ln?V!Qsy~05Av^W74!#WyvG10;P)iO#2%Km%M7GHxB zd6}4grv40)UQxQ@MR~tXP4v05v2Hv3@Ic2&_35lN;ry&Wm^;*B={<38f(?H1+i62z ziDaZ8d9;RB(E_6@wur!}vE)x+bA$~J{1OAe0u1y)==KLA0Bpeli7&%Q6(~*hO;C0j zOr8I8al@oh6D)4*>H6#MuS7lpek9&T0y|C8Kv`ee6R2hT<^lkWl@5VKRTm8^0D)FQ z+0J8;Veg0_1f+4>1TdVwU<v%G%@+g7l>gh`1Ra?Aq4xJ|z`|lNi850Lo(^Vd7%bFU z2n?hSnhR!S)c>^{@sZIv6h@nPM^|5*U!I#H5eAc$`~kW^>x&W?L9D1cn7CM=;mQl5 zKsCO)5z1ar3b-ct;9hf)X&wTTeZ3E+TOYvgaR7!p!z{yIp!>rz5o^4K0jxQoC^Jp^ zl%Z6F>p;>*Q^mo|V#O^cN`{cCr_*7-*kl9-XM2&EWuK;^>0l1ky#$7c6IE?g3V;fj z`URU2APwI}<KkwMg1Q@(|52|63_*V2*TWb5>l6NO5KL!|y8qS^&gV)%yZWu`fndI0 zzrZRcV%Mch0#?O<G?6k>y&sqz_aHZ$Wf{<#b3v6Lu|*H|Fql4=ZKESo;5Kw_gb!G% z=pX`+45eor5SglM1sP}=T_k`8oeU8rE+*O=%mz+8Uk`&2vVvi<&p}kozy|BZ54a3U zF;P}N*wOhv47R;EkVrYEGLwLuWHwSoxRomoGaw9TvH<bFssERL$&De1-0;(9(37(E zPo$6&u_#egC+ac4M)#X763s6e9*F}_!QIw^QhAdQts<Y}*ySY8csBS+F;N0GF=Dk1 zm(5(*T!^nU$H=>44cBttt<oS@Y*M$S^JkxlJW%o~dL6)NB*fTLI!G#^OpW4k72IM_ zhpt&GZM5o{xg<poNXkq=j1Z4#QnGGsO226R+_TvpOU=Y4o>_!bebZh(LkQX6fbbYn z&Dt)RA>>0OS#(JOs)emh$P3E<A=92Jhmb|Tv<YeDtcN<h-1aBtB2bgV?*5~nVG}a5 z*j)S$D1(Q^7ax@Cp$Dcu<TfEb8&R@A>Y3|l%qu8%_v?IALkKN8*C^77yls*^c6W-W z0uf+G80Vv|y-CEbhqkrVC>Nrx4gDck0R+(v5*L9pVgPV!Aj1u`?D~KK)4Dpi43`XC zekz0^hAetIlnglAmxEh##%=+w<^xO^$B<6`wa5UrcQvLekR`SOhP?mMr2<(4xTPgW zJ1t<z(;Aft5N8AVAf&g4xNzCaBDmtEuQV&Lazp$d@f#Zi<&Urdf}+DP1R;m1$^wUU z3v6&#^zh`Ccm&|}g1G+}jZAQ270!@Css~XiEm0@igj|&eMKS{D=2IeY*qe<3H(M>v z31m+~z5<8^76A|FO6@b8xWHBed_K6_JU$_Z0@Trk(B7V5X2Y_XuaSv#TlF8>@23|O zO5f(3GkU+^DEa;3Hw&v<<}lS!K=G~Zhmnc!TQRRZ?!{-3w>_P^s!P;TN@4}(s4YRW z4OJz_FWGRUI3y0OH6IiI<{AFY!@6|$p}WJ~{fk}Nir$fY#;P%iSuu&DIut%(6X}i` zR;nAc%ed~$VNz-c9@lWkH>;Vs`G#l5pTvuaELutRZ7x8bi7^?jX#dVhhggX&L%z2= zi=Odya&DECoW<0W1aL+?B&xrA6^xy`u5**NP*v(a6~&m1{JgzCw(K2>!VU_9D6?UH z>tr4>dEgxb<?MH3nWB<gQ5P|#?r)j6GaSVeo-S)j5m4-fPSa;tnO`K%Ggi2exLl&n z&p(i$iDTCP)K#Vv(<X2SKhOSPS&kyUNp%4aYhUQGxd@_+MDt0XK)-6WzCN=yMiTey z{9YDpT5VPjwYP{J{T_N5bAX5W5%kcz{%dAKNUkh4qv}e|7*fBHEBIg^YBF0rlrMrz zxpWk%pTrR2y9|bfvK07Ub8;7=AtVz>gPzVCKUSmIUMVX;O@1FlDFl>(D4eHj6Jm+Q zm8cFFU{-CsWH*$>)sWM=?%`}onlg#kR<IRy@4%W^9X>KqRg<b?L`px3arB(qKNiZF z86f5^`KNs_-1{}C@9p&dH2Xkb^g@nvoR)B+;XH*xNRO-dQh{^a&rLi@esqmK8b7O7 zqV(Q7nfD)N{w=?#p2@MUy};)VpH+<%t*1E}#<qGPzLY~gcx(tS!84Kz)f@Wv$q^dW zA52tZ{$6p$P_lI=yeFu67u~2+FtN`#E1#@!MCdw&Z*xp7s~o9yf)g?Ngx(|asBydi z+utkXnZmAEdZ1ro*Bg7+*LG;GG{WQS8r{BPgqp--xCuEfc)Lc?N2)3LS1YaL*Jwrh z7b!p5lYcbOvGwSL$n`yr;S}sC_3aT{Hg$U$P&wG|uqC2-ITGPBl=sj^1*5$j)*Yo% zuCq=bTFIntQxI#Ajw_kra0>dO(D_SYs4;5YJ(+V8BGnZ7;--bPdmKifrYplK7&gjA z`knIt`N44@=RLyh@sXF;8~V+aWYOmd?_UZ9{ZZxlU3INa?wUPV{X`({)i<+~`kqHR z5nZc4@2*p}9(L6;_kFNW*oOV;L%!`Avrpf}3*;2sITz~eP2{3sKt&Fs=JR*1W=M#8 z$52{U2{Q08{}Qa=64#hB2&hX$pacqpn1~48wotsjRyDrW@9F%|>~l8WsMeF@k~z~> ze`sYmR^w~i8vDeWS?HPL+sPOTdk+WGxzAR=KE@2G%?s{%pppe4^O4@#oHhU9ug9V2 z`L5(maM=<cpJYg=o+`pprN8-I?HY=e#(Cgwhx~<}@8@my9NolMou5)=rIoBqOvJa@ zS<iERwW6V&)~EJ4bhCYSo)++w?43%>ZQ*X9M1Qw2WRhRbmE_Chyv3>D*t3~Gqgt*r zIp=Q1<Flp1pqbQA^mk4p!hj(BmTf!94Sz2THEpo4R47ED6Xh1)0=sO`sJ#5O3CYZR zvl<-zUIuI8AU8Gz`xS5MH52qk$r((a0%;is7rq((pt2b`bQ_e}VsonZ;}SHqigyP( zoyz}kT)c@5+P;3OEay*B{8`<pMy@qk_m9ZvI!-Nyx)c)ofuRreAk0#stAiWmZT8G@ z+e=+iPo|mES0<|GpMA4J)uIAR+tSU%O-$nbBeZ+=?8@Vx3R<vyJlO44yxV8ZbtgEs zo9zDlidRG7eU|w}&F`;&iaQOFN19%m^WGA5vNv@ahJF1(WPYz|-eK&XMEd7R#n<6r z>v?BBPOI15ihI>xhoLVd1J}PA4w3HqO=H<Bu~*X^ON?X1&A!3d?``0#roq^^z~lJG zHZ?ioWz0HeW~4e&(5QD#ZDpkBB%Ms9aq(2xaem!C+r`AL<%W&)Q$&?x$@nCfsuQlE zUwPR}rx9J1!AIu;<{wPc?aJ6f%35T|i4Ww@=mVuo+RIsH(i3|we|n+4#c)_U>b43C z$lTAK*)gx1aigi7S<)b#pVykdZsioRqJs$4j#h>?X*)RICs<%RGVJ<bmDxxbOGW%k zA6;t4dnL-YXE1vBFKTw7J@VGaWe00;@eZB*u_(1v4^LaGO5`_3b)m~gg_=U!Rrc7B zB!qx)rE&~hLIPGg^HHtg>oU~Q+ezvQs$tmGQECD+RP$CmIQQQ)f@H6G7CBpj?zrOR zBdO}hOLtqleCyQQx=q{)-etrrZNK5Um#Vs{x$csTnOP55jBDSlP_~Gs1?x0jP594^ z0U4Nd_oOoYgr(f{m#-7%)bD28;tnmz=>bKY+u*$x4YgV>azO4;B2Miy7Wid~T&JKp zLNCs5+*dKRBu!*5$W+^MwB1^|=NA!JO?cN22a9qNprjUOHf8vv3bcpkX@z}7IWEZQ zzV*c0hSZ1MEo54v8-}u*vAS9<Yb3B?$B^hs2P+27@`Y#R7}2=I?820Jix}k#HpJ}H zf~aZxcCwp74@@v831`kstrlSdElSuhSH7F^#9x8(Y;j!nZD4Qb3Ynj)JUcmbz)@Xh zGnE9!ohH}5I9Pz1_EwJ3*Qb{R_W3myd;00@tDE|KHyP+AWcc%my3ZhY-P3$GC&V=3 zSwgLruxuK{G~`2X>~iWIq^9730!gJsBzE+6Oi&LY(`tEEJvdDLF?1lnoXJ;6Lxx1< z;W_hc=zt`%OUT)Pj#dj;FZni+@5T+?1eB<gHe0!|*QEO|?dMi6p_>ax>@2mM`ECcl zLF{$SXsECR`%zHMcLyAAHu4DIgWCh{ngQ+(@0(`ifGu13LOuyhLrrE=M=*1pC$1-S zfSx51Gi^U2L>Id0ck;I)c;JGsz%2<R>_!CRRw~@UOO*Q@lZ^anBa>B>XV{pSDeCXu zFu%5&Sz8OUY64Z%TF61Zde!s(c00+6K+CteMFFT2Lfrv_A&d6c!96j7)cKwgvFflz zMhL=lm<j5r7jq?E$(N0+@^7&um7gV(WaO*E)nO*j6sKl)p73dVYOY>jz;gBvUTYY0 zs-PYcm5T{$d2)wTx+Cjt|NkOB$7xky0^QGtWu;o4EZJ5S6{;BJVg^aED3QUH?wBwW zIHjzBL7%^8%p{9mE|w0RiU7y&s_!7^ZG%XHDOZ$r2*Ik207<cyXFMBhvHUT%k{{#} z*Gy`Xzqiyg#o!cD`8MJ=H?H0`S@}2og3ly$9T6L&+I$4TCd4C-Peiy-%EhFIAg4eH zwY<+p7iJQ!?diz%3A|xg9#gshx^Pdb1VP4~o9!stE%i4g_Sth7jRo9=;>yFgmgnEn z@^AeJD>A)dpZ();IOKQ%2l@D!mM28z#K})$yOw=QeyYPhCXy_>)!mZ$c{+t2`D>WT zJ8e&1#i^eEUqm%#<zHNKRiVp<GsG^?(2NGI*f1KRZ8uO3jL1$2f=299G|u1SRx8-! zA&KVPYPh3(Y5D(jR>NHW?Us)VmP2eKOswb44sl1)^X52y1Dc8o^Ie8f{$8nE50{pw zFyeoW))eh@L{=`wM5EUvOpKno{XDW3i2QS#LDECdLPJ)ZI@}~8EEgMfYJyH3zJZx| z$t*2wvnHYx?a5OB5jLq#7Q*C?Lz$w&5u?)v?z9gfuyCSr>qfBrGt~iwaRpZr7hu6? zy0d^)`2iGg5>ia1oH;2zeTnR(%ql@hWtXR}*C!(^y(q+a9&OKUdghQyand~y?L51d z=LA!w(|dI~EziWgM8+q2-o!<F$CF2qiQ1m%FQdyIIK$snz6Bd+_8vn4lvhijc`pJ9 zWUl;N_mSwSmM4QblHO%*6wwwK9Ay%$cp;Uo%K3W_D?g7XT{B4XINoHGf2)cHv&oa% zGB>7jo##v)M)U3K2kXMUtJr-BVm<V9q#oW>ZB3uO+npp!*rFq6w{APWtm2g9u&jiq zu~9C-2+7te9;pBp0QT}+(9v7Mau$*4bH7E=swhs8ekITZZ)me?Id^OzCLU(`BUx%P zzYitB`2Gc&+sPPfkT<|Mpg<1xgQA`aFy|rq3Z;mgzFHpG@P>Hv?aESqe$9t->h(UN zQcmRwn79%9AQN;+n<M5*rzQq1&lWbAi4&Gyx_ZIh98aYawj^XjaYt9;c<GltZokCo zzkh}~eV|c^U8WnLQvttf#Qn;&Jc)J6zhQ#e6i!l!S4=S#8gRrS_N)9GMbVzcyUIA; zO71@>dfw((dft7%sa(!EgCCc_HwP2r4=KG*%D_cb(~CC1t1FgFoDUs7ZfW&#P9Qfx z(lh9^$Y$+9M9MaZHsqZAWTt_|Gf!&VkSGuOQ7%t=0rW!>MJjvPb{hgJ=-&Zs#gNLd z8F;^V`%^fhRN{$=0!ic?_%wc&$PLEYYJ8%WgiEA>yIY@q-?MQakAh_#2`$e8l1lDW z*(t7iEzh(-T}fO$gQ)%12{2OyU^!rfnaZ+#0~D|oW)Kvr?Rkkvum((`<?n$IrZXZd z<#@;{6Q&7l%f&iCQw)|B>}6=mO>wC!O-Zgkmz&zWKPuRxHP9^=BLU-w;y%&uWp{?H zkm{2B6j$mUT`YRM&G(Jxutn3<GU$}au{F%3QCwh0>qE;HhTt8-&yOGkp8bi1pqR=q z_<)xMeirnH%f-SmU?!{)mHR2O@JU27{_@FJE8obN%8x1x-jtQx9pz%mf}k?Ih@uy@ zdpZ!TrvaF)h~}6u8cm}`FwY!^z?5|u(#9dyyJV0kE`aBQ{@-qrBa{sWrg>7aeeWHR z%>ql&UMCxj#vk0^T^h6hH1;*VLxxV_f)VlyB;1#o{8ZahM3{YAe#%@_eu6rra((tK zmfkcCxZ{j+h6db+RH|XXXx`oN6C>#f$7_2k_seRZNf&KtdV?ELrC)%lSS9x}8ohKd zM+oLWfSV}QK>0Ut`PlLQaj_wWnbc!ea@!T|X_2Bf!bL~^6MY>P$pt_%zDn*n6g_f5 zZBJ`KnW>If@o;n)H0`AP)R1#%r8^J+$cpoOF1VayXl2|3Q{~?UaGz6EoKgV25do$K zE>ejtCB8&TbZ+X}E@?_arQ8H7^ndnm&=>7FC6<3%Y^g;AEhPK%7iq79_qM8oF~&^u z8j2bP6}gJ}Is==7F=Ir0T=7@eF%lu}EbthlJJZbidcC$Gxz%W$mCbBa^)F(~j=7u# zj$!|I!tB#-iuxBDHi%ZgFd>^iIuY@l%tkH1ul7^`2EW?l;uvzSa&*5%1Y~U?!BaFI zn;M-y_l2MNJp+(uF34eI97hJx7g7MWs>7-|M?mA!$Gi`RYh&-Ew}!~X>B*Sxq5%}w zHy(}-p%ogz;Rck&C1AXIYE$0Z3z(@wHQ5GYe{O!rwq*wceni`U{6)e-^lxza$DAEB zVc;eqLLru~6Rt|U!wU~K$3BMkKULCGMYw=dSaj|l+@o;%P9|JHGDI_LA8y-TjqnB@ z>5?$v_er<~{I4<`iy)P~N4;=fc#7@P(WXa0R0!b|7p{sd<Lm~4qbf$X#epYFl@0N$ z0%^<;jEckCfKrSoAQMiHs>mPxC+Q_N_7={G3|oQ+C4_Vy2oEZ$HTuUaaOp64C{OpF zrF-fz?-r0)yr|;&cet<Dh**B3aFI4HdAVY^(Qu1GI&a|Bo?1;z6W(ag_n@cS@POfO zFvCSv9|?GD9MEs^|Gs{FFQQ%?n}lRjbdahdsNaY0&OQ^e*q;8^hW8+?%zGo*$mZL5 zz5hQFmO;*qnAZ&+c^22%3=1P~F6qYuxE7|d%J|S|xe_&OOd}S4AIw>?wdrDEACcr5 zf-fx>-&TFNt?FDHp{P<SzJ33E0Xv99H9osMNTtNVjv`_f={wVLlVQ>>j3dYLj&PT+ z&yDx>Ux>+;kZY1FUiz@jTtstCDBVVFb2Pc#lhWJgAH+51hunTB`vv`R+p1`KIoPDO z9aK`XlSuMl$+X3i^gGE|m5y*?&7K=uX%wb_Zd0pzoRUvrBE#4#UnrPz^K_;2eGQW9 zbQniDAw;-UpJnQU-0POnKJ&MSIJ+L0*;gIEq+0(Z$cgaV{NNf5z?#Q|&IyiBxa+XS zw_QRqceEoiXkEZdC1-rufeqP%%=e<}kH@9l!=)O!FA(aDBje2NiYOA%YHUzkz6g%s zTR;s%Gc3*<I<Juu|8Q9%ja%^hZD$78Qy`BUE36};puG$b7m^lN$2T9!nW2MKUdr$g z?Rv~`&^P0U&iZ^3J=kO{e<_xP@_ll|yzAGHrt0sUx|c{<k(3IH7tgT1kiLkcn82xc zz%y^yP>G1uO)*@Lt`(Yz)V9}yS<MTj<C&weJI=#!8Ys42)=}9vUb{S*a3S^!b&@2K zp{0C-**D*ilF=p5_z58)^MOLxY8;1>-&XNm=DDz~M;r;)PYW`WkBUu==TF%F3=IyZ zsp;5uzB+7z4cJAp;%2k_p=I?V`l-5vM?PPXDS>P!>{w8^$6lF#k!bPKOmr9ZLyD=H zC||;#_~Jz;_G`R4=a-?IwoET_^+Q9Q0&HtIJ5HGaW%|Fs|C9IsaseV0L<h%Ga}&>u zgHwWA*OBf}H>U}OtFkr-)zo(DX$01P6`nD*ZPEBOd0Bl?D|lR|<1XQUYyFSl6SjE! zxNdDGdkr<i7ax7%dDM$KBvgNLSCc2Pbws4(O@y}?Tvjltnl0+DMif{`)3-5)|IWqy z!W2kLI1C17%hQ)3LGL#{DVz3A{hnW5q_5hFwODG5Cv%rnCAS$M*)x`$LYuc`JpA|6 zR`7#Xv?fETT2ghfr0(v;DpE*}jV{CM`S=;M6e9yC%vQo34~u;fJS(nO!VFvs%wBQK z+P%*$gqxz578qs<5~#u<Es_|?AHyK+DoI?NwZcuPDt}7*{^+DrA*DF(H`5$^7|I_p zfu)>PVBDldTjUR(`y^SGW%ksj=5{$$X^R|Aa}4+jkRI^mRUYWKiE0$#cz=27I&Gk3 z>RnW5Dx2vsq)U21TTWsRV?L66{`t}^GrL7g*Cp*}N?=CMU4>R&Ma&oBd*w6oEg20H z18$YlX&uM`e^kaRZFJ+T4<B`cW@QnZNtoUeFxmItxMJ4T&OrvQ%qrjEm;SFyMt`93 zFNSvo_syxO{MB^nb!Ol{Fe=zq*)RW~zj^7cJFJ!Zg>BiSC9Ey@vRg<sAdhQOW4Q1% z@G0|vKdEF?tZ?-B>jl|WRt`Ba)<rDVX1euS8CnJ2rP6*hUy>Rr)DLk<vrSs>u*tC) z^+%dH6@SO?o#MO<S8Bl!)ZzXbdtA=i`Pn#p@GcyqnIiK-EPAuhQV8uIRh%PsV?+-g zM4x1T?A$^!%d}c)BJRQ_#X^!ju0i@=*NrZr&}StMwednnXtumA>m4ocz)w`GU9Kp; zUsZ&~ZA1f_4q>$^sUwh0MCp|Ic*qaNHC%?9K~sod=eWG#&<a$@BQ^~ten>8K$S(IX zVo}~Wo}?2oVPED+`d@){JH>8jHxq0-WzSr{C&#Z^Ouf=6xiUaQIK@(pJv+mZBZs6Q zU|y$e{B?d>7PDK)2<gTyyIZ-2p~9GT`;*bcjl2~6%eVda%x-xf@7&k-bz8Jhnx#n1 zs;(JtmH3@@0|$PUl+@Y=zAwH0sw*^fr0w3DU2Ds?KbT*7z3)FJu>2gHMA^c&SVUpf zY#TVzy2e-?6c|E5B!6}%_1%|mf?G~V(+b_HZ>!(ob)-Y?Aooz>P|B=3zvX}Yz`P}i zc1`EpWntUgWuvDKMgycm)XwZ_j>^04g#D(Bv+gB9vmSob#*n-7?hsFo3N-uQ<r@dv zb39fvV=MFNL)IPkj5d!5Z^nMi{=+3b%a0-64wH&lK2fq+X*eO7HGQ5dwsv91VcFD? zA$VBEUL{xSZNBdg6(%xyeoY%Z@f1Jor!|Tc`FGvk(LNVJ56JF1pC?&Z@Rvn-9N#3_ zE?8liNWGRvT7l%$>e^^0Eq?NC5_3+^R0L6I{{hR!xe!aSE~>(*cuZ~ygvujJLvUlP zXkJzoD*LS>^L#DDa>qWk6vI{SJppe>w3Cs_Lc0E*oU6d!-NXg8<VHr@awZjTm#)27 zUiAD+z4zE;C0htP4U0=py&XdEbL7Qt3C<-La?wL{<)v8)r)LxjOL8&450%1pAD;R; zHdoISN17PD`zLbeb#v`^B`0Fxam7!78<dl4jq|pB#_tIC7U{I0E3k9qt9b%OedL=} zYwD$}GHrh+h93(4PnA`s*?vepC=_Oja8#Sl6g@JG)$2sGWq+K)g8AXU(XPb$P*#bc z7T?=%%VB`{hidW8dVD^nljdJQpQ=?8CDCUV^RRgK0`X>ZDSy&BNA6#pJr&8uv9N6} zvc)shQ(ggCKXcWK(JlFNw6TO}Tlq;j{IlYMi_-8rFM)f!QUofO2H&m=AL@Li?;ccQ zvF9VQ7&?3osu^+qG876wDCuZ$modhU56wxg^;Tg?%OqP2?JR=|4;1#eZ`mBkd^wIR z+y$s=LiGKwG)dxpK8n#iq#!Fwd9!%Fy1D#bmXJ)R`tEAmQlTS=foJW)ngsQ+<Y8>i z$%y=o<udXl_wMp#teC|f3gCAN6HOPbFJC%)Zk!tHb+iZ6iLJ%v#D)glM!cpi={qWU z<U>t8<#28fxC%%0xL-v1mcXO7nz#7ykTsw3IfXQFto^&*pF3_Dquy8~UTnjO;SL0@ zc4%-q&KWk!XzcGhq*Y1UUqjCb_L8j9uThaGoFhS*$5Uo08~K#@q6f?QE5hm<x@O!Z ziq$udPa`Eoajd-bKFP~Jf%?ok+P(YDOl;fLpG+H`?-O!dYi~zBjQqppq!Z;+kAvKc zS}dZB{00;?oQ!-L8i<ftsMk5F)?6^=9B-lufN<42Q4SaS8P!LJP2knG2!Q4^g`O|^ zb2WU1bf)Q*{JqiWS*7*~K{*NNWSY#bD^2FuK;%tiSN(UtLHyYGN9av0y6@eAO4Y;n zSJ5|lEic|}@$czejN}y|{B#gsc-f)Ex<H%#)GwvjG@@^b*li3-T^J%FkL;R(YY9%F z)n6m{)NLL(ZV}ixjx<_b=T$=~OcCX4RJ%3)*X-5WxZP-G`e<B01zEQN(~Wykzc;TO z`Gs%3noEd_{k{HZ&3?4gmrHaS^u?F$33qlS!mnHPYNX$d_cW|tc^~Ofco)0wM=-ie z`l^c<GRV`Q9+U?pKBW}=u=6Kh@P5x#ByU$wfF-~gyHNZPbx&7X@e4R0g)P`%kF<<P z5<x*P|7|(47+QgroS&%8OnF*);8RbT-ko0RnN}~`;PP(*0_w<P5*fKaZnezNSuqV~ zv7`0ngzD|sWwu!bTo1?B<)wz7qi<fMoM#vKH0QlJ(Af`pttkC_W~hEmPWpFq?2|I` zd(PMR&PFW(JJwGO_}4EA^WGR2Ic)`6L4|%<p*iac1phG+Oc`T_{6To>-LUc9`sbuc z!-DaLpO_HO>6_tfO{uh0>6?D)=t(O#mZ7_Kw&dGU6@EP@n^^K3fr(P7p0ZPyzrh-K z5I-iW906TjX@oh$F3+}K-se{d+N0cuEL1Mrup&{vCR(q`o|~sX_o69HG)>fxI-Z;K zJ`^wQBZU_tZ-M_C5;)z{*dh8YAO0L>f9c2y={m#AAHxqjFB05B+S`@7B@V|cFMIn` z7Ult!eDXuR02zSf^=jyo6W^cI8-YuF4{rlGRC3V>y1f(Z_iaSeZ60xQA|S*@98k~H z|A!*<)0Bm)(6q3Z)kMil&kfyZr#S#E1$Lqg-10K<a)xj?Nl!{|2|REUiUDQtS<n2q zzgDv7TAG($AE<09Qv{zx&8i+EyKb=N=jIZLSRwB1svJ-K4EFQON=ivaEiWrWMGxa! z;t11Dm54|G==DCCHRzb4@a%U*f7P{#rh*#BD7B<?R0Db1=1xEnl4aa;J?a3o4pzy3 zy6;-9e#rN?eUylzHjw@74OMEhBa(XgXFhmoBAKIvNo;MZP^WgZ;Bpwj*x)j3Nq8hi z^*W?-*7Z|)Dsldob=86o5#c0)Z^I4$xtQfO@Sfv*qxQ5XWNIv@ksMagk?ng|8s0(j zI+)&MN4_mpeu(#+p7CDz9amST#JvoIQa(HO7nERo#!JN0u+ji}TZA>vxxg*r)bT$F zXJ{fJcBL!S+s{^Cdy{|HJV!k`)oP%Ud4)lmE=6~)KPq}-Ke`<0Q|L!>u8>cBv)#A( zPgkYPSUNI!2JxFt5V{!o(@VkFkbHWfD1>yO@QEv|^zJYTsSZ(}&+ADDxY{>ju`@=9 zI%7cvw3~-dx_pana1)(v(?U=_q1<ck$X`(CrCgRgYC(rCuJa#*H9j3NkAA}%S@fq1 z?bk2RJ2FCJuIzjpc7(^%V25v^aS?!4S|#=_Bl8C~tJ0Fxo~4C;bODOFtB^-WQ*xWy zu_U82MqtLqVrU+x@0S&FH7T{2^P=(*PYDnD)B5m%BFp~qp4jz%nzk-Pg?}}|a{4wO zaEH#=cBpjAndvlo-n6IfRHtjvYszI$;cW0jaNDT9RwNb8)C8rH{xaJ4Rjy?&{PoI= z4+S5bPKr9#mLRMw#IyfncJC#{#BoweJ6Gg;PXBSs<e89>*rGN5Cw<g5y_d5{ebhUU zNHK&=WE$V{qO7CUPBe_*5g(T9-C9$5%H#Z5`Ul0B6Y%Qka!7tK`p_(<f&x0Nfc3N_ zw-f?-`d>FfNhahIt*gXe5H=**$%HWFid~s2q41w!bJAdkTa7aWg?93R18iekeKF3k zB6Ii>q0!FgSLk`4rG(921KsF9A?QQ*ii|iuqYKWi0aed|@ypgn1dl3Y{H(VYyz4TD zCE&HhnoNv$1^F%Qk0~~E`S~re0|nOzs6%>sc*E$dHlLqw3K!#RjT*O#Az!_O^C??N zMmbXDdinn`j^neI-@gI7=iXw=LS+tn!InOp(FF!jZU0IzLh-qQ3yEZM*kA<&6$?Qj znas5WQQKi4qBeNLYo_3c0Smbdf8vc7%+lzh@hYU+T$V&p6~FZPW0K=@x)=wT8sqzg zp?@t-`4gx4D<F;H8H1?T1SvyMsUb_@#4m*mAW-nx&NqA{0>Yu4Q;2}_O)nUs1YvR< zN5Dd)FE6~H+{jp2x6CQQp<A>as4WrjE6q@^y@duceUo&a#m`%tF1tyz!fblq*5rPz z(FKF)r(RGQ_vL@buBBeAZxDetA$1+_1Qv($^L@FQfg66P7>XtHzV^E|XGzsAWBpcM z3Z+-_^P^v_`uC)0!`M(>7V!)_n%AN$wgmBA^D54#XZRx^AJ9SS(%-GRrtU`d@C<lV z)kwthNqXVn7pgCdB=l;Pwo9f(X_da}IUYCa$tM~q+YA>Y=8t$@pC4^u`gQ+JHnQJZ zpvcN6muP)9%<VL@)l=LV`u(342N)EYs&4q#Jr{K)7Pz|X?_^5W(BgDFn+<jCjEcS% z{46o|k5wW(lJ6Fuh$W|w_F-XIGL-uzPI!{QW7!rT?fvA%rfR=wsAcv2E5@+ENFz)( zdj*xB?PB`7wB3-anTbE__RTE=bDH#P{9C8F^#gnc<I%%bpFi-h)Wp2`Fl20aiNvL^ zAynfwKDarH65T!bo0&`(kF&JCZrI|eEu%K3Csp_NDED@7x5b_tx2S){X7#VJfXrv+ zQ&m=<P4G(wUE8Ea?ohHh&WKzd21&1CtTehbO{_GVKTW?aK)7I;Hi!D#b47Mu?_YiD z=MXe<LC}Z1sF;nV;yHAEU1G&?O~4^2tZ&yiQ}&{wrADW&N5<O=j^7(rPbNxeK1DXG z=y%+@G>a5MZwc;RNz3}qB<leLzHI7>F91VEVSnJ4`8%w4^;8^!Z_C(&-!B5-HeeTd z2a7}S7J)=11TbzPsm^`zKppY498T_Z1XfS-)&JYMnG*=4pY_2?Rb8f?L<5o3a#Bqu z;znIjP?%qTjrN+X%0J|#vP(1=Db(T1T9vhKA7;6oCkc9>9$bx49z@iX|1C;k6)hr= zgU_pVXQHx(z-xv_&?MiyZDzwz=z>=n9z8CKFi)f{j;>3?V49gAic9F}p6J4WHbi)R z@=6+g;t7K(^?UmF(XCr%i1OV=>%4XJYs3slkRL1zRN;<Dr4V`Qj9_6JLg&OU5(JCP z2$Hd^%q!0oyDNx~%~1%22Rk-r`tTx%QBK~AUil?Odn*&6ov;!1KmsZ7<>?72ecy*R zheZ<+L~SEr%E(`0UTLLA(|=73q0p2k>TVIZU_~ACW*)SVzY{`KV`lhV+@gva{hFAx z<Ov4(C)X_Gr%P{Nc$W|*=aqLG250bTYF9$DYe-%t5xLI04aUVZ=Vcp)`dAQ}Q5*}B zkGe8Yr^?o=1_eh8K^WxgQMFa%#R*2VNe*Q^AS&nt0ns~sq9x5@AwJR3!w{!}@g1Z! z+hh;alRcdSa-x&JI_D6E2RV6fg6Y8!n)GPvJ_Ah+eic7g!K7m0=pf=T^zLc-^Uc#I z@9{IEn`5vl>7vv74T1=0RQM3&B?*yb-Z5AZ+!p5YX6(mdxnqzsZ&o473lYl6kP!3Y z$fFW=$<#Ajpfr&&D2DE6cC!-jV)+VS`2P||lP6WtKn%gR?+x9N@$_Slrt7z*j{aS) z(Hl0S*^NTrbt*;J9ZD)t8Jq#V5X9`>g=wY8EGX-VqINHC2#|I!q{Z^Z|BjN)9sa>; z&M#sa>%km-rs7K$?F+N0lR5bKiPas-nf-;;U1pHpf;Kv?+;I?{H$&F+XTx9~%X~$} z2sDUg?HDN+iQ_@spfe=8VPQGO$AjoboKQF~@<F3puB@P)_+-si0$=a$qg7!$anfQm zfTgX90Q^tDREzbYBIO#Hqi6Z86i`x_7+sEO{;&FsOD2e=(3Jt8n$@yFO&s46PBcey zVyAyj^Pf=m^=u_S^s2YvC~AA)EvhxFPj;OTj&fL=<Ict8X8M(}&Ae;IkV_2g;H&=D zE@N?CW?*5F+(0pcKpLUht0y0L@6I02`5jyDIrK4XWA+9ee8JH}OLA+ki+6a3{7b2f z;*k)QB3P4JeVX=(#2{%Yp%Z5>g5Mmv+lDlcN$*FtUsXZIa5KmD!iBr+^x4=*zCic6 zk_yo@okO=>GnW3_d*bBOJz?#d^j$|5i#K<iJvs$JD)a&qK_4UD?0Iw4s7lG!)Q`T` zxzh7{=cfJXOK)F(5LDE$Vx%CualDT0vthsl;|orHwpWhlYOJ3dZ(QwU56{07n}0ti zT9ol7Sk#t&?>4PMCrJBY&}yS8PAa?es1lv+m($G`604ktCq3gP_&RScM%&ATMs@Sl zJ)TKAvw1y7)2+POQAmyZaYGo}WcnDJdw)(0Q@!^T-o+n%eNJ88RJIKX;E_b%*WDGB zmyXZH{TAjX1{-0%H}_NX!<&|4d{Qt?EUD8gDNuB0f5lGp{A7Aio{G6sDh4+^_Hhu^ zrc0js6&5bT2TnzRwvaexM8ChvQRq&u8;gvg5F!QiBPUQ;`|}2f;yA#o8ctou4LE@F zCuJ;>@RqOMoWax)Ff7(|K=t%P5iS@$7HxIWJJQ%koQ$tAmtM+O8%21N5h9bV0NXR0 zKGuY;%Sb>XLm2;vlYyNa4i9GfSa(bt!}Y{50ZRKK8mQcEt>q}l|ANC;0ldJ{K~5xq zQL9ddWo3qX#N(ocS=NEJ?b*pN!&+(&uwly%#8zCww;+@ipE+cV`RIT(H!HXlnfl9$ zz`J#;%x=5f*95!{Eh_#}grrK{Yl<*xLVQl89>Ud?*r#jbY2_jePFe3=sAGdr-?9{f zzcmpw6avqxYfgfmphZ|YQO%o}&V820u9*dNUS}aXYK0~1pX7wd)~pWEC(FV#V)7CV zS%=Rje=*BMMboRz>_L&Y?84Q<KM`U+wYcPyhj#lNjOyr~ZX;tLFo@!>64WHDGpvn2 zX+tf(qRWePiT3d(?WDI@5eS#-KB-W~B|PF%bdeu43I3qceWh5h&XBD;$`|uO1d}Tz z+JLz>DLitvBswRWhJ!$y@R|F8{6aHD4e<$NWHWk)9q&`Y6V$JHkjQ6ij$D3UPJVYj zFA{(tL!@lOi3ydq=%Eby>d;{M>X#u1F|2v<2Lva4imwSS-Myk`{3vVX<o{YSrbf>x zM1PEq6BU=wZlIW@w^(%W5MXdJjZaXNx8PpBF1Y&mOi8JT^aD#AbIle0=$&w0AZ}wv z>o-B7!${nvsT`JJr<oNKNuK3D3q1SZ{5H?hgT8jO-as&#sDykBmM!Rlka4N}OVLv{ z9A;Md?_XGN{6zbbcX*!F%e6zr;zHPg_Qjc~pbKEwhSW{@&S+c-Mx!Ih@UkhG3<zy& zYHhe;-=JFPAyBmiuA(T=Hs!wxS4bCel37kLPUFZuWE?olszTE1kH9s3rjzv3cxL4y zKbFAFJZxHyUA7O75{iB8*e8`m*BAbtIU0g%x;*TLPe#B0No4RMDnLl3);vsDbtMCr zsx9e7!f7b(lFbKAHt@~*C7Td4>KPHY^w9cc4O;4%Vb^IhTf0XVABXK`BMV=<peGXl zJQf<-{Cw%)mHlfSP6s7l#e%vML6UM64SlqRP##|21@21t8F2@PXxGPMJU9<xRCk`{ z$0O4Rk_IbJHS2NSIv==`nu)$Sa;MOtxH}Ax?nuu<qq;jZko_Cku^c$H{S&R({J80; zf4c#K^YE`q0Xw*3`NyS^v>^f@1Ekm1HHAUN{y#jBrU_vHfk>wh?a@2n#h?3m^scP$ z+!M}$@is?EVXR^Br^TP)H5yDNJ0x`-%Tgpwgd{&#oau%caUQ$|-=-mf2(C<V0;S42 zFG!Mp`P{sB@qOZO+?02TRu~SVdAN131nvV7D>dD_R-D@j*ty}(KY@KzJXiBg^tt6! zXhFB&Y0(K7nty+NGD`s1H2EBhfc;GIuRRHVXk^AdZrQEg$vBzH@0B_}egP5k9Q&XR zRex_boCkx`^sLU6AZ%_87woV{xtGd`JXdlodt_*jIP5K3PUgo^8jh0!S6%K+<+jIB z`T_9zTRBj+LkBCgCsrQuq`cy@&>o+;NQT;^VZ_xHU_a1<qv;+)H*h=JQ{Hg>&3u$S zHSKt0zUC~+z<u}^6^nEp`j|8D6fLa%z8?cB?ZsOAzB0Ia)B$9mDYJYgLF(EbOq%{3 zd2ANskQXTe&yXJ?$-~QuaqREUo^5vAB#o~k1o9-$fVWY!3ef!0ML?KdcH*ya8tzMp zZ^LAl`wRJ3CXeR2Op~|L(1g!VAL1=ri8vCec=TFnB>k>FvfjM|%;JP8+sx<YAA9#) zCNwg7_v%S5q51NAwQpiJvU>McK6c<d@AWR;su5c@6X+sS$mdd=c5u+nU~FWqUAL(` ztxgNr7?ZG9Xv6G&$pJsCZhF-wXvc>KoI4ccp6zB9#~>VT9P^apl=~5!hgZws%tF$W zMC#j`V10ITFzZmK(?HEnfFFTxOO!0TRCv4z;rC(2rr+R-MZrE%*O%!tBB22fc(p9y zZ3?^@5kAbl8-2i7`&`Ov+LuX>;PW?)tf%dVA6VX3_dR|V&;(%6TBCz0rN-*dV|CMy zPc^Ih9`7%yshegnbxnT|%f(p4F}%_fZDs{}j_it5T(MlS{;jb^i6+_(+8g!<I{7pB zF5vvS!>b=DO{{G#1Z$a`!HG?*Yn<Kuvq&IB8*r#y3fM-&6)OWEQAz-1fK%;K+~Gl! z0>~FFrMz{6jM+W0R4ua_!50_2vbEH?;gWa>Kf_My7kI$DW=NUExWq`=gh*S~V)uQ? zphi2jW<E)C8Ban#^+*h4pqVM`d#0!oGr<l&!%pfGLpx*Ns}Evd6_VPKp3V6OJ?yKw zvY>zzmMw{lNUoKHg1gBS9>!?EcW>TO$~px}^&lUKpH?d#%B0>hJ_BtKbWtF2Rv&xU zbQ^bMSdbde6?^x7B?EqWt!@!l__GJ}Cl*ekP>n)TJQvojk;WirH(5l|`|9=J8;2SN zM485!LNgr)Z63Bp)(jFO5{UZ{7gp*2+h2`>`O&9So(yra-U#Cn+qYC*{oGjjJZ{gh zX~UsK^(2b)$2j>&zFc|ev(|}?_Fv^(o-)!xJ$?{r&~@%2i7cY1>=OD(?0g-m=G0Mr zPkbNU6_~wK>*s)<I>Qsg@rqk3fA8}mYWInd0;YQFfTUun&hRY>lTb4a+6WaXFNHx` zUi6oYRx>Og60an2UE4odq4P=uLp}Nm?lpR2#twP{y$LGr^OUGmWPMD(eyc83`Ow*R zeD3xWA0KB>##YeyeXFec3hNsx%Vt2aCE5#(estwNQ8VA);V;WrbSu_80)j2m2#xOF zDjBK-Vod)qd%VYC3ks)+XEH<odBod>2ewl4t7%I|&KsG1VBKR;mNk0DOR^Qjqe#b6 z`t1h&^nz_c|EkY%?yiFQR@0)YeMb3n9{n#>Y5(C@mF2I@wuIAW_7tK|s0MqT&~FXZ zRF^QXXtERzP?{eQHmf@H@8u7kxg65<!3=+~Iqn^?JJH(u3JKs>Ii}mHR&o9A?%xqr z5HM)Lvj6QRA?Un__C+(L;9a$}uJ)Xf82`AZRfgDMWAfXNv$5aw6=Wud6$JJ(oSM2% z{cOKYt3ChnDPsPwN7G{I$ML_xo7WW{5oMNhRyuR0bsnbb)4pSqwxll@POqy<w!fC_ zVn)`AxL1_s)2!N$ZLO`BTfIuI4(tC?yv>uWQ?=n7CZ@b$H)hqaF3s9|g&&y~C_<zr z`Y38o?6{gfIqSutYHhcVE~t<>HO(#jV^EU66@jDBdM@vV=vLyM#GYknfv~Rq8vMkF z8{3eyl~G+RG+-LpWMoFt-<(K$<-OWQ&ZO%ul=#sLOX!KG<M&A)1j-Ltqn^WsBK0+z zwOfK2ifxPXYOZsHlNEGzoo9Uusn2-UTiTy^wVr?JJ0UDqJ#h$LE1H`5cQ%M{4>Jf~ ziwO?=!7)Na^U4LSUc9vuELnIMoS?bXD?~Cw*q+I(wV?&##sA9w#MGBBhTp2Q4pVSa zyxFJ6=jZ;jV0b<)Lt@^YKGZ{==3|}wo~q^yr)Y#Ob{#AHK}um`2dC!pjh_VlxJ$d; zp_rIU$hWh9L1q(#pNGdT*Yk}M5u4`dRp{SpXj$5^u(IcJK)umE`T0!lh921E8u7Sz zu3Km=M8Nb#?SA(k-yurW{~g%;lSEc*H*ejtkQ)`{l}|GZz8|VJ`8Ti1-;KQRymKGx zV`gT?S_b0e3Z>5zyqYf4(L&|^?+Bs7Q~CnxQUO_|^;-p0#<W3+7tHA+Y62P?nx;Y~ zb`Ma0T9*6g+~YPvC#~|z<x79N$vvQz@5>Jle|8F!XuK>hSDL+KbmJ0JPs)KX?>NkS z#$Eg@`lBxB3uD-1SR)rsEY}XCF+bf^SC;m>&*c0Njza1}TJ(x2-YFl}r^uARLDd^~ zcCmiJS+I5Sti~bpd|PBU&qyUGH|1}Cl1h-a<S&)HewCn@0D~m^F{xOb^jowZakg^2 z21lbOBwrZ$cdhI+`zCKvM=zq+wNczC?z3O1J=0}1*ElF*-9jbtyRuMoe$8EzJ*kv5 zE`AohnJN_-{%?2$7Aw9kd5#jQtt3wyGCu*WQh(aC)5Rf(T7L4;Ryk$?xhZcnoQ%Yh zoeA9_wlYD&ss9M#`|cHoH2u|U)T<3h;1k^ZS1%Cne%;q5B8?i@s3wsj{Ei|SKnRpW z;J_w?uKmo+n3;G{I@gTiozhHl=~dp`I@RcCw(74C?>6?Rp>a~CLiehXrCot0wMMS4 zP@O3g^@p*7x-}8qV>roMIafYv!>?UUTK)n(w_%y8s}}t|9iNJGyN!*utW+E6>fD)H zGiI9Om<b)T1+250qp8Jex(-J_HY?Y55X|%>n+$WxlHTEU82!j&mXeAL<tj8wX)ihu ztDw?bkdiCWbF)DW3(aaiz;Rb_VA4eYRPV7qdO*m}73xUHJHasXoG_EDqn#+pmavUq z)mBuw!_>N@gsL|Kg3jccVT?6iJghz6Fcyr(@<U3Exrh#3K-!L3?(4@wD?XIBBJ3&j zSH#+xI32<q1(x;8(EgFc{+(Vzua1VPm`L2`CEK#9rxA=wZ-&>Q)HUi%HMU{u)3Rh_ z-Gd&OUM~jK)6JY?`aLioS~AqrR~{i!fx)47EG1R%biXF*=BKijnWrn2swpG8YNRLo zP*%K9b^mcDFUR0}%D>~d+UQT?Lp%D6q(Ro-Sky@SgN`?=alJ!Gp_4Vb5t5_#oJ7A8 zap48lXMERwy=`qC@eJvRt7LKglCpgwjp;%Z?=DTDzR}CC4*~i+p+PBEr)kN=^sk1_ zoiTj<QW7uS`dU<yUQ_0tm`)0|xwIXJb|ghfe$+|2!1sZU^qyOhzaO*cn~z)d_1D4k ztv<5{<t@*KBUhT-l2q!VZi!o8YeH0;_RQ8V%e`Up>VDX+fd!wZV^Eg7c{GQCk2hYP zWM-bR4HwB-z$g8#wB>0#T;=O{w6K&@>VMOfahBBQQi-nhLhDyskJ{8UgCc?Q)Fm7Q zy@}+XIP{nUpRUb#)Ua-RMy^&Vps`+Vjdk@e6#YI1op;6i!NK>U#>{}yMtm5YNK})< zWt}2IxvW<!tMZ)w<I2|qayphvx5>0d1r?KVq!40!ceFQ0X!0JdM$p2uZ^M52D$kXs zWouWt6GdE?J^yj{WX0QMK;~Qze(XzJ^^Y32%N33hEqU^j90q@Gbqaf3s$Y3pJe=iH z1GQ$<w{j8usROlmL$>Zj(t|+6QODRD`4J<ed*I!w)aF05#21;aqdB;c8a}lmp%vwN z{oogl{|9?-_0&h##1Epu-QC^Y-QC?ixNC5iAi>?;Avi&T1_-Xf-QArXp7(dNRa>?D z2P_wy?mpe0mN`IuhnemYsCNPB%q-His7T^zoT!pk@kl_=#~#7M6P~!?7Wfw^xHNs& zc*)WlOW?o^A4YGZB}i1s1K)SGz0ZBn@<=d1!4KI5mlfE@BaX)vHa#j@IWR6_SHm0m zXZ4-E@OMv2H>NZZxkqmU>)100{;2oXe6TY%s1N8c>#@ev@*z6@*zjfTDRAoqD(+6m zsrn<xjOGJ;SoPfqVHlPfpRU)b8l=Ag4F3OT{_iyaYV=IRz3|c702I#Rcf+dRSJapf zyUY*7Vxycb?Q;h#@JvYV)XvWIdhoct^WP`9;Q4r-bwptQ<3os7zieuscQeW_rQr8A z@Ds`>x`GT}KQ=5)J()6JjEX@MVug4sy~M>J0jt)F2BEvdbvlvKx5?aa0TqzeUwEDk zq=9<t3Zw)e4&IZHXRIKr*A8FKIDsV>YS|H_ZEp<>XsPQo_U)a~P#j>pgy~6vO~bYr zEEK?msc)Ia<WtMAzn6iJk@jXCHmeJ7j7GTJOQ3+(yVuD(W-g3;6g+$kZ}+0`CUEOI zTpc163O=n>{1BvnuLhYnkishqhQPS(*NV>h(Dj}g9ir=AVV7hgzHyr`h0|Zq@Ub*6 zf-rdaw7P%7*p)$B*Ug(H#LW8ds*JV7ai>t>V@4qqbqo0XfGAb_#3rW~ynnB5k75$! zve)TpF{E`TwYeHK9kc1ksgJ={hXw!Mco<l(8i<|8bTM%=O`#6yZ0E>`owsxs*nSlc zh1u#%x<s})F(eG=^5!w=!zB}e`@m_bKxVQ;Rh5H{=j}O!hMmCV>5w`PA~FS44hL2Q zYahTZf;FQEHKXdcVSWWq<gz|oi~~gWBA7Nof?^=`ePOmiJ`P9#>J$?U60cDk=3yfq z=vGIqFxT|0)0S?2+}KbrpmSb$wAI%v%=AAYm)olZhp-k+7-W#55*ep{3kG&CiYp>i zW3nqZbxMD~KU>68GyzsE<d+Lf8A6A#L_sOm5kaXE-!F~wdF(KQ0O0h;eUW&hlZcmb zpSKPxUo0sfw=5mAj5!owMR|jD@r6+zPJXKh3LXeNeblH0kGp}G`ONd20tl7a5BK3S zq4dw0wAC=*JNe`+JuLsqURQV4kWY3G%3h<fj?DiTz&>$G@;`4Q9YL&O*3JYr+hM@9 z1b2y1NamWR)GMol3IJCR`vfNmZl#Zwpd%<}jspb18A-p>*WCMWmU|4?cbZ_Y6#?8W z0iB#T0dc7{zt`t_@1c+WX%6mI5Cqf|D}<31sMsdzln6M0!MFn|N%Q^7f&fv%po_PI zu;n>ys>{Adsm=9SpbkCC;OAukhSGXG0~5=>DUN|CMn{<Ni}I)UyY<1&C>ONaro~!9 zz*_{eB!dPO(9hlGCN(O+m#pJqjA6@mO&0y53|GB)fkhVLHKV?xBjE}xn5**vj~K`9 zRX+aqr4a)PTlURnnhX#>bR%FVg2I<{UxeT%Q!yt$H=8nl30Lij<0G<wgn<DUs}RVE zWqc9kL{ykM=@v@{00jJ{RHK(!IIFScAuuUt!W0DoCj~Vw^6({s*)qn|cPJdFViob( zl;NQ&fgxZK^H`UZj7&K!$<N+Up#EUtszL!EKy!nFIi}vr3LF3sOLWizM6ALQGRN$5 z5#v_@2jU~0f&mu47m^v8&-gt9YuSP2^R~{RpQwn~-#f{l1op5iMF~yvoN5*}PKdcx zLX9kGs6bg1A*BaF!dc6xHs!)W;VmXoPh5Wx8&kW!!{n5I@^VCKc-9UeVi`A3ZZ>j( z1%IbCyv{Yj0K*p8nrBo%vyk=|S2CcWR<$nnw}PTqdEZSVkJQo<hB=wXZ;s0~s9^U# zs-7FKW3w*pm)zxp^g8mZT6?Na+!GhY1;*=e;-u;|j#!0I@!qugD;jM)H&EH63}I?( zWpg4(??zEqAeFq}?oI{_XZu`?G|Wk{ANiuW;oP4W1}DJ*8%k+p$9>qC8x+7ml0gKl z;pD-@Du_%`0R?w$B=_z<_Evu;#rI*1()Ks+O_io`ZZ2O81a)r;Pg2xKqNJmv(nH@2 zQ~y&muYqJ*Ay8Eorv@2+RQ7Rij>q~P*1=cRgbX`PMP{d;#%a9Vd8woz4w$Ewx-_7` za3osGY#Cx!*!yxXm`*v6Rr<C}97ojN@nBo8*38m~1cg7Xx@L%hSz+KG`Hya295CM- zQuIId)c^5Tl7p_&H&r-IiF4?uFjbKt^^S`wbkPve<VsBPgK))IR+Xui?1Hr6*u~Ij z02q`oo0ilQ^|0M{Os`J$AX)=6`8a}0_)?L$ZGdEQ!<%`yCSXfya5F^jqc6UB7Y-|0 z?uZJEU@!`VmE+16E0R79_kL*z%_#WgwNG%xAKe?r;SKJ^Uf;P=RX0BzVMXV&3zO`p z5Xx@F*&1BoY-O71tLvdV*=QH!0^GkC0QVn$)`axjwnrU_m~bJcC$b|Iu}TczwSH`( z7oKQ%9NtAz9c;C;(ShCvshoaT8-8kEG(EUXG<Gd4Y>jsXLF>CjYJZg%#^=cFT2LU9 z-qv@>$Aun{jc2S)y$>+o6Qe-KH@M51fd5aM12q92tIt^N42lg<Z$B2}NcVtJTz^Td z!v0(-Q4d(1PK<UhFIE-K0D;Rcrc3?KLeEzmB{o3b^dyzA4R97SJ}VM>9yEn^SO1T0 zw-<!?9NuC)+_n?^^zX3jdu3jEfp7`B^1gxt`3%4H(G1oEOiO07U9dW-n!4TRNO+BH zE%Y1~62&mDZXb>vMqd+iDgqwe-tvio=i-2f3GO*$NvL>nM!%eo$0)vK_74FFKqGEz zaG&QzeNrG;Uht-sUO<?U|0Y{c%-b3$TC3ft95sPuvMJhg7z`$8+l%mj-WZH$JVH&D z9TTP%wN{?8sVHtb#;5-DZ-YV$#GMQD;obx|+#jrpZ@P*&&D!XiEDkM^`G}<X(z-^W z2blO}NYL&w&^s{`$j3{25h!THa}7DZUm8H6-R&0nL|UZQaM*`$narQR=1iz!k(&sY zHxq?G6DeUi3_*j7)_98|Zy$|DAS2r_42kj^q#%Qd)-;=u<kp^(0FU$(#09uBPJbbu zyK)ro0|B^|l5|u{5K)2;#xm?dz{Tr859|^;X99TttUIUxJHOkI%5cC(_95zK`A+nx zNGgaFftCj1PYCYgHU$Z+1=+x&xRrU^Xzx0d25aC(<kwE11-HQlF<P&RZ4dC~Vj9}8 zDVS7^MHtDzEJi3Yw@poQm{*4lF+`m1$p8>u7YRVw8Ux`qAOm^|pMgTk7lIj-u{`1Z z`I!MvOre)S58j?MGC^DiOsPHT$dO5oIT4}M2z^0M@+LMiK|T1^v2N0cxJxC!Z3(*Q zDL?TgN=^T)S7kUxMU{7_eCG$IdgvFYxvRv#rnbScqzCuvrAt9oado}hty4q+e$EY1 zRdGEd<WBQfWLB72ZO4z(G04$)wg+q$#Daqe7g!j2V(jq)i|BeevR3-;uk%m|xSN$b zj*G4~?9_W8S_B`^aXh^m!|^OI`tE&$01gazG4@`f-whdi_Z34RXg4HtZ!5@`N6g;9 zHpr<sJ&>fkyd)+*2T=KYM-&m~`I(<MuX)km;va*=JjjHmSD09l&<#cYCf@I@Hd)qB zN(l0MU&RAfVvCJlA@G-$UXnGEmfF9w(T%54^zXo;;8(%Y`4Rl2S)AaEUG5lO-PP+^ zy%m2_!#Il=y6kZ9gAX$Vjwm3n{HNDyhQ5OYxOM;<at8sRz_ePnPdm8}>IIuNNam5U zT?%xr?5+9il}q;O0Ni*+4$eWW7DWeb2|N7OUW&;tI)Q*0(2;vObt2`sS=QAVu-;Fh z;O>h%X5x|iwfxDq)aw!mN#ABO{8}5&$flEr0+4x#4Bs$*Qg?)n$&^g=0wE2yCbXq} z#vn&X+R-qh<j3ER{+qp$0SG5Ct=AXM7!F8GpYaiF`x6rKrVX+la<hIU<?jw=uk2^e zZ(*pbVA@dtf~^_K|DjG&#hs4LDS!-XrCg9IQvk=_p95<DGq`~#asaK)Y?GHc7iJMu zVk7$=F5N|MDt|$k_)9H$3oh|P%()1qiwu}hyIhib->X15WHahy&6HcDv5na~v%Zhc zaL7n7M{22<Du*XIfbKf3&5Qa|cpS*4#LUa1oE@tbBy~aLKi*ICw-gWtJpmu*5L$;k z0tx1`+{xCTJ0o5YG=4*dwA?<=s<s~!u4W6>N(Xu%a(H>dQ$U7ptW+rTI=qmo|ADAI zm{r<u0<Nv|UD3HxKkA07U1pvD{+}Xk0Jzp>%EX>^HBdsi1A#FG7{K|&M-E%*4G@l8 zW<NOK-GFkL@N)rLbi*j`5$w3w5W1!0y3^hQB|Snc0FIR$6Xxtx-_Q(4*%qlGP(&Xd zU(8RB0twO9=lg9I4YY1)-5%g>z*RZIV=lw^-1}_P{TuL>TESGLvIPia4I!v0fT6Us zllv+ApQW1btXRP$39>{veMz+GX#fM1&m*k8EFpnlx?pZsNsG-3%AfL7Zp!e0q;I*@ z@18%eWo4tgyBG|h6U+7!XpROHvpmvX4hIm_XgK$tV>ZJBvK9?z-^vxua3FR*=7WZm z&j2R=dfQt7NKJUIf_k6&XCqrL|C1oO^0cr5*vs)+ijXa=zCd+l{TP8$GxnL%fBm{Y z4RZ2LuhQ%P1B?0`P5bFdQDs98$Oad%=1qB<UmE?ifXBEwUHA`?H|Dcv_iv!ut{Q(` zPX2S}M)I;^M%NF>V$`wS?*IK~g1Udd@*nZpwtN1wf+@!h<iJt<w5`&B5A*z=p6=ZZ z`3BgbWQeeJCMLr}zqnBLHX8?Z`UaeZ%~#y<1blP(>Q(7<b2f)ne3t+jT{&N0qvD=< z7)?iCqhz%oVP<B{a`oW@4-z~AB!7Mbi(dLC^I?v<fwlK*fV`V&^a<RY5Ll))N{KKf zQA)4;R20>x9=oZ_H2?cvmH#Or64`kn?P?vR1oJgg*Yt%et3fi<dh9Nzzh;J$CFy;T zuuy?Mt(%1_{IySA?ZTrd(O$isH9bd(0N;SI5iRJGC3%a4Ez7Z^2sJGf?12+P@&VJd z;std(ng2E<2wS#|WvGKUdn*0`+tI6?EOP6ZFE*t7Cjg3o0ftOo0y2rZLPVIBZI9w3 zC^a@?G;#b})bt!8JN$eyx>~aq_q@YE6C=;5atbU~>-;@M=i!;wmSw4H6r9Xe<q~E& z-BH*hxLx?6MkD?YOQ2cpk(z3Vm&=^c*TZu?m+6`T^z!cedIg5!g7QLfKb;_ZSRyD5 za&^8~9W&Y7Lm7G1af)VVirE)rwb2o4`Xl(#?^#cCi4~D$(R$Z^6Ggm}r)(5gRueO% z73DCJhQgxX%IGR+Qk6;@7Y#ZaObV+>JNEj;T|3oJd4G(T=6l?Rqp7!~Q0P@?;l>k| z^+m;GKJTCvqHT}&gu2lt1tzxZGQ3A0s$NOPwdwJ6Q?<y~51wnX^`^pcp4R5Ddse9G zkSry1&Rd`SY0fYXIoHHsf7IZ_vis3FpL`KngKk&Qi6J;tX-BdI=2;b{j+LUZFW<XX zxz;+M3CB6PcD!aAS%YF%+c^*2)`D&q*NI_Am{K!P-FLyc93W=Lkd;7t8C-1_Tm6J# z4~`M(H#fPvY=)E~#kTt{SiSpn1x=`=?lkNl#Rmc#yMWZjTO-6O_=s?H(zXZMOi^0S zAKxStQ=D@R#e?yZnL#E2fgToWgNn8{YTx#a*a^R^2P*dw7j5rb&!D*Xx##!5C&HGv zO=oQA)s0?Z<p%+Hh&`%H$vZ*m*s=5>aQA`*Q*wuK8tnx=72WS!4KEHZ4lIZ(Xt$*H zEOth0uJPrA&?<K*Hf{_<O7=rZS9DvBV8Qi9kS?5aA-eNxOuzBYk!w1j$Y<j1QTRT| zw8^+lKJhBDF(-C#fM@&%A6Xp)2+V++bDoi!!y=vVt0cNPZ4Ho;pr3^Aum2GSu-<W> zdSk>)%uW$s-Jc>Dm|-^&r;jalG2n69#F{!#pJ6@`S_A#tKNYKhF65tz9J?G}07tb^ z>YxJAfE*al?D%P?SyL5AI7m=9-<*H)>2l3S9HX@56Nq8=?$g4dHTf{;KO%r<8sU>T z_tL^Zv>5<wa)jeqKEV&Lq6n=%(P|U8a6fHVsKk{xK6eOGwb&3oVSk1mw*P0Wp&6U; znezEs1ki~5lVFQIO!*{gg=%owV6!I;*DhcS7x4fbA7DE3XHWvjx0IhrA$6nzoyY-I z!dK{Ny-!>Lh+D+Z9j;%Bw-*2HJkw48S33dvJm0g==<b}RUj73C-fsR>jklA!9sf@? zZ2Twqe}q8J;s0#*;R`Q5<Gx#x`|L#yq_|T@{+$0=NUBw-+nrBshu7Sh%clQCU6PXr z|3!gwE%v#Ud#!?Sj=Xo?9z^<mQzZ5tf(db2@}D(P_M-_SxrUIZ`_X&b?P!dc3lFiu zdb4jgo#^`C(sQelmy6WNjj$I(j}P?@ELA_LOJb6HC^n9+QD91Q^e^%+QN`$pseONp zw~nmt=Ttf-TUQU@9{RJB8fN^yp*{TZD1ZnREA_}!@4!%Og)Ljm+VW0u^HKTiN1n!* zr~TQFTn4LY=d&NV+|l<^g7!r#L1UPz{V2(xqxE5z1C)9C1I+o-8}_jbtaD2iq~wXO zyQ~tf#ZD3ElEOda(&d~5SZXfzN*kmq3&GhNSXRY@P2C`WWalp}d=otmfW-3mWeQ#Z z_c9ghQJ^Fu7`M@34%-oNaQqowGvsCiL*;+DAX0h{Ma8IZHo-CNN1E`XKIWF)0G4dY zfFjL=oLVp>gqArZ5ltQYYc$j6E6!aF;WZZGSUWzQz+0!=t79`=zmS}(zMo38^-!Y* zFe-%-i6k7_qR6kxI3*wAe;$LKF3a?Z8NQ;-_<8r%!Ln$EaT<4muIi`>zMn*~BMj<) zZYIDC2Hg+^tH0`u&#L-rPd9!cS0L+)apFWyrLE~R{TGci15tyMQIZf-QrcBSAkQ?@ zT34E;W4{s0@T2cWZxnZE2wZ5Qz=Yx&l5k_|3XL#MSLef$M<A#_-J!JA;$Ru&(pbJA zO8=}}qP`T{R>qJ|*Oz80V!f@oEYd!AaEeDm-aSi1P*L7}BjP=D_J`UI(NxCQxorwh zw8J6X)hdT<*f$x3X0MSPq&MqdKP+Fr<Q)C#Wfctf{c<R~qkHJ8vWRV4z!o8e2EOvt ze4|W#X0kJ+qfGWkugQa@(e5<3wIpD3LZgUquL-_sNI7^}gA~sq(lWLlL;!)HrTj6r zPB^c*5c6Lf5-%RJNv|dkEUVfH?J~>knfS-R1AGn2UhgkmXwh4{@FyfzhRPzK35Jjq zX1JSa$$7J74u>?wpdg|%SN7<6(xDFjq6?hk>G)aBS^}xS6ciD&V|NO<q^s8|YXYbl z+>gYYEg7^uH&Au`XuQE&<r<4%YR4QeEPpN)?i#s8ryQ{!cN}yBSrhLQRC!ZaZ4$(= zV6o(&g*|BT1}<g(8am|AZX_&8_0v9=fyYGB+BVc;)6=0uGcHZACf$yxL)%aWYBks9 z{agwA&NH(v;|<B5Ld-;E3ma2-u0sL0L)ll&hUskYGcoq<L^G3p(NNuD^arMcSIU-n z1KX7I(Gf3TVdi!Njk{N2j~>I1DA#4@eJ0xB%V~!PdDi_)xQD+$c!#OOUk4pm@(a3Q z-oz3jzK@~2)Acxu<-k2v<)2_6$j}c}QUycpnFt>2O8Ib}D8!%7&;(PWgZc{dgA8n< zX!3W!ZRE3Y7~#!6^p$ph6bnkzo;y}X8qyN>`in265VgVv6yc14$dtDHiv4$)D>F9u zruujm0GE!3#en}uCLme%pf;K-?<<|wfYiOK!e#X1p?@umAxckko^7z!faAqM<|f7! z-%C5Cm&EJ&e_J26LW>Y}ksB+M9KY$dk%XlX43R(Z-1;`}E~WCvVu|WUU$MIiXSAc1 z-yqy<L$E47L=fCLy$oJ(5`BL<W8C&UM)B@}4#qZmchy+P$@?ngN;Xw!#3#9qMBf}5 zEQY65%gT&nnl7^zr6dPgmmyvR))Y>1qRtu)Du#9L3OpX=8!CS9*#%=J$QYr)X^Bc# zJoc*(P4xv4GMF2Vf=LPGLYviiYXtue(rnyO0ZCv2f&Cric&-~DyuSE%RK@W2K`X<g z5gt#(F@t><N=wf@cK_UiwCS2#;p>C0Cxkhx>7GZC43t84BbxsQ0}xwfb-0HRWWBWI z^Hqa6^>aOFFlS}=q?X1b_>V_*oNj$sw7Ai<YGPaUGSH=<KX+N1C0;q7Q34gPm1&nN z54WOr)Wg2f@|KH9w~8}prf{0g5l@WLwWrb+j?>WEY_n2aa96e_=`Ii+%oHs1!F7Nt z6vgD%Ne-V@)Y?vVK_yz3?;6sNoJ2&Qjk`@W7wdErg(ywXtJ3rYjffPh_>(1RQL2~N z|F|Ozs1XoT$_?7Ec7hd6{0V2yqK8}-{Jq|d<;Phni#PJF3pIPdmMwmM+H{c=RJ9S! z364P6*<=6SqoCSm^J&xZ_#pxYT4o64TwLs>$Dm<!U$>nol({3VK+JS0>7N8I>y^6D zK8+LYty4tHx~^C965`{FXTNH<BJ~a>TAF(~l^aho<Zm#4po~oC7Ym}*{jI|yXwnZ~ zJea`zUa1yd#cT?Hz$$P;K#$vnK8gM!W2Za(2hUm5ow`5f0&7}&j|1_#&#XyAHjnkD zlVh0w_4*=vBGXC~4VI5VfspnJrNY!Pj#)??W~nvs_4~+$@cTRQO91+N!K>yheSN@% zo%!zy|G$++(i*o}O)e;vo@6S97)KB9anRT5;`{CeQW#a^yd;sCik1ww$H|0Q+XlhU z@~}k1$kwjz_%G@5liPy|%{PkqRsnrxYU^}U@9I-%-0{IJBm#MG9pE#UB^BV$bRv#{ z8+DKZxHONFQ>`NJHThN~*%uI9h_}unP{ILq+XC5XvCMf*-h4NyY#qi}p_fevbm9E^ z6N`eD{bO`Ui`UIc%sC;pPrPo%Rn)b6CsS#iSir)ZAfrFFSP=C2-I*$>Ewyfkk<yvL zXc+kX((Fs%XmP!SEODehWd4==hyLbPD;M~eIIv@ro;cLZhgol$j${3p7NaYSaZbtW zgNmM<{ORlWcy7HkRpRGL$FIg3F{K^_>)CIx;|hJuEi^+hR8E}erQtk7cN=mYy<R{1 zRFfiw%-x<OXH?8iJ-JCl|N4mKj}2D0KI#>=OKITxdiqdI`lP&OT^g{}(0yIkxx@h4 zjlxxJN+r}3s9hq>D6bfsRc>-5*azJ(JVKlEwWJY<yq<wRFgo?24|_sj_(mjq?m7j8 zic)ol?SWFeS+4F|BzXMZE!jjESV;L%X-|AMR5Q&VM0tSvn1O#7-AB85;L0BVS10aN zp~6^%Lnx?!B#Jn&!kzxGUkMwp9|K)tVg=fIhdWhq|Dd;)lGVvV%l1SyOUCV`p}fY5 z*kg&Wm4+1|zU82fL?$AhCQ<1W%-<{GmPd1XbIBhaBlc{H;M7%0;YT9(1Gk4-OS^HJ zjAC}}QcLIP<6Bc&aD&0IDAcN2Fh=H?3znhFOLE+}Q^&L|<1KW=o3Z_mnTkWGMBgpZ zoWDSu&0}?Zyi0RW8)-RWDdJ{}4B4~+>;*9#CNskDX(oeu%MD3iE&Ny0mu1Mj<rd&c z$3^Ew64l2c$dingv-OBY_pEm12EQ@TZehaXdQXd&II?$w*ZvJ{-?VG_l1>+vTGSG* z?(S%Of8z+X5s@Q9Va5k#eu9nVh>K@7(8<}Bvj8uH_-Z~Kkoj}>Vvh2-SFLjr6MstD z57X-nS9qQ|&<RCRZRB%tJ2;u8kfv|?yrBfh;!4nb+o@mG^6gh1E_rd`>)IvMy0?+M zeUzwBvr=L@#)Pw6^Dk8M-P;^9y(UP#5M?ieqUE=6Hjq!HSe<v=GK*#on)C*&b$rQq z+w<$lN5Tl42pqLm`RsjI>QcGd?~8{X#<E_CFWY>Ucd3FtC<mFqH%JE^DZA+$@=^<s z&Z1AsD7dQW&ht`NFXP$*bzOFz?|TvEC}Vn_7t0Oa<RzR5Q&fZmyQ}he;kkge-DTPO z_OfY>$#Y-ke$2J=m++|r545knp~K3wF=WiPadnRINQZ_i9EY{6t;#3QXR;zj{d4z0 znojU^?d<%~IPV=j*T_*Mzfp+R5MjU<*z<vX)f#m!?EBF16T^ZNQuP5%cbb6lyL(!K z*oSPinL1J!nu0aKRLUa=l~1}^d!s0fN<}=Wj<&hDe(~~A9=q?q@QzDV9I3bm7t+Z> z9-{*c)pz=^b&Er-)b)h@fgNI=?dcbfz&hazynUaj@Mpfr3r^2v-$BmcB)`bVS~*NL zPN~KKci&cu#EHscdd)(iSj#n(0nZILPR=|G3ubuk7K%cM2z?ojhKxk+Bz=1|gZeyn zewjv&-I6VTQjg%?w5$gdmQ7yO8s-x_gyZivs1hMN|Gv<Z4{Mf^y-|x<71c#>Q{LsV zj}x>&(9@c58>)$$VOep<vzTCc1o+rRq)~r6YJj^&#hTg{P!wq%)~87B{H-1iGjR|J zSFkq8aqTJV5l@UT)1r!n=&3CE{7ptCj3!Daalf><nZnvc_E|g8MvZkSv5B4HCxc84 z4bNI)6AJ~FcA{dbc|1i08-=HKVy@_nmXjZ3nHw*{Dx)Bg`53Ok6AMx-w3K;%$%RWH zc3xew*gYc^?)Wa|K;Bi#-i6dQpHd;{lPs0wrT6^qE1T?{EESk8Qm)*qtY!fIuQ$FJ zqUmTaro@JosEmHS<^k6l{k`2IJKJr?wjl3AC2NM2OG3qoyBZ6;^&N3MkLCi8C&9jz zlL79o<i|LvDXm)9XBNoy``hS_qs<4tVU=h9!1tm*69|g8e=O{y^1eLirT0Mj>iNcb zL*3}|ZGRK}P~0C5G75Y=cTp_8RD}9qS-tQuz3m2ly>a@0x^YC_aHe{MTI%szF`(;k z_ViAF+L>Y+gnK4F2oQOZw?J<d>8bh}Qu^ItEo&dFZTIhaS=u`_c;&~4*PcAC7@>Im zFzZ6D!floj%Nxugk|J}CC*t%*!0;{TpHBbrTd4e2=p1CXTv0b7E4zOnPY?2oj-(y? zZI^I4prqNol7#^%Ti-!)uE0+&0ypqNC)^G<X#0d3G7eWA)BR(2$rPVbk5ncDhTkn! zvDd~XRgzy`Xl1!Fq42jgubd;~E&hVwl7QJ-3lB#E1B0=w*|R&~wW?>!RfG`@#)E>S zVDVs{8$hszV;04Q+}r$CZ0W9K%cvWV3}&zV285_~d>N;a6~d37N!@Q)r<Nqu{*<-Z z-LSD9Ti>&z{nJkm8rjkIoi)=-4&o`9F~jZC&b~sSC`UXX{+C*R(aC2)D{#Hp!VZ43 z&+Ch3u9y0|-wF%YrlHe8Z=_?TL#5g5+geNX6S%wA$SmKA2kuRe8x<kmY0LcIhf^7T zk0tvuwg3^P?S^JYz5ds$^#L=-jh56WX(Cy;`&Ijs^tyh@9(#e=kdYchC(sp~zZ+15 z%3v!Qe>bMmUMIi<FmKlC4;)q!es4(JlNt2F*;%n|cz|5-Cpc{T-s65>1jD#j#TB_` zCTn?P16SMb=uB9W;^{RIleVU05RbbTJCwtsYbj%6EW~Zk!}p<@n5uuM&ITRUVgEhe z%m1)LlHOxas-*PeS8ao|hTVs0n$aH%;T=R9y+R)DQ#w7Y0vztsJ$d+_Cm*BvrNlnS z<4|Ane&2wuSg&epnv7~Gf(9snBJI!lrvK(+SsSyaz&KNyhLlk1r`BB(p6+U#_Yue{ zXe-Zfb1a@WkvddDuEB>(Qbdpjo>*Zg9fxFVq&U51fATKr$)?2LVJq<XA@}g`XKUh} zwQiWZu9f8aE+B8w?8uv7$}6Z;US5f2TwIHHydq+zD?By41ysTHk(yNIl_!Eh`U7po z(LM1!Vk)ouOzC-CrYHB7DzEqgU-o&J@j1yK{is0R$Su*I=T_*^^^pTQ@0LhNrbp-& zDW|&5{>2?Kmb{B9uZrfeg`2(JI>Sh`+lPsA7}+umJTvtLVYeJU{oA>Wg^YE*tPACy z+h%VmjW;q4%&WT$A?e$!(o6u>bL+diOfA)0mePz?_>cFZ0E0x>l)o!fN5lC&PjzyQ zfwx^Dna2;o@1q}@iDX~xhWAf>9(6xpUqm0)WxJoHhi^&O<q*5595J=b6$$5>B0pH* zCHNg~jIbKCS=X9%=ra(JY;Z5xpdYWsx0O$z6k#9j5g)gNpzu@N7x5fLj;%*8e>bsj zqikZwgWTIc)FOkY{rRVbKKI90_4o%v;~3|U^_&sD`{xyS2i%|b+@=n4wXT^1zoPk$ zTl&3N&dP!gMua3@jFY~)(q#X@%Eq^U2-$W2kWoo>O+KL+-3!3jTS2#Q{58qa>(8wn z*G;;tc)8Na!9jJJ+FCq+T9MQJ6LpJlW`I|B<B61oEgtbl46}tWQ({iT>UPRGU4_aT ztGMREu)a>2GW%L<V*dgO>lu;j@<C#MV93gchto^j$Y#s?>xW?l84(UCRX<V8#EhSi z#B&}=V-(yGuegsw5~FzLw}}veTI-HFsg4VZ2xYNZw~a}Q_um`EB`+qGmCa3|7eg&^ z@obDmX=`x1HD+mO`0w`P;x#ezOT#$S+j+<v@du{-4w(r{&@Pv=aC^&1s56!jsMjyy zJ=RBLU(X|k)YzM>)9-ehAJknS?6z8y`UFz?bDZu2kXqjnqHlc*m*FvB$ExoadKjMY zc-hxBSlgqCE)9L`FFszD&$|;Ev+)b4kHXmV5;a>t^d_Kmk5H1wNmTg-zdz3<Y9{m- zM&$asn8bUhNTx7g!K%TG1QdyLzGj&p#20fq<M8OW=<kQ8Hcufc`@l_@o$dF_p9xGU z+BsGl^hEr+pb%*_Nv(f3Ox)6M;}I>j|Ay>nimP;i>S&%k=48JTl%iPjz8DjFF1e7x z+s~6ddPaJhV{P)V%y^skY!o4o&*%qswX>1tbJ58e{jk@&rJ(mWhm2+40sUg^_>)N@ z^ZvW`$i={7m4qF3pM!pm5}HLU<@?xkRqP~m;1t94rXcq#lC&$YJfuGh9RjxE1IFc> zr&p5JzmP(&a+ZaM0^>a5yy012+P8;U2wLXto=2Q~`{q+LQKO@Gj&c70LW=#`Jm<=f zeD#>1d)M53%lJac<+dM|ykzG0c8t{L<Po4<jIS#wQ~R=2InK-=G*;H5ny}*@q(xhj z+m0p5xE^TJzU(M`k!_igxym?5`Lgfn@)lq%P17(#J<<bg<TwH7+7W83DN#iC1LE;b zu9AuIj*%-8+n_}6ciD^0GAbRy4b@l*al?t*^+HP0%t29!+iui|#Dj{;cK22if4?s$ zZHFoA3rFu1cs=J~Sl6z11)*PrZF{KdLk$`P<gTcj>=F;Q=0p3A&ny33ahi$jNl|C7 zY`$u{c@`{}e{(H%{v|Hm03Yp{xUHwG-|<#lkC-S6uFjh<s-$ea^q%J0)L+~N5p9)V zdZ{kI-;#^I5MSH~N829QE^Kj~*H23(A=E`f7_{xBiVri006e4oPR)^=CUZGK-5_rm zi&^4v8iB_v?N{aWmIU{!r8M`3lgBca6L0^f=E`7L9W_9HyQOHH(J75qG6(#zWZ^l= zphBo#27=$Yi6?n&>`e;M8Yf+`V@RF)?P2=WXZ-MEX8zeolC3T0W4!sj_J(~=?|Z-$ zFc{g>q0?>;Mk{egG<)Cv=q{o{E?!sOHE3EPBC_PVOZ@}Jx)&syg;HRI-CwYLX36(Z zbgReoZ@^8!Hb7h$JrU)f0&mS3CPCu&6cg$*8UAg_V!MxJG2)|B9-OReHRM}vDPwt^ zBQjtzM0|*sL0ha768ml+F;nv9nRL69ep?#K!tnesa#M;VEH+VEd}>%k0~_npa+1TK zsFFNnKW5%{vKY<NeinK&r}j70C^|G=JIlw&w3Pcu&SzDc(QN<6sJm748iHQ!3BQ+~ zMB~9o!=lgx`ak7kE;W!I6!(6b8E*L~SBG!DB|kMpGpeg+o#=jtl<v#~$-d3FlWOJV zneJEL<+*Tj)NH<ZmX_O@Dg102^9`BHb1glD3Nss5mUI$Yaw(<0#Wbs-pHFi{wm#!o zpufKJdT8M+slXkZGnN{k6Wkfs!j2nw-_Sl0MzyD$cJOU+>P8R8ut!it-&gbYlG>p( zE$fAWtdXw?dE3_zY&8R)r(%Rr^;~O~*7h-)H$Hk>teBa3p(T1}waB*q=a-_U&O%5@ zBVV&VWo*5+D9x{D8eiY>4fV?I$S<o1hlfY)NcQJS0E^R9_gQZ=Z_AB;@9TH#VgW3) z`uOyK=*Kv_hc|Jt#?zH<Lz2_{50iwY#o1z$Bei`kC8{^sb?4o=-*LLb9(#2>_hlnp zac4stEJ9viuIyUggPzJFt@MshVvL{UdQ(R&7wjka7(@KfRP5aZeM>BtwW;`CLf%1d zy@p@A#687asQ5}n{o!t{xEVp-I1^bWua-ILOGE=2icXrvu}C`U2;Tj~H;{5-2)NEk zp7F>}63m49Zh;#VW{j`z@ZNj}{!<@8zam`O`Z7Y>j&o9`HejBJttLul-ub56k5sLJ zX0pC}te*>go9c1^6|a;5!&whn&TL)k{YKP;Qf>16hU7uKmduM|k?X19r{XWm)}{|d zH^SBb6gSQRMahHfD&WKw&c?E%i&~{iACOKJ<?IL}iQ_o9!;5DeN{d+?Tr5g|yAnUB zc`5GlDpYIF{@Q}2<d#aBW5?#;)<K=K7Es*0+Pt$zc)_GU9APzc>a;7c;|$4BoEgGZ z+_4CBHMqeXG1v$N@9e&}pR6n2QP_a6g|wV*a-AE@oB>zx4qkm#;H|Hiip77Crx;e1 zIG?8^s6R&vVdCzkoel_Ig-~=!@GA~kg2ohWa+Nr0ell%GTJ@tSIlqQ1b_bEzSSOL6 zHCjZcA&3Y_qRjZ0NS+i|CbJ&08+<WCZl?QVH^y<6{H|G|bh<NyhDV%NzzeD<37ikR z4`e+<t<?(?ueXz1AFTxRR~DHCNS$jv=&v}0%{78yr~3O-`B~`o5V5u>;MhQ19QA5j zZg@C_F^4|5<P!yOOX2o?i@8o`LfG<44{+^f4}GwBpM{)3Hk|a0k(fbVkALbI1eUy~ zVJtbZN05EjRP)TCi=e;ppp)TOB7Z;H#Buwf*z&Y#W4FZ816&}l?BI!pUT5jp6ha=I zpoAxewPZscp`pUJ_N%NN0um~lY>S#G<K3Zcuc=lrEJ7)AzREt>X(azkb*rTD%Pc-& zII>go!3lGUqA)O))jC&B&SE%XRnt|RkzzQ4ENu!Zj$k;FU=58yx0oiEy_xZ5e>FNr z27g?k>$o6^m?BS)!ZZ$1o|`(lefLisYWO>78sM`ML3hO9$yBi*peJFQ5ka7x5ujwl z4>eVb`GsPIEG{bPFOTp&F1BQy11}Wz<*WNP11)4zVwo_PV&aJ3Z~59h)~h-h){X#Y zw-VdGhlpn!Mc*c`3cuH46@K%)keSZ$R(0!I$)b51iN3OB8wx=;8y;y4RMdu?yE!6g zbn@To!--87Y<n;6E6@NxGGN!C<e_OHv`D1VcbrHZ&E|H>O!`FtI^OkOOfKa8CL^=% z6ss+<!LLKv-mFIMP12kq#b6Dk=92(qZq23Ek)rxgLUBe>+;!Fcn{<^!q5~e8kt~K@ zCIqLCYHr(>{zzKwxFb+fM2>eMc_G2=3Eet8>o64OoY%bd?0qiS!rdn9iLk^0?&u+% zcpcKW+U#MBI{BpZ4?#+l;%Pa5*B3roGsa>Eehpm=N?sF<$8i0QI&!FC_4eJ|!-2$= z)>Kl#h7ZTIRkR#_CVA+hojy9%g@}1mj~)(tsXgKn+kv^#cH1E7FYA|Ot0v8z2|mx^ zNw*Qg8!uLV^hHQ&kDfWjJ<!j00gM9GECJ+iNJ=vsh;M8k_=5MKuUKG6tLh&PhfJ?Y zf>~Z;G6Ba;r6q62x|>FS3NAj$aor`yY^pTlXTed6UHf5~tCt0pSHAa-S5B2D0slmQ zxkIJLlWRWVE#Naj0QW7_`fJ*rCw7gskJ_8X6w~uh!O;ub86xMz_mU~kH<`S#Nu{Hn zfR0s>j6eAioiaUC_%m>KYN#GeR9m%23UKqygkc?42S!+x*wQC|@&t>l150-6Ua(yr zw~Il(IR~yA1i(%;HoAXg{<6;|X=R|~%{otw)UPfz_Av{V=@=DNJx^z7{F7%td&pzF zcRsfe`7dR`RjW`3e4VD&UIER62es5KPewsE%iCoai8JbzP&_V!I`L)DNWy>LqCz1t zi8KKJM_o_8_3ot0ZWjyQkcsGY5^6r8mXDBEjdtrq7R`gAxaqMK=Ng~)tF8$LJ{McF z=k;qd)mhFjsf>?Fc^!*beT$3yQFI>~K_NBD+8<~SV?L+e>$k1_+Ga^6)n6w!)E$!x z|Kw8OIg@d1TUr_Cy>;A5%GU+&(zlP1HYK0m?Rx&JE<LIh0>@Nx!Dg$n?kLL(Ds9=i zn7M}W?lfyz<+FApEXjBswEEMPBw5CM&|`m|!+u?L2fckW+j;(wgu2axmJ^A;E<{5z zJ}E95XZW@Vvjtm0<``ndg-}P-hbM-}08ox!A{KWtKL`!qYP4bml5~E~%474J92yC~ zPvqvDD+%icI={Yk^l(hFSL~gu*ob!>j0m8qa9ickJjmm=yYo&K@}E)-R<`fw$`q-c zX5i~PyO7)fZ&eiW7+Je*pOfU)>B|MdQ+Km)7>TT1<&OBH3U<XdQ^}rvEAYFJS-$IX zK>vn)FoDviQK)sE;HcG-|2tYWAgaPUYf9aA2K_g@RN$Rsx~|lF+SZ$I5%uif_78V0 z@-F?8l&k@Mdj3V(_rS_5RaZ8Lw!7q`X4kBiG%n?Z*j;98huM3VSNf(j6RkG|DQ%f` zLw=fHy<hA~6Z_Ao!nA&ZZmoTAZOwCa%AO|svU1gUZO#SIwST>t>8fdz&&o5TfY*k+ zDP}79P#^U<=~*DEe=0=}MpMorF;e~z@Tw@Cn|-v=JJXkV$Mq-sw~4^~H8I3C3?Fh2 zz5abmPNEoVf{nrI#iaW+p?Hxq3e#g-kiFB(&M?XOZ4o0i=P`~hl;v3uXNJ->&o06` zdEc|wX;>AK^5}WE4mo`F&{r)dL{@FX3fJQyAE(PRj2Zsn$#I#F``>M8F7HPVg>t8C z`W)8?v%@~ba_d{$Ok?>*gBCq=ZMGvL>$yS29F{&E{pRGPQfr`NBmE{{D5U;=^-eQs z&BnWd?#V`{<`SPXgF@!o$3SzT_9!N`wVy1en4as~thb2nbuRnC(g&932PlEW{73u_ z+s`EPqzo9o5lgOrr<QV@B;-2M#KP1tpoz$px9i_vx?<2VFfjONX-R2;uSqkkZ%pOo z)TS4v-qlMhA8$Sz?OB^Q{CO7#zLO8x8$2J`Ka&<;TH5W;SHB(jZPe`#ez+elFCC-c zLCem4n56SLD6U`T|D3(<MQs;yWwABlbWH8I#eyqY99K;<{L?AD|HsRgNRQtANRK~d zD2>UXMlOJ*j?ICJ=>F?;36@GRV^>1%DzF{)x^Gz_$Fy6=C1>D6(y5r#aVt6@pm03H zSHahD8@GEn!<SejcOea+Mn2+Q&T|^@G#1~@k~SSF4U|pBgyp`mY+dN~Xt}D_X9@Ob zm(N)-y5rtV;TC9Z%y~uC3PX1KA8nvwZ0H>3#nr(s`=Ip)wXFB^9mYFi#a};`)DZ3k zO&b2Q(Zgpn&Gt&ZJ}oFI!IWwDsbEu7&kJ`p)f?k(pyW}!)C!&6HR=Jck$mfA`RJLO zzW<n`;9P8g`TKIn6OE{3^6FmkGbB!r=I6qe@U*YtQ4!nZkYam63J=;*P5CuVEft3b zPH{c%9V>HyMdfag*pn?a-VN(>AR5LNBUyvvx%F+!hbh`}+yk9b|96*(k&Qt15T%Hm zVmjML?D22x=zopQxC2DC_C@QAB7Z6=Y3+x28%AO!Y7@MHTDhT&x&Q8to!?AdG(&EN zJI12VZV{iBTR*Izj-WaH1>M)u@9nn-kBV1L&r7u7D76iC_;KR*!%66|`+@yw0qB&2 zdarR?aLJb!8tyZCuKxF|qD<psK^l}V(z`D=77mlfM@pXay)aNgO$n7PXKO6yf@c2E z;DjzY=zvdf^$5{PEVrCHw<)#sd0D|ZlSz2XYOAXM*YII;*`(x5iC%qF)BEG%m}ss` zHaR7=&zsy>4$d$LME6edjun24llm42&pA&l!gQ^ZBCY)LcDA~9;~-B(J^1tncg0>Y zn5PH+ctYK*#D?-|JoSJ|F^37vjBHtYD+x?kZzsfapQ|dSOh5uVjX1HdWk+Kh1X?FW z0A2LVTyEl6siFT6tQG$4^`V}^1mv!7v(v)r+1^2gVBDntks704<w6Y9=^)0)$V>0@ z-SDLLBaJZ2<Mbu9oI^-OC0J8y6&yvQTRRzpfjEdj+f$X<CbeWgdy$E1(bsf~$BCK9 z#(*krqo2e)`}gkT&E`DgLbIv)M(z6v{4X_Y37{!%1ko>JOlAHVoHOpaGoIuxj7H!O zBDHi$=OIge5_%mS6LaZB=sCvXD-x$5tTQMt*61ENCD#AuV9MlmApXiV=tz|Zl<i&} z#=JfL<BmyB9QLQ%D1^AI!fC6F8bW=wv3H-3%|VCkS+;ZEYvGspJvr}>F)^^Sc&_e# z7bQdk>kmxWD~I*3{W+I1u5SK1gIS#|`i3LqzBY<HkKx}nqbVSo``G+V#o%dolD%cB zj?vEocN<vjF&2{J6xT<ys0IDIlyshs+1QJx>*B36di-uT&qMCy-S;%+xF7EX%`Bc# zDz%>P6pY-d%c&pt{L5=0u9*B&47B_e9VK2n6b*GmIKCTg+|!9f#u-^Wjf##U_}4C{ z4A&NELB2g>*7C<@V)s1X(@mD~Z)<Ic@W2lVS&SBt<6U$K!IiEGv>uM$%|%>f9~Fw^ zeCfW8DKOr2S+WgMbD9>8&wS^VTu>K@%=(f#cT0((NJF;C2<@N-sZ)u!|Hjr)eemu| zy9$Y54_lA-<s;0h(s)_{gT4dzYs`1kZic@_Hu(&!w7KEF@zM};T{KQp!Y1bG{t!>d zRKK5PKUphtx9wlQA+lQ#OCvh*xJ4Nr138fKak7v}#kfS<xUhrA!4z?;do9z|z|iV( zM7R;qdoA6{N8K-3^o5^oQ=L49%U_+pSiXq-EE_Lgx7OT=%dE=Wlo<nAYa6BvH~!#I zS{tcgd8zwyZ{&J|?-l&E$X_F>&b1W4f&7taMb`FZ$jFt63l2MAd}Y&ywLi6aNFl{B z$YhN7N(CROwYT1)=9__qe=8D79!^d4JqhZKW|MWLIQgY!6Hf0lg{&-N``68yOYv`L ze?xDW!R+s={u<Lt7i^b1aoYx?SAr*E6)UfSLei*%8-F2nTLViMy)${x2fBe4GJ>J2 ztLPsD(?*}@D@zni2q0?AmDPKbmltBgR+i`Zq7&wvP-TpXN}#E$#3#wYW-CO{(ry=S z!&XuYyG^rW3F>)(XrLRX=FW2`zpn(-!j`l`YN)f2rUN({($dNj&RsfylxLAa1Ow8u zm7*N@#UiIHLGqoda|RNxSEpS^Aon*gnFoDCTUnx^DnHtWW(y@vO|+*Frn0<BJXNaA z4aXH-Oax;dl}*pnbY_;Zyil+(oyO^2(_CS_a%@{3V-Q7MrH~tNLa=NPQ%P+c|LMdP z@E2A_V+sfcV)cN{Ht~_lKbc->jBtFd%o%&$o)ka%^D=08#*{|sJ@c&sD+&|jXixhb z6IrlY(LG?WG=YSfj=bKF3a#DqqqhkGP-Q_!@{?U#HS-@z7!sI((?7wqHps2{`O&xo z3_va0AU~5lZ3eQDOwb3i1U>l7o!b})V$&Dkx4K0r=n|W+p3rp|(w<b!w-~LofXrqR z9m}}qQ8n3tkQ3_{CuissSTYPL`7jG%enI+VoO0)z{x<dSKw+kqLKXw>lJ{US=8b=$ zbPfA<vq;9+*4G7D=A`cw_N_?J$EAuMAk0Mi<}m?zSg!yBz{Z#XH~3RkQ($cbIyQ%S zz-<Ro$cuXi&1)~`WQ)HB(eXE{4YRL8A7H6f1-irOZ&l>9?u?s$%B2{-uW4_>DxG~$ z+5JZla7R`V0U9CgHUM%NV%WC<FfFg+^pQ14tw*fa(+BaAZO%uE8&Aw|k+!d!un#Tv zvSQlF5-(KvvbKLnB6z%9Jj%aGUj~IxSy7n{A|d8xS7}S%eX?oM)8n@xAyfx8n5=%A zn<MR#dsZ?dp(_HcShxuJ0wzOXbzEnz$F0C9o^e$|v0BC;t?Z3NteMl{#h|YBphcmI zdB2>;K`sJLmJS!N{>^3Zif>iEencK>2vD5~YT)^%UG5B9l3w4cBfhTQ-hodv8kdeN zhU)p$`~uUsx*Ha7sd+F7FzeN_E;mU>zd?YA)4pehWrN<@S%Ca=V_d9e>KC$t1j^V9 zrq0!k7C2VJnruex^sNfdg%7^1&nKC;$C2AfiUMtNOr%wf$sYYo6F1$LY&ik=nQ;~9 zmYcWH?RruQ2}>B88*YO+mq1Oc`crp)A#TgOfpNNXUsw8mu~Hy7e%25q$+nR~ul*h% zvQ+V&7~bx@OpU%tdnd38eRLq{Yta1GHvLYT&NV#{>n~h?zO3b2^sYa-%;#I=eS3d* zXa4)PPJEdIe|RS%$J>Yj&M+W!y}#R#e)riPqRNb<ym)@Ps((@MM2Sn`cg~I5M(nZ{ z1Q?|BmL($Aqd>@|VRwAu$-P0H#g7o7$d0w5uD*;{cm$6a4`Ko&zhz|c?i92_bfor5 zYTr$e^Vdu`0jP>!ySOpxaSa-_TgL&YeR#FO@QNjog!~&>_&f$iKY}jW-B_GPJVS&> zg}&lPPe7=?_c#c<q|dx)<Z{yrB1=DU+<j4ui>T{_{xbbn78*j;-@q?fZ9{w!8M@fz zph}099*v=R-E~<$L>EE4U;)Pz1WKj6xg;3M2{}yHDq4#<Qncph039~4_YZ?VFob$; zdGrDt4q$mO_=5wf=XkZg6BENWPgHH9KmgJ(?5G{g>RVkblLTrNR+bzC6K+3s4N+sL zW-wY-Y%sp^l*!RflKK!`5e%BpUPK!S32cBl6USDT&?zB>UlOT_SrR}4U*H@0#%-oC zI=j35h3~5&dagr#$o?RbN?7}E#7wPaJPr_#sb3IUAZoUdg!tyFqxlQ4{QM|-R+#0@ zVDX!8HF}={+GE5y-Js#p5N=JF_<{hGP!%`wgme9sDUM@J@Kg^*5+UiIVD{|VEvlw~ zx)-|xu}0K>C8$^@8P2F>^?<P@Z$gQH11p-?zWy`P-;(0Soz#fGyAYHJ0IFSg*2tXh zlYtsNEkt?qb!XHBh)vDw`6>=|%tb~$i?oRsf0Q=Eg-q!JEaOG^BY<BEQ5<-9`&MHP z{Ivu)(K%590dB8By3if@8VoC&8g4b)!3<rxi8)>8(uHWYX3gx1=I#I2t+xDy8Q~g? zU-snG#sa^^zEGQq)L{4`{L`RUwuM9@b9I25)BU|DwyMJp@bSOI2yx4sMeS9-lPcSW zjruCzf;DTF<1>+~3@GoBy2SlId1Wkb25iGRJS9vwXJHZ6<fqJSYNpc3{?GtOXk!hS z&4B;RXIL*4z-8EeK<FlL5k%!ynnmP-bm^LW^zr_(0UFCq1qj_QUzv~4a0wx)YPr}6 zf*2Ci!Yn0u>;W@N&{<;;e!L}nz=WM@^Z~S4^DAS$)YX1?=1VK++iz5gCh20(h3YBO zwi#$hD)W$+5Je3l-R|;O_$E|klpxL~nR|8Erh5knAfc~0(in5P1xcILpU0pEi)Uxm zaWh*bUcw?QPYNR+fpikCs@s;$*)I?RLDLB?n7_{0rsmS(h)|Y5Hh7CJj<^jH;N#?x zDA8$%nw>49APK1g@)v@uK+{_C7i6suOvbDUs|&WEf%hDBJqG5#29uRHt4h|B)eez! z2kX*VF!F8N&=<u32joZHh1d{~{gb9SJiuLGTBr;GWs>N2{3Gffs7rTU1ZAKlqca(` zWy3F?hORFUT>4iSwSIp<2R$X}Hbj@Murj-pXigVJVUVo)1-Q7*6?NuUCq$mJ|ERQN zyni?bRe^3Vf5s(KUt+8uTkCYIHcI2Sgra4Jj4x7?!WvHC%u)IqWloo7{4}zv0X7a$ z<;ehqy`C$WfHdthZpQGh!aJ7XXP_6ROIVjE;bx#n%=*w?=_HklkG-js{}*9z6%|L< zMT_F@?gY2s?jGDVIE0|VU7N;Tg1fsz2<{LxNPs|syF0<<R)7C_xnrC$&P(kjbIrB3 zRCUtyuALDF;ygjR=N=3Us(arT6_kmV4ztH8Le4RDfzpRjAq!NCqOL`+WiLCBJoX2e z0@}Z#EbXe&scs;<YMX-J(KSCxxF>LZ{ux{~0$mWC!~zC`rWJOe&1@%bBvFz6*2{5P zQT37w`=zmF2kR%zCCkULh;d+{jk1_h^8*B3EopAa11e~MW#qzr(8_ZMHyki`5D&Pz z%|qc88`YR<@x?j)|L&Lnt=!=(DLhTs7Tqs>mR7a73X3>H>x#Wdrffr{qO}Cn!eH++ zs3a-zi5Caqk(|*q4Ifnad4opt*2e2xuKreR;#!hFdCGfE$iAzMEd|4nwJwZ3ooE59 z)9+`xafp>yONY2!J4nAPmxvd)Qolg#@Kag90$R#M?IHp}@Tlfpz%5~64f_O4{qXm? z5MDmuu55I>43A{Vy!fDPJvJaLdu%Y~T{7jE)Ldne?L?iFNn=qC{TJw=@sLRGO8QxH zzc5oNu(tT_!pO#X0JiI)YI1<&!6MJ=#C!l%_xdOi_0Rh~A0UKPN?Ywxq+|7~EndkK zFd1L|2=5p<K`MJ@8PJ*#xrrUoeV18jCkW7VeeRn#*ad=Waa`HPAgvYg|1p>Y!e_ve zdt;4J(J~J7WSN7S^nW&om0WbYS}veFd{mv7)eu<!uePf;1BA8oC8nRiLk34nm$}iQ z;s-1b_kd00$^`R|$!iv-@@S!Ft#J@j=7CJ6n4GHK-_C^ru~e}ysG4BZW1o0k1iRV+ z1ncNMUQ|T2TR~FzFln_Ak~;X{(gBSO_#<ExQAVy#)R}<WJIn*g3T#l_a7jPJ2+Z#0 zeRBXt3xVe36&_!I@^Y{9J9=+E<y3-r>G%}ooog{u*WcD$0BoKz2^c+;ayNq6oG|W< zD&PshobxBu`Wn*0pXhM;xGm(@FeF#DpzM3WkFk1}qGbD!*aMlIH&yd)gMk)%Wi=YO zwZkSDs9^vqz33i9plTi5%zu2iDm{JdgsdiBo0W#x6aZ#f##`MU-{gH+;YTgh#SolD z1fYh`k+vZK524X8k5}*HH`6gLRLpKL2T*}O`f>svz=>IGsfeLvkN;h##Ymm#r$H57 z+Vz$ErCY71x({D{3JQ?VgME)lk&o*@yZ=mzM7oRs!k8c{YVODh#5*B4PJK{Ki%fgN zX9ax)7UO{U%zXAUkU`tWw&@QhV2~pCelJ<8qhGk?X!r?moRsvSO2$D(H0BX@NxFpy zpy_P1wB-cqzqMr2ih;NYl^ni798a!~6s!pLkzsM~ef~o}U1xFWK_JfG9{nhQb;Y5k zF91HKDjJrk)e-nO{OW1+pBJTE^M5Ak7TAK{N5E(1Kqgte)PKJCXdlm10?1s7^hkIA zh6aZ3C$m+%iUIKC3{w(VV`GJ^j#6e_v(Eo=rZ<0+`!A4A$*%<i=z>x4BP<8PA4uS_ zHn88)22#7Dx-@jz?{S$32?rtJpiEQT*A7|LMeKJvn)ZeEDer_CGxXb&Xy%%?G&VMi zMBWKEkm5~V0{i~E52hq{%)w=42aXal18Fq~Sy@GX9l>zvwsz5j>+qbJC7;z?cvwSU z;j^-~h#DLLWE&Rn`BhdXu*MgPO=9&kCdN17;v^Wb6P=l$^6(BjZ06ZRV3r0*EG{$i zc<Fg$14U4PV;70CRYFTEN8%m_f;-(b`Hv2Eg{7uSXr}uV$$T3Ju&4Gd5ZKs73kUZ$ zl|!<s_IW_`Y7>-AUT8pPb9QP1Xjc9i4urf1`1PJp@IF^SkY}l(as~yJOlQy{zhP8V zT&BUH3=q98>`5DvvD*qe&lXaeBll)I0h$BB-Ks*{9|-cr5libMfOPbZy+DCL<0!FA zK0%;|<uD?-5Kc_ZDHTW^hywx5kYtj5hLG%-2-DlTkO*mC9I<tP>k_$d`9BA_s&^*@ zXl{>u-T)LV;!nD13}KLiI{yyQal8{Cehsf6qIpQ*fi=>3GsLkcJ>aDe<fM3FXrpHZ zk|f-HI0&!-%JJ3=x)>ywEF@4nle%|-q}58-xG!g&vBgs({cwf|Nvsy}Bnk0wm&r+J z4N~s*v5@w|BXau`g^7)u%wo;uwkVJD5Z39AUY@fSU&)}dKp%2b5xWJ;3#MzGF}y6& zeX7HKO+68pdo+cqR|+NUQ7JjLmS=abM-u;h_{jU~Qt*(-M^)xAj%JnhrC0tDMD?8D ztbm~eQj@fQLz2OI=Uf)}6+Dhrq3n&mpG2j<;f<bRa`kFlI$cwe;I?o6%lg_y>?#kn zgulac$K+?bS$%g<x_a66oBpqSh8b1Sb=qQ3;?15ygVxV!`SW~(-Gd7EZ-ZRi5<6Ob zE%%5IdMgti*eJr1mr!K<rtHwEtQ7D`x&Ml!Z<02%HwV){Q`?607S>P|ekHKyT53mf zsYANti&$dpb_^pl^(JLA)?0eJYT$O<zKrTapAaEFls+WtcVr=G7^TmvKr)%nNg+EC z4<V%B*xYru6&>jG3LX4>Q5|U(jAOni-BpfgJ&U}Nfa<!joj^|;dRZfTfg^K_?HK~h z%@pmCq$4l^)4PlEj?3dQ)Jp-Sl8p|#*snWP_yp2R5@#mOv^QkWm#XZ@Q4i!_xKL^g zHwu`LqXaV%FtWbRsG{T}<bA*S`22hN*K(X@@%+?=tvx@1Dxde?zbZqml3A%Oq!cki zls3z8c+FfF-&(S7Bt!K)As}J}n}Y95r+VbOFYy&xuu4cW_rG|<d5PFMUD}b;J1v@~ z1w1;Lqn&O56nPX9L4|{&+@}$>MhOQkp%4B`!J@x@xmaZ5mwi-XC;(+b+zc>&@70%6 zR8?gzEkcJAe=*&C()|MdTjqZB#Mwn83B;)kk1xZts2sj8A#R26WHSgr0{5ZP4LQ0s z#(!#=L*UTPsbSLzrKlQ<1>Y+Rzp0dcXEF|_HU#Q0Zp0kVg+%DV96uj6yVo)z0Lo$v zJ`vFP$ZkW5^R-i;iiWn!{`J!aM}7HZ&u2Ww$nA+p{3j7N4LYBZ5~Aqv)bw1-4zC?2 zo&nFu+)6eiXds>Jpfh96%7_%H1Trq<b_4_BsH7H!C8maw4!9QLJEN8WXLFg^BIP_^ zsiB`+1T@eQ!N`&rUm-%t6-D|gTMctpWOYpfaZHzfBQ4#Pyk)Y@iNDkZhGWc3F>5Fb zNEqsoP<#~*<BExqML<7m$iH%A{w?z#*_X$d=iAi_oEihH{`&*emhgbS7}=uV5y)P| z39@-;y=ZNSe-HfL!l$7$<?UNuJ~O24%F9Ok!nE5PnTPm2<;qlc8rD$p!Ku##6=H<l zH!xEI-iRk)17<CKR@;cA1gz00RA-3BitXc4QI!5nyCkT)ffo^J$IQ{1n}{GApQ`9C z-G_ckgR?zkpBBpJ!d-e)(U%QO)@kiR7R`MKf&e5{dlw@9O~kM}C-j53x9)hi9edST zAcSVWiXm}k2ZGY>j>jQ7LgZEQF{&*|`dkB{l09NX;hV*Low>4@n$i}(m!4R@G72n% zxK4dK#1<hQjGR_0h=)bzB$l<`K6iW}$tR2hBlUb)BUF^`0%bT;k8!F?%B7#hlB-_* z;gwMg9;{dK46YMcbc6`~$uYCK8~Dti=Q4|L_}*dT`2%u-b1(oDeDl2~63j6T>&JS5 zlG;1d$odzhOKKN!lj2(+i}vePt%za}K!CqNPY3@It(cFxO`Uinv5xT5j<Kq9<4yF& zLtMjXdg|~Li-ytfs3ooYj*O3DVHo;x%7<m!T92(2)}uj`WRzHgrELu(vpc&i*!47^ zd`c>lC;#n$;VFTjrU};<W^&>0FYIG?1T@~HSNxf_70=F!QU0FsWV_!tt@q=KSNNV! zx_nZW!}D`n<6W08ny>j9<V1weq5OuMui2dIygk=oF$|th{QG2^?q?sc1RO7uuQ{Eg z;L8fH)Hvl+4b4cH#ZintyLi2#IsBg6V%R{n^r?q<K_2#qWrfP~Dyj;u_H+@M;W)YT z%vZM|wv4lx!mV2of2L&!3Eagq!f}ij*q6=s$w*S8>=uH9b10Riqa5u<H2tR$=G2RX zQB5Ei(fQ2+wre0*qga)i>Hrb&=!zEO4Z;Jy?s-s(MH>`gQiUHej)KIm*?k}mN991L zd#up;OvKj5lX6gf%RJ}|T~;X5EmVN^UmW^TG#4778HplKm0qg(e+2oyZvTtRn(v(8 zU<?9^H4VrPl?()^5GwLh!M2Qa5kLD1T)o3$C5I~8-CqRrXmzv*6$aG}*JOve^9Pls zcUR}H)r$ezSRICM(s9AIjGU^nN?-J(fT21soa!H8;XqHl!y^Kayf7iQ6<zfx*N2Bf zILKf?&NGI<oXjS>iEC-B{74x6ah5?_-k=%YSm2ndl8hXif(r$s)QK-C@TFHS_lED( z?`a(?HYEZ+7i@AR7J&yCTo`a>B{q}WKx~M{p#=y0*0ghjH`*fF5UK>zQL5I7#5eiy z9aa)-96Yh8{qz0Adq(|W^QUf0dHLEsLkKLQcVlCHeB(d_gsO@Qe^c7(Hjc%WUq^?e zo{Ba`Gka~602JXLN-_iFxeulSB0%w5_qbS;V7(M_J-GOM1eAQ4s*b3TJhl)M9Z#d~ z$O0h1vT76rVHd;aSAq>wE0PF^P4+IEv<+)b=*<2K2}z2C2CkWpup{?zb>_v-Z8KCr z_u{XlDPh9Yw%ouBZp82ifTRSL1QL%U!#=n4K`No)0BF}y&`|P+ykJ5G7%saZW-?qN zpo5g!T~|_oCQ`YoK2>db9}Kv^g)e9$;fbAoB3VNRGJH$m_6!*)m*&sw3IZDOyjP$Z zd>3ADambMZ^p3gC3`r{iUzjL(pnQt}FjuyvLd?rtaA9hnnar$sMbjB*bM|{x6%NBN z+c*B4WT<aaz)V|>+{P{kpEJPq<jYX%af^TiJK;mlNBXxqwaPKpvCnR{K1}KfJ1m9f zE!tAkcF$?ZpQ)xxT)7*>fs$04FY4>GOz$0{7oCRuw-kuJMD?~q+abj8Sx_+I)H4S( zWYrO)wjIxTw+E#XrBvO+=(1~7Ih)PHJ3I5Shon>)xGF#swLwwhB4wanK*vk0!I*%V zbcRtc$iWf}FvL*o(+G0B;12kj&js4(CPAkXF#PX>nDN1c^o?g}njRxC{`L$Pd$db) z)Xpgq1bvvveZe0jvSV5OVV>x>^|8Q<jA@t!i<Y_prH0BsuE2e8Fg{THni)`p5x>R| z+w7sgRUmbVB3pGJ`KuN{ZImn2$QNoKCO4+gU#P)o1T8Y@q7~d(>eA{~sb<918^h6K zGr|bCQLt)3KmOdU&r@8WOfE!{*%&|kmH~GkN-tFkbw<Zi$}rPz?(LLCl{~?&{RugU z7`4(6Hm57N#VD1T>}xGlTS6Bzv@>HB&4}F(Jx&;=ltJd8_b|E818^NsDYyqH7b{<C zwvgOu(jB4V;5ytC4oyU%DBjKBZV*((kpz{Gl@e^E;@2G2YIirobm#S1vzU!#_3@^t zQU+Nw>Y7e*x6iwACn>@9MZl3j_fX9w99!cYe__<&*OL8*=pAK&4s{?#Y>kG@gG~g- zk=17w&#R;n?(C=WIj=8Okd)m9<_}yrG#(Za#!P%4QV=r?O?xXA5j;mwpG^=^sR)9Z z81J}#(CrQvhS{~q3=j4JY%(;Ic=Do5(CK_xGSn?r2HHl^fff`&eOU`kpQT;BEfj-> ztO{aVRF*43U+xYsZh=o+(d5=+VT!fe`|%|*RUfwa8f<|Gm}yvjd0swBvpav;k5CPk z*sKCj1X%h=&Q$;6WTB)PcZXNTl`gtEE2^jauT?kx4STO4uk;{L!0}xG>Z~oGo`_;k z3xg3=hX6wu@PBK)%D-HMfaRnTg5{+I#8#_K9|jILp*$}b^q7k-T%^eX06ZlN0J_@9 z06?V{VD+|O&GSmfneJmc^qx{ivtFMZc1{bqmb&b9cBd2b6~l|?+Lzp9<iSLd+r2Ju zo)4)zyrkeR5cZ%7FSu`KDHQ(4%7qK^MZYOM`P^ouq4O=utLR4blAUl{UkaU9MfbU0 za3=aSh=Rq5Z10=v77fSL5W9(7h;kR<DnEbVvBAMyuG$^SP^V_r!==c$4#!&ZK*W}0 z2f@&y2Jqc4DI-JDJ#*EY4cYe)i%Yq&QjS3J1w)awJVk9haUs}zamO+{C(?7Nf9g1( zw6kAqulT@E+TTLXGzs1U(bLN14%njZNvkja#%M4J4e^^>MuH^hYGc_8zIw)5&vgq8 zx2oIexa6RmkwwT>v0Z+e59|0*p9}N5Q+Z%@iz&2oWV-CvzsQ8Lzy)p-MHl-m8pfBu z-eRkbde2^p&1|pmtEFBd`6Sh9&xl8`0o!xPiz5N^)uda}jCye{OJqlc;!<}G(IAz@ z*Go#58xcp%d+;TZG2(Fbp^$)BXr1&H_o1)UvrGp@T)DbJ#Bejy^M&`W!3-??*k{YG zsEdkw|MAU(s(=1)5_(n4dqtSI&MMNB^v>fJH|8+FcT{lT-HDk9<dQnGV7}6$Pl49h z_jY2B9N<mv*$8C+?{EPbP#8EQP$6YNWLxeNhehp9u?tVEvK-})RXxDw{h4_=NV}@6 zMuL)l!*F;q_onOppm0oIkdJ>#YEvWG`Fj}BMd0Kmvkl-NC!|<Y;PfW2AK`Xx8154) zaL|%^4-tTH+i$W}h+c>Ve1UTpQ`8M0;HW1!Pk!K}rFXT&006`W;cRIJe2JYH=kK+( zxd8x%+6Z8ciUF(~j>N!z;;blu;m<)dl$N!bUPK=q#Iuo`02ph(On=a+qMvf>69Ud_ zBI+53HdU1z#MbA-N0&2uW9A_P<2eezq}KtqHXrO?3K~_qZtgJ1@v0j{2yj6i9{w2$ zl^ucf!8l7DWR1U4su1<43BY03*fA0o81^xmEYlj^F*QePe~_d%Dm{>-3oJ+mumsEn zHR&%Ng-VnqvZG_Mm)ddo-!<5x*F)R#@uDAMF&ad=BYoNN!)|lOu+L%E;Rs8CxtKC2 zkv5xoUn0G+q`cOkRkdaqzJs*!J`ka=r1BsWPSd)9;vM?aoW529y}^<}p}Gz_i?bKZ za$h{$1<rbIpUMQF-CY~SORz5U@z{Legl|NO)sNPP`+hw!P@>^0*o8!vJN_3(aUm(J zOH$T>lNcFCzn26VhcPo@3(MP<f@MZ?+=vWjKR<E{Ycw-H7Uuvs5{BNHlQ5#MazdR9 zhID^hlBU6noPr1D(n`bzZd`X$l6#CYr|sUOpPmzA4u7*kVc(=({m@YeM%BW_!g9{J z!8SSpK^=5plpvdyozUa%D1%e>?^d7zqje+-dw4Yy=g7kR>q#KiOvoIYzc?AYOWKnK zTkc;E9Kqp;*kQjaOOZ9L7F_*e1+`Pu7bD$I3Jx2XryXU?m2q;LLa%PFr+04r+E=-F zf*HPaE47XSwXO>Zt4ZfmeVyK&!&O7Jsnx@(9dTOhi-CR13KScwEIz`A4CD4k9?uTL zkJ$IVW+x>yG!9CXMY@mCQLep+m(9X0Z1tVReaU|r;tj2eIfS|!<s*$4d)$CO`6oA3 zlw-hR*1aHNY{Z%&B_~zVXiV@atChu*(DF$I4qjEHNWDK{Ywi8Xz*w$RX$=ZC9LRAw z5}aApswq9k74yPOcV+l0hAFx7n|k9K-2Iy>v^VH(vj*uRjQoLiES+&zHpU0{1b2Rj zZv%J}TB!NYEEGCig<>i4fP8oI%&WZ2#~FOl0vDy$!@n5nje*6gGcD&oL(z{vv^lM= z!?s4GuGb~JQyz-eD0UCHv_U}+2J-Y`l_kGfZJ^;N`8|jSC)QGHCxhrhBcl(bU*1Az z6awNykzd*0%~v_y_WizWPkF10J0hg5A@Ea@kKxXx+Ii9RM12rsB9#i%8ZS%iO>`|w z1SL1sdOyz9PAdnzOE;)JKG&u^O{>>0D-k0es4T~W!+WF@O@5>#5!%*5%6}jld-0_| zPyLnJ@Fc7KHs|b_4kHGe5w)#}>bFI#l8I4|h2csb6yt~T_s%C=Qbu6(;`7R$PENV2 zc=QK<-2KWG<B_7IGqdH1<;_Ju90L@Lv)PKFTC}GE6iV}ZrmQR3@TXZ{5OjE2!tMu) z=K>p=ALJu$xSSN?X@-%PD!A=nA`m}#IpUIK)GuUQaEi*vm;>+V@v*a_k~~Gi!<$5S z1p_hnN|PKMayzfbvws8*sb-oGfU5hu2}-i3w8?5Wl?pPPK>;2Beznoba|O-2>^)ER zJE|FejA6%OX9}vHoZ`0MTvU!vxfpgt6uX}8odkBEJHoZ>6PC5zIuqyNvZEY8L&PD( zc!P5<JxK!8IhVXXVzgqo4j=mDynb&e<ibAVxt@O?=tB&u<i2Opr7xPQ*|nmSds|6P ziXhzF>OlZwIu`cXrUpIu4={hGDautzH*QftA5OW(-VBIdE@sGCjX<#t?1<=vxilZj z!(CA8uNKzOONqPOzl0YQ<3;~;K})t0*E;t=*P9cXH@EO20CE-={FgI0yTY#J%6r(A z+MIWlJQu^ABl)({B0i^Y3QyR)U$0HtvM}c-`6<EK!Rzu*{kmGH-<Qq5Z76N!M7flR zb(`loii+67<1+IL-Cw6&$AK3dg_rpD{~>#%LFei&B3#g@;;>t;R-flbTf2>pxg&^O zyk#CR>FyLpJG^Bk5Gpfo7Ct$+wPP8AX%?P5xMjw+7(Ibz>FNH9%xU8pfxT{0DmBU9 zIT-F#&qakWdB(B1Tx}HTW96lPahi%{QTHcctef_`m%HK5vxe#A>JY2|t2?hcsz#|u zL94r@i(0&*#glj~k!~Rr(T@qXIv^zr2C-v(wA5)69mXs<1;Jv%4yr0@<9y7s-_;lJ zfnq(@Hsu~=pXCK9aO=w*Pwpz%&_q49hwTHg&|f@ohdAj(kUelW&%RR>ZPq$|b(<R2 zQXSZNI=T>T!L7B{2aD`Z3q6RP&+$tBB(1NPGCeYg>EWpmRr5DtE`GXYGF~9vuj|kp zb)8i#*IW@hr96sTwo1V|o3wteiD5Lz&zfBGR^rFQK7;ql8ax>~E}xbkYRD5niq;a# zx7L|)FPVnB#J@#at(hKD^Q9@|oL6~L_Kn0PF=l8)Jc7Frk1PmCI#$j(^K0h!ZS><h z6FV?-dTsj2u$!k?4p%3$cwGJXG!qI!{ukTB=5o&X)8X+*ifKOQSJKz|>C-3)ZtGgj zBiMZjs&enOqG82=S0<9_1OFu_hXcV{OzlUUZ!jk<71&Ioa@>*OYb!H~hrhl@bLrX> ziPq0D*$;-MHSsCi0m2SM_&Ccr!Q3$N82z`{9HU{;H$SVv{MEtZUh`H#c;II_-=<O~ z`d#uAEg92XB@#MmPYF*%)#v?pGapvGOAPp;3~J4BF%si-Cd7W6s)lozuyzJ3&O0M0 zifXXVDJlq%4k)+OAf5%XovqcRb+4M}kg$2jIX26%`r(Ta7JXxxZ^BKw89q?5pKqem zE=Et^z}r)>`-3ijs)>|6-{gOUhQ18^E|ITVG&L}~N%r*PZ%oC8&&?Y6ok=SXb`QEo z*XaD{?<kE~mdeuDOV^g1o3G81pP|nh7JZr&97_ThoMWzSl8r)zdQv~LChQ;?9P;hk z()%FqfCLh_$DGtZ@vfYSOw+E1J+{sH6ex(v=XP#V>_^cH#^1K<jsBr!FJW73Fdh9! zyRTtt?=3OPH<qoAjEVY3`U;O{Vq40wS%vipVb^C*rfT=p?ho!wC~wylw9YTKmJ`>V zla^xI6WxjMg2(uc*|p-dT8S*DV%xi_&*H$QSh1EbG>Ug@p~CY`?%KnMro4?sFYKfH zazsP<x)W6smAv8$PtsvMCq%&kNs<GSEnf&j>n}^XRBNNM10%Y~btaCm_YvLioGK6{ z?nNbB;wwKNtIL84<i)EwEB^8@)<oQNl90wcw+&%ivJ%Kfxu?0adeX(opfhb@H4#im zh!c!slo1F^&=^UFKN>szc6!bF(GvdtUvgm0Y>xExHw5uxsuY{XX)LY;@#!@C#^H)s z|1{=rOLP^>SV}quC#OUT=4n+eOK2&qg#$tUYOJ@mh+l;oOmhkR5CW>AOMO{A;e9Q6 z^K%@3SuAc4AO8pp`KFKNb>7eLJHoE<ld=3!^@qpp2R%&=#gb$1pkE$lZoYc46mj=h z4h!E4NxlgEC?4U+66U=jWWL->xLIFrLlx`NwePys!??)>UQkm{7_FJF(ZaX(4&l+z z#{920cY|%*L<xsq5`V%!0v)IAS|8X(^yIp?@%Fyl=9}<|0qx{l%lU15G-;w9PrQHI zpC?gkL=xAsL(YbhZSoVw{|-w|aC#g4lpO9X-hA|-9m)@3lX%{y@b-#znmCUyuV`Bf zhkZNQ&l$1xmP8A2YAr76jr5(Z6(HFy;9%h-zNhQTQbt9&L1%CNh&=2cQzhwi|KKcs z&@rW7$n!kT!lwJz=^lNm<7?E-jP%f?=;EAN)g^rntbV7u?WkqVJ^$9B<6yV)o%jcq z9fXAFNXPZ2k12IO`<<5>^43TNjXMjveJcmYW<lseT2A{S{mBQ50ot4!+2n`N9Hi&N zL6aXyN$z62xcS##oPXDbXfwoN$`8|)WJLA9HPKs#^Qd#GMGrJh$kx*(x9ihtDSmRI z!K~`|CqX%|Je-4C{qkd?ZI?-*B&81YBQAnKVbOzsbw|zhRcmbs{<G{^s<VZ-$lw%s z&7E8&^`l}P`6ENR1Y%{yi|a#tFU;O%cJYIizE0I+oL}0&$K-15()CcxCz^UfSheRG z@v9C*@2`GPSC5<*J6F&)%Z0L`<(}k0CLIkK7vDHxFQS*>L|%5Fy@waR(}`Sn0KzJ| z$T9H%b{^lq?6_nu7tW^<hp;*n5R6xfNK(D~%c<uS4zv$eG6>@k?y;kH+c>bx>zE^R zM~CX0rx1p7k02)LyIy@*^G{#~N8VqcRhL(60&*SslB_zluT=F)YXX@*KHJ;~@?m<R z{eExjN<Q3Gx9E0Jf!Aw9P!R~sNuKm^pH*@nl1LQP%(Pbhb{09ccPq?z&xSIvOi`Y! zFJ~9LO-6LCXDcaPCcsUbZg~^BmBMKi*JESng=}m3<K;5=;$Bl+sUy^ZJtPwk{Vq>t zQ}vwv8Z!)>u;ZMz&P=xNH7TWp)a@O<R7=6@UJ}ldlPovOv1Loy;7L2r^hT~B#Noe} zd2T@ZtzW6i6IO_0$ypw%$XCIs7pIx@Ow6Otvv(a*bKgxwD!ny(Q(sys`$=C`&g+Ri zRE>(k?r}Ax`bYfHSMbc@p#=VneyN4f$68A<Nym&qVMCKbucXW=|LPe(9vnW;T^=dF z14)~j?WWKMj4w5W-uz8-38pB8`v)Gg0zu6L1JsQ!ZGFowPa4d>hYGpS(2L<sWPi>J zs17?DgX5E3Y0i8}(L3UB7a|Y}lQ`RvPv!c{D!pr+)qI^2=jKw>k-G@0O<gzAvAn6d zT4UG06>=Y&UB*vihnZ<tyYLdy?^C*e^4j)o@#KihbhBdBB;iMaXPhm|7Fh21y8VMs zXWPI-aG>ASZCglABU-LAc}e<?rC46zqp`4ltd~6RoLo9<NHPH{o?_)C9tP!O6oFt| zwrtCkq@J+x20xZnOy7Q?!8DFH{ebDDThL5y#c!oQqR&ip1e<|a22pvQnU61K+JlB| zW7v3iDEJ+Cf@)eZlr}4s^x^7Lz2Fhx_3+-6JSIOWIt0MF+(U<`sfq_oH!1e>uhNNj z<5)H}GecFEoaR*)ILvqWXMTlqo3G5`v{cC^v~l%OHHK|}u)))1V;0+n)MxMqD(6*1 zdD4}UPhe-tn4-Y<7e+TB#W0v93TE4cFzXQ)rpW%WYt(V;$j=B>dx-e35(h-x#-t#E zv+_b_&>$i*owkaa=5{`ebzyOZ!7{G8(30?GZA}k@z;1$Y1icmx!-jcz;O}0XyuxGb z>6x|~2bXDOusGtBmD2mdQyblU=krjjpZMMgf0^E0D2pIV#^opSZ+pA*iXaz0&C;KK zix4n%`eo00L!y|2MMXKx{U<4oDV#^d$&I%LEQPB+cg<6GC^En08z&qahPcD?y${<U zj6lHnV7^Aqu^#K}u8_dX#rrgY6902wfM~?l-dtmW$t~(anD1erYoqUr49&r=g~rMq z%aR<vAz^|Bkw>|=hF4LN(y9l__vrW6dS+h=ylaMYEC1GmI~TK}-Rr=9j+_}r^Q+F7 z2KjHwXTayOh8+diVeuL7K)fo-JX#aA^EzI-zVVz+)KBMSl8C&K(0g|NUAEH^{1nf? zlIH>MEyIsd3-Z<apij4TgWR=guG$95gfv%o&s*x&L3H;QY6^%+S9diIf4#_7KxSU0 zugEK}xNEi1BCIz03*?B5zJn)p7eOex_1trnPF<7Gt#fYN_^xCRPulAWSGr%HbhN$< z*=t4&6xb#U<-DTXYs$@tXLbLhj36c7Vm%M&xI*V1W6e?h8TLdr;BZ!GiNM32C%J_+ zzQ5BvmkRb@)N`3zoQ9TUb9^K@Yd`ODr<<syfaZ4W%$&={|M&B_V((N~y{%Q>%|;!T z<RTX-jL0>xgA3`m!@`{g{L{O&7-lf}=hDG2TGs#&+PWV*^(FazAk2CyVe;s|J0_<i zQ^l=oEb)kpmfRs&tlqxguL-mm7?RH<VQ$6^e%l3lRDm&Hd%Zt)aD_%c1>_e_inh93 zu&xkX0B-y3cUYU1;?iW!J{_(Du`SV$q-%QV=MrgkRMX;{nV`=dTsQBvE2@fEa=Mc( zF)axbNXpL@^}^A+Wi&ivOBOJ`AI={yeHvWY!EV>qNK+pR4|bO9RvEUcJ0{7J#ax!t zm{NRv4haxyQX?Ps5ju1eep05%-;{G&Ox4?C9ABkrJ2dzAA1V}f-(3|{_(<%T`0F&X zhUZ;^*Hxr1-7v*1x(^Y}=O!=LCd|Z<$XH>SCa$QYGo=K~fAms6pO@oOHWS{Y^?Kf= zZ_<?7<7QWvpCQ?|4R*e1=><~1eSRAT-H=nihQ0j(%^!M2-j6qkrn8J2k3I@B&V6Fe z^IL4GsE%Mq^kaKKlN{_Fz|U{aHeiH*xx|_%m+C=_dt;t(lIo$jvOn@Y5-_Z%c@P|p z`17VU%HA?+ZIWLXo5xU!C{J>IAr3!$CE=T&kjE7!vc9AIqL4S9;q=NhD!xw_ApU7R zkiYNlAXjMZa{S?9n3%pL2yqd4NBBtZ%Kayu?c`bnoZ5Wtn2a4Stt&AOF+qFqqx`S( z_<*y`9j9(3eet(Y{|J-FN0QMo%JB1wAIq|j#hzFk$Y{MeXBonTcq2Ap=5-5{l`6q4 zzVn7V_;ML{j4F&DwVgAtSA54;2Wop#m-j|Om%C<*WEZK1zj=%wjV#P(pnY3L{??;2 z1g#dWZ1hKn+EkE%=7;cWd<|N4+0`9<BXjHVn9;zrQ{rhL$^_wA(y4z{xMyJYj=2&e zbq`*VWUEU<Airiq`q+9>eTRl8A{EH9_yj}h%w4O4iw}17)Iudz*pENH{ZK=aSHLCq zOES$0JuXuNSJw@;#-Hku0wgnZo8Vy&=CO;Agvh@F5#1jS7-|ad1}=Wd$%cxmhNe=( zh<XiX=V9qwUJ-G=*1u}*S`GGY+Q})>43kSz7w?HteWhqTj!OF*(s*V5RDm<D?q^h^ zO~^jYSUza#XQbz=Il9tFW^h^;tLQ<UFdm>uTOQkXY@TV-)G4uPzC=R8-;+-**YB!& z%cbafpg*rW5Vpy^OW>QKJFQQ>%h~!Bgh5i<jViq`89-ZJxa_%cFZU+N)oaY6?|7&7 z^+A+vr`d_&fnYTCJ>i<<mF6h<$2<_j7z>q`g`f-Jm~m1*bDGzB+%wh7)cfg<2upu6 zjn1}<h3i~Dg*BKrZUIpHlR{qfeXH|*#2Le%aDSGGdQpih-nMmVwyxPcZ>$H|=ZKHL zDXAa$LP0}e3qP>FKBdi}sRm?jCor|^>6taY`pz7zg$7Mu#!dSmO}|X1&$5nM-yGp< zht<2_uStv1WZS$W>u3`-8O>20iI|(E-FMPUar!Z~`K--nDR^ie_?D>lbopza=k|}H z*dV3|y$NFBC96{=dBWQ%YxALNzZZ)|et%>BhZA1RsHM3dl;RaEG|~BXx#8PYXu^sQ zqggUc{akIn82RwOC<_&ZZh6M`oBRpKif65-KDk^K?*woi-T0@iCd`Hy%kko7$RGMg zjQ3_>A~;ed6qXlZu$w>ljSga6YKlSeT)BKD>;nlutz$m0j4n1lqmON`<<>IJ-AV5v zY8jAIPK=am3et-u)y2N0iljsNOPg^+e_pW-UHgl<OM=pC+6%SmMAtfjbwUE;2hB!x zfds~;JSC*z(uwSOEXX?QdXW)YrofBEKZ1SC=E{}k%AK|p0#WCZV}1vIoKjx=X{D6v z6ZR@hsP4Mz#^3#A#zB68I$K<Fz37tIws0f4DG#H*02K!n-p&M=f4juPRCSr=n9191 zQBAO9TNq~I3J*kA_m|C4oF14l7y-NMQeFi!gCpYag@!-k8VW5_yJk~2J0mu6^h<Xu z-ezx#ETM^i*k#QxWSox4u#?3VVB<j0WgMgokfOaTe7}6mcsUn;%#LeFC$?2xE+fU2 z(={mbp6>gs;Tb8(?|GfNsCk7E%y+GUDVLWma8}qv$m<Hl3M8`;t~{UOlV?QbZHSuN zSa6?`juBJ7W<Pdx40{l0l1MvR7YrO7_++z3PoRstQ1BjllfWx}zpik`4WmF7u|55w z%BuKAkOU%sHgyS5dQE1ansV+iikSRIbAc_P2Gg#FT|qmO-B)qUl+3a}z7-%d_Fj?; z-FJUX^-@=(VT^H2{ywq@{!EP^?rKSsqvl`m&K<=+gcb!5v2B}%L)-rOjt^lUKb(nN z6(u&&o6z32TJkkCj0Ox1wqJC5(LdlpsI8blFg(tt_(d_pD0?imDk?{fU?JuEqdBif zF3#W%j5FPavs)YtRhuTV=TNn`_kw7LD|2^&q%R9S{`iG){BnJA@{2=TV7>FTvddpb zcCWOjp_69!=wDUGRB;JsxT_V8iq(!hU4gww;vVBJ(nevi3pa@u;+N-#apM7#nR1vu z$|8R0stUK^8t`f;(;5jvX5OOz7Hjd21R3TPR~Uy|YTclis*F>x>$M`4WOYi56j9ug zKPs3OtH1ELpsP%NaQ!AxQ<e(ODkM-X{e7tFNIENYifn|2#o$bn6(l!s`Bb2)w2AI9 zq-{;>zh?_v-hj(9c#!6$3M4>NE+?u}mVX(W9C$*^@WM7ddf|ab(P3qm=G%!Tt{$FG zKUnYoVXs^xd|FpL<w5Y6m_d9|WP4}7&hnm$OI(cCFAMiokoZ-a__f?Jkp6X$$w~QC z_~%%{Lrrr2eY0v{RetJW{tc$}&Upb_`XOfEZw1irX4OY~h}k0|IZ&osw+vLL{N|ha z8ZdT&?<Mq5uWOpLX_~Srp1KKA3a4Zm^wKb%%e~0k&$*zR7Toj`W4IRo7|yOItm1Vg zej>>5cAe*T)l0D%p;qQG#VY{MX{;=}c&&}+HnUmxFPry7u136ynI>=@wBoO!!PPkR zBSqvP3f_)W>uKv}Ct@>gqH0%|(FtQ&k`Gk(!yS~7e5<HAn@XLN6iglL&EIv8#^7z- zab&HAAW%Gi&RD=bmEtBr$3A}!e-|+a*d)y7+murDZEJL8UB(_W4L$wmhm$MZtPVTe zm)xCD#l^;K4*X|v1F<rSY^L7|jDzu=RvI7lgr~L{QDOVvXojR|F`(WOuu}KuQu~*v zW{V=>U-SDn-exTz8=}?v_L_7x74GZ`8bbQsid#Z7LS(V}--=VEx>AO40n0zx0j~i< zfM0Ykt-hhY2t925jyAS^TetshP9WKr?jH0Fqw^T<Z5lZSua?H-^fSBqKk|~GJ57g_ zNj%=Bo(=`|=U8<|Trrj4H@PlUGPSIHO}89*moo61Ty~gowq!x(tQF1SY|2ffPHU7; zg#WtA$TDX-8D$R<aj$vVwX0EBALYvLD_6M9pYD^<%%hj0a1@U(%GR3SPT{RJ-3L*p zN)GU4>bq4`qjPvmn~mvz`F^$QjFOVEd7h)^`O5QZ+~FTgYeKW(mt>-Pk>i?D!u++& zU(JjMtN_9xy1ZYHE<#&Z0RBqUuADVohw(OjA-eNSO%OEj(XG`9=e_vg+u^;@yMXc1 z>D%QY`@N2jV~dNC^^QtYQ*B7WZ)R!N?|f2-H_jE9B>Xy+t3op;$ZhwiVe|==Vc*nH zKs?#u;R;bj=2qZ027%?xx6M-r`S<}Fl&@Kr0<6DQfcLL5TQN4jozw|kolt_3Oq$uB z1d*NWUC6hJ8>HmyJ|MGt{#yDHgBmAzI^0hi(MVi>15J|{NPo`Wc{?4>yiDzhlq}88 z0dr_=8^hhV!S@-P1C*V?{m+dA%#xRdzQ#^omFkwa6e`Us7m7O1Y5ywQ{5o&)Tsjrz z()gX2`c}-3^)0bGvDn0(pRQ5!8hT6nq7_9?oIzE#S^&Rx3#n!jUO0&*K`8<mw;8wn zN+AE5V_Wm!<zqk1^25&0xlx_@eDA#$;OM8x*7>Ay7`U^CZ)U@qUR~6%lxg78kV6aC z-%fpVV`G^IYX`d-{4WX)VABU;yXGAsW^o;dv>Mr6_Nt$yI|-)kMXV`g@;^Z{@V$=d zl|PTiaDle!r`v&e;Odk{_I@(ZdRG2qPbLjqWz);11APrl>yXzZ^`LB#cO~+mY?gPW zM8Dyo?1@*D=_O15eqf@A)+?#^-azH;g4BJi2#GFcy}&1it?V^4zoXO#%gA}~dS3Rc zj_nLn3~kHo#_fMs3>4+C!|0a}U;o<N)(8JZ0yR(xTa_x!_I)Vv*bJZRG($gXz=pOr zqru6m48CJ@;P{<eAmZ8`|4F{1KtvI7H>q0TGef^;3F>zm;|8L`;Nem9-_+d}<!zWq zF)JI)zgX^Eh$OY(P7qX*))Y$8Zz+r<luDd}mBP;uXfza|f4PJtG15&Y^~tB;NMi95 zMQIk<GFxAMnqtyIZttf|as6wS<aL4gpXf>dPCi7_5tb)|htUHav<YpieiX$RWDyLg z#&W-Llq)4^6A?=Bci-V8BeZ8veE_s}M6|uXs?haGq$QGvvn)sk&OO8-%5Z9JTL`x5 zA8u6O!kPgOaidzIc_PARJPUu<5FSRFSK)U8V6MDP%@AD1?T>7{0^nHcln!(^7-BkX zJ6Oym%~;KFGbPS(b*W(~+z_ldZjFjI>|vWX#J^Be2mmVg2bdBmN8*FEgnNq6fp{?P z=mCt)@rUh9d2+yti?R>RkT?rMp(dI{ww&*Z5A9?8bhBm0Y3@2+vHgLsAKCI|@9Z-W zRe{K-;tWHKj<h|Ng}K}roojy+q#}fghDZ!Mt(@kJ)#-|i*qXvIv70he-v)%C`50UJ z$f%{q3RYQj?H#0Lgjg!4Zy_)wa?;DNF*#4wanOrzejUzaj)qlz_bH1J1L)YHnu|*x zvgIVyZN>&1mlX_fpa9U2Q;~53gp(gu+K>S#hI5pK9uaP@DuL(OkY(C_K<?z#^Fs9G zl_}Q*d4*}QC*iwv?WM38Si=9aJ^D8~5M_%X0LGfE)sW-WbxnX_NCcnXDtZnHJg^!Q zJZNiJ0zJ!?O#-sy{Ag4Ll=A5v0yu_57lhUVNKVv-#ZdG2+eNuX_&`P9q4zU^h7AD& zQYIVp6h9F7Wh5XZnw*obtZdY-{Ur3i4byBZ_^hnRQ}621ICjxFJqu_N+@LZWKR72# zn)b)SGSe$RWy$vO#QiE}B0^^F6GA%pg?P=a9wNmt7S|&E!r-$LwDaTdnEoYr=SN3$ z*gRR{ihifINL?8wE&uO@_m+EryW_*|RH44JpZ1<kadyxqBRpFmdJa`)h*g191~=_B z`+KMW?^&xVkt=4w4YaW#XqKHEr8Ro|`S%r(BF^EKM|OeCuAtCgW3blp*$+pk6?V?y zC3&|J%&JTpr=@vRBt$t>m4@DJJpII9eapOMAWho;8b0xV^a9eFtr&X<2-fmPf+6i- zh?k8&4|yta{u;rp7ZEUr*;KYc^cecmf^}(jDIc+gN)#PPIy(tjgzG-yuUYlfVL&M* z2s$N+hybzz2^P3|QlklQXe!AP0Unc~v)`-khgtOJ{d%}g=v98s;oe0T^L@lyQ4EY4 zKzH+gxp?yia}Om;a3Q#bFJYP>E(kjV?K-lGC~gkbEsb2;Ss$^5IIxKo&^|qV)M5vj zlE^ctFWSoYmBz4~ScR=rIoRgoT!GPt9E)=k!rwz#N1o2Mfwk#Us{e*twSQ*JZqy8# zL-0%^pzg0_{!Nop0PM*UcFc5UKx}gda{ck=4-u4Z>QMC@)TE4q|F|k+4P`B_>ve{f zGVHiR{(%T}dfy;ZH_L*<TK@J56`N8{r%4Y+v+wE9HBR_Xg(EN*^-}YZ@f0}$vVyD) z#goK1pQjQT-NI!uxoO99s5JJ_qPVQ(Qv{`p{-3Uj4K$Y!ZrZ2shKvk<@=m0=T~wiR zsQ%Pbbw&eIaWXiXvkV7Raa<v;^&d`N&pU{FXqjL*63jhh_?@V31MM<x`+-3AMt2KK z>i?RupLh$wI<ocYK^{$pYOT--mnVaJNVtrq7DXAD90o4AdgLjr^Lf|A)eH{Iom|t9 zcfeZdQc?p`6hR!o_Uk%6fMeBN0QQz)1;~dXo`f@g>swCKfczW%d=gjC0pPLzZzt=M zOdU3$>_cTkINZRZik@|?4_RnS9wtTJgi$;ah+D>JdL)G#p<kRqGnGf(6ZzwbU|kqy z>Y2@0OSMu7dr<^O*@Zo022FVD$U9nrV+hZ&?3BPAsetwTCykE}!+4C5d`K`!#}kKb zkLsU*I|bPSj}PdQ*B|#4<Q%FV79nb28Dp)-3nJuq)p6z!PTCEQ<%jXZBAd4jWpeM} z!5(gttf9#5p|z)wyP%t*1Ja*~__px#U>dh@kpV!;FOKQYp?a-vRvAYVkbYi|js-^h zZFSWQ_;R0k>n*T6><CzNZzDcL2q`Ix0-Q#J?ewGXRVKdy>-^0P-<%Q%iXK;Zyj|p^ z#4kUDwT?8^x<on_%b~sPoPQVj(H|Ja<CEm-l9Y@#__|GxnOV!J#JNA%ix&^hfW)!{ zNFER=;3U%iUQB??dK4ET$wDMjh(rUC79kR0xJ_S!BXl10QuroDAJiZSih$D}ry-cC zihm`9>WFS-^x{jOIhq%=s--u>23hzt4BMxBwhiC#5vbOn7I>hWF!L#p-f}Q6!dXX( z`(op=wD)6gnW|JvlkB|I2P(u<IEUV2a>L0*zKxy-Z6ICtnseDs$-0ASyaxE9!wxQ7 z!YwI$LNdo9M$O`}-dJ+`%V2@lFyU%d3rijr2>ax12ZVtJu*j&|9mCC%MtPxzE7BIv zVFonzkfONcfO|!%Xc8L-pNz`UIdq5j=ZA7=Ir+69QZ5bA)|nQhOVd)*M0Tewu5c@u zel@W78nAVh(6zZ|n)6)B+}(r|OhfCmG=1`1uH4XuJ}k|Gu&zdb-3r&d>SO<;!GUXy zbEP`OU7WFjG-h~LNt7~vt-2luRWLm&yv=F?9}EPe=J4W@QTbS}L8sCGCs4&M!T}Zh z=@WyfhLlbrl~@8&S5w2JRCW50y{kV)PzOg0$Gk%^T1Gu}*7nZ(2jG6*b<IJE0$DmM zOi2a*c=+UO<feRw@Yk)EDTe@Uo_8vw>B(4xl-#dWA*(TJ#aRyvq@tGjhc{Kc%xX?* zN)Kd8YoXish2)-)gym_00|b`DN$nPLz@;0_8oZ(WKM`3l-4YlvVD~B+)oCC0*VgdQ z&Y>wmG_>cmSl5#}N)VH|9DO`nDqwTk?&a#o)`W>q>{1y$8?-|P$W-@8w3W=3dCyZA zbaI@TbDK2Bmc#8tB)F+!14p}SEGBt66$N$X&BdACO7#z9K9%IurL-?d<l}1OA6N8& zee;r2`y#Ci`ZK?N&Ib4MFHK2NbKJm_E+FH=f;BS!9RhuU`Q*b_@eP<;un-(~KQ@ld zGX<w&A2tpVXmk%bM@cUFJHrf|n&Vragz|w1M;#VX1Q`>-6*4uAb(%GYoV=MGyDOJD z@Nf6r=Eyy?$)IXSU_?3GXs6czt_)!B>U-sMwNb_2$^AfvhwMax`6Ae#A`ZNOS3h#5 z135miuZYHoBScUNW};pi&N&oL7udQASeXUp@Ss!z<<g8wEIVP#d!jEkkdVLNZUTXA z`pUwmmEeCPj6sM1>jc&uED%ul>7%PbwKap@^LJtaZTTXIYq5cR6IiPo9ExS$nKZOB zy5#cau0ZD)_jePwwhc}TTzwUn;XMH6nu(u<#2o+aT$SVrS7rs)ml@`L<vsz>9cON5 zHv-otnQzbaHV?_lK#i{wT25EMA}P4iv~0$d%Yg}d|K$?U)gc>KQGo;pC211s{|QCE z_cknzpn-v2)o=O+0|fgvrBvbr6Fw7D%4Yy^1PBHs=mv!lf<L5n{bzXbLC>s)KsXE> zMuGYvAlx<z>i?X{I$x}ZTOdSb&dhZGnYiaK1qJ-{Fo01|j@K*vFH&x}t3#0m3g`yK zdZ7smqMUre$Kjgq3jdjqN0v(=s0QufX!}-OC?L=^?bZe!G7y%w^|}xy5)V5J0jY7w zM3q}Gc1iyi7$PJbAt?3U9cjL-nZ`^9x6U!?5I;H2JW5c?NT}ljc2h`jR4R$!-bS<> zI3gxhunE>4xZ~J&<eqd$^g{5hlTFFW)X~MZDWcCV`u)#14dU^mU(s6{)s13@)%#KK zC0mzr`-tz<8;NKJtzfKIq#eTa&FGzfh-y<0CH|oR45y()Jh%ee6wLS*J(&<_CKl{} z$X%&P;B_dewDh4F_K=AAHR9}_a8qp&LP)dL^aa#pRah4B|3#Eybz8wyPpQjsPWdV0 z0-U+t)x}uSx)mt0*Nja2`+Z-A>vxu|*%#!n72n{%?@aRscj+kg{?XUjX=f>cNDMh) z)i0<hNA;skKM*mP9&P<R>meCS;CWW<yYEHRZu%E2-1%Tmkn<xWxD(oi@=I}h|F)(x zrUmijHV#IJ{*O>kI|1MKn5>8t>CR~S{QcWFY;d008!pHr-339M5Y>*d?;Zv4a;|jK zqYZ^G4~Q<pB`CF7B4t=9U$liP5rWeOAO^C{ZF+B`0pw72NSGt$ohz;g+a`u{JqMuH z2_!qGA_FXR&MlB;BsbJA3&`RHQ^yT)`*H;72?Ei^8*7%qBXleO$Ol3o?A68((OmNo zdOzsRBnZD~&<G^(u7+M@7Gftj(^3I|e&`G$a}eE;X%jfB%xEBBnttUAKxG7y6#JkE zAV_bqP0S(O_tcxb5QGZl?k6~SAf%U~1RIjW``rpZr0bY4YZd@dqzygnj~zrPA>X`) zBvFG}vx4Z~2sck541-p<YY<A2XUl<3NV&lNTt1*X6v$m85We|^&^t)62|Y0vVvy0` zL_}WyFW?q+;4TB=LHsxN0-;LoySr`xM&@E?0PDaA;K&mS8xVJZkk_WIU_!8v-MJ7F zVusL*m++?>z4_JPHudu1JW*ERtDLjEsI?(N>#dcL7f|Z!0Vi21!{81sl7N`XScb$- zb8Pt^onIhFu05ko5Z_Zm%4_++oA&1Lp4<)oFVt0*QMF7ZaW$be8uF04NO>JH+twS9 z=;2$(#YkF@63FQB%_RqPfr)J+WPL<K%$P3p0gKS}WOsyDbp5g_4cMaVa>y-mxV_S@ z`}kgTN^Z@q=H|m9Mqs%R;nm07>50EQBOudX`6DdldF-jPrpmt8Qp1&doh5g2wXQc+ z?$6wrnc}icBhIV=s!|c>ZERe@s_G(8Bej*Tqg0d$!K12S2Uz5m_bwNks2x-f^KP&| zsS5{6`A5x;u`F_d7bN9gSsi-7cij&d7PEDemOFo#@oC+<L>@rDHX=SOa7PnkZt@Xt zieg}n9K&OvGaaq(N5#yzaP7Ehl{C8K8=np{jbu|KsfaZa;uAL(%8_LV5@*|qB<Arj z#<{wzf#=katVFg4W?-6lBjVKF*E$q<#kCkmRQNGQP-?orv{H~i2VrSj{67rMF1P!@ zh{K;+?a?M(b~gNeXP>6Cm#*!uP9haDNlg0kMnUD^8B9uMF)C&$V>`KJ7?PEb8rh<D z7z1S#5z>muRC$OlL@<uDjoe%G@(0vC$zIs&W1Sb9m78sXYX!M!G@8Ob^&$TC^O0SI zekY1+)#PXY+^$SY88;)-f2G!CuvU>{-|OO36V@9QRtSJ9-TfX>WPMtpSZYnw73IXA z!h_xY5>`y#-JPXN5qIGh-3A$scn+4-7<1sJc^_gDA8j!%c|K)I1^j>Py;X1>!4f5C zF*CEp%xEz)qs3&|VrFJp%oZ~<Tg)tr*%r%UW`^zSH!or*b|?0CHex<>vnn&|By@{z z)jdu0gZ54=f|6N{STHcJ-}gHYCRs`UHahy{LZ}M@FWFx2Ox0_Wj=Ra?%x#;+MNj&k z-j$IX^Q)&qn&zRna+qtUPfL^!r>*laKkYgc+HhC!1H*t_;x->DhRmfGI_+8v+nO<j zb3&gzdU+vBzNvL)RFPukvG1-U?N%)P2sYNvnE&<)OY$N_=Y~!p&4UEYU26uF$%A&7 zx>-NuO)0G%brXc*gMv8>qK}T&Su<vlLzUdjK(n`kcc5E%%~>guf_LXqfc`eZ3k^@C z(gSa;oOiTcXu~wReR%8@LGZ8POhhXfb5XvJ5(l^k%fDm?2Nw`>y4(8b!mOycq$?aA zMt1W}iZY!EatS{D8DJ5a@);|$bKHI@+h_t~%5Z~-sCmN)=lfgHE$4kJb-}S#loPV1 z)m5Yn=HIT%tkPOI9cGkSUBGcj#Pl(f^d#Y%^>VN{d$9ghR6*P-ULTW3Xsui}NPiQu zK^1hGKwzD+YSg|1Xl)Hdvm7KW-w2i^e32zz;n#OjQV{|QesR`nufh}RRs>|)eXu9B zS335L$k6FPBdm^yIWhB9z<K%eQh5;u|EiS)&a_7rfvZ#@9$~FbRyF7GAa55<tkeSk zxw$%9y2WWc2%=(Xwvwu9IQlnF?Gv1}&t1;`V8DXwe8{YkpT=kt1OA6O=mO{<O}Go? z7OBdNE(-oVJZ7%;)hF@l#b1Z%;VYXd<AyLhC`{EpwG2ylya%}U+IndCs%tn-*TT00 zue`H&!utbjh2Y1r<_ATU4rKVW1vk7${XZMeZRMWN{x=lbvt8|sr|m2MNBp-1ztuu~ z+;soAH5dJ_1^04Sd+*&E($90-S|7Kd({=*ujWwg^Gw2n!|6}^UcjLcJ)SnCfUw8Ar zPXCXFKPQ*<{r~*-tWv<bTeGp)So`t6k+7{h@0tP^;2>se_D!J#u2<(<J>m12q#dhU zn2%clO7RHLb`?LxpWDlB-1zaqwdb}s?T9)3n9L{b8Q4^#27p@Nvs-HAt##F*BE2Yr z&eUSKUtSD@xq$BR%ZrHK6zK-x0fJ6R=Xd{UoW{wP?+~Jf(|^dWz<flG<&B!50Ks51 z7uc2S!c{vAh$gIMD-pwK-hDCyC1F5nRZ{0Nn`gP9)qte__g(E(kTcqtVSY<)h|Ss) zGXtYZ(!>;dR#8a#LoTm5)I9gdD9nNgy`hAOU@0;{AsGG$r~wK=U;<DGo`irX1l3{w zQ3%qf#oO!%WJ*LC$T1m|B7c?KIt)27`r4sIh1t*Bm%6S$Z4?U315?;jhzlqpTH6#0 zV3`hvo6CC2b-Hoc8vm}Sn|!J=gu%1CwBfx>*jF4m?xS$q*I>Q*yJ8)fg79Z2n?~^U z*p3Xdaa4dclfywIV^xg@2^G-ugraBxJg`3CEFt(4bJv1B$c?^tQA3(>^vT#G*&$Te zrqlfQ{QdOa=Gk7^ySk#+t4w{f>r?6buA?%IuHzw!)%s(oysfTybgH8RCY}|;Wu2mf zAvCVf4m<h%zrRd4wa;Y*Gn!|wWP#NYuZq0uPxCjof7m;8{W~m81fXEt69LB8d-A|h zV5X29y$;hfYLK4+1gie)*_i8Ldyl<_379$$ih-pB?qzuHvqAT|2Gwh(Y?R3eRi<8> z!=vcPCR$8en?KN*>a)<Fuy8o0PDw{#%sd8Mb%zL>1n``k<;Dfrs1!cudDzBk%Q5k0 zUelk9&M;_amgVy-gEf?dZwp_qW*bZn2JE#86lCUb07<d`dOQpSru1Ti7*G>VUassy zDnJSVH42Rf*4;pWc73hWxy)A&;&#U$`#1oHEa|UNN0>p7E1089h`zhdkEqs`qFT9@ zS|$Ka?wc6ahh9A$qVMIcQX<!@29a00Qo#F(4Q3z?+0eb#PHjxQ^!+=F3B50XdkMD_ z0?-7(Al+#oiO!-l7<@pBv*4%!WV#NW`3->R!sRgn2}qs|kWUs2IVH1+U1m08#cq8@ zVn}<YeyhD!W8+S}b%{=21Ofn#oD|$S8E<f7yU_eMkzFs4e{X~4b;nmyXQ`yY!4-^< z0NTkKH_((^N$L2R=qyS_s0z#`9U&&VaR|*IaC2Gum>VJ^1+bsWwy+ON{?Tx%t(zbu zuxLNq_93yiF4Sivh6agt)O6_ay7-@79x*%1((Q^-zk#*w**Sc4P;BVn!=ZwcktHr{ z`qyg~E*YK3!;(5V*Kx@o;0x%XQ2Pw8@gRweUx4LYC#+wH0CaLtMm7|ZPkI1$v?X>y zZ~t^uTdHWs8P;$SW*CsoiSZ`@<<BR#dP__muGz^!8hVfrL+!1LcNMG!1^;l520-C} zgNlhP-jxP~O%H$@&0S2FBu|0#&6Yb|?{MlGdGS~eW1ltD?Jdm$W%r42F}l*#KhTA| z!Y*8?-u8=4)twBWl0ucNwf)lBBB%@KUPD;2@{QI;#+1=owJ<9Qw13lya!T~J#bc?U z`Iv(gS@TrrRN{a}qaudV*cPOUKGGv;u+6n1V`P#HjjJd+!FEhcLL!a5rR2W)oK3$g zPg)aSU-gjYLVg+$IZFGJ3udgB{s*mvl0l5;G+LbL>OmsX5!A8dAK-(5t&!yqmp{A? z-EtFp+T!mxGCPgdq`jb7Fjm5Ip4~mJm^uKp>jx%-TH8W_Dbz{=3m810q*IL(?sV@c z`u4IhCB`6Az26Y-<0?1a-aG@WOm>agMpT(nPgyTFs`7%$2^hM^ZsV_e17KJPo<^U5 zUA4hQwEhqX%1?v-w(A!$*DB~6$hZ0j^qVx{cGRYn5d{=o0GlskAE0N#IyYqhr_df@ z04X@>V((<BR=e(~y$X(r=)#1?6TeUK^;yzq1AjAr*+q9B^mub1Rlt8CTBfH?+3^!4 zYQa$AEEc<Lq^D*<tQLs#^iA$QS87d_bRjK)79R9G))@!iJgp<n=Wg#NvHx+4i1ho7 zYIW9X7prt0%RW}`*e4z02?lf5q<RSg4;PlO?!*}LD{9|x6++y8uXM@46Ld2PxSl0c zsqG6jKzw9IGpxLMr^&tJifbQoOQR9)_m9n&+*2nT#OAwHb#rtRYd${MA~rcl{9bfq z0zNaByWpMnM9<yZDZTB8^|(-wMMrC>RU6CKhCkN8H?LzGi=@2PnE*xq#0<-~5TVBp zovlLCqft)MMkd|OvwdFf6Gm`al2Y28L1lXb5$LiM@gVuyn$5YoK$Im__T*J>B&kJq ziXZbgoa%t`sK%_9AX<6j_TGe)+mie<5rW8|np7fzpPdaxy+2>`!Yj9>gfb1SFg&+Y zOTq>_?D_69&7kf3t&Sf&8dARPy*ZwJv~MVMyMz<ebdG=+>Z7LOcUAr!9e+%e&B>Zp z_k$vJ1IH~ZKg{`)H?3f+8yQ%;7Rhk+h}`iPDyh5eQnj<(>%5eHsVv8LPvSa<d0MSq zB)=k9V9t5#5i=n+qzm@x%Y!|j*NTO{aMoASB8lPMozOxt(TpLl31Iq6>F&_85FqLh zS>o%ROa1V%YfqPF8pGS2NwDnS0J7%uT3<l+X2G^ZID|m&F!rvgJYA~Ddmn5;AsJXR zQ}v^>&Aw*P4_6OCjv`u=UM~C!(WGr*rRjppj|Ft6jtjYY0-1<r?3%K9I#}bg$a@Wf z=6mo@C@1n5Y!1KfuM)2%QIKyS8y;<`NDkm!nu63}2?2?bNCOi4yD(;#a_~B#EH80M zFo|;*i6}Ri48tkD2r!=Tn&7I!jXR}Aj%B+*hJhO2>53Vlv^wOLHz5R|Ne);agkyVQ zJP`$_O)mn7gHUd8y>o~EzfA)H#5l+|n5$e^mSEX|VsEHWLjd?voc<sv2xvzUB$wD9 zZc;!=#CRhQf&r;EOR$bP<WlQl_cwb2)07nIZ(p~@Fh+m>zeN-yJaE_&R%-DwqzF~x z-^$y^;CK{PavvWap+&w4rmp7-41o~XDtmA~`)Qv`&HqjS*$l{zMkg>ySpd8yTf=`U z5V%b1&YEC?JS`v}elP`SJ9l1iT^@9d?6l2BAQygwRL$d_hJZC}0Cb-M*a(}($VNC( zxpL~CD4>ZSxT2JGkC%q{=F%6rB|Al$8HaR+!mHuq4xA}to0b)pfaI<C_*;#3`p+;b zER1L0v3NNEAP6_v21@Rh>|5qDQYQORU1?<?IVMdM7c4~lu>~w}7(Ni_3z>+o_EkXk zf!U`<6HpDFgTt`4K*`QhAIEhoH!yjwV`pm<g(4FIt?=|jd8P~8kjZ`YetGty!Fb+) z0UL9_rFpi6V+BKq92hfTqzDgYv;e|cGlByX0CjmuiOdwp<r$#Ih4D1m$dV3OVjw&S z_Yq=<IO+lHvArM9&$36uw{-3Z^_}(P1p(g%{b1Qp2mw}!U5Wx=t(t}+djv35*iG@l z1VET>*J!%u?76di9I;*%x}d7fPH6{Gk#7#x$m|E2Dwzo#a-~Rs&CMUtA>@FT9oS>6 z53vVs79S+OZ5>y5kX<MY$hI9b1}Mj{A8<W2`wq>}o?-0PBZZg!;eo$D&A*0S58;7S zOx^Cc7NQEXSvN~1)Vzwh52O)6s1q0j;t~WlYX@p=;1-g<0Bjr3H%<R^HsID^;3sJ} z2C|Oil5FiR5Xu{C6>8GZ<JrW}jZRa~roKC}S<deP%UL!K1$2B@s2`CZ2G-rt%D$NJ z9psrit|x>aFiR$ial{UsOD3WukHUDH)VxHkZu%>oRL${l^MZRg^ibci@^=EupMyz} zA28eSw*8gzz-S~}-Miy?C?;XN5d}9*FThBGP#$o%{bLbeytfrjbGf4-1TVp^O-rjO zoo!+tRxWR@%&3{Z&8#qcW1t#{FsL3ZwRE5ErRFqlb%n`L18Iewe%qJ&5|~5Ero-96 z2RwNgecWw$=_@90A^9c7B_b_0;Injld+||&SjYz%eDg%^CCbv8P#ef>1N_@WA6U*q zTE!(-y?qb0FLs|hBjH7O4$?^jFzvdH5*_~r6ynRYj_N>(vHtyNyx(KgUXmU!cD{(w z(LlrdTA!l+r}GO(j~=khFqrLo*G(bfy38S{U;AAm=W3v`KpeRsF(}CZsBuaw$9qGp zvH3vlHViJ!9sqIVGMDBbGXNOO&zYIWpd6UrlP~7sfkBNho7#dbFt}DkBDp9V0P>|H z-A{-D`n16C*I$VeR9`JH#RBkzXbWIryy-y68_Od8kCB7ne@Ae?eLhzK*Y#l(l~{`& zRPk7>jeSqa-=t(&Z-Vm64--)=_+<C>5v-lh8e?Vo$PT7I-c{LV!ogJ)wRl?>@&!31 zmM@CIaTcx#tH5ErBk(h6b-J`UaJ>vWYU%Mk!G89-`xTgDehmP=rv)WUJzPtjQ31Cj z)N!EC`9tlf1)x<!hB^Znyv;F~*ZdL+7dv;%_}}4(&rdL;|HG0yn!i&ywF9hI<Fqye zDx7hiBuj5Fht_iex*74+pvdS`C}3^y@06u-Evt`6y!~<opg;P=V=Fdea$a*Rf`WzE zIckBVguNR*70Csyjvx*iP^x*+ffvuFS|j`<2c>Xg4bu;`Yj3xivK2I90Q+b71z>Zo zOAXyqVAS#B-g^g4@l5uBdv}JZCBouNjcv}Ca*BcX2Cfgd*=MYlZzl$UApJCH==(rU zHVg8eb=X_}N-Ce2!INl~EMWjnUs)IjATH5f9N3rXvcNThvfC0WP$no{uHy<Il!=}R zu$?dA=8uLmSJc3bsdfXC?x}_eB&7akRQo9c00y=j!+|7JLL%C27(o#gk8n`uRS7R> zkMhe;0W^?z8$gs>1T3FVERwGRDLm`uCFw!lU71}{^dU?ZD&%qo|13|}W3*cTOf%)} zM92?GqGk=|;7elS|8%2tT)f*lw7|Em!j`&hBPdLIo@jixUInP5AgbJdZlCD(erx=5 zoA}E&Z>0eWU1{=Tr7#)PFZ7sZxqog&bX+8ER-nWhGm8ZN`B#DV96`5;)qI~TU;qvO zLzer`O~hs?2Ib*PzF00-R`k;N2JHJH*_>4oZiJ6_&u~?NRil*aL$GM*a`d=$7(Fpm z9oQmMD-o3JVk0;6a2TO-{nsXfJ`ukjeDtJBZJ(`8C`zkE&CuL06Q04OG};XYUtnby zE4x4V0GcsnJRusc3*4XtPI@vHz{m@S2pDw&L`KsWXaL0=zWVwkIHi?C?|x>p&*$5~ zgeIOB0=`TX80C6wsm)xt^aXFXmEt;%P-iZ`0*^5s;)=u5dF>#cY>ApOH|P|J6*va` z@^!qs=|75?5CZGPXFuoesW7x1yveqG;%yGIYC>rYaLVPKZZ9pWWr`2q(YcoY-1%h9 zGG>-F+I$$%kD@640>K4dEw-Kq1zY`@*<DrcE_dH`>$NE%oQ_7ejZLY%m%j}9x)6Un z(GoUW9R+YGuE<eS6}%|?F}`JPa8dYEZhwht($R+b^^VCKX+W;@hL1I3O|n<cFXHm7 z=aiO(8T#aBXwNH-(VQp2gO*WjQ^qXqYxF&FrMC0R>_&i7RZ&vKtdM`uB1_9V9AS89 z92KJDYyn=CuqYh@<;)bStZ5#<=VBAZ!O`IjboqDe=^&N#a$Cwgx+l+w@}#y$i|UxO z+((hJQPHVV0_{=t%d#3Komk)#y~QRz&RDkTRoRlFrj6kDm*qjF)35nB>$0NNymc_H z=_%7j`uG|`%C&PZ76Nb%E;LA*rUgnjlzGxw>p_eUTnWnKztiwf;qn+!AlVDp9dhno zDyO26?^GoD?AOx^YJ*jE%1m@R2e!f)BL!vIarVL)=`oXI*`3WCSl0rEJhjo(Mc1+% zLaQr3-xSvV#`|_K_6NSM=Oha7pcF++Ti_AXT2%Zl(!f4BotzBMy7A9qCW@H)ZxM)R z<6CAPy&Np-(m%^-)?w^F6wns5>kwXBJv`~&e|%NH8#J(Ud5-Z$lqL0J=q`reyJMtc zC28cD6H7>;I3Jh7H~Xq^b?V+;@x|tw*r!&#*b2LE{mMiL`#pB<5t1n{IQ|1RC-N18 z@T;77&0qiuU_fUzTI)0ZDNb6u0unE*xWe`Jsf;Q&T#MM)$PJVcTW3wcd<Ofh6*QH7 zD;0hp1RO0&(K9f4#(&UAJ+y@MTZcpTrF;ga=D>C`2$g8lz<7&AH$T4(-E#`imqJ$m z1i?7iQ{H4d00X#|Nl?6nK3REP&>ZSa0fgU{E#@8v!UGPe5nF-~p05GMX8_><V0;Fx zm{NjMY6NA7a9;*m;aTRKWwE6ZUmA&;Z3S9j=him?G8`TAnrQk1P|&EO)wQ7DEddw! zpyU*ATn4PcfWfOBb;l?GIw0I)2TG3>);$swycY$19TePT<T!Y$88A42UvPm|iglB9 zfZ8=sOW5{|4AS(|!=8g0#tQD<3|boB<HZ29Hwql%!T@A1_~sJ02nVDyWKH262J)y& z!RQ(WVLbRacW!_Nh3&9H)}U}#zk*3X;aE8nFXlis6u(AZfPrA<wtS~Su2DjKfTI_G ztJd~B0n@xi9`xqojMQ%g^>E`Zp2z{Y-|v!#??0o)5QI+Nq;ql-SpCpx_phl_P>Q;{ zRfizSa_H{dG<e^Lwl-AUw=kM?nUf3-42*rpRz0hnGs%hiox}^TKh44(`bo~dBW|HE zf;D&PJ)H|o3Uz2f28tpJ?66I%U3kj6`wULK3(Ov?9a5gZN8E@^VF^xVy;J&-4L^=} z6}vch%ry0j@lS?$NAO+!Q0)3EM0q%c;8~JQV0MEfV`q@Wx4<vwS&;aP(B?->v-B_v z>f`EUlQSONTB!Zp27S;r7?17yrh_9*Pr=7}3=E7mw=eG8E-fsE(@3M=aJb`Ag3oMU zQxP>IP>aYQ1-I3P4|m*={BaB)8vJ#;Q`HV;N7JN$edYdWLaATU1VyH}hL58#{bFF* zr7YOUnMs-6CK<IxhO@s8XWMzV#@dgRde1+wrFaUpcMWggW+!kzW4`4?jGHzcEE-BB z_&Lt3)Lq|a86Cli4Q3ja!gv7pD=SX?wbP20tG~{oHfDnl<r8(MFnlB_WVumzjhH#| zOWn``D*CYk>Jx0G?%|+4j+MBU8&2>U=DL&61j1^AJ61x8R#aQUs-qUyw6f3-94fa2 zw?XmJ@6#0ZCOlT*B1$DDh3<o47G27$7GhZE9QxtziSfZ!M7?9aVLhKqyH$4Q{loR0 zx-Q;4+z8F9`-{+0w)DT`I2>_Ru*+x7AbD!Wh(lUIE9lZm34QN>U4(Y5Ataw1<WQxe z9}b@q{Dt~8Fm*Y(&nG{1xij`6F{i9A@{%byjqN9bK@>NHlKuu1^AH@Y(CHYHJ8O2( zMMK=z)h7t!uh+o~Pnc&;z(b9WQL{5j`u_N{Aoy1>nCGc8iR){rvBu=$lGExGI^soG zp9(i(1-0NRl$Ip-@LKh#S7QyDN3K-j@QEssBc9i~SJnh5`E(#eI578FOC}0WKwup% z6140=vsRl${m!U>Zzkjj%G#f4dS#0U5slp2Y;dk-Rtd%c{&RC`=dp1uLM&{d+FlpC zuYIp_W^Ca;#NjOn$nm=qiy3Da%WS`@+)&<R6JPbjITmLUQJfT^(4U`ch27R<Q&GUv zPt--HB>HQnpZ8Px(3!#a2R*_T-%knQ<^-)-R$hPb9Y=pr$Poc)sDsae;+RX*o`hQB z=zF%fBMfT+qs_NiNQOmP;B<?M^0jUz>vC2>8E}T=ccH6KrPUqrisyfcV^w%xyi?9r zP%28e^FyQC@oS|&smDr;+1++DKcl_ss<w5<+|sjl`+gX&iZD~1o`q@F_{;Ro2>tB= z;=%sgE8>00ysf!$6Ui1tmu)3_D2NBS3cRIz8bMcM(KuKL_CD7IZ`KcQF!u9=y&qJI z%uM_s`1oZ%K!SYdB!e$)?nm0|RHTKgPlLFC;}C$37CW}>Sp9v%iqa=P>b2*x?w#>r zmu(Ye7-m3?j%ivKzJb}$7vs`hBe#FBN=Wn6nLkPW2U%6d-{p!GKbcg%6kU{jUXr3e ztpzvsnr^Lcd{+?7kTvh?4*|M?OMZ4&jDt_-j7Dme@9WTa-)}egdJO8`yl{B500lsR z-0}AOfyd<X>RfEIWw4?<HbAa2r?&VBQ%Rz=3A)M)vt?|X^7l9Mylm{6?JnUT_d2;B zm|wNXqoJRZ<mZv@er0wJK5%1Nd?``1w7ZI_7SvVYb=iYTN3U9z6~)26G1rCF*N78n zE2wQ+E7M`bhhz-7M=i<VHA3y`$U?~DLs&n!V5GQF-bV@i(FgNgt)QBM6c;H=LbS?r z;Uj|wpU6RxAUmwwI;nK7;;RShkB+I2iguh_xN_@`4>u|>NJ9y3vuPAJ8pDV~3HN4@ z6<Wr(rMzu$cs9z$S&iRrNGaAz*98D?DYTNDr)47sk0r9tiSW-S3NtJ5GjB&I6o?T_ z!kJ*@ypUnF&g(k!DxW$ef<tQ6oNRrNyQA?hl8oDP8zUpA`F*3(?X@hpU0^KL8I_Y2 zO&3}Plna(r#GLU<@+p7PcbS^66CXtoKQ#J(J*T};c8<mms2K|SttBuW)cv{F3>&{S zTi^S2rWPrxmHT~GOp&=`NoAm105`JZnnrRV8WBb<xI6>b08cA<5^P|sBUPs*pV~?V ztC#98gZpm(U^_&uKR50-@X+5bc)d*Yc!G#65fCqbnIsPX1l$)5txDB`PrKkpS1;@? zYfav($NHeBujwDE3K*0&qU2kM-$LfuT(VZ7RZ!QXXWgPMc->O$J9UO(qb(#(^-9rH z8ns=zvAh;#U$tx8SMyxi%xf9boa#j8IV*dupZdbB@UF={FA0}rM67k{$+Ig~k*~h> z;jeN9{SaH@Yj}%xL6bN(xb{`zZ$si>KUzmPBOYA+O#~M$j(8j%w8I+X@~sjc|Gixa z^;tyf;OiRox^7VL5GHzd@MbY*o1zIy6WP_az<-##%-2_Sg8tkq4z0oHM?&7bRW4pp zN6qNT9J9Hh+&VGjrEt_Jd$tU87I5I-Ob@RA41a7b`DRN{+4*%+r|1Upfi+fXT(|M_ zVVa$%JM)HA(`oggHk8D>2M1~8;X*r#s%OlTy@K6(lrk?v5#`J0s;?a8;jNXN7&>D* z>}5rjoQb-?pvaI!TQfjlQEQ%<)5*Vc@p(R&^IGXJ{PGOL^K_9TwtCq8TmNfe_-*c| zr7~Dff?Rnn^(r2i0IuyJ@`VT)4zbGLkh|4&mV?7BYon+`6<Auz;g*xaWz^+Z_>AgS zlc6kXRR;m>Ig#z$6<Bu7TFL1MwgdDURqp?Tx+~(p)Ljt(br)xfu-Fkr(>8RWD{ZiX zrG%hMX!>ch3V6msc8zkr?tHf2U9W-fptU+w3@z<`MY3)I#VTfgiP94M&$47WT6Ruu zz6>P_KYzXx7uOtVfVxY=DYD^J+!5{QLGwowe*(FA(Ml!}bwY~pTUf)c_!YtYXU=9m zFU9|Gcl~xId;I8fmhP3QPo41BJjW{}Q{hVV$dU6oBvZnX__iq>CfGW$11|ZZHco&- zNu+_FX@_fNKEh5p`x~^Hg0&WXb}n`09+v#2TNzdg`L~)=YU5@dR>%c6$k;pLCKISx zZvusOt*VFCEX=zyECQ7_H`3KS&B6jYLHEM!Zk)G3Z{J|InK?@dmrqT5C1J;xl(pLc zch@Bs9Lz$5K5Exc;uUWbmF*MJm8*JHsZ=J(^jdcw@rSK@Kb1^V%RyfC84{Y=Da%6! zXPA%_=I)9j(|D2;Wt4eY;2q7$gz97i8FCec2xZiHS@!AJ!Jidn$;7#5>WO)RD*ZVY zUC>feKRoRW-&hjGf}Eps+{EP?XF=RuhV{EThbHQhf^zd|%pz-{pUY=uH)7&3zn1CH zX9d(#&Sx0o3e&$PVOww#E!Qa0`}~KztLg^+X2f#Q(t1|5rk8y&`W4!u2sjZ6W0i=! zAR9Y_Sz284<Rg&nCoxR3wRriV6)$6s^}fPFFVrFLC(?q^oEpC;B7xlHQzWz3UhFbm z<r);pVoX)%oyR}&F3TF6<BF+L9V<Ijh*w4gxD7;Woxg0f;|4nurkxTCx?aaA(GTAb z7jyRYHYYtiC(Jfx-d9IUhv{)cS-ejlT2Z=_)mY+=?QVB+`7SB;vj1oDuDz#h%mH^~ zLx|{Dugx{qF2-)Y>^`gdy&el6qNc!foB@^xS3bI@$WolOhyoSl2r;<C07DZ-G=vQ> zD}y~TxQIt=jUa>TYXzS=2`<wR)oXey?yKhE^o`9*`ZQ@20dWSc2m#LGCpANF8r^o~ zve7S<;{SuZD^`#z6Eb!TNxjh;yU5Ck<v_lw;9jzW9$S>NbDqp{`hfF5zB6koUn$@4 z9!(Pqvw>XT!`IVJ+_>NB;-|iswtIW+B$I6}aYu!BV6E9A5ox$D8OK?V)53%N;k@Z3 zcliW~qk0Spv_*BzKVUT0JabXDPEBMY5^b7N9DbSpf_R4Z3?@Kf++Oq&F1e$0^eq!C zyWCz}v9Afncz&%AEK509oKa8vtY?KZ%IpEKcXc{?1YXe_5ierzWf*Ie9dRNPATI9E zX&iEb(X$M;;ks|XB8?mqZ_3!2kXrg6@;}x<H=a(D^{KJr&&c6mV`OVa7+BhXXUBwi zRBNpKxESY*{>R;A1%rLk(X?U3CHOEr$c1i8uSwXUwsnG}KU%Rd<;CNrFaqHf9;cWq zML>Ao9dmC>wC8hmM5U=u8$HRux_)q?6cSMD0f~;WM*bQ`xKHwR=C{b!DRHN0sQBYR zbYfZxH}S^77vx>!zn$;rMFT$~?*Z~IgKOK~BZH};)wapPy2@(yoGm<ny-R=XbZ3cN zeU~A_%FRTc<wqd>U{Azn&LNEk=n?iE<Uh<a7nl3>8b>jdmPl0|1;j_&O-1F?GJBKS z#aEvPrnGE63GtkfDJL#a@xVV(d=+*`gicBLLv|}#7_`P>se6)1J44ncX5)1?V%E6} z{J4NAh%^_ksxl%)hhkT@DdOceOqCMB{!6J|FVfU{#7dDaa;ldxg;I}xYhsNUF2&yV zqZqr%7>j6)s1sE%B(oIHMXlPBuiWR^cwr%cF87Bg&EAyko~z?rM#3@XM*E2Tx31)K z0em>Cc1Qd!0glx9MF(x~+#eNH|7Gs#0+_p0`1~98uICc9`1CeUTV83fq`-X4aPcJ( zIwH_ZiAqdb&O&1fa>Vg2*Cc~%PsMNhs5q`h?SIDxDyUuRY-KxpCC<%Z8iJ_1P#iYb zVENI~bcgJ8Hqto!%JfH%P`l>Lm8<n9Lc-r6tm^*Umamb}!8c&jHW3W6X*M2GP5!JN zSo=J+P_03LR*ko{`01BE@hR}jQ=mMGZ0n1QvLEX@>B9IF4Kv0Q^}<xIlYtj}*!`<` zWagiVe4YK=iY%rJ0@wzL&1>bVZ*cq=Tg-c({LdBDkBd$W>`5rG_k1^X|1oz_IOcAI zW)O-v)F{{G5&5O-ya=BvYTyZfdWR-%&otRAQuX5WIuMN?V($TnyCTm25qE8VSZ9(f z=j5m>_mR&G$_gIy33<*wcW&t(LkXWM#F06*B0H`v)bkSGY_O>R{QTp)7ntW<J6-5E zL%MC>kE_G^r6dUaIIo+fJrEY?pPxf|?nz&?z)1?4rBB_!y93G}MFu}?@=4k){mBV= zwkRFjn5RClxYL+RRDUk%(LSIlzoSn<26(&u<Lq+P-dYNti{@5jFSjH8&Sl-7s-^hF z{?`8-6kvyXBjm|Yl6m-9pzYJwiIL8!wTWk5;@`u5Ndd{}E4m)_cV^*&;^9mxqj8Rj zaHM_u#`3N+6rEapMCwxBb-o1>KfAdVe^Iy#uJq6Yf61BH(xG#RXs8du5ub$OqDmAY zvwACQPd9eefOPd-jPY#yqT0mT+}bWEi$EZ(8fv*2&U8)~@wl2EZL=I6dD<-Q<?XUr z_;H!M)ff{d{UgLgN&x0k(XxIkMtDoU|GnLIZV5R}guMovfNzuiHy1OqnPI!_xaTh; z-x5e4L&!wGl27cTIE-+kqU*p4QHzOMHZ7fdLc@``B1vA{^eWn)kiRmvY(Jr|$l6i! zP$14UN%@P6#&r;dlg~s{AX@ka<J;Rny##LE`};BNJp4i<31~(ZtcE4rU?-7~)@XK` z&SE=Q3yQ74LAz1>LZ>G2Cg8UX4Ls)Jx~0xaBe!c*rbB4iB7`KSJ!4xt=8gfKRj^m# zm%0@!z<J%2Yd_+U=Obite?oKq{%9b1Fa?!8Zie|;%(n}(h2ZKU83X#kDuA2(j2k>w z1i1_Afvd%j`hvgky0eEMAQmnY>Ln<m)7Fq{)?3x<yVH1v5vTN)1rkIKGofaZAnVLl zL65`G`U(PO5%ZLDhZorMWmFA)$N}H?tqFfIJViW7gaUe8rrb}?ugIZ3V0Oklm=~I% zIhnaMNH%!TQm70HXQ>mPdhs-mFnth>H)uIBxv11zo)w{Nr+97_wOIuG|D62&gE(b4 zY1?}`CBL2Ccy7+s|5P~3pVRhNWnAMcGpQR#+NEsUEd8_D74ALe1av)0Jg!vb<y0b% z{{Vk8?<g@mQu*OT1TU1VPOICCIB9WL)P89-STSLVpHy>ur07yWsYX^v?=jT(`@jHu zuAkreIwS#NvHjkA#_up6Cx`Fe4#Vb>*Y8QoBzRCy+cvY2Ttd3zTW}ebZ+M{uF}Bga zFC{EL8$cRF%(gJO`-tfycKxc&64-%-S_gOdG;sY<lwDpwAi_OvVBKr0{mCq*-BfH% zgrW(WmcTCIeBwg?8SMFNUHP8OTS;7%Ingc)rRz9OeMpx=6iPuL{9cxnSaLHO)zCX* zKnGF~>bZluQ*2wnFn;6?QmRXitT9&or>Aj;(zXN#gvRfl!C{g(SR0aL8}0EI9{odz zNfjIZC~x9ZLglBJPF0ocTmwq<NBmyF5+k4H#OKa=qT^J)HyqpvzUxHiqq2>-;a@Vb z8=DR&UaMlnHlcE{LYtSg9`jz=b68e^`7bi@_`$d1LrW+Jvg^Txl{dF1>PZ^k$F1-E zjLjKelIp?ghw?_n-$nBQE@W0;VG25o18(Pihk#<z>H6+935%yqZGBp@l;UApwPeU6 z0T{?-cD+!m4_0o4BGbX#lR_U&USNdAZjn9R=K7cXX2wDyEHB4z<lCHHV{cODl`C_2 z7PkICnG(#SS!T`RdP{1h$LSqSN8T9Y9G2l&|G6k=&+N;+cgTenNs}MdQoE{<oc((Z z>)9`zt?L`Dqb){UcF_Xe#HlGUjO)aqkEa|0V@deynp8=$8*j=fu^?_LjDf>4C?_7V z{<8}eHGjZPz;10IZ^kQ3mT(q@^lg(5OuK;W?g<P(E==m-rF4Pc?oKz#o6|hTQv!cu zI@7+2tQZC)F~oPY2lO7Lk5?XTvyF!u`gp8h7B^m5+jqmmUM{p7H+om+2>L(c$+uWj zh`E@?D|Xgvf>&V-IHS*g20)+?#LSJv_|G3DfH9d9ZGz(oAGU{hjy{(1oYBTs9MFX` zPkSX-VC@zcP9>hO$NStVXBNohl>FYezAD?eiZ}=glltj=f@1KfJM0^4;zmemD)g%^ zNA$#oIehuCAm&&POZM-`-&uRTvIhMk8o2~oqRk{KKN;Fn7u9sOa!Qi+_aCunC2{-0 zF^}NG>Q7uMo-m1roqg3fWSzx9WS#B0`|{nJFGyvwe+B%eGVDv3WXiGx(^ah^oBNHi zf-bvhntU&Cdz5aE`MJ9v4Ce=)N9tb9J<gXN*K^{f{)WTo3N0bYJ1KM;(_yg&Vn6C; zHrAl-7ybREvk^vE9M@kzb5d$}G2uD(^a324nGJFDiMwL`f>`uOkX_rn0C^MKB}%ed zM6-yScJ0Qque+%tLQF#8bcwvbjq6x<yLm}ITlyzOB3n0X{3%^D#^=$lU-fkzXYk{^ z@%UwxVt-)b<8q!KL8y+m#glOBA707zWAZL7+O>+Vm$;FIHdaO-)9nhsV*<Y6k*>?| zIqu1ln|0Y@w<LY7kDWTyo%=dP%?Eaew?646D7f_W=T3RbN_Ee~l(83|(*Ww+6Y^5@ z-RTXwDYsge-SD_`vM+<Z-5Tq;P#o3PJ_cHQvx&v)#Rdw8C~G3NLMj(|IH)XLr1rc4 zEIqv7Vz4)254|XH98VT)9Eo$O1h7$$)F^hh(vDzj2cvb{Un`W4s}ZV;MLb*n5Rtot zsMd6Te45ua)xE8Fiog+fdi!*@u}<&=HH^9qK`s7e)z4fNS>-tbcBVlC_RwvXKA&Bl z_<m!S<gFaG?y$SquM_yeg}l|m)g@A0A%0riLR|a^CL!l=YRaPLbY5r@=@CTMwPbok z9{b5C^G$fH?c%*UISPxJia5p$naI~v#O{o)|5<AA`70sSXHjApPbZkb_0@pprWQa@ z3TDJWb+!({8!_F4T|RhMhtvsb4XrCO3v{BEVCc0(_1`rbeAmx&z<EbNb*guuwx)n3 zFdu6nvNyA_wWHm}_7k7!p#QJ}9&;|!IxojEppe=nJ|pL6K65q_{2L2+(!&k;jUAc! zY$UyJ&)OPq44=HW2}bL{991nsjI?}0(pJ&8(nJa~_rtOy3K=|ur+i)+)zB2WKRdBy zix+bUR2#w`gEdx<6f(!BP8Nw2B<|e}^P_kA5rKwF)xc?s$Nm~x1-O)ajV@0ii-70I zjbNxVO0CG0U4@d@?(Ka=Fk6M$EbuwEcZA|If$bO}Qutc2rB_rKOy{+pcfK}TMPXco zed%|}rBgL5nWa<g;%+5q%paY6btNA!v43=mjqLmVy_U2On<7xY@-T#L0_)uufVR>L zoAToIqgB%WE*&`4E@HEF4SoLm(tCaB<K`b;<!C{vIE$5ainveeHiP>U8Ythwrk-JT z^e;RLkcb5BfX_{OI5oWx<ZzcuTzQ}@BzUhQLglzo3zmd2v1&N6#qV4z#>v5FQs!{O zHUR#@&Xtr8>r@XNKy06yyPSuP$A;*gYgcNx+IQy1jz?6iYY#VhRXvmrZtXr1qD1k9 zAYIwz;oT&b(fw0w%q8;l#GU1W^h8#v<^g`0A$cICYi~k_+=a(`9K)pF?zL}pB>6)} z01&Ts=ek&9^*vyUuaf$)qnWCKKUN<qhugDr#1Up~)G+}lLuEPS?+rzco1Afqy)lvC z`57h|RPP&KPIFrROZVROdO_ob2ZWrUozdt%(#yH`y1pt<AHl!lxj>O}a)Id?6_lg< z(FxLmcA46aKvh6o7Wc@oBASFLFWiPC#Jz7H#!+ea<HQo?pXZXWRqZw@%D97puk7Fd zV{nf;7`URu*8lN#(Y!Ae97pD;Q=lkhzTN4_kMuS)OzcQsi3O*OQl>MkI3G5xjInUt zj$TIf{9HBpomskbMlWHW;Pxoa)5=0oqcP5tJm@`qo`6<b)eiZZM7r~nyp`%X_2F!0 z2aKTtrI|BAnVS<r+5OG@J4V?(0f3d$Om-_c=5l{txV{0adLG*=62v0=hd_Rxv095t zrZY&U?TqVBzxl|!^wC-gR+(GQV&Qr}k?J`Kt%wm5WinB7=9yxQBankzV&OW@>r~-- zr0`KR3pVkru9*&iuhbOhDMTsVnN#q~*sWd#SgETU@2MpB{th$*B5eMdtyUO8^}N4I zy0e5;rSapf<SS5W#@3}>;d=WPopk4=x18$v#@xFdfFW!WIL}945Hjzj2o&LSIFj)3 zHhVE*-b<Ta^}HRx_4^Yszrvvt@44}VNxJjgmh`qOdJemAy$1-!RgETcgv21z830vw zzeQ2jEG-u2Ndg${MY&ppfZ8{7r91s_3fD8M<4?*y-rAaz-eQ-*tDc8y7Os<h3!KkT z%O#E+8_W5iYS$=YANcWB@mG(F5keWaq_NDAj|GrXCg8~jS$59`Ttlrr6aX6OTp_`8 zV?z8-ODKs<f+vZQlwN-gP~gTlU|>ig)9LpG7}Q<^X=T9j6|Or0xd$z4CwO+7&;l1Z zD{y{=B_6kWtJhhkR{}t?{u$>vWub61VIiw($KMCISX9Y$ZUNL5^4q$b_|TlqA8*&E z07?y!2}bEolzQ@NV`V3xzp((>1xslwP<hSCclv8UWhXKfZN)Q{P`K{kI>5P_O?qAI zX6i0vB+#GoLCNR=Zqq%q8*I|#`w<ee@pn(S8q)`s%|k>(s1E<FeSbdOHz;=qG3Kia zrO?w4B)O4dN73m3l+lqZaG8E4B!1f4m-Mrwm+3lJh8%S>`<k$mk@xZOEGv!Tk$8w= zLu(c)CR3VVQ1r$)ZIm=!YTE)}vye^j&RG_{$_jN(O0r<2*r5Iy_fO$tf-rg?UM1aS z_-vTyy|F5K^-AgF=m(={JAl%d7c-gy%k*t}{Nv|!N%UC}$avy=Bo<~h-Fy~a<^mu# z65qYeUy7Cw@iXPU+h5rH<WMO#bn|?urMoT>WfJVVi+LzEa!CC@K62HKJ4knJG01fJ z1$-h4+aWNf7;P?Vit{e<(gB=-hp1zBpe>|<U0I^_7Dh?Y)kr{(a*soQqS)|99=%`W zs%PdL-2}3v4itX!qk7b=n|?;2*!X@F=j|sFE}L-vwLN6#nF4qr7<~~Ue_Xe0CVTYl z<{Wh!=6a`3I44=aPOwuam+oTy&jGD#ewi@<SMxtS5PXFvao$3~Pr*pJ!U9t>Z&^Ff za=P&p8^7h@8Kt|rAI~W^VE5v@wa7!ouCh{!U=!>LfiHJnij96<>8^P4K~ces`h*5S znX67bnRkLwZoPMy1UvbhW;4oTnFMd4fJVqsZY5Kq1iSShpbN2%y%eMO``<4BTzgmP zF2B))NbERonEK@Rw4HWc*MuDcR=^iHFlGCGvcvU3x@-R{wM<u?)K;8#!584#?SE^I z^EUNJqIlf<?G0SMLc(-3@}PvB=fWiHgmXDit($ucJK_o6esd8!1PZU+A0LO-5-2u! z8W%;ceCXuu060>h`C^u&kD)hyVpl$zidH~&ZPE$erm@G}@!p2XbLl$-m%z1Qow6l; z93ldZe%X*dN_M;xB%B{R>Lhxb(pZx|c72ipvH~47vH`aO4x%#F%SriDjB@{%+<@S} z<Oa`<Utnw{u54;KQ#YG^j4HAFRWA5uavbnkMx?e}FiOCJgs$t{L9$!@VmWfozt@od zp=`jSXA^i%>_0WcemV~lZZIp7j_F?xqYL0cu_%By=s~gl4n4WRgJMzk!GeGX#R`57 zf;&0_r!xydSu_ePJ5oh2_pXJ;aCU0fd^SR&GOwSWgRx@im47?Y-4EhSHNv*Do`0?l zK_AzgBF~!%a|#xz!7pjm6C$bXg>+gdC&Psa1H9Bv72yzXw+@V1sx>kD<aq#N<op?? zbv`J_U}jbsDD2N&Cf0x8cdJKEK0wfu9uKR#UVQml)j>!rnFJLd>FOZK)=`*#x7 z@@v7w{?eFyk0j^JYPX5){gp)o$*RFEj?8Li++VsbJf3PSXu2UBZ`g?4{7b)U7;$OK z5lfB{sG_HKKM^L4BT$itTMKya`@kY(ux+)2T`C(HCcw@1-|MB&!_AU!l|4p$l#UhG z+9TIkP6{9JhZ6BDME#6fD7B44&Vx}X6=C};1@bW7qy-`HMq2mZE8H9zJK%M5>@5>V zOe^Is5=Siau>(M93~L8oo&7<t>i)3W0190I2+)*=28fmQ4;+4cB=DoaEYun370Vhl zQSJN$vai*^%K|}Ai~ztx4?AV_LMh8FCfHf>P6IfQVa-hh2zY1}N&!F$(o+CSkdjFO zl?5Sw0+3^|HfVB)Lf!&kvY~<ku)%^#f$k^E08&B(E2sfP<_87<Q;Y;zCh%sYR!J-Y zaMPoY0|3x^Kugd;OC$&3fhb>`m%sr?JoZXqAekX99BE+5gW5mS><^GBt)m@eD(=Do zWnh7V1@dqPwP_?O2nvWWc)$iCH;_VY+vAIx+V72Ip3FA|d#*`*YaT64P<Vnryq0I% zV<+3Sau0Vbxp`;6yJp|&&UsB#U;9{taui5IKybtK3Ue58hP6{NUgSlA=E{ADdqPDv zu_G-p>!&yCmw7SFouE0eN)U66Vv8EUv?D)}5Wp0)WY%}QrKdNQU~n(X?D2kFI7Kf* zvOkF;lXD((9e>YH);ZG@#5&O$H#H@)P6m{pEaPYJk@q(9%Q12K&7MTI+Jt@)H*f3s zjQL@U3NLg(kKkkzWY;M&tL;;R**{(bDdqqu8-92)KCFDPlf<nJe-y)Y44Ilu=qHK+ z$U~(uqi*tnb24#qKhKAh8+g?eq^n&gkvPFvHG3SMYjl1=k(PK<nE(unRA<CDih6A^ z<VW}Xz|`-Ks*Y^z&;}(GotaFXmBR6mhbg^w)Z^kMS--01(muYjc{F%!#UgO28mY>6 z!^v!GBbX$Fm8k}Z0hi-iuNn{*q|&i$B5gBgFqJOgl*aq?(fE++@Fi2ad8MSjf~gqd zjOHkEJxOOuwa76`dJ3Nvd+9cwpr291`lbsyg3{*WBQ}+pU+O<hYIt2G$DoL8RpXWw zx6qA{u0(}Y4_2YEVWZPi()7SpX4D#BAcQYO6D(Sp<Y|n+jE`g9wR4Ym@}H=WHA4n^ zw^ECy*kjHS=#AMQ;wP_-l%3_!6!w1o3NJ+#2*=JIQcx4U9o~~x(#QIsnxDbKuEwM2 zt?i$d)(2-Y1Pj<P2BXjbZ|V*Fp>}j&P%^*SUI|*LR`Pe93W%o2M;YNp2@EDh(;YCV zx8T2BXRZeW0H1nxL3YPTjZ^@(<wMKZz_-@EkkTYex}l&Xm!OGpOeV2-h14`!J(bZx zP)Oh$iXS?I9(@EDfPXw#3;`_9W)NiR9hcuK<2LbI0>MtCX6%@FN9Ir3{!Op=(jkQi zY#af3!En}HqqboiqmP8_?FmZ{A^{N83_HTV3KTQ4$RKEKfjESo$j^TXOy4F84GF(~ z)q7F|4x=D)v8%abyXJ%PSmllRrU>Nfj!br#pFJso+H8`S-W5Zo)k%5T5@rxdRXH*c zY4>+b^ub*h(wW{>hW`)Pa}QxIDi}WtI|j1|Sp>n?uiK|_!9afl`B*BrjlWX4Q|6lV zjmz6pQ_VLXw4_~dnmqRwx$T=xV%%i9ny|CG?*u)&4%Q}y{f$=PV#hFJXIC-)I%LGo z-uo)S;RHf>_|TQAe62FQ8I+L=2g16zB)Ci-0(!Bjwn5$kT#H_aGaf&3snq>|PN3tE zhNV#j1t7nVt3m(fl9%NFB$%!0Rh=#Dw&?GT!4P5J2u%z<iq60T0TJxS`uu6Ug27#J zv}cMgGJiRoCk_EKS#IK-*=`8|eQ59Z2Y>g^gCPQf3I=bK+gbfVFX%%#SJ4jZ(O#rD zE3`|@vvq85h6yCpL$UJSq2Dstd;2}(^~{JLlQKfI((Js)Ci*JIxrKJWZfWf4<~TN7 z&|TXY#eO#Hf;hpd7<UVB8l<}xU<w_r7)S9Zr($Lkf{e-N7<$2N83>+8+bnSxA5&P) zgd>KkX7kv($NN)RGHNx*9Jkv^WjzV`uAvN>!Omaq6`A0rZS6z_h0G*SGotOT)%4JQ zW99MTOcpCXrpT=}GD30UhsKo=7v-`Tkvb$B_fAJi4@(AmB^vHmwLqVR#7Arw`+(m` zMgr|Sz1Fg|0d>%Pv=UwyEEctis?OwM%QCcW;iM;pm@p3o*AmXnOA$SC*;j<yeTuRU zf_fZ)nMs%i$yGI?{{)_o)<%mh7+@l+K+XLNZ=bY&52Kz_tE|Rr$V!6jUkd9o{L>@= zljeh{L%}h>giqYkg*{ZWPP6v>%tF{DSI0|+^A@tkifwZx)&2118*Zyx*t5!VAOum{ zfPmlN@fA45!@9A4Yp7kizeCW&XZH_Xl66)Og`**B_JnUM&PC)KP6V@>Qf>qne6Q`0 z7LC;1ww<H~@D3~kB@SVySu}gJ6q?^UtLeo?Yg~uW+pscgsP_N-My(Nt@!DE(wsm)( zv5sbS)%BE&XX@@Rr>$6W(nO(b;3Z%#zVA-f&I+pB^QCU!jcwqS{F1!kK<!Q4Fh=k< zvMW(r|NGK(6~!ICS5x9dk-g^|U)qG($llZjX@&p_nJjJhuEAWgqc_?{Kzh|*JOx_G zoTqc(?QO8tvR7)%V%J+liBm}6(P0GyKey+3DeU701S7R(3(fobF{@XIWfh2`qTWRW zeaMqCt}QGUkSt{_?Z)M<W8=LzTkR<BpX3~p{5fkqd#g;_ja3(!QcG!&*lA}>lbR%5 zN`K-DAi4!q1+ATaDaVMnG?Z;xk)kIhyMp|li5(d!vy-}P`HK1YiKne8NA(roqi<cl z`M9_j!fT`?4yOIDlX^Gp99<Ud(X?$dN=hB`Q1n?U^<c(FUl!2_6wwzh+Ac)acuXP6 z_}NpMIU-3>YFb3<JXv^h-l3t<&qo8rPxL8raDK1c%2e<9Pc6e`rC7E_??R&!xe`ae zVpeqA3V7vp%jl78kG^-QZXLZv>MhV^cII=!_%4PW^)zGC!uwJ}z}&1znU&<+*7Mrm zDgo~nwaY=TDk%Qrap7$^TD^Brm2e(77nQ*Di=8|F-SB2u_Wg}HNrYKFVJtU>_`tSE z0tNHIZyrJ+#WPoWcm`ru`n?$DDI;MXA{jsDU135^EzvUDA1@|--@GqW`FeafvLDql zd$2M-PPL3`fqxEdRONd0yYz6G$D}6Uxi1n6JE<i?+EejU_1YUvWb35VqbrYMfnPgW zqtwH<02sB-zZdU?tA69P%r>wL;u4)m%u~J=hr`Nj(cDf?3@=RIZ#IYE`Nm_J9h7%P zJI@cpXPK?R2qZzgX08`IuRG7b0?Rpt_C0Q^)Pq=9v}&F|TGKLHlAcqkAUVBcMs{K@ zd)zWRTd!a^wk1RPS}%uTE0-jZl5kbEPd!Dg55NbD-$hH6`<_~W3(q<ABh`iNtLnsD zXgYOf16|bUecKm@;Q!zNg+90Ph)!TEo5FG`ZR&}YdI&1<m^7+hbLdofc+y3MleB#? z-bYsW>aiX+$}lzDF8}4xD{Z$hof`B}aokz6@j=EA{k{;FdH#3tEzx(433hsuOmF2B z3GDwlWAmat3lMB@`hJKW77&qV3JBf<21EqkC#YKB7eF)pThmtg<JS`vg4?HdP~Jbr zr5(yC%l5((z5u;ibHK>kgDb@qooHw;*h`zs-%GpZ=A5!F+wu^Y7a&4XGNK%wxd@Is za^c{=Y)StV6G|N{UsJF(nkB}%<(e{1&%uAL)H`aPxB4m6KD1!<k&{DKm)^~jXm_&a z)12OcP#$hXaFU)>D|=8fUk=qhFuGQmZ&5y5l>>Uet5}fi2=u;n&b(+9sN{@8ht>_h zDv2*zb1VyF7NY?kJhUCEd`37lmPNJBdSAlZluOqd<4Dbxx+2@kzNB&{4iB1!Sro0N z9n-iurUEOesw|SXIXqCh(q$t`Bw8C<BwE=Y43qiT33n%LEDr1{S6d0%Z2?s8?Bi-6 z0n#KsJCohX9*rAj662&so61GnYSY>gqut3R*j=8ntc;nsyuZnOL6xhIUTjGdpW!}@ zWfd!*aolgY+Ll!QUxdA7R8~>fHcEGQcXvv63P^Vd($XoZbhk)JH%JN6-JK$(bW4{s z_^sRL`NlbCjQ5Q9&zf`1xMr-qZ^qc{y%wD7Se}SbBR()}HUcdWB8tv|lmI-G^OmEy z7$_!Mc&hm5`!r5OiO<8__C_j~-+q^s1;^bvXe+e1JF)IeKK@lp5%E%2trJ~}kS~(y zNJtS$GV$%J1$FMd2z6sT;4EJ@c%)1bVQgaZ+MG!p&GvdSW%hD%0GN_o06A8AMvKX- zy8B}f)@b&fx(;8cn~l&9di4C|7QE4HP-;8LKjO~=I=&~W#58u89p4S);FLVn9aS?D zH2oHLiiJpsKq*}s@T^|eJHDBmiY#8y0BjE)B;AX=wEira{2{^X&V-m}dbCZyB^g#M z13cWqvpqINqWdHw_eHt|cd`{URBjSDi7K?<rr;0fe;H9A-QGjmnN;}h`s%I5Nk3H9 z1{3(+(gv)rJoYk3xiHMlre&ku$eL93Id2(x;q0i$ZBKK4vY)@5qkP#%SY(q#Tmmrg zfawI1mISc#>zYCunnH_Kh#^=EJYw9@>;<E*M{J)&rfSv6K?#*$frD}T__GjpRE>GS z+8czrlkKRg@(gL5Z1X`_(O%#9!sWM;oSZ-us#g7R)5c1~xbHG~G@BK&nd=}(!T@{< z>TRUia>)XoYWZ6L1_LmUdCcH?egk><mJUSZ5Zxzg60S$FKApe-9#K-Rl}$%UNzOhI z=sq-!jt$N5vNRW)a7LJUZc$7Zs=k%LLgH0a!MF|7zzH-7IAcfp6cG(AVsIt1EP!^D z>hGU|<K3;ivwa_HI$y>+hVn4V<d5IM=c(^LqSub|?!zdYggWBk&IEk>D8rM`Zp*$$ zJ?ipFXe%TAxQ=H};`W4DK8DApT`q%n6>MVctg##0q`A9%)up>jHdiq2gUsrF63D~2 zDWTfs-zge1Cg~t8$;eAtLq@>tk*bcon=Wv!pzxXv*=ka4>CTj=C+h_sW>tCs*T1hN z-S(=ErF+ow$D?fIxkGvOGR@UlrbM1-;IKxs5PhJTJ_&795=&=X8Zx<)NN3=_X%AQ5 zg}a7G-l^w7B+jAD=DnmE*&`G+$j;96TiCvpa@X2Bj?a0oG&69&#;Nbh68Gz0WuvVs zW$@0GsDRYLF9QVZ68T5Lj8eudh*Zu#n$;u~F$7rge}TR=r|>X-ybCB9Un*|k*;}eg z5n3C4G-Y;QEp23SFCf93RzWJHbmOcb;+-&OE{zsGqS@)PtyVoJDL!IypOkrzVx^js zOkOjdVTFKTYA#|Q**%SzXY&@xN_G6+V@ra?ohF_7laPcYnnK1U_b-iI*=P#2Jmj2s z9!3Ta$O^d?r4R3Uy>m-V+hB5UoGK{#`ziysx)qYIZPoZ&^H$@`l*&@z?auujXEY0J zaSEKI4?%bQb5K)(kF?`=+v0H$aMH1I{B6NV&BVu;Pi$W6KZdY7Q+P^e3^QhV`M*BP zpiIj%xzkvaf-B-pYS#RR+!W&@zwz$;N{31}{R~_YY)CdrC6>xolP7qChfMC~LPgtx zAfg|*5LCwU4S4?TV%n-ZnuYs=z)E%9npDVu#_(CM{_!QqMpnyt^ljC6#;jom?~ulB z|4L&xnU$&pt2-c*aQ}ZKUTYVPymXvcSQYHi%;c_H3pO~`*xg1)VFxpFM%L;uh=tH- z)>DGku59~1al9GWc)M`iz%z@7(YoQ4A#jjwH!<87w3?iD9nH%BTQ=^~3m77l(`jjN zLonrowm=@dO+bBP-)Lm#=`c5BbuX~TqZVOG*Dp_^Wp&@wSl=+Wjz8+I`Xsc{W&Dy~ z-;L(Zs@Y33ntBJOHwqEiohMo(#LQ*T+|5(sA-e!Cwk^nP-N~o$u`P@Nt|02hp$9%X zVfE|K*C)dF!6^hMcNnKj)<@m)fA67{3m+}?)za6@#WZeU=W*#JHiO2$_j&E!=2?yY z^a@lY|0NfHO^!3=Qh$2A#o934DT0JfBV)S;eHcF73Hy#z`r(AM><_W@0|zZ;NYr#^ zNZSI|PcN4#{?Kcaw-k*qq1P*cqLoUa*W|rJ==tv>&gg+(h+hkJ{VDjs3hB7bAhZH4 z|2?9yBj9n7Z}@<vOE%DQO!fIG+phI=i~zhFYzj-D_d>=5xGOcG3MA4G7~Yk@tQ}e| z!xrgSq*)CT(a$aSEwJke-2(<r7#r3gQ+6~neE?yET*C!?Cqfs9K+YRb;i&oVZzwii zLDG4E*g-pU13h7A6L96AH`SOF0I8h40Gb`#RVRQd9_j^Lop3fxAf>N@ghkfH0Be++ zK<fZ7rF$PhB~58(<Ur^beFo9_Wr7Vfr#l}K&-x%F=4=a)L#f-h02V&@>fH+vV;K`f ztY%C9(dqYskXI&ug1`o!^-AOVp6s>1t92Cl;$QyX2^4)AKD!Fy5=yz=IkCvH;@^B! ze~-979wu`ihW(Ylu1S2>T9=UX4$~jAE4z}u8QlX<qBs-de-&9gzrZdJrFH!H>_zu< ziuGJxsn@7{PboAh@i!8Q?=$b8uV@}<uZKeQ#D}@B5{e1$+5JWywzfDQ>ecQAy)YDW zdmvv#>ArOKIQGw~*hIaHMLMfDwp(+2b$=PVTE4f#b3gIYIVVMA&OiT3o-s}6KElIa zMtB!CX-cxXnDM18r>ggRntvZeL7%hV!JRQh9tr;R3jdLDghttUh2<MKw=CK5a(}&` zXAb!V0`*`d7I8c6GF^vmUkqnk*tJQp7E~X3m*Uy&HX~S{a-Q$6f2Rke4TBdGk=CO| zhsJ}FKRV|I^d24;rOg)SP7UEZM|E@GJ_U~#zaOlYn(q{0aNaGBU|D13BjGmj_{~fQ zcUHNh7v-f&2RhDr{UmVQ7R}{=yE}m-J+N*wpP4!IIZcEqNohU@^%_;_DP%O|R)u_5 z{!K)D@&;A?5&k){<_dRFpf1NZn@TFoqCX3@9>viT7VeWGPl?qYyHksm(bHCAb63$w z8b2SyT8P*`kG?gXv!e6~l4@lQXtgfxuxr-2*t1S;KrL%+r4~H-xl$`Nx8sST^9n;J z%T|D{HT=YAAh*hg(}Pe}HDVy*rDX%+INCx`!)FO2#-~p?XQAS9_yLV4;Y$}H+escZ z8&mUSQsjof#o(4eU~_7ot>jseCZN%p8|wU5(ISO84f8d9ZMcL{j7P-WnT<U)8pK7K zNMj_oDvYbPkriMu{0d{W&C-%O$!&|loaxve+FR^yoj1*(b%@+QF1#HjBUVZdE?<kT z8P7Cbz-RIo_pMf*;S%_+bj!*+6{nf<A=Gm`?*9ChmIwMbTJ%TUXa;dEH7WE+%yAO& z=L2}<4H|KpQfT{ItjdU{ZUg_9s<88C8u|%To#6?+zE=!MKZeM1yHrbsO-l#7jy<xX z6!A@KwFZW4(B(s~ss#xudLk1)94urZ1!&Hj$tte-!(o}G{h6h}@#<c%LI><OY~$G} znr6Zr5^=u6rXGHoq2H<6=fz^^`hI`jd<ltuLo{})uKu%$bA60Cwc+g=b*s6g3F~nw z%WH2bK=)W)_sIYXKK>1C)%{u1O#ypg__j;ud>8IV!}kw}ll*zrDc6WD(-3WLH@5DA zl9o1->pUO^OmD)f_~OFca3g}hd+_t3@T-xbC@Jf7XzV*|sH=a@RD00Q6vX>v4gO!z zpPyH+@`o0Fh{lD9iCtMvW)7lBt$Gd#mDjyey8M!>e)xyi73lPyxZ`PYfs#Py?du9O ztCg?y&G)`|5wyUuO7Tf7eij=jb-{<fcAM(zhDQ51EWEEkT>BdHDv<?99E_|cYe-5g zI$7~11<m^K-5tAr6B^Jix#`*3&@MIhLq@W1ZAs8spnl7-7{=;A@q7;EP=KehfNDzr zxZ7K5;BV)idyScPSw8VT+*TFLoZndJKY|$psmrFC<H@&0F0=q(gU%-2(9#4G14QnD z1Enu+TDmv2G9N_E&Vem;Yv%2b-A*I}ru@kT(hdx12E!|;PPEL&puvzDr;|WmiB8I` zicFDQ))B}&FS=j!_Fy+YnhT6hjJ;=iMVi<MrYp;Y$RRHTPv_*)Zq_Txi{yp}2K5AJ zQPfCHS7N<C;WV7jO)$wRFWnwk)7}0K`W#{qx+fSjM>hU3hWYgiaj48<v~%c1w!Wtn z6;Z8)kxT*>l7jT(w0y0;r2#t(>rz4wg^8Xcv`EHF)%zMLz{2d$O$<sT3I8A)XRxFv z1vY<W9_4NL5x-fxL|-N?AJH2U0^tgt+!vwr4!J|=iJnTrDpa6{ej_S$y7@X<VBx6t z^T*LaMkn|6-2Z0-H|d^e<$XQAGNE*tM9k5P$bh2Z^up()SfN(>U0NQ7xCwQ4t|8+{ zM7YUL6nD29?SDJCdGmgrm37VAHB${RNV3D&jZMQZ-!+@`|2L`p5UuUbWuvB1^f^Qb zv03(9HyzieWVCnkJ#)s6&(Wws&R=7mF;>lNHm^Krf`&GzmZDyc(9OEY|L)yJ0%|NK z<$k70FPTef|G0(*GFT|^?~L@h_{wLnttFR~ziZ}1AQ%2Q#OLR~dQ1Ps@<C{#st`&y zDq+%`=xMhtrvdGD>;{c!C(;Myr9pvixQj^iMGKfa8K*ITE!&3vUt6{<y;W@p#YYFl zV0@AdSxv(4ASsDWJd&_1dmSCqWojdSoAUS}`|d1v<a8k;;mj`sB4cS~>jb1^YpiDT zZ&>i|1*-@-vgQ6}^ws6ET}iPH6<Mc>P2&uQR4cT9*W{J0amAO9X%*HaKld%c`71cx zH;3bFj*Yh;vNNRq1_{k>hZt46F^V{f15oSBl?(FO(6ak_t!3|^ZzP7{ldy<CDu2q_ z^tq>zuJP=HP56y4Im-+hn3oZd_$ywVS3u=k&+QWDC`e9xnfRtCIBZCnLvBa-c{MEW z&&JY-K6n0~jTUg~4pzOmXxr_M_2=pPGvf(qYb0Q2ul+$64-1be?zgHBpIpetER!C0 z65FAr6#oF*{-x~ZCTaZ1RlcyHGJd?;?(lHM`8+l5IUDq($}XqD2sPVC%W`8<B_t9W zgU=|KCRc=uaBhoGdDI_^E7Ue0>N<&YUGk|vikW7Is1;Q*ZN)t$oiL4hZv~t+={dOh z#XPU$@m?+b?n00wcIM8DS%VQW5wQ|%g%euopM^6C&N_K)EY#1q<%r|TU^-7kE2a33 zM|g;Ho7%^L35f3G##C<xF7ux`;t{<R1QVDw7TLH1rixRPxx5kPL!5s7G^)W?IPQ7+ z$XX7mSWjg0N@XkylVGC%RmI?e%(sto>m(B9wt0Dr;mJz|!0m^tr|Hkgb<xX}*Zs)f zFKI(e;=ALMK;!@;yh5y2xaT_GX6dwU(|8Qp=>3||r2PLelysV82uD!Y0~;LzJj~ze zfXxstP|eV~1%xoh@2QP~IBGiVAWm*Vf-?Z@@`z>jM1HK8;wt6{3YdM3+X_eGf&AE~ z);&Z}6Cez8x#0bG99Pg0BxD1PY6A232p0|F4a)|sz%et?oC|C1B)L9moEncYvLx!b zXPn`zf2;(lNtY=-zWDyVATL3y$5F=)y8b+(5du>cMov9Xe^!HA4q^x3WQBpC9mB+X zA7J-lec4#X{*s!w%^<W$Zu`P^P9K^k=1HYd2}G98546Jhq<J=wnFP19e!u0V^+3LO zch$e=`5DS+5=wm7?ZQSw(<QFE7^xNRtp!_Af<2sRMogY^;{14gv%GE(HV`v@qpeQ* zwt-|4T(1naU>fG|&#*QL?p{z}S4g8es~RTqK!#a6wx#t1gwq*9B<8Kn1cZ*QRnZoP zyY@eZ$HV|(07hsM)jkd!UP>}wzA~1&j_PbEhm@oiV_gOp5F39%*;NNkga*4oz18S# z>gMOcTl2_QPJBU)3sSNEmkK04k_s9=DDIdKJb`edAOjZfgupYBC3J;-oT8OMV0#h< z%KT0N-VdVX<dTJzkLSuly2b7*4m9NrT`3)|L92mMc?%nP5a&%)@S5fhtrUiU*BDuU z<czI52dxI?Xy^>1djl;OIxEx=WS9rVzhiC^EJ>tHFi(#pyVv+q6-j+(Irk?Ei3ci7 zMT7=f4ddB?@^&)%N^tj^@M(4=G9OB;R`?)+PC1qgZ}tvO+_#06H1|!8A0eAT*^2Gu zyVW{Lt)~PI&9Ec2d&2H9pa(hZ6TpdwmqH*I(ejNFPpy$wg8gCDW8Hc_R3HuMH-Wnb zo_n4>5_qcY6WD?%FVKq;K?cFFjlSw8guNHon`?+NO8!1XX=A_HGyI?;3149`UrjBq z<!q-5w7KpO!vN#HRqH)WtKjgs8;Q<+i42upXXN|ko`#*qLL)3u?5RY6TkSVC5u)vL zcE#(c&_v}us9b4}uoApZAczXajI<?9ASCDo>8&qyOE*z9|B*L3Ab^`1Af>6cggoM4 zhM#(Ha-iQzYHgCc)`b`7QZ+a7H^Rt4NC(xe%Q1!QD=S!?sVYT*Sd&j;W1tC>xHa!U z1NLIV*g%e`IUdR@!Dip|4<rFRl7`s1k4GE*!!iimJU*V<3g5FM)vNVO3QS=}RCJW{ zjj*<vMGgr*L9$UAZlRL_^t09ee+1!xsSk0IIxD&WO@?qTeIpeA<+jHDFNa(A@bxDK zz)q$Xt!}g!V=F!Kl4;6w7*(QgMxXNzv@Rz?Px3PuXfLPP(bkCA(R@}Ok!3t!-tj12 zt_r_b8F}Y{D*Z>))CqAVSUrT-<T@k2$LL%3TRq$TV=lIS({!0aE?UA?`21Q?Ej^`B zC#f=w9<ZuEZiUSuIoUpTEQz*EPA3&C;MxT<HU-#HG5lHr$6b(slVvi7_hyc^(Uu2* zd%0^3SgOyH2D0wq*4;Y$1fkaA<%%o8(`;rnAES1ZQUnatIOf@rCUSQ?#VaE|`@HM{ zUSX!JpnLUYl!W6DkR2Nza^RvgbCYL;We9Kc87FUq^K$fe)fBn#A8|;4pA5aAi;!KO zd`rXUDf6M0z-pO<r$fkbaD~2`KLhWvUc2>vq6p%ph4y!Q{bw790};JeaHSEJU4^cC zIu_{2j%ZSeCl`&!dK{ApGd2kA8E|VWAB!fe^Yxe9=~B5XDB${0<uI)U!Z{&0O-iYP z=Ira$w}VJeK_#n}U{#AQ!pE#}fwwe4V>*!Qlr{gFhXU}~+GCh2!4S^mhqONBcNn1b zv>5qE|5!3>p@J*u2joN<DB#>_zMz0=_DkZ&@JGFWid;R)mVcTVyK>4_cxZ>i2nH81 z*?I^bI8Y{OpaH^Z38vt%LxFaoHKYM6WJt^1z{4Dfhz$Soh~*zA+9}hK8VHuvV1TXZ zB?P`cbnEzEBJ4Zl-7Ej%?64irKvINk?F2Eljr+MC;UonE=?hDEugJg1q(6c_%(D;6 zMo2mev!0D(ZK%g&<<m-jnPwlJp5c#9BF9syEchF6^n~b5Cih(;ek#_w;f?%-U4voO zJ3Yf=JNhbigH(qxw@Il<p-n2%y-@dVA~Yf{v*4FD-GL(v4_q#Aunc5G@gCc;8{M~& zFM2F*=SqEjz350!R<GW#{r#JiW1}!PHz$@|Qd;_;rPDt?gr5MTMwooD12q|Br>lWD z&Mc(fU#CcgQ9$4Bm`}L&{zIo{x9KBc;xGy+JqgBb%&Cb&CD^(yK~5yJ682f&feT~i zHc)~9ksagKf<A8mI)JT~iVpMEqPR3{8#<s8&EK_~k`>XE>}=@cLIgxIXDV|MD4~lC zw#cKjM~93RFc9_6Ku!QLC-_K!_*hFay%{JmfBh>_bUmQ~7J_|z*$dp}p&@t`eMvcj z>j|D&c&Wg4l8c%S7??=LfPD1yEwO>@WF0a|$o%Ky?yOI7HgxZg1+nf#{3n|tP6Cr> zD{LPCcZvg<1P#f8{2aJ$LFgB7^&kLxHaSG`hLi?`enAEi#WmB>fa+)|V~1g%7t0oC zAsUi@8fZwG7H@duKrw?>_@h97dm#<*GpF0sK>`e~m_7kCaOLiRFbC&hka}FyWPz&0 z)R+mN@^%vf0}E%Se&_(=L1zgxN@Lq;bG`XOi&(cGY_jJAhF^}iZ<BbQ`7%DGnd+yE zrB`S&*Wd_Q1fTEQjNL}eGRyggZaF8N3z}hcG8cTc*q`~!P{`FD{P@Y|wml<*y_bL& zDcam=Q&wW+_C@*a3mS^dMhbGo?_?4s8vZV^SofcAYFZVk(_v947z;Qy?h2&jvl$Dw zpB6^aGc~#AvpG|_{YVFf{Z^?9x$8sRJr1S0r@~wZ<|&6PB4fN?>lz(DhN-+xjovM; zof|j6W+e$RPA${q8B(&w!W$6ntNIZGqvPIuSgNcc3Kge&jvAGepdf{Zm`v9>QS_+V zf3`!B^ymGuR2%d3V4-ueIj8id9JT9<)3@Rbg=TR~!-T6$fA*W)F;3+xm&g*-utd$D zS#VR7tz9xQE!+SWID2J5z=qxwx(b`08s7^2_r0{S&(@w`e^uZy<&Da2^=1wJ*8wU? zQI6Zk@c~cRy8dqj4)h2|JF<K0U>W!9Hn$-(&6L)<{Y*KUKU9OX_6x4OV}HSGq6TbM z?pH(&K6ngqY=y4vJ5_11?Cik@m=2jLP^^UVTS^QT3OV!U^o93?217LT7X5~3Kv-f~ zms*EV=t{4Z6oz0V6a}3eqi(m)<&MrtLo=LaQQ+Z&m)6lN8ZnkR^TQU`(Tg}1tF|hu zpNNjjjFpkQI)K{=4S1akLd~Ktj=ogEBVGBLk}N1sR@AGjYF;O(7zT{B7nLtafjGSp z^M)6=&8#yG#$YzO;mj(>oNtBz3%2cye|VW`{0I&^bi0Aoe88?}!ql-Fz(DU`BmD9( z2yHxxlv2AHF#`du%Ics2!RJ)afW)nYtGW!5F|R6vc+bb2asb(xSL{L{z%G}G{%7ML z3*JP0VXK(X8E$l9Rg%UN_a_ljF?B8v={vj84{V`>4M!M?EF=IT+%JY2kE!v#QX7RC zGMCqO_eX5qy-^xS>D9#$J0Od|vHA+I4N7r_ATf5iMa@9Mt{6DK3$iD}B9%wvc}>)_ z3~w2gaoZ9JN?er2<Xv-RI_t@TIR<js;yM(UjR}~7Bsm;*J~1Rk74+z;zE!qN>S=V# z`sK0+ijKcTNsM--r)1j5G7vCh9rB60g}K~6brEw(G@WR4yVW+g$t8NhTgIW3<+#(o zq^oMYI0|XZB;xfZ$JdlC|1*<LREHfwN~K<!1kkC;A%(%2K8WJNjm(i)e^oeliFglJ za99-er!yp6i@@28HH3jbqXkVAH1$tHWPwl^lNv#de*dg;MAv-bz>S&QVta!~j-Y0I z{C+GHw?xjQX8yxyWzos<sU2dL?!(t-V)qd|rAcw_!ZdGnmT^SC)l%i?yKY2YYNo}= zwMtxOKH_zr`}l92yWZhMmL7UGSazQKEhS(l4~s#;ed{6Hvu{dOgc~FsHpE7X6`0!U zd;>RVwCB3U1+#U0+3ZXdbUx{`ED+o6eIt58DsR?4Bu9u8`~E)$u+swwuw2j3!f&{q zH)*F|!Xmh5QEmy9^O<oC`9OL2g-BulmCg0!CsH_Pj`pvB4iTE1x}i7YVkC9^)<*Z| z6=hIQ7Pr;0wjjQMUhb=7%`r-;XoHRn7;?e9%pIg3<!dSCV+5-cqrzXL$WlH(B$gyc zv!mAdaKK~>tqUkP7Dy7NButEBCYEFhH^olCWXlDe9Kd&%eLlw8&p+YlOM2$AoYs1( zN6SktO)N?KtcNlEk{)c_FE$D-oZ-d*e_s{?I3H~D_j9#7P}vTWQV->fDX<<FTy-Zk ztHv19BZZ2*k{zXFdC3h}6?&BHi1n6)D8lMu>KN`>sEO8z_vrBQOsae-3JP0irNntm zx??_9oOfc6ugQjmJ=_uTr~KhcLK{Uy%E?`zstL-Kmf&<?OGesrgbN%BqH`9%c)xKR zUXq(AVdAVr2d^)X%!g;Kz@gjAOo|^IX)YsY{L`liz1AmnyS5NUoDU}x;UeGZ{+YPN zzyMrbd6U1s(5C3kn|ek?k4FUO*S=C#M75XMdE??{=2+H_q$vc^TX9sP)9djd+slmT z_*bHwo?00-fdBKuzkh)iNu@-)+C$Rbm1d&T3&TEEsZec%OYI%N*;bnq7XC7ySyORl z{i)-~$+Dp5!Efnghpm;MfGCr&=%SBBS+to1LvM_tE113}<zt)HNADKHk7v)XuaA=1 z?%3#{x$gPsee|oDD!*^4Hy<_hu|0po8-jAAQ9YH3UGRz?qc)IV;6b`le0kxZ7n)QA z!H=+oMqgbU6Su+v;|Is}t8YmZy^JXWUtmfx`yTuZN_=0$I3*PbqzTv&QbP(^Vi~0j zzqzRkjLr<(c*@ok8#3rd!nx@UlK0Z;1-a<5fMap}4B+G7i-!BT&8U_Xf1(06L~rx+ zUJ#ElIA_!oj}Mgpp1~GW{m}an`l&c?15}*%Z%q6*vPyyAOAEn}NX~HR0ATHlca<;1 z4Eb1<gImG`glg35QwSnlT{9ZwZx3icdtT+~@xW;BYC7ou#Q|n^P!gmNf|Lvy;lTLX zRR}WH#=Z0osA-OSDcD=xoDJdGY(V*}M#VYfFWIYvN=i4$Wa}ZoO}afdAnQYx66KAj z6-XT&yt=d(5#MG(1x6mfw4hpd6ijJ&<{X8th}TZyld+&Lh@f6Bo#`N*N;r;1|HN4I z(4vLqmTh9Iv?$$v6v~U=Z%(-wDYeZ0flX{$K`Y!-d$2vO>hfu&J4TS@!`@W2Hr^xI zn9j~ZivHHx<y#cm)+KNT<c4b4UteP+Wm!J=7MpVQuOr=k&PxQNP<_ykr4i`)2J)di zM0#kCrHrG#p)h|lpnn2+X*w><-``Q$)kSeI{B^3^&9|h{YQ222gF8y2lNty_s>Yfn zaaj+E<dXS0tt(W}D1WkA)m|<UyFuX{EZy=c21<*St`rohU<g406}oHMi4!!&*ZdqK z>Mf`jKir4JKYXj#(b7%lkrermA2rY%K*d>LRzBWrNv0wg(X^=yU+q6pz<LV!Dl z$Jb8ij7VNHduB)m*9zyMcNy-=W%vD6AJQ06yv5$H{b18;&S=5IPC_q)p+!k#Tm$~$ z8MX|?ItL;}?x9yStzxz-?Y=xS4PLeG$@WILE5!sS#N$stejC7ch1tV@+u@eQln;QL zsAP8Wi853er`yL~C(INGK**i2coH1D_*(uVA$}t%3>;|1V#@dllWa(pCBonXn{#R& z2L@EcO3k-pmb~EQKjwl})0%_jhF?=E+I4a3%FHMl3ksQ6AK}qhG}@!!(S|hI`B90; zO1(|fCn(FJn?zj6s1P{2H!!ewVaOtJG`<FQ#o;?I!3>%(t-h1>mTVU!{Z%b{W!znc zIUwQzJ$WD1><TUV8|Qo(kE|ZYbpghVGSWLnP>2dc1$s0q(z&#onH~G5Hd#4VZE~b2 zR*mKts7MMeVid)u^k_^Gnt190sQy=|E`kXM>f&#(ZrGrH#zuNYY9Vdn(nL%83xox+ zN9&bt4^W-Z(I9MkD&Zr}*t5X0;-8+C?{m|XU}>Oij{ERE1QKzjspaFJa%w@}(r!i* z^R)yoO2ob2V0pcO^BI4msbsC}wGzFcgnCQ^g6k2DTse&E1&aLBOl4Q}d;rynX(&7z zc0lpzRAZJMwJLLz3tJ$)9F4#1kKjm-z!e!9mZ&n=^QNWSPKJV6nDv#YeKlE|>fb2o zd~};V_}%BYuA~j}0$6@gv*i8CtWZU?n=AO<v5~io*d3C_GIv)9=Rfe8ixo1WX4BfD z1fL`yLn5E4FjS!*$&Y!%xcQ=Q2<*y&sGe2J5rXzrvU;cvqKIJ3$*^UF=Gf$j2cP8P zgtAE8U(8p@ZsTy{$YNs`O4iev^HqGp<qlUs#kP<_qcJCo6x<P|==VSPgiQ4%k{7#Q z{$Tbcm9JJV1?;9@^k+14)<3`TutXx$QD{Ows=>N0+sVC!;!e4@7mma&%eM|}&S<^R z$MVwpp@N0Fz%<I{L^<m7qO>4*Vk7H!iMv#mOz)*6TLD2P=4R_%bRAUx$ARcNtbQ08 zf}rNW!9jDZKBm2`=Cn85pD6548Qss?anJ8v{i({my{b0UTnGGUBu-^Tg~_Kxu$w3n z_Oc@p6KrBh#J&z)mKSZV@DT!ei}z(vvyFI;7tLzUfUY9m={T_iqwM*$Q7kZ@W)nS? zUG5+Pc2k@~m#VUT;FUVrM^E;g8?=Ev>Nf*v3a9*YUWrbncNYW}$=gjW-H&mFzl8jk zeu!jr_WD50>rIC6=W=*>KD3f47hjkJG7o!kObnHrVxesPYC|v^%d%>|FJm^mHG4O8 z_;4ghgnb}yvUT|+|7g61c%^^$9^+t0bj^00w=-s8hHmRn>IVJZsZ^TacCyqj%-{2q z&7z)UarABLNB?|I=>?iK;e)WUQ(2amwa)kr0pnggDby!^p9JYUSAIAlo8r%v{qPDD zwCXe}TN-;$UPk`0v-CFy`+HM$j4J=GX%iNI(^(Ui_s-KMh7YSnj}`u|U*t&F5XR9u zG0RH$JK?ow8#|3#^+eVfMyooeUj6y<$3*((VErLHTs`~LaI~wCGjm^69C0T5y^Yp! z>+Rr7^TC0=+}pN0`I>Nf|MZi^z8l`1rP&+imEtr`mF&4+H|%ji;+@2@H-F%5wQnxb z3pM}Tgq0D%`a7#cWEOM&7M}J>H+-8oMR(WJDQFULEBxKF%$dj};?DZJXY;9dYy6o| zSqbg?7CMPhJ(-1>P9)dC+k+^I!;pz4*VR7`56XJ&bMD;XQN!u++$#OdLvPS<&nHk6 zv1<K^2f45_Sh>QZZX?$WWc|4*Ez%=3c!BBd9!~5V8Yj~z;E;#_*mvhd@?TPpp0Z1l zh>7}|AC!RXwOuz6gZWPsz`|54CJBpij-5@?m`{tge^Za$@wUNs{chO)Et1HeY}G(k z#W2i^0Q-hK0*o;P8`*NQJFdWl+lyn>K(PVql#K>KWk@6@5;1i>Tdv;|^?Z`1w*?~p zU=j{o7AAXva$UIn+q61Fx7k1p2_TB*7@XdWcFHC@(GT=XM9~h}f%mOA{q!*q00~L} z@Is~mO&C9U&!AuUwFMTpU5cFl3v_aY{yGE?GHlFB=^^Zm^?2G%HT!8-+2uN-J3+it zJ5^O#dsWqbfpjd%E8`&s7W`9mUTUTO-5tdp?RHG54D|kjyI6^$ZTH0JNNRVgtpf0O z!MYXiH2IK9M)r@#Fc!DJP^L#dvOBpOgS5S5Ph_(jy^~}=!V%T1`o*rAg1GD_4ry`O zto|FCO*QvKOzeayFl}!mxWnSMB)Fj7%*<dy$9_nq7NH@ah)8<b{|O;hg@z|#V3^K) z!~?Le`&C(A`aD#1uS7N5@{`u(r7^E%M`osRKkJ{L>^6{LujtXFNU=u0Rg~-BF9w6| z2ZMAzWf?Jy{vd=#ssisd{ZO<heX*1(L#EX~6-m_CBX<rup-#dH?C0u}#^f}U5)^aP zG|mVpO0sRm%>vkj?w*l?p2S~d`d?n2=V7}Z3OAm~D9?sDaH^l{R`!Nie_XGvj~w7k zoA0^|JYXw^Z<A<4%u@OM$5|btqd)jP?0Y}!o82kw@IuR*Kd`9%9C&pPw5YTGHZ+o) z#rj`apAARL<Om2xo+BiE&uia&efP-=JujD`zOa4h@NonBnCY~Yh}M;Ny`BeCNo{pj z6`BJNP+q5v!O-u?Udc>|pK{u5f(a%IJ8XjfjUkXRQwnu&X4TzkBLRs?%x4Op5?kH( zBF76gKvweih#z!kVd$mpX;@i+rmLjUnBRlmZBC%c4r^W2DY6bSuprf(qSl21alS^6 z!vIftZA*f{@5urTmU&m(j?9)&UN?<6JV5b!_>s+DPta)CPv4Y-ID)B#Qb|pSTlPNx z>QnM9N*r2oX_oG#*%3%tsOs+9nc9`>0qa)6Z2YHgXm)5*{!V}11MKiGfe9UARw|N2 z_b{FB9!Fqh%V3pYJJBD>(fA{m^_^w2qnXO2wx!XvT_w?Jn&1jopn<$!IMFfBk>><I zaXNDNeRNl4K6cUr-yTvNTL5!s<)s1bSnfC!1x_o=v#yG?-hgS)phn#pedb|<VUesW zRaBQ9B|bf@LkNG}<8dpFqcrW9DJl--JNm0NXn=s22;bWES9%)*@L~ywww8B@*YYqB z;}r@?`RTp$8!Q=2g@orEht0)M`P8m7BH!uZiyM3yOcI0V4~ggD;lAgSEJ*il{-JFf zP$LrFZ@z@fh%3#x*tUkRjgsuLVgSepF{)@$;m@>M@m3$T;+0Dsk}ZmhqR0TkISOAx z4~E`D>B(@?+*_=<Ao<jQ)-nvfx<_7$tpiEgv4A6s$16Z3F1bIL=OyjrhP{t4#|55C z4k(a>0x<TAG}VuDAI;+{kCrLQX{P+Rb++%?z@|=;1TAr!fxrY>>1B$E<-O(T*7p>X z-V{&4MV^hlGO~U$Lp7qmTiEb%Y<~@Za2g*;+`Y-IyeKai1r<8u>4eLt{;kI_wgLsH zopy_Xe*Yx~Umt<oGKJ5!gJ3oPhRL)rgPd$EWZ)rU2L~og(B7$%y*|j)$R}6>CHjf+ zX_hf_=X+!MsL7yl_43Z|oY0|{PN`-8QX{qN)kyac8hyDXoP=t%W_(MNryR<7X~;|^ zz*2WGh&3kQ05j9MP3I5iA%WnW4<lAF6@`c2?~yZyNlyBMUuWdtFGX{*IQ2;&CozZb z4V+~F{H-<PQNQsYezOQ`_Wk2aZ^BXp5pKO0MjAvB;f3dQ1wUUY)0<4n<2&*Wq`GRt z<nuSv0%v^+I#N<7wNV-8*oBzlBLj_Yx@w#kP}bZPUPMi3`8=(fp^{fGpnn9ae0YJc zF-0PjwZG1}XiPG(jm)=LH)w`}`C2N$dwvnaTnVaPm{lH!_qX2ovDIUW(ogZjBQKY+ zr%xvHLTJ$fX`O0UE$QN(mr9oJDP)az&8PQ5t}{7hKA@gxIS_<&LV5H)qBXRixl2qI zUKi4Hz?i)4gw2T2c(9{KH3*q_DuMRvdC*|`tUx)+SI}o;E#^-?E|@JVfKd-uo-Q#1 zN4D>-M}gtz3=?p<<-;^hGMyk<vKXr+0H3o^zQZy;kQWf5(zeK+C&q$v6Zt+;vKpoQ zeo+Z7T8EAjyA3z!-N6{1Aj35?%*q@lGnc?Sjya}j)2DElih*0%*T(1xND>@<9M~TW z!qKsxxi}lxhc=uo1&u=g1maI>Tp)h0ni}`zlCNy0#nhG7W7De3VZuewf|<wFBuykg zSl|-P4fUVjCvZW?Xw{QfD|nhJl(`N*c80%TPBd5~Gsa(c-h+>1>2KWOUB4~OAIi1j z35Mh3x}$NrM0tmaKEE|tvxXb^k>x59;k>`la#@iKQJW>Cme2+F>&?i;l{(sd3TvcD zV9~(GFI3Q)-Z$(_@aR<nMJ|$h)p=+|3JNcf#g9=OwFncnnek9%^mwZJ^Yn>YqhT|O z)!EP-Z3<1S(W1lhD})kFPzHLZ`B~KNdW|^Da_4QYWR$r?>0r{C?2*F*+T!+!>f!oW zPUBgMr*Y8i4;+nEPr_I3>PTV0^zh(ycy_kx0#rR5?d2T5elJv^;Ucs$iv-sf0_0db z4dgF2UmM?E<;Q;|gm;|X&+$#a;?8#@c@H<6>LmS(@4hVEKMzb}v)x$a-tU{@@kHYi zdwaM(MJZ|QY8D#&JeNw(KZ0RCt|5B4GyNjYm;XdihZ*&YhRm;=kE3r4nIjtC{wO_0 z<Dn9_M|(naeAQvlypv;g5LPMmi|_N87q5O_ZSx715)%5*rt0P~93YeJ_3$6!3RV)| z1guy~*{urb_i;D2f6`~*BeP(Y`bbq$@iX{G>knx3p+y!t{F>m!9ZcL~3v>lad%=7C zzL_DCc=36ctJ?6w1b(vjl^gs2yDBui5SApqR>ZgWIbPuU!iz}=gsLfMjz$JC?3uF0 zLc=YNJnM7I1@ktD{I=dkyGZtNzn&aJvlSd<t;d@GCYhxpp6dH+z@7p7*Z&khciP1R zxU9CoWk^+Vi<={xO;&CYQDTzSfe5$TRO*qSxGi+d2n|gDxz`1SjY|@LUL1%+m^tkd zTXRA<*n<oVNOvP@MGgbQE&R0!RIu;1c&Qwu6}ZHCV=lvijKKE39$JjF9+IuUD#02e zfN06<P!c3EMM`uV+fn{>Yo3JoiEwKuNO_7{p9vuWG5fQ4Cz+%*bv;fIP3Uff7HvxC z{A*Ndki$ZhasCF81hm5n1g(RKIPF=MgE&r~Pj}`$9iAMe>?tnNE2_6*!g)m)wt}g$ zTwO$!8|lq>@r<u*1sOR0vi3u0;}g-Y*c@T+d=>_0xv{vdVDKSADHcgQu@ClkLIvq6 zD{B5m`b>02bL+1V(1}=z@%}k6EEQWp>)1C8)hFd1+~D%K8Y7K-k-wqutB8k25?^fk z3Z{J;B=viNKQJj{+J#N*(LJ%reb3dpxz#zyfYumo-i7UH&O}j$7+6P-8Vu%b=zsZ= zWdm{k9Ic?AAk|mPCleN;p$Cx&55c9xBHj`-w|-+Dk_M6SxIV$@c_F7yyNs8agCye3 zr2DuFF?n4*G2y|g5aXstRrn!5)cXA@#w!&)AeTXAka$PNOOLz<HI-hf%m)&NUxDp$ zBb`*IRydQKD+%0DyPgt5bUz245R&DnBrNO56@wC?qvxJzleHv;i56PWiqb}SCBrw| zu|ZC9w#*^?WXgphk&e<JS6$sthGvB$KB6h$kGEiI_27_mP}5b)WuPLY4fZO)<|?j2 z5<(_K5|s%$vui$P)T`GeKE@aPz?<Mb?~^N!7&Sv5`kwY$;VtOK{WTlMD}>NT(7Y$4 zqz?e|#0G~X-im_(wAnfk@0;;m;I+o*wg1oEq-HB9418aoGQ33OBO60RH%Hn<qQXf0 zfc{kAFNB>2btOLu6Q+lS2>oX3yfH~DXAGtI@f;I<=preN_rWe>LrXFCb)1um)hu1# z*9!k*#(o|U?Sp6z^#Ca2uC>(Yj84bk!+oH+x%3@41T4Y_9s@YPGP4Kw#@G~@Y3v=i zqIYbh2Ax5rj}Ft&U^R9!_wcri&;hfziJqihhZR>e|1&)8jl07eQO%0kjo|AYQqFv; zwpI=abW3pI?GP4Vn6s@=4g6xp2Ppn0PkaiWK^t-zUmrsV=esIUW9K@9_{pvk2c8ik z5Sqpot)^b?zf(42Z!HB^>4lZr5R^y=$oWDb%Bc*JJc{LPUL&{%g#uu{g<IHzhSuP0 zP=$f|It{&TMoYOs1q&`jB=IQ#PhumPh>wgFQoMNr(|@_|cN(^Wx{#D$quUg!AfO{i zqSX+|<0n=l$-Y{<pGw7#G<;jU^*p@}k>AG{1}{!t5l`Yd-bSJQm5*_0olD?3(*4=| z!}3%*kQ&@qM`QN&N_pKMpDO7M7gaFG@tO$6MzCGt89RxSEoxDIKyFa*QjU5#=*vhB z7B9pl09jKTT<${1P6P&h*g^!}$$uiZpVcr1VG_DhlW{d@=uvmtsdEhf5QDqj;TFn3 z1{jCLM4qTnpjJCUJTE!*?ZA(g$|TIOUfuOfSIuVmJ09>0F4P5g?V7imW;{Hm4;F4j z?!lW$s*k&c$Un{eYq*7*knlJt+O3$#4>(uD7!iWSPa7`wSxgc2MBfIvwJQ#TU_Q0_ z;RJki3xA{Ff`Q@d=uc9hjHVFQ)E0r%qIZ=j<J)6uk_aGxUTro3K)m4pq4E+0s55?o zap&M8OHO&j&g*a1`Bm2bS&s!0lAJ1p8gJSz_%PO==?0Y00&CRgZUh(~)cr8(PnJ>p zca$@ijNpz}c@C~##R4m@xwA4C#|;823w~urKp(Pf0LN)@M1UySC=$_`b8bK-Qg#X( zTb=@PUW$@2Fa&>6l1+p@Rs9o$$gtN#Y#v;mUssX&VvjtNUD)q{02texrFpub^ld@> zdrRypGEj&`GkJ6a#Jcp$t+$FT#7uR|_~Spsp)XyZz$HRrR<W(3s`n3ENMS&@t>YgC zc;CXbiUdG}vFNt^`RAZ4xbp5FDmYBbqk47}G}d@BpZuSWRmh`47ahbV;V%R~jdLJS zwH7!2YB3~dp8}NPgf`pZH<Ee$RpeEbO_3j1$*=dZri;UA!{u4=5b<$Mo%$`Iz%g1m z98h=-;^&kD;-f~mUk^<LpxbD4Vyl+JoQGd)edUJ<4<LKT{(^Uj)Q=#6>yG<cHOJ-x z+9B-`f#<6~%xN^&Q{p1to7Q8xRopke-{Dqq-rVnwwA1!p=?$HQBh7NY`IeVEY6Ry4 zp2z!s9(%|3TJINANa{>e`V1mkGrp4nS~zU#qoGcK9zw^sirkW+t1Ud5*_-I9TP4xL z?j${by^*y}2*vz45U<Dj0m`v%Yc85n%5Ul1Zb0qPY62oeAh#T<!0!r-{|a=bQiMZ+ zv^DD5a5&shBdppObQY2y^=!$?VtYQChE-z}ye$((Q2v0Qae#zUp8%1?4A~74vEAvU zlkJm)(04^U;19uwS$y5r+t_l9?Bv$Js2J9n%9s30gtd?Vfj=Rq78)W$`ch0@D*z9W zxc^wd`)NT{>CtKL*QiDUNV#%DDf46qgvQ{&+kX-v%*zajTiIrkr~o9sW3vP5KZ`>1 znPyqn?rlr($A=C5h0u~=OXxmHde*jUxuBU#-G%;DJohG-Dy?}_PvCsv8k3Sv)PDII z239tf^Yad!mJSM2M#XU*XA}pn^LE+N{5d=PnB3Q42NA@cA|!&($0eM``PvP5J&{Y- zx5-S6DM;ZHjqGnPD!yR#BraVq)-dZc2g6$%h1qG$8N!8F|DyjvsG~El)a_t&gAe~J z(yZIz;e;QrlAuTQ+c8o9d}Q95LyTC$mqv4)4gQJv2&Umxf^SBf@CI`fI+rZOdRifZ zgHMXJ9h61awqZZF*l0)7nq2Sl=p`0&&tU`Q3r{1AmH3hHDX$w;;2p{p16OgBwO=a; zn?1MNnTKx1uoxNe%HiSdggW7%?tEcqeNzxUk^8Xt*pl!+5w&y)&goyV9g!aq^FPj8 z!%QuxzqIEiR=~NsaNs>S(VcHm&*Uy>gXl(;Uc5aBR5HvgAMSO<AHMUtRMr2p@{ovT z(Rj~ErD07LCYa}L^8R$qY$VaM+P<K)X|TyNINapuV!j#LquPEm&l6X8fuBClgaOQO zFeR5mCp};NX01Bkmf349LG$lI&OZF?b`}Cre_ZSR5)PT``l#Q&$ago<LcR-y%;yu; zK2Nt)m&0^@hq#lTRlM3aUeMOlgXTs7YLaPk$h`ho55AuX;QS0ac`FUjpDJ0{YyiwG z^rJ5%3(ry=sR$UrkULigm#YF7k7w2y3zhaByVk%QGl<KfpAOegNXV0Qfpie^_qhzd z$~%aLvC(Z8lEm-XMs&1)66c{8`s|WGwRZcWyANXXm!)6<;#DruhOUbZ7-DZ_(#4m7 zlb#c1X95s!Vi@0K2z>qxR>u;kWrE9JF2@=8S_|&SsDO-O7uBwGA<5EyQ*_IOm}+o2 zwXHx*ZKoG9AP}&=5fFLppE)iCc)+-7MXo~XwSKfKIOPHL@@~Ksobp2$<X<6ekk+WQ zWbcbXT3jOj>S_zZkbKQ;Ux1)qCG6kFLhy*!yC5ytUF@5iZrN41FmHW>M`&AA7e*SZ z5#LIx;a@9G5hM6)NBlQhWt1`$?=mv>jwj_pIq5R4z2hl0)>#9*@>h^9M)o&3);a7} zmj=Zqm_p3hO74xf+)Y$eeu$-N^7uYq5>qZNdg?i2@unKi`I_4+g5ldkk^zMpT<P3z z{CVGsr~4v(^<|F{$BoyR3s;jhE}jFDxh0CsD@6k6EV$xlxi50MMr_fJ_gUF1QAxVc zIXQxLA8)lqrwVjMw)zqa^@<DbELQAxnRy`Z6Yax|w7=#l%wsBX$2d$>&wFBR*E_Re zjz-Lz>Fjkf$J@}r8Yss@?a(W3*NkhR<{%2k)0!lQTN7!x`k83%s@NaakI9x~<S6$B zlYNv>oa1aCJHF;i<9wR8f5Ezxt0IFTdxl0<nR%^zERCp!hQGRtuA4?Hg@%Zx#(d(c z;RI~lenA9wM2Gc&525?b*-~HMh4m@*vzW#$srUH<4CI}n0d0j?HCHAKumnO8fjp3l z#TX&7oBvh&prQOtQ5x|$vGhWrqdop3l!w?)UGC$*mtxW1tI;{-hSt<9`G>zQbz&)S zFo>)DB#c(mDRV?M6sQe$Hf0j$Bv=3CWGa}tO+H;yP5!k3fxf*?{+bJ0qw}$xeYs?# zV3rPVAeI2VKKaSHVYcGy^4R@cgGFL@=m*c^X05Lw=F(lQ@7kv^0>NC?wI25A;HO3Z z1pzQh9{5MJrlelI+Sgl9jj8Wb#sG5k4l}}0i2K#=GyXRacLK_s3=lngf>MX!s=|H` zyiAmDYBKi9#1WzeFB37upV<@UYvh@}hgU)W23&cxmmmlzoO-YTkyYvtjk3&y^$RqJ z{>OX)5y%)(D{%mp+R6`%IY@5uY(y@i@!@zse^9K9U8$GUvbaeCa7CeSMzan0gBUFA ztszx)B6+4JBK}CIadtL;mOPk?1R-;C>LJcT`<Z)f<NWEG*Hf-cNj)HdjhG4<E})rv z+=^&`?olOi{QPYk+5Cx(Z`S=-^B2YlMigff!NDx~=;Y2|uz!Rb()Ur;CF;~yh2q07 z^jJusI2oJ_CX9VOFWV?KwE3Fq#c(w&fQhdcsI9WEr)L~BC-I(I!-TaO`$2-DBTwug zXsQCE(lpMd!F=zfi_Yl%ocMgrb?t`+wS7I(N>h{bK#Z79&`EDD?XeYw0({I@W=7MH z`Qx_X71vb-YmPt3CTKBhj!#YMIbWg=LH!!&<A8fL22mNr4*D??`RO2<P~*uQk_Tr{ zwH}XpKh3*=5Y)L1y6UJ*n5sc+AtiY^?$Cljv`Ex$LeakHF{Y%}k8?rMRtL$XrQ*{5 zU+~&%z&k{muF$KrqqY7%#zlPsQV2v8CdN}`DVMobES!oAKex(SE|CfssO5+&HBHWc z8j)|8o{`?TdYzS?W&Vd4{fGSe4-xqfY5NcH%M01m@?LwtO#aCH2)%FK_}26sa~k;t zAlUmw$SDWW3Fo%jpViB&1)*BSer43$GPahpW|q|4;>mT+g(`Ut?6C_=7Yn1JU%id^ z!C)S&^X2eoIYo55RB>x{YL`w5k@lBEVHe2+$XqoW(c+Z5Onbpod+H$c+j|J7c?w0t zgOGC2ItgCQ%+oYkkb6&Il=sg_Yb{i)4dUNg;cMgnBm)p44CjbV|AK4|%T<5J)&u~A zKblkf|K)W5F8^0scyjVznNIG}e>p8o&%p%=0C!)J#BqBcq2##&#lHmq53WM*msgK~ zI8Y*dNoL}rgCrz%aKxehYD7}Y$Ab^!6#k7`x1CVJ2b8XlbuXp+CSS@S;wSika#@AT zzfBi_lrr<?yU7*NSmr!&b*}n#>7hXLIP3&a;6YV0I@7>npTV|FTklGP^CVJ)IvGm) z3+p`(BgE{3%0s^9iXEag70AzMrJoKmj)PGoT$A%sO_*nQTdXKd$#aNH@I#rl7u#l) z3?Q*Qge-H}x;$W&R4b^|&yS?`5rqBJx&^yazkEwr<a>6(|IrDr&bmcf_FksHciRkU z?)=0rd^1q@-HL9Or_a^aZ^KY-e7Ugx%wNz|N39hc)<I(;25QITuR`-uOuV+9*y<Hf z#5lw75bNs>PvjXeY^@fKpCjcY!kE(PzKvrZa-AQE0LvTim`VTDUrQe=m0n(81SW=p z0N=9p>k#Q`4fyEk?`n-B^ozrQ(B9p^zZOqoOVQOg#(cQT9a`Bbj1KNO>*MwvPauJp zBx~D=Ono4%;gV-A4>HKe)O7o*hE^;TlfN3KbOA(4D}U}SAU0vs5EW>Ahg~o|T0N$# z@c|t;K;sL{0t3CG>!V<{d#_sGH=2YGD|ir9F%3M(pXG;DmN|OtkfR+NIiv&7IhioP z|3P+It0g`-97t^bjfAOa`<&pR>QQURzd5y(3`mRh-)R4DB>guU;d5?50o<HvoU@Gl zOIQ@((cu7Io~=5XbVYam3Unfj>DRznnQ;{ZRG$X@=q<(CHipHJpR!^Fmpnas;wuCh zTjO5ZT6uN+XUvB1tTs4?ODoMisQI?!fd!r>r?D&A)7_XhrEi%Gjq11RILk3pH^DZa zVzQTIB%cvoUY*3KXAhQqHW&9I;&|-7&J_5-`aAD#InBj8^q1VYQv{ufgX;a~eYe{0 zae=DQDNZwbvX`*hBiE~QO0RzxVE+zyW?x&!t3-f`Sx;+zCGv^oR&4nCk=qyZWm&_6 zWG7l3ta?XJg5><U>JllFoI+q*NXDY~VL#JmjmGn2*69t_z8lHKdngza;^G$kWhebc zIMacZR$h(<f@KO(IM1{Xh>Z`NQlE*#R_-hVYY?GQOv02Xe&rBn-}y2w9(mdAnpwwg zvo;c-8hvMfbfzuk-R1JaHXWMfN2MCqYAeNH;Z4O|am8ufXZ}h~+%rjSpQ+)u`(o4M zKHbTUN+uAU@)I*7GcovtJ^r)2--eWGOOcG?Z~t8ZLC3kq<_kZlCIO=v@Z!Q&6V7#Q zLyU=cf+J_wHCCm5^BG#a2H4cR?ME2l3Y^aG@6mP@V%xnI8^eq9%tapP?-5VsIK)%= z$&^g-f8J+wyyfCRq+H5!S*-Gis1pyHnND*h`c+`s{59<fF3fLS|0TTezO>T&v7ohi zucd1kWHPr7IPb+&^sdTNA+M-{|HIi^M%B>;?Si;VaCdjN;O?%$g9LYXcPGIe0wlNw zcXtRL+}+)8pZA+}XXgIAYr)y&yK3+52AZy?{RZ&-W#PTIcI93&9rRy`!bm><Ku|7n zytw#K;2@fBNV8y)^c_Mwp(~uq(iqQSu!QekZ+I@F&@9t;xX6jVc4F~H*l3OKhqNcX zzh#0AFx+6Vz~Oi#=%SFVypYY%vZwhbWHYd#ka15Uiq;Vbp!ad(-WS5TM76~JeCg@I zktB_IH+B!QV2&wpcsf0}n=UKH>bBSFDGOM2rRD8vZ%rF-2<CXhzY9%ZL7=cYf56<Y zkZ8{C&BnEct}aTyyf%-~faz4KU4GOL$zqA_ft=4U;f0{y_UWEVOOYU&L5%OLm{wUu z&h4zYL<-$H9z&=WdsO-Ci``o}yH!rR3c22Cc242by_SX)cMKk2#Ln4@$SG)Md7bZn z`DhM(#na4?@*rzn1?wG^t1rH&dKu5X3laU~Q|<Z@|M%Cx^QyvXn$}Nq=`zl*4^bEo zud?HNqEfzgT%|$Za9L7re8%SGG>-m76C0e#5zF%%E~enouKt0oobjhZos9UMxfY+I zwvRdo*W^Vz?;cMSe);x7=NpHcgjp4kRaf@2+wF&HH3@57mB-hz_6+if)6(HFZ-zQ= zNdKRgKDadEMl{D5s#H3S`E|3x?SjMwvdRQU+ZPEuu6v)E_hfGqJ@lBKs#O-&r2R9J zPaY`3%KbN4_XlFo?4vAPf1FTwYYRwh<sw=zX*ICvpEuF1nm)0Y9q1@kD;>7z{}l{y zX6P$X>-qP0B4km8n8ToND*y7*t(j0dO{jzJxTb?&0=c=`a#@fB)g|=er;tp{a?%)@ z1Y~^gN|Ytx-`H*0pVMJ|IsUAV1z0Z0{wqs+6^L{%iV|r92B_*iQtEdY`u%JNqTcy7 zrwM*wUtY2IgY=htR0cEss7i|m=;WN}8I|0kXa8;ADmner$!4QdiW|tt*>0%kwNcB~ zjd9V6o*me>m3Q*i&0bN@77FH&35AJF#QigMuL!;|M3k^(mtmQy=x{u0@pL-qn2g)F z!ah?$^FeuVXqS;*bQ4f=Ibu}ucTH-`e%1=6lN>|+&xv;QJ6ff$BsDt%#kim&bd0h% z@6L(FqxC?M>y#8*)p$RI*gWlchpQ$vs&J@7YgAvNFveHn_!SN|!aT|Jh@E={q@gmT zguf?#yB>Db`<r95t9!^uF9hskV8g3*9&Xjka2Lab;(H8pvhS)I2PFyuU(zT95U-k? z9*IKvMP9CzP@0@ono)N>oE|Yl6Z+oHN3$iK3_>o4BD?r8IBss>ghL*Ecwaff+VtZu zA+v={$DYc4Ov=@LBKryyl3Dr)yipfFOb`+d*pA#9{fxA!8!k#|<*B!rPAZY<c90|A zXIm}=4e+`Mmd`zu-U1I7JI$V@r%4FEwVskl1iWy~;skBHk<Rv@My)fNaf|NDuAZA7 zR9=L9FwL$AQ@1`7q|yby8Yd|`3eN~f`QnT4cbPu5CEin$-9TKo8|)gPe!loL`=Ek1 zsPGznbT#EWaipa}+~M(e{IVY`llgGq10n%oc2AW$las-$t9TY6Qo?9tRTTX@d4HC4 zlHV)lRTh_>$U*f~HD|6MLl5rn%DVmG&f~*aCVoqZi;gt=t<ndXv<IgT=*ih;$*xlD zGcK@Vy?z)MrTpv!C##s8mb++nFXpnA{;2sKvtO5%@;N#h^l#tD63i#XHS!JnlzY>V zN;_xIRG*<gHT8NCY8K*X1U957xt{nZNFPP@x!NI*J=gtOamuW!+;b$&>g82hj6ZNZ z!Nwf)YW)-6H{?kd3+Z+Sg~Bpcz^ZiJct_ZY^ObPVhQ|4k1a2qNfM0fXO8RT|nGFH& zD#=$;sD|%+zFfT`sFtOUo+Ww5b#Pnie5)8kr~jmAI{%G9QX)zOxo2WvjQ{jSxY=!u zI`MX&7BBy0gJn)tL$8BvlfYZceC~#W@JegpsR#~#)@-OMgcrFA{FAq#W3v92_PvUP z-+bHW_}mnx$ZY9yeH!exJatSrDk|@|#}0h4vcirbHtWdne#8h@ss!n7IO)O6dom<w zX{qEWRlMAXY)-;{b&0%Pj6)P${-K+|FELaGmoT~^$jQY|(<3CUWUF;SCjZnGs%t#A zS=-*x3-qd<N$<8Bot;yXeFZ0s`bdQ}W8HlVBoLEk@kgzym|)7Qt_bTrVB?ZSuN%8I zqF7FmF=u^9Bn9|n7CeL(AH<>$IkwA%D=z$f{9b%NqN*^f8&ZB~@!7CnrB{fp#W?(| z!e4C;=h>t-&m>TcGSpL74A~dNmy0xSOKbWvJ0FdDZ4h`hdFDjEGNUp?-p=3=qfg zs*l`Nem#Wq((Sx66uYkGNxFb|%ImTvuXb4O4FC4yd5t8hSnDov&`u~!ZC+SBsiriW z|EE(MOMy)B6b1>Gl{|e&Bdxl(w)z++l9hh4x@vN~w8KaaWq?1%(+OF?;~~=*<!hhJ zVPW{ETtLx68Bi1TDoiH4-L0zU3^_6s!JUdKB`fr@dC{=@1S=sg#?-hNj>CsVd^P#Q zIzP67=Sn5|*M`3c=T%ujTvjt#G<D}`_XSU_+6VN2iTZYZK^%u+d~86mOm>^l2IbBy z-_AwCc(aZW^qnWc-|^~kJgGck0mRdTFQleplH~)tRMzfv=3IY*L!bAekFT+1-;jS0 z4!uD}aCP2P`W~EN>Mb8m+B}J_IWrilz*=hg+(fR}+qtepIIY-ZuK#Hga~VCSZt_iX z@Cvm5;?baY-p}Nr(&`XC@}#tSP4Tn*V>{on*YLLSbK}_JZwQHSo_{z*zUjN(>hJS? zd(x?Yr3=3Dx|-7~<ZW=~6B9D?ADf>4vSc$v<CM22VIF&9OKW42y!~=Lgt0OdNBw6- znBO~M`{wKEP2V2GlPU4A+y!N7D#h+4_Nu?@Eck_*5XO~XbI}ZM>B40Iv((B@v^WMQ z0jhFkU*^oRmB>LXzEWHwmD{HaoGSl|7xE4Mtlc)Er_N`gwl-~M`{WDe$%lc5gj^PU z-_sq6Os!U$yIUMZ`Zp-u=QZWbxyEEe%O%G{;X0=bltKjqI`kT7Th67iA86tkpM5W1 z%#S;w_75<m85YuZhLmFSz^G0dcNjWhr53T++RtQad@%)KW4<v;_p2xh_#3nmed`gd z>~~>1BOiUx(iMd9VEurnpZ$3fxyYt;*P8s#uf*;X%DPhW5Sr<ROppEu^v_>C4r=39 zOR{+8F+JiVG1A^DFdIr4Ia26Bsz<7wQ7|K^DeTZ(tJN<90v>;V4I=ZzN2}+()ux|( zi?v>LyxF$oT^tHvrJ8uu*?j>p_?1OE$0~d;fLD%rWnc6P4|~WcN56Xi5OgkH)xm9# z+pfwFot*iNfYO;PHLA$4l~N=Ni84|GTe@;sbinz7$R--Aa4=W;@7?v{ai_HH0bf^2 zNLYyxLU^y$K->+3W5J@`u$?AeRoo;mJ~b|Xi&h&?Ukq|9gXP1Ken$UK7INR<u!X}3 z!o6$*@b@N<iYNUZ`w=@iN+2&ucBu3bYEn2q-7R}qiSV2>(r9>TlxOQ)5of!c#1wl1 zyD16U?4$uRyS>O@hkjZ@LG3f^l@e8ytOuGCQ)E`8CsKckM7y#?z%WT$f*5k%-vRY= z)o((I{o~q8>}nTWm~Xs$^Ot;UX2yJ4MkFL|f~`4F!V$)@Mv`9e!3J5K;{)5<hUiGK zR6XF7k4#XDgmjUbV~CVXkim#DtirOveesw-C7&fU-ZK15)Mh@nFca8lcBua?d!GKO zd3PjRe#{VwOFR3sJV3Ng_6}7Ak5~e4K^-qw1g~t}K_KT&>#(wwgq)AEj)a^eL7ytc z^h`OJ$ugVkbph7CN492b`1yyimxrMHob07Qc7@nwG6i&bjS@wVDXAwHyi#cX!5DS1 z4QW!`r{7dbji2z`Zn;+R(c962JrXzfJ_+op?6g1UDU%~(&^=d2P71M;<abmQ@MZ`d zqONv3+-dDpzCSh>&y#pFlnW#1etA=s1lEZspQWn!)58#KCH}+Er?8Ul=c_pENSr8T zBn9Xkx_f4C^wPMd+(C;&G7T6OvirXNb>8)VJ{_79yFd9a^N458n0}D4{4G4oEZUF# z{X4g$q%^8IjY{fBk9)Sx^^#rJ-l!2k6=FA4BBP=C=@U;`V|tP~EfYNJBE+v6I`f>` zrZMW!n?~NHh2hWA6=oFudi+If-?aE*=WWNTdS>yTMEmNwmvjYVgI>;}a*d(=3d1j# zJWrZC=h-IPK6Ky9v5QFUIY<oK(;kZshW)Fql@@V(>hmFtQ&UKmhLDK&8qekXC}-UO zIj7~U);f5-R-SKKiW)z*inNA<AN=GQF&g?ZzSHPJZ-fLVc$Q!3d6{69J>^c8V(R9e zXvla_ugg;kZbm&w9HsP>s<&!Kwt5%JjIHoz{8C&AWk0cqF23&?i`Higg_&O|WG7K- zpr3n>M3`u3d`NtEEhnkGJuxWMPU%T&r;)Oqq-02A6EJD&p!wJ8s#ZoF;?v18`cE>K z)VDda)i-iL(c_1-QIA$T>h*6n?x>|h*!u@YJqkQzmGvO0UaRCUzsxGKp}Z>EEree= z8t3J015BZjf1^P!_1-aJ={2()E%mM`Ptg2vG%~qi@-CLPUGD5}>S{&zQPlD1C^JR8 zD|E-)XIkJ{+K(w04D&*Ku<KN8SSY$pue7{4TFM+-x_)agY!7+?k63Y|JPOmv_Uqre zp<4~(aYa3()f!CoA?SxW5XK94Gm>u6yM>RS@gRSa6XM_fYi|4GrOUF;Dm3iTmAvh9 z6@Ix$$b6>obv@xdzOPh0okx}-)kOZnxHPdbpq1)oout+&N-rm=MbSeitCWMCMJ4hb z<rZ_uAm1mynS)S}%msit<?V!h<BqN!zKW8%{hnyFe`)cFNX%`KcVBGZe^~#NH_{iS zK!=5wSv|@g{9QZVgY1Li(Je!C_ygm0J%gY-FWzU~;vC$M?@^qiyfcNMZI->skAcU% z)ZAT|5j0ditJ<F`jlEt<x76}8-ISB;4W2hB?9sH;t|Yd+@ccKx@9oB|S!LV=q=NjX zp1*)Rd=D)^%H=n0kfRIDHDlm7t?FcP{*Xl#m>`s$XXlRL+)N0&>jYtl_Zssk2e{oZ zLC-8ZP7!lEngG)c=8p`X5CV3ipD*|J`Bk0P(E^okQ7@1E%$z>9MKjFGHj8xE4erQM z!YSyBM4vXGuh!!FYiGogADEI3TH#?Q-Hyfz3vftIsCkRq7%Iyqs(<4yL8sFvc*qm+ z>RKu%L5gF3DH)z!QiHvJgeAoyuQARL&?LS|bxwse59K|^QV_uWQAHye^?iLE_LplO z6ZP+$!_s(^TG2O!h{V6<w`2sR4n$5R0j4{rFbAvEcG>qtQ8!Q8+)BZ@2(@=>BipNT z>~D{RMKO>ExF!Vc3~BaC+UqbE`*4ciS2hI+kL)gUQ2>5mWwV2jwZvDKC!rB*J<H`W zyVt;zp*>-TH<y!}EAs5J6Gh+_T5#9hQ+VdQ0~i8Ox@P6=BTzRld)A%#+jINYJDvG` zNh9Q+N6s!q35A;SR#8aCw>(}(&MwFZ;~&yicEtI7l>=Icgkt+hZqrt_`uN&?z{0%v zeK8}5AO#mvA1z@!xvXJEnXcGSY@@32BuJ=;9JGF*%}o?N*_bDX1if_-oaf654CH)s z>If)NZpHK{`9XCKO?U1a!*5brcq-$RP~U75`Jxit_IH~)>cu(Qr)uC#=E*;K+tApF zM|DIgN9p7lE9TJPiY6lctlH+VBZ9oF#I)#;mk`4laaAxhmyJcyRXjD?<$%c}N#bKs zwqbEr^A_zs5pv^^B?*@WAv}o|^RO|3NWN4rCRlvflwERI61-F4g_48l)jtKP_(62^ z_U}<$^VBGHQ5jJtv%>@Nh7yVO+By6vmOPeSo@rjYK{okI`@dUvy_`4)?GFyw&7yzl zWEY;(tvl}4f5<q@Ac>T?R6Ya)QsZtgc$ApVIqB<VcT^C+uex!VCCNX5IW{m}zoA6v zT%=eS^7heRtC`(46v-y#S^gEfi{OA#*e%dVTCs>GCz1FlZO&mlN7)AIzprU#IqiQ) z-Mz<J^={9$L@o$bV+)ZSUmC@<2u<mu#=q)NU#-2i@6SoxR!a7uI4?2X%bjabIF+@N zaJzWoemkpUenWow+_;uPx#3Xe=~Tlsw9dQN^`PUG%g*FN!sdV*ee>h2i9s$R!+F+B zmzrBKw={kIK~3Uap+%dO>AP~O<IaT@<!g^&PlJLXn@NzUU*aQEM@yX&<AafXVjiX3 zg$e!QX-1rl1yWI#!t+_=zpDpMtm9<r>q@e&Cm8@xyx=v@l3bYZ+OSLl!^>B+7iM6K z`dXe$_@<5G`rrmLnI&sp=Ut3>3hmn0AF8dn{2Q138LVvQgL`y3Z@H6A7Z=isx`*H5 zPv}Y}fBP;Ux@Ba=^AE`LuA8BvKO5lIUD{d05fP@+yN72F5PNxiZMD8U!z{Oijc+K) zz7f>dv!nsf57KtRi<NU9in~)`uV>Q3F*iKP0pI=z2xkmVNBGEg3X`A4Js&%^e~I*Z zIUS69o^a$m&e|a9P#qvQg({92x5_SXfHLPzBlovS{(1*zw)7A|!Op03_g6^HeTLA> zl8s57P}kP-Qv`M)c3<Mh17&kARNHR!u|W<dhee*Ea51XnLR8LTTgeUDz>{Z=r-O}t zNf<3g$9$ySq@DLhT->=2_W6oP@CNZ&r(J+jUMy$lg=DjX-}e_ovh%imZqH6zUn934 zY5~(!`@_X9dtOnreTgk`Q}X_le6|tX<BAuQC-%}iH|SyO?s-!wIdk1P4HzkOC6PG$ zqrqH`J-GxyY<tgrQRM|Q{de}WQDf@`f=Ac`H@h`<n_pk>)=UBuga{s8f2NoO2puv_ zyXOknecG0L`-FZJO`N{ij9#16ppdJOv@~VNS?whG4?sgAkgo00Yeu_`?OLXs0;gc} zrrYkJewx^RrG9&cO<5BeX?Wt~wJp|`zHhnK?r=i>iqoZv?BkHXCE((}lbju$Y+D=& zenXJ9i_SbU8=#SVW2K+-M<q9&^RjibB<b4qXV8$^2<>P93w&={0xyx(FlH%57JmPc zjCctzQA<@24(2|~HeA#r$z&5YriVJSU$noK^XKc6scqNY#V5r-VKCYs<lOw5iBk6N zu}_lO=?#X7sl*fV*+M>6tYfBV>)Qe{&_W)fJE{L-GMj&0r7>Hss=Y`T6e~UMq3V{U zCwHt+3j1-ENJM-7l=Z)w8NTQf9(EW8UY4)};j?=cy;^(wM*qj54yS~kvw5d_8<(=B z#!8;aCDNkJM%P;gi)$z}OnRbYs?vUl#IBjk+p<)1_OmldWem!6p{!n(7s(#qZ<;G_ zHRKmxDYO^0H98!H_F4YCZx=aD*S@<(W@oobM0RJl?`{o^vn$@QjkEk2k?)BIIqQ9< z6*-2cwmUiNJs18Ax+U}EHZCVG;R@z5)P4&O`exNk@e!Q`i?6$q(sm(aWc2HqMMKE% zyRfwzt#+zKej7~${p*Zx+AugDwC?&3#0L9WFts1vpX#RG7`ZcrznibK3VuI$>zLgW zy4fVCxWIF(ZM5A0UflcoYk%`>Z^^{Q2XEQt1Z#+XfUBUG-BWm=DE|%n!(WtVdQ(I+ z!JuNv#C&GbBXXsxc7t1D2eK{UfXTkW$iG|~DJuf!<9xc7MdQT`KY({!sSdUN`Jl5z zIt=aty`{&AEd<x$CphWmKF*E)EoE<e4q2~*YC47~g-5p&x_xfE28{n@<K!=AaGtJo zoMR&u1$wdW2}yK#o+hy!0qj-%P)Ilq;8TyxmzL-}-tolMlQRr@b#-(qI7^QV(cV6c zvAG2++0g}Ux3*f<3!JA~hy1h6n?164>N=*lQo%29`P05H#xskB8?-3DZjQ9-=2tku z1xW<92y)n34|o)1O_8SR{}{sBitAnM861@cU{0+g%iB&F<`K10bj%~gr*jxS%4tsy zty>lB+)yoK*JfuHO=TGsAH;I~<|~?lqBkESmR<mJfQP||NYllAOyKBW;Bq%$g8Ypa znSF!c%gwx{Y#Mvia+;OYH`+cj-Saht#wffDNet1U&6TeGt9dyl__Ztj8U(5!{jtdK znoQ3-Y_--8=sbH7qoAe$LTppwb-P@TYf;?r!Q8)-z-?u>NoP#A<=%Ph7ue)nRNpqZ zD%=azLni)N1Ve=$$(Ud2w`Lw?6GNE#Dhk!!9aI|29T>Dr7py1)pDGGB$wk)ggk<=k zYG3ZvY>k!-vy^)V#<2XLwg=-4OK6Aedh9H=sQgw<Q8Z^PZrB~+4JRGct@sT?8VFLq zT<q7=h6v@gC;9X2AU8r?dhID1;DK+U1%$DFy46m+q|85j2nI`j&y%t5q?@@#hi+3V zRhTA^%#2YedHv3ghjO9(h9=}5ls@<HH%EAYDNV0FERQA|CuoYsU8aUhI|UbebhD{4 z{hqx<ZIH8_P7C>NOdSi)@il9~X;LjGT>cxGjYTz8ka-MUsJ}tH!7GOo)W{Be5h59} zfgxF&>!Nb>Ha(w$84R-v2|*a^J;j0HE1wMKyZ)&}t1-7yMjNvJpWr=*um*D_YoZT? z#68l4lYd_{^<@daGv?MxI5nF1*%t^*M(cbU)nxY{TuYmE9&drl$w{KTUu~)u$E7R= z`{z4g&Z(1a%KltxGURv~&9#X-lAgJZ`t^O(**YnfgUgo1!dNGk-e^3Q&?MG7aKAma zzJb<HBsQDdj?I!-#ASU65thC^DVFKHWxB`(({Z(|^7eI0`>Le%*=`i6>pVnzepWrs zD1p#zUh&M*OSX%+<@oreQyufw+pzO^@xlsPrYo9bj%x@5v1=aj_vj-ZPDN*m^MJCT zl^fX|rhi9vxvnb0D?O&&9mXw5*ZTRq($4}ThlArhT4aAg?dsm9q%a!2H^$n_lNS3s z24&!FEPn0fYYyGCEXV{8$1HT{UAY9>$V;*mk^TiZ^P1(?8qi&_^>dmm(wNX))53G} zi;1-Uf{PXJp@xc&ZkesEnfSzAotovs&#J1IE?AY!1!CK2Gk$l%wDA6d)jEFv$aKR= zg12(#57cL_P8Ow>4H3TUzM%9#GGdmDCmV&r>S(8mTPer7*pI1j@_NljI}YcPWw#&a za{)}@B}4ZAW}-`jnFI!`FYn3*QsE}0vyorCCu)2<5H_kZN`t6YTff0I0e3E2t=;rQ zdMnG_kJqx{+uY_i7c^Hqv1FRv=9TyrSHbNKxBzl8yjgv5b5OGl5<Kla=NHUsGkawZ zj}-t_U!C<vdt~#kCmiyX_GqXp=&$Fdw5(B+(bo&R<zZs~7{X#@ax@>B;flOiiA$wK zzC%v`tYg1O)9$Tg|9@l>y}$q??Y-$Jy8)&901{GLrop15-PVg_5%cQ*oq{>L1EigJ z4I7ZaFXw#uA^%CCiLOAl#D^xRgv>`c`GfHPjfHTsWoy;VG!U#4CF$u1hW%NRBjJ5i zf<NCCoR%G%e@1AUr6NbjdrL@u1F=J)NPss}7*fT>N#%bu4*LdS_z<@n@G6q%b&+gr z$L8HwvN~u&W<HErx>*own*xrGl9pYW6bF+hRize7%JRbLOl4Hy%6ECcZ9PEQ-qB3& z7%(8w<WK3KTWBe>UDk@>b7<VQT$)sF;11&k<%{29En0ZeHSfqAp*juzQ`zJ0LP?eH z(rUL%TGe@Tc9?5A0m}Z~YWLV3g*{lBP#blot;XQsm@mZ#M<`CeL*k+r2vvP(@W|<W z7ZS_ElL>Cx*qL9B=&N|pZ5d<3x{+?f8``4ZS8#+cl<{?*)o8{TVwwwSFP}U?=!YEN zy$bzav#XqDliJ^UWT1pAmT%p-WVLVeRlkQ$>OLbEe%4`XD~UPoE={r-)T%-O@{L~` zg~SBr=4iUk4^^gEtU&c51(LA2*C37r^6nj>K$b9Sv|+Cpj~tzxm@!W}U`vY;2#_xu z_81{=Dv&0qYy&I)Im+zKlXBhcYM$n3&IKgT<d;tA8fm4gj8H8B&It%A_h8GG+^(@B z{_89R0{^2eLjp3KEpblSnjLm~);Jdh%yN1J4}*X#N`Alk_R=Pu^jg~^0Ad5E)^13^ zIz}`?0PqE1FqS}U<tq{c0G%g`%4=4yU&e2?$85^1eSYn#{66uOOI~9JSnx(<u9;2r z0V1C~8H{D(WHmudo|m^v0S)MGm{)(#d)Ek*WLSS;fdt=StndxgsUnl%-cK0^wVfHB z_BWqry1>kSD41>j9l&}zXwy(m{X>b7dBW;CE#`yu-4z@N(2n0!R<;YPnNVPm{9of$ zAhJS&avRzA35l$bLt#s1P9(eOz1;D+eB_>s2%5Bul8(BFZ_CFP99z}!?gkU$A^Mnz zZB_f)g&beU2Vc)WEg}!vD$tIouNebuP^l<t>~gv=@%CgW8^KMf_-Y30H`90DNPdh# z+i@e5D>Fn>?)~cgm=HirPY)4ATCto?51TBSUeCsbq5<=Daei)IJLag8DAYikL)|Y6 z;w+@*#JbgU@Dvx2%<hUTlAg9^E+0=|9^!!nuw&A48z51`Fz}o->G)>4|DAw0DJ&Ea z38_q5HD3s>t?HY?K-AwzQpSUH_&aBONsQp>2p;+Q6Iom5Pe4WN%u3>*(HW~!hy!Gu z5{>6&50Y@}{|OUaa^td@V`DO2<bvv2$Gf8!W<Lx<+FD#GzJWsF@%X~#YkBBGrxudc zR>AA8#?{<1MvsS#Zhu~fUN6$yWU!##o*(GYR#BSdl%8{K=Aa%>EI{r!`rVIeR_>FM zS6%hC$TuipY;qCL5arz)>CA*&MgxsfdwlY283%s`Q%Wo^cNPmXad;fJ77N2KP%r$L z{#{jo5BV{1Uuxt({0t3a+8i3<-$iMy%zAtD4A46dk6_eo^wzXTrh*U_GE|fdWzJnu zk7V5L$w3Bq1Hr{Ofrx1?0)JoU{c^iV_j*_gqt|K)pUs}(G_c>E#y{4ypS34viXBQn zY_s~bVg62ZIy#^Di_t&!j+{{vLxG0zaum5cdP!+A$d>@QZqvpPb*Fk3!jEh2{_Ae+ zyZ|bhSfb?fEm<Z!&d1)XYO%j2IW%2kdE}o5I~`3<5o!K!2WsCf%geBxF4IqIYZrH2 z75G00I~`xE?>AAcfqA;Zds_qmbpTP(iUw%nt}Axe#VtgdYQp)*J{%>(FxeJM)<5am zQQ#D1>DnCMm)P#ZFieej|Bqn{Q96VryM3}U39mwNKaMw7hUcYsgy2I!4#9}m>-!GO ze<QMT1}&ZM*6u{WY&R4%ppY-3HY~dg``+ZuJ3}N0BEE)=<c<RKJ7@?|UB29W6Ip_E zVE5v<;d21iFbg_UD<|I~#NBHXuuu}(fbDd=-VeT~e>Yz5C8qWbW>USzjuF`0r@r8I zv|<biGr9Df{(W?lI>lK$EteSmN%w2XHwScGAA(R&fSh40z+VYW@1Yw<Y290uo%t<F zpB=x}vZ8%RhBi<LE|C1(DRIt2RRpL_1WLIw%WrGf=$YUg%82(VO&HY)6{y8ww*IpF z#36GbW-iY>g(apAf(Jnff?D&|68n0H>mRzpWADrg2gahM2P?2hB*O~&MMXWKEQEga z98PhQ#W6rksIFD``jX2q3;{|67$e@E>TiE-%RnVQy5T&YUjoTpI#P#M6|x+RJI1Xm z;t=5giwpmrDR1N``q&FkPj7)2%95R5=9~*+t?7xs3c_LJ_8{HSJ&wWk;wY&cq~{lY zq&NiGaLVveZz4*wjKBa1*|6TwS#(eUY23qLbUNM^jQ4YWCI;ne!HThXC<e;cXadNW zCIsGy_ZfIMCVoe#tgG>@H8lq9Y^8!b#1js6M3C<f*=Fllp)tx#p6AcsEz=H#(-neW zgGcO11B{(9Wr!3DrofkjM=(Uf(^nztFe~AJ3dtLOfa)&td;^t<TW+7En_lo=8y>#z z7L+!Q3Vt5X<7hGFcgViVp2c*ax=n&h-ekxZ;~t(1(*s6NrZq|qtAcbHf1{ZH`ta15 z)KF7EA&s8Fih}_2l_4i9SGdMNfRv831qbGQQvjACC`R_NmyT5=`U^8>ejCo@GBExB z=gjKGi3c{Iz<Y^d0Z?#S#^OwHMO78c1VrO3s5>o(jv;x=!!ZBXizn-in$YCJx95yg z)h-51Gd+Bg;TJQ0Nku7D4Kt|-^x}zkF*Mv0EMbKM$}58<TNdA~&;^5oZP_w**XLnE zlU_xI!&v#GVMt&`pcjuA*t;A)LD(DMs0y77j@<ys>qTLK(-Y%gJ16Xz7|0-oM?#DZ z4d}&74qn`lw*z|dXiED!?+fBq=yYJZ4GuXI`2hRYPi~(~tx7Q+N`D{%QCbrEPMLwI z`%&8bpdkhs8i>Wji(^Me-=gB{3@nT#Te7$O{>)iw1zA!qC>183j3qzdl*G_|C!0Z* zWf9ydz#1+QwF3?XvUgV#BVH!pENzer4Z#c_*_pOR0WKEufLrAjtM3*ipmOcy5z?`c z141A62N^#0%JxRc9sV3^2TpQeJEvhVJrXiO1gIB}x;7s*$GHr#(@|GZ?{_G(7>AJf ziRySbZHKK%#UJ4xTM9Gb8^f0l(NUsM5!r<9eFb989(-Y-?9RtFn1C&Xf2bGId;R7~ ztN-)5jzPeLNW_rXQvyC=AT8+}I2<ma-c8g-!&tH%l_Nn%+-d;78YoGDqh0;?VW*>0 z(FKAkY08HHPgWssXJZpq0W_+@Dd^VoaYaA)mSr5J<}D60WFy`!JbejQi$@(tH_#?o z*bgEs0=u;JCI2ltYHBdgMg45|8^AwRzWu-<><PuWF3kZhQN1ze`vt%?V{3rKd0-W| zmbd$2q625OC(x1ylwb(W%>+NaH~Z%7b>b1GEC_uK2s>qlffao;sYSZu3S9&`b3xnM ziAm=IWZzDte|7X=5nx@~XAy4X56%v#{IOP8`D#89`Xh6x_X1PsSNSWmqX7$}eJ!Tz ziHp#*m4I(RhXW*YviV4h1Kp6h+1k}oAO{@oTSP=x6Y3BEp(nyJE-9NDnfrkz7!VA~ zyeq$)2MSoIitELhK~kV*P+J~w25(tod93Jz0fhT81KclYAcOOKfBfz=6L7$Y--%Y9 z0XQcdwNcD%{?qjoVC#Z2rbPVLmIsDC-uuS4yNCePB9Pc66s!w!8v1Pny@^-~hCR?b z<j9ZtpI>g7NjZA~7HF;T50d9V4!#w~;}I;`azJTQyRP&9xgPw|v1t0Aa0wUF+U3A; zbt#5bzUo~G2GsChW8Qznlg;(#N-z}8-Z8!gafa>!DNm{h`+0hxzILgJ(f=oE^?!|d zpgA8UxOnn-!WEF<8cG^5O#CHorH^XlBSgZ1ADDmHIOS9cH55+2ec}lGuQPA^$r-FE zkY-*604QcMCYdDPl5MOB&C+9O^?}H)>20^4F%ltXu+_1;6i{__ATeoKzLDU3wgH#z zeU;`+jWM-C6;PJg$#(+{@*-^lmjY;t4IvmZ|M3yMg2k}8G==7yFM@!A30C+p=pf3{ zSryI)1K{o4l;H9Z0HQL~w-<5>V+QD5^4|0!*M;`~&&{s8`o8-{qQM(><_zRt3BEQ1 zGW&yyzBUgc-1B`v_W#~<J{b}N24`UY9iaK#x<nvHKnC$wHHER4pcpPZg+rdk@q+)L zZ=pcBwZ+qT*MV%;dK~^U7*Z>=_%GOvZ{fjz#KE^hoc{<93*0Gcz~@C!`4$1>{1PB~ ziw`1BILJM}ZF!M@t_eLvCicvYM1ct?0!0-UakvJib+yEr$r3EKjql7oyaAO!gz`)d za+L1w+0*)u$d$U~{*SPu@otMaYe<0c%K=3&6}bTA<$6k7=x_%jRv9ENZb8Irn#9H) zu#SgN%48kXpr|<-3b*#4Af-RhI)*@n|L%zLUj-527<6Zb|Ec;KcQ`;PPJ(?vg9Hf% z`fyVi#kgIU9Qei&KbhBwJdSXS2<P#E?xj>~SiVkDvjNl;S+A!s&6e1V?{a+7yRq<t z#R;ib7C+T;$+l@+UY+p*kPEBORF_)Zj&Me4fmZ|wn=`+;kN7IGLsmygeC$djj67bb zU2Q~p+UB<11`I#SED@84Bo?kX6|ncFst|=9OU%vrzGo+@?wJ2*4<Ny-=fpBy^NNn; z>r#zvKd{D&D<EoCt!Kt`kxkFyosA9<!kQYhF3-708tIaey!pFiy{~P?3Dd$j!;}1l zHUnG*)6|)vm2Uc3>ijtsO&$|fq)1bMuy-HSy2M8b)6YuR1p~lBshYh(T682qXfpei zV74Klr@_OY+O^%*o6o&PZX-JAwB54s!afS@fv}Ll1Wbg;Fn|}o1Wnq<dm#?=V_<ck zWYs5E2Rfi>W=GeBH#8--WgWJE?ssGAFRV*$dAL01Su*)VN{r*{Z;~{mq;+#y0exxR z4@*D81RSiNEr{dtu|b<QR*hEQe97WC6wTx1RG>58lbQ*fN2^kpIMFHTFimI!VHQcg zmOQpcQ`;UL$_a6A*`9okm6%yzS}6Jq1JpZap$jIps>_lKR~ojlIx#(sYPJZgF@GNj z0c{C6BJw)zHYECGN_i7~oi%SpB$$z0p=%J%U$AT)80Mb6%wL2US}PNzvOGRTkqM#@ zsO_r#L*_U;gO^fhBncrhYmg3@S5e#D;6Rw6NJTHtqDW=ztZP7<rwcYzNetpw&<0{q z0X_1R6o7}!6a9EQRpfcqLm=skeXZcR8AmPz03(Aer@#%4f_S2Nc>)??0eb-H{bBQx zsuRv`4J{=1+NB<F1$vnvO~bCRRyHf<KvSpWy9qr;Rb$Nu0!r_zHE2NgeL$2MNK^R^ zrwAWNWFwLp{;%D1B4=jv-XAuD3C;y^d_Wy>YI5)A%H;RsGkgm6S`WhIf5NUwu?wk6 zp%;As85uB=_MN)w`pY$Cz_^2cDJ7cV%~nO5l+~fyKZUPA2wDpsi<$^*AoaWuiB`)} z7qV?N1<u)@+jG6bUy^kq8XUP*)v&jPB79}}pbVl}zM!|oHuEv6Km-wb7SYO*V@Lwa zk(@f*JF!kXZpX`e)lCrQHBg>S)UKMYy*)1W0OA2`WS65w7ePnbx$q9v%b+zSitq`f zvKVwz2TZnmDKw0A+SSvzUf)e$^lQNWX>*=!6&i>aQ4?3`vk53x6Wo3R>p4zS3V<Z@ z8nEVlAwKx70>VbV2;xDwX|a2>ya72vJfZ<5rLz=14*<Kt3c^O--Lj+(M8qN)DE=zC z_!pJ-9vKg-`w-qSk>z5b0$y8R2>tiamDVUhHY|z95zlD0ioc$cG^HRVbOa}w#$FhO zR53HgHaSrj3+z>#^p!3@W|P#`wP&j#2bIgph4~c4L~(VoCy!4ts}X;d1o3W1Pz9D# z;sdp%0pV`PKocgcmqWs~{Z>f3hm=#(rRaKFQM2A7=|zX?DwA(wlLMv)BFU~FSnE>X zf#(NU&gCWBx^(_`V$Wh$;Xw+uqabtj8?eKBVj;a3n&*o0h=d&>$t2(^$q@GRltFbV z_qEVYiC)%kvR)g32+12ORcC`(yLiXo+2~Qy1$m7xbXKuGBwBQ$6Q^!Vr{}crJ#4og zM9>3>3#@JM`0-fdLdO=qF?!uWrqJ~)F8^5#xgr8u_sy@?;6n(5iVD58!2oWsV?`p| zRqQ>{opLo4W7Y}Lp%Gvu6WU`17)6oGGzOZ6N&IMWtWar9mgUu=HGmGvY&SAqQxS`s zv(uh_5Lw|@g233F!Vr*atMpLYfe6f(s;QyPK2)_1TF|6;O}0Y)S(Wdjq5<of-aUvX zB69{lr#M9CmZD`Qz3Dm+=gvEaMrThG=o;4ixey!I0F74%(YMO2OV`+iso<YD-Sh5! zrTQ&xt2T{@GgEC+PT+7OMA2vPL>p)+4=CbA1cmceXh;1Mp~44}0l5Pfq4unc7wWK? zW1FuHt!h0yDqX_&2S}0_-4#gLHP#SuDd2u66T!ytt0~lu+L_%3M-Uz<Y-o%@ZGWN8 zN5KJ<?l}y;VlX{;9nF&SIhO5MT#*#;e{S$xH_@?|!cp!Yb^=Z@og#+klKG~kB5kXF z{D+U!h5W6sLCoN5^L~)U6SVx=<`#M@SNf27p?N(NicZJ&t8j#iFmmbBHi<=Tp>mZ? zZRi+bKC6_3!+{HH+R7z1XYxAhZPf$JZaApK7!U6$ym?-kmep+_@K_jYp2Nw^U=Bo1 z(f%ALL5NqAhlxBi!Oj%OtX3r=nB5$2$S&7I?#JR$559jyAoy5msV4(^GgTbeeDjQI z3UQ2~os2vB!`QCvIOg~vLD<MamYBc3K~MFr0)z_>zaUk9zax*9rTyB4!B3oAr~P&Q zjfT>%Yg2ApV`-V>OZvG7?LWTFA*Adz^F=kOstS+5Id8b1I7D+0o}3R>7o;AWGpiN~ zyPXik6CJX<C<2);3e(IymzL+iU1)odF66#7NZQ2#=F9^!VPD9CoQDQbx=6Y}0Gz}B zaEPq==pb7h!x2x;sTNNiu5v!j0mM(4{67l=4FjiFzouNk0bC(DEQ^Tcd3qu^+{BvN z@aEFWn%pp0=zeG7Q_W6w>{Q}I&1dE!9H%;Pv77!+8OWb9X~0EXxJ4{;wH}I&z{GAE zq`2dS{lvfg2pV6KfF~3|#GUutX8%KuG#scJQp#)!+uMzdd)7R3A&I*QZVK5O&z)X4 z1fF%;Lvb6%nEhR<2NiP|j3xpWHoTf_ABv<cY5GJLoxx)Xs?g;-=kDC<`H->rV)coi z)Cunvv`jULyWfp#TuI#fQtW8fE&Qj<gd3c{Yd?4kjletGFml7o@3-kZ7K7LQg@t9g zJn^fr`$%Dx=NqTCsCMpyJI~Ew!+Sh9Yi>^lSb342VTfTg5HTsIkH40UzJ1Px4Xn8~ z@SaL=l()@4?m#W171fZ^M)(A`MMv{xIJBO|I2=DC|7G_r7}l5bJ8MIJLeJ(%NDmBA zR+h{SE~{q*-B+4qbeCTz)f#{ApO-z*hdM}>b6i;Z?o&HarzxLRJdC0$ra~geI&g2F z^54$W$hx2(=-hGs!%lm{v-a95qWtc9AuX>D)%y1h#f(|%tlVls{y*?E)uZ=G7l`Qn zxoR`~nJ0^5)M{wQBg&-#D|j`h4+$@`JHGFheSR2^Su7J0K?{NYQ0xQeyl(0XHy6DR zDL!n68>F*Um)O(9SW!Nh{{I7>)|&!{SuP_~c&P;S?>CR?W_qtO+F{kYbWls!fm&SM zbGfpraU*V~{wIw-ir%!*8u?I%<genP7h?*FafJSI;q{V_$as^gy^u!>Kt9COS~FR5 z#4~#gsdUd6!UaU^q{DOqO3MYy_~8fN6Cd>D=jq)_&Qp@4UGHxW6FZD8njoGqWl*UP zdz2Qo52JpGwSUe9r}4q}e*HpCA#(}won@Q5+V;R{U^Xq3=q<;@6#EpeLCvx!{?l;m zml}#c2YUa}@n33+!qPJ^Q9UpC)%z$2a0{`;mB`{_*d&<z#|G430iM2#{Rb|q1QRD$ zS^{f}!8Y?Uv!QXM?xA%GBGr5B^%aEpZcg?2Kz}&VX*No_WqoakUD8s|eahvIT~C-2 zY@}>=Siihzci3aG$dgj(A+MQ0`gN6iaS0==3eG#6^`6O`<a%*{w3dj$t^tbZ05ZV- z(RQjSH(NcfYjy7$hjI{h+}VT*Y#rw9PwC-$$4D13Ff(iI>E}8xmIwP46Uz$Rv`Pzx zpOcj00w~jyp@Cm9-DzNkEkUhtgy_(a$K;oqNSlN_DmX#a27yD(An|&z10GcoiAA{0 zE0Wn@U`%)QOCT8JCVBp^Y&|kC9B|FOQv~p4I7|9{!j4aYh|g7gL^>&AV9XHz;aDN^ zdg$+v6ug4zn-Q8(S6z|xKy8xuZGmGfdLp($fi(}qu>mB60vI#<Kj7|}Ck-oj^YG!A zg8oj8+9$A0a#M03QIavrXXeiIkv`HzcB_0!f(%9&FXHcwq%5ZBOaxuIvJLXSG~YLZ zeFJ4t?XRG|v-T5w@P9uO?VQ*ZNhIOm!`jt$bpmrlqZN~H!F5E7EOc4}(}yzYVx^w| z50o_KT5s`p*i3N(g9kT8^Nf=PV}x)Rhk*~2+?>#i<?Ur4P#_Lq!bDB3W>*XO7owNT z+=mw(1CAY(R@J)(UIW)|5as&=3C<kS80`@*X&Foh>Yf8|?u-EfT_Y!E@<xvOV>-k( z+4qtc*+cAqOd)F+z!oiHwnKFf6GuFGaeVJ!;}`DT9rBbHnA(N(WP64A+vW=~^`Rh4 zSrSmPqO`r7cO;A9d2IoJ&Imkkyv?%-+;P02mkjvRD~Ef15A@`ll~{KF`gxffT&kYM zbTG`=I35W*WUD0};UmzB3%~Nvf$SgRLko1J=4FRto}S7;1LW|U%AGLSL2py#P6Wed z|E&$_hQ7Agp2(FMo!p4Hgv0(_LZ1tj5+$mLN&na5vtAuW0zIgWO;)AxFRZQ_>7Nk4 z;4;xO4p^_G1cDd$vKtEjR^<SHkqz4;*D<3u7W&Of7aaDDu7U^a4*<%N5qMS7t3{5> zjZw3vp+go-#sNO77?wh=V@z$_^1G%H4rZc1`Gr=8D){LegnI@82#`gg-3J-ET#|K4 zAy(8j4(@pZN@XU@j_;R`qQ{UprtJ_5W;i0|AL;q_+w-Dt&ap2^CO(TQ%cH6<qRZVo zo9qy2PRp;{J~=+far<*!J(;eb=!I<K72I^`!50DxFtQgUodn_v6$SDN5&lpR3!?vH zc9!IcYP8x)4M1mj$O_TPddDK}cD@M93^*5~UEY0%IqO@!<Z+~iOPBg)ue{Cc@;$<9 zWzu<yy9oNO$Z;w>lg@rC7ugngD9Qqo$QALycH30E*#d)vpjVLKFcc)s0ZD&-DF$ea z6RuK}a^y_Mpj0OPe4-5qu9fb^5sgyYEeJbAj`#jW_L?xn2BPuioNCKHF#UXUL>$Wm zjt8sGb;-qDPTcFma1-0!g$PJJ636QG<OzIt@inb!-&N;R7PWJAsAT{w4$eJOLiE1v z@0xVa6{c;Y&Wv{ftd?4SuwVPF)F`mjEm`&<T=N>$g$=#rk^~{q3ButeQwtj#ziBO0 zBnIH8yGSD1@+8nS6TE-h{_r7i3;h$eAGNS<5PfYccS#Sot`MA3{hd_nx=p?1M!HXa zxZ}7#d$2`A%Yq*>+rlq7xfAto=LoULu1mj`f?<3wmv^8vyQC%-*GQ>bvYd-TJmbWM zN+unp4qrcw90#rR{s$xbmx$ML?x)Nj`##mQ6PZ6a$F1ofT&(o9tg0I2>Pb{L@;R3k z<<yCOcIPk=jtW^ToI%`O{3xWB6*$05?#v^vGPNp*T6KqP>>=uZ<dpt4BZZ4;`2eMB zLB*jhVpwSfiM(e<;MVY`5TD{O@Ab6MW~I95Kqe<4(;}a>u_A8#YjMc5lvGfyJf}nt zZX3F(f+a-=lIk*jC^!3Vt4htC68(o1iT<&D_cyFZj#A?jTd2KYEEJyP&$wviXrksl z$o&4|My`)oDXy_^3S*kT)N(6Nw=2shHj4jLQGe0XZu?DvZ@GEVNz>>?<x%;lirJ=x zN0hQ(SzcskP+$=M$8BDf&-tV*=h|qgRV>{31i|%YVg6&MlHqp!qrQ?s!27<E;oNCu z0gE5+eahZ|%;{!9v#7E>o?H<iK&DBR4C7$GD;c0N?G1t+E*uQ5z&<{LDjDX=yiWf2 z*KxqNlTj!I78mTPNa^K4>o<~>!R<y3ZvuHJ^%WiR^nZisJ#*Zta3z0gC0HBdsDgjn zF`_BhnMN5~|Nl*}VP{u#UY)Jl<FMo%Ox?Z{sO{|TYr<u*7U136RV*kr)uxVV=&8ZS zcg8g$ujn)Z0qwC`VCr^1H#&|recahq3>?{2q}vhL)B@jE0XN)QsKrOz3rFo|4H?xg zKyYo=9o^19iVmi01F<hpt;HkU3y9->Db+qTanLTZx)zv44prh_1`h3U^LTD;*3qkj zCM`xK!*&(Sp9lps?M>Z!xEI=gFK}afZ^r(P`&0Wa)iZkIG1HK?-rI}8?SRj1eXr8* zb;QKD`h*m1nS&H*mq~wGJ5JfND0_JUh~d^{gHvFmx@bE5!m>BSCM$6ccqR)J^}3c= zpUFG?ppWuM*S?91*y3U>HC2z||Dr7AVTwAbl3LNGm8C(iVC*cPS-`p`-Uv+goo=8+ z4x;!|McRS?*De(*zRt}JUaqc8R@U=mRDPW364S}w`{bBf2A0l*UtUj7n?~);q4rOe z1h(eFg64z3dTSYQB+=U%XkIO7YFeKhuiP%Au>NdnzFNSFIMdT!qWWym)7;9~;RfyO zAr2fAeU>e`ZShO3Wts7n<>3au?HD*!s*g-o5O_{#k<G9SX0C?vFrkI-^!Ma+T-8cm z)BpWxjR?QQ(-s~1S71vq7=mhM>=D(JUsE_2hD?`U?-*HGt}sRjqcbVA8Dl^nVU7if zsMpa)u7LQtvzW+4dldd(SaDUPYoq~7MB_==l)Lm@qZo14H>K&%o$Ewg5A~!Dg?yqX zkC7e?J7Q5CY(#li@yMH=u0&cL>@mEMI@hDI&g5VR>@j48eYV=)kQV+CnxHC0@Kues zvXNT+)&IVHbwOIInC2x0kMQ_rNxtZE>_(~#KvotH3&7(YF|WEpjwwZSk1#r7538s5 z-y7`zF1=CodQpnVs2-0Kr3?awSvg4#Q*~vKq@JwGL7F;^-HTzkoHxoJJE_T;rUyZ1 zpXd|o(sY`OBDGr>ytvWij>Di*3W#v4E_+?R6ngKOPAhk1K(8%e@$e&{3@%`K$XD}k z;)kqZgwEp6)j>_qf$-to-?Y(OTAlg&+8<c}onw5$>TlA2<qYC!fd<IfJlrUSRm?%< z*wSWU<JW%A%q$qGnsGHwQ$+4yb83<yZuD`;jLP&-FVcDlE{!_YWW&@jT2)s{w(_d* zdEpvl!0OKnbYl=2V?8$I;7$ZBMXYfKk;wkxw~vLTv=Bf{oO06(m&(TqsfP|j(8J!A z12)c}K${`h{6)bMFI})@mm2Ws==R894K}}rw#x(!A+d|F1p59|G?wly;2w}#tAyh` z`}indnHNDI-4A9uT;tlVxIOF<1%w*AGcRg%L+A3vglS4%DkbA8AjOcd7$MD4%l!VF zS8Ih*$S)MuU;D1AM1aQPHK!bsLTA4=zXLQehbXKfNcslp;EVxOzATf)`V}fBA|YAB zxolzt=eVxU#mSK@S|FiCfA`6ARU)Z+z7lwrCMaRSAW%)s97ixq&P%_wPQJPBGZ0SR zVMq(R-!%@VtR<NN0+<Fs>26vQz|&Dv-BXuL`3g0*3Oq{#$gK=oMuAFm*He5x0n>6c z|Ca_&(0$f)7%NMAY8C__jS;~~2aF7nKAQnc=mmdR0}r@rt@0G^VrJ2-ohD8=A1(gB zAl>a7z>_pTMx!uSR4_sm56lLHdlYMCvs1u+r%!K9(nD9y8h<dn_qi%*;mI@^j!uCg z`SNR?8jc|UFr`hju*(nBf>?k-fXMIyK6Aft7~AEOCguS0OE}fKZoNb+ES(~LriuQ= z`73+Pj1?1IRNE>owS=a0!vPHR%<=)GnbR9-NDV>4mA(Dqfk1<)-ri+jh}UI#4bGR} z`3K$YmeY(9LM|`pL~I}M?*hAD#wXTIgc3yR4dTigbR1Ex$|n{{>o4sIUDN$US=K}P zkX`r=HPew#tn8F;t*0r*?>DQ#1$*@2o_A#>cxaiwVvO{=XP9Ha2fhRXpFCREj9D^~ z(~>;)r0kJest5p=m2(&^>dI7OOWp%x4|f1IIa_0DwoTaW6^>iU3+rgVow44}7kHz< zwy_BaQ_~$BQ8op#N?9=g(}`jMT_=Do{UOaT37&m$EyD?7tACJ~WJB_@bl1qI10f6} zuaY$CE(_1k>smE55deRrt5hv;z~L(vA0`kLPc=y##IlivxPV#6lZCu7S}=g<R`|y+ z3Df4%$Hcx|zd4t7diVla!ewwK!F{6`Y6&7-z>F9M&9(@;7x9;IZQqz43czB8dY<*p zbJ-6EGHTvaUxtO7&x`?u>Wn*x)uHN7ag2SJBrP%{g=}K3axm_jD&GHQg;BEt*=FCu z)Nt>afe8et(%wN)OX<zew6UZq`RSal6@3|$eloiRm0D)jSp1RSlB(gcdM)Q+{bw@t zu4z@jGppw%;Jx)gRqXWRi9f0*@J%?tf*47oKkMre0{fSATcIQ`KCBQXgFU9He69j` zd2KHS4o_3+6L^K_T#eG>8rPI21lbt3*v<B_>c{^@-CM>*)pd=-q?Dj^gLHR;AWFl4 zbV|b@Aq^rRB_NIT3?+?#ba(gAAz+|@N(>@`Nb~ODx~}`V@8@^_-{1es`{Dg?W}m%k zueJ7C>&%?l=j_#5@8bShgHQBI3=J-y#;fx-0R9hmjK-dei%}O?#R4&I8w;S{b>Nof zHUHXK`-0iqxD7wGkj7<;Tf6qwBhb;e$t5wkIq!X*Xwo)oy~RCEt&HvsYsQbGiZthJ z@+PMW=8Kc;oi(ufWzEmUYmQA*)gvAS)CxUmRu~8`uIQPqCcNui<4taCj-g@14k*Ou z>x+5l)2lEF<&=1iF~Lit`waE1zLjQ603<ZDWEAZX`LI>VYKvPCr@^rgh~|G>olJX^ z7tsg^z)BUX0dDt4{AO)q7zBf#_w)4TaMGWGr7B|yE?Y4X+Y|GuZ265G3b<f|9mOgz zvLx!Q(Lj@bU#s%-wJK+rTvQ0ND<ksrmct!B@u~wBzbvW_5BiQnwhwr;?|R3pBU+;4 zcRq_F(;mkh_|Ey8F}(UZUhuXjKCC~zDtoENbEic)Scp%<NQ)8z*=kXKK0BLM{|ers zJYHPP<6s6>e(b7KzL2OQ==z}A03?Me6j&{_@E@16Ai3bE6B>#PZ&KQK*e_QHMDsv+ zLtB)m5PdEQbkF{@eSVi1O=R__O<qT89L=|yKtJu^CaSBqkGq48w4k(mv$XGyT@zrQ z=LOOBuowe-Z=af^+i#7X(1YL1<v^9Wfy?X!XVE)+=2FxFLssRFBO1KFB74Bn6j`9( zcPpSDJr6+A!lIqM<x)0#Hr3g?aau!1c~duB*w;<c4S1U^GVDzTJ$Gn}!TDuvL(JF3 z;B>><5B^$B_T=Leuh^OZq+PYb*!6ih3hAI$VJr=ljhWWHv1dW4m@*&E4!Sn}vGWCF znv?5gk7jDK%xg}G*1q`>SePgZSs<a59Yd_X^#q@cZ;`YwW4q<PcvNR4>DY-Vib#&w z_}-wZIdhlPa)$Z0Hg!jq`OjHdPC^v*kN#p0PfA;f_RlPeZ8bpVYc(YF<s*oVgpA#X zxd)S;U(maPpKPhWEUs|B7^W%#VZe}jSkPK-1;gJOo)PHF7;QNZPx;WA=SRO!`dWL3 za(_Crmx}{^DDU9=9bWSYl`8uqHQ|2RB&tptc+yyjT4Zb0&y~&rVUPoXfdoyoH#CgC z_&7M<RWpcuC@{gq9w#3$6*BnLe|L_B>=RZK6a?-u!qm9!nt{UZ9E5(v)D3z;z~9lz z$ZHM<D#=m0MTHCANi14aPw)0WTki8K8Y=0R+U=(`QU&7Y<o!{jF>T)&npNh?t@9?& zZC_A{h%B!7d3WClnD#TUcJc*i!qS#>h|?Z%E<OW7EjkQL+wcY8CDv>NK#0AJ)z%mY z|DV4C^wO*PcwT9~07Mk4DqH|*z|6~M9%1AqX%DoD>_>q}k4gaOAuq(N4gYn6<P(5E zAN<Gyw124F15}W+?_vi80yI3l=JwX&id*)iwqKuB-*ku(|G?AV&1FKRSUoOi))sSk ziMQLDz)iO`?koxl#g+r#jOWD2v|ZKjG%{+T?09YTgWJ@x26?W)Q+62DM8(Awst==3 zZrSQ)2Kop)zOC{8x|n2}Afem+z_cyq<`BjdL4%4NvwD$TKG=^-uR;zKLM57`JI=;! zF^JF11u`tdVHH_G0^DS@;u#8vdh2sdU=WkUg4PY76T-;)6Am<&ncx|<Giq33H)_;? zCg-=RV7=*8%;V#)&_Kg8xCGofQZC%&ofg4g{d+ty{gKheyvHlx^AV*741k0(*8Z`U zg58BW$xk3?L$~M<B~PZs1|E=kuQ4adR@tJ9NEpa|MjpUt0aWP#cL{=kAGnNOGr{iy zfc~%V#C!p-^5VxTo;hxD*Zr79dyXAvn`Qa|>m9u}nExdDNZ@HDSM<*5m&v@uvR5qr zmsq4=?CbR<pgtD-Djgj{<26@O2kT4F0K@hA5-f1yyRGT6RSrrZGyVL_<yiw_KqQS? zUlInKj9Oo!gmN=#eF+M4ihAuc?vW5PYJEuz5G?$vo9l%sacVE~`aH+dU+f8Ad^s1d zkp_bn<_}PkMnoss%E&?S-!T4NDL*z#E_<wMREYxECB*pn22`RHI5;Ls2c!>tsLa~9 zQA{LS&F0tKx{Ft>TGwZuM7z@{(RIlRC|a7|7eJbUT~1pPpZT?X#oy~_py2m~$UB?9 zr#JaS{M=F+xybbSc4>nvy+R?`;QhgY3|b+~mNlKvTWjv}L{=F!j)U#@{bxS@jJLzj zG7Jq&B0GE7R^wPqGG60iy35~_nfAo=q7!XhW2ph7GOMqI{BZ`Ciz$6r3;3k2akK|a zpU*U{=kU+-0K}lDBn>o#k(xYuOATRxePrU5cV3G|X!88zxh8S~;7r0S!;%_D?6yKc zTKVFd6yxI@AmxAgSEu_E=rDv_cUCC-l%r}Kf0KgO+Ja#Yv4DiJznQvw0o}^qWBvup zB)AsdNF`ng$hYa18iXS>E6l9t#!w>h*0(_OiNpT|7&^3j26W`zPy|y^pIm?`aAGB? zRTR(?<&7j<-ZCKWdDJH;=n4L;|9FjZ0G+(2FyM=u=O3IvhmxcdrM+ux&#M<Tj*S_c z0l?O6^Ma?qUkfi4_k@7`*w^}$^X&i0>?<+&OFR5?N}yx8?ovbF@dYhmC@#O~W6N(5 z6hoXU&to{djAQHmNM4FjCldFoJ<E>}K&RHDN#?q5efC1{Tlm}Kpt95p#X#DG>ZE<b zD7V`>OHn>MEcRrPM&Yl8o4d4y1=0~CgUmBK*_(FM!B4p_U5OJr-J63N<AUpT0yi|7 zQb!~F74e_PzHw91$MW4iyb#7;PY0V_FVv9Fv4iy;QoOd2U{CfxZ_{R|R+2PC!DiRC zedl;zo7Se(1`jY+oW7F_pH!ATw!ku*2+WTgx|6}yrYF3bjKJlLIf*vgQp0cP3V*+5 zd;Mx!{|lZNymhd?!-VxlICbrY%$-O9@Mc=C5Scd;E~YcXnP9<0G~R=?piedooP}1m zdHN_nMSAV*xf8h%5zL7(yvFrAMx;c$rXWTzl+Cv@NLb=HxWg#L9N0L{%%l7zP`h1! zXKwj5d@IgEDM;~)u$=Xew2sn0l^rGwviii2w8I`T$dlo&o5X%*i~95;ngsZr&TuAN zlP4%1HW<OfwFo9~;8b&|fn@xt^_=?KR&Nk&?DfKYS%#d}2@JFW1p6Ie#u-I%vkWCS z^9+n!=0zeF9reJP4j;TM!>r|!G=3LTCIa)NhSR)PXXVr7)^DQ9`@pN6%3d;+S+~UX z7Bg`VhcEaJvf3GoSH9{2<K>15ae`>>YpQVtQDj4FfC>a55Iau90;V7+-{J4Ck&0JB z`>&HKCq4ibPketR-H3=a;OPiK#nyD%bvmt}qO(~702+K$Zu;x@*EvRTqgYt0B0;*D zqA)syz_>tbps@`HP}N^3#t9g-nSAHt4Z^KOw{PiL1BZ<e+pmQn?ls_@G~dd_wYjTA zpW?8R1M;@;2rKf~Gb9C9(I${9OV^!M^@T&v!(}dp!6!i>`sR2E`P)Zu5a5KjsDS^X zy=Sz(*D>+35loQrYVqx-utjUB^0=6GPR6sjnBJc*-eA?RAyw@Gp!=u~CQ>Cz;G2kE z@k)~S{11F<9Mf7bifn+qwXr~$n6UL6w@3W(qUX*qGj+S98r_4A=)HjfBb$+aVcoTM zrE~pW(4HxMu&;?rJ-#1z7eO7(I5_gczG&cK-UT}^3mbStyr>65$}zV0KsbPcCm%2Y zDe4vR=rCpVH*~5utZ2FNJ@SOnC^_)Vl?=);-93^=^mP`G&|4(cTKsxH3ZXD5nC90A z!*^faa-jf>ud{y>_6({q8_C9ETwvCerT(nADpJJ60PMKs_q6lm097<BM&T_nI?P&~ zb-sCR$tyB8MX~IZHd>Pia2CYH&fN|H5UJ_~hZ~>QSak-+_ghh;Hhih$yNRMu9-Mqf zvW-EtMRH^CnD?o})iEO#naEO}@mgqiezlc0@BZgAj~}=sns@be!n(rl*AA@Px-(ey z0fJE;k6ahj3EZ45u>2<6;r^K>6`96e96ROda6m}#Sp@?69Z|JL*JNzdzhg+1ZWf9$ zw`kL!9+dVH)btvtQd+4<a)*7F=)2#gsPWb)w<R^*efvvbM2H#XW?G`XmMzV9Z^hY6 z5)F4R+xw7=wLW6XB7QR^X~ovxauCZNiCle~3Cwo&+23ti!mF2^Naul@L5%JcE(W~& zEA)6L$PTdlWFOh_4E+z`JsCIip6C5jlkX|rSAW(YOk#hKI7fB_T%-2>LdjJ{j!sSD z<i%<Rd82ma{*`iodY^8EO?0A=nn7j_cRF~VZs%zK$?MJfD)xKmuM0++QPAUa#$wP! zG(D3{T9MxGFJFSq`fj%uOWu{rS}9J)X(oB|2@*;~H;swfmD?fJ+TnaogmYTwW9a%- zk6h7KkzB0Thn`kk?{6XZ1f58++upoh*S`A`eb!sAdpJlT?<eolrqTLW82<{>v;w_u z!j=t{@Mc*R&#?DC+3cZiwZO2qPBiS(_5mO%$yN)M+s*=K7U9O0zY9Gfl(gE@K~Ax( zC9yA)e1aRjNahAn`*QET9`LTEu=&0HhLt_SoO4s&hY&jwi{j429Uqpzw&gYh+j3J1 zvJ+Q){cx&oK^KU&L0Yn+2)5<!U_4rE;*c)O3HfLkt6%ILw#}&!Yw?g?M_Nbep^E{& zRWjd<(nK%26r_%=4WEX6nFMUho#GNLw|)0<*w#o98h|{9>!ATq5M;-m^JtO4*qz6` ze=`TSV8BVS8w0~=*CzCA?Ct)Q3u(Tf>DtgclTCB3!&Wlg!+ZIJd&=zoH#dI7c}BHu znZ|^Y2xOe_smdz(iwi&R5YuQ%NmkHJh8gjVf?HWgzw~SjHN@PGZZhsNh4HE0$Z_MG zNnkx$_ob?bDYezlj`|d~y--%H+=ptv<_{#4d-U&2-I~ETg}!<%d?GetdCT*(U-g!C zoRAs0<nwQV`b>I+9M4*_8Wd$XXd7d1chW|T8R}djEInR;J+$rH1jS?L%d!U%MUSo| z+Om>c=`KvTb&<oGJo5)qgKSGFUHP@%z1DYGaE`eI{D@~?<N9;I)0w6jJAmiO<lnS3 z7S8J?J5(-`<=ouo>}9&Y3SR#bmiscWi{el%uba5x)?qXEClBn_kpsNSry7^MLsmZ` z>5iO^?{Y`Y+C8Fp_fwcNDpX5wcSVV(^p{qLX)E~#n#JCHlH$p2_Sz*L#@>yFB+-aR zlN(_=imtYGw?^K>=+J-pvj3T@D7TkNNt#it%UI{-@LAyCtHkLlT?<Uv#K=20Yc%W? zKpX2eAfJnFp2E<@tX!7qUyj*ioYa~#a46Z_#ul`bOjD_ixNXq9pwFp3fn*y{$&eNM zSlD1+<BQ1<o5;14uvSv|=?T;?^=RCPb34vnzb%e0ORGFbbJ?omh-j>{Uu`5uB5wz( zU2?!h^hV#ue%M}~ku%4=;vhQqp{37nCiS^i%35~qE_2rI9ji57R;_m)irI>a&CZ<L zij(;PX3RN?M^-O~WapDs{GD=j24qP~xeXEcN?Qx^9kEZ63-^V$o)gB5d@L@AdJdgx z2%~pxi}vf6KN_4Yk<MoP6hw(mHi;X4lPv#=o^EI~S@^R{!M+BArNHxbX!o1Nr-j)+ zd1N&VCf%al+Fu8&F?sJb-ERA%yWd7?yPsQl$Gef`cH0Ugi?_%nZhqE&0IvDP=HCZy zc$KTlrt~bXxe87Gjw*{cy~-VLdW?J?vM&{xcO2;*Su59Z!GYwChWiu=)hEc5>%x{1 zVj+FPQ1OFf9WI2+x3*Rck@iP6(451e448@01xq=$zqc9!Nwm<1XtSLb{5q!~KU#-V zDpb!93b&`@7p%_}g)XKHA^c}yCJ$*ucGPU4gtX8_)r1t7N#TNIG+d0kT=#L`a;5<; zfrztyBPP_>7hlA=LFS<iG=AlP7lG17O!}=2;_b|p^+X?n#u4#W=%)?qZNN`^r#h}h z)CFeJ9|;%xy8#@&npV(wetHq!jv}GsFZzTpy;H5UZNZ)F-_(YLe1QG>p-_u-CcOmn zbag5IoL^+{Ss-~`g>)Ft*R@gTcd5S5e@gwI9!msVj6FjgNcj_{pY%NqoLToH7Pk$P zfaKcG9AG`{9P8V8Nq+NXHUlmIYTyv8pJN3k1IvMl*+{Pu?)QTAk%S`7OaCuTkzoCh znmK))3BN3#LF+hdJgxoi#}oxR!+K+wi7l-YvtT{+9P1^}hV;&$V~q(ujeFZZ5f~sn z{yX7>ZqN-Xk$`*!8)$t~*=reIgv(+YgaCXR(A|bD^U6TQ#}nWaPT}wiB?>Co@=Yr! zH8fLpL;Ynq9Q>2OG#3VkzPBz}&Wyn&fUYEteEv*^5H&MW`Go_Gg#bw34UvhvyF1`C z)A0oyx?)uV7l%2P5dPP$g?1VcXA#BTXjMY3RYA@RbA+lYp@RWYyvp<3cp?*Vc+@=* zktc$42*U?A1m_^M2yY$Kom%qmex=wVzlUy*3hKG7Er9{IHTxl*V6aIAHz_{Q<UY)Q zJ}fv#M~e_023kEszDlt!Im_{k$l9mC3>hSUv-lt*Go_fkjTg;Pi(nVeo3$U}g#-)= zJ1MBgQhOj?fh&(QLf}Cv)M4LDO~3CAx9O770V2;6R}AQOMf-?-FXXv6tV{q~L^h$I z@Rc=ei(Xg&C~e;L4xqe@!Wyhfs@rvQ#sud+7^rejtF>lKxnJ!8)ZXz+0szbq@G=99 zk<KG@k%{Mo5u}21k7N*{f8v!~fk6-ZAs6KD+WBB*t2ab`zdK*MOazde*Y0M5dRMr2 zEU^*u_kya1!{DbJ_j;C~J&+4Rk(+oTzo#sJBms)q09g{~w&n947VDBrLK9_t=r&{H z93iYM82lW0v-P?)<=_U8;9P3f2f3(!+QtStI1M52)9+yb-u=@j5u8)T-VM3)n-Pb9 zLfa~z>MjGC$Zvs{B`vp2xl)HraKF|obK_O+x*3Dvq?358N-jxzD8TuD+)uT;1DU}g z)*kSA=1y;8EI4-;%!vDzVSgC>2LEdUk4X59CUa{+gm<fTr<H5US4;%i2Tn;0sJ}qJ zu}8d|lPYYh9z02Rn#p8c!iaj1&LJ`!9yAPYR+e*Fmz-D<iGta_WYQ7rfgE(7vT5{z zCP)g^+_D@zBF<)4u<(c{dSNKUj{(iR+NmtT7MU>8pG*e4<zvr;5u&R^A`?^E%QIa4 zkOMuzxw1flM}@)SYzS`&aJy8_S{=5v3XgU^<kRbe`~eRhZr%qc!C=2V9hLNOxIeXJ zl(T3mn{`PsP;w;_JkQr4l5#5yIlK{jM+NK|HDU`prv`UTXF6tzAqD0I9D*mfBO<Us z@(pZA5dJTGcJdE?I4OePC_fI`@w~caZz4Ds2pn|p^jSJkG*LD!&2$*`C?5(Avg!)| zFaspW6-`PA{98Br%Z8gG6TzfE%&`$<kja5Cc*2+#>bB_Ah?cBA%HG*F7Zg_$!3n3< z4;$d3dk;XIAN&!)gE>wQvRakg$1H+<#lO*!egWc=U>p6+4(8aKH$|Ox<|8gXxJlxA zA2UTj2<*I-cE8Anp!G%M9kquWwK_z<y)H!1uDmb9Fc1w^c2A*yo><$r+>V~9NcyEO zt|^T0A%Ba_kYQbdJ-kj$A~+Z36G4G!_<Z=#6huInNFWy&rR1ThDrn&MnqC1|{WWa4 ziwwxCALap^B+!`0tc?`G=lQro)I%)f>My-kC|!^njaHG^rJ*Q2BQT!C)rxAzlv<Tw zdzEeg(HOLdhMpTDe8!(4z#JDKcTg3iUl`j@3uZtxPVp5r<gedSBv8|uK6oUYLNxS0 zk8F1>Eqth{`x?$NN=da{(;~p=3v&#m2hg#p@^CoCqi`q|f~=lNT_B5!XX>}GOD|+9 z>C0*=@67@pJD7Dz{-*#>P|e;5RL@XBY1I263JUk8YUOwzu$;?>2rmhWQdG#Jix7%M z!Xy13!~y!toL6C>QDb_IEuxel^+{WnIYQxMukmLggs3Pnn{J)<WN6oX`NJNF0%7S1 z5Y0&_LP$?g6#|b0Hogjn+nfZ}3M^=0Kxs0s!l(L-QQ+x<a!{S;aiKJ(mt|97*QC?s z51(_vwi4w|W|DXCb7&?(?PUV-mI}~|Pf@*mjU<p8`MaNE?0@8am?x4?p!R=eQH3o+ z*cr2n2Q;=&m_XU~=wq^TFGK-2<_#V~w87Php)#ufCha%&mLFu`Y7y!CC|@1sxJfZh z@SHOm=ozFqMF9Gg-i@FG>g+3eC{4MchXn9LqaNk=VlXn%_D}~(<7fp6@R@e~`QrK$ z*x-Z(90s%;Ds#}2CittbX;9k<Dy>31V76V@eFi4%4KeT-*jVm8ApN#a4>Wz8A7g-0 zAH_`bH?cDC4$bdK)MyP_gZhsFn4`S;8y<}72A1jE3e$*m(kAJgbu&>Y8G=mV#TWHA zFhzzZqy6NG7!N6LZH%HL1m|k7MdCkP80LcJ9GkU&kQE{7xkvg81QwO76p%<@n}J16 z0D3rlRwWT^dDw^sL63*peGmc-OI+X@YwBYRsHrhgR|uSf{niZ>>C%|l9qW>av{#gZ zbA5}~pWHtIUk%|ksksgcD~6I(^JEGGPlV3}2VAEJ-b;{ysJ6zrCUsQ^1rh4o(IpQ? zlG)<|xz)#i&9ajPQp$9RJ`i1m54o?2B0CCqHbM0;_p*U5OO&owDA}uTKtxd-S<)l} z-qSe+z$N)J5(Oi=VF|{28A1UN`N2eLFvl-7-4U#a26xHFKn~r0kSZ8erL7OeQqIZ? z)GfRZru_@mG>|Vz!5|LgyMG9;0kRS-Dbj%$ydF|~Kv3k|kK*}Sf<kFsI2!{wv?1<f zfMV<HS{x=y@4H9ZlHhX7sBnXlrlFo%BT8sYM}~Ni(pje|b-j7?n9@!+n&&;At(;o% zx#C90iwyVbF~5hQkS$`gcPf&XHE{y=;pI`8L+*VciZwQVO2=GYJ7URFYQiijiUlXx zZ@S~|$&m+lL=7JaEf@`1E^x|urrll{i;y<Q|CspZOlkh?uE+=G!cVDSORI+?FgIPH z#hgE*RB`Lx;Hj`gVHyRQ<oUM*Ke?GM!#z#+3w8H9LYh`uQ?R=DHI)vS!Bb&)*E?E0 zZnSgFK#cgJ%geqrbM(S3DR13zODph0qp5s%^&n1=0b7TT0DAhA>lVT<T%cUOhGB|+ z<E9AW(3Z;(H_ti$6;)q*-7?7%{=+fiuAk!BX7>`j9#c1cdvaGUX&npUod;=v2(xrY z*=S+Yq!YLK>3A7>)>*!I<E#gEwCZ}*+j&!@lhNZ=p*!_cK}y;ut`|Yi>LrM;N;vNt zI=EiAjgU;4Zny|p{dozltzWXIet|T~#}?t^M$*+<l_-I4SxJOYQ@fXN3Ua6tFRYB+ zx@4wSgBfIPW+YshW8Edh(0oS6jCm1VbN+@%ycRXJS}&wfFA2LJ5{vU;#C_#G>#HMK zv?nK?m^Jk#@{-@yFcM3WW|@nH5Ql|PAOOH)U!XK6zQ=gP0$7G^&5U~>vEW;v4JhwR zpuFd{@iAMM49;=KfY@uX#`-ZKIJdT?f$E{qO}+m?t<?*0<4Xk;_HTrNI3vYY8jy3< zaTFkaYk?syFW?mKtx5(<FUvsq#!3`upou6cfD}#Lavo$Y1(%gICVJRM@?4iQoxko3 zf++So7UC7{9NDgC(^Un^sk~i3PKnJUhR4)fm1Ic~v4M-;T75209gqwBwJ)U#F1CZ; z<%Vl!!2VM*N@Z+8!s*A2BVq8Nv8vBt`>D5dVIlA#n+P3H+jv6J`XRQXPpL>j?!0BI zyDd0(+!T$%blWf&8lsED6TB<CDH0E^d!ui{;X}8Wa;-}|KpA&^0UrWxY9WNuH1|T* z!N4DY|AB4S$d~Y;U4R6I_nm>hQV(Pu&OOEra58`q;OZBWK|MsBp{Oi7Wx+SD{k&7{ z2Yrxrp+<2~=Q!qfh44h;Gs+V=K((_N8YKQpTysBU9b5=H!0kFptCG0_aDJY6u?X@y z`(hD%#k%}VC^QHxWt65$0j8{DdjKi-p1C{%lBeEAYXEW+P#|c6e{8n^b1cz7m01^{ zP-X+HB%A(&(ae!EG{leI5LvbSj@=r|wOdWoA->y9O!Vt(Kg?!0CWu*=0Jhbh{W8Sr z1Gm=$HWw-Sq{A9Ax@F_rbHy$01IP3BF+GVEBYO~Z5&EfBv6+@|$HBSZnH+GVD~lrv z#Noj8ux2{UuX7}ZM6h6>86HNBzIcqntTHfW0KH|_*GYhqPXkeU@5Ltqy#pDIUH~uM zk_QuY&Irn^=p`|zgz>>~YU;oS92ESKWVJoO>XDfM$m=~-@O|Q^uJe-|T$rPp%<q+O zkXW_-5DjomOqPzs!~;+jADyyrc)GW)0B0J2PSSw@Nao+pDF!8SR`dBQ3{XsG%`aN? z`yd+rf^T(uKvOO|4x+y(BSw=D)XA+%3w@B4Y|rN_#!%pDe=j(Yc&KN|4`v|wa@)-w z$P$(p8)E}liwOZ>Uvj8ZvnRNyP!|#LI>5G+hqwzpjtQtzq82<|J4FPDT;srx6+hJ7 zH4vyWW!>zcDvV<N-U_$rg=nysZ{mUY+$-qHtg$NDuL8dzL_cXx1In{E2E{F;!qy-@ z1iZl4p}k>IU~N-^Lob&%Vc}Ees5-!2W!jIyk#4$v6~_J`1fKrE51YW8C*nuy17NAA z1d4g|M<?&;qcUuU3(2%qfwIylU|nMHVDhSlns@Un7Yq@;XX1UF@BFA0a?8Ghn`vSZ z@bnIG*r1B~{)tKqn1)dq9urS`Rwj2H_2klAuA4OIh=vV?29RkQa`qrwlP&kY9p1Vl z8*b_P2wQ6k03be$u|F~jy3@p*D49Sot2M>^5<xVu=B+_*itusiYEaFu)IF-Y8sB{i zez_&<CSib2d>`IY$r8G6WHcIpb_4C+S3rC6*LF}h06^qECe-v-1RLh52I|aH8~7-l zjzrX|gv}C<1_-FeCIre#00%Z~n33;EM#9tY=1WmijVsUtY$uIeA{8_<%Gr-v5Fwgm zl?i@%IKmtqX`rT{_NJFum)L`@3FxMSZn1UASI}(@fm^7X`>4$Ne-7ZDtVjlhdf62F zwROoTcgY+O`iXjq75vOBLKkV=+#U|Cql>0hg%!5#wxm-ayjk0jVbmm0X_~}AQW0=% zxe2|xg)Z_ujf8ph_UQt?s>9i>=;nmJdfrd!Z5WHoUwC39U%=FJ2CSi-Zx#tZ<#QgV zxftxA1rAmhy(sz6t76<vt~s-?Ml9MLY-cUpjRQ;T3T5;=?|v+nhMwe~6k?9=%_g9P zo-kiXn<m;uB8tiOTU1*&@nc?5NOHV&7RhtG!=hZ}hufuHRidDwWi;SDEDFN%*S$x( z#-FpF;!kt0Y;|Ay;c2lGjgslu8A~yu8mo|~742{{YC?X{Ut_wErOU8ZJ~1KrfSllP zQ?*A7i-nI~WZF9}*!%7vInL!w@3BfE_DV;hrwG>L0|(JJO!8SlH>f2Aboq*k>d7?i zgmq`(1IyMFf_9UJ5DbNHZ$D35xui0xsPJ_e=&GtYEa<(#TVhaFmwumyA%+Kdn&uy< zXOeJjA<<?lWX=+cuT13CrK!2#*hNKNR@fwdQ~>2mFN`rc$@MDvhTK372A3lm*A|(o z8m6jRsk}N3Ajj4fF2!VF>%8xf@!eelC(C|~){F3^V1~1#sCoZWv5H6v-B~H5w9dv% z)lIl3Z%Vf3BWZiVesxDCww(1VJTk7OE~oGFeAIQ)|1SJ{98QZgke-OWD;ARKJ&8px ziYD(h={cJdLwJYnZ#^1bC4X}IzJVibXaAjDPbv40eEA3l*QnBE7H?fdsyDwpS6N+b zmuB%@)Xl9&CcyBFE_^D^0bmw{g)Qe?bC1V2w?iSrfZ{(5nnlx{MH&1mSt~SE6bz4F zR1~_4@jc?44`qG_u6HPUQPF|TG!t;ccecEK6eR)I7N2kKVF7>E*V!6=o~P7at)3aB z0lzRmI#B@Jhsewg;enY(P3*SWTTz8O>LqD+<>}0gJnqbau5)|L@GJszV8%xbr|u#| zvaL#|)j7@OXN~jl(^;&959Sl~v^?(@e!d{=Xvx}NyGiy`L_2%Yj>vBrjc!(C!;3rn z<(F5vtCz@-cTE1Ye!P-JjP9z5CCm>f7v3w_{WJ@j!6e$6S#UU3*yL^dhKcFs9krHs zJL>6uf2z4BiwdO)_ghN_ycyk%VL#p)Yq4i0!fGKE;0<fH3N`B2FOqI=&LXi?2YZ;@ zeI2hLp#=)~${Em%K^GW8DM1+q>5m)*cQyad4Ho->Pf#BgJL#N{?x=DATFR){`8yb7 z<7c%XoY%JB4mxKOA_QM!2y7IDpEyFGK{P4w*F$#SN`>GIwCr;=*209LqXUovT5(8; z2P-?NaB%o2qFxXV-<)3^wEK2}&MsnRBix$qu3CT(DG^Is`4?aOYOfu1-MUTT+gJU& zfZKZ54m#zI3n^JByW$Xn%MqkFE(yXT2~!+#A?z!AtHX9S{HJb%cK-j>oFJT(Eif#K z{BJH)L!YuGLjoW|@MV&e(e?YKC6vGy38RQ~7{s~gloyQJZ%2a~95h#45OxdPzpaXA z5rp4;x5_^L=U&3-;lGIl1DtC>N`@nWnYO|QNEqTSK}xiW@f51Z3t_j(6oOw7v6J$B ztp&c3VNV$*&CDLw!%xBUxm_JGicq%|uAhY=cxl;1Xn7a}rBW!=#gh~N?H&wD0ZEL1 zc^T#O%PUd{l&~pb_O?1!+7Jwpf4=+f>|XTf#?9vx|IESNl<uuS(7O#okS2|w<^{;P z4TFpvg9*Z-7X)5YuoB*nROMWbQr2~D93zm88m$?yGqv7Jx>hG;cvhb46V|`{2fRK{ zWR7wuUFc|dy3IpWC?yQoF=s_yiNFwCDmKFPZ0vgCLWa3J_L6!HU!;W3vy%CQ;B-yb zL9robY6~fu>id^}yJJU1FR|I@0$ABa#)11#bFlCocqzWn_FCH-;F{XNuB8koj>NyF zUBDJ7ADHtpxyLSSPxm@Xz(n~%puYGiqijbee+4!Y2KmRcz)Fj67<i7mVt#xOXnK#G z4GSx3tVUbm3kr5G;@|*NKrtZ!B3O`JPqf!ZL3j>^_$m%z-;9uo`zKZYnc0r302t&G zqnfqw{<G6PYvH6H_g;)Dwp}qnpiRJY0mLAx93v7VM>p0sMg=6mWS0^Q+5JMBd}u3- znwiIOqXXYw5vFXRLgDXh`Tt*YtN{5o)iEuN&pv0GDs=_?h1sEUbOwW1*KfapA>62` zju{8+xUVo$PWaz#SXv41ommds$rYJWe%*vY624;}>IlJa6%%<}dBG6LqU;AuuCawy z!j<_+Lw24X1z~4E)L!?1T~H56cjBmbkq{hKMV+!GNyAQx7@@%#rUS8{d2|H|(%%IL zmFPozR;bED=3G?*gNz@RzU#At77M{mFjAuRa7}&i{!ZyR7z7ncsQm4*`^A-u%5y-n zZwo&0R=~d||GQ%RP5dvOf=V{_IZy}xDH4CzioY9`e!HsA>7+0S`o`%~LHNzk%l}oN zK&jEP79J#7{W}eY?fgMp8iFF~<9%I3{wdBNvHmG+SnMKWEDx=O3(s|U1>rUuz!s`! z7%9|WtDmDXSrim&?*Wk6(}T|_*hxbbb0bC-@4y|bg^Az%6S#L}*hQwm*uYU!YqBta ztF2y^0J-={IrQ=w$e&#L6cooQOD*xgy2EzgKtkOm61gsFK*C;k*#9nl|J7mV5;nqx zzdE0aLZJE`a`sx9f^Zeq3t0$ziH3)iG<$u5+X1*_l+-s{3(Nke|NifLKxb6SnQ^qn zjm`rP-GV_T`s}`;r<9q13T!1TMvwx>fs{b4g%3hT=XoJe20?fxD7TpGdcX<KdhDDi z{y$+#2pioHu!1lfj$bgai@XCq|DO@BUcex`me#_J!8j>p7X*-!^dUPZ5aI*=bCIL- zL5wL|5Lq{14ya#<IY-F10M94({dP{i5O%C@j9mPJ@RdDV;b+?(w$un1gfD({eij&= zFdF`IJiel5i#nxDtj{hCc-FHWR|j~27MKbKy9WZ@KSv0jNeBidVoxasgv-Dgp!<K( z(1(uBgYOO`wCweYR>B9NqY!T!KRiJ=9;ld@DR3(YRPLXS$rua~XeF#codUlFfpUS% zA6V{fe@$Q?H;TYvua5)Q-H-aAqZ>G%5=ME!^p9uR{G%sd+v#W8!(R_=uu#7no>&wY z%y(ecKuLZhq!$Yt%pvH3I*0=K2_w2;#@r~(K#}NAPo(Aw8~Q&Lui#6$Do!8pVDsGW zhz#4MoGi%ZCPrj`)o}_|)^c8FdO4fFZr<=CU#5AyHO6l@$?_h_*0lWj-s9qxDo>eX zDtYH<%jPZqkt4KQt1ZD{NZ+;R%60TtqI7|&HAEd+d@5r#P4;mG-WCs@x;&15S=--9 z7JQ#)Y-fvmp)co?=Cel2{5Q7K&3jDil&Wv;g@2L{bqKK(eP8I^TH2G(n-|zt&LYxe zW!CndV8BF^?lX0CMP<Pb=V$%)=kh|doKWmxw9<0#lU%<nv)G^9llGm-j%?a(g)GzJ zPsme)&=KiX4_2ph0@Q=52?wZgwanJ6*ruIDJlIJ~-x)F|V0zFKmy*oT3cDNqAx+DF z_mRSAYxy3lOWl!woN>k-k<qOKjA>F9|4z*-*9V3;QGU1s5{ezT5AuKQ;h?|md8l}Z zx5n#f_ZsUmep@d-xbVz-uzU2pZY@Uk{?pAVa%Uq)1Kt3lk0!rbZRmTJRkGDhYJ~>2 z+S6XVS-{6X`sA>%y+>|X*<;`zq~L<=KYSLq^NJ`|`nOUJ(UDR_YS)|i6-oms_>RX= zc5orX$8?=P7twu~+)9*fi=5_Fc+sv+ZN^)__=Tz(sWumb#vg|`&j|~&6W3pnyvn;V zZCj){)zebV80Aq(pA{M^`?Eg{V*8V5K(cA`eqzD8B~^xvcHK^?7w+(b-<Tzu)oR7> z#kg~Z%@1Y|aSG?aPB<T>HTC44Jn@#H{V2!A_!^d6&FDAy%Nsthf|W*deq^K6D<I`J zvg$iCfB)V)IiJn_Rq!%$g&OaEfuK6+<KD8EFw5~#1y<kpzYC<1UqZ`uwJP7KqZhM= zZs<+U=)KyFvBb7}e^bVt_06LL{d($;P?5F?sJBSw#HM)G%oFj#_b$rK%W<y%!em_| zF1m4+l{Livp)fiLzParBe<J>u6#l&liGNuBi%^4q4SLpXuPlM3=tCR#w1*DeM!y-I zY6R;2K5yJLdtJu~`ZinhzW(pqVX>8>AHVyjHpxm7q<YAN`QRF|9OGd-L+MqxD)z~@ z;W(Hb;5`^lW_I&2VY`f_S!>8(0>rNWqV5=x>Iv&07d;VL>IBuE7F7WwX?@lD$Cx@s zv>&$QjXa9Z-vUw-O0~tib;@3s!n82B-=EyskHe?_QIs&h_{tAQz<$~_q9EY`b)??f z5oMAU&xT@#DWm#5bRU_-HR)9aj}t@o3aJzyZ~EfOJ{xyBB?`Tb5yJ;oIX)R$7@i-W z`Eu7nZVd2?`R~wfvg>@<2q4+_D!gK+m5ovEhIY9ea*mxW1<q_{f9pS~n<;#ZHjI%t z8$sJib^l51>@v9r=PG-vHnn91%jV^w8!LGTi2S02lHfua#~pI+TNiWGCLhQJG|tyb z-<Weu|Dx|sPMLQl(S0vVSZL7Y7=3GgC%b2C4Qno&wYJXtJKF%&pGP8wP1HQ^<I<iC zjfvaZ(@z*LL*KfH7#;-^^NeHeSyQ_v^-Xr=4qYD%k{B{)HH0$l$Y64rv&M*=PO11D zS*!j@{xex5^0d&#VNXulSA6{7b?;<X=FnvNQcb<{?9y`ga!viX%hIymlcnWOaU}AO zIMOAbUZ#DxZ}Nwxt-~Kc768z)0L4J->-!L2Cg4s)&PUt+Nru}?CN*7daXHxPi+z(} z`r+Evwn$`)sIPA#p^VIA<TcTc+M4>uZ+||pa+twMiolSewL>B|3T+*p7S+}}1G(?9 ze2?^_bDmEp<X}sjTH(vIXY^LLC|g3T9agQ`t7a1QmX@o*!#;=K$$S?_m*gK6N&!s< zz##F2GFfRkLz6*%tiIxX@GmsjZE2xZBr@&qBXi7chbKLARR$;dW$=A{g;p`%ZL)A7 zks_#n>z(jr&g8)V=Rui$lMGPsXE~Y<w(p`9E_c;T2bpgZ3_J^ER$Noxi2Bp~1^Cn4 z`*up4KEpWcdI~MfPX8AMJGEX%jGCz1p&dK*emh)k=;Sh5P5F;SKdY_3n+D6XJ<au} zjJ71xA2+>Jh9@tR!So~zO+wX-cZipkKRF^@_JH#GG%_+Q5jmRH_IyYed>&_OhYb4Y z99fz89722~vQE_Z2>EY^3$5?bdN8d_JHTH=)Yemnv@t)&wyF#)Q?qtx7aN?MTu0Y? z>WxGSLKBmyb3+C;7gWu;v)HLIWCE0EWX`_m)Yji)pqDu-B$OfO+3D_^j7&(#X|%Q1 z5u`N~CrH$<7+P8mbwnb2z@RZ?zP@WZHTAKV2TRLJz=W!1Ylo?m*L{-~*29xQ_QR7$ zCyBNWW+qD}h)AxtZ~w=Nv#jKZ``%`xNF>1(iOiV>jZD_@pPKq;U~e9w%zJekhhPv5 zn29kt&qHhLIlm9E)YelnlFJ0_cMnZk1he`cEr2~<j!Hpz1gqOR$hP_-T?T=&M4*#2 zi)yVMIK+k~t7N%-k4}}BmMg9_k-T>@x?+HDWVW7yp@MJ8v@a#($kr139u)wJSQ={w z0jKbs&dqz#Ii2U=<Kqd=(sC9p0K0|f@SV8zPJWuhm5~7qzReLigCRB6_Vtr&r;lWO zeJkl@0vZP<e>7M-R71l*Q~;ZrSNkV}K=uUr18ogJJ^&*FUJ(B4I12|EI2D=mybpxG zL;oZ<T9?VvvJIF&JV5-KQ05<kU7P+%-&$)26_8&nAP?9;RO14&KybK%1N-lT^sg4Y zYM{0r(6~s@`Zl4`t3NVFb~!Sqa{wH}f4AWLIqDey>yWkUpS%IG+840N0Ja>!wi20> z<J>=)3r4rF?w|ZoXYH_8Z|z_SH1Psjya1#LgfbP%x=YKu@-?o_whqmzSUU`gyHX&O zD&kf-Qq*fchzNfh)*oZsU0S{nmeaqZ7l~Y2hTzdvDg^?MnXwlNb}+xj=d=+R%@%+s zo%kY=lGMS5+?Tw-rD<{9h2VJyA{pN!60Sqhf?Nunmwr$`dFAKK;9&>LG$E>1=ApKO z`_y`~oXVf(SgeaaX4*KIi4RRqK90+2TzQrU3G%c>zFk0g*<ZiIk~+CnPnbmp=<)=_ zuPfK7p&k;M(lg261ftAxj27+HFSg-?oC(UM<-H<fXVr!#TZdRyVIR(dNQTgyUDn!q zFW{nR;TbN?+WOc~Xy@9SrDe^il?5`HfF~ezMAvd1kjQ>8J9EFFukT!v>KsSM<vb@a zSu=@!#D4?%1!T;35XUbrUo0*66<Rq+oD2CLZG#XleP3Hoiz={!cfZ|_&bc5l_%bfr zGf9ErW)P;K@yIF5#-Y0rxL?iIq54w5%E1kE+CelBg0Uj6puiX~XM*uLPe7?{I=N-z z;D(CBrkd+8$N~eLi3H$Uk=k;R8=a1qEG=X6Ht5?pNT@P_I%4+OHZ<pBdQ5#y{d>tD zP9TOp0)}oNV3mByM0D<Zd`<oG44LndIEc!p_%iRM<8wOsKympHnWIEOA|oRZpOXW^ zH^?xM)wc;$jo9O>{-xz-zDVA&)76(b&qoq+p8t4STQ6e^v>gZFm;=Va$x9n+heYSF z9KzvCLL{$MHihp|E-blkl6zm&x2YIp1`z)dM5QYTyDOK!TC?{x^_AGZ6xZw9Ww3|H zZZ-$WhP<`Z(F<fMWcCYUq1zaj5E>*3xzH)1SXvg4yoElx#P|0<X`&*ocv^0};LV?& z1KIQTGf7L!Qs?G#%6)bc;7>GD9(XWV*v^MUwgN4OKp6tDEd#P82e@<+g#35lZdBN# zE-7@t6aR*`cmgs690gOXzP`W#0d64CXFyqOzXb9&bZLDl>I3j)V#_!pa+JUYanQpW z^w#r$Pul@f96CIiP-E+m2r{U;-qv9cobQ42dkvs+rUH|#Wqg}HB;?RL4Nq#3fjUJc z)2?CT@EVZf?5}+m019~kuLicMA(2_WNMt9Nurm;-7XT3i;v#_S$6*O5<_QCnVIU;D zjBnR03;J_}y#X~(lQ)Fah2iR*C@~4Rz8XKyAoJJ9S3~j&gW_9Vzu8_)!F<%NAEaXC zAf}wsHpYwklj<&pjM-@N6E-SeMfG2sOUt&#fo){>z&dXbOz~_}k*ru%8fqY6ln9KM zOxUq~kE*jT-AHbqS+8@8g3GAgOusG}%k&~YP;(eKwFN#f*<{P=!V#TAZ|d4@hA%VD z#fwDpYN0Q=_?g=}f--FXSM_-czJ9cWDKH0y@q;PI08s+!*T19vhSiWRa^R~7a2uE@ zUW*$fG6bi==+|F&0$zfe3cmK7xr4la4}^e&cas;*^_OW$LQS?YsbS&`l6qVh73H%@ zrs6h61rh8*0U;-blNc(zn{?6X`pvb=>sbD+E}<%pu@jzRp#`@}t=eBK2oFl*8#2by zjfc2RH$fiX!^-#U*#1#8vhpll=xeub-o>r=Tvcqjs!x~(D-HFBVj4>1Uv_yPJS_vu zaQRxa=*ucgb~qbLXKO<XGHbBCf13?G=l@yc{`!FL!*{$?8zv!Fzgp@)%W-EeL(j$6 z<+40pCqO?qi2SGrKo^$AWo4)O_<1O8*@U=m){`Rf_o`2tlFI*TR{ksgE9@`owEt<; zfrzVq$*I2}iK_pF@$xDoexA33oL)Se1LABd`4FdHdbr3vmo3bL*gdzhi$j?Qcqu`@ z`ML5;+;5jb3nZobTL&KA1S8&5<A+*}&+`ZT4Vg`b(&;(yY8;$9@+{3bdvecHgX^@z zWS4oJKQW^py;aWRz?Mc9k#u-_*L)Z0#ymoX|4A^g_pkWuT%kb`@_LYElg;zH8^-ao z5M9a{m9I~$#WC+?g}$EXnSy?H5cxSbbMxHgM$mr(>#2{I{{b&tll?p7A8w9e(Q8ra zB0mAT40O`|8|`0cAn)7~Bgl{=s4(M7Y()a^Wmu<)kJ-EQ^pqoKQSYUBC5GZBv1VM~ zqzRo1>p4GY3HWeM8BW`AWLNX3@8XAuPgyq%K*yZK9e%eVw&^Cf)$>H9D!e2s-VyV+ z%BE>sBEbS-mkQ1d9U}TYrc0%j-BhLF(kLVKq?{gPpjp7peEy8)h)~;?VGCvct&980 z__yxlS0yi>?D4*tKh+*2J)!X8;_tN|e^P85A(ccRl9=4|QLVzz2UEjB!@BsCOy9X{ zF*mvKyB%qg%gf0}tnDucT4D}bV_s|5yoV(7S8gm?r#kLBj1=FuJ-j{G_%+*?nPcj< z!4Mh!cb&FB`|eb+WIlFJhepNSJ?3>})887Gyb+Of#TeyoOwp-kqLGu$<w{z<{4nNp z!1O53ORbL2H)X+^_n0#x;1V)h;J&+%l$ljmW}euwZEWWp{T5k+&r>Zu>C9MMDP<UQ zp`LG%?ZrV<!QwBMI%cHfzo(o~ePE+MXuS0z&f<Hs!fI%<2i@YWiw~PGn)MO)FD}E6 zf?uxgU!*HQU*|n<kGhnfzH4>Kw9$Gcw;>jA736Sde>j`#_oFZIWNl_2=?e1)((Wg^ z+yD3`te9c^VizNM>6wJuhl)s^%3kqIW|>e&!Y1^mNz*)yo8v-8DVyYvDsu<u`kpbe z9CU>pSg4N%<dS$5W&LrZLjUejerJDNa-m;%;aT>!zxsmh(AaWJTLjNORm2V{>xJCM zV|Jlj;k)X!vz4+!I1L86&n0R2^q$X&rEZOGzZ|SPi(53j<nX$DtrLV9T)gBqYg=zF zm_wdxx1sc+%9lafjaR}?$Y+~oa*q$bYCKtO$0ge(S(7ga{cS;3Wx|^>k*EEhV47`R zsw1>dHl1f1tLl9k*|t99p_duMdP=K|CF{4mL2sFRqpSBNcJBW%?faEvpX#4m!2gw< zuI6Sb1*z(<Z`@9$iv`jZTgBcK`*PLfU(!%Nd%tjfwrSAhqO`+k?15I@B6)|n!MFf# zh8ULW51M(L3G2`&ZNu#gj=yr}cDrSaj<HEKz4I)eTx_@ZDQ}Su!6Ix+`9X0fnzTaE z=hWTjhbe#gTn6@QEZ;Ym!pV21BZq9$I4`-&CkY1Yq*+=ERUDmla(eq`WZ~TRd>M^Q zrVQDQY)5v;etc(=G6<}jP3dLYpD5>4xC*WHLvv&-o$OA@!jNEygb>|H3@+IC)S@st z0A9Y|FZJ@_tKOgFqW##MKLT|4=Yyvo;A1L_a<H9Y+etj|RZ=&E++_JVO-|}1z|hwJ zy|Fg8wUYINquVLG;wnj<(p6=rQ`~UPsm**Sra3KX?y>ZJi^9996Shxg_wrA5JcNFC zEwcOcyNaxrWsp-^ZB}cW`cV>2C#^KYXsw`PG$BiGuK4s*tt%39oYkJo_ulV}Rr0!7 zoo)~a{@^!OGk7b|WHjTHIz#oiY}kqQqL932dUg6(fcc$O?e8BezP61E#{z5LD!GP* z0uM5n#9?8wq=Q@0K1itd<wpS(dUZ>!AC<Mqs}p<9$&AfME>U@b@3|ziOGmq{(gVZ8 zFoWV_MqN78mbd92_Zp_S_Mv~WaW1D_A(k+Wco1l)Xq(~|*&627gf9^QucP&S%ckEj zRtQ;=r*FxvqwR`aJvg6ayZo6BYn&QfvV7R<`bTlFfxSdDK5|-rZTi836N>1AheNEf z96N!m{3;ek%zhkUBDX&zbX=<Up4uB)1d}%Qu;_M2`&pDPmx^t*TCq-G??$W*ha6P0 zYqQ%>&&WFQ1vL$E4)8<=YfqZ9t(vNNYbXvzZ49TVtd}=Sji)Wb9z|SIcf9b-^x_dS zdFWa<{yrvO42RDb_KRNp1;+Wu&P<GYyT`Z>=D2ziiLh@3YTKoG&PGs)+v?wy9?ttc ze5ZPphk{rt!O}0q^`+v&-?CgYB78GhY$Yx#Pn-I~3kyhi7ZP6H>`r)p-)RN!@q1HT z&2^o*(B>nW8j=tignrQ{@%YTb^*|eQh2rdl%!A?s?ly#E1b?U)gZ)se;>{Z#)WibB zGbc9&R@E}poVUKl76jdYme7(#i6)^9FS(NM*s`20CT$V%UaMqVrsj(}o->6Ak$%%v zWFxm4>Q9|vSX-D9AjAAjUE!QCjK&GhDtw#JKbz(^XudTPzPfjGiK(8j_Tg-}-J$)d zgTDh5Y;5G<`wNLgu&eP@l8kX;VuX`mure{>k=^HHRuql8$xa(LLiJ))oXSN|iuNXZ z^kc7HJHZ($+ZUI=pOpvrVjXw>>DoJ!**kgd^(VXRVo`5lA+4>v?es)0t#CqonlQO7 ztkk>oP(F+H@Z+Y#MCvB_PF#b~vj*A;m}f@TrE#mgZq~1~<iRwT^z<!_J}&whWBF&L zoR$y#2c_nj*nEhd#wn$~|KKe2RjgFaQ6_E480?H>_-<n(^ZkNYEESJIw!=cVIV;h{ zPLXc5QPhDK{dbDrZj}Sp<uZ`?7w=T*V(ucf*xHP-C!d)cY$`w0tz9;!kS(=2GkGBa z!^CM<I8-EWN$Gw{DED<JJLnFS@UmIq@FVwF=!<~i44p6O^e@-V8NE3&V-4P7237wO zRQU*<UtfjW(3l;P9o(t4(5=<tFf6wp9<`tE_LQmW%(z=xo@KeI={35MWsp^2xk-J{ zQ)X1op>?q$VC>o3J&!yP5T8P@;aE6Potp;PF|_ROmD|i$Uz}qG7hdi=caQjCUC^v= zw9THNJ!}&d>h|X<uMmt23O*&$yg9u1s5a-B0r=$3;E5c`4144?$o=$lOr_9<8I|V* zIVsX}a52ib#U?G22YR(ZAa1$QMCoNVL4QVnN$bsgdxRIOiTzb)_?3{_17kZ1472(X zRyQ}bl5z``w`F!w^y7>A!fNVzqZ{g)Y%DRAWp>B_eJ5@>I5|TTOLJ+%!cRji>enTa z6=tX#Zt0E^-G6&x_sI6ouThr?4u$Rg(QulQ6T7VC_wFZl4$+tOjcGe#uU%@F$2kI4 z&xu|m!W5y-a?9^Z#yPz5Jd@x;<#+lx2wrj9m>rDLw5T79&dN`4?4TVPv3Wxu-f(h) z&%;X6)#4qUsKvhNjB9Nbr{~OS@R6oJimLjlCvcB1va-w`Ctv<#PS|M~vva-<=aCb& zEMjrK&a!2`ZYubd>5;Kiqsxa|dgDbI=N$9GYl_>sJUZisN4n#3d&TLM$l~<h=|7|J zo5M9xqShZdEiV8u6#-@Toko`{?R9-MVvR^ew%VXw-SJbid#ZeMgERAW-PE1)!Zj*< zm;v*3-1QlzLyZiLH{X`opB?IsGyEt{-<{LoTMwN!v4FOk{HXSC*B&2Xo3Hco2T~)< z`63#{8eQn6wG`{0+vcaMC9WiyijQ92cY^cRm89>w02#jGfOIyDzwstgXFSLOKzhIc z;JjzGG`+G(W4>+`z!b}YJicdfyM`JoK+U*h)oCRQZG&hh-)i%MOmx|DYASU?qoquz z8}s`0+XoJ`Lv7l3F(r2X1XK*@RU*`T4L&13rUlNn5N8L}kPyB#@8$cP)LXI8nBTXa zh8#C}KeB8UaiTV9r4$#z7g=;l<zp>(_p`)@H%g6xE#K{1XOPdy8L*ndGNugtz+2ad zx^z2NBUJ*`h{N2fjr=mYA4K3c?G0Oep47d_e}=!uZ$RsU`A{Jj?{ZBc;?Ji-+DeDf z2R;5De|FitY<V~S6@E7}C}g0^#GYOMT(K%oJ~POuej(fV>+GHrKk?hGr(zi~Ds$jm zg!-N6Mb$UY{l}-~6XYd#m6UOp-*W$1l<N;-oHU9>5Pwe$$78R5w>+(I%JQU+`Q0hM zHl?CoU`N~J@Zd~v8TtJU|5f~7#0M%>M<0u|ZNspt_W53Y=#;><f3h0MolmmYJ1C+4 z0Db4y*b|B&%iVba9$C=%&g}_bI%&dl#MY}99Z0OUEGTsZwLZmT#dVvGL!ypG$2ZG+ zjw{Su%h@85=Ht5CFRmU^1>cotSWkpL5qa>I`ttKro=>7A{OgG~*~h4Y@iO*R@WBU% z$6p=LQU`n2TBGkVxbD??qG#+Iy=K#<`hPh4%CM@sC`<)uY3Y_yx}`(9ySt>jTe?MB zK)Sm-B}Gc<?vU=T+1GF8$2`x>kC`8wwf2g4y*ti1Jolb`kKg63uP@M7e$Z%whG|r1 zNNXiZ6A)g0^lTKke#qC%2bTT%!gw2%YyPc4Aqg#_kJ6X}MWp_p^OsD2jogfcd_7+J zJhWw1bm}A1Mh7x6HW)G42}*nn2O?EzXMc9zSQVY;6OP=p>Qh1|DV5YX4f)DhEEfly z&L}XtO+<C_3tzkG^y_D`fIo~4yC&#HSuV1Wk)HJBHCbH0Xsa;?;N7@$V)KZk-jphw zEaHgj>_^s_H~JGuz_^DrA&KkfVfe5We432Yudnz2)L`Ej3pt%}pNK{QkUL2#tw7-X ztoZc6Zo992$ozz_UluoN)N^CyZSf7U%J6|5>%AClRA<5HlmuwFFsJ@~%Yp2k@D_1{ zkuj>Xjp^yE`(_B~zs9GBIi{!7kW5jd-w&w;kHz!G5A26an9g{9vQF}7>o@=g#z&ZV zqtfE`Z`Qz#757CGM9klm{%dXbk*2-|JuTQxD+RTP1Wne4+3A<*EC3s=nq~+ZQPY2- z?w_ECfp|RfrShs=>;E`c$w9N|PmoDW!3T#~OZa_0ovFL}lZ9i!_xpFO-s>dKl8Cxu zj!l-QRE~WW2)-i08LpqK_}+KPqnNnw#l+I4`4PV>%>&saBr~z3bmPxvnVxbG`n^YP zB6XYIfkY#mOZZ#3etqkGB?<cwcJ58NqtM{RhaWe>slrM@r)EUdWsHl9yYPk&nmFd% z_}#Q<-8Z$iXk@lWu0c#sW%r_CX<lzPnV(VxY~jJUZ_B&%8$7W4U71INQFwY7$B#Lk zdDwCkfAgYI(x|B!SA-U<A*&}><5|-Oc7g(m_fegnCKA|!PiGETJ%Ye#)7*VPaEj|U zk`yF@T&k;~-PBB;pbUtlzx%kjs0rbr4QjUHlSK*aW23KcABp@d^w>89T80?>#+avQ zP*Zawgd{&YAZg{#W-yAqJ|o!`CV1n~+|;EHg#<<N5(Q1-a$5{BPtP$PCIj|6!-?Z6 zuYV^j1J;e#s+NBxbPUGLht)yEc`)_LlL=rU6&@Ek;Q5WrIax^!S(WJADgS}2BfHI! zMvn1^hY#!w8<ieuf`B$-@LQnYZkYs$xQC0q3!lU#V~`h<60VEt^&!s>m12EL%}jp- z!K&n^ZLZD>2QZzYS)kAgHv9(T5e_)$Ay4M&7@c7u?)-0O!@p&o{H;c@ug>s+(zTuZ zqsvnHB1eUv_T%`vci6djeTTFkj1eM6Wkh=Nrze?;1M>O)voByFSF2}X3(1zJtt!Bb z*IC}xDzU6cRxM}FvK3C7K2W0U;EhLh_HMU>6LdXj!BQ89UP(%Dr07jOP3FAK)`|hb zR4E)BUH%;pZ~vJB@!r}6!EY<MwZE@C8%w_R$XnjKoI#Nyw41^c<B6*5#ReV2*cmRq zyu)yQ8@_DpY~HVLWTD+YbR(U>{Dc86RJ{>L;7X&|e<MveoFCiG;?g=b!Vk)6u$C<w zKTuA~DY^?$gRmA`!v~iiH_|`TGMJuP3?3*s%>7hu!8mY4ko4<=)3DcYJ@j-2VS~}3 z_q!*qUpgo(zJ%ugpXs6z{XY|!8_a(FZqo;soWYbE#ZuIM{guZVf^er|F<if>kj>>% zBee`=UcdZ`9<B_(R`eW9`pbuxxtS|6UwG=5!C+DU#4iU3HOZ&Ri;rJCuOAt>4#&FD z0<ROlyQp^o#$fb9KRr+mV1TRMpd_|FJ`W&y?NbVpV~uPmxPk>Oo;PjjPJ#fyjtW^@ z>{v+1c!@mgQyfwOJGf-$eR}xweNa?_eS=XGjEZNJK++fzzSLzNp5Ne>8GDm+<EE5m zKe$viTej>nKgGe3UxPyRowoKM09<?>p^fS(vIa>kPxQ3*9tSs;|Cght_ePr7;u<Wy zL8N9SkTdjk&(t=PKR-HU-r%fR$OlaSS?~ZafFPiB0#P|!jWJ-NTnG1KL5J?sYEnON zvw^zJ?UL<6u|kcA6`mT=WJriiPjNF{k2+ePPm|kF+G@Uh2a|kerKJbDwDNlrtROnG z2g)G;XdB;}o&=Wk0kd1T@h31Wq2IhXe%uUo-$)-(bbMt5E0s&h+fX0eP#vRgEWN?K zOcE@GV7{*xxPG89sJofYvIhwt<uEJV$LOF-eKYu&N6gXzZdjY%@yI{hAQ)g&Y5=Fm zVJumur@NjTX@;cz79U7{pv?4KAOv>M)G-vH;|WC3%BnRh|1(WFE}8xV%BHe2P``yh zSoOI@LlB$wyl3tqNW`Cr=U;793V?E-;<HcGAXLxZIT^=;Nh2$gb=#n-i|lT_xP!(< zr{U`-(anuMP+)r8E(ns%d9kvJ(oD_fL8O7}_a3aCj>A1Fh#-1r=V=`TR`!a6TKvGx zP+lPixQ@!Wl9k~bKA1WhjNA;>eFlpmUZ7#l_`y_*(eet{F9pgG*x!KHXzLdo%5k!T z`;~Ls_yO}1i*D}>$ktznct{{Y7vdFoekn(cY2g2pPcJlBpID$vH;6YFC!nXJI)}4H zn?TLiLXep3);>tg?A||<0Q(VuBkuz9hj&{GF-3_%qL@#t!6IP2l6L@8gZHeu2uM+R z6M#jS5<VCN!esDMPC(;5lQxK}9m+-kadXJcpB_vL0zf}%@6rERHXb0s2M7=rb^Dlr zQSD4E#FO$g1Mv*M0A2V*1tDD94Os>$OL1Tsq_m4uLRgM|&x53U*^h(z+vVUq=^TDw zjfcRjhC}k{+8Dq>V1XkA<1w7m8prgs`DXtyl{q>aPfs8*7~4lBfCH1_OY6J)lpvDL zVEs*98YKGVS8ZPxq|}!Sls~;wEVW{MxE)U%+dsLceBft%zzpF3BeVlwyD!j2+M=$N zQS<qdQGRw0VWK?M!6jU$_x3LafAt%F#ZVG5orafsH)llM6GJW(vcii)k#)gY^xS_v z@$fj@g#^w6+U_&Af)|w$9ge-z!K*llKDK%BZ^BH}PdNEh<bHg5OUKHQMDd-WqQ~^* z;dE`HeV}+!fGPTcno}f>4E41m+bCwmNst8^7HNH5<C*hVV!_H^(XE%WhV4(}DopNg zoL#5?qEt^sJ~NT6^Jd3)DB}Oc+rrDzn{G2d#@Ns$+Q6M71XqExQie2a@rE_1>BP8h z90a$;?NdqpV(`8{$?F`&45r7T0)z%yp$KZ45fOSxkHAOw02Bt8W?fHTjASm>`rs<% z1Y;FKhH+mb74t~9+D!B>!YKImW7Luv^%vGlhIW!IVC01wKQu=P$a2-D?cj+ubPm7! zp~DjAIOxYE`$Q}FG?W<o>?qm(P(${-6=z4q+?6}%XVNfjnZo{lEAClq`{xYiPd|F6 z%IVF{q+PiDMR{|2Q=oeECA9SlJz1s5W86(K>NhE`J)}r?eV|*NI-ZDbyVGq5SMStD zF}*$-3$5OAxxr{?^GvGRa@qE7XzMRGlsu$jJ8;3^-qea~dccpHy|iTDKgWNMs?zhY zi5ld2W$~+gKB=xm*kO5KjyCsuyTkSx-H?0wADg<XI&t>lu}!FK{B5(wPsquZ-&VB! z{(iRn#+Zx0eVw~uSz_pWgx>=iJDnM4MIpD3sDthRHo%FMc#5g>WI77uCo3YKo2vA9 z<4rN?i~ZLuHP<W($;{&e>Byqk;JB0%wWfr8zW*cjKkOlZ#ZqGU)HGTK5J=?VK3htN z!j{41Z(}1or5hyaaDXb4J)+)GjtlF1G>GMCf!{)qLCKwbj9oLl#u3}gw|J14IxmU` zvaNy)hG11;_Naz0SvH$qD*NV-e3lU{4*Q%-YwA&<8}EoZ>{oMK#P;8$lH<0$yk*#= z!uT%!pxbN_*fKQX$S74*9C@pZ^0Q^K@4-SiuT@xgI8%;_&4t+yR`EeB%u;|&+f&_w zc5`eLM0_;-d_lI36Co1RqVaP%&ZRgq82c@}OZ9KDw;{+t$YG?mXe{0-PUkaVGd@Yg z1-59knYcuX>(V6^MY@^t?HQdacL%p<(B(2<KX>$>6h-z`PU8~0RNtU3#b@hdbx!l) z-Km~t8p!I>Jt379NA}ru0mKJvpo;eN=7OU#FECt$i!0+qCP^x?xm0Ud#HoYuBw*N@ z>@%7b!4U$g%UQM@5SQCA$T2M%)=UFfpg6Oo9HS?QnO+>Y0Hxcw-W@CAM3!%V&jAdv zDR=-f-7o3T0tW2+L9bvSh5&<?RNC$eI0EWh`0pk~Ln_xtk{haS*<+>9_l)$4B5xf* zpGLixL5KZ5@Y*#^_N^}s>_9sDgWwF(v7amF5Ft`E1^S%%$_jW;1GOOm7Mq}+cSuJe zC}Q?Q`E?{+K~Xf@7n+{@kBgS-84bvY6{i8?QE(Qg5l$M*>8<rn2_2pVO(F^vtJQi^ zAH1pakM%qwa8ApK$j_pz#G&}#ab@o9>m|u|D!=k0{qO{S#ajJct9peU@7n6LU;G0a zANgcG=>9r~-w!WWy*t5qv5fR&fuCN$L`$*>p)`g1k2Ago7&<>F2-h*lRCJ(BgBXH; zDgs2+{-^ek<^$?(KOo(R;g|q+I1^2fNfJ$m=n~r!jxFUSnA$QsZHz(>)=tBZ@n&|H zYMU^3FljbLw+?@D85)pT$!);!*ibv!r-|!Y6EG0Vf}`Q6<#|!0P3|zvKWCkX)IX>3 z^8B_U&O(2xU4sX}OCM2ah2)r_*j$6?jS+`K2vk6`7sQ-qZfgxO#}CuagRU)@VA_5u zU}%tK_FFgtAg;{%b`W=KDz0nhCk@5yEJdy}nlaM#X`QZ!pGL;7G70c3BZXx$JV5`C zOfqzxiz98EhHt&w-vBUvDtZV1*v~B*goX^ECa^BmoJz)EK`G)3>(YJsaEv2|A5M|Q zfK44n@e=qHt1doii8D&ue2cQd@ur`_D`8P)Q%n8kSq+}Kw{B%)n5?!=yXN$!#*pc6 z$c#yph;NgqZIb}IQmPL*Fu=BohNb$CImA*bcO&ofFEqsWLw|(~&R(s0V4S~Y+%C`m zwz(3G0AdHdD7J-dl-xp2KfR~wsJTo705%Kyly^9K&fH^eIi<mHKD+hiJj}|!Y{<KR zE6L!6%YF3>0#G=XT@XZnLBMcjG<JW-i7)m;!?D7v<_<(EW9@v8?;?D2k)ERWD3>|8 z-6qyZX`7u8NABQAi2+MP{%|N|IQ9IJn!8VEE1oJ7-h$R87C3T`RBlGtC8i;|9iZ{N z1PpaO{$c|A@{D^&f}$}fMq>FIm@91wPX_S8Slo+1jG6z8tkIz3J{8PhOc>c9>^{W5 zXM}(lt}t@{tiJFDkui7fhtgdp)?>Hd2rvNfc|h>sY;`=Ho&k&N1q&XJXG#=Ny9{`~ zi^|xHF}}Jsd2n`a$mC$pl*QG8YGZ#7FLQa9|JfMXijV~C8@f8QdMn>$a<Cw8k4|L_ zMP<Cu6d?@%Fi_l%OO+dWNWZ6Ap^tOFaT)9Dq^Fv*`a4#tu2OGQPIW`R^RaIFr*`g} zjL1cjHnXPgbDjD?iR824&YB6Y-93RiCCM{P1-DUDq7frwOM$uk=iG>i-<`(tScJT0 zMG<rP$w33rs!b~}MN6<mQ^9wrVmyN+yyCjkev>@uH5iJD_c21m%q5I?avxcn-`@P5 zpfMm(G(&W(5`BKWm_MU*(R^+`>3jImK2<j9mmz{WO1!@oW@&S_?w4A$G3WwsTBO~2 z!@rd|wp94>tun3F*}1bm`;B<MVFzsgU)ZV2JXvFfYks5z3QoVT7S6|w#f%<YsJz$a z9SpFQFUMN*7(G0Yc%OZ9;0o($+EyiByTYksz0tctF9-}A_>5}4H}JsQQgpJ8?wyOc zjG|ZLC*Z1l`)k~XRA2MVlhJ=+Z!0iL>InAbEuuyx&Jr@*S(Z3__^#Oe_zZG~-@xh_ zr@Ep^`&ZApN}ktk6Eg%Nf;2(IZ>lmbyXTmWk>w+2d=|>%Y)Z!3za_}8G$nW(_YeBo zZohN83m7G#*&3z!`CMZeeq>sDKUnCFA1|--;5oY`{9NE-H>?xmf#2Ts-g1lIz-(zO zMp1s{#dUpj3@tPjFAWiz&(D|fBA6^Ush%SQOerI$VQVC182GsJUAo7xVha8V_t{Q= zNB`V8z@r{c=-2-tc5)}2zuI!ZZO`;(tnc0!xNsAQ3*HiCHoBD|=iOz=yYHyXiziFL zn`$hM#9WJvg>(BDd^+CPI(ThxVp=1Hh$0w#>iEd58%eX7Xg7$@1l6&}qzV0`yT$&% zdRv3>fZ@&lZN`E{X~`ibVlv)6eu4LqQPu9f#{%;5nN#q@9mfZsGJDu&0e9>(y0a`p z-RO|7ef5`5C$oZ$_nOSS75-(@iU>)u-SJ}i%6*h_vhFC`FjuMFAD-=gZ+|B{32S}x zU2<Q9K}_CqdbDN1{zL+vuhnB|xz+YkxFjgByRf5+eno9CSl&-MBvE*3LG30gl5!#W z>qSiXIx6vNe#}KQ?=LrI4w*7c(EJ47QGF#2zt@VXwb>~L?gX?3RHBP_T)PmE#TAe( zR(^dMDKnKx*s-H>VIHH_h&PGC7VxZ+Zua{o@;5cAUgSgFKCJzHPuDd%HRf<}KjFn> zu_gU99xrZNIwxQBj6YF)<N(-4C*Lkv_C9+5)I^3MbNWV_mv1}$SFQdAoV!@s@75%a z453FE7JbEx=!&P~7au0RT<P!JKF<3U?o>`ct$00UU3ISC_RK%~?^Lo|x+*sEb3O0~ zyqZH*^{K1WZS02^APlgyL07DhcunV%c=jipgv|FZ$`%QCl`|s}k@&N+%5!emBT?7D zXR=A#9pufqh62n45!xFBil;}56>1o&rd137G5fTgKSP%*^5h+7*vfOix!A^4p-t(d z4R$>0-atKDgNM)jH;TINUv&s8^HZM4Y1#2GRl9y+i(74VAwVE*s$`2@_1Td?LU`)a zu^|1Cc}RUoexrHD|0jWP#jl)3k5)dRGX?`y?r>U|BQtlrp`;GBa3|tLK-`Mb9R7D9 zh4ys4<y0Yb4Li9llLXo_9mlFa^KWCS*PaFQXSLciFf{UYp1Biqr(Hjm-X9DUw(@NR z&U!0-uw0TxjlV}TZCMUl+!YNr+gtn8kAyfj-s-l4F3v$iF7&2S>zXVjWYtb3wfsIH z_lKfT@HI5`tjf+&WYYoK9GzDHT_t*-8cB+dw8%5{rg0#hfU8i;uBdDNvu}M#PIXZ* zD!+F5^6;Q*pHoj-G}-eH;(^c__BgvK74XY4qBQB*$8ulMmRlHC%BaT3Y~mAF<-$F+ zz$>UECbi+b6ps^%u7ywUoO5nG)cuH_)xSa?vkWR9z;CTg?~{}~^r+GEz80W7O*cKD zXnStm6021?IT0;IKG%!)ky+7na`jA)JZ5b^H4GxIn`S!xfM+%`M;?@R_c?8RaqR%? zE>5wgPGuFhRY<&&b{Q-xRJ~$Urp=Y5iT;y1#J-J5scca9HCH^%>vp>I!^&<)ty&C+ z*$oF?u8%nWr$$Hm70vxgfll{;lesP3NA$!=4dVW0rkjx7qFC*Gcs$keq{%6>{FWBg zJ<A1j6)W~B&v238O{~PCK{CBbX^K5{jHwR@+Q?J{47xOX=ol`~*?N<^80@ZjGf)%x zFd@Xd^<A%vPr1ZB>9ZcSPdalSWrEb#E16{8Wm}u@lJ44k;C)WJ!Q}pa_&p+*uyOE{ z^r+SsM*>rlrFUM(7c{*+KKVf#;3WZhkBeejOm8K$oR+S1%N7n^EPbjK8?l>`O(ZEv zvuw94agi$MGSA+cP}z4@rhn2?wqbI$E+I2hlxL3{v(n;|ev1_9!LC8h-gNe^64ojY zR-WruX>8a*xSm^rI{Ex_ucBVGh>Ti`s<;=s615u*@!_-tNn_d`zQyD=?3XLcyuotx zM#MNhEZ##kAqNdRthOa>m~m~|X}<C&S#`?3{*Ri-)|2c^U8Vl%1n*}8O=y))T7G-* z;PrDBe};SiY?+wvp!5Xy{t3@LADXXs(id~thVr=7J^!9}czoBYO-UV9nSEs7YeLXE z(HC{gJ#-pN{VgI!tV>)xZXFM51$p_uUs&}@5U{K^3Te!9CdWw@ZCMptMwD$UQ%F^> z+O&-~7I(Zd(><-M<qQYpHl}C&@@HfMIxQj!k`?QsKgDzNsOAgcC7ly4&yZvpc(JA0 z)^*YzCkU0mGUAU~giMIB5wyzO*Bc(Rn8z9t%McxVlo=n?XoXX`me%Jrr-)|bFNq;5 ze`xxW+_1*IFOJ_|WFZ9$Q<6!`Bg1l}ZxeNwjJSs7lz~!Bi_tpp?z=9t(2|l7QGP_B zlfl9CVnMF7%D$Ik%t5qe6B69namlb|g8QEK7y)c28F`_t3f|7lM7`IL`d+hoXYpXT z`S0R^;$KY?63hhn(kjz!mQ_}^O3Ep}U=HS%p2nq3gS#x-!`6%Q5z3ObOSMufEt`jx zWZ%}C{dK3)qaRVIUz~W&9zW?AgF1OIDpmT6TRI1EU<y`U^Lxb_&az^k+Bs{|@W~e% z26Ssqh`^FJeF4m-RE@~okT#Ay=ZoW_b;S7fqDC7Neryu~C|s-)<3roBCKbWZdN{Of zsH@T?VNF_tw)ue<!c4(5Yp)3m4G~ps^}A{?3l#D#P!dJ?WU{3)n*}H5O5TUQLv;E; z4y9Z)&XS#{rpZ&?>wSiq#M9x>sg%LJobJ6LPi48J&+(4;C9+Uy#X3?j^^;UmUEF5i zfy39$E5yqrfsgqdn<^~uv>H9|Zz!G}t7Yb1z`U;tCV#b`MGC_PQ;dSBB&hs#@Bg*2 zdN4w#4api^Bg!2qq6(zGS>#}fhJTYMSStxjuJ9EqHQ>$K)Vr@tl4MXY@4rqt{HyRD zDxd0i_J*JkqB){cy_OnYX2KDf?e8jmwK%jl6x7lN@Q88oerY4JNjq|ISi}JVoA5C2 z>7vs2vg2t~e16OpPe-M5<MK=~7#IHfRkF(8TU<a+UuJKoZK@*Z4NsLvj(AGuyrxM3 z0|YvHG<O(kcKMDvJTeMY8QbZU-dnOn{&9W@d@}yoMwQ=w_V<h7XzPKGRqzh?ywMOX z0%&c)5G@>N-pE2~VW?{{1I1VhM7^OWh1|wyB;A>hp`J26E)Y$?azdSyKd5t4IdY}S zCbHN5UPet$gA;Ylj!}8m{~V1&MsfrqWF<#|xJq%fEP~!4(=n7Y;yUQ^fY-*rU_aQ6 z<F?Jrd|!w@8t79CiaubIeTTazLtnr0K!j+fK)Xfy$ccJ2@V58x95u+E*m_7TY=OG$ zyBH^`t4vUnkJhVkSD!nCAmK$bYX43+IkX#YdwG99=p)*%sfV>9q?hAn^<4{}(_r{f zc!gFo{ml?IOT{wFp`bU{cA%8I^l1vAMuj;=WrKsy(d3kyUF?aw=T-)1bzTmTwK3<d zvx#<(eJG*%((M3mhY3GG_Mr3<a%2(5$DfLdfzN-Q!kyCL&#Rd%E^XeT7}GZl3f@5T zb@ihx2?X*|xVcp}4~;PNMEh09DrXS*N@yUvpAqeguq^xU@s=zyXCCsL1w8HI5I0uO zPo~G;O>EO&+MQ38!oR3cI(PQ|kc2<N+p)bIe(JvdI<K*`YLj1;Fu|DMJF^+ec2mzJ z#+G++chrSBRu^?I)#cF7wJx!wpW-zWjY9tMShy7aMn*K(<di&Pmz6tl5w+OrpN4m_ z#Lq0%Oo<|CCJpsVZ29X0g3dQ5KO}y~FYkO#G(0JFU$VZWQ&wrSXz)yWPm{rn6k6($ zkm<l*M{BHE$Hq6NyybZ)*Tbo7N>*lj{;(i3_VtcNX9LYZ``a+qsqr^lLl*VChTnvV zOewTA0_ye(lrq~9i*|2_)ez#Fb6|LDFsPhF*RDejhFJ4eZB$1+WM1zK;%a4^S!cSy zOc3dO%5<USvM(1G{CcX1N?=455FF@&THKcNUENdpRI?^HAa753>!egoDT2trjP++l z9+qd??17XPdW3SHs^r{I_1?EW@PARglf=g|c^ZAf0)t?^OqC|uIA*Pjq%f2BO4-S8 zu{>WYXRA|?Su3j`n{J~RrseE4ZEStiEDWlWRdjjy!E3EHa$BY-Lf!jpQR_KM`v>9F z&oyR}Wu^YnFS$57?s)#G(nPC#v$f%wgr!{VOn2eAUdABNd*<p{xnN4F!|MK-a>A0* zXW%(nrZkad)|Ym|GU#}|q}r5+v^&(MQ_aRM^2BuE7*k&TRXSRy>8M(<oA_^pQ}t9Q zvTBHOFYCxd7a$iV@Gc`3-TC8#p%bRQ>D#|SH~TX4P9H&zUptczwdl>;BReK5sFE=; zkRv`)cP0~_g}FYKT9|{0u}0n^VArq8?F32F9#O-xv4!Lb)zp##;7)U;!bo!9xli#) zG_!zs{00|(!E=*6z5HbMBK@nDb)kwJvxQA0c9H0Lg=0AUURhV!+&6c@a|R|jMZQ!w z|7MA3nv7Uz+QkYDL$({}31%e4a4J260$UNbQ>gP0HFy^&*|sik283*a9U1T<>iL#9 z^o+k_to0GKi3s@t2tnwr)v(lGgxMS>U1SCt{`PaRHfLchahhF)U(`xDZ+vgpk6jM5 z{a!o9H}3U2+UaVd9S(Raj`%?6IagIvHYE7DO!ipl!>H!x*dP(g7KhPpXsl6{9D*G> zvJr1c+kdqIf)&`Mn+VdRe=I=+?NKZ<bULjW7BYL(j=t#<HUL5vtq=h?GvX2cpeC`k zDgdz_?-Tqm%5_Hk9u`1VUrR6p9$z+!B0?aT8y0azEy!5AwN!&&C&W*1e>lgYfv`yi zbW{_g0~K{e^CiMwwvV8m*AZnbr<TV2fgocX`o|BWDXv99b}F_LF;a#voj1IvV<@5s z=W>R&zn_u9h$WA3MMvQ#{;lCEbc)U2-;ILX;wsNc&B&MhYa=GC?Lu50BBe4_g0v%H z8jcY47X497SKFmQj}PY(BRd%W@^6i5BOmPsT8s76AqBed@uXh|J&ny%Iq%=ZqPkl~ zSp0ut4NrOFw+o^^nQRtffG$#IpQh$Wj%pv~dgrYQWpt#Ps!m<WdX6gAjFxJHx$5n4 zl)>i9a+>Gk8X5CMNP9anUo~7U@%e|7hXU=Nk~4v`LK=L05P_L_-du|Tl=#&Usk)K} zzb@O4b&&SNPfSQ=W;Qm<KM5nxoQf-j@1SxepZM`>CO_P}rWl+_32MtXm7Mn*CuQbl z;T<ic@=WO7MvpyaSnUa;OU(Jlx}HTir{UnU&S6V&sEqeqjNr3Q^hQnFhp5GyLRDL{ zhqf{uztf<}Ayg_xqEWL)VVJobg{_sV>XkHiJx{SzQL2pO%-Bz{;X8?Dd738c9+!9) z*eULMUjJMIeB>i<F~>50DDs`QJw>ra%JABKW=&){ZbKMV|5bO6-BgYdO!Lgc`(8Kk zoyzSB3~EV2^D5uGwMo7V3CY*3eOkq$Gru?RSqiG6OV-z|(6yd73Pm+&H*~bCD2v0a zwoPMFk|aNGm#Wb9H2xHsx?Z6&?{2=#!2W}N7Q;jhr$a>cED;T9jN<~;{XFc&U|i~7 z_*?2Q5$B)>Oc*%70wdVUwKYTrWyOFQ#6{gc_@|GneI66=>_g+?BjNod&^4dd+}Bny z0@fu0wEf@Xq2NGIyw%M$aBuJO@+UZoRgJK&rQqYCi=13%-<mgkNq|0sf|T(q!74O( zjtAG_uxb^dP=|*O?lgS5=wryOV)2Jenk&U$%7GL_CY|Ig^+JZ)S3GYQ?EK*deZ_kd zil-&2SI|#W8h=Xmj3ZuiFB?!NDZWj*4HEXrSZ{JU4RPbC@AmF@U>C5wPyH!+p4*VQ zx=P=v7VqJQ?e?SHuhifJ(?ogFbOArjkS=VRcCBUpcioYa&cqhPho8)jMw0589Qkc? za~QvBopR3_baKc0%Y>d9^-Ev1NOZYPCrn?$RWc2C@P4Wv;1V;$!@1nZ3IDZFazy&@ z8GQ8N!uJ8~bYYFg==w$Cuj9l<&eyEyhYb#luoofQfqQ>6aM$he2F%m)yBI#}zTuSc zzk<a&H`ppxI_2Kf77z7A=hA65I<7x2v~{<er9#lIJX(HgC<%%t3o{Uz9jf@olar$0 zRQ2a68}VKdJ}0^3#vUuvIz8JYt**?dJ(jAkcH42}1f}|Ufq$ZXgYPJKf2$%i)^<U& z-_X+9Qqr1<1AiW`RhxfD@&}Pk!5<B~x=QOAO|LDunuY>hvqR%+l!WuwAFPPxRaUQS zOr80Uu+^w@?g<hZmWqYwkGCGHON%V~-D+YIrC|F0YV&HmA|#!@9yLYGT<`g2()oBT zfJ;Yi>37^-dY`CCGqz`@jyn5$fbHg1j=9xpm&JK7yZ^qXy|KLc;#0#PAJ$eGthHB^ zP0Gj-{Ets-6O3Z~k4o!K`XV8LmkVKIOSn^&(h$o8BPIXi-I|kr%Z0XHuqW~qEKE7h zTDrQH_#hUGpvvHjwFOJZ4+79Z#~44vKELdCD|V-Oe2vyIB(wZ2@Fgt#%GNr<JszpI z`ZqYH0$dc9%P`!jQq#|0g|dzIM9V}?6pCh-`*4S{6bw^M22NPtsoV@R6jO#Sep&4c ze-nid8;mIZW{j5Jk_y9Jl8>@^BWih%wXvh;=$-z;$ReIpl_(#z%fK0%RNFve<CA`; z@N<xYRpi;xRrU@a+Ocv_L)@^9yMCW`*7S<<a!9;{R2#Bcl0l}t%09>0`}3cyCLzUd z@^Lo!-rrtvmM>igBIdUCaAYWU`aa%OF4ei7#!Xq>GwRevtb~v~s%Fg4X|)uryv}_d z7gnR+?X>;VA9zPx<vaJQ&q|$Pu`2JmUwFDqqt$cm?FW;oZY=4$3e6hF!R~tLJLx(~ zt1JB?rN5o_Q|n}bca=KsU2%!rdxkwB2LdKv<w~Dhf~`=rYQA_~={6s%UWQ)s{awA3 z#wM<^-t~W+A#St3oX-y}(_VPaN*qGbm^{uh-T$KGfL+10S>*o+dqr4pxi;@2J^l5M zDIAH3%(AiCryV>zES5U`Mnht98Y(fLoXL7dh0FMs1*QyT%4J~$-+ari!g9@=*Bc$y z+7;~5B3BCZg+na_n2AT?uO8`C9^)(79mM1rRh{<bce$(*ahZ-^4Zxp7ue|A>GX7=7 z>G<`FB6a)T+45_>qfbmL#R6YCpVyupV3*1RpSvskTLo4}M^(QevFB3!-RfVA80&QX zOe?S}B7O@?qo04K8!4Zt#CA%oo*@|8!tm1!h7X>5-m%VDu2JAaA*zU^e1mC8K1)D; zdk$=I;^3fCxz5hCRC01m=Tm2C;!1*L{{G73FF2k_sgt}Kt=&>yfB)xlEv^p*NvC`2 zf5w`GTFwjGFVCzR^<azN?64g8J!DP|eNi<!R-jD8vkw2@B=tQxs~JmwN=w~Zu2d_J zw3+ofM`7fRB`RXQVl*4V`oj&y?(!MT?($2Mn_iXoJ=ZOG{L1<Auu0xIEK$2t5eb{4 zOIuL)Og&n$8P*rJ1O7hWOv--_AJb=`4wYfeO+8nzFMZTHAW*Yq?pSE!Z}>$Ml7VVc zTDIP_a>daSQ(hCXQ3++#UvD&&v@CUD_@jPZB}ZM8pY4IhwtJ)T$@JpLC;+-9(xUG= zXKJpmPN_DffXJ1(oNihWmg~SstGTn9e61?dqW-fuH)sa?rPlOc)atuuIo`lDDi-ef zhB}f{)P$xq!Z8){6yeVCO`Z4<9Wc)ab|nS!iFut&wFz_18rO+aRR7&Ei21XeAEQ+w zP6z^86^9hzyrQm--tevgM@9(m2E^~>BY40Z2h&*}`X&<-p`;n7Q;CZ9Cj|z{6>hl^ z_5!mKY3A|~#njhUJlF=<JE<7mOS-KSq*AM^^JaolWL4t|rCA}<I!iNMB^9yK{#fmy zHFA@wASt~bLeQp)75NSEI)>$rMdNdrJ!b2w3L>Y~KEap2LEC8c?|G6r!(Blpe4^%# z4m@4z+D6@!tn(eh;e8Z!O!r)Iy1<c~%W?(Bbks*ti~~2I+5i5dPw@j?+%NXk2hO|5 zP3&TyM^UAjj;FWHqL%u8v3Z?aM316zXN`FLQ7_?ay#qLI;&!ULZJ;NLTm<BZN2qe| z9pZW|mtx{6)b@S9CvYAONQQ6xPi1q8?N&hQ+FpCXQ(4mTVn7ng>SAE9Q(^FK!vwuZ zKrSu{ReNj-rnmxSiq*$^sN(1oX;sL^PN3`M3$Yhg>JQ#i6-TkQHH^OeHtHmSE1{Gd z25KDTGnhd@`C@G0t-*rQ@YBtS4iD~J`ZH*Zb|8dNZmb%!{5BZmylKh<4Fy_qnRMW) zf0U)viHV+32o<z$3*jy%%uS`v_#?cR(|6(^S+v4Rllq$GWwi<6-r7Q1AmzsIRbLj; z+sh2nq$pwG&&X=#<K7%2RVIX~AGaor2RZA8NEzS(`tKqF33#5SZ045z>RSSQT9*w_ zxUTld6I7J_t&1w%pB>&Ceqs2^nh8HA8{OP+x;7YRUe=b5@;i;v`?aHXN^kJag7~$b zI0y3>0_P;NNi|RPQH*!$qety5+Piwi{l0W~p;u2)?W(=eOWC&q<rfjPf;eyhH@Jlp z6d|&&egkQV;tWkdXs<_Zg$p5*)@|~6NCCRs_8q*Gkg!*_toSX$PRwqlNUhF-?}vtn z=}bLtZ}aH{z;o-J_?N{?Ser^%u2YTqw5YrE2bS;4Al!wYhbt)mcz0C)>eTam1BN2) zoxU-Z^8vl8UTn;SXn&l;Uw2&-z_4LB`7Ib0=WcHcA<&ddz;=dIx9E6HY^@kNx|>uY z7)|ZWz_|^E$C<ckZmrh#uebf;4*&p#XAl)4^Y^cMNt<Oell~UgQQ_OfZr#a+I6?=y zsW=YEB-`XuVDx6u3aOUp!zC6<hMeS4t2NjDtmJdf!{`%15}?w$VJ;6|F__yxRS~*; zy?!N<T1!mt?KMs=@u$0ydM4}?7Dz_1qpV;%eXTL7xIpX<A5BFnzPgjcp-ZRFpk*3m zg9k_NeP6=nC4{1Nb2WB>76r`puYZ)hFrgsTy6FhYJ=)C*K9=TFT;(udyC1)U99e!o zg6Ix9M|M*FK?)NGo7@%R1zCLawS|q@RMxwwH&$&U?&~s}Gz<=VB1kLC`)I-YfQlJB zXk-k2){nvN;Irx=7EIEZrB`SEViqsI#|4UA6|dM!19B61Ovn&cuVJ-^gpgLAm=zx& z<Wg2)Ay&Ghc!%HJjbpGoL?G7bW6AV9Aw>D13kmX=)M`|e9S_TI_n~piHSMRi^3{aD zp${OCZ#ee&%1-WiyLJVazx#U#HO5bF%@VHt;l#qv;U^lf--iL<Ayk3O{5^+s6ks^) z-IdHqCUKQvAdVMd6wtB5u#&=Pf3WZ0JhPCzIP2lt#sS|v0n3T`L<vV!KExJ39AbHK zc6ok`)$`}6)7`i8%5Uwqv_8{$u~^{&IYXfA(PK>CYBF4}<FPe8@!ixfJxU&!tDg8O zO-t~t(>K*ac5`IU+bi<k%8a5CcbDV#G8n{}tYkZZh$h%}?|Wtg_Myu2(m{V08lk^i z3-YAJLX0cEN~9oV0_x9DW2Tu8_E%vT%Yrt&5jXa!6-(Dd!(UaziWnrJh$1za_L%5! zOAk@ZP)0p%95W>%H7`m>ppoG|%Gp?z;<{gI>#X&Jc-XxBo1E_{cICU*kXlHinAD!x zBK?X$60{+o@IsnHH+06Y;tw7tbr~}3AqHBR6w=p|8PSme`OANMB;0%=%ZQl9bu*Jq z;aYAlA7i)6?yP+L5FK^$@cZ{G&mA0)#9H<%ua`dZpFQ1``gEZ6J4vkKuS~`9L^;o_ zthP#PSN2J`Jx0eVATP)wD~r?MemyJ*IW%rgJuHA#PHGcN0y2|JZIUu?>-x0^z5bA^ za-iwa07EvGvMqgygHKZ0kZOpPLWUJ#cWNc<78g#A-}vOmXxLs@my4s7QY0d41@U7a z7|aS3j-uS_c53h&7eMYiU=U3HfqR19ZxB02+SC8eDYkXI^)zo9Q#)lRCfxDWvq#!U zms@MYD{@r33)Y2gJzmZbzg&@3>u~>lUkR4=n<^oq^7Cla^UIYYUvWx!SF><STP|`P zE#@GIC%F|yB$uA!!abOXZQh7ycNa6dVb)$#riAV&W=(xvg>_9ApFvjUWwp>!+Z9U1 z0IbWoCn>&L2|vl@+td(Lg2@qrCY3R*5gfx+b}Eh{W1~Rs|6fsHqi|m(wB$We`)w_n zO~5VUS8yQm-Zt1&v1Sn1;z5vd&NG{3>wC)Q@zw{TAZXX|TPqAi)}VC5y0o41=FMh( zansdF{k8$kpA+_fBr*?M4=A6mby6|EmLDioHLz0!2-g|8RiM(%;yzRIo<SgYhXFUX z0+^10WXA4_GKeR8Mg(`QT8L=n#wbYL2zX*{sk#T0NjQo&CK#0w*g1MpNoxYJc5c>( zC~P2!pQl=JZn}o@#K0H}z!N$Hp^x|lH~P=bFL82(95sT|Ko|UP$zMnURQN)}euiAY zNvryJABv+hj(cWhllx%4zf{4pm_SqIg#&y?xFIxS1g*J17fFhpsG0?&91A?@5~p}o zMI$C)9lpl-ipp3~Tp26&$xz^qL*+!Iw4G2K1<`yudt1G?mlct+=*eA;Y^7Mv6Ro4O zzs;Bz_fbn^oQ$KWGMm1a{s|*{HtQ)J-XSuE^bNt}SQuL44b8`Dp~o-4lxd`>uEMNL za;y^CA7J@&5`4&BWK_U^Uqrkl3GA5y8uBinz}?xvYv_<mM#<NWoLZCyYp+B|ST7IN zg5&=h7ra)ElgWumVUd+&4d?&#%j^tZTk?Wg8Eg9jHc<z|XE=e9OtEJ^SI(6#LAy<d zi^wSO&J%qd+b>$dT49Cy<Kp@;dIa(wj!2lcHxY!XU{F(ECmCQ0+pp0_&;4r`jbPFT zcx90CUPcl@*}Xu)b{DWO>$2%udgTlMo&M_{J;NJ`_BZN?Z7@xWt36#L2;MO6EnV`T zap3C)dlI42{68o~0-{QjDuRI6?o7h05D9DIqpZ&^@@JalClxmDzh(s-XRga=l6;v~ zf(ycz6O$bNz@~=}FCxHtdB#bXqjv5XqkvJ&T+-~VBWw|t6zlFOyqk>}=KE=H4hz}Z z^3QmsFJ*Iem`Wh9&_h}M9+PROM|&Ku(<i-4*|p3f-eQR-QRMvJPoMuziu9Bk)xHbE zK<?Uos|)IV*)3N`9~Tlj?TyLx*NUv(ya@j`V6;bGL>KTk4OHD0xKURLrO%aShE<c% zAQ%a-$(8n}Ney~a{}A*0G!g6bd$pTmV~tlh1T601?N&OxycQPfHknt$tY&g;qS%kK zS)<>BW_Q53;B<DsIQIkAW&6!K8z;n!XbTo|I@jSof13<A$H?oJ+7xA(l3Rw}Yu@_k zZtui8;!8h;2&HT+Bz{2V;je|!hygXY5`?bv)7$>?i6u7(rE9i$#Y@2wOs1H6T7oOe zr{-m~9w7QeYhvFA>l9yeKq`EbCO;gSJXEt&RP5&lmCI5Jdoc;E70jk9l-z~%Axi8p zR4q6MS<k*Oa1`A`hDYc=_ZOs|*r{<~3&a%~P6F0OHNac{NoB2Y-3Pi-WQGr}GdQ4r zuJ#?cv@n9Wfv-zmBORa&VdRcbE#qEt3Q77PRPRCOvnRO|!_-ZX79KNxoL6Op=5qPj zLt+a`%*De(v?ceS-3$Q(=lhX^rnF*tzzMQd1K`zSE>UV3Gqv7Z$sXPD@{9x!zN;*r z(=3Cc2j}w~R}D8?OC9pwfkqBEqetZ|cOoFAkM>1Og?1Vxs>$NgKW5eWxqiTQKQqc) z3MIsw+H@*3x0u2K3w;h|UlJb(Xo^TSGgow_Auv0x%nt!!U@i|Z>;n}?o_dqai!-3W z?6f}2<ORRnJ^-6HAVXMjSME#+NTT}6BVt3K>MQME0<!xqD`5Ox|J%f|65}a-F6MXD zw1+!!Buq2f%*_u%c6Lq8djbw(iD*9ZfhLZlDMTcbO${xsRgWiW2{YX<@{54Uyn?y9 z-vi^lBsLfo1!`iC7^{A#1F^bi7zPyiYX7!${OkNS-})Y(|LYc2d(}dGVeC5NKyEK& zuNmnDklhaUbf9u+mTNy*X+6P1#>~!q&o~a?rPe%pd4qf69QNt=1aR+cSlF~J!~zTE zka=f=83{z7FweZ#|E&&ghOX47!QL>S!{QN)2ee={^N4w~cR&F$8<dY>m7mdv4k%99 zZxBJ!(OWw?Mg5lmcW!%|Q_T|b<e}zXlF#H{`c7I~<+cw5=sH<t{+|ga#jL+ti0=hR z=yTL<to#fHUx;e|K<FR*&?X9|H#8unYf<wneVx`on7mc1qIDQT>PjJgB(wA%$V|jB z{=b@+>#fTlAXq)a=Nq$G#1ORq_If}V<qnrSR14|KhGuar(Kqe|V(~Z495;ro?nU3w zw}?^CWgFa$$Rcbs@glP581PRosebmd>m2{tz`J;FfA53glJEIk>F-5C9Fqlm<a5L3 zZ-3l#jS%ET;wweEcz@z*K)-ljWsKONecS^d;zcrQ{`#7KF_#&*%%j(qL#ZuZUoU5v z|EhQubgyHn7tl7cUXIi4!{Ac|4@>^pK68ll#89*_Ka#qQd7NeEC8c9k&O}Y+lS&X) zdeY;C7o(c9*7mQ81ZcBr(~SFdi1oIRq76&f_pdnOKyQScOxfSwI;`~18h-}eUQ3qb zRp-PXkN0#r>}CJF=HVW+smh5b8NTvg`4J)KJ4u2eqX`1RV}^>f4DczpDLQKgqST!+ z2Ol_r`S?126Ni@jwpqQW-VNksieF>}Vi84?mwfywjjZN;1|BkGZ^go)oO@LQfukwN zc*I^8E4^&EZz4|`(6)oa=pAiD-JmIV(}_vZs^-;`AW1M}lxaV}t`Rr+Nsu&v#8tIr z;L-LQ>WW8$m~pf5(?4T*=O~kru}7PN;PNW)Du@ufRPpMWdy)0*Fwn)|aCZ!!(1dNB ze#ALFM*$c<;Vat^5LA!kKw$OTT!L7a>NPvcj6B+yUhoe8ICD2NAR9_n1=*fm#za8C z%Kob1>;iW9v-gm2VN@0O5|G|qrHqvUfn$2G3^wBitfF3wIe_xG9+llrkW4XheF!V2 zZPQ>J2<xcF&~9mnqkpC}K^>AI6Sjrx1$z69Q)bNt0v^vfe!~Pev=RKC)+uTbL>xG# zb`Nkul#mB^h@*Hlo)AE|K8JS~azX44k=_5QA0Y70K<LktBmOH}HKUKUya%bDjx#s} z$@%oT(h>0chS1Ru2~=zCo`KLBCN4i2ffV-|Q@l}w)Znth>ga)lti)q=3_+CT813J+ zy+C<#K@|84K&w`X63=oWSx6*mXVegQ6v3xD$hhR#&}$GMZ*nbUrSg60p+)AdhHSqX zrIsLcdrusDLgKO3dBu>pRgc)*jpWhdyfwjXN`=<xl8o~tx%*4r`DP#EsRT!FgqHsc z#u<V{`?#l&b7d2+>0UnRKH`99_l<^+;)`g#(jg>$1w{R<o|V`*nal3R12p259P&ra zt9f<LSO)UHEJPP!yw7GHLf4)`%a4`UAN3f5o7{Y7k!}Z2$d>u^uLE}HPsQnG6v-B9 z&(;YYdqNYtx9SJWcbrF&ms{V^Rr1@i$6N*MZt8v6_UOjsH6#>yl$@$m%<zx-nKm=0 zr$YRhXnB0r*K%9&_uQ?LTi8PT&9hJ#=keb><8eWf_wq3-p5u{fKg4iQT3=#pATbsN zlRB83PuT@iwiWcHmwR}x|4gXzi}d<KD380-nu?gx#ZMxy@_j3XVoUba@y+C5K53)0 zon<Uja2g}|ftg9g8E<S&`(7i%xveYX+V$RWE!DMl<Ijq>MoIiqCqdopU@8eOUMs%_ zb0WPZ%%3z6`RLC+YibpV*vp`;T}C$6H)$bQR$G7QWI_CEjC8_$;rI*hIsEk8{5F4z z8SxKp?S(ef=ARJxAVK@jft}@u<4`p^-GFA5hKvFtQMxo-Cm|6=8mkC!`_?wnRXfSC ztoHLLn~&s``)LdPDc3F^>}g}YB~8C#%DcNQ+vKA1Wq15W_MJweN;dtm<-o7(0PFi6 z?QO^+lvV9`g~L}w4?%2JO-Ao$qVA1#7j0ENjk5IiZ`8@QIy8}P#xeoY+eINa;OR>m zHl1tysQP;P)>hT4z?;Q`nm?NxHB<ci8*0hX)BJF;;L*mNvqSCnSM~BSZ**XSu2MWN zq3_FlmM6+<VxfS-FZs7mMclADf&`Q2gt;2}|1NCcmSxRn2Pr6ASB;I}_^E)HM`=T? z&>q-yx@E9>tXoyX$+Xy5|K20U`blv^Lo`}_eX`zTYD4Xc)w~~mrrekchtqzE`_prF zv{ARq{;W2w#t$IG{e=DZr^&1uvY<f>1Lt~|%l<d{0s_J&TO#m_iDE=RB8eHI&VZ<D zdtx386rIK|lzAy`t1T{s@9Y>MP4Im+5GWpqt&nKiu0TTmZMU+V*wA7l9gQG-NO5FQ zSCCMKB*hF7aN0Q%zpEv2paK0@PcN7X?NDoV5lG1azEDGbIAA_?e!-uj9P6tHeW5M% zV=2Jn@D$MfHviU050i&PMK|E%{x)gBS|DJx^CrAbJZ<6AIoN;z8IZbs3}2=dZjQw6 zpndE^LZO8)Vx1lH_RRql@4`}|5TYA7MY@wl<FR}v#1VAoD(IDFq~>tWS^wk3#54}3 zuwU)(3<aB<hzeDNV*+_*9JCZ|U$|9lII|e;dI|)-^UY1Qw6kUONyO>5nJE+yVvL~A ztQfo4fI2PSKlY491%eijo-j;a_xblD{JQeYObdyS_ud_K(+~ff$xBB2Nr*t^ToVLF z?C+8vz4usTcyB3&3mKGoZ6u52b@@-7DGe80HMeao^Jmh792Qh9j`Dc}<Ctt)AI^?= z=@2#=Xu+cvlDLh!hM0UM)eyzyjMDWZM!$`Ed-&Ny9z{ZN1?;&nJGqQpchg}+>hs>v zjt7X+Jm(J_JFhBhIisr7cY*+F$!2<@rldiNd_AC(0MRtRtghE7q82KA&px%Yfm)@V zn>MBZdgevE?7@_nah2Vf5KYEXP={oDZEq|tzBY=u(S_{Z5-G`KZ-*p)Np-pY6J|x= z*lguV4KFjBW9QrQ{SWx_ccxa{y4}W|VE5Hpwf=%K(S-(l%;UV|TT+>UigJ}I=!xom zqpY<q=Yy7@n&PWYxi#7g+cf+r9#aXmMgj^M@sRe4w3uC!4bQh5g-k@o-Of=K1;&Ek zzUaEmmtYV9*=ZF7{V(4O^>r&Z6HzPiVpzK>T!HZnxtmeURQ6#@hI@<jWNFwr1(=K7 z*~?JBlgC+z!gdw}DUTPC>0rR^%7>I;#5NJ+K*-UNkG5IpWCwG760rW7%wbZfF7V?Q zx{kV@ZXw;|lZu6=4VRTj&WT9(i7)70JH~Z>>lienHr!s&ruk95c0_Yq?XMEHp84f( zV*HY;UPD{@L`LK>;kP#M{h9Hq(r=M0(I-Agwu{?KhP%gV&iAd-Z~teSvHfR~{~&oe z6!^H4mUp-H!}pP@*w>?K<%JocN5#sk9U_mi6{toofVOP-u;*yN=Gu-#y!o^Cir9vA zJa*t5y2iU5I=6a1xADH)ysW_X#(B&3k1KpGy8p^uOvjP$c&BI2BX-O;t)pE2e)Adj z-n?_yE`ze*AG7S;)`F<7V2x)aq79i`qsMW9>h6RS)vV=9!GzmN6_$q$EFwSHnQ-s* zdxVvt1FN6wp$wU>o`VH(qn1X_#MDY793%z)1R6pYz``245lSMz?zgRGR0NSc^h&r< z(9=jkKR68nMY>?~DzSVjK7VsL80LIzZ>FMllI2N=8O8pC#A?a3Kdae0Te9LASqIcP zIdj2bZr39Z6a<6mY9~fMO+z4B^pqj3f{ZBU{aG$)`F?<u;3D4pqs(}RpCXsaIPud? z$7)fa=D_G<7lO+*)U*`9@_;ATLH<O<GZV(o01+6~u(e;(2_zaJB8}f{Fh)~+MWb#A zP5|MMvZu}FD6+U!^p|*2NQ8eiVXBAlvBIH|Yi$+S(Rff1osEfX8aYom^p&gb$OXoY z%0FBASizofC?wm+!-iKApN3;j#LR`dx|t)MYhHCrV_A34rUz-Sq9c5<e*G0CG1*li zRRqnFL`RZW6tvSmvSl67r9TFrW1Ml+(?|b53yG}#eyy}5t~I$nxs?j<qaT|c!81eY z%}aKwEK4*$51#AKqPcarK9p2Bh&#{0BE;Yzd039#tBLBAbcIWC#xAOTcbWNvNzfXc z%Ee3@!1E<zmNK9kGxXOpg7K~1V~~{n!4aZ&QCHp{nk^ocw_dHqmC6&_2Mo-_T*OLi z38&l6E<>kA^0vHJo6{Sok<@?VxvneIxuYXJoj7liC^xtd@T9QhZue|^R(Gt@)>Cu| zz<-P*Xm`geHIyg=xx}HurXSlA@NgbRDAQFE;^j<^r}ps85}Mwq^`@Sa3$yVn&cot! zXje`9?qFEg!dQ)n9yQJd)Nhla;wNGcG&Xrhl*F4@$J%IGJu$$xWyD9Z7)f(o3fKKQ zglaiab*tVRS3whh#mRuxTS#B%<A1{_79Oe;+*K%BEZWqFhOIk~1C`lOE>`_NDErE& zDub?3K{}O?ZX^YyL%LJ)fHX=<cXvytgmgDZN_Uq?OC#OV&7I@>z4zC*)?Ifkd3Mf@ zsUv5Y{gh&vu;hy`Xkx!YH8)9Qf(uL4G|uo01y7&6Y4y!I!I1+vW%kmRF>b<$RL#wc zwiL&enD$fim2r7A*VqouHr<$DsJyeG-8SD`31G@tSb_==*;9;=0tP0{Aa2#fSbmY@ z;-NN^uSo2IR#d@#SgCT;uNb7RnIMIrOt{>%0<3c7m8nfE-$~=%#p9xGL8;!cja!f7 z^!~$*sk}z(vd|ri@DJq2=c~=31+7o4gM_J<kNtyMJ^8w6<yiHchwB!y78bvQm<&Hp zGh~*=AJ?jcYJp#tev_)K^VKG%WB8ddzDwWGWEw~~Yr*0&U>%qqbh*{driO%4f#0Rh zJ%_!3Hp25=9h)1SbWc;Hs%ZDt{lbC)KF8B^`YBZszMC=TSCU+mKskaB>yFUO@tt8t zOw<_TcXst_G%g?>Q<RpHqFqUOhVgr6;~jQBDWL^}>*fx&ljMC`^B01srHww7u42kW ztfOV^t_8+LtR~QibVJP8t<NW+BJF}KpV9P6@21!#AB2D4<paMJQ3dnsaAbQjhj|QE zmly;Bj?sW=MB$i=1pvc4UJ`*&S$WKJ<B#90xsA<1h4xm<lC&$lNQ)-tyUtq~7H&bh z=307RlfI}`x7^pMeAN_@`>G3?!8fV}>0X5VN(?!F<y?mYe(_5e(~N+;Q~=1u>4&WN zW6K;*^*-Lq4-1T^c1;7ocK<#l@MIZ_rv?0O!?E6312T<{$qWkMtgCu0M|k<;l%YZ$ z+Yx9Kn2VNB8D<nTUOd~CzzNzv#9rx#kl`Tx1e7b)SlKn^J*&ZYRt;LvUT1tAn}yes z#gLovecP&eYDeMJSx;a}9ks5=b0KV~p}gp^9yiuTdz!>UE$6Dd>9bQ(1x}k4<mwI? z2k{%=2bjtV8GMEagb~460Y3Di9p$N2sXL9voaaKxvJ?U@RO?Qcxo)_je6P`^=Cj2a z5R*;>aIMsHL=_>%xAa`sLj*E(X4%CbW&KR3`hZ^XtlH^4WrZI^J)0l~@`7JST~i$A zTY&1Lq_vVI#t}m=TZvw|BkngbO`@&m>w*w#r$|=HoH^n#^nPpPu+cUCpH<3fNDcl> zPBs-Udbez0K75Xq7a#EDw0l!97XxFVk~CBYKy~+h(Y_c$*<hr)Yce`PRRKKzuVAzf zs>!P%XdmkEc$;N-x!rgTtM8c%dE-K3V5pwEt66>v`kW`F*aWBmZ)zuWg12n0rpq3d z1HQ2@=`0bf0Mw;4)1C+NX5`$SU^M)BUH1a0TDdl<Igqw$xYSf?U1-x=#(%lXS^IsJ zw##Cyg73@O`|$nzlXBP(I*(avP8&!L+|Y7e5)yd(sK=}xL&nfQGG&CY^DUGgPMan? z-+YOZy(<;rZiMN6byob1zk+`dA7#!-HL2qc8~&i_aD|Ro5~g`9VfiDqQb)yE$_f&N z80ohxEwuva0qI;{UDK3_X9PYX5;6d9Up!Fej>z_1dK)N6EC#a>L}zgIIlGT7mEl^} zw~a+j<l)8Vk}Nd-`T~@_MiEu`i^Z&B|6e|q3b>x4lCPl8-;%2EP77uwS&P#%YMpj$ ztL7!E(MBERv_52Ti{@;RwZoXy0iTn|q*4C+ptIBQ&g!wd@x$uhM5L@N#2c}1@%TZK zWgZdNvx>-Nf*jF_X*qISfE5W~LXFd>ljlTtve^<Yt-D8vZ&&?~+$USdMRC4Q=-M<X zvXDc8{wzt;z5-?o9834WqsYVX%YIwwtY5#F#qVFW&*PlVzo7alYg6*qYgFBtbm^iX zRFQCiLo3HbwXU)Tr&PTvR?4Ndc#PY>(z`(U$uyDtgKY887?VpWGkP`WP6hY$@KVoQ zsSw|Js5x3uu^$bnsEW2zAr&HLs-(H74c~xOnDJ$ecDnUBkHFb>MtfgqD6@y<VQXFp z0H912)x+d;zT_+2%Q*z*=>YG89IxrSk7|zdxjDn6xVo1`JJnJWNdgQ_2g(!1(P7LU z|8Eh~q;d4pxh&@~!uRblj88X^C8kT*c}`2mdBcT)v=zxDfy*3kvKPRkoSc6Jvxh_M zC!C+gHb*TyJA2jKF08LWxi8FXA_<)T#e1!MQmfnbl86QXT24qua7_oJ9xO<mf$QJq z7WMy5|C9uR&NffUnh9eYy*AiiflOrBn5_gByj(z&NFS3mCwF++GlGP9x0+kA9id5D z><mV{egeTp&oeSFlG)=73%MRN6+9s<e(5;>4HFj83V<X%s^3)VwQie}46*CKrzOui z`Ov4PzG1p)@w~qH@0rxu@AjY;>3zT8DDlU|j8aM~!txfV*KbZGJJsA|esk3~iwmB4 zV<{Vtbb~2-ooedN1z`!f==S8VIYob9cY&_p?+hh*se9QIWNJ_AIFF6TMBWrxBJye9 zt%s{bJ#cArWW41*NKHjrJGM4^SkK8J`P@$1CmeKTNr-sp!Yz)d<9w;!D+=p<{TDgI zdKcf3?6jY<(?WNuX@!;>C5;huFE_xM6qNK}?CQb-<hG(Pe$|ArqPH7mx4*LSbPT@r zejcIpjxC0GlEBR&1SJFr2@9wRz_5KzjWfa5z04cmcv;_dfKJUgvR2dwm1}{^A0;Nk zOt#vU<!g@O(_bMCVJ{jktOIwdH3Vox7iUagLc^hbxnAG)FWPYl5G^`1+WVJ*Kgykk zJ{vw&GSCCf9AUyLrz~*8BNt8(BaQN8yn_I?{n;3v^hG^0wsdQ41@<-3>ICf5Gk%HH zZyjfFUEyY}@&=*&I<#*Q@11(4jTH-uilGTls#SpDWb??h<ra4l__9Wot4Mw0SyQsk z=Qta`0GHF8;aU7V^vM0xSpAozfHpkR62*^<;gH#{!8@TlCA698%EPJQUp+6d8?|v` zKLO4P<=fy2_fspsosz<P*a?Ut<oN~N*9_12F69YGbXbMEn&WhCPAMtVBt%h>w{2z` zqIi6(#5DcaW3%4jVS6tLdz*}>xp-P*tU?t-HOf^pUS`22iSdu1j@z`9hCr)^A&I|u z`nOd$=7MSao>_1LB{H13T$_i{#k_YFau$Kl)wH)eia5a7I-MxE=1rN^mo8{$v)pRs zI6X;AaXAmdQuIc^btlrjIH&LVTm>S`M6s@gf=fvfISQa=`u6!oq`QCPlrH+vr^iS( zq399Q)<?mBU;VS9Q^FeLt?(a0D%@|0hqC%JEL(|M`*)^*&-?%)wE|#<Wm1(Fkelwh zK*_!Lg{G+-g~px}3E%}Za;WGOSU2$H=0wy1)ykBj9&AhC(ZZCzB?}cq#22S&a4Df7 zz;s-ZQ@V@?I0%Q)3__r7<hqnbD+@rnd!j4c@c=^gl_RTkIS52jv@!#<q1etIpW}4% zPlzI!nDa5`KLmRE6pop+OXhU@6LQ=DPM^H~ojxJ6{*Hy7K7Ahhclwm%`gkZQkZ#tx zjfwy8U}CZeKSkTLmx5ePvoES4z&@cHr`b7jgvt4%QYYmzSr^Usi4S8VpQcSghnj8; znE!<KLCSaWnhD6byno3@$L!LK`KuZP&5q*1Y`>S}?9hT?Bi3(rHh2O?1UCkXXfx*p z^C5cTj??U@TlBG!74BQl1}R5VGy|uqfsHrb>gvb9^jBY^2=}kUrMC%t^pwEEW>U<n zu-_?()s~<G$IA$5b&+*1Mmo1;J1KKYGc@m>;bj3(c}EI#(L<*b6yt>^`#r+H->3W$ zq!k2A2PaS95*$96X2PdX?Gr+ZfgPQJL?_^kS*#?fuCeczx@xAuR%7~?C=e9<W#`^c z$hc*$k)#f2DB++<wQa}5J2l`qco+BbtJa~-(B9I&<VVGF_CC`DSmWw&s)K@JVZdNT z%22}+H0=EjMxwz%^QBY$$y2F0AZg1kjz-Qc&0yVxY+Szu8sP8=M^Zyz(#pPJ@|2Fk z$bCe{b%Y-XD7JK@;o6{BdJo>|CWtlyM}IB}tOa)H*%MUoH_p2!X?x$^B<`Bf(+xz~ zJRoN>^-pC%2hOh}X?sE1M5s6<f(1++leWQE;>%EBO?%$2tzi&^rV;6@O>Hl3U<!Kl z1l8Iik9RsJ*Cz#?%huQprw^4S(v;58|8w}S$QabKSnt#&<R7bUy}9q7QD~8|CJ-gD z2`R3GMk`onBmX&gdPH4oO752eybKHxt0rybiyGXFrG1TfFGCrP)?Yamwech<1uIht zZ^MRj$-8@bCsYvYs~dE4J-JGT<`?{`O{#Ptn+GI4k)b8_%;*H2k`Ue`-N4J#NI)Xi zTdE~GFd4K%2_IsV3(%%<Cj1Y7RT0BB$^a2mDzTwV1liPCI9AGTP=<^-wY)OTk1nyV z2)}lN^7Ypn=7I7p#c?%|UPys&cuUgu9~s8lFo7+Y)sIk<e%Ww$f<OzLp;!Tv0k<^C zL`sk`bP>T`5DvGaOHko&APz29c7?`eeZ7k^UJJ}cJ{$iI1^10z4$y|Vu`E?kx>0eh z7i#x=C1cAJ)WV}hkOtHOO%bHj{T!H9kY{WegGxTvc7;F#EEthKmCh+iTQDx~>YoD) zXEE;<s4s?VYLLg`krch>Ki|=)ID(U)WdrTC4pdM}gxl5urDxAjZ0dk_g(vZ~VQ9~= zcW6K@oA_5kgB)FVJ=(Wwli4z9VDPMgT0Uk)SuqE_@vWw^%LVH4Qn&m>7aF%45l-7I zG`c6tATns8OxFRjPtbl|>>^6IM}{IW1DW+uNz=Qa68m@Ke_MFI^yW_rvXnC37QvCo z#PA%+9ylTEZw2We=rWWt;@Vf^*?a5`EjSHT4qa|1>Rs3WN?dTfUZK8+VYz4b7n~G1 zh$wwsk0*XLG^ncn*=rv;JmW2*3I)rc#04_9r#-!AHOBTI@%-sOL6wUX{0%BneA;2} zy2BkQMQHc3h>Ur7Mo@1X@ivy8h*>t;R6;$riCSW2U6B4B-Gt)F&yGFxZ1XW}90pDW z{|TP#b^1}3y5wFV-_)5a*I9k)RN6R=S`hESo4Sgu;nqbg9ds{e{+Vo(-~_ukT;bp8 z$*bLdMv<>lBBtB+OBBq1*M($5d3=7#w9}%Wr=6myRR-zRUVZu77S-7hAiIytGN7!> zMH_WcSIjLgvo@Uf?!(#jMhyK&!=YBQ2-=bFFr}h=s#P$tZ13b$mXU;Fv!<cvCoIxy zY|18z)CaXVZoHy-2L%u<T6gX{-ZdWCfw;0?O}^A_Gxp(*A)6d0_+Xd<ymP5p!9dGx z-qDl{F+KPJ;!N2OjHKaH!h&+)OE5mi4x(D4B!G3*oG|GECh3`jjRJdgR!Lgs)tka& z=%n0!5*X$8FR}ObW9j|}KQjM=kG{nOTQ5P2a1GOBDKKeScs17KV>eA7g}-LH>8>nt z_0N<aAy~hTV<|?nUq|-&>b$U{saV9~7~r!H|KtTNg~C#t1(Sq&-`6Zb`KR6jBTsY; zZ#L7eoA&TU26p8_$#&SnR&U;q+rIp2SMH1qJ9a6~jbK6{H8UPOXfDIvUquWGzWe&m zEMRFGUVPUw?W8ObgETr}<nXB_YHy#)D3$wZ7d{F6@lLWzFP`lvVrUp^7Eo1zSf_*X zYlqEBbCHV8IVHrnkj<hZ1}O;$FGI<YvN9wpti)bTEio5}rb~vbMZ4AGWB#vvf(^3S zwK1wG>ts1oUZGDPgS~BQ!itZ?3;rb|Hu`L|?AbBiaWj~Rt0khcH-g32`1Xz~;TCi* zs>lAgP!R*(<%ISY02|mkKcP~MCg=|KQ82|CY!A!_?dja4U<q~k^Lsde<rWlFg~bMi z;N%2sVa&vI;Tlk}$SN}c{`^5pP$BNB2-gY^YN^@A#}fShszWg1L7X`Az<kw_LlGWS z<-$O&t@0Ju?x(C09Uhf--CO|FeK<uRjkb&FOgPVh&A*PmMNOmcsu3Ovrxv&U+kc8R ztd%g}74R`tBj+q$?oUB*w73yj>p-;Qk652=!xv1jTcou>4pxfDnbTdx^7&PvATz0- zT&IZ@JX${aU^sZ*ACm%?X>^sI5>r`Ws%BAHAYD5=du*`rFdq#m5aEk&>LvVip%-xD zts=!hY&XHZB-HqVJ6g{g#Lw;dC0)$Rq0Fqlk$an|+zM8)PQT5mUV-vURwU3E^cEb! zX9d!b)u5iLoO#l<vx1`&5|W->J9TLYfq(+z#=F3Yczuem$q^YajN*SgcHC}--7X_C zCKx}|GFC01T%zJ2RTwBL_|2iX$wy>#q0E<XySu9kORBA=Jm1`Soojl4a-(E$e$eKB z_z~W_4K`5-{_$;eD<8bIu1FuQt1+qb4;)twKfaC?oFc^QE!A%*i)F%O9jJRHk{!u6 zIVRcGtoj%(tnQbp<On~U;W_2)wmRvQR%aQn<0?BW&gS+Ys}F8-EXu3LXB*m~69J+& z2q$vz)xLPs5Z;clGl|c=JM#{L@qVypIA-u^E%Fy{IyUk@1$OV;n6xFsaJn-K3fDbf zJ$!&rJ-aVO&sFsk!7e<ubfmZmDf!;!D^ZG;OSU@al%xFde6bdW(HiAm9UlD|e_r1Y zKl^D}t~Q)12nHg|9u7X5G~-*ipZOh19mkjn?9LGx=?O-(9n|o_ax&AclFz&gJES|% zOSmLqNFi|(zNWlP1Sf?~p6BYT0`SfVI@!Mn5MAYUIrUD<sIl`>5{xKU72s)L1eFb{ zr^fkj4nCdh6f&6Ob&yR%nqh+(2d#bSQRLxA)D2u3Wh1vdq&<p<7F8Kk6D<g{^!!?% z(Zd%!|BagrgP+$SzsrO&0((%>VJZARzlGbN(L90I*ITw4bJcaa;10I0m}?31BoQSQ z^@niXE`J9n$_S!b(eM=_agIqYyzfm(>nqqOC0wUxt9T{!crezgBH=KM)8cjFds6wH zSvvV_&M|pq)=fCJO<^r)RkG7__8pL6bVGQ9i%xSG%n#We3?1_&HpFOiV)>q-wWsD8 zS18ldnCosDtG!~b%edFmAK~b16Znr&7TaUCb^Z1+w}HqdWH>v1&rcu?aN@t7wlFHS z`vO#-1uC3=4Yc0~LK$BW&srFNwgdun0b>iuitC`VxlF(a;riR6fv+rOawQm^k}9M* z1eT<M$<?7;N|q^$sWT>vp|c{hq4Tj;-+|yKf=nT)H|uBH^JpRy>@#OKXR2)2UgvKG z-DWB}%T*!D*oT@U4Lz6;t0_q-E8%q0I}!Zfo?-&(=*rr4hM7BPeJML`-=@j2Npg>f zBA1KU2*NXpkEV%9N`6I188T>m*^$N-B2b{?#$77Yq975F-K54|%Gwhm5>Vfyz-!f) z(aLdQGKgJJOf2HOt%$?PnJqSFkqkM&R6MqGO1j+9hoF#5*i7m2<z|v0@cw!2l+-qn z1i5|4;e~`fP8i}7<k%F&VT4vFy(Ymg*SOmIl98uEgo9pWj~<m#dBjP58?+}Xma9>6 z9wO0Q`u6WfMt*+x5{9MF9n0xTNy&Fpb-6k0YPY$$c251Qpawoizod|o%RDckMkFWm zE%!8HpA@E&t7xtA#om_*fv?r=Q)RNOyti>p#|b<ALrbr3^Got|b474{8qD4|s^)el zG<!H=ZXUhVEn5`G4PkWAno@tg#Hdxdt{9D>bQEDGDq|v9NXO6Eq_b)3JRTdq+x>N7 zvQ_OeZTe5W5*m0%gAkv%U<9Fnepx&VzU26C&hwA(46_p<xUO<rZ{Q!B(ge#o&U@|a zzZ3STPln+Buxm{#Fg%ynC8r^to}}<fE}aQaZ6cJ!$ij5Ex;Xu!5gCTM(~WY_9wk^N z{0HH-3fAXCcUpc&#c*=XK%W*c8MWL4XzP$r<TtsdE9fJdDEC`00AIcQ)0j%uJ{0}R zY&^DJk_bfddILZ?y)>l;=ZE=ghp(^@Mu1*BqXSff`Q`Jq5+6&Gv78)rHdFel!)Kr^ zhEOuEoS)asTho`dQ0)0`m@j;|0W-brV<#}k@y2vaWtC&XfGaYiaagBHa|Rzper44k z^Qv$S=R=Keu<Gg<I!798J@^sgjR0g*fHAJoxn;sI?ha!T<4JF)eQ>gtq2-o6e1)F8 z8vJ|hVF*NWd}+T?)(<kg8DH0QPhO#7uqV><w-iMvh6jbeTC*&-M6e#92aR77a9!=# z=^0nGh5K-R7`1+w;&hMVjc|lD=d6oy#4*!-txl)LINXYJJt&fw+YulqE#)U<MM(l* z0Fn(Y;Rzp%gsmKA41;CF%r<3sYXc*o>Ng~DE)TEHl4r_rGV-{%q}+YLcT~~Q*n$f4 zNav!lif8eo8P;V`>%HFu@o8?{!Oh{LPJTy(SZ`cx>a0;UQi-xVlL$&nvoATko|c3^ zih&cdcD8_&HMI!*@2{%F@Q(v#XxHU9Qhw~1g*+(dyuJ|(KON|<)K~fGqhR~Xvw2X6 zThkB~{Pwxevgl*<2LlR(w-HEdvznbHVR{}8a%byfv&FJMgx;(dC9_1CpY?i`4O|C3 zfOj0d)NGpl*v7-Q>zxNA^3K%Atop=__>GY_>jU{~Fz13Jcv8$3iJUxJ;Z#Zcc*KCL zu*B~mBtGknElou{f%OH7<F#7&K&}z4m8`WF9~)}XHh0w5RhrE5^$Jt_8_P_?#8!Ch zot0JF4@heM-o#_ed)xBO=!nAu=k_{@KJ;v)NHu?BqrV&0znWEhigAJIR)hCb(6GeF zfn9dD$)avgJ0tZ5Zz~DYcJI7X;-$mG3#lGYyN#*JAFqK*A+7jF9MF#aD9+Nbjpx)b z=h_N{ItIr*2hvLG^<v`!TBc9Z%d#Lp-v06C2xx|l;6FuYy)SQ&W~`>-Io9Ja)+Vbz z%FZy9lgW4^*T0WibQpg&^)YL(c7;kI<Ys;BuVVJ3xnbLnvs$6}IACB5+?Dyxs=s(M z)m?879J*N3zE{LQ>rIau>^1C4W;rV3{=)e>0w_idZcaiO2dr)s3oKC1#Fq1>CSjka z-8OZN2}pBua!^%|mH6<fX8X$GsXwD#>#hM>r!79=y8CzL<$axGIY{N+Iu8qdtZ1L_ ztv<1vtLgiOa>^VXR;#SpELM;&DTR0Io>gC%U%m(Au+SC_^oZ2UeyA$i2Tb^lGQSaJ z2<?kNkU6&WCt!`A{smAeg#QG(jDIMfRh~#fPvnUs_;c>qB_3j!Im*Xmu07&tawuaG z?$ht0GeJMV@suSmh~#T{KAFs=5=nh+y(H<+YL%BN{k9-d4HdbsHrAZH6NnC}@Fyi> zzZ7hIP#tpZ`}Bc#PnHB-uBSw@4u?@ncb8q_1gS1GF}DKEKlEfgj3A-#9Kqi*i9q7o zRD##-H`^z`>=lxQO=9Fmcq*HFZzg_i+ADBHoQLJ>qrNC-1KT0Q_<oj10;sWHJcD~G z<B>bA0=yv;m7ZXr5n@DW30in{Dib|w+6mc;E<K<hVLX+&BISNU1Dwbmk1ip`ir4>$ z=evEYnYi4oBZ3uMnb|-2H!|a=3>NIknrU#mE4~nk`TS)q{1hA2FVEJ%Oq!#fVUd`e zUUo?PuCFRGJOLB;grbmc#k?!DR`bR=PWAG)Qgz@rPH{8y!vm3<u~aslP%{!7_tLO; zIy;u>i-!c8B$N?#%q_U4OP=RQYaJKHu4MFOb$=~qJqswK2stL+Vvvaz<WhZ$oS?e< zjSyJBg09Ys#kRP7APGrx+Mh6_DXt1vo0^2oec=5uHh1$36lE)W+uoNt`GrTlNZ&Bq z+v;r}%7q*_$q|V76Qw>YR8eAxl2&JTT$<4Ll-!)ThmUQo_E}dTFQJ}wtCZQR+s4C& zhc(BBM}EDL`+}t41Wm`u^kF<_&i)wYsFgOYprS>B)<%PvD<@_DFf0+a;O<^d4XX)j zC$2V^|IbupDV$23&YDc>oD@VoreQF3jy7KYOTmnb5w9ClaY?d%JHwy1%5MAxb>ey+ zORp;hir8lJ;Vjy=rv9RMnZyzQDc`lI_b|cA8A`_=Dhtzm!~AeSt1%*SWGd7s%EJ4+ zpUxDU>VU>=w~m8k)IK_cvi7$=t8P@4(QxCZE%fTuj{q)LoJIt5yep53L8;GV+{#2S zdaC%uE0r3u<PgYHD_AuCavfiW3IP9jPC5YGh1WicctyQ%HB!o?I!_*Cmfcj{NXdo0 zk;w><j3my`{z83_K_wmrbbiX&QvuC6ls$()E!HCJscob~^kM;E#9T#Hof^QL`W&dO zd^xxaUeN(|C|-!W4Iw?EvAPm2Sy;0k_;LVaeWT*0r<iAcE+cv@#}Q`qSuitymxS}x z1!>VsbH@Ef!qR9=Z-j3diH2K@#72`f_NKZ#Tmp>!gY?=WO`4m5-&J@D`iEqwU!qm- zYVx{OOW4<0x~m7hA-g>EjV-c1Yu}H8s~h_jC_XHJr;H89xVmr?4Q_pWwl_*IKsZp# zKFThJY4R~M_Z^EXK=6GKQ9zG5!kL<SW=maE46_=XRe-Qa?o<hMjyO425sEz&(8;N8 z09OguN^({E!X^o&p-mxoIUgaW(>;k$80CVQ(-&t?*W9<qt{4WZKOaGwIEm1gUs(02 z#1XT>n2|T8MV*X9+@M^LZ%2z^UVtw&C`6D?niSW|F-F+S{3oAanzxQ0Ji(mU^Bqat z+YWNK43cSgC~}W`drv0VFk~p7D`!%o7Lo!tEZ_8VIU_k*PRA5;$v09*^NxGyce`@s zL+Kljd*gFrFGu7We|<9DPbKx2`?=uTmdh#+N95Bi!KOUS5^IsG9jwnTUXEX^!9#|a zPfdwTx9dA^ED(z~G=s-)U0mM?j_;S1Wz}xf{#;_Q0$-^>%>tx2Wuw<kB4r5uCmh2R zIh^)rZi@o`f$Y5xw@6ri;Kw~&pG-tF@g%U=2=)&o0(**u;sVz>ntXnY>Eb0dhu_O7 zshE5CxQ|Le3&#gMVXcw&sHA@=(iBCL!)!x65JGP2vjqL&7IA^D(ycX>Fu1h2<jLTI z{W_XfTA_uy8=-TWcHxR&KD{~^vrg!ZLI<HBDF5jnP_`yk*s3cN{GmJKi0VDf0HNSH z&ekhFD1YHgZZtVEFAd&4m9*#u&G++{)Y;$@2)I*<zA?^sfs-+-)zsW15y46|;!^(} zoTPW-uYo3Yw{m&!efae2Ov6HG_eXTXHIabNhdb1a_L<OTsh9|j9JTM&j&OrGZt+w( zI^SIqXS3=+C#)k*!I_uswrXs`pv;2oUO*qdFu@0?C4sFjd?G-F8mb5FFz640vlpSX zYbn7+bD>`#%gZvw=g9gDq=0wL7Eh~}iGbCn!+*;WbAr2-!uAp_rtU_LB=?ochtaA2 zDTVGXw9@&u$`ygs+`a^euOI-XM~owHi(`$wD<$_n22X$3au<5~kTuf{N``ZPgVfA| z79?HCTBz(JL2tYFw0259etbTSxtWkfZkctPetwNfROJ0b@cMgSQ!vYZ5Axfd)_s;p zRooalLM#;(3gz?07g1U-up~0WL(Sj-IiHF)FnqA>-JpDjuqZCd;FZTqtq?=U5CTt! zW^GL@Dvgua9R7m4fg6e;h5`(Wf;wy{lCo!%q%^Gxm=*Glh!Dv!yH_(s!;<)8D#t5J zgY+fm@0mb096W_GhxZNT3Q6S9BsJ^eBAK-OHFo66E0U`>zLMPuQyTzGCTu`K=Ac>b zIILOO+swd33R4&k=*c02e%zFugDyia%{6wS7zubkQ2NWR%%U^~@IoQWz!O>qyf6?C zEXDnoA#`Xw0WTiKH;Vz59s<RT0rntDZk5!muu8Yu3S0QxhvkHP6&04ZOW=wOws?Lq z1hzP7aRojK?zSr3;t(DUng0bo?hk@F$`g45AwQw#M?K9i?!WZmaN@pt6gNyALhs5n z8+rdCP7@w*BNx^pqzE(HlNo}ACVnW816GptGoayl<D!FW5GG0YP}zrMdvjbOm(JJ0 zlv&1HUfkVPXy$oob%c?b^LM(={z{f|8p;Xp(7MKnv_TD2oY=ra%FHPyH2d5-sbzI` zJ<cC)i5B=95q|TpL`R>n8Na_47lLRZvXLRVW2P`b6`^P?$%pYiU&0&sm2yPyPD`{R zJN>sr&&}uXMgaE$zJ@gm!K<@k)G)a7mD_Zr;6PmNr!x2HQJ;vzM4r;;#{!bAd-gBJ z*X#C-*)c4Yy~>;p2`}o2OzYmlRHli%Nn+|89=7pp4D;|m#a)Kbmj`nfDCRTmseTUM z!##6waGyw1K5OJP49HG9^0udTk9BExVoN`wX1=lTkSxc&k;vo>Mkd?L`n0>WFLt%G zkL^_GQ_PTYIr@Z;aYNQk@np!e;e!@(AH5dy#7cZB6fE}mv}8Ll;90pABU1h(&`q&j z{}{dY;`Zdf4OR#-{-OmfE?UrSZ0U(nTzQWx4JZzw1sxFH`+TO`xT?sGAuHDT5iEMd z#Ev7n<^5A>pllVB0EJiJIv`kd8RhX9AElA?0~^lixItxh%;(l%(F(LURVzB9SvE0> zyF>z%#<CHmfl1?F(W*gZHXM5qB_hC@RT_YgtLMU@>;w)_{XwgajO-UxTsZbNgG!<A z#ej|m5sJw9c@%K6$BA?Ll?z8SuRTas09TCS!5uwlN3AY9#v5359IMTK0gn2=tEs;V zC+Gc5&MiWOazh>ZZYKmih<MV1&PXdIJBI1E(tvkHcFfrjdJwslK&26Q@7MQpzlGcI zxa^n(ak>J=BYFZ9H=V#wJ?o8tB^0hSqS>NhLT4ll%?kL*U}49xpS?m4@}&6kMI?d( zAB8~0gl=OIWH||p@;}+22RYvRX2-~UnuBS$=mJJc#p!6ct=|x!+(aVvUiUqJEk@z< zB0G7_^*eB{@G?v!Dq1#Jv<)jedFvz*Ehx}E(vbr>4@TPo_WRPW-x}nvw6#Kzd)~|K zyZU`F{k$YbKE2QsExecS^j&y_r<RoRg$HeU2x`xe%>FCCIj+wFs^qT}v{<l0N#bWp zedd$~&Oo<X-%yBAysylDQ8=q4eFg^Z^J7$YOx#)w80<eD=s_(NAnbEO6oM7dQ=TB# zzo1cH5*W7gc1t=VUBFrBS?o{8M_Ie&{=P*q<^j!uQS;iCH}stxyU%@huqZ>Xl62LW zg6#`Q5wp6*{(Pghc=BLTlM6zW#(hNep!-uW68F_$7Cbz`i&2c<S7pcCwHwmqE!rYQ z%crcpKnqF+PDemQHK0GteL9q+_n+FbV`j*>aM*r;c0Es(Xh9<k+&HJ<_F@!IWe+w) zC~n=HI9+Dk*YAQwWrM|Z#3){OQ!GTf^C=J7hJwkQ_cWz6U<J(TJye2$t(#Q})da(Z z4yLzNMfQs`5LX&?u;_s4AsEtwM=+P2pT^OHM(%)L_Q&R6QSS?onfEj>^+<vi)N+$a zfbtibQ9G~%rca)=lo-Wx=yGTQ;)64N4jh#ZrGalx#$pssPkl-QrB9q<6hR<dG3U29 zY)*(`6sj)&MV`2Ur|T6Coa%F*k92`fj-Zzb-r=Ks#J%&errTHr7N?F3=#0`W=mIfV z^G1}AB*li%LW&047L^7B!8FbX6Y}!q@H11_V9}_BPOz9jrp(tM_CH|lMjUbCu;qe& zivW|89Wctk+O>BF%b*Uldk>w+Vt}9>{$C`g)<EI{B%avEoH($TXhGC~Ain}u89+N> zAf*BfVrXa50&7uk09Ouh3jw!9A8_NvK{lzt^8+*#;H<g`gmMiSf1nL@fJz=9XrWsJ zNNqq2SkVJ&r_carfeJog+$Ip9>;h~5b`exyi1-6&Cj}%&%)p@?P;CaPi*sPsx>(vD z=vmVl)tY)6;);~EnbH}NvD`Zzt3+e94Wiz-?G9xo5uxz*qx$4IZc=T6QQZt`7x_s9 zu#5};9lb`>+NGd&_pX9K#u3g$B9!8jGHW!ZAWSB1oL}of<4Y9$+zp`LU0Hrf`g84N z$r<r{*n@xQK|MY4NyD?3qwi@w>(v{Wd>80?)v|=@{RAeD-rR(e^eEW77Tq6zHMgul zG4rE8DN9-4?2m8*dE2dPvBh4Dq8Y3_%`FLmUC?IcBi%;aF(C?XceoEC#rmQym<b|Q zbQ=sTzlVEV8$kretyz`GSf*eq*?9b?i;B-JUCy7t7Rpob&iO$^j3NM8>qHmqNMMJw zq&`4m#i@p_JIP}cA&Pt2-%8Tu_$a(zpr?E6jv=kpU>B}?LKmYT^90Kx7_2`bXy-ye z=OThGZviiW+Ngof%_e#9h)n?ssBB=OMUCHQfschJ@IcSNjV=YcY1^8xZmZD6-i7MD zy#kgebc>f-X7VR!&~+g12E&_(CukIMlIFUkJ{>HYL%>bb`@jvh8so(gWpwC*@k;?) z<{2B3pn}(m(m;30Q$Co8Y<*zMx^XK2OF#z9bxETq76Oztw8<xsRoI(+K8}6$*+i6$ z9?h{gmr`j~Je6xLN$k!XIQCZcvr0&K;B(9S(#L=<P#$!c;22oHpXu0f*mj<(vty<k zK|VP1;IqXf>XVrm#p)B-823RgKVeoUtl~L~xNuGjR*!*utsVp}Vdixh>%XbFi%Qa3 z5e~KP!J-ImvHW5bhSZ*v!J-9;T>uxl1KQcV07C~86`>LE2V3c~E$HArJcY&yt`nlT zfzgou;{$q|3TQN)g2&PC38m1*=;M$T3XP+rr-qForW-O!jka`_SjIc#hQZewlrDpb z&({|2X*Y&G2I<*v?sPq+>c~j)+rRc?NYbIVx_rJNy8&9;r&;Fr*2OShS#t8*Z?=h> z<zc;{3h$@Vzyd!R6IzrSDEIntjCe)(8ui{uIw``64?YSN)L~K;a8ITiLlvSdjac`< zRu8Zh#~H07^LAs1dyqJ6p5)L*b}~D8iS_Z!U#jAOr#xpTmhs&YRTPbea{|EXv8Cb} z-x0@$b2e7zrs>SbvNq}fhP%9={bzgQezTf<s6I`KKrdF~sY4|`bE67dz{+cl84nP~ z{Q8Zqy>aw5Nb-+>4@;vxj9aD>T`XhL$=~v@Q2XAdb(ev}9z6TaXpduvljC>s3h{$D zMnBP(rgFNCA$=UV4OwbnFpCCcceODTb?Jk<`9~&EuHpbcT6iFlq!3v=r23Db-;R<q z|LYedLs5sq6dEOxSe^~mRGm9YB{WzO82RQDP!!=GO4bR?*_RC_@*9d)9LVd=OLEC= z42_+aQ@Zxp4ko4(z>zkdK5+dJdad!OfaO|rh&Y&NG3|Nb<EJCTM%svV5X;yZ!^pVs zgl+%&WxHa9r>B(tCb<Imo@5|V6?|b7!1B;VrQ!bj+t$oV@$583jvd4KP$u}|MNIrp zZAVNBuY#MzA2sH8sFgpN8sFGA8KPl%8!wn=zgxD;6WmqY>V{!Z%fzG8KjZ#me8TaL zfIm}X`J-sn!KcvKe%PZPj;lr#0*ubnd1f~6tpO9mo}>rMKk^wbFT91!-W8DdDVK%S zSPR<coe1>T%<J0CgiB#Og#AQDdsk;#bbw6cu+BBO%qfL|6}(M7deZVZp#0uvp=t`X zqj1m5r<Qlr<;TYe!XhJ1Pv)a3wl{bRhb&ST3U(4i3C(!DB<L<@gcml!Hu0=lXLM3x zYl|a7?U(Q}&Iia0U$)xpTXiSUEpRA}^*S6geICt16HHNJ?Y9lBxg&Z@gqz;V(aUFa zNgpNcF1EXF6s44?YeC}Looni3sxKOOm++kogmgpuhf(arh3Lhz_V0qobMx7fmvS#) z0&|0c__WwXqy%<e8GK064s}{#?Acltjqu8CX;E#*yEv&njq=cVt*O+gjneLPqB+F< z$hdh>F~olfoA};kMTI`%yUP`$9KPgU6mq80SKItFH<ssA>4PNgrKCIdxD3mO3|?`` zSp+5Ly(sQIJ#4{yc|Ij|&)O>@<J|{K;@t^K;wzN=?wc^aP04-atVpuktc!{}sx>rU z+Qo#VOfd%81&;q}nryRQ`aEo0PFWp72;MiG8eCGBEFiJLC?1|BxR!5j-TIXksnxav z1rqLOxGRli@$HoFRGjwj*xmPlSEsI$HJQ@hn8$B68#+gir>qxNFK#zc67|yuQMlvT zoSj)8_T_IKX{^#^GUZ^r;^nzAKc3SVTlZ?z*~Jc-um>zYFi?5BE{%30Ee|6}SHqxI zPEhH;dz$}N7xAsGm!UOLu=~2%`1AC3Sb|!<+zQU<`>8C(U-6M~m-X<k5_iHz?w7;x zMt8yv%yaVyT5|;(wdpKSby54L$*#`ZlyfV1j%af8&X|8s;cC~P*Jsl~G}2_#804l( z7@_6(mbqk^-teqe2TIZT<!W{rYEJW}zD7H=iUEWYSum6!-8K7qqD|xOKVy1+`?+W@ zm)j+?jOu>Idl5;d!x%YUK&mG2iH7^vn~znSK(qKK1<5GZrHH*fhupP=+8*&JR)Jt{ zlnJuxNgyyfzz)!3q8EmuMx8c?6um-`^7fVOiKeGi49b%Mj5l8yjALmFP9?C=CQum* zlMPA-HGUnGkya3Ue{>rCK$m^GrOLTwL}tFQH(Cga?ny6umMrFOxNVfucq&OyxSbWJ zierg{aA%ebW<ro}lDWxzirP_%)<*luvi)Ey)^7u-D{*JZ@=bZP>>k|Qs><Xhc&BB3 z?}U@VQ=2+R9d_#Gr>w6*dv4;hhJl^z#Al$?9wUrD5pg-(4+-%85}3WPS)iG>UWY}l z%XDn^T6k!s!0Gfk_haf_A$Db{ZRrY!xvp17?}>}9moQeT(*=x7*~~Oz0#Ah?_{;hW znAcIIn4vAHGmomfq}F2E(OoA~mLFj)IJB=>88mBx0)$6j(GX;spvpN-e_#&CZPIRY zDr8EkQx@>;U)-~4l#kpa-K8;nla!<Eh2~Ac0k`>j?DwoaGJ5BtboXlxIBgSr=4^^& zQ|^JnFMS#W%;6N*$q_VF`2NvyVYb+!<!Dq+T?$Bbt(G4N-fyx_QM@QWRH98ZR6DC` zw`t^Dx5pNJunsv0<{@7UR8kbUT?1_b_Km0hYU^t=a|3sC20=6;^W`DmUO+4Bbt@np zV*T;=1zNddG!z^QVup^hhKg@E)c5-QzP<RZ=_2q0IUBiYzf%E8f%<)(B5A8#E(IZ> z9iEFJCT;Dv#SgMPkUW*HB@emlz{9UUH)#Sd$;lXo+1uXe^6n4+O04myEGu)YbZkV< zZfz(wd$rzo^z%NKv332;&tBj_t0??AH-%$IuL?2n1FfkC$lB{qZl6|Z0ymy}L4){L zQV#@(=(i9NeDrhCg0Z!W*{bZkx<x)OZgX=xsrsIXWf&w^>#tMNRpDOaxJmKvCHJ`2 zqB~0GlT10tKnBX`Ee8Ii8JbN-Ch_o2)Y$mr7`sLj7&R*q4Dw{t4?_cSK&$D2II#2K zNdSo78eZ+x)7l}vd4JfUfRxUtm4g9nxaGXxg_4+2??6;|1J4XOj6|hYv^T+pAU}pm zTOr(HoTHrOubxdq<*$-}aakGao#!k?vKRY`rCHakmqXM6A2u<DOUwllHc22{@t>+w za3;UWpnnzc=0<8xEmw4yv8aE%kml5WLKReo)2SD<m#VpFM^Oq-EgzRQ<V`KF%zQpN z^Yp5#G<W{?s~D4ceH*Dir?!5u0puAQmMwR@;1-uV`)8_5UE<c1JeyqZ_?SDA)|5aU z^w4&ryV3RElI;TZnCE(<r{gixf||;THhtKp7#en8RJW_|O&N45H6LL)hcjW?^=j_7 z_hF1Q!j;u}KNNT)7jOFxpZWx7n|~F0Ua)5NRVbhwY#Bnz_faM{0Yt>3r`v)AQZ@IT zZr~xLYWEv(5M6jvHx<jBh^DC{Km1-Ow4bG97t}n{_KDAj?TiFpvg(xXt$bvsU&P=b z=8Et7<I}A&14z%`hC6BRENOy{sowVi`hJQLlI;13ogTc9DRmQC7jNdxlWnWao6%ED zQ+eiDKtvBFF#;-@YsG>8tB-5k4Q9wF^~3!;YjD8lGjeuU_w;&Pzx?5tH=i^5`e_Zk ziHWSp`JqlSefX4xPI<^q_KlCSbVDee23qAMVXb7%{TKbE>=IXXr(L}nah|T!&FCM1 z={H^0!le<uIW!IT`KwSI;piz|(SN$@LQ~j`lT(${{~Wcvz(j+f0B!%)JV_mUP;gw~ zMf>KaX~fGHS_)QU$R((nzSCQN!2x3$R*Z8ht-g$b>Z;n$ZjA*h6i}zEI5iM;Ct;nE zkY)<tLD{=#E+!?Hl);2@Ak$?gwbIHuLQ$nb$|am<?NqVBp)`dSyd$@t**2bsiLGf9 z`jrOpDL;mB5<wLoyWRKHS%i(Pd30a7*`PYEZ2x@~B`On|b}@VXK5<cGqpZEtr4ff2 z4roZq6d^Rpc2AZ0!(^9oSlXaB&Y(?&r|@@u8qMl7tq-ecsJ+jMnLVxh2_byrU>PcV ztDdils+&J<@1Pi7X?k)P(()e9uVP(vhe3g9%1oFCZ=#uZ_?Mr<%T~NZ`)(*a)=aTl z)e%3Q{X?A=zVjS27sZBSrTDS;i=o=`o2%I)t?N;5cEVFHNlgP)aSPArNjFqm=A4(A z=eUz*k*O2r`Wy%U3f%!4`<_-GmDftWMPEPvPo29r&^mWe!KO9LnodtJvuY<sTKL?1 z_uD{+mqg6rGKmsuGvPhOCSC6YLFG8uu0}IG57yak05AiW3ii$rSaOCN&6Ydz-Dk|( z%*-O2f^3;Tbv1?}Z&T8wg(v@i5s7xpsWwewn|Z9i?iVQ-@IWO0s@rt{2a;R&|Hw>E zS-?%|oBoj&?y5W^V#~aq9x@9hW_$C$@CvRHgwg#kevQ+@uTR3wb;cw-3B#74sa|cB z$shvqD1~za2f$9Hgf$W#yuX`iA_R`BIz5;I0$oU$+mvm8U0yB+g9g!VR4VH_J%u*P z|5MNIxdla=Yj_?y(19ykZtXy{jwJ-+1ubU>+9&x_Ng8srogySk-+{|R_Xg<*j$zjn z($fy1p_bA<Rch1yvx3-vDa(B%Yr9_mB8pW}gv4_7LjDqiAV5Jo@T7X74RXGY<ui@D z%cV9g=~vMleXf?rWAy@&e%GR>wz`gan=;lw8Wm}q(ru052o8V=x}0~m%yHVYFBYl_ zrkW-PqRp57-5v^;=3CYIP&oMt)Q$6hF&5+$1ZvmKQUyAETw(?l<h+p9bUr9T3)}hI zgHe|DN-I%K@pFj11z-J-N$l0!?L+!NWX0o^<%PgdUYkz;TZ0cz6kpa}Y46P;D8C0Y zx7a4S+#xbN50taR`9n!RnZVKeLwd+Gik<*Z29n&1Fb=4=n4*stSrN?Ef8jPAI~uFT zuqdqmQU=;Gmz7F{YPS$jq@nJ=2es|UM3J_;+_gX<yQG(0jaAD~HAARcB~Yu~^W!l1 zF1b42Vd5u*SdY?zI>&Sp-SHB(czK=LZ%WRN#c%uhHcAVIYYZrvZviKW$*;0{*AWkA zjhLZ&Y|pGhZ_YrT7Os{$<OEWwPMVrr337=2J+R;^MtyO=l2}DLCSm>!no&}TS}&OG z(yfbur%s$KXGr<jGvH-0%Tr2(amE`=TnVH(zP4{w#-pqZp2EI*UC1;xOXLyq;1@R_ zmH7q4x@(gYM}Ycu#1W31O3~&igW9-J$cR)l#1YB1Z$EW)h9=s*WmCnlvgO53(e;se z`hKKjO*`9O;caKP-1nt4g=b7N(XN2_Z^_(4UXV}%V^Y<4feV!q<-h@C0#PI@`rGO= z`1RUP_uVRND>79Rne!aF5)P{dMi|>Eti(L{DWgf@U#j{lMv%E*!nliW^_&^UVj@yG zV13Gb4#26v;yehFH;4xvgE(TOcvTV+LvpLO@b=^s35XHcMVE_clI4~*<IB!77|za+ z9vWv?-qJbTHw=AyMRL#7;SO9l&;^i&cSTyCljh1fyk(PfP+*v}eakj{u7-g~Rik5* z+u1o##v^(8CO?MpLJtA>>C_?oEcM-!Gx&KQAJDWwVE79M9Ge{S1mT?r1;lDfv7wH5 z1Ig)oX5t7aLR2eMau0>Qn25P#nfYuXyN5D{-{<i_xS_iWwr_6*srjaaY<vSIpsbxr z!c_yPCEnnJWs6HF@@hQ5L?1*;R^9+aD?Y8Uyh-MsqUC}34+E_ly>GVr+#Y3hLnZ~D zoO4s(JNklaLrdQ5@2pWTz;L}2nKANOGcclUlB@1BaK6&#YTW;OP@9yBc2&pmE*z4% z+0i*L7CW6ak<W`i|6Lq90<>PkxX?CN4-WBfR_|ZYbBR~0A|+goANBda*W0MMi=oO* z^$gAhmxhFS@aN&18DhbZc=#H{ZjCUDn)BMetqvdm#CZ%XGsAG>PajAf5HU@wLUlI_ z<6gl9f|_;pp!=#zt>Y@-K+BUFl`1e5t1WD{V1d#_(=q6HYvHo5&p2)blx^sjcg9Jt z`2K>B#;5;1Cx^#^;peFuN|7!=Gibp&;)nxd>5J-m8uj0z7Dy(U`*;EF?_aleJnBJ3 zT(TxcfdR2hsWqTp9dU$Z(wp1JyeV@ZRrO=Zq%8v@?uMRe4;TW+($$hsXt}!X&H=q{ zy^CMYAR2IC=q@IHx@oh$U^ChlbWc0DFeKB}Ignbt1gh0xNY+d6)4m3=H7guBYrz1z z|De<G6;KRGZqAB2W(3`EMBNrs`3#JPiswgtpyC{HZSDyVj6?4WY4`@jrc<{e{1f20 zsfOL6fTU_hKhvGup?D^b9noII{KW<KK&iS+P^u0zdw8A5^-n#v5l+H;<r!f8t5gSE zc*G1gx&L$4EPwR2llvL)mOohH90v9OpF(xOpTLw+%{Ie76Xn+x|E$l3AG`mv)IEZ0 z$AkYIIOP6@7S!-B8mW|!zMuf*|CFh#-}{RaeSA?$PoutW@PEtHDJUR+l>7j#Q%8)= za!6@LrTxT#D=tF4=-nos9{CJD_QVyAlP)w+5j)gh`dZKrpqW?zb$wU$3O@EfMe3T7 zBt@vxCh*~7ZKL~uf|NxBP>AcRh-I1&5@w`MB1|T?>2@2I04OO7Y{d0+7H-@yIa0Qe zR-^c>RKPUb{tjHfsG?fsp~H*mT%q4=Nmg1H_x1AaZ`O_y8%CzaS#EQg&R$W=LV=7Z z&WYAnYyomUP;Acfgm=ei%d}D~X-<Tey}jYFHu$}XH`xP9BmnKR#;KyT>_S&g1RXyI zN5;1Y`VbJ)NA4eqqwt*ogT<A-cb3$V?F^OiR}1(pB1K;`)eWlP_bY`2uo3;5i2;x^ zJ{yG^hvgsm$im$&yPOM2f8Z1O6aE{$Io4e>f#qJ=_%+SYcUI-7$S?Mm@(G59ImATR zn{&x@{e9xRTu@Ot@jeYl1Y7U_kU%q$zJH7M8@*PgY-75ST_H}T+g{U;tYO=VzDCmR zsDuWL-#K?2Qkn?jr5x?SKQOfNZ=Bk3I2~$b!Rz3^9t3W4?*<E(a`@!wv1CC~h17kV z#Q?Rq_L&g2{MY^8T6T{%4LO>SAtoRC4+qaR`TKJqshPLQp_w_v?9&jNuR|0~UVyc7 zR*AKXT3J<FDE<q$`1~<ptQ=vJt5EJE%mjlKiO6xB&5!cji*1EkS?#6qZ)S=0Lt{VM zNu0jT(5rd>6e+EB0#^_0ell1sftpQ4&3WMNLDdAqVsKpJbHq~HcQNFGjz|FMXO+cy zfuYVS0Lv(6TNO6{neLbmKv24`qm!ZD_W^^r>=Wr`b{1$f=Z;e82c==$0s#2|RPI|f zz+Lc;&28`QWN_xs_z!$31U4#$%h%rDplv|iJ}4k_Yk-0W^{7V-#8Mtmw$CpBLL7Q| zERBev{vDBj21-sXcKrsi*g>oI5tpt1T$2@?hVtv%yC#WwKJ>1IF!E1A888`tfQu-8 zjkQLoqS*#2RLsiF&@u-Vhc_Lm0JC=Y?@%foL5Q@TQ(aT2z%6T$xobLzgQr+^tsB~e z-tbI*5Tx7uM(G+K+Jt+f{~e%JJ85~L>`J9;4k#P*++ZAP=?X4$A9#M>EWP&6W$TfK zYbn&=17{Em*y?djLA^dG@UOIk0<YYY3uuG~d=MgTs9_Jo&rj-5i(^JX$6)iry-F`U z(S@qCNT94hZI20Qts#<t*x+4CILM$qjQ6NEm<iRz1l9V0vmZN6>O3D#@ehZBkuhwl zPMsyl63KD4{;dD7`Q#ISGOu?{zns79TiuD;SmL+|;oICdes?R+a^LwY5p(Y(g!<lu z<$fIQK@;(B@3@V?A^b$^`f0*VIVL|v*a~GtfZBlmCgs%BYfmM5&lrsD+|rdH*R?xn ztv)F!cO}7^hzrVcDzkKqCh3f)*Lpu2^<rF}3|nG|<S35PefEO*8^uCh#<g1wnw;<5 zhn>_0YM81OvFy8d*ZFjo!F998#pae8oHtZ$+M`Zx+{y2cHqCr#7iY2iL>Tha&F$h& z(OUFUAB9;MFgq|<c0;!2M@Bv7-E>_-Ra>tcUQ&*w^X=Na-n~mG?6=W9l30+8u;N2l z5r3G;)%&@Ej3ssX8>0L=i2Lm5Q)EAFlsqz{)>3#A|HriPA_nRbxKVy(JN50jgoZ96 z>7OksF$?)FHob}EdrpB?DpAUf^5C}FUAfcpXw_fbeq~X;!TXt4aT}W9HK)d1N<R=V z)c<Cc^8UobP*+wb?CLb%XUW79r)}UoyHd9q8X8QPj<VLW2=^r8H2*nh#dNEr-H<_{ z>1eOLfQ%mc-g-ZyzepG{eQ~DsJS_x}j;%jLX&amhGA1Vmt<v+i9f77X%qu(4b}7VY zDy`y|<q{q-*bS|gFw>M=Dm9)g04^Y|*9U+ul{@{;Mm_i|P;|b=a%f>DU|1nK=5u*G z<E{Rjgw^qSc{S@VLE54%Cd7cE!@Io}!xwd4LJwB(fO6OzE({Qvx^z3*;_p*j*cQ@0 z`D#ca7LrBG<b3z(Qv*xE;U#>JwZ0Uh>>mv0JHDp#Ul%-_Pfq6^wF6dF3$v`rifZ17 z&0ZwAsbOj_fkGd7G(OCCAc$uqKDc!HKa{;?P#n?LC<-Bg;1+^IfB->)yE`GcySux) zI|K;s5S+o?9TFS{cXxNcJ?A{V_5FD7$1JzKdw12;bkADHWNUR0JQOhF05QMYB8As) ztTbHBk4JNP0vfD%e5GfdKRLpYttfjSy-g-1#<PUj-H>Bcq0I?QA4SFQ;F)=3Rv)tU zG-(R})Kf+*s{{nEfW=~R4xGolf1#S7u(Xf4+d9O-NLM=gD06cL6wWp0RAkPE0@&^g z-U37qvzr%p0z}mELi(?OT(uf?dJIK$&;M9%`-beV^;TUx5!Lcul-Geo4oKBaGyMst z^8o%P*yemohoPAkkuLTsD}wpl*+19i?7`NR_=O{kwMa=HjF{an?55Rr8c1IzXqke2 zl`<7AX?$VhCD5AASxWM1wh@Zp9e_~k4-|9U;DW26Yy+n+F>kdcaq*jV6tr)N{26q` zwl2=^64jmOyc&|#?`}$6xnKOxxN$@DsO`iB%k^IUJ)Q|SeSY${Sia4o1m}+8oX9bE zZ0uE#P`y}-S@elR!)0EC{;lDRSLY=Pr+)3_EhSULvIbc@J}){bjxU1z^2oFm??5&} z>``~(N9UbOJ%wVsTbNnCYzv)yMKs?7t}4DZF)Yi@;qO`YxyR+!b?NLaoO~i;J^Z!O z;<Ln(?9MWyn8V|>rka}&#@!|8$F?u3sZUje;PFcAo2%aX#|JTxPlrTVwk`N@uQbeX z4yi7hFKhPtCX4HKmT+eLjZ|ZrOh?r?9p-yZcKBoSSbLF1C(_wBhqqjd(Wsx7d+l7i z`5niz&7HNi?015hPqsc^?(%~8gtZ^em}N6F4oo_ZJWKZq-epW``c=#RPQK|s6Xk6$ zFX!&ejpxxaeq>S_cU{c$+Tv3j^Dp%?6fbq+8de^+rIl^^<Dv8OzNaSWB`@Z%aUUm7 zN^s4dzd-#LWhuOGFJ=tmfaM3L7M%~?1_3Gp*e6-x_>U>DofV2BzWM${ZsA+bNcp}w zS}=ssw8QiBoqyPPb?WyqZag&-zvjQcB4lZ)7iv}!*+ZV?<uf02bZf)3uS2Nk6$bu~ z@5}GR7329e#xqDEc-B*e7kyf}P~M)aYU(jnt3r98TbY-_v!?{RSm={EXyh+bLzJ8Y zO_}td(lH~NwBfsV#nX$LD8}(3nX`P=%6a)RG%BIWE^<ZnvPoEx#LgN|pX?@Lxj^33 z9Gl{R3G(tf1Q8P4<jYtJ4>4o-fXz>c1DPSHmP&XPVmg+aC!=Yedwr%=nt_>^gXa=s z{(kaLefnthK3l$o<)ElNUl;`_lR<(Kf@bU|{?soy6V!b^Mj?cg)_5X_<F;_u_tIzy zZ4&JD5tR@!n^G}>N6MAZOnpOrBuuMIB>XlLI`Ic|EXm|BFQa^?)XQsHWC4Xtvv;g? z^YH;nd7;$MPY^8rJUn{wO(n8J8hD-&$H%(A^d1;IEHcpuuLblG!n?M9mz??)FDl0t zvq_6*1H!AO@Tj5p3f|&pYvN_23qACwwp7L|g<nS2zQEKK$@|z#B`o8xe(U7myMj@t z=5ore^v)O+)I;0B7Qc~Vtm@*HNi6nNLM6=k>I3F4b)EA5a1(pDF{R4j6v9ik$pQWg zMqrmbJs{|Qj|+;g+|Naf{X*4|7fMH(x3Nd#VRlrF^{IO`U1VrRU58YSPDCU0Pgdpr zt;%0wo0XZ54-qzNq(aLr+~}8BD?VyLP0q4p+cYhZp}R+`3NndaqNu*h$#*zFK>iur zEgFw|=2bXv9|-%FI9l7SdVQWuMir{>OB%j0i@e=h<|TmY8#(J6gu1T}yfH}%u<3<g zu{U5m=1o!Zu^_x^3XGd&_&GGMmBbHlmALw!7)@6St_d%JMta~Ek(F_@OX!sjb)b?? z(IGe|$kg3g-r!%T`?tfSeV`{qA-<d?;z+c{Q{s;gem0tHK=D-qixqSf=MH*0>y`d5 zA6|(#wAPQh!hu&NTg-u1CR<+KJMbv3_`kD-A)-FFUq^rUhQuSEqjt`xspogBWz|~b z7^DbRN(5>v+F8j&-QPH7WkMQ0AlQiZ_V%Jf<hL!QKJA6OK4<d>Ogj5ot%&(@LUnh4 zQ1$-35K(G*sT3O>{g(}*b+!oAL^*%P5`%=|Z>2#V0-Va0wolpOgdm=xdSO8D#t)a! z?F00{idbg^?wn%KEKK4^kitm7BU(U{IuIH?{^S&EI_`P9#NXvd*+hW^4IfsR7*$7m zrxn;<spXz|yV=8(^7D8thhPND*MycaBloi11G2<cY;eiX$a4{ag0aeqzw_!8y`3(} z6ukkmvLV^UM+*Vo--{`PFOTr^4%CGInNU{6V(bef2P+rIcFe!6$)@cn8e#>4X1rVE z)1=FA96`{@Nz&!()C0O@;_)-n=2*Q|&LgkJwWlbUR#=$j-qc03%8cEMMKCW+nJR@G zlXP898mZ`rkI;qF|BhQdxa!3w6@mBq7A-0aWb_3pTSThR0k%bnCvgU8UpYB-n+XTP z1NVpp>~$&4i0-f-k&w%u7SiVcq<ubEr#J8?%zC8#*AsTeX~vu<X+@d53KN05C#iR| zWFpayO<KrQIOwoWoyL4)7Cl_y?5>6RT@F{S)OAVDezn2Lkx)ladwnYf8Rak;30*3F z&VG)Ur%W=nD0VW?a4>*Su{#c8!eS>3(Q$F$=@G7HRJUG#n}r^W?M{X0tV+3vAyUjl zXMr$2hoJHA9p)lx&>W)_xKUN_>^2LR<FNb^fMMD_2wi^<Im)3jTnIzMhYu#~0i(Sz z9;bSTRk{^nt@?LvX{adWP^Go+AJw3hfYGj3{#XLegHm`w0Mac%O2rNoPJRDwB(gix zX@!v<HuUWDHjZLIU^8gHW5mFrmpVVfo$+^0`wJ6&2t7~SpA_s~Z1l;G4D=z5S%rK3 zFh7C@Ru0KA6b{HhOB!j|oa=c#@rHCZRHKou;lPcuG1Yc24%|iU3TfDDKvN~ct5n_H z{<PT8+}yr4wX2dboGXJ-QzZKiC;;!dGSkDRU|V)%l<)QX{xoQEmeTb}1$fax@}V|0 z!<2Z9U+&cdEac5!t_-5b+hQIOndoPgQpj*s0!JcQlY)xf?IT1Fo1C!|cl#l~f4VxF z>$E8Xw=*grC;|j`4(2*ul7N6XdAA?()8`;h@m@ck2{EE7MK8jUh%HljRmB~I<b#kp z=MXXw!4;rG+!OSJojcfZRn+GGLsmk_aZf;c+&^rjrf=QY_IJYK3-^eJGEfYa#XtHh z18LwzXa@ROBVTedYb;=eVmiopq^#p`?e5hkniJ{RmO4M(0P(PPA`|w-H&x(v9{6bQ zu4-JO7}~V+0~nosZ>&@9?vjM@0oWEDZ{hJskxNGU**4LfSoi8(YyXi*^iF}@{vS8x ztL~FUrUF?NV!M>gh}R~hjz?x33{oEI6V?`KmKv^2mly9lx`J?;dl?LBO}fra&!4$5 zH%t#5zR_L0V57)6D6kZf`>?Lq@p|_0Wo~TjH^-nKX<nZGX*;a(Up4k5cYJcw-_=S* z<}YfKbfaWeL86t;b5+`xaH17oD(&QCr9+>)>lM*jL&dcBUL)Ile7y^AGIWCq?HR<7 zsW@v|!)wo2&i_T=o47IM=)IP|_b5Z&A~}Au5;SQ0GQ3}~7r@HfNZOHnFy%<2P-_f_ z?O`LD)N2J1-i04bI?`x#rDbW#-%ow=sK|b}6#!=E*)Z41&{rmW#*iMbhy9gzoS?}o zr_aheho?lvL%QEQyWT1?gX~ekYM>ULWqER`48X)mM-Y=o1@MQ_`r9nB>t(`}=H(Dw zDqpN^)bI&Mnh5xXlN?&1@p{jL<_5`e;~gMz5mhMh_3{E=Y?dY`Y)E-N>eWmzIP@W2 zUV0pq@yic)XTR4=LTK8NhSCw`kK{NALHfG+db#u?^0r}bSLagpk6pHG@wpq~+m7*q zqeoOqscGkzbpBsd<C~wTa*rMx3A8t+oL`Kcw0&{4=XAy9ZjvYeC-!Z@iC22=CR^CM z$w~VydVa3>Re_TqWVh4@L`@%6q}FPw=!~j3l1=$a0mM=n)DPdF&p&$Pb|Of^d1Y#; zFm?yV@vS{t220K%8^M2SvH9{=4O9fn<#vSDVw00xab(tVsyAG4#FbXTJ?U`J5>t3I zRs%%MKWN$Sc_eaEf585!P#&16vujgta(YQeF|u+9(9ZOZjV;N|n%}_+`ll*)Os-{~ zsjb~iyEavzMHkNKZWMnzyueIwg8V24TI0$;dqC-PR$8tW#_GsE&)n?-@ZFe3DVLg= z4a3XGD9~(b-4aJu$<6r3#;35Z3yFv<j_e$V&`Uesu)`_;4II^sPiuGztG#<ltI6yd zNXA#AJ!@ju=v;sy^HQwzpO*llRfT{M%UjTyJGi2;BX}9g*Jf4S3+<{XAmA+kAZPoF zl%H^LGk%6|?cg$U5~FLN@yLoEt|PnJz<*iERc0Pw5s+Mf(oy#oNM4X2sjhSDKs8L~ zm`vMwX1oBDsJcu$va((Z8@r6h^QW<@te~oA8JQ>|SUJ*+Z%u9I3^38&wK<;`|39Mv zmH%%G`QKPcAl_uQ2LOY6C4-+1iijN9-Q;a0(|mx=p1U@7kj|b#*zX-1Khk4KBp_Y% zwlSPZ7O*;<`HHXA4-g+sx`M*%N+w)E61HyF+Lo85?bq5zo9sM~70w6A<N#Ec*%jVz zRl)V1Yq`{g2oftr*6RNOqVNt$v9#PXjWYz~JF?sj4Z|Z|yb4x2a+c-x;1K-51igw~ zX8Z6E%M;d>{0$A}LQfVgOA46g3A^vHA+3uBK?;l<XlztB1?Ek&C6$2k$O%?Ry0?Bz z4{Ziu1}l@znr2h~1J#$sr|m$s-Dx3~nO71($jm1QbZ60u7o$CaMRui3T|mXat6=N7 z2%oS6dHS4A+6kZV(*tnJ76OZS74kMhPM_SvL-0MQ_wUS_av{U&nnSG}FH(Mc&a+h) z{#ovAX!g?h$7|(@&$0~2Zn-Dy6i@Y+eCJrSS}4pVAW!7`fG6_4>3fy4udY14a!+rk zzyo<*<&#HX;Ww>btjp*Ku*h>BP1<HnBEM-uls%Dwe*8!1o2s&k$~^fkPV|;-;=T1m znH!UKph3SG+FCYqywh$Xz{MZ|P-HD{1BxPcU|mP<v-)Wv_*s{J;=Rb8EX%rXEX!%f zwM58w()9d9$n5b~fbhqvZr+BN#tR)FjSa!4YE#eKFlkR%27cgkIF+!`BiqT^4k=>V z%i5-ZtSCNx!p;$p8?!9u19Rup@?-5JlR2uLmuyuyc8E48#udkSdrnOL7P0j53RdD; ztdK4H#I^)F*9?Y(bZvyrizmgKs;f!?2oDx-lIIx>w{G(c8U&zgBL-!|MaP{HK`7>u z+CaFqmmd8_-vFiHD0z%Lr_g*A+0T(>pz|iqC1J@k)qF)XYlrww5F<x*G`WnGB-pC_ zR$DznnMN&Jcvfxi3F~jF*v;x8|2&~bS@RA|*4j=V+wAZP3uS}(J~l}*=8_VSf!f|6 zJD@?5V54s~NK&|Cw@+-Y!98Ps|B-Dp+_(vESJa8KdJ>rxh<}~;)cbbEQ9YSHfJn*q zxICwyjEV29uNIDpzaqBF0*E#}FH;ZzJe2@ZVak+e2!B4R<CU>0kHW;qXE^f>1dz@- zM|HKirDVqZ{A%oM6M&Z8fDoE?zI}F_)zv%W2&z~zR>u=&fN+VUpf5a{u(lKkmrjHZ zi2aHO!=t~){03r>$6-*ix#<0YSbU<gH!zeWqoZVNi0{qf2&Hwg`;VMS%FzHF-q<z$ zx@6#o)d^25kceN_(IC8zTH&ySdWvGq2}8!p%JDzO{%Vc}hT>vBfs*9WlQAWY`#Ige z3F3d<Mk4L3SK_Fi6W5Zla>S)%^Vv`Z^!T0o@_E2cbljwe*%@R<HyL^q&yEsjsQm%` zNDIcq$0DM(u|&zWGk5|zN@Be_)Y=&g0$<LYsf9NBPQL>UBZGlW-Q2RY)CQ1ZCZo%D z%<NGbdjrgDRN$gu>e`s%Fq9|816?hn(ZcM3{k`~J#91)kB85}<HPzsVNgwEG837s& zg7mahu+pZW4*Gs1TkV`$_4TWTnk%HGrKNJjXivEG$2j!HdOtaiY8ar?Cf7TlB1%Xd zc#t}PxoflJAA>Plfrr$fP_j=l$De^#m#=DHkmny2{Ut81nf+n>*%334z*5W2U7;To z+Cjd+khQuFY6e6v@pZIy(|4{gK4f;#6Z9hUH(eh7MNo=Flx%T%g+Re^t1DZ56g4L| z1@)}TbT1{voHgOmZSUAcFvhb_?2Ry&#%?)k!jmhCT>(Y1uLSi>o1pFnxq_jR;{*MX zq;OqS-`!j?5%p-CG|$t|_Tf0`wiYEvqwuc;3w@gJ5yaUp8Uz}c5`6rvj48_eJ$_3{ z6Fur~4;2=^=Z&$lm|F=x;1X`O*6LJ$!Pq2-#8h-N*mU~UR@qngcw+mfGxM8j7JX^U z<tnN;Tm2k4X~#dwb9lN!WlYMX_y?JQ=vQ!IES^@3)#14yIS}rOISENYy9CqahNGqg zlQ<5GgJ1zH(V7Hs33uP^jTDQ}#2o<`z$(t>ym*Nr&bDK31i!1`YE3p=wPWl<RMPAD zf*hzYs5>8;;Psh~O+l0H8gO>xvp9d8s@DM?J!=F0lD>2M4n~T`1Pe;IKwX=k7dU<k zB>~~#97{43lQc$);DPM`xz|i?4HeFI6rKm5070C;)^;5Sk)<E*47v2gN#8gaac>M2 zdT`cc+8HUf6D&Y%$oMRR$d;gi>cAWuLoQu$(uCeIc1GOmLxsR9;RqIf567MOk)=PP z6U!2@w%+R6{u$$4-Wg*0KPIBJ?>^8t6Z&jFG~&-V<=OK1cI_XrPj4|1iL>zv&YBV0 z8BGJ3u1{M%0a)h@?3u@`4geQ-h8ipZ=9nv%EIrGKMAZpMedgIT7`LL$QFB1`{^wJX ztD!%o?eKv&Q%@Xu_8eQHigy}Wy3V;u0&vYOW6BA*8$Xup4iye_)R@PT4X3}YrTx75 z!&!5%^8tvdLp7`htXB0!r3C{>-F+s}%_7d$?!pe}=zv{fKb{?q3$83p-i>~}woeDn zMoSc+u{W9)e+2`2`sFzYd@=`X?!J<0ES6h*EX?+#J#;Xdrmsq%0762Z8V3U|Y1t0n zkO>x?lH1<nP?gNQ7MAZuy8xHNwxd<O{eu-Gq-t>BDyQ**<@}e~z260uFqOx`GC(yi zH;}D(#7}!n`9!c#2P~^QPP&y~0braO|E^pEE<{(TqXmxtri4d2zh!&MsC!UeGy@^T zBgT1)XnDoFPC1Q%#nS*H-k5UWC;<1417OwgAn16IQFHC1fC^X~JnYh!O8#FqI!1Us zaVK!VZm3l_j#Ehz8`X@t0GK|3Tk8BK5ZF8O3J_JMVv^4HIY=^8)`basKwpXVp9<RV zEAAjxd?V$bVyyUqt2Ig?oD0<U_>CDjr3Yx>!q!yf7s}u_@X?*7$TxeV13c@g>8;iD zbPTqw%WwP0>uv{F#4+VJKSAR=Lm`WBAH`h?2IG*UiP!Cogo}{RIcjpBVBH87CKO?K zVyw)bpkm4J9Y&ymGo@6?NU$I$W(ZgiMQ;p+h*=_uv$043{H%y$!eHF!pRC_)->ZP5 zOYuU99#sz^0&^z+t(uT)t?J&oe5qc&bMsx`=8N%c>(qM0rb@m`9$qE8{^@<Y$SYI{ zHm&q$J)=*4bNpxL?%O=;`-f*$x57{B>eZqDzx4N{TQ}e4n9M1nGx|AEuhFOB8}g3b zmz_tFIUu0#cG_L?QC2F%23ikLB5VD}o~Q~ifz8Z-$VrBP4D8p7b%TKVNqBMVWhbOF z8KOalctn>ExwUmJn?WMsCyYR7wXu&=0J>kmjlD}wXJFsDcy+*JHw8+wnUZA&3Sr+V zi~^#aTq+F!(OiTpfZ9tS!A@QsAd=gAQizXd03`G1Uk@Od4onTi(c5Ac(3|){6qx0J zn>tM`ME*2i4hiTj4^i(va~%QhPkeDVK$Y&}M!Z1gS6zr<V-6Wag$Tn5l*SF!3@r0A z>)!fHJtNx-tOZNVVVzgPh32(9yhr#K`{fy9!5-qvp0^EcY8o-D%Oq@t?Awa+Iiz;o zq1QPV`ZmfF?S=ea;$L?2br>CR8=m_)up7S77r_6<;NAZ{&vs;;bI7J}$msq~ibT2S zsiY0oE$Quyi+`R+^mPh7@5|?!da6nGOu#;n4p;>X#!T#FUj^(pVgUUk4e7tCBiNr2 z3^kFELHb87Y<`%o$E;MZ=uNj1Tm2wxbHA(5)CS*l<K^f2APcmQOmi)JP@{)D&)a8` zy-%T(@@p!PJF-#Cdae9B+;{b#_K`X~I^*Zi<VVJPk}D(~x0`$L=%F^nLXVO#&NQ-( zYY|2(W(i@85`zpo!##5J`vL)d3({Awm+?K<<=oJOG_DiJ9jvRO*zP^=v$foq6#_V9 zl>)FrzwV4`Bx7ESPz{|-xn4+UF4=k}RJs1u+KD9f7GR@XyS7n@GsG9bq*XV01kwM9 zH~oI$Z^8rK2F~|s4j(*lppSN5>djVl150laFSA!iDRos2AI7g0&M0PJA37E5lLAd- zUumk=7GNIuy97gB{`n%uaHy6zUA_V1=Ow}MG;hGnB2FdcAFud!Jqw5rjq6g>5@{jf zl-Y+AB*4g`lDn`SOj*^#-!$@#47e{Xid3w-do-i`G~+qo$OiN6mzr(dq{T;kKGaB4 zqlodehbo*_qV%+`mm?!~Paz8!b`U%J)MJUw>9n3uO<D%m6YvO(dE9CbbMWvj2Q!sH zu&`h?HHXLj3WK$ARDzd9$6aIeO1ZAN1g4rp4l=YTx=-=<%+w~>;B;E{vxuZ(D|>0w zZE_n(>N`0%jMOcWie&<JgXv|S^Q`ChiocPwItkby$A^xRq%F{NX4_L-bN$FR@Jwn@ zGisG=`bQ6MA8kUiKFir{3MazXzK#7qeefJ|v>2vaT2qI-hBmrDS4||7PbLoj`KXMJ z2+L~328D^**CZw$zS;oE9m>}y<%;4Rrk>qq%8+06rVPsJj_L^*)Zh)o4Guo5_kd+a zF#aDtWoB?lCUp%SyA%kP-)ex^tvQJX`@$n#i_0RpBmehjqv=OCGrK%T7R3fWIo3gH zdXqpE8@nK?9pE9+*GSbE9V(6ReRR^&Ca-GG5#wM-rEzriiWK*h#6<VU{oHZH;s^S2 zTt`fw;m;a$oCx5Okq5*gsn2wD*jY)KFPSsj+fH;fPQ00dpE~8GSuYp|z3(h(cG(?H zBoY{&C%#$BJR8J?`Q+z<Qg}PNBqT)4NQ7Rdw-{jsNkeQG-^U!1ghThb{~JTK<FRAt zOx&A)DAQotrT39gXb&>I!5|`G9nmT}$9mLWw$&!<Ur<LjfFYLqYYs!s9=agVse<)4 z?8SpLU2|Mo&+#Z5(}@0r{&4N^IdiWok~dZS#?=eNo{<xg*7<}?GM_bc^_(N8npyda zzlQQ30*bK6Yk0qP-mE|dWjC@6!UM6)-gIDX^t~*ZEC+V{D>GPVKt23f{rnTz*pIj_ z`2|$On}p}O_5vZ@n*a=_y!W~`^}XzNse^S_r5ze#T1VKcGuzF_hi9U`bCDcAgJC>H ziyO6`LPGru1=1BqG?K9wLc77F)Y`W8nzmFX?mg3Q+C5Y4&$A9#L`}NNBcKOs#Km^? z?Sc!T4@v6VI~PL4@#@>aoTn^N9YXr(FSSFKTLtJwpC6{(%-^SqzVhhc37W*s6+p#| zklOk&$4HUd23*CAkl6Y!Wppw#b@n<=?huIec0k5Fb-faOXPJs?UWbf%a-_Q8=hE6p zkG428arQLFFM7ai*|gA~uCR4o;~YOmR%LE=T5_z?8V9El8%zbKcgo>{f-U2T^=m?P z@JaW`ShK_q#LT@oS1j5d(v}Tq;>oui1AbVzlGtK?n0uD$w`vU$FEUAum~sJittdw| z=zeVDu*EwWt<z+UTJ$Hp+-NC&ouMW97W2o1hC#GEt-q`8$K1F1YMu4=F65ecvCh$v zc`WVZ!Dyn73MR7^99MWd59C=H+V&NfNG<rXJ`-EdmV`keHR?E8^7?otPrnE<R?3uU z+qJDxJOx(_hbmS$V2~V#PD94cMpAe&xwSt?I#$i{61=Gztd$sO_A7@pV=}jNx>ZGH zY#LyH$lO^rZz8IZpI{JwRY@ZE6{>cn#S4|+Q>fZEB}ZE0zlb6un^|@dG(F%xSg-!W zYOg`roK@&RsFu6=IJ#1~@6<Vv?)mO!!FZPibViD_-(GP5hFQqXwBc`VpT^gNliiA8 zuKZ<0pYvK(Zk}bPx?JtpgX6`NyLVx>gr%vxKjHjTHc{)v$&Z17<1*<G=jYxu0x|@* z&dN-EkRUd=C81GH%-Gwac*;7$A^Z4DZbOg9naw?Vr9C^&phIAck4z!4fzNvVHSkv% zmQFzh(T!1X-=6^@h1ba=6;JG2&T+<&4x#f`KI%o+*?`=qE$uJW-lpG)Fy)79eM@<w zMT<tX4h<K4{93G}(h=NrKO8?N@RIu>4v-KmcBo3^D99Nu&g5Hf*(4so@3IghHf2&o zB?az8yYbU+kbT`yRO&H&tI>JZdX;>R&$#8!e|E6Xyc|)f>@v*GY8TF7wAaP@H@BDR z+aM?OO+|u30^IEE<hZCdxi{O<*fb3q{`p#Y(aD&<jhbEgoPGP~c>i?!7)t&2b@I_g zaZU2U<7dagKlbA7bVenm9-zVSUvAyDhV32OpE^6PX@|KlkMic8sW4Ggy}$Pvl|vOD z4?K9JnyWgZsX|*x;JoOK$`AzGH;gi)Y}<n}>h%IRg;_`5r)*L$-WMs?@wPhuM#eC1 zj|wFo-gc;Ta9v23sgATQJTx1W%qD+LDLRwuHS|?>Gw)gX15aZd)Z{cmNliPkc0|;A zaOyAT8oRQ5S}n8kmMY)A0)ufRqZ&1}V(8X5$7>?F=$Uoq9J}D~Ah_qbBK*Wo)2StO zr?v*Tw)+qCaf>Co#xAsYx(TiDnw(AW)}2LNwV&p`r~*!?C!OtJ-nzHD0zgoi+%kAf z`2YO04jwDq;rN2Tt?()Zr@}bBF}Qd~UgQj$X5~^_v*W&N@j^;boCCePY&xSL6HNZf z;=UI;qcD4HuSj_NE}7p_X1`iAdwIDu#L4guky-?St?1-6(SuBxPup+f2<gf_f!nJ9 zfxSYS_2k?*<RQ8ZL;5Y;5J}Z=z7gX=U?;uK!f%h&6ltxlWa&!#Cs;cDXKp9>)j#Xa zUgGdqbk-Z|&e{XaW&MgsVm9Bu3I1aaqoQ<Iq{iT56C2)UapaIU{@d4gGBE~6!~?CS z9wr`zo<@T%UM}qE#}p!L6@8iSH{WAyp7sfceGwG$d!G!|9SFCV2alZ`*{Vf{w!HF? zeO6L&s<Zv??5^$X$~SvFVce9aNJc_cdCn=j;w&zaX!nwKJTG(uTc#uJGP9A?mub&? zm9WmawVTVREP{PbT`70YB5nST<&94}S)oYvJXt@xy4K3WuBKJ?f!lhGy`OMHcj3pY z{z=16Jp06#rG|v|6PFu`eL-)!tN~oFq-%JPzQ%H1_u0e<UpH9}q3gkw%RIYyWspV- zf)0G3CfWrII`h(BN$Nmu^zk)edA52>9;Amb9N8T#C7<SFOxvGUC9vQLPZ~Jd0=(?W zy~%Yl&?)h6W#*>m_1bb8uXPjlj-e|R$@+HXf+S5JqxumRlXTv`QfI3(yc%UUffxjP zUAV?$5)<BkrNKu|2P75Djq;%{A-8CA)#_ulXs9hD=vEmLr82{w-}#qkr})motr@}_ z1&?ZluYa6Ud_KImy%gNhDd^TNZc0))AiT?&fi<?%r8b+EkoS3!7QE|TDR<7)X9b<E zR|v*Fi>gf9bW-j65MXVa(XNain5;Zzis*rvxmh}XcBYrVbM-Xtqe`g`mH%E4Df<xN zOV{*i)C2zKc|BuBVfz^&QAIeR8~)D2VD3dJIIDM|AmVUquh;(fnMU5K9n!-G?HYU~ zOywh^JuS2R+rsRrSHc5MZbx)pd{Qr&?FBY;)QBboO@HQMjY=w|GHvk%zJZfUfhQmD zlDk6Q?Uw=VWwtmQzs2ZP+@sdVPw}k39gB_k#!__Uu_{x-Uu^PgU|qShRrjnJsH-&8 zE5Iz12hnD6ZW3N|qHVh#Z&T5a=x%E?ECK$GyWbAw_<mhl;j`P3@T%R_I&8twX%-gu zmM?c3yzf0hM|yer*l`$#S-EBZ%#}4%xn;fe)N7Bp=X6-aPta%;I5R)=dH=$Ax#n?< zZ%1^sc%Ci)KB+y5`<6G_o@K2%S$%hnNMT?-q&?!v`Q6UI?MqVH3k-cb%{Ok8D|cBW z_bCpkJ@2?wCY0I-0i#0a?Y~}Te;u_$T|VF4b1u>w-V?QtZDKnYBk_T1Q_L!Ak4!hy zj=v@!3kH0YbqPs1W?@{w{dt!O{yW1Fhue&=+JT#}I{&xmcw0i(TK3UI>M`)dVT%1q z_=P9U#0<ySw!eH((FIAl9XU1Om%jO%438zhkn*dHJ3+zZmGDpg1iF>FbkE2QbjC}I zYhTuMmwN1)@D@V;Re3ea-NwAx{HmagC1TEUy1mbeGMsjVj~q{RF?`0K8j0sc<p<~n z-qZJ)H7FFs*lq<Lks8gQ2cG4Z@|u0;cBwYb_lZ^KIeMsw@-;!7S&8CqNh5MZY}!lS zx6GSUdBj~2`OaMfRp0+T{Uk3hvSj~D(&&6jDZLw^deY+N50lE<dyvtr@W?A)OOM*A z8x2=S(g0u5hgy)?GgQqowy7>3|5ptmTIPxPex}x__f<qfP~2e!H6WpHwQgH#-<GJ2 zYN}}y>~{^df<&3dJm_+0C5<wq$)1`st^KWNxR)Ypw$unPUt$Obr&5NZ@CJJTcsf)w zuOj)0J5011)bKS#T|%N<kjEhrxY*OkZcW}Z%2FCDF}$o1xBp;|>tGHp1APyvPmS`@ z+dJT%S{GW!p9;7F*j62`of#fIVo#rOmsO2jC+E7`ib^Ww+lo*J8r(15Rj)l<yIi91 zK<yi%62~9?Qr9;=6)~9{QC7J%{)aL)NpHn~Y^KV-$8GTS%};!z%-Rl-npk@0PJO2= z;M#?3)oAnNWcRT-k{&Is>xc0<N7>|^OukQKxtK3lAk~jPve8@}`$Fr&C7mNqZ2?jE zUmvH46Kr)<Sha{#blkV)WD6pHk9E3)n+AV@;iE8|FGqwmaU8L_AIT!S5iY)b&$c`{ zC+A5LK4=gtj~CN2o~r#I+O6BKdAO}=?sdOp+WB{HlD9|KZhrgefIX&DZ;5JLek1>S zP6L|t;8qgrgD(~#PlC($Lgm8Fq)xMhP&wh}4@*+kmzjC%wwF7<2X(7@x6`inH4|Q` zPg7XR!%NpIUp<`ToeXCzYPlX-@Xcec=Ss)_2)6zR_|q9tG*c2fnNQ^VGZfDcY0#+w zIlAaRDEC7Add1Z?rBJ>^LQ`=AB-}^da2&nh9A|8_Ec>wM(&wwkdwj-2yp80ca^Fh( z;h=yr_RX$Mmv?QFeyTI(d)i!p*0|9VqlgU$)SnLeIQ-^QB_)mk8Y@`$uL)H@Z;5Xz zrsk;^e6R5es;O$;-h(eJp+%bRjs@UM1Gk#-wm%e)sr-9ATHT?K0J?M*AT3@k+qk)I zGIU0@9%S>MR@<?^Abup;>{EJcXs5Pkf8m~Z=Q`a9_Z^VKK}g^C5R&pgBrJr)o=}FB zkunz<0^@No%_xt7@i~}hcr(n+p<Jg~vGT1L{8|ruSjAIOVC~qoRT&rQ0KBp-g$mP@ zP9(1zJYfjfZBg5}_yU3~xdVR?5{unzDdo(d^P&l0%A4N-J537cbU;2rGh#R#Su>V1 z$;HzbfUdpd@w0Ne*@%HtU?_7x)M?>dNfQ|}(z=a@rOOcOARuVmsQwNqz<TD+dEKVa z_~Yp3$|jh?4}JdVvjK*IcEQkJ=s1YVKl(MTi`XT8voT64#yQg}5JHW4H_+XsWf#>H z4z(K)3N_W}*S!9fMPHAO#q9lO0em=H<YFI!Wh1+Q6tr;7UtKOd_Vn?cB!a9m#VZmz z@FT$kInXeUx%TI<B!0~k{_WlvDTstYD(_MdrO{g9y0pyl=6RuZg%V)h$QiKHp35ox zn<qZqTVenj>Sg(lKpISM1OOt|0amqwhyV!(A+I209U41A7Xdi$0|T~31Qjy?U(sl8 zfY>0Y??5&@Mr0_*T<07>&GioAB!04&(51C+wu}MgXcbg>vz_Sq!%=|C3LSP=sP}cu z>UQjcYlYE8p}#S3C5;jAf}-Pc`o3LziW_<_Kn^_;ECzOPM~uqJ*G>Wo6sHqzvIDUv z;AC{|3#G?itK(>gy{y1T(K(SWA_8zK?l~dapuYh<bzne|`Y?JC-|MrODGUDJM&g@j zE+ufHUAz3tCwnrjTzF~`ze(JirF(R^s4=q`I%-Cum7e|UllxI-v7&4^1wE(7hx=yu zD4EW%GgvUX8<$&_F;2eWgyS6ATW8<?HTUaoBLmk<Mdy{W-{gTSJL(U>)K*Er!09n? z2?is7nz)tk3nSNy{lvTc>9<=4h$3MfF-pewkt!STHx)otiFYgg`fK7mv}zN60JAdh z50f4ic~v$>#?GIx_x$*AEa->C^cN2%<VT_B2^vc@o_I4&MQg0V8VIV(%S{Hh+#3NP z7l#ltO18-@uMLpb#s##ct`4!?u5+AG$Fu1QJC^KkO&E;&Y27BV<g=XQiF$#P>*Pk* zuNFm}J;|TWa#a6IH?V$@=YF{XL5D9M_^#poD$aZznDrAmxn>tc1k3m$)&XwqIUfM8 z$V@6Z?ib#PclFb2gS?o4AxQ`=AlZU*&T)}1AJuNTi7H$p$#-$Bju~%nxk2(BrJAc( zb(dKCsAjx2T*KAhXDe{_#~`7|Z*#|Q^I%1p*qdz^Ab8&+f0A8Ooe;RV_OW1Rn-;a@ z%yIMZ-Q5OsFexUKAN>O_#ztT!5Rd!LXi){|?LH(xUB6Rhf)^Mc*+>$Dn+hI>PAfB` zoc48x@-QLF;DO?;4bp(nsm)N=Jv1rrbFg*75kz16cM){q^q(5hJLgT=HnE>JVZWtm zz6v@aJM)rY<dbHeK^+9Twh~d&B+<w2`=Hqe;m7VDc2^0909YU4NzWg^iyl00zcDob z3^bIP0xx;eDj4oDgK(;TL~D29`r?Yet0tu7OMwN%*bWp5A)*$?q*w}iQsDt`ibfrp zRk0oZOwbM1C`6x?5;?IF*n2h`$ioA%6lHfQX=yKM3NLD@Sz^C7M&P#IM?1J+P0YgG zM_)qS*JdeHMaRD5eIod<)D-5k`|G33(!KZjUfwu$!*ONGTo--st+jH2!7JtSJ1=PG z&wUGfQoa+B5$DX98n7PZC=sxs7L$9_6J$b!UAo8~US`nyWL4{mzuOq<`xk#IF5&CZ zTBR=5phzq*)r<O5uw4=fchEZ|m7HvqKfAqSiM{X%1XYp$wR@FJMg2Bo*MPC&^yxTe z!;0La9L;7OKm=wGrp=ABcj2c~?SIhq`wNGV+Qj`N+z6)z3|{*X(oB$uY+AP@yeZ9O zg6X%Zg`d~IU9k=TKWZYCo1dS?#}uV4y-MQ)Llezp`k@@pt1w1utCAtCpeQP*n_9R^ zBo`pGraKfkqF59H`-dj(myE=s6l|M5;bo*DwDOPl_WsPn3wC!?lK>llF3+pt&HO3N ziHKA%Kuw<Ck|`{C+$Q!)1?QMDJF7)x<0?`<h7L*~Z)TgDmd4=?Y%6~eXW&fbGn(FG z;`IF#x0HGecZo+K?$`F&$gWgZSwm%3wa3FHt&lo#R9y{ul*GpvF>Fzz7!m$7@hK;Q z{u*sRNigZDRIU?iUuxg+QLo$zxdrX;gAe|Ma_)-&yI%#ewts`Q;9R7%3U>7@O&*v9 z9ue7}`{~nfiaU$*KUgTxSPS*cl`IPa(ldCd%q{^J92P8p8MfHEj*>0>=F(3i)W)#D zEw1j<jAKf%grzfMnbjKd>4CSwry_9Q1)hX&_Pw*m+S~(&oAPJJbMt5G5G;g4GD)j2 z1T>vWsicuUIrWU@qZ{%VcJDubpB;KqBz})4P)6Z6>4-fP%XcPRJck!mk+)&Pu;@Pt zB0(51?3<_u9=0a%?N@T2HjY1iJ=BiAxOGd$?|>c{HEXKWYeNtd2k%q0bf896=v{O9 zxB4Wt4ji&Pz#@A_R_K0pnQoM~<*$6Cow1q~Gn$ZI!4M@p-C2`!<eMhw#}zgA7lw7t zFGA!+Qx$sCdzxy>JMOJo6GNqVoeU;1CLVZV^QamR(G_`^*?;_qdPo%MRWMX*Gucm4 zK+Xaab6sAziT)et+#nx&t4ARDZH_D8-<+EV>J|D*z&<hWE?V{!?CY{@#MP&}Q7VxA z9XM%~k)<Z2_EhQjZg`Qo94`ImChHgN>z-JupJnb59(=C6M^nG1D##y$2CSAsi$#wR zN~`p$^Z3SCXXT<*9L;Ebw~lXy6dZ$9_f`MZzr^6pDCFOkn{D1)K3y=C4)|QKjuA)k z*zyzasVa7?{2`fjUaJ44w1k6fkKjC;f!@N^@zYUk|NY8_dFf(esf&`hhn>xY&6V6_ zgLdl+ZC>Tq7%~F}^h_BN0~YjTm7I-_;|+}9<yM&sS0(XoX3ru*C4CI#rdFYAFPwsW zaKq2mB~S+!uRxy`sZMo^n#{|a^k=#}EG<D1rm<ia@fK`C`)j_eaQRia#745V(k%+A zOqrU)yW|_$C+!z5)fbdGjhp7v$<8v*%E6Mz<lh`3-HL1xv6NP*J|lgfta*hlHk~A` zcbn6Uaz~N)q<_TMHCa6%*;V)37A#H2+hz}S3OsmM49=Eb<y=+9b*`B1JtZtp_@G{n zx+hBs`#|&Sb97!fRA=99EI)kP*;9~wweNEc`8_sme${xnt}5YLWQ}!F0)tUkv?@>p z!#m&cq`+D*d`jIkaY5xqQL@5os!&jIhH3jQ(ZxGDO!P|@>E<_5E|KCxv1;u)Yge0f zd=#9Nr*Mv!wy#f|inosB=qnSlp;6PJrmQL%>^gUmW>T?olX`e%EmMkumh&fEo2-75 zTPS^Fg>-mHU+$oGe7f%scGr02j=u(77U2Ku&3iGnZ$+fj{&8^5bwTkJwA7)o?6T;F z)6ItAecS)HfD0ckycMP?TCsF}y7N87sm4acuPMjBy2VCpNiXz6S>fqS_?2L1)sWv5 z{D$s(bR|7kTih)Il}mDbs56?nSPC99k47%<jXlQ|zz;OVmkR$_y2})`?R;?Lu}(GD zB8f8)<!_jj3R>Ggrov5(GJd5jjf^97KsLTIYkt2#`O6#kJF4g{rIGJId6I!4ODEf( zYxNKkTEmi(Isf8tG`@c%O5o(!301vux5kx*jvEH2^gHnFC6#xzD}57VQ2h98Bj1f< zi_ete(p=H?QV`#1%=Ei@B3(hF+1ifS8v<VcxeZ>8(1tDZg=cfogB{_bB7M&6d`TA# znM`8YMswSLE#KQ8;94^0iz11?h4k=`cYF1UF*{9vZp@8(RV!JSk=nyPls#Az7=hNd zkK21FtMMf^K+@uJ%*}g!2N&{lsk@Pkv@y@AuxQVpnr8*5vbn>iB`?NwvdlAsjwh~= zZO_Flt3<OTu!6OZMq8ZU&;G^hU$B9Z!BXC>M`=5HeNn0F@FK6A=RaEu*M*;w4)VIt zoTatkFVXolQt~K;i-AVn>t$ig_Y^-vytXR%+sd*ZHQWf#o=~>Jy`yLDsI83azZ2CE zR*5yKEY;eCPMb1LiXLjtinJPjJd;~mVpumm6vGo@N6Ljp+M5#Yw4cLYMNS^@n&c6i z_P{u1Jq&b!6`!cW%X;?4cF|^hobKD_Znuek?fu7}DF`Rq$)A$T+I&|$42>J)s0hCC zTD$GdEH0uz@Ge1%J?oKK4o>WBM*O*iq|Eux!aHO7k)U+mZ+0+z7B$CN`faU&NJ{zi z@AR}2=j{Ty*T@r_vNiv^PLL$$nicj=<7T6MDhI3>U)1F=r!Vv+(YC9@E9^Gh7vB$i zXX06R7c&`e;g_J#<9U<=$kewN^>d2u@Hc1c374JnS!bg-c&DF6Hkh1+R8}<@d>nO; zJ)&(-+zcvVJ&QbIR=jS`(wA=V*t12BL3+A*uVj`dQ4HP)>{c(3byhQ{Eu+=6rV5F2 zpXq`Alx7h0kFB}t&sp+B6!fhk-xeGmXRt=l;q;$Eq*(d$YpfB8O4p<jbgGq!D^lX@ z^sgQGtrhzw(KE;{Gu}$qxDlr+x})l{q2HBOHy)s)T~&%?Uiw4swn5@+-fq|K*GaUz z>Ykm`uS!R3r89N%-?LqVe(8cyeinUK+No43uv|TDpH}bl3~=k!ZsQKWW4b8RXiLQZ zEn|yuMz{$Y8rIF4I!J;x(A(SgeX=ZQ>?D};h6%cN0Zmu+uEB<lmA5e+a~~4QbQpf1 z+UV%%?4+^%g>hPz@%HO7a9tKpELI5Y9f;_Y8{k5IqyWy9puZs$xfTf}-h{j0owF3O zExTQ_aCwz$YY*9KkjZZxS7{p{=4$(L_xZB3Ip2lV)7Jh7w{P{sZExce$n~Y8UK?b8 zq~7O)aSYc{tI7ZHH0x470NUGV4>vt{$&9F}zkCv}fY|hgWkNr7^hVCwbYy%kAh~)X zIxaO}UvoAbI^Fp}Z6Poj*tle9cJGY}<Uo2pJrara&Oj)8D(Q%44J#_S6RcThKjUld zz!_>a_@e!V<`zefv;S3y(68bP&1+bN5%h3Wb-Gzd%Wqt`)xMLZnLCW78g0wSeU_Lo z`Y<&mg}%8ihu4~>@cB-(r>`cl!2Li<_MXHeTHd`_OumBp?>LT)*U}e{d*??#1Vtq` z*}o6{-lA=#c={$*&fi)r;LsyNr#c(&s}FX3Z$EJ~HM$`jE51$_36#g)JENj2k65?P zKB-c(F4<_DRmyWk?~~CnM@x#A5*m+-D+)^DZT_oaK31e%HNmzuC1wm5{x=&xqmg`C z;MB50?OD8Rrrl9%ajnSp0*X~TZ;!S-uW7VgnbU||NlHPhP<Y*syHez5EI*|7R6B8a z0gcbxm4}MJ@sJ*mx3BsB1V-uXt$IE;59+$1tv?{r=bGJroT!H`Rdx!XMWDeekGtb1 zj!o%y>v6k4cIt}Xk)(<ZT=Tz%cY(6&geFJ{LY@AN?tI?v-3E7_kImhtzCvme6h3(z z(=1|p`)j@;Duc%z-7LxAZtx+ah@6IHJ&~z&7$H?v%(gHzs}VaEYMPMM|LVR%Za}~j z&NsZJS|ONhoSMKehccp5q=->rhm6q*>AK<~d7nqd!q_Z*hLI^xjlwPm+=oNyEMP#$ zv!%nWD}Rp7Axh{v1%K_B%m4Djc|@J%({r$ER9pn1Mz%ff<~sd(wW*XMhW$A<pJ@j8 zE{qoxlkktKx)E$IjZM}<QBP13qlu-2^=w?JI(W}6lo@c^r*Ei}vkKT7F4x{ENInkh z6vaH)^YUWs)3@pP55q`5bhLul9niJw2;>sAd-q=iE&1!7v&G#vIB-e9h$|fZu4ri= zgA=~wc%SJdK1{&Am_qA0p+lJzHIaT&_R4Wa|FBC`@hz{*Z&vgZ@b3f7b!0n{PdIi$ zX(;qh9T=`q<BuIo>;dfFx>%+AcKK&zGG!4_xcS13{c{f=e@$3lIBy780*DZ$O(fJN z(w49>1c1B=fXG@voXbhm3%{8TfZ}!^_8abFj4)chcjU{gN7mRxqO5#goAe`ba$CN$ z#-mF@wV-PW(+oW1y4LhEWrlzGy!K)F{p0tJqb^pQvx`cV9D(jhD-_{koc{N#Te?qQ z>8MC^4(t+$%shzjs_~V)?HpMG0Q4=CUEYiFi?m%JUU^9D62rXk`fr~i1omRC<;c)d z`&e(iBRhJc(g!@|0M83K%wrtF(|+Ol`@|!GS)nbqfFRF{iC!=Mbse7TkMzjPk@(Wp zQSvVIHeh}v;w!s0t2#Z5nB-`026c4O9dgbriij8rv7_OzEtn;}yG=1qRIRSw_NK|n z-a-wX6K^E!)Bb3gFElKMdfeZBb+tD!rWpQ%AQ5qxz?De+CsM0a_&u-~y$%T`0)?3E zst*N_(fi(2uLlT{9k`cbM{k29kg3MwKkZ#WYUtF7plZ0{_j2FE)2lzSgNx#75(Z_; z)B962)YIP3H!3iM$D?uuXinX_!%?&|S5u%mxuLVnfhMT$rALVuB@xNOnMq~9CHKry z7;ylpBbvPv{%&)?X@U_Gs1!Gc8IqqFovh?v5D@V5;%pjFzzD2%r4kDc=J?dM(cV1^ z=XUeR4#{}$xHOV`kqL4$vb9(FsaI4yMeDhF>yCkGjig%*u-EvZs~;JlW}Hw@)D1tJ zeQUyIpVjjTr``&a=HuMS@B0lYOhXE{C2D}e#u!+x{fJgaAcGoP%nr91geBPj1J8=H z1<q{y1k{iL%Vqg)ghd7}lNnkF&(v=$9U|-}iT@ozZP@F~*Gy~bYbtw6uzR^Z=6t%% z%V(+nkA<ynJ|-3CICQ@J;ZtqEPQE�^^3ps1*X9e>f2|DGGm|3G*)<YmPTqwCR6) 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%0Di~d#kuOX3j-aMqBCO|rF$Hn%lwHDCW5S291McJb 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⋘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 *ZCBz0dwBx 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%0AMlC8u~Wby!h#!?Eo(~j$bHm5;Oyw5OqZE$ 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�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 z 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�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�E0u6Xv*Uv>z)T8FtFy0xulyIMiP{j&~w+D`nU8Z!xgD?1i} z;CUrt;Cg1-E8wvtAo_eQK{^hhQ%sG@L7s2V*7B)cyBA*U0q#clk%fDC^vaoI0ePDE zhm-VaDyY>UV$Pv5%=w`gL-1b8ztW{(CNK|k<ML{Y5c{+B&P0jFKVQe^C6V?LJLvhi zOhRKPy-T_H=eB#~2O^qFIbsm%+B191du6s788ugETfZ^g;4-4{S_BoT!8ZpftNqic zqYoNqCus-*0j<T!H^5}2WDiB%SPhv^lG7nobmOppFYl=Zx$0c>1mC-2#QwU3A;npt zYWG!S_g<&7cg?;eDj6C*<Ah%wYo{Q6b#dmh(HrK~1F4@u6EfAxhfA1u4N~s%ac>9Z z5IO<vZGLEgMB0eiNS3cK-IxEU)_FTydMYGn+_33XAf5Tm@)X#IUdH(l6PzeBiOqV~ zt#M)d`O#_w0UrUJ!S6y*-};!D{)iD#sO7D&iZw5RQtLl1aT_Xz?>Yv`xp%qou>T%y zW8#h_K)#~D`7JMd1YrG|=`O7uIAens_7_hk9`57r=)vWY{jB=|4rSOh8Ox$1toKUF z!;zIMpchGneDFuxfJwlX#B=ieK;g6xQLi=w-FZ1&FybZWx_Rj1=~-v|DiWb>W($dn zsA=}3=7INOJ7kjYr0tlHZB|iL!ZmU=a<6Exs4dqSwUVHYTFLMr0>6)%Y3MCx6_dI@ zidqJsMjs0B?DajG0;h}2z{19aqn2pkOEg~NXNKvB*~vHc_a5-9QDphuu~)FS?{rPl zN02^D`=He*)9a_omM;m@w%f~w&4a|}CWeQ=pnMI|HC>hib9|T)0TaSB#PGxPDpBa! zRMxcMsrt?}w7=_i`@{!)M+X-mXw9z6uK>>(P4lAZFBv^v;}PIk86d7_NjJ*Hjc8E? z#UdVRonei?^ZfKt?Hm^C1*)nq?}XqK@Gt{$9~qf_V{uqk{j253Pwme%kylW%p?Dr= zinW5A4|DdkfPQ~-%pt13I~(F5^ekf$X<{O<>>ms^26=yWumvyM&eg|C&UQ>D9MFH& zkd!|=f9i9qAP?Q7no%QTF=yUaF??a3KvrN<A>-<n|HObfPEnmK4K}zAFyHrc(A%Pa zhKPlcGyv*7Y_VlOhP=`DX4)}S__dECu$23AUqVkKOj<AIT-859%=y^AIVfX?HXd~E zF>I5q9vNn(EXk|qD{Gd*#b&u1%d^ZeY2G+<c+a;m-<fD{F~2;{o&Bq^bf4@uI_OnA z5R`c+ywqje<|nV%JRsZVCo+74jd&US`9d1%IrJ~Jd+%Qv&egxE&AL^@Y!emp1zmF& z)FiKmzswWs-PGOr_r_i#oaU1F^CD(#qD^t(Go<TTC~LsQZ-{zt*@%=P0=u?KL1Ts~ ze+fO0XcGu?CN7|9A*Wtje*m-F&A0nTEo@?ZIg++%NyM|Vr4(jg%b^hPGXGJ}!Pyy< zCuMl{Gm?8=%|v5evy=LBjnV@3ke~IU;`bo((f+{0zW%PIkDyH*!cjw3jZ}~BM+HCK zM}X2tryp{6p6upnC0Fo{R)udUaNN3TAK?zmoIP$QvfN<HfjG>}X;xMsoAmUmc!+15 zpw;wK4HEB>1^g#WWqq9AcC?`|*_N4kQ*3vsr3vO7RDBJu>%N3y?+yxwy_SOK^-wL* z&b{A8XdpTNd}Fe*2KE`^p#403t&bQ@8ISQj)JLCqsYvykFwrHZ5!+qww&}7M!3d;- zBOz8K?@w2nrA(3*_U13uvHybv<x}%(Ec#mj`5yv}ttWzaY!j)BWu#v*=i62UAs61P z#36#40$>66y~QTo3v@Cf3qsW3|0t5K=)4RBxUpOfDcQHwIDOtJN~Z3;>Ke3n*rzeO z?==(i30#NV9A*(2Ok5V+wm47qG@VfBs0;rAQi2Ks3?=M(*<&~CQ2t#^{Da!Pn2{`o zxl~QU6EW~4T)*m0!UIcYz?Wk-!Z4w3&CE&x)Uiax1S}sKj<%L$dAAYGy!Pdlb{r|L zXQ(s<RV<a6g=C5mTY?j|5gJj$z_5JyviU+LnFxh&r4FX_+wJ1__TAn^!A5=~Q~);P zEgG$479#!aYpEiocGUt`?PnHa;?rJbT%&WH`RR@bGY@x+dIJg~B6?EIcIK7Hw?$<! zScD<)7T?|sg%}C8grL-lK-_jnK<>Y6zlh@l@&EZ_5jsMn2bJI8*lOAER1e{&VqtII z`S<P7>Z$Hl<t#(lz-CB^=({!^jFtZhe8%p&V4T@7)eYFaZf9T}N{dfAvU9@R``yCE z4w48LP%N~)*3GWK)uU-yr>`F-i@zpfZr@rwaCoLcAlR^-w9nW(B~sW-(~5Ok4NrwW z=xNfmbwQl?*mhjz_cMW;fw_e(I1nOFZfSI2kvd6h3i=f{oo}P)Y`KM2%%Jm)0c-JY z(n2UfG$S(S2~kR8&ghj<1FY=xo~ST?R>J*pe#*1gM(Iz^&25pYqqSE=Z>@=`$B^8K zV<3gv5Le$+go<DUlC$dBsWpbDt(G?{J88ntj+?~|swmG|;Ml63b&k;Z<BQu1YZO65 zV1i@$r{GJaP9rIf#<&A<efi9axtM<V)T7YBEoHBi+OiolZ*q}V$d>3~{FS)qU)~B} zLCi+O`?L}JAd%kmNX`>KOt&kZct75(P^+b8V&zwPZCSWa-q=Nb%u>Vsx1s6jdIj>m zEkS#_BqL8$Yd=N#!oC3l_#M=C<0rvq#-KwBZuUV{u)yg}VGmXEof+f{GP60ICG88g zBBmi?u0CTrxO&yDZ|57)_EZmXN0uHVh`%)qWH#uShN@orekII${enFH!)<?y_%tTK z{9&4ed;xTQS*Ebxl#6gZ_8np4LFUz0c-Bj_)c*X`@b!R>np*k|b#8diZ~0FpH$2Ud z1^FMNJWk5Ll^H_+4PA{VM*1A3KMhU1Y<p%*)JpC*8)?#63V36VlaDNyua(yAU%WG% zDgQR*`TaK@OqXZ8|7SQ`P0y1Guj2mlV1WYclY<Stsh+8~X-Kw%*4?n;5mTVnllRA< z8T#D*UoV><t?Nw${@e-j)iqua^X#o!oW#pE#YaHOeEm;T<R_91%gv2w=(083sb;QR z%i5`*T@3h|1Q9uZa0H}Zn{R%S7q(pjApY(stM+3le#*@XgsU62DOywC{n!_VtJcu< zD5<AuI*Y_o1XD<@9F0Es*nvNTtUlAFTQh@3znQB3Fh=rHy!0&p$r03Q6%EhS1OW$3 zrX9h*JzgUT;|y{ih0kvUHFcsRd1YM2-Gp-lg;fx1qhcaZf(`ZSq9Y8w<u!zR-;0$F z55iM|$;xmT&79jViQxmQn(ZNJuz!F_rE=hVm3=wG;Z$rn-PcsMSFy#B3oG_%IwUSR z^X>!~s&`0k*iG|K#N|m>>pHeH%v4pMGh?#*yT@}k{<I|gM>+i2)G$hamFHc+sWuw| z5%CZz67(*U1!9=g#LH&f`%O2?F&fgkU3g?QtakY0P6;5)9wJf+W(q>ck3t9gg=4Cz zqTWOF8xPAMV{F`h7gEPlc=adztxII{e59o;#wCebOK0oIH)<recEfml!@>{FkdV5T zPnz&QbOenU<me~?8h0ec*Guz>1QM2B?dVK6UH?&|w>L*v9y_9+&DbZ*cs551?#++z zxXsTGAC~@*&P>SZpPQKRGtXlS6gKDd2ROKPbu8Y?{l~kswAw!<YJWdH;<Cq5X<rMX zU0Nyq(Gi=#b=;VwlxB_2I%i(eAf{g47|S=7qcw=2o;A9-E6+NrZ6I(W!Qne}r@@Qy zhqnw)Xcaf3ao^m8KxWHhNDDLmcCg+lgk&`zsxS+5QiTDzHxXMDf<c1MV4oqHfcX(U zAb=kEyx$xFm|j@QRh(><MM41{3G;T<n103TmHu!k%8aO&r$s}i<UKzn_;!Sjod(mp z(7Zz<N>^w4y63`szATq?cYzy_l7;hdX|FG4%ObEl2uUcpppcMU%B4E;UBWL0Q9ofk zMVo;`7CrN)$R{^lskJoMyRPGx&=C~illZMG{kC)l+R%#t?pwR|UhS0Mp4pGrmmfSw z2&H1b)aDEz*Fm=pn-ynX6+N=Qw7DKr<Xp2E3}}1wJq<}5dP*a5sX@dZwF>J-x~cD5 zmMYyRvF`~2<rHkGA9zOU_&;b->8(gtSg_E+wnmU_LEym}HcOINzx#rO^x)#W;^F)U z!~`1zts$wp6zLU0#|?Rj9P?*&3~>O(AMAN~Gwg;wN{`pxnMU6Yj34P}z%D<Qi1AHA zMJ}xK$3N|F=ek%>v3<%KunUHhMUaI^(E$2T1?S!RODH~}#tUJVS=eUMKGNxsI!<E^ z5o59^u=<cVWV7lKoH*xXunx)haYl+|t?zkBi6wj*@UQsY8G<!z)<PfxW}QE&%mfNw zI@py@P=mG8PS3b3e8qjiHiz*@i3zC)02p4lOa(J!mMMT~dgbt{Pi<f6`NK-xT@G+h z0+ce9n!QIWi>1e^$ZP(~8PGR&_)_Xx58Fnp%{}Fld@pEC3VjA(uCoSR!gY1wSICz! zdaFpA#!WjwoM8E4);+Q)p{<dEH&%~>!RJVLc=qtVJW+Auq^A<-*}Ceb3oayG{95ep zacx`sW+rX>Mtui&i`?v3RnrT<YWa<6p6bzca@Aht33l>_Ad!8u2zBorBwINMF0`yI z%Gpk@psHgwWk&qL5geHg7+LW5sN9_!TIr-@9!s}P)ns_u3Fo$xn&jMiN_iQ8D;(}6 ztuqyvV^iMYX)Y#JqtV4yK3gjrcqVpgHM2o?Aw+#mHC-Yd8Vlo?J$c7_88|Mpy4ZW( zv&o$(YJw)i`*%m^yLV|vtlw0~BfLyJafczPUiWdu+tt!|>_=b1cj_#_eJf|PJP<1t z=mvu{VVIh{PTnFep-ENu!!UllLrf$B8J;0n_+_@-h+oBvHKF>38djSpjCI1|kPTPT z5K5%3z03Vpa4o>ILAlfAQsy4lF<edlCF*9jH(t&mq17|Z1pU`cokglyGTO;t3>0jT zYlK#O!9KItL3A5Iq3gp~gidohK|c6(Z?}=(=q5<C5?uPeOV5?$-Y6#vWRG46?B3j} zc`xjsISzJ07f?IX=9u|Uz6+I&S6tXRZ#~dT3dNn2JN8rvs?)@M$9Ia|s4_KpTrzmH zrvTiT@4K%6d8rHjz;2BCjT-tVvRchFGb_2|N<-~Yr>J|p+lR7le9oBbf^p|b^Zc`v zGvK-<$*gJ8*FXpV!J5^C*E)%<vT18DLR{NqZPtB_G}@7rqfojFNxh6+^X>9ED(-j^ zq1uik31&=tx5F$V1Ki8!1hBE)(AE}W*T|r2<cWVkj1TDsqEGsA_Cj=;$3;o{yS_e1 z2148Gsr8Yx*%~t|;vaY~qwFgVz84)NpLd#FVFZ$kBAty1?v<nxoRuVhZ!{Wdbf8ac z7@3rE@&~3k_!(`9K!4-*>8o<mzO{qAIYD|J4d)!|`|Z*4_QA9PksZ4Ky!OAChTv3Y z)a#vXBj#<?w?(E@=;S_;rdW|l9GVl!b(|j=aEJdCzdr;|To&AE3WG75j2JsXNE?!B zOOgKf{DJsOnRtz(J$>iD=SBk*c$Nn1*s_JRYn*_z5!MAm)&_BEovs1aM*qsO-$q|; ziny!(TL-Mol>}StYFj`OuNea>slO)ajFiK4g5Fy~^dY&|TOi$oOf~^Lwu~ZzMhL=# zoVjCQ91B14X3$O9!~V1*4}&-Ikg`%EpuQB_IV+0EW0Mm95c?2Tn8U=pws2{uq&~sJ zl<Fi~avMw&mM5H7+8R$lgv_S<T|0_jPh~6dcNHWYJz(zq6EkM9XO#-b7)<9h6^!d> zh~(9Y!V|MCvF>9*<YFQ%hd4E2%T~Emi5YQT*nIMLG&;T@77?H0#or)qxRR}M&2n0) zhXos36f*()F1nYM;;PW(0AM;~8M<6;(&zJ{qjZ<G$EGUCh^>(j^VWA#piI~pI4sQg zPR)v3>x$+9VX6O%w?!fJ00GDV=O2mg<DUdJ-TSyL4$@9;76iOk@_{)gGsMYz_#!@9 zv$fkLv^pf@dGLBhx;T{Jx9lg1{vE{i<XZLP9-M$+3(kEQy1j&ds9zt<C2}yLO9@KZ z6el;w_p00?4fQ$L0?$#Bl8_a;6V)^6v&Cu(vgj+QgI-9CoW`d{tLVi{OIsK;*x)kb z6lbk$K?)@@lAs#b`VHZ6_iE7^{3JIjkE<eJEfVRQxoH7e03bBFrrqc<=g26+1;5_? zCc-7VA`t?8g817x2L<>0Qv*MQp2#IM(<uV#<3r;-s%VZa;hl^3ZPjmND%NP7=p|07 zT1Nc_i7KWOC?823{XOu5+6HFf{V3z_Y6O3OPHpzsKBVZNAg-1vs*1|?8+Z52*ouzi zJgCSaouQLsGF^vd!vkG6Tk=zOL$2Nn%f%Y!mO8S+=5pu<ea+TdY;drEBLX%sw+0$M zos8@gx@^1QEXT=9!~OhHXQs-CHF055QKtzO%Dx}UcIjreW!4D?H^YhD{3GxkJK9AE zykc1eJmhg)r3x}Gk(kB*>hqMVQ*c}9(GI*PoLS%Z2q^x7-=e<pkvM6s0Wqe9$bx@y z1V{C=V^d}nzxDO?@cd>42x?M_!d%JdAUnyfWe-v>f-y<+#;JEu9_dL>b|$B~Zdqb* zKIx^p;Cl)`G)k~%n}n6TFaA2&YM@C#eGp&`6u`W?BPD4>8r)IVL%WB4uwuG{T|m}s z<88f+oo-c>5BsGuOCefaZBQHFyuwCUgeCP}Bu_kJ?%rabzmZpkT~P(?h!}U`VdEFp z)^nxsOCK;2an(0qPiG`H;kEMr{_GRs;W%96tueI`oBj4Q<1Ia57!Zd`6MVQ)D@Gu^ zG#Et)qZ*)ZGoKGhrPA@Xy&)%(ShfE>Uzx*U5xZc?6D7e9D*ue=Nz4nuaWxx{(5&Es z>*b$>v5$q_E!XGpjpxocd)35Py6ts&<!-W5xkB<9Z|7Emc6g02_-g<hf%8fm+m3>1 z!`jFeAsx=k`$sM&D0xu))WnC1vfehf-adx9WG*RAG3@pI_e5bx4?}XWw_jLFmeHy7 zwinE!`kcW~l?5d(y6j99j%}Z7=?}0I<w0}sP7x_SZU{lFWJwpfT?6cf0$uVMv7zPH zJ+}}uYV19vON(oV30VO!v?CVNREhykN)@iEP+U~?&1GxE*vR9qRqy~Z@F6Y8j-TI| zrZ&Bfi-IQvSVT!r*gApX+(=rpn@C)zS<UDMG=OcBy}jhG@~kWyf(S|@;k3m3@h|u| z{b~ds`a&*&Nb8J!E0cp~&nAOxA2_(McJJR1UWFytrCYAY{p8MO;K|4ajZDB7FC{ki zs(dOvz;Rx`bVjgu2B|!BMyNOF!rAJHaiC$jDC32>J}ioUmrdBy*-^Q*_gY9S<sFQP zc;qQWRFuO7Cvjo_SHuV|EzzO)69&)xY5)5yjXpzka1NbJI3)>`K=G>xo3s>kS2&=$ zWU(p=E4%d}H8AR7F;V0^T0*xp5$oSHl5~qyq;d{7>xzs=z)0dxg3UKyNPfhHBhw#X z%<LacKV_x9X+jVk&3$j+={~thSK~gsh2H?<@<lRg1}sHd1%zJ77+SR~F@Z1K2CoPO zZI`!Ealr7<<CSMc3|XQvVsvhq%Not50dp_NK}tw%u*V#X{brFvXPKU7ncrEMS-ojf zJq|?gs|0E<<{0WYy`df<Qee^g8Ph$b%_4Z}o^0sk8XoF2G;wreY`54ggq!iqSG~jW z+ikt<Cp#UxZFZeGC?lJpZd{F_jV5(DLK;DPRN-b7X)XOqhSh%?)^6HGH0Th75&n-N z@t=3F9}6Aq7k9uG{Je0L8TbnPf9Sp+yJ*5@Pvev2{vh65a#divlOxiac*W25ZGD7& zqcR_)bIg8fcrR9wQjy$B6<Vd$>S1^&A=@d9LTvRItVqRLtV&-SXp_J=o#1mX{TdMt zWDR<y4*;l3yVVA|s#l{%<WY-WDdIQ$a4DG$w9PSUBgCCorA{zDt6YuLxTX6an;O5e z_!<#CAJtkBK_Ar`kz8Nd+Q=%L>dc<|ag9Q*N~}oTmGg8x<&#uyiH8l)8haZi&?fPW zoQ2qNi>V|dWfXdaN&r4@0My!;`R?1gzX9G46+B#3Mh#MG&1$U53>)a;KB-y}eL@Be zQmN%Ctjgt9lh*aA3d*CUJu(yM{b{9EK8gY%YI;=98m!8Zp<$cG3_NLJ_Iy<f29jSI zg$nVQ^r+d2(vuaVK8-ey_q1mxORkd@p)2seom=^?&5e_rl<v>GX$q246?;pDt5&Bf z%xDS%GQJgq&19!)3aSRdnA>`D&nb25Bfmtr@LZiZ1=2(;1^nMs<azz<O0|d{{?D_w zVqXd;axd6!JDIfYhF4!mbu$oAAtPtO{RoL)jeE67Q&FU%2If9k(*&NbQ(p!|ZHvIK zI21}WK6S8`{w{(o<?fhWl@AEy?J(9dzjDi=3;D!Y%d^j~--;LvxtwyQVBELy+(Pw} z2Rw5!DTV)5G5L`iZ7S}S%=uGTQammb8;-3I)y*1G;2enw&1`<Nh4D<3lXR@E+IX5~ zmV)i|twHg6AvakE97OYK1@-!PAqSar7T^efyGP199A!{t$TS8Kp)$QLC5<9!+p6+C zR(1GeiEMgBMx?q4@ZHzY#gM_R9uLFuaHFwb!BcTAsmRuC?`U;e>&e!H-Q=gV{(HyB zw-SUL`FlHWRYV=jLc}z)I)NEvfw7whD`;@t7{OXc8A}OqH`VEjH|x{|Ksoy_e{{;A z?pJFPAY>J30q9I>z(T@el6or|i#K9w`it{RZ#Qxx-*nR$JpMrd;FR1M6f@mRqh3Y+ zN+aWL1J9ZIQ1R1n-f(c{TVYD4j%F-Fv<Usy&FnQxL&msVe{hE11%Z-cLWCt)$**z` zNqAEv)|9tO6Cy}TLL!x&*z0A0&+FD*Ghh}i3m|t~^t+rGb?J<J4Fc%0|58Kmrg3*V zb=$g#9|mSU61QYS9F}C97TY}zwvXQb8n_IUCujFW+@xajU*&wu@j1>O?8~w_g#coI zm17zS_Xcfu#;?PFVQ%?}zyvlxH`p~;fj8#nyXN-m>0mJM;jMuv?65%qPohJokuHeH zt?AYBu^*63=$*g|Yp$oqabP?m?j(^$=nCDz;Drp=Qz7|gfGT2pnMP(|k%}HJt)E&L zfnyZ-FyxogJES!jeMka5e1cv?)35LJv3Ii<I9yLwOIChbhkRl3Z4>zvCFZJ43iv#8 zlq&DI?a4tHoQvZ@JVSU8r<#57R&lBlXF@xl0hFeSj%Ah|jE`!IB&u2Y3HO~zQ>VO| zT|&54Qs|Hqyt_Z&d<C`e?6x*B9M{%uzvy%E$B*WI6h6wEyHsIHq!=vOT^@If@sLpb zE7>F>OuGh_N;}R4L?xq%YOjlo&>^gScGdWXtPOtp1D^YtV(dTU+5MbQS5!0sf}-Mk znMH~y=(2vH?_u~NP<r^_%b{UAXiQ~#P$wnRTSN?d;uAUQ1n1qE!aos;_PS#;Q8ERg zK0cBy=;b<qYlrNbc+|M3h|wyV5i*Ans~FGEMkb3t<|HkY>k4|wKBt{hx`##*agBY) z4eAT$VEm*q&YBCPv$)NVLLT8Lui$4t8v*632s;-#zP@fO5`cQ!D@M&@@w;X41;Zx2 zbY``HJ=&Z!gO%4`d&TF_x}lsCoaZlbCn%M?2F85s;sWLKrQpm_(}fFH$0331sc}=S zi=3MyN|}DM!$@i<XhNU%l>J+1ej5vittC+~`UBsoms>)W+0iXI!x(o=muUaZ1HPRt z(%y)z)CmSvopEwHo!I(87ENWgo)z6Ca&WuNI*0z^$*IJ42WjZ7NtP5Mn!KbIulLs7 z{+4RpD)S@`%MotQU3e_#mOxxl`b+`yg9a-)XDOP0<grC3yCK(BWSv@-b&M3O%eQU9 zG=7aM7sQuk)c9Hu$zS@><~MofB#lja%X(u&TvANZ?w_L^;k?O4$Lf9M7KyS?cc)vA zyy8Jxf`AHJz`%oh|1(&b(A_cIwe%#uhH01ndC03U0%4hLR{XWpRSatTcURUzmvv9R zZ9(Id6$!L9vvM!oR1z^!7akr_2_CxBll}EPqTfI%L8Q4JbSv~j(?n#o8q1PqS*(ga z3~P2Z4g4u3H8?vU5*FUx07($iZskd3g{*&k7fIX4H&I!0c^AO=;Mj##x=qZy<73~K zG%(e<P3)LdnE^m736C6@$~DO0HJcaM19p&!*9&tvA(f>cOWC9J>YZNQX}J3M_B`bn z@WVTaZxD_)BmG7{W^vG$JA~lY(g#}`g0P}fWXEYpx&PKa1;n5(SUaY?VyhZKQrEq2 zL!0PaID-HJj)^&(qRqiAt&i8R!1FEnqAvx$W3g1!a`eg_tQX|kR=AE&Z%DL(U8^+@ z^0!&EovM&t<7NuzDW);CZ_i3=0{A?JuaJnCLp&fyb8Y=y>RRWv8fyJ#Tc4j%Ke)P2 zlVA1Q-R_MTlf8FDSmivZZU@$V+HKy9>`Um~P*!}xt_O7L=LNN55*d|3H6ci9o@91I zTMgj+8dh}gyg+9BKhp&=^zNYHW&aKTEvR)-iy_qTu$xCcio$!3qJPN!F@=_M<?<5^ z;*yxbFXI-3A>#hI!#fCYcSQ;5%0(A$+=O;>opWzbZRBl9ZPZTx&NbFD+-^d3&@jCc z{4L9Wk;%!AV`XMn2i($o9k83&4oW0w)HyZ?=l}CWJLaRXCRB!1=0%+_X}J!u_5O>o zuGWCwt!6B3Yeg!Dy4JuI^x7S-wr<MG{it=B9%Iahc!Q~A`3a*o!!F4|&@#rYIvu(+ zMRwQJfO-DhCs;!h{PI`s^0S1>l!dkoTWJnaJL#Jui}xVao0leo&gNxH*-p76!nrd{ znWSt)?U+2Yrk#$P^+X~QKBI&2L@lh5$v-U_09n{K!DXNxEgmpTV5;ACH>x4{wTE_l zj*CjzK#_!hgzD7hs0V`<NEq{>B6}EPHV?ijB}o^?beG-`T#!<t;0(3oud-#WKJ>{# zxl9|!<aQ{J(QHRr{{-F*cu!`jCB|K8*Riltkih{b9IM^o#JbLbX#06QtevMgj%fln zN8M1xl}*ezwI9~xELV(OUu5alJf0!HM{8bT&za)jye@R>s$*ly88~CFV(K~1VjhHi zUTOL|bl%X)w`De^k1u(KhjhIJRsS$Gor2$e>(ItJv+p<o5rEsIX3jgL|H#Ki5aBde ztNYl+<mq57^{4wGy}8>ogLkVtzFr4P=_5tuI!O>e$$XLXO@MJhNYR}m+YO%pWn(}f zO4drXQ2@IFd2H&Nfze{SPtcXK_p6z2*Wb1e2fAEOiY7=87I^@XU6F`S?It+Bt^6)$ zHk`wnJCMYKsL;cKi__ukPaV6!{DJ*6(d~C57@wY*cE~T-%OGJ0{@ny1@+)L5<d?`r zknlX8Q8$*KvDu!HnY)QEL#JSyEQBgS4RXNO*W6Ct<AWzbb->HX4HsrO$^o#l)JBVZ z%CsoVlX*Wr>TM@Y=Ut#E_d4Q?4nz(PC>x9}hltD}lU`o1j6Tg1Z36uv@{~Li>!_m| z+E>+nfe_RI;aFg;(RvsGs3kkd?PW^+Vdc(ejBF+B;2^=JO%M>q_4r>~dr002FVTd! zXRIMi!UVjt`E5?#wyuI!Ew5Y}2ON(~XgOBYptQK2g%EXSj<@;W)Zm9hYtLe^eULBY zhtc#SI!o>p>F!1DJNJqW1a6-cNrW6yERrx<uXqR=H{^HWi5G-GmWOYg4p)W*J^@5~ zn?G#jw+?R`ikQ7Y5)X7k1;0Dit#}xd<4c+%<y%`8fkl|jzm;&BH@GYk7b@SfycIPL z9tFs%uG!~mrZjC<Xszzv#PuK8*d?b0Y&)yA^bt%L6nVg1(+n@;GtU=cAxA4&BAtg7 z6MSVWTD=WNunan#Q?~7X!3bZ|00V|~O~91rN??FqN1;|G0VzmLdms4BDS=rZ6r4s` z(p*M(hPPZOPLKql!-Vu!D7hX42U34@!5#LvPZm%alRtHAoY-+>ftHRJ#mQS_jo-I* z;x5c{b%L(jC0cYn?CC-k)BP;vL|bE=ldL%F42oRAJFgG}c$ykSgv5io0r?uH2ezD2 zi8)^VmMKUcFfbo@4+T+<!<zq4Z?^~|!VK|Q;*2?7$;!}VsdG!^4~d!@F_8kA3v;9k zm%kGC@=T6`TpbV8!)JFd3Nm2>(fxX@H`ji!_-XCsR(eygOq0Yjw1pq9zKI}#<@boG z{3SAz2%mIvf2Bdn@EyMlVd!~nUAan8DD_v_CY<S>SrEv6mgZ2K>Q>ezK4^yH5SlXe zYs(t7e9LPRyIB4uu3<e&J0o%?u$byB!+z?-@2w6mJ`ndgL(f3ZeB`J_bvQJq)s~!Q zoIBInXW=%q9Oym=WfU=t+7Y9%wb;G6*w2rlvR44{>vqmx?e&`=-KQ!()>mgN{69(n zUQgNCNn7o^h=$-DUGT40SE+p){qHO-=P%)_{yFSeJ(!HZGVrPI;ZjP<7^QoA38f}5 z_RF?wCp%r{`o?L8^zlmsxC*@U5WCYqx~G4TqzgJy?6Q?WCtVdzTZvjs`-NJXQa`mT zBe!&vpxn-zi%s!FHIZ%YL5{zQZcT{x{#FI!Oom7!upU|sxph~4b=l&oWQ09OGtj*2 z;g%6dVCsZXMt!RO#5#(Hh_p?me5n63&Fz=*HVTHqgp4+%kW)?4E%g!h`r*NHcXE@> zbOh2&e_9Iox~?op2>f?)u=D=bZ9$0B1KJof<5UKzI%hbhZOiB7_?E1VNK#DgAT0a_ z#0B80(ov%K=mQ;Hf;mcEP5BvMXODY%M7}YLforg~uiD6nEU{82XqWNQ5OLFCnlOS{ zNtA1$u=!FxrVU&wPIn+2dbcesqONOj!^g)N?I7xvvqKVHz>`Y#PC(Cu*Fra3$fNzC zx{>z9alFRYMA0T7ttuw1;#F{J1?BEP_uxe@8yq;0{Q3bAkD3LkM>GIw0r|r7my^d} z#~DN)U~v-kaY=}3InXiHtiST&ru-a-U|H}Wh|qy-Z;?Nb7E8C;oK4G7Gs{P49lI2j zmdnJehUUgdODfHMJG50|ui-~W#*TF&rwGUWTYXJnCZowtR8li(UkKv1{Zs;Lw82Vo zWhv$8?a3vVQXvM)kU6MtKqCkzAL~@=+H!vI@^JR3tEIs}sT}c0gCD(R@SDfd`DP0r zx5vQQP|@ZsS-MsTu8eUeO69@WGPr8g^!fK@xvJU3ITO6P{MZ3BZ%E%P0f$}86dqdF zun9W9`lMA3u#(8!o!jtmk1sB`+JbY~1C{92&oc4Wyjk)Vey;_nTi+o&t8Yn$zs|TK zX>o=bLcDUNafUfUyz)C!9|?y$knG`ELdG9q32rZ~2ySZtJrK3^;eI_CT`@;@e)9+C zuLx$3XIdFmo%#Tem}v(%B6*@YS@gx}lK8*hVwBM#wCre7JYWY1;lNQTke5W<GXe02 zF2wE(8BQ`wVTE-`-pGC<p1pDE8I2Hs3@yjL86LY^&{*baiV;m|U{g+D&O%WR!pQwc z8YB&5WfF|!J&CaQSV1`mkx?a(FPks5YED`k41;Va7$@BQWSIa*UCxD6au#(x4q@!@ z`0czExou`21S8P~ZgO~@;vSY+%Wsc^q^I#^UR^tb@;Bbt&uV{cU;~<Q+<9qupl5X+ zW+LVg4H72{YI8ps<<*df2lh>}F1N}6TD@1M`rUVkqx39>%Zba{Q;TGRzyYu6q_)uB z&X#I$1c5V)?+cc=E*I~#E=3BL(^)f*V{jdDo>opZ#NlT|on@&>_=d&N`^Z%}W7eBW z`f@}HK1GBq8aQh<A_*wf5Z^jB&n~ro3_bAQs+_RI*hibg`9P$noj*-h`X9wEDlYtv zSxRImsZQ}aPEc@L?!e8!zj7n*1As!)uuDH=%^~lBTJQw@;SCji1~k2|fd29WhA#Y} zP*a`Ks{S=%-4qJ#SM`GDiJYlsSN@}2fjis6X%`&fRoCI%qRafx;xdg*A{^{OYCS8` zYO}OkfI^?2rBuQN{FTPY=L|qd^@|kaSO-tRn(*|oOwLinmO%_fouJ=$_#bf=y)<Oo z!sxt09_iB$1)JhKwtSA*24s=hLv8haP1r&FgE2S-X`uJ@5ZI^sp$4~Pv*5Lmv+3j# z?S`^lK&WuX^avql;1$me!Z=K#{S#Z`r1EwdxHsc69>%LAh~~(IHZTaKA@_AVrb5-O zt|H0utv+n>d3G<?Txz+G_)y;DC$8FlP!i8@feiR3ibOeB29H3ukBFZT;l<u4YJrwv z&>k@Y1abAQUWp$ujFY}`{;P%lAAGxE!-j+)QN3cYgI0;)%waz$pIO+w&`jAV<C{Hw z7CK@latMeoJF>!%i$OiOhzvS9Ev%XWw2;>g=(Kt^Bzo7X*k9=vQ@8cbYy===1_8Ei zQT%#Ci%_E5uky8=$M^(t#g4C**|y-O5u5BvCWoKQ1lt(Tf1?B|?eL9JL#2LD#FF!s z2w`UKWk$r(IC!O9XofVlT_4J7x3#QjY@{?f1b>wgE+MnJr=@0Irz)Jjwd^3%xPtkE z*jW;?5EAJlgMw~kAhO^3n2m^C!C|rxZu5b@6MDc`tICP;pRk*d7lj$n*TL@dUhfc^ z%YpX@Uju%ePMS-c9p?aW`*<E-q~i5Z18lg9pKq>nGvaWq*_@~U9G|yg>Z)s|N&5X> zfux~`Y~w75e27D+c&4$eqqul@c%5dEh(j!hvQkWVwi2bWN#Yh3QlmU(X60sw$+AqH zW{25^E6f*NOc%*h`2W@Z$0kp$2Hc$FyIy<G?iH(cfBfwY_;}x1z4+UC^5zO^<~_;x z6*|d(&=VfJNhP+wsc@AN`T3?yb~pe(c3bHs*QEYTTQiwC7$eY*S>KVNL@^Z6`?tEj z<4-iIG~kSomWy*q`j~RuRfRS=%1BzOfs#T^S~-&nV<0&y^46|@iY5%gn7In5Ow6Be zIw5hk@<6Dcd5iI;*Jk&_4W(hY<W!GLjjl&_PN4E0s?9;x;9v75Ywl2tNAL6Brr%qV z(R>=L2~@c?0!OWg@bv0JN8Z3Cd++-F#u&H9ncXd8B$sxEtUvo#J^Di<@?;it(KzQE zP$=sjP6YOy-F|WDff9<zv^TUbyg9j_o~6|I5PKF?kxab`m+9Ze5Oz>S>74c&nyf5x zTlr>nh%6aLcqu|odQNRErI=S2rraN0^2|DkzU8+4vSbpfB&T~%y!6AYm7`g=tsom@ z<x<ah#=kO;v+2=uQ+7k&R?aU|E!R?zs1TULK?tjodx2aZ#OLFTWIRH0S>pOa2qWCY zx)nI3^kLGHIZY)?CpPo4knPakQz@<lPHEBRxs1$q>7_T4r#GrN7-u;#iGCyV&zIF5 zS@C_*Gk;?+z9&tA@jpb9BOW+9atY+kYwzZz-MLPaJ(#M~4fh!MW@#vlB}(@Te~&r> z(KE7;spDSF`)D-KoxW3kzkD^GB>Kz^xNPO59}_imG2)%y9A_d^s|n?9GZOHNQ+m$% z(UG7+m{VU+FZhUO&-bUoUD3WFMXh4FQ`e6W1??iY(128f3O-s{!G7(qDS-^xkuH;7 zVmkrS&Gvau3+FBh=IEG`un$zek)M<K!4TxSwsx`(b7J7%DP<}Oo%SRvU<b-nTWo9V z?u=S2XT~#VmKO=y_MD3FiL354IAXw)F4vtD&#~xv*S2Y@GwE(qFKg1iLHcYZEHyaE z6xt+uw&=5XNv5*o)lEhh)gn3YSRty9AMD^IiSp$kamHi~4;AyAxk+O^P%$TQwo$cn z&^Re%3Z8ho(H1X35A>2Eb&tpeD>tXc`_8nqta1s^sKNC1V1ZD^l-=o=%rU!_8IFQl ziXORvvK|Ow3K$dY9<RRewjG1`;>MfmH25!Wt1kMzFWgLskcN$(1q#(8<X6o(v`W}@ z$>mCMT3FH*C1@%!5UsAM*kK-XN#yWQ*P7(;=9|otm^9B4nCB|w@RzyO5}0&R>E!T) zPadzTG!#;J5=QeIql!hWRK-98M*`t6g}D?^@9p!s>gj3ddDo#_mfKlX#pSF+xrlcz zy0TRay0TG9`%r<{H)7B-YF_-G^oIn2numSwFQ7Rz=E0cCg;&Z{#Y#6NDiXnr21|uX zicOfxMs`xwMbQda2v?_Slyp9Bu4vV#oDPx&iPzX%1&O|&KO@DO@};(X;HTBe;ju<& zLTlJoI?|FD+YcPdfi8~XUoLMeqQhc^ucB1N^O2kF-QGXdNAcU)o~LM+W-udj>LoB` zvO%9zDXlSFbF@+!&(_O47XN=Mx_D&?bZBAt#A)R4E#BlBiX{$$lD?i+Ep-*jCHX73 zPmfHEs89OFT{h8cf?5(4tUJ2ijar`_TC2AW%0ssL?A+vKr-16cRtF>$(6<R$6TaHT z$>6Dk?C4;`*^~aiqr8z&2>!RCJ5-WyrS|`A1ue9N-}e}asc-WCGY8cBKMT~f-(?iL zv`syYY?xz-`<t+<+p7Geq)DU}hLS#M`+s=4%CI(`uZz2Df#UAPAy|Oo6n8H!#oY-~ zptx%w6bUW`ife%)#ogWAiWc7d{vX~Co1NL+XZFeL-8<)=yE8|=By^fWIRmNo`E#pD z!F)sw7U}0XJC-U=E|2!(eGxh_h5!Q$wL+tKj|H@SDwSA#6OJn(f5)^8KfQ~#`_#<Q z=BtZn_dIcT(X0UPh2!*!Qd%?K!Pqlp&+k873vNapVC$;M;8gqs2K-d-m9@zKs;d1f ze;NHkpsF3QVi%u@J$W>pragthfkLWc&4aGxK|^Ee_QUU^uV~X=x6BkpkD7keQzf%Q z6j6Q0s%{%XYqeZg$N<U|Wp3Qzl1zTj!SYFyi1~Nh5-m8xI$53)9P=KN<z}aEdK28! z5RaC{_wo}pUmh(~GWRf#sXW%ow!~-_J==Cr7S@x6s9KI|=&emAx#LDq^F$L834N#| z=f+TpD`JVRnAl}iEyLR}p<3t0YnY^NZA@YOj^OS26--Yh(sg7u+|qyxVpE7#MpkjL zR@3HrKkIn)Eb07~HfNaU@<Ux?{ge^<Rao1O2`Q#<0TK7%(JZ|Lws^!$8QS!b;dg%C zufT{)bG+whJ2ABBa_uSr`<>w=rspz^?Uayj^%3%%8=j~v*E_^qa{ZsKpMcPJ_oe@Q zhoms9B-kE=iN8UPErz0xKlhXh`e`B^%^sjEOdq9enqHHiEmQoshtE_UO^Fl$NM8IH z9d-3rL~8c+aom@h6ROV)*vp>@rvvE3j5X<$zJ;UoIwgVM4UWP$lTr`{0tV1+(L9xi za5(@a7&XUWh_a7%qpNdLqE_;vzzRsKdC^e@iW#O1jU938LqkZNE<^w{&Z1=}YA^lj z^+r)uUfpciMJqHt?I@XvIQ$G1)G}8RR)EaV`Rumc?S;o4L`!i#ROA*50X;en_GfJt zMt}cH8A|_UkO}Fbs@DMPR#M`v$l`9)dMDJB%!E#xhT#;ApNX;^HV$KxOxYh8KN^Dk z5BAQV_6`oU>AWYW?Uewk%POE1i{IByOCefUJ87FJ1w~pZhqi}l93;uzfk_DVVYPq& zwzhXXIWnc+8h0Yf$4;dro3h21-KKEAB{wQhF8cMH>9L{Q$^<*`1yrdy+2CHou9*^V z%06$7x4`EH|BR7sTIrBl-dFcYKJB5`ED-O73O3mOowaGBCSg{#sP7O-Vh5aQ1>V6~ zdMMXlcVm#76RM8UDG>kAYr%)ibhTc0&Pp6<g_hp9l4}Oug@j22%d8v>xKp>aIe0u? zEPe2DX%ULBdz#STGiAzgFLI99$}fnpJ<=v+6^B!C!BO+GCXht6S3boql!~9l|CFo> zKShMNJ|_-cIriYsCv_IhcS=tDLNu|v557)0oMXu`Zd!SQ4cp+$gv)Cwj4uR%%iEpG zexJ%@v{r9JeKR+rC7+G<xVZF$oqlRfp%rM2eezdctTfE`Uu`we<V-Z~8fDHMg#wqt zr(NKP(Z)XDSyJ1k@PUGUv>M7n9ZyB>zIb9M`j0Z@o6s!;w=4ib))t@P!MZFG0`B$K z`vwl%IyWWYRo})_Uq!1C_;}?*l<Pe5*0#VPZZUbME}2yl&toE|vYD01f2T=-s;$VS zU&U*P+eCF)q$O?gb!4bBYYXTnDxL>9_<{<`+)^lNHv;0so}c;c-sXo4!67oAbp}Qf zh%+agf<8&|<IrB=G`GLm!QPJdZXOL8s-4btS%ACr?F6#Eo|6jq9#;xbq=l3^uWEUH zO07SY;11!L_>j_ExQd^;I_?Kqtt~6GC?w?$cQ)};Yuk7(s3y3<{VqboX2kWxIfj5g zh+Ol|pk_jM;$G2dsMm{S?(V#E@xOk3PizFSFKgA~m@C1IPe}I|B*N1(sfq1M`x-ZF z(Ue?)?4w2Zt#F$2n}BD9zb9-S^zyHF<+XaJuN;(V4T^U9&lEX(Rs;`49{sAsNY9hd zJ51b<|4h~Ns$K`%W~h(du+GHY9ngEZ9v348!Ga$Z&qD93WOKAJv@9rM{n6S2*SLu* z-@2Tw1T>*Kx9&FRy*KWV1c*OLo9^sPQq9nb=C`?Bf)<CvcnG;)`|xGo8fQWJt_$_2 zAayaSBTq&}laxR@>Bz4|v2$t3ZFeTpYZqLFR0+<4%|pNG&-N7mzB=UJy*eC&Umcr= zNzVTwt+_|YtsGnsHd9nX2adjKW~a@a6DWH+sX04m=x_j(#34DW9r9dnKIr1bY$6aS zHnSh6s<Up>Awd-tvrt2J@9^01TUvCHJX>n+QsBm}jSj1v{FtM(6);hn>5;`MCG!k+ z>?c<thIV3;vR$Y+Ll}ROs%yX$hPZzXWX55u4D<w>2(Ap(`QCwfPG}@hLX9%@RyF5! z(?KOFNquw&VDxW+P2Gf~@a8%6kADHowWgxp(R!{k^nnZ~cC=!S=S|db+J3Q3Q3jyT znMF|q=Bq|skfPuQ+#lUIjAX7#7U2~2J0k#M>|+u|96l(oQ_R9;^!XzheSa<^_~*-_ zK^U|fupA)fTl;$5;n&>fbF|bT<)c|jr%CVy$8*xj)7{%2_WJ{jeeEqcw6X*dRVWWq zCqVTqqS%dhP7-R9k`SX>{bR$9>Q_mzTkY)1ms?1_`^goyXQR5!G4DE{DR%Adda#$E z7dRVJkcv^Y=Siu>>`GGob;DRNDB8ZmD76Frft<3~)^ie5x>n`gk{H{EBi<z7q~gSx zIb%KgOZ&!$Qb2pCoDATCcZ$6pu^>Nv_cr>&ZU!^5C64#sBIlo^H>_UpB&Ak>O!fUc zwjw4<)>o{L{?+YOi;nHqRiq9slh~~)ot3~OFZna<rz?$8YHI7YtBm^J@&Vz&>S;%) zvP(=Ce(I$wKH0%YY2_KAG>)ie*hU>jJx0k*XeGIv#sVCfH!-(Yb{DwMH`@Dibo$k! zA~Hg82Y1x_2T>gezWL|7_FIio@dw6<_ol!6f{QZm54^q>EHuPEaef#RU^&P=%Xf)s zT7aSNCC>z6LfqY?tGX|Yp69xz<S0T>%#;ij@{jH`<2$sdG3Nq}DaEODKco)QokiKc zA8a}gm)@*D7vmxe5okQ0r*@GR+keM>XK4Rp#mncd(8YkEd3?rCkzs+s!M@nuh4p@Q z)1llCJtIsgCfCoE*}qVN$9pa{WZhL@?gVb(P!D^3Wj6lWbUOjDCZMQ=t_{<)Yh$Cf zhqo5Kx<t@T@xcT#GlA8O$!f=OWPvIIUMD&`Nc&9I@;LQU$)?49FzT0#24%dTGap?s z!`Ae0@a>;<NcyDW=(iv^Di$tem>!=aY5-ySWIgIv(fTCf@J<dsPCtQMPAr6)k5XXL zN`D~e6?u8b4}o(Uk<MjFJ?7qXT&zXW$GUnwdYN(dGRBbNq}gzd$F+8mVWSdNvl_eV zz`-k^hL*>Tzqr7w8vFDg8^_UlWfMqz-H>8&r@9FgUj!=<!U}hK)!1JSXOF8<A@LhK ze}sPVWWS2-=hC_>Cgt&!VN3sYpP6&V821JDaq03MNz$~+OmUG$lY0c5HF>tt22xm2 z75DUuNgiM|riZK{eqUVhduz|vntACj_4v9t_Hf<ne}TK?;kN!B@!@uZ#;uE?EN&!a zOo!CADE+F*DzI{haVeTKmx*QCz4^^dnK_38$K#qj`z;c2`VNlYTj9ds;YQy#2_edO z#*wA=s^$phMM+;jvJ%%PmM5uB#N<f8v}-_WOVxPgmAgNEB?wdwF!&1_nR7(--mQNT z*0Tee;)v1crmKG((Y_V?#NG+kOq>_vR$RltRMPTDJI8p;DBuh%j&;nlm59R`euIoq zBdlrIo-Z^$?UdQwbx-^)00LG9sE5zow`120#I{@e$k+3ZIsb5%%%BV$F#W9%YGh;L zH2r0tt!cW?nQPi^O#a!WoxGzsR-Rg8dOI7vLpva8mrOAQ0xVsumx3A(K!N$22Yv=N zHAF+Og&r)rZ=y%^hn2W3*B8ZT6-`uW6)`{7Eo<HGYpzInk7Npf6-PRqr$m0n1S<sK zLsECTs#tw?1p|HLSdc++k#aj<LJQZvZywI(Gw84aLppxtCBF5}*rV!5rxZgH3kMk{ z(h-oGV^y4OOKG-Bfts#`4-Tkc&D9R)J-<6DxU}9>y4nL98=!T8F%y>GHU{H(ic2+u zYQCP@<E9Q8yXO;x1=<o$WLK~@03QSR$PWM;A6{sJ9)cQ-Xs1LzN2-$A)JwlyEmbES zHusIV>=Cd3;t5AgXL)o^82_&Bi5h@!Q!~sty<oL%+y#Ft=t1$9Dd`ihQYz66%hSN4 z*6Dy>eejZz3gP;Rta^7f*Uz0DI<H$>FHfJY4sE0(BJEM|qUXJVkHG+!z+L}-)kNFd zmJ%U@o3t~%H~QV+8sp+_gMOcODcaM9k3Rmb!%bsOf~E_<%p3xfNN*JseC#HR{loQe zm4&NOqr3Xu-Ua&Yx9{prU+uK<9kvu$%&>L|I8H2jCq!h+7!eB{G$ycR>sAx|TTNJO zEi^>+F5k7{%TLrAG7IvuANs|%Y;~I4J6wLa4qWxbmug7=bbi2ZYVRzzxU1ua4|c}v z#%%6fHm!6F;3V$R*&>z3y)Rh6bQq!{9w4ZfPjnE{I~^=K<{*6=yzL{^)NA+}HvQ?+ zPe6+WN$g^e?ji^qm30@58SF_w7M#zUx3m9);rHnCjq@Hl*XW11x|dLkNB99=cqQww zk)y0@3OAKDIVf(2KPPJ7nmdqa_)|AmVP)oH>S2nX5<>_<cUL=K3{R~)hS#3&Ty8F8 zo=>cHp~ClMpn<j;@45T1kxxq4q*Q}EGAd#sZ1Y!NNGO4ZFSuAJ+?1JAou&0Jlg9U% z+d&aF+PWdvFyH1B8mDPg{9+LjX082H|DRb=19S<l%-i<M<?jv#0;Ni9unO_c>K4B! zL4%t^%7Y$hki+PRl~jcLd{wR2bhbolh?wNWGI1k4+ls0*Xk=RwCzrU3wW@#Uo|I?~ zVY?6*nHae(vwL?>9VKl}A4TgAN<*D}LiT^>t<HuMiLo<yep`@bp7zz%>oaWM)e+aY zGbOU0w%4B(^c#2mcqY<qIdBrjQ9n~$O^e=FiJDS06PlaKS#yD*#5WbMpMR)x;PK=z zayRG8hcf4W&vXn{Z9<ou(p=4nlJzmAZy3%+W=ysAFQ4Ra85m)7u}{6<PFw8_7`5y` z0c=+b2V@Xw^^4Akxnxf?021!|K5R?j|Ngi6?SOyB55P&3A0)`Y*8MPX(OW(T3sK5V zT#r0852v?_U|HjEt*Wf(gpiMZwCsg{h`yN@HnSW(x^u@)R9Z`&51MD2m|C%QtIsW& zC_{OYJpliV8(l{pxwguq-GhNhUfv6u-WSoald#i%MC+sZ+?TM=E0wF~lr!`746vp# zk6hD-3-wLPv<Y=$=#2LmO$3={Jl16UM-b@1V%f#)>M}SBM;&VRSi|rMC$`U0E-VmK zE(V&>;l#tPZ+&Vp?1ftSb`;*4%+%I0SzYq7w~2Is$Pk)&>wmzSd0sgov5*<l*IT&D zxaR)KtcDjAHj#9r1|w(3vNcM4DZ>Xrrm!7h+17=6xyM$S4-=K*7r~U$*<TdW_I2th z?Bk_(D(oaZ+Zap1M?@!sE7vfzto_Y_f$+)#kfR!tsF41#b~u1=!ah2gOM*=bDip({ z0NsnZE?`F<Ay|{me|Ub=o|d8$M3Yrw9T#|;%ETQUwi1^O4zhH%eMp(v<Pa`9N6BHL zd14Yj{g^$)s>T1R!Yvv3WO_HE!pfGbWVG~0PFQcz_-M~3o{MZ^GApws_q%$a#Jutp z1-`a&`SQrgU4(lOy#Unl$KQDI2~!WQ{i^JE6U8He@lW+71*%#%dy=LYDzT9enAJX@ zQc2e`8-MuHOCMb63twF|Cq2#Z7wYo6Tn)*7?2r+^SfFTY8$X$0A#R!<zp6@z@{v<M z%!Tx5rd+ui1scMZewAYW2Kc%bLU};cJ9y=P9`WT{WckF2PTzl<=}|${HZqSDlrViN zsO*rjJU5T%ddXF@rDJqppbBq67V7m~zbv9Of)6z)#?)!o|C?!%LW*L`v-i$Gf}f8Y zw0ZWg2q0cr5F9ymFso$L1ZYyhX*=wY#k$un$1^fvb@_1Y0y*I%IWWHCR{zK7xn@Z} zY=nFCn%Z|CtAPtn>1T;K05)Ooyg{D5Q4TI*{jx7kFhtu87Q%#7zZ2_F$Pz9Jo3*~@ zSmxOXxEF5qi&P<COB<5d`jVmw6Vdj^cu)GW1L##0>J1d?{T{fce|zH37KiBE>&pS1 zV&_=PCZ(~c=a{va!1J3+|IJgpxO4u|x1@Q?JaOUjTWgqEGK(LTL*bB<TZ!y+0g8CM z8(U(gPl=|<e$!AB^7H^Y`{YmGslTiDH5F&?xIg2{>_lIFmV!!>j(<4xlw0$#El$O% z-C^9$QST`2wBZ-9>Uppb0<~r0a%Gf{9o7u%3{oc3fwyG?5;GHcSN&WttR!~@9%Ru| z)If1amM;r1!P=Z;dGxQ`!oG(7FA#WuD&p0)fVs0nXX<mmCF(@@YZKlK>kF-4I#CwA z^BI<lNc)!E&Vn;9b^37GP_naCua=<k0R>modl!c2+>kAq?>`S6#oDH)JC(2fqnszI zhdcmUjt649I(wHkl#bQoRqMmtV=FEn?WEo|Wd?<Fop&3NTFGSpnshYKY`j;r3Gx2j z%&tDYrQjma6x`dVOQBY$lWBTHl^(zlr{H|zxr$Mk>guPi0wwMfKmlVQWvW`kVxlwH zR*S&}R>kB3bD?p8y`!tUJsn6y7mjAxT0EDzTRh2mf~Y4!(E9tK(n}5bfL6$5BfY8a zR~1Y(vX9UfiW6lsY>77qb(6$zS~Lx{yF?OwyF>|?c8_$+SQB;_q$q#*m8JCfD3|}X zhfj&_mOT0$uq5UFI}+R80fz^cOv?SOzFxK;PVQi^IQhm}$iBq9^t`K+oXa<1AT^9r zyQyrrr|O|+pex-|jy?StO;LmUWJND+P5;N<_pvhu)j*fdQ#aq*AZC%7B1UxZrQ%O! zd!XjQsX;oQea0S_g&B}oC11mJ+DVZJ9Nu??GWscPe9R*)S3ITjH+$AW!nUV0lG@Px zN!#JQ``!CFukzKt&R>rCrb56o&)Mn}O{bq}bbGN*djM6|M8313YzMNKK0rCNqxgX@ zS*cLVresEb{b+7Q3pLUAnlV4`*eR2Kn>s~E;vx!X)PJwTEqehCYJFGPn{j`fkU-p6 zq?G9;q$g#XNh)`cE3E=$%`~}iog2nWUQkr4sZ}19nW7R$#=}QF>xZd<9c5^CdHL)$ zu~|B|cd%McyBqmuR1BSdFN<f4n!NFjy;PUh@k!$=n={_Wn)C6+S|JIF*E1}PJmi%K zV`Dmb@XDk6cEgE3>-LRBHN&;H{!gqaKc9bLf@xV1=`jQ5ned2W%t+;ToiDN{UDKWp z()U}sOU6I_6LD*;%B$tjB~d-e32>AT`Pq!$Pufp=I7k<^d?@<T7%8BUKl+UTVBLO> zA{hCeftolqEQG6!fVFTY+SP$~JDYRMCi37L9Uw-y#4`s^^%Il+;5Yq2rPj!kz9mF( z#H}CKSZadGwUyQS8=qg&aJa-Z8dKutb(#7jlj_q2n%hW2hr4|s3=m)-cfW(`eN0kf zQ*7a;{WU;WhFKG+U@CIKeY!gxL5-^PIUQ}<zR6QXs+<z<ixQ{2Fm~Z=g{(SM_cW8- zuWi_Uz!B5UpVqFiT>Qfl_p)~PEub(jC-17`6A`X*GkLyNsv}KJtldH<idGf-JVnka zF7c~K&-WRP(G`>!wHOpdsKlOA(ZuLH`AW(OQ8>a{9|zb!LMx7HB2vz+mjBd$MR?DE z@0wAm={D5qp+#N%e6QM$1d(p3>9=^fUezw1O<|QqMNfR;_x92ooI)ii*!dD!C%i+3 z8~2+_cVWcQEcvYJC&NzMPXXeS{z<tXDIi)hlN>e#7evk6U~gn=o{MV&14|=!<!}U} z2m^o<u@4{kC;GXd{UWCgMq`$Q)BJz=n`OaO2JPIA|Igp}#G1!uy8K&oTdlU!X7T*y z{^g#?@H4iaz9q}Y77SVZ{By$^BP*;bX<3It-iquTUHxCg^A9XUZphsX^X`#NU!_Zj z5W(&pV(N$D(m<&H#-A8=6GB?zMb}R&oZH^9#_g@rNu#GEkBgjfX#-y?;;vIBP3uBA z<U>~3luKo(n@5t5l}fi+C=Kbi4fw@qx-$Cg+Vnp2{|k<s+U@w;XLrqw)s?1gQe~=? zLr?F{Y5iG1{p`<6L3LHxTO>s>c7Q`>Lg)}1m>_VJ#W+o)1$vpRc1&8FoZ>jAP#i4- zwIY-67G(YxnecaPh<-47b<(~*lLDh2V7i_A3Eu-dv2`%MwV&rnq}r(8D>ln{N@cCd z*oSk*L{#g(oA16DkC|7I*}eJb9KE!Mj_-y?Q#F^(Rmo>IoZ-m4P35b&LYg;&^9LW! zT_)zpQbJyi{A%jGKjyt&wVbyu_b)yQd>dO0m0eo-rnVb@Dag1)?v3&!uta<t!h zOpBXYWB(G0poHhXS2ltnDN{+BM~gF<x$lEd(Ax_3j>!8K$Y3g?oOafkE9$60FG1iU z7o;DZu~SZHKD;@`dimD3Ej}ju@gKeQ8m=Li5k*iV8}`I3yx!)gGV6pXq-J<gV_kIc z@~Sy9_^;^sbZ;iE=4SNf%u(647DVkby=j2gg=0*ZXjaDJ0t-w)XCs_<O*HQsDIkF% zYb<p?#j`2Kk^<3Mjbmu+Bd@6&lrM~CKV<mc;|FArf@YB^+C>T&e~wR-#@CxvoD_C} z8hJ;GTF>Ass+Sp{9nNl}v&^y~c`l!zvoxx~>U)3I6<gPgPO*^Lc0JuXJslGHzj_$9 z$tjM-GDaG^)qAqtab-x)!Hno%eyH^Ch)~rc*na9<wU7<~&M877dJ?6D%pliWe%>V{ z%DQc2A==*WidJQ-l$F!Pj9f^R&X{X*)?GmF1^lmoi`o16e}&(Xp{n&BX`#{v7AL~s znt-qq-demCgTKaKG!E}9-gv<dV(^g?j7S9*3q`+EF)s`~EKNxYN@g0{Z7(c)!^hw2 zj7+%e^!kq{oOQ|eKbE%W14KM_S5toOimR|vFX3BodYluYHgpn%aOuvogpqc9_vLz5 ze*N#gkQC>UL{{|6nF}HAz7jpYb~cy%()4?4O^-C|F%5KWV6Bo>t}4ZTboa1YiA1{R zhm~j51|P+fU3t%`s>4R>gqNF-pz5%VZ!_?puR{OQPaZzu3v)bJwFpo9j_WBxdGAGY z!9pcn+r=LnnOjX;ShDpq4GxM!%?c><iR#S)JA9%Fu&$yvj)x^2hJ1%fMgS#rDmnC- z9llOKBMgr|4R;;sXrU9^RC#*Jj=85k(k_x@3%BM(6)OZDwkeqYsQ;i=J}xg|>G4J* zz$he<pz4B$X^v@?XV5=_v6dO-$yc=L)|{RGKC{_gSV#2Zv8iRN&cDQko@ilf{tw^B z+t_kt+tq_&Nu#16E;rv>5VxHRQy*}+$PtlWS^Mk^i~Rv%&SiQZB-~Ek8dVJH)z558 zdf)knA10k(H(RWv;1KxOm0ESzxG$eI$?A%LyRB@1F&ajm%Uk<Rg1)Y#2(YeUvqa8& z`a&FUQ>GjHhy@__=gT5uBM74tX=f7mM;SmuZ}l0pH<=8^NFM&eQ=dFWH2)66+G4&i zj+KZE<I&<9ZGp8zbuKH<MDx$A0pozn?kjgW8J--X87H4zt59u73>AK=s+1bAP=OYr zRaHC8!}CjyxukATJsOXZsFwrQh?WJH<G24BDTlBW(!{p@?Y?m@?Tx{I9zAMY#?GkD zXm36G%NeM(ErmfE<Fx8oVf9_<QQRx~kchZYRxF;SJ|taL1Ah=PrC4fffa4H0LvI?X zK3TYTbfbYS<h!rudA?37Ap*GBR%iVWLWwfT{KBMtr$V$UMZZcArz$<2Fx{HO<k!|r zKD;5qbt;xS>G~L5Xmf_@b3`BQqqPexamPs1wu@s63mT1Ko2ly&KTFGP_M>&57t)#7 z8f}>8Q`Mr#n?dW2$n4UrZyh11=GjV))m8Rz=BT25xK*(KAF5wc8BgX-$}ZlW$LCbl zov%qOY`+u+{EVMB%nlyE2PBM~en->f;UvL{I`mJBp)pZSxfK5xtOSsC#e*u}lUXM5 z>Mzlo+9#DTT7<W!P=zzd)cp+DdlECCATs5byU-dNjwMWTiUwHBeKCHE`>}?UrzTuM z5+lhXgg{s@z95Tu80?q5imZYlxiiM=!7orv9t&n+Y*hZLbCo0^5SE%!Tao{;Vl|+d z#pQM@;c=WhZAK=SxMRpHdbO#PO_|fAfa0_|yYy6=aXc6gu6FstD(HOvCCI}ia?bHP z;*^jqt$lMejmeTdesOFJUUh7Zbvqi4e-~2cQX1!nmYKjA*|Bz6yC&cGK?;C8D2`YY zFy<4!Zg#%1^-bqv%)d(sOSpHqyi+P6h(m_G-)H2<&}{b@+bRCIcF_VD0kSQmhDuQ1 zsjEpvPYP_>_3B}FRiU|0$wc5_Cni~s`{$2upP(yJMFNgT<eZ#fR?hD;wD**K`#Ir6 z!W_}p;ZfFNc*v$;Q>=>SjK~G?_Vu1m-Ew|cEzEZ{wrIGe_*Ze?XA%dBu76M0xA{I8 z|IMolU<@YM-9Vq;Pz*Vh&Xf+}M)D-bYAP@X?2}V@V8^z8{XMI8jN&RmuQF4<#P_LC z5aw4iBk=)Xelr_;Ovjc;fttupY1rBo>cyPC15LQQpOa_t^ST(r<U1EUP2urRM9)`# zCf>Dzx<8oR=zw0bqNSmq_(o!g`h6JYXBE~$wI~MC7v7CD(akg&ih$TjDf6;#4Qn9O z4Kw?sH1pY!WhIV{vyKC|rsDGbC3<qQbo#rj{$uVKHqNnk$jy5JUJY=EqvFHTAXTmX zYgA4X8L0L70y()OjwX#B-X1FJWfctujs$yr79;eGXsTSABkH@BHIUf2ByQMDh&!F! z0e)N~SqlL62<M)(Uz{6~P&gP33tDR@ahd$+Js%UXFkE8!`GF$!c~J^uKDM%W#+$Ry zJQIc%E|B8pbx?jN?Uu1Yx=gR%gS}y)PQM;={)`!zrFf=n^Z1K@qR$hHN|Cx)f>uGR za0K1UH0Q~agwW-MO~&}w&3qDN<wGK>59H|?HB*|kKkPMziSaY%UsiE=G)p5zy0Md+ z$&vg1q}h8X?$;fyNva-MC}M+oBWVHYQSVqa^LCu`1U%V<pfM8&l6WNCo454%#abyX zD1Z{Qouzy?Zkc|6qv$Nj;gD^or!AEW;pqq-z;JVn=Q2Z!=XZN`$FRlNpI=qe6WXO1 zcFjwQHcV?o^tpF_#2rS<0y;IT55*UB;Ug3B(jdU>A>0!6J^j)8BSIbah`>nOImgp% zs?o|9qHOGi^klvr*=mB+0#>zSaqaRijvqB<%8fYweV-|ank-rH7NROvR~w3>B2nwh z?6<sOe0&Nj4byk3vq^=*aMZ%PHZSQy)#Ga~CpSm|p8b^lRa~RO=RyU?!v9Wt8G5oZ z4=~Og&Bn2d;;7c@YtOOk2~@}uGfU434R;)28E#(*OsUNrO~%RNb8b9zsKXN6WEkze z_B;h4oYyhOs&Onf^zRCY{0q|9KdQ*ANY7=)h{@bq`I$B{0W^N`?Mzyh>h~AUWRS@z z7HW#sv5i4%rsrgpaVs2zR=j${=QNQ`a@N0nDtK6?xt4*>?Q4BfUa%|w8@T<Bn@zQ~ z*8%`0F$RDMjr~VSSlO~w>uGPlSI+x+SoFIPQsWK>868`q9$A{V(po$|uSAE`z0<Ca z{s?7q<D0av-JC98`%QEOxOE3!@$|!5@)51@=LwPT$1e1isp&7iQ>Q&X3Gdrd`2wuU zF1<ojMgLw2ouTV3nMvI)RGyehhsD@)(#<TJK?_w(5Q!+A7G}siJ81=R@AasD6awIm z5Uqg7&=bJfs5*+;F#WyO*o4^7lbq1d627UgHc7Rc*sqvdo-yK^bU-dkqZnJ`ta?*f zb&@KXMczl|r+4!*3W^RPv)O!GUoG76#+=z}WCHV0SEo5jcuk#fDh_3WE$m+#qO98s zGiQ}GhfBLU1?l#cEv^offBYpCNhZXd6&-d_Rgt0LA&@~0*SH`mwvn(`CDhu=MCvDB zC2*n9P=S(Pg@zo_AUll73sYL$$<u<ruWcFv>PhVt!<3n?USX-m?exk8T1MY*k;>xb z3$*&|CQ3G*Xu@{H65z@(+HqAHA%^~8)Y9><qBFLg;*F|O`q2&iV*N!8_%$I4Geqa< z!l+nqeu;K|5`6}V4o`4>XFycfcf!bdC{G|hmBgEIgzz3bSNwN2{&_y=Em+3zH3$n? zR0r|!J3UCQgjrUw!<a3wRgA8qck!6v6;L!m{O027*s};;K(in7xb={P-QVgpKtc7_ ztc*Nh%lQ?aEnyw99nv!O!Zjb7eCbzV4ImaC>M5Kz!dQ>9xmv~i#{Cl>ltLKAI8eM& zzAboHYcIC%B*~lDmB`)`(WGt$TU(O0&V(+D$rZfBE~jUNkcLRyqiar4hq&0Pa034L zKs1S(_c;)w0C^lfya(AldRXLw&K14o&n^)aat)kioZ8k&kFaa%6{{HfDncn)L7z`_ zuuL@JE6Nzu6$uZ$|AR!NB}kYi`HD3Ui33R!c7Z(*P?rU(qI1CifK^9B-<u=vXbI!$ zqZ7d{)<cX0qVF8o&`2bqRw3!aSMoLH^+f_TQ2dI!e4fQ$tfFVo^JqHo7ut~Sk&<vY z489An|CnR~>26}VlDvZ(M{I6rG`%ECBTT}<f+qzzPT2XK^4|6U36hYl5JAllN(5Hm z^omSgT(jf9s|BqI*2$#86_H5R5Ch<^6<bs0t1x!`F1(sdmcXd}3u)g8Q8yDHMIEm2 zy((wH$A=-MRT-d=D^^QON>liKgz#^WDTG=W6ASKSBldZ}(=c)ReK53VQ3*5~2wL~S z^sFLiF$fjJZmfSG$~UC1t5Ue}!0W<^LmYNAfKB@S?=Qne0`XHx>5bvF5l-gU+rdd^ z#xZS8ZB)nj=ayHjfjc7exb%VTach}qdR;UhIHvS#_J~aHzn7Ap$pygif;h}s>)tSF z$7yNWWKT+H^Kdv>n=`|Ojb7Wa@^)Rez<2V{Mfp$MCD>?6d{k93u_;uaoSBI?N6 zh`oAKE^zh0k;>PrilqBd;=^B|#a;-^>(twMNQM$Lle(O)yE}GzK#m$#=jN9DERtk3 zgr%kvknd>F!`UXI#h+Xxh70R|$PZpX@ubm5G~8gt8B#nd1TF;n9&7Vk<$Gt+ok{e@ ztu8pFuDCYD`H<{2pG|6bwqg}Z3jBPyb2w1Y=_6c#rP=g?{O2EfPDeU49XMr(g7BO@ zR7}(|4**xhEUQ3_4TREA(KzY{jAPPh6pQY@C-#V)P+yvuE7lG?1(fM`1${?7bTlvv z>_F1T*oB!;CSq%k(je4TLLH8XM<Oy7qzMVTTA=TMUqqXQ)lWd5fb=_BzU-4or{;ke zLWu1kU32cb#9<K^Nmn@G{#~MTI2=S1m}M8i9(CRo>ndg*+*9aG4;j-zM?;Uurq~BG zEFSUkb~IxIE<TY+c~E7K*I@UJPH_O96VV%HVw2;m!R0vo0jMziOWwCj*-e5EBM%L0 z)K_Nm0dOSn>|NvejwZC{rj2lQ6n5~2pw6By7amN_gF&Ck=DTewQFIfUyJtJ0jRk+9 zw!(X-#?LfwD>)nCAwQX4-~Yp%M2$nxdo^AZhDS1|k6E&pCuas}0oTnSpAfKnNX!?^ z>YmB($18$v|H`Ks;nr;>b-6g=b3MHNxu!MkV;zHD`cgk3n4fYBgaoiWUDC7{(6Woh zzP>B#_%m3T@bKab_tt7*;aNXbM4hN>yA4mPg<7pvB<bW(O@A;WS#Kp@)dA(6sgzAW zQ%Ur8?H>*q<`0qKle-mn;FgqnaYR-{w1rzn_oRB4;Zh?9s+6h^>_MNoI+SrpzqWKZ z7Le?$t;yU_D_Zzjts;p^W{Oh<r;AV-ItO>=N$WGd2V|V2(>pE;pFduMW7<oRG%O-5 zj&uVO;UV@9H<=9sON_A&(g`uR;q_I{gA7`2!ZJ}AriHMI1PXjBL#sU~Z6}P!BpLm7 zuO8pKO5ohv<*|0do>E4guiF$|JXf*!2erUYF=7`~$O);0TaS>PsdG@*L-v&%{sl%7 z@5Oy=_pVP|vwQw!aR>IIxY~_hht`elVA08rpU!WK5yU!vLt(+%l!C<yRC3T6T#!~J znOzLYMur&Hd)kBXD$^R;yq8dxXJuRmiK{Z_+O7S?e~_}&BjGJpEBaCD^xh?X`~@z| z3gziF=cCkLCvI&d{g{cw8yMe^H5cQ3g}@t(o#~Tn7+;D`%>P2Ivt4Yxi0|>*gCj`c zAAz(x%`_dNy>5StQqj18MsVJ6?I4^@6cL-C+1U#On9ShjdsnJ=2wy??N0GlPFBTxr z?ZwoHYk?3Tz+C4yV}vC&$vX0Idm-SM&^|%l_kj-g*T`R_4;)Uvl{5Ku63643G3`(c zLpysSH)h7uH+a@L54pd-5*(EpQnCe;ZReW_^O+8F`02_=sTh@%<1FJyVIJ9k{~_P7 zrr7S)<1eq`<?Pu%&fzr~jM?;yBk}6(?O@z7;JklZBniQIuv2XO{2+ZZe*4jtENJkP zxn<RSVb|GqcwfDkNW(CqDg?|ZX)$O<&DeFWgZc&Gr!4yKq4v<V9uQ0Qo1v%2LC&N8 z8$=<qgKkjVqBMl+skzu_-S=-EOk)Z7YJBrFFL@YZGV&8}_>3ff_=u5b?maxO^Caif z=o`##ggJ%lJ&1XbpSIw($Yyg-cw{?#Fi!IK{Z>Z{s*31sy7dp4uEis&v5fJx)-~~N zTQUFA0Wq3e1PS*a%^3RFUp6P)`eRTDs6W&eOc$U0oY9uwzbGp}{bvX<4MvfoB!bCC zFbjovi&f;h(O{n0AUhtUc_STn)95yGRy;Sj^&t}l@nkO(rOUE@nd6?kQdRD3K`NBL zMyJVsX+adhRQX4=sGK^{GXO02{HOCT>2hcRj$dgaa5uw+yAGE|%`0m0CNA(+BZm#! zOI@NCfd}&=m9Qkm5WJy*XsKfY{PuoK03^7}ncee@aXS9PTo5b!Z}LNLI4}^GLQ=yZ zDLxG;=pwD|VCNg$a(tk;-g~?nd%O5Jz>rAar%e)9iYy#r_5%At4`20@vt;TU5gN%F zxdIjmj!aalPPG%_9&dv({fdw4sG8vxu^j*|V6bwHdLgNok6ks+$vvyHY?-SbWIN%< zt3TlVUev8-sBy;mpn`GiZJAfBguI*Npy9ovNPMf&ZWg!;u~jvJZ_bU*Fi^IL?9k>c z;N1)UCYvk0;SlbJ$4{3`N6P(Hm@hPVtX?gY{={+<lZNuA9NMTlZWZ+2oe414y>c1i z5)$p(xk5%K_OmR!B5D2WR1q|Opy*D90>Q#aN4a?aKHP_uMptxp$d*N1vT~QCDs||D z%p9wQwOfaH{1sORMRxUv0=_(DKyfw0V=|+cx@%ChFZ7ekm*0rrO^?O`Z6{}yz57=d z8LKF@zeYdw8}&Zy=0u#b+A^(sje5%jFt!94zDd7<eIlZT)_9_GDe=~w{Fj0@{i!kW zD_eyN<`Jutu6V6Fyi`=VdF-tbI|(FqqxngAMTYHg%gL3?c{ITE88{!Mg>sI};O%lk zO`YW6G-xfvQvidUtpJ6nQgG28MW6%fN%k6G=os{=hlE7!sA8e-SUtDb-soP_k239E zJVD>WOQ;ie3(Oiji5)T5C43`0mvK63n-{mz0L(1+kCaozv2DQ>wTF21ePPG;w7}YT zGt&KrJpLv>g+FqTXrUfVIZ_!;r4!QWTJ8>uWJrgaDo*Ca@h*Lxn+kQcjJ^zO#9qXn zY!qLsjFO3<_+YpvgXw2ySSI<ABUzM`E(3j%9EAC2{lY<pa<+eN(0}<)&ERU|t^*nS z@3aD>yf2XVEmwply{Tyb4c^gHp{XbwRCCvzXb1oJH~Y73l)Jw_GWSX%-%ij`BZZ)~ zAjN$M5W??5UPUP-+W^J8(jY`5X>tTG;KE6jLvg5>QHBsQ`25iOtbvSm30Le4F5-2d zs}tD#Ap}25rV!Mn*Mm?k#94SJ;A%I`Sjd$Beagh3B>D;z#MdK|QGlLJZQXEe3vauf z6CFU_f~3MLs&vs<VmrD+!;bW=#vay@wWJ+{KuK517TUX)T~e|TE0UleX7JjEM?~X& z8!?w$5aLD5Q^copT1l8dYRh0G5F_dDM9#+G$cJ$@8PkpMNeUD$#G)R7O@OP+AZ}D} zgj&buT>I#bS-2Ry0>U-O-<<FY(vWmS9NJ9Ig3Jc;vbwLxa4~n|hWpjSNb_EBJ2Z`l zZ;c=3>B&e6evf_Z%7inJBz)BUslBeL-%(=MAOeI}A3NV6h)@RcLh`QK@taYFk>e0# zB<0(BSnzrvg)kHv2j?^B)dABKbA=75Aa@$7A4p6Ea2HG;&_9~WOMK=&I53nzeswY@ zM>Ae{v5VLN?M+sHezM=>MBoioF-K2AK1IZ-e~3gQg=Yk^s-vVKrUQx9vA>u<aVqS* zS5N40F@H3B!n|GS;WZaY!mN5h9(}WJETRCBUD%TMtiYe5Jh|BYTUtLziq8+pwTF^+ zNNn<dfHQ`3hHnOm_IyL1y^8o5g5QzrvvmM!PPwwgS4AR07>?_H$*hB~Lb?taKBm|b zGbdK>dGOP0Mq@!y3e{wq$aG8l!_FMh46o<BZE(pxD^Q2Nh;s@XsRYd>>y8)7<jwcq zrmmnNQNAZ2K*0l!Cjzj)cJU_RijGY3PVZjzg4dNY3(grKwWnS&IdSw2=BcosKAJxX z`o4hzQ1x+7QE=d)piv;fYZh#2`TUK5k`UF>jeE1Sb@)X9(tG$eeGyOIbsh++@c8bO zf+R^a;x@BEfMo~Lpqi90CCn}nMnj!a+tzUqr<%`ey0^HVeoNgW{OTF1HIQ)mcW$ly zp?arQ=0!Go<MyJIQuNheb2=pJ3gDdWU#+r^wd4#zUi?+FgVwjx!=H4V>U_d+gbfVA zdxyZaPVh9`{rMlF@2?)TbW~**p)Y1gU#$Vhi{Y21=G1isS0c6GEBaTNH1>2e-Xw%# z_}EY^-F(Ygq0M|OID8@73!$^%lqXe(X2I_1DUSnzIJLJo3d*g)dzI+L0V1@!Oc##` z#3FFQL#^~1;t)4SE3$;cfR>TusV@}rJExsAWcpiy$_=MG>+P|@13TzNeG5^W^0pw? zn@kRMAQ1atrmOz0=c{_X<fg*mse2PXXf<eB7r4AUIewc+8>ms5+B1zl^45E6_JOv) zfO_mfdGF2dsrGk9XRGo_`|f*Xp&fR${zjc6!5waNw2LiHxN7GO%tqw?>A%0KI*#7f z|AWosbn9luHjmtCZuXRcsIl_TzXeC$b{m5nF(;9}U`BuX{PT6q(}zcVc~q_oW5`mP z2)Lq(*hnT~99UvV8TIP}O4{=%cl~4YD&!KNfk#wBH(O87l4m7|I?$yvk+Ay9AK}n4 z&>vaKNvD(Idc=#Q%g{&FC=KKNjq6&q$aYArKeKE=t{^YvQ)0(0SD=7U5zdGVVci=3 zeG0%EF*8(H#1@jED*r{N=rPVi#mrB)*i-Xe!G645W@rwzW>i}g>l#?BK*6yoFO}u< z(R3j0SnG5Ezk6zjfcC>T9n>)$S*3h;MA4z$b^{8D{$=!Z+aL7%jP^M3PbIML7W0l7 z^hQL3b_EMkAU1g8BR0e0yJ=tD`=B`2tKNU`J(L0^Sd+)#ul%T&Z+Y?Q_7C2BgNLWN z9{mgdmahJ4LZnQ{I??oyCU(b(pD55ULCrFz<VQ9;itcIw?<MY!C<Q+72dSKKD~(%Q zM`hh~@-N7oN$CAV^qO3CtJ$s1i=4>74!H5PDoVI&h9jj+_9ovE8VMX9go+6LtnR7i zYwJGrn`QEnTlA{%HnTq}4_}vMC;dCSUX~!A9Vpnf+#-E5{34=okJtLQ$Uo2OX;wl{ zF_?R2Mq<EtSW*!4jb%qqbh&d4e-Ij2mFg~l0uhHa2E?s56u9+^6$6Iutm=0QY`x2z z_F<7v#?`P~xr#0BPUb{Pfp_*r5wBSqN_WAbX|WHMcCB`o!#Gbb&jRXX;NLR({n~~l zFUHXqypXV^l4l6;`ghQS9>_7yjI9>5tW3D0XZQ#S&}}NvDE0Y;e?e%sDwRvN6W*ug zXRq!n=zui-<3J1e_u}z7Sj+zy^7#1&^t3E|owF(}=s0*D_AyncckWEa#ZDYG{f1Fe zGlKgL<hmG#oZA=!qniQ>0++@0iwxD?#(N_#4zK_2mx3yG6=^*M^;nZl%rpCw!O~Z$ z-P&!!_Nc0n=(vD1RHd8gyrsKYDb+xNU$Qx}Ky-CMdEuf;tE*valhuE|f(Y3?4v_rL z=9RCPIOe2vQCCN6CaK2Mau?_0qxT2L3P~5`Mtjd3UR57kU>;NO!>dNb#0-E(IRwCf zG_i=sOcITG_!XSsic<GpALe9r;VD9$R3_BAl866&N#l7uu2Q#UucKUq&x4cuaf=v8 z+9waP)Es<74V3|+?r5!At3?4SLA_7`NrJ7C9s}xNgd{Wuo>%9HdqmVw@4*XT3!yN= zEl)7kG#F(q;`-ElVS#bOZBkoDm?AT&J&ek)cCt(TiJI@vIfeUja`dx>=!d~`Quj)= zi^do=)y4Kuc9r~SZ$G#!8eDz5f=3{kI(O$szdO1$j;ZCsPoJf0Lx(Af!3bm<?Dqx_ zws@syu?NK)tk*vL!MKljsWZzA*K-EMv>kC3;p+qE$O#BRr>`c|tm`o|L2F`|-Jq+Z zS7qesy`Zv$J+uROc90Hi6dl?XN25j^hYODjd562Z*vjHU6I7%BrZqNy);N5B85Q~~ zPEzV5!j-!=<-~3lA00qihG@9=Z+ve6!XB#h^Q$LfK(`soLhbFy{c4^W_ADF)*&9jc z@82?F7z#EQO*43=SXKz^pg<UhMlV-oZ;!m3^~(DqVjrwtC4Pp)1t)aK-sGE9il`jw z{8P0>Ke(XleVNsXbp>7*e&tRz3Y&fh<<&N(7feXZ`FJQut*ilI2o)n#+Wc3*ZTx(~ zrH(oN>n-UI$yaPN7kF|IV#8%F+1vX*($LtRqx-J_+t9DloYbh2#2x%Jl=@g!@bo=% z_YR$KeXRGJW;QP+XnOE-Jt&Zj=@QSRzq}c*?w2Esk~2{SIO}wS(8gMLOW-cY3u{K= z+T;>uBO=8@1mLcxpPW+?<@G;;63IFB6B8~?$2)xlEBH~6G3=?K=OK)L_@@vtbKZMl z`63u`5C2^9CvjuoLD5lz3C7DfR_{~GJ-nMlgjtD(TbUNtWV5XUh_mOX1?Pp#136xx z;A~8QE{qm4Mg0PwL-vN&X9C2X#8pYI`Z&rRMuk$tV}O)uOWQ%Dk5Ywz5jqE?RUf(i zDM5OCij)J&IN+D8CECN;MT9{;;OI@EDg~ZS>D_V9e-W`|k0J!O1-Vmn!m$&)N!f}T z^6lz(4+W|-oDfJ9NRrBKfa+@-^w8<Eb<g)o1M9)U16it<2R$-LvW0w%VtB+Jyrj#p z4BN1A6kUX%`=kRz7>#BwP={ZJd~DTGS(WGX&qCRZvRr{3Q6H-~tq2<ty!Qv^!3gBk z<83Zf2g4TNc$M1s9fL6WX|fP*U)0bJciM)>5}z$So?vEQ(oot>I#;rmk&(n}P0U&N z>b=(&r?`R}x)CfEI9(VEIvi_g8h%Lv!C%DShZoK2KnhWvhd%-3V2nwEE=A1YU_>!| z-<$d<Y~2$-+^$~_ifG*MKSIR@p$B^Cb^*cQSF>blcEbg4K^n0zE4pQO2=EnJk>>G7 zrqHHCMzg?F$h8wtnyDAbi--ZDgCMcgTHHmsQq)n~p#nm=m@edmuMi8z8ENWFZ)Si( zh@6_G2}|qTFEuYWArU_jjgjO+*@2K8aa%kb1bko{uH@i;2;KypIda`~cuqIYmIDL@ zMz_I>f{dus2%qjJa}k{R0;2FFP_*fsIb+p28h{MGm>^G@m6UsBKe`>Qyh>i~WQi9z zU#Y>wa#<r3{}YYi9^y^G$r~QATERj}xV;`fbKlg2OptIah!N;rJ+Fm2Kn;7JWT-8# zB*K2;ybp60no*OZU;V2gRs=H4j-u-yP4iP&i@Sy!41Gblt%u>{8-nSOn7f9$RLotN zH+b2Ys&Pu(u9nMlhY$?Gl7-z=PohH4CkH^6*4c(VQrd~C`vWzEVTqTM9&GdNq8!PA zQ-*G<>!QF1*3A+`vOBtbK-m|ZK<(Y8Q_I&Ei$Ry?EISJA1%ay9gt5L_87de^g&>x_ z3J)^J+Y$B%f2b$+^Ct_!QUCWNp;`V|wv%J`_#NDvm@9tPL(9Irj1Y<f9501{SxFGO zeiyQnbL`Ns&_CgTK^kh9&8GHn(h#)4m`=#$4(z^ywC7wj)Q{ZDBm3|YpaAqmbW`@7 zi{ApCa8V#dnn2MnE(_PA4VSgyK8P)>d&l~V5nbpl$ZOGRjuKZDp(N(d%vX7+{*sZ7 zi05#AlV-@L%QZXB2;OjyqMt+=KN-5z&th(XUf_EtA^=l8Bs4?Y)zW!$z~s2v1cK~Z z=f#%4N7*kDmrtP43^5OiCrk)I+4|t1S4##f<Z-62bj+psL2P2wD*y40>X9SgvPWYR z0j~km$$sJVT7PIe>jlMEYH|t4vm->;fvNu}aw!RYtlqpsU=B@HdE@O%1@0eweD9S; zYmB1}w-UMo+%Vbg>_KPRh;=2ct01#p`ZL(RX@Z==kC_dq3HL!&_(H<#H5&|nMy@{{ z7F=V^B#GHk64y=L;k}7BiO4Vg)0V{Vo|OMhtna@R23iZ&D#8d}bKBm!Kk;O_mH*79 zEJy-z^)oCc(gHcNYRS*D`zFBo0mrCbYLUattad(MvWHe~%6C;fo@BpDY_3uj65@jS zAsCAjw?fk0e~Ak>end41UBal(P><TWr|+I6H9sT+NuNmzB@tj`ZKz|<Ej!?~^Y$+g zntn7u*O6D^2(=xp<b1@qybjd~==UlMd>$UvZ!1pabOPJU1~up0xe>l7(h$6`(2(n| z`uq5i!!jKf{>pgc2<{+@O$=8L5<l9VRA)+c+%Fa{oM=MI6k^@|q71b=7&FZ4tPot` zv4^YZT=@4W{#oEJ5ty);@qHPR;Hs=Ca+U2hip@>qz{c6HiRIWX%0=YHv%3Q!zF_pe z5}-((CCTf&!NXk-lR0Lp5A7=UEdqVR<pgi=dgkN=%>Vu8evya}o6Ic!@$@<MNNmDQ z;=H%G)<P?Q-(HpmGnmsRtq#6!NC~3Mf|}#6^yrPTzrZ=Xd*gt`H%;7@?{D_9UwAHS z_+H`qiZq1+soOX3RFP6bBjd~>Ttz;hsQhQ<Otn(J6m>`JWtp{gx4rExYM0(T!Q_3d zJs32JR{{7Euo35pOwvd4HZ%|dr;kl^Zu>@vFM(S1#&*0_$@e(7>16&AyJ><T7fR7% zJ>>j{u6ul%H9{46@<s>7`?TXg%n-?OE%H3oZxX|Nu!M2)L?Dm9(A403AQWRHcG%(h zNY3zDe^j|WRpFRHjy>-_z^@_+2F2egLzqFV<~gU*ByeFshMAS{OAT|pcXwO3@T6n~ zdE0}C@xW2qzb`cF3vOzNLZV4rNzd3?5-1!`PiuDy%w#{bY5tv@N;Gblg>Ucwhecq( z4vhtQ1at?)Zs<nda)Kr7aO<dr;TjR6LY*O*NB8uBB*Lh9s9Xq{q3k^Z=HEPV8{EF{ zMuw9PKk%S2!?6O%>)s6^TzAKag`}>TZO*~dgIml*ZLj5f+xuX|6%wF9>$hTL=fDQh zPi2sxjbxkFAz^pMl^T5@3ank*mt%SsNeD?9DtRbp4=seE1xMu{>)^9V8Mir4T^?ta zA=VO=`GeXgajz=4|KsVr<Ei}r|L-`q5DM8ME2C1zu~R6U${wK*vgbLRbD}6aBKs6V zGP1YxmQD7SV`m)m7{@s{=X>?J{cgYi`Qtk0T-WRQcs%Zp=jGLHyZUzV9wl(N1&!Q< z#)Wn#F7Pi>-Ri*Yim4BASd>K=UNr_B7;8kBZBSYr1r*VuFZ<Ve1B;{*WYq<6fYLSO z6KPk0U(oYKHgAG8BwV5$NR5Wkr?zxKU{&<6)VW%hmpa27Isnzeb4(BDZbTkh#Q4Zl z{&f`Qqq>$oWq5sO0$80@_aMnEYge89ME4u>G809^g8Y~g3kJBWxv0M(oH@MCFM6<b z$LBX%&eVQk;A1yctb(-N^UEN_=p^j-p0yic7(s4PC#{P$OJ4(2u3e?Y<aT(4P{x57 zxcZ&uX~4Iz(sa<zZ=WV<$I`e``vat^YZGngy)rtPRk=6hq=ER>nyiVn9Hd-FAdP?i z_4c~F60*S?7DxQ`#ZjF&zw9$(*;N=&sDsGUNH`L@kA>3Yw?dvl9K&2b*!<F2xK+=7 z{p9x)sGHL9_YcT;<Ca`i$Bf9zG?9-Zck*VjSNiwkcd+byE4cQ;EmVM`p0la~C~B2^ zjbHvi&%M_TzQJ|5bM#9A%Mo{aYxVD`-)sq!d7}``R?;0!ob?(p=Fm4=vGn)iS(OBT z>22&M$XvS*-_p0N$tT~B>%)DIXEr>3%P)JMh2uu2#MLFH5{~3lKaQ=x+ti}}!zy3! z$o<=<mD~Is!k3vYoI#XT9=BM(d(w(*LT#|KHo+~gzWQ&%<djTP6u;m4;uDCYfpkrR z8HfFj^g1?^r$DA=N_^6;$l&|ENocxSsms%|pKhL*fSdejV-Qy>xN_g}7|}!0+{(;t zZ~a@s=`eBSWgvMZ)M}Pl*IL_+N2nB>;Sgq^a^#2faY(X>&>=ByIO#T|^7+Ca5s&zz zvC@@CuH^yl(fdD)h^tTslcMPrRJ?PD^!U4RVmnQs>Q>BwzkO--Da@!AQp8`}Qtmx) zq77RkBkP2%^bDa~u0~p*oA5q((>AzAjB4kq`rzu#7jT1cwLS}IVX-UmI;Fw!!yeTu zmYPdCOU#!O?({uhdk{ul>XRR~tNc04s>H6hFLL(l){0eD6ZQay^&2?GeU~=L%sVa| zue(!+4w@*Ge~eWYb5^OTgG<B+T#9ayKhSX0ICa&f-&kLCB>dq?^*jiAuQOyo<i0N- zqf>U;1YWMXa&)ywh@fIdTi~OLnra#0z9=&O38;cH&9moLE+cKiXU@9{Z@a&=8S(jk zHgX$nG@Z?pyBE_s>-CHD_nQ3anHjPEg}yOt@#9&5r6fKg(I}p+RlS=PPg&!G87e;R z7^lSrT=b>gnCGlk%Orl}Q}b=COO*?65}u_kJ;-r{5&MSj^{$*D#CNFD>zuzC;pM`t za!y#KlHC!RtE%V=`4ruzd!~kALvEsbiP*3SyHY=#(!&5n4pG?pC2$?GbF_Q<daX=q zmqq!*gsxDZN|rqQ^y4=AP}*t8f1O{J8SPi~-kx}kDEnHqKGgG<++|DnwyN+hee-5^ zG2Ie2cHM=I$bR%Ea+|HH%07Pn32(sB(sPBYGUugF?}RNs?7y2Pr*_b1kzOPm#u3if zzJq^%oJ>8yTq;-C^8CmnPxaC&c=a={+3lbougMQRAMY%gM$KA(TP}&%=Ka+8hq=^X z-Kj+@UI~-ubGb&9cs*veX@d9incp~sHdO6(;ze(l@lQMCNoO`)wwsvsiHj0wX|8ip zkKr?9%Qbm(X0s@QNU)8crY-1Vc{MZu3RL~>u>ofwxR~HmTI`)|qxXyN<1dFTMXSX; zaI(Y&`N}<jjcsu0<@O=Ez?sgu1@Vt{wi&-1owhPSvpYPnq94D$F}#z=kgv1J{DWo5 z4^454&W1u8c@u50D4%%C9P5W+USx*!4bZyuu?x)wauU8;u0sD)rt$|89nRsQQS(Y+ z{Xm+3%)vTRPoE5+*hn6<fdgATwLWNug(@57@F;dNA+D<i#F$s364%SQ@D|Qme@W^f zshk3S!<aJVp*!h$BoxVxrdTl-B54CB0GJ!G!{SPKHC;yW*f@ORXNFNTF{G$1#Htpo zc(tUzG5%9fRe^e@o!C)4Wj8R6$$C>p-*3K;x>7`8D7<@Zk@w#v$N;A2jntvAVO0uV zO33<8|HPL9-rQUcoAw%~kXy`uoX@}3qpIiu7$z>WcMohR7ruLrGP{%lsyVy|OlJS& z(23Of%~%1R1Sq{OtuOMbMtF0o%RsxVM({mjx+~xUv?vh0pK~A4AQ|;#xo#}aV@Yky z*=Q|IF>Z0NBtjC!T@<1_H}_#b(1CWi@3e$pI~;Kxbw!+3l7G^7u!QQLdV1vm9?R5F zyvMpmBV{-a=wTPVRf>Kj6F#xr1!v~G$6DPlG9JQKqP|ay{HM?8KRX<V|3h2eBvkln z)L#t*w2=d4w53B|CJ;~l)Tz#aXrr4LVnI{s^NJfC;9}rVrW2>yLV8M(UgbY!0kTYr zIE~Hwt5>-~`~zFcERQ~*WkG!iCXKkOUUU|l?B&!;s%X1K@f8J4_&@4~zPhJ+!h}UR zs-V<e%8oOb6Zw2`^!{)4IB#`t?Y;?3Ph|-u#XQxqaKn2!o5@4tUlAvaI#|Kp3r*9a z)2$MS>mF~MI}7c=h5Ra1+EDFRT2<ue8n5%WtUS|hUnK?Y&C&cW2BloxO+Rw7wblU4 zG{a1Px5wx4L-di0&LN%7nq9huJSLBDe>T^SS7vn!MZSSWgvV+YB6UA>uZjqh-|?*4 zJooxM{FHXbbAj)QK+s7tyR4jktly(l4jHw)vUp#KCJKx}*TRQpfnW92KumF@<GRqU zu*Q{n^4pX4&P;f=aCA^M%=e8tx@)Z3(vLM!B8&^_LCjLQ%+x_qtdTL^|IbzbOsb`m zvp3OIjyOxE+LI(0q@JCLv#j{(6D)zKJ0}6lI+*Iy_nGt%H}hWog&SH%-iO0a-5*J6 zxL+0ztXQV7-s2>l?Swrz`%j&UH~H-2JA|GG+_dq?OF#Srr;r`{u$1Q!<;|qY&|QHi zTc)IEchoxPDemg>YzgKzzc|fnq@M0;TcHT2O{BowcTfU+BeB(1;g1D!YJ?cRuH0n_ zhv3$~X$UyO2AH`1{z4l%-TH+mcB<=io=!(Cx>;5HL~Q3v%cE5|XKfX7l<*RwCs+<O z&d)`kt`>$1lVbO1CU2AL&Uytdw79Uz_KQ&lq({K-n=%%REl|f8u#6l&J&h|2-b623 zE-ze%_Y5mvKlW_lk=l8QVt^mjflHDfgimOy`3+H|vD;;m95<w?D=nKd(IVcApDAC9 z(JAvFxE+Lz8OLuo*+CJng^b;1%nm#+m`uwDmjxnr4Hi#@>(f5BE%iKj?j+z%r+8^K zNp@SOTE=$8q=Yo6vBwKUH#ER=N#oMdN^e@t(OEWSKBXJlbn`IyT9pxL+suMcd|IH- z?||d!(SmZ%%6ZEh9FB2b|E)9f4N>X*M=T+)1?+-k1SZ#IpVD0L#sA!*A2hFJv#!DA zFYbJUGk(swf$`Zt`<K!=P;fbujv1YEB)pW0T}zBKNRbluOjj^k38SxJm+%t9pWg%z z7gOQBnDrf<+-Z5d;i=nD7Y=|~(=5Cclft{&sAse9AD$};^7qiBf|Ss{{iIi@%i@%e zUxeD7Mb5Li$-e7698;#xdO=)A#^9r;7($f)U9>-?ZNg8iK5IZ)E~HB8iRA(?{2Qq4 zBrLN~aw3+l{7#7cO(jULNaasCk3Q&r7@9H|isGIIW^{A2fW|<G556L({1l6}W_bd> zht@_VP2feAF*Lh9*g|Zn^8urM6xKR2{E{my;_n_MoT|tA!NPb)Fiky$h(=+`rYESJ zZzI_^fNFH44Qz(yb08iE=V<YRMdVuidmg9fKx&2lNQDGMD_@GGP_S1Ydv<bN4r3?? zf;`e-Fs2-DwwpHTew6-_z%zgq&1Od<^v6mHFR3W!+_$EzoMs$%+)tpi_3BWhR6N!$ zH3#1X+oCBF|68_whY|N?qI<a<ig<wHnx?)B08m=!=P1C*^#_Ha-B9Xgb370EUsKj0 zzKZ$C%65e@A5pN!7_^k2xxD$JBVWr@P>MI}sZ?6hY*VyLXH(f|F(h7Sml}oYAjkfl zM0BSeW;$DrNwt;0;TJi#P}DzKqMq^sW2%Bh{4B_TGoGI-e6fdeZ-T`TYl&X8#B|K9 zQxlY2DnkS0)#V^6@&5a>8n=%m5fF#|F{|=x5NY56d1cJJ`{{lecm>^&8R>D^;xXZ; z$8JdI%VueSn7Ip5MJrvi=VPpTkl}A&Zb^D120GzTl^!+i{-z*YuC!r}0DDcGzuwQQ z@{w(!#xo}3I7)+9>!~}m;1U&Soz|e1f59W5Rciqc;(zy0^!;-#L5^r)Yrw+<TV&<! zNbB%3ARSRWiug-?Owo4lpl<2Kb(9wLtKbPV2*sxunilL_#aYkrqso5^S&Fv%W)zw< zY)SWnh5^Zt8@x45jMcTCG3|DXjPM$HQOq3L{cumVckklU<%8cep$SkGhcYig)eLBP zNL=U<=9NZkOns)>MV-;7z2;|n^G}L@{TXd^f148LOL&butC~4!MOA@a!Ltk9f1#Iw z7uEwLsRH7Ws8@%;zP#Y>g{BxifW~3G`m7Pp9QGjcdo<Z>s4LTy)s#C@c8sKPdkW?- z!3|z8+Z1g!GjL5^b`Fw+SNs3YC8p#;jnrchpE=)6bwLk%@GcDT+iQ7turyam)(?=( zhQR^D??KO=$teRtai@mF3JY3W?|6Wq7ts8S1b-G@9!!23N}j=ft>HQvjK|cB5G8PK z0qq}e=0ZQkpD27|wrbM+6$Jxw{Vh{BPm{8gVy&=)oOh9Rd<V>*CohRmD9?mx`gHGI zFN6&%|Hs@7ll?3*#hp*xVWk>SwAVOHY`))B{t+)ii1^_IBid0KS@ZREPkg^TR?bVf zmcRGNBm0J(TxMNfP~Z~iAnsCt)B>0PB#2R+*MC%<H|swm8rio835X!RdIpThicth7 z7{VM)OM@_3?2CF^1`&_Dfo52YtoEU$o21Dew3@U>nA3?M)4EPO7e7(F02~tLBFafH z4^n^QCAc54CS_MJUJ8~Ev%mr%+nts;{lbG^?e9h<9709h2^EW_PO!!tz%;PswAGTX zh})d;4amBGddZtvap-hOK(iG=gQDJ`BC3B~W2Msp-PYi}%;HR`oDX<Kfs{?3?b7v! z3=0D}NY^5V0Kw@~X&Hqp&9rT$s+1Bn(ms<Y%bZ~uJ97<X$-cf`KJn$e*%TV@ypul3 zH=+<i19oi5fVl3kwv-g!bAJJ`#9JD|tgN*bOuh!lm3+<`EySOjndUh3GOnIC;P4GX z4^G|l_v)q>1izdmz+8**e^>odw+qNQCxKNs<J#W8#?cnEntnJWVqf*Kn=|djF(EXa z@eb*RQmrwqebkRh)2B3%3!_Xw1o8rER@pt=HBzi=pV~Di*bHom8O+-EO+r@hgk;)q zUcGkrf?+Qi%jjy06ZfXB_hD&KJK?`^{mH4b!KHh12#9OT^IDta<o@N6Mj9(WEo+0B zTJ`n&f*sdrL=h5;^0y4IJz82>`^L5?2>}+!KU)Y$Ay&aRG-kR3Xaa@)T-v6dMFcL= zCFkm#(s=XKgQ<9Y>=i0~=z$qC22Ho(hj}V^N`F*^4nz^ytrDE4kZclW-JnPoP!v)a z7_q@w6o$83<mhB)7&4n826N`6F47_l7sN)QDAp0Ifcf^4rz?CeV$c-jELL`n&a2Ch zZd%6E!|UEoqylxeHChzNV{QrVJoz_mqG<l{tiK0H<Lmp|PA9#$eSJ&P2f0SmDMXRh zXll1Md{zBRL52ekunscZfvt!@+0`fw&`^|8;nXX3i?<RhX)gpS7^Xq1ZQTBWZ4hXv zB;O0TkjHu$^4_@7`|~20{+(>HzFN;~N&o=}f85bF@^vkJv6Pe&ZQmNzQb=9?*KD>G zQu}6#X1xDse1sZ90YnZsiEQ<9mH!uoSmQz`zLaI+jEA-{scXg&?z4Sm?w_PM8!>mf zyt-;?KxYUrTFCPC7Ro&#<Y7ng^Mh!ewZ;iab-So>!;rIl`McI<N84WwroeUTvRm?; zo|PYK`YWM5kF@cfM7~q?YJkv*>hyXz8<)!wP{p$Gt0uM*n;xl>-aEm1Uabzl8O)bE z={a<hbN_47>r0mzJ3t4@53c<M*;e?xnJFg4*4yKIps`zJ0`+vUfZEiZmUU(IY~hq2 zq*Qpplk4Ewbn(;&zFz6Od?EvcUE<ykXIXYbJOds7i=q99xclt&qxzsKgh(UVLg}&> zb;Z>%V;*nIZ(ri0ZFQZ}>T5+f5`trpjvX_nN+!?1QkaK5+K8p0nA+!u-BKimBlz0y z<s9q_ye&8wieT7(buBko6)iuLRumDOmhpC1zN<~2c|8ep!%_?bvg=xZXlv_u-nl3Z z<S+qJxtW(=lbglQ)Sk5}zg%MXqEKY9Ic;{$wEdCwcsMm9Fb4V#kH@+!)d@ATxYEYo zBDqBlQMe#M4wviEt62(EHdM>4T>cy&Pc$ol6){@WaBc#GuOX^2W*#1`@NhF?0q}R@ zDGJ>po>~vnQ)mh@DAHts48yL55Wl;1%Z951Jp5eA@p5aVi*N-UkOfjU*pK3TBe953 z6lj`q`~0IW-Xn8T7-Ld7^8R%DS3=lgHVsjN8TdDclZgOcMTEN=dJD=yy0QNn93;LY zOPhT?|0%Q7ubTCrSTDp6>Yg)E;wP`l5b^yJaL~z01O92!)b-Q_;Y211>&u1dox&Iq z;|l{Jv+ldWG5Dofhn4G9>@`EVZT!u(VQ+#Mbsy$bS+pw5Ywg0Q38W7_bD&g~<pMwe zKyJlin;Ps>=)E}m1#i+iHbr`t=lthRSqoC8@SW!A2jno%=?C3IaXtLL)Vbj3;2+uG zLN4{!9N}`oQAqE7HZC$<@Wt6fzGrgbSGUT5YxSVcK+NOR6v<CZb((=>dzhY=+VG!V z{ibm8bY!w<;Fl%Dn&tFRn0Z-^y00~!#8~ggb@3-x&~w9|Ts+wyHOPUwFfs_=lmcc5 zZRS_dt&PmLaQ4jte$8y~NJTR9>MdyYVi0H^{a)DP&q(|_+b|e<5%rLt#<F=8xD}oO zlZ8AbADR`#)yTu_-Xd+P-7Fp3=FXuu({sx092GE|hTJe5sViC$Inti3$q9lPbeJEE zYc_j0+%v}A3v3gz3Dey$oxzaUlQ?SrlX?aaXN<gT=XbjVvft)1VH&mGbnmPVweL~w z0ey`lAcqh_?ec6u+rAt}E6~^g@ew;ZTk9*+voKpMt1O2<Zz6>h)g8orRP?6jgJ5Mq zb^=r286uN!V-I3Mrp1g;J+!T<^ff>j(p3B}>!sEJSG?^M!$43BMKtod*`@WhqJd!z zbmbHbtwLq<?y__O6thVFF8es*D{4c~ukF?ijnn*9lWbGV^`E$JF51+_^#2}+EkD9c zavMNJw6&Gt71x$H7Ab%soPIU@=0*x-_QGhW@HqSp#^s><zl3^PGR2Cr0B2~mxoYZf z+2M1=owd9@)!{lW*K7&0p;2j;S>MM)sgfUr&1~OrH>2oNOesV$;Y8u2H{|+kT2AM3 za%^jo-l0)?tkKzzjX8$usSkTqc9QF+u4Hl5#+$!*UHB^Oh(YC`T5xYQExkBxJg6IR zVYm{7+n^ZgBhdPE=-4Z_+@sw{>|S1plhSC%g51>Wl4@v1DLG&1hqlB*&qcrRpY6O{ z(YCP%%`v_^?reGq&Lsug9|w|0dy_&Ao0uheR7frEUY~_wwdJ30o|h%d9-oGY8wqmV zJWo<)Y1iiMx{h8ZMAM3VK|WB83|9la(87)*XckoxuTQn#s|awfetB1gEkGcmawUB1 zKWk0cv<Gec<FhSA(ThPmrPxfPAx;a<%tcW~$td8R^$_joAmOd7Z4(9Y{pua2!Eela zqpT{YbZ?;hc#2}`^7^2PPZ(o5Jm8}z)oY!YYTZ;OUhrVgaol&6<!S9*txB72rw2Jj zHgyB+Ymh4?p2k^MEW>}H+oK*Tb$z|W4s=cUZVm~j+E$ufR+m%jv}SMy_gkLZtO~J+ zQ*0r)({m})1wQRQ2BPGeQG1qb4%Ag(Kz*SSU_66~<#2bzR}jB7K8j;?GimyIQvIq` z{Fh$!q*<+4<2&)0czMu#rIa{Jv+Y_tCW*FM^+k8QSGTgf(fGa61DhKGD+RkUwXG>I z@Da^h_4jnO%qo)GyJ45+{i<t2%_Hl(x1o>cwV<U?ZNAOnUZ57kR-2Pn_LCR?{6$uX z5pg~SYN>4V;02Qubt>q^m6M-UwzEH1#8gF``&uEc#fs8KU)CSw$t4>N#T&#LL6_YU zM0O-r_naOXwfrjBV~ERZUTN>(#_`sMXE`5vmQ#r&K3+)quSJF0c`;m^;_+HoGox$L zLXKkZq`Oz*frK4ROd+$C)@|_xHyh`nQdSPxYr5Gt!ru)HwcvhIL7EUR0q76BO+DCq zx`k46zdB6e;dCBo#mM4MVH<1Tj>*16-GLYQw1AaE6O4b>Jr@`6JLR6;q=Kp?4sEmJ z!dSxcT!n|x?-)h$f}BLGS+6YIGKC!3TubkK{Sij~vTRKJH6TNfQj|Q@*)w)!ybLd| zG1xT`<2181^-5_`_~P~7ANuTT2{69ZUN6p4$`1%gpuoZdMP|JFy;+Mf-UEY_8{0}+ zm8aeZs`<N0_n!&2nfX)EJ$Ns#>4{3*W7Np<a8TYQx3GR?;-na>CW8*X?s6_@nbK~S zfxjb;m#!O{M@DOfnE8nBJmyG%l@4QGNxIkIg&*&BqQZDSO$McI%*joyDY(5J{;au6 z|D{E|4nZdwp+vMcsOr@Fc+l*d4_gomCTPfdJka^zBEQp%f}-L+4c$F5zjMJptWFQy zn+Q!n?XeF3PIbz(;V|M$3Cueeon%H`n-0sJ?l)zVz}=#uN{WhXAU56I+K<sY>y_9& z(PhOCUR-}o6QctepM13Lk?+b5%No7jHsy5a#-dUa7dn%=+f$n#|AO-X4(PfkwwH*w zek23xW3R&bWpV*B2E8UwNw~h@!IMJ>&w4kU|4_?_#HZb)o@+3)yU=TYKQ6ZaB2uaY z9`i(yr-%9(kRYp7WL)f7;Dpc9C@Yb?05yvjK53&}G69Cjh=a`)Hxmu1MDO>u3M<l7 z&%ihITUnNXQETzmFugyx8_BM}ceg!;Out6*I^8?<%7F9pVF>-2>y)>sY`|T}81?_i z6S>z_Q8@bp0k(|>et#O|+Nk!0!I<G<_o@A*yFX8XK-U=b1Nc&yfUy=z9n$=DN8sJg z^Ox}bv{N!kkL<5qa8U+FGGC4|ROahxL{=l16e6>&94K@@Yn*`s!8;m?+g(6r7pEaS ze6A;#eZcBjr!{NRT|c06RFuxrcBCAhaP;W{Trn1;btuvD5N+x(Q>2Th8fM8NaF(Xg z&V&jwx|L=*;5mbp0U|@7oDVsrEa|UzO+DH@2E+!JEHmQ+<3jsikR~*z?EST-i(Uk7 zq1_w4l-u)h{?`QhL+NNq5IxTnSC`E7ec7g&T4-zcq}B3=jjG!0@-v5fvzFAu7kVRQ z<0b(tO1(v@EF`(D{VjbGQ;gA0&g@^09XmdDIx*pvD}p;8T=7m*HCedInEe=36`u1) zu0|*$(pivNmwFW8SAWva-Y8w{B!sKw>Y+-d=tsZ=IXy$E|5Xri$cdG&+oKlez8n11 zZ+hmgFAfil)SdrPf8AdnpGK1FLB1XSeXiu5ws;kkhR!55=-$jMsN=7k*BE8;ku8o0 z?nXWu4^wnkKc4DP9rm?75^zr5wUn$fYa7O2pKrQiJ|FSqnF0dbb|rv6LQORJSWdcP z4rrVi0$$7~_t~<_yycQSMu@8E-mQ{4iLJb@2bMn^)-;>1IGhbVoO#)=rpY&x_>>aK z^Hm=h7_yzdO0ijlZ0o3pGSnY40)cnhe|ZV63FP}d<38Z#j@%e`S?4LZ3r9F@U!b?m zesJ3#ImX;zR$W=PXwutye8SIj8Coyk!pEy%HRvvW6w~z3nC7X7H^autrl1Nil*)k8 zkS3z$%{S3o_SD(0P>hNoeafZedV6HH2Kgcs(E_ft)sQ_EL#llQ5ZQ5S*EXQ<Nwv`u z7f7?s@=nPXo!)b6ofo}Bn7IZj1B$Oe3FX#5@E^HvpBF}XfW9wyJVk8e5YA%!R}CX* zNF)Q*J-`?LXH#9YaS(ntcFr;dgVCa^0X+SC;=$&K62M}-#N~2g-rhxnx@l@t4p}Dg zdD4m#J%@`4rITV9Uk6E*fk(}<1D4lV|6cj|{yinota!4YdRy%Pf>7Ky1*o%NVYJ&c zcdOB%(Lno9#(f@Yh*u2Jl=eUp;b`+qbg}2+Ws7H|hpacfn^DEl`yd*N_jey#Kq3~Y z!`b~q?!~G@7~$7~u@sWY`d#+-fDaUlY*ls@4tgVZ8o>bv2hSn-(EO<EWx%8n>=U|L z<g~VQPP=u5PUo7`i#3h&Y>khdUN4D{VvU-C&SAxK?&m4<Gtud|Z8srv+D+Mm5wUDr ziUXP3B<lUtmCzu_b3^3{A*lg3K@As$L`AWIYXHSV{Uh5>s~Ja*fHL~9BSjoohpAis zQ?e>&hVUUO3*$Yj_GOWr%*rJWc^_vQ)EMFSg6BY=bON3Xwu@m*P&^w+0et`MRy~Mh zq<D2UB4r=*a%n1JieXq4AoYPx&BxPvd-HcyI2ze@R{ZOl=94@r%mgsm)?VrX`SN`k zL$9hXW>fzwJ!&rAneY@G*u3Q0LccHnHd09$k*&e)9D{UT{e)|#cV*$k&%O>MQ+>(g z|GKu-!@_#<1QxJ=_XJc7N=k(g(M{K`k8U__icm-HYOAo+g65FfXc?4r&n&h7Zeq*u zEit-Cu#bj<e`q@Y!7_js&|A=nfZa5JK~<c2f_TO5pA)OWH%!G#9WST4yaV(rf0<79 zuhRGYy6$j0kuiT6^O$kWclqi+@5-3w3D_LzlL~K4{r^E6y~Br16GgU@JOr1Zntp!6 zm7bTIf!9@-vK|29?)af+K*WzZ_NA|eh6@U2uMdlj`T@TgKp`F2u|qVhtrWlwa+|~y z=|u^29yDHE$q_>P2s)Nc_Jijs{?wj!q7*O@>U^DLP{oa{5#=FYd9p@%q-%oFcYs?4 z92^ridxCd?XG`^(5kcrL>A4#p6kPFeu={)7qcV1*WWSGFg8U8a=6+>cC~K=tc^sbQ zj(T-L=DE`-j43xts4e5DQFw?|&5n_8X{DC8$TyN@$?BU?ILvJ~8~B5lFdWaLToY;P z>2*;);`o=d2HDVs|8O-=?F3pz`I$0cje*4RDP}b<o^koUc73%AzOP?oc-}R(e*C1~ z{{8Y#bzJ11sLS1b>01>K?EDIZPc({JSmtJ^EK;R-K6<6UwI4c7*}XnYi(u|jU#7F~ zm4_$k=fds*MFabXv*nZPbY#6Pl=M_}sWl<MMrcJMEI?d25SEdaw>j+EeROCL@Mn(> z{^_cey$fYK?N|ZgRQnqwW0gP33~lhtsJc38t6Ew7yre`p^LIJtPoi?<eh4lCcp`Nn zU7hc+>bmSTyjKUFByVDKIb~WWTB$c)o;%@}W@xe~WGe8C)jDra`qqH1M+~SxL2U%I zG-bZ?(1f@OPd<0f#=TF&M&qBXT4$bpx*^bAE&ArKQk}A+fDEC(S?j)4-DSruGXc%L z)(y4!?=!m)#+vfPb1}0EJO9W9r|wre>1r?xdAP-}Rk7-G)`^@c894bH$gYhFJ-K2# z?hI*_ZlZ;-5qCA*oL-n6JbGWLJbvxY@29>Ciw~lU0OB6=2se?%aoxY`bNsBe&95Vg zqH~a(!qvf_3SSb!Ap>qywW_5&7Tnx+fQ<S94n=(NkXDcQ$AEG<pBL3R*ial%hIx&g zODjDee1@W*ro99*_j{QJ^hMH}S4)Fmg4clPl=s&8<jfiv9U|KH#`_d^Yn@`a0VdkU zr`U1YE1u>vd;(Le(b?*ETFntDZ@&Ma?V)D`=F8u=(HE$#{W*cI3#391>F4|2z}p0l zYju`oXPZf$TPZdxT085P#ug+!cRu=zYx)$Ie)ke6ia0#QUzS|+JN&#|_x%U{Qw=U% z>zuo5L3lxI(t<d(s@yS-+Skej0q;MW`_hiL5fsOmeUCUA%O^RKNVmmDze!({=4dm< z1>Gi@5MHOi27Yb@5(;m?C01n9F4i9rUK{dN^FIey(7QSitF@o!t$IF(g^F3phQP8+ zWIX|~&jqJ#SN;{5K%S3n)5D!ml*Xz{<$}yhVP$C-=c1^jgET$zSoJ$cg<(qG=iyu9 zKG&9R4kYB@%(5AOWcUTOJP~LyjqFEW;A}mYFLc?XI}z@89yhD2{Kk-N-`Zu4-%JXP zLHat}^tSCX>wdMtLD`9G`3eDU|H~5RE4EIs$K_l_6q7&wGkFgNzU*1-<2}Z&4dba& z;IJXX=#v-OB4@~U%hiL}@{^B~y=PDPI)K%$t6UyUHbd)Tz)j@uwv|c$N1!>hO?M@Y zt5|DDhP%z<V8qO~M$Lq8D<lm|*M_4WpouHkuncb>EnIi$RXvIh(!dQ8SEDjSRK?r| zEdB~7r1+jGi_F|fxKfyLAQ6v?EARSwHPz;VcCkN#qYwM#j>S?kOB1YkyOy{ip>$EW zxZr2JrdNCTg2b>EAYnZ&>ZStg`=CRRY>VPQV19%_IPpt*we{mI!WV*<DlcsigYL8v zy*`WX)T>SN-Dd6&c#u9^cd00ThZtM4{1QS`mjC`6r&7GfaZ5qH3x7#bJ)A?W;33&u zj`t7_T1)HtxXSYG%q<}$Oe-@$eJtqB31A<e8a8N0cg?Jpha=)vHmuo{-7Xlsbx)4# z5T(AhwDWXWV8)>JzGfjarS>mZk#tb4NIK4}#;o5jI&JN|+Ax@Q;x<+#uOL3TJTGlq zX++Y}%MT0KZjEYoinr+hI$2QU)N-C{D8sR}#`R_r|C-uW87P4kcsjn4zGEA7r{YRa zlDi$__0B`Y<mVJZ3S%ijsI92KU~dd~OBt?dHG)(pakeFh`Ghhw;yWTMC#{{?5uzK7 zPV485T>RfTJ+qza4R~E$D;=ZS{qDs)9=x93a%Uq;(@B8ps{p!1tM!S%Wp^+0uV8EH zf8{#9ibrK~^Ng29iKc)cU;_9%%DQRDIAnT3VrqToB|##FV-xdpRF%mFu7R~ph1_%` zx#P6lePY(>)ysh@WGO4n);fJ|*_qpKabP|J1N<ov*V002!vV%sYRb2jqiGK5$?}yK zVXJYof^&Lkd%oW=xq2)icxKoup8deyy;(0>;eUjxk5%E8lTNP~;?bh~WoMim>L2~E z9Fehbe@!9beESzh<>xNYIAqRpAo&9(<xJ>7a;gWl$D~}7k2wB;pwhD+6HjU10;NT? zsnr7C&2wBRt%q~Zom~e)LRLa6cMrvPBsYq~l_GFR;n)#z13!FIqu!W^FLge@pbG+Z zBg`}eyrX*A4+I~9IY4@A+;|ni+{u@~XY{n$f;_K<{ek=z<v`07syla0Gx$n9Wh_Vm zDIwYx;myHsQGz_CZ(rDvsV!4fS=#lr%7jrUGWdgA=-U;%)rNBvn=qHXlV*f2=Fqhd z<S_F4fju>gO*4(#h8;T}YeStg^wQ6{Jb-yy^rLKe3Zpl~<aFkDFx4@Q6i~akgJR=y z4u^ee=2wI;l5ef7I|^n47$fzg_HHlwf71gGf*-}H2m%(oqzhnJKQvJUFkX=oB%gA* z+##b^3xg;>Q|{gh-_CP|q602PQw|u(94voKlJ{n$gI`($XSZJ|&FnZD(jrsdx?~gf zWJ65l+nV#b<S>gJ+p;XxN92zyo^|8hyEGle;6TuCv>UMGgt<QJ$FcTvyd=<8J^oz5 z-n}hFT@F&baahibn+d%l{^%;nZo=nk^X<jPlnF5OWzqsoY9WJq%~p>_aB*y1@`2my zMAG^QJRv4yXK?cm18aEGM&|Q6N=G|n>+b;R_Hna?%eIp1MQ(A*Eo?Ki`O6L2U4PBY zT$W0_C=!`)LiIL-H<A{<TqoEkkq$>bM|zmq+;f>bgHF%<x9wbcN~oHCiajaj9S=Pi z`?8#wcQax+6Z9RnF^BYzTdK|hs(CRVJVs{!V(6;QpG6K<>-atFi|1VUkS5aoRX+Cw z`Lw47bGAy7Q<J?9=h`@AnQ|rpu?3OJTT&mEhG=~o%FIQ_zA(?t#O~94l=PRwA=k#J zES`;sp)dw{IGjIfV1{u=cXRDRx?Zy<RrOD3V&@L?+sJ{7G+n-&x62x@NT28zN33Fz zMCisy=)T!q8J$^MV9!VFS_H0|)v4Rer2QRa0}6_(78P)+kpYg_B&Rxt6WD^#l<i)s zad%*BuQsCpwxic4NZE)YE5ZHK%CEx_$dHeRjYZsD=H8#b#Pz&dvcP~ng4a*2BpX<- zscbU2^Jo9nvR=LDTi=^F<FDb!{1DF~R}@p&z?vbv%-*r3uKZhUI4dHQbK_HtaO=9# z>rQ3iJ+WEn2#;jz?NkxGX?#CqKtmMgX3y7kFKXiq<jZ0!TET5WJKodcxTPqDPX-t= z%4MEr07(dXB&JBl8%4Dy1o_9ix^G!rg~)|v(0)5gUb9*CK^YAS$z%(ATpDS)fB3E_ z5oq&P7bl%{!h2t*@1X{Qu2#rd!N@`!J#nl~rmtk{*58NO-wl^S{S5oT6*M}1&UN{k zSXmR-R13W;4P-6&HC_FUeyvZxL`!%BFF5V&#f%ThNUZg#`Z=*jz!umBMud><TU)gQ z!<q`zn@=pus(ezhHWyGk7fM_%WlA48sN@9+J_Q@$e?6;QO&eW>3u5I;J^Sf;$=kLy z0<|t4CMG6$Xn!L&t_IEFAlqX7S@<vNG+^X#U)-B=Bke5ypX7MH_#GB?OQ;<FPq5QG zCd+=JjdOGLnq@^XZX_N0)RD=)cltJ0_bg?|V}1V(lI_xWUp44h@_~Oe<96BCv=(w_ z#SRPO^(F&MNb(hg%us?sv8V$N4|(JaebrYgbEu0t%DeQReb2Z7;=Z*zM?!C3<V*52 zwMo?w`zPA8;KlLDL66}3<om?Cq~F@JGk4~%j>bb$0aoQPbPIJvi+s|+nY|q)*K}81 zd!gh5<yXtFk-FmYcOSx9k3x)z`Ql-NAJstVBDs4<m$p-eu-e!LB~?8Y>x8cRK0zU= zIl)X$s@#R6svi&R_oWIBcILOV<Dl-VRZsZh+I|K6`5N>$scr7~e4#l$nk+P>>AoKN zX11_{esP?P!sgw3qfm<dS)O+qGyq2)!8QFZB;f~l*H!h1)u~5@pLOAx`T$o=Il3NQ zBNX!@99UI_YvErjVY8t1pxClh%Ugri2Mb#6#u!m^^q>DL^n0(Wi*B`@gnsprzKy=$ zpe?Ve|6{56LLe|Zot##NZ99WJ6B;^(VG?aQf6tkOQ|g{o>KpN`DmY6dGD$hXa7mhT z!@cEQMKE({Tq&p71@$rG6PkkC%g~e~eqX){P)|o#uG~<YfcU{C?S|C~JSrR|AAWK^ z-tz7!h@zC-NkD}(^W27H!`yWE)}O;qH7`gee2nWKZkJ`~nd*oJ&!F!RUy2*6#_-35 z@gRZyO*|}25XTnCZ}79KkeVgS)4X_#Og(p3FNmXOYA&YH@^nHdbcZO~An%uH<JG`2 zEpWXx3>D8^+vT2_<-Y2R!^3R{jSSyK?}_anw^ys9B%hS;6^4A^s3lc1FA<HG@ZriU zV{lMS_@UxTvOoc!FW-`#eC~XEFfA8Z_w#2Sb$-#-e!at$!t~}*R=@05aW#;l53Xe? zlRa6fYlc|I%{lsrZDO}bE^Nxv@tmz!nd8>+rZtFmm7L8SXj}d6?fLldc{tVOo84cJ zBzCU^+M6FmDq#`FXc`B0<HPJ*g&<d|K~PM5)cn&nR#zHes~7@{7D+_br)#7p@Kw%> zg>=TY9a?-IBhTLoD%a<mlhsQ50ee$1^<kHvT5?E22WDo)R~odm7u3Ps6xe0%zR;IH z=(EV1Y^DgBv6NW2R_x>yZFloe|LJYtKe@bD+ykoK{B2yk(?I$}+)Bn>aKiUe@-XWN z1>al?^F~t=`CE;)4#ElT+fb&%*AQLx28O8!V<KNuCTM^vlx<GQW(O`YK^OeEI|P2u z=lO}nd6dmo4*gQT86~b@<_FO=4O=KL123wKHO1jnPThvzg#msB@fN=Z7yL$v$L_8k zK?tAJa0oQvv-HA^zo*SQ`7N^J<{$SuHEp`t@|7q(GK5<j3>Iph?PZYUPTU5u1Ms|y zLGsJ9iwc46*`^PfJYVsbhQs5<x2k@1K-K%S_(wfrn}eDa8{X~BsxFVITCs^v{+tV4 z(@&WEBb&4r;I?BOV-pmvtHvVEU%DrgbTDBevIosvxG`2U_Jw?}nos3^d^d2`{0+%? zdq+Be_rH6&jOm-*@h87x`&}ez+(Y5e?3seF$DL~DTZq#fix?Z=k-_M@H+q9Ufa-<1 zre`Fk@Y`a>Xt0v<a(ew3>sea!xl%h>GR(+ZVf(4|h4XcHqnplr$!Y}O7SV2oprQq) z=o<PhWxZ<Jn3K&;+K!+uHt_PCOD~A*?`oq3HR#Ee+96l0k<*V{1*RR-%OD%vu1v^K zd)+gL_-|>1f70Hz%jV4%sp9pTG=wYm;D|)8OMi8N`g>CCEa-3Rv_ztlFfO7_!T(!U zaN%lW1jr$AX64L$9J(Z~Q_fO&o0-YPErh+4#r#ZTN*Nzt$oz_@E-U?PHePX=$3kAc zgK*J`P22x<%f(sI<C&85e_v|;-jzYA=9>7bUz)GFdamZvkwZ0W{Qw%}sw%g6wmHJR z7pQXt4@zD??a_JBlqauqoOLN5l#cE)&Q=Jh_e|<l%AH;7LrkYx(pg?hPTn<CD#J*3 zPgc)o*TSki=XQx#X6uwBx<6|=+;bPG=6tlX;=FtP&xxj!ycK&6ngM2PXPxz@Zrv7d z^eZd+CgeHy*a$`^v~CceJle|EY28;Qrj1GP|E&i!7qEt(u)ec10VB;)VOGU&d%Mz` z-}kcYpBbOb-IYy2A5CD`X6G~(oS!%u$*StW89$!53|qxjB1jzHA$O!z1BP?xBo$`Q z!rs~jy<c_dCDTUTH&EJH5YC;FHpO`M8ueAGtwjIaqt=N{mQh}AW89(t)|$Edh`6AO z|6z4lV{<ZbB(=+Yug&S?Y?`Su@arhb<(xlcsF<8ymb+(su+VLk3s3mi{?^x{GX7wb zC*^K@;YDOM#^8e7?C^<Y!AlW+D7KfbRjEI*L=<7V3jH$ypUTD$ui#%4K26&~U9h@< zfjvyf8qV3Ybjh>mPW{~32TwG9Tzsj~tX61<?qqbqt;HJACLQUTL!m_mW2B5go$Z2# z0srEK!mtNCQmS)yktt*KC@`0Ahg{BI?naA-Nxhb5dPaQXuU(Dkk0oN(EXGsKtgkn4 zm;Aj$7_@(<#IEu8_pL&HKmcII6>u_<L11aLT9@qURgx?K0gkneo|mvcALQByJ&&62 zB6W`{y0YG64;W_CpH<E~SuKe;5z7wfXsML#7%vZaN$eD9ot-OhmCanI%VjO$9SKUg zb<wn0eDMq>aIJLC)Jd_mJgw`vIw);2ZRC$pOtZp-rjzk(S{Q)lvn1!dxU1b)k;C)8 zl05YB;@Eda+q^IEvD4EDo!JF{5dp3v10CEW{e`|iti#Y<H+2)J#wni~@8#BuCL{)7 z;irusN`#5V_pSFBOp=~vgu87!x@9Hdh3ho&LchWJmDo#>#KT^f+hO>s>*9YyH$$|b zL75SMTkX`ZsV4NS`*K4`+tsT_y)lERlPZn9cZPj<tpU&8A7`t;58Su%M#3i;H@UdQ z;ZGa=f?i|y$dJ~S`o@d~+3oQRnKRTdv5hg*aQO4{4pw)XiK_qf%rR%x>vt_NE3a4@ ziF*}xwP|!pdq#feElKTOGNtOJ^#aF?HqGRkxzd!KjJZ;3)4v1N0zPfQI*V!Xl}2Gx zY%lG1Y|XK9c%f_tLVU*7vFrZs=3pxS%oi_faplJglgj8_o&tEbs?lqVaJa@`m^3x+ zjicw?usp}M0!{+=@%Zs~?CSX;TF@IgFP7E)N2+n<=(eSowAzdBTQS(N!wtL8yUa?0 z-Pa$tefVVlTXk9C-If<Rr#=RAGF7zR)9Pnc%M`E;QUw|W@1~olg$Q;90*ahM=g_mw zxXAZ-k_5WJ`*ydv%tGA6Px3{z-7-aTiB{*lyv_i7Y!5VYD^v(BOP#%fr?+3}mAVLS zkXiVfys+yD*aXu$cGuVBbGxRp<2T&fXZ&LR&TqD<hS3H?HMWh`79wVZ$aPnA8z3od z^o?H1=`D{Oo=1Q7a(w~gj!Eq$MeaEjy4*TeP)ZFKTNzVyc@dp+X6pCaCb!+wBTFCK zT+DRO8t<12lOH30n^`>~pL}eFm-V}ZZrL8W#r|j&4pVwC^vFad)Gmi5x`FBV+?Gv} z^h=uMDmI@0&2l5C%)dOCumQ&@HQk%L#u6RGUp@4o1-t1uq$Kua;I?+uhafH0FZb>F zw%~z{ygFlKw?6yS0iMl-pRnPoAl3@5>8??eA*`q7&#C;*twIl_-{dSOoX-s0fa>>N z#PC_ZjZVUttA}~FjF&Mf%986=8}xw_r=%Y4OTg!~+}2EEnQj5BCDD5A^o#XL;g-0z zUEf;M`o?}bETis8xN3ZV5MQAM=~Kcx=Wbq|q64uwAA(|fnbD5eVtD6i@S7?1^^xhN z@4_Ve(XikrwZBvd@XWswJrm3=UJH~|{Qp%6OlQ2oQBw9euqD=Vtue<^q#^qh9Hkg+ zpzI!CX|DZk5DieR>?`!~qIAK0IHOQJk+0?vB<)nNY{Q!dy)@MJp0>K`Kk~bKWGntj zoyZZ3)uO&Ihelecn}oFu28B`L5>bb6j`|}w0U}Pm8(8R-+C(V4xC6Uz(y$S*1;WR? z5YJHaPy7<+sl%bY2WP$Z0$Z1cBHYoX4X*tf4`MCW{|@}Bp@><3A4IO<f=z<v)|yBy z8a&<<uCxG0=4*RBEbW_pcygCa-Ocw^Y1UhCzlNv%gl7TsBlSwDl=r;QT#T-rs8EI? z7~2|n_4<VY`pUMB?86qd2pqJldVO&1Vfsm}^+AIg;m%jD7Mth9GZb|BQK?QyeyIB| zfx#0o@6vL=KZCB6bgleT2{<lFNn?I2Qp(0j&G@x#`3ILnH&4SzUg7+o;V*7(0nHGn zGFO&QJ=Ql9-_QmNdDB`DuN>_cp4{@jn+fy(VuvX9@La#LY-n{b=6rrySZ&8qs!r{T zxNlXGEVQM;=ef8;JBwUF-|AbQWw*kdQp_%azv?^MmlG7+b|hvo_ft%|c<$v+)^bq3 z(0FT;4A>n;?1iqGrLGA&h})}5&p||Y2jyG)k-C|)>yJ=uZcjmCBOHe6eqLuh0&FLr zZ0B-3T_}j=0;9mrl(3cwG)KB@fX97qYrwY~x}a~s18WivO$O0}!3U+X0pmlQ(2kPj z<FKtQk@wAZ+Bs!au#viX$SN_LUBkcG!u&_Pn~f7&SOnva43h<w6ip@KMfq5$+ps0Q z6s^~d3I=g1D?}g)yg?ODsVZeBv^-8JEMDc~Knd)p82iN(dSkSUevvnZGhR*X<B5MB zd;?zcw-AvAK9c=49ehoXw%HMN$rYR-q};nIwwALGY)%BK4wTw#56R!+pStSZ0CFLq zcaBAJ{i*WNP)R%$EnR5Sz(*;VKA8JW6Tgx`di3}7?TL?q^aCD>K<V+&EpeK1Dxk@W zU;t|Hl&=t0sMlX6*PCg&)Zg#_)EP;j;6%1|C&~&UnmZ}3Y8ZT&6wA);E&A0RDYKb> zo50#5$<GdLHSek43bjTAhRmNF134bBaX=6abl5y5Rlj)_2`~F}P`_4@A&wr|q$p!) z-{&%s8lMO)P!a3^f{Lx)c~d~!K9ow4AxqC?Evgmxs-jy-Y}h?08VfAs<U}@lj0AmO z;RqfZ_mXZ8kRAn^?oLP%L3Tw@rc3&K=za$Bps=&5w?uZIi10(dK(SZaiME05E)O-( z3F4SC>?76c_!Zx*Z(egCj1e0eGdhPl<!-T9Fg=l-__y){9EDWtYD4ZDIB-Y9<*FjQ z`75}KUY_sJ?NJ7TrDFx~95%ARV)nWZ(BKr+^<u*bpG%=}i4SGF;hre>hBiBvqfn$D z`Wvr`5t7+q(KB9oF`@t7@grG^kl;c0v9?=`xywc8rHO=_VVM%LO))A=M?jQULDl0J z+MVX!BH2+)BTvC36@Ih*3<=gy9tQb?L94fcm@rABdY}m+KGb|Zp?MUJ;@hBzr%=^5 zJZxJ{IIhlWdK$GnVj}}D_cbBu6oj>yBi<uUPxuI+`rk*c%yoCfF`3CjB5Sgb_<~l| zeq{T~KC_GD8X}iD+1;Cb>SP1;D2ewa*x$bhGS-R9YHQ_ztF9RJ<Fk%r6x}&U*Si+5 zbma1#_+T%;Y1X~N4ZiSiS=c{4e<il@;g5kyY0cOErCo@!<IW92uJ{Y0|8O<Cfy6<` z#<O(UJ~K{0P4;=lTPSe-w>_M7EYaKV0J9o;ydeJVUg=#<|9cO9)Ep#xIh}JTsq2z8 z8^|VuJc)jy5&DMYwap9q-`KUv6YcPKn=SNVzZ5eMz`o4iO$L`nZMyFhc7@DH<@v{g zalX6Sd=izf$8G8$DR3vN^{<n4`4vYS^D3p_XW>B;VdDbBdlD0*;Kl^k@OS6$^{G2D zlmmu&({VQ{KM&=;jmB5Lx`>0M*uMds^`=eRDB;QYVWNxGO4iNw-i-^{ma4BoO|TYZ z>AJ0Xbhtv_v4nJn+!Jhu+s^Rin8L}YW6Nxf-=37H@L2F>=w&7z-m@u#VSL*@mw=bU zEZ%1|p(>voKDp*w_5pKa%qH|IHfTIlD8s)0<*~t@_6DC-RP`s<mb9-%KEr21vtn#K zqLZflE{BDyLjmf>A6h;5!jjn)Y@~^$La{fx(*?eKY#_mi@%}8C?xN)U>he1hk74k; zSIJ*q0i5`yM6nChND$nJLd=9fzkwe`9-}R}Bfwz^(bY0bZS9_doGYV`PuiS~znv{) z8x~iWZ-30@8A#F&NIBKMd2n_u_Z(zM0lehB|Lv-9Ea5B~Bzx0zn_%5@9<ASB>7E#} zmm}s;qLMHcgg8(ayc%Ll>!HUMV)QFG^b>Dg!cU*Tyg$Dh`GDRZQ2XCK>%{+bYhyG5 z;)UO%!MzLZr`7iN*P=*gCPXMwD4nG|TdR;xT-5fN%oPmX6Jb(2;X39aN5W~1M)n`s zKO$tWTpF5bKcB1Zv<TN(_?DB4F|n|T?oTbLd=&rwDS<CJ#9W7Ol@sB=pDIUU-Vf|m z72Wa3)eULh4|yiu2KAVmqp*~#;4DIuch9N5^sn)(VN$e<>&A7;jlzS{aVh=VV+#L` zA&#h6yPM*vM(mz68F%yV3;(wO-gXJ^b<FpwhB!3ErVTFhQSRLuCR9|EFi-HGl?LjB zQO_s)vzYQ+SBC=9U`@4X_g=tu@`AM|E#z}s=W8YPF-9O;fcNaJP%pl!){UAA_-xzg zq9bsbT*zqAc8?08O|)KtHF6g3p<1th+BuU5e{ghlTw$B03o$2^{j5vRVNJsz_uK6h zvU9-jlPf!3sCAK+m1pj(Zk|_4>AxM*3vY)!gqp@f-YoQ;2Eqcw?SCA#e#U^uAo;?e zpW$!j3RDVu?i%&1Uu(fyimZoBXu1tINrp}pOvdc*IsZxYac!Y4#iEWm3}7(U%kE<B zYfv65tpHXo8twa?8GG~&cf?z<rOZ}x69STx5r_DD)!H8?2RQVsj|N{vtK!GcKD6Fi zqK$zGj{n3LUE}I5X9keDZ>kJhu6{RM^>|FWl`Wta96Li|WDDo2kobL8D8+><=jFt3 zt%R??4M5ji^&XCPuX7R3I#h2_@qSX1?nXo^9{di(5p-Lrj3_|Wc~>$L^tAazvHo@a z{^X`HOPQUUO?~l@XG2%jOwXiA&l<WHpX8t1xUB)bzoE_yWlprG51l;jS1EDQNEIS< zKJocbpsv5Qp6ptlJD~hK#P-qXlsB`*x%e^#lLpT)<AasPP{i%PuuhZZnO5fM%Qsrf z4WTN%_FP8xe5+|Ef#dq{Y^^(RN%a&=oKDR-$Eq3n?hfmVHGgj6IzS^cgqcV!i~c+* zD63oOQ?P}<Y#;bPlCC?fiR^1DAgHL(wIHHImsLbSq%BHGKonF2R*|kmM5QU&T|ior zQBY9<QRyHAK|q>8sv;q*ibxF|5lIjTNoaxeOfs1-zvp|N+&?DeX6BhY=e+lv_nddZ z-EkcEt0`?Rt2?L<yNeu<OzahZ7)(vz{>u5CSutWqt(dgcV%z*tV3o5$&b@)+`VLZc zC8G1!aD%U6-38@Om!{O%n!K84l?lsdL!=eem5tRuzSUkIC><G4ftLQIE{6&Cjvv8a zSM<X-LEmn)iQLi2%xNwg9@vkUJVpJE3#ka0-ex@Nm2;iD@Zw9u#eLUnn5PeXnoxj? zRJ1E&@BAS>Pqhb8TT?8P{RMAY{q14qFtBAlt*IN1V1CDaJIrBz{?ZhyV2JT4`_C_) zoj4~g`qXYg%bL^`;!nSWx6KAV1BZ2{qTWGv+b<HoE_m*yB(A>CZ(pyW^zL7D*E&V5 zToEZKaN)1qHY;mKahC_7HYw-jtsQHNZOs-$P7H$C4c~oI20<?)(~^*s&?h-?z-8?* zXJj+1wfyLxIb*%3Kkj#hUw%|{+Ac7zKDv+*TOWOQXLNn^)<0wF&qU4NdjI;yJ$Z`a z<6Vnq((B*1olM=O@n?<Oz;t_9pT-VDjg@-q--C^}Cato9l6F~~f9aU?)Vi~{9a(Ta zb=SVYO2;Iv!%?Y4?Y87!p-*;M(8LpIfAsGAZ!7fdw5}Kb^RE1$fmE-E7pIMCSPynV zZ%*rK#a)Q+GXkvUSwh>i4e+f_Sfh6&TAlHEvVm`J<&NS+u`eEiXA^G9h7KHpme=%Z z1wl#<YOkR~hjj5H@^4B575EcD7;0Us-8i+0UzQ_(Qv$2^6YryXiGP8x{;8(GNV4Ht z=QQg>`oqssQTsx^kx;k0n&5jC%=KBQ1?SyI|K8jBP+O9t3~F!?k(B=mxu$Z$ZO%3o zx{sn3AmD&x!4BBP-<1Og+9p;bB1I0{ps+o4ndrsF;jOP-r9a`_+@Nw8)lU=`{}r|T zDCkGo&_?LPMIv|N%56Ukq8NQ|D$17QFIl?EI2{hq*W~}ss3%%yjl-t>9QoBZALSXd z^s>l(&m8Ocm49Zl$4qjCFYqdSzhL6m`Eb;Z`L_)BrQm7%o3gVGL+_!n!r;~<KA;TR z9KMgzB(^>`6McTQY{7a&*cy@Oj#5Vcxr9*6@C9BIA=tZ(I9ejwPk5aS@9M`VABxK{ z$`RITI){1^*XC;;UEG<VT{E2;W<KM3421gOsqR<H;fd40ZvL@p$9Lj#s~#~sxm4i8 z`HIZ_*Beuh;#at1mWbvvQOCfK-$WL+QFWl+&l~d^rl5WeY%p-ZhcXqOi7F0;Bz1+w zujNs;6hz8OX%z-k9l7HHp!Y*Y_bqjL2w(L}q4N%~3g~+85a9RPl^EihNRGY(Sz*j) zIDuxJWj@X^D@nPfjv>2QZnd}|(lX}W(E!Fs^H?&yajYIGIOwL$JLpCW>de~>slN6M z9tn)fi-eoJ*-LeU0eqA1d1}pWnMNrSzZ*!eV2o!(Cg6!5B2`E&o4{S`hRzt^y9Cd# z(}$Nbp*yB<VC&6EO0s<SB3>Ebiqs+`8o=Z*R@NMB#MCOa&Klt3-!&zadbVFr6)Lr= z#AdvP)91DL=gtDeIn}=*MD0Sbq|_azn+;K|u66M=ou%(||3dv5q@nK-r~`jR_1Ry+ zu(O8W>-6QU-)<%_Jx~ZIjD8?6wu$mJ1}N+BJ0t!Yyl~9=YmiT%d0$X1eMPrRjtji- zzVHFAwQf^{PO*_^5#9uxtk-xsV04$($qMQ3O@6C9`H6*WStmjiN7>T8vi{^sJ6Xkr z6PnHv(v|YB=pxiG|Mqd8`~{$G8{O&m+*xOA*2ZWWe0Os%I|i);l2&n-sNoeP(?!YI zRkiQYNwa+&2?esiM@XgSp92C<dX)fBmLxqBor^jCaF(Z)u)H^CkS^J9J9W{*6x_xF zwE34>`hnjfdWIe^pYd+!_<8%L4Cj#6!W$}Wkt#+^nI3i`xT_;7k9*dEqAuyQBP<6< zf<qK*2XM%6e60morD^P+R{I#g9Ct#|I`g0@nX6cvZ<kFOGt%>tFLrLI$o_O@WHwjH zVF(_*bQu8@e33maC$8$2l0WH`;+Wgq{C?c%s{D99rlaY+rJh?8=b=<(azC$5Jwl(Q z@dtD|R<~moP-+JCoB;&?a520qg8iE_rW77eE?AQfA979{Y~9x1US&O9+atw-2`|1t zJ3Hi+mC}X(`nQsRl7-aG<{Z+21$hxRRR6>zhOR>H8(1ptZl=u153^c1o}#fPJA^5; zl-0xC*Z5<m&uI=4diT#D9*gU<zO>Re0@p?Z*{)Sm_7goU`C3C_XlV;KSC6{Kf^lMI z4$7=C7=UyuxNdPn!z4;D4Fg01*&nk`WjKzI3?WP&yUf*l3E!3O35}+Y$wt$earEk} z8GDD1jO}4v6Pn~r44c*SMaG0jkIe+?zdOf~MR{Dg)H&www`W~#swc4j+%J?s?jJAF zF$)KfUKNbZ+v*9)>;zP2P_AxQ*C?NOZ}}P@6Yqlm+CmYc70O-R-Zux^3zTcueWe*T z(+Qivx{gmjA)R@GqHAdju4^1}B;@<4>@yOurKRPS+sUggDsqd{)qhGqf12@tv@N<t zuMctp%$D5qVqJ@*$sR%<^_~SM(cVsjV>nvBVCkeCv?-zJ{2hF~uJ1UY!KXyJb$9yp z81>4&K!ZKlA!oPNw1M^-k$1md4{aQi0}86F=}(_72NV|P5KboT!M48#l_@4eRB5g@ z=Q%p8Xhi&Ub{l<orXjU&Tm2rya}w!r|35Ei>nw9R*^_Sb7QL%(mtJ|(6bf81l#q-j zX-gxxa6Aq*j~p&M^6A7e$A15(Z|U0(={EnD=ZKk#@Mhzqo)%y?{YSaR?Jb{Ew|^N^ zMDPO9ufcb7B+Hza{ExdKoe<=CU@t#)w{xg*5W)C<hUeZ&%J(zQiFXOA{Fle}!TGa^ z8&|h`$#xsbm0d2pF15E!la-LzAhbTu*MouCdNZ?$u&=RgTu}nFFKpg|YTP|DyVs3o zGnOu*nlmH=r7dPZ(wSd!x$|CbG)bWzC$2wT1ATokW)W-zFJs6hbiuP=%2<(_0p6T= zUNrIaj9n7=o5)u$4LEVJ|1zzEJH|+($Q*n4ziXSbeQqiUNAWI!!ij9z`PYRpz_D+$ z=;R${sp$6EfamdZt7-0cp22i+15%%o(0Mb)#VcYY;Ls%WUXx-o@}ex4JE&VF<lWc9 z*3M2CepvXK+L;iXDZ@s<rc8nzk9k{1KlONHmUBjjc%fSA|2)U<)oF|C*<gN7Y0Fqq zU8dI(BiKn^uSe=LX7rvYZ4oXVA`j&$YE%tYKD4SjDYTOp(96Zh%l@Sp%BLg5C@+zP zKEPe)Y=)%Yh+8<Z>plHx&5(Zm;%4&Dc|e@+A@|JX8Yj8*HqFmW9-4gD^;%c`yws4> z0D5M^<|qj^jueayNznxMU+y5SJSMtb|B5s+nF$4w)L#lvt7&7otKo*tgz8|@<M9br z0Es$?jqW=_VV;+m)rmGB<F;oKF5Vx7(^KUUIU_*J)l!Tk-n}&w_x;6KW?sb3P*VM& z7eRYmV`tnC(W5AZA6lL;U{vFs(+tYMIZ`4U`R;9#8eh$C(<;sA1GJPhCrI`P0*wk` zxBe5iP{v{T<-{+np?=I7a7`V+g?!`|&j2L<uSbnzvb95g>cwiW;Ek;HnFObXa{5;m z@+90{7=RoGmy1G6k^Tc$kYoHCU*KIqJ{I%62;8S(&O6ro$wT{wu4PcQ>j?1}Gd95k zMt{WgU+S%plWM`2E5Q`wO!7-<gS<YKu&mK58}VJO6Xr&k)@gjgg+&VupgK(Lvga<? zjwnvRnD9(*4vb*_T)N>99H)+3Tqnv|RaXovL@pPVv>a@~{-FRMX^GWRxW?UYvb3do zB0Y=Hk#2$SNM{1{*N)!>s9)jab(w^pdTDQyM_21`)4E<@ptMKk%+KLAQtAtcRnVNn zS<CZH^jAC|`SRhjrZJnOu*Y>q>TDl+UK}Q^8AQi??ct15{$z9ON(p21JZ`d`n;(oQ z#jPOEONMLosPgCT81$cP4<XQFh)$wWSsKME&T(18F!_KJ@V&^<AU1sf`RKQZ9d#CA zY}aGCt(B)ERECJP{4&EIC%(*WFH-3pO1j2%J+;B|VQ1Qw9N`N?%aNiXL(7B#V#;s) z-)>R{2crty7NSo{D;rsM4xE(V%m7SOMyFMg%Iy~T`jRAjqySdpOOGbLZ|xc8z2nw~ z8RZq6l5TN&#z6ksTWOC!mODD;Y@9o|Ab<Q6c1vviP{{~`zswGVvp=@@5VR%i06w}u zs#_KLZ)}|k^!YGXx0(T~#Of9UN|t2)fwFSDet7R`RBeL{d12S*<WlmJkzcv3E>d8( zGrjNjRlbp(g>meQ!9YHd<R~!)>1XLji1$NBp{^jGfQddn=WbYlS#@vqjfmZ>FbC?| z$xhaX@Zj4;r2))A5z@?txa&xb40S&4PfhZgh)u;v<@`35uC1<V>^3|vVSuET-^XeX z?{uV;5??obP4-i2em3CRdk`bf^|Kr^pqJTYnSh%8n>}Kh=*PN0W(}OUP8}p>*MpvS z0P^j(g=r=7jYkmm7AVy3ap#DvTiE25Hi>d$lf4b6w2FU-aC?x=i;x9Yi+2_R%24^; zR-mj({J?Eapa7t!zrY7ss6XX~Ew|^ROq(}?bk)h_AgBkf`D&3|YR(O{bv!0z50w)1 ziaXI=yuyxb=sp}U&olvt`T;A}hEimB$1wFepZN;j5!8x$Lmfok;Cue>`7<_v@sx(H zv;n|@A@MaulU>^CsjTAb$Oxr6^xkXpuEx2u<Nl?%!1sE{WD~}PaOW8NWIbwrU{@v6 z*DMt1!2iG|lo0n~2g$rh8Hy;*$t0AWcC8f$;-{m0!4s=KK))ke5hnwzhT!K^NN|V6 zlj@H>p$lug3&tPkmP!{i`(^TwxGxnLhapIy)xY#~6nn-*FtOWNG?rz@lUCljS5EH> zYNoWR=F%}4>ea$8iUX8-ZWD9R(HT<x->-fPA^@lV$O9FST)H4oc=w&F+3p4ZJILwi zk+D*K4x)<L@>u+n7~mi}tO4%m1(Rd)^^mxHJyP#6hK;6&lxoJ<=9<IZGD>?3)>CN) zZouL0`lvhQiZ6XlPqhiSLiKfy8TECRj9+#`JrC`2<5hv*Oc}R1CX7kND6Tv&;U97H zYyOdLQQf$x;VscOVK^Tgg}$&beI=ZUL%SEWzMkt98~&Q(H4ph7qO^S=E@fO06l*-_ zhTV4A{5Rbp{eo@c3tG$8xzwi0@0Jih^EG_ISzajfa(IhP*R)Y$%Y#n(+UCat{K;um z2aQuhejd)G$A5M#P~+cT=Q4}g6WCmW@sGV!H~DryGm`E!;fkD-w9Cx>xkW*4=&0+? zkMfWOP!GO6Dk!Vt?<wjudYn0ypdG+>v`aOKHDzsZu(&8MGKc;-M;xf9R-~~h=TW1( zo#Sd^HKFpLSaf;t4`O8I0Pz(!Ai`7<k{6m8D3DeugdT{+U@hObqME5(yaWm=DX37K zRoDECx(6P&jjtA}M2n4yl2<vDInt8}!c^tAu;&Z-1dDWg(|bC5<tq?*lfcu2D6inK zezz@Jsf6KqIy$7WDcd3G>F5{_F%VDddu!1-p<36bx%vUU-5{<Q;WYz0M#_kiFGfE@ z1W`tL5hCl`9EbWstLySGx41_mW^9WZ{_o!lP#np%an8@1Hq=IMuHx>Z9MIys;~48r z;G+G_I6YatCWSjx3jN$y+Hy5fk19(Zp`+h)&kU%kRKJBI>org=Lx_GD<KPBgw4yI! z_EgDBvNGtu6S>{*xTdn~QOtZXF_i6U3|Tt?<}Bh#qO7-4dLz9ZDB8NTg!BT`A;j|V zjA0zAT@J$?{nWtK1;vvZtIpc(0C3law=yYlt@r12UwDIB&k1aF_EK=g_${Li#IbrC zAfo)|OF%;WlfG>whw|oUK&Go<F`9SRTiXo%bq0CYIxEAXm$Fm)%*q`7j?L9R$`aw~ zoNQuh`v#g!i&3_uf0GcaNoKAMCoCr+vU%PZLfcE~IX`S4fZxfzl}UH$&q+q9C`_0T z_mU%XO*ALK4@+Sc;b0CKtC(&KFIAjh9~M<n(!Iwh${U)Ds#;}lZwA0V<#?AYVXU1f zer{p2!n1;>0!z;P2K8b<zU#OFneq<gA)i4f5OI7&IS|NqeM8udf6$dM;AS)p?#Ay^ z+ylDGm9vTlWCD9W>9?PF@hR5??d#wHV-{A^d2CE#6G~vjjq-TXLsx<`QYT?7a5>8} zn<`aQT4ImRe&~)QXe(WTJe<o0n@TmIKUgOnhJIevE2eL;Bo3@AtkZ-HN;+5@`x}B0 zR!g-l^21-NkYKBs5y!P(RO&6;XM7Xpt?TbRPgAwbAHe9)k0qmivxkj(!ABDMP5f&U zkgA9G@Y7|3yCKhXR58^pHd%f^G2?~)ZOL-a3L^*lYndsCwsn0cQ)T9iS!nQg7bBHy z{$q8pv?h}YpRIY4RWp|VAwWyvBPns(lEG2_kC-_g<8(j%yxg%cP7~V3)%n6oO<0~4 zoS@>g@%{x8YmjTr)hibu?uA{A7_;Wu1dj%CF}^UY3GHJw9fM$VstkzO#dkSGIYzyO zh0Ulq8g#2*Tps2n$*Y~$R{<9DcH@Dnan#JUUa`8}m<brkU*a+51W&hk%}7qf0)o72 z>n0898qB+4F;o6!D+D`A+U#S5RmO`$=&K*zqti<8U_so$AbIQEWh4#$<Mq6piO3=C z9D$P+rc4%><o9;Tz2ltaH_+)O{23*jxE-foPk!iS$CK&Wyjr>~c&A|zlmZx9rnb}B z+kqd0iUPbi9KQ)}o9B4TMeQ4NVTx7v;y&)XvVG-Uu>G!T^qO~VZ0=+FZ8p;c;z(G; z>maZprsrH8-UXr9?ba?7W7l22F&6az*Gsk^LaW(q$@N>S7w1V2Zls*cq+p~O9q4&J zpdNF)xSPhVv9HQH-nrQBE7v-M`ZOCB1N}AO^o~Et_2*igq$P5H@!}fcN7u3V*sAvw zkK8dWT)qoD=@CnfCvY#e2^uQosW&d0bOS3d#?f1Rxd-&gw=!v##D%=Z>A=>CF{|xY z+D8$x)r9z`f5X%+!48jDLj$s___YP<TB%0bTR{}aYJ$Iq03I=(bz&)QI;vKT(WOLk zOhm{DDaJRO9EOZ5&Z>rI&cm-uU<-wd$BTT)A+6t^AXm57p^6FDx|&Quq(3LCFv}?} z%MNY6XGMrfBMg}@KwajQ=-sA_n1IrjU(C`L2Gauo)zkWFe>gcOh8byHTURaYmOYU< zn^>v<f6V_6yeJpf*;$x?`wH`RlU4b596awWtK=`TggLyU3vyno(Yv-1%GC@&z1YG8 zlUX6x3G<qPfI1qsW&w_VS?Er<b60!em<Vw&T0X6D93wnS>Zqm14)t*4d8N3QCBSi) zew@ukMp>`Wk2(l9x`Gneae|%-dva8rsR2zk_HazmxGXp$V0nym#{k%TAQN7nNvDu@ z)E^;I5}{y+G~fbLD_5@3Z|4AaTm<1Nw%)hmR{zW>(uj6CMTfgr(u+{{VRcv;^Nh6v z>+>)ke(KpI6L&x7QNa=}VH6;z5(2Z!(VcwyVli6ttswjWFyHzYR{nI_DCt-?<*<TQ zYSWQUe`3Z^uEKGd>fkm<eimn)jVg$eSOfREbYXvH??pL*%K*cif%OrLkC8ag<?PJI z26R%^w+{W{rg$2{^3vd}T4Vk|I%N~*qlx;<T|{nYeyAU{=5$nxFNW^P25l=P$s}qS zq>j+yX%%z+oNzL7g7Z-9R4=ykF^B`QJ|f)%Kx5Ysh{7F6t>HTvTBfzbRzxx5PAt7& zgq%d5s+3P7JCVdlINd}FUmu49`vH;doA86D&>U6mV?(~X0~#smyDK4Is%TWr5H>~R zg5?G<CC4ZzgZ?PG-ccW(@Rp+)z3yx-yLK_~=qL!Utel5hj=NEwu+e+bZs_Bfg)%$s zx-LE?y|<vu%qT;$IlLvqf5h`)BtFd}Zt1F|Q`G5tqh$o$k;j<4-YN2pNEVTE*SS1T zh3+`Pi=Q)r+(hS?gLR(20yq^VKqgy*5>ra()hTV|QXS<RA3c>;jniJ3G?1H)Wkq%Q zRo)=IU<3WS6r1xDZSLh^i`yGk=Bzw&1S5TmOTu@aFRzzk!mhYhMB1eF(6XQ(Gbg(# zc{hwc*Jk~~i$d4>`hNPV&^0p9Cmc)yhDiiu!;icSqEfdXvTkf40DFAAek@>Izj4vo zI1ZlZ@H_QH&{Dsc;VY~qbC8CAs~W_iRUl!9{Up{Xc7d$j1a7~HO~z%x_awO7*!*%J zGLfCC^ZR7F2pvoV0yX#9#=&{I&OrE;BtyVEnV<sFy$!6*W96|0CIYPjlOZFoYhCJD zUjHr-zBS1<kJfT8&xHdw$({9{pJm(M@&{6DWym`w(C<hnxEpy*a53#I-lqe$s%-7l zg^>2>&jW%h0qvZ36QYZCEubcZJ@}M2n`fUQh+|-l1^V=BKU`xg&pLX^eP0;HNPG<y znmzFgF-Vq!qy^r~A{r`!?sez*Yx}7!hQpA<qb^LqTLI2L!h%nE8QNI3*pvsJNS6Du zC_5uGhLE_#ax{NSC7$8EWJFcqP%}oael<5XOD{Emf0&yl&<-aYm`9w4UZZP%_}<gw z9681~!Fl)9aTGds;p*UI6|}TUGkmvdTo<J!!CM8jYS#v2g#phuJgvJK`DOugx>M@u z3#k=vFH{(?k2z%UWF`8r87UB#qDS-!=nCkn;vO|+>|>O+)cs5kG=*<r&ulf@{4uzN zzpMX54{{HF=s?y0XI;KXH`ZGAJ6`t_m*_DiXbOM%L&Z*AviBcK3|;H;)ZVK{!`<=e z@>hKvqOE+q>#s2wok5SXBjQp|!1=ItU8`b&-hAuAQA4pKaT5ka(A@|4;z*$m(y4r4 zu9zOtGmN|rTFCg60EtwpTn%$jpp+6iZ()k>2*l9>*&<WugyOBZC8_fQI*2`FVS<*B z{}M?Z3Mi8twip{P%h~?Q#oLyS@Lu<W=0W7^!&&C7S3wSUfY`{_p%n|%4e?y0b?lE} zY9M$61$G8jaRWe(NFVJ49~mO?-f?6N<;aep7rNfu?2#X|4ycQRb%s1jVNE3D??g#t zQ|8m?rE4qUYaoU<1m6<?0<sVM1|tW8<}DP4L&6&S0isQ$pT8n=xNkHffqzv0yV%dq zKR%C9wbeDw<y-mH%ZW9z%PSx0Rs8s@s?}Sso&ue^g!B@C^&-Z`P{$)q_E=yIKGwq` z8|10DzP*@8-?6bCZq$e_Fqui-+f7@a1PtjCC_B;DQbrMf^bI2$_yL3v8@iY5gCZhi z2r21PJ^~?`n1T}GswNM1KImlBr%S%0Psqsd<L?Z$4rMdF+4<MmHq%jf&mM7#P~gpG zc!La&*bNE|`VRbHXu~wZH-dbFl)>o8N7nOw;qfQbK_CGm@d3>}t5<gxcM7hAwSQjD z+R!4n8Q=k|Cf<}1udzwOvuGZsSA4}IhFLwb+KroLdauSAHfOd2L|2(Y(&F>8rc2rK z=junQR=3rOypeG;9w2lcc1J>w7DjO|PP^9p&jV-qfRnrOFICL|lez?A2{3pBR@z1B zCZXR=i+oqLyks2kOB8`167MsRV|-TOU3?jF0Zv?wmLC<eKKdi?TRYFgoA~;LYWsvh zYKaE;D2Ha<Z{&R6vicUP*+0G)V_N_vmQo~B&Zg+0QAn$O)>TJ-x!=i)a74FP`tHtP zJ#%r4_fa3Y%}k^_`B_d%xA{Ft4iry@(Aft;(86nsBd5z6Mu_M#frW$>=mY)-%}K9J z(EZoeHT8D*mE0gr7Ug-#sFE+7Mt)juuW<D9bQAamSwCIov+C$AQ%0?ld{&FkHOMb0 zF5TB7#uOStfr>a&W(LK&5;%H8c+^Mu_AX(SZci4hU6vLAO<(mhp_|f}?nSsumlBXk zcF+gd)CIBsS<@M!EXAGJRLw*tA!oLu#|NY2pIhjeaH2crKq)Y(;$U<a;vca=!Z-Vk z-9hQ^VUn5!U*#Az*88oE1y3iDBhPg2?vmO}zf8U7f_gKDn0|SsFm21c6xz@7zXOQw zE?Zp{s*$VEe|Kk98-ZG^z`K2sf&e^+8s<^(8O8A48Y0m@Is|&+_?4f}Lq4HoH~l2^ zukDnfCq(xfjl?tqdA+Ob)8G1XyE-6OAyjXWtqG*Jr#_HX+`x7fsr&T{FX9)SeZdJG zLzwft^rsx{{&^A22%u!O1FBr%k#M}<2X}%^56uS|_ut_;;y!Nq5gW?zn%JYWA#y=@ zp$@8$lZd@5-!rT6X<R;coEPgh)3eZ<)Ffkf<Z-u+wo>YB`+w4x-w0$2^=~cSUdC`R z(#xD<PT2Ka<h`(rv8Z)?Bzi~0E+_C1ixl6N!85npajHiRnaOrM&a;EXzX~k~-kX~D zaAT@aMK5|6oaAeKUElrHUm-uo{zy_ZhE6BLH<muczADT+83FvAk>UCIq+KOfvIDO% zdc>#;ZA7}K5gF4^>v}6@W?d${<y#zzUn4zeltD?;s<-hmvX4NfS@^Qsp;s=Pbl2D= z#a1lA`jrO>qkvg%$kB*z#orJt$Ai#%CHq3RKOi%F68Cd6xm6=VJq>u)+Wl=B*m%#N zKlLnF$-jbjP-G!y9moWRS~|@kpGX|CFtV8EZb&Fh=|r9`eBMc1d!=tSblbNZT(oL_ z&n(ey|F>C;vJJNbVMR*gW9}|P0r_-5W%AQ3tlIprvmB+0e!URb7Z5)uFG)mSAH`@_ zQp6oMM=@a!#%XT!z`-=m(5hRt*vS?xLE+Ia$eVTn>t=xsu}#I&Jcwf<O%sap*eP|= z06{>!hsa)25v>5$@Lxw#u8;YQQCyf5T9+a!42R+S$wac?=t3j`g^-}*-@f1~7fM4S zfdTc{H={U=Svwc_Wo%ceD3s;bXV63RDHC)O&uY#MV>mJ@LL2;8ee<CRExp?)(nrRn zdB`3id?0iZM_kqPxR#%W3L3@M9;DXKdf$o7w5GqX@QH|be9W1+^iI|%=;SDDBXS7M zuA@~<DB^4229z*Cs|xfY36Q)2*9JZ*>=+5?dEtorwufUZbp=OKOE3Wg0t2}(ZhFiI zygdr1Tw8#@rRI>Mq~Am97Tvv9li)KQ7{${VQ*5qXY2IB~H+sa?33anmin`V%MPKW3 zvl@pbJM1c@QTtdC4#4gRhq4%;Ns)Hte<+x?tVC5b5b9D14J8zEUk~i!MDri0?vZQY z7o&W@4SDCK?7Z_akq;#R<47HSIRM@9gt+orlkyCYE*pA6R|fOw8!dI7E|aXrMe(0F z;V)g0n`0L=ztQ-_97$BO=H|Eqg%Xi*Ec|mAEoF`hv@ICs9nLXQks|G=7*P~G4!fyq zrfLKzFlUTsT6esdpgZXie!R{@zwQ<#q6BV1<J~e}Q*sNXfy;~XP{au~3p<{nV84R! zfn*|<LFy`U42dA@BMP=&$RsBtb0wYfSCKZ01j5umc02*odlbq8J1imfQPJQ}W@k+> z&^C{>s*)Q%#gh*G$Bg~Gio;7LcrBE9gM6FvrjtZ~WZ3ZpZ8j!Db?<X(<*#+4fp_(g z?`Cxa&c~dp?xW}7xgzNMvCruCPA^l!LP9CzhVbDYcO#hgrCan_FlKnpF^1jrkN7St zz5j+ejjV0E&~#k_sf4()tr~urDo-y#;=a7j&%Y_ve8=3L10A7A|ErA}c|yr=Ckc{> z*S}(GSO!9<BuiVPJ{Jg5%I^poL<X?&Uv<e2-E#M&qm6?)mRTiZT|tAcZ-?0AYbBzc z{qRQV&PDvE><n7HyI)BUjp!?EMa1@P_g~(9X*?<V<b+h~8&Y{+I@hU?xMtr`wsF5} zd|1SH5rTMZB3!)~YYXQUj+sJdoq*f{$~}3D*$}}wS3o}GU{(H<7t<ek5&c`lFW=u% zMEdrlq9!iw+Mqddh>?*Sl9?4pDe<MF>sUf(OSu(py2(r7-oeiX@;Ll-6NQ#ctoL3( zbBc){z6~2G;E`wmS<BDMCZwbi=C!Ig4~!va6sVagUq1xDP9<cPpnLgfre|v=A^hRl zG7FZN1hxl)m<QGeI&PtLiDpYT>X@rTH{y5kLZ>CZ0V7x&C-@_ZE%Ft17+Q{<Ga6H* zlEz^=N~oJnrX;qk8|$EW;sq%;V<jH{dzGJ<6QsQ3!y~%TKive-$p`jSIKvzdpo<SI z6k{@i{pcfmdC~-Br}J^rYT1~nloT84JubD@Cm@E1(l6(s4Nhpb^C&OA-L-bQEMAf3 zjmW70TyCx^h{0BN8eNj<orM%}M79OGWe=Yc??Dd-w()hd9-hd5L0ba~uv>Voqz{@A zXYOR1>Jg15YyqrycK8zrso85RrB^D>ZWDPV9YGmsrZEoXubT6qvj;-4B<lmL%Z~L; z_`-?r;>PWKf&;9{y5k^9Sg!f{In4v_czb{Wi%<fKKCYEaMdCI<w~|S=&!SH^k*@B! z0u&h|>78!_?Q#o8ptLQ`c>`Fb$!@Mw>vk8D=B*LP;%-}!B3;1ucF;)BzRGv#Pe^`S zC^G>M_J2+eQ?mKQy4hbWgp-<l=&3iP-n>B-Lw>t_<fX$E8hRCXphi-mv=AfEUXZ3I zhuO;l?RXsXC~t6*W4z?-{cm8y2;G~%zMEr#<N5}%n|vZ>bR%S8M6uKm$`$2C=q3T5 zbO{M1=&yXLn1yNJ^VFR!V=AA*%0%(HM){sf;N~i@xE=j@kd7UwHjq=m280!vnm04K zb{Cw5T2-qSGdyH^yA<&S*+ASESG;$}SnHqPc~jb}>fZmusQE=7JFwSR?eU|or@dFh z4Vu&1fp5CdWhcsLk(#$`2T?4@BoI%#z7u2lj}<uI(|e3adp$!LC&{YC<{q+ZyU=60 zgq|OYS$sl;M&6l(cme$WaY+^@jdn+0v1&0h#T5FWt5M^e6{>uO^X;YP|4ue+z|*Q% zus^1UmV}Z7zgzNVM3#LwAZa_HhmMeZGW{A{WB&`RW+t9S)QA`G(;7bD(0NLqBV~M$ zV_+OSLAMA0yp7GfLDJ+mZ6$J;tZPEQ2Qp>q15NoN NIf0f@<2y6EnUW7?@W36rg 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%0AjkH`AMiTq}`kv$qTV?nJkH$#+r4 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 Q$BRN$Iq62q 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%0D<&{rX-d=f0<tHl-sobe@YUPWmf2M9oU6?v8 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�(^g>U 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�YQ%gd#3oqP#NRqsE1ag$xHe4xfJzpUhXU(^0X z*i`G3fbK!%T<d3l{b`AwtnLWe9Qn=1loJ&FDCU5&$h%$W2(K{ZitUiy&9);oO<I)K zKQc&s_o~Iimnn^l%&6TUe<R!e--BY(G81WoyH`MfcNbpa-@>SY8Asih6dV!yORE-t z@mKYXcP<|SUitmv73{BVQys494;*8H_7)!R^XmJ_yZe5W4)m>kwsave{BOUXqtZTU zOI`B#rTI3N+ovD?IWf^sz8n5EUt`PC)XCB3lTu~PCnjKsJksIg?CyM$yC<WNr>#KY zJWJCPA8mM3S-McMYV}C(YbmXx8YC1^+n76g5A&^IDPs%yGc>k`lI_>1;0*7q+>)`k zW7{c9J(mVP_PFCX;CN(fsf^3$ApQ%VSfG)q(0jKhH&cQN{;csde}8+PKSN{A*zQPw z+*Kc6x5iqXl=SFwS<J<hZ&yfup;FSen9mt?tzG@f`ro824(90O7?Il|HzS}}!OH%R zW2-+}_2Zk@lgg~jF7u|ue!mh^EArtk=X|Dl-<H~C9sd)aI9wbR@+kjY*PQf~G0hWa z2|azs28OuJws&{VvfXh+WG`}wERY$V$6oVA-Ios?gG(H$njQQ*>;12ef9pGHm~37< zecrgNa?DBC74x6X>bW=nb^q&59_JqWB)6t}6aOq<PxY|lpKXUDBR9$MHn>VYSNEbn z>pouf=WW2MN*jxX2vKqL>v%?GHpFeHS69y)LRx0^*y_orrHf%>^UgOnO|i$6P1$Bz z>l+-<%CtMTy(2TXwvv$T>v1-(OHi%MR?nBc|0@WkKUI3`Q#b8x)UAKjlp)qlUgf<G znFrhM$3KWmb8PT+$^X}@n$7F)=eT{&Z=SmXj(R?^7qRcmsjS|%{o&n0?u7<f&VEy# z#U))0*;FYme-*XR-)XVmbK6SG-90=PxH@>LjC1jeGAmh5gzgQL#R4hmaY31VEWf>{ z`8;98ZQmWm97D9nIq%%6hQIY6mR;iYmoI<Bv|?4tZ1M0<s~r=N(nM=(jdkDczDBBM zYnae1akI9{XL@KG*SR^?#B0edG+*}tUaj3l$27;a+_O%_5vAS?d=@;x9Q7;gRh6WE z{+?y>797gY{`(j^ChMhm#I>DgBi9w$xAb$dPcuK8UIobkQFJ@CSNzxX*78@+mcC8o zuD0ur$lR6O(_YzqL+D=b;2h=c@^7aoE8=yj^4?`LU&l60vZ$e!gKp7o-KBH3goN)2 zm$jZ=gF~KMm*yNzn4Nq~adAEF;o<(+F-zH;d)!vWaYpeAjtp*XX%J(3RXp*Dw@b+? z5r<jx#DqU3GFq^PF7G|sxozXqGT#1uocY2$KPWZ8pIu0so*-sjGNpJl@qQ(x+HWbF zvj1o&?N?nUhiYE^oz73yzi&}ih9wt2?zh-cDQRKCRQpJ&iif|?RP%U;km#Q1rHyfW zAN0rVp3))hda{qx*D}g;y~hykqxv<wzkR#%Q|TA5+kb;gfkemqx(WHLoePc0KTBGf z+5O+iv=Yu@@=;HJkAZAZrX%im)*NZP&k^5E;?$h#$=fovvGXpQJTuHeTByphYN_Fl zORjT+7kO1xmG4`kCfKJ1J&Zi*w^tpU@;&ifP80HS>*~|XrJ>_&;;4kF+FAE4fpy&) zIUl61NuBLnW{Gq^<{m3N;8k;9<lInGx$OVT_pNnp>cQ{6iMtT5Z^+lpb&h>Va;ww| z_GqcA*JZEP()X-y2~{#5Ny%Q5{Guc+w?$gf>`2zudehC%+MT*nrOau$q1ph~i=nmM z!klq275@hCTRyA8K6sn>-kcJtD{{Q4rprU`1WSq|Z|b&`cT~^yvG*eDD5sWvF>|3( zQx3KkbIlSxxx+Ci+lvZm=UhwsT(vG&n*TZbFGNv%cIL_FeT=qeT}e4-YeIG0$9ol( z``Yp(=Vr)4oNJEH7IUPsJM&6L8~)1F)b*D25pSi<wtaD2r&fHYM|1a0mP*;tf3~GK z=ypJjkbSOo)Ol&`(pov5ia$NW+{W|AnJrUZ*o(+s9&<d}vQ%5I46mHdteQFAZIk&F z-|9@wO4eKi7kQgUBTH}5k@_&cRMvTuXRs8IV5(@BQzEjbX%_2EkA?CS=i>CSnJ;(? zOF_@B)-sxVt|@DSvw-y8N-lw7d97V;4d+-fNEqs}#U<WaSG%9oEP1wlh3C)U-(H7> z;LND>fwq3ad-un#oy0vk329$!%Y>zF{oMCU*PUmwX69_<-{mW=`z<d7A0<3zjW&wS zHy>~dv=kGIWh_j2lJ!E2_RaR`X+7&KmN6-NvGc6CyxUs2mh*4=sq8R*)qK>gjOmHi zIJaDmS^2_Vn73IbOLMiqwgpOM;U@cTzG!CVETw*0%k=TiD7U}9)7^ftn>j}^3)v<z zf0qf?W^^jMY^IB|xpdpbY3aenIg+!R+qd%easx{llZCf;ezAY%li4OI%5uqM<Kwbx zrcba>mEF9Cd3=;LWp-9XPOMVLeB9-wm}I|^SvR)>4KTNJsVhBDD%p~4owZz{q-nbO z3wy5?clc;l;hIp{a@KTKyk>u%xjMHlHFbI7{>S1bwzGH1z3BKOCRx{+UTa@-eQclA zaH+k^5=&zt+nH@EtxTd;@*e9T(*~NPjCYh5J_sEx{+3r#OWKz6FxOYDZaU-<?^?^; zQf*-q92NL&b4PQi=&v--^>zlZj^=t+AF(<g?(kFs`B6bO%`iQt+5D^Wh>sV-S$Wfa zsiQbn`H<7viOkD#$)$q%p4d*g0<Sw%SZ01KhfyzkYnwM;Asw~skV`W~S>`CFR-^Y) zh&fS;rVeUzWg;sm+?L-+fzli5=BQ?Wr<9fQx!kZWmfbWz=PyS&9wI+BT^7UCI*w(| zZfv$(*qmQ#N_CZ@idmC{qtYaq*l{YYHqru^%9uPyXei`p^PGW76ZN6k#hk~yNNTH< zQrw+C`AR8V{>MH!n>pI3!-R6C!E%OhR=cA_sz>=a@sFG;*;re8q`aXmf=$X2lSrYD zs#)8w7NQ$cb<;wVjZM}bEBn*|LMO>v%)>W2W0fV;Ml{RSMH{(j<J6woLAFjTA(asx z(-u;B94jf56q8ve){mXyAGGRP5#CpPB=3{Avcc*urMvc#<rf>W7%jhYQBC2+g;%1R zaF-OVqvplmQbWN*>MmSjw|N0_WjRz)_`$}A*BRq`)Q;*Lwpfai%SxZ9ljfyaD4IQE z<!FK0KvlHov|i{U3}Bu32(5x%A<N=er0|%nV9#hH?V=P`RX8Ke6FN{uenDN&Mb=Zy z759lDEM9A;)uyTXvorjd)`T<K$PTm0>>%yqKeg-Jjg4Z(g)G)us7Ryv4?dgrvcoir zrLePfQp=~7q^3ey@u~2d{h_10Cr{v`=?S&uL-`(_L$}y?c8{H+ulxcpM6X#VVX`0! zO)!E76=m<pk2PX*#0WW<olzr|o!lusm5NG9yaIo$4dM@24!b5i<AbzUS~DsNX}AgP zsJ7Nx%jNro1wvz?FiWCLp2(NdNOl%zXdpP*MBYg|pqYiwlCPA_{2|#1d?vZDSSrWb z@y}WtzLkEnN31E^&Sz+!v_L8()E4Hlx4g4fmS^%YtR<_<$}&;tE|g`Fygwhuiijc5 zLmkS;uWHk{{v4p4`|@IZ4KGJCC<sVe!E-f{527N%2;m@`12%5UfAULIO}Nfxu&(rj zZ^77Wuuje*SOt=(2kFlWJtRBX=$8J!Rct5Q%reNIEv80vie|Inf{U<&m0~|=1^uSW zY!Ng#S~$%LvfDI^Z0wg1DCS`e_-$UF9<jl!6<b38(KH%K_1HhwQ<%i`9-t-32S_O^ zR1s>iGgO@>P)TNEtA%R9D9rALSvw1v!ZMMGW!Yx(1X4~41%=~mB)iV4v0M1m4Le#v zqiGG5heqD9(ySJ_K+9uT5w?K#{{R1NH(`3$s1ZP3C1C^G!Q5F<ropP#u*d8ZFwl=y zQC?hEh4sQN`;j*_A-&S2A^S#U=rOO&HK1z%#@tBv`9Xexb^tFc*ibsj<M~=jpzp+~ z0J~#UCAMQ(!V6&|t4?hx51YycvNYy{b?Rp^H=_(<?5%ND^c8Z|&*Wxi;R<^VIqOdr zRbpjWdEAkgc>uK?*)?{7^<fjJvr%6c#_}^?XmCG%UT<_vIYBirYjLB?<pWZw4+~{S zsT*~o{xp});A<icraCm0@&FB2=puC?y;qxsI^g~Ju)n)BjB@yF{*1fOD4Ieg=|4V+ z`xq4<rRWmh!RPUbd<;L#gN)PMw{eMrXfySu+Vp~7=bv~*VBjHEG={2D3NM3Qt}~un zeGeowfn?*Lk0I0;BkNBY?WdcN^(V|+6;aD%dQaDBC}z6OSMtF;2G)3npTMk*c}@P9 zd(d*QL^1`iS6F8?DvuHM-PWT%w1b9IQ|##*G`XA3L9&%GXJ4uT$&@5tj5-fvU!$!w zf@I@4_-1sBj$=K?=p?Nsy;E`}jHv%l`%nIYzve~o&I+SP!&OQrGf)x(3>~6%bQE$b z&L*-etRAz`3(BO1Oz(kaht{(wiM~R6{>+Qrqy|`BBCmi|Z=eT8g;k1ig8NZA4@=UY zFlkQ%Awm6l!!+2(G~Sy}<q!Es-WYqTgVm&S2TuVfS;z}NE4&4)CV&c338M>BPow*o z-ihoh9e@OiQeEt<9ITe%`zpNmhL+H4>|-)CqW85-FnT_Xfdt&C9<_jc^bV7Hr=<nB z`aKn6uEw)}<zOe1SvyvXIY?$dVf#st!AgA67+AbVPsx{cVI7zctl)+5Tv0`qNQaGQ z{wG4JpI~Ep#o{5X?-8_e5ms>qIG<0G@RR<e{{ealeMR9@Z?*)Mxd?pb1=P1@gV<<D zHkb707q1yretU86W1!>_y~Wse%FpiN`wOr@b9RZ{XRpD}B8$ViPS7GSKoIHulsaIi z&tV68Kk5490FHy9<A$V1$h{zggBW)wuv;1EZAr87yIysB7C6%XU;7SlwhGAbrBI`u z@hlyI4tHVwLx8U{(4`N2OMi@59GGbVJhi7e)Esx51=7N?msUW7-f5s1%fo(S<@=1M zQhNYz(MHW{0ZQUl%--AR0H=44DG&Kwfj#{+x&^F()byIQXsQ4v+Hdq}$e~cyf<4An z9iUeU?6(WAp)3J<)}Of3d!$~}8IWRNjaD#4d8&f3)3{!bG6x#z3tMYId9h9n9-$>u zu&#DS4NgB;#{ybNwXjD0Im%ezDi3s!2t0RYr`ZoS7I@H~jyj2TJfZtEh}?j*&#?3P zkX@WniPGJuka|rQu&c2ca{_RlkJW^=d<9cq15zdcVR>0R(6AHxxCwmCU>mWEk=R)? z{F}}+F#j#K6>-5@b{EV)3`}+jvCBHx_8zcN6mT&G=wFMU0-*PeMkkf}uqqjt9mZ+^ zM~YF~7i(C?BBT0Y5%BSsOzb@Feg^w<W7WZ~U0E^q#OTF)6Ej3XE^{Fxz1mBE((*Uf z7zrI01IOyM(_YZT9gJF)b!3y^e`~_hEwFtRS~>&9(0lmlHo61%x-m22Ktv++fxckA zMc~xo__RB&y9p+c;32EvwS=8y)7d6gA09UoI%&g(uxXIQF#I$MpR8vm*c3L7nc(Nj zv9|EOU0DgH*U%q=)WcXl>{((#kb~~W^uC2oU|z3t8wCrk#su~SsF7G0eky>~Mlc!j ziG`Q)#+-VmI0gE80lk*N&*gD<lF^g$6FK4E_t8>lbP+J1kOxblOL%X;acaVGyk7|@ zHc=SWg#0>Tufu?dpWrF|8PA=tSG}G;5!NoVRJv?b4(L^n7l5Giz|0`X;s9(amU1Bv z2Q+pbyjGqFKFN>%@N^!<BjBR~F-scwKZVycuv&}4$;S0g;5u%50B6%6<0tU@t}GHe z@Q18?;n}|cE6sub+NAeCEJYoSs@oApb>L;-modFY^E6g+4K}k6mN)>T>-D<9u+7zc zEFaC6@`ZdZe9%e$9RBDV{|r7KfHm)fjc&x%Jz-5%jQX01RF+zikMSg!-rH^&(E8Ts zQ<skgvXA)w5%JL#O2h8&!q&QiIs70my`NVHUY&>VR^b1=MqPPxjJp8x5`l>C^pAc( zHhLe!f|!H&UszlT%(4)leKFW*i_tY_E7mX#ch-Ppx8wTrMup;3c%Kd6;2W@=*07Qi zV0;Z8ZVlfD&$^YL=UxW;xiBLAY16gP>?%YE`tzARAgy^uh4Dq`G9Rl7R9<6Q>=*mV z*0F`GFEH8!Ua&B}p2MF##Z@6d$sTx^$ym#F+}j(>ISqW~4}=T^3w41-O@T#Cr~L3& zo#Ds&fR+2=r+JXrba3G$jN}enmt{TJ95x21Ed<n7MMU=)yXk_vTVeM@F<Kv^lCVDR znhq|`hba3Fm`*<vqZoA4js$r7dwf4X&0p~;{2tHX{f!QTNXuXuZ-KlU)C5sgMW*xW z2Jp>PSlApk54IDGs4tB5hUKY<c8`O9SHVg)!{*+@+E)R~`q?}#Oz)q14@f%&+qe%D z|G}sufK`=W;lKGc?g>O~gmt|zs>p)D)n~DTrx-`CV0#Cf-3I-&gLZX9e!&REVBe8o zry8(WZ$vxCAdyS(q<1ju7^7NtC3Z0Z<9r97nXnH5SH{4XpXaT4S77!vY)9`^auV|t z1y3zAp0Do6D!>=zfe-g%g^i~!^-7TZh;4hZ5s-Bm_=ED`L&D19G2a&O*h}ikW`enw zf=l{BMs2{|-Jp%G;KD3;V8$N6q8q?MM_~O<WG@rJ*bbm%06btzR-9#nqs*9NIDE)D zc<Zz9*{i^71HkaB5vhj?79kxBw~ftWN5Fk~SV^$oS7v7w1qX1p01-i5thNy}vk{Sb zX{L9&3}SDv|No2*%*Ut*-mQn#?ScR31+>(Kk7)><CK*+H0yOx<r~}sPV>`1tnD;I` z%rLA^?<&;}8IBE~zlINsg8qCUohG>QH}HE9U%R23`G^@h0#_#F6dw3#I5hDecw-MN z^R3Z$up7L_TyUP=jZj83q#_>diM50xeh&o$RK%`YK!z`|)3fX%dxd=GHR2t;Qt<&S zv>upaDORx_mSBgC=QW<9&PJ^5ikL+2B>9&6QDI=*9bUHs;zK=Rt&VtP4e+rJXv_na z)q9KA!mdUkbF6`N<cCDMve}5{&ai{{zK<PcZ!vEszCXn8o3XlvSY>NSurxdw(s(d- zhSAqP0{(Fvurm!hm<lT?3}*EQLNmZ7uOOvxL}@vsS5=zePtF^?gcgDMw!q>y0eexT z*F&shd)XUSLntN4!ZWr8yWfWxpcC{`4k*{XN;DP3N`1h@pNxKT?eUHW)3Nmfa-VK= z8ro#^@Y8Femco)Q!>1&G_ZC7oH6RJS&MFf8QXTBE&gf^PSDbbOSM-B)?oes?c)fP; zf>Cj|9qY^`y(isK=x&8kSzw2cEP*u@$EsqWIlTgEH%8L?C0zu!cE!vCFy=D+`@bmU z3;f_>?DQ@$@(}tvgBAHg!xHv#57P4ju3Eu&uK<UXgJjcj<!gAnc}D-V8`!~1*h>lc zpsyJ3AaLX`yx}~fMso&utpV_+KfS%esHf=!-&h*F+5ucS3;UXa@qS@Hde_QR;EXoV zP)%sQ5A<~yb~KaqgM}V~b<}}1-@>ZLfInVhtpp7RAo|d|;Ob|qoHeRH^b=U-V0VG! z3D4>Y?tI0M!aqFV%i$w#^EiGEnb8&go~MG>vf+dNSNqonoZJ`rZ6VU@P|e7ggTU+s zfm9hj{4f8)li_Ku!>f7WlfJN>Bwi3GE|2@x8eLcC!2e8yUV9mRkstCu@Ur@Mi88os zJPjNU4J?FL_y*1G0m8cA-X`#!aXb<^)_bFJz=!l_<#P}hBqC?>!hOlSI;s3SzsqkS zkNk--|8ZBu^Gy(i4Tjflh{#y?rEQH0nE$Z);dp<DQFYr3@}7lRH-qhCA?Hg*KleG% zK?A(j0$aC$n=cd$4*g*C(M>e+pskSoXka)Smaq?6`w1>B2xNJJRrM$S8^O*SW1jV3 z=U<2pe2piM^<Ie)z)o{;;699y4Ie8AkC=X<nGbtzM34Ft)ag_QxT=C|Cj^#N7}?oh zjFSiy?1yda!-`iM8Kw={S~RY|3pVp)CyY9*UqJqH$S@k~bb>8jBTqR7e5E44n1-?P z!nQ+M8a&!lNckarn*g8d3TFI+dw1gAk-+9^Fsa`8_ynY}**JY+AZA?%T<WpMX6&pC za8S&sb02H;XPt%p7B~7#cZWQ5$u)sL90m#NPt8v@YH*f-!L4AHg+@2p(ZEuFSU^MM zDR21?z7r@&;Cj!)hTzziKym^4z>gaptvxWxQ)&%w(gAF;*r<TfJ?k&*-UqUq0FSdB zyq^lG=qFEXg2eQ0$*JJ0v5=}iu+#(^-)+<-Z-bq;1v*LrjT;bsMZl|+g0#;=e&3C} z#}!eDJ7kpuX+Hoy&SKn;km7IbRi#SsUWYKpSd1~rI4?x+<+t9b2JykZnjnww0OU0` zs-M3DrFRi4|K-DB*==#P{=R;m+#;ji_X{*t0}(@QWJ`81jowS~8E~Li;p*qn=;zX0 zM&$g1VvLTbdMC}<@J}tsLRqjny;g3q-rEeC9}1iP!bPmYj5%ZZJLJa^K=WFRtN(SN zHgsmfiX)9tZvinSfkiv?Vh2(Zz@qzscil4|FuJW5f|PGy@9!|f3w%-nh%b-GLXUH2 z0a<HEujyC~sUCxM)q?JqWBs0pDD{q}Ziwmy<P8I`?{z@%6QiTt7f3K046zotonchJ zPRH76g1_`LS@inTVwkNyqOIPz=aV4;z5B1;#Z#}{+Gk{fcc~`ZZJaW(2qRsFzL&7i z>^Ackroo%tA-#ipE-W@LG}#=va{*xdDRkHtmg#}fM}ZA{!DfrW!s2nae)d*BqweCW zQH}iwzhA}9qY)2VSW!ePJs}Y*s|;H$k9TUa*Hi=f*=NK<8OGTkcHnar>}VD=sh=@6 z6P8i|81n%}I)gd3;;Nh2(Ja`(IJ}ks_pWq>`_dk+pTD#nTE7PLtTgJ}^g8>(m}wYz zpdD84iBWgpy)C3y2#SaX%fg%2M{M&Ox~~8!Kjoj0z369G>3`{qfaU7F2J^y>_wh%( zDWAcI@EG0*zi-8tUVGEjIIC$pd}cb>&x%|&4j$u*5$DV|I<1euC)rdF?A6IQv8J(+ zS(ZmM9LV%qPY#R82l-Ay29pQ;R+YVgb+v#_BB&%*GSbN6uE7o?F?I>#1QY!nq93qZ zy>{XfaPbW+KNzz93hR7;*_y*w=7)W^Mm%Xk^f3&P+#8@^8SvQ@C=sx77woq<zU%e7 zJ%O&__*bt8{*5e3LsTI_GF`xP1rh5vWxLrib_W^wAY=o2@6@>z&h+l=RwFWz;J1B% zkfDe=iy=1H0x2)V?%Tt=`6A|M3Tv(i#?mc%8)Elxuti(MRcqmSx8tiiqUxI9r8<b7 zmb3rZB1B^C5GiTc=MLQQ!^qw4WAz*ekc_{(>E|Q4V1=zA&8fhae$LH(SmX;x;5Q^W z3mDi0yJ`uhs1JLM<*i{^#lhS4*?f#1f}Eu`>kse$fo)+g5P2<N7U4Vlf+%D*^jHBg zaTNGM&%^a|5Qc#nx*L7n>lra+IQStS_Sh7Rumo|%J@8~V<XiRN*ZsgxQz1uhtStcO zyMuMzgzayKS33ZH$i;~1Sm!*j-6mM@N}~qtEab3_T}4)~3#?I{eS+4T!B+P|tL2RN za5>`o#qfJkh_@;tTT0_4fxe%xjE9)*0b(tJ42rNyz?X!4uoe8(dF;=LQFkNXsKNFc z75DD2!P9u>9%9x5&=~`Fxib9(484~43Xq(II7x%7v+=S(JO3drK94v&nmqxU8bLn# znH+nugO%_gCakUkR(%R`oQH8|!}rDk+o8xIe6W@uu!$MKr+#u&JD_$YG#QQ@<RZp% z7w)n{;G24g@3(=+c7R8&!=ttUB0LdgMlk&^)vLiPBf+`(@ui>jl8@5i@AO{QN#N@G z@SY2x+k(JFMdX3+jK7)92SYRlyA?OiN=bu{2*iG?BWkXOmDNHF(i9T9iqB?&6DHxF z3s`~PpY)e;Qb|=rq!rnFXssJKz=Rj^a`cmzFuclD?5P}Np`Uj+2fFDFESAK2p99}9 zMu+B&`1d_LVIVBOm%&2i@zokL55%<%AtM<WEQ-~XM9fnH_WvG?tn2YQJmC_fGw=?h zdvyZoe|w6;D+G3375BA<-SuSSG5c6pTqNXQ#>j(<f;X$cat8p{TaZaEhGZ)lr-CJd zxpR$EXx191=uN=*&0rgO5f?t^+xZqmt$I9}$B5~+k$&FpA)^EFd*E0<u_h6BUo+~b zf5Gk-fUyP{)$dg>cQLHViM<vAd;3BzCg`&r?05t6;X9CcRm1^0njV99Ut)hpA;UJ{ zZY$zWFGMN%4ez?!IK^=@7+kMPABrqx0rHf=(BcnRU=n84PkHl(?~FtY7ENxDqFy^3 z3I1$v{M}<9<}HaRW&m5sc3_47!FTC><*&lOUB%Al!l&pFViZR60|#{m`%J^#eQ-xV zSi*elYdXek1`Cl{f^ovsU&#L@_%{hGWPx326oDC|5l@_kG!G-*d2O6L)d<#E9r7NE z@5{g}&9S1&ki>i3zZRZp3U+uA*LS8LLSxOJ1qpeCVa$uCBYSuVtI5mi(GA3KTfqn= z;V0bKe$4$p)(B?zVcFXe_cQ3N8s^<-oUvzS`JmZd*wZ4!VXxpp8zN8b29ylI9x58= zggrq#orZ{^AQ-zDcKQv>dlLDq9-l?x$_#Lqexk`;Fz9bc{Tx+>4w@s@83s1Ej#1x2 z4i+Fw_v)FXpN__i^9hO|Kc56^?+U4yp_TK9HFW*RK=Ent$P0`YOI}PrK{N(Z$i~n0 zm>=%T0SjIM`>lZIX^%PezY!&oes)kiwPh)!qjfm+eakp!Wi_>7d%&5`F`|BcLM-Bh z0C3h#aKcrf_yh2?0*ty9E3F7tItrG3h)?GkmDNc+3^==w%x5)nt1G-R-Vv}rUod-q zL`a1&*J)h+0sB9WS!N&}z6-0<&pvU-p1T2SJrOPZ!!`Q<Ht1c}Zy`QQKx8w5=CZNW z1or%Z4k0i1hOIB4&Dil2YKMHHF?`%0sv&$pY_$n--XM%sj`|25M96cO(JHo3ud!zm zeP#ODaW~+{HUPo*C_tEs9KSW<rA0u39=W>1cU^`)dVqa=aYt+RlwZMmR9+Vry_R=o z(-1A}qKSMoD+(_cig6l3yBoo^B_YwL;KM>}BH}syl#<8r6L(2xxT35-EoaS*GfXn! zsdvFk524$<B|KX;-%K%FfuGa+zjwhq_vkg>$g=rb*v~z_6q4IdJy|B-%#QQX$ft%I zSw;tN#2nra%=sVR!Q!+eAU~RKLmuCeztDSVvv63#ZN%S=fptXAd<2W2^E{AE=kdVF zGG3hZWexdZ)`OP<pT%hU|IIz-X~H3G5*6p!T4`Z9&1MzELcFLjoA=<4*;_RY@#zj8 zC``xfqHu~@idHbfY&M+iJd&N{=MX1;*Z(5OJA?lmS^#UychNg!*tdYb49KWI3!pjR z?`U32c&{~Kg^}AYLxi*)2$d-m9IeNGN$fu4l7StUg-*W%l}q?uVBw$Ypnn?Ia%q~D zmo#36e`dqAH^K$s6<-CezpwQJ=X^rMc^=;J4E5y?sgaPXJ*B~HowgjWyxLuLlbWFs zX=*v~K9yoWgu2X6x+U&lg(NR}p$?S?vDG}Db>{iBbpBIYAS{J_zY#LQ^L|n_;gL91 zSjNVR)m59iMQgA8bRJVZof7Tl69kKNge{c%ND&g3PRawtJ6bkxF8$@twCP%m66ma^ zG5Gxllp|ac_lO0g#quwyi}+6{#Qv!BoqwF~9FJ_<?QxDn%2choa8IgX8fv;~7R-I+ zZe|ZTiQjT~Aq#7-%u#+gTRF-)>v5CNQT!@yGL<t;5zCmq%g4l@bd+u5aklr_?H%K7 zUb!voEuEd!Q{*k*vktUq<{-;G@gs$aCz!02$S$w?2rkM~M-9d4IN=<_`ikG>@^WkQ zXp4_DMw~4_5j*igyqa25X_nI~tG>f&+vqgYY9UsrY@TR6YQ1e<Why5<;FYzyR9J|! z-OJo0-j=4Z&e{Uyu=5fX6IV$e#NMU@mTRU&CX4%|`l7&xX$zcF?9FVEIn1`jew{vx zsZuw2f$VE(VJ;!hkeiBS*lcaBx{LYA1G48kyIR65+oiSIiQN7UMf}K`3S4Y#PPGJD z#<E1=r>VQpi+5ED<V5B^&)uIhHz(OC3ICbBEw|)$rbM~0Tw9D~CjLfSpiWfk32y`` zt39vjvd!hNxu)Wse$??#Xd<)~p9)LlJ#Lk(34F1zSnMDiqMi1dnVvZ@wq*Mxdyv*q zp5^w{ZKfqeY9ij!&s5i%DI=86>VIlKQ$68Y&IG~V<+^(}>pt7I<j%IU^jdV6CQ!Wm z#J!-4C_dyz)F5!TVB3^2DC1?Wr|PS8(KgGE+{xpWr6E7*{H~Uug4%A!FvokffGE1( zmq*yXuqfBBK0RFAvdYF$x(CxNolMK=mYn8M%6ppSxoWpH)n=2IV$STIGCk)K<x0Ed z`zBAf<DPR}p7S!f$vL}}5wu0~QyQt|Oq+d2m^wKp&@IbZpZDhF$;W<rB%bFjz5cmP z7MBXO+z0q=b?>YtXB^GEqHNa=<pia^%Dm1WyLouUyIwPgnKnox`TCrS85MG?kxl+# zdd3=<|F{-mS;BK+uG!c6R+$#pHzp|Mn)tzYoc{yYucm0%+io?itCiwuW7BeTO^$fS z-JCx5%EAkeL4G@YQY{(0rK6&407F2$zgc!f&J@RIs%LhwmbNJF)nspF3tuU&bP1Ae znb)I3;%3^;dG!iw9+YiOGwn2&vrZ5<WbOFpnZj}k^E>oby{{FP+jz|gSm;C2oLqBy z>x>IILsfWPd9t;U%SgA?9+l{bBi6Y<oa%C4Sd`Kw`e{N}VN6)Ri0y$3<t%lrwnO?x zSs7pdwNCn(Q%WvuZEZ?pAyOf?0=|X3J__wKx+hFYZfgG`=CS^?t}<^heY3{79MqoL zs@WFv%H|?Mc)I-8GwDC^V)(Vf6M{wy$1>eA2dO!{hplhwt|T@4kKD>r_IM^o(RL}_ z?UQ?LAu8?q-;@8=IhMI}^f~IjM!KQZmj}9364p6uX5X>>WOrEs+rpGHsq-l-XmX)9 zVNThRW=*tZyHI`MkK=QCyUbPmtb0qJ!fs`R{CvNdY@RHR&Xp7ECS1>*?P3q;<TupZ zR-HgarPe|@vO3y36E$CLhE2-)o0BYk4yc#6c2Hvz%bJ_ynYqc?iuv$Ewhy^=_)wR; zUftbAsU0s&U4$bv%~mV5NNPjJI~O^yrT-jjZLKD6%TMTxuR63b+GcxtrbkvsM{$=@ z!NtSc`u!2+XY@`Pk{Paa5VrCl=LUOC?VcshJ=Ar(RGClYo-|s^&WT9hlm1ry>)tcS z?myAmRpCme^M`tqT5H8=Id5hklsP%m&C$ViNJwaSuwNk-mbN7Mzl{3o4{;caQ2N-b zDoxB=+?Tr+mdB|IY{y@_V=tH$oH5CH*Sg<-c)(KEsjAg6#D3T@jd#+%(RJR~Q6}qP z<}F*arDRZISfc+?abEi5#MWusoqMFA(sON;{XhFH*3@O8TPw>w`s{q|80qk}HO(oM z1BSPB^*QEy)~z?4bqu!$=QdP7s}+Uw0x27^l=P|DB>fF|5*`)w&9pjWK*FUIU*`zZ zG;<r))P5sJQ-4@Dxes<*D0FeIx0P_LalCVQJML@GP1&ABeV2Q561^3FrKSCZ5}|FQ zQqoO!!jY8yA?v(0&Fg!JOIWPOV@KoUyh+Wo*NL~SqIsk?J7;C?Ct<W}FOM14U_R2G zlGD$&(}7X6RPnq^3(p1~swrBnrp7z2+eI~4`yl)j=V}jZ1+o)!i<lPps6qAo^UJNX zrzhp41URdh=efL-hdBRcb+fk>2fD6sKWHke1=@ON%eK|da{RW?%$(nKuA9Z$OZclc z;D?>noaBsG(%2=Is6^T}XXiR9T4(!q46f~6f%VVuO3F;X&QDwKxO5SA<-W;0?r<?} zbU)`_Q@-ddmz|bb&K{!$i~HqZ^M0%B^3!}w_{e+mDfX52hxR;bn3N(`<jowjv!^Rr z*57`9AvvDkwKr*1lR9P{7h1b+a=pcB<-Eu^YtNO=c^vhKGTEJ;nfo&r*?X~A^K8p@ zOL0pbbAHnSVHwq9H626kJ8ZR-V0pc1pZG$#nN`l-N-pcOKSc8>CSJ~rNLrlnnt!y; zck3hl%&nU_F6XRp(Y=*dj>`ybRMznfmh0fZO~KYo>u&RNd9@@kA8IK$93>p%Y@M8i z<#(nA(rx8L=9-*&LM_jbkiC9;O_y?(C3Q)gplmn4cZ-+H+1q4<XU1x0Tn2bObq^BW z<=)6JXQequiAffRORgo-G+oHYFKZ@Yu69W|<S;oig%MImF;01(#c~?aGPjaJFa0HJ zu)SdNyOaTrxAI)KE2gE6N*Px&b|^Jne7v!J>59!Qy;%An`%H17%XGK-)+TZ?tHlfO zlHzmPrOb6i<$mLvr1$bV*2mUAtFCj8ski^%pckH@G$O5X(ul0{{JQn7C6!0!49+-i z+bJ#dSnA!)x>yOxh);>gDM%NrL)}Zc{xBu64O+JPkork8cn{@qj%?r02T5_#bnR)* zmfXU$!F_h%CBG`xiuU&@4^xwK%ZYWZJ>~A|^Q^Vm-PAB^SI^z<sjO`7)6_N@j~w%* z`!23-#VqBeI>dNAURAnCeVtQst7V64G13n6e6ha0LDm6#oH*9Ed{A?rYSPfmt%;GT z4ts#PfNQE;#yK{tarQT@x^=5ZTi1FlFt=jHiLAV83;B)9d6%i?JkkvI7@6=k;jwba z7M}Ci7ALH-+_kJ{gK`RHp0mF)WdvA4cKf)o^{L+y%xMYgTo>-TRk~*zlzu-ef**7V z^WN=NPRO5=mAWFcmomyU-K~|IxAnM`%)arFJb{f>TG;>Q?6Z9pysU4myM)>~*V6ao z?w4N%+zu`8pDcb$Ymsn1<+yX1^^4noa!-5yv;`SM)y}S)e4U<cWWko4x-h+|-A}&e z9_zW({kEw%Td$6FPUSUtgwxfz*fx|mFm<+M$~BY~SwnMN`8dxL!FK|4T=&~dNpXoR zYoVZ6Q_PI-&H9v4-65K~d1rf%aVepurT0y3l)a7)x!(5j@OotZB^=fwoj;T*tP!uN zF0sejcCnkLt}d(PevYYGMRL=HlfJ8h9sZ5vQ5hru<xgCfJIJ)hO>k+VJ<s&WEaLcX ze(e3%%Vb$;E0F4$D%iHmXFPlPY;b=sK2}E9T^+}GLGh7x*V!wlspGRS*;?GSjJV16 zI_sL<*U~*8U&s^hLt3rmw7+|jTB@5}4|;90IvkDDx2Ah3^WF0Lm-fAEdY64DSx(*S zeC5*H_l=L}vP9cwOURwCG?pwTnGQPIW)*Sl65qL=cMB4K<yOs7?FX%m16Bl8@mTBV zk@zhxElp*~?jJmF$whO;v`(3Oh<ViysO~*hXrF0G9-Lm7*K>R5Q^o6`$wf=C?{?hN z%1K{@CTeqgf!sm7vt_+|P1jReeAd^Df6l{hEU0_XS=TeUm;VioYnQQ3Z0q^fv#WGB z`+Q19X0TAhyFx$>&pZ5HTCt?|88zrX_jf*<JTI80sjcjf>^0Tz!Wi+18tRD8X{|<@ z=eyZm*N}Ji{Pd=_@#Z1^?E`J@mmMt<2gMyo4P|%T!@c}WhjZqoTu<Ms4faU(d+1qA zn42*@=|uWO?&49(?}t~MoX@!@$J3^$|HNk!snNC_+4Gg5=Ev^g?(10T>=S7**-UQh z`zGML#|LG6^4<8j)aHD++i6dK^HAH4)N1K()C9NI{=dB!NyoAurxeSmqz!RR@;>R= z*Ocq*k$W*WS}h{9H+2*WIeXfQ*&@W9t{2@qnIr9m(uSuWRBZ0u0%!O~ncHRmOn9Go zEcc^nwMQG*QT$Nmp0u4d!Su=df^S_{o4Pk+MtYL%r?kwymB(=N46U;*%l1>X3C*O3 zlCL`7zTXzCzBPY#o#MjSmn>)c)7&xgJ>R(jyF5GbjMN^9ebO@3J1#}tqfPxB$J2*p zDyoOu0>3ox>*h1|DH*M@E;x6Zio14jDJ^|bn>)WMrC4jJqclKbYP93Iy^_|zJjW%_ zWhmR68=XbA)sman8lPhB1!!O9m(<sp|J2duPS#%XW2blSO4~e|?0V8G$K6vtWgnH* zGDlMD%Ns0<%-KRDFQgsjzG5rso6tcR?|fum?<l}OSh~5UTW{09?4KF6bLWZ4UK{*6 zdX*A-W_?JRk^V-hYYuVEG+VW2wx_lX?WyIu`!u)hveWS=+dC((bB?fI{%8u6iZT5e z#*)%3DU~f{Wt{aKO_VSEkR{TkiRCNZ$r+yY)RtGg=Q+aXut#^{W7fme>*-IFbn|1k zb}rd;)P6O$jq`;x!zJ5wjyXiDZoidV(P<VwNbgOjq-jEF;THQM9uZftt?Y`D;HaoX ztAFI7mI3B0R@CN^-5~c4&*!$*>z7AyxxTGt#+nS#IZN*48sXYU?BhI<Th#uV9kCpB zTkLXI`0l)sTi3o!t0+0l3Fa92tyq?I(f^W9i`h8d%voFUP-=<s<|<Zq(=lag&h;D@ zb+<LntA=-w^^x;?<~(@la?%}_2CnPHM900Hf4PHcyrrIdlxvnKDkF14?KSxhInese z@=?k!9Oh~CQ@AW{WaFv7^StAlvXNey9hPL%UA{QCS@tTshiG>z@7diokqYNd$_&aW zs+BR-w(OUa)fTq>xn`xBw8eVbMUnIKVU8h=D_SLKn0cisKzz;XY0LNv)=6|_8~Fm~ z5xc6i=e12q=EA1!w9ZyD`=#v`b#NW-;czV|9<^7@-jw51x=Mddxl&nev29{*M`yOs z)Oyq9lKBXkoPF#ilrB_3EGHgh-FbN)L?4CcqFE@VT~-R)w<}|~EcLQ{l#2@=9EWo( z_9ncNCBt2Hduqy3n&d3W_Oj>l2GVk=2y3dWcf>gJvC5|RmO|#0!gZyB^R4p>A0tke z-iQT-p{%|TFMJj)LNI^pysOkw8_+AEvX~$(5Jr-#cG{U&?Z!KaL(PJDw>+4c)&0(b z&M#^w%4S!DAhwZOQY`<*hOtMiIU7cQX(~OV9yEzR;chgOoe?`oXT%cBsvURUR2p%2 zc3j*i>=9yV3m?imYHqv+^%Iy}*~DcgCGik7#(7Wq&btXU#A?D1o=0QqA?+dM6@#Q| zqQ6j&W@@qOOzkCaB-|6<Nc+TfY(00;o~y2WFY7Fn5t>m5Kf~u!HP({mX%E%K+DaBK z*D^D60db|4=J;-pP#*KqVh>60uUtsosNN+eO)>2=ofMl<LG^+XtTkrMqza}~`Gt6l zrf7Rr2JJ3oX{-e`(|lD;{f-?M69!XL?WekouMq2-{Vcw6Puk%;V|O@SYJp-0xr?-i z?bF7qo3u)-h!`tg5*+-3nytK1yV5(Mk5pF*7U#1GbeWIg6S#vv;N$o#-j=p7&g!yM z?YO#LeaIV$b4<)UO7f(K&O3J1abBA(M99sgJnWmQIiD!i_$VObh{%N7{JgeXyTFgL zIbvz)gLp^y%ED+YAIsbGSk0YB&=_`7Xo@WDn(C>x)JCxgd7-JP+=W$9FFWcuH)u<Q z7g9wjn!VF1t3GO$7R?rj0pKS$md0bWpW1xhicYcBLYlBl=+EBrlA5=6UOUN)vZ}%q zA)W=$EbWn+pjBkg#fNfb`K_>$|5U=23+gU%7gNM?LXNgiDW>$*W+Us3kuHl1*=a8E z;XHr^2}gx_!hI&NgLH-F(0clhs#9x9q(-a)TThMoeys}sLobD<(qeHX8>1CdDm#-D z2cIdN6;}(}_#fq_v#+|B0;EOqF)2f6MC-J2+GReBWe8t|#zGHBqcgA0SMiAy#s;%E zT21l%Bv*J7>d%@AVWJ}R6UHI-ey<(V99kb5#!3jE*dm(D;~>8vl9;EUFpUwpl8uk% zcOcUM;68>GVl}BgU#Z!&lC+u?6lSt^G=?wd<0+a=6nBYBg;!+P>S!gkQoJSkV}w@Z zM|U~#xg@Zb7-Kc8XCmvxBw?%IhU*hqDYlCakcG8n_t`EsmASIvl+2&<WIm39*khJg zIHUhvnVQfDT1dYrnL1HAZ^pawA3U0hu|;e)OQe0|L1D!C6$-_=M#9%TW;aOX^Z5(D zp1LzXp|^0JMNx0^qL+}%1NPGB`Bj8np=^GeNAWY{!6q{YrSe*QmsXokrzxzI@RY^U zK0cVQ=IzOi9b@~LH=9S__$#jQj&zw^Sqpfft>jDNxew3F_wkanl|Iv1YC!k-bsk8a zX)Y}{Y6*Vu^}G(y?@BMI6`R7`*kJ5*5x>Wa(=xhG7pWbUqjA*N=+on*Z`iLNeTTKI z<_Y|O@vKrC^1;Z>X^rvB=s3*ui?-u6f*Mm0Ik-E1*PlQ8KbF1%Op4=qySis)chAt^ z!6A5Xhv4oOG`L%WJHdk{Xnq8j1PksE+}+*Xox9uJndz?Yo&A5$J;&Yd&U9B-z4cbr zG2L~X%kfm58T0+2LwXP|=REudT05evax8_Yl86-*X*9IafOo=UzEC2~pv72Odd|ov zxdf%7EnvLjz-<}*R<Gxju>Lci#KR#)PyQd52YT;d{v25UAdHfWCquK@Xd3jY!In?- zOI;k6eaP2%1~&zk9_nu(brf`7lIC(r{sQgP;isIN%EE$GxfA^00qV?UG@D*RBb7K4 zo7^VyB-a>T%Io+Qm!&53mZ!r?Z}m@nmQV0V*!`lurC;dUc$F7-&Vtr<Mo#Y6+Us3; zPrrgk595tkS2?V%6Sw32{1UIX@NYbVFYra+=P>M49iO$t@98Ny-NpQ|(3t|m7w6vm zCqKq@*Z2ir;bXjkk7Kptc^P+xHrnxj&{zX148K-<gmY5I$p1k9LN{T5KQE4SbUaO` zXdIQNjhH<f{Z0p{7RB=fzRE#v0`y-3CR<Zg`VOAbl}6(F|KM}CkbnFRjZCEy7{3?w zqkm}&m~#&G!Pg1eOK0gFeJ8$BkhbF8AK?#+sFC<qtfQV7s}*_OF^h=gVlkzr+wiGr zn7J<{p>EJ@L98M@O{8wH;?YR&lIB=TO<Idc=kh4-2&^`s0W=8tN_AkpIPmZFjOv3C z20{Mf__-eAClS{m%kQ+4CQ~_@iFKwDiSQTiwAMr}N24Lj5Q?RHyoR>}165%2LzuTB z)>|d=e|0}l8hmX-g_#)|^q!9@2OK%T&n0$rX|BlwcrBlTmo~zz9Vs(Chu)8a4|W4X zB_M5TDns8#o`m-Lsq9C5E=3FIDs{nHGSgllIE=B*!fQu^6X);(_~k};+I?X0m|mi{ z>rQz68P@2`KHzaY|HIysv3~MJdI(Me3iCuxKm7*yV0I%<ihEsh`f*?WhP|^wJ4E*V zB*nW!A?+$I0mQe)itq4ytgt?P#7fgpcA5nnXQwAT8y+wN$W8(4zJP>@oS$mo{R6ma z0!^ph;K#}Ep2m>(8E1wy3sD>`<kG<X-|*_KK+i)&5Dk>S1LN-lvaaxaSn(%r!WCiP zraTaA(V4Tu*ZsJ1D5UKJ4rvLz|G||bT_6X*yB@IDX~KIFt2I3NGT-IwU?}g|z?^(s zr@)MVg4zCvJiFBz<E-ajBb|bVL5^COaWm$b1!=DEb>7QMxEQl82~TW<cl_{;TJ#=w zl*iY8jO;ya9!;&G`Fxnodp;&Vy@CZVL#rQwxqOHOHGqeEd<Yf^b8o6l?PwMK1MF5J zqOH()Rv`T}Vn$bB@LOp7Gv*xuAIL0LfkT=Cr~mRn&JuYZEFEy05fU7Py|2Qmy&})K zpO2i#o`Z%{2jJ}s-(nNkS%c4A_JOB*V5USa0xxCu`k>W--RqG-kAM?5(%s=a7%+}r zBf>O=?+&I>z~*bV$PeF7N*<3~f+cH0hG=>S&hbuf{t>I#OIL7h=E(Ex4p?h8<i1A- z@$WSF;wX5_zqA?tvxnZ(1?q&avOrx$_)0Y@g`f2(FTAlOP?Vdz^YvTPZ?uDUK_k;p z3(W)rw8MMdXfAceT8BVKbD*itbOCbbgD-oh_zs7>9kF`vJ0E`Uhw-9-o<;De<<Qih z`1X3XHU<WBQ8w~+N_|2U+6&J)hEL}LlY@b>F8m9w_qv%}<R?JnLikD#&I;r;kMwx( zp4=*ke_OyKdH{dkDeOh~G5C2K;#zV}#$WX#;I|=nz#WZ%w3f&_9_e|wVvY8CKJ@|v zJkaO$T76A_Lewz%2gE^zXy*s63n3m9$DNshFR#B*+ei<ktiXIu%+?oD9)?XvM4le0 z4LNGyN=BTkh}V}8M_%ZTxMwP)9)Y#A1PkWDwI$&tBQRQ1cv>p<x=XacJCiZeMR@Z@ z=;jDm{Xpa?lC=1FJ@V}EVqCEp_x*uyucOlx#EUs#)Yb5|dF(y$nG_M~G4%QYC<$Sd z6YwIhTiI!303M>e9&JH<y}(uHBD;}hN4f<SfX<RaioE<lXX5{K4*nkOG9IH(M|AR@ z$Ndp8_64eulw208=z-5m^LNOV3PYz}=dPy6#>&I{J3_JzxNi^muM=!J1^jRvSwklH zWEj8g#HWk7TjY%Oe<9Uo;9()InuI&9<EkGcJnlWKmmZAU1d*x~(BYko@9o5{2Fzc9 zes)7o&yeTTp%!4|mf*fJ`1A+lel>t2kEI&{pEH5Y|Iwd7`f1?&E`7qQ<FuOgA@e&I z*)8bpVVMdX&!n4(7Y7j&H_{vUN-~i|kT{Mga)qAKOXM^=5Oul$)f3=7UdPq)n57=D z-VzeG$6OiUn>Mnzbd(9db%jq2fnScmCqLq6a=HUsOoiM@;8O$eT??a(fnW8cpCNlO z@BjEC&qBUNw0Qsy^Lip@r_%6`RA7mXk$tI&?8X0ku<LKo+cj8xH@*^)-zP+#l<Lg+ zk#GJB<Xb@4IB0klH2ouRHiNysd=DZ|?`(|hrrX5cu3Ya~jzs<rdMt`rwnxrW9}A@a z7unst1*kiLxRD*Q)qp1#f&S}IGx&dDFi;418U<W01G?U0U4_7U_c$JWN{IJYu-eH$ z%1lW64)1TqNXI!HR-P6X_PTF<fZPxG5!ihR#_5MRai6P$a|oIACg5^CFwzmRDHpu? z0&=hi$dtUNdpp8ITOsnT<?a!AJ0rr)f#)oQhZjPYR~0#yxA$W!e6cyca)SX5BV${p z*Xt8{hyI{<;@^|n#Fg_Se)$igg4apn74WzOi0=Z%sT$eQwh=tE4Wkc*r=((w*C69< zuUqQsdWgQN1?RvVUiO#-c<Y6X=?_Gf@~~Jes*3ZGZdaSZW?mmZ@2UP57=H>zPloJt zuKu4ctE=iUkj>k#7=xI00g-wFjR#-%qhVm$kw9fv#HKum80mnt@4)qGP*>DI>?}d6 zvEn{pz@IVR3$T?&br1lb4TNtzMPyq89bN$+r-o#9r0dlb%#ajVYXx+61ODs5qG!NB zH84h3eC6l+sO0j&m#0ViO|F79t0Q{N0anW(T5LmX=?X+v16un)s)F<%XC$u=@-bL& zD!jcuMk)df8n98l$WEFqnDZ+9KP`OuSNPf#)MDO~d-<q8*13_cL%IX-ljZoVH%2W9 z-;L+5s0qE@5!o<rI;^`iB2vD{ll9({K)Ha{W05XuMI-U)ERf{&Tiy#c=t>syw1HUR zWT5c>IzL^9RfoW)#em^Gk?xqKkRx5j>`Q^S!*mS{@hkA}Wn3j`KB9RLTpHpo7_$W8 z@oMNZ6GkKQ&bz;jnEewx-(v%B7xEtwujm1u8IKs420A^9xaRGAECxIMg!PmGn}v|4 zyyxWjxe0!-1%7)NnqLI$MnPJyANfMs1Xfy!d?P*VT?D$A26jq@^=L$S%`M=E72rP_ zp0gOS@GemI7CyWLo^l+TD2Pm?ClE3ieA5N2Qw^AGA3@ATWUJd?hZm8a$Bj_o^?~2i zLgjuH_4h8_4V7FbT@J`@ryJ>6h*`NJ-MfE))>a|L&Bu3xh&Pr&R$Lqmu@Lp-CPaZ> z@wyRsf44raN9%QZW2Ech8hu5d(YFy(y)*u6pk6D?pMk8)S|T=H#kDu|Go1x^^Ex;G z66x^06<R)r@xP#6-m5?2bJh=0U1r03KcfDAsxxwW&H`T!LO!pzfp_Bmc*xQx(wVR; zbm~2oHYU=M=@<BPkH{JNMX?HRZ)Zx}n}SorKic4v-*LxOXl_EJliqNQvl==~4P3Q@ z_Pj1CL9pUo<kMdF)s>Nmb0G4p<|0I@e!zJ{ygweiS~IdoWqhR1OAT=D5#(&&BAY4? z{nv!=6sHuZ+oCaIO7i-ktc*O9w-GCz067L=q|O+xHGURCCess9cWGoF?mlpE2nhFT zQtzuJP+uF!&H`i=i1f<!I^o^}s=SU;w;~+?SAmP?L^5fwL*Q6M)I<C>(#xq}q;H|u zhc_u!77f{Q0ju5N1to#0@<3=k@@nmKSdkY^Qc?mq>mPWvw?o&){T{!^0F4@>MFEL# zkV{+y0vo~;yr(O_iFAqi2GXTRHklG$^OU`ww)f$E$0E<UuE4+V5FK)1zU1($M$mI_ zXs8G9KNX(112yU^@`)GZ&@)8n%Xn`!ym2r-uNjGhmEgPeBTvLPz#L`B>z~yhI?0L8 z6gd1Q{Ob`S9YeOHSZx{jkJp_vfYoHgiZ!H+hd#34zT=p4C$iwB$O{h9BT7L1{2L-$ z2l!4SL}*X8Qeep{czqNcu@N$LNA6r7nra%^-S7al-VOL+Qs^R#IWEA<E<s}_ke?j^ zo;SjJA<hlGcwIHV;EJ!2o%R9bK~a$90X#Sx?#%)ZzXpl#!d51%>W6;ba8<CyLqsI6 zSJqKz&Z{TAIDQbZbOTUS6-cQ9)YOGP76aqv1iqicZyo&#IhohrXcoBTL}ahaLU?ZX zh{vP`T4Rwn{{Y<9LS!6*Ojh8Yd+^*Oh$7eZK0QhQsaNSQh>+j$E=};gpsvSW|A@w5 z^#K^c+s)n{EK-EME^-IptI6SE0{3s!3S%V4T)88;coyg*8*<@+xON$Gkxh_k4S47) z){&F0!sk9fDzB&UKzQg5jC}w;auREv3$Jbxse2D-KXL#U^{1mtAnVS6s;(Y*XAV|X z60-b(D03OQ--NuD=qU7Al)OE5hv7rdVS`<;%68<PUbmq;s4q-J=OnPL4?kZ)mKUhg zJm2~TQRaKxYa*tEk%vu%lrP!qpmsd+JogujQy$*34X9d&sPqeBM)yd+$J2;T{{W?g zF|S}1KLFn&Bl}+-^B4G%hmk#82YKBOz-Liph?h76GN8s7WgeA-2Ry>3gYoJ_q_1vw zc#)Ucc8T<{9_Dq+L~eTl-ns~tTPsqCy~!czHRQ<;fTcvN^C5Ir5A(kT`@{n8T@V3# zA*wV*RQjD_#9n$$<;6~_D()f6EiYCea?QaNN#R+3$X^V|>p}TZ{pG;dbjYv`(P#!O zM%?WV&#Mo~{z8OZPFcioBJnS($>q>SH%M3kE8h=ZxQqOyGQ92~R_<vlAJ&+OR)Uc# zAo^_QWYDn*e@Kq`w!t&XBi4<C=3gO7=8nYuZpaVHV$Nc)L=@`vImk4<oWB%w<8U?j z-Yl?R3L1oaYeKGlsHD9P-DlZ*2D&@+{0KU}i7N}i(s>ZMUV{mHB8zMYA6blyWOgJc z?gT4&yAT_|r*;8<UYFWlxV|M&7)SqNton#*Rgm*7M*Y(QXqUVJkt;VidkwsA9NwP- zre2Lth5@y+@TwU6vMP}L7%`|3ShfLqebmEXK|v!iTXoF#0^Hjh`9~|P!UXs3N5#+) z=v{#PZd{~m)%Wn$T;Sj%xVC4c3sXLzuqSx52&74b7pCE6kv^_pQH@nbY|H>3`BP8V zuAYdD^k(Gzi7WVQIL6wJYHcF?qb1m=Ii$-9HfX`0AX6G-**R%G;*0mU1FwVqaxk>l z-Mu5c);sOyDDL}>`@{2w!aE;eEeF7M=U~ZxsAh_S$xgGko4YJc#Jg<}Z|X#Li+X=e z_s&}Q7xM&wNUuNlEnJlm_IeIH)JN1B0F0hThEtW6(ceJQD%uW9mjgB=a4-}8*qe^S zFOO47RAEh!)p=(M{1vHf8_>K+N3Kh}95@<}e9I?JgR|f8VVVRawgx`l1BX%G)5RjQ z=!!hEi)b%a(-7d|5MoFMDu~s!hyP4RHrF5C9FO&ur8SVq%aj^}mxqa5G)_nH3|b`4 z(L>#qdr(H9Aj2yiqP5}?f2W7@8<AE1!+mu>&MfQ7@A)5fimuBWJYOZ~Lt?6Ep_?i} z55-a{!+)v6EaW{Ar$4wG=qDowrBdT?Rd1Ob7Oh1+#6W6|`If`GPjVDiI1iqCM#t*8 z^nx;h3%#=}mLsRV#N{CG1xOgB-|7<H*?MZ0ULqQqi}-hU8()=~<x9QXJx6Pee4?H@ zr7w#gB&syMfOgX-F`mEW1G=YJCpPIvYO;POZU|IBdL54zO4Jr})G9rna>*McR0FOo zuhLdsg?)xYy~Lk-hAL#95`}n@TFDvYcl1?tR$s&}ZU-(Ys4DSr*-zwkZ>W+oJ9XwI zsw&4*Pu-M9^B6r*JfocIH=Q6h%FC*@yF_d=2Iy37QeA-d8&~<1(?;*sU*&As%(>^- zqOfs5FAN{z=VGTmrn;yBz*~R*MXz!<(!XMf+G%H!{bfbBu-le?H`=?I+{=_sE_D0r z@2I>U1uyzTk5N--mHzDJ6(7Vd=TB$3$Z8~Ur`i{c<-FFtpe{Kljbl2qGuz9%odTRr zjHX*WUVT>Sc#m;JRdn{q)Z&P`u1>(~hlqV@w|XS<(rPCYm62OjR_^7pwv8BWY<H$z zV7+82;BFON&AKXG=oPOwnp3^-EyuK$$?+j4+|$}%wzPi_rx9KKYk6?uGd0zpRh|z| z3jb!*4Lo(jUk~!6sCKeOXsh#9thY9bM!^I(!JIAosuga2J=}c4x5AyRP1M5KB(*NA z?pm99igSlvsTyW$y-_umgLt-*W_#}B95V9hBQhlo)%Ep%d`&jio%Kw$%GZZGI0<^X z;TVU*2i3c%%kGl!W8-`Iw|j&G=5KB;yR?;Bj#4eCp4*QW$#UYlzGc6a|5`oV9QI*f z1^GWaxu|3|QCD?pIbOsH(u+hh`9MrlFGOQHqP|ddQH{P=?WmIZoet<|^E!7|fB9Ot zpXqOXh3}h5R2Tk7YDBC`Mq7KduNj%@H@RL^G6LaD;;3<7{z<dL>)nyj_w{h+j%><J zXpphU?dD!G-^=svb7zCEG|$jCd7`=}a?7jS+jZnB*)Mz_BR&(W!fnMzxxguFRJ5m? zLyZsizp9SmnEwlH<0{4`?|dM!$=+!FPkeF9ikz~%c%^J-j=#6D$a%_NXqL6ku~lZP zq+Ce1ow3xxOjNmPgd8Y3>3`w1htwovp*Y3;!gKv)Xret*HgXsEX6p7lSxj)xiZwdg zNUb*^LrW@7t4=f=h^%QA<Xif=ij(bmyl#uAmZ*!U_Z%f2>F;$bQBwY3PnH+?g`6+G zr7q4B%48i;Apk6?Wf_e^pIG?+u)k4Pqh5siIT@^D{7B5PH@WxZMsdh4rccXvT*zo* z?{_EokE=!Ey<Vhqis6W5bLcC5QqeS(hf{L5lA*Yh`jh(`Ck+|gqSKmHC{C2Kr}84% zNVW@aBcCk56OBA}75CTZLuycB8!=KAH?la_olEqy9LtmKO4b6E&)w?Ft{>QoMWRZO zDa1<qIDORDL<wENDQVn9_5F-zsiR^Z&Eo62naqs2$NE;NgQ^_&(nG1IOv{U$DaN<* zwR1sDGmhxZ(9#C?xEO3~asEb@Ip5OmcAg?j>LFZ7>{4@N7ID|PB`eeKyiGUPz0E3O zjN3%*<weF38mgkXv{6<UmT_v6m?ZXbqHkF^ukPSqET)IQp+)}tdcTSmeck%9zWH5v z3+FRBxHrrqZeg|3SnOt$dE`mQ=brT6(BaTHUBK!g4v4hjaq5}bTBPL#&Kv#SH;~ua z)r_&au+c@GRxOQ_`agT2Ci%CR<viA<sjjoxOs?kBG@ahPKxM>h%IKC7V~n~Yhtp1^ z;!%`G=AnA3y6SFL)L#)xTe=yH;fP#qbv1QH&m_Oz#T7)=aH1S7`>Q6r(ajPlM^~I2 zvOE7{^w6bLDf29~(ErH1x`C`McZut&ve2|zPNPxw5$kXF1vqlE@u#Ti6mlJ3LDAcJ zF85J#vxMFOiM#L?kxx|CWsLly7_Zb_1E-{N#_}3pEn}p+k?Z<ei-29rXDZ^yMuKjs z%8{_blwBJlC(RbN{KM^O4m1;-|MXzFUv|_vIIGoN<(Bj00NS7ni?pH?r#9kMExE)k zFD~#+kqh<1GHxUPGS54;q|YsGbu|}<6x9}A<QBDC|3r7>GOX-Bb15pYu83qSjVW}S zcR5XU2Xly;Nn6}R-XwdW9_fwh;wQOZt&;Vrshc2<tCeDiIztPP<JFSiIN2y5pNSK0 zb$w6f5Yz3IJc+y$9p^Z=^+}^Xr3x;hJ=R%H<KA$yiLpjy-OYKWn_AhOQ#u265QoSO z7qN=zx3ohaqC>i_T4pYHGRrA+G@PHy&@WcoaQe^}|6aPN7AIV_CK&H&wXPHX!T(A8 z;AT?=xslHnKKr;zYE?mGN=?^{VPdU*!bx;)d7Vla6KPFougq)wr5n=DaDVf%mFP5~ zv-%>%Q+_#74%RE^5EnJRbqmu9S(tL62H7Cqb6P%b)<YaHePz@E&dhtnFt-C|lTVzU zYO_^__XjHmO3-OHARjo#=o>SGs9~p*TacAyr!nqq8OIw$abz?-RWDIcvrt^kt!{n{ zHRk@JFgJCcsGp3X+SF4~w`5Rr5z%V!HSQ)-@RRUgW_`Y(7VEj37reKOPdKgEZ(LD1 z^-i-~coknY*M==*+TW`Yltr(mw!BT<R*G99dz-Cys~23%Ao~Z=(L8345Os|I_<Prf ztp1@WApStkb5QM;4`{Y~hOz+xO=-RQT@=!zsK2O;+-V3h)3d6OamC%w6^u&A&sOMx z^18}k-l89!5Au?HiK=jlyHsSbv_9c{OTWv(qKsSLJ#GvUVQo^3I!)chQBg!aR_R1{ zv0fgxZ>xq@yk74xMak0QwVq^`=iC0_R5F~_{h#sDNax}`UZg&Hy)5Zxy<R7ym8epl zvul5#8^%>#NUi4!$Y1|}zn@hD`IgYgrMjv{Tu<(%hE5K!ax<|`?|0v8N8A&;!iBk# z*-X82zLO7)Z|sV?ySZ5Yr#k6@!jRkKxB8y@r#NKZ<HgPzozM6mT~b$&S<gY0XXt>) z04DvJzt!bLQ~ICEf;#Ptdql>HiE2Dw5gI641E%aR{HRQy@{cq{EY;WfjHphXbpei( zUAVv77d7Co+)w|lAA@Ip(ckIDqKx>!k8~>Wf?lIes?3R$L$;?lGQ|{;h3aun<bktk zvM8b}s&CZ)kfFA8N9pSHT->J@Zk$+UoDx4GLp-DF3-7F)^z=g1p>N$s>MUZsVn$YZ zQIw`zdKJGFy^v8P;UjuA^mo?1q{gaisvC!>m^>t&iL|o65o=_kQOMnENsD}{ma_zT z>`5x=F0r$zJ#4f0|9cxmGvf;N;&VV#A!+bEWa>|q;r?uQbZ)!#bZdPW__-<8$%V3z zJR<uUS>+4ZsTUWa<Z6ifSrw-X+*FlynyM+N!uHTENZnIbm#st%@lc!=dFVeqOx<y^ zIj`;W_G|a6zK2?;7PXa1UNh<#@8ovbNm!^_{h}a0bl%$+bWURqjkMd^f=`I4REk3) zh55I<MoGj9IZO^ml`)PttM*P(dvUm*J=ZCz-s&y9o34m~^0cgGd@#1k;-U(5ht=}X zM(1I8pe|_66&3B>p*5<4+)0^rnChDq%x8!hrDedVDE`xF^m#YEvnw<^G$>5Y4L7eo z$lEES{7;OQU*zA$awCKI9k{8*6=i^ygv*7yQIszY#RfkF529*_;V14Jk;FICxW>h) zr17Kif`{osI=OloP8-S??rZ<x-c%R#G}H#R>?U)GnR2SJ%=lS+8~K0T!g8J5=q?J^ z=T!cR=E2aDgbPZ^<f5{>hX3_#@a+ZHM43f=r;O}WUB~Do?)C8h!u@Tb&gubtiY(dK z++h|lelyOPb*+2GdT3xcs^x>Sm&oZ%u=9(@zREN)abNIz8e=r&?#O!P2O9cjh@a(9 zUmD+B$k9O0SM{B$;f>+`PFj6YU**f<hU{VuHG3Nij2vcV^Pc#NzN3XqVxMtS`$LIt zthL-%)!Fs+xLeoADW|(%biDtfzowZ|tT4X%#~PAz>&<G3;}5?G)(;hTdg!oT%fE}1 zW;3&jkxcfLEsTmr1JMVSehXbz43W~=8Z;?uV7;u8SR#IcK5A40S6b2^wcgiJ{!fmx zGWmX!74${7hMV8%87duo6FlW~<>UGT&oDCjvRkEOd0Ev=W(=0!qgI}V$l1Yo&3}hh zI-h(~qxRZmzq|?$FsjQR-0$@T-;Joz))cwaT<f1_Hbd2x(oxRbaKYfFU^%Ba6QW`Y zW0~&{UwY%NSSH(<oxqgS;Nd&8PnMId?d_qA#-XU&l<Mo1uM7Bt@xuMp9$*ZNdgf1I z{weGDT+5*~?(uLEr?@>eaYuaJ&<5mgNBFEP;!EitV-6QpM64_f{XfwE={oufbu)Xa z*1>K1Yg8X!mSEb?Zn&>;gEreio*wlfx}~p%G1JKIZ({zc)`TjCM>}PMALI80uc(1? z6;O4+s_XyL`bjLJo|Foi<0jQf9nyE@XKR(aE-|zCC1#VaM8e3A@%ACPhdbNMNn-}b zH1|z|hu`(*v@*Ew632u#IGsbu65a*N&=(`hkY-We1m7j|8&YmRok?t<xvHjWM05R5 z{I|mOLaxt_TVb^PT<p^a_cvKZCpf~O*gY}Re0RlMInmci?g+0;_z-*;KApHX;b(ij zDC+y$x@=4`9-BSn0(Y_9L!}ozd5`na{bI<tts-Cib}km1IeJQX(A!?|KXM};?Uvxv zf!MgtF%8Y#T-_9wPZdhsl#nJI2+v4d6fRE9tWEy8)+*y9YK}P93=gqy>U;E){-{68 z&aum5@&*qFg+FE7ds*x4nm7BylW9He<nOJCNg5@~>c8X;)H{rxx_;t+Uq%EsI&t=G zXD&7Kjg4CBKPo=LHV2*9;LXIwYPhT`?@4L?62-~-a-pwvsZz|5K#tGnpTCcf5w)$l zMjG>M?97yBW1G0y!fklI4uz_Gu@gdWD@2)^z}k`MFVXR`u$$LDX{Qb*NtkNikrjN> zU*7jW|H`DZ<;O3#T@gqKtW3D^?DVH${ML&0=k~pbHB#n`d**bDzZUN9>TuSt3GpS> zFzzo`8@-LrQHfFSL}}+nV##3d;O0cv&S<>%Ka1+;PwPLKq!C~K9HVdej`)gvIr*&G zmnf<nwIF(ze`?%}6fL4Ug-XQN4t2HXg^qu18v03fka7MlW>>3T)EocL^f>e&Ax)y4 z*etYAm9UCMZHZcIeeti2DQ$Q78pTI^GmL{D`n{^2kkqJ<WNl1E-`Y5T^5@16iG{u{ zPJCu_=wO1dGtyjNIo~Ve8-IMDm$}+KnfPDA@ZiT_XIqNhfnZF(z%g@I^d4i{mqOt+ zMoNEPr^uVfABNeFqS7X<7FZjdC;5h$x^9xM{;!XNU+t{HpMop&DC?W39cDwh(;Dhq zE{=q9#GeTE54W@1smtccn3S;ttwrWjf8p@lFYDE3v#*i;YrA(=d>?w2<cHWo{t|J= z<2o2W2mk&2;p<F0nNvNy%FZYI`j1$(%#*T#S=?N$j6|8xIGogO<Mt3={URnqptsS{ zzm;!%J{F!U510v|obN-Q1J3KHIZ2}Z%c2)0dFZR=<o&wn%a%|Xd#0V>%;u)PWxjZG zo-AT?H9}g2nj~ZirLjM`SLwF-V|0?}i&i=R3eoY)tWZ94l9ki_`~Bcg!hYx9AD26@ zG-gWDdx1L2j6ePPV{nRdIsB`8kgE9B`I1>3%uGhK`Ibh9uVTcib{6%S3R!<eJ&ba# z13uFV#n%YFGy4VVvF}6qkMo18{Lx7-`NzkY$)-iG<VOj0KNk+RRGaKd?o66wJ@obV zO);8?7S=17)47#!AhCiy+kHzV&3b`<qMli~eSY)Dgy>*WNL!50eq8pkQ{r5!NnCMj zUv!crJpz~Y-h`u{DkkQ3i-Zq34N$9}H<ws>j1u&%nN-9(xf9O>AB5jJ$wfYS&*u+x zGIv>Hj16Bu1vC3U`qJqYpEiBGl~^Y5ZITaWz38>Er2^}DO?>N5QK5JzCRo-^M`f+E z)>rF{Y$QsXYq+ZYKJjE|l_R;bm?Kj8TKax7WBo<k)gKdeuISGGb7A-G%uhSj(IgL| zhFKe8AH`hpUAA|BGQV7M7TWp4)74FJ$M?aP&-$0Q$mhmV-OFwm>g*KL3q>1o!+dY0 zG&lJYt@wnC@jnOd#5^?id@lcXb^JGhhAAcnmPcobeH>N7SQtO^(}++Beb%1sOx2By z+Wt+xQKE#9RxYEwx)3a5OG;`^lQZQgbE>(=yyTB@UVLg|B*difS4~|0s{6+`^eowr z(I=vc#vYE@?T=3!_#sEaLft@xoD@zx5ApZ&y`stbtSBbyQLRwHP(5bjv#CTq<1hI= zteaBZ`Os4LicKD!K^=G%c-KJ1##N8467@&StC;=K8^UMbSNuHODan)dCHInE;rqwD zDjurk+=trmC_6E@mS>7dzDmCI<}BkjxxUi0=|d8GV9fH^C1T)P@w!F$QOwfVWYKS9 zdd19(-S7POe#XbC;lp|?pFpiwA?lI!f{xprT}xEuw9fm)^<2al?<<Mu{mh6FH_hE* z>4!<-g0VA_v@&PEuk&(2kmAnA){br+y*?^+k_9T`$KxM$crCIm*g^jtl`=5NtgAaY zCAc(ds~VwPyjw2w=LwXNv1U-ru!hsQ_e;ZXV=p8rY2JK4@>QDf;n=sa_oF`taz-Uh z(p~9~X+HfDx~69EaFv@EMTx*j>%Q7(A92U4CHA!Ned;EIff9l2u*p__X>8_g@5x;q zml#*ZsPneU>woOBac^VZN6!k(2pF+!XZSSebEQyPcaHX}e4=htPhWl`g{q{!b(6Xi zLkGjjQH9J7obfd=ri(3{&3NZz`rxN8aW`Vqvhz~CEzbjzHj4ca^EL1=`a*Q-#A+Wa ze+}4aQBkMTd(B&cJqC+nZcd$=&$=^$2kniN&o?8cr0=NlgILWajBAMp-dC|YCmj@X z$$tF2!}}a&!(`vY6-&~}XT+}e|NCY9$HHHiIe&>|LaCI#e1QkX3DL|RiQ0RkQ#<5$ zGeYK!F)6G%R%zq9QN_6aY4)eG(dUy~jOrWT@LBS&rJ^#&C6DVATgmr0>3MPb<KR!* z<7?~NqN}c{V*+!1F=kI16K;fT@EiMJ_<P+)42$aI&uvsOYs%|ZGuirG$@sdl&6A9d zTJ~YY)1MPdM~7n0#rXrN{M(atb?1KE|6zN44k~LbQ7`pE^QQ5|vefEuWBr?3Eqo|6 z+O2OCkGf$xGL0-F1_!pe?_ZD8%VJ9>IUw!lb6-|frDONRu8(VI#>HHV{yw3{ht3~s z+K-GC@UE?*w|U=8YVHm-wTq(^?`1Exvv6<!!Kfle7de*}8r1@+zcl)^I50bIeA4LP z(8tX_X0v`v@=vlhQLgbKNgp}-OU4gdK26cjt@>gx%`#tFZG1ki8BB02)zq2gJW^S# zg3*_(*`l_XORfFwbicQwStLE3ERWUi`Hg3N+}?5JlQ&J;&ngkKB>HM%&-cCF`-4-g zc2)_>Y9yG2eSgT8p>CnJ`i48tdFR~awf^b8Sz@R7SA@-S{u`feed-*wBJNXM(fD?c zH+-(@tDE$H$(u)4_m_`*tWtjJ{_gyz|8#0!29a0HGOJrvefOL;3IEw`bT!q|P3QKP z#R5@ATN;nr?s1?Q7k^vaeIC;@Sv@P)ixbZ?ge%3&NxCg*$Tv6UpTN+>6YsaaEfXAT z`~}9_A*-3$e8;6fcr5s@@>37h$+gu!YmAjbc;_E(uqykH#CQCd%{MFdc#^ciBTx5z zEFe`}IN5;M*}g(a{IuoE^7lhO3{oGgF0zJj%rYkX&bspxjySXUAg|S1-1M@oe~YLf zmUBMyVN?PYc|X#=79E%D*Fe%Y#b4D3oe2y`(mLs0|H|0kqyGwpKc;>ciccrbn4ifq zZDY0Xxba_N?VxgZ(ReDzJ@qAXka?AQBTMe#yB<j5eD~o2-HfS_ygsXEH{LvQhR1G9 z7Mr9(;C0+aGjGDQ_hmkOXD=}38POtStT8Y9)~kXEdF^{tSYFcqI?FhRFQ@E8wcS^= zJTS>OE&llD!M+Je8YU}|5dG}mj}^t2xK>FwMI8++kNb~v$M=0tpZ2KaMhY=l_BKoV zYM33vwG&T)qic!T`jIMWmO?CU!pGd?M$W(k@xRZ1B_0TrO!iAm(~m8l(-&d>lXOXv z-hmX+Gh+_84?j0}^XHcnG|KE?WR#<gie@R%KJ;Vos{2ArmZx<TcaklQc*@V?+<a!P zsH|M)ONP+g=pxD2M%{dO;zjwdw|uFSzl^)%Ulm9hz0Pj<dGDL|2|dIubBy%KE3%f+ zoDK(9hqtIlqNT7^O8#CBmwQQZHeJ(9>KpD3`Eu2n7h56O3-j!oOs`%i7*P|G{V(pe zzim`@|6jpgA8Nl%89HQ4^(om)Mv0Pguj&$N>-^1*JWHK)4z4M_P%d#u$M6*EytUn( z`FW@c#AQnMOl*5u?Ny1O9i2Bt^CbOzRRTlhqWBE&^SoQ^ZuYl}x@#=ql4=!iax#T0 zs_SB>nMq_(|F~OqV}06t&Qlf%JTe=E>wM}bN&>yTolno>-(+=vNU|ka|JYdHyueYl z@k_3^{XadR?E&^r7vJg=PQ1=;_jj)F05gLX&Apv@&RZ2y&nQfP`#$-fiLYO?f9d4& zB`Xs*EB^HJj34vL;Yo8ReH)l;t+d95D}HYHE=w@EH7IJLbz3jD=ew4AYUki&a<lJ8 zNvfzFuphe@IHhQ7t_oZ*yU_G6-z0tr9F4sfDE+1J>n-t@%o0g{jeGCAV$L&ehNgY} z^V4d(thLks(b%V+J0sjHZWnGrnT-@iJ^od7aOSw3bV>1x(c7A1juNeDZ^8`cL%<K+ zxBRl}U7N%L=GeHFand?sETeIuDGA-aOj1d#$^KkMlzMLGb4PPoYEHS01u|OnL(QH^ z71SGLY3sUK#JEOXxkRWO9rmvdw3p{U*ZVvsoZjz?OBHj#9Ax-(t6+opr-_L)#8=ig zfLgeN!(sQc9!-^vKaE{73oo>D+Z9zMnqtP7mt`^$OSL&exEklNh6gekzW6Mk8wTf? zBCc)BQ?rH`>jpw9v1_=GSZ}>CmrxNWA-u=Es&`69>@(`fR2=92VxM)>b0+hixyN|K zicagB&RY80i1N>%c?q53PlSK49!9s0I&UPU@lKks9X#X|muan6Moax?*bJ|7|3`Vu zQ8GcE=cy{Sv)HMqGm7`-BD1Odl?(9Sd`Epty^I#-02&c&ka)w+YQ@H!4vdyxbXxZZ zdx(=veU=@pw{odI6z=8>M16C}m@I3^XS$VJ+{vwWl9IofhOv;hQ7pK=G&L3T&F)5V z?ibD<j?<N`{{s2_>t$Vb9fCc#>K8JVDdc!v*J<v&R%OK%W0o8be<-7lsFpg8O38nX zDKabd6ld%xHOW|D_Vlf=i=pCa&m(<TeZ$OQV!I04W$lZ$Lv3X*BR|)4yE;qVl;l!# z@sYB#qei>wRFKotEm}hjXf@R$BCmT;6&gk(=z=QZo^_j2c4N7@RSu?ly1SdzZLgBi zE^$uep(X06J4@eVLu{hQ)Xw{#c%4yy&t0gQctPVRTI}(5GVxxXO{b85rPk&2PuxsY zH_{lZg`a1uc(*QAGly!65n><>(gk!k_ES!Afj-kS%1?Xw6u9aPPsV)x#9C2MB+xM$ z%bhthwG{U#C*9_3V!XU5FVO_uP0dovbyBWKMZ_pEjvPH%|H`GQhxkhj70Jaz{)t!U zB=D36a)&%A>Qf7zM*F<yg&^HYT0ouo1NWjTGFo2Yohn*2(%y5Ri>U)5bY(iPf77+O z6wMGLMHVrVUa`f$>aThaC6^`T3bBvJazXmcwJ1Of>3>v$XXrToR+Kg-$c(gDB~ugh z6aGl`#AC6RzUn3Fl$xgxQAW8$bfA2^O;_dQ(ECM7CQ6G-bdwv95Ho}n=jayK<!yYF z3yFoIx)h=eC#XwGas`rNns`lB>35!`S#Rb&v|JPr!y|iM9DdFjX&to@b)mb*7`Lei z!M5Y5X{6Imak@aiiJ77YwS}yey=TAZIo%|KdT}=%$@ORjq?t$#_v3#s075{$zt;oy z-ha)xsST_%h2p6<<)W25hBxwBKFvpX1?{4(^q61j^|0JD{=^BKhTd>q-2V_bC`I)k z>kGX5FF)fg+?H2xh)YmMNHiUDoud9UkS_BSzRy4MH*^^9^re@4NN>`Q^<d6G8R!c) zVPs^O^)j!<HQTrh7v=gq3_pkQ3+_fq$lFbnJ96^lx0vxVx8r84^zV#Xl+sWYp08)> zT{;tYi98S3l8bN({u$C{qwQRQGjl`!lh<)guETwRzebcBV@{;)&__o~OOH5H<f*}y z^nyOpAM_iWn14K0T9#5!7U<+D<T6Ne6m90RJRs6xz)zJhVkhYE0DlMU#!xHDPKn%~ zziRI!{o_2F-{1<#LH%=NZ_08=SCdylx>3;Z6yCto`HOA~Yy1MKD)Td)nY%*LPyC8U z19`FZ30Kd6W_I#pVCg#keSmwk{*D`Ct*;^DZa#z+55ZV|S^!yQLC^R35~rX`Jdx+~ zVm5%@0q}<3fRw3N-3!i6&0vXMz;wFExxR&X1h40lxNjrYQk82(WKG5y_@sWI>+(3* zVGQ2S2D@zHq%<_rbK(YO@t!*MPGhV^ZRs!C1lDLmQM7|iil%tBG5fj5Ihz?N4~6*# z|HsVjsS>PK2TYQaLOh77!$$_wTu8G6zg2)eQX_{e1g``8V;%eXJbPV2!g!Scy?@0@ znQ!v~yuY5e<DLD`&3AO3lVLS+R2+8nx;kW`x>S&C*ullS#V9E-{+3ViLY~Q+`B&JW zA(xA+b^<(cCy?<A*W<pt3k>&>gV6Od-Ul}Q0DTq1S3~ksMvS-}tFtJ`cY&Jwe3SnG z9u`3V4`Dg4SIBj~3QrBf*84DbEOn!5RFTqS{TAhgxAeg~{ip<_>qRYSEVZZku*Q5u zXs>5LT`EWAsWo+_0+H@0wZY>npzl_YKNq~}H+n>W<4&)aR7qSv8<<@QA1eq<C&!w- zbKp}^9C>>_j`C2T|Bp!jinFjqOZ@g9tYwndZBF9uL(p7n`jLKtjNa3TBk*c2qzpjf z7wkRRxeDvK%U^)AU%=CKfcMt0_$I7vbYw?I0yOs#_6@>5pMePP+4zcdhhIW#7Rg9A zO0O5m8DMcB?ykytAkh-w;yz!AbRiqVPvHx<VafLx^^eHYi}fMTZD{WZSHqe+Q8pR} zi%mwH_=)Dw>BtGgqp-qOksYZms4{ZZ`&ijRAYv9|ddW4xS|2c$;-;`#L-L-G%LI+B zq~EC~#>+|GK9oZ6jP;0>rD-R(=i$)NUG_TmoR9Pc90UY>#eMndBlvA5W_ZB0v6fen zC!a6koj&Y6RlF8{mxS9uS6d?8&f0(<@9W?7GI&o)cwup{RYv%?*44Q-rvXD0VAiqx z1o5*ja5#xeMxL3^f~(SCOm9E+HGNPggG`6`2mThUkdHU(WEin4|Hc<^SAsqR7Wf}5 z^fMRZzo5H6z|RvQ)jwcSZ<onc;J6JZ>fHFe7RD%o^?9A~?qVHY2Z+>I<5w<Eu{567 za6EgvD2ssy^TOBafX$vFRwe~rJ4SX&OW0#DxTQY$$e?M!me))2Gr!|ISoK)0g7Nyn z)4V=z-r2Y(u;v%gy|-iX7(AsCFqxOOL^|+9fje%)Uk1|#It*0I$9$LRduaVDw}a;@ z*l++><DS5nw}<rs{Ixk4HGkxZ_7J>z6>G>jj*1||Sq}W&ik$fG?PHyabwmSqS7D{i zk*+&OaP4y*Lnoo7y_^rR&V`q+f~E7~?ly=e*LVP!zAt!iC+06t-t(D3T=|A`^9@*` zA7t63bMp6C@gG3$L##6mB3C-9K`Fsi_h}})^**9N9(ZOE@K1VL1`L<NN`t%+KKlb^ zF9qaHpw+PUBIu(9ZNeHyU@f13GLL}=(sHn87ua+H*t!lCgO2*pA({c-_MXIVO()<f z)gn7Zw{r(zzCUKF4J{PK?CrrDKawV&Xh?Oy-d;>kLwk@NJ*LUPeIiyl21vgV>0414 z);$*4BX%#sgl(Y(t@rC?yaOwn!KuLbjljp=^Qyz(0e7I?C6MPoAY}v4wVDgUB7bpT zNKk~lok_*$H6rXLM35}N&h5yV|NUV(N&OJl8YAn@fcP~I<9H`T>;pa?@mRV99-L02 zfXT(+D2LmEyZYmb6R>hOu-a@O#DcF*<4*J|F!~e!&ROXha6AB5`57zo_ANc&1&D2n z5!>d`bJ*}Jbp8aje^+4gGS*puUHw)si1Zx%$UT9@$G~z4@R<So^oRDla{=fgh5|qy z0~-@C(?IHhY%Dh-OI2C~)*TO<Tmu(Xpn3caFcFKd3>?-HT+|r;Sb)ca!{haFc&=yL zc-;+EYJT{3M&y-~^=Lf~IoK!oP+CZMm8XI?p0L;JFF<v{2mAF_`1X(7P=7*ZnF1KO z7wI?k310RR-2FdzNnSd@|LQM#F8>aH(%|<Y;JhEX2jWM5VT$+A*FhR5W{H)^ti3&x z!{}EsDJ87iAFKTxY%-1S(+}bo8VMQ3h$YCuS3^r>keRIn4vGS+g~dW(j6|3cs55L3 zq{`yF_*)!<U0R9ZLWop!1SqXS)wzNGPY*>Tp8}@Y%Ksuay@)LGGjiPmv<R#@oEz~4 zJq%p+7c$P|loe~v$v*&*H-U{f*y%AmU=!l(Uc|ZC(0vEwq%-)s&a7{$W!mO5$Q0tZ zJa?s1A_n|qA}83y)Ac3wjo!y^fylq~R$UPJYAkuZZ!^;aI*-vWBRiZ;JLxzwnbL?0 z?_uY;Iv0F@339UXkSh}`{03|>4w>pO$Xg4eT|{0!$$K^flCOYu%JN4|h*^axAf8Yh zs+9EN1TvHts6=K$!`-O~-$NXVrUraYUqsX^PTpD2Rm5Oq-tWPksp0jK@_0KPq0gO& z>F2m3H1H6yU^y!D6XFcA^eGtku($!t7vdvS4Z6OGt288QLd}7#zfsezq`!f&qoT6N zMiWuhEyp#<xTmhfm64_QM(m#iJ$^$^^*H^juE0LLQxRVA1yS-xa8q$a=ik`?->%1s zav>TY)af_`hRY8hzKLkK4EGFR2bJA<T?<^Fk$=+jBWDqG1P`P|CjGY_r*`YxdL4fc z{3*oG?DP|7;s9cKVPLcZkT#E_z?`Fi-lFj89}vTuA{!jaXLJm(uuospt&y#lK>Qqo z7_gVTPDkzaN4;Cu*LU?|&MtaUh*lv>{hydZY1vf=^(0P0FHsHl#QVFrna-o%>+g|i z!V~m4U7WwuMRW^Y5OvBx-Abncx0&Rf&XNumKFd?J#x+x5)BKc83={1|R%8(d{lIIq ztN%paw+(nX4c}gfxKR~x@Hak=`mH2+{oD?!ywLGmJx1ryPf+v4!?JC_w_Q<v<)&GP z%Ll->KcPZg4-LDNTucIri-QXn@@3Ql$-v=J)D5_<5AJKsM|E-Vb}_oE^TT&W@hd%E z?Nd?E*ETR_n4`ous1eH|p2h1s`jZ}^XX|I$>jK&r9@3T5!w-If<e&9uFq{L%>4TY$ z1K0PV<#=SUr*$*^Ugd!PA8S+JRb}DV&%qNPxT@F=Y`yW$k^pn&<V`xLY6DeW!JoyE z2WAraL>EMy>hPUW^bYtrObx{?)Z54DoVQy`)DzWF$xjDwZiffmMUIe_Iw0fr_KSs3 zt<Drj@bg#tm;6E?BQ-^=NGdGw##8ZHJVcFJLo^owfeHbdx=gcBkIumyyJ#)E<1%Wz z-@su_5EtM-k-t6EqF9kpY{QsGDT&A`@`9f-iN4|`RTVyQlG4hz;)BQ~_S0D5ljlS> zQBJHEiDC#HgbyduZF&a}>_tCEdg|GT#8biN+u`kbFk2kC+B*mT2`q7+57RyJc<LMa z6SH+i?)QWjfmK&yeI4i(P&37QVh(ZQF0zvqd_@n!eZO%7WK=yUm-ro@-i6<$qSLT< z0KBmUb;eJ~(`=pw-lzdTor&DPF`Y#%(up!7R(^{Z5$02fFV7Hlzd^kFo)>5fSzvAC zh-rYl>A2h5$NiP}f$6<Ie&tai<pq9o!@IhWw?i}*`Bp`&uMBvhrAQ+-;`3Hu;+v3i zFY<=7@P^8WeEE>M^hRV@h0JRxdpkTHBFid)T#?|z0c0uOY4kNwWz~hWE-?KF8Ok^C zqPF0m;gmzf11V#WmrsOOcSl4$5{au<;4Nb?#$~-LayrXVM9_DL`@f-5cl0PA_>L|N zzM6!%dk3?n2D4Vj+Ky`X|94gQ&Q!RCIFcNii9u}nsDt_;{K(rOmk~U_L!Z)<;IE5N zNtVS-)xhG1^*Uhvww{e~4b*c5VVNbse-+&UUXv49wbzBL1T>Zr|0W0S*I>jlk^Wlw z_^ECPX;Sk>MC#@Gl@9AFV2M$PC07xHa>9SSPOkG{$3l@VLJH&j{r@`^K0=*w41C!S zjJ^R{K8$yl;yZw>qyggQK-vXujfJjC&^6dMD;?z)m_Nj`5E0rS;_M;^*1QFNjuoH4 zOJCr3LH2ffx$NyJ4uMO)6+a_J$BM7;LmT6bhmS6Ucl-q2)WG9Ic+J1a7c0YOE&`ig zFH;lDRuO1A5;=3|7?pvqj1r5)d@)dD7l#nfufnnoX&-&X7;sWiU-S?;MK3W(OcTXK z5z$y=5Lv`H)ahOanRM`;ne>!Mlo4l<0hLE)`;NU{#EF~=pS6Gtr;!`2fdBpz>2~xH zbx~#b{|)5E2jRy#u!1*KUf6UOzdwYeM{spU@~(WzIZ%<EM>dfaIvGhRFkdbFoQFJZ zGGg;WFl86;OBH0G6=07kh!&lJfHIN&xo@$GSY#^uQ56q{x8_7ne;4?9g$lPKe53_x zyN8hT4y5&V?_NShxDsfs4lkcbeUUf&B7X(Ri5z!4GV^xG^2@_7df+PyJn#`>^sm77 zNmQ_1fr&pOeO_k(1Al|Bd*ahtoE6niF+|lq_+(3@XU5O)i2&B~Fw&Q77Z{)!u6wP& z>iN2p-l+cor%%?=h?vNSbbaJqKA_Xp26E-M$nRqC`xEVTK0l7y<pVFFP4K;0(B)d% zjjUxqodND9AfMO^Ts);cV7R`}Vk_Xyhr0eU<nwwQu0##=A0$5?>BeG2{+?9{HPL<K z+9ve08!T1;e*PPfwH>yp35M*9+Pf?4{v%$s0Rj$E7LiFX<pClN!_F`0IBmpCKVlvm z>)itFcpd6*vUe8VT3Fs@ua8nZUj2@`%tg#C3c1Dso&ABHLSR>K7w$c<#4zaQ5#);j zQ%h8U1yQq9L?y8g(Pa|1Mt)EW9GD+IoD5m~H<6Ro(nqq5jChp;HFZsJX9K(!(l52r zr*#w5C4*6q4ut)NL+f3@!rtjAu`H1DG(#0R5$MT^(PqGU{UNh=c2a&=U_N}aS){x8 zB-Hb5BWJ6$gAR`%LyU&!w@1wW8LU?xKZ}5^Y66obfw_&yNH&0Ty?$jkpqsyN)g&Oe z1%A4yCcOUHHzQ{erH7_}LR_1IQ3}HnN0DtF11`S@Q>Vbnn<1O@{+jy>aNiGjuME9; z9qihIx%a`^`@j`h#5GEb2&mxuYmirzg*@%yg9GuiI`xTknyO7{k$Gz9cPr4o7i+wY z*svMv`UoV%!#nOr`eSYedY9mu!-#!9K=(B<+dz0_W-wN2{CgEwo(6NhW3LD8kH~f_ zMIy=xtfUC8nSzMe40Y)q#HB>|@m6Td>z}#@oPP@zp2uESx`n9iynX#%$L(G4!$*i% z>7aqp;IVr^?kiLPw`m)y%}(ITrWjuVK}nFk4T5&ZforNjn|Tl$Uch@FqZ;yhoG->4 z6Jf(&xGrLWcT$$uy=g2YXb+zmjQnI3?0*L{ZjGES;&s|yh?tZB=?<b&HE2cTw2Hrg zsrJa$+Jf~fBBD&dm5n2v;fDe{t>N#jfzsCSVC2)tfOAE5vUb3Aow){(Q;A!#9}y)3 zxS}8s)e;yo5%1sX1XOfaw24~cj=qd2cUy;aBH~K`9-kB}Qxo4+5s6ZI`;sEv>FZ<u zUm-~vE(Nq2{1sJTR%G5Ik*Tjh-L@BB>yaZ)#qT?y+qba91=NS1;6LxN#vs<U4gQt_ zwhY0;Q$)@!IK_gz&N~9x1xG6Kv#`zPNZ;_ccx}=};9(uce$8?4%oM=E7ySMPvF$eA z^*WsWKnq||o4*C#sspWWVDT|@lDyvWe|gVi!`t_Phf;t=SJ8F&u!jgAvbJ9lizb7) zrodNfAkytZJw1;s*%KAfGtQ5!av88U*z+G$cnX|Z3Hi(z#IcOjKy)XIV-cB3a4}&2 zCC{dsK-5Tai_hu-^bI0r6X@|C*lRS_xBxlsX2i@tkmXG0-^6_C4s5p<b*R4XL}lbu zUV?BJ0I~|vP-yuAkXN6h`9G{_v&xRjY84IB2i0P+L8j9~)B@3jo*^sPhPrR5+D(l_ zechMuO60-1f}SS!i`2+!O4E8SBieIi{hfCP1<<k+440q#XixGibWqLVZ_QQg*aO7h zMoaGCS~S5}M!Vf)v`uc%KHdSnT+-?FXzDIga(Q<u2dpOg8&!<f$RQ%u-J;o8DC^q> zS1=#ZX|>J0B|95kID=}hy#K>(?LKf0n*GdI_HH++zrLvA6xKbgSee=0#NFwfe57sX zFsGKAXpq|Nwvu&>Md5GNWwV};&KvzzCPyazr^+Rc8PD`rC%0^Am2peEh0JF18~qH7 zm{%M&_d0i-Bi1XkT==b9+v+W9y8XfOqrgU;oRBVUexmu|5j@VA%dgZbx3!orH#%3{ z7Up8Q9{P<37)fb?>Z9)SkH#+A7hX<n%v3s^N>GZ*n6uTxa6$RT9HhF~_qdArMy+sa zieo}?1Lv%MWX)t>_ye~wx=>O3EWH-Xc(+R8#u_!nWu@HLG)ac_%J4vT%}pv>XsK%F zpX=@pT^AdWWyCpo)l%au|EY31F=jfj!7SB`uZt;aik$A$<;})mUh3T9x#G6?UWL^f ztB+e+_Y(v3A8M3%Z*X`#w4Yo*c3M+WW3FpB>x{{UpMSS6xbgCW`l4rxv(6b^)Vk>Q z3JbG?ank)+y%#HF3ANO{Bv%^=?n*8x@}utfqA$@y{g+6~Rn=HN>z{2W4-JnwsXN-Y z)N8DATG-n$HArM}uj*qe<Xfqagt{BAj9vCKces^AKXe<CPwtRI?4(@4tjpb;yfTL| zDfAnSHm~cp?ie0qoOMf!Av%ewDT|@5f2}HuinIo`L@Ub5oejTg>lnrc*~uB9CPjyX zN$l<ZM#jN#ch~f{r_#ElZpY7oz0__8Gczr+mx{|)UZ<9xYy6-{+p?>Qp_SqoXXd)d zS{BPra!Du?Pxg%x%fgS;1oMqN<aTm~nLeYg{T+9ZP5CMPCB_1e&#XlvpOck-l7n>- z(T<brjv|Su$Bm73c95I;YKyPIt>S+4vQS+f344`MZDkwT0#UW8?j?SsIJuk(I$xl* zn%u`R#ASWk$S2deSw(ruLCg837^ttCVXhVI=j$eWBjOJTH}riltJ)XTF0sd4um7-n z_(mBALfiOz^M(GAvzkNINlvD}()_@YkQ1&GHA4?@_gf3YU*#O5lk=-6g*@z?`XcL6 zT2)Cj<!E^woE7CR5p|3uZY$lI74n=UMndQzC$rAFiTb@3TtM&fSJm0V>tz?CmKwp8 zL{^$Fe^dX88m^T2&0}^kw#5oD#C@lO;*xntO-iijyJIzQ7CPOyviXx}=e%$lTRC(b zGT!3hwt*MCCzOGE2U4pKi9YL#+@;nisWTYQjJU+-#u%FDRyCUGGn7ew5O>1D%7i$y zS)SM3#dv<@KBb<%A4A*eg5FCp)_?9CeU^Gz^&P*v!uU@7=pNvP#tGfnEzgCG09d(} zp5>MgeB{3q-^p!eQ<20zL>Z0JykEVdW3q-i&m&MXY<COG*Y0>;X%5uMRnXmJm3Dt~ zx|_*FOt`gdY(5YEkH%T7Ub<(ghjvAA{g*pZw3U^eq0XA9uTE5WuyI<9Rh!-ZVi96~ zYv&@5mA}zo{wth~su*>21yxWVk^dMe!xx;gfn91{LT1B=YH3dieH9mt$2`kk>P`?# z%`)nCxRz)x2kJvkO4?-AbS*cvSwg(kzuHZxgufnT3LSTA`wEk5C#92STc@_`iY=&_ zwL4K~5%Ja&`(UVo|Al;IpHZ!htu$E&5N!q_&TZx|G+oE>bomqaGZwhHosRww#)t3> z74831mT@z=H_ZjoR)6bMqM}JoYWl@Y$zSXhG}FqaZmSapae}&T1?@)8R^KVGNKs>; z5vxw9?`2wp)g$+m>6htsd%Z^Vl)Gq~yOcxL4!znY-fT5D>V&pBXMHb?df_{^@+~vB zB$jn|_%_Mob}hYtTFc|S&{@D~P}x<~Z}by-C?C^owVrFqwc?P@AuEVX$Z}RwL-Cf@ zsh{;KW4~zTCaT499x~|V?(dY+T%#8|BgG)O4RPfcelB~{8<oIs<y)Ss*2y)p3>TpU z`AMAAOE{%bh6m}o6pf7hw%Eyg5u?@{+l6rdqdfjbVubUR^B9Y`p=v;X%S8TD|3j{L zshjKjh|brzsIIAM@DSZyMd@y0n7GWN#cX*7jJgMv><p_X7gB%8>*jvy>@ML9VBt)9 zo6KyaqW*fi_*Pcaw>g>YFA8C`1?apx!r7(_Jyf%PMoq*L`APOM@>>~<OVr3LDSE5q z;-FE0*EqLzIa=$kQ{ClTF-z~_Y{qNh=(=KzF-bH>3~$3(+->%3cegv%U9NJ|N3h&e zdBW&t3^uNrLySChQVkbf5g$7{#Z_}I?S64iiWp-6GRO+XBUu8O%PwQ6>_UtAww7v| zv)mo;mUG#?u5$B4@kACgmYL1W9M(GHoeUs%i#1Ns2luH{L&v*goEq#m?$Bs%EQ^|B zMLybT)G?MJ(@94a+^+UC_lf(?uJ43ZXZ=(sAPy}v)*0IDW?nEBiB#NG_BO8R15R^Q zSPiq^xdX%`kqp_{3M0GGMie&2n$zVAK12h!t^Fk2!u`g%82;DksurksI*UwUtS}as zGtHoRRNhB57;B7^pVS8@PA#%`hWESKC>K@bALTG(r0gXdnIp`i@&}Phtk%=)WA+-S zmYvtG?>=>}x*55O{K05$R4_+crLDA>vpsbJ$BcGMxUZc%p$4Jy>H<ss4?mON8jnQ} zqqeoyNP^J@(s}iZeI?w&j<x%TZ-oDGzEd;wYU(F*n^%ncMpkQ}aT~evR->i-$$jiJ za%+dJP*Zh@eY%u5YYdP-$Ys{gzSPEE<Ct-us;O1Z7w1N}MtHIPopaT0=muzoXeldM zo2`9j4c}*THl600=1LiY%{RIA!&O4rRecVqMReM*<yPamRoUOnOleLqYtUZR!TrWA z9sWI364F(+Td9Ze_cbz)RmL~gZ0D=)n@?@Il(AptR8O6XZoAO?#COgPRZ{&yInDpc zTt-g+PyTi0Qu8}YB4?<hpV+lSwZpSR)x$5srutL=!I_PIW^!LuUwU8Tz$^KlQ_A#4 zYF_U|DW9D=@t^Q`HQCLokI7O-f(%)W{8Ow$W+iKa?8-^>Pwu?npTP>D=+OL-8-A!> zsi7py<K{SDf6MWo@SR1KHcrMNznSEIw(AE^1Yg_hoOO`yCu4#fVMhB8TUX6(W`Cm+ zZPO#1m*G%wLZTaN8QdPeZ1++5DU0lDHS>-4WeGg-jg#la2BW>)tlz47PE6=(=#Bl_ zDXRaYyK<OZVSe(}v)22DS-H$JvWLFm-m*^zYX=J^<_-N3%4b(ruKr05F^2m#`u6y@ zTV=#fIlx#>J#{a&KRh#-Dzqn@Xpd2i=p{7#+Wg&mWu5Yc%osBuUh55R61!PwMrcd$ zUT|{wH|L_-#p7iotGZPvaNOV25Y|BR9uT*i|8sr|eGQ!nT@8<ObLx%UN8Fe5t;JS1 ze^cKyGuHf(3g{tjMf+`NP4G>yUC^}4II~q|(Lg3QJNUo%Z<1@QA-+>aaif@MsDj~l z;Y#7ZLvIi}f~p}UmoesI^JjlOUuNG!>n$msq`z|>*z3a!L+L|j!UY`5MXgN@jkW%c zMjPY4|AQ56m9k<)Y1PA>;rPP$?cVNdJ1ugEY+{me(roB^Y@P6Bu}*VgF-RwK{&jEI zWx}_^TkTSIYL%6fQmmEWTgVH1=>uuZ7lDUHdihFK)P<Z;;k)W5+j8siG+kR1HKv=6 zIorBwZ4wt`3|~?iRX?|v^P}C^HSA077dMI@(I{V#eiz?H7nd9SBYjsz2l`c?Q<X!r z-NVj~&_bQ)Zr6#Tk!)<3mT6@%Hi(=us6V)lj&e#l-QDcY1?Q=|M)g!%j5Bh$`p2IF zQ7IV6YNQeC_)lu%^mGex?(kQ)hCb~6!-M27(cfrky^@DyGx3Kgrw8$6-P2j4`a131 z5$-&-OSwGR`rb)z^au>(3Q<?gQ=%MwqB(k)b3%mdEy&8}xR+F8$|ra64^~E*PLOd^ zucG;?CmnDHs4MEC^IT<6i}Z6{+{j3U+%*35qJm)tE)q%agwIm$pU4y|JEQ0iWKivC zi-;vgKJ9}&&*~w(L6_zj{k{IEAGnXS&_D<()H!l<xQ4H{C`9!G-_vg*6YUevoJ77( z2c6>LtNuyX<gl=HR*}u{>1*^^kJ8`i9kfZiDq7T4Hz>&0IE(mAb}~zZ8~gT%ExKKx zDdiEpxr{9Bw4<G3kfTHbt<n=jM&ldNMszhBs3eq4|K!|OEx}8J+#f_S-IEu|WBQ8x zEI;@j+v%<2<{)Qf)H$6SvFs`}a9^nvMhB;(QAw7gIr48arJO7mT5t49O4O#iz&Wq} zb3Qpec!PV6TZ;qyK)f^?_&T|%0_BYydV@cTZ|Wg>EZ+*xLIyB1Je%I}dfipFgO|QB z?^s8W4Nc%-&R<S%RXN<t{R=f!7hcDW_?i&Df<{(-F8Uw7VpQ_g(Ld`es+qnQ?8=4R zE#ZC?(3|<X{M*Va4*1KOU8$!aoyr|&XIJ}z=YXapb_vd+{@|4~**_L*%o+1Z{Tx-* z*va$sTVCfDv~!6};lJJgv87ir8>Vqmv<;AaD(}iHsB~tz?et>1qAKGaN0pFIZ4i6J zDt~{sRv^)LpNhtm6l3K!U0n9F!zw`gf<N*pcaV~(0$$K`<C*_2nr}3aDO4uz4G(pk z`)ZT39L)R*HET<2D}B)yW0FyO|4ZLR@t6+L8)W92MJU|NadlEPNVgTU&4+q(z!nW< z2cwtXP1W4LsIOB1EP2c+N-fk<3d%+16+1)pS@}*bkN$-!8cXy*SuwnkTIgh<6r#NI zUT5IrMm=6+6tRk{vSu!|O8=%Nx)qgW-_^p-%A-_B&k>oe$Evlc6?N2|9d*Wt5`R-l z@mY<t*U6!w$*LnibGvhP<C&aE_XE?!XHi|Y)U8l$C(})BTc2|>s1h8d>(epwm{{k| ziQcDgnXi2X=?$geU#NPhw1{!~gny!)P7!34gN<MH8!M;LiU&xBJPGb??Xy?9LDzEr z)N|B!y;bhEY&%8N0rN+(BYKXQAkVUp(`>CiaPClg`d2qo0dddBLj8<`z96rar)h)x zulvYd>~ysg)Fk`5yIRGnB~%`Dlxv(11h`(*a>FOiaZ9ntN#)d|7r}FGG%s{V^I;=} zSSyD5Yf^IKuxz2m^D%d#x@`AXvs~L*$wiRY7Pg9Tby^wIfD`;V{b5vL&qWKa<gm<Z zpK)HY<7CkfjWfb8mir%y3ZjwGfybzI+#gv_HoeI??i|vU)d6l}HStb#i!MnoeCvIS z#5CG1Y;J5%G7{}~PBm)b-cya`HnE)7`p%%r&uP@twe)1&UH5bga91@@^+OhXj0XEU z>h5w!^kBLl^~OqR9H+2s%j4Y_MrV7lj@N@#8=cyCK}kgkYYNQ(J5<uk)p-4rigq*U zzujS~sNSVJ(sFa2n$5=oKdat>F2*dH%|~^1eI|5N6bL_e5A$B<92XV;(r>f@IrS~| zhSIs|oRR8^J-~@~=Qv@fsd}Uy@-*wbTTpECuW}#zKM0FH>J<Fe-4?n;8-i6;1s&s9 zsD2iDC(;`;s2I<n(as0AlH+$?JCmKt?ojurDyYuLm*y`@T2FlqIbUF&tk3)Ti@xma zw~uk@&}?;3Uvox@{>b!;NykVj2l8=o$KB>OQp@cU811|}!~Lv==+mOJ_0rvDz4Ap< z|3EM4J<GO^UpkAN!gM~gT))<ZReIF>ruojeV}|9=G*vWLNui-0Zbu#E&eo`i`816- zEvu258-2s*Wh6w8A!LiZn?~DVeVHePE{omnCG9r~$s@*6!#3y9IFUs_2AvLEbX^&0 zy1J&qI*%w|2F&WJc2sU7wJ{><Uk*|}b(-6Ti|DL8FT9P0sUG}|SSE!`Vg$^oRFqn? z=^k}r+=|X@XQO+?%>}y;p&4dLbEkVHFhcedcLQ2m)InX)8Nsio^zv|TYOE*GL^;N& zXjCwU8WY5F$VqNn=bW3x`PF&pPH>m1j5J@&u%??Mbls>;#(8ljupSYoojRcIhRdmI ze8T>NTGD<}a-uojC@<4lQ)!<5mG*{9+LxRtdxcX*FI4sPI&o2avGy3#IAhcTqq4l= z`vctc$o=egvpcC=oWspQZ$($sdi_jOPLzMie6-Nb%ag+&Lr0x+;n#La-BJC@6~s!j ztbdvBglObz;jblX`5&@YE!>)JPUnELnC83nsgH4j)|;J>Kc_Ti8cW1Mw~9{U9uJ;z zCpib~E2_Qz$~VOmYn*?Yud^{k?DW?ZEzJ+cV66F}eK{QMq~xMJPXA{8Eq*Y|`LwY~ zJ~J1Ji*`t7v_B*^cT<IThGX4;E~)n$jm`i0JNtgJO6U$&Idhh7Z_RLahi`>WgnHVW z?R(@`1LSGcRi~`E<_Pg4s=1@?L#J?fS~w=r33myv34hRawP8%PvRf+VywSs#M|bf( z6gSiyqk1UHt`y!Hp666kXT>%y>~C#4#(JxT94~qr$#j%%X^*rUhL#2WZfrP<CfZ7s z{n@Q~Q9nojVMJL8cILp(9Ir<i2??3(d?95Ya59U!W;(gY-_m-I{OXvoQG91iM1CI% ze-8By7Y=21lDZkxRJqbP73l3h9JMU!0F9DK?caT4R4q<UmlD!D`NB8d#j35mB>T%~ ze{-vr;TQv`BOm1gPA<1gs2Z#m7d-Dc&I#^q_OpJ8>S`8?>ST39gsp7X^R2Zv&{rjc zC7f7WsxG>{QOas-y!OwrYK!K^6t2iVs_s0p8-?x!R|KDj;#5|B7Zv(?<AOi0^)ArE zTnxS#7S8Oe5xz?!)v3f9_6}RSgL#mV+V`CH`aYP~^&(?{mQ+;Vu@^aa6DQjP!t=tv z@FKlkRP}YY`uQuEKSm$a=XiJcdo{<Z5ps<h;YFdn?kFc6O%_$H#Xc$O1%{g;9X6Vw zZan42x~sx6*wKCzYG{8W7EyhxxW9-m;OlHwjjGSxs72_lk)1X=9nCSJTFy#0MqTBh zvXAehbxrOIG?1^kjvS`0b0MdayCzgTG&G#mZs9HvKGDW1Y4x+dF`|53%{uxms@k%? zEp};9nD&NpJF{GiC-6#hoBx1$&=?R{N0zus8+9waBD~T`6HFV*<7Bdr>lEUkSmS$Y zp7zy|MFX3~pDaUtxSlmCT*V~aJp8+R)2)SydXzcEKVJ;CE?d{QJnhgAz?u!i*Tc0! zeG`{DSDcJIMpQO4S=-D)#uW2_c>p=kr-T{4DAhzOnau7Fp1G{wlco#4Qr2v_*H_hK z>P^LIC{J}J*!#n)LU+SyR1f4*k3~)YU89**M8;ce6yQ*JrTWEJ&Mhgo@D}@weOwhI zMPrS>{PoN+#t`3ZnTA%1g_MrxIG@6Q+L^-R?R==Ak{ET(dH$Pb60^Bc-?x@NsWidO z)?RU3{bBy)j<65g&D3hjME_d3{H^6Ev!!M8eIit!_0*7XBX=y)<Xx`P0ppGA=wD=w zF_XzGsM&v@$KhMf&8UgapN8T>ZWX(nQ&_y>o}!EYKV!A5=DRC5QB7XMZ*{s*33snO z!@lBV*5^e{dEc1m?_tClU8OdkQZqF@nABQp>`*<7r;6Ny;bGeAA(7T<>#JjYHvTXd ziOpO?x1l=D$8b@{XP>fDxkvey_+DPNj$4Vs6>;WmGaCn-cFveUyzU_Ki8szepy3Qx zpyr~z|Fk*GENZ<l7Kn6Qh=c62Z#YZrjds}iL6?_pjC{uL{$C9(vx{WD7<pH@p$*j3 z9}Rxlq%3Dw=#}H0F1E%f9!NB@m=8_AIL;YVZI<q?P%e9CIHf(&&d8gnrP0sW>bobu z6QAgzIa;T5D~GaJGt9;My}0Jy3Fi)fc5c!LQOJDi-y@e=myH6bZu+~sb#41ec(UEa z*<jCbOHv8h$CzbqvpUF%sHtBWAKm*lhwfQpg`c<55~p3bPk6pNO9W&Z>s#L?u;6If zkaBT4<>>U`{o#AzD|WyxrKX8)MkeE#mCxKIv+HHX_p+SR&8ccf`45RWt|uzmGea5d z;VLLT%e>|_-#^gzzaoX6plY~2-8uX+O!jccaMJ1N;+ApFxMz(w^BTi-CbJg*?YsvM zrHMLCaWt7SgujOCAV#J#mdXs~On*Z&WSro}dYRk8P3yiwT+3{~a(;FfuwULadzxdd zFEX3Vr;Au&^`BeRePjEgA5m_sx1qh<UT0U*>&<9Gnd<`G%zH)^)Wk{jRp$Y+*9LZR zC)ypSKT$y=mv4-D(efJ~#2{{B4RUMhllCO%R`hIsFSBqlr+_mCk@SpjvxxKUjd~$X zW3Y->Rn$4VjhbmUbS^n}-Rj(%k{IQD=ghn2ePbW3){RZSdqTZ&Iykvv9BwZA@lyL| zXM`Q2llX4&0bk8PDOuJy<Xm?%Dsp<Lq4pvBlXK4bPiGN-$m0GlMrUiTOf9mjg))N^ zR?qAxCrNY>x?^<EBi*IWGkcZJWsM~#u->;-W|1?T$~sofcS>+|r-t(n^1VFVL%Xt= z)!evb_7%U2@y-uMQzs8?w10Jfj!r`{W-Bg={JE)JS~s<RlU5X)TV<5EVE?JVa|H6U zRQBIaN&A=`;Gk+~T!;71lFcbW*VfmmacH^V#A{s1A4?<6C+<nNg#INwg^n5vWRbvg z<DJnLnZ-SR?Q~FA-J8y3=UVuYQ;`4C%Z(eT;s((T-mC}e8M>N#fc7N@#WQQZ_~`c4 zYiNM|A>0kvA0zKt53C!;uj+5ND*uJ7XpTCl?qO|*)OJqAZH;4QX?cyd%kAp0PNCZH z4fQg})(Ybf(N|w`R;cNr`c5U83f1BjGmngu-?^W>Cvn_kd`ERqJ>6#R5YDGdi>^k% z7$7>+IN3+%)bmsoG1k3jkF&bSC^=u(bjPV_;XCeiFlt7#GpdIevDnF^Ke|cP8r4o` z2G;wiq5N3S6F(a*jq#}Yche7iTA$O6sE2)qlAF0?FA-M5bzZl-(+9OgPI=JSi43`u zUf{0LL*3D;CLhq{^b}P^57$ZfZ+Te0l>=o9BaawOvvd=&kvh4f<yfO6Vp&erRR81r z;C`Z<a)Yd443r(jL1gcfRBLr!ztu@OyQ-v0=+gQcKNd4&J^7P(Eb35DuiziVQ$DAw z$j-)hvIPIECur@~)_cTC`JEgge-Yi0omSR2RHBOFp<G1|RHf8YHDCYBj#wZDh%TZY zwSeu;@DTnB7+WgKioHCGJE%r#t^2cXDQ=5#a=Cm%hq#iypuR<xt@KWv=yp);-0to^ zRf$WBAPF%_<lz*$k6y_ez^HY(JnEM$^p;ENuv)BoBm1r+9C=9g5g}Tpzv^}Ru<k`o zxGjHH_tYDeO~>;D)EKwLG_jMS$<I^hJ%3N-sV+T2ZeEe5>0i}LwOKp(B&7_Ao}xEh z=im4j)QC2Xrk4CYhg2WELVw{|hylICZnEeyFXX%Yj$3d=`kmU-PCCN#`4}hTAL$G& z69dIPY9VIP!N?xBOLPlyJrfmYi*M;mJdYOBYSB(K75ix@Wu<TEC_SLlsPKv-B7Nm2 zdMf|O9dXBd?n?38hmP`Lu8hiUI%TA><aLEO%71bk#fUj#r|2uP0dM_j6cr?g28*A` zr3IXalG1lvgd}~S^&HlZxj8@K9h{pUavU$`YTSm;>a@t_dQdD@uwIlD8AU2lR`jJm zAn{;A)=1SO`xjsF0NT!y{s#mn1!|{pQ?A2%cnoJjWSPj%co=_1WtN3j(QfjK`;=eQ z7ca585?)VHy1?Fv{(0#y@^(<AjPyiH!ri$r*XNU*0<(OM?47&8(a>#ftg}D;jWLFb zzr`fsh&-~aydYMJ6GBlNT1nrDZqV>!`U)&~`;H4y9;{+IjiX95h$lm`mB<PDLB73^ zDk=R(?_lrAlu8Uh9@Lyh(sIg9+xP@#??k`S73i%K6@mUPvF3bKfO<mms>B>cOZi)J zVa2|%<<A&*GLPk_oWQU79)IDi&`)b<dMBl&12l_H&_mo;02OjUZo-!_me<QIn%Z+! zZp0&bE403vYemkxzs&z}X8MuRP$_zXnV#}0b`U3;V~ke#o=V?(PquJxe$R@VL8d;G zjZX4yKE%U$8Mo#T{|zKu;OBfNvZwV7FgTAN@J(LCe?YH=X&%j>e}JzpKzs)1_B?R$ z6C@r<-cxoHxiMG4IIB4w<)<WcAkulM4=(|lr|?6dupF<{A9OYz%?J4-u1W$MP2mw- zkK<v-q4Y1^q5n}|$lM0st-UAnsWFwonjS+2uWL;$ZqGfrA(!VEt_{zezzg_y-oiV1 z0QbNre?p4|Fwz$K6Y}OGA0?;E@Xf|#kk|Y4D$xE9?06D0dc9lraRac<Ozy~YcocWS z@6~~BTffr;+bn_xE5jz)=?k#rbtq^Dyd0wQv>LzVgpR%bci!Hzj@*u;;S&ua-8(Y_ zgI<@29?(cf9v^vPcPo!WwNrwBz?I%J;e~*mJQ&mA(|iq@e$B^m)i`|Gnv=uY?SZ?? zxN{wM#;c6bY&x#Nt>7zLU@x!JOrJ<+%6^gO>h7_NaW3JrQ+T};?<|2mysoHiI3Gr6 z%DuQ0X7_eW)x-C%k$zko;Wd>wigU7~W4R26bSbR=k<N)qG9_l~4Wy>0%0P2HY69#H zqKVM$AiPr=%=wXR{t7!jg|{ib!RH{=IIav|84jr*^8x5|5ab>ONlroYAE22STv-GN zZ32GT1GYOz8(`}~(6HA}E<Ln57#RDBD&W1Qw4N5y5jqD?7(^}b>K;i^Nw^e;n#d64 zkTdr{jOYN*P9-Xfyds&XAsXRT2)=v@yfcHkMLNw?rC;z}hhih0Kt|(hB(S*?XupIN z9z-;$4rKiT5C0Qhxe*9i0}b8><{z-vi6%ha9@jqb)iZ1X`xW6k$-#v$pzrmt!5Lh8 z18n#|_|jS+>o~k&9=<lh_S<3cU%*VoF-I|sKNfQj2V%wm5f_-?&EC_C^&!I?_}>a( zxIVOhT|Wj2v!D`Ls%Pm^x{fZXtLg@NfcExyP17Uw61_vmz@}~aCs?>T@KTR+b5^d2 z(Q^Wae*-_$F;*(hfM{2mQ{%TsI>62FndfnhAx(W)r(xt-XK!cnn#fbK@thIdd73vv z`fL0O@vRxOSex>Kha7w!2g`o~GM|BCZ1`F~c$U|x$Lqr4^*Z#P^!Iu=ZRMBH%pl0% zjrt8DQw{K`*Lib3v_$az2hjX6_WBB41p__-|9DIo58X|HRu8bpo-_F(xUC7a^(#gi z2Glpgr+XqD^Sr%QTc9xqzPS(jKMZ~PfvpCJYcAr;OkjKw?wbccsKJA={yNZZWyrT2 zR%yyvpqI6{Vl<+c*MX-Ct{jh98z7SW$X<8Uqp-|P=w%Y-T@H<SyKaByZMbeZcZDzI z#poBn#YH1K*5`1MNDr&ekR=oO;oqCE_F&|>+gQZg#^A9D@YL2|kAmR%@$jW@fujzQ z&TA#X(th&1BxU6Ja&Kp}*H`5UdoeEy;(CCF!z;3YGrH40>WV6SEG*Ll@6A9o8UfDP zL(dSIc2O_dN}F)UD_F(rW%@0~PerG|EF+<lb;zVvV(jB!>OElaGRO?p!z(-Dsx0_- zEYQ6&(obzO{ICtpr5%W7=eRy{lL~a7#~}t3g}07|w}xQ1Py93PtU@~@`#k=~H4%Sn zAl|QojNa~qc3|V}7-I-V>Pej;b91b9Xk<TmJxI9&C@YPq$H44N$aDm@=?uOa4Gd{c zWN+6@G04+|7SYd<u2q*2hf`qH{{zRrK^(cs-m|6qywgJ{KVOeLd++V6_PUw(#`hg) z^)3(<OD1CcKZt2Z@NW=k`v|moJ3_lc_cwr<!r+<l(ABWWbJJguEj1#-d*zUscqbmD zL?riiKI{R9&VqF1A@>8wogH=^0CcT~<&%@wUwbA-^Lm?l9Tdlc7e8<rVEzi;*$EGO z%4wm&T*wFdb9M?wo@Y(~sy^#VK-*Gy@@io8cX)SS?{p6?3s3jrRyM3>6IY^Pk&ZVX zp!+`1)Fu3O0I^{$W*P<GZjV*X<{7xQI$~~F+&Kd)zRxE3p)$O_2&d;yI;4vrZ%PYp zc%;wjJzDEb@UwEr=Th=P{ST^wJiJTa()qwb@!+CV80~v_!{JDO@=Ex*4qnnfayr6d zjK3H8`2{Wkq*s8RvrtRqUBiIATv&A$V7EN@{WB*4qFy6%Gy}?aAtIy!t2_pqG>PoL z-R$jjf$T|f<w)otFSNS~`pN_gG>6p}VXd!_cX)l$1jc<7$!0c1_E?>U#S20Ix4>-c zcnpwQiElxtesG_c3%<uJsb~~pQ6pq~TWLP<)D0*-2vp?;4qG8^-{Mk;7zX`_nDr<0 z_!n$^0h!%rjseD-!P_bzmrMySX$YUFhu^zWHN2Y#Xr2#`{|Vl9IkNYu8btw31u*8j z$S#e~kTC${rzh_@|0K{y;YeqtA2H7N7_l_?u?SGuEz)Cj8m*xz@UX^+Vk?33g~+<b z!IMgm=I*o+Gu6b%kCFX+M$S0`vCYD@`4CII+)2Vm_JAc)Av1f1_02~#+)J~O)6R#4 z>%hidcQ{Y4JrEb4MEYsRVE(7j&tljrIkiKcnwGrXD))ePZ=c#b_VyV(0CVRCYEwd* zeDJ%Xkh2o*8;g;mP=PguwY~0z55WT8B5z1b&%rSaExrYhWdpO+!Q2gT?+7r{Q+PvK zFrC*+lJWUg@9!G)9oVHeylgA%RfdkiUN3;>7U1S}@avM`<qP=U&OM+D31+py4q1?) zbwU;zOOLoL-R7#mOHMG{Bg}gc*GG}JvbT}_G>75&r+~Q;@UEutnNL9BP4+s69m9+- z5aGVX)xUu479ii*i0u9lodu8miJav>T1wksm##Dc+4&UuNYUaD&@dG&-WUj}LC3*y z9q@AxSmO^`0XCgRlYp>(xcVrK!K+0;&2NYSr@(1*!GY}~JE->})A<wEw1C}a!gD&n zG8Sxn6Kl^5d%wb3uYqkpBc9}-AIR%swg>Ua+u`yRa-V>2)Pt`VL|ik#3Mb*0o8XsA z!KL-#rJeBmui&AQ@Q3!1__ij}5!LHRzZY8Bi7Q4Us&<dmU(3NAv%xH02fk#`@fYMh zkHNHMFt^uPEG1;ij_6bx6~{T`t_jesAGl6~tKWdlUm!E^B35F=A|Kf6YGz?AB{5P4 zaAt1QOAai|xUT~6|B<U9S9kEb0#@D^8l8^_HU!^?=q)ia?pLtG8M;dsBfFAj0!jU0 zlWEXwTWG!!ytg{$_I9}xLNpu%E6tDewqAqEdmpO5kEn|OjP&@dfIB;q$Lw|S+eG-* z9E{`b>puj~s{tSLcC8JD6dp6j01F*)#c))1UYD|=u&K9;X%K8T5;*P~Ig`e#f*x@i z<VmH0@Aq5|wO>WN+Ylp`!zjt%=?Z@4b%HMd+?Ie8IU(-_@b+0m2(KgbV_4*BWPh!f z8ESB(msK8#^sXxhZz&CJ9tHO;#b<F82OD@b!)@UAJLozcV(}xOU={BMiyuQZa1LJL z?Y)_Wc)tRb$_31H7nnGQ8J?p~N{tb{^Gd1$x20j(O0Z`JjG7#*^(|zd3=V66SA`&F z2J&`Kv_s@y1q}DYZ}p(f-=NRF&|+I4d??U85MN7iU2EL^V<f++i?0;$=knmxFsyqP zvFIMMwynrTyl!YaApKY%ZXf*cFl62n>8^JL>wJm#lEIg}{ZQS=J8!2Rn4vcKGbIov z5v?CXKOXYl1DArlb7nqbG#@ma2G_rgblyG(zs`$yisSx7%<r8r;RD{%d#5QNSF8=x zG{)LW<M+>y<1Hk-iV@$V{>_Y0j$)<@{03Rw3FLCqAk`CiTSi=8G15Oa5&riL?CHhw zd=VKdQ+=$z0A3}hvys>|A9?gpc;{UB<dw)-Jr?3wEBJXoc>53F%~&Ac^7f=4r|Ag3 z9s{mE0G{|lr(p$e?^8ioI6ry&oJ&BiY`8WDd0jp4fseg&i>`t_(*tc)pfRtzUv^53 z*gFVpv>RBx2EVyWVag~1;w6~J+ZXyVQYq)6;*s6ADI)o588CKE$nr9B7RyHD>Cd6R zWWX~41D`l2q-z3e^u_9DLXv{OMl`gPj84LO-VU$b$h-ap2LFn5aP+!SKg5coXm8{! zif6F*KCl5n+xfBj!B|~a{JROb@lMw%gh&vE-44M1(-6Dgu-BDSz+N{H-#@}S2C~fk zV6x6Y^+>SR2w?el%(@u4!U9~Ify!c}wuq#kaPKa>a~*ei_FIM3c>PoN<E{<3+spg= zg72!Kf{sD$>t#lRP{H@X@9mM_G>LRR_xiA3i0t*91+G00%$)(o9wH_(boLVXdl#vR z0*H@SF_YKT;|?&i05fd_-}XW#SBG<Oe$3<bRd0j3YY^V8gYomD(x`~aqzu=_dtH&I z_K&Q>>(y#NuR)CFor5w6{xTo(uLL7|{jwW@yW1hZY!lh7HJbl}WT&A0Be?o5uH3<1 z+)E9dC#4UN^ggh=8CBB~{uX&^IaGWlFk3&KjEZF}GEc9%>5f>~3zc9$j6Va~oQ`)_ zVl3~hsolW*5opcZiMlY-{rP63XZdDCk?qjqLipiP$oDVqn1Fk_Mf&khMil9d+P53l zbrun!DmbDsqJMSxM`JMia75TH@B$C7Q^7Mm@xFIb%w3GX6>GYPRqw(IPefR33s7?v zvF|DDX+YZr;bCQg!X_B264<2<#`Cy+0A5!n?<B6|Kyy*}V>~?TEs*Y=i**dLEP!2G zVf}ewgXZu{uQ&DrU}-R99t>?SfoA`~x>iQ|*Dr<tPD9k}4IKOqR8)i2vLep5!Y9Xp zg(u#AabRP4WUuxWWGExSYkiT;KV@%+u)|(o`Sy|BmUAN=*K<d9Eo*SXUg)_kWEcZo z4h9mvaT~!3KVtOuU<=O+o<QHHBGGv_*ewGXXB1d@CitUZgr%$FXJ_zFG0ajJTC5H1 zH-{G9AZ~fNaVosu1hZy`m-a-K;r(6Bi!+0<rsdG+YoPf5&hdH(&p3+}9|r0V;`bw9 z0q<li?>wwuptpGu>$e2zTA~st!2#3|-=W(06Rdp@SMH4b4f7qix1iU-5zHvbJL&BN z?(=dOuVd>J=zUgX|73Sm&2_i{muF(Hi&PQ3ZUw3ShuLRGc2RnNH{1jCy@c0o2bQAv zuzsUW)aIG^C+KZBK3@Qh--V}nr@441*KCKDj>7L>V>J(9kt<-Gq(DbAFyjx<-SbF4 z@SI>u1<l;Vl{X_hNYA4HNkF#0YDfXQc&C|}s9pTH_A)9@?>w%%SmXa7(*}0oRi80l zWnk=2<QH3!0WP8IsBBjwOY9oy^PL9v^*XkG1<MDy5av3Hyy!O115+R7xndW;5M{^| znW?L|O*bfw_Y9>##VN`mv+>S!7)q((-4pe69i=boExHtZ=wF~}7iPF1{31QY8?AY( zA?aILlgEiEz|2_cp!aiX-G?TtY$6*ZA4MmC#q2=Yd$pSf>aP4%zl5f*NBZEt;L37_ za%D^Lfsz|@sF(=qd9s!&BKPa%TueXGb#*&^kVfmF;x0d?zxa3h7MMK1WA#o{juP** zL_V#7Aiq4Isu(H6P*K#FA$Ez0^jvn*-^&1Go~l#uNc|mW7h2DhWvG{^LmQ|)SYiN= z*3<YWy@(&{l++SFJ)C|LchqpBEoGEXrIeN^DZ*m5E-M@9y1ZQft_$jqSl4r2EPF)y zf&Rj$^fA3oUr-s?Q585*pF_@+k(!Bl;)I@QPNUw2Wu%d5#5hq~?ABkz6SahEq3&I) zex)49ik^|dZ?vPgt3~R*O0R~gZhEwuj%v5Deg||vqc>DczcDUzPNSYoD#ueNai6;A z!D6zC<Kb$jUf?F7)_Nwlr4(3ALH<qkQBTz_cbclA-nunaA3anJ;|BT^yz!(OWc1?x zMh-bj4x_UoyLhJy$qsrG|Bgz$u6jkE^--Dtd`y7%=FltDcFk^UJx_g7ca)#^s$S6A zXJi$QdStBEG3I1p85O9Y{77|pnoOoEQAK^8OR4)JUe^|l<z#Y@1E=J-O7cawzy7M0 zsR??U9-_fkx{X-Qchq2`vmRqq6)j{3P7n<#IhT;1RYs}`ZQgcENWoGjGg^sZqKoiO z!>><0RU7_AH_?;z8lI*#@Kjw~p^s{(d0H<rFN<_W5sH>isi<x)Yp4qJNv-FwyGRt| zmvmb0q$qKg2J!zO!yR>3Z_p3aVSQC^)%jU6BiCuF9vh?eZ-$U1Wqv9vHd1@VqN$sN z%RnOw+<^Fx$5S^W0joPnCAb58<b^7tv+-15{Rc2bORCM6ML}^<jWfgi!l-2YATOYb zI4kC;!Lqy>%!5>YuH$}%cP6D;##hQJ?$85nqf^jl^+Gr0X#E@5Di^Oo9??wnHMXjI z<_$4IwzO)>rSezGWj0o4i~)Kw*U>Y0lRJjq!9$9gLn)msNrgmZ)rAhI&#E!+cTIkx z-s%auF6HAj#`pRSEi}vWbKi2&#+=P7%shHKJ*I>10G_YL>GkTUe6K=ATd`C`iTc!6 zKURtQd$%!9bh|@WdAOABLHo63jHa6^udlRzV&#(2=6e2MB!DCD%4beVl4=syb}!3m zdcCk^RvIfhaz^f?+Hp43PVd*--2A*vPt*@lUCd>ldDn?HpNlhMu604)l%Kh=+0*H5 zG*IvL_qx8`qw@1!F+zupvS5q~Vy`};(rKUC>NeK@x$|L}LvAsBmy4-1##Vh;&9!pr z5!MY+**K!-7&Y}j`jtrH?&GW~EiZPT%kTKSoMa3Z`$Z<P2rO3%zLbam(v4IM|IFF+ zVyXz%EoLg)XI>J;#9C{ym@9YalxA+Hz3i%&sv~-<iqf~$ESX<_W0sKj=pP{|r_RJj z^k}yLjdh#ok$RNwt6tMd_mh!M=U2^r0e7UoKK*Tyo@yM^4OA&ZhYyj@S<9oHOQJhB zpd;pP{XiDhXZRQQjK1SeRzZEk$wD<%Q*NaP@g|+$d>k%dtPq)bv+o}sWn@s(&A#EF zNUIMz9l5P@T9<P#$*JnNQB76?V|M^&&QoW&wfmT7tKq61=hx|w)BVS-#bJ5W{^;MX z3Rq-56dUDPpuR@<C$qEtn$xL?Is~upAz!Fk)>39fh#p*9=h6n(a*NSJXBb~qdAYv+ zAK%s0jIVAVzG(gIUI~2Uz2*@8$oNCO(>>%tJAqQUx%hXtBhc_aF~KO$J>~B@4exVj zb1JtoyXv`niI=JLyhlr98xM_iAtTUM6*i)+y>vn@Q%x*?Xu6fpS+6VWI^f9N>b}vz zZSKp$!$k{9tDEbFuAkdD6M3>TROeD-bszPNm#9PLTYC~YW<#fJ)UUdz)n8pTH@NZK zNoKMW#bakKUw6rvtEbE2W-4A{EY{6=sk#ju<k#)>26rSk)-k#@Rn}j{pYnS6R^X6p zoB7Rc;%Cu_(i!1!QEQ9+SSNzl?yGxzOsvzxt)J+iI4<VsS<qIH$EsS?MxE2QxSq~{ z8ov=Q_oZ~|m{-jHnxop#&z7rm`7F1GY%E$iM`R&4rTD0_n=QGXdCBa>vDQ$%5u9I` zGwP&#K_^vP=q{p7P0>rIx31E0_e0ciH%*|tQN}n$@gkqNZY%RvC`9|*KKhKBPP4^$ z{oc1kEr4ImK&%S78}xn`)qx}Vv_7Qv(j8q{B(*+=ulVQDTXDqyEnPKE>UZYx@ERkl z%Iv0~|2cWMxNc%>Q?XW@tgCMuCEb2J%^j!rI}h|xx2&6kgo;AF$*PeR?fxsCTfNl5 zD3dyxy?_P3O2<v)nec8g+TDVvoKh+pA=*Hy+~!=~qV94=)ma}<mH4Cckyq=w>JnX6 zt&FGK#dZBH+^qgAMtYej{t;de&YR{W=Pfd{I?!z%@m0o(YrbfCKp5soRf?(sx6f5b zKX&Koj$BwjLKb_BzBOOjrF~-%n|lQ^Qcm*%zcapf?@5n6gW`)@1o?4tW3G5$mb3n% z%2qYHqI*(v6|Y`Gn$jv657KYdTdJUkn7Le+-k3?$EB{Fj3)YLpA8vZxM7#(W7Fktq zeT}`-xt@p;)?HqWET<GSQ(g6S|5dY8X?L>D%>TJZ>4;ioe5=dqV!p9%c3(<)5tZl% zYM@=Wn~1Z!>YM6-Q_y?5pT^Tja~U${@-n;Xp=;}#?n3paj(1-xn>VT{$UoD`+oF}K z=9|Z}jH%Wr+AqE!)5+sD7T27b?q@y68K>XyD&)mqjcKwkr#J4Yn<|>yxI*>UdDIH^ zkniZ+tm!7jm}PYjGl!X6%ndXUgN-cWi)^Q^QVZ_u7-E;Zn9Cvh<)GZwQR8Pyg6!mr zLT0YNS3~)<x~d8yzj~$)i+#XuXT8ceVr8dLV5qolw5Rv-s_MoYsH**v3b-9m4c?SZ z=^vx2d5U()p_EnU*E94Ndx<XUE^yQ8x$v!_sMhltNA*FG%6g$gz74cnWTdpBi~d)w zq*LL&+}ypQW^q~ZnA*r~rshfVHW<ARIJ%hoK^=EHyM>Xx?N(cP3w4)^bhJ^@e8uhj ziztPB#971?6;yHbBwUV?0W(3aCw>scjJf6yl*+uNyKxQuP#uJhmgqh1Fv<(h{+s?M zcFH~~ss9*VF;@CE@gBp+4~2FY(g&5%Ekv!|b-aV#h^`{D^-xw48{s=AxrFYj8tI&> zy#DIep-t{M<nm2r6=3K<ppLE-7%W5LrpQ6(sj6$roc3n$&@XB-R@=cyCi3~`Q)5Gm zS85NnRa<m=rBo61uUf<<-2dbdx@i2s@2r5eM7U9!tDE18x#A46!`=L&{f$`QOy=8c ziw+{*m~1|wS4LOVlsR-j=X8szjqXqG3e`YuR)0}Iu2Z#*l-37+@2?}$L)#f?h03gQ zQ?l?RU0lVvA#R5%u&`KT=I38TUCOAg;m%hMxk=TxZcEsMvHtvW9WzG<cJM9V409wc z7j02<rguJ&VV{N{^mG5<4^&R(r9swL)aPBrJJm(y&}ZEV&MWne`_f&e+NsC9L!6=d zoWh@0{$y_TUE<sFxt>E|Cp|577dgkdn0tl)p^?&|pN&tlE(c^&z0lpM%DTgxYVLgX zw^L0m*XQ&j@mA#3|N3$pmt`mac^)LE=pRHqryCDYb(|%<TrK9&wA7eJ$Be$lY~CnB zJje}jH+Pu(tJ@6u#u$~IJM&4|NVeeuzW*7*sOWo-s`rA*PUW4CDx?f&s&1&~>20E! zEF<5`6UGjjK@Z61e${uJVeV1qm|MYZ=kDM*u7Z4~1pnyQVuo48ddYF(oNIHmJy|bt z58L^<m-~uK&<y!Xtd(n#ad#J5y@rM}x!URI)KKNzUsQ3fBa+Al=576_Uz&~NOW!PA zLwt5x@DKKM_kxPEn{x@Zg650ea+&c#WH1+Uc1o$stIE!|?n$?~lS-d+|JHlyldNJ5 zm*?d3sJrxiz%(xLe<a}TKZOfWO6MPC&>@w>$Ri3_MdVOpq5MTZr322tYLH#gE#wS! z&bj5?SX62sjn3wLxtCf-{mS`$6Or#e&_4UFa)Ty+ahj=9s1|A&Lu3x?l#DX&%2~>y zJWdz)b$F!H#{J%Yq#V_f6U>nD4!&N)N*Og%_l;_+r|7qC1t*`IH~b$jbC&9nVj)d3 z8XM2e+|nmIi2KeEJ=d;mH?-sJ%5F)gK9}JE;+%h=IXO^}>RTlOgVfi+1m~XmBYZww z+36N~Mc=v`_&Xz&%xX<Ge>B4~6Kd+t&UO1}_;YZ1sDQ)HNxP_+#ixzyfm%k6sN&Az z=*i+Yeb0A3Sd`Nx=2W}G%j`~OGPkmM-5g>Rw_cg2<N%R`->GMz()OKDj$r@rx9%J# zAM&jY))k{cTwUwDzc6=}zx!W?zxQtq-Lnq_Uxa{FdyZKe`B8h{Rco)A%2z;|@boyP zLcY-c(2m6O;d#yueFO~8zEkG<*yjFS^1hKR@oiMT@M_Lauj8}1Z4zAF6Y;E}f0NPQ zuY4EH1I7orN{9GN=pRQW=1;5`Zjw0C_3K)Q_(S|{{C5H^Vs`1N*2sj~vXh7kEi*bK zWN{{k8o4*c622Gpy>;AI-+xgKkom<!aPtWJRd`8ak>K!<XVaxr!ffEb?Mo8X*2o&W z4OndIR1ek&tVy_QJag8BGV5>bV#Wvh-l`X{jT*k`MosZMzt_XmLZ`dkBe*CuAvnoa zu0-rDW|6<RFV1{oKC~*kmRS9Hm4C1M!8vReP5hz<*o)|mQA<3IT5JwAg68j{3r*HZ zbw{1su4carz6tdR&v2V@XQPO*-Cqx5<Pt&O0YtsW!MaY7sQ-d<tbD46T~Ez)%3EVO zyDu(KU-mTf7!|~0POZn$8~03TPWV%BM0k!}O^*|u<!s+AbE#QIj+WBQ=*-}}UyJ&` z=ritBb3v$<z8|hYEWhPRfedCPW2Es?q@sH|o!&`F>}lZ-;q-QY`=V-1T5dMZ`;#JX zJVTXzpWO76E4V=|4;&6x^sR7jxfN9_$8Qa%vZm`VYNR($$Xmjp4(d6l)d``A_LA@s zr#`alG-hj~q;Hu&gV9KCkU5MSYLa>y-!*!#UPvR2C*h8IUg!_1B9rq_e@#OfEL)3Q zqL3n;hR%l<+WUj$oVrdnbw>PR_LIN(I~qNV9sI;7k7~GAd~zNi)yBSVZB~_475kQ5 z)a<9fHM;o=nYWE$(lm<jO7{@|;id@B2n`Ec?h41Cqvl9Mnd5!+44Z0*-@%yu?S1ik zW7hL2(HQwrS$#R!S*$lwaBhE9UoG>n_$>VLFZX|LZ9Wjr8X6K#;Z$@FxF?MLW-qzQ zcS*JoOLZ%=FwNDQzOFD+1}>}hzCNl9j|$&&dRljQtMRY@y?NQ(Ean(H86M9kT{G0x z4m-c9Q#!pE87L<I@C&P)@i+Grf1&c6pU_w3NOD)D@|of_YNMsWk=8&_h}H)3SShWB z^0+K3YufYlOkE^AGc>?GuKwaY90=?(%bV}438EpzYeOUzcSGY6izXc|9?Ej&JNI|K zo$!%%ndj69U!ry1Xk$#EJVqV2m-AYW40jC`wv(#`9HqCIQ+%_<W@`t1)<<+JTB<jy z`=3un-}J9#zdzb(s*?sEg-@9&wP6JPZ;dYIF3KsN@PklGeqmP&RSo~^mY|T{E5C_a zCJ!2~#09?Oq!lOhMLPbqE4@v&lUMlqb6?ds+&Q6=Y=k<npMQeSZ<du&WEeHW|2dP? ziQv^>OZ#t~l>{YN8_YlCJ#m5txX*N7N=p~)v_W6;b7oPqoBYkK>6VD^=I%3o*6pk% zfiu<)a~F4)`BklOL)|ERA$UGqT*rtYG9wC%m#O7^YNb26J;X73toM8!89gM%lG)5S zRZ4}wb_upJX3${~^nd5yj0m+&RN<YWl<J=SUC1BI?^dP<Tt(&y<TU5X3Y3R;Ik~um zNFhrm=AgnUb{W0R1;~|B1{Zxcc&Sm0w);K>hWoFGbzEIu3hxf5aZ`pW24{xGa*S9` zDf~Mv%UDi3)fVTuvzT&-19q{*rb*uhcFL7vi*qYn=~IT_WTQ7~=mJp(qKa6pxvBWi z?U%U1QNbj^f}zSPr%?wHr<b4PC^<qkfmR>#ZuycQ#rHJpBzKI*^02DnPKm$vc{s0^ z`$X7p#Z-=3E_P8~+7T`sYGr>&%n)i3zDWa&&7y&Sxiy`#a4c{U<J6}e#&DG^VMWr+ zF?Y;GRKi~2Ed0<QJ_oM+Y+a3N6?-Y_w%2t<)lXa&t`yuE92@q#jg1OsWn)s*Oye1H z5w>&MLsc^|+(;EX&KpxCTC2?3j_KY?DEwiLd)-KoH3LOszKJ_x{=zpng?%$|XJ}uL z!b_YaqMYxpnbFrNaE44C<&3qD*#)E{-_p;CC1QR_*329sf3`c@J3n9i+)P$8UYW0A zblk}3&a#`Xq%#MLCq{=e2J6`0=xN4#-$Ns3psx9jO*PzE7*3|V7&_KnW#39ZH)gc4 zQ>_li1s}iPnb^<RWFGRbip!Sd5D>r8z38Nh|6gch;)PIqH_VfK0pD`7zrQJ6(EmDB z?4;pQBDqX!90*k~%A~yR`yeaX=R!%p?)vc3xo$S`wTh{dbZpFCvz60ERSA|)7!Zs~ z%;&UI4`p=Vwz<W(#rl>L)ndD}JwTDUT5O?pp|Wv*BzbM-rQV@o!S6o){w2FuVZ}yO zNwP3W=BQyj!l~pGiGPxK9&u5+OfwOi%UTtqG8(IRq5GH9(k>zYHvT6Usf&Cv#r!~X z`G>nAxHn#Z$YhuFE%ASixtg?h>>2Z;`;D6;oF=|P=yULEIJJH*rus5k`>h)OmK>|s z+bKfn)nWNNrIUw(Jz_H^nJe3nomeCE^y7;!lZ=eMQqkpN+azfnRhOlEz}^%;DDimk zL3o#1L*sov`2VtQ_(#d*yvyAm-W4t{Thf1$)D!(6`A2KIaml`&I5^?qr+H2_-<80n z=&G@KV|SP%+(UM3s6qUSpf6NhJ=9C(F~4iZ_;Q&E`Zu*GyfR!(&6W;w#UkOSQR!n# z851c@V$D$J&%Y%2<pba3n0C=uV?PA0s4=z`j*l-Fe4cRJzN*LSy;d=^s@2tMLIZe& zUB|8&Zbo&eoF2_h)rTb2d>3R#Cuu^(#Ce|+?61}n|MjSY(aB;G<Z1h7+YL@lm=&rR zYM~2jOXl`%FbZ1TWfETF{^*ndx|5sF)F-h+H8w^iX)n{sgP|gc^AcLe8<ab+(O)rU zcg#lrGCCd3Vs}V*nRqkQ$?n5-b%Jrwgr8W+#6ZsA#ydYdPt`CvK>cL=?rMLHs8zBq z%}JaSJRDDnTjWIZlD|M~rKlHHYPY;yAY3SZQuuIixbn_V8Ea;g<BjLWTN=y5oYZ=c zJ)Opj=X!`yR6U4^_YIKsxqIS|;d}9OolaH_<6vx!=<EK^Ml1WGJ2dfhu(vZXT$_@s ze??1UoXBn#muW>Rj(5`XCcA)<Ry5T6j6tep%oAgySf(o`mJ0uw_|#1$&-l#P`+-iV zB}%zh?1!N<_I&4>vr;cn@sv#-F!q_XjNI}H*F@D`T4gneg1p%L#qAzAWS%tYs44M_ z?6<+@&R64XU_<m#-!o&o*c#q%-wpfRLTZfjiB70gv|VI3`WXpgfUrbvHJp2^{o)Bv z=DlWfdv73{aY^RX^Amh(al&(FzOl>N6@ARi;Oj?y?F_E4*QvKo5A`R<Dx!vzOYV^Y zd0U35o*qNf^#D0kl@{HM^>$*Qj4{YpO4kUPTrsh~YA%!dT1S60?)Xl#iD*CH*{TPs zak>jtRnxd2ou!AevRG^Er#1Q$E#b|S39+-TtYP=JUdfZ@T-`qWmyQl9w?8#EL;epk zuaEWr+|(-8O~v`tHU0lsx(4vbnx<QQ$FVlaZnD{|ZQHhO+qTVjZQHhOTUlgdXEM57 z|GD%1&pg>AGxs*C&N)?`z1?+y3#;d4w9H^n<&kKuFRnDD7Q&O}^FlR4M(S!ib1T*L z8Tw)(#qpm!<EY?_k-o|s;}Tu8{-@GQ6>^I6y38+6s`JT9_Erz6E?E%~a;2_^;wNU% z9Bv`|s2${W@=#0CV|{B~keGzKwmYvn4#}!woIbmbb*sc=)la^09pDdAtEkdVJ>pW- zHPXsgFgsO=6*I&jI;#fC3-SlJ(^}efhm?jQMpl!L)S6BoUMV7VPecXrj)Z)#PLwD4 z4nN{%{94U$PIA>ybI}_5rQBAIQ+D#?)pCyOKh8;WsDO5QsV;*Wi%DEo=96)*a`Ye7 zgqD_~vb0A%B5mqZxr}ehaQVntSAC-Tl0{ro;&hWlG0}jx@<DYtA0_P++=nc5EcS@~ zv`PL`>${#}#nDYPR5l8g{>gqaLv1Nr%PI1%dfAoiS`HM2h|<bpC0rRS`td4xN-p3h z7*99ah4p-hGF#LjKeoyhvL**m0^JouL|tmk9e9IOWltV1OUb(G3N=&)&=V1;G*cFd zbJUNo$bGzw7tu7DLH~(`V!6^m?4`M+JumK*xu~wFD0GU8_EHHh$rt#I^ykSkN$!?W z@;2oXm6aqhS=1HH_&NV4=W`~vrY~ZUSfYf8#dMQrxSymxM~5hiiiiy&m7cQ~Rita2 zmjl=(H_6FdgA!?xxGkDvCH8^)voG#RlAGxd?Gg{fD0)t-c>{H!3%ITyy{CzEnyQLK zsv&CQy=ab?Ghnfqyq#xIX;Dvnp@Vdkic=H*3`=WIt1YByg2YbhO@6eVH}OEtv$TXB zP<fG4v=b@RiJH@Hj^G>8E;G3^-VYG3D4RG)Pm#^V@-$wEcmHuS>O+;pPtu+uJSShs z0aB}D6~m3uOBcGzKD2|6u}z+pH|2CWomC!*5kIEfw3GjEDB8;6di0dPuz)3gP)<5e zQ|Jc2<Zc|#LG*!YiTprjKMJ6MY~WaVLw=KufS0v=m>=V=**uzC@KK(KnF&he&3KK$ z`!{$L@8O!Tb_)*07$#$!A1I9iMR6L+cG&}W4@BR==yNgm;dk)OXdaB~uki!4oz4!{ zp45HBM|d4ZGap_U!v{HqM^ilfH=QE2I(J;3FLD}u7|SIv$}aFFQ3uLJ^{61#ptZD~ zMpIvk!(1Mt52L#}&nnFCA7+1<zS0IV&{y8a^*9|E-sXOix(sEb)7s83o{W(^;^OX_ zUE?VX`CeJdNBQw@MGAz)V)!X*RXDWg=(|%x+Q*Cei;UontW`TeLP<Y)J!Yiswfl-| zn^IkjXCSr1_cMHoccF*(xO$)ai5Ts<7p+dzcUUus*UMqB_8NZ8`KSW<QW}3lJ5yQP z;j|IfZbvJDE3D%%lE#>6eR@Q-F*fbllLXeDkjhRj%ySV}cAw!qiLYQL!NjmYQ?9}a z#<~c$zKLF+@*6(SdWr#J3Imn>DF^10hkDXgT1EF@DQ!R7D?SGwE#sD$g9*4^O}*$7 z<`vHsVCQ3Wg+@?GtSz)t=To^izUQL6WQWI!(*pNCf!yLdls}4Q(+gPaKKTIe%|s;; z3r=*WCR7Ns*+DTBEZ*R|KM)nesoV`C%I|(6v^&)T0}cb1+HSZdxVj6xRh?$iezfW% ze8d@ytqx71$uyr%(kw9P3v7RwUvVt|<*rnXR?tN{MR%z^jYJQfVMmoe0cCT5$UoeW z2BF0P<U!MUfV<}6DcH~odwzuF&%jfAS)pI7u`mbbnhn=?aaV5p>YmvlXjeVF8xEhD zNUI^Br}x0^4Ir=z+MNQMFdqVc+Vce1|0+=V99Rs5?K)6VdWRl%0u#@e-A~e_us4-L z8^!1k@8_Oe$bC|OVQK@5ZAE*d!Jq2*v=aP3ora<JmcV;)%u}m17y{llgSL3l1+eHf zH2NM`wGFMWz=&?}FV4U#7X6Lp9vtjGJ3hbrsjvsYgI2e06}a1t2QkYSnU8Bgb^G#6 z;B!4jv4eMGCi{Tmm$=po;~YX;fW&f`M*#f(oSm>yB5?Nvh;4(fJN%XtFk^36urz#G zlg0tFMX@4$4e#9GXjr-hX0Zl#Yz-UUMlXB8jrADy1&nGWB1mm+3FX)f1sniATtv?W zp=UMW^*S`z&4AqGfYRMUYoCGZN9cVacjr<(9h!Wb6WvefTm>e!LAQ2sKduIy>J9DD zD$J!~90K<CAsw(Cg?sk^8DpT*=i&VanCV)~|1zxd8EupX!y~{It!^4a4YXPepV7*9 zcw58nJNI*^3t^?D?jBF0y&14{1Msgl8^Ow8&dCkAG3L1hU-!5<RI3B<<3Kywu9@5L z(I;qO0$;*w0<`1~Sa=N_Mr4Ogw5OcY5Le<kKStq06839HQ-S+_K*vfd0Hul4s<v=d zaJT|K%L8j`2t?wI@zw%b+XF#;5se1WI&f+acu@`aMFPDqI17qc8Tg(+Z85UJ?s|nK zsRTZ+Nj+#D?A;%2c1J!k9&vC#)M7R*2P3qqyvN+tTb-;Sv@JOKl%9d}7oa2u;rj|y z6=UoUE$skZoeiHa)c&W`{ao)6t+o|DZ2@dF#<(v)>6*eOTeu8-GZuZ0bXULl4_a`Q z7NIw-cE~<3TiZj_6B_1?*-WO67-<G@wFh`V1YT*+lU;-zPlHQO-IYXjuyua0Ppf9} z9X6>26{?LfG@#O$t+s0@1D4(ayp89%+!4O>f+}d06k<7<2`c`KL(ta}IzdTfrx5WC z{|fxe(4+i_d519G&hDCwC6FIgC$qc0LNKhD1Mfv~Zs6<<qRm404z^|RZgr~Z-eY9~ zqjXdr9;}5C<)@{vMrrp`$AU7EZFxXh-ois|V2g&Bb7Rt!(hu2yR`*rI_II|qpWa8* zL<ZFtSiFn-yb<%XC%?6)0=*IGQh}WaD9v}EC=_au9V1M|=TG7P0o)u6(ViIZz-8FO zy=&)#90<nb;7{_q4B%ow^cq;<I{JI;-gSBvW6DpbVD)|c0jy~Y294lWT!8(7`FMFn z-jzj>>n)NS5#c;JRsN8HTo=q5hxxxpuV$!i2oyFJ?A-{~ZU8f8x%VQe_+8V$Q;3{} zI1f}b4?mZBWDqTo!R3PuZ-HG}t=Rw7EYWuSK19@<3a&f@`+_ldJ3MbfhE<ug{Q@TX zjhSu&2di*J+|vviHw@Wv3SvSnu=Emt#0d7f>pJ`c^NIkMgMpGE(5Ytd!CBUxUDn~9 zLr}A}q&?MF7&<rz*HuLiPtj{6aNf?nle`DiaVF`+NxWl6hM3^qb3F+63`YDs4;)Pf znz8|rCakx50wcb_M-AMo)ziqt9JWG*?qd8$VUJ&!j~|e94myzxyYIm#T7`)R&>w$z zSF2RD#XZt=3PlDv5mC4U+L{Npo`POA!f)+>+%?FkSJGx0jw`;?KOlB0(7Xzq8bgvc z(JkO{AoQ#_;^uOUR@-Zm4>N6pai^ij9YDw^uyYzbt?dLm!4}e<OkN4CT#BfA7N3mb zIDB6Y7R>`v?jp9?G3uPSq8{cr8=uvL4U5t&E{7QQ96I-!55SK@aIKEC`eE-eTdn$u zw(BE=EYP6YP^oYDq$J$|D<;5SJHW|3K*2KPJBi5Z8@ZoeUd+jIzpMp*Cn5J)27hQL zA2dN+ev4Sr3h3z#-S5U#Vc&o7_+vQ|qq^y?uyh^sy8?6#bML$L;Ue0zq?q|=@L>&W zRk#)-3ta_%badBS(yC-!2BR;4Z!Ak-RS_e7xDGylBF7+ZOaV#<LfI>^RypGat{jI} za>J@guvH*ba0l|^CGL8oUYOA@ylMf-5s2^|I8OeRJE2~sp=Notr~WaE!pL*{=#(sl zpPJAe4un=cfc+wo_bq{Ec47=uI2UYXf!#JiD;pv=OQm<vehDj$1j;^vFO`uq>_z+^ z2rHcduSOuUJOuadAkKAxE=(s)X<h&u!o8cJ1hTt)P_P5A**>6^Wf$%TR;>i%FF;BE zKtmEa3^;7d;q(Le-iL7)b=O+c_Bao8R}r-U^Mm2N?8s#<qWxUxX*@a5b|Sozf^4fB z7+L^|H=lnZ7TSTY+hA~WtPK``106A{Xeh>A#K>4&e+~ZAc5ZfsB~I`Fddn5Ca?z?M zFXz^X;{BnaXOK~Zfj0)41iZ$;`g;+lRv_|sMLx9zUdY0ny%B3%$kDn3FS(JM9>;8Q z!qVD4&=}<MA&6TFT0H|q3fc$+dC(J}Vh7I!o2HVcyP;S$jC9wM>4Q7(Vb-r;3$5aH zeK5Trygm+}{YH+zkzONSmH-<cl3Ao9lS_uOZ-+v)fPZVlzLSvAYCDY9LN(sw^E>#| zC`yRtBD;77UJi#}2Y{>15LfDg*QMw@*GI;=9~O#3cB<_ip98Ni0du=ze4AkRf*8YL zvSB@A#+rL8V!Xuav4Z<qWN&w!>qH<il(c>H&7mZ-5m_|<%tmC)M%qanp18I$#UsPW z<<8(gzzXGoq%2tOH*0lWJ3+-~&~dD?FLE8aj=ZZQ^1_$ynz=imZ9U<KKlo%j?$`Fl zRzn6*1lDhlUbGr^soV<lz6r&vk1VYac&Y8}?+QG60VM;F(YHfJkPrE_R>w33zV3~6 zotD*<#9FsAu%^{Ez6MJe;N_t}*&HCyik|jDSsKH>+Oy(8bPF-27otx=#9tF;><J5g zVQr6MRnqpqg_0Ia@<Oc=kx3K;E(;-!YPFwFK|yLE#ymir9l{oTx*NH=!di5k0*uy% z66Jy&w37+?B8R98t+@=#F2s9Xp&j06`!gc{N3b;~kkJTU{{{9$0x8izvlFA52mPxI zB$Og;2Td|odD)>AGm)tnkr{QOp}@5#lrtRf2V(|Wb{z<P)@tr;LB{o%wgHK^DHE~a zD%dzrtP*zj?ggV*;9gHWL+c(GiB?&(5$?W5b+I<vMY|~jdD}{0>Nj#aFWAW+ac(|x zH7)A3g01%;_B{atSHhZ$!Q&g0g0Cs=T^93^r5(kZ?lSE{_IS_zw~WJJMWnk@V0O~# zUJsy`U{7{viWTh8c4{{TF54h(6$TEsLcvZUuD=9p?T8YWfc)#2(Ii~c4Cv{Cc5{R0 zVPIHAx`<eQ8u*w6{Jn;5Xw{z|awS;pEAoN`$O8``D)>Qx^TU79+!l<x?cV*@5jGHX z3F`VAwm%Q8Hsk$zz|k34ARYNvLF6Q9;74iTVmBWL7V5#`TCV#FcIX0b+UXN{it|_* zkHNejf?E~n1~Qwi@bN78s5@fs0A#FZ=re4SfH`S<iOa)tTE)F@m|sU|(KgKQF#0}; zRi&n^2Qcz+;F4BtJ{5X1-Cg^8KJXn6rHz6{{|B6C`|bKc<A&qk(e6rasffe>5T8zC z#Z#EBAYRpjUFHFEjW`^Ltjj@c;_T2sO$Wy!HZO$L2H=$;AIW{PrL?P=szoNLRy9E8 zl^12A{37?tEE&cnkayjZPi3@xC#zuHXyH?cu@$irI)nB{fejbI^HuI@PSX+d+M~Cz z=(P*xtnDqC13Z6qN5Uw0=OI^SJz{JIGS(-!&X+$(ma)7ZI6R3N-D7Q6Tn8#9UV`B+ z=?hNhrh~}EPa+y<tIy-~5jOL4vnLix)*0T-2j*6St~g=EOt5DI1&aMp$6HYEmsmCD zfpQI{2N=aM;I1i@>?CrmG{oc_P@X%;e|*3#?KFhqKx{gE@B*4%2Jd+Td)Y|KQ%^&s z*P+j2$lJBQk`x0&)<L7wk&UH6_f{anjRZ1uqB?TF0ki{JJPXYEiA-GktIHeAc|WoY z3m6{=HfZs$FnGNiGx&tr6(sHN{s~awR_J#V)`d6egzy)$!Rtog)ESJkEl_nDc}W_N z0Cu8a{pM)18luKpw9*O89RxOB1WT)8&9D!a><f)ONbBhr#ZxqeiQ=Mzs4vQhMA&FH zvc_e&uN-XO*<F45EM8CP59YFy9)Zd2pwFJ}zsQ_~-VFtAv>k`LkSA?J9`^xJ&V>9k z3TT=E_MOM~TFCnwA<x<B-euDm^H>YKenHOq3>cY#yLSS?dyykf2cj3@imk|oULk|r zihOMtT6lrDeiSS5KDbt^c6b(iC<DdFf`)6=K#PD4N$ls|BitOir&VX)fp&%hWd@+2 zI@B;7tKjV5u_rOuu@GYz0-uh63fJKzIUE@L54}fY{W2XIei?a?#Lxd>W|uL(jmRyQ zBles^rmzNDz8kB;vl!Pdd_RQM!X#Xy?KRqs{Bs)^7>$)dY4oI>74-vcnGr>f1Gigo zZ%<sg8NLjM4i?3jZ(%kk!0+>z^#<e+p~zVbEM<nw&1PhswUC9(2a{*P7K4!&bwx(n zAE@a8Htpk^u;C!gWE?!N+3N%>t<}X#!&fxMJsqnW56+E@vjo1kb^B}@x8xegW?O;D zS`QxlTE@u~S(h6^9mZq)S1{i<@X<ZAqt&xEL+grQyoC`jf5MAeK0F*VT?4IIgGheG zT`Ba7yJ}k+wC5XicNcu6?dy7iabMsFv^x@3x{2$w^E0$_JR+$KTFr^bQ2-IOD{$Hs z(Yz|Y8i6<Mq3AVWKR;wvI(J6(k9}a%G}!Z}`y_@G_{fB)bpx6IIjq!v!K%sNOCmE= zQbksxcmK_kS=+x_3o1XHYPzfX?gV>!LS2KwuoqYfe1P3v;@?<|T+5ZT)0=+d6%P+K z0>?&yy$7M)d%^t%$Tm770_KKQK0sYl-TQZMp_Nm(JBszt_OifRKA`S0W_kc#I0yu< zhP_S!^|4sXL;{t~Vbhsl=@vSLd~6|jxd!~(0xJvvriZzAc#VREazV#a-J^R9P51zd z9(UKx%?C_%#?`|RZ5|-H9zquR8f&*yMEK8i0pnc*eb|P4aUa%q+Frmam~TDUyEfR{ z0Q@mx7Dnh>CRVn3cp^7q>N-U1FT}`0{lx!T%Y;T`Q8HBX0G)<r?!(BMW9@g{{a1^& z+y<D^PLV2uIAE6s#Md+#iS<j8%m!W0k2Q5IT%*+rtqN3U%9}DBSX1Ra`9z+Pm)x(9 z@|TR2?`0Gs$}^dUl}@ts<|z3UE2!`Ct~4Q&Zw}NB2VXk^?*qV<rO=);K=UwYMi+d| zbgz!L19uDYa}$iIDn?ZpY-xcJZUl2T!WY}!XWe}TRtR&}G`AG|)DhpcEUzhiQpSDq zR!v0u=7{B8-ML0rngB!&2VZ@lB7}&b?c1*ez0uCFu^}_5ip)0`@VXe$V-E76Ls(Du zz`Oa7g)tiut+l^Gzj3cqg1{)%z56>AT-E+gatkr;4r@8_CLnRM`>ZJKgtkzOtSnwR zVDB&d4rtm2oLvRek7CWe2fCxF(`|52tDU$J8D~2#3KsWpp9FOY5%wzlq^+9$+@sZY zNUngIY(*xp16({0o}L1GH@p7^s;#g`;+_TI>k+hk580jxQ7t>N-Z#kYJ7F|a-RqeV zz}78fDpp|4SG+}J_=MF(I(dmq`iYG11Mm|~iio8w#EdzxL{Yqkf#q5iZU>@WePI73 z^11)zjuVg(wQ)0ZF0$C>u>V-Ra|}IbdyHE1QBh3)UYRE6I&!$?h#$trrh>YA>T+in z*D#I|>vUI?5+YMAt!{8k*G>2AZ9C<#aJttPKa=a`zfJL(%CfN8;U=9UWna>B$2-Fm z-A^8`)G=)~R(DKH9+j%sZSwEzKSlR4V@K+0`!l7Qp{ah1u8kqYuv6WVHQbiLH7wsf zuIjEj3uWbVjO32Wa$PxHex(FuSHqm!UDtVzvPJh*IZMOU&CXV?r&LVeTR%X&RZFUy z<P6#_wuqs^g=l|9H7H)XqFD<Zw<z6m+rwM+OU|BBg?IU%4VX+VGlEi!y2cta^>*oS zI%P-wByrQ>;p#1S>V_)@V|Ulxgz@Sf?`<KUjiqC9e|4pA3K>%*Ec>a9Nq^VJcXWL+ z?J)Tnou+BV{A$&N^uIN%y?suHuJr5cYMM|pVSLs^!#K|l=FPgM@``G99e2%?o_aQ{ zGWa-#iX*Ojsd|y!<4@on^Z0}>Kc1)6^DUHbcJ`X~l`*g4KG<ERKnod5=@uv#93rhy zLN41>uU$baz1BMNB#upatm@5Gysue`I^V`$wuX6J3ib3pkWk_4!Gt8=5(WN*eNl(U z&xx;Ozpopl{1CIvk>2^0cPRt@-b}7)ei_Pv8>mK#Z(>2)M}umvW-6mg)Z4QzrA!vT z{f39u5MzE$`@Gy<H?l*?v>;b<gP(n41$FUU;8D|@VF*$VTOY>lNJx}#0;h$(u<Xp( zA5%0nP-OEs;=k0hdP>Da3q=GU4fl06f7j(x7wS;7S($6z3;yl?9-eqgY43U2lGFUj za!d(HZTk0UTy{gR@Y<m@^(B+;#q`MdW?1GuAkbfJA5-2D>fbrfCa<MmS3Ien*e<ei z^{D*g(<*$Z_Pv8+p8s~gcBZ`sQqpW!l551>x1SG45AEsG*_!fqd*Tr>$1ftp$uobJ zPdnt>y1>_L-+nE9SoHU;kkD!cOQbksz7G7Jo}T0}%zM3|qv^D%fozpl>EG<sNUx_M z-huu+Gd^EprsJh$Q_yVPu)n9Q(f-p5oC*5!?bV&As0U%~>y#-o!x8i$@5dhL+k6`a z_3{d}tkPArwMbkL+uz<aC{I|b&sbZxm^TT(T>1P)haEQaA7eso6X&TLzCOOhlY}qF z{Q6aySvElF_jT2$qiIvUs|M`0+%k;Ow@^2wG>&bZS-@{w*mVC3u4nNr6YkiTcs9>* z-t$y!wWQgmMUh2vbd0<3XwsK={tK$>E2ZjAeBAN+d%`mBg&`q+|IAZ$)g2`h_y5hG ze#p0PuE3B%92pxBUD#U2Yiq=MU*Fj5@kfno^R~?ODt_L*G4C7r4X(YodNtFA4~<{W zie2tmFQkb7OOINHEsnAYU4Gq5?(TgtSL5uem=s&<_o(#0mL?H{0%yk$`nOFn=5Cy4 zOIq~(3a^`Z45`t$c0um}pB6pu6urUYOlVvGwdO;*Am{d^+JD<59rAdcb7kmTr9$kG zs9R~JJ-bG13^|oJE6Q6PlT%+PL%sZD&Xc#YaK%sc2Zgry-tB4R&l$#+VFLn&nBFRv zTyg2mVkXCL(SOKsC&xYWqr_)FgHlGCyu(ak>(j%3l(GASS_&619etJm;pp^&CFV66 zlkeug#ZMo7a`5OJA;EqYyTOl2X61`Z_*+{3%26}-XrJo{)e~YzD~p4t<$Y;1|2PpB z=uxmxy9iVC-aBz$5`zafyj|_O>&mMWFUF))4|0a~@N8qasmtc@PP+2jl=8uk^Rx=C z<oxpUQPfjMU%$x_2ZI~Lo%+_wQ6tBwB0Y7zpI3dD$6C8Y#fHUlj*6cAI{o_@(K(=_ z&jFLg!%Mdzv&-KnzXx!^oYf+CdNfWf5Y;!u!?-)(WcD7$hQG$g9Wwgo4bLr;67F_= zy~nh?>f+kHyiR@l_@ejUrN&l)TfF;uki}EZO*!|odh80zy2wi5ZAI_DHGdtkCU|ts zM%m{%*8I4hs`xxDSTe-%bKYIY_xNm^YE3Hl&vpM}-}j4BYxp$x{bCqrQ1xHAa$2?D zUy^Hh<;l4)=)65X+9zSR+~k!zFv`!C_Ty(e+m~#giq7?a`uW%GJyG7_BkCrUzUQ3v z$>;r;)D@m*ygr%jmK5`6%9rHv^M1-t@36@8!GrB@qU*))RR?-q41DXqHtk<j6?=o= zibX5=zW-#qW&E8xqJRDUW#XOkV}<u)(yw^T@@j2b?eWg5x2}BB*l*(!DtkSN91vR5 z_59!PxKgeq9_D~C{&8vBevNcI53W|!={xnq>>F`E3x%I+^t$45_2$QlZ>>o`ESEf& znLc?v^BrxNmC*O|q!{VZFZc7Dda)<&YwQ;5al?N;7XpvTSuu*WxSxLkC3sm>?c1$C z>x0hM-&Hf**!Jsxuhp1`#t^Sf<{RFp1E+bEPW}C<$FGz6YmwjboHFH2Y8+Q0{e$S{ z5fjkS@*^oI{hZ}>F5m3l@sIA6c{ktdT#Z(BU;CDcGQTnYo<*m;%6j(oULVld>s7{$ zuZ_MPadirxpZ|<+)3kXpXA^DC38p=PN&dc>tCFrMN3t6thgdC-tdCpCqzdhtbjmp{ zdi?9(UyeH#cpkO<@amW?um5b@ozJef`!nZ;H!qw$<YaoiKkefl+3p+T19oTAtAk?p zXB7x&mrpexdAIfU#eXde9Bfjd^y>`Mo9b`trgStP^?2)1Kj2|dF2(+<-Rsi-$iHmi zW09As`M=(O4yGnhVV_yqD|!t}IFnF7mmYpOM_AI<hsEFddQ_|4tnNXdk>5(Z8vJ{> za@A{+>513SK*hU6+L4dLzMi7Jk+1TFdJjw<{Wo9YI%kxrPtfDwFz4FnhneU7Ugo>% zQS;-UdmG{$`LZ|pQQ}0}qPIUjj?c*JanUr$TsZK3&;Z?tX#WrKabf;_^A--9Esw^n ziyLjV(FJqSpi5reQq;tL!jvOd&Rl8xAI^UnXYi<2q`_|gFF$6#KKQ$eSm@Efbl7`J zke6@QET3=PKU?h`a+J+G+W%#G_qex7i)_!SkXOHuvgU#D50Z<U)<yITI2$$M&b%Lw z!tyrgRH>c%;ltARhZ2I6(Z*h;4uQ$pFL;(u2z}e&t5ugj&y74UJtiezh)GE7pLJb1 z6xcQUS~?d!Kkb9(%!t>f7av+aI+C1Huu|P31x6<C`<V6pWU80gq>Qwb$^I$(DgC_P zTVF>0ndGxQ-}hWC^=IO(F~brI+5F7=LL+mmb~>U&n$@R#WNSmV_Z^?aqz@~+zGk`H z*AvHnKKP?*${g-%Smiq*yncvq_5Y@SlPzIZ;G?{A!&fSMlVr@s_&xT;UOjT23w@mN z>Bse~{n_3|E>SnUXz`-2%w1+(O?~L%zsEkz|M@y|puUpFvA`QSPWo}i@lUSzyECSR zp3UDNw1CSuuIj%QDS5>$|3_hC{7)x`|H|*W9sD}y4g2v|{%><CJ4&sn;umz|@2F1^ zzZz#XGn&0)12=@6xAaSy{q^LxI?kk!t`Qut!nq^icl^Ax_F{Fw&+O}bJ0%_dIZrK- zJvMTaYu@W+ueS1y5^JkI44xiy<8w^ZwygJt6<%EebirTECsJqpF#h~vpAxh+N6vtG zYFM&N(5KhrH9l`cTKbmA@cs46Q7za%Vj)F-$oFcSqg;`uRh;2B5>9-M`Ef1diQ$~L z&98e<b#u;)b-z=7l+2vtyD-O!kh{9@)Gcu`>9Y*-{x4*ipRc{v?`HPUzy}cl#?qg= zy<Cufwcw;`EAoy=iTu3zTW01)^Hr~Az81fgmQjwfG5deEOFQ5Zl4DbF4Sk{XXGz~v zR;uNV5B#LxeUUR(mtpm2nZ1$srQhO>HLhEDLWRpkPCG0=%76WvJkZ$LyPD5&??}sG zS4z^RU!#*k4I6^<hV(QS%JfWbmTY&7GW7J_<3HH=EzuM|+u#ho6<Q^2|2zJA-Qz&< zcBQ?%uK%0*Ei`TjZ?Np~T;XxnD^))>t8;Y3zm|?8{*AJS`<`_!PCb+KJG}(e@EDgZ z!{=Dmr=Nk=vVI#POPV6S?tN7{BO>>%vc~YysjYt4|HRqu=qsDD8-IGmcpl}33EO_H zPTlLdJo~7iHKI-Gk)$$dY3f*yM}hnNe~E5?^2V~cMlOAh--$h69{=&ek4t<i(o@O( zx7MGs83$;ho^*3f4Sd>K4q5+2uZhXeqXJiFyJY^Am7caW{j+_nlEd?CK#)gSYf#i8 z+m4_rc@CRKe(Cd~NlJx0-^!HE<(pCRSJl`p_BNum?t}8gtCH^@-MYk8zyBtkGuH_@ z<bPRYOASlgXZuU>=4QSjzSVW<iJ8AE>rUr*7E#eP|NX|dHPzhtpB395^faaPzbi?q zt(z++A2&q#KlSUY-i(>_XJ}?k??!>Y%}bos(>crOTFLcwGc5mke$jPHx%0QWAtp!H zT%}x&w_9ITaX52l7EcXrnAtNnB5qUa9NQkwu;j{C)_=OIP)yjLRcYT%d40k?=8MzL z&dxISVYX4O#^$j;M~(3rWulvj{-GmtK2b}3`2KRKHBatcB}eA`mbEwjVa%4~0U0E} zdS1+4DBDc=F#7UOV^Rmxq`+wbLrudR!>qkB=h`AT%p<pdY0E^1^UqFu$H4H2!JdYw zF|TgLWrc1lv8B)iU1U;B^se}+={~ZxXN~Z`p^9-w%+4<pqwDEp@Q&<zJbF47r-Y=g z%G#*Q=5f-eyvGJPAhB_5OJlFF77=;v3*X;<mEaheXG-Zs5&c~cV<!B{8M`g>i^(rX zwcG>!x@G44cJ%A9v_Za+;XOmb44X2BCRIv3W1nTb;nTzav`0ZTUu<MtUh~+TKXXQA zwRltOy(bMS5L~8e$kogZ(E)!NC0~-!p3$N0vR5&ENZtRl^`C~0%l;K}JP3G7iK#mi zdZi|)!#uKl*|)Iakj?QA>SDf<>ucm3=k2$xUM#Sl$n~vEk=%z|MWX-x92e)~dgB!t znwn#W*_w7J>i6$+_A!C)!zu>FQS}sSf=_xhm-Y$>_|LnCp{KQ0+QHbfu6H@&BPV({ z`hDhU^{69$cT4su?dNqgo_=Ki*EFlR#SrKnV)c!1rp48Xo|E3#!w|ALAYJcaJ({Mo zg@{k)JLZ>$>4u`z&pF2NA?3Z{YUuWmq9Wk?jkixy;&ONwYo2c?`^Ihhvnqa$t+z4V z?-n%Zx6L=UcJ!|F(H=9hefF<oypy>j)juQH*~ReG5@l{<>`09ruhqQiJ8k`Z>IS{` zJ(pVX)2`pQOqsdA73}5dms&AlW5Te^L@~)S$p5u}2ilp^J3e395nUd?%U<hDF8hV_ z6Io{GLQ&l8V`^Z0p+u`+)D`NA<QDYCr)stg%aPdPp914=d1dBVop+dSQK~t9Q&Knk zWiiN@;M?2hm(G@6Ireu_h-mM9(EFYt+Ihx4%<1Rope_(GMw7XMeilpDHkz8cKWl(_ zUqA=Hm~@}-Q~s9IO%4yrtM@FCl{=$j`hQvd?Xz9OJYxf_-qW35<6N<4?JZ45J@b23 z)VC#<<4Wd{%oFmFIncYFM^R;)<AZZ?#^BWEhM<sA;Yo_+$GF$Gk_QA=Dfv8aE9Fdb zshA}R71PhTo_pR3n~{C3?s441uPx*M=#Kf{4F2GCO)RvnO)itt-8S2!Y0wPcU&><Z zt+cwT%`wRS%`)A;LeM!!<o7zC9yl!#ql&f)DxRUn4^BRB&F>gY<-J;Eo8?{6`u6XC zf7dvc`tJ6(d7hv=)+<&=Mk`x@ZiHu|PkG}eThk1Sy^A@@xG-xqcQFm{Z7R;i?D)RL zHZ-VK-i)9yd*zg->G4^0oi}AkWs%QI^HmktO^I;iH=fhmm6OUlYDC9fNwz2U=klR` zjj^90iZ-&R%ON5%_oRmEruZ%i-Kp&TJLc=2tirxM@_GhGi+9%gDUnHz%tPu@%Zs4h z-bqYpl@lgrG**6_W4w*#nj)Jc*1FK@&x@4{#tdTtT{$saH980BHre}G=PAuS#s;*} zm54j_=dQJfSJjB>{^R93>z1^cnQNV`R1d=euW}xLm8F^Y6E|fzd5L+L_W(aYz`sx9 z8~&4(JMCF!glug%>9xr6SGlSRM@QRq(OxNPS9DFyA-+@eM-o1Nk4zu$l_%Gxu<|6+ zHzucKrnrU)r~a^)ujL*Mv=&T$mR^$rOfx+Png{YLNAAp**30Te{cDStXNr<j&a;)X z*OTAO+0}xs(@G1A@cQHMjR}p7rmX=va!&AyS3R@BGyJnUIhUxfOu=5^rV##`*)Hvw z?H_H_Pqb_^WEXW^r>x8E8>OO8G&i=yD7)#Oy|mqz+ZrNW>(%qdc#qeXLm89)>XM$B za%FEF{@0LYy`0iJZKi!aH!wc%D&on!-g+YGMcQeqZ1M2)Fnh@1woe%at&h|vrf!~R zJ@zP*9jVq`Hh+4qC|*B}V;pGNl~;L5b8Ve6O6oRwhWh<6$*iJT>+Dxm19i}~*X=Rg zS7ta<tzd_%yP<$lF?3bVxtiD~IsT}9lymwX`geLSu~dGMxz%Ln2(ijkS?#Qz;Xe9; z#=K6M{4}GWew+7ozxK*hhp?}37EzO^jCi2SWtc0Txz5_p+XT<h4cBkgE#^MzLRWP) zh?gs#x-<IAx*yzL9#?Ox)#M@LWTmogw=0(@VJT-&Gv6gt%UZ5~?l;e8GF4J%yYjla zI*&V9ZD_1#`lsAcM`Vq&jdXS7^1`BQ7CA)-?{e;TR+m0X8~u7+Gx3srMVNf8Hq<Am zw;gFT#Q4W@fRa+LCHI!XvuVI74;|H36P%0esgAE|d3{9>X?QLhWEILN;20!a`b~y2 z%1GJSwbAk38A5~gyNy};e-x-5aHYuM+=fzg^^70X{*Gk%LSM+ZK{m}iYP)WD;1S?8 zO8=ABa)1nQ)OHM$x%7QZ4Rvi@W9;SaJ=Jy;N}UyhZiAw5N!K?=BUx98*EiKSQR?#> zt=hUYaVxz|IpF*$KPq)ijrG@T*HafcDj8#aI(X}q;m!uOJ6T=q%Vo0i+Bn7VT87%o zSew{$^9@DSHPVk2tJDdOP{&HOm(tpxGtSnp6=UTH*Fx6}`JSii9~oZrBiARHMJMTy zGuisd>C*qQB$=l24#yM6U*~++XPHc^l(EWe^|9U49_Vy%0o@&Oibly8SG22y^rm0B z?fNdd=X6DV=K3SMi0{HzDIsR?cjpCX1XVWp>Ahsztc0vx{8j(b@I?ut0V+8w*{(a< zaa&zJeS3;>_HZn6>{N>>wRNPMEDG}}nZi?Px>85CTbU`A(oNn$+o>tl5U+TPx|9bf zH+92BA=gNURlTQN*XJ};RL)W{xyv!%UQzuc42G`y7Tn2|Vc+X8^Gju?-ljjTbmaSL zd$kBZQ4Z*%bUT#&oFEslg(q+?QJwDb68c43$zNu3zI0X+`SrUDQ94Dek#k)O9Y)s) z-mmo2#nEi(tIlxUb4AOiR8Y5Bw^}sk;qrxyqjAa%C0$8X4v1A$m~W|d)O;MQ{Ltl6 zcF9Z5m9DweQMXH1Pbp0nekS8x7hHv8cj_*FP@rt%TI^~nZ}L3)NX3MmFUim95?P;$ zi!Gv$2ovk5f=DMX-s0NjN|oV?6!~NUXM}4TuU2*_QPi2!)Vr<<t|{tK{wHE-qKtA1 z=W&;jUr=o^fxNlAyrKHZmpoiqsq3M;C`xcY`G$8=HwqLls59l|S1vEtAo-VuDMsCN zF_N3h>*`gtmW-Ds>P^)-N?q>i>FTcTkb0^n(&!1Z950{AU2GPAM24s;UUQOsF7xp- z{w%5}Jwz)eHO{$GokG8rv+(Re?yA;z9e0hFeQ329B0jMZ*32uv@@3kG`?u3kuE6WL zB=r|-6rECs#`8kHPIZ+xqLHwXgU@gT`B5*?O{u7?6$dC6|CM_7<xAX}UeJ5$MFV*} z$ICh#N-;EAL<$o%WFx<p$y}4x(OofCX)6ZN2)Rd{%>=CGP#P=!#YECh0nJI0PLYnh zs5LF%FS5JbE>F=6QBaH`tul-Df0lDFf;u8bbQP<q4Oih9)?@aIloCo_k?DNw^itXw z>gbm86IUR+bj5UmVmM8ui`+uSxg7GoxGcs3FB|1D_7`~-KixI4m>Z~5)V;h{yiv4W zqUYfK+p;$IrQKo^*ubh?J;p6XRb?64T1p#eG}v&6e$oxP!J}mouvb9Yt5g^JI92|V z)wwjqiGRu(B~(n|BEWYvA0UHxNJVHeXD73$CPG9Fa`A6oKzqdxF<QK(qtust=p|<p ztCVOlmukSfqhbBaoIpY17cFC#Y{Pb*Op|B_twu`);j0JylTK49(*ED3K3C#8JdATt zOX@_Q>4W?K?y6B`dP!$t*Wy4~0XobbxE!D46{Ls1`%*y~g_d(_Ps7p%t!fEvai8Ow z$;~mpw=_~aGg3P#7T)_vb7&&vC2fDeR&GmO=^BNjmFDgm9d%gBp?r<IqW`=UPM_Gy z^SB{x12XDTC$6Ve$Dt#1!d<cCC0FE&(uaL$1qFyZ?k8s7vy019C7R;i_3@a4`7Gkx zAeO8>nLf|`e865V1Pj!_sFrg!d=<wS@`$q(M2TFMB4CUDbc^PRN90Rwc?@@_3|cAf zi0UGdCQ}>_<d@)x4kM^az4)>0Ae+l$vJ?l?7w*D^<t5cyu9S`Vo4a;ED)ebEt{E*; z<Ve;|R@a`>D?@AO7&*Bwu-=Jh@e|flAu`h`uF6IExa=qQ%3z+xZ#f?n?GUU{06a;N zpLjeqpbTCF#)R=$^mzwXtxOe=%Qc7nhJv};+1c4>ENwzxLn)2-xzB?2pp}$U6o-E< zW86Woz&r43Bdte!L#PY<{flylogxpkrUdolj$o4yaMMPlfH`sUfULqPTofb83#C28 z#n68@9)+uB!`l}*iZAdgKEb|Fnhs>7d3>L}X#|x9bH?F%FDe7{RG<KAOf#q>W_yW` zu?mY%z;F4e7+y7~CRp19ZJOykd~k$n(^WnSk8S1m@cm2v%GGHXy`qb>fNtTPa$Jh< za0xJ?jM$-_5)J-*m3jCl<~s|cxC3@S<OHDY4{PV6Zs*#-xDMlq<u35`2o3>uXM?Gk zR8;JvyPS{j$v<)|M$il1D@+skgS;Yh@jAZE>0FWaz;92;&Y!@nRqTLD^`>%E1vW1V z2EGAH_fQBO!PxF|E*eM2@!AOMz5@@nvzLpJ<SMwoA*`-dA&KC9a-=*Y*Jw4~WM22l z#af-A&0Lp>XUb{#EKb(t0B*%!r7t*J8WvfMnLFexxj=eydvLlUtWl8X$^!DeEYHbY z5Tmb$+@u)&1@=Dz<uf@(8n`Sk;R6`Aju*=_a)qo0WIW^iu+&4aItXnP1p=qxj(Wgd z9az5{-<457^IY(x05zmA`hjeyH+<9v?D;HDpvMF$fCTOT&7H8-etAv$V;0qbk$RjW zW8_)6O*WF5YHiHM2-{x-8?S+jmoS<Y=<_=?PnD;*H{}(j#cj%h5_zGIXdVF!51>($ z1ix!f;v~VUi?}PS^PD@t-n)Tg3u))9KL<LkjFmmq>?aVi0Sem#*lI}AXc%x6K?$%+ zLz+)tft|{<j<dkW_pIS;C8cmpAi;osH?dZ^;iG$R&2ioWTrc7h_$-IJ8d5W0%uFY^ z5bUxLy(JQfE+U5FXchItS4;PEr8a6H3X3@W)DJ$M3A_uj6I$2=7Hkb&x`A<f3J>v& zu2X$@%Ehnv9iq|}ilP=Gzj#A~N#!rVdlYcm0_}cAT>AmWP6v`|qm_NM7j6E)9hKdu z6IX>D)&qf;cs}psK+;nV_o?#X<UWa3+r3M%{098-aX%O05B1!nRX(9G#J(LEZ70&6 zPk#eVzDD;j!sB4yF89+09Y}lDxIP`E!eRtwONhQ7cqA+`9JUDtqdQR^3Uu!%i3GA0 zj6D>3uI*?fDv6k+J!w+{k>oI#+?RKQg>QhcJJ6+yz)20X(i>6v5>VU?^O}i&!;mp* z)gornA}HJvtX+$uWeLT&2qbR8wO2Tf?*Rw5;Pp<3Od<3JK05;?%?le(gl0~roa70u zbV3nTcXg*c(4PL7{}}MH2mI&(ENjoMw?bxG53}%hKMUOvR_%;gN4s~f&BvWZXs-K& z`Wx;O(X$W{wHgWAVW;)*;94lnfAG;A_#ziZ-UBhNHMJlGW72B7%mkm0<34RK-~(`L z5Wci}7AwJl*-(X(Q29={XFl#d0aP7>=ZgUWQxT<SWA6Q-<;~saFpmXC>!Ph+?us9) zfX+pH78rR4?Oo5i_$j9$14?(-&RBu=Z*n3$u2ryjh`8tlTQHw<pIrSLe9`s>Y1u_6 zbR`^W-ijx?_r%=+E4-mn2Jr9#o1iS&i4mU!okq_FpluB81OlHR?#=)w>jG^O*vSrd zra{j;0q2#VY+9wMk5HmYn9DVKiYQ(J*}^hv3%zU)R9->+sUj)~fAC;EGJ&>0>pkQP z<HZFrQFMb29E2^k${9Cd+uuOyU$E^JIPwU{>H=KNp@C52XXKzhqO7PO;=z*<bPlmK zno0?y&{+8ipVk*W#aLkx>%oKu7{NVUmqOVQ&u4@E%`vhb!1;L0<_0o>cA~t<gnk@x z*PS|t+~*x$3o#NSP_8|nQwa*P3!fbWC$G{OV73aZun?IYi6lycZR!JE+HSzJe1rGH z3Nz48fcQ!Cz+LT`%N$U(IOO$RL@yB`gxCO^YEK5$25u(M0WB|tP39s-6hxj;hpf>2 zH?VyOEd7EX@ngiiiqr;{)#_$tLw^ytGmLry*|GE(cys_|W8l$bFnS&A@ddLh416sC z*A7F$*8tb?V4N2;ejxjBKm7X}IBbpF)QDWGAJ^h$K*Mw7Q;U%Moq@7yb*Bykbu)N1 z{M`|L@D!i5U3I`vZM58!E>J4;bprfS9HaUKc1{I@9$>WF-5PX-CjrC5pzMWU&r(z! zwm1Z&uHYTW&K!8RA7WN7WKA~c*lfhBVtgHJ_zzxxfZ5%`s7iA?AUq7Vx&uoc1%C%3 zYE70)<Z!87U6`uTckS$dSx8ouPh<^nV}rXMTvN`JqhwQgRknh9%m%I&!s^=Yrrn(8 zu7vj=cs&8=Zh`SXM)aDBkxA(MaA;C7XsUKH{1WtEh%39#cmEB=8HN})Le@vzs{{u2 zLz`wA<UW<ZETZCg^nL`r`2jb(c^T})h;<*4iGM>(D+N_<i_GpI##8|LR1T<V2dJqP z5y799LMzPtP4+}y)f(8jg{<$sT!a|f1U*#-8eJHpCr3%GYVA;H!xz>;E2o2r$xzAW zJQ$w(#1nv^9ndvxx955w@&s!q$NogV*Fc1e&B(jzqpfmitsn4w2wa^9#mt4w$0g6h zE=@6~fwUR8&?<fQg3>&L$~Onk&w@=_EvSc3jZp1rXYg_<a4WE$n2!iC6xwEjn(l<B z2BL@T_;)MtI1qCTfTq?33R(hL$?hk7Er?<(+<So>Kx1K!<TCJ0ByiKpZI!~nR5kP# z4D5#i<y(-A^+gu_310e(+;k#Xb_c7FV_@$U{QQspAR}uJUD4`coyX7Gll_|FUS)w^ z6==*PTH>z5WkzJzGS_O*?F``X7dHa#w*%uRV5vHY$_{Y!9e)P;3jrlt5ap);7yDqT zAy9<Tuti_szdv*&8_@F%IgW;vH}I5JU8EhX_zf9gTd-;dY;ytXydHL3j=be3Fy;$> z&O_8y#4Kpe2+9w39)y1UM$WMUIx`!ePenGZRb%Upoc<g1HUz8f`N*Hlu#_1Y({-6H z-^s3g7kEC#)j170<#;(+Zjz6rO-9RZ!1I1^X9xJd7TDC*8`-gPFagi|Wp8kEBt~47 zwR&&$5SIsI9ez%}Mn1g}Ip%tNzES?bda49+PN&S2{pDl)I~C(+M9L?!2lCGdWO@rE zR?c!R+Gxq;kttRO8%KcW8^M)H$iHi2eA+Iy6n8blnV3sGc(@$aDnr4Lqlg)Suyi-5 z(nWa(tDd{k!ZXnG2APd}qLroKK}V^RE!5kp4%ufP_s;6K;NpJVf870?^$XT2GM(cB z$oo1VFUpTx^`6`emfXa6uVT)(G14_?-4El-kPne(Ys~cIe{!|#BiF)~1A*Rbi2GlW z+dh<C<OG>2hrw#vu32q2TmqD<D^#F3ke(ZQo5EU6$V$lm&+&Aq%@$;EUETGwN?>JS zMQekB+iXygrHIE-V9amKGC^L)7?vYT(4LHp;7@W7?0N%s|BH;hF_iETc<W11z>}uv z1HtL1Kzl`Z)rS8NhkJm{6%lVDN&DMIBjh8JlJRu`@va8YZvY<sfcHCy6?2f0)pqZZ zp6Sl2Dq|+EsD?Nxb_wmSDZp8{sEl~o2l4R?SiTt9>KJ!)ZUbCiq!Gv#D~m$n3e@Wd zY+W2JrGOy@tQ7A<Y0BVA52$h-u>LjH&JHMQEo2Z6uxj~+%;f;(663@`VZ&%%!~c5` zNtTmETypPC+QlWw8%ngC*8#aJWOKxhb6DS9pkSKIH{nBH<VaTTfmwEkRusd0wqOO_ zN2?cx_p~hF7ua?iNGlKjIQcko>g8gsup;}L#tr$Mtc+eWSlhkc$^GPYfBbYA*B1w_ zcXJWCi!3An*>wvbQajti7gqcMRk;NQRzf6L=iUMK10Gv~C}ncjY#B`dpn>~%2yk$h zOF<V;LrHVfY~)q>xd1$#gqOAhxeKmp<=#2{9Ujvvk2<gdD}xO5F+Se}{I&r~c0f%+ z5OF&pyQ@r{#4&M1c#BACi5S)bUS31BgcIwJ-tN;nv>HmYfx+@XcLA&n9$`F>`2|*9 zV`0PUh*)c|ew_k6Sq3j?e-Y5~#)n$<XK-esyINyaD8VVLYX)!w^xjAm5zDnId|>uY z#FYi^J%VeYtY1j0!u$<wc7>8fATAUWhcVwA?#eu)F#GOkqdvIY8$5XKuIH<r2=f;) z(29QU0lnJZ)c0Ho)_;QBVjc3i1lV~8e6Lj-c5+WBadoI`L7=t}G%o?_^TfT2EeC90 z5}$SfN@CoRTdP|WkGqdzoOPgUv)u2UL@)1gj~Cs?n&Blz<&W0p10hX;GGF=$n@@1p z+?<N&R}rdT&b>~lkBlS{>{<&OJVEBI)zR|8Jv|Xors9s?(1ZRMTWdt6kGQfg+R#qa z&Ijw|gANqIXmW!A`A9pP;xqW6RlF_?gn1$A?L>BV4YMwQwaEq8q%ktdpA;b)i4b`6 z52Eiy<eG_;Q`8eBL><vwv=BGZmsWwX4RS)W=pfpN>|k0iWIi*2$U{KFcw{b>Xe8Pl zhWVJ#b{_Ef35AFtkqVWVkC#^SGmXn>rv>4f)nN88T-OOPb0o$;4cDh4Pd*^-i0wir z>SMlRkvn%0L&Xr`3HGf4+nVFuaJ*tT9T6)(P*4PM>I8Id6cDuoihG{5okm*q_Ydyc zyAl@o3G3%UUz4CDBVpgXz`RylHx%s+2CufFrxEbSb*u~f@*ZT(5}CkjcO~rp(B^E2 zW8dUcSq&NDY3;9u$o67ohWsUm<G1_Z%YI}uw}Gig(A+*u{9CTY>PS1EU<YuMA=8k@ zm=HHUV=dhhSZnF7rhXXFt}otwh&56w&~hBy=#H#I``g1JcO~;Wh$-3$7*l|=VTfks z5qGlWZ>Vz?VqilKhGJZm-mK%i$ZA_63fE;R3nTAp;69mSEoQR}qh1ab`3LOQ0L$&r zi|ateC}f9YftQMi;O!B^1NoPHAm7O6vb;Mx_`zBo`JC*)OcUi%nIuok!&0l8z8d4c zhLMiJNVR%Y&5;u~aQ}_(G9Tb=h^{3NMQ+KOcyA=)<q^ze5!%vDF-Vj;&W^h#BQIUW zTAZ4U+_)tBBh#D<we$f-5@6L_uv(@RSOLevhSljJ_*xcL|A3L?LZp9&EPONW)Xw_q zfcqN31KK`}0l3-$TmDA8*Q&68!g&56gWQO$LdyXZM1qMxq954f5Bzk*`gSU5Rp!Tn zTRV_(eS>Z$BI`N_hBpS!YXft+Nc$V`6w>xSw?xzlgZ~%`HXodQOh(ZO?2SbZvK9Sp zM|@@u2gCj#Cs={#^bKmz9!Rf<%=8}mUxPe)GSqehR*tWs^^GaXy^bG%mF73ni)&cL zg$OT^g)DCvBHtxM#8mo#7&jbRG!0|8i_y-5nv~Z5?**}87kJPTt(U~rn=vOXI#q%m zHila42EJ3kMKAFNtFSy`9{CAvpUWyB|FW1y2Jr_!^$}_0jfi>`TDSpY9f11{)D6h7 zfhWC4+Z&$6+Ftcw<N=a%xNFF-Lyr2EgOE>j1gbu8FI;&YKc&E9WsxTy0#Dxoe_E~9 zPVRb?$a#^?SP_M%LHmEhP7_G0Ddms#w?Djm8W@^~h#OAn$d)_7x*MVWo6vVF*#A3L zVjHk_cnkF2LhgDWY?%S}M{8%6$g*4wYa6ZRRe83`s=&MvZ2t^qMuVBr?!WpigNmHO zin<wA*VCbEm7y^Mur}}( uwhSlUgDlCpeDM})y+=XIxK)(}!m`<46IC!rO?$iFJ z><>#w<XeCF7BDmlt7@%k+7PTKrXe#wh<sc-OC~?G{t-~#A0u%=kG1-_{gKzYpfU@g z4cac1+Tg)jMB=*`@l<ee1!CX_XvG28X#%cr0YfWr#YV(QyBvVHscDP0mc9nwrpdA3 zeK_WR4O}ze=P3C~Zb9U&fYnQ3=vNq+p;a;d0-H~R>X=CTd(;5(K_*xS;~xf<*aS84 z#Hvx-e^?KGzQ*H_(eL64h@v;Jy6yso)x(wZp-rvamDl?sSN!BYQ{@OOUK`vxjQPEA z@2YWeY4p$)xskR5T01ps4`Q#jKivX5O@h5Uf+ORgY(q$^x2v5w_JijjN)<sKZa_RZ z2z1xcYTqJK?1UYwB7SXv;%k2ae#TYM!b)&}!F4~Z?oxo5Bq+>TIt!gh$J+HTKcT<C z{!DO2VBOghb8ZRGMd3>A44Hpmn#*0aYzqY;Gy4QjUE{p)b|GMG1gug7G3*I=<O>9r z21X+gBf^pG8j%Hd#aLo^B-lTeJxHr~dm7%>qFGgB1qYz9mvKiOvH}m+fsFuBfbt0i z?bSx~ivtp$L+#Vh<8?aBozdF>){s>hb1nho_W_ryQx($w61^DFtUK)HLUdaLymbas zUQ$2k?^5__4LBA8tKUFGn<D<;z2!jtMCe!@WE1)64bMiVJ(BuibVH$ZgVD!z*zP-f ziB<4KeT<<5?5*WA6~OoMtkwP1LpQwP$D!^Djm6wM^p+rt)XopG!p;wnt98IydO!RZ zi8jA;WA_OK|FCj8g_Y}AV3+A3BJnh+?`>eK6|KQ<`4O?wkSW#2_`4#@dyE(nj{c$% zEzDSHG=PfUlA%}?9!CbNqMvA~Rb+hwzHWhMBf-Soyc9~)ke)-AKf|7TpnyGuR-tw= z5HTCsNgwhT+F1{k@JV6lT@}pT${T=|_gM2M0b>slXC5PdIJg>p2b<?&o;m0#u+oOI z!0~T91Kb}fx{EoudnA0h9$CWy*smt-M0R(H`(ex{Sx<Gj7qsplI9QmrB9=|&Nwk!; zeb=w~3vBxaIxwFifR|P@fSV$N+KDS`kQs_H5xm|84t$4>y@$m{LI-jqdsLtodE7g0 z^B`vR<_fs;8rCT9!0bcd;BMrSP3Wonu4C?uCm;33diWt27>%er1?p6nUt%5J9Z@lu zT45}^fNhosk;&hK6-$r<@iqubwSdBe2eN{?;Gnl?j;tge%6bkF^Chn#5ByXNo*Drq z*?_TVJ7Mj>mmaG)Z`z9-;goy7>uxT^%aP&CgrX!PM$D6=)SEI;>91Q&Rn@1iLvkQ_ zisniuePM%H{|(Gc2S$&m_nijUQ`bP(O4m|n5t*vy(pA$9HvHt%_By)928(6AvvK-N z`)Mv|Jg$33Yd!pZf0$N^-_8V4T{g^`m0`^EamLwhJCR2ydQ)rDbMqX15vt9dl_z3e zT4d&8C5O**Z>KGXbq3oFxr|Muhf>w!vMC3bauk$nlv=L9%pF->UHxgcs>;W@FZxtv zxbW63q-U;BM@iRJOMT0K>CZB1E2bPf0*j_sOWcswKvzjTu^IFO{LThXFkj5Nq>fgc zYNxceDQ~EcA(vR~GAO-04p_$MOR9gJiyQ;&iya9((8nwIq;-12BgcvC^&_fh&WLFq zAIDX6h3!3+VL_jBczAY7FPnM7_1jg=+AqVU7v|y0H}$8hzdl^4sh*ZU<X&A>HCq1R zHS#}QJFjgHeR?m~WS_Lqf0>`7ug7(EJvDuidyKgQ--qlp>5^iS!(64rY5SebZ2FDf zr<63?;H*C!qHCdclEe79uBf~!yC6m^P`g?Rn~JBGvTZjcMNISZjk)=KK>R7a$$UiT z?^h`FzMso_@sC&PW5;FL-gQ%->GRuI!Cp9ZpKTit7EP3<hEm3vV!HK9))#v_4$_&k z4YUL#k?pcc=FTA&eV_DgS6UALN#1kKN#1HUy=R}q=25fK2kRP{CesFeK1+9*KdXDX z%kHP!Yp7%KHiYTQs(+G`QXgbhHeU7)_wN-Nlos{xRi@o9EPQTK$zK;^U+b?2jWd=p z|MY(Bvzk8s-JQ_HHNiaAP)FMJ^L6JOy)q7Fj8k@*vm5j4Pbznm)#)qaKd1dOtq(AI zH!zb=OKZ;`UU7>&OBKFknes2&_mi2i-rr20b$%Xg0^3^VC-sb;njWcJV;(^*^tlW} z<b3Ovlnhr}T?1Wq{eFElbK|Usv6m8CsiE242W&8(S00KMu~UBTwYQA8R4B^P^Nabj zhu!7h&1Z<`bH7SKBSrIHPrjARNbqVLm|^~`|Ddk1isVMgEqINwxaU{XAHxCHg!s&u z3mNsiCx!V2oEM3<(=s;t`QIb-E8pm%JFRs;%z2y5=?Ga9_{}ffe{$ebXW6gwzBbJ& zo9%Jfeb1U=V3vPc<+!xu6yxBapx|W7DD`gYtC-#Kmt7NrD&z|G4^gXTwpUsv-T#-9 z*XKP|;;iH5`wFiXWhptTWp5Ce%P-mA;u7D!eEypGI8=#v=Y7XDBYk@6>Ew%9jm>J{ z;^1VDhBhUx@4wucjf`p8j%J_f{nwd4eYm`zSTZHAF(lvX!e4Cm_n%(;%KDenCs%Ut zVy|?Mv@D-*HGfR72ZwKqeBhC8tC&<abyxZ>2YXxz8XQ{9xIfh=c6^-P(Z#YcG$i<p z?oi6gtc~JbV(E<U9t}!7&N(xB#8dJ9tYv8)zp%D`M?8v{*Tr9bU*pebQ-ORfa}3c9 zOifQHoP6H;O1$>EpZ%eKdD%Yp_3tXldRiHDEyr)~e9mm?RdmMWO$j@7<MLE2dNU*I z)zlY@ox}6>i~Qq%(=^C1F{|~raX<ICx<&rZ^VBpbBR;lvN;~Usna`_wP>yUvl@^H= z{#J;u!smjjhY#~z<eZqkRd+VMSA26iocDSuMV<EM;bX;GJkPy+twRr(CL056qkb-q zx@1=)M&-Zj)idK>^wPv*S(9{jpWQ)S1J5YB#JRsqB+k$+&G9^YNw18|dDc_P*rYcp zJ&aKWbL9(8?)D<-<uhuNH!k<%Y^v@FpGX<{Ygud=kw4;4cwfua^d2!M6K-e4nwR>O z3ATA=*`s57M)$NGws_|l7qCwsm9f(~%$_}NnA$2NzW7eB3SR@C_W4yjFe6`yh&Zo6 z;cH9&*C;wBJ<j)K*f}r76`gcEPD#t{dhb;=+hy;KuFQXRV}GO{)%Ea;^?Bpj(Z#a4 z&HmdvZL#m;5{I%4|Gn(#?yqk=7e~|!>*xQ_{7W@QPy4nd<(ki>h)cfDT?JAnC9F!b z+q)Wv2j&d?qMMTREqYGM7~1C#yn1$$x77yDSJ9(W`ug@Q_Bi}tbeU(7pZge}Mt%t& z9$3fHgvZ1$|2{goj#r(Ccm9)Hc~Z_N?8)?@)#e)h|9q{=ie&X))70C-=~p74zGp6F zJauz~#Kfg^@q1seQAoC!q_?eq-!uDW9~k`I@2AIo@`;cBWlf#txh8a!=Q*`pnv!bC zoZzZ%+3WMvrv&9m8<F@sZG)2HmF&CMG(efElyrVbc$2ome{9}7{uBOXygMBC$U7~^ zV*k1xk4z&)U~1~W{?<vJodaJR_StmlC9<wM7V~Sv39t4Z&0Nh>9wm3SS23(Iozy?q zwbs8iZM9#IuVOC~^epFFZt?x}*KpgM5KCxVFEVyA{+6W^z2jBqFW)<Ub=j02p8n05 zA%5`(Lviyo!+G22lrq-8^xN~Mu@P;O`IXPQ0oDg;-^@e8x@YT<-04&BAE#kZ&LY7{ zo;Q_b9-Fx^!I3$}JU(!q$33fG(unlx^0jH8>As<~J~z#Fgj(O&XDNTpYmIfqbM=$1 zu|el(lo?_f7W&s`e$tyS+vB3lt-{9#m+*|zmEhf(C6i8Cr<#m`(>)s72c(8)yx?`l z6Q-t~xeazXKlNx@2oLwPdtK5WbTRuWd1U+a1pc1=bM}X_!l%&hg`H1xRE`+q+unFU z{hf6uQJ40>m=T;5cvRh$ke;|Ovw}Eg+Ub4LcY%IiW~X?4##7y6-)EjvbW7D9T+FrK zdMJH}uPHJkFg*F)tF=+Z#guRnUe33SF^|hD^<>Pe42R`Wa5wMDwtY!`6UJqJ<58ZS zLNdG;%F}WC<8oS`8Uwwncn&vo(;rYbW`-o@P~T*a$T3FA__FNlz>H!35n%@ZN?!Mr zleQIcT@#v7E&p<XI%R})OWLorU5>&O=2zJ7s<CHgwuFZ1?d4F*D^H#Ip3y)tnR}9z z%>P2hM0E2B|J&lj!1%i6vEhS5%mE4d8n!)gi7^$_RNwu<zl<?i2UE|d-N?$u>6SUZ zXFY1F-BO#R7;Ihi{+4);3g(ICvaYnWDe*z(PPw{-<#8w<BYr)%H4U@{S^akVWGQVj z{r;6qnPaFGc)@#;S|qbZdQy4=heemiZ?R7&B__RBV)M-UJj!_6{84}1)RgnsUnZHH zIdbd`Z*T7Y_2Gvr@ohaPXD@^pG1K_k@i@*Ib5afT^$z$X9%U9z|CG_kQJOP7+xeF? zHL#wIE0BEDG2R$sv6_w=J1G0I$|Y?}E*0=5GGEYzxLj{Deoc|*gBJzO3+m@JlJh36 z{BtC8xX1QvyF5xc@@A|`^R(rWCJzzt&~n8-C~;o$aK|9yBhPD=;YO2^nRO#IPvTi0 z??~UUTN!8H^^YoJKb-AFw(3D0yqD72l;wZ)X*tb~;Ie)p(jzTBu}11gyN5^q;J*Pj zUY^kK-=owwN=2XNejc6=jY+oD<SGAhh%<TS<_)trzL>x4O+4#4I^=ma&eqtx!!|K` zPFx&S3;Y{2M|UsFkoqEJPgcAxDkwB~jiqR2$++@~m+WDt6z?GKmmYa2K67GR{q+4o zS&<Wia>Wh*)c5ZT_Rf|T^et$M*JJffVvXp5_QGDbvL%=|IliRrOulRllk7P&+eV)q zGAwaZeAP5o8hO3&iSul39O8^lsT4O<X%_J?SAN~3Z$G~kOv&RdgYO2<2nseXvWEYy z96wu33iuOfQ?6!BPEk|5tiyG60@r3cZyb`oAkLNe!I5V4_qpzU+gyffT3;rIq@DEs zkaI(DX2#erFQeMoD+M*pUM1M&xm!J)JSMtJ`bKlLkmJ5t@_X9&)PEVT95v0^0;2uC zi<zkh5|*Uh6;C`8wJb)7baBS=q%n?NA&nwhdfxmq>{E?+AM^9jp+UiZjf^iGkqLF< zo;WA@Zpn7lG}$pXwRLJzW+!!;_xr$}-to@R<bKJIGY{yhdi?eIV%n-abRNs>oRVMh z3G>OhUiah2{I3_14|tifcg|MD&!&H9s}cV&@d6L=J?z_F$;fJ)5t-TEp-^G3NWT{5 z*S0B1<5OnaTj_^*tnk#COuE;O4H?CfN*HG5_!x5DapKFHD5Gt<f8lIB{fu67#F@-% zvANO$43GR?d2Dr-vPNW1vrl&Ui9VjGmeD$EMrNw7H9+n)J~VYSW{K-`O|517oFes^ z!7qa<+D3o5{p*eWUqDnqxOaZDi-u;ckN=WZTA%4V%p=qppP^WVGto6rob_nnIZA1k zc{w%6Hk3~qvKt+`dip)eK00r2mR8dEH?WicChMRd9x*Q0Isg8Ce?5Dd=P7+0uB1j8 zpG7%OKl3ct7W)GGL1$}c2|i{zZ{DYb+FY4|j#fNEDXw#hj)uX8=E^uno|J9+Gk){^ zUuI4JJw9Q9oai6m-N<vgWrrcdm7e?|vxjok;xcr0y>&fw6;X>h=c(;YYfZ0p^=yW$ z$ByazM7Ky;tV>gx84io#jvgr+MOWbIgR9`54skB~Tkiv&MLaiowlxosgOX3Cuj9Um zA&dE_T&p&;=d@o?6HJfH&-Eu=n`}|`8O~7Jq5EUZV|40$sgiSb%29glTRkv~`$boa zyJb!DIN-6>vzXUI^K8DF{5GYN>!KmR_(tt1FS`;PLmdy)N~VFv6-pobIBTfAo@*RU z(_hn1HuX{R%28RAoWl_8Gb*6EJ^Wv-#O;pqUeV?RuXmmS<|tQSa`B9^@|m%#aUCC$ z1s%1VnU06l&wR+#LFZ}jm-WbgK%K7$eTHFy`KD5pmSp~yy204oZ-)Pi%%?Fel5Wb$ z-eWBW@0XT%Lv8!^q@}i8!pkFEe_q~q7PZ+NeVyI(9n4=$U6fjmXSSoZY&=qI((g5X z$JpNSw2bDNE=yRzY@hjQYhwQ;e-tx)hI>Bq&TjEHe95|+dfzq=>%j}UN;1l}*`C|s z&8dc}9x<jO{Lg;JI@?v3Iw{NbXASwy)o3^cq#jadde;pYU<`|w@rN^vmT0eQo-@6- znHC62Kaif{+H6wI+vu?4o9(jQ$MsnRTD&~3=~md&GJ4uNia1?E-8p5DF-=i;t0N(` zw%P2{$FI7r`M)cPiH^?R=RA-2#CS~A1vy?NZ?$F@WT|cX;(BVkZH=@gxPtXpJoB0# z@Of)&Mj`t#YNbDAOf(EM{&CJ!*JqS+RPf&KcgV9wlI!1(r02?L-#D*+zU7S#X=-MZ z)avRe{Y1~ny7`U(+r`X}j_2~2nLJw<_Ni*-sjO127D|9&hyJheyr}9bt@@>h>5Kc! z_unCl{=4&Udd4@;TfWVGYkJlfqn)pl6Rj_4v?b0mRsCeYoLSR0-c?$6&+CpkuP!pn zp6PABDEsOU7>1f|8V||U>U!HI`&-W|{yBWUr5=p#A74(E^)Ke{6PVl5pN3>^PwL>D zsr%%$+SpgE>2PFja@0}BnU;FgHIC;AnMJc&+ZQX|#=NGd#!k8c@+jxBepR1)_X%uf z+7K_JKd1IG`TKqKN%Xm3^rSm!iK(~L<wk$ch9X&g<yc}*b{68vmhPrC%18T5Ya>Tq zb%HLpp_QSY@e2JXfAKNvN1=H2@J|$F<A29I$*615`;7FS>e*PoO-@bUV~yZW#y+N9 zYMLv}-pWbpSK(nPWNf7rx4+IhYL8J><(htsAyd~^1kfY-)H;qkc|Gu3DW1pgiYsM3 zVLs~F-SfQ10K+bsn4V~z%HhTrhMsDYbBSZL^M&h_GT&5BUzGo|O|&<4{*Z;lc*Uac zsZ<lY>4Nx|HDApzCVDs2M<-WI9GWrK6ye#-bAY9|A%${eUA0zlHPKfwnmO7v)_K|G zt>zP#^%=T+qO%(1T;YmWpHN#dP}!~A6H}G@x=cq6*8qKA&+~@C>06U$XLuSHn7^5; znaUfB>WA5nWcfNq>!0flJm1yDm7*?kE|D+AQ2jSCUp2ZGx(Z5UfLuxRSIQVvQOXeI zO3(T$+Zd;Nw{i7IZ=2l2mERO+D(*4P)X_YWpIF1JS*|pFV<nW{ay@$GDrev5>L4l^ z^vW~YNeZ=!{OnxF&6S~s-@3};w<wcoaGa-6UO!CbvsR^!PA{okHl&(cS>nv``cAfx z%miC6(Mmr;bXKlYtUA#4+Wv%Gx_*XkVl35GhdD>PmdmfYiH6<!`Seh?$yUl%oHH!` zUS`*)^yjJf)#kd3#wwN&k95<2&N7*wt-ItO-4AhG_|bQlF{_u&n@8&(8e+r&KJ6;y zJm#D$i|gX_UG>N00VT?@-}*srGad8Y%08JTQ)W4i>n|GTd8C^QSt9tFb#a!znoqw$ zNf%FPq&m^Q%vOUx=*JlYbT8x*sCpE}_C)DssA||mzp0U|mQ_PGF|_sGDb`sd(^l9I z>kb%dS>jBy%$K>gt)R`U=GK2y+AAeF#nr}f(%y)?^)rlt$~rD53%k<PM)IHHWzZR? zi+o&2Y2hd;GijHli7~@*+Uj8~p!ge1mR{zurq8+yjwbf^jwCThUswsD{w}BUxg$sh zDlhb`J4aLGC)Y3al&nFdE3R*(Y>>Z{Ub4LE#l7{(#&&9$?RTc0!wfA<{-#HU>iW~_ zetSJfalWrxCQflvwX~YURb9PGZFNKS*+oq@$xJznbMjMBPj^;#m%Az}#TD03bu%X$ z#?UKAJ!`sifG!C-@6@f*FXLoKqP>LcwfIFjxtMyy_0x68^^Jc~xUz?O@n5-9cI6E+ zlLrc;(pSu+Gx~aJsB67iTOVS4pf0u-vMJ(^Zj#}vAxm%7tyPOUL!90Dwb;SGWOucu zyya>uLutGSSIW?H?kvyAZ)%VnNTWnSrH)KcjC9*M)2UJ?b9Zsk(K0i@)l4z!ry9oU z7aEGwX2&^OVOLk7i1)IiI!%4#`s{ovTZle7MU>|Zb(TE9334NS5o>g*^pH;~PvsR? zxU6aTVJyvMZ7s5H$;!HxhHHjBhQqq{YF#_qd+<u7E7o;8;lnIgCX!YtiY}H?)kJlU zjG(qOMoiVsQXKq(^HXivSgsU53_-g7u1{GH97RNmzOOORFkctNHC?qG4wv>f)M@Oa z9#_k&v1%4ai3r^x(U<F}{nP}xnF=X`m19a>QJJgJ1J){j99JgjO(LhOvc0^zKupjl z>zC=ODUCQleeGH$^HOPEDYMi*vb208htPDfU#z7J?#C^(vn{Eeu+e@B;EI$}JZJ5% z@cngNl<wTyHPY39--?R*SGondE21fXlZ#|;j*x$(peNjhrJ9WU8wnxqP)X5{h%WGA zswlot8l9udXpLokaYN~^OyW>(&Y3cTd(r{j8vRctf_$a7+@y9<17r{#q_4b8&XQ~S zJwKvJ;*QXXJzR#D^HK5@N9Z(E?<FPj0xl0vFBcD3tIO7sf6y6GMro-aH{gOYTK%ei zQj_FV9>k4g7kP$Xl0ginqci~XJtB+pK$=4qs>=DOA33=Ym^)V7=Vo#X_%cxB5z|Bt z<%9B<!Z}#(kc;J9wYogaLE<~Vkl*DxE=oW64y_i6;vrq<jug)Y=|8rSQ3(}8XaQ_E zhJVXsS(a{zzGAVMN2zp+=K-TNWkJ3uSIB#E7cb_#Y?UE=m8-FX4dSdgD*8|i-{G<} zl@8NlaSeAC;V>Rgb;TGZQ;ZV9bdY^%2i+D|#8lCd{z?xyTuqa9E+UGEuJn-~%R=0m z{FOD})gqoQA4-KDQcv+nj1U9pADCz1a$=HFS!qTu<S&^fi_jkGFCxVq9xn%~kuoQ& zJA_Jur=R6J*@Car4be`iAi}|AU*5vrqQ0_9*(q-EB3XcsV{A^EK$odIUF7oIj=G2- zv5^y04|sO0JS1=OYJ8R?ePuc6r=7A&O+|mvgqnk66*)Jxr=66-^Epv=;u;hIdo2>x zs1MKJw(#3wYAlM2LDZG|%DOy(wda-XR0%P8BsbvVbd1UhKaovrAV2!XQ^`}LQ4{LM zHF!3k<X}+&YU?KkatR>sFL$GGF&Rkx%K3OIe`7Pv<zd_!qw1zT`HTK)2|F#OqErk% z=qcKXhT;LW0gi`LSJ7L9DcO|9qNwPHUOS2P_<SXGp=`L~6wRP5R2MOEE7-V<$8djc z%uC!S1XrMBZo)}2U54{sj^;zSz7QSePyCVns37%l*90kodka%fnn$z9mtrygL7dKY z=_M^7=DR$R199aclC)KOW|R}z%AquodQonAgwKv)yr)EWM5@|U8M7(H)1WjvsDSVg zbLl-_kf-DeIf3iYEikhukn|i%VB(8BfHvTs$?o$lS7Urt!Ngs(iPnJ~11SunQ8AOV zKxQE-LnU!%O?CoDtKf|)7<qQu$HTc0&torYL0|ETq>Wgsw3D@DZnl9L^MqM+CMg@r zI?~M9X$kGaxMO)A?7o&C!V+t_0-u*zvKfcdK&pctJE513@S*CidNK(9o4~c{8)?-5 zSEBu5hy}&KhG*1WSVRlDt35R?=gB9s3x5EHTfv@V*o<){$a?VbT|UI^c`Ww<hJW%V zeAlXO^yY<NUlpoGxuCa=(Q6z#c@8gy{W{?Lcs5afv=z&1cqdoH)qVLokfNjWXmcJ< zc0XbIA9r;>*R!4<b0%8&!MotU!9c=G;GqTQ!uXT$SywK?&2VLFv}S`f_3-0H@V_ei zaVtK+xA+x${ttclz#dchi2KywKCC^dJs+)V6=ibLdVVAa$bs^%T*E;$g(}f1^!-yB zF}pYHVnM^u>S~N54A)kMT@z#z&Vq{Gpu*IFugPe{^LY6E5pb<l9jOKXU4f;u_z9oj zNf_}mj68vVV^lL?|7UDLFOhVgXYoM3%*i~A%F;X7CkTF6z~{L$bp&!FX*TOI+r{pa z_7~GxiUEou=r-TPJwJF1T_Ljw7RP7|9YvIx4xf0#22Nm31u~03-G}3jL`tAQ@eDc? zMt9Iw0ib0r^#3?r0~dGD5&BF&pc_&20bKYG7;FV(7Nh_$tsB*#&eR9~tU%>R`=4v= zsf{sIoqXsXJhmDfBr@Q4C-{E`vz^4bFxGEiR}VVH-7&6p96;r%CA_Ykj-MC)xaNMo zu_sr@zv*0zYC$8k6Hm43EEmDUnlzoXDoWauWdRuNaC$>8s2=)A1xxB;^d;S=w2px9 zZ?PVlVWB|!1uMVf5{OM%Kz$B+!`;E~8}14N_kqnU)^>BnK*3v6G_Jf4);Gq?<6(vF zKu<orYU34&InIRLM$vg#=?JW%?L^Y{w}#MCdO(k<9h71L)kmyqOhq+aqh-LcA8eJM zngK)8p)p5+=uenIZ>l0z(RL`71RsBMPN<=vMO+8j!ag1fo9qFquW|;|yC<asD@DMT zufT~`o2MLI0iwzx7L=#v@a-Tj&GE7|7l3!JL5KBV^Dd0@AMVMJ3*~gVn04^d23(m3 zv3?A<10PE9b-4-aiJZJ2ypQCe(j><rrWWJ;{8iqO*JTcj#Z3FzF8|_H4}MjEQLVz% z8Q8Z6^#vBHav&I+$@7qZrGi^pjh`jJbxF)S9k^YKo~t46>581C2DooVMo?Y+!MOWz zC1h&-=_X#=fiDK58j^=tA^b%%N@M1h$Q!bY&xm|mfy64XVk<(dguR8hMTLR#4&np! z@G0U|Es=;e4$@ELMGZuG<PG)Q=bFzaBcg~Mo;$?nz}IFpf-V3Hi^0=a;KZ9sxc9GW zdlWulW=Al`rf4%BQR_M9LCpJ&aW}`z(l{O?Isw)0hndboPUlG{!Iqq~n`3z#e4ht- zqLteqKTG0?G#gkLiTop4mSOFwoVpYTn~wvYufeNY&8I)S0ve`O>#GCoU4X7ka(lA_ z*cwSLjIKOQ1{Vh*L+<W=`mrV2-UtO*i*X!4{L}XKRHM^SU9DPOTUrZ`{o^ti;b)9a zt1qI!Zky;HasXdgJb^c1T(AXw1l}L<cFgK5d1DpPgFL7iun|dr$xl?Ij=)GL^0}k1 z{X)`q870A6dEm)+Gz~Thg3^YfodRMt1=AXgSbN^63RqPT7&L;TkJtbXe&ZhCjaJbr z81~o(Y|fOsc?7WYiy!bG_sQo*YKYdmBg)mIDDVUMBrNj_dAAB|u0<r-g5TTmG2m$s zbaXg;)D<oFMdsQCziCx8{vt9S<=pVvS*}3CD3cxX8M2|CxN{;~*n^952y(XwZVH83 z%tH`~B6u$DDn~mIBZna8tb$R$=YEt&9H6UE-PYUzakLqbS;@U4?E%+C#HoYaHWQJ5 zG&ca^24m#fv!_Ww$T8$QKJaW9X*&#yfYI6s_T``%!(m_T>BqvreI{3@y+CSxVEiYT zqdkv!k=DAOpKK0q)`7iD!T~kOM}N5$6#fxnQYYjy5@XB_&5ZzNnWxiwT7<l&F%<t2 za;a*_c@oG+!~&ID=spx`9>(I~-eFZ6*51jlS<48tbN?qpTVJE^vhK6N>%hYc(ff4t zKb@A7_N?6+L<k$+&5lv_N4_)&YMu+3n6H)r!)IQw|0CA+AS}f-S73u#Gzl!KfNOWr zRrGxon))B2Kr%PNPuay|wD66aLRGc7G(p=%VT-4*#(K<sIM7-M=xzj+-iG|C9T@Qp z7~X;32LU~WfTe<X6?IqeD~VB@0e8OfckpllewqpU-*VTK8tJanl!H8BuLMMz%ZTk= z;JGWveVbBo<Y~PS6PF;O-a;O55Xh+n1Ri%kX}l6yMLo932556I7iLf7M<ejwR_O91 z<O_RnZ)N^2Rq4--fJ^N;xl711{=gQ05lgJlmkLlm?YYGecNMpquv8`(KOTMU#~s>P z-0$6c*>~_L=z33Zw+ga~V`$+P7=1z8H-RgT0~`OK|3A^^cI0SURic4z9xR9UjB=k| z-XHgNMN0xUiANOif|Y{ZJ7y)2+X1#W!OO#FGxT*Md^*W}#(hrMAOfGdkS*MI=Tchr zvvtTd2Vl<g(8DrVrwdwN5AR6#KBr8?^Y(~_c4Sc3p^>*)tHpZ>c3c4KbV1yz1BDud zc-kNK+Kg6iY0p|>7B_eUGNx!CtpI7yM7;pFzoEs|m`f|%-3xOWjBKb08#!IJMW%Mr z{p8jfaCA1tbQ<&e#+p_{^I`PY57BWV?pld#Z9Ev-6%pqZP@tU|p;fyHhGu9_JU&O9 zm<;Tgk(ZRGyrfmn2*z*mh+LJRm7U?Ge)w#=`z()}$Rz#(hrRLMBp`S*tp*AoA(L`a z9HLM(^ww8=C&Jq2HGaEBUV;&;LPRvyLzjT>B=Q&eg^JH!;_Cylr`L!@{^BpaMGJrM zc{<vQM}Bo5eEp1^`Y3u`j&WY4f9~DKW5DHEV8Spkv6s94NNXVf0Iu4mJ(q{soWy8n zyPx7OPg<qS_n3Da^zsojaskjW3z1#Ra96;(<+%sqcw2m;oeuCCR^RB}Q~VS-Rlv!A zh)F3}pKDdmobd5oyzT)JFW~Eg_;)*6w&D{Ptp5UWMyo!%$6Z@M+mo@37XdM?;e~PV zQ%CgE1-$5k%sUAD(RRmeM{ilMbvP_v6qb)iHgg8OpF?IB0FLBBu4qIYaUsq-S*t4i z47#H2(7yy<KLDrFalZ#?r-76Mn}VUHS}Q*gg^QqtE;J4~XFt;Ftd@kbbb|f5z<<4| zs{1_pB4Az-AU)v!YfS1f=PcZP5iHbl{h_c`Z>Ys|jA{?KG!eKR32e^<vPT2Ar(sv^ zM3uRCcQInmYFPFMtab>fY=USp3KlqtYsY~r(~+fKhA$q2(??*NQpnA|$ojB_Cn8d5 z*ry@xs1C&_>Q<LV@J%=Ps~N1;0CA`s+HZmuSK;0N@TEPoSQ9<(gAGr?H{X%-87T-X z&keON2mcp<?Lx6aN=Huk57t|W(LIEBF5sSF&?z4d2LcA6t+7zP_E-;9#CQkdw;{0b zIcVWutZOPk51S&A4nsz8fzDvvn*zj!3PotAaRg&ks{*@{*j?cv7%v~Z6DhpKTQFk_ z?FK7$0{icP;&^<WLjYhvpTDkf7`i@(v?qJ3BLDV;;`qXI5<d2K*X~%3Y-9$oe+m(1 zC9>uqF-puA1F_a`C?+7ETOk&UE~2j}DyoBPLcFGAcP-!A(4U^TTl*T1pEtQ{n0jLl zTJ^2$^c+f=0%U4CytQbNf>o}z3#A-Y23xAYdL`Ty!TfQp4Qu(9z{?W%^Q!$|&r)E0 zdm4)9Q_g)y73gF^sK<EZJIBG-9pK~&<Zu;`32FPzw6hZOxGQaXA{uFDCTRP9{Ycv- zRRlIUh&UWauVA}W%7Dd!L=xt567P>iET4m@c>vsQ3wumLuM43;2VlMbkgX2HIKnW3 z9>DhyM9C10Nvm_`MOqEnZ_woHz?z-49Q6WedzThqgv(&j1JDso=cmE)vvBt+cthKV z&=yQ{fnWEq_Sg=M?}NOlFxIkPu|kcK*W`VC59SmZi8aPQ8G<!QrmP86P6v<YAs1bX z?+1a+T|nr3#M6o3j#j&A8n8bXXrG3NGyz&r8mrP|8OR3Yct!A40loCa`n3h{*AU3t z4vY@sf>?)tm#^drxk65mjque=Zk2oGNvtrEu=Z#UejUe^hk(-~h?`OFXXJCcy>kc_ z8HYJlaWg(A?Bop}AcIBQo56(Z$Y%A>IxARn3QXSuuJ329ws(@d-b*&*7v-_4ZiS4e zGg@iyuH^e15#%#6ngDzf35z!aDsIp*X!dIOeF|Rv-Bl?@z-x73O|5!(0#=|lVA_Yi zpjEBz#!d8e26nomovQ>6&VZh1aWxSuz&h|#W4y9q%sP0dHqcWHtrP<)D+7Ub5syQV zsb9slHrDn|dH`nyp`Gzi<1dJQ`SGb%XQ~XmT@t!i2V<=SjAjSBDk7_l!tA%hQ~lkV zat!fPTY1{Sh&K3K+kev=ca{O>2O#d121duB{le~Au3DYO*U*@S$cXwuIdoXlHG-G7 zuvQm(rF$R6Z>Vt)#vK4vo$B82ch0>BZWL@Z5~%%$_{Nl1ya%h_X(xao109LarhqX6 z@KbB_w+Ff9O|a-N)@x1i`Am#r7-nA_o~Qvo_JTi}f&+tq-nN+UJ;eJvn2B}{#am=5 zTBWjWhz?0mIy2_xK=xT0^C}B0WPlszVfkekt5)k}mRkW6Wt{vi@5)E=f&2%272{y6 z<!V3;OQWS_h?`noHx;V`3%`@0h?jMN+G>afZGiJt$TFs4wNM*(Gy^V2yKSQ7WSJa> zUY%SR5vdVrX8|3DqHaK3sl~<FpZ~~0d_~5}Fz~=1EmQ+@2BDo={8W};ryRns<vW=N z5n%%qdIaw2jMYj}T-gQu+ykavg1u*8hKIo0bBGCA^{KXQjA=XdW}~+k_|%TIl~#Fn zG%}wqu;5q3$~;hu8bIVG#J3s9tSWFzM4@2hRsy_xi&gz&xeaV<C3neL@`>C79e4xA zj{^&i!r$NEbtCXt8y?cukICTCTG(_B3!plmd(YYwT=ft7Iux23;>N*gtn&T9tCC>G zBCx(ZM!5&G8j1M}%smkCvnz53ZNFI`j7YQAUaXqO1EEcEXDk;$gg)o4Q{#no>H+9n z5%5c^6RhowG0_s-GXu=tjJ!n4<vw7A)d<}0jQnX66uJ|XbUXC*0TebLTC9aDDgv*2 zxG`d7HjK3z(3n6@dV-8C0U6qK_sJREkn42@?~Pcs%%g8ub=^k`rzr{+%_lw}LN&m8 zDLb@0r^t^Cu?z6p!CeQsIQp$YR;XYqYZcFm!s<r|s{!b8D^XIM7uQ8@F&TZ85kmA9 z6_GKH1{;pxE*n;I9kIe`1%KIr@>z73zVjX+e*rSX^Q4He$az+QY5u}jEQf6_b8}$b zi^c;R7ACA^Q?;|R=qD`o61nj?Xi7<{BR11?th9U($?G8wU8Z@!P$nYAad__lBGq0X zV+6c&1zsyj8(_bM^a<R~0j;Zqd5^<*YQTCDt6NX^jyf&2Y3I;ffF*xI>Hfhh@3}8* zvBO;%yc(3Tvgj_V!hSzs-<l#!)Ixk64_%l5wQCGC?coq)ui>!tTwaXmtW`#n+yuFL zMOpxC-$R={u?Aa5tAUT=RF>CZ47uqk`0*2ndXA`440k8O`yXW@n43@3hUdofB<*iL z`1~&z+X9@`R$Jw;A_%6jSd*N9R%q3QTO$9_>bz}-N@hqS^2`3n&U|S&;@(@#W;kM6 zTkz)tuIzx{zX0PpjN%lm{8Lt^gYI2;1<__pj=(BLQ~YtTWhNh>=D_GopkW7A*A6Jd zY^cI}jOzv`vyb=&6*~q6?+=``#T@Urs}|?Sn(Yg+JbzetJ2d<Wdfr9F#6>RTuA^68 zw4oE+n*zmY>MgP(BE=&HjRn{G@B(*LvLjRv(btoVq5$HB83<@ZN1%~SxD!>!{C8ts zC1JTRs>uiBJeiwf5J?AdX&MUE>xy`|5;=pFQ)LTU%*{n2Sg);x?jakB6lIW?htp(H zo>ssEUywnE00EDH%rfK+yA7q~q6@H<U;HEwy36mtmtQ=GiZR9uU%f%x$<Mi^R)>B8 zW_*wfVXU6WkMd!3eX$Z;%^u<*Fqj4_twp9%79*Q0!oar5(0)6RJ_~EC8CZALfK{uA zo`_dD5M>4<KhsYCt0P7tAJ~KYGx#d7(jRs>!%M|k{_5V3R1y&?1=&DnXh9n1K?ZVw z4{E0g;k_5g!i&*$s8cTFv0Ld8XGacQ40yZ7_1ycjVq`0RjBIfMy!aK&sY(A>+fSO0 zRw6oTJEE?VcIHJUxVspZOJ*sF9`I7C!*NjZ>_Ba6L^>TUk@;nJ-inx=0JZdoKKuf< z3X2xvGCV!dUE{MT)Tb`(;?J@RP}~bX3j+_gA@9kHNECyt_7#t(!H8<5kgcS`(rthw zts+*U+^tn^CoAIUR??7u0&(;ObZh~lekNZhZGT}-SnoU?0~_A*Dw+#>)<Ay;!O_yV zXCm_WHn7tx_iprVh$qz$!?nGG#e@%S29v_XGqie*?_y0`AB>(1_1w=x=^>ZFYP2-s zdtdOoJ?u9C9v+F6!Bgo8FXlw-SU_8lpH%@8-||n4ej2Vfa96C2M_~m1xaTsP#05mI zTXcb!(Ji!;A57g%p&}diLq8r^H~d39>`K0fC|a$&CZz4a4y9Mn-LpK5_RCYia4Yz0 zDy%m}mUo|`bPu+f#t$&ASg`v9{CgC9(?Rd*Ks`DkM;S|#crvsjhZqn2wewjrVvX1t z)_Xzck!Ku)M(qYuFG0C9<*mv8AwKj5YC>o^aC?t8qqWxTgift+pIBH5EE^02J;GY+ z6d05YJ-UGm>J?)8YA8?*_64JBf-#BmJ@pg0L|0_Z!L$$UPvk?;Pfa27z$&f5^g%QN zifHA*@(W^KJZ!CU3!r)rR{@T-(<;xP&HAv;JJ}pDa1U2S4-KL6V-csHa4amj5Q?%N z@xuX&)kb{k2i11*C@B3epf8P8w7C#k;DLPRnJf$Cx`Qz{LM{*iB{Ksb+6kVAkdd`> zV>ODkv*A`l9cxlsek0!@E_(r^^|6-UAjeS={v@}-=FgxKdC_A>%>4^mc>uLq1*;SU zig$5d<QoyNWMLpVm`iXDw9#0LLde=2;K5N?_cT@;>yXDbM>esGkI^jX`*FS}_0ZB& zd{z1*PK*FkOUn+>nf-_x59Cd>TZJdd0IWz%(Ed)y^tyxn61h%cWVvU-u-S4Em_Gs@ zTLljv#u$FE!eOkPIQ0n{t^LoO6F9hrmA!WA)No{AEa$+|<@g3^|CibanbcOSXuiPK zb&xIE<TF_ScRZJspugSm&Tr&%W7wPD%Qu+c8@V1i*m(BUVu?F19gJMGCQw-(`B80* zVkF|B_J3cO_$t~@$BODMP;(zT?XT@6MHHHdh*OQG!#C{_Lxy1uDiD7jVHQPzz;#do z#4_Y&eu#cUsS9iu3rqAvtoV+|){uU{_QjD)mjJF;aXBi;yW|phGC;I~cT$kC&VY(+ zz<R$YjS}_5BXC`-v#ii&=_lvQfwH8`R8P2KCA%vUH&y@1b2LKK5d-BVbre6N*CLPD z&9A5<P@RU=;{;J(#6Sa9s$bMa>IQjOy{0~sIywaPX-zxD4(bLpFQj71ZSXFa9Lxp8 zR3#ZJhAz}l)Dq=I1TwJtSVyPGJZfikkZdEztEFT^xz`<Eu0oIh09R|Nr;<&Hl@HY3 zvY0UI28lt)LZ^s|%6hPT8l4cYl^EKkZg54YPvuLspgKamE4v_H`y_@ap`s8nle40j zt`Tij!&Kta$~L7a7*w8aixSEc_#+eX@v#`o4_)J(9bNNPi)^J9Q*Wy_*@QMJb#zOS z`7EHFN_Jfincy7c^x;UIpLi>c@)+k+`ihM}k`Gl=UQvX6;7qoMs!P>Zs=thLZIj!u zMy#*vpzkTxi;|R6w^a96-gZuNM9EsZSIRstDfe&<-E3WdaS93=pu~tI`P!Msp6Fbz zR)bCbU1L;l-c8eV%?$&U1kqPq(iPX+<v`~$hk@(q@+rMIN_|YH^n3ILluGoTqLpDv zdp_jcWq;^u29(Fj+v;2}{GBiw`WT8Sxs?nNtIuvI&$*rdZ1dDbicU%753-!tZdhVC zt4pVBBB!pQlARwp*4e_HKhghqzO8oQoZ^&n(r~~yM&}aCL{a@I!yYd0JY*~7a)?8s z2OH!?dT;1v+N!T9RBoWmQ7Z5r$2V(vyVa%b!#=DYg<ovqn%-_IU?>88-!7IL=IO3F z)3X%&YM!qzq-+9GqjY|j`6gCYAtyeptQ3P?jkDTkJ#%Ktg?v>#qwb*Zx^IT2=Dg-d zqLIwO@01G0Ml{7<!g|bJNL<s^7iJoz+%#RVIP`WJBe&8s(Ndb7U#%Z(HC&t2RXk7r z6><8JhOGvd;e+uny>lK?=PFN3eqv=-wG5qOy1ta@l~RJnD@QG7J@Xn4u|?(<naTt; zr`?<t;%vy5WKWKl`Sjh*4@|doCxpW|Q#tK?=NKs`nZFncJ2s|erdL$Pc(gENBUL6E z3wx&+*YFR=R$0`rg|FJqrYl+Ppu&f^kvfgMO_R(64YTNlu9EJD)6@CXna^0tl1&cJ zJdsk-m0=Ds2kW-T*UDFqyykPFjbo={p^{4(<w#6hn7%<hESgZftE@a{9AlYbI?mtJ zNaJn!*IwQ}fCqY?G#<5gPmM?~tq=1YY`DzRUEfWoJU8g4xe8=`mfegsXoU4f^8Kt5 zy79WUbk~_k-^@oXVTM50TJ|wMa{jU{wH?y$_us9rp0zq@lQq-g=W$pZa^05My$5@w zQa@YMtTXzz#!;$g`p6WA8fy4YX{<V(N%~}uEYnCa+dfgrYh?SOtO8k`Ehhp(m9&hl z34<M@ygPW*6SExUX@>6=k91kV+B)mDp{KEkb6Tn~HHpR<S1A2lRb8!3Gdy1z`^r$; zZY9$a<j9*jKO@MJH{`x?g|$!ofvn2jRlMekPWCc#v(F~4I&?epxwWZ&yXmevG;MyW zi5r=g>vE`L9ifJjp2bZGa-XfITFi3SH9Gx4#%VDoq=r{h`^f~qv}E&D?;N_H_9M>s z9xr_sEAzAB(yvfS^9x#LwI!Ew);Bu!x!KQISA<x~nDunb-oSQRSJqH0^J_+7$5Y?n zY)7b5>cxaEYKB)6Q(l+BRz;A{8*`j<PR0b=5n~SHLFa<hIcYD%YU3p3vvZp(%COFS zQGdZX)^^nuV@c!B8A~&_2=9>PKCzBp36E3i8Li$ul$JJ!t%65M|KbLR{cZYidTD8` z+n;4j9_9!&cQ#EDAM9RK!1CK%Qn_#6YoDmA>Ls1_^!L`amd@D|E!Q%?#g)zM?Xk<V zhK#comK*%a`A=7>WR0-~7{^<Ra__W9$yeE6DQZknZ`fPtBRz$An_OlysQrvS9#^tF z(z@HLdzTGOFw{)nm{7#_((=~i;VNK{6>t3ddRLGyGQ(}c7-!t#NKP)AI*Rt23+RK@ ztFD8_WgcaX!LA`Ti#kSM&YVB%c-k~a1Fz~KKMdp3TPNDG9Ofpb(XQQ&1Iiiy%Rcis zkM)anwf>gD?5Li)IHj&=Yc}ZX%N4F5(<F}*hB@lhtbOV}iZqpQ%}kwczh>AUe9n7` z?LlIC$~1A^v_vj;2C&6zm+vB_xUF{PSng!J=o*j_p1j#v&FnOkP}aHXD=u?>V<*we zu5+!HnM!`$oAmouE9de*6>>zkIn9ueV%=`6sILX}Z*M5<_t|1rUuD*}D+Ys(9I+|w z(m#pmrqPCc9Kah*56!`b;;uJYzg)M~75XvisPw0<3&wZB3;k_&-;@!FrCc41TRBsm z&UVWM-xB(Uj`P+Q>L&dj*Q<1ol)bhYCLePPeLrrftTRtG#IdJ+rp-e(<azp3=P7F& zs^F0)^p&M^=8gD>#5d}3eS4Zilay<osa`v1zC9~5Nxs#+bM(uYnerGMi8uP|XUdkk zcE<m7?c{~5hjvf-fOZ?!I11WkQ#Q}QkhX?jY2RYMCA}7N3?+q*$|;Y$k9qYJ9UVEW zHTV|owtJ<GNEs?a%|pzM42$`WKFU-<-;ldoCuB8oZc@Wdl_=hxA_o~$g7SIQx1EhU z6O-3**O0C+sOzDu^giZ4#dN~eIb)xrhivWWlyNWlfpd=~%S-RkPTUgx4H>#!a!zJ} zjI9ovTwq*exZo%&H|lc)1o)44){lSor({M2Lp5mUe%&aKss6n^+NxL59%l&kfpb#U z-n2dTCgx5)<-IEEoN}iUuXN=XS(P$A*lx;$irG|CDeuZjPmL4&;>>fcD`I`(uGm)^ z?dDU)kw*5M?|nso%-$pIyKM$<m7DBEGosc09)G--S=Mr4X%Z<^Ms~EGwa#&ERVwKh z7^~<8%UChnAiR6&@1$>!Jr~!|{?Vv-=qz_FA>OroAL;+uz0%uddbo-^%Q`}A;T-Cb z*L#Sir?{e~aW<ai{9qkuyP&>QI_X19iKf-aX#0w}=CQ^J)=u%);(FNYdA{&%;uT_k zYR>YCHcWRENWGC#+c{3wm-C#nRHtR3Z$;1EVzB+OvooitpKQadt5qLEs%e=auPLAY zfvdBtxO`%`r)!%PpIjle6Gi#7@||zlr+aQ_Vi~II>G+)bE$xQ$Ayx^YuDx8_^4@cr z(a$w3tDW<ojF(&OC$e^_kCds#QhI4nmGzDe&dcgrQ%B=t+wSDONtc`_E!(_~d+ahk zFlD!FQR>+5rtD66;K-%@6-zxLJ<RnzDjAkJu4Fv6Mar4H%+<&-Lsr+#H<s70)t@j- zboI4II5LzvmT@vyTAqZ}S^d3c2Ho_TsV^wT8XxEvI({V2NxW!ZZdh+PC|f#mE0Lb1 z&9~H9>3^(!d5SJwj<79p-d5_GzZ*~RAEg80$u3vC^NOLG@rX-J@04QV<vuC?!#%bC zjWO#FD+67{)AMJZmy`7g%6G?J$48~B<&k-*{F*hzRt8z)JJsnD^wSV)?5}IjRSe7Y zLXNR}Il3BC4Lw~EX-88ViDN$f{92ipQVZpZVVe@|sF*f2qrU5hh~cNUHENWhyyr;M zbmz^iypC-2R2Wo~I#}c|Ei?^Aw)IPVF`DFe+q$fKLVDPBZ)~QNaakKox&8Wh)D+{? zK>Z;7Iag}h#gyH4Rwn9~sr&82c%ku@<&?6)p*Rv$Z{<3XE1Oz_Ivb*O&*+i7p|50k ztFpt#xyyLf=;IP;Pg4A7m-juNSYxKV#=Ue|e8;vwwLpeJp3&FSUs9W>xpfUpYmGl; zgnfbIsN5<#@(lGqexS=??r17#7$W=(dkym)=dArQyXx|I*3j*=Jx<;0y6w5%r?J_t z&QTla4LT#IWHz%JX@KFKKEHF8?F#iY&-dJ<o8bK6>cmTwNpi3AE=L%{J*S&8sK1P$ z_2z<NOx9PcKd<&VW1e7dlH4fcfyvMBn#GqkJ3ksan9qpGwgsv4o#pgqV;;JfwMxz~ zhkH)emvSt%?Nkq8J^sR(;+mv1GA%KUP*!p^Q9xJMG(*jw@z7dCp7*M1EbDBLdB_%J z4D?)V^rhkI3*AP8g`3-Mq_=SH)WztE(Jfn?y2V(?@>9Re>1F%kST2p!P2Hl-)txqX zx9rk+sMXcC>Ly)BDv>!etDkFyXFHEkYMso4^c1>g>1b?7ZCwF6HvOjrINPRg%Bn`i zb(6&qduK-{MQ@&D3g8p=TlO!mT*z~~$#-I}VX$eh(i&@*6<kuetN()$4zwK+hdk#P z7CKvHwsTxD{5AXPqMhAbWAyz^X5CB2!>j{pq;9ivS)Fd{@2aIcY5btqtC`ML>Nsj3 z{<!k1Uj>=^SX%1+sJyybPNjnMQs%UNwLRpS77wpi{J>f}<FfOBp^Txfuv5IgwP#I} zH{Y{$ww30Fl%^JP?sbOhzMJkCkBQ07P**TkqxI!xXA5p)*kr0>97G?niq6Zm_@L8E zR&#W4Jd*X4g65uz%kj>7&Q?+JHGMT))a!KD4PEs2<ThJMMqB$-=_7(jbs4#bu9&fg z{+Zg!S;l$Fm7>m2V`-}Xg6X1hxp=Q;IG?#%$mgz{>OJSUtS_!SIv>x99(U!Mtbv(U zS4l&vp@5;B-rsn`v_$lC#AmFr&Qw2gYc7rzQ$yV+;}v5*-F;W6>y9(tHAK$i)jGX# zn(>If1_jG&E<g1@wWPX-zw#WVBnQeY#c52k>=2n*oblOS5~~WQ{)5P`OfoJo^x+(~ zj+wdbzVZXsqaUfEp{Mz^A(cuy-#RR^H2H$pnUqss*^s3R6}M%QdO=p?AlZPXQh+=r z+UTEp%rbY923xJn`RZ1~GUHl9bx~T`qd$Qav8TPgy|3C&+GTZh2K!>ov%yf3nz*K` z2c(_L%Sv*U_^aP)`lF8%-LclR&`q^1KCRD*N^>147XCnM4DXB?Vy4ZWe!*Iow;OYq z;`Il0)%72A@8v+dE-TuuF!Bv?QaF^S`jUE`C@Qb1R#}f%$TamLH&^0yMfGo$Wavb! zv^(xOno=u64k~1CWSyYKn=g8PGDY)L87wUH+IcZ^Q|1NrlWu@9kCGrU2VHyJL0QmI z&((=K>2K*SaW#HH*|7rLC@RXwt_V(~TO7%Ac#!fOtHCq;pSn{mD~BROdC33K6dF%n zVl<WFbMlycD9@-ZRlE9u%IRbE>B<T&q25r-Ndr%pW7#SuD^tZpxzyz=icuG5vaPOb zr1`pM7hN%H-qg*`FP2T-?ab#nonw{XVv=)f+NkvX&Lmxa!yd%L61>Ymromj@{@ebS zH|j0QRe4Gd(ycdNGG!`ywY2lBI#MRM-Z}ERzKg2*_BuVcQ`>M?TFV91BI;mXA{r|P zL}MyM74fx5u6G@C^_L5&fT&ElsXDzD1C&AH4m)HsKEs>2I^`Dwm8PN<KUc@8f3VUU z!|%9)n5s_@KOLVO4QZ;mziEQAP<l|tEvo93;`zZqqMNYk25@^@beh>(8@X8l-9v6c z)eWk#jefLx&3?hTQYQ0swYKc0t6?@-e(H+Lovv!~K1RFNvB#-$e|>p<ZZTCx$~Lg> zT3O4r-4#g1m9t7V<%)>ZJy!ma0V~mNJes0-54T~9I4Bm1xpY^4kfWss-;+1hU22+q zMtPK)B9z8(bB>U+<qYxE(Mi3|i;br(b>-%)nDkPvC}RclDSapID$6Jvsf&8u*2R`6 zJ#+>1x#*;8B;8V$E0fi6_NlI8By~$fr0gK4&|77v_)qF(BYsBJsE69#^+J70QaLHC zJeS+i52{5EWnJziU-L2gEQTt>IaWR9nk<`%0?G|#q!=#FQ&suIRm?fUby1xsM@owv zB`wsPp72QN$1CWeXoma7t9A$RRoz&ReYy*dCz&&C3CentV(h1srnX`|=Xb5LC1uri zZKQMJ7I#+@<VMk4c~3XgeQF55<r(}%WwjOMRPHF7Xd`#$b<~%p$rtK4nLv#(;&t?g zj!-Z9D$A+cRe!E2>bUpG1oIKz$EsW|*GqqL@Eg9WJv#)<D|CeG@=d<XFWJeBs66tI z1YXOhT#KCR<#i>Sv4L{iwZrkzrPD1j#OMZydVHAsaz1r|vyD?H-|~2hl}>dIX6Y^F z@KQOAy@9n!;-33y@9N4cT{&G0Z1ILpiz;+R&7-;`i>JDyVl3B?5wa)}wnl0s_fuZz zhw48GJ#SO3YLuF&`a#vRi)Uhy@S|XiGLu!HHkKFAa}gufi|>>N`jsV?i~M4vI3@n@ z1NDM>nrG?88b0dph^KOc>zC8d)xc$v4>?#op{CqN?v^Y02PgAWzDspQkmyHC*$zvE zDV3BJ;xsUj#T#IWjdWO46C3CxS7ZxUmp|3)GL>(MeM%{1A3c*s*;c)$wv%sVTOP}y z{6x-`o1i6!`JjBH)=}@sFbbqpj^nzbzv8Ww7TWpsU1<e3lOHhOC8C0EiLSlkfjE=_ zBudpLYfw(nmoBiLC-Wi})Q@IxH!d!JsY~TJ4inzW52cA>65H6DKk*o<COQjkmr)Ch zaKCKKF(m0S81+ysAge;tvgkFnqGWyn-8%uz-a;2?A3dOx6d}%1XJExo7{RKIypT)M zT-c+$*db<%0^&b9#M@wpmZXRbvTG+KBB~8SlwE;qceqcg>(7(88xU7n6a?}TI1ryN z<&GG`cX3@T7P&+#F-?>c7ibAD=bk);|Ksd*j{-!9$OGIJMyz?_Di1vhpkmaMuYmJ4 zxDwxx=VW1C#~Zl{2cgYg7*|t~N^L2TM{#FZ<Q0#kA;JdF+o?32<y3I4qx6*(q$2mq z)w~f{%uboIxV$av;Eo^if;__+6sEit%i+;J7|8&%d=BG}5Ua!z@t0h51I#H(pZGkG zTb&i2%{eJIW-?FgrqdYzX8yn_?sI>eV-_CbD@}rJAHWJHaHUxc5l2NoAj(Cr=n(9l zlX}x~WP+2xs%wY^0W_ALkRNs73-X|RDtmD)8bwv;1zJ4GK{OO|e<qvoQT8Nn+R6vO z+NZ2Nm39|bl%W<>0})^^_ooBYnCfzrd?_O_F2Viak)NzkezNlye$J(77wx9!<VkaZ zjGyuZ&xQ}<5gU*t$yM@=^kD-n)Xu8pneL|{SMf(qK+8oi(_Nec_l^{UL^7?%HBn%m ziOh79qQPQ45EDhQWE7P|1u>n1=`Ww+wLtD3@qoNYJ6kl7b(l?QzAU%M7+IR9@;o4B zyH?|m!w?Bx&~MrgYYd?^^bBMDNL%R>-2paB(L*jy$&^pj6aL~cou?)=n;KAk*r^1V zv7I~dYS<zg*giwrbI{Ew8*JShw#i}}YyZ1=g3Eyg{vwl-VBcr70N#kEP?1-hqXDqC zjYDuRv_l-GhQR(CAmIw^dYbpc4%@&xg(46|wOSAB=>sg(5AU|2d~}ZV#9-4G{>|Ex z0*h!64X2W{47RKdb`NnsNqmuq<KN9t)fApjOX($bp`P>(7MRan*@PL)=V<=MEx0J# zWe9w40`4Zz2wF#jDTGdNEA5O-WGb&Yo3^(VD0>aI<zh3xlFx9*JDG#q0m0{B>5}mI zH3sLUwimNEl;b9wF|HWS!DnO(IZiH?Yvco2fur0{At}JbST4jq++R*b=G=hCVMc#| zhkEoBV+!IV*%}xKC10Sn4To?KAkyT1MshK5*M&O5+68C_)S)}#b2XWuZctaL5z<Gt zk`82$<>8^VJeYg2k+WnVl%tdTX`p;Oo~uB0n!>hE!Qp%~AAbKuspOzyqOLdzi#|pq z`ie;83kGN>pC?nes4f=6_p`VW>}KZ%lnXxB&L@56uC3P|BlLpL&+%i9M2p|4tZ=|9 z5u`ok{s%2R<_f^tTY3u2#egZh@HzmUYDz2M(S7i7Ey{uZJl)TL8YnLXL67Q^_AIXo zUU)&Zx8nY`VlJ}Rg(41F*K)4U6)>MY$gMiVHmeXXZqQfsUkedLPnXccO81k>^(Y!+ z8^k3zKfd<z4KCo01I6hx7p4Bl->SeGP2lZSz(jFqeo?S6h+ea%+iwv+-mtds;xZK9 z3tR~kXK+_l_p`N?q1pd|J%NJ6Phh;a``q_%Qu!aWV?6wDfwkStT6M8hVCf0$_k?pp znVQlj+6h~Iq|fvdda@9{odWwjrvYLmqUkaySqi1Qt2XX-*Y!I>k72<Fw2f8*_l2Me zKJ*PE*7h*oLbMvib%5uBV9GXFeH7HXH`v^aOc<-xy*FkKqEQn3eFGRub)Rzn7h`P1 zg@M$$e2n$(XS)l-@=fRuaJrq#atCPjBq-E1*v$`2D@wOvlZzaVna`lf;PY7;?LNc0 z9=JRZT5t)ut>9)n6tSie@T#)5-|h=*)fw{h3-G5W-vx>$(`I*NvuqTLam?o~`1}sk zwj18no&Yie2_=Du!kEWa_w&JN?mZPF-Fq%}@g|^uK6IlH6#Wk7{Yt*Ws^Kp(?oC_~ z2yf{=1^E*=r-HptV5uKiXB<O>Yz8)@NT<~CcbNbMugGVSeM#U#+fB3?e4Gf276yhF zx+}TuqH7d`ID3jFVl-Nv9+khdH?@bi2f}9BQ^Q|43+T_~-nnrCqe^G(X{nm%JHfr% zN2^WHm$iDNeYgx4L9DI`yp6?ZHerSE0Sb?`3T*U_D<RG_2c|0lWi8QPUkW21iiZb( z;`7~@`5(lGd_?pTmRN~*R>RU4fwWUlm{z!V2Jjz2{!|8*9E2HYdu~S46=c#(U+6mU zbcn{_-(yg_R-|cCD(>`jpH3YFt<MK0K0y@j$xShrXw2XuFTwbK!h#?1&IP{2F_?8u zWU?NZ;V<037w=5tHNfIiDA`XA1`Aq%)!LK%4N0=LpHw>|y((082khDdW6ObP<>jtg zr^Be%(qXV+4<be-jJ_<j0eU85v}fRl{Ln&;h2ivz9jsN^3e<8l@MRKO4@ZPHP<Hs6 zxhAj^0(A@pDk3SJweMBX&TTqQ)1VEX5EBC7rEqxK1_s3Al?97F#C#V)Xa8_n_;neg zMjd$b6>PAENAq>uRs8>0x&|monr0hWRgLk^?#$Y@ZQHi3Z*AMQZQHhOdlqAK7c$<h z{@>{{JLsyc%!nH|ZuC}GP!nh@KjeaXh(G(j^?l&3V^A2yapW=BX)R~O$}b_ub_X+7 zL>8$H4PzqXjzJDwf^%*_ne6lJ!P<rM=3xbP@2e_6QCVmo8?W}U$KaVIh`|B)virUE zhRwIa!r%Ei*F}81Ms_`ht1@t7aekoI?o5#hh$sr~v!9u6`_<k*xX^c(_;1*7614=w zeuS5@;EMTxkPX0LC^Ewsc<dDL7Y?=D7HrlF*r-kR9kkPt%a$N3oA78l*t9j&z+Nb? zp|Eg(Z|9JGPi-p1WhkBH-H4izIAaR;hX%in@k)Rl=3u^q;e+z<X;#{g@p>XRpMfvS zV)ZML0k&hU^Weu>7<VKPU%|Hr$+n~*0}L$S-)LS3oZC-sw=)XE7qMX2Cz#nqo`?L_ z0oERgXsQHWodmq+1~c3DT-N<x&j23JE7-mt;~~7A=zEU(5OB~Ja6=0E3jgN>!V2T6 z?CU5o4}4b@e0qbk0mBpEsSD6vs%QzlJ3wR*Nnp~o__CG!VY=+=_BjElsf?IQg>eQ^ z2mIR*`7b39bi&s$)z%}=kU^ed{_TOs(Li}1Fg}$m@Zd)9bTMDAtmp8>Yqq;~-NBkW zBaiO_-X8*=?}4jRnD<!dfl)x}bKuv`g1vm5+4A9<lVQnaP=-~+5>)XWL_u*Hm@nz; zv-$(vVOJD`xE#)JgD?9z^MY$4^R+;n55pY&pkCSn@rA%mGoY)(Feeu<c@Xmn2Flt{ za<X^8je~{k=c!+Sg<_B$PlG+baY0x-FCy+CxbqBtw|99pgW5`sEHVr@E6IH^`}t58 zpOH!Ir_`TDM2vxY-H2;WhJD_k;+Vu$I16X<_0=ee)n&x*Wl-@P!?hmcnqR<130N(I zH^;(DEpWYZu=qq^XDqVNJjBi=L|cB;H}>7tm2mAfz8aw!)O|(#wh1cuHR3aX!}0EQ zw(kUA1!dR7*FA3;GT{uw@K0d)Ff`s7w$(^1>{cInvM<&YFR#nb(C^K;Iu}Q!62!IO zscB&IxxNk?Q{lC3z~*x>!d|v(i~L~WricU&cLEdM09zLUzcfe8{>HmoaorQ({s3@& zCK`hbwIB1fJ6rDZbt$`zwQt8!H!x-h)OlzAEjP)l$X;cD?3uoMST}=*cObi;fh9(O zPcov$8USSUL5w#*b{~$s?gy5r44jR{zfTbZJ)njAaGZPqeR@$w%0Q^s;;{J)AkXev zw+?f!f*5wvb{toVV`XX}q!Qw+IsPpRZTVd;ljr0#`B2`K`%w$sk^;xoMD=_gmH18R z;_}GWcFiyw=qiAj*24D*xN;P<MpHygPh_9-@XQ9ePS%lgki8GdJu+67<wijD8K9y& zY~BD~&VrRx08XRu{x!^XDA;uyEMp>`Ga~BkeK^Tz1)FlNEG+ZO)G`;wTOyO83bH#D zX9Cx(1{d1TE0_bN)(&`CfVh4Smb5z$?eXmqie!7IkKKj(D7;+)*H{h4_yqf20yEfq z-rhm)_W{bfAU~7_za&Fkv;fZz0wU{!dm^C~2Gcm;N#l*EzD~)dvXk5nJKaHMw`ja* zA^M{-FC#jOVZ!c4w+tC!6u7S-a&9y-tRK+w0;;>B@E4Pi{q23v4fv5PEl*entz%Z0 zoFVP*H0iPGKCoXKV80ed=|la%KNsMi5n!1S!1O@aCyJ|qzlI>sjK{HO*^*ObWjRQ` z#oS)W+PGqE*kcGr=}Q|>(~ZGzsi3dBU`_=^plF2IjsWj1$5#q52X<3|p4GryWB73- zd@v0$Wp|Zbf>{e;-_2EBG!|}g5OvBkU~D98sbd}~!I*#Pya-p^%3Lu}<P-M3VLxbC zg7$rY%=na&i%ud!q*Nw?yB303?V8!{5>^K58i-Z7adj6sI~`^mE^3R6sDR&rMRL*^ z<gvm)<zjHgLd0xy)B^q@tFYkN{aE{c_^B1Rei5)V9XfLbyipnod^fqo4cKlCtX>)_ zYc-<lliVmD%OBDK4r&7SNaou`(-$n=7RS`WC^}v{z(;oe`35%m3QlT-YwF0y4%!XO zc4U84c)1ZNp_oxku)=%r<qvT1QT+4=XTIj;zCFcX*xu1%-<=yp25gXC>;f_uARqRn z`(W$yh^>7xE9XaacExP&LH+ghb<H(k15Nxue(!+aOZ)bw%|$&CCbElG;-+{l9-xv~ zi@N&@&|MzNWdLI6r_2Zr55O6-v7!^;%>V7qIZP*Er_9Lw5zuzFKi|V29$Y0@<c3EZ zi+UL8sITv}y_3)l?1$s48u0!QM_EwF(-BFP@CwIYKlpZNx^QLt=?Pv`FBax}6-Z5u z?AQyq3F4E8k1H|+%4-)psiJT1)J){!+|af+!IO3uAo~dzQ<3j#!3X;hVb#H5WwGKs z(1iD(NBclce*%j>xxJtF3^;3()JkNFvsc`95=-;d`>kW2{T(*2t5C5WN|oL8k%% z_Flm-x&cp~13GqstqvnANMC2U17M9uzK)Z2zs%<N$=)wo3d;UExe>`#MO{%qq!g1x z30SHJRN!^C_hntdwdSFM3c*@(L01oiUCx4W{OKK56OSCGKs`MItHkp@RJM6hG2iud zxz%C!inIr-8U&=Aho-cjWb+-F<3H*T>(m106aquNM{L{Obq?d0E*SF`^6wUS@dIXk zi86^&B9}OfJhL0`Zvp>y0{hw>;p{!^>k*Z?kw>}#nNDQE(m?rpu<dtz-Gvq}1wLzz z4B8Z)eFRh$hZehrTy`J&Xe**;p?zN=u)YZV9wprvc_Db-X6T|mEinMuezb27LpNaT z46J_~7<!Er<cG$(3{Pjl__q4*3NIx>b521-Kj)Pgu_GtvugE8Mr+fR(-(leHj9BwJ z%*H@<GYTFlLN9=x0hm!V>PVe!%~1?>hz5ObSBHIY?owoq1HL<lHz4NhUGrOz`HR4I z;i&tg;oVVWKiQ(9ugm5lcy=->=3>yuh3FirHM_IwDp>e0EPNUBS`1aY8@^bN`P2iW zo`L2Y1CMkEh898DR)yE?&+fzVRRJtn0zR)t@rZ$GV8CIpbUj3HdDPQ$fekM#?MMIE z-gjhz88c!wH>tWXkw1>1>dyn-$|4?uPp^<kUwsupRphwB(A|Nk^&-HhHGp5cgH1+c z^l|X{QsB?t-!>6r^#+#@pfn=As0D_64}aSCn-0WGOOSmZ@GEfcKH#e-R%A!sc+`CJ zFza)Oo!xW@<4%Qt>O%342L{%Hm7>8lMS$_jBEQHfyg=$TMCo#jXFo^cAMkANqI?ZK zGauE;WiZ_b*#86&o*WfLJKxT)?wIjh)FM}X9agVEKVJbdhT+u<*r*G|>;!9gFiL6q z2K9Lb5ov+TPe5UILp(GGP8UOmEkGvLkTL6Ht!422IF#fGaDsy_vR!G~{+b8GhLhdZ zsu&%{h<1-f`#DnyG7Q)+4;)Vcr|8gr&-g9QiG(i-V@-CYRt{dtf(j`e*>{xp0fPR6 ze(a00JHv-<xel~Jeh!09wqz94-~{;&9A?Ry$kRI!CEqc-Jie}i$zjQUuwZ>)s~6e3 z464J@Us3(s2C8R5hpW(40sK*V<$Y;NhN{aBm0H>N*Z-hFp8$i+Ftb+hMLpnc0NnyB zrw~QOH!wv*aEr~A9_Ymj7;_Br!$9cCoyc%sakj0!)&p_7e0@?6BLa>A(G|f-_U`vx z@boD}=wW2Pg_!YU*u?Ieya`^jI~jh2-nKuzu;ATaK>uNI<OkU5GgvDx>^<IBzeUq` z%8%TT1w42N92be$PX#TR2ur7h%}xOmmC3$?y8{r=4d1hX-)6&Bqfl8dLhV=#Y+� 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%0AU>*TaL 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π6de3NwYqn+el%%+sgjWH=RGx~T+p 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 V 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 %r%-vr2w}sTejihR5BvI8`q;4OoGTf1_ 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%0DHE~Sc5wN{3@>{L@ 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�%6d!b0*c5oA9PaUh%{kKn;CPz40E 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�|l1FsrN$AKb~kY|&?dUwHUwN+nW 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%0A~fEo$*lPFNl8m@u^m4stmkc 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ℜlt3IcKAz0 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 E0JQ|v!T<mO literal 0 HcmV?d00001 diff --git a/freertos/cvitek/task/camera/CMakeLists.txt b/freertos/cvitek/task/camera/CMakeLists.txt new file mode 100644 index 000000000..4727576c2 --- /dev/null +++ b/freertos/cvitek/task/camera/CMakeLists.txt @@ -0,0 +1,20 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c") + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/vi) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/sensor) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/gpio) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +#include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/snsr_i2c) +include_directories(../comm/include) + +add_library(camera STATIC ${_SOURCES}) +install(TARGETS camera DESTINATION lib) + diff --git a/freertos/cvitek/task/camera/include/cam_rtos_cmd.h b/freertos/cvitek/task/camera/include/cam_rtos_cmd.h new file mode 100644 index 000000000..0c0082edf --- /dev/null +++ b/freertos/cvitek/task/camera/include/cam_rtos_cmd.h @@ -0,0 +1,106 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: include/cvi_rtos_camera.h + * Description: + */ + +#ifndef __CVITEK_RTOS_CAMERA_CMD_H__ +#define __CVITEK_RTOS_CAMERA_CMD_H__ + +#include <stdbool.h> +#include <stddef.h> + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* __cplusplus */ + +/*---------------------------------------------- + * The common data type + *---------------------------------------------- + */ + +#ifndef loff_t +#define loff_t unsigned short +#define __user +#endif + +struct cvi_cif_ioctl_parm { + unsigned int devno; + unsigned int cmd; + unsigned long arg; +}; + +struct cvi_cif_dbg_hdler_param { + const char __user *user_buf; + size_t count; + loff_t *ppos; +}; + +struct cvi_cam_parm { + unsigned int ViPipe; + unsigned long arg; + unsigned long arg1; + unsigned long arg2; + unsigned long arg3; + unsigned long arg4; +}; + +/*---------------------------------------------- + * definition of cmd + *---------------------------------------------- + */ + +enum { + RTOS_CMD_CAM_EXIT, + + RTOS_CMD_CIF_IOCTL = 10, + RTOS_CMD_CIF_DBG_HDLER, + RTOS_CMD_CIF_END, + + RTOS_CMD_CAM_REG_CB = 20, + RTOS_CMD_CAM_UN_REG_CB, + RTOS_CMD_CAM_SET_BUS_INFO, + RTOS_CMD_CAM_STANDBY, + RTOS_CMD_CAM_RESTART, + RTOS_CMD_CAM_SET_ORIEN, + RTOS_CMD_CAM_W_REG, + RTOS_CMD_CAM_R_REG, + RTOS_CMD_CAM_SET_INIT, + RTOS_CMD_CAM_PATCH_RX_ATTR, + RTOS_CMD_CAM_PATCH_I2C_ADDR, + RTOS_CMD_CAM_GET_RX_ATTR, + RTOS_CMD_CAM_PROBE, + + RTOS_CMD_CAM_EXP_SENSOR_INIT = 40, + RTOS_CMD_CAM_EXP_SENSOR_EXIT, + RTOS_CMD_CAM_EXP_GLOBAL_INIT, + RTOS_CMD_CAM_SET_IMAGE_MODE, + RTOS_CMD_CAM_SET_WDR_MODE, + RTOS_CMD_CAM_GET_ISP_DEFAULT, + RTOS_CMD_CAM_GET_BLC, + RTOS_CMD_CAM_GET_REG_INFO, + + RTOS_CMD_CAM_GET_AE_DEFAULT = 60, + RTOS_CMD_CAM_SET_FPS, + RTOS_CMD_CAM_SET_SLOW_FPS, + RTOS_CMD_CAM_UPDATE_INTTIME, + RTOS_CMD_CAM_UPDATE_GAIN, + RTOS_CMD_CAM_CALC_AGAIN, + RTOS_CMD_CAM_CALC_DGAIN, + RTOS_CMD_CAM_GET_MAX_INTTIME, + RTOS_CMD_CAM_SET_FSWDR_ATTR, +} E_CVITEK_RTOS_CAMERA; + + + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* __cplusplus */ + +#endif /* __CVITEK_RTOS_CAMERA_CMD_H__ */ diff --git a/freertos/cvitek/task/camera/include/cam_task.h b/freertos/cvitek/task/camera/include/cam_task.h new file mode 100644 index 000000000..24bec9c3a --- /dev/null +++ b/freertos/cvitek/task/camera/include/cam_task.h @@ -0,0 +1,4 @@ +#ifndef __CAMERA_TASK_HEADER__ +#define __CAMERA_TASK_HEADER__ + +#endif // end of __CAMERA_TASK_HEADER__ diff --git a/freertos/cvitek/task/camera/src/riscv64/cam_task.c b/freertos/cvitek/task/camera/src/riscv64/cam_task.c new file mode 100644 index 000000000..996c294b0 --- /dev/null +++ b/freertos/cvitek/task/camera/src/riscv64/cam_task.c @@ -0,0 +1,196 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "timers.h" +#include "delay.h" +#include "mmio.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "comm.h" +#include "cvi_type.h" +#include "cvi_math.h" + +// #include "cam_task.h" +#include "cam_rtos_cmd.h" + +#include "cvi_common.h" +#include "cvi_comm_video.h" +#include "cvi_sns_ctrl.h" +#include "cvi_comm_isp.h" +#include "cvi_comm_vi.h" +#include "sample_comm.h" +#include "cvi_vi.h" +#include "cif_uapi.h" + +#include "sensor.h" +#include "cvi_i2c.h" + +static QueueHandle_t gCameraQueHandle; +static QueueHandle_t gQueueCameraCmdqu; + +void prvCameraRunTask(void *pvParameters) +{ + ISP_SNS_OBJ_S *pstSnsObj = NULL; + struct cvi_cam_parm *cam_parm = NULL; + uint32_t ViPipe = 0; + ISP_SENSOR_EXP_FUNC_S stSnsrSensorFunc; + AE_SENSOR_EXP_FUNC_S stSnsrAeFunc; + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + printf("%s:%d run +\n", __FUNCTION__, __LINE__); + + gCameraQueHandle = main_GetMODHandle(E_QUEUE_CAMERA); + gQueueCameraCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + + for (;;) { + xQueueReceive(gCameraQueHandle, &rtos_cmdq, portMAX_DELAY); + printf("prvCameraRunTask ip=%d, cmd=%d, para=%x\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + + if (rtos_cmdq.ip_id != IP_CAMERA) { + printf("Get CMD != IP_CAMERA\n"); + rtos_cmdq.ip_id = -1; + continue; + } + + cam_parm = (struct cvi_cam_parm *) rtos_cmdq.param_ptr; + ViPipe = cam_parm->ViPipe; + pstSnsObj = (ISP_SNS_OBJ_S *) SAMPLE_COMM_ISP_GetSnsObj(ViPipe); + if (!pstSnsObj) { + printf("[RTOS] SAMPLE_COMM_ISP_GetSnsObj = NULL\n"); + continue; + } + + if (rtos_cmdq.cmd_id > RTOS_CMD_CIF_END) { + pstSnsObj->pfnExpSensorCb(&stSnsrSensorFunc); + pstSnsObj->pfnExpAeCb(&stSnsrAeFunc); + } + + switch (rtos_cmdq.cmd_id) { + case RTOS_CMD_CIF_IOCTL: + { + struct cvi_cif_ioctl_parm *cif_parm = (struct cvi_cif_ioctl_parm *) rtos_cmdq.param_ptr; + cif_ioctl(cif_parm->devno, cif_parm->cmd, cif_parm->arg); + break; + } + case RTOS_CMD_CAM_REG_CB: + pstSnsObj->pfnRegisterCallback(ViPipe, + (ALG_LIB_S *) cam_parm->arg, (ALG_LIB_S *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_UN_REG_CB: + pstSnsObj->pfnUnRegisterCallback(ViPipe, + (ALG_LIB_S *) cam_parm->arg, (ALG_LIB_S *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_SET_BUS_INFO: + { + ISP_SNS_COMMBUS_U *pbi = (ISP_SNS_COMMBUS_U *) cam_parm->arg; + pstSnsObj->pfnSetBusInfo(ViPipe, *pbi); + break; + } + case RTOS_CMD_CAM_STANDBY: + pstSnsObj->pfnStandby(ViPipe); + break; + case RTOS_CMD_CAM_RESTART: + pstSnsObj->pfnRestart(ViPipe); + break; + case RTOS_CMD_CAM_SET_ORIEN: + pstSnsObj->pfnMirrorFlip(ViPipe, (ISP_SNS_MIRRORFLIP_TYPE_E) cam_parm->arg); + break; + case RTOS_CMD_CAM_W_REG: + pstSnsObj->pfnWriteReg(ViPipe, (CVI_S32) cam_parm->arg, (CVI_S32) cam_parm->arg1); + break; + case RTOS_CMD_CAM_R_REG: + pstSnsObj->pfnReadReg(ViPipe, (CVI_S32) cam_parm->arg); + break; + case RTOS_CMD_CAM_SET_INIT: + pstSnsObj->pfnSetInit(ViPipe, (ISP_INIT_ATTR_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_PATCH_RX_ATTR: + pstSnsObj->pfnPatchRxAttr((RX_INIT_ATTR_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_PATCH_I2C_ADDR: + pstSnsObj->pfnPatchI2cAddr((CVI_S32) cam_parm->arg); + break; + case RTOS_CMD_CAM_GET_RX_ATTR: + pstSnsObj->pfnGetRxAttr(ViPipe, (SNS_COMBO_DEV_ATTR_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_PROBE: + pstSnsObj->pfnSnsProbe(ViPipe); + break; + + /* ISP_SENSOR_EXP_FUNC_S */ + case RTOS_CMD_CAM_EXP_SENSOR_INIT: + stSnsrSensorFunc.pfn_cmos_sensor_init(ViPipe); + break; + case RTOS_CMD_CAM_EXP_SENSOR_EXIT: + stSnsrSensorFunc.pfn_cmos_sensor_exit(ViPipe); + break; + case RTOS_CMD_CAM_EXP_GLOBAL_INIT: + stSnsrSensorFunc.pfn_cmos_sensor_global_init(ViPipe); + break; + case RTOS_CMD_CAM_SET_IMAGE_MODE: + stSnsrSensorFunc.pfn_cmos_set_image_mode(ViPipe, + (ISP_CMOS_SENSOR_IMAGE_MODE_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_SET_WDR_MODE: + stSnsrSensorFunc.pfn_cmos_set_wdr_mode(ViPipe, (CVI_U8) cam_parm->arg); + break; + case RTOS_CMD_CAM_GET_ISP_DEFAULT: + stSnsrSensorFunc.pfn_cmos_get_isp_default(ViPipe, (ISP_CMOS_DEFAULT_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_GET_BLC: + stSnsrSensorFunc.pfn_cmos_get_isp_black_level(ViPipe, + (ISP_CMOS_BLACK_LEVEL_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_GET_REG_INFO: + stSnsrSensorFunc.pfn_cmos_get_sns_reg_info(ViPipe, + (ISP_SNS_SYNC_INFO_S *) cam_parm->arg); + break; + + /* AE_SENSOR_EXP_FUNC_S */ + case RTOS_CMD_CAM_GET_AE_DEFAULT: + stSnsrAeFunc.pfn_cmos_get_ae_default(ViPipe, (AE_SENSOR_DEFAULT_S *) cam_parm->arg); + break; + case RTOS_CMD_CAM_SET_FPS: + stSnsrAeFunc.pfn_cmos_fps_set(ViPipe, (CVI_FLOAT) cam_parm->arg, + (AE_SENSOR_DEFAULT_S *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_SET_SLOW_FPS: + stSnsrAeFunc.pfn_cmos_slow_framerate_set(ViPipe, (CVI_U32) cam_parm->arg, + (AE_SENSOR_DEFAULT_S *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_UPDATE_INTTIME: + stSnsrAeFunc.pfn_cmos_inttime_update(ViPipe, (CVI_U32 *) cam_parm->arg); + break; + case RTOS_CMD_CAM_UPDATE_GAIN: + stSnsrAeFunc.pfn_cmos_gains_update(ViPipe, + (CVI_U32 *) cam_parm->arg, (CVI_U32 *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_CALC_AGAIN: + stSnsrAeFunc.pfn_cmos_again_calc_table(ViPipe, + (CVI_U32 *) cam_parm->arg, (CVI_U32 *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_CALC_DGAIN: + stSnsrAeFunc.pfn_cmos_dgain_calc_table(ViPipe, + (CVI_U32 *) cam_parm->arg, (CVI_U32 *) cam_parm->arg1); + break; + case RTOS_CMD_CAM_GET_MAX_INTTIME: + stSnsrAeFunc.pfn_cmos_get_inttime_max(ViPipe, (CVI_U16) cam_parm->arg, + (CVI_U32 *) cam_parm->arg1, (CVI_U32 *) cam_parm->arg2, + (CVI_U32 *) cam_parm->arg3, (CVI_U32 *) cam_parm->arg4); + break; + case RTOS_CMD_CAM_SET_FSWDR_ATTR: + stSnsrAeFunc.pfn_cmos_ae_fswdr_attr_set(ViPipe, (AE_FSWDR_ATTR_S *) cam_parm->arg); + break; + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/comm/CMakeLists.txt b/freertos/cvitek/task/comm/CMakeLists.txt new file mode 100644 index 000000000..8890ed220 --- /dev/null +++ b/freertos/cvitek/task/comm/CMakeLists.txt @@ -0,0 +1,19 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c") + +if (CONFIG_FAST_IMAGE_TYPE STRGREATER "0") +add_compile_definitions(FAST_IMAGE_ENABLE) +endif() + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/spinlock) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/jenc) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) + +add_library(comm STATIC ${_SOURCES}) +install(TARGETS comm DESTINATION lib) + diff --git a/freertos/cvitek/task/comm/include/comm.h b/freertos/cvitek/task/comm/include/comm.h new file mode 100644 index 000000000..83403c674 --- /dev/null +++ b/freertos/cvitek/task/comm/include/comm.h @@ -0,0 +1,26 @@ +#ifndef __COMM_HEADER__ +#define __COMM_HEADER__ + +#include "comm_def.h" + +#ifndef ARRAY_SIZE +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#endif + +extern void prvISPRunTask(void *pvParameters); +extern void prvVcodecRunTask(void *pvParameters); +extern void prvVipRunTask(void *pvParameters); +extern void prvVIRunTask(void *pvParameters); +extern void prvRGNRunTask(void *pvParameters); +extern void prvAudioRunTask(void *pvParameters); +extern void prvCameraRunTask(void *pvParameters); + +QueueHandle_t main_GetMODHandle(QUEUE_HANDLE_E handle_idx); + +/* + * Sensor API + */ +// extern void start_sensor(uint32_t u32SnsId); +extern void start_camera(uint32_t u32SnsId); + +#endif // end of __COMM_HEADER__ diff --git a/freertos/cvitek/task/comm/include/comm_def.h b/freertos/cvitek/task/comm/include/comm_def.h new file mode 100644 index 000000000..5e1cd2b44 --- /dev/null +++ b/freertos/cvitek/task/comm/include/comm_def.h @@ -0,0 +1,21 @@ +#ifndef __COMM_DEF_HEADER__ +#define __COMM_DEF_HEADER__ + +typedef enum _QUEUE_HANDLE_E { + E_QUEUE_ISP, + E_QUEUE_VCODEC, + E_QUEUE_VI, + E_QUEUE_CAMERA, + E_QUEUE_RGN, + E_QUEUE_CMDQU, + E_QUEUE_AUDIO, + E_QUEUE_MAX, +} QUEUE_HANDLE_E; + +#define STOP_CMD_DONE_NONE 0x00 +#define STOP_CMD_DONE_ISP 0x01 +#define STOP_CMD_DONE_VI 0x02 +#define STOP_CMD_DONE_VCODE 0x04 +#define STOP_CMD_DONE_ALL (STOP_CMD_DONE_VI | STOP_CMD_DONE_VCODE) + +#endif // end of __COMM_DEF_HEADER__ diff --git a/freertos/cvitek/task/comm/src/cv1835/comm_main.c b/freertos/cvitek/task/comm/src/cv1835/comm_main.c new file mode 100644 index 000000000..658fbcc65 --- /dev/null +++ b/freertos/cvitek/task/comm/src/cv1835/comm_main.c @@ -0,0 +1,175 @@ +/* Kernel includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "task.h" +#include "semphr.h" +#include "io.h" + +/* Xilinx includes. */ +#include "printf.h" +#include "rtos_queue.h" +#include "rtos_cmdqu.h" +#include "comm.h" + +#define mainQUEUE_LENGTH (1) +#define mainQUEUE_Cmdqu_TASK_PRIORITY (tskIDLE_PRIORITY + 5) +#define mainQUEUE_ISP_TASK_PRIORITY (tskIDLE_PRIORITY + 3) +#define mainQUEUE_Vcodec_TASK_PRIORITY (tskIDLE_PRIORITY + 3) +#define mainQUEUE_Vip_TASK_PRIORITY (tskIDLE_PRIORITY + 3) +#define mainQUEUE_Display_TASK_PRIORITY (tskIDLE_PRIORITY + 3) + +void prvQueueISR(void); +void prvCmdQuRunTask(void *pvParameters); + +QueueHandle_t xQueueIsp; +QueueHandle_t xQueueVcodec; +QueueHandle_t xQueueVip; +QueueHandle_t xQueueDisplay; +QueueHandle_t xQueueCmdqu; + +void main_cvirtos(void) +{ + printf("create cvi task\n"); + /* register prvQueueISR to IPI_8 */ + request_sgirq(8, prvQueueISR, 0, "prvQueueISR"); + xQueueIsp = xQueueCreate(mainQUEUE_LENGTH, sizeof(cmdqu_t)); + xQueueVcodec = xQueueCreate(mainQUEUE_LENGTH, sizeof(cmdqu_t)); + xQueueVip = xQueueCreate(mainQUEUE_LENGTH, sizeof(cmdqu_t)); + xQueueDisplay = xQueueCreate(mainQUEUE_LENGTH, sizeof(cmdqu_t)); + xQueueCmdqu = xQueueCreate(mainQUEUE_LENGTH, sizeof(cmdqu_t)); + + if (xQueueIsp != NULL && xQueueVcodec != NULL && xQueueVip != NULL && + xQueueDisplay != NULL) { + xTaskCreate(prvISPRunTask, "ISP", configMINIMAL_STACK_SIZE, + NULL, mainQUEUE_ISP_TASK_PRIORITY, NULL); + xTaskCreate(prvVcodecRunTask, "Vcodec", + configMINIMAL_STACK_SIZE, NULL, + mainQUEUE_Vcodec_TASK_PRIORITY, NULL); + xTaskCreate(prvVipRunTask, "Vip", configMINIMAL_STACK_SIZE, + NULL, mainQUEUE_Vip_TASK_PRIORITY, NULL); + xTaskCreate(prvDisplayRunTask, "Display", + configMINIMAL_STACK_SIZE, NULL, + mainQUEUE_Display_TASK_PRIORITY, NULL); + xTaskCreate(prvCmdQuRunTask, "CmdQu", configMINIMAL_STACK_SIZE, + NULL, mainQUEUE_Cmdqu_TASK_PRIORITY, NULL); + + /* Start the tasks and timer running. */ + vTaskStartScheduler(); + } +} + +void prvCmdQuRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + struct rtos_shm_t *shm_para = 0x120000000; + cmdqu_t rtos_cmdq; + size_t malloc_addr; + printf("prvCmdQuRunTask run\n"); + + for (;;) { + xQueueReceive(xQueueCmdqu, &rtos_cmdq, portMAX_DELAY); + printf("prvCmdQuRunTask id=%d cmd=%d para=%lx\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id == IP_SYSTEM) { + switch (rtos_cmdq.cmd_id) { + case 0: + /* RTOS init malloc done */ + memory_init(shm_para); + /* RTOS init queue done */ + //queue_init(shm_para); + /* send command to linux */ + queue_enqueue(&shm_para->rtos_cmd_queue, + &rtos_cmdq); + break; + + case 1: + /* RTOS allocate memory */ + malloc_addr = memory_alloc(rtos_cmdq.param_ptr); + rtos_cmdq.param_ptr = malloc_addr; + /* send command to linux */ + queue_enqueue(&shm_para->rtos_cmd_queue, + &rtos_cmdq); + writel(0x10008, 0x1F01F00); + __iowmb(); + break; + + case 2: + /* RTOS free memory */ + memory_free(rtos_cmdq.param_ptr); + /* send command to linux */ + queue_enqueue(&shm_para->rtos_cmd_queue, + &rtos_cmdq); + break; + + default: + break; + } + } else { + /* send command to linux*/ + queue_enqueue(&shm_para->rtos_cmd_queue, &rtos_cmdq); + writel(0x10008, 0x1F01F00); + __iowmb(); + } + rtos_cmdq.ip_id = -1; + } +} + +void prvQueueISR(void) +{ + printf("prvQueueISR\n"); + struct rtos_shm_t *shm_para = 0x120000000; + queue_t *linux_cmd_queue = (queue_t *)&shm_para->linux_cmd_queue; + // printf("buffer =%lx\n", ((unsigned long)shm_para->linux_cmd_queue.queue_buffer)); + // printf("offset =%lx\n", shm_para->virt_phys_offset); + // printf("queue =%lx\n", linux_cmd_queue); + + while (!queue_is_empty(linux_cmd_queue)) { + /* receive command from linux*/ + cmdqu_t *cmdq; + cmdqu_t rtos_cmdq; + cmdq = queue_peek(linux_cmd_queue); + printf("cmdq id = %lx\n", cmdq->ip_id); + printf("cmdq cmd = %lx\n", cmdq->cmd_id); + printf("cmdq param = %lx\n", cmdq->param_ptr); + + rtos_cmdq.ip_id = cmdq->ip_id; + rtos_cmdq.cmd_id = cmdq->cmd_id; + rtos_cmdq.param_ptr = cmdq->param_ptr; + + static int queue_init_done = 0; + /* + * RTOS run queue_init here because need to run init, + * before using queue_dequeue & queue_enqueue function. + */ + if (!queue_init_done) { + queue_init(shm_para); + queue_init_done = 1; + } + + queue_dequeue(linux_cmd_queue); + switch (rtos_cmdq.ip_id) { + case IP_ISP: + //if(!xQueueIsQueueFullFromISR(xQueueIsp)) + xQueueSendFromISR(xQueueIsp, &rtos_cmdq, 0U); + //else + // printf("ISP Queue is full\n"); + break; + case IP_VCODEC: + xQueueSendFromISR(xQueueVcodec, &rtos_cmdq, 0U); + break; + case IP_VIP: + xQueueSendFromISR(xQueueVip, &rtos_cmdq, 0U); + break; + case IP_DISPLAY: + xQueueSendFromISR(xQueueDisplay, &rtos_cmdq, 0U); + break; + case IP_SYSTEM: + xQueueSendFromISR(xQueueCmdqu, &rtos_cmdq, 0U); + break; + default: + break; + } + } +} diff --git a/freertos/cvitek/task/comm/src/riscv64/comm_main.c b/freertos/cvitek/task/comm/src/riscv64/comm_main.c new file mode 100644 index 000000000..70a6b8f22 --- /dev/null +++ b/freertos/cvitek/task/comm/src/riscv64/comm_main.c @@ -0,0 +1,442 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "mmio.h" +#include "delay.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "fast_image.h" +#include "cvi_mailbox.h" +#include "intr_conf.h" +#include "top_reg.h" +#include "memmap.h" + +#include "comm.h" +#include "cvi_spinlock.h" +#include "jenc.h" + +//#define __DEBUG__ + +#ifdef __DEBUG__ +#define debug_printf printf +#else +#define debug_printf(...) +#endif + +extern struct transfer_config_t transfer_config; +struct trace_snapshot_t snapshot; + +typedef struct _TASK_CTX_S { + char name[32]; + u16 stack_size; + UBaseType_t priority; + void (*runTask)(void *pvParameters); + u8 queLength; + QueueHandle_t queHandle; +} TASK_CTX_S; + +/**************************************************************************** + * Function prototypes + ****************************************************************************/ +void prvQueueISR(void); +void prvCmdQuRunTask(void *pvParameters); + +/**************************************************************************** + * Global parameters + ****************************************************************************/ +TASK_CTX_S gTaskCtx[E_QUEUE_MAX] = { + { + .name = "ISP", + .stack_size = configMINIMAL_STACK_SIZE * 8, + .priority = tskIDLE_PRIORITY + 3, +#ifndef FAST_IMAGE_ENABLE + .runTask = NULL, + .queLength = 1, + .queHandle = NULL, +#else + .runTask = prvISPRunTask, + .queLength = 10, + .queHandle = NULL, +#endif + }, + { + .name = "VCODEC", + .stack_size = configMINIMAL_STACK_SIZE, + .priority = tskIDLE_PRIORITY + 3, +#ifndef FAST_IMAGE_ENABLE + .runTask = NULL, + .queLength = 1, + .queHandle = NULL, +#else + .runTask = prvVcodecRunTask, + .queLength = 10, + .queHandle = NULL, +#endif + }, + { + .name = "VI", + .stack_size = configMINIMAL_STACK_SIZE, + .priority = tskIDLE_PRIORITY + 3, +#ifndef FAST_IMAGE_ENABLE + .runTask = NULL, + .queLength = 1, + .queHandle = NULL, +#else + .runTask = prvVIRunTask, + .queLength = 10, + .queHandle = NULL, +#endif + }, + { + .name = "CAMERA", + .stack_size = configMINIMAL_STACK_SIZE, + .priority = tskIDLE_PRIORITY + 3, +#ifndef FAST_IMAGE_ENABLE + .runTask = NULL, + .queLength = 1, + .queHandle = NULL, +#else + .runTask = prvCameraRunTask, + .queLength = 10, + .queHandle = NULL, +#endif + }, + { + .name = "RGN", + .stack_size = configMINIMAL_STACK_SIZE, + .priority = tskIDLE_PRIORITY + 3, + .runTask = prvRGNRunTask, + .queLength = 10, + .queHandle = NULL, + }, + { + .name = "CMDQU", + .stack_size = configMINIMAL_STACK_SIZE, + .priority = tskIDLE_PRIORITY + 5, + .runTask = prvCmdQuRunTask, + .queLength = 30, + .queHandle = NULL, + }, + { + .name = "AUDIO", + .stack_size = configMINIMAL_STACK_SIZE*15, + .priority = tskIDLE_PRIORITY + 3, + .runTask = prvAudioRunTask, + .queLength = 10, + .queHandle = NULL, + }, +}; + +volatile struct mailbox_set_register *mbox_reg; +volatile struct mailbox_done_register *mbox_done_reg; +volatile unsigned long *mailbox_context; // mailbox buffer context is 64 Bytess + +/**************************************************************************** + * Function definitions + ****************************************************************************/ +QueueHandle_t main_GetMODHandle(QUEUE_HANDLE_E handle_idx) +{ + if (handle_idx >= E_QUEUE_MAX) + return NULL; + + return gTaskCtx[handle_idx].queHandle; +} + +void main_create_tasks(void) +{ + u8 i = 0; + +#define TASK_INIT(_idx) \ +do { \ + gTaskCtx[_idx].queHandle = xQueueCreate(gTaskCtx[_idx].queLength, sizeof(cmdqu_t)); \ + if (gTaskCtx[_idx].queHandle != NULL && gTaskCtx[_idx].runTask != NULL) { \ + xTaskCreate(gTaskCtx[_idx].runTask, gTaskCtx[_idx].name, gTaskCtx[_idx].stack_size, \ + NULL, gTaskCtx[_idx].priority, NULL); \ + } \ +} while(0) + + for (; i < ARRAY_SIZE(gTaskCtx); i++) { + TASK_INIT(i); + } +} + +DEFINE_CVI_SPINLOCK(mailbox_lock, SPIN_MBOX); + +void main_cvirtos(void) +{ + printf("create cvi task\n"); + + request_irq(MBOX_INT_C906_2ND, prvQueueISR, 0, "mailbox", (void *)0); + +#ifdef FAST_IMAGE_ENABLE + start_camera(0); +#endif + + main_create_tasks(); + + /* Start the tasks and timer running. */ + vTaskStartScheduler(); + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was either insufficient FreeRTOS heap memory available for the idle + and/or timer tasks to be created, or vTaskStartScheduler() was called from + User mode. See the memory management section on the FreeRTOS web site for + more details on the FreeRTOS heap http://www.freertos.org/a00111.html. The + mode from which main() is called is set in the C start up code and must be + a privileged mode (not user mode). */ + for (;;) + ; +} + +#ifdef FAST_IMAGE_ENABLE +extern JPEG_PIC encoded_pics[MAX_JPEG_NUM]; +#endif +void prvCmdQuRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + cmdqu_t rtos_cmdq; + cmdqu_t *cmdq; + cmdqu_t *rtos_cmdqu_t; + static int stop_ip = 0; + int ret = 0; + int flags; + int valid; + int send_to_cpu = SEND_TO_CPU1; + + unsigned int reg_base = MAILBOX_REG_BASE; + + /* set mcu_status to type1 running*/ + transfer_config.mcu_status = MCU_STATUS_RTOS_T1_RUNNING; + + if (transfer_config.conf_magic == C906_MAGIC_HEADER) + send_to_cpu = SEND_TO_CPU1; + else if (transfer_config.conf_magic == CA53_MAGIC_HEADER) + send_to_cpu = SEND_TO_CPU0; + /* to compatible code with linux side */ + cmdq = &rtos_cmdq; + mbox_reg = (struct mailbox_set_register *) reg_base; + mbox_done_reg = (struct mailbox_done_register *) (reg_base + 2); + mailbox_context = (unsigned long *) (MAILBOX_REG_BUFF); + + cvi_spinlock_init(); + printf("prvCmdQuRunTask run\n"); + + for (;;) { + xQueueReceive(gTaskCtx[E_QUEUE_CMDQU].queHandle, &rtos_cmdq, portMAX_DELAY); + + switch (rtos_cmdq.cmd_id) { +#if ( configUSE_TRACE_FACILITY == 1 ) + case SYS_CMD_INFO_TRACE_SNAPSHOT_START: + debug_printf("SYS_CMD_INFO_TRACE_SNAPSHOT_START\n"); + vTraceEnable(TRC_START); + break; + case SYS_CMD_INFO_TRACE_SNAPSHOT_STOP: + snapshot.ptr = xTraceGetTraceBuffer(); + snapshot.size = uiTraceGetTraceBufferSize(); + snapshot.type = 0; + rtos_cmdq.param_ptr = &snapshot; + vTraceStop(); + flush_dcache_range(&snapshot, sizeof (struct trace_snapshot_t)); + flush_dcache_range(snapshot.ptr, snapshot.size); + debug_printf("SYS_CMD_INFO_TRACE_SNAPSHOT_STOP PA =%lx\n", &snapshot); + debug_printf("SYS_CMD_INFO_TRACE_SNAPSHOT_STOP ptr =%lx\n", snapshot.ptr); + debug_printf("SYS_CMD_INFO_TRACE_SNAPSHOT_STOP size =%lx\n", snapshot.size); + goto send_label; + break; +#endif + case SYS_CMD_INFO_DUMP_JPG: + if (rtos_cmdq.param_ptr >= MAX_JPEG_NUM) { + printf("SYS_CMD_INFO_DUMP_JPG idx = %d, set idx to 0\n", rtos_cmdq.param_ptr); + rtos_cmdq.param_ptr = 0; + } + #ifdef FAST_IMAGE_ENABLE + rtos_cmdq.param_ptr = &encoded_pics[rtos_cmdq.param_ptr]; + #else + rtos_cmdq.param_ptr = 0x0; + #endif + goto send_label; + break; + case SYS_CMD_INFO_DUMP_EN: + dump_uart_enable(); + break; + case SYS_CMD_INFO_DUMP_DIS: + dump_uart_disable(); + break; + case SYS_CMD_INFO_DUMP_MSG: + /* SYS_CMD_INFO_DUMP_MSG is block mode*/ + rtos_cmdq.cmd_id = SYS_CMD_INFO_DUMP_MSG; + rtos_cmdq.param_ptr = (unsigned int) dump_uart_msg(); + goto send_label; + break; + case SYS_CMD_INFO_LINUX_INIT_DONE: + rtos_cmdq.cmd_id = SYS_CMD_INFO_RTOS_INIT_DONE; + rtos_cmdq.param_ptr = &transfer_config; + goto send_label; + break; + case SYS_CMD_INFO_STOP_ISR: + stop_ip = 0; + rtos_cmdq.cmd_id = SYS_CMD_INFO_STOP_ISR; + rtos_cmdq.ip_id = IP_VI; + xQueueSend(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, 0U); + break; + case SYS_CMD_INFO_STOP_ISR_DONE: + // stop interrupt in order to avoid losing frame + if (rtos_cmdq.ip_id == IP_VI) { + stop_ip |= STOP_CMD_DONE_VI; + rtos_cmdq.ip_id = IP_VCODEC; + rtos_cmdq.cmd_id = SYS_CMD_INFO_STOP_ISR; + xQueueSend(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, 0U); + break; + } + if (rtos_cmdq.ip_id == IP_VCODEC) + stop_ip |= STOP_CMD_DONE_VCODE; + if (stop_ip != STOP_CMD_DONE_ALL) + break; + else { + // all isr of ip is disabled, and send msg back to linux + rtos_cmdq.ip_id = IP_SYSTEM; + } + case SYS_CMD_INFO_LINUX: + default: +send_label: + /* used to send command to linux*/ + rtos_cmdqu_t = (cmdqu_t *) mailbox_context; + + debug_printf("RTOS_CMDQU_SEND\n"); + debug_printf("ip_id=%d cmd_id=%d param_ptr=%x\n", cmdq->ip_id, cmdq->cmd_id, (unsigned int)cmdq->param_ptr); + debug_printf("mailbox_context = %x\n", mailbox_context); + debug_printf("linux_cmdqu_t = %x\n", rtos_cmdqu_t); + debug_printf("cmdq->ip_id = %d\n", cmdq->ip_id); + debug_printf("cmdq->cmd_id = %d\n", cmdq->cmd_id); + debug_printf("cmdq->block = %d\n", cmdq->block); + debug_printf("cmdq->para_ptr = %x\n", cmdq->param_ptr); + + drv_spin_lock_irqsave(&mailbox_lock, flags); + if (flags == MAILBOX_LOCK_FAILED) { + printf("[%s][%d] drv_spin_lock_irqsave failed! ip_id = %d , cmd_id = %d\n" , cmdq->ip_id , cmdq->cmd_id); + break; + } + + for (valid = 0; valid < MAILBOX_MAX_NUM; valid++) { + if (rtos_cmdqu_t->resv.valid.linux_valid == 0 && rtos_cmdqu_t->resv.valid.rtos_valid == 0) { + // mailbox buffer context is 4 bytes write access + int *ptr = (int *)rtos_cmdqu_t; + + cmdq->resv.valid.rtos_valid = 1; + *ptr = ((cmdq->ip_id << 0) | (cmdq->cmd_id << 8) | (cmdq->block << 15) | + (cmdq->resv.valid.linux_valid << 16) | + (cmdq->resv.valid.rtos_valid << 24)); + rtos_cmdqu_t->param_ptr = cmdq->param_ptr; + debug_printf("rtos_cmdqu_t->linux_valid = %d\n", rtos_cmdqu_t->resv.valid.linux_valid); + debug_printf("rtos_cmdqu_t->rtos_valid = %d\n", rtos_cmdqu_t->resv.valid.rtos_valid); + debug_printf("rtos_cmdqu_t->ip_id =%x %d\n", &rtos_cmdqu_t->ip_id, rtos_cmdqu_t->ip_id); + debug_printf("rtos_cmdqu_t->cmd_id = %d\n", rtos_cmdqu_t->cmd_id); + debug_printf("rtos_cmdqu_t->block = %d\n", rtos_cmdqu_t->block); + debug_printf("rtos_cmdqu_t->param_ptr addr=%x %x\n", &rtos_cmdqu_t->param_ptr, rtos_cmdqu_t->param_ptr); + debug_printf("*ptr = %x\n", *ptr); + // clear mailbox + mbox_reg->cpu_mbox_set[send_to_cpu].cpu_mbox_int_clr.mbox_int_clr = (1 << valid); + // trigger mailbox valid to rtos + mbox_reg->cpu_mbox_en[send_to_cpu].mbox_info |= (1 << valid); + mbox_reg->mbox_set.mbox_set = (1 << valid); + break; + } + rtos_cmdqu_t++; + } + drv_spin_unlock_irqrestore(&mailbox_lock, flags); + if (valid >= MAILBOX_MAX_NUM) { + printf("No valid mailbox is available\n"); + return -1; + } + break; + } + } +} + +void prvQueueISR(void) +{ + //printf("prvQueueISR\n"); + + unsigned char set_val; +// unsigned char done_val; + unsigned char valid_val; + int i; + cmdqu_t *cmdq; + BaseType_t YieldRequired = pdFALSE; + + set_val = mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + /* Now, we do not implement info back feature */ + // done_val = mbox_done_reg->cpu_mbox_done[RECEIVE_CPU].cpu_mbox_int_int.mbox_int; + + if (set_val) { + for(i = 0; i < MAILBOX_MAX_NUM; i++) { + valid_val = set_val & (1 << i); + + if (valid_val) { + cmdqu_t rtos_cmdq; + cmdq = (cmdqu_t *)(mailbox_context) + i; + + debug_printf("mailbox_context =%x\n", mailbox_context); + debug_printf("sizeof mailbox_context =%x\n", sizeof(cmdqu_t)); + /* mailbox buffer context is send from linux, clear mailbox interrupt */ + mbox_reg->cpu_mbox_set[RECEIVE_CPU].cpu_mbox_int_clr.mbox_int_clr = valid_val; + // need to disable enable bit + mbox_reg->cpu_mbox_en[RECEIVE_CPU].mbox_info &= ~valid_val; + + // copy cmdq context (8 bytes) to buffer ASAP + *((unsigned long *) &rtos_cmdq) = *((unsigned long *)cmdq); + /* need to clear mailbox interrupt before clear mailbox buffer */ + *((unsigned long*) cmdq) = 0; + + /* mailbox buffer context is send from linux*/ + if (rtos_cmdq.resv.valid.linux_valid == 1) { + debug_printf("cmdq=%x\n", cmdq); + debug_printf("cmdq->ip_id =%d\n", rtos_cmdq.ip_id); + debug_printf("cmdq->cmd_id =%d\n", rtos_cmdq.cmd_id); + debug_printf("cmdq->param_ptr =%x\n", rtos_cmdq.param_ptr); + debug_printf("cmdq->block =%x\n", rtos_cmdq.block); + debug_printf("cmdq->linux_valid =%d\n", rtos_cmdq.resv.valid.linux_valid); + debug_printf("cmdq->rtos_valid =%x\n", rtos_cmdq.resv.valid.rtos_valid); + switch (rtos_cmdq.ip_id) { + case IP_ISP: + xQueueSendFromISR(gTaskCtx[E_QUEUE_ISP].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_VCODEC: + xQueueSendFromISR(gTaskCtx[E_QUEUE_VCODEC].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_VI: + xQueueSendFromISR(gTaskCtx[E_QUEUE_VI].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_RGN: + xQueueSendFromISR(gTaskCtx[E_QUEUE_RGN].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_AUDIO: + xQueueSendFromISR(gTaskCtx[E_QUEUE_AUDIO].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_SYSTEM: + xQueueSendFromISR(gTaskCtx[E_QUEUE_CMDQU].queHandle, &rtos_cmdq, &YieldRequired); + break; + case IP_CAMERA: + xQueueSendFromISR(gTaskCtx[E_QUEUE_CAMERA].queHandle, &rtos_cmdq, &YieldRequired); + break; + default: + printf("unknown ip_id =%d cmd_id=%d\n", rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + break; + } + portYIELD_FROM_ISR(YieldRequired); + } else + printf("rtos cmdq is not valid %d, ip=%d , cmd=%d\n", + rtos_cmdq.resv.valid.rtos_valid, rtos_cmdq.ip_id, rtos_cmdq.cmd_id); + } + } + } +} diff --git a/freertos/cvitek/task/demo/Blinky_Demo/CMakeLists.txt b/freertos/cvitek/task/demo/Blinky_Demo/CMakeLists.txt new file mode 100644 index 000000000..c87d4a7cd --- /dev/null +++ b/freertos/cvitek/task/demo/Blinky_Demo/CMakeLists.txt @@ -0,0 +1,13 @@ +file(GLOB _SOURCES "*.c") + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__BUILD_RTOS_KERNEL__") + +include_directories(src) +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) + +add_library(demo STATIC ${_SOURCES}) +install(TARGETS demo DESTINATION lib) + diff --git a/freertos/cvitek/task/demo/Blinky_Demo/main_blinky.c b/freertos/cvitek/task/demo/Blinky_Demo/main_blinky.c new file mode 100644 index 000000000..6039e4274 --- /dev/null +++ b/freertos/cvitek/task/demo/Blinky_Demo/main_blinky.c @@ -0,0 +1,187 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * NOTE 1: This project provides two demo applications. A simple blinky + * style project, and a more comprehensive test and demo application. The + * RUN_TYPE in build.sh setting in main.c is used to select between the two. + * See the notes on using RUN_TYPE in build.sh where it is defined below. + * + * NOTE 2: This file only contains the source code that is not specific to + * either the simply blinky or full demos - this includes initialisation code + * and callback functions. + * + * NOTE 3: This project builds the FreeRTOS source code, so is expecting the + * BSP project to be configured as a 'standalone' bsp project rather than a + * 'FreeRTOS' bsp project. However the BSP project MUST still be build with + * the FREERTOS_BSP symbol defined (-DFREERTOS_BSP must be added to the + * command line in the BSP configuration). + ****************************************************************************** + * + * main_blinky() creates one queue, and two tasks. It then starts the + * scheduler. + * + * The Queue Send Task: + * The queue send task is implemented by the prvQueueSendTask() function in + * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly + * block for 200 milliseconds, before sending the value 100 to the queue that + * was created within main_blinky(). Once the value is sent, the task loops + * back around to block for another 200 milliseconds...and so on. + * + * The Queue Receive Task: + * The queue receive task is implemented by the prvQueueReceiveTask() function + * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly + * blocks on attempts to read data from the queue that was created within + * main_blinky(). When data is received, the task checks the value of the + * data, and if the value equals the expected 100, outputs a message to the + * UART. The 'block time' parameter passed to the queue receive function + * specifies that the task should be held in the Blocked state indefinitely to + * wait for data to be available on the queue. The queue receive task will only + * leave the Blocked state when the queue send task writes to the queue. As the + * queue send task writes to the queue every 200 milliseconds, the queue receive + * task leaves the Blocked state every 200 milliseconds, and therefore outputs + * a message every 200 milliseconds. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Xilinx includes. */ +#include "printf.h" +/* Priorities at which the tasks are created. */ +#define mainQUEUE_RECEIVE_TASK_PRIORITY (tskIDLE_PRIORITY + 2) +#define mainQUEUE_SEND_TASK_PRIORITY (tskIDLE_PRIORITY + 1) + +/* The rate at which data is sent to the queue. The 200ms value is converted +to ticks using the portTICK_PERIOD_MS constant. */ +#define mainQUEUE_SEND_FREQUENCY_MS pdMS_TO_TICKS(5000) + +/* The number of items the queue can hold. This is 1 as the receive task +will remove items as they are added, meaning the send task should always find +the queue empty. */ +#define mainQUEUE_LENGTH (1) + +/*-----------------------------------------------------------*/ + +/* + * The tasks as described in the comments at the top of this file. + */ +static void prvQueueReceiveTask(void *pvParameters); +static void prvQueueSendTask(void *pvParameters); + +/*-----------------------------------------------------------*/ + +/* The queue used by both tasks. */ +static QueueHandle_t xQueue = NULL; + +/*-----------------------------------------------------------*/ + +void main_blinky(void) +{ + /* Create the queue. */ + xQueue = xQueueCreate(mainQUEUE_LENGTH, sizeof(uint32_t)); + + if (xQueue != NULL) { + /* Start the two tasks as described in the comments at the top of this + file. */ + xTaskCreate( + prvQueueReceiveTask, /* The function that implements the task. */ + "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ + configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */ + NULL, /* The parameter passed to the task - not used in this case. */ + mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */ + NULL); /* The task handle is not required, so NULL is passed. */ + + xTaskCreate(prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, + NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL); + + /* Start the tasks and timer running. */ + vTaskStartScheduler(); + } + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was either insufficient FreeRTOS heap memory available for the idle + and/or timer tasks to be created, or vTaskStartScheduler() was called from + User mode. See the memory management section on the FreeRTOS web site for + more details on the FreeRTOS heap http://www.freertos.org/a00111.html. The + mode from which main() is called is set in the C start up code and must be + a privileged mode (not user mode). */ + for (;;) + ; +} + +/*-----------------------------------------------------------*/ +static void prvQueueSendTask(void *pvParameters) +{ + TickType_t xNextWakeTime; + const uint32_t ulValueToSend = 100UL; + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + /* Initialise xNextWakeTime - this only needs to be done once. */ + xNextWakeTime = xTaskGetTickCount(); + + for (;;) { + /* Place this task in the blocked state until it is time to run again. */ + vTaskDelayUntil(&xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS); + + /* Send to the queue - causing the queue receive task to unblock and + toggle the LED. 0 is used as the block time so the sending operation + will not block - it shouldn't need to block as the queue should always + be empty at this point in the code. */ + xQueueSend(xQueue, &ulValueToSend, 0U); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask(void *pvParameters) +{ + uint32_t ulReceivedValue; + const uint32_t ulExpectedValue = 100UL; + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + for (;;) { + /* Wait until something arrives in the queue - this task will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive(xQueue, &ulReceivedValue, portMAX_DELAY); + + /* To get here something must have been received from the queue, but is + it the expected value? If it is, toggle the LED. */ + if (ulReceivedValue == ulExpectedValue) { + printf("100 received\r\n"); + ulReceivedValue = 0U; + } + } +} +/*-----------------------------------------------------------*/ diff --git a/freertos/cvitek/task/demo/Common/Minimal/AbortDelay.c b/freertos/cvitek/task/demo/Common/Minimal/AbortDelay.c new file mode 100644 index 000000000..542b4a412 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/AbortDelay.c @@ -0,0 +1,760 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This file contains some test scenarios that ensure tasks respond correctly + * to xTaskAbortDelay() calls. It also ensures tasks return the correct state + * of eBlocked when blocked indefinitely in both the case where a task is + * blocked on an object and when a task is blocked on a notification. + */ + +/* Standard includes. */ +#include "limits.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" +#include "event_groups.h" +#include "stream_buffer.h" + +/* Demo includes. */ +#include "AbortDelay.h" + +/* This file can only be used if the functionality it tests is included in the +build. Remove the whole file if this is not the case. */ +#if (INCLUDE_xTaskAbortDelay == 1) + +#if (INCLUDE_xTaskGetHandle != 1) +#error This test file uses the xTaskGetHandle() API function so INCLUDE_xTaskGetHandle must be set to 1 in FreeRTOSConfig.h. +#endif + +/* Task priorities. Allow these to be overridden. */ +#ifndef abtCONTROLLING_PRIORITY +#define abtCONTROLLING_PRIORITY (configMAX_PRIORITIES - 3) +#endif + +#ifndef abtBLOCKING_PRIORITY +#define abtBLOCKING_PRIORITY (configMAX_PRIORITIES - 2) +#endif + +/* The tests that are performed. */ +#define abtNOTIFY_WAIT_ABORTS 0 +#define abtNOTIFY_TAKE_ABORTS 1 +#define abtDELAY_ABORTS 2 +#define abtDELAY_UNTIL_ABORTS 3 +#define abtSEMAPHORE_TAKE_ABORTS 4 +#define abtEVENT_GROUP_ABORTS 5 +#define abtQUEUE_SEND_ABORTS 6 +#define abtSTREAM_BUFFER_RECEIVE 7 +#define abtMAX_TESTS 8 + +/*-----------------------------------------------------------*/ + +/* + * The two test tasks. The controlling task specifies which test to executed. + * More information is provided in the comments within the tasks. + */ +static void prvControllingTask(void *pvParameters); +static void prvBlockingTask(void *pvParameters); + +/* + * Test functions called by the blocking task. Each function follows the same + * pattern, but the way the task blocks is different in each case. + * + * In each function three blocking calls are made. The first and third + * blocking call is expected to time out, while the middle blocking call is + * expected to be aborted by the controlling task half way through the block + * time. + */ +static void prvTestAbortingTaskNotifyWait(void); +static void prvTestAbortingTaskNotifyTake(void); +static void prvTestAbortingTaskDelay(void); +static void prvTestAbortingTaskDelayUntil(void); +static void prvTestAbortingSemaphoreTake(void); +static void prvTestAbortingEventGroupWait(void); +static void prvTestAbortingQueueSend(void); +static void prvTestAbortingStreamBufferReceive(void); + +/* + * Performs a few tests to cover code paths not otherwise covered by the continuous + * tests. + */ +static void prvPerformSingleTaskTests(void); + +/* + * Checks the amount of time a task spent in the Blocked state is within the + * expected bounds. + */ +static void +prvCheckExpectedTimeIsWithinAnAcceptableMargin(TickType_t xStartTime, + TickType_t xExpectedBlockTime); + +/*-----------------------------------------------------------*/ + +/* Used to ensure that tasks are still executing without error. */ +static volatile BaseType_t xControllingCycles = 0, xBlockingCycles = 0; +static volatile BaseType_t xErrorOccurred = pdFALSE; + +/* Each task needs to know the other tasks handle so they can send signals to +each other. The handle is obtained from the task's name. */ +static const char *pcControllingTaskName = "AbtCtrl", + *pcBlockingTaskName = "AbtBlk"; + +/* The maximum amount of time a task will block for. */ +const TickType_t xMaxBlockTime = pdMS_TO_TICKS(100); +const TickType_t xHalfMaxBlockTime = pdMS_TO_TICKS(50); + +/* The actual block time is dependent on the priority of other tasks in the +system so the actual block time might be greater than that expected, but it +should be within an acceptable upper bound. */ +const TickType_t xAllowableMargin = pdMS_TO_TICKS(28); + +/*-----------------------------------------------------------*/ + +void vCreateAbortDelayTasks(void) +{ + /* Create the two test tasks described above. */ + xTaskCreate(prvControllingTask, pcControllingTaskName, + configMINIMAL_STACK_SIZE, NULL, abtCONTROLLING_PRIORITY, + NULL); + xTaskCreate(prvBlockingTask, pcBlockingTaskName, + configMINIMAL_STACK_SIZE, NULL, abtBLOCKING_PRIORITY, NULL); +} +/*-----------------------------------------------------------*/ + +static void prvControllingTask(void *pvParameters) +{ + TaskHandle_t xBlockingTask; + uint32_t ulTestToPerform = abtNOTIFY_WAIT_ABORTS; + TickType_t xTimeAtStart; + const TickType_t xStartMargin = 2UL; + + /* Just to remove compiler warnings. */ + (void)pvParameters; + + xBlockingTask = xTaskGetHandle(pcBlockingTaskName); + configASSERT(xBlockingTask); + + for (;;) { + /* Tell the secondary task to perform the next test. */ + xTimeAtStart = xTaskGetTickCount(); + xTaskNotify(xBlockingTask, ulTestToPerform, + eSetValueWithOverwrite); + + /* The secondary task has a higher priority, so will now be in the + Blocked state to wait for a maximum of xMaxBlockTime. It expects that + period to complete with a timeout. It will then block for + xMaxBlockTimeAgain, but this time it expects to the block time to abort + half way through. Block until it is time to send the abort to the + secondary task. xStartMargin is used because this task takes timing + from the beginning of the test, whereas the blocking task takes timing + from the entry into the Blocked state - and as the tasks run at + different priorities, there may be some discrepancy. Also, temporarily + raise the priority of the controlling task to that of the blocking + task to minimise discrepancies. */ + vTaskPrioritySet(NULL, abtBLOCKING_PRIORITY); + vTaskDelay(xMaxBlockTime + xHalfMaxBlockTime + xStartMargin); + if (xTaskAbortDelay(xBlockingTask) != pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Reset the priority to the normal controlling priority. */ + vTaskPrioritySet(NULL, abtCONTROLLING_PRIORITY); + + /* Now wait to be notified that the secondary task has completed its + test. */ + ulTaskNotifyTake(pdTRUE, portMAX_DELAY); + + /* Did the entire test run for the expected time, which is two full + block times plus the half block time caused by calling + xTaskAbortDelay()? */ + prvCheckExpectedTimeIsWithinAnAcceptableMargin( + xTimeAtStart, + (xMaxBlockTime + xMaxBlockTime + xHalfMaxBlockTime)); + + /* Move onto the next test. */ + ulTestToPerform++; + + if (ulTestToPerform >= abtMAX_TESTS) { + ulTestToPerform = 0; + } + + /* To indicate this task is still executing. */ + xControllingCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void prvBlockingTask(void *pvParameters) +{ + TaskHandle_t xControllingTask; + uint32_t ulNotificationValue; + const uint32_t ulMax = 0xffffffffUL; + + /* Just to remove compiler warnings. */ + (void)pvParameters; + + /* Start by performing a few tests to cover code not exercised in the loops + below. */ + prvPerformSingleTaskTests(); + + xControllingTask = xTaskGetHandle(pcControllingTaskName); + configASSERT(xControllingTask); + + for (;;) { + /* Wait to be notified of the test that is to be performed next. */ + xTaskNotifyWait(0, ulMax, &ulNotificationValue, portMAX_DELAY); + + switch (ulNotificationValue) { + case abtNOTIFY_WAIT_ABORTS: + prvTestAbortingTaskNotifyWait(); + break; + + case abtNOTIFY_TAKE_ABORTS: + prvTestAbortingTaskNotifyTake(); + break; + + case abtDELAY_ABORTS: + prvTestAbortingTaskDelay(); + break; + + case abtDELAY_UNTIL_ABORTS: + prvTestAbortingTaskDelayUntil(); + break; + + case abtSEMAPHORE_TAKE_ABORTS: + prvTestAbortingSemaphoreTake(); + break; + + case abtEVENT_GROUP_ABORTS: + prvTestAbortingEventGroupWait(); + break; + + case abtQUEUE_SEND_ABORTS: + prvTestAbortingQueueSend(); + break; + + case abtSTREAM_BUFFER_RECEIVE: + prvTestAbortingStreamBufferReceive(); + break; + + default: + /* Should not get here. */ + break; + } + + /* Let the primary task know the test is complete. */ + xTaskNotifyGive(xControllingTask); + + /* To indicate this task is still executing. */ + xBlockingCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void prvPerformSingleTaskTests(void) +{ + TaskHandle_t xThisTask; + BaseType_t xReturned; + + /* Try unblocking this task using both the task and ISR versions of the API - + both should return false as this task is not blocked. */ + xThisTask = xTaskGetCurrentTaskHandle(); + + xReturned = xTaskAbortDelay(xThisTask); + if (xReturned != pdFALSE) { + xErrorOccurred = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingTaskDelayUntil(void) +{ + TickType_t xTimeAtStart, xLastBlockTime; + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* Take a copy of the time as it is updated in the call to + vTaskDelayUntil() but its original value is needed to determine the actual + time spend in the Blocked state. */ + xLastBlockTime = xTimeAtStart; + + /* This first delay should just time out. */ + vTaskDelayUntil(&xLastBlockTime, xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* This second delay should be aborted by the primary task half way + through. Again take a copy of the time as it is updated in the call to + vTaskDelayUntil() buts its original value is needed to determine the amount + of time actually spent in the Blocked state. */ + xTimeAtStart = xTaskGetTickCount(); + xLastBlockTime = xTimeAtStart; + vTaskDelayUntil(&xLastBlockTime, xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* As with the other tests, the third block period should not time out. */ + xTimeAtStart = xTaskGetTickCount(); + xLastBlockTime = xTimeAtStart; + vTaskDelayUntil(&xLastBlockTime, xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingTaskDelay(void) +{ + TickType_t xTimeAtStart; + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + vTaskDelay(xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through. */ + vTaskDelay(xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + vTaskDelay(xMaxBlockTime); + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingTaskNotifyTake(void) +{ + TickType_t xTimeAtStart; + uint32_t ulReturn; + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + ulReturn = ulTaskNotifyTake(pdFALSE, xMaxBlockTime); + if (ulReturn != 0) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through. */ + ulReturn = ulTaskNotifyTake(pdFALSE, xMaxBlockTime); + if (ulReturn != 0) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + ulReturn = ulTaskNotifyTake(pdFALSE, xMaxBlockTime); + if (ulReturn != 0) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingEventGroupWait(void) +{ + TickType_t xTimeAtStart; + EventGroupHandle_t xEventGroup; + EventBits_t xBitsToWaitFor = (EventBits_t)0x01, xReturn; + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + static StaticEventGroup_t xEventGroupBuffer; + + /* Create the event group. Statically allocated memory is used so the + creation cannot fail. */ + xEventGroup = xEventGroupCreateStatic(&xEventGroupBuffer); + } +#else + { + xEventGroup = xEventGroupCreate(); + configASSERT(xEventGroup); + } +#endif + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + xReturn = xEventGroupWaitBits(xEventGroup, xBitsToWaitFor, pdTRUE, + pdTRUE, xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through. */ + xReturn = xEventGroupWaitBits(xEventGroup, xBitsToWaitFor, pdTRUE, + pdTRUE, xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + xReturn = xEventGroupWaitBits(xEventGroup, xBitsToWaitFor, pdTRUE, + pdTRUE, xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Not really necessary in this case, but for completeness. */ + vEventGroupDelete(xEventGroup); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingStreamBufferReceive(void) +{ + TickType_t xTimeAtStart; + StreamBufferHandle_t xStreamBuffer; + size_t xReturn; + const size_t xTriggerLevelBytes = (size_t)1; + uint8_t uxRxData; + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + /* Defines the memory that will actually hold the streams within the + stream buffer. */ + static uint8_t ucStorageBuffer + [sizeof(configMESSAGE_BUFFER_LENGTH_TYPE) + 1]; + + /* The variable used to hold the stream buffer structure. */ + StaticStreamBuffer_t xStreamBufferStruct; + + xStreamBuffer = xStreamBufferCreateStatic( + sizeof(ucStorageBuffer), xTriggerLevelBytes, + ucStorageBuffer, &xStreamBufferStruct); + } +#else + { + xStreamBuffer = xStreamBufferCreate(sizeof(uint8_t), + xTriggerLevelBytes); + configASSERT(xStreamBuffer); + } +#endif + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + xReturn = xStreamBufferReceive(xStreamBuffer, &uxRxData, + sizeof(uxRxData), xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through xMaxBlockTime. */ + xReturn = xStreamBufferReceive(xStreamBuffer, &uxRxData, + sizeof(uxRxData), xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + xReturn = xStreamBufferReceive(xStreamBuffer, &uxRxData, + sizeof(uxRxData), xMaxBlockTime); + if (xReturn != 0x00) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Not really necessary in this case, but for completeness. */ + vStreamBufferDelete(xStreamBuffer); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingQueueSend(void) +{ + TickType_t xTimeAtStart; + BaseType_t xReturn; + const UBaseType_t xQueueLength = (UBaseType_t)1; + QueueHandle_t xQueue; + uint8_t ucItemToQueue; + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + static StaticQueue_t xQueueBuffer; + static uint8_t ucQueueStorage[sizeof(uint8_t)]; + + /* Create the queue. Statically allocated memory is used so the + creation cannot fail. */ + xQueue = xQueueCreateStatic(xQueueLength, sizeof(uint8_t), + ucQueueStorage, &xQueueBuffer); + } +#else + { + xQueue = xQueueCreate(xQueueLength, sizeof(uint8_t)); + configASSERT(xQueue); + } +#endif + + /* This function tests aborting when in the blocked state waiting to send, + so the queue must be full. There is only one space in the queue. */ + xReturn = xQueueSend(xQueue, &ucItemToQueue, xMaxBlockTime); + if (xReturn != pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + xReturn = xQueueSend(xQueue, &ucItemToQueue, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through. */ + xReturn = xQueueSend(xQueue, &ucItemToQueue, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + xReturn = xQueueSend(xQueue, &ucItemToQueue, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Not really necessary in this case, but for completeness. */ + vQueueDelete(xQueue); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingSemaphoreTake(void) +{ + TickType_t xTimeAtStart; + BaseType_t xReturn; + SemaphoreHandle_t xSemaphore; + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + static StaticSemaphore_t xSemaphoreBuffer; + + /* Create the semaphore. Statically allocated memory is used so the + creation cannot fail. */ + xSemaphore = xSemaphoreCreateBinaryStatic(&xSemaphoreBuffer); + } +#else + { + xSemaphore = xSemaphoreCreateBinary(); + } +#endif + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + xReturn = xSemaphoreTake(xSemaphore, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through xMaxBlockTime. */ + xReturn = xSemaphoreTake(xSemaphore, portMAX_DELAY); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + xReturn = xSemaphoreTake(xSemaphore, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Not really necessary in this case, but for completeness. */ + vSemaphoreDelete(xSemaphore); +} +/*-----------------------------------------------------------*/ + +static void prvTestAbortingTaskNotifyWait(void) +{ + TickType_t xTimeAtStart; + BaseType_t xReturn; + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This first delay should just time out. */ + xReturn = xTaskNotifyWait(0, 0, NULL, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This second delay should be aborted by the primary task half way + through xMaxBlockTime. */ + xReturn = xTaskNotifyWait(0, 0, NULL, portMAX_DELAY); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xHalfMaxBlockTime); + + /* Note the time before the delay so the length of the delay is known. */ + xTimeAtStart = xTaskGetTickCount(); + + /* This third delay should just time out again. */ + xReturn = xTaskNotifyWait(0, 0, NULL, xMaxBlockTime); + if (xReturn != pdFALSE) { + xErrorOccurred = pdTRUE; + } + prvCheckExpectedTimeIsWithinAnAcceptableMargin(xTimeAtStart, + xMaxBlockTime); +} +/*-----------------------------------------------------------*/ + +static void +prvCheckExpectedTimeIsWithinAnAcceptableMargin(TickType_t xStartTime, + TickType_t xExpectedBlockTime) +{ + TickType_t xTimeNow, xActualBlockTime; + + xTimeNow = xTaskGetTickCount(); + xActualBlockTime = xTimeNow - xStartTime; + + /* The actual block time should not be less than the expected block time. */ + if (xActualBlockTime < xExpectedBlockTime) { + xErrorOccurred = pdTRUE; + } + + /* The actual block time can be greater than the expected block time, as it + depends on the priority of the other tasks, but it should be within an + acceptable margin. */ + if (xActualBlockTime > (xExpectedBlockTime + xAllowableMargin)) { + xErrorOccurred = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreAbortDelayTestTasksStillRunning(void) +{ + static BaseType_t xLastControllingCycleCount = 0, + xLastBlockingCycleCount = 0; + BaseType_t xReturn = pdPASS; + + /* Have both tasks performed at least one cycle since this function was + last called? */ + if (xControllingCycles == xLastControllingCycleCount) { + xReturn = pdFAIL; + } + + if (xBlockingCycles == xLastBlockingCycleCount) { + xReturn = pdFAIL; + } + + if (xErrorOccurred == pdTRUE) { + xReturn = pdFAIL; + } + + xLastBlockingCycleCount = xBlockingCycles; + xLastControllingCycleCount = xControllingCycles; + + return xReturn; +} + +#endif /* INCLUDE_xTaskAbortDelay == 1 */ diff --git a/freertos/cvitek/task/demo/Common/Minimal/BlockQ.c b/freertos/cvitek/task/demo/Common/Minimal/BlockQ.c new file mode 100644 index 000000000..f85959363 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/BlockQ.c @@ -0,0 +1,297 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates six tasks that operate on three queues as follows: + * + * The first two tasks send and receive an incrementing number to/from a queue. + * One task acts as a producer and the other as the consumer. The consumer is a + * higher priority than the producer and is set to block on queue reads. The queue + * only has space for one item - as soon as the producer posts a message on the + * queue the consumer will unblock, pre-empt the producer, and remove the item. + * + * The second two tasks work the other way around. Again the queue used only has + * enough space for one item. This time the consumer has a lower priority than the + * producer. The producer will try to post on the queue blocking when the queue is + * full. When the consumer wakes it will remove the item from the queue, causing + * the producer to unblock, pre-empt the consumer, and immediately re-fill the + * queue. + * + * The last two tasks use the same queue producer and consumer functions. This time the queue has + * enough space for lots of items and the tasks operate at the same priority. The + * producer will execute, placing items into the queue. The consumer will start + * executing when either the queue becomes full (causing the producer to block) or + * a context switch occurs (tasks of the same priority will time slice). + * + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo program include files. */ +#include "BlockQ.h" + +#define blckqSTACK_SIZE configMINIMAL_STACK_SIZE +#define blckqNUM_TASK_SETS (3) + +#if (configSUPPORT_DYNAMIC_ALLOCATION == 0) +#error This example cannot be used if dynamic allocation is not allowed. +#endif + +/* Structure used to pass parameters to the blocking queue tasks. */ +typedef struct BLOCKING_QUEUE_PARAMETERS { + QueueHandle_t xQueue; /*< The queue to be used by the task. */ + TickType_t xBlockTime; /*< The block time to use on queue reads/writes. */ + volatile short * + psCheckVariable; /*< Incremented on each successful cycle to check the task is still running. */ +} xBlockingQueueParameters; + +/* Task function that creates an incrementing number and posts it on a queue. */ +static portTASK_FUNCTION_PROTO(vBlockingQueueProducer, pvParameters); + +/* Task function that removes the incrementing number from a queue and checks that +it is the expected number. */ +static portTASK_FUNCTION_PROTO(vBlockingQueueConsumer, pvParameters); + +/* Variables which are incremented each time an item is removed from a queue, and +found to be the expected value. +These are used to check that the tasks are still running. */ +static volatile short sBlockingConsumerCount[blckqNUM_TASK_SETS] = { + (uint16_t)0, (uint16_t)0, (uint16_t)0 +}; + +/* Variable which are incremented each time an item is posted on a queue. These +are used to check that the tasks are still running. */ +static volatile short sBlockingProducerCount[blckqNUM_TASK_SETS] = { + (uint16_t)0, (uint16_t)0, (uint16_t)0 +}; + +/*-----------------------------------------------------------*/ + +void vStartBlockingQueueTasks(UBaseType_t uxPriority) +{ + xBlockingQueueParameters *pxQueueParameters1, *pxQueueParameters2; + xBlockingQueueParameters *pxQueueParameters3, *pxQueueParameters4; + xBlockingQueueParameters *pxQueueParameters5, *pxQueueParameters6; + const UBaseType_t uxQueueSize1 = 1, uxQueueSize5 = 5; + const TickType_t xBlockTime = pdMS_TO_TICKS((TickType_t)1000); + const TickType_t xDontBlock = (TickType_t)0; + + /* Create the first two tasks as described at the top of the file. */ + + /* First create the structure used to pass parameters to the consumer tasks. */ + pxQueueParameters1 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + + /* Create the queue used by the first two tasks to pass the incrementing number. + Pass a pointer to the queue in the parameter structure. */ + pxQueueParameters1->xQueue = + xQueueCreate(uxQueueSize1, (UBaseType_t)sizeof(uint16_t)); + + /* The consumer is created first so gets a block time as described above. */ + pxQueueParameters1->xBlockTime = xBlockTime; + + /* Pass in the variable that this task is going to increment so we can check it + is still running. */ + pxQueueParameters1->psCheckVariable = &(sBlockingConsumerCount[0]); + + /* Create the structure used to pass parameters to the producer task. */ + pxQueueParameters2 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + + /* Pass the queue to this task also, using the parameter structure. */ + pxQueueParameters2->xQueue = pxQueueParameters1->xQueue; + + /* The producer is not going to block - as soon as it posts the consumer will + wake and remove the item so the producer should always have room to post. */ + pxQueueParameters2->xBlockTime = xDontBlock; + + /* Pass in the variable that this task is going to increment so we can check + it is still running. */ + pxQueueParameters2->psCheckVariable = &(sBlockingProducerCount[0]); + + /* Note the producer has a lower priority than the consumer when the tasks are + spawned. */ + xTaskCreate(vBlockingQueueConsumer, "QConsB1", blckqSTACK_SIZE, + (void *)pxQueueParameters1, uxPriority, NULL); + xTaskCreate(vBlockingQueueProducer, "QProdB2", blckqSTACK_SIZE, + (void *)pxQueueParameters2, tskIDLE_PRIORITY, NULL); + + /* Create the second two tasks as described at the top of the file. This uses + the same mechanism but reverses the task priorities. */ + + pxQueueParameters3 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + pxQueueParameters3->xQueue = + xQueueCreate(uxQueueSize1, (UBaseType_t)sizeof(uint16_t)); + pxQueueParameters3->xBlockTime = xDontBlock; + pxQueueParameters3->psCheckVariable = &(sBlockingProducerCount[1]); + + pxQueueParameters4 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + pxQueueParameters4->xQueue = pxQueueParameters3->xQueue; + pxQueueParameters4->xBlockTime = xBlockTime; + pxQueueParameters4->psCheckVariable = &(sBlockingConsumerCount[1]); + + xTaskCreate(vBlockingQueueConsumer, "QConsB3", blckqSTACK_SIZE, + (void *)pxQueueParameters3, tskIDLE_PRIORITY, NULL); + xTaskCreate(vBlockingQueueProducer, "QProdB4", blckqSTACK_SIZE, + (void *)pxQueueParameters4, uxPriority, NULL); + + /* Create the last two tasks as described above. The mechanism is again just + the same. This time both parameter structures are given a block time. */ + pxQueueParameters5 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + pxQueueParameters5->xQueue = + xQueueCreate(uxQueueSize5, (UBaseType_t)sizeof(uint16_t)); + pxQueueParameters5->xBlockTime = xBlockTime; + pxQueueParameters5->psCheckVariable = &(sBlockingProducerCount[2]); + + pxQueueParameters6 = (xBlockingQueueParameters *)pvPortMalloc( + sizeof(xBlockingQueueParameters)); + pxQueueParameters6->xQueue = pxQueueParameters5->xQueue; + pxQueueParameters6->xBlockTime = xBlockTime; + pxQueueParameters6->psCheckVariable = &(sBlockingConsumerCount[2]); + + xTaskCreate(vBlockingQueueProducer, "QProdB5", blckqSTACK_SIZE, + (void *)pxQueueParameters5, tskIDLE_PRIORITY, NULL); + xTaskCreate(vBlockingQueueConsumer, "QConsB6", blckqSTACK_SIZE, + (void *)pxQueueParameters6, tskIDLE_PRIORITY, NULL); +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vBlockingQueueProducer, pvParameters) +{ + uint16_t usValue = 0; + xBlockingQueueParameters *pxQueueParameters; + short sErrorEverOccurred = pdFALSE; + + pxQueueParameters = (xBlockingQueueParameters *)pvParameters; + + for (;;) { + if (xQueueSend(pxQueueParameters->xQueue, (void *)&usValue, + pxQueueParameters->xBlockTime) != pdPASS) { + sErrorEverOccurred = pdTRUE; + } else { + /* We have successfully posted a message, so increment the variable + used to check we are still running. */ + if (sErrorEverOccurred == pdFALSE) { + (*pxQueueParameters->psCheckVariable)++; + } + + /* Increment the variable we are going to post next time round. The + consumer will expect the numbers to follow in numerical order. */ + ++usValue; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vBlockingQueueConsumer, pvParameters) +{ + uint16_t usData, usExpectedValue = 0; + xBlockingQueueParameters *pxQueueParameters; + short sErrorEverOccurred = pdFALSE; + + pxQueueParameters = (xBlockingQueueParameters *)pvParameters; + + for (;;) { + if (xQueueReceive(pxQueueParameters->xQueue, &usData, + pxQueueParameters->xBlockTime) == pdPASS) { + if (usData != usExpectedValue) { + /* Catch-up. */ + usExpectedValue = usData; + + sErrorEverOccurred = pdTRUE; + } else { + /* We have successfully received a message, so increment the + variable used to check we are still running. */ + if (sErrorEverOccurred == pdFALSE) { + (*pxQueueParameters->psCheckVariable)++; + } + + /* Increment the value we expect to remove from the queue next time + round. */ + ++usExpectedValue; + } + +#if configUSE_PREEMPTION == 0 + { + if (pxQueueParameters->xBlockTime == 0) { + taskYIELD(); + } + } +#endif + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreBlockingQueuesStillRunning(void) +{ + static short sLastBlockingConsumerCount[blckqNUM_TASK_SETS] = { + (uint16_t)0, (uint16_t)0, (uint16_t)0 + }; + static short sLastBlockingProducerCount[blckqNUM_TASK_SETS] = { + (uint16_t)0, (uint16_t)0, (uint16_t)0 + }; + BaseType_t xReturn = pdPASS, xTasks; + + /* Not too worried about mutual exclusion on these variables as they are 16 + bits and we are only reading them. We also only care to see if they have + changed or not. + + Loop through each check variable to and return pdFALSE if any are found not + to have changed since the last call. */ + + for (xTasks = 0; xTasks < blckqNUM_TASK_SETS; xTasks++) { + if (sBlockingConsumerCount[xTasks] == + sLastBlockingConsumerCount[xTasks]) { + xReturn = pdFALSE; + } + sLastBlockingConsumerCount[xTasks] = + sBlockingConsumerCount[xTasks]; + + if (sBlockingProducerCount[xTasks] == + sLastBlockingProducerCount[xTasks]) { + xReturn = pdFALSE; + } + sLastBlockingProducerCount[xTasks] = + sBlockingProducerCount[xTasks]; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/EventGroupsDemo.c b/freertos/cvitek/task/demo/Common/Minimal/EventGroupsDemo.c new file mode 100644 index 000000000..146d37fe1 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/EventGroupsDemo.c @@ -0,0 +1,1014 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* +* This file contains fairly comprehensive checks on the behaviour of event +* groups. It is not intended to be a user friendly demonstration of the +* event groups API. +* +* NOTE: The tests implemented in this file are informal 'sanity' tests +* only and are not part of the module tests that make use of the +* mtCOVERAGE_TEST_MARKER macro within the event groups implementation. +*/ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "event_groups.h" + +/* Demo app includes. */ +#include "EventGroupsDemo.h" + +#if (INCLUDE_eTaskGetState != 1) +#error INCLUDE_eTaskGetState must be set to 1 in FreeRTOSConfig.h to use this demo file. +#endif + +/* Priorities used by the tasks. */ +#define ebSET_BIT_TASK_PRIORITY (tskIDLE_PRIORITY) +#define ebWAIT_BIT_TASK_PRIORITY (tskIDLE_PRIORITY + 1) + +/* Generic bit definitions. */ +#define ebBIT_0 (0x01) +#define ebBIT_1 (0x02) +#define ebBIT_2 (0x04) +#define ebBIT_3 (0x08) +#define ebBIT_4 (0x10) +#define ebBIT_5 (0x20) +#define ebBIT_6 (0x40) +#define ebBIT_7 (0x80) + +/* Combinations of bits used in the demo. */ +#define ebCOMBINED_BITS (ebBIT_1 | ebBIT_5 | ebBIT_7) +#define ebALL_BITS \ + (ebBIT_0 | ebBIT_1 | ebBIT_2 | ebBIT_3 | ebBIT_4 | ebBIT_5 | ebBIT_6 | \ + ebBIT_7) + +/* Associate a bit to each task. These bits are used to identify all the tasks +that synchronise with the xEventGroupSync() function. */ +#define ebSET_BIT_TASK_SYNC_BIT ebBIT_0 +#define ebWAIT_BIT_TASK_SYNC_BIT ebBIT_1 +#define ebRENDESVOUS_TASK_1_SYNC_BIT ebBIT_2 +#define ebRENDESVOUS_TASK_2_SYNC_BIT ebBIT_3 +#define ebALL_SYNC_BITS \ + (ebSET_BIT_TASK_SYNC_BIT | ebWAIT_BIT_TASK_SYNC_BIT | \ + ebRENDESVOUS_TASK_1_SYNC_BIT | ebRENDESVOUS_TASK_2_SYNC_BIT) + +/* A block time of zero simply means "don't block". */ +#define ebDONT_BLOCK (0) +#define ebONE_TICK ((TickType_t)1) + +/* A 5ms delay. */ +#define ebSHORT_DELAY pdMS_TO_TICKS((TickType_t)5) + +/* Used in the selective bits test which checks no, one or both tasks blocked on +event bits in a group are unblocked as appropriate as different bits get set. */ +#define ebSELECTIVE_BITS_1 0x03 +#define ebSELECTIVE_BITS_2 0x05 + +#ifndef ebRENDESVOUS_TEST_TASK_STACK_SIZE +#define ebRENDESVOUS_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +#ifndef ebEVENT_GROUP_SET_BITS_TEST_TASK_STACK_SIZE +#define ebEVENT_GROUP_SET_BITS_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +/*-----------------------------------------------------------*/ + +/* + * NOTE: The tests implemented in this function are informal 'sanity' tests + * only and are not part of the module tests that make use of the + * mtCOVERAGE_TEST_MARKER macro within the event groups implementation. + * + * The master test task. This task: + * + * 1) Calls prvSelectiveBitsTestMasterFunction() to test the behaviour when two + * tasks are blocked on different bits in an event group. The counterpart of + * this test is implemented by the prvSelectiveBitsTestSlaveFunction() + * function (which is called by the two tasks that block on the event group). + * + * 2) Calls prvBitCombinationTestMasterFunction() to test the behaviour when + * just one task is blocked on various combinations of bits within an event + * group. The counterpart of this test is implemented within the 'test + * slave' task. + * + * 3) Calls prvPerformTaskSyncTests() to test task synchronisation behaviour. + */ +static void prvTestMasterTask(void *pvParameters); + +/* + * A helper task that enables the 'test master' task to perform several + * behavioural tests. See the comments above the prvTestMasterTask() prototype + * above. + */ +static void prvTestSlaveTask(void *pvParameters); + +/* + * The part of the test that is performed between the 'test master' task and the + * 'test slave' task to test the behaviour when the slave blocks on various + * event bit combinations. + */ +static BaseType_t +prvBitCombinationTestMasterFunction(BaseType_t xError, + TaskHandle_t xTestSlaveTaskHandle); + +/* + * The part of the test that uses all the tasks to test the task synchronisation + * behaviour. + */ +static BaseType_t prvPerformTaskSyncTests(BaseType_t xError, + TaskHandle_t xTestSlaveTaskHandle); + +/* + * Two instances of prvSyncTask() are created. They start by calling + * prvSelectiveBitsTestSlaveFunction() to act as slaves when the test master is + * executing the prvSelectiveBitsTestMasterFunction() function. They then loop + * to test the task synchronisation (rendezvous) behaviour. + */ +static void prvSyncTask(void *pvParameters); + +/* + * Functions used in a test that blocks two tasks on various different bits + * within an event group - then sets each bit in turn and checks that the + * correct tasks unblock at the correct times. + */ +static BaseType_t prvSelectiveBitsTestMasterFunction(void); +static void prvSelectiveBitsTestSlaveFunction(void); + +/*-----------------------------------------------------------*/ + +/* Variables that are incremented by the tasks on each cycle provided no errors +have been found. Used to detect an error or stall in the test cycling. */ +static volatile uint32_t ulTestMasterCycles = 0, ulTestSlaveCycles = 0, + ulISRCycles = 0; + +/* The event group used by all the task based tests. */ +static EventGroupHandle_t xEventGroup = NULL; + +/* The event group used by the interrupt based tests. */ +static EventGroupHandle_t xISREventGroup = NULL; + +/* Handles to the tasks that only take part in the synchronisation calls. */ +static TaskHandle_t xSyncTask1 = NULL, xSyncTask2 = NULL; + +/*-----------------------------------------------------------*/ + +void vStartEventGroupTasks(void) +{ + TaskHandle_t xTestSlaveTaskHandle; + + /* + * This file contains fairly comprehensive checks on the behaviour of event + * groups. It is not intended to be a user friendly demonstration of the + * event groups API. + * + * NOTE: The tests implemented in this file are informal 'sanity' tests + * only and are not part of the module tests that make use of the + * mtCOVERAGE_TEST_MARKER macro within the event groups implementation. + * + * Create the test tasks as described at the top of this file. + */ + xTaskCreate(prvTestSlaveTask, "WaitO", + ebRENDESVOUS_TEST_TASK_STACK_SIZE, NULL, + ebWAIT_BIT_TASK_PRIORITY, &xTestSlaveTaskHandle); + xTaskCreate(prvTestMasterTask, "SetB", + ebEVENT_GROUP_SET_BITS_TEST_TASK_STACK_SIZE, + (void *)xTestSlaveTaskHandle, ebSET_BIT_TASK_PRIORITY, + NULL); + xTaskCreate(prvSyncTask, "Rndv", ebRENDESVOUS_TEST_TASK_STACK_SIZE, + (void *)ebRENDESVOUS_TASK_1_SYNC_BIT, + ebWAIT_BIT_TASK_PRIORITY, &xSyncTask1); + xTaskCreate(prvSyncTask, "Rndv", ebRENDESVOUS_TEST_TASK_STACK_SIZE, + (void *)ebRENDESVOUS_TASK_2_SYNC_BIT, + ebWAIT_BIT_TASK_PRIORITY, &xSyncTask2); + + /* If the last task was created then the others will have been too. */ + configASSERT(xSyncTask2); + + /* Create the event group used by the ISR tests. The event group used by + the tasks is created by the tasks themselves. */ + xISREventGroup = xEventGroupCreate(); + configASSERT(xISREventGroup); +} +/*-----------------------------------------------------------*/ + +static void prvTestMasterTask(void *pvParameters) +{ + BaseType_t xError; + + /* The handle to the slave task is passed in as the task parameter. */ + TaskHandle_t xTestSlaveTaskHandle = (TaskHandle_t)pvParameters; + + /* Avoid compiler warnings. */ + (void)pvParameters; + + /* Create the event group used by the tasks ready for the initial tests. */ + xEventGroup = xEventGroupCreate(); + configASSERT(xEventGroup); + + /* Perform the tests that block two tasks on different combinations of bits, + then set each bit in turn and check the correct tasks unblock at the correct + times. */ + xError = prvSelectiveBitsTestMasterFunction(); + + for (;;) { + /* Recreate the event group ready for the next cycle. */ + xEventGroup = xEventGroupCreate(); + configASSERT(xEventGroup); + + /* Perform the tests that check the behaviour when a single task is + blocked on various combinations of event bits. */ + xError = prvBitCombinationTestMasterFunction( + xError, xTestSlaveTaskHandle); + + /* Perform the task synchronisation tests. */ + xError = prvPerformTaskSyncTests(xError, xTestSlaveTaskHandle); + + /* Delete the event group. */ + vEventGroupDelete(xEventGroup); + + /* Now all the other tasks should have completed and suspended + themselves ready for the next go around the loop. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eSuspended) { + xError = pdTRUE; + } + + /* Only increment the cycle variable if no errors have been detected. */ + if (xError == pdFALSE) { + ulTestMasterCycles++; + } + + configASSERT(xError == pdFALSE); + } +} +/*-----------------------------------------------------------*/ + +static void prvSyncTask(void *pvParameters) +{ + EventBits_t uxSynchronisationBit, uxReturned; + + /* A few tests that check the behaviour when two tasks are blocked on + various different bits within an event group are performed before this task + enters its infinite loop to carry out its main demo function. */ + prvSelectiveBitsTestSlaveFunction(); + + /* The bit to use to indicate this task is at the synchronisation point is + passed in as the task parameter. */ + uxSynchronisationBit = (EventBits_t)pvParameters; + + for (;;) { + /* Now this task takes part in a task synchronisation - sometimes known + as a 'rendezvous'. Its execution pattern is controlled by the 'test + master' task, which is responsible for taking this task out of the + Suspended state when it is time to test the synchronisation behaviour. + See: http://www.freertos.org/xEventGroupSync.html. */ + vTaskSuspend(NULL); + + /* Set the bit that indicates this task is at the synchronisation + point. The first time this is done the 'test master' task has a lower + priority than this task so this task will get to the sync point before + the set bits task - test this by first calling xEventGroupSync() with + a zero block time, and a block time that is too short for the other + task, before calling again with a max delay - the first two calls should + return before the rendezvous completes, the third only after the + rendezvous is complete. */ + uxReturned = xEventGroupSync( + xEventGroup, /* The event group used for the synchronisation. */ + uxSynchronisationBit, /* The bit to set in the event group to indicate this task is at the sync point. */ + ebALL_SYNC_BITS, /* The bits to wait for - these bits are set by the other tasks taking part in the sync. */ + ebDONT_BLOCK); /* The maximum time to wait for the sync condition to be met before giving up. */ + + /* No block time was specified, so as per the comments above, the + rendezvous is not expected to have completed yet. */ + configASSERT((uxReturned & ebALL_SYNC_BITS) != ebALL_SYNC_BITS); + + uxReturned = xEventGroupSync( + xEventGroup, /* The event group used for the synchronisation. */ + uxSynchronisationBit, /* The bit to set in the event group to indicate this task is at the sync point. */ + ebALL_SYNC_BITS, /* The bits to wait for - these bits are set by the other tasks taking part in the sync. */ + ebONE_TICK); /* The maximum time to wait for the sync condition to be met before giving up. */ + + /* A short block time was specified, so as per the comments above, the + rendezvous is not expected to have completed yet. */ + configASSERT((uxReturned & ebALL_SYNC_BITS) != ebALL_SYNC_BITS); + + uxReturned = xEventGroupSync( + xEventGroup, /* The event group used for the synchronisation. */ + uxSynchronisationBit, /* The bit to set in the event group to indicate this task is at the sync point. */ + ebALL_SYNC_BITS, /* The bits to wait for - these bits are set by the other tasks taking part in the sync. */ + portMAX_DELAY); /* The maximum time to wait for the sync condition to be met before giving up. */ + + /* A max delay was used, so this task should only exit the above + function call when the sync condition is met. Check this is the + case. */ + configASSERT((uxReturned & ebALL_SYNC_BITS) == ebALL_SYNC_BITS); + + /* Remove compiler warning if configASSERT() is not defined. */ + (void)uxReturned; + + /* Wait until the 'test master' task unsuspends this task again. */ + vTaskSuspend(NULL); + + /* Set the bit that indicates this task is at the synchronisation + point again. This time the 'test master' task has a higher priority + than this task so will get to the sync point before this task. */ + uxReturned = xEventGroupSync(xEventGroup, uxSynchronisationBit, + ebALL_SYNC_BITS, portMAX_DELAY); + + /* Again a max delay was used, so this task should only exit the above + function call when the sync condition is met. Check this is the + case. */ + configASSERT((uxReturned & ebALL_SYNC_BITS) == ebALL_SYNC_BITS); + + /* Block on the event group again. This time the event group is going + to be deleted while this task is blocked on it so it is expected that 0 + be returned. */ + uxReturned = + xEventGroupWaitBits(xEventGroup, ebALL_SYNC_BITS, + pdFALSE, pdTRUE, portMAX_DELAY); + configASSERT(uxReturned == 0); + } +} +/*-----------------------------------------------------------*/ + +static void prvTestSlaveTask(void *pvParameters) +{ + EventBits_t uxReturned; + BaseType_t xError = pdFALSE; + + /* Avoid compiler warnings. */ + (void)pvParameters; + + for (;;) { + /********************************************************************** + * Part 1: This section is the counterpart to the + * prvBitCombinationTestMasterFunction() function which is called by the + * test master task. + *********************************************************************** + + This task is controller by the 'test master' task (which is + implemented by prvTestMasterTask()). Suspend until resumed by the + 'test master' task. */ + vTaskSuspend(NULL); + + /* Wait indefinitely for one of the bits in ebCOMBINED_BITS to get + set. Clear the bit on exit. */ + uxReturned = xEventGroupWaitBits( + xEventGroup, /* The event group that contains the event bits being queried. */ + ebBIT_1, /* The bit to wait for. */ + pdTRUE, /* Clear the bit on exit. */ + pdTRUE, /* Wait for all the bits (only one in this case anyway). */ + portMAX_DELAY); /* Block indefinitely to wait for the condition to be met. */ + + /* The 'test master' task set all the bits defined by ebCOMBINED_BITS, + only one of which was being waited for by this task. The return value + shows the state of the event bits when the task was unblocked, however + because the task was waiting for ebBIT_1 and 'clear on exit' was set to + the current state of the event bits will have ebBIT_1 clear. */ + if (uxReturned != ebCOMBINED_BITS) { + xError = pdTRUE; + } + + /* Now call xEventGroupWaitBits() again, this time waiting for all the + bits in ebCOMBINED_BITS to be set. This call should block until the + 'test master' task sets ebBIT_1 - which was the bit cleared in the call + to xEventGroupWaitBits() above. */ + uxReturned = xEventGroupWaitBits( + xEventGroup, + ebCOMBINED_BITS, /* The bits being waited on. */ + pdFALSE, /* Don't clear the bits on exit. */ + pdTRUE, /* All the bits must be set to unblock. */ + portMAX_DELAY); + + /* Were all the bits set? */ + if ((uxReturned & ebCOMBINED_BITS) != ebCOMBINED_BITS) { + xError = pdTRUE; + } + + /* Suspend again to wait for the 'test master' task. */ + vTaskSuspend(NULL); + + /* Now call xEventGroupWaitBits() again, again waiting for all the bits + in ebCOMBINED_BITS to be set, but this time clearing the bits when the + task is unblocked. */ + uxReturned = xEventGroupWaitBits( + xEventGroup, + ebCOMBINED_BITS, /* The bits being waited on. */ + pdTRUE, /* Clear the bits on exit. */ + pdTRUE, /* All the bits must be set to unblock. */ + portMAX_DELAY); + + /* The 'test master' task set all the bits in the event group, so that + is the value that should have been returned. The bits defined by + ebCOMBINED_BITS will have been clear again in the current value though + as 'clear on exit' was set to pdTRUE. */ + if (uxReturned != ebALL_BITS) { + xError = pdTRUE; + } + + /********************************************************************** + * Part 2: This section is the counterpart to the + * prvPerformTaskSyncTests() function which is called by the + * test master task. + *********************************************************************** + + + Once again wait for the 'test master' task to unsuspend this task + when it is time for the next test. */ + vTaskSuspend(NULL); + + /* Now peform a synchronisation with all the other tasks. At this point + the 'test master' task has the lowest priority so will get to the sync + point after all the other synchronising tasks. */ + uxReturned = xEventGroupSync( + xEventGroup, /* The event group used for the sync. */ + ebWAIT_BIT_TASK_SYNC_BIT, /* The bit in the event group used to indicate this task is at the sync point. */ + ebALL_SYNC_BITS, /* The bits to wait for. These bits are set by the other tasks taking part in the sync. */ + portMAX_DELAY); /* The maximum time to wait for the sync condition to be met before giving up. */ + + /* A sync with a max delay should only exit when all the synchronisation + bits are set... */ + if ((uxReturned & ebALL_SYNC_BITS) != ebALL_SYNC_BITS) { + xError = pdTRUE; + } + + /* ...but now the synchronisation bits should be clear again. Read back + the current value of the bits within the event group to check that is + the case. Setting the bits to zero will return the bits previous value + then leave all the bits clear. */ + if (xEventGroupSetBits(xEventGroup, 0x00) != 0) { + xError = pdTRUE; + } + + /* Check the bits are indeed 0 now by simply reading then. */ + if (xEventGroupGetBits(xEventGroup) != 0) { + xError = pdTRUE; + } + + if (xError == pdFALSE) { + /* This task is still cycling without finding an error. */ + ulTestSlaveCycles++; + } + + vTaskSuspend(NULL); + + /* This time sync when the 'test master' task has the highest priority + at the point where it sets its sync bit - so this time the 'test master' + task will get to the sync point before this task. */ + uxReturned = + xEventGroupSync(xEventGroup, ebWAIT_BIT_TASK_SYNC_BIT, + ebALL_SYNC_BITS, portMAX_DELAY); + + /* A sync with a max delay should only exit when all the synchronisation + bits are set... */ + if ((uxReturned & ebALL_SYNC_BITS) != ebALL_SYNC_BITS) { + xError = pdTRUE; + } + + /* ...but now the sync bits should be clear again. */ + if (xEventGroupSetBits(xEventGroup, 0x00) != 0) { + xError = pdTRUE; + } + + /* Block on the event group again. This time the event group is going + to be deleted while this task is blocked on it, so it is expected that 0 + will be returned. */ + uxReturned = + xEventGroupWaitBits(xEventGroup, ebALL_SYNC_BITS, + pdFALSE, pdTRUE, portMAX_DELAY); + + if (uxReturned != 0) { + xError = pdTRUE; + } + + if (xError == pdFALSE) { + /* This task is still cycling without finding an error. */ + ulTestSlaveCycles++; + } + + configASSERT(xError == pdFALSE); + } +} +/*-----------------------------------------------------------*/ + +static BaseType_t prvPerformTaskSyncTests(BaseType_t xError, + TaskHandle_t xTestSlaveTaskHandle) +{ + EventBits_t uxBits; + + /* The three tasks that take part in the synchronisation (rendezvous) are + expected to be in the suspended state at the start of the test. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eSuspended) { + xError = pdTRUE; + } + + /* Try a synch with no other tasks involved. First set all the bits other + than this task's bit. */ + xEventGroupSetBits(xEventGroup, + (ebALL_SYNC_BITS & ~ebSET_BIT_TASK_SYNC_BIT)); + + /* Then wait on just one bit - the bit that is being set. */ + uxBits = xEventGroupSync( + xEventGroup, /* The event group used for the synchronisation. */ + ebSET_BIT_TASK_SYNC_BIT, /* The bit set by this task when it reaches the sync point. */ + ebSET_BIT_TASK_SYNC_BIT, /* The bits to wait for - in this case it is just waiting for itself. */ + portMAX_DELAY); /* The maximum time to wait for the sync condition to be met. */ + + /* A sync with a max delay should only exit when all the synchronise + bits are set...check that is the case. In this case there is only one + sync bit anyway. */ + if ((uxBits & ebSET_BIT_TASK_SYNC_BIT) != ebSET_BIT_TASK_SYNC_BIT) { + xError = pdTRUE; + } + + /* ...but now the sync bits should be clear again, leaving all the other + bits set (as only one bit was being waited for). */ + if (xEventGroupGetBits(xEventGroup) != + (ebALL_SYNC_BITS & ~ebSET_BIT_TASK_SYNC_BIT)) { + xError = pdTRUE; + } + + /* Clear all the bits to zero again. */ + xEventGroupClearBits(xEventGroup, + (ebALL_SYNC_BITS & ~ebSET_BIT_TASK_SYNC_BIT)); + if (xEventGroupGetBits(xEventGroup) != 0) { + xError = pdTRUE; + } + + /* Unsuspend the other tasks then check they have executed up to the + synchronisation point. */ + vTaskResume(xTestSlaveTaskHandle); + vTaskResume(xSyncTask1); + vTaskResume(xSyncTask2); + + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eBlocked) { + xError = pdTRUE; + } + + /* Set this task's sync bit. */ + uxBits = xEventGroupSync( + xEventGroup, /* The event group used for the synchronisation. */ + ebSET_BIT_TASK_SYNC_BIT, /* The bit set by this task when it reaches the sync point. */ + ebALL_SYNC_BITS, /* The bits to wait for - these bits are set by the other tasks that take part in the sync. */ + portMAX_DELAY); /* The maximum time to wait for the sync condition to be met. */ + + /* A sync with a max delay should only exit when all the synchronise + bits are set...check that is the case. */ + if ((uxBits & ebALL_SYNC_BITS) != ebALL_SYNC_BITS) { + xError = pdTRUE; + } + + /* ...but now the sync bits should be clear again. */ + if (xEventGroupGetBits(xEventGroup) != 0) { + xError = pdTRUE; + } + + /* The other tasks should now all be suspended again, ready for the next + synchronisation. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eSuspended) { + xError = pdTRUE; + } + + /* Sync again - but this time set the last necessary bit as the + highest priority task, rather than the lowest priority task. Unsuspend + the other tasks then check they have executed up to the synchronisation + point. */ + vTaskResume(xTestSlaveTaskHandle); + vTaskResume(xSyncTask1); + vTaskResume(xSyncTask2); + + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eBlocked) { + xError = pdTRUE; + } + + /* Raise the priority of this task above that of the other tasks. */ + vTaskPrioritySet(NULL, ebWAIT_BIT_TASK_PRIORITY + 1); + + /* Set this task's sync bit. */ + uxBits = xEventGroupSync(xEventGroup, ebSET_BIT_TASK_SYNC_BIT, + ebALL_SYNC_BITS, portMAX_DELAY); + + /* A sync with a max delay should only exit when all the synchronisation + bits are set... */ + if ((uxBits & ebALL_SYNC_BITS) != ebALL_SYNC_BITS) { + xError = pdTRUE; + } + + /* ...but now the sync bits should be clear again. */ + if (xEventGroupGetBits(xEventGroup) != 0) { + xError = pdTRUE; + } + + /* The other tasks should now all be in the ready state again, but not + executed yet as this task still has a higher relative priority. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eReady) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eReady) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eReady) { + xError = pdTRUE; + } + + /* Reset the priority of this task back to its original value. */ + vTaskPrioritySet(NULL, ebSET_BIT_TASK_PRIORITY); + + /* Now all the other tasks should have reblocked on the event bits + to test the behaviour when the event bits are deleted. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask1) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eBlocked) { + xError = pdTRUE; + } + + return xError; +} +/*-----------------------------------------------------------*/ + +static BaseType_t +prvBitCombinationTestMasterFunction(BaseType_t xError, + TaskHandle_t xTestSlaveTaskHandle) +{ + EventBits_t uxBits; + + /* Resume the other task. It will block, pending a single bit from + within ebCOMBINED_BITS. */ + vTaskResume(xTestSlaveTaskHandle); + + /* Ensure the other task is blocked on the task. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + /* Set all the bits in ebCOMBINED_BITS - the 'test slave' task is only + blocked waiting for one of them. */ + xEventGroupSetBits(xEventGroup, ebCOMBINED_BITS); + + /* The 'test slave' task should now have executed, clearing ebBIT_1 (the + bit it was blocked on), then re-entered the Blocked state to wait for + all the other bits in ebCOMBINED_BITS to be set again. First check + ebBIT_1 is clear. */ + uxBits = xEventGroupWaitBits(xEventGroup, ebALL_BITS, pdFALSE, pdFALSE, + ebDONT_BLOCK); + + if (uxBits != (ebCOMBINED_BITS & ~ebBIT_1)) { + xError = pdTRUE; + } + + /* Ensure the other task is still in the blocked state. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + /* Set all the bits other than ebBIT_1 - which is the bit that must be + set before the other task unblocks. */ + xEventGroupSetBits(xEventGroup, ebALL_BITS & ~ebBIT_1); + + /* Ensure all the expected bits are still set. */ + uxBits = xEventGroupWaitBits(xEventGroup, ebALL_BITS, pdFALSE, pdFALSE, + ebDONT_BLOCK); + + if (uxBits != (ebALL_BITS & ~ebBIT_1)) { + xError = pdTRUE; + } + + /* Ensure the other task is still in the blocked state. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + /* Now also set ebBIT_1, which should unblock the other task, which will + then suspend itself. */ + xEventGroupSetBits(xEventGroup, ebBIT_1); + + /* Ensure the other task is suspended. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eSuspended) { + xError = pdTRUE; + } + + /* The other task should not have cleared the bits - so all the bits + should still be set. */ + if (xEventGroupSetBits(xEventGroup, 0x00) != ebALL_BITS) { + xError = pdTRUE; + } + + /* Clear ebBIT_1 again. */ + if (xEventGroupClearBits(xEventGroup, ebBIT_1) != ebALL_BITS) { + xError = pdTRUE; + } + + /* Resume the other task - which will wait on all the ebCOMBINED_BITS + again - this time clearing the bits when it is unblocked. */ + vTaskResume(xTestSlaveTaskHandle); + + /* Ensure the other task is blocked once again. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eBlocked) { + xError = pdTRUE; + } + + /* Set the bit the other task is waiting for. */ + xEventGroupSetBits(xEventGroup, ebBIT_1); + + /* Ensure the other task is suspended once again. */ + if (eTaskGetState(xTestSlaveTaskHandle) != eSuspended) { + xError = pdTRUE; + } + + /* The other task should have cleared the bits in ebCOMBINED_BITS. + Clear the remaining bits. */ + uxBits = xEventGroupWaitBits(xEventGroup, ebALL_BITS, pdFALSE, pdFALSE, + ebDONT_BLOCK); + + if (uxBits != (ebALL_BITS & ~ebCOMBINED_BITS)) { + xError = pdTRUE; + } + + /* Clear all bits ready for the sync with the other three tasks. The + value returned is the value prior to the bits being cleared. */ + if (xEventGroupClearBits(xEventGroup, ebALL_BITS) != + (ebALL_BITS & ~ebCOMBINED_BITS)) { + xError = pdTRUE; + } + + /* The bits should be clear now. */ + if (xEventGroupGetBits(xEventGroup) != 0x00) { + xError = pdTRUE; + } + + return xError; +} +/*-----------------------------------------------------------*/ + +static void prvSelectiveBitsTestSlaveFunction(void) +{ + EventBits_t uxPendBits, uxReturned; + + /* Used in a test that blocks two tasks on various different bits within an + event group - then sets each bit in turn and checks that the correct tasks + unblock at the correct times. + + This function is called by two different tasks - each of which will use a + different bit. Check the task handle to see which task the function was + called by. */ + if (xTaskGetCurrentTaskHandle() == xSyncTask1) { + uxPendBits = ebSELECTIVE_BITS_1; + } else { + uxPendBits = ebSELECTIVE_BITS_2; + } + + for (;;) { + /* Wait until it is time to perform the next cycle of the test. The + task is unsuspended by the tests implemented in the + prvSelectiveBitsTestMasterFunction() function. */ + vTaskSuspend(NULL); + uxReturned = + xEventGroupWaitBits(xEventGroup, uxPendBits, pdTRUE, + pdFALSE, portMAX_DELAY); + + if (uxReturned == (EventBits_t)0) { + break; + } + } +} +/*-----------------------------------------------------------*/ + +static BaseType_t prvSelectiveBitsTestMasterFunction(void) +{ + BaseType_t xError = pdFALSE; + EventBits_t uxBit; + + /* Used in a test that blocks two tasks on various different bits within an + event group - then sets each bit in turn and checks that the correct tasks + unblock at the correct times. The two other tasks (xSyncTask1 and + xSyncTask2) call prvSelectiveBitsTestSlaveFunction() to perform their parts in + this test. + + Both other tasks should start in the suspended state. */ + if (eTaskGetState(xSyncTask1) != eSuspended) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eSuspended) { + xError = pdTRUE; + } + + /* Test each bit in the byte individually. */ + for (uxBit = 0x01; uxBit < 0x100; uxBit <<= 1) { + /* Resume both tasks. */ + vTaskResume(xSyncTask1); + vTaskResume(xSyncTask2); + + /* Now both tasks should be blocked on the event group. */ + if (eTaskGetState(xSyncTask1) != eBlocked) { + xError = pdTRUE; + } + + if (eTaskGetState(xSyncTask2) != eBlocked) { + xError = pdTRUE; + } + + /* Set one bit. */ + xEventGroupSetBits(xEventGroup, uxBit); + + /* Is the bit set in the first set of selective bits? If so the first + sync task should have unblocked and returned to the suspended state. */ + if ((uxBit & ebSELECTIVE_BITS_1) == 0) { + /* Task should not have unblocked. */ + if (eTaskGetState(xSyncTask1) != eBlocked) { + xError = pdTRUE; + } + } else { + /* Task should have unblocked and returned to the suspended state. */ + if (eTaskGetState(xSyncTask1) != eSuspended) { + xError = pdTRUE; + } + } + + /* Same checks for the second sync task. */ + if ((uxBit & ebSELECTIVE_BITS_2) == 0) { + /* Task should not have unblocked. */ + if (eTaskGetState(xSyncTask2) != eBlocked) { + xError = pdTRUE; + } + } else { + /* Task should have unblocked and returned to the suspended state. */ + if (eTaskGetState(xSyncTask2) != eSuspended) { + xError = pdTRUE; + } + } + } + + /* Ensure both tasks are blocked on the event group again, then delete the + event group so the other tasks leave this portion of the test. */ + vTaskResume(xSyncTask1); + vTaskResume(xSyncTask2); + + /* Deleting the event group is the signal that the two other tasks should + leave the prvSelectiveBitsTestSlaveFunction() function and continue to the main + part of their functionality. */ + vEventGroupDelete(xEventGroup); + + return xError; +} +/*-----------------------------------------------------------*/ + +void vPeriodicEventGroupsProcessing(void) +{ + static BaseType_t xCallCount = 0, xISRTestError = pdFALSE; + const BaseType_t xSetBitCount = 100, xGetBitsCount = 200, + xClearBitsCount = 300; + const EventBits_t uxBitsToSet = 0x12U; + EventBits_t uxReturned; + BaseType_t xMessagePosted; + + /* Called periodically from the tick hook to exercise the "FromISR" + functions. */ + + /* Check the even group tasks were actually created. */ + configASSERT(xISREventGroup); + + xCallCount++; + + if (xCallCount == xSetBitCount) { + /* All the event bits should start clear. */ + uxReturned = xEventGroupGetBitsFromISR(xISREventGroup); + if (uxReturned != 0x00) { + xISRTestError = pdTRUE; + } else { + /* Set the bits. This is called from the tick hook so it is not + necessary to use the last parameter to ensure a context switch + occurs immediately. */ + xMessagePosted = xEventGroupSetBitsFromISR( + xISREventGroup, uxBitsToSet, NULL); + if (xMessagePosted != pdPASS) { + xISRTestError = pdTRUE; + } + } + } else if (xCallCount == xGetBitsCount) { + /* Check the bits were set as expected. */ + uxReturned = xEventGroupGetBitsFromISR(xISREventGroup); + if (uxReturned != uxBitsToSet) { + xISRTestError = pdTRUE; + } + } else if (xCallCount == xClearBitsCount) { + /* Clear the bits again. */ + uxReturned = (EventBits_t)xEventGroupClearBitsFromISR( + xISREventGroup, uxBitsToSet); + + /* Check the message was posted. */ + if (uxReturned != pdPASS) { + xISRTestError = pdTRUE; + } + + /* Go back to the start. */ + xCallCount = 0; + + /* If no errors have been detected then increment the count of test + cycles. */ + if (xISRTestError == pdFALSE) { + ulISRCycles++; + } + } else { + /* Nothing else to do. */ + } +} + +/*-----------------------------------------------------------*/ +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreEventGroupTasksStillRunning(void) +{ + static uint32_t ulPreviousWaitBitCycles = 0, ulPreviousSetBitCycles = 0, + ulPreviousISRCycles = 0; + BaseType_t xStatus = pdPASS; + + /* Check the tasks are still cycling without finding any errors. */ + if (ulPreviousSetBitCycles == ulTestMasterCycles) { + xStatus = pdFAIL; + } + ulPreviousSetBitCycles = ulTestMasterCycles; + + if (ulPreviousWaitBitCycles == ulTestSlaveCycles) { + xStatus = pdFAIL; + } + ulPreviousWaitBitCycles = ulTestSlaveCycles; + + if (ulPreviousISRCycles == ulISRCycles) { + xStatus = pdFAIL; + } + ulPreviousISRCycles = ulISRCycles; + + return xStatus; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/GenQTest.c b/freertos/cvitek/task/demo/Common/Minimal/GenQTest.c new file mode 100644 index 000000000..c1096716a --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/GenQTest.c @@ -0,0 +1,964 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the extra queue functionality introduced in FreeRTOS.org V4.5.0 - + * including xQueueSendToFront(), xQueueSendToBack(), xQueuePeek() and + * mutex behaviour. + * + * See the comments above the prvSendFrontAndBackTest() and + * prvLowPriorityMutexTask() prototypes below for more information. + */ + +/* Standard includes. */ +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +/* Demo program include files. */ +#include "GenQTest.h" + +#define genqQUEUE_LENGTH (5) +#define intsemNO_BLOCK (0) +#define genqSHORT_BLOCK (pdMS_TO_TICKS(2)) + +#define genqMUTEX_LOW_PRIORITY (tskIDLE_PRIORITY) +#define genqMUTEX_TEST_PRIORITY (tskIDLE_PRIORITY + 1) +#define genqMUTEX_MEDIUM_PRIORITY (tskIDLE_PRIORITY + 2) +#define genqMUTEX_HIGH_PRIORITY (tskIDLE_PRIORITY + 3) + +#ifndef genqMUTEX_TEST_TASK_STACK_SIZE +#define genqMUTEX_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +#ifndef genqGENERIC_QUEUE_TEST_TASK_STACK_SIZE +#define genqGENERIC_QUEUE_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif +/*-----------------------------------------------------------*/ + +/* + * Tests the behaviour of the xQueueSendToFront() and xQueueSendToBack() + * macros by using both to fill a queue, then reading from the queue to + * check the resultant queue order is as expected. Queue data is also + * peeked. + */ +static void prvSendFrontAndBackTest(void *pvParameters); + +/* + * The following three tasks are used to demonstrate the mutex behaviour. + * Each task is given a different priority to demonstrate the priority + * inheritance mechanism. + * + * The low priority task obtains a mutex. After this a high priority task + * attempts to obtain the same mutex, causing its priority to be inherited + * by the low priority task. The task with the inherited high priority then + * resumes a medium priority task to ensure it is not blocked by the medium + * priority task while it holds the inherited high priority. Once the mutex + * is returned the task with the inherited priority returns to its original + * low priority, and is therefore immediately preempted by first the high + * priority task and then the medium priority task before it can continue. + */ +static void prvLowPriorityMutexTask(void *pvParameters); +static void prvMediumPriorityMutexTask(void *pvParameters); +static void prvHighPriorityMutexTask(void *pvParameters); + +/* + * Tests the behaviour when a low priority task inherits the priority of a + * higher priority task when taking two mutexes, and returns the mutexes in + * first the same order as the two mutexes were obtained, and second the + * opposite order as the two mutexes were obtained. + */ +static void prvTakeTwoMutexesReturnInSameOrder(SemaphoreHandle_t xMutex, + SemaphoreHandle_t xLocalMutex); +static void +prvTakeTwoMutexesReturnInDifferentOrder(SemaphoreHandle_t xMutex, + SemaphoreHandle_t xLocalMutex); + +#if (INCLUDE_xTaskAbortDelay == 1) + +#if (configUSE_PREEMPTION == 0) +#error The additional tests included when INCLUDE_xTaskAbortDelay is 1 expect preemption to be used. +#endif + +/* Tests the behaviour when a low priority task inherits the priority of a + high priority task only for the high priority task to timeout before + obtaining the mutex. */ +static void prvHighPriorityTimeout(SemaphoreHandle_t xMutex); +#endif + +/*-----------------------------------------------------------*/ + +/* Flag that will be latched to pdTRUE should any unexpected behaviour be +detected in any of the tasks. */ +static volatile BaseType_t xErrorDetected = pdFALSE; + +/* Counters that are incremented on each cycle of a test. This is used to +detect a stalled task - a test that is no longer running. */ +static volatile uint32_t ulLoopCounter = 0; +static volatile uint32_t ulLoopCounter2 = 0; + +/* The variable that is guarded by the mutex in the mutex demo tasks. */ +static volatile uint32_t ulGuardedVariable = 0; + +/* Handles used in the mutex test to suspend and resume the high and medium +priority mutex test tasks. */ +static TaskHandle_t xHighPriorityMutexTask, xMediumPriorityMutexTask; + +/* If INCLUDE_xTaskAbortDelay is 1 additional tests are performed, requiring an +additional task. */ +#if (INCLUDE_xTaskAbortDelay == 1) +static TaskHandle_t xSecondMediumPriorityMutexTask; +#endif + +/* Lets the high priority semaphore task know that its wait for the semaphore +was aborted, in which case not being able to obtain the semaphore is not to be +considered an error. */ +static volatile BaseType_t xBlockWasAborted = pdFALSE; + +/*-----------------------------------------------------------*/ + +void vStartGenericQueueTasks(UBaseType_t uxPriority) +{ + QueueHandle_t xQueue; + SemaphoreHandle_t xMutex; + + /* Create the queue that we are going to use for the + prvSendFrontAndBackTest demo. */ + xQueue = xQueueCreate(genqQUEUE_LENGTH, sizeof(uint32_t)); + + if (xQueue != NULL) { + /* vQueueAddToRegistry() adds the queue to the queue registry, if one + is in use. The queue registry is provided as a means for kernel aware + debuggers to locate queues and has no purpose if a kernel aware debugger + is not being used. The call to vQueueAddToRegistry() will be removed + by the pre-processor if configQUEUE_REGISTRY_SIZE is not defined or is + defined to be less than 1. */ + vQueueAddToRegistry(xQueue, "Gen_Queue_Test"); + + /* Create the demo task and pass it the queue just created. We are + passing the queue handle by value so it does not matter that it is + declared on the stack here. */ + xTaskCreate(prvSendFrontAndBackTest, "GenQ", + genqGENERIC_QUEUE_TEST_TASK_STACK_SIZE, + (void *)xQueue, uxPriority, NULL); + } + + /* Create the mutex used by the prvMutexTest task. */ + xMutex = xSemaphoreCreateMutex(); + + if (xMutex != NULL) { + /* vQueueAddToRegistry() adds the mutex to the registry, if one is + in use. The registry is provided as a means for kernel aware + debuggers to locate mutexes and has no purpose if a kernel aware + debugger is not being used. The call to vQueueAddToRegistry() will be + removed by the pre-processor if configQUEUE_REGISTRY_SIZE is not + defined or is defined to be less than 1. */ + vQueueAddToRegistry((QueueHandle_t)xMutex, "Gen_Queue_Mutex"); + + /* Create the mutex demo tasks and pass it the mutex just created. We + are passing the mutex handle by value so it does not matter that it is + declared on the stack here. */ + xTaskCreate(prvLowPriorityMutexTask, "MuLow", + genqMUTEX_TEST_TASK_STACK_SIZE, (void *)xMutex, + genqMUTEX_LOW_PRIORITY, NULL); + xTaskCreate(prvMediumPriorityMutexTask, "MuMed", + configMINIMAL_STACK_SIZE, NULL, + genqMUTEX_MEDIUM_PRIORITY, + &xMediumPriorityMutexTask); + xTaskCreate(prvHighPriorityMutexTask, "MuHigh", + genqMUTEX_TEST_TASK_STACK_SIZE, (void *)xMutex, + genqMUTEX_HIGH_PRIORITY, &xHighPriorityMutexTask); + +/* If INCLUDE_xTaskAbortDelay is set then additional tests are performed, + requiring two instances of prvHighPriorityMutexTask(). */ +#if (INCLUDE_xTaskAbortDelay == 1) + { + xTaskCreate(prvHighPriorityMutexTask, "MuHigh2", + configMINIMAL_STACK_SIZE, (void *)xMutex, + genqMUTEX_MEDIUM_PRIORITY, + &xSecondMediumPriorityMutexTask); + } +#endif /* INCLUDE_xTaskAbortDelay */ + } +} +/*-----------------------------------------------------------*/ + +static void prvSendFrontAndBackTest(void *pvParameters) +{ + uint32_t ulData, ulData2, ulLoopCounterSnapshot; + QueueHandle_t xQueue; + +#ifdef USE_STDIO + void vPrintDisplayMessage(const char *const *ppcMessageToSend); + + const char *const pcTaskStartMsg = + "Queue SendToFront/SendToBack/Peek test started.\r\n"; + + /* Queue a message for printing to say the task has started. */ + vPrintDisplayMessage(&pcTaskStartMsg); +#endif + + xQueue = (QueueHandle_t)pvParameters; + + for (;;) { + /* The queue is empty, so sending an item to the back of the queue + should have the same effect as sending it to the front of the queue. + + First send to the front and check everything is as expected. */ + ulLoopCounterSnapshot = ulLoopCounter; + xQueueSendToFront(xQueue, (void *)&ulLoopCounterSnapshot, + intsemNO_BLOCK); + + if (uxQueueMessagesWaiting(xQueue) != 1) { + xErrorDetected = pdTRUE; + } + + if (xQueueReceive(xQueue, (void *)&ulData, intsemNO_BLOCK) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + /* The data we sent to the queue should equal the data we just received + from the queue. */ + if (ulLoopCounter != ulData) { + xErrorDetected = pdTRUE; + } + + /* Then do the same, sending the data to the back, checking everything + is as expected. */ + if (uxQueueMessagesWaiting(xQueue) != 0) { + xErrorDetected = pdTRUE; + } + + ulLoopCounterSnapshot = ulLoopCounter; + xQueueSendToBack(xQueue, (void *)&ulLoopCounterSnapshot, + intsemNO_BLOCK); + + if (uxQueueMessagesWaiting(xQueue) != 1) { + xErrorDetected = pdTRUE; + } + + if (xQueueReceive(xQueue, (void *)&ulData, intsemNO_BLOCK) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 0) { + xErrorDetected = pdTRUE; + } + + /* The data sent to the queue should equal the data just received from + the queue. */ + if (ulLoopCounter != ulData) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Place 2, 3, 4 into the queue, adding items to the back of the queue. */ + for (ulData = 2; ulData < 5; ulData++) { + xQueueSendToBack(xQueue, (void *)&ulData, + intsemNO_BLOCK); + } + + /* Now the order in the queue should be 2, 3, 4, with 2 being the first + thing to be read out. Now add 1 then 0 to the front of the queue. */ + if (uxQueueMessagesWaiting(xQueue) != 3) { + xErrorDetected = pdTRUE; + } + ulData = 1; + xQueueSendToFront(xQueue, (void *)&ulData, intsemNO_BLOCK); + ulData = 0; + xQueueSendToFront(xQueue, (void *)&ulData, intsemNO_BLOCK); + + /* Now the queue should be full, and when we read the data out we + should receive 0, 1, 2, 3, 4. */ + if (uxQueueMessagesWaiting(xQueue) != 5) { + xErrorDetected = pdTRUE; + } + + if (xQueueSendToFront(xQueue, (void *)&ulData, + intsemNO_BLOCK) != errQUEUE_FULL) { + xErrorDetected = pdTRUE; + } + + if (xQueueSendToBack(xQueue, (void *)&ulData, intsemNO_BLOCK) != + errQUEUE_FULL) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Check the data we read out is in the expected order. */ + for (ulData = 0; ulData < genqQUEUE_LENGTH; ulData++) { + /* Try peeking the data first. */ + if (xQueuePeek(xQueue, &ulData2, intsemNO_BLOCK) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + if (ulData != ulData2) { + xErrorDetected = pdTRUE; + } + + /* Now try receiving the data for real. The value should be the + same. Clobber the value first so we know we really received it. */ + ulData2 = ~ulData2; + if (xQueueReceive(xQueue, &ulData2, intsemNO_BLOCK) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + if (ulData != ulData2) { + xErrorDetected = pdTRUE; + } + } + + /* The queue should now be empty again. */ + if (uxQueueMessagesWaiting(xQueue) != 0) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Our queue is empty once more, add 10, 11 to the back. */ + ulData = 10; + if (xQueueSend(xQueue, &ulData, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + ulData = 11; + if (xQueueSend(xQueue, &ulData, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 2) { + xErrorDetected = pdTRUE; + } + + /* Now we should have 10, 11 in the queue. Add 7, 8, 9 to the + front. */ + for (ulData = 9; ulData >= 7; ulData--) { + if (xQueueSendToFront(xQueue, (void *)&ulData, + intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + } + + /* Now check that the queue is full, and that receiving data provides + the expected sequence of 7, 8, 9, 10, 11. */ + if (uxQueueMessagesWaiting(xQueue) != 5) { + xErrorDetected = pdTRUE; + } + + if (xQueueSendToFront(xQueue, (void *)&ulData, + intsemNO_BLOCK) != errQUEUE_FULL) { + xErrorDetected = pdTRUE; + } + + if (xQueueSendToBack(xQueue, (void *)&ulData, intsemNO_BLOCK) != + errQUEUE_FULL) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Check the data we read out is in the expected order. */ + for (ulData = 7; ulData < (7 + genqQUEUE_LENGTH); ulData++) { + if (xQueueReceive(xQueue, &ulData2, intsemNO_BLOCK) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + if (ulData != ulData2) { + xErrorDetected = pdTRUE; + } + } + + if (uxQueueMessagesWaiting(xQueue) != 0) { + xErrorDetected = pdTRUE; + } + + /* Increment the loop counter to indicate these tasks are still + executing. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +#if (INCLUDE_xTaskAbortDelay == 1) + +static void prvHighPriorityTimeout(SemaphoreHandle_t xMutex) +{ + static UBaseType_t uxLoopCount = 0; + + /* The tests in this function are very similar, the slight variations + are for code coverage purposes. */ + + /* Take the mutex. It should be available now. Check before and after + taking that the holder is reported correctly. */ + if (xSemaphoreGetMutexHolder(xMutex) != NULL) { + xErrorDetected = pdTRUE; + } + if (xSemaphoreTake(xMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + if (xSemaphoreGetMutexHolder(xMutex) != xTaskGetCurrentTaskHandle()) { + xErrorDetected = pdTRUE; + } + + /* This task's priority should be as per that assigned when the task was + created. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now unsuspend the high priority task. This will attempt to take the + mutex, and block when it finds it cannot obtain it. */ + vTaskResume(xHighPriorityMutexTask); + + /* This task should now have inherited the priority of the high priority + task as by now the high priority task will have attempted to obtain the + mutex. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Unblock a second medium priority task. It too will attempt to take + the mutex and enter the Blocked state - it won't run yet though as this + task has inherited a priority above it. */ + vTaskResume(xSecondMediumPriorityMutexTask); + + /* This task should still have the priority of the high priority task as + that had already been inherited as is the highest priority of the three + tasks using the mutex. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* On some loops, block for a short while to provide additional + code coverage. Blocking here will allow the medium priority task to + execute and so also block on the mutex so when the high priority task + causes this task to disinherit the high priority it is inherited down to + the priority of the medium priority task. When there is no delay the + medium priority task will not run until after the disinheritance, so + this task will disinherit back to its base priority, then only up to the + medium priority after the medium priority has executed. */ + vTaskDelay(uxLoopCount & (UBaseType_t)0x07); + + /* Now force the high priority task to unblock. It will fail to obtain + the mutex and go back to the suspended state - allowing this task to + execute again. xBlockWasAborted is set to pdTRUE so the higher priority + task knows that its failure to obtain the semaphore is not an error. */ + xBlockWasAborted = pdTRUE; + if (xTaskAbortDelay(xHighPriorityMutexTask) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* This task has inherited the priority of xHighPriorityMutexTask so + could still be running even though xHighPriorityMutexTask is no longer + blocked. Delay for a short while to ensure xHighPriorityMutexTask gets + a chance to run - indicated by this task changing priority. It should + disinherit the high priority task, but then inherit the priority of the + medium priority task that is waiting for the same mutex. */ + while (uxTaskPriorityGet(NULL) != genqMUTEX_MEDIUM_PRIORITY) { + /* If this task gets stuck here then the check variables will stop + incrementing and the check task will detect the error. */ + vTaskDelay(genqSHORT_BLOCK); + } + + /* Now force the medium priority task to unblock. xBlockWasAborted is + set to pdTRUE so the medium priority task knows that its failure to + obtain the semaphore is not an error. */ + xBlockWasAborted = pdTRUE; + if (xTaskAbortDelay(xSecondMediumPriorityMutexTask) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* This time no other tasks are waiting for the mutex, so this task + should return to its base priority. This might not happen straight + away as it is running at the same priority as the task it just + unblocked. */ + while (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + /* If this task gets stuck here then the check variables will stop + incrementing and the check task will detect the error. */ + vTaskDelay(genqSHORT_BLOCK); + } + + /* Give the semaphore back ready for the next test. Check the mutex + holder before and after using the "FromISR" version for code coverage. */ + if (xSemaphoreGetMutexHolderFromISR(xMutex) != + xTaskGetCurrentTaskHandle()) { + xErrorDetected = pdTRUE; + } + xSemaphoreGive(xMutex); + if (xSemaphoreGetMutexHolderFromISR(xMutex) != NULL) { + xErrorDetected = pdTRUE; + } + + configASSERT(xErrorDetected == pdFALSE); + + /* Now do the same again, but this time unsuspend the tasks in the + opposite order. This takes a different path though the code because + when the high priority task has its block aborted there is already + another task in the list of tasks waiting for the mutex, and the + low priority task drops down to that priority, rather than dropping + down to its base priority before inheriting the priority of the medium + priority task. */ + if (xSemaphoreTake(xMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* This time unsuspend the medium priority task first. This will + attempt to take the mutex, and block when it finds it cannot obtain it. */ + vTaskResume(xSecondMediumPriorityMutexTask); + + /* This time this task should now have inherited the priority of the + medium task. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_MEDIUM_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* This time the high priority task in unsuspended second. */ + vTaskResume(xHighPriorityMutexTask); + + /* The high priority task should already have run, causing this task to + inherit a priority for the second time. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* This time, when the high priority task has its delay aborted and it + fails to obtain the mutex this task will immediately have its priority + lowered down to that of the highest priority task waiting on the mutex, + which is the medium priority task. */ + xBlockWasAborted = pdTRUE; + if (xTaskAbortDelay(xHighPriorityMutexTask) != pdPASS) { + xErrorDetected = pdTRUE; + } + + while (uxTaskPriorityGet(NULL) != genqMUTEX_MEDIUM_PRIORITY) { + /* If this task gets stuck here then the check variables will stop + incrementing and the check task will detect the error. */ + vTaskDelay(genqSHORT_BLOCK); + } + + /* And finally, when the medium priority task also have its delay + aborted there are no other tasks waiting for the mutex so this task + returns to its base priority. */ + xBlockWasAborted = pdTRUE; + if (xTaskAbortDelay(xSecondMediumPriorityMutexTask) != pdPASS) { + xErrorDetected = pdTRUE; + } + + while (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + /* If this task gets stuck here then the check variables will stop + incrementing and the check task will detect the error. */ + vTaskDelay(genqSHORT_BLOCK); + } + + /* Give the semaphore back ready for the next test. */ + xSemaphoreGive(xMutex); + + configASSERT(xErrorDetected == pdFALSE); + + /* uxLoopCount is used to add a variable delay, and in-so-doing provide + additional code coverage. */ + uxLoopCount++; +} + +#endif /* INCLUDE_xTaskAbortDelay == 1 */ +/*-----------------------------------------------------------*/ + +static void +prvTakeTwoMutexesReturnInDifferentOrder(SemaphoreHandle_t xMutex, + SemaphoreHandle_t xLocalMutex) +{ + /* Take the mutex. It should be available now. */ + if (xSemaphoreTake(xMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* Set the guarded variable to a known start value. */ + ulGuardedVariable = 0; + + /* This task's priority should be as per that assigned when the task was + created. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now unsuspend the high priority task. This will attempt to take the + mutex, and block when it finds it cannot obtain it. */ + vTaskResume(xHighPriorityMutexTask); + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + +/* Ensure the task is reporting its priority as blocked and not + suspended (as it would have done in versions up to V7.5.3). */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xHighPriorityMutexTask) == eBlocked); + } +#endif /* INCLUDE_eTaskGetState */ + + /* This task should now have inherited the priority of the high priority + task as by now the high priority task will have attempted to obtain the + mutex. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Attempt to set the priority of this task to the test priority - + between the idle priority and the medium/high test priorities, but the + actual priority should remain at the high priority. */ + vTaskPrioritySet(NULL, genqMUTEX_TEST_PRIORITY); + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now unsuspend the medium priority task. This should not run as the + inherited priority of this task is above that of the medium priority + task. */ + vTaskResume(xMediumPriorityMutexTask); + + /* If the medium priority task did run then it will have incremented the + guarded variable. */ + if (ulGuardedVariable != 0) { + xErrorDetected = pdTRUE; + } + + /* Take the local mutex too, so two mutexes are now held. */ + if (xSemaphoreTake(xLocalMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* When the semaphore is given back the priority of this task should not + yet be disinherited because the local mutex is still held. This is a + simplification to allow FreeRTOS to be integrated with middleware that + attempts to hold multiple mutexes without bloating the code with complex + algorithms. It is possible that the high priority mutex task will + execute as it shares a priority with this task. */ + if (xSemaphoreGive(xMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* The guarded variable is only incremented by the medium priority task, + which still should not have executed as this task should remain at the + higher priority, ensure this is the case. */ + if (ulGuardedVariable != 0) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now also give back the local mutex, taking the held count back to 0. + This time the priority of this task should be disinherited back to the + priority to which it was set while the mutex was held. This means + the medium priority task should execute and increment the guarded + variable. When this task next runs both the high and medium priority + tasks will have been suspended again. */ + if (xSemaphoreGive(xLocalMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Check the guarded variable did indeed increment... */ + if (ulGuardedVariable != 1) { + xErrorDetected = pdTRUE; + } + + /* ... and that the priority of this task has been disinherited to + genqMUTEX_TEST_PRIORITY. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_TEST_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Set the priority of this task back to its original value, ready for + the next loop around this test. */ + vTaskPrioritySet(NULL, genqMUTEX_LOW_PRIORITY); +} +/*-----------------------------------------------------------*/ + +static void prvTakeTwoMutexesReturnInSameOrder(SemaphoreHandle_t xMutex, + SemaphoreHandle_t xLocalMutex) +{ + /* Take the mutex. It should be available now. */ + if (xSemaphoreTake(xMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* Set the guarded variable to a known start value. */ + ulGuardedVariable = 0; + + /* This task's priority should be as per that assigned when the task was + created. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now unsuspend the high priority task. This will attempt to take the + mutex, and block when it finds it cannot obtain it. */ + vTaskResume(xHighPriorityMutexTask); + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + +/* Ensure the task is reporting its priority as blocked and not + suspended (as it would have done in versions up to V7.5.3). */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xHighPriorityMutexTask) == eBlocked); + } +#endif /* INCLUDE_eTaskGetState */ + + /* This task should now have inherited the priority of the high priority + task as by now the high priority task will have attempted to obtain the + mutex. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now unsuspend the medium priority task. This should not run as the + inherited priority of this task is above that of the medium priority + task. */ + vTaskResume(xMediumPriorityMutexTask); + + /* If the medium priority task did run then it will have incremented the + guarded variable. */ + if (ulGuardedVariable != 0) { + xErrorDetected = pdTRUE; + } + + /* Take the local mutex too, so two mutexes are now held. */ + if (xSemaphoreTake(xLocalMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* When the local semaphore is given back the priority of this task should + not yet be disinherited because the shared mutex is still held. This is a + simplification to allow FreeRTOS to be integrated with middleware that + attempts to hold multiple mutexes without bloating the code with complex + algorithms. It is possible that the high priority mutex task will + execute as it shares a priority with this task. */ + if (xSemaphoreGive(xLocalMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* The guarded variable is only incremented by the medium priority task, + which still should not have executed as this task should remain at the + higher priority, ensure this is the case. */ + if (ulGuardedVariable != 0) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != genqMUTEX_HIGH_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now also give back the shared mutex, taking the held count back to 0. + This time the priority of this task should be disinherited back to the + priority at which it was created. This means the medium priority task + should execute and increment the guarded variable. When this task next runs + both the high and medium priority tasks will have been suspended again. */ + if (xSemaphoreGive(xMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* Check the guarded variable did indeed increment... */ + if (ulGuardedVariable != 1) { + xErrorDetected = pdTRUE; + } + + /* ... and that the priority of this task has been disinherited to + genqMUTEX_LOW_PRIORITY. */ + if (uxTaskPriorityGet(NULL) != genqMUTEX_LOW_PRIORITY) { + xErrorDetected = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +static void prvLowPriorityMutexTask(void *pvParameters) +{ + SemaphoreHandle_t xMutex = (SemaphoreHandle_t)pvParameters, xLocalMutex; + +#ifdef USE_STDIO + void vPrintDisplayMessage(const char *const *ppcMessageToSend); + + const char *const pcTaskStartMsg = + "Mutex with priority inheritance test started.\r\n"; + + /* Queue a message for printing to say the task has started. */ + vPrintDisplayMessage(&pcTaskStartMsg); +#endif + + /* The local mutex is used to check the 'mutexs held' count. */ + xLocalMutex = xSemaphoreCreateMutex(); + configASSERT(xLocalMutex); + + for (;;) { + /* The first tests exercise the priority inheritance when two mutexes + are taken then returned in a different order to which they were + taken. */ + prvTakeTwoMutexesReturnInDifferentOrder(xMutex, xLocalMutex); + + /* Just to show this task is still running. */ + ulLoopCounter2++; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* The second tests exercise the priority inheritance when two mutexes + are taken then returned in the same order in which they were taken. */ + prvTakeTwoMutexesReturnInSameOrder(xMutex, xLocalMutex); + + /* Just to show this task is still running. */ + ulLoopCounter2++; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + +#if (INCLUDE_xTaskAbortDelay == 1) + { + /* Tests the behaviour when a low priority task inherits the + priority of a high priority task only for the high priority task to + timeout before obtaining the mutex. */ + prvHighPriorityTimeout(xMutex); + } +#endif + } +} +/*-----------------------------------------------------------*/ + +static void prvMediumPriorityMutexTask(void *pvParameters) +{ + (void)pvParameters; + + for (;;) { + /* The medium priority task starts by suspending itself. The low + priority task will unsuspend this task when required. */ + vTaskSuspend(NULL); + + /* When this task unsuspends all it does is increment the guarded + variable, this is so the low priority task knows that it has + executed. */ + ulGuardedVariable++; + } +} +/*-----------------------------------------------------------*/ + +static void prvHighPriorityMutexTask(void *pvParameters) +{ + SemaphoreHandle_t xMutex = (SemaphoreHandle_t)pvParameters; + + for (;;) { + /* The high priority task starts by suspending itself. The low + priority task will unsuspend this task when required. */ + vTaskSuspend(NULL); + + /* When this task unsuspends all it does is attempt to obtain the + mutex. It should find the mutex is not available so a block time is + specified. */ + if (xSemaphoreTake(xMutex, portMAX_DELAY) != pdPASS) { + /* This task would expect to obtain the mutex unless its wait for + the mutex was aborted. */ + if (xBlockWasAborted == pdFALSE) { + xErrorDetected = pdTRUE; + } else { + xBlockWasAborted = pdFALSE; + } + } else { + /* When the mutex is eventually obtained it is just given back before + returning to suspend ready for the next cycle. */ + if (xSemaphoreGive(xMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreGenericQueueTasksStillRunning(void) +{ + static uint32_t ulLastLoopCounter = 0, ulLastLoopCounter2 = 0; + + /* If the demo task is still running then we expect the loop counters to + have incremented since this function was last called. */ + if (ulLastLoopCounter == ulLoopCounter) { + xErrorDetected = pdTRUE; + } + + if (ulLastLoopCounter2 == ulLoopCounter2) { + xErrorDetected = pdTRUE; + } + + ulLastLoopCounter = ulLoopCounter; + ulLastLoopCounter2 = ulLoopCounter2; + + /* Errors detected in the task itself will have latched xErrorDetected + to true. */ + + return (BaseType_t)!xErrorDetected; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/IntSemTest.c b/freertos/cvitek/task/demo/Common/Minimal/IntSemTest.c new file mode 100644 index 000000000..f00b3ebd1 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/IntSemTest.c @@ -0,0 +1,506 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Demonstrates and tests mutexes being used from an interrupt. + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo program include files. */ +#include "IntSemTest.h" + +/*-----------------------------------------------------------*/ + +/* The priorities of the test tasks. */ +#define intsemMASTER_PRIORITY (tskIDLE_PRIORITY) +#define intsemSLAVE_PRIORITY (tskIDLE_PRIORITY + 1) + +/* The rate at which the tick hook will give the mutex. */ +#define intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS (100) + +/* A block time of 0 means 'don't block'. */ +#define intsemNO_BLOCK 0 + +/* The maximum count value for the counting semaphore given from an +interrupt. */ +#define intsemMAX_COUNT 3 + +/*-----------------------------------------------------------*/ + +/* + * The master is a task that receives a mutex that is given from an interrupt - + * although generally mutexes should not be used given in interrupts (and + * definitely never taken in an interrupt) there are some circumstances when it + * may be desirable. + * + * The slave task is just used by the master task to force priority inheritance + * on a mutex that is shared between the master and the slave - which is a + * separate mutex to that given by the interrupt. + */ +static void vInterruptMutexSlaveTask(void *pvParameters); +static void vInterruptMutexMasterTask(void *pvParameters); + +/* + * A test whereby the master takes the shared and interrupt mutexes in that + * order, then gives them back in the same order, ensuring the priority + * inheritance is behaving as expected at each step. + */ +static void prvTakeAndGiveInTheSameOrder(void); + +/* + * A test whereby the master takes the shared and interrupt mutexes in that + * order, then gives them back in the opposite order to which they were taken, + * ensuring the priority inheritance is behaving as expected at each step. + */ +static void prvTakeAndGiveInTheOppositeOrder(void); + +/* + * A simple task that interacts with an interrupt using a counting semaphore, + * primarily for code coverage purposes. + */ +static void vInterruptCountingSemaphoreTask(void *pvParameters); + +/*-----------------------------------------------------------*/ + +/* Flag that will be latched to pdTRUE should any unexpected behaviour be +detected in any of the tasks. */ +static volatile BaseType_t xErrorDetected = pdFALSE; + +/* Counters that are incremented on each cycle of a test. This is used to +detect a stalled task - a test that is no longer running. */ +static volatile uint32_t ulMasterLoops = 0, ulCountingSemaphoreLoops = 0; + +/* Handles of the test tasks that must be accessed from other test tasks. */ +static TaskHandle_t xSlaveHandle; + +/* A mutex which is given from an interrupt - although generally mutexes should +not be used given in interrupts (and definitely never taken in an interrupt) +there are some circumstances when it may be desirable. */ +static SemaphoreHandle_t xISRMutex = NULL; + +/* A counting semaphore which is given from an interrupt. */ +static SemaphoreHandle_t xISRCountingSemaphore = NULL; + +/* A mutex which is shared between the master and slave tasks - the master +does both sharing of this mutex with the slave and receiving a mutex from the +interrupt. */ +static SemaphoreHandle_t xMasterSlaveMutex = NULL; + +/* Flag that allows the master task to control when the interrupt gives or does +not give the mutex. There is no mutual exclusion on this variable, but this is +only test code and it should be fine in the 32=bit test environment. */ +static BaseType_t xOkToGiveMutex = pdFALSE, + xOkToGiveCountingSemaphore = pdFALSE; + +/* Used to coordinate timing between tasks and the interrupt. */ +const TickType_t xInterruptGivePeriod = + pdMS_TO_TICKS(intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS); + +/*-----------------------------------------------------------*/ + +void vStartInterruptSemaphoreTasks(void) +{ + /* Create the semaphores that are given from an interrupt. */ + xISRMutex = xSemaphoreCreateMutex(); + configASSERT(xISRMutex); + xISRCountingSemaphore = xSemaphoreCreateCounting(intsemMAX_COUNT, 0); + configASSERT(xISRCountingSemaphore); + + /* Create the mutex that is shared between the master and slave tasks (the + master receives a mutex from an interrupt and shares a mutex with the + slave. */ + xMasterSlaveMutex = xSemaphoreCreateMutex(); + configASSERT(xMasterSlaveMutex); + + /* Create the tasks that share mutexes between then and with interrupts. */ + xTaskCreate(vInterruptMutexSlaveTask, "IntMuS", + configMINIMAL_STACK_SIZE, NULL, intsemSLAVE_PRIORITY, + &xSlaveHandle); + xTaskCreate(vInterruptMutexMasterTask, "IntMuM", + configMINIMAL_STACK_SIZE, NULL, intsemMASTER_PRIORITY, + NULL); + + /* Create the task that blocks on the counting semaphore. */ + xTaskCreate(vInterruptCountingSemaphoreTask, "IntCnt", + configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL); +} +/*-----------------------------------------------------------*/ + +static void vInterruptMutexMasterTask(void *pvParameters) +{ + /* Just to avoid compiler warnings. */ + (void)pvParameters; + + for (;;) { + prvTakeAndGiveInTheSameOrder(); + + /* Ensure not to starve out other tests. */ + ulMasterLoops++; + vTaskDelay(intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS); + + prvTakeAndGiveInTheOppositeOrder(); + + /* Ensure not to starve out other tests. */ + ulMasterLoops++; + vTaskDelay(intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS); + } +} +/*-----------------------------------------------------------*/ + +static void prvTakeAndGiveInTheSameOrder(void) +{ +/* Ensure the slave is suspended, and that this task is running at the + lower priority as expected as the start conditions. */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xSlaveHandle) == eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + if (uxTaskPriorityGet(NULL) != intsemMASTER_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Take the semaphore that is shared with the slave. */ + if (xSemaphoreTake(xMasterSlaveMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* This task now has the mutex. Unsuspend the slave so it too + attempts to take the mutex. */ + vTaskResume(xSlaveHandle); + +/* The slave has the higher priority so should now have executed and + blocked on the semaphore. */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xSlaveHandle) == eBlocked); + } +#endif /* INCLUDE_eTaskGetState */ + + /* This task should now have inherited the priority of the slave + task. */ + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now wait a little longer than the time between ISR gives to also + obtain the ISR mutex. */ + xOkToGiveMutex = pdTRUE; + if (xSemaphoreTake(xISRMutex, (xInterruptGivePeriod * 2)) != pdPASS) { + xErrorDetected = pdTRUE; + } + xOkToGiveMutex = pdFALSE; + + /* Attempting to take again immediately should fail as the mutex is + already held. */ + if (xSemaphoreTake(xISRMutex, intsemNO_BLOCK) != pdFAIL) { + xErrorDetected = pdTRUE; + } + + /* Should still be at the priority of the slave task. */ + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Give back the ISR semaphore to ensure the priority is not + disinherited as the shared mutex (which the higher priority task is + attempting to obtain) is still held. */ + if (xSemaphoreGive(xISRMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Finally give back the shared mutex. This time the higher priority + task should run before this task runs again - so this task should have + disinherited the priority and the higher priority task should be in the + suspended state again. */ + if (xSemaphoreGive(xMasterSlaveMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != intsemMASTER_PRIORITY) { + xErrorDetected = pdTRUE; + } + +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xSlaveHandle) == eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Reset the mutex ready for the next round. */ + xQueueReset(xISRMutex); +} +/*-----------------------------------------------------------*/ + +static void prvTakeAndGiveInTheOppositeOrder(void) +{ +/* Ensure the slave is suspended, and that this task is running at the + lower priority as expected as the start conditions. */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xSlaveHandle) == eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + if (uxTaskPriorityGet(NULL) != intsemMASTER_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Take the semaphore that is shared with the slave. */ + if (xSemaphoreTake(xMasterSlaveMutex, intsemNO_BLOCK) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* This task now has the mutex. Unsuspend the slave so it too + attempts to take the mutex. */ + vTaskResume(xSlaveHandle); + +/* The slave has the higher priority so should now have executed and + blocked on the semaphore. */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xSlaveHandle) == eBlocked); + } +#endif /* INCLUDE_eTaskGetState */ + + /* This task should now have inherited the priority of the slave + task. */ + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Now wait a little longer than the time between ISR gives to also + obtain the ISR mutex. */ + xOkToGiveMutex = pdTRUE; + if (xSemaphoreTake(xISRMutex, (xInterruptGivePeriod * 2)) != pdPASS) { + xErrorDetected = pdTRUE; + } + xOkToGiveMutex = pdFALSE; + + /* Attempting to take again immediately should fail as the mutex is + already held. */ + if (xSemaphoreTake(xISRMutex, intsemNO_BLOCK) != pdFAIL) { + xErrorDetected = pdTRUE; + } + + /* Should still be at the priority of the slave task. */ + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Give back the shared semaphore to ensure the priority is not disinherited + as the ISR mutex is still held. The higher priority slave task should run + before this task runs again. */ + if (xSemaphoreGive(xMasterSlaveMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + + /* Should still be at the priority of the slave task as this task still + holds one semaphore (this is a simplification in the priority inheritance + mechanism. */ + if (uxTaskPriorityGet(NULL) != intsemSLAVE_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Give back the ISR semaphore, which should result in the priority being + disinherited as it was the last mutex held. */ + if (xSemaphoreGive(xISRMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (uxTaskPriorityGet(NULL) != intsemMASTER_PRIORITY) { + xErrorDetected = pdTRUE; + } + + /* Reset the mutex ready for the next round. */ + xQueueReset(xISRMutex); +} +/*-----------------------------------------------------------*/ + +static void vInterruptMutexSlaveTask(void *pvParameters) +{ + /* Just to avoid compiler warnings. */ + (void)pvParameters; + + for (;;) { + /* This task starts by suspending itself so when it executes can be + controlled by the master task. */ + vTaskSuspend(NULL); + + /* This task will execute when the master task already holds the mutex. + Attempting to take the mutex will place this task in the Blocked + state. */ + if (xSemaphoreTake(xMasterSlaveMutex, portMAX_DELAY) != + pdPASS) { + xErrorDetected = pdTRUE; + } + + if (xSemaphoreGive(xMasterSlaveMutex) != pdPASS) { + xErrorDetected = pdTRUE; + } + } +} +/*-----------------------------------------------------------*/ + +static void vInterruptCountingSemaphoreTask(void *pvParameters) +{ + BaseType_t xCount; + const TickType_t xDelay = + pdMS_TO_TICKS(intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS) * + (intsemMAX_COUNT + 1); + + (void)pvParameters; + + for (;;) { + /* Expect to start with the counting semaphore empty. */ + if (uxQueueMessagesWaiting( + (QueueHandle_t)xISRCountingSemaphore) != 0) { + xErrorDetected = pdTRUE; + } + + /* Wait until it is expected that the interrupt will have filled the + counting semaphore. */ + xOkToGiveCountingSemaphore = pdTRUE; + vTaskDelay(xDelay); + xOkToGiveCountingSemaphore = pdFALSE; + + /* Now it is expected that the counting semaphore is full. */ + if (uxQueueMessagesWaiting( + (QueueHandle_t)xISRCountingSemaphore) != + intsemMAX_COUNT) { + xErrorDetected = pdTRUE; + } + + if (uxQueueSpacesAvailable( + (QueueHandle_t)xISRCountingSemaphore) != 0) { + xErrorDetected = pdTRUE; + } + + ulCountingSemaphoreLoops++; + + /* Expect to be able to take the counting semaphore intsemMAX_COUNT + times. A block time of 0 is used as the semaphore should already be + there. */ + xCount = 0; + while (xSemaphoreTake(xISRCountingSemaphore, 0) == pdPASS) { + xCount++; + } + + if (xCount != intsemMAX_COUNT) { + xErrorDetected = pdTRUE; + } + + /* Now raise the priority of this task so it runs immediately that the + semaphore is given from the interrupt. */ + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + + /* Block to wait for the semaphore to be given from the interrupt. */ + xOkToGiveCountingSemaphore = pdTRUE; + xSemaphoreTake(xISRCountingSemaphore, portMAX_DELAY); + xSemaphoreTake(xISRCountingSemaphore, portMAX_DELAY); + xOkToGiveCountingSemaphore = pdFALSE; + + /* Reset the priority so as not to disturbe other tests too much. */ + vTaskPrioritySet(NULL, tskIDLE_PRIORITY); + + ulCountingSemaphoreLoops++; + } +} +/*-----------------------------------------------------------*/ + +void vInterruptSemaphorePeriodicTest(void) +{ + static TickType_t xLastGiveTime = 0; + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + TickType_t xTimeNow; + + /* No mutual exclusion on xOkToGiveMutex, but this is only test code (and + only executed on a 32-bit architecture) so ignore that in this case. */ + xTimeNow = xTaskGetTickCountFromISR(); + if (((TickType_t)(xTimeNow - xLastGiveTime)) >= + pdMS_TO_TICKS(intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS)) { + configASSERT(xISRMutex); + if (xOkToGiveMutex != pdFALSE) { + /* Null is used as the second parameter in this give, and non-NULL + in the other gives for code coverage reasons. */ + xSemaphoreGiveFromISR(xISRMutex, NULL); + + /* Second give attempt should fail. */ + configASSERT( + xSemaphoreGiveFromISR( + xISRMutex, &xHigherPriorityTaskWoken) == + pdFAIL); + } + + if (xOkToGiveCountingSemaphore != pdFALSE) { + xSemaphoreGiveFromISR(xISRCountingSemaphore, + &xHigherPriorityTaskWoken); + } + xLastGiveTime = xTimeNow; + } + + /* Remove compiler warnings about the value being set but not used. */ + (void)xHigherPriorityTaskWoken; +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreInterruptSemaphoreTasksStillRunning(void) +{ + static uint32_t ulLastMasterLoopCounter = 0, + ulLastCountingSemaphoreLoops = 0; + + /* If the demo tasks are running then it is expected that the loop counters + will have changed since this function was last called. */ + if (ulLastMasterLoopCounter == ulMasterLoops) { + xErrorDetected = pdTRUE; + } + + ulLastMasterLoopCounter = ulMasterLoops; + + if (ulLastCountingSemaphoreLoops == ulCountingSemaphoreLoops) { + xErrorDetected = pdTRUE; + } + + ulLastCountingSemaphoreLoops = ulCountingSemaphoreLoops++; + + /* Errors detected in the task itself will have latched xErrorDetected + to true. */ + + return (BaseType_t)!xErrorDetected; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/MessageBufferAMP.c b/freertos/cvitek/task/demo/Common/Minimal/MessageBufferAMP.c new file mode 100644 index 000000000..e9cc02be5 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/MessageBufferAMP.c @@ -0,0 +1,320 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * An example that mimics a message buffer being used to pass data from one core + * to another. The core that sends the data is referred to as core A. The core + * that receives the data is referred to as core B. The task implemented by + * prvCoreATask() runs on core A. Two instances of the task implemented by + * prvCoreBTasks() run on core B. prvCoreATask() sends messages via message + * buffers to both instances of prvCoreBTasks(), one message buffer per channel. + * A third message buffer is used to pass the handle of the message buffer + * written to by core A to an interrupt service routine that is triggered by + * core A but executes on core B. + * + * The example relies on the FreeRTOS provided default implementation of + * sbSEND_COMPLETED() being overridden by an implementation in FreeRTOSConfig.h + * that writes the handle of the message buffer that contains data into the + * control message buffer, then generates an interrupt in core B. The necessary + * implementation is provided in this file and can be enabled by adding the + * following to FreeRTOSConfig.h: + * + * #define sbSEND_COMPLETED( pxStreamBuffer ) vGenerateCoreBInterrupt( pxStreamBuffer ) + * + * Core to core communication via message buffer requires the message buffers + * to be at an address known to both cores within shared memory. + * + * Note that, while this example uses three message buffers, the same + * functionality can be implemented using a single message buffer by using the + * same design pattern described on the link below for queues, but using message + * buffers instead. It is actually simpler with a message buffer as variable + * length data can be written into the message buffer directly: + * http://www.freertos.org/Pend-on-multiple-rtos-objects.html#alternative_design_pattern + */ + +/* Standard includes. */ +#include "stdio.h" +#include "string.h" + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "message_buffer.h" + +/* Demo app includes. */ +#include "MessageBufferAMP.h" + +/* Enough for 3 4 byte pointers, including the additional 4 bytes per message +overhead of message buffers. */ +#define mbaCONTROL_MESSAGE_BUFFER_SIZE (24) + +/* Enough four 4 8 byte strings, plus the additional 4 bytes per message +overhead of message buffers. */ +#define mbaTASK_MESSAGE_BUFFER_SIZE (60) + +/* The number of instances of prvCoreBTasks that are created. */ +#define mbaNUMBER_OF_CORE_B_TASKS 2 + +/* A block time of 0 simply means, don't block. */ +#define mbaDONT_BLOCK 0 + +/* Macro that mimics an interrupt service routine executing by simply calling +the routine inline. */ +#define mbaGENERATE_CORE_B_INTERRUPT() prvCoreBInterruptHandler() + +/*-----------------------------------------------------------*/ + +/* + * Implementation of the task that, on a real dual core device, would run on + * core A and send message to tasks running on core B. + */ +static void prvCoreATask(void *pvParameters); + +/* + * Implementation of the task that, on a real dual core device, would run on + * core B and receive message from core A. The demo creates two instances of + * this task. + */ +static void prvCoreBTasks(void *pvParameters); + +/* + * The function that, on a real dual core device, would handle inter-core + * interrupts, but in this case is just called inline. + */ +static void prvCoreBInterruptHandler(void); + +/*-----------------------------------------------------------*/ + +/* The message buffers used to pass data from core A to core B. */ +static MessageBufferHandle_t xCoreBMessageBuffers[mbaNUMBER_OF_CORE_B_TASKS]; + +/* The control message buffer. This is used to pass the handle of the message +message buffer that holds application data into the core to core interrupt +service routine. */ +static MessageBufferHandle_t xControlMessageBuffer; + +/* Counters used to indicate to the check that the tasks are still executing. */ +static uint32_t ulCycleCounters[mbaNUMBER_OF_CORE_B_TASKS]; + +/* Set to pdFALSE if any errors are detected. Used to inform the check task +that something might be wrong. */ +BaseType_t xDemoStatus = pdPASS; + +/*-----------------------------------------------------------*/ + +void vStartMessageBufferAMPTasks(configSTACK_DEPTH_TYPE xStackSize) +{ + BaseType_t x; + + xControlMessageBuffer = + xMessageBufferCreate(mbaCONTROL_MESSAGE_BUFFER_SIZE); + + xTaskCreate( + prvCoreATask, /* The function that implements the task. */ + "AMPCoreA", /* Human readable name for the task. */ + xStackSize, /* Stack size (in words!). */ + NULL, /* Task parameter is not used. */ + tskIDLE_PRIORITY, /* The priority at which the task is created. */ + NULL); /* No use for the task handle. */ + + for (x = 0; x < mbaNUMBER_OF_CORE_B_TASKS; x++) { + xCoreBMessageBuffers[x] = + xMessageBufferCreate(mbaTASK_MESSAGE_BUFFER_SIZE); + configASSERT(xCoreBMessageBuffers[x]); + + /* Pass the loop counter into the created task using the task's + parameter. The task then uses the value as an index into the + ulCycleCounters and xCoreBMessageBuffers arrays. */ + xTaskCreate(prvCoreBTasks, "AMPCoreB1", xStackSize, (void *)x, + tskIDLE_PRIORITY + 1, NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvCoreATask(void *pvParameters) +{ + BaseType_t x; + uint32_t ulNextValue = 0; + const TickType_t xDelay = pdMS_TO_TICKS(250); + char cString[15]; /* At least large enough to hold "4294967295\0" (0xffffffff). */ + + /* Remove warning about unused parameters. */ + (void)pvParameters; + + for (;;) { + /* Create the next string to send. The value is incremented on each + loop iteration, and the length of the string changes as the number of + digits in the value increases. */ + sprintf(cString, "%lu", (unsigned long)ulNextValue); + + /* Send the value from this (pseudo) Core A to the tasks on the (pseudo) + Core B via the message buffers. This will result in sbSEND_COMPLETED() + being executed, which in turn will write the handle of the message + buffer written to into xControlMessageBuffer then generate an interrupt + in core B. */ + for (x = 0; x < mbaNUMBER_OF_CORE_B_TASKS; x++) { + xMessageBufferSend(/* The message buffer to write to. */ + xCoreBMessageBuffers[x], + /* The source of the data to send. */ + (void *)cString, + /* The length of the data to send. */ + strlen(cString), + /* The block time, should the buffer be full. */ + mbaDONT_BLOCK); + } + + /* Delay before repeating with a different and potentially different + length string. */ + vTaskDelay(xDelay); + ulNextValue++; + } +} +/*-----------------------------------------------------------*/ + +static void prvCoreBTasks(void *pvParameters) +{ + BaseType_t x; + size_t xReceivedBytes; + uint32_t ulNextValue = 0; + char cExpectedString + [15]; /* At least large enough to hold "4294967295\0" (0xffffffff). */ + char cReceivedString[15]; + + /* The index into the xCoreBMessageBuffers and ulLoopCounter arrays is + passed into this task using the task's parameter. */ + x = (BaseType_t)pvParameters; + configASSERT(x < mbaNUMBER_OF_CORE_B_TASKS); + + for (;;) { + /* Create the string that is expected to be received this time round. */ + sprintf(cExpectedString, "%lu", (unsigned long)ulNextValue); + + /* Wait to receive the next message from core A. */ + memset(cReceivedString, 0x00, sizeof(cReceivedString)); + xReceivedBytes = + xMessageBufferReceive(/* The message buffer to receive from. */ + xCoreBMessageBuffers[x], + /* Location to store received data. */ + cReceivedString, + /* Maximum number of bytes to receive. */ + sizeof(cReceivedString), + /* Ticks to wait if buffer is empty. */ + portMAX_DELAY); + + /* Check the number of bytes received was as expected. */ + configASSERT(xReceivedBytes == strlen(cExpectedString)); + (void)xReceivedBytes; /* Incase configASSERT() is not defined. */ + + /* If the received string matches that expected then increment the loop + counter so the check task knows this task is still running. */ + if (strcmp(cReceivedString, cExpectedString) == 0) { + (ulCycleCounters[x])++; + } else { + xDemoStatus = pdFAIL; + } + + /* Expect the next string in sequence the next time around. */ + ulNextValue++; + } +} +/*-----------------------------------------------------------*/ + +/* Called by the reimplementation of sbSEND_COMPLETED(), which can be defined +as follows in FreeRTOSConfig.h: +#define sbSEND_COMPLETED( pxStreamBuffer ) vGenerateCoreBInterrupt( pxStreamBuffer ) +*/ +void vGenerateCoreBInterrupt(void *xUpdatedMessageBuffer) +{ + MessageBufferHandle_t xUpdatedBuffer = + (MessageBufferHandle_t)xUpdatedMessageBuffer; + + /* If sbSEND_COMPLETED() has been implemented as above, then this function + is called from within xMessageBufferSend(). As this function also calls + xMessageBufferSend() itself it is necessary to guard against a recursive + call. If the message buffer just updated is the message buffer written to + by this function, then this is a recursive call, and the function can just + exit without taking further action. */ + if (xUpdatedBuffer != xControlMessageBuffer) { + /* Use xControlMessageBuffer to pass the handle of the message buffer + written to by core A to the interrupt handler about to be generated in + core B. */ + xMessageBufferSend(xControlMessageBuffer, &xUpdatedBuffer, + sizeof(xUpdatedBuffer), mbaDONT_BLOCK); + + /* This is where the interrupt would be generated. In this case it is + not a genuine interrupt handler that executes, just a standard function + call. */ + mbaGENERATE_CORE_B_INTERRUPT(); + } +} +/*-----------------------------------------------------------*/ + +/* Handler for the interrupts that are triggered on core A but execute on core +B. */ +static void prvCoreBInterruptHandler(void) +{ + MessageBufferHandle_t xUpdatedMessageBuffer; + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + + /* xControlMessageBuffer contains the handle of the message buffer that + contains data. */ + if (xMessageBufferReceive(xControlMessageBuffer, &xUpdatedMessageBuffer, + sizeof(xUpdatedMessageBuffer), + mbaDONT_BLOCK) == + sizeof(xUpdatedMessageBuffer)) { + /* Call the API function that sends a notification to any task that is + blocked on the xUpdatedMessageBuffer message buffer waiting for data to + arrive. */ + xMessageBufferSendCompletedFromISR(xUpdatedMessageBuffer, + &xHigherPriorityTaskWoken); + } + + /* Normal FreeRTOS yield from interrupt semantics, where + xHigherPriorityTaskWoken is initialzed to pdFALSE and will then get set to + pdTRUE if the interrupt safe API unblocks a task that has a priority above + that of the currently executing task. */ + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreMessageBufferAMPTasksStillRunning(void) +{ + static uint32_t ulLastCycleCounters[mbaNUMBER_OF_CORE_B_TASKS] = { 0 }; + BaseType_t x; + + /* Called by the check task to determine the health status of the tasks + implemented in this demo. */ + for (x = 0; x < mbaNUMBER_OF_CORE_B_TASKS; x++) { + if (ulLastCycleCounters[x] == ulCycleCounters[x]) { + xDemoStatus = pdFAIL; + } else { + ulLastCycleCounters[x] = ulCycleCounters[x]; + } + } + + return xDemoStatus; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/MessageBufferDemo.c b/freertos/cvitek/task/demo/Common/Minimal/MessageBufferDemo.c new file mode 100644 index 000000000..854c6d348 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/MessageBufferDemo.c @@ -0,0 +1,914 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* Standard includes. */ +#include "stdio.h" +#include "string.h" + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "message_buffer.h" + +/* Demo app includes. */ +#include "MessageBufferDemo.h" + +/* The number of bytes of storage in the message buffers used in this test. */ +#define mbMESSAGE_BUFFER_LENGTH_BYTES ((size_t)50) + +/* The number of additional bytes used to store the length of each message. */ +#define mbBYTES_TO_STORE_MESSAGE_LENGTH \ + (sizeof(configMESSAGE_BUFFER_LENGTH_TYPE)) + +/* Start and end ASCII characters used in messages sent to the buffers. */ +#define mbASCII_SPACE 32 +#define mbASCII_TILDA 126 + +/* Defines the number of tasks to create in this test and demo. */ +#define mbNUMBER_OF_ECHO_CLIENTS (2) +#define mbNUMBER_OF_SENDER_TASKS (2) + +/* Priority of the test tasks. The send and receive go from low to high +priority tasks, and from high to low priority tasks. */ +#define mbLOWER_PRIORITY (tskIDLE_PRIORITY) +#define mbHIGHER_PRIORITY (tskIDLE_PRIORITY + 1) + +/* Block times used when sending and receiving from the message buffers. */ +#define mbRX_TX_BLOCK_TIME pdMS_TO_TICKS(175UL) + +/* A block time of 0 means "don't block". */ +#define mbDONT_BLOCK (0) + +/*-----------------------------------------------------------*/ + +/* + * Performs various tests that do not require multiple tasks to interact. + */ +static void prvSingleTaskTests(MessageBufferHandle_t xMessageBuffer); + +/* + * Tests sending and receiving various lengths of messages via a message buffer. + * The echo client sends the messages to the echo server, which then sends the + * message back to the echo client which, checks it receives exactly what it + * sent. + */ +static void prvEchoClient(void *pvParameters); +static void prvEchoServer(void *pvParameters); + +/* + * Tasks that send and receive to a message buffer at a low priority and without + * blocking, so the send and receive functions interleave in time as the tasks + * are switched in and out. + */ +static void prvNonBlockingReceiverTask(void *pvParameters); +static void prvNonBlockingSenderTask(void *pvParameters); + +#if (configSUPPORT_STATIC_ALLOCATION == 1) +/* This file tests both statically and dynamically allocated message buffers. + Allocate the structures and buffers to be used by the statically allocated + objects, which get used in the echo tests. */ +static void prvReceiverTask(void *pvParameters); +static void prvSenderTask(void *pvParameters); + +static StaticMessageBuffer_t xStaticMessageBuffers[mbNUMBER_OF_ECHO_CLIENTS]; +static uint8_t ucBufferStorage[mbNUMBER_OF_SENDER_TASKS] + [mbMESSAGE_BUFFER_LENGTH_BYTES + 1]; +static uint32_t ulSenderLoopCounters[mbNUMBER_OF_SENDER_TASKS] = { 0 }; +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/*-----------------------------------------------------------*/ + +/* The buffers used by the echo client and server tasks. */ +typedef struct ECHO_MESSAGE_BUFFERS { + /* Handles to the data structures that describe the message buffers. */ + MessageBufferHandle_t xEchoClientBuffer; + MessageBufferHandle_t xEchoServerBuffer; +} EchoMessageBuffers_t; +static uint32_t ulEchoLoopCounters[mbNUMBER_OF_ECHO_CLIENTS] = { 0 }; + +/* The non-blocking tasks monitor their operation, and if no errors have been +found, increment ulNonBlockingRxCounter. xAreMessageBufferTasksStillRunning() +then checks ulNonBlockingRxCounter and only returns pdPASS if +ulNonBlockingRxCounter is still incrementing. */ +static uint32_t ulNonBlockingRxCounter = 0; + +/* A message that is longer than the buffer, parts of which are written to the +message buffer to test writing different lengths at different offsets. */ +static const char *pc55ByteString = + "One two three four five six seven eight nine ten eleve"; + +/* Remember the required stack size so tasks can be created at run time (after +initialisation time. */ +static configSTACK_DEPTH_TYPE xBlockingStackSize = 0; + +/*-----------------------------------------------------------*/ + +void vStartMessageBufferTasks(configSTACK_DEPTH_TYPE xStackSize) +{ + MessageBufferHandle_t xMessageBuffer; + +#ifndef configMESSAGE_BUFFER_BLOCK_TASK_STACK_SIZE + xBlockingStackSize = (xStackSize + (xStackSize >> 1U)); +#else + xBlockingStackSize = configMESSAGE_BUFFER_BLOCK_TASK_STACK_SIZE; +#endif + + /* The echo servers sets up the message buffers before creating the echo + client tasks. One set of tasks has the server as the higher priority, and + the other has the client as the higher priority. */ + xTaskCreate(prvEchoServer, "1EchoServer", xBlockingStackSize, NULL, + mbHIGHER_PRIORITY, NULL); + xTaskCreate(prvEchoServer, "2EchoServer", xBlockingStackSize, NULL, + mbLOWER_PRIORITY, NULL); + + /* The non blocking tasks run continuously and will interleave with each + other, so must be created at the lowest priority. The message buffer they + use is created and passed in using the task's parameter. */ + xMessageBuffer = xMessageBufferCreate(mbMESSAGE_BUFFER_LENGTH_BYTES); + xTaskCreate(prvNonBlockingReceiverTask, "NonBlkRx", xStackSize, + (void *)xMessageBuffer, tskIDLE_PRIORITY, NULL); + xTaskCreate(prvNonBlockingSenderTask, "NonBlkTx", xStackSize, + (void *)xMessageBuffer, tskIDLE_PRIORITY, NULL); + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + /* The sender tasks set up the message buffers before creating the + receiver tasks. Priorities must be 0 and 1 as the priority is used to + index into the xStaticMessageBuffers and ucBufferStorage arrays. */ + xTaskCreate(prvSenderTask, "1Sender", xBlockingStackSize, NULL, + mbHIGHER_PRIORITY, NULL); + xTaskCreate(prvSenderTask, "2Sender", xBlockingStackSize, NULL, + mbLOWER_PRIORITY, NULL); + } +#endif /* configSUPPORT_STATIC_ALLOCATION */ +} +/*-----------------------------------------------------------*/ + +static void prvSingleTaskTests(MessageBufferHandle_t xMessageBuffer) +{ + size_t xReturned, xItem, xExpectedSpace, xNextLength; + const size_t xMax6ByteMessages = mbMESSAGE_BUFFER_LENGTH_BYTES / + (6 + mbBYTES_TO_STORE_MESSAGE_LENGTH); + const size_t x6ByteLength = 6, x17ByteLength = 17; + uint8_t *pucFullBuffer, *pucData, *pucReadData; + TickType_t xTimeBeforeCall, xTimeAfterCall; + const TickType_t xBlockTime = pdMS_TO_TICKS(25), + xAllowableMargin = pdMS_TO_TICKS(3); + UBaseType_t uxOriginalPriority; + + /* Remove warning in case configASSERT() is not defined. */ + (void)xAllowableMargin; + + /* To minimise stack and heap usage a full size buffer is allocated from + the heap, then buffers which hold smaller amounts of data are overlayed + with the larger buffer - just make sure not to use both at once!. */ + pucFullBuffer = pvPortMalloc(mbMESSAGE_BUFFER_LENGTH_BYTES); + configASSERT(pucFullBuffer); + + pucData = pucFullBuffer; + pucReadData = pucData + x17ByteLength; + + /* Nothing has been added or removed yet, so expect the free space to be + exactly as created and the length of the next message to be 0. */ + xExpectedSpace = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xExpectedSpace == mbMESSAGE_BUFFER_LENGTH_BYTES); + configASSERT(xMessageBufferIsEmpty(xMessageBuffer) == pdTRUE); + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == 0); + /* In case configASSERT() is not define. */ + (void)xExpectedSpace; + (void)xNextLength; + + /* The buffer is 50 bytes long. When an item is added to the buffer an + additional 4 bytes are added to hold the item's size. That means adding + 6 bytes to the buffer will actually add 10 bytes to the buffer. Therefore, + with a 50 byte buffer, a maximum of 5 6 bytes items can be added before the + buffer is completely full. NOTE: The numbers in this paragraph assume + sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) == 4. */ + for (xItem = 0; xItem < xMax6ByteMessages; xItem++) { + configASSERT(xMessageBufferIsFull(xMessageBuffer) == pdFALSE); + + /* Generate recognisable data to write to the buffer. This is just + ascii characters that shows which loop iteration the data was written + in. The 'FromISR' version is used to give it some exercise as a block + time is not used. That requires the call to be in a critical section + so this code can also run on FreeRTOS ports that do not support + interrupt nesting (and so don't have interrupt safe critical + sections).*/ + memset((void *)pucData, ((int)'0') + (int)xItem, x6ByteLength); + taskENTER_CRITICAL(); + { + xReturned = + xMessageBufferSendFromISR(xMessageBuffer, + (void *)pucData, + x6ByteLength, NULL); + } + taskEXIT_CRITICAL(); + configASSERT(xReturned == x6ByteLength); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* The space in the buffer will have reduced by the amount of user data + written into the buffer and the amount of space used to store the length + of the data written into the buffer. */ + xExpectedSpace -= + (x6ByteLength + mbBYTES_TO_STORE_MESSAGE_LENGTH); + xReturned = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xReturned == xExpectedSpace); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Only 6 byte messages are written. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == x6ByteLength); + (void)xNextLength; /* In case configASSERT() is not defined. */ + } + + /* Now the buffer should be full, and attempting to add anything will should + fail. */ + configASSERT(xMessageBufferIsFull(xMessageBuffer) == pdTRUE); + xReturned = xMessageBufferSend(xMessageBuffer, (void *)pucData, + sizeof(pucData[0]), mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Adding with a timeout should also fail after the appropriate time. The + priority is temporarily boosted in this part of the test to keep the + allowable margin to a minimum. */ + uxOriginalPriority = uxTaskPriorityGet(NULL); + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + xTimeBeforeCall = xTaskGetTickCount(); + xReturned = xMessageBufferSend(xMessageBuffer, (void *)pucData, + sizeof(pucData[0]), xBlockTime); + xTimeAfterCall = xTaskGetTickCount(); + vTaskPrioritySet(NULL, uxOriginalPriority); + configASSERT(((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) >= + xBlockTime); + configASSERT(((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) < + (xBlockTime + xAllowableMargin)); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)xTimeBeforeCall; + (void)xTimeAfterCall; + + /* The buffer is now full of data in the form "000000", "111111", etc. Make + sure the data is read out as expected. */ + for (xItem = 0; xItem < xMax6ByteMessages; xItem++) { + /* Generate the data that is expected to be read out for this loop + iteration. */ + memset((void *)pucData, ((int)'0') + (int)xItem, x6ByteLength); + + /* Try reading the message into a buffer that is too small. The message + should remain in the buffer. */ + xReturned = + xMessageBufferReceive(xMessageBuffer, + (void *)pucReadData, + x6ByteLength - 1, mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Should still be at least one 6 byte message still available. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == x6ByteLength); + (void)xNextLength; /* In case configASSERT() is not defined. */ + + /* Read the next 6 bytes out. The 'FromISR' version is used to give it + some exercise as a block time is not used. THa requires the code to be + in a critical section so this test can be run with FreeRTOS ports that + do not support interrupt nesting (and therefore don't have interrupt + safe critical sections). */ + taskENTER_CRITICAL(); + { + xReturned = xMessageBufferReceiveFromISR( + xMessageBuffer, (void *)pucReadData, + x6ByteLength, NULL); + } + taskEXIT_CRITICAL(); + configASSERT(xReturned == x6ByteLength); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Does the data read out match that expected? */ + configASSERT(memcmp((void *)pucData, (void *)pucReadData, + x6ByteLength) == 0); + + /* The space in the buffer will have increased by the amount of user + data read from into the buffer and the amount of space used to store the + length of the data read into the buffer. */ + xExpectedSpace += + (x6ByteLength + mbBYTES_TO_STORE_MESSAGE_LENGTH); + xReturned = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xReturned == xExpectedSpace); + (void)xReturned; /* In case configASSERT() is not defined. */ + } + + /* The buffer should be empty again. */ + configASSERT(xMessageBufferIsEmpty(xMessageBuffer) == pdTRUE); + xExpectedSpace = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xExpectedSpace == mbMESSAGE_BUFFER_LENGTH_BYTES); + (void)xExpectedSpace; /* In case configASSERT() is not defined. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == 0); + (void)xNextLength; /* In case configASSERT() is not defined. */ + + /* Reading with a timeout should also fail after the appropriate time. The + priority is temporarily boosted in this part of the test to keep the + allowable margin to a minimum. */ + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + xTimeBeforeCall = xTaskGetTickCount(); + xReturned = xMessageBufferReceive(xMessageBuffer, (void *)pucReadData, + x6ByteLength, xBlockTime); + xTimeAfterCall = xTaskGetTickCount(); + vTaskPrioritySet(NULL, uxOriginalPriority); + configASSERT((xTimeAfterCall - xTimeBeforeCall) >= xBlockTime); + configASSERT((xTimeAfterCall - xTimeBeforeCall) < + (xBlockTime + xAllowableMargin)); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)xTimeBeforeCall; + (void)xTimeAfterCall; + + /* In the next loop 17 bytes are written to then read out on each iteration. + The expected length variable is always used after 17 bytes have been written + into the buffer - the length of the message is also written, making a total + of 21 bytes consumed for each 17 byte message. */ + xExpectedSpace = mbMESSAGE_BUFFER_LENGTH_BYTES - + (x17ByteLength + mbBYTES_TO_STORE_MESSAGE_LENGTH); + + /* Reading and writing 17 bytes at a time will result in 21 bytes being + written into the buffer, and as 50 is not divisible by 21, writing multiple + times will cause the data to wrap in the buffer.*/ + for (xItem = 0; xItem < 100; xItem++) { + /* Generate recognisable data to write to the queue. This is just + ascii characters that shows which loop iteration the data was written + in. */ + memset((void *)pucData, ((int)'0') + (int)xItem, x17ByteLength); + xReturned = xMessageBufferSend(xMessageBuffer, (void *)pucData, + x17ByteLength, mbDONT_BLOCK); + configASSERT(xReturned == x17ByteLength); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Only 17 byte messages are written. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == x17ByteLength); + (void)xNextLength; /* In case configASSERT() is not defined. */ + + /* The space in the buffer will have reduced by the amount of user data + written into the buffer and the amount of space used to store the length + of the data written into the buffer. */ + xReturned = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xReturned == xExpectedSpace); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Read the 17 bytes out again. */ + xReturned = xMessageBufferReceive(xMessageBuffer, + (void *)pucReadData, + x17ByteLength, mbDONT_BLOCK); + configASSERT(xReturned == x17ByteLength); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Does the data read out match that expected? */ + configASSERT(memcmp((void *)pucData, (void *)pucReadData, + x17ByteLength) == 0); + + /* Don't expect any messages to be available as the data was read out + again. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == 0); + (void)xNextLength; /* In case configASSERT() is not defined. */ + } + + /* The buffer should be empty again. */ + configASSERT(xMessageBufferIsEmpty(xMessageBuffer) == pdTRUE); + xExpectedSpace = xMessageBufferSpaceAvailable(xMessageBuffer); + configASSERT(xExpectedSpace == mbMESSAGE_BUFFER_LENGTH_BYTES); + + /* Cannot write within sizeof( size_t ) (assumed to be 4 bytes in this test) + bytes of the full 50 bytes, as that would not leave space for the four bytes + taken by the data length. */ + xReturned = + xMessageBufferSend(xMessageBuffer, (const void *)pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES, mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ +#ifndef configMESSAGE_BUFFER_LENGTH_TYPE + { + /* The following will fail if configMESSAGE_BUFFER_LENGTH_TYPE is set + to a non 32-bit type. */ + xReturned = xMessageBufferSend( + xMessageBuffer, (const void *)pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES - 1, mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + xReturned = xMessageBufferSend( + xMessageBuffer, (const void *)pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES - 2, mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + xReturned = xMessageBufferSend( + xMessageBuffer, (const void *)pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES - 3, mbDONT_BLOCK); + configASSERT(xReturned == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + } +#endif + + /* Don't expect any messages to be available as the above were too large to + get written. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == 0); + (void)xNextLength; /* In case configASSERT() is not defined. */ + + /* Can write mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof( size_t ) bytes though. */ + xReturned = xMessageBufferSend( + xMessageBuffer, (const void *)pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t), mbDONT_BLOCK); + configASSERT(xReturned == + mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t)); + (void)xReturned; /* In case configASSERT() is not defined. */ + xNextLength = xMessageBufferNextLengthBytes(xMessageBuffer); + configASSERT(xNextLength == + (mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t))); + (void)xNextLength; /* In case configASSERT() is not defined. */ + xReturned = xMessageBufferReceive( + xMessageBuffer, (void *)pucFullBuffer, + mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t), mbDONT_BLOCK); + configASSERT(xReturned == + (mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t))); + (void)xReturned; /* In case configASSERT() is not defined. */ + configASSERT(memcmp((const void *)pucFullBuffer, pc55ByteString, + mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t)) == + 0); + + /* Clean up. */ + vPortFree(pucFullBuffer); + xMessageBufferReset(xMessageBuffer); +} +/*-----------------------------------------------------------*/ + +static void prvNonBlockingSenderTask(void *pvParameters) +{ + MessageBufferHandle_t xMessageBuffer; + int32_t iDataToSend = 0; + size_t xStringLength; + const int32_t iMaxValue = 1500; + char cTxString[12]; /* Large enough to hold a 32 number in ASCII. */ + + /* In this case the message buffer has already been created and is passed + into the task using the task's parameter. */ + xMessageBuffer = (MessageBufferHandle_t)pvParameters; + + /* Create a string from an incrementing number. The length of the + string will increase and decrease as the value of the number increases + then overflows. */ + memset(cTxString, 0x00, sizeof(cTxString)); + sprintf(cTxString, "%d", (int)iDataToSend); + xStringLength = strlen(cTxString); + + for (;;) { + /* Doesn't block so calls can interleave with the non-blocking + receives performed by prvNonBlockingReceiverTask(). */ + if (xMessageBufferSend(xMessageBuffer, (void *)cTxString, + strlen(cTxString), + mbDONT_BLOCK) == xStringLength) { + iDataToSend++; + + if (iDataToSend > iMaxValue) { + /* The value sent is reset back to 0 to ensure the string being sent + does not remain at the same length for too long. */ + iDataToSend = 0; + } + + /* Create the next string. */ + memset(cTxString, 0x00, sizeof(cTxString)); + sprintf(cTxString, "%d", (int)iDataToSend); + xStringLength = strlen(cTxString); + } + } +} +/*-----------------------------------------------------------*/ + +static void prvNonBlockingReceiverTask(void *pvParameters) +{ + MessageBufferHandle_t xMessageBuffer; + BaseType_t xNonBlockingReceiveError = pdFALSE; + int32_t iDataToSend = 0; + size_t xStringLength, xReceiveLength; + const int32_t iMaxValue = 1500; + char cExpectedString[12]; /* Large enough to hold a 32 number in ASCII. */ + char cRxString[12]; + + /* In this case the message buffer has already been created and is passed + into the task using the task's parameter. */ + xMessageBuffer = (MessageBufferHandle_t)pvParameters; + + /* Create a string from an incrementing number. The length of the + string will increase and decrease as the value of the number increases + then overflows. This should always match the string sent to the buffer by + the non blocking sender task. */ + memset(cExpectedString, 0x00, sizeof(cExpectedString)); + memset(cRxString, 0x00, sizeof(cRxString)); + sprintf(cExpectedString, "%d", (int)iDataToSend); + xStringLength = strlen(cExpectedString); + + for (;;) { + /* Doesn't block so calls can interleave with the non-blocking + receives performed by prvNonBlockingReceiverTask(). */ + xReceiveLength = + xMessageBufferReceive(xMessageBuffer, (void *)cRxString, + sizeof(cRxString), mbDONT_BLOCK); + + /* Should only ever receive no data is available, or the expected + length of data is available. */ + if ((xReceiveLength != 0) && + (xReceiveLength != xStringLength)) { + xNonBlockingReceiveError = pdTRUE; + } + + if (xReceiveLength == xStringLength) { + /* Ensure the received data was that expected, then generate the + next expected string. */ + if (strcmp(cRxString, cExpectedString) != 0) { + xNonBlockingReceiveError = pdTRUE; + } + + iDataToSend++; + + if (iDataToSend > iMaxValue) { + /* The value sent is reset back to 0 to ensure the string being sent + does not remain at the same length for too long. */ + iDataToSend = 0; + } + + memset(cExpectedString, 0x00, sizeof(cExpectedString)); + memset(cRxString, 0x00, sizeof(cRxString)); + sprintf(cExpectedString, "%d", (int)iDataToSend); + xStringLength = strlen(cExpectedString); + + if (xNonBlockingReceiveError == pdFALSE) { + /* No errors detected so increment the counter that lets the + check task know this test is still functioning correctly. */ + ulNonBlockingRxCounter++; + } + } + } +} +/*-----------------------------------------------------------*/ + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + +static void prvSenderTask(void *pvParameters) +{ + MessageBufferHandle_t xMessageBuffer, xTempMessageBuffer; + int32_t iDataToSend = 0; + const int32_t iSendsBetweenIncrements = 100; + char cTxString[12]; /* Large enough to hold a 32 number in ASCII. */ + const TickType_t xTicksToWait = mbRX_TX_BLOCK_TIME, + xShortDelay = pdMS_TO_TICKS(50); + StaticMessageBuffer_t xStaticMessageBuffer; + size_t xBytesSent; + + /* The task's priority is used as an index into the loop counters used to + indicate this task is still running. */ + UBaseType_t uxIndex = uxTaskPriorityGet(NULL); + + /* Make sure a change in priority does not inadvertently result in an + invalid array index. */ + configASSERT(uxIndex < mbNUMBER_OF_ECHO_CLIENTS); + + /* Avoid compiler warnings about unused parameters. */ + (void)pvParameters; + + xMessageBuffer = xMessageBufferCreateStatic( + sizeof(ucBufferStorage) / + mbNUMBER_OF_SENDER_TASKS, /* The number of bytes in each buffer in the array. */ + &(ucBufferStorage + [uxIndex] + [0]), /* The address of the buffer to use within the array. */ + &(xStaticMessageBuffers + [uxIndex])); /* The static message buffer structure to use within the array. */ + + /* Now the message buffer has been created the receiver task can be created. + If this sender task has the higher priority then the receiver task is + created at the lower priority - if this sender task has the lower priority + then the receiver task is created at the higher priority. */ + if (uxTaskPriorityGet(NULL) == mbLOWER_PRIORITY) { + /* Here prvSingleTaskTests() performs various tests on a message buffer + that was created statically. */ + prvSingleTaskTests(xMessageBuffer); + xTaskCreate(prvReceiverTask, "MsgReceiver", xBlockingStackSize, + (void *)xMessageBuffer, mbHIGHER_PRIORITY, NULL); + } else { + xTaskCreate(prvReceiverTask, "MsgReceiver", xBlockingStackSize, + (void *)xMessageBuffer, mbLOWER_PRIORITY, NULL); + } + + for (;;) { + /* Create a string from an incrementing number. The length of the + string will increase and decrease as the value of the number increases + then overflows. */ + memset(cTxString, 0x00, sizeof(cTxString)); + sprintf(cTxString, "%d", (int)iDataToSend); + + do { + xBytesSent = xMessageBufferSend(xMessageBuffer, + (void *)cTxString, + strlen(cTxString), + xTicksToWait); + } while ( + xBytesSent == + 0); /* Buffer may become full when receiver is running at the idle priority. */ + + iDataToSend++; + + if ((iDataToSend % iSendsBetweenIncrements) == 0) { + /* Increment a loop counter so a check task can tell this task is + still running as expected. */ + ulSenderLoopCounters[uxIndex]++; + + if (uxTaskPriorityGet(NULL) == mbHIGHER_PRIORITY) { + /* Allow other tasks to run. */ + vTaskDelay(xShortDelay); + } + + /* This message buffer is just created and deleted to ensure no + issues when attempting to delete a message buffer that was + created using statically allocated memory. To save stack space + the buffer is set to point to the cTxString array - this is + ok because nothing is actually written to the memory. */ + xTempMessageBuffer = xMessageBufferCreateStatic( + sizeof(cTxString), (uint8_t *)cTxString, + &xStaticMessageBuffer); + vMessageBufferDelete(xTempMessageBuffer); + } + } +} + +#endif /* configSUPPORT_STATIC_ALLOCATION */ +/*-----------------------------------------------------------*/ + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + +static void prvReceiverTask(void *pvParameters) +{ + MessageBufferHandle_t *const pxMessageBuffer = + (MessageBufferHandle_t *)pvParameters; + char cExpectedString + [12]; /* Large enough to hold a 32-bit number in ASCII. */ + char cReceivedString + [12]; /* Large enough to hold a 32-bit number in ASCII. */ + int32_t iExpectedData = 0; + const TickType_t xTicksToWait = pdMS_TO_TICKS(5UL); + size_t xReceivedBytes; + + for (;;) { + /* Generate the next expected string in the cExpectedString buffer. */ + memset(cExpectedString, 0x00, sizeof(cExpectedString)); + sprintf(cExpectedString, "%d", (int)iExpectedData); + + /* Receive the next string from the message buffer. */ + memset(cReceivedString, 0x00, sizeof(cReceivedString)); + + do { + xReceivedBytes = xMessageBufferReceive( + pxMessageBuffer, (void *)cReceivedString, + sizeof(cExpectedString), xTicksToWait); + + } while (xReceivedBytes == 0); + + /* Ensure the received string matches the expected string. */ + configASSERT(strcmp(cExpectedString, cReceivedString) == 0); + + iExpectedData++; + } +} + +#endif /* configSUPPORT_STATIC_ALLOCATION */ +/*-----------------------------------------------------------*/ + +static void prvEchoClient(void *pvParameters) +{ + size_t xSendLength = 0, ux; + char *pcStringToSend, *pcStringReceived, cNextChar = mbASCII_SPACE; + const TickType_t xTicksToWait = pdMS_TO_TICKS(50); + + /* The task's priority is used as an index into the loop counters used to +indicate this task is still running. */ + UBaseType_t uxIndex = uxTaskPriorityGet(NULL); + + /* Pointers to the client and server message buffers are passed into this task +using the task's parameter. */ + EchoMessageBuffers_t *pxMessageBuffers = + (EchoMessageBuffers_t *)pvParameters; + + /* Prevent compiler warnings. */ + (void)pvParameters; + + /* Create the buffer into which strings to send to the server will be + created, and the buffer into which strings echoed back from the server will + be copied. */ + pcStringToSend = (char *)pvPortMalloc(mbMESSAGE_BUFFER_LENGTH_BYTES); + pcStringReceived = (char *)pvPortMalloc(mbMESSAGE_BUFFER_LENGTH_BYTES); + + configASSERT(pcStringToSend); + configASSERT(pcStringReceived); + + for (;;) { + /* Generate the length of the next string to send. */ + xSendLength++; + + /* The message buffer is being used to hold variable length data, so + each data item requires sizeof( size_t ) bytes to hold the data's + length, hence the sizeof() in the if() condition below. */ + if (xSendLength > + (mbMESSAGE_BUFFER_LENGTH_BYTES - sizeof(size_t))) { + /* Back to a string length of 1. */ + xSendLength = sizeof(char); + + /* Maintain a count of the number of times this code executes so a + check task can determine if this task is still functioning as + expected or not. As there are two client tasks, and the priorities + used are 0 and 1, the task's priority is used as an index into the + loop count array. */ + ulEchoLoopCounters[uxIndex]++; + } + + memset(pcStringToSend, 0x00, mbMESSAGE_BUFFER_LENGTH_BYTES); + + for (ux = 0; ux < xSendLength; ux++) { + pcStringToSend[ux] = cNextChar; + + cNextChar++; + + if (cNextChar > mbASCII_TILDA) { + cNextChar = mbASCII_SPACE; + } + } + + /* Send the generated string to the buffer. */ + do { + ux = xMessageBufferSend( + pxMessageBuffers->xEchoClientBuffer, + (void *)pcStringToSend, xSendLength, + xTicksToWait); + + if (ux == 0) { + mtCOVERAGE_TEST_MARKER(); + } + + } while (ux == 0); + + /* Wait for the string to be echoed back. */ + memset(pcStringReceived, 0x00, mbMESSAGE_BUFFER_LENGTH_BYTES); + xMessageBufferReceive(pxMessageBuffers->xEchoServerBuffer, + (void *)pcStringReceived, xSendLength, + portMAX_DELAY); + + configASSERT(strcmp(pcStringToSend, pcStringReceived) == 0); + } +} +/*-----------------------------------------------------------*/ + +static void prvEchoServer(void *pvParameters) +{ + MessageBufferHandle_t xTempMessageBuffer; + size_t xReceivedLength; + char *pcReceivedString; + EchoMessageBuffers_t xMessageBuffers; + TickType_t xTimeOnEntering; + const TickType_t xTicksToBlock = pdMS_TO_TICKS(250UL); + + /* Prevent compiler warnings about unused parameters. */ + (void)pvParameters; + + /* Create the message buffer used to send data from the client to the server, + and the message buffer used to echo the data from the server back to the + client. */ + xMessageBuffers.xEchoClientBuffer = + xMessageBufferCreate(mbMESSAGE_BUFFER_LENGTH_BYTES); + xMessageBuffers.xEchoServerBuffer = + xMessageBufferCreate(mbMESSAGE_BUFFER_LENGTH_BYTES); + configASSERT(xMessageBuffers.xEchoClientBuffer); + configASSERT(xMessageBuffers.xEchoServerBuffer); + + /* Create the buffer into which received strings will be copied. */ + pcReceivedString = (char *)pvPortMalloc(mbMESSAGE_BUFFER_LENGTH_BYTES); + configASSERT(pcReceivedString); + + /* Don't expect to receive anything yet! */ + xTimeOnEntering = xTaskGetTickCount(); + xReceivedLength = xMessageBufferReceive( + xMessageBuffers.xEchoClientBuffer, (void *)pcReceivedString, + mbMESSAGE_BUFFER_LENGTH_BYTES, xTicksToBlock); + configASSERT(((TickType_t)(xTaskGetTickCount() - xTimeOnEntering)) >= + xTicksToBlock); + configASSERT(xReceivedLength == 0); + (void)xTimeOnEntering; /* In case configASSERT() is not defined. */ + + /* Now the message buffers have been created the echo client task can be + created. If this server task has the higher priority then the client task + is created at the lower priority - if this server task has the lower + priority then the client task is created at the higher priority. */ + if (uxTaskPriorityGet(NULL) == mbLOWER_PRIORITY) { + xTaskCreate(prvEchoClient, "EchoClient", + configMINIMAL_STACK_SIZE, (void *)&xMessageBuffers, + mbHIGHER_PRIORITY, NULL); + } else { + /* Here prvSingleTaskTests() performs various tests on a message buffer + that was created dynamically. */ + prvSingleTaskTests(xMessageBuffers.xEchoClientBuffer); + xTaskCreate(prvEchoClient, "EchoClient", + configMINIMAL_STACK_SIZE, (void *)&xMessageBuffers, + mbLOWER_PRIORITY, NULL); + } + + for (;;) { + memset(pcReceivedString, 0x00, mbMESSAGE_BUFFER_LENGTH_BYTES); + + /* Has any data been sent by the client? */ + xReceivedLength = + xMessageBufferReceive(xMessageBuffers.xEchoClientBuffer, + (void *)pcReceivedString, + mbMESSAGE_BUFFER_LENGTH_BYTES, + portMAX_DELAY); + + /* Should always receive data as max delay was used. */ + configASSERT(xReceivedLength > 0); + + /* Echo the received data back to the client. */ + xMessageBufferSend(xMessageBuffers.xEchoServerBuffer, + (void *)pcReceivedString, xReceivedLength, + portMAX_DELAY); + + /* This message buffer is just created and deleted to ensure no memory + leaks. */ + xTempMessageBuffer = + xMessageBufferCreate(mbMESSAGE_BUFFER_LENGTH_BYTES); + vMessageBufferDelete(xTempMessageBuffer); + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreMessageBufferTasksStillRunning(void) +{ + static uint32_t ulLastEchoLoopCounters[mbNUMBER_OF_ECHO_CLIENTS] = { 0 }; + static uint32_t ulLastNonBlockingRxCounter = 0; + BaseType_t xReturn = pdPASS, x; + + for (x = 0; x < mbNUMBER_OF_ECHO_CLIENTS; x++) { + if (ulLastEchoLoopCounters[x] == ulEchoLoopCounters[x]) { + xReturn = pdFAIL; + } else { + ulLastEchoLoopCounters[x] = ulEchoLoopCounters[x]; + } + } + + if (ulNonBlockingRxCounter == ulLastNonBlockingRxCounter) { + xReturn = pdFAIL; + } else { + ulLastNonBlockingRxCounter = ulNonBlockingRxCounter; + } + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + static uint32_t + ulLastSenderLoopCounters[mbNUMBER_OF_ECHO_CLIENTS] = { + 0 + }; + + for (x = 0; x < mbNUMBER_OF_SENDER_TASKS; x++) { + if (ulLastSenderLoopCounters[x] == + ulSenderLoopCounters[x]) { + xReturn = pdFAIL; + } else { + ulLastSenderLoopCounters[x] = + ulSenderLoopCounters[x]; + } + } + } +#endif /* configSUPPORT_STATIC_ALLOCATION */ + + return xReturn; +} +/*-----------------------------------------------------------*/ diff --git a/freertos/cvitek/task/demo/Common/Minimal/PollQ.c b/freertos/cvitek/task/demo/Common/Minimal/PollQ.c new file mode 100644 index 000000000..dfc1dd761 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/PollQ.c @@ -0,0 +1,216 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This version of PollQ. c is for use on systems that have limited stack + * space and no display facilities. The complete version can be found in + * the Demo/Common/Full directory. + * + * Creates two tasks that communicate over a single queue. One task acts as a + * producer, the other a consumer. + * + * The producer loops for three iteration, posting an incrementing number onto the + * queue each cycle. It then delays for a fixed period before doing exactly the + * same again. + * + * The consumer loops emptying the queue. Each item removed from the queue is + * checked to ensure it contains the expected value. When the queue is empty it + * blocks for a fixed period, then does the same again. + * + * All queue access is performed without blocking. The consumer completely empties + * the queue each time it runs so the producer should never find the queue full. + * + * An error is flagged if the consumer obtains an unexpected value or the producer + * find the queue is full. + */ + +/* +Changes from V2.0.0 + + + Delay periods are now specified using variables and constants of + TickType_t rather than uint32_t. +*/ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo program include files. */ +#include "PollQ.h" + +#define pollqSTACK_SIZE configMINIMAL_STACK_SIZE +#define pollqQUEUE_SIZE (10) +#define pollqPRODUCER_DELAY (pdMS_TO_TICKS((TickType_t)200)) +#define pollqCONSUMER_DELAY \ + (pollqPRODUCER_DELAY - (TickType_t)(20 / portTICK_PERIOD_MS)) +#define pollqNO_DELAY ((TickType_t)0) +#define pollqVALUES_TO_PRODUCE ((BaseType_t)3) +#define pollqINITIAL_VALUE ((BaseType_t)0) + +/* The task that posts the incrementing number onto the queue. */ +static portTASK_FUNCTION_PROTO(vPolledQueueProducer, pvParameters); + +/* The task that empties the queue. */ +static portTASK_FUNCTION_PROTO(vPolledQueueConsumer, pvParameters); + +/* Variables that are used to check that the tasks are still running with no +errors. */ +static volatile BaseType_t xPollingConsumerCount = pollqINITIAL_VALUE, + xPollingProducerCount = pollqINITIAL_VALUE; + +/*-----------------------------------------------------------*/ + +void vStartPolledQueueTasks(UBaseType_t uxPriority) +{ + static QueueHandle_t xPolledQueue; + + /* Create the queue used by the producer and consumer. */ + xPolledQueue = + xQueueCreate(pollqQUEUE_SIZE, (UBaseType_t)sizeof(uint16_t)); + + if (xPolledQueue != NULL) { + /* vQueueAddToRegistry() adds the queue to the queue registry, if one is + in use. The queue registry is provided as a means for kernel aware + debuggers to locate queues and has no purpose if a kernel aware debugger + is not being used. The call to vQueueAddToRegistry() will be removed + by the pre-processor if configQUEUE_REGISTRY_SIZE is not defined or is + defined to be less than 1. */ + vQueueAddToRegistry(xPolledQueue, "Poll_Test_Queue"); + + /* Spawn the producer and consumer. */ + xTaskCreate(vPolledQueueConsumer, "QConsNB", pollqSTACK_SIZE, + (void *)&xPolledQueue, uxPriority, + (TaskHandle_t *)NULL); + xTaskCreate(vPolledQueueProducer, "QProdNB", pollqSTACK_SIZE, + (void *)&xPolledQueue, uxPriority, + (TaskHandle_t *)NULL); + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vPolledQueueProducer, pvParameters) +{ + uint16_t usValue = (uint16_t)0; + BaseType_t xError = pdFALSE, xLoop; + + for (;;) { + for (xLoop = 0; xLoop < pollqVALUES_TO_PRODUCE; xLoop++) { + /* Send an incrementing number on the queue without blocking. */ + if (xQueueSend(*((QueueHandle_t *)pvParameters), + (void *)&usValue, + pollqNO_DELAY) != pdPASS) { + /* We should never find the queue full so if we get here there + has been an error. */ + xError = pdTRUE; + } else { + if (xError == pdFALSE) { + /* If an error has ever been recorded we stop incrementing the + check variable. */ + portENTER_CRITICAL(); + xPollingProducerCount++; + portEXIT_CRITICAL(); + } + + /* Update the value we are going to post next time around. */ + usValue++; + } + } + + /* Wait before we start posting again to ensure the consumer runs and + empties the queue. */ + vTaskDelay(pollqPRODUCER_DELAY); + } +} /*lint !e818 Function prototype must conform to API. */ +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vPolledQueueConsumer, pvParameters) +{ + uint16_t usData, usExpectedValue = (uint16_t)0; + BaseType_t xError = pdFALSE; + + for (;;) { + /* Loop until the queue is empty. */ + while (uxQueueMessagesWaiting( + *((QueueHandle_t *)pvParameters))) { + if (xQueueReceive(*((QueueHandle_t *)pvParameters), + &usData, pollqNO_DELAY) == pdPASS) { + if (usData != usExpectedValue) { + /* This is not what we expected to receive so an error has + occurred. */ + xError = pdTRUE; + + /* Catch-up to the value we received so our next expected + value should again be correct. */ + usExpectedValue = usData; + } else { + if (xError == pdFALSE) { + /* Only increment the check variable if no errors have + occurred. */ + portENTER_CRITICAL(); + xPollingConsumerCount++; + portEXIT_CRITICAL(); + } + } + + /* Next time round we would expect the number to be one higher. */ + usExpectedValue++; + } + } + + /* Now the queue is empty we block, allowing the producer to place more + items in the queue. */ + vTaskDelay(pollqCONSUMER_DELAY); + } +} /*lint !e818 Function prototype must conform to API. */ +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running with no errors. */ +BaseType_t xArePollingQueuesStillRunning(void) +{ + BaseType_t xReturn; + + /* Check both the consumer and producer poll count to check they have both + been changed since out last trip round. We do not need a critical section + around the check variables as this is called from a higher priority than + the other tasks that access the same variables. */ + if ((xPollingConsumerCount == pollqINITIAL_VALUE) || + (xPollingProducerCount == pollqINITIAL_VALUE)) { + xReturn = pdFALSE; + } else { + xReturn = pdTRUE; + } + + /* Set the check variables back down so we know if they have been + incremented the next time around. */ + xPollingConsumerCount = pollqINITIAL_VALUE; + xPollingProducerCount = pollqINITIAL_VALUE; + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/QPeek.c b/freertos/cvitek/task/demo/Common/Minimal/QPeek.c new file mode 100644 index 000000000..65eb69371 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/QPeek.c @@ -0,0 +1,416 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the behaviour when data is peeked from a queue when there are + * multiple tasks blocked on the queue. + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +/* Demo program include files. */ +#include "QPeek.h" + +#define qpeekQUEUE_LENGTH (5) +#define qpeekNO_BLOCK (0) +#define qpeekSHORT_DELAY (10) + +#define qpeekLOW_PRIORITY (tskIDLE_PRIORITY + 0) +#define qpeekMEDIUM_PRIORITY (tskIDLE_PRIORITY + 1) +#define qpeekHIGH_PRIORITY (tskIDLE_PRIORITY + 2) +#define qpeekHIGHEST_PRIORITY (tskIDLE_PRIORITY + 3) + +/*-----------------------------------------------------------*/ + +/* + * The following three tasks are used to demonstrate the peeking behaviour. + * Each task is given a different priority to demonstrate the order in which + * tasks are woken as data is peeked from a queue. + */ +static void prvLowPriorityPeekTask(void *pvParameters); +static void prvMediumPriorityPeekTask(void *pvParameters); +static void prvHighPriorityPeekTask(void *pvParameters); +static void prvHighestPriorityPeekTask(void *pvParameters); + +/*-----------------------------------------------------------*/ + +/* Flag that will be latched to pdTRUE should any unexpected behaviour be +detected in any of the tasks. */ +static volatile BaseType_t xErrorDetected = pdFALSE; + +/* Counter that is incremented on each cycle of a test. This is used to +detect a stalled task - a test that is no longer running. */ +static volatile uint32_t ulLoopCounter = 0; + +/* Handles to the test tasks. */ +TaskHandle_t xMediumPriorityTask, xHighPriorityTask, xHighestPriorityTask; +/*-----------------------------------------------------------*/ + +void vStartQueuePeekTasks(void) +{ + QueueHandle_t xQueue; + + /* Create the queue that we are going to use for the test/demo. */ + xQueue = xQueueCreate(qpeekQUEUE_LENGTH, sizeof(uint32_t)); + + if (xQueue != NULL) { + /* vQueueAddToRegistry() adds the queue to the queue registry, if one is + in use. The queue registry is provided as a means for kernel aware + debuggers to locate queues and has no purpose if a kernel aware debugger + is not being used. The call to vQueueAddToRegistry() will be removed + by the pre-processor if configQUEUE_REGISTRY_SIZE is not defined or is + defined to be less than 1. */ + vQueueAddToRegistry(xQueue, "QPeek_Test_Queue"); + + /* Create the demo tasks and pass it the queue just created. We are + passing the queue handle by value so it does not matter that it is declared + on the stack here. */ + xTaskCreate(prvLowPriorityPeekTask, "PeekL", + configMINIMAL_STACK_SIZE, (void *)xQueue, + qpeekLOW_PRIORITY, NULL); + xTaskCreate(prvMediumPriorityPeekTask, "PeekM", + configMINIMAL_STACK_SIZE, (void *)xQueue, + qpeekMEDIUM_PRIORITY, &xMediumPriorityTask); + xTaskCreate(prvHighPriorityPeekTask, "PeekH1", + configMINIMAL_STACK_SIZE, (void *)xQueue, + qpeekHIGH_PRIORITY, &xHighPriorityTask); + xTaskCreate(prvHighestPriorityPeekTask, "PeekH2", + configMINIMAL_STACK_SIZE, (void *)xQueue, + qpeekHIGHEST_PRIORITY, &xHighestPriorityTask); + } +} +/*-----------------------------------------------------------*/ + +static void prvHighestPriorityPeekTask(void *pvParameters) +{ + QueueHandle_t xQueue = (QueueHandle_t)pvParameters; + uint32_t ulValue; + +#ifdef USE_STDIO + { + void vPrintDisplayMessage(const char *const *ppcMessageToSend); + + const char *const pcTaskStartMsg = + "Queue peek test started.\r\n"; + + /* Queue a message for printing to say the task has started. */ + vPrintDisplayMessage(&pcTaskStartMsg); + } +#endif + + for (;;) { + /* Try peeking from the queue. The queue should be empty so we will + block, allowing the high priority task to execute. */ + if (xQueuePeek(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + /* We expected to have received something by the time we unblock. */ + xErrorDetected = pdTRUE; + } + + /* When we reach here the high and medium priority tasks should still + be blocked on the queue. We unblocked because the low priority task + wrote a value to the queue, which we should have peeked. Peeking the + data (rather than receiving it) will leave the data on the queue, so + the high priority task should then have also been unblocked, but not + yet executed. */ + if (ulValue != 0x11223344) { + /* We did not receive the expected value. */ + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 1) { + /* The message should have been left on the queue. */ + xErrorDetected = pdTRUE; + } + + /* Now we are going to actually receive the data, so when the high + priority task runs it will find the queue empty and return to the + blocked state. */ + ulValue = 0; + if (xQueueReceive(xQueue, &ulValue, qpeekNO_BLOCK) != pdPASS) { + /* We expected to receive the value. */ + xErrorDetected = pdTRUE; + } + + if (ulValue != 0x11223344) { + /* We did not receive the expected value - which should have been + the same value as was peeked. */ + xErrorDetected = pdTRUE; + } + + /* Now we will block again as the queue is once more empty. The low + priority task can then execute again. */ + if (xQueuePeek(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + /* We expected to have received something by the time we unblock. */ + xErrorDetected = pdTRUE; + } + + /* When we get here the low priority task should have again written to the + queue. */ + if (ulValue != 0x01234567) { + /* We did not receive the expected value. */ + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 1) { + /* The message should have been left on the queue. */ + xErrorDetected = pdTRUE; + } + + /* We only peeked the data, so suspending ourselves now should enable + the high priority task to also peek the data. The high priority task + will have been unblocked when we peeked the data as we left the data + in the queue. */ + vTaskSuspend(NULL); + + /* This time we are going to do the same as the above test, but the + high priority task is going to receive the data, rather than peek it. + This means that the medium priority task should never peek the value. */ + if (xQueuePeek(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (ulValue != 0xaabbaabb) { + xErrorDetected = pdTRUE; + } + + vTaskSuspend(NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvHighPriorityPeekTask(void *pvParameters) +{ + QueueHandle_t xQueue = (QueueHandle_t)pvParameters; + uint32_t ulValue; + + for (;;) { + /* Try peeking from the queue. The queue should be empty so we will + block, allowing the medium priority task to execute. Both the high + and highest priority tasks will then be blocked on the queue. */ + if (xQueuePeek(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + /* We expected to have received something by the time we unblock. */ + xErrorDetected = pdTRUE; + } + + /* When we get here the highest priority task should have peeked the data + (unblocking this task) then suspended (allowing this task to also peek + the data). */ + if (ulValue != 0x01234567) { + /* We did not receive the expected value. */ + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 1) { + /* The message should have been left on the queue. */ + xErrorDetected = pdTRUE; + } + + /* We only peeked the data, so suspending ourselves now should enable + the medium priority task to also peek the data. The medium priority task + will have been unblocked when we peeked the data as we left the data + in the queue. */ + vTaskSuspend(NULL); + + /* This time we are going actually receive the value, so the medium + priority task will never peek the data - we removed it from the queue. */ + if (xQueueReceive(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + xErrorDetected = pdTRUE; + } + + if (ulValue != 0xaabbaabb) { + xErrorDetected = pdTRUE; + } + + vTaskSuspend(NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvMediumPriorityPeekTask(void *pvParameters) +{ + QueueHandle_t xQueue = (QueueHandle_t)pvParameters; + uint32_t ulValue; + + for (;;) { + /* Try peeking from the queue. The queue should be empty so we will + block, allowing the low priority task to execute. The highest, high + and medium priority tasks will then all be blocked on the queue. */ + if (xQueuePeek(xQueue, &ulValue, portMAX_DELAY) != pdPASS) { + /* We expected to have received something by the time we unblock. */ + xErrorDetected = pdTRUE; + } + + /* When we get here the high priority task should have peeked the data + (unblocking this task) then suspended (allowing this task to also peek + the data). */ + if (ulValue != 0x01234567) { + /* We did not receive the expected value. */ + xErrorDetected = pdTRUE; + } + + if (uxQueueMessagesWaiting(xQueue) != 1) { + /* The message should have been left on the queue. */ + xErrorDetected = pdTRUE; + } + + /* Just so we know the test is still running. */ + ulLoopCounter++; + + /* Now we can suspend ourselves so the low priority task can execute + again. */ + vTaskSuspend(NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvLowPriorityPeekTask(void *pvParameters) +{ + QueueHandle_t xQueue = (QueueHandle_t)pvParameters; + uint32_t ulValue; + + for (;;) { + /* Write some data to the queue. This should unblock the highest + priority task that is waiting to peek data from the queue. */ + ulValue = 0x11223344; + if (xQueueSendToBack(xQueue, &ulValue, qpeekNO_BLOCK) != + pdPASS) { + /* We were expecting the queue to be empty so we should not of + had a problem writing to the queue. */ + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* By the time we get here the data should have been removed from + the queue. */ + if (uxQueueMessagesWaiting(xQueue) != 0) { + xErrorDetected = pdTRUE; + } + + /* Write another value to the queue, again waking the highest priority + task that is blocked on the queue. */ + ulValue = 0x01234567; + if (xQueueSendToBack(xQueue, &ulValue, qpeekNO_BLOCK) != + pdPASS) { + /* We were expecting the queue to be empty so we should not of + had a problem writing to the queue. */ + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* All the other tasks should now have successfully peeked the data. + The data is still in the queue so we should be able to receive it. */ + ulValue = 0; + if (xQueueReceive(xQueue, &ulValue, qpeekNO_BLOCK) != pdPASS) { + /* We expected to receive the data. */ + xErrorDetected = pdTRUE; + } + + if (ulValue != 0x01234567) { + /* We did not receive the expected value. */ + xErrorDetected = pdTRUE; + } + + /* Lets just delay a while as this is an intensive test as we don't + want to starve other tests of processing time. */ + vTaskDelay(qpeekSHORT_DELAY); + + /* Unsuspend the other tasks so we can repeat the test - this time + however not all the other tasks will peek the data as the high + priority task is actually going to remove it from the queue. Send + to front is used just to be different. As the queue is empty it + makes no difference to the result. */ + vTaskResume(xMediumPriorityTask); + vTaskResume(xHighPriorityTask); + vTaskResume(xHighestPriorityTask); + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + + ulValue = 0xaabbaabb; + if (xQueueSendToFront(xQueue, &ulValue, qpeekNO_BLOCK) != + pdPASS) { + /* We were expecting the queue to be empty so we should not of + had a problem writing to the queue. */ + xErrorDetected = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* This time we should find that the queue is empty. The high priority + task actually removed the data rather than just peeking it. */ + if (xQueuePeek(xQueue, &ulValue, qpeekNO_BLOCK) != + errQUEUE_EMPTY) { + /* We expected to receive the data. */ + xErrorDetected = pdTRUE; + } + + /* Unsuspend the highest and high priority tasks so we can go back + and repeat the whole thing. The medium priority task should not be + suspended as it was not able to peek the data in this last case. */ + vTaskResume(xHighPriorityTask); + vTaskResume(xHighestPriorityTask); + + /* Lets just delay a while as this is an intensive test as we don't + want to starve other tests of processing time. */ + vTaskDelay(qpeekSHORT_DELAY); + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreQueuePeekTasksStillRunning(void) +{ + static uint32_t ulLastLoopCounter = 0; + + /* If the demo task is still running then we expect the loopcounter to + have incremented since this function was last called. */ + if (ulLastLoopCounter == ulLoopCounter) { + xErrorDetected = pdTRUE; + } + + ulLastLoopCounter = ulLoopCounter; + + /* Errors detected in the task itself will have latched xErrorDetected + to true. */ + + return (BaseType_t)!xErrorDetected; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/QueueOverwrite.c b/freertos/cvitek/task/demo/Common/Minimal/QueueOverwrite.c new file mode 100644 index 000000000..ea687165c --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/QueueOverwrite.c @@ -0,0 +1,215 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Basic task to demonstrate the xQueueOverwrite() function. See the comments + * in the function itself. + */ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo program include files. */ +#include "QueueOverwrite.h" + +/* A block time of 0 just means "don't block". */ +#define qoDONT_BLOCK 0 + +/* Number of times to overwrite the value in the queue. */ +#define qoLOOPS 5 + +/* The task that uses the queue. */ +static void prvQueueOverwriteTask(void *pvParameters); + +/* Variable that is incremented on each loop of prvQueueOverwriteTask() provided +prvQueueOverwriteTask() has not found any errors. */ +static uint32_t ulLoopCounter = 0; + +/* Set to pdFALSE if an error is discovered by the +vQueueOverwritePeriodicISRDemo() function. */ +static BaseType_t xISRTestStatus = pdPASS; + +/* The queue that is accessed from the ISR. The queue accessed by the task is +created inside the task itself. */ +static QueueHandle_t xISRQueue = NULL; + +/*-----------------------------------------------------------*/ + +void vStartQueueOverwriteTask(UBaseType_t uxPriority) +{ + const UBaseType_t uxQueueLength = 1; + + /* Create the queue used by the ISR. xQueueOverwriteFromISR() should only + be used on queues that have a length of 1. */ + xISRQueue = xQueueCreate(uxQueueLength, (UBaseType_t)sizeof(uint32_t)); + + /* Create the test task. The queue used by the test task is created inside + the task itself. */ + xTaskCreate(prvQueueOverwriteTask, "QOver", configMINIMAL_STACK_SIZE, + NULL, uxPriority, (TaskHandle_t *)NULL); +} +/*-----------------------------------------------------------*/ + +static void prvQueueOverwriteTask(void *pvParameters) +{ + QueueHandle_t xTaskQueue; + const UBaseType_t uxQueueLength = 1; + uint32_t ulValue, ulStatus = pdPASS, x; + + /* The parameter is not used. */ + (void)pvParameters; + + /* Create the queue. xQueueOverwrite() should only be used on queues that + have a length of 1. */ + xTaskQueue = xQueueCreate(uxQueueLength, (UBaseType_t)sizeof(uint32_t)); + configASSERT(xTaskQueue); + + for (;;) { + /* The queue is empty. Writing to the queue then reading from the queue + should return the item written. */ + ulValue = 10; + xQueueOverwrite(xTaskQueue, &ulValue); + + ulValue = 0; + xQueueReceive(xTaskQueue, &ulValue, qoDONT_BLOCK); + + if (ulValue != 10) { + ulStatus = pdFAIL; + } + + /* Now try writing to the queue several times. Each time the value + in the queue should get overwritten. */ + for (x = 0; x < qoLOOPS; x++) { + /* Write to the queue. */ + xQueueOverwrite(xTaskQueue, &x); + + /* Check the value in the queue is that written, even though the + queue was not necessarily empty. */ + xQueuePeek(xTaskQueue, &ulValue, qoDONT_BLOCK); + if (ulValue != x) { + ulStatus = pdFAIL; + } + + /* There should always be one item in the queue. */ + if (uxQueueMessagesWaiting(xTaskQueue) != + uxQueueLength) { + ulStatus = pdFAIL; + } + } + + /* Empty the queue again. */ + xQueueReceive(xTaskQueue, &ulValue, qoDONT_BLOCK); + + if (uxQueueMessagesWaiting(xTaskQueue) != 0) { + ulStatus = pdFAIL; + } + + if (ulStatus != pdFAIL) { + /* Increment a counter to show this task is still running without + error. */ + ulLoopCounter++; + } + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xIsQueueOverwriteTaskStillRunning(void) +{ + BaseType_t xReturn; + + if (xISRTestStatus != pdPASS) { + xReturn = pdFAIL; + } else if (ulLoopCounter > 0) { + xReturn = pdPASS; + } else { + /* The task has either stalled of discovered an error. */ + xReturn = pdFAIL; + } + + ulLoopCounter = 0; + + return xReturn; +} +/*-----------------------------------------------------------*/ + +void vQueueOverwritePeriodicISRDemo(void) +{ + static uint32_t ulCallCount = 0; + const uint32_t ulTx1 = 10UL, ulTx2 = 20UL, ulNumberOfSwitchCases = 3UL; + uint32_t ulRx; + + /* This function should be called from an interrupt, such as the tick hook + function vApplicationTickHook(). */ + + configASSERT(xISRQueue); + + switch (ulCallCount) { + case 0: + /* The queue is empty. Write ulTx1 to the queue. In this demo the + last parameter is not used because there are no tasks blocked on + this queue. */ + xQueueOverwriteFromISR(xISRQueue, &ulTx1, NULL); + + /* Peek the queue to check it holds the expected value. */ + xQueuePeekFromISR(xISRQueue, &ulRx); + if (ulRx != ulTx1) { + xISRTestStatus = pdFAIL; + } + break; + + case 1: + /* The queue already holds ulTx1. Overwrite the value in the queue + with ulTx2. */ + xQueueOverwriteFromISR(xISRQueue, &ulTx2, NULL); + break; + + case 2: + /* Read from the queue to empty the queue again. The value read + should be ulTx2. */ + xQueueReceiveFromISR(xISRQueue, &ulRx, NULL); + + if (ulRx != ulTx2) { + xISRTestStatus = pdFAIL; + } + break; + } + + /* Run the next case in the switch statement above next time this function + is called. */ + ulCallCount++; + + if (ulCallCount >= ulNumberOfSwitchCases) { + /* Go back to the start. */ + ulCallCount = 0; + } +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/QueueSet.c b/freertos/cvitek/task/demo/Common/Minimal/QueueSet.c new file mode 100644 index 000000000..a63a19920 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/QueueSet.c @@ -0,0 +1,1051 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the use of queue sets. + * + * A receive task creates a number of queues and adds them to a queue set before + * blocking on the queue set receive. A transmit task and (optionally) an + * interrupt repeatedly unblocks the receive task by sending messages to the + * queues in a pseudo random order. The receive task removes the messages from + * the queues and flags an error if the received message does not match that + * expected. The task sends values in the range 0 to + * queuesetINITIAL_ISR_TX_VALUE, and the ISR sends value in the range + * queuesetINITIAL_ISR_TX_VALUE to ULONG_MAX. + */ + +/* Standard includes. */ +#include <stdlib.h> +#include <limits.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo includes. */ +#include "QueueSet.h" + +#if (configUSE_QUEUE_SETS == \ + 1) /* Remove the tests if queue sets are not defined. */ + +/* The number of queues that are created and added to the queue set. */ +#define queuesetNUM_QUEUES_IN_SET 3 + +/* The length of each created queue. */ +#define queuesetQUEUE_LENGTH 3 + +/* Block times used in this demo. A block time or 0 means "don't block". */ +#define queuesetSHORT_DELAY 200 +#define queuesetDONT_BLOCK 0 + +/* Messages are sent in incrementing order from both a task and an interrupt. +The task sends values in the range 0 to 0xfffe, and the interrupt sends values +in the range of 0xffff to ULONG_MAX. */ +#define queuesetINITIAL_ISR_TX_VALUE 0xffffUL + +/* The priorities used in this demo. */ +#define queuesetLOW_PRIORITY (tskIDLE_PRIORITY) +#define queuesetMEDIUM_PRIORITY (queuesetLOW_PRIORITY + 1) + +/* For test purposes the priority of the sending task is changed after every +queuesetPRIORITY_CHANGE_LOOPS number of values are sent to a queue. */ +#define queuesetPRIORITY_CHANGE_LOOPS \ + ((queuesetNUM_QUEUES_IN_SET * queuesetQUEUE_LENGTH) * 2) + +/* The ISR sends to the queue every queuesetISR_TX_PERIOD ticks. */ +#define queuesetISR_TX_PERIOD (100UL) + +/* A delay inserted when the Tx task changes its priority to be above the idle +task priority to ensure the idle priority tasks get some CPU time before the +next iteration of the queue set Tx task. */ +#define queuesetTX_LOOP_DELAY pdMS_TO_TICKS((TickType_t)200) + +/* The allowable maximum deviation between a received value and the expected +received value. A deviation will occur when data is received from a queue +inside an ISR in between a task receiving from a queue and the task checking +the received value. */ +#define queuesetALLOWABLE_RX_DEVIATION 3 + +/* Ignore values that are at the boundaries of allowable values to make the +testing of limits easier (don't have to deal with wrapping values). */ +#define queuesetIGNORED_BOUNDARY (queuesetALLOWABLE_RX_DEVIATION * 2) + +typedef enum { + eEqualPriority = 0, /* Tx and Rx tasks have the same priority. */ + eTxHigherPriority, /* The priority of the Tx task is above that of the Rx task. */ + eTxLowerPriority /* The priority of the Tx task is below that of the Rx task. */ +} eRelativePriorities; + +/* + * The task that periodically sends to the queue set. + */ +static void prvQueueSetSendingTask(void *pvParameters); + +/* + * The task that reads from the queue set. + */ +static void prvQueueSetReceivingTask(void *pvParameters); + +/* + * Check the value received from a queue is the expected value. Some values + * originate from the send task, some values originate from the ISR, with the + * range of the value being used to distinguish between the two message + * sources. + */ +static void prvCheckReceivedValue(uint32_t ulReceived); + +/* + * For purposes of test coverage, functions that read from and write to a + * queue set from an ISR respectively. + */ +static void prvReceiveFromQueueInSetFromISR(void); +static void prvSendToQueueInSetFromISR(void); + +/* + * Create the queues and add them to a queue set before resuming the Tx + * task. + */ +static void prvSetupTest(void); + +/* + * Checks a value received from a queue falls within the range of expected + * values. + */ +static BaseType_t +prvCheckReceivedValueWithinExpectedRange(uint32_t ulReceived, + uint32_t ulExpectedReceived); + +/* + * Increase test coverage by occasionally change the priorities of the two tasks + * relative to each other. + */ +static void prvChangeRelativePriorities(void); + +/* + * Queue overwrites can only be performed on queues of length of one, requiring + * a special test function so a queue of length 1 can temporarily be added to a + * set. + */ +static void prvTestQueueOverwriteWithQueueSet(void); + +/* + * Test the case where two queues within a set are written to with + * xQueueOverwrite(). + */ +static void prvTestQueueOverwriteOnTwoQueusInQueueSet(void); +static void prvTestQueueOverwriteFromISROnTwoQueusInQueueSet(void); + +/* + * Local pseudo random number seed and return functions. Used to avoid calls + * to the standard library. + */ +static size_t prvRand(void); +static void prvSRand(size_t uxSeed); + +/*-----------------------------------------------------------*/ + +/* The queues that are added to the set. */ +static QueueHandle_t xQueues[queuesetNUM_QUEUES_IN_SET] = { 0 }; + +/* Counts how many times each queue in the set is used to ensure all the +queues are used. */ +static uint32_t ulQueueUsedCounter[queuesetNUM_QUEUES_IN_SET] = { 0 }; + +/* The handle of the queue set to which the queues are added. */ +static QueueSetHandle_t xQueueSet; + +/* If the prvQueueSetReceivingTask() task has not detected any errors then +it increments ulCycleCounter on each iteration. +xAreQueueSetTasksStillRunning() returns pdPASS if the value of +ulCycleCounter has changed between consecutive calls, and pdFALSE if +ulCycleCounter has stopped incrementing (indicating an error condition). */ +static volatile uint32_t ulCycleCounter = 0UL; + +/* Set to pdFAIL if an error is detected by any queue set task. +ulCycleCounter will only be incremented if xQueueSetTasksSatus equals pdPASS. */ +static volatile BaseType_t xQueueSetTasksStatus = pdPASS; + +/* Just a flag to let the function that writes to a queue from an ISR know that +the queues are setup and can be used. */ +static volatile BaseType_t xSetupComplete = pdFALSE; + +/* The value sent to the queue from the ISR is file scope so the +xAreQueeuSetTasksStillRunning() function can check it is incrementing as +expected. */ +static volatile uint32_t ulISRTxValue = queuesetINITIAL_ISR_TX_VALUE; + +/* Used by the pseudo random number generator. */ +static size_t uxNextRand = 0; + +/* The task handles are stored so their priorities can be changed. */ +TaskHandle_t xQueueSetSendingTask, xQueueSetReceivingTask; + +/*-----------------------------------------------------------*/ + +void vStartQueueSetTasks(void) +{ + /* Create the tasks. */ + xTaskCreate(prvQueueSetSendingTask, "SetTx", configMINIMAL_STACK_SIZE, + NULL, queuesetMEDIUM_PRIORITY, &xQueueSetSendingTask); + + if (xQueueSetSendingTask != NULL) { + xTaskCreate(prvQueueSetReceivingTask, "SetRx", + configMINIMAL_STACK_SIZE, + (void *)xQueueSetSendingTask, + queuesetMEDIUM_PRIORITY, &xQueueSetReceivingTask); + + /* It is important that the sending task does not attempt to write to a + queue before the queue has been created. It is therefore placed into + the suspended state before the scheduler has started. It is resumed by + the receiving task after the receiving task has created the queues and + added the queues to the queue set. */ + vTaskSuspend(xQueueSetSendingTask); + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreQueueSetTasksStillRunning(void) +{ + static uint32_t ulLastCycleCounter, ulLastISRTxValue = 0; + static uint32_t ulLastQueueUsedCounter[queuesetNUM_QUEUES_IN_SET] = { + 0 + }; + BaseType_t xReturn = pdPASS, x; + + if (ulLastCycleCounter == ulCycleCounter) { + /* The cycle counter is no longer being incremented. Either one of the + tasks is stalled or an error has been detected. */ + xReturn = pdFAIL; + } + + ulLastCycleCounter = ulCycleCounter; + + /* Ensure that all the queues in the set have been used. This ensures the + test is working as intended and guards against the rand() in the Tx task + missing some values. */ + for (x = 0; x < queuesetNUM_QUEUES_IN_SET; x++) { + if (ulLastQueueUsedCounter[x] == ulQueueUsedCounter[x]) { + xReturn = pdFAIL; + } + + ulLastQueueUsedCounter[x] = ulQueueUsedCounter[x]; + } + + /* Check the global status flag. */ + if (xQueueSetTasksStatus != pdPASS) { + xReturn = pdFAIL; + } + + /* Check that the ISR is still sending values to the queues too. */ + if (ulISRTxValue == ulLastISRTxValue) { + xReturn = pdFAIL; + } else { + ulLastISRTxValue = ulISRTxValue; + } + + return xReturn; +} +/*-----------------------------------------------------------*/ + +static void prvQueueSetSendingTask(void *pvParameters) +{ + uint32_t ulTaskTxValue = 0; + size_t uxQueueToWriteTo; + QueueHandle_t xQueueInUse; + + /* Remove compiler warning about the unused parameter. */ + (void)pvParameters; + + /* Seed mini pseudo random number generator. */ + prvSRand((size_t)&ulTaskTxValue); + + for (;;) { + /* Generate the index for the queue to which a value is to be sent. */ + uxQueueToWriteTo = prvRand() % queuesetNUM_QUEUES_IN_SET; + xQueueInUse = xQueues[uxQueueToWriteTo]; + + /* Note which index is being written to to ensure all the queues are + used. */ + (ulQueueUsedCounter[uxQueueToWriteTo])++; + + /* Send to the queue to unblock the task that is waiting for data to + arrive on a queue within the queue set to which this queue belongs. */ + if (xQueueSendToBack(xQueueInUse, &ulTaskTxValue, + portMAX_DELAY) != pdPASS) { + /* The send should always pass as an infinite block time was + used. */ + xQueueSetTasksStatus = pdFAIL; + } + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + + ulTaskTxValue++; + + /* If the Tx value has reached the range used by the ISR then set it + back to 0. */ + if (ulTaskTxValue == queuesetINITIAL_ISR_TX_VALUE) { + ulTaskTxValue = 0; + } + + /* Increase test coverage by occasionally change the priorities of the + two tasks relative to each other. */ + prvChangeRelativePriorities(); + } +} +/*-----------------------------------------------------------*/ + +static void prvChangeRelativePriorities(void) +{ + static UBaseType_t ulLoops = 0; + static eRelativePriorities ePriorities = eEqualPriority; + + /* Occasionally change the task priority relative to the priority of + the receiving task. */ + ulLoops++; + if (ulLoops >= queuesetPRIORITY_CHANGE_LOOPS) { + ulLoops = 0; + + switch (ePriorities) { + case eEqualPriority: + /* Both tasks are running with medium priority. Now lower the + priority of the receiving task so the Tx task has the higher + relative priority. */ + vTaskPrioritySet(xQueueSetReceivingTask, + queuesetLOW_PRIORITY); + ePriorities = eTxHigherPriority; + break; + + case eTxHigherPriority: + /* The Tx task is running with a higher priority than the Rx + task. Switch the priorities around so the Rx task has the + higher relative priority. */ + vTaskPrioritySet(xQueueSetReceivingTask, + queuesetMEDIUM_PRIORITY); + vTaskPrioritySet(xQueueSetSendingTask, + queuesetLOW_PRIORITY); + ePriorities = eTxLowerPriority; + break; + + case eTxLowerPriority: + /* The Tx task is running with a lower priority than the Rx + task. Make the priorities equal again. */ + vTaskPrioritySet(xQueueSetSendingTask, + queuesetMEDIUM_PRIORITY); + ePriorities = eEqualPriority; + + /* When both tasks are using a non-idle priority the queue set + tasks will starve idle priority tasks of execution time - so + relax a bit before the next iteration to minimise the impact. */ + vTaskDelay(queuesetTX_LOOP_DELAY); + + break; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueSetReceivingTask(void *pvParameters) +{ + uint32_t ulReceived; + QueueHandle_t xActivatedQueue; + TickType_t xBlockTime; + + /* Remove compiler warnings. */ + (void)pvParameters; + + /* Create the queues and add them to the queue set before resuming the Tx + task. */ + prvSetupTest(); + + for (;;) { + /* For test coverage reasons, the block time is dependent on the + priority of this task - which changes during the test. When the task + is at the idle priority it polls the queue set. */ + if (uxTaskPriorityGet(NULL) == tskIDLE_PRIORITY) { + xBlockTime = 0; + } else { + xBlockTime = portMAX_DELAY; + } + + /* Wait for a message to arrive on one of the queues in the set. */ + xActivatedQueue = xQueueSelectFromSet(xQueueSet, portMAX_DELAY); + + if (xActivatedQueue == NULL) { + if (xBlockTime != 0) { + /* This should not happen as an infinite delay was used. */ + xQueueSetTasksStatus = pdFAIL; + } + } else { + /* Reading from the queue should pass with a zero block time as + this task will only run when something has been posted to a task + in the queue set. */ + if (xQueueReceive(xActivatedQueue, &ulReceived, + queuesetDONT_BLOCK) != pdPASS) { + xQueueSetTasksStatus = pdFAIL; + } + + /* Ensure the value received was the value expected. This function + manipulates file scope data and is also called from an ISR, hence + the critical section. */ + taskENTER_CRITICAL(); + { + prvCheckReceivedValue(ulReceived); + } + taskEXIT_CRITICAL(); + + if (xQueueSetTasksStatus == pdPASS) { + ulCycleCounter++; + } + } + } +} +/*-----------------------------------------------------------*/ + +void vQueueSetAccessQueueSetFromISR(void) +{ + static uint32_t ulCallCount = 0; + + /* xSetupComplete is set to pdTRUE when the queues have been created and + are available for use. */ + if (xSetupComplete == pdTRUE) { + /* It is intended that this function is called from the tick hook + function, so each call is one tick period apart. */ + ulCallCount++; + if (ulCallCount > queuesetISR_TX_PERIOD) { + ulCallCount = 0; + + /* First attempt to read from the queue set. */ + prvReceiveFromQueueInSetFromISR(); + + /* Then write to the queue set. */ + prvSendToQueueInSetFromISR(); + } + } +} +/*-----------------------------------------------------------*/ + +static void prvCheckReceivedValue(uint32_t ulReceived) +{ + static uint32_t ulExpectedReceivedFromTask = 0, + ulExpectedReceivedFromISR = + queuesetINITIAL_ISR_TX_VALUE; + + /* Values are received in tasks and interrupts. It is likely that the + receiving task will sometimes get preempted by the receiving interrupt + between reading a value from the queue and calling this function. When + that happens, if the receiving interrupt calls this function the values + will get passed into this function slightly out of order. For that + reason the value passed in is tested against a small range of expected + values, rather than a single absolute value. To make the range testing + easier values in the range limits are ignored. */ + + /* If the received value is equal to or greater than + queuesetINITIAL_ISR_TX_VALUE then it was sent by an ISR. */ + if (ulReceived >= queuesetINITIAL_ISR_TX_VALUE) { + /* The value was sent from the ISR. */ + if ((ulReceived - queuesetINITIAL_ISR_TX_VALUE) < + queuesetIGNORED_BOUNDARY) { + /* The value received is at the lower limit of the expected range. + Don't test it and expect to receive one higher next time. */ + } else if ((ULONG_MAX - ulReceived) <= + queuesetIGNORED_BOUNDARY) { + /* The value received is at the higher limit of the expected range. + Don't test it and expect to wrap soon. */ + } else { + /* Check the value against its expected value range. */ + if (prvCheckReceivedValueWithinExpectedRange( + ulReceived, ulExpectedReceivedFromISR) != + pdPASS) { + xQueueSetTasksStatus = pdFAIL; + } + } + + configASSERT(xQueueSetTasksStatus); + + /* It is expected to receive an incrementing number. */ + ulExpectedReceivedFromISR++; + if (ulExpectedReceivedFromISR == 0) { + ulExpectedReceivedFromISR = + queuesetINITIAL_ISR_TX_VALUE; + } + } else { + /* The value was sent from the Tx task. */ + if (ulReceived < queuesetIGNORED_BOUNDARY) { + /* The value received is at the lower limit of the expected range. + Don't test it, and expect to receive one higher next time. */ + } else if (((queuesetINITIAL_ISR_TX_VALUE - 1) - ulReceived) <= + queuesetIGNORED_BOUNDARY) { + /* The value received is at the higher limit of the expected range. + Don't test it and expect to wrap soon. */ + } else { + /* Check the value against its expected value range. */ + if (prvCheckReceivedValueWithinExpectedRange( + ulReceived, ulExpectedReceivedFromTask) != + pdPASS) { + xQueueSetTasksStatus = pdFAIL; + } + } + + configASSERT(xQueueSetTasksStatus); + + /* It is expected to receive an incrementing number. */ + ulExpectedReceivedFromTask++; + if (ulExpectedReceivedFromTask >= + queuesetINITIAL_ISR_TX_VALUE) { + ulExpectedReceivedFromTask = 0; + } + } +} +/*-----------------------------------------------------------*/ + +static BaseType_t +prvCheckReceivedValueWithinExpectedRange(uint32_t ulReceived, + uint32_t ulExpectedReceived) +{ + BaseType_t xReturn = pdPASS; + + if (ulReceived > ulExpectedReceived) { + configASSERT((ulReceived - ulExpectedReceived) <= + queuesetALLOWABLE_RX_DEVIATION); + if ((ulReceived - ulExpectedReceived) > + queuesetALLOWABLE_RX_DEVIATION) { + xReturn = pdFALSE; + } + } else { + configASSERT((ulExpectedReceived - ulReceived) <= + queuesetALLOWABLE_RX_DEVIATION); + if ((ulExpectedReceived - ulReceived) > + queuesetALLOWABLE_RX_DEVIATION) { + xReturn = pdFALSE; + } + } + + return xReturn; +} +/*-----------------------------------------------------------*/ + +static void prvReceiveFromQueueInSetFromISR(void) +{ + QueueSetMemberHandle_t xActivatedQueue; + uint32_t ulReceived; + + /* See if any of the queues in the set contain data. */ + xActivatedQueue = xQueueSelectFromSetFromISR(xQueueSet); + + if (xActivatedQueue != NULL) { + /* Reading from the queue for test purposes only. */ + if (xQueueReceiveFromISR(xActivatedQueue, &ulReceived, NULL) != + pdPASS) { + /* Data should have been available as the handle was returned from + xQueueSelectFromSetFromISR(). */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Ensure the value received was the value expected. */ + prvCheckReceivedValue(ulReceived); + } +} +/*-----------------------------------------------------------*/ + +static void prvSendToQueueInSetFromISR(void) +{ + static BaseType_t xQueueToWriteTo = 0; + uint32_t ulTxValueSnapshot = ulISRTxValue; + + if (xQueueSendFromISR(xQueues[xQueueToWriteTo], + (void *)&ulTxValueSnapshot, NULL) == pdPASS) { + ulISRTxValue++; + + /* If the Tx value has wrapped then set it back to its initial value. */ + if (ulISRTxValue == 0UL) { + ulISRTxValue = queuesetINITIAL_ISR_TX_VALUE; + } + + /* Use a different queue next time. */ + xQueueToWriteTo++; + if (xQueueToWriteTo >= queuesetNUM_QUEUES_IN_SET) { + xQueueToWriteTo = 0; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvTestQueueOverwriteWithQueueSet(void) +{ + uint32_t ulValueToSend = 0, ulValueReceived = 0; + QueueHandle_t xQueueHandle = NULL, xReceivedHandle = NULL; + const UBaseType_t xLengthOfOne = (UBaseType_t)1; + + /* Create a queue that has a length of one - a requirement in order to call + xQueueOverwrite. This will get deleted again when this test completes. */ + xQueueHandle = xQueueCreate(xLengthOfOne, sizeof(uint32_t)); + configASSERT(xQueueHandle); + + if (xQueueHandle != NULL) { + xQueueAddToSet(xQueueHandle, xQueueSet); + + /* Add an item to the queue then ensure the queue set correctly + indicates that one item is available, and that item is indeed the + queue written to. */ + xQueueOverwrite(xQueueHandle, (void *)&ulValueToSend); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* Expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueuePeek(xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Now overwrite the value in the queue and ensure the queue set state + doesn't change as the number of items in the queues within the set have + not changed. */ + ulValueToSend++; + xQueueOverwrite(xQueueHandle, (void *)&ulValueToSend); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* Still expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Also ensure the value received from the queue is the overwritten + value, not the value originally written. */ + xQueueReceive(xQueueHandle, &ulValueReceived, + queuesetDONT_BLOCK); + if (ulValueReceived != ulValueToSend) { + /* Unexpected value received from the queue. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Should be anything in the queue set now. */ + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)0) { + xQueueSetTasksStatus = pdFAIL; + } + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != NULL) { + xQueueSetTasksStatus = pdFAIL; + } + + /* Clean up. */ + xQueueRemoveFromSet(xQueueHandle, xQueueSet); + vQueueDelete(xQueueHandle); + } +} +/*-----------------------------------------------------------*/ + +static void prvTestQueueOverwriteOnTwoQueusInQueueSet(void) +{ + uint32_t ulValueToSend1 = 1, ulValueToSend2 = 2UL, ulValueReceived = 0; + QueueHandle_t xQueueHandle1 = NULL, xQueueHandle2 = NULL, + xReceivedHandle = NULL; + const UBaseType_t xLengthOfOne = (UBaseType_t)1; + + /* Create two queues that have a length of one - a requirement in order to call + xQueueOverwrite. These will get deleted again when this test completes. */ + xQueueHandle1 = xQueueCreate(xLengthOfOne, sizeof(uint32_t)); + configASSERT(xQueueHandle1); + xQueueHandle2 = xQueueCreate(xLengthOfOne, sizeof(uint32_t)); + configASSERT(xQueueHandle2); + + if ((xQueueHandle1 != NULL) && (xQueueHandle2 != NULL)) { + /* Add both queues to the queue set. */ + xQueueAddToSet(xQueueHandle1, xQueueSet); + xQueueAddToSet(xQueueHandle2, xQueueSet); + + /* Add an item using the first queue. */ + xQueueOverwrite(xQueueHandle1, (void *)&ulValueToSend1); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* Expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + xQueuePeek(xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Next add an item to the second queue. */ + xQueueOverwrite(xQueueHandle2, (void *)&ulValueToSend2); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* The head of the queue set should not have changed though. */ + xQueuePeek(xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Now overwrite the value in the queue and ensure the queue set state + doesn't change as the number of items in the queues within the set have + not changed. NOTE: after this queue 1 should hold ulValueToSend2 and queue + 2 should hold the value ulValueToSend1. */ + xQueueOverwrite(xQueueHandle1, (void *)&ulValueToSend2); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwrite(xQueueHandle2, (void *)&ulValueToSend1); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Repeat the above to ensure the queue set state doesn't change. */ + xQueueOverwrite(xQueueHandle1, (void *)&ulValueToSend2); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwrite(xQueueHandle2, (void *)&ulValueToSend1); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Now when reading from the queue set we expect the handle to the first + queue to be received first, and for that queue to hold ulValueToSend2 as the + originally written value was overwritten. Likewise the second handle received + from the set should be that of the second queue, and that queue should hold + ulValueToSend1 as the originally written value was overwritten. */ + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle1 first so expected that handle to be read from + the set first. */ + xQueueSetTasksStatus = pdFAIL; + } + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* One value was read from the set, so now only expect a single value + in the set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive(xReceivedHandle, &ulValueReceived, + queuesetDONT_BLOCK); + if (ulValueReceived != ulValueToSend2) { + /* Unexpected value received from the queue. ulValueToSend1 was written + first, but then overwritten with ulValueToSend2; */ + xQueueSetTasksStatus = pdFAIL; + } + + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle2) { + /* xQueueHandle1 has already been removed from the set so expect only + xQueueHandle2 to be left. */ + xQueueSetTasksStatus = pdFAIL; + } + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)0) { + /* The last value was read from the set so don't expect any more. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive(xReceivedHandle, &ulValueReceived, + queuesetDONT_BLOCK); + if (ulValueReceived != ulValueToSend1) { + /* Unexpected value received from the queue. ulValueToSend2 was written + first, but then overwritten with ulValueToSend1. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Should be anything in the queue set now. */ + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != NULL) { + xQueueSetTasksStatus = pdFAIL; + } + + /* Clean up. */ + xQueueRemoveFromSet(xQueueHandle1, xQueueSet); + xQueueRemoveFromSet(xQueueHandle2, xQueueSet); + vQueueDelete(xQueueHandle1); + vQueueDelete(xQueueHandle2); + } +} +/*-----------------------------------------------------------*/ + +static void prvTestQueueOverwriteFromISROnTwoQueusInQueueSet(void) +{ + uint32_t ulValueToSend1 = 1, ulValueToSend2 = 2UL, ulValueReceived = 0; + QueueHandle_t xQueueHandle1 = NULL, xQueueHandle2 = NULL, + xReceivedHandle = NULL; + const UBaseType_t xLengthOfOne = (UBaseType_t)1; + + /* Create two queues that have a length of one - a requirement in order to call + xQueueOverwrite. These will get deleted again when this test completes. */ + xQueueHandle1 = xQueueCreate(xLengthOfOne, sizeof(uint32_t)); + configASSERT(xQueueHandle1); + xQueueHandle2 = xQueueCreate(xLengthOfOne, sizeof(uint32_t)); + configASSERT(xQueueHandle2); + + if ((xQueueHandle1 != NULL) && (xQueueHandle2 != NULL)) { + /* Add both queues to the queue set. */ + xQueueAddToSet(xQueueHandle1, xQueueSet); + xQueueAddToSet(xQueueHandle2, xQueueSet); + + /* Add an item using the first queue using the 'FromISR' version of the + overwrite function. */ + xQueueOverwriteFromISR(xQueueHandle1, (void *)&ulValueToSend1, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* Expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + xQueuePeek(xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Next add an item to the second queue using the 'FromISR' version of the + overwrite function. */ + xQueueOverwriteFromISR(xQueueHandle2, (void *)&ulValueToSend2, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* The head of the queue set should not have changed though. */ + xQueuePeek(xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Now overwrite the value in the queue and ensure the queue set state + doesn't change as the number of items in the queues within the set have + not changed. NOTE: after this queue 1 should hold ulValueToSend2 and queue + 2 should hold the value ulValueToSend1. */ + xQueueOverwriteFromISR(xQueueHandle1, (void *)&ulValueToSend2, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwriteFromISR(xQueueHandle2, (void *)&ulValueToSend1, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Repeat the above to ensure the queue set state doesn't change. */ + xQueueOverwriteFromISR(xQueueHandle1, (void *)&ulValueToSend2, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwriteFromISR(xQueueHandle2, (void *)&ulValueToSend1, + NULL); + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)2) { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Now when reading from the queue set we expect the handle to the first + queue to be received first, and for that queue to hold ulValueToSend2 as the + originally written value was overwritten. Likewise the second handle received + from the set should be that of the second queue, and that queue should hold + ulValueToSend1 as the originally written value was overwritten. */ + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle1) { + /* Wrote to xQueueHandle1 first so expected that handle to be read from + the set first. */ + xQueueSetTasksStatus = pdFAIL; + } + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)1) { + /* One value was read from the set, so now only expect a single value + in the set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive(xReceivedHandle, &ulValueReceived, + queuesetDONT_BLOCK); + if (ulValueReceived != ulValueToSend2) { + /* Unexpected value received from the queue. ulValueToSend1 was written + first, but then overwritten with ulValueToSend2; */ + xQueueSetTasksStatus = pdFAIL; + } + + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != xQueueHandle2) { + /* xQueueHandle1 has already been removed from the set so expect only + xQueueHandle2 to be left. */ + xQueueSetTasksStatus = pdFAIL; + } + if (uxQueueMessagesWaiting(xQueueSet) != (UBaseType_t)0) { + /* The last value was read from the set so don't expect any more. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive(xReceivedHandle, &ulValueReceived, + queuesetDONT_BLOCK); + if (ulValueReceived != ulValueToSend1) { + /* Unexpected value received from the queue. ulValueToSend2 was written + first, but then overwritten with ulValueToSend1. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Should be anything in the queue set now. */ + xReceivedHandle = + xQueueSelectFromSet(xQueueSet, queuesetDONT_BLOCK); + if (xReceivedHandle != NULL) { + xQueueSetTasksStatus = pdFAIL; + } + + /* Clean up. */ + xQueueRemoveFromSet(xQueueHandle1, xQueueSet); + xQueueRemoveFromSet(xQueueHandle2, xQueueSet); + vQueueDelete(xQueueHandle1); + vQueueDelete(xQueueHandle2); + } +} +/*-----------------------------------------------------------*/ + +static void prvSetupTest(void) +{ + BaseType_t x; + uint32_t ulValueToSend = 0; + + /* Ensure the queues are created and the queue set configured before the + sending task is unsuspended. + + First Create the queue set such that it will be able to hold a message for + every space in every queue in the set. */ + xQueueSet = xQueueCreateSet(queuesetNUM_QUEUES_IN_SET * + queuesetQUEUE_LENGTH); + + for (x = 0; x < queuesetNUM_QUEUES_IN_SET; x++) { + /* Create the queue and add it to the set. The queue is just holding + uint32_t value. */ + xQueues[x] = + xQueueCreate(queuesetQUEUE_LENGTH, sizeof(uint32_t)); + configASSERT(xQueues[x]); + if (xQueueAddToSet(xQueues[x], xQueueSet) != pdPASS) { + xQueueSetTasksStatus = pdFAIL; + } else { + /* The queue has now been added to the queue set and cannot be added to + another. */ + if (xQueueAddToSet(xQueues[x], xQueueSet) != pdFAIL) { + xQueueSetTasksStatus = pdFAIL; + } + } + } + + /* Attempt to remove a queue from a queue set it does not belong + to (NULL being passed as the queue set in this case). */ + if (xQueueRemoveFromSet(xQueues[0], NULL) != pdFAIL) { + /* It is not possible to successfully remove a queue from a queue + set it does not belong to. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Attempt to remove a queue from the queue set it does belong to. */ + if (xQueueRemoveFromSet(xQueues[0], xQueueSet) != pdPASS) { + /* It should be possible to remove the queue from the queue set it + does belong to. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Add an item to the queue before attempting to add it back into the + set. */ + xQueueSend(xQueues[0], (void *)&ulValueToSend, 0); + if (xQueueAddToSet(xQueues[0], xQueueSet) != pdFAIL) { + /* Should not be able to add a non-empty queue to a set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Remove the item from the queue before adding the queue back into the + set so the dynamic tests can begin. */ + xQueueReceive(xQueues[0], &ulValueToSend, 0); + if (xQueueAddToSet(xQueues[0], xQueueSet) != pdPASS) { + /* If the queue was successfully removed from the queue set then it + should be possible to add it back in again. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* The task that sends to the queues is not running yet, so attempting to + read from the queue set should fail. */ + if (xQueueSelectFromSet(xQueueSet, queuesetSHORT_DELAY) != NULL) { + xQueueSetTasksStatus = pdFAIL; + } + + /* Testing the behaviour of queue sets when a queue overwrite operation is + performed on a set member requires a special test as overwrites can only + be performed on queues that have a length of 1. */ + prvTestQueueOverwriteWithQueueSet(); + + /* Test the case where two queues within a set are written to with + xQueueOverwrite(). */ + prvTestQueueOverwriteOnTwoQueusInQueueSet(); + prvTestQueueOverwriteFromISROnTwoQueusInQueueSet(); + + /* In case any of the above have already indicated a failure. */ + configASSERT(xQueueSetTasksStatus != pdFAIL); + + /* Resume the task that writes to the queues. */ + vTaskResume(xQueueSetSendingTask); + + /* Let the ISR access the queues also. */ + xSetupComplete = pdTRUE; +} +/*-----------------------------------------------------------*/ + +static size_t prvRand(void) +{ + uxNextRand = (uxNextRand * (size_t)1103515245) + (size_t)12345; + return (uxNextRand / (size_t)65536) % (size_t)32768; +} +/*-----------------------------------------------------------*/ + +static void prvSRand(size_t uxSeed) +{ + uxNextRand = uxSeed; +} + +#endif /* ( configUSE_QUEUE_SETS == 1 ) */ diff --git a/freertos/cvitek/task/demo/Common/Minimal/QueueSetPolling.c b/freertos/cvitek/task/demo/Common/Minimal/QueueSetPolling.c new file mode 100644 index 000000000..e9579ac47 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/QueueSetPolling.c @@ -0,0 +1,175 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the use of queue sets. + * + * A receive task creates a number of queues and adds them to a queue set before + * blocking on the queue set receive. A transmit task and (optionally) an + * interrupt repeatedly unblocks the receive task by sending messages to the + * queues in a pseudo random order. The receive task removes the messages from + * the queues and flags an error if the received message does not match that + * expected. The task sends values in the range 0 to + * queuesetINITIAL_ISR_TX_VALUE, and the ISR sends value in the range + * queuesetINITIAL_ISR_TX_VALUE to ULONG_MAX. + */ + +/* Standard includes. */ +#include <stdlib.h> +#include <limits.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo includes. */ +#include "QueueSetPolling.h" + +#if (configUSE_QUEUE_SETS == \ + 1) /* Remove tests if queue sets are not defined. */ + +/* The length of each created queue. */ +#define setpollQUEUE_LENGTH 10 + +/* Block times used in this demo. A block time or 0 means "don't block". */ +#define setpollDONT_BLOCK 0 + +/* The ISR sends to the queue every setpollISR_TX_PERIOD ticks. */ +#define queuesetISR_TX_PERIOD (50UL) + +/* + * The task that reads from the queue set. + */ +static void prvQueueSetReceivingTask(void *pvParameters); + +/*-----------------------------------------------------------*/ + +/* The queue that is added to the set. */ +static QueueHandle_t xQueue = NULL; + +/* The handle of the queue set to which the queue is added. */ +static QueueSetHandle_t xQueueSet = NULL; + +/* Set to pdFAIL if an error is detected by any queue set task. +ulCycleCounter will only be incremented if xQueueSetTasksSatus equals pdPASS. */ +static volatile BaseType_t xQueueSetPollStatus = pdPASS; + +/* Counter used to ensure the task is still running. */ +static uint32_t ulCycleCounter = 0; + +/*-----------------------------------------------------------*/ + +void vStartQueueSetPollingTask(void) +{ + /* Create the queue that is added to the set, the set, and add the queue to + the set. */ + xQueue = xQueueCreate(setpollQUEUE_LENGTH, sizeof(uint32_t)); + xQueueSet = xQueueCreateSet(setpollQUEUE_LENGTH); + + if ((xQueue != NULL) && (xQueueSet != NULL)) { + xQueueAddToSet(xQueue, xQueueSet); + + /* Create the task. */ + xTaskCreate(prvQueueSetReceivingTask, "SetPoll", + configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, + NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueSetReceivingTask(void *pvParameters) +{ + uint32_t ulReceived, ulExpected = 0; + QueueHandle_t xActivatedQueue; + + /* Remove compiler warnings. */ + (void)pvParameters; + + for (;;) { + /* Is a message waiting? A block time is not used to ensure the queue + set is polled while it is being written to from an interrupt. */ + xActivatedQueue = + xQueueSelectFromSet(xQueueSet, setpollDONT_BLOCK); + + if (xActivatedQueue != NULL) { + /* Reading from the queue should pass with a zero block time as + this task will only run when something has been posted to a task + in the queue set. */ + if (xQueueReceive(xActivatedQueue, &ulReceived, + setpollDONT_BLOCK) != pdPASS) { + xQueueSetPollStatus = pdFAIL; + } + + if (ulReceived == ulExpected) { + ulExpected++; + } else { + xQueueSetPollStatus = pdFAIL; + } + + if (xQueueSetPollStatus == pdPASS) { + ulCycleCounter++; + } + } + } +} +/*-----------------------------------------------------------*/ + +void vQueueSetPollingInterruptAccess(void) +{ + static uint32_t ulCallCount = 0, ulValueToSend = 0; + + /* It is intended that this function is called from the tick hook + function, so each call is one tick period apart. */ + ulCallCount++; + if (ulCallCount > queuesetISR_TX_PERIOD) { + ulCallCount = 0; + + if (xQueueSendFromISR(xQueue, (void *)&ulValueToSend, NULL) == + pdPASS) { + /* Send the next value next time. */ + ulValueToSend++; + } + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreQueueSetPollTasksStillRunning(void) +{ + static uint32_t ulLastCycleCounter = 0; + + if (ulLastCycleCounter == ulCycleCounter) { + xQueueSetPollStatus = pdFAIL; + } + + ulLastCycleCounter = ulCycleCounter; + + return xQueueSetPollStatus; +} +/*-----------------------------------------------------------*/ + +#endif /* ( configUSE_QUEUE_SETS == 1 ) */ diff --git a/freertos/cvitek/task/demo/Common/Minimal/StaticAllocation.c b/freertos/cvitek/task/demo/Common/Minimal/StaticAllocation.c new file mode 100644 index 000000000..6d4697dfd --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/StaticAllocation.c @@ -0,0 +1,1074 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Demonstrates how to create FreeRTOS objects using pre-allocated memory, + * rather than the normal dynamically allocated memory, and tests objects being + * created and deleted with both statically allocated memory and dynamically + * allocated memory. + * + * See http://www.FreeRTOS.org/Static_Vs_Dynamic_Memory_Allocation.html + */ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" +#include "event_groups.h" +#include "timers.h" + +/* Demo program include files. */ +#include "StaticAllocation.h" + +/* Exclude the entire file if configSUPPORT_STATIC_ALLOCATION is 0. */ +#if (configSUPPORT_STATIC_ALLOCATION == 1) + +/* The priority at which the task that performs the tests is created. */ +#define staticTASK_PRIORITY (tskIDLE_PRIORITY + 2) + +/* The length of the queue, in items, not bytes, used in the queue static +allocation tests. */ +#define staticQUEUE_LENGTH_IN_ITEMS (5) + +/* A block time of 0 simply means "don't block". */ +#define staticDONT_BLOCK ((TickType_t)0) + +/* Binary semaphores have a maximum count of 1. */ +#define staticBINARY_SEMAPHORE_MAX_COUNT (1) + +/* The size of the stack used by the task that runs the tests. */ +#define staticCREATOR_TASK_STACK_SIZE (configMINIMAL_STACK_SIZE * 2) + +/* The number of times the software timer will execute before stopping itself. */ +#define staticMAX_TIMER_CALLBACK_EXECUTIONS (5) + +/*-----------------------------------------------------------*/ + +/* + * The task that repeatedly creates and deletes statically allocated tasks, and + * other RTOS objects. + */ +static void prvStaticallyAllocatedCreator(void *pvParameters); + +/* + * The callback function used by the software timer that is repeatedly created + * and deleted using both static and dynamically allocated memory. + */ +static void prvTimerCallback(TimerHandle_t xExpiredTimer); + +/* + * A task that is created and deleted multiple times, using both statically and + * dynamically allocated stack and TCB. + */ +static void prvStaticallyAllocatedTask(void *pvParameters); + +/* + * A function that demonstrates and tests the API functions that create and + * delete tasks using both statically and dynamically allocated TCBs and stacks. + */ +static void prvCreateAndDeleteStaticallyAllocatedTasks(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete event groups using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedEventGroups(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete queues using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedQueues(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete binary semaphores using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedBinarySemaphores(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete software timers using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedTimers(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete mutexes using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedMutexes(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete counting semaphores using both statically and dynamically allocated + * RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedCountingSemaphores(void); + +/* + * A function that demonstrates and tests the API functions that create and + * delete recursive mutexes using both statically and dynamically allocated RAM. + */ +static void prvCreateAndDeleteStaticallyAllocatedRecursiveMutexes(void); + +/* + * Utility function to create pseudo random numbers. + */ +static UBaseType_t prvRand(void); + +/* + * The task that creates and deletes other tasks has to delay occasionally to + * ensure lower priority tasks are not starved of processing time. A pseudo + * random delay time is used just to add a little bit of randomisation into the + * execution pattern. prvGetNextDelayTime() generates the pseudo random delay. + */ +static TickType_t prvGetNextDelayTime(void); + +/* + * Checks the basic operation of a queue after it has been created. + */ +static void prvSanityCheckCreatedQueue(QueueHandle_t xQueue); + +/* + * Checks the basic operation of a recursive mutex after it has been created. + */ +static void prvSanityCheckCreatedRecursiveMutex(SemaphoreHandle_t xSemaphore); + +/* + * Checks the basic operation of a binary semaphore after it has been created. + */ +static void prvSanityCheckCreatedSemaphore(SemaphoreHandle_t xSemaphore, + UBaseType_t uxMaxCount); + +/* + * Checks the basic operation of an event group after it has been created. + */ +static void prvSanityCheckCreatedEventGroup(EventGroupHandle_t xEventGroup); + +/*-----------------------------------------------------------*/ + +/* StaticTask_t is a publicly accessible structure that has the same size and +alignment requirements as the real TCB structure. It is provided as a mechanism +for applications to know the size of the TCB (which is dependent on the +architecture and configuration file settings) without breaking the strict data +hiding policy by exposing the real TCB. This StaticTask_t variable is passed +into the xTaskCreateStatic() function that creates the +prvStaticallyAllocatedCreator() task, and will hold the TCB of the created +tasks. */ +static StaticTask_t xCreatorTaskTCBBuffer; + +/* This is the stack that will be used by the prvStaticallyAllocatedCreator() +task, which is itself created using statically allocated buffers (so without any +dynamic memory allocation). */ +static StackType_t uxCreatorTaskStackBuffer[staticCREATOR_TASK_STACK_SIZE]; + +/* Used by the pseudo random number generating function. */ +static uint32_t ulNextRand = 0; + +/* Used so a check task can ensure this test is still executing, and not +stalled. */ +static volatile UBaseType_t uxCycleCounter = 0; + +/* A variable that gets set to pdTRUE if an error is detected. */ +static volatile BaseType_t xErrorOccurred = pdFALSE; + +/*-----------------------------------------------------------*/ + +void vStartStaticallyAllocatedTasks(void) +{ + /* Create a single task, which then repeatedly creates and deletes the other + RTOS objects using both statically and dynamically allocated RAM. */ + xTaskCreateStatic( + prvStaticallyAllocatedCreator, /* The function that implements the task being created. */ + "StatCreate", /* Text name for the task - not used by the RTOS, its just to assist debugging. */ + staticCREATOR_TASK_STACK_SIZE, /* Size of the buffer passed in as the stack - in words, not bytes! */ + NULL, /* Parameter passed into the task - not used in this case. */ + staticTASK_PRIORITY, /* Priority of the task. */ + &(uxCreatorTaskStackBuffer + [0]), /* The buffer to use as the task's stack. */ + &xCreatorTaskTCBBuffer); /* The variable that will hold the task's TCB. */ +} +/*-----------------------------------------------------------*/ + +static void prvStaticallyAllocatedCreator(void *pvParameters) +{ + /* Avoid compiler warnings. */ + (void)pvParameters; + + for (;;) { + /* Loop, running functions that create and delete the various RTOS + objects that can be optionally created using either static or dynamic + memory allocation. */ + prvCreateAndDeleteStaticallyAllocatedTasks(); + prvCreateAndDeleteStaticallyAllocatedQueues(); + + /* Delay to ensure lower priority tasks get CPU time, and increment the + cycle counter so a 'check' task can determine that this task is still + executing. */ + vTaskDelay(prvGetNextDelayTime()); + uxCycleCounter++; + + prvCreateAndDeleteStaticallyAllocatedBinarySemaphores(); + prvCreateAndDeleteStaticallyAllocatedCountingSemaphores(); + + vTaskDelay(prvGetNextDelayTime()); + uxCycleCounter++; + + prvCreateAndDeleteStaticallyAllocatedMutexes(); + prvCreateAndDeleteStaticallyAllocatedRecursiveMutexes(); + + vTaskDelay(prvGetNextDelayTime()); + uxCycleCounter++; + + prvCreateAndDeleteStaticallyAllocatedEventGroups(); + prvCreateAndDeleteStaticallyAllocatedTimers(); + } +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedCountingSemaphores(void) +{ + SemaphoreHandle_t xSemaphore; + const UBaseType_t uxMaxCount = (UBaseType_t)10; + + /* StaticSemaphore_t is a publicly accessible structure that has the same size +and alignment requirements as the real semaphore structure. It is provided as a +mechanism for applications to know the size of the semaphore (which is dependent +on the architecture and configuration file settings) without breaking the strict +data hiding policy by exposing the real semaphore internals. This +StaticSemaphore_t variable is passed into the xSemaphoreCreateCountingStatic() +function calls within this function. NOTE: In most usage scenarios now it is +faster and more memory efficient to use a direct to task notification instead of +a counting semaphore. http://www.freertos.org/RTOS-task-notifications.html */ + StaticSemaphore_t xSemaphoreBuffer; + + /* Create the semaphore. xSemaphoreCreateCountingStatic() has one more + parameter than the usual xSemaphoreCreateCounting() function. The parameter + is a pointer to the pre-allocated StaticSemaphore_t structure, which will + hold information on the semaphore in an anonymous way. If the pointer is + passed as NULL then the structure will be allocated dynamically, just as + when xSemaphoreCreateCounting() is called. */ + xSemaphore = xSemaphoreCreateCountingStatic(uxMaxCount, 0, + &xSemaphoreBuffer); + + /* The semaphore handle should equal the static semaphore structure passed + into the xSemaphoreCreateBinaryStatic() function. */ + configASSERT(xSemaphore == (SemaphoreHandle_t)&xSemaphoreBuffer); + + /* Ensure the semaphore passes a few sanity checks as a valid semaphore. */ + prvSanityCheckCreatedSemaphore(xSemaphore, uxMaxCount); + + /* Delete the semaphore again so the buffers can be reused. */ + vSemaphoreDelete(xSemaphore); + +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + /* Now do the same but using dynamically allocated buffers to ensure the + delete functions are working correctly in both the static and dynamic + allocation cases. */ + xSemaphore = xSemaphoreCreateCounting(uxMaxCount, 0); + configASSERT(xSemaphore != NULL); + prvSanityCheckCreatedSemaphore(xSemaphore, uxMaxCount); + vSemaphoreDelete(xSemaphore); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedRecursiveMutexes(void) +{ + SemaphoreHandle_t xSemaphore; + + /* StaticSemaphore_t is a publicly accessible structure that has the same size +and alignment requirements as the real semaphore structure. It is provided as a +mechanism for applications to know the size of the semaphore (which is dependent +on the architecture and configuration file settings) without breaking the strict +data hiding policy by exposing the real semaphore internals. This +StaticSemaphore_t variable is passed into the +xSemaphoreCreateRecursiveMutexStatic() function calls within this function. */ + StaticSemaphore_t xSemaphoreBuffer; + + /* Create the semaphore. xSemaphoreCreateRecursiveMutexStatic() has one + more parameter than the usual xSemaphoreCreateRecursiveMutex() function. + The parameter is a pointer to the pre-allocated StaticSemaphore_t structure, + which will hold information on the semaphore in an anonymous way. If the + pointer is passed as NULL then the structure will be allocated dynamically, + just as when xSemaphoreCreateRecursiveMutex() is called. */ + xSemaphore = xSemaphoreCreateRecursiveMutexStatic(&xSemaphoreBuffer); + + /* The semaphore handle should equal the static semaphore structure passed + into the xSemaphoreCreateBinaryStatic() function. */ + configASSERT(xSemaphore == (SemaphoreHandle_t)&xSemaphoreBuffer); + + /* Ensure the semaphore passes a few sanity checks as a valid + recursive semaphore. */ + prvSanityCheckCreatedRecursiveMutex(xSemaphore); + + /* Delete the semaphore again so the buffers can be reused. */ + vSemaphoreDelete(xSemaphore); + +/* Now do the same using dynamically allocated buffers to ensure the delete + functions are working correctly in both the static and dynamic memory + allocation cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xSemaphore = xSemaphoreCreateRecursiveMutex(); + configASSERT(xSemaphore != NULL); + prvSanityCheckCreatedRecursiveMutex(xSemaphore); + vSemaphoreDelete(xSemaphore); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedQueues(void) +{ + QueueHandle_t xQueue; + + /* StaticQueue_t is a publicly accessible structure that has the same size and +alignment requirements as the real queue structure. It is provided as a +mechanism for applications to know the size of the queue (which is dependent on +the architecture and configuration file settings) without breaking the strict +data hiding policy by exposing the real queue internals. This StaticQueue_t +variable is passed into the xQueueCreateStatic() function calls within this +function. */ + static StaticQueue_t xStaticQueue; + + /* The queue storage area must be large enough to hold the maximum number of +items it is possible for the queue to hold at any one time, which equals the +queue length (in items, not bytes) multiplied by the size of each item. In this +case the queue will hold staticQUEUE_LENGTH_IN_ITEMS 64-bit items. See +http://www.freertos.org/Embedded-RTOS-Queues.html */ + static uint8_t ucQueueStorageArea[staticQUEUE_LENGTH_IN_ITEMS * + sizeof(uint64_t)]; + + /* Create the queue. xQueueCreateStatic() has two more parameters than the + usual xQueueCreate() function. The first new parameter is a pointer to the + pre-allocated queue storage area. The second new parameter is a pointer to + the StaticQueue_t structure that will hold the queue state information in + an anonymous way. If the two pointers are passed as NULL then the data + will be allocated dynamically as if xQueueCreate() had been called. */ + xQueue = xQueueCreateStatic( + staticQUEUE_LENGTH_IN_ITEMS, /* The maximum number of items the queue can hold. */ + sizeof(uint64_t), /* The size of each item. */ + ucQueueStorageArea, /* The buffer used to hold items within the queue. */ + &xStaticQueue); /* The static queue structure that will hold the state of the queue. */ + + /* The queue handle should equal the static queue structure passed into the + xQueueCreateStatic() function. */ + configASSERT(xQueue == (QueueHandle_t)&xStaticQueue); + + /* Ensure the queue passes a few sanity checks as a valid queue. */ + prvSanityCheckCreatedQueue(xQueue); + + /* Delete the queue again so the buffers can be reused. */ + vQueueDelete(xQueue); + +/* Now do the same using a dynamically allocated queue to ensure the delete + function is working correctly in both the static and dynamic memory + allocation cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xQueue = xQueueCreate( + staticQUEUE_LENGTH_IN_ITEMS, /* The maximum number of items the queue can hold. */ + sizeof(uint64_t)); /* The size of each item. */ + + /* The queue handle should equal the static queue structure passed into the + xQueueCreateStatic() function. */ + configASSERT(xQueue != NULL); + + /* Ensure the queue passes a few sanity checks as a valid queue. */ + prvSanityCheckCreatedQueue(xQueue); + + /* Delete the queue again so the buffers can be reused. */ + vQueueDelete(xQueue); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedMutexes(void) +{ + SemaphoreHandle_t xSemaphore; + BaseType_t xReturned; + + /* StaticSemaphore_t is a publicly accessible structure that has the same size +and alignment requirements as the real semaphore structure. It is provided as a +mechanism for applications to know the size of the semaphore (which is dependent +on the architecture and configuration file settings) without breaking the strict +data hiding policy by exposing the real semaphore internals. This +StaticSemaphore_t variable is passed into the xSemaphoreCreateMutexStatic() +function calls within this function. */ + StaticSemaphore_t xSemaphoreBuffer; + + /* Create the semaphore. xSemaphoreCreateMutexStatic() has one more + parameter than the usual xSemaphoreCreateMutex() function. The parameter + is a pointer to the pre-allocated StaticSemaphore_t structure, which will + hold information on the semaphore in an anonymous way. If the pointer is + passed as NULL then the structure will be allocated dynamically, just as + when xSemaphoreCreateMutex() is called. */ + xSemaphore = xSemaphoreCreateMutexStatic(&xSemaphoreBuffer); + + /* The semaphore handle should equal the static semaphore structure passed + into the xSemaphoreCreateMutexStatic() function. */ + configASSERT(xSemaphore == (SemaphoreHandle_t)&xSemaphoreBuffer); + + /* Take the mutex so the mutex is in the state expected by the + prvSanityCheckCreatedSemaphore() function. */ + xReturned = xSemaphoreTake(xSemaphore, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Ensure the semaphore passes a few sanity checks as a valid semaphore. */ + prvSanityCheckCreatedSemaphore(xSemaphore, + staticBINARY_SEMAPHORE_MAX_COUNT); + + /* Delete the semaphore again so the buffers can be reused. */ + vSemaphoreDelete(xSemaphore); + +/* Now do the same using a dynamically allocated mutex to ensure the delete + function is working correctly in both the static and dynamic allocation + cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xSemaphore = xSemaphoreCreateMutex(); + + /* The semaphore handle should equal the static semaphore structure + passed into the xSemaphoreCreateMutexStatic() function. */ + configASSERT(xSemaphore != NULL); + + /* Take the mutex so the mutex is in the state expected by the + prvSanityCheckCreatedSemaphore() function. */ + xReturned = xSemaphoreTake(xSemaphore, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Ensure the semaphore passes a few sanity checks as a valid semaphore. */ + prvSanityCheckCreatedSemaphore( + xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT); + + /* Delete the semaphore again so the buffers can be reused. */ + vSemaphoreDelete(xSemaphore); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedBinarySemaphores(void) +{ + SemaphoreHandle_t xSemaphore; + + /* StaticSemaphore_t is a publicly accessible structure that has the same size +and alignment requirements as the real semaphore structure. It is provided as a +mechanism for applications to know the size of the semaphore (which is dependent +on the architecture and configuration file settings) without breaking the strict +data hiding policy by exposing the real semaphore internals. This +StaticSemaphore_t variable is passed into the xSemaphoreCreateBinaryStatic() +function calls within this function. NOTE: In most usage scenarios now it is +faster and more memory efficient to use a direct to task notification instead of +a binary semaphore. http://www.freertos.org/RTOS-task-notifications.html */ + StaticSemaphore_t xSemaphoreBuffer; + + /* Create the semaphore. xSemaphoreCreateBinaryStatic() has one more + parameter than the usual xSemaphoreCreateBinary() function. The parameter + is a pointer to the pre-allocated StaticSemaphore_t structure, which will + hold information on the semaphore in an anonymous way. If the pointer is + passed as NULL then the structure will be allocated dynamically, just as + when xSemaphoreCreateBinary() is called. */ + xSemaphore = xSemaphoreCreateBinaryStatic(&xSemaphoreBuffer); + + /* The semaphore handle should equal the static semaphore structure passed + into the xSemaphoreCreateBinaryStatic() function. */ + configASSERT(xSemaphore == (SemaphoreHandle_t)&xSemaphoreBuffer); + + /* Ensure the semaphore passes a few sanity checks as a valid semaphore. */ + prvSanityCheckCreatedSemaphore(xSemaphore, + staticBINARY_SEMAPHORE_MAX_COUNT); + + /* Delete the semaphore again so the buffers can be reused. */ + vSemaphoreDelete(xSemaphore); + +/* Now do the same using a dynamically allocated semaphore to check the + delete function is working correctly in both the static and dynamic + allocation cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xSemaphore = xSemaphoreCreateBinary(); + configASSERT(xSemaphore != NULL); + prvSanityCheckCreatedSemaphore( + xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT); + vSemaphoreDelete(xSemaphore); + } +#endif + +/* There isn't a static version of the old and deprecated + vSemaphoreCreateBinary() macro (because its deprecated!), but check it is + still functioning correctly. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + vSemaphoreCreateBinary(xSemaphore); + + /* The macro starts with the binary semaphore available, but the test + function expects it to be unavailable. */ + if (xSemaphoreTake(xSemaphore, staticDONT_BLOCK) == pdFAIL) { + xErrorOccurred = pdTRUE; + } + + prvSanityCheckCreatedSemaphore( + xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT); + vSemaphoreDelete(xSemaphore); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvTimerCallback(TimerHandle_t xExpiredTimer) +{ + UBaseType_t *puxVariableToIncrement; + BaseType_t xReturned; + + /* The timer callback just demonstrates it is executing by incrementing a + variable - the address of which is passed into the timer as its ID. Obtain + the address of the variable to increment. */ + puxVariableToIncrement = + (UBaseType_t *)pvTimerGetTimerID(xExpiredTimer); + + /* Increment the variable to show the timer callback has executed. */ + (*puxVariableToIncrement)++; + + /* If this callback has executed the required number of times, stop the + timer. */ + if (*puxVariableToIncrement == staticMAX_TIMER_CALLBACK_EXECUTIONS) { + /* This is called from a timer callback so must not block. See + http://www.FreeRTOS.org/FreeRTOS-timers-xTimerStop.html */ + xReturned = xTimerStop(xExpiredTimer, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedTimers(void) +{ + TimerHandle_t xTimer; + UBaseType_t uxVariableToIncrement; + const TickType_t xTimerPeriod = pdMS_TO_TICKS(20); + BaseType_t xReturned; + + /* StaticTimer_t is a publicly accessible structure that has the same size +and alignment requirements as the real timer structure. It is provided as a +mechanism for applications to know the size of the timer structure (which is +dependent on the architecture and configuration file settings) without breaking +the strict data hiding policy by exposing the real timer internals. This +StaticTimer_t variable is passed into the xTimerCreateStatic() function calls +within this function. */ + StaticTimer_t xTimerBuffer; + + /* Create the software time. xTimerCreateStatic() has an extra parameter + than the normal xTimerCreate() API function. The parameter is a pointer to + the StaticTimer_t structure that will hold the software timer structure. If + the parameter is passed as NULL then the structure will be allocated + dynamically, just as if xTimerCreate() had been called. */ + xTimer = xTimerCreateStatic( + "T1", /* Text name for the task. Helps debugging only. Not used by FreeRTOS. */ + xTimerPeriod, /* The period of the timer in ticks. */ + pdTRUE, /* This is an auto-reload timer. */ + (void *)&uxVariableToIncrement, /* The variable incremented by the test is passed into the timer callback using the timer ID. */ + prvTimerCallback, /* The function to execute when the timer expires. */ + &xTimerBuffer); /* The buffer that will hold the software timer structure. */ + + /* The timer handle should equal the static timer structure passed into the + xTimerCreateStatic() function. */ + configASSERT(xTimer == (TimerHandle_t)&xTimerBuffer); + + /* Set the variable to 0, wait for a few timer periods to expire, then check + the timer callback has incremented the variable to the expected value. */ + uxVariableToIncrement = 0; + + /* This is a low priority so a block time should not be needed. */ + xReturned = xTimerStart(xTimer, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + vTaskDelay(xTimerPeriod * staticMAX_TIMER_CALLBACK_EXECUTIONS); + + /* By now the timer should have expired staticMAX_TIMER_CALLBACK_EXECUTIONS + times, and then stopped itself. */ + if (uxVariableToIncrement != staticMAX_TIMER_CALLBACK_EXECUTIONS) { + xErrorOccurred = pdTRUE; + } + + /* Finished with the timer, delete it. */ + xReturned = xTimerDelete(xTimer, staticDONT_BLOCK); + + /* Again, as this is a low priority task it is expected that the timer + command will have been sent even without a block time being used. */ + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Just to show the check task that this task is still executing. */ + uxCycleCounter++; + +/* Now do the same using a dynamically allocated software timer to ensure + the delete function is working correctly in both the static and dynamic + allocation cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xTimer = xTimerCreate( + "T1", /* Text name for the task. Helps debugging only. Not used by FreeRTOS. */ + xTimerPeriod, /* The period of the timer in ticks. */ + pdTRUE, /* This is an auto-reload timer. */ + (void *)&uxVariableToIncrement, /* The variable incremented by the test is passed into the timer callback using the timer ID. */ + prvTimerCallback); /* The function to execute when the timer expires. */ + + configASSERT(xTimer != NULL); + + uxVariableToIncrement = 0; + xReturned = xTimerStart(xTimer, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + vTaskDelay(xTimerPeriod * staticMAX_TIMER_CALLBACK_EXECUTIONS); + + if (uxVariableToIncrement != + staticMAX_TIMER_CALLBACK_EXECUTIONS) { + xErrorOccurred = pdTRUE; + } + + xReturned = xTimerDelete(xTimer, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedEventGroups(void) +{ + EventGroupHandle_t xEventGroup; + + /* StaticEventGroup_t is a publicly accessible structure that has the same size +and alignment requirements as the real event group structure. It is provided as +a mechanism for applications to know the size of the event group (which is +dependent on the architecture and configuration file settings) without breaking +the strict data hiding policy by exposing the real event group internals. This +StaticEventGroup_t variable is passed into the xSemaphoreCreateEventGroupStatic() +function calls within this function. */ + StaticEventGroup_t xEventGroupBuffer; + + /* Create the event group. xEventGroupCreateStatic() has an extra parameter + than the normal xEventGroupCreate() API function. The parameter is a + pointer to the StaticEventGroup_t structure that will hold the event group + structure. */ + xEventGroup = xEventGroupCreateStatic(&xEventGroupBuffer); + + /* The event group handle should equal the static event group structure + passed into the xEventGroupCreateStatic() function. */ + configASSERT(xEventGroup == (EventGroupHandle_t)&xEventGroupBuffer); + + /* Ensure the event group passes a few sanity checks as a valid event + group. */ + prvSanityCheckCreatedEventGroup(xEventGroup); + + /* Delete the event group again so the buffers can be reused. */ + vEventGroupDelete(xEventGroup); + +/* Now do the same using a dynamically allocated event group to ensure the + delete function is working correctly in both the static and dynamic + allocation cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + xEventGroup = xEventGroupCreate(); + configASSERT(xEventGroup != NULL); + prvSanityCheckCreatedEventGroup(xEventGroup); + vEventGroupDelete(xEventGroup); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvCreateAndDeleteStaticallyAllocatedTasks(void) +{ + TaskHandle_t xCreatedTask; + + /* The variable that will hold the TCB of tasks created by this function. See +the comments above the declaration of the xCreatorTaskTCBBuffer variable for +more information. NOTE: This is not static so relies on the tasks that use it +being deleted before this function returns and deallocates its stack. That will +only be the case if configUSE_PREEMPTION is set to 1. */ + StaticTask_t xTCBBuffer; + + /* This buffer that will be used as the stack of tasks created by this function. +See the comments above the declaration of the uxCreatorTaskStackBuffer[] array +above for more information. */ + static StackType_t uxStackBuffer[configMINIMAL_STACK_SIZE]; + + /* Create the task. xTaskCreateStatic() has two more parameters than + the usual xTaskCreate() function. The first new parameter is a pointer to + the pre-allocated stack. The second new parameter is a pointer to the + StaticTask_t structure that will hold the task's TCB. If both pointers are + passed as NULL then the respective object will be allocated dynamically as + if xTaskCreate() had been called. */ + xCreatedTask = xTaskCreateStatic( + prvStaticallyAllocatedTask, /* Function that implements the task. */ + "Static", /* Human readable name for the task. */ + configMINIMAL_STACK_SIZE, /* Task's stack size, in words (not bytes!). */ + NULL, /* Parameter to pass into the task. */ + uxTaskPriorityGet(NULL) + 1, /* The priority of the task. */ + &(uxStackBuffer[0]), /* The buffer to use as the task's stack. */ + &xTCBBuffer); /* The variable that will hold that task's TCB. */ + + /* Check the task was created correctly, then delete the task. */ + if (xCreatedTask == NULL) { + xErrorOccurred = pdTRUE; + } else if (eTaskGetState(xCreatedTask) != eSuspended) { + /* The created task had a higher priority so should have executed and + suspended itself by now. */ + xErrorOccurred = pdTRUE; + } else { + vTaskDelete(xCreatedTask); + } + +/* Now do the same using a dynamically allocated task to ensure the delete + function is working correctly in both the static and dynamic allocation + cases. */ +#if (configSUPPORT_DYNAMIC_ALLOCATION == 1) + { + BaseType_t xReturned; + + xReturned = xTaskCreate( + prvStaticallyAllocatedTask, /* Function that implements the task - the same function is used but is actually dynamically allocated this time. */ + "Static", /* Human readable name for the task. */ + configMINIMAL_STACK_SIZE, /* Task's stack size, in words (not bytes!). */ + NULL, /* Parameter to pass into the task. */ + uxTaskPriorityGet(NULL) + + 1, /* The priority of the task. */ + &xCreatedTask); /* Handle of the task being created. */ + + if (eTaskGetState(xCreatedTask) != eSuspended) { + xErrorOccurred = pdTRUE; + } + + configASSERT(xReturned == pdPASS); + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + vTaskDelete(xCreatedTask); + } +#endif +} +/*-----------------------------------------------------------*/ + +static void prvStaticallyAllocatedTask(void *pvParameters) +{ + (void)pvParameters; + + /* The created task just suspends itself to wait to get deleted. The task + that creates this task checks this task is in the expected Suspended state + before deleting it. */ + vTaskSuspend(NULL); +} +/*-----------------------------------------------------------*/ + +static UBaseType_t prvRand(void) +{ + const uint32_t ulMultiplier = 0x015a4e35UL, ulIncrement = 1UL; + + /* Utility function to generate a pseudo random number. */ + ulNextRand = (ulMultiplier * ulNextRand) + ulIncrement; + return ((ulNextRand >> 16UL) & 0x7fffUL); +} +/*-----------------------------------------------------------*/ + +static TickType_t prvGetNextDelayTime(void) +{ + TickType_t xNextDelay; + const TickType_t xMaxDelay = pdMS_TO_TICKS((TickType_t)150); + const TickType_t xMinDelay = pdMS_TO_TICKS((TickType_t)75); + const TickType_t xTinyDelay = pdMS_TO_TICKS((TickType_t)2); + + /* Generate the next delay time. This is kept within a narrow band so as + not to disturb the timing of other tests - but does add in some pseudo + randomisation into the tests. */ + do { + xNextDelay = prvRand() % xMaxDelay; + + /* Just in case this loop is executed lots of times. */ + vTaskDelay(xTinyDelay); + + } while (xNextDelay < xMinDelay); + + return xNextDelay; +} +/*-----------------------------------------------------------*/ + +static void prvSanityCheckCreatedEventGroup(EventGroupHandle_t xEventGroup) +{ + EventBits_t xEventBits; + const EventBits_t xFirstTestBits = (EventBits_t)0xaa, + xSecondTestBits = (EventBits_t)0x55; + + /* The event group should not have any bits set yet. */ + xEventBits = xEventGroupGetBits(xEventGroup); + + if (xEventBits != (EventBits_t)0) { + xErrorOccurred = pdTRUE; + } + + /* Some some bits, then read them back to check they are as expected. */ + xEventGroupSetBits(xEventGroup, xFirstTestBits); + + xEventBits = xEventGroupGetBits(xEventGroup); + + if (xEventBits != xFirstTestBits) { + xErrorOccurred = pdTRUE; + } + + xEventGroupSetBits(xEventGroup, xSecondTestBits); + + xEventBits = xEventGroupGetBits(xEventGroup); + + if (xEventBits != (xFirstTestBits | xSecondTestBits)) { + xErrorOccurred = pdTRUE; + } + + /* Finally try clearing some bits too and check that operation proceeds as + expected. */ + xEventGroupClearBits(xEventGroup, xFirstTestBits); + + xEventBits = xEventGroupGetBits(xEventGroup); + + if (xEventBits != xSecondTestBits) { + xErrorOccurred = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +static void prvSanityCheckCreatedSemaphore(SemaphoreHandle_t xSemaphore, + UBaseType_t uxMaxCount) +{ + BaseType_t xReturned; + UBaseType_t x; + const TickType_t xShortBlockTime = pdMS_TO_TICKS(10); + TickType_t xTickCount; + + /* The binary semaphore should start 'empty', so a call to xSemaphoreTake() + should fail. */ + xTickCount = xTaskGetTickCount(); + xReturned = xSemaphoreTake(xSemaphore, xShortBlockTime); + + if (((TickType_t)(xTaskGetTickCount() - xTickCount)) < + xShortBlockTime) { + /* Did not block on the semaphore as long as expected. */ + xErrorOccurred = pdTRUE; + } + + if (xReturned != pdFAIL) { + xErrorOccurred = pdTRUE; + } + + /* Should be possible to 'give' the semaphore up to a maximum of uxMaxCount + times. */ + for (x = 0; x < uxMaxCount; x++) { + xReturned = xSemaphoreGive(xSemaphore); + + if (xReturned == pdFAIL) { + xErrorOccurred = pdTRUE; + } + } + + /* Giving the semaphore again should fail, as it is 'full'. */ + xReturned = xSemaphoreGive(xSemaphore); + + if (xReturned != pdFAIL) { + xErrorOccurred = pdTRUE; + } + + configASSERT(uxSemaphoreGetCount(xSemaphore) == uxMaxCount); + + /* Should now be possible to 'take' the semaphore up to a maximum of + uxMaxCount times without blocking. */ + for (x = 0; x < uxMaxCount; x++) { + xReturned = xSemaphoreTake(xSemaphore, staticDONT_BLOCK); + + if (xReturned == pdFAIL) { + xErrorOccurred = pdTRUE; + } + } + + /* Back to the starting condition, where the semaphore should not be + available. */ + xTickCount = xTaskGetTickCount(); + xReturned = xSemaphoreTake(xSemaphore, xShortBlockTime); + + if (((TickType_t)(xTaskGetTickCount() - xTickCount)) < + xShortBlockTime) { + /* Did not block on the semaphore as long as expected. */ + xErrorOccurred = pdTRUE; + } + + if (xReturned != pdFAIL) { + xErrorOccurred = pdTRUE; + } + + configASSERT(uxSemaphoreGetCount(xSemaphore) == 0); +} +/*-----------------------------------------------------------*/ + +static void prvSanityCheckCreatedQueue(QueueHandle_t xQueue) +{ + uint64_t ull, ullRead; + BaseType_t xReturned, xLoop; + + /* This test is done twice to ensure the queue storage area wraps. */ + for (xLoop = 0; xLoop < 2; xLoop++) { + /* A very basic test that the queue can be written to and read from as + expected. First the queue should be empty. */ + xReturned = xQueueReceive(xQueue, &ull, staticDONT_BLOCK); + if (xReturned != errQUEUE_EMPTY) { + xErrorOccurred = pdTRUE; + } + + /* Now it should be possible to write to the queue staticQUEUE_LENGTH_IN_ITEMS + times. */ + for (ull = 0; ull < staticQUEUE_LENGTH_IN_ITEMS; ull++) { + xReturned = xQueueSend(xQueue, &ull, staticDONT_BLOCK); + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + } + + /* Should not now be possible to write to the queue again. */ + xReturned = xQueueSend(xQueue, &ull, staticDONT_BLOCK); + if (xReturned != errQUEUE_FULL) { + xErrorOccurred = pdTRUE; + } + + /* Now read back from the queue to ensure the data read back matches that + written. */ + for (ull = 0; ull < staticQUEUE_LENGTH_IN_ITEMS; ull++) { + xReturned = xQueueReceive(xQueue, &ullRead, + staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + + if (ullRead != ull) { + xErrorOccurred = pdTRUE; + } + } + + /* The queue should be empty again. */ + xReturned = xQueueReceive(xQueue, &ull, staticDONT_BLOCK); + if (xReturned != errQUEUE_EMPTY) { + xErrorOccurred = pdTRUE; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvSanityCheckCreatedRecursiveMutex(SemaphoreHandle_t xSemaphore) +{ + const BaseType_t xLoops = 5; + BaseType_t x, xReturned; + + /* A very basic test that the recursive semaphore behaved like a recursive + semaphore. First the semaphore should not be able to be given, as it has not + yet been taken. */ + xReturned = xSemaphoreGiveRecursive(xSemaphore); + + if (xReturned != pdFAIL) { + xErrorOccurred = pdTRUE; + } + + /* Now it should be possible to take the mutex a number of times. */ + for (x = 0; x < xLoops; x++) { + xReturned = + xSemaphoreTakeRecursive(xSemaphore, staticDONT_BLOCK); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + } + + /* Should be possible to give the semaphore the same number of times as it + was given in the loop above. */ + for (x = 0; x < xLoops; x++) { + xReturned = xSemaphoreGiveRecursive(xSemaphore); + + if (xReturned != pdPASS) { + xErrorOccurred = pdTRUE; + } + } + + /* No more gives should be possible though. */ + xReturned = xSemaphoreGiveRecursive(xSemaphore); + + if (xReturned != pdFAIL) { + xErrorOccurred = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreStaticAllocationTasksStillRunning(void) +{ + static UBaseType_t uxLastCycleCounter = 0; + BaseType_t xReturn; + + if (uxCycleCounter == uxLastCycleCounter) { + xErrorOccurred = pdTRUE; + } else { + uxLastCycleCounter = uxCycleCounter; + } + + if (xErrorOccurred != pdFALSE) { + xReturn = pdFAIL; + } else { + xReturn = pdPASS; + } + + return xReturn; +} +/*-----------------------------------------------------------*/ + +/* Exclude the entire file if configSUPPORT_STATIC_ALLOCATION is 0. */ +#endif /* configSUPPORT_STATIC_ALLOCATION == 1 */ diff --git a/freertos/cvitek/task/demo/Common/Minimal/StreamBufferDemo.c b/freertos/cvitek/task/demo/Common/Minimal/StreamBufferDemo.c new file mode 100644 index 000000000..4cbbcd2d3 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/StreamBufferDemo.c @@ -0,0 +1,1218 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* Standard includes. */ +#include "stdio.h" +#include "string.h" + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "stream_buffer.h" + +/* Demo app includes. */ +#include "StreamBufferDemo.h" + +/* The number of bytes of storage in the stream buffers used in this test. */ +#define sbSTREAM_BUFFER_LENGTH_BYTES ((size_t)30) + +/* Stream buffer length one. */ +#define sbSTREAM_BUFFER_LENGTH_ONE ((size_t)1) + +/* Start and end ASCII characters used in data sent to the buffers. */ +#define sbASCII_SPACE 32 +#define sbASCII_TILDA 126 + +/* Defines the number of tasks to create in this test and demo. */ +#define sbNUMBER_OF_ECHO_CLIENTS (2) +#define sbNUMBER_OF_SENDER_TASKS (2) + +/* Priority of the test tasks. The send and receive go from low to high +priority tasks, and from high to low priority tasks. */ +#define sbLOWER_PRIORITY (tskIDLE_PRIORITY) +#define sbHIGHER_PRIORITY (tskIDLE_PRIORITY + 1) + +/* Block times used when sending and receiving from the stream buffers. */ +#define sbRX_TX_BLOCK_TIME pdMS_TO_TICKS(125UL) + +/* A block time of 0 means "don't block". */ +#define sbDONT_BLOCK (0) + +/* The trigger level sets the number of bytes that must be present in the +stream buffer before a task that is blocked on the stream buffer is moved out of +the Blocked state so it can read the bytes. */ +#define sbTRIGGER_LEVEL_1 (1) + +/* The size of the stack allocated to the tasks that run as part of this demo/ +test. The stack size is over generous in most cases. */ +#ifndef configSTREAM_BUFFER_SENDER_TASK_STACK_SIZE +#define sbSTACK_SIZE \ + (configMINIMAL_STACK_SIZE + (configMINIMAL_STACK_SIZE >> 1)) +#else +#define sbSTACK_SIZE configSTREAM_BUFFER_SENDER_TASK_STACK_SIZE +#endif + +#ifndef configSTREAM_BUFFER_SMALLER_TASK_STACK_SIZE +#define sbSMALLER_STACK_SIZE sbSTACK_SIZE +#else +#define sbSMALLER_STACK_SIZE configSTREAM_BUFFER_SMALLER_TASK_STACK_SIZE +#endif + +/*-----------------------------------------------------------*/ + +/* + * Performs various tests that do not require multiple tasks to interact. + */ +static void prvSingleTaskTests(StreamBufferHandle_t xStreamBuffer); + +/* + * Tests sending and receiving various lengths of data via a stream buffer. + * The echo client sends the data to the echo server, which then sends the + * data back to the echo client, which checks it receives exactly what it + * sent. + */ +static void prvEchoClient(void *pvParameters); +static void prvEchoServer(void *pvParameters); + +/* + * Tasks that send and receive to a stream buffer at a low priority and without + * blocking, so the send and receive functions interleave in time as the tasks + * are switched in and out. + */ +static void prvNonBlockingReceiverTask(void *pvParameters); +static void prvNonBlockingSenderTask(void *pvParameters); + +/* Performs an assert() like check in a way that won't get removed when +performing a code coverage analysis. */ +static void prvCheckExpectedState(BaseType_t xState); + +/* + * A task that creates a stream buffer with a specific trigger level, then + * receives a string from an interrupt (the RTOS tick hook) byte by byte to + * check it is only unblocked when the specified trigger level is reached. + */ +static void prvInterruptTriggerLevelTest(void *pvParameters); + +#if (configSUPPORT_STATIC_ALLOCATION == 1) +/* This file tests both statically and dynamically allocated stream buffers. + Allocate the structures and buffers to be used by the statically allocated + objects, which get used in the echo tests. */ +static void prvReceiverTask(void *pvParameters); +static void prvSenderTask(void *pvParameters); + +static StaticStreamBuffer_t xStaticStreamBuffers[sbNUMBER_OF_ECHO_CLIENTS]; +static uint8_t ucBufferStorage[sbNUMBER_OF_SENDER_TASKS] + [sbSTREAM_BUFFER_LENGTH_BYTES + 1]; +static uint32_t ulSenderLoopCounters[sbNUMBER_OF_SENDER_TASKS] = { 0 }; +#endif /* configSUPPORT_STATIC_ALLOCATION */ + +/*-----------------------------------------------------------*/ + +/* The buffers used by the echo client and server tasks. */ +typedef struct ECHO_STREAM_BUFFERS { + /* Handles to the data structures that describe the stream buffers. */ + StreamBufferHandle_t xEchoClientBuffer; + StreamBufferHandle_t xEchoServerBuffer; +} EchoStreamBuffers_t; +static volatile uint32_t ulEchoLoopCounters[sbNUMBER_OF_ECHO_CLIENTS] = { 0 }; + +/* The non-blocking tasks monitor their operation, and if no errors have been +found, increment ulNonBlockingRxCounter. xAreStreamBufferTasksStillRunning() +then checks ulNonBlockingRxCounter and only returns pdPASS if +ulNonBlockingRxCounter is still incrementing. */ +static volatile uint32_t ulNonBlockingRxCounter = 0; + +/* The task that receives characters from the tick interrupt in order to test +different trigger levels monitors its own behaviour. If it has not detected any +error then it increments ulInterruptTriggerCounter to indicate to the check task +that it is still operating correctly. */ +static volatile uint32_t ulInterruptTriggerCounter = 0UL; + +/* The stream buffer used from the tick interrupt. This sends one byte at a time +to a test task to test the trigger level operation. The variable is set to NULL +in between test runs. */ +static volatile StreamBufferHandle_t xInterruptStreamBuffer = NULL; + +/* The data sent from the tick interrupt to the task that tests the trigger +level functionality. */ +static const char *pcDataSentFromInterrupt = "0123456789"; + +/* Data that is longer than the buffer that is sent to the buffers as a stream +of bytes. Parts of which are written to the stream buffer to test writing +different lengths at different offsets, to many bytes, part streams, streams +that wrap, etc.. Two messages are defined to ensure left over data is not +accidentally read out of the buffer. */ +static const char *pc55ByteString = + "One two three four five six seven eight nine ten eleven"; +static const char *pc54ByteString = + "01234567891abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ"; + +/* Used to log the status of the tests contained within this file for reporting +to a monitoring task ('check' task). */ +static BaseType_t xErrorStatus = pdPASS; + +/*-----------------------------------------------------------*/ + +void vStartStreamBufferTasks(void) +{ + StreamBufferHandle_t xStreamBuffer; + + /* The echo servers sets up the stream buffers before creating the echo + client tasks. One set of tasks has the server as the higher priority, and + the other has the client as the higher priority. */ + xTaskCreate(prvEchoServer, "1StrEchoServer", sbSMALLER_STACK_SIZE, NULL, + sbHIGHER_PRIORITY, NULL); + xTaskCreate(prvEchoServer, "2StrEchoServer", sbSMALLER_STACK_SIZE, NULL, + sbLOWER_PRIORITY, NULL); + + /* The non blocking tasks run continuously and will interleave with each + other, so must be created at the lowest priority. The stream buffer they + use is created and passed in using the task's parameter. */ + xStreamBuffer = xStreamBufferCreate(sbSTREAM_BUFFER_LENGTH_BYTES, + sbTRIGGER_LEVEL_1); + xTaskCreate(prvNonBlockingReceiverTask, "StrNonBlkRx", + configMINIMAL_STACK_SIZE, (void *)xStreamBuffer, + tskIDLE_PRIORITY, NULL); + xTaskCreate(prvNonBlockingSenderTask, "StrNonBlkTx", + configMINIMAL_STACK_SIZE, (void *)xStreamBuffer, + tskIDLE_PRIORITY, NULL); + + /* The task that receives bytes from an interrupt to test that it unblocks + at a specific trigger level must run at a high priority to minimise the risk + of it receiving more characters before it can execute again after being + unblocked. */ + xTaskCreate(prvInterruptTriggerLevelTest, "StrTrig", + configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, + NULL); + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + /* The sender tasks set up the stream buffers before creating the + receiver tasks. Priorities must be 0 and 1 as the priority is used to + index into the xStaticStreamBuffers and ucBufferStorage arrays. */ + xTaskCreate(prvSenderTask, "Str1Sender", sbSMALLER_STACK_SIZE, + NULL, sbHIGHER_PRIORITY, NULL); + xTaskCreate(prvSenderTask, "Str2Sender", sbSMALLER_STACK_SIZE, + NULL, sbLOWER_PRIORITY, NULL); + } +#endif /* configSUPPORT_STATIC_ALLOCATION */ +} +/*-----------------------------------------------------------*/ + +static void prvCheckExpectedState(BaseType_t xState) +{ + configASSERT(xState); + if (xState == pdFAIL) { + xErrorStatus = pdFAIL; + } +} +/*-----------------------------------------------------------*/ + +static void prvSingleTaskTests(StreamBufferHandle_t xStreamBuffer) +{ + size_t xReturned, xItem, xExpectedSpace; + const size_t xMax6ByteMessages = sbSTREAM_BUFFER_LENGTH_BYTES / 6; + const size_t x6ByteLength = 6, x17ByteLength = 17, + xFullBufferSize = sbSTREAM_BUFFER_LENGTH_BYTES * (size_t)2; + uint8_t *pucFullBuffer, *pucData, *pucReadData; + TickType_t xTimeBeforeCall, xTimeAfterCall; + const TickType_t xBlockTime = pdMS_TO_TICKS(15), + xAllowableMargin = pdMS_TO_TICKS(3), + xMinimalBlockTime = 2; + UBaseType_t uxOriginalPriority; + + /* Remove warning in case configASSERT() is not defined. */ + (void)xAllowableMargin; + + /* To minimise stack and heap usage a full size buffer is allocated from the + heap, then buffers which hold smaller amounts of data are overlayed with the + larger buffer - just make sure not to use both at once! */ + pucFullBuffer = pvPortMalloc(xFullBufferSize); + configASSERT(pucFullBuffer); + + pucData = pucFullBuffer; + pucReadData = pucData + x17ByteLength; + + /* Nothing has been added or removed yet, so expect the free space to be + exactly as created. */ + xExpectedSpace = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xExpectedSpace == sbSTREAM_BUFFER_LENGTH_BYTES); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdTRUE); + + /* The buffer is 30 bytes long. 6 5 byte messages should fit before the + buffer is completely full. */ + for (xItem = 0; xItem < xMax6ByteMessages; xItem++) { + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == + pdFALSE); + + /* Generate recognisable data to write to the buffer. This is just + ascii characters that shows which loop iteration the data was written + in. The 'FromISR' version is used to give it some exercise as a block + time is not used, so the call must be inside a critical section so it + runs with ports that don't support interrupt nesting (and therefore + don't have interrupt safe critical sections). */ + memset((void *)pucData, ((int)'0') + (int)xItem, x6ByteLength); + taskENTER_CRITICAL(); + { + xReturned = + xStreamBufferSendFromISR(xStreamBuffer, + (void *)pucData, + x6ByteLength, NULL); + } + taskEXIT_CRITICAL(); + prvCheckExpectedState(xReturned == x6ByteLength); + + /* The space in the buffer will have reduced by the amount of user data + written into the buffer. */ + xExpectedSpace -= x6ByteLength; + xReturned = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == xExpectedSpace); + xReturned = xStreamBufferBytesAvailable(xStreamBuffer); + /* +1 as it is zero indexed. */ + prvCheckExpectedState(xReturned == + ((xItem + 1) * x6ByteLength)); + } + + /* Now the buffer should be full, and attempting to add anything will should + fail. */ + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdTRUE); + xReturned = xStreamBufferSend(xStreamBuffer, (void *)pucData, + sizeof(pucData[0]), sbDONT_BLOCK); + prvCheckExpectedState(xReturned == 0); + + /* Adding with a timeout should also fail after the appropriate time. The + priority is temporarily boosted in this part of the test to keep the + allowable margin to a minimum. */ + uxOriginalPriority = uxTaskPriorityGet(NULL); + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + xTimeBeforeCall = xTaskGetTickCount(); + xReturned = xStreamBufferSend(xStreamBuffer, (void *)pucData, + sizeof(pucData[0]), xBlockTime); + xTimeAfterCall = xTaskGetTickCount(); + vTaskPrioritySet(NULL, uxOriginalPriority); + prvCheckExpectedState( + ((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) >= xBlockTime); + prvCheckExpectedState(((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) < + (xBlockTime + xAllowableMargin)); + prvCheckExpectedState(xReturned == 0); + + /* The buffer is now full of data in the form "000000", "111111", etc. Make + sure the data is read out as expected. */ + for (xItem = 0; xItem < xMax6ByteMessages; xItem++) { + /* Generate the data that is expected to be read out for this loop + iteration. */ + memset((void *)pucData, ((int)'0') + (int)xItem, x6ByteLength); + + /* Read the next 6 bytes out. The 'FromISR' version is used to give it + some exercise as a block time is not used, so a it must be called from + a critical section so this will work on ports that don't support + interrupt nesting (so don't have interrupt safe critical sections). */ + taskENTER_CRITICAL(); + { + xReturned = + xStreamBufferReceiveFromISR(xStreamBuffer, + (void *)pucReadData, + x6ByteLength, NULL); + } + taskEXIT_CRITICAL(); + prvCheckExpectedState(xReturned == x6ByteLength); + + /* Does the data read out match that expected? */ + prvCheckExpectedState(memcmp((void *)pucData, + (void *)pucReadData, + x6ByteLength) == 0); + + /* The space in the buffer will have increased by the amount of user + data removed from the buffer. */ + xExpectedSpace += x6ByteLength; + xReturned = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == xExpectedSpace); + xReturned = xStreamBufferBytesAvailable(xStreamBuffer); + prvCheckExpectedState( + xReturned == + (sbSTREAM_BUFFER_LENGTH_BYTES - xExpectedSpace)); + } + + /* The buffer should be empty again. */ + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdTRUE); + xExpectedSpace = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xExpectedSpace == sbSTREAM_BUFFER_LENGTH_BYTES); + + /* Reading with a timeout should also fail after the appropriate time. The + priority is temporarily boosted in this part of the test to keep the + allowable margin to a minimum. */ + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + xTimeBeforeCall = xTaskGetTickCount(); + xReturned = xStreamBufferReceive(xStreamBuffer, (void *)pucReadData, + x6ByteLength, xBlockTime); + xTimeAfterCall = xTaskGetTickCount(); + vTaskPrioritySet(NULL, uxOriginalPriority); + prvCheckExpectedState( + ((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) >= xBlockTime); + prvCheckExpectedState(((TickType_t)(xTimeAfterCall - xTimeBeforeCall)) < + (xBlockTime + xAllowableMargin)); + prvCheckExpectedState(xReturned == 0); + + /* In the next loop 17 bytes are written to then read out on each + iteration. As 30 is not divisible by 17 the data will wrap around. */ + xExpectedSpace = sbSTREAM_BUFFER_LENGTH_BYTES - x17ByteLength; + + for (xItem = 0; xItem < 100; xItem++) { + /* Generate recognisable data to write to the queue. This is just + ascii characters that shows which loop iteration the data was written + in. */ + memset((void *)pucData, ((int)'0') + (int)xItem, x17ByteLength); + xReturned = xStreamBufferSend(xStreamBuffer, (void *)pucData, + x17ByteLength, sbDONT_BLOCK); + prvCheckExpectedState(xReturned == x17ByteLength); + + /* The space in the buffer will have reduced by the amount of user data + written into the buffer. */ + xReturned = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == xExpectedSpace); + xReturned = xStreamBufferBytesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == x17ByteLength); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == + pdFALSE); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == + pdFALSE); + + /* Read the 17 bytes out again. */ + xReturned = + xStreamBufferReceive(xStreamBuffer, (void *)pucReadData, + x17ByteLength, sbDONT_BLOCK); + prvCheckExpectedState(xReturned == x17ByteLength); + + /* Does the data read out match that expected? */ + prvCheckExpectedState(memcmp((void *)pucData, + (void *)pucReadData, + x17ByteLength) == 0); + + /* Full buffer space available again. */ + xReturned = xStreamBufferSpacesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == + sbSTREAM_BUFFER_LENGTH_BYTES); + xReturned = xStreamBufferBytesAvailable(xStreamBuffer); + prvCheckExpectedState(xReturned == 0); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == + pdFALSE); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == + pdTRUE); + } + + /* Fill the buffer with one message, check it is full, then read it back + again and check the correct data is received. */ + xStreamBufferSend(xStreamBuffer, (const void *)pc55ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES, sbDONT_BLOCK); + xStreamBufferReceive(xStreamBuffer, (void *)pucFullBuffer, + sbSTREAM_BUFFER_LENGTH_BYTES, sbDONT_BLOCK); + prvCheckExpectedState(memcmp(pc55ByteString, pucFullBuffer, + sbSTREAM_BUFFER_LENGTH_BYTES) == 0); + + /* Fill the buffer one bytes at a time. */ + for (xItem = 0; xItem < sbSTREAM_BUFFER_LENGTH_BYTES; xItem++) { + /* Block time is only for test coverage, the task should never actually + block here. */ + xStreamBufferSend(xStreamBuffer, + (const void *)&(pc54ByteString[xItem]), + sizeof(char), sbRX_TX_BLOCK_TIME); + } + + /* The buffer should now be full. */ + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdTRUE); + + /* Read the message out in one go, even though it was written in individual + bytes. Try reading much more data than is actually available to ensure only + the available bytes are returned (otherwise this read will write outside of + the memory allocated anyway!). */ + xReturned = + xStreamBufferReceive(xStreamBuffer, pucFullBuffer, + sbSTREAM_BUFFER_LENGTH_BYTES * (size_t)2, + sbRX_TX_BLOCK_TIME); + prvCheckExpectedState(xReturned == sbSTREAM_BUFFER_LENGTH_BYTES); + prvCheckExpectedState(memcmp((const void *)pc54ByteString, + (const void *)pucFullBuffer, + sbSTREAM_BUFFER_LENGTH_BYTES) == 0); + + /* Now do the opposite, write in one go and read out in single bytes. */ + xReturned = + xStreamBufferSend(xStreamBuffer, (const void *)pc55ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES, + sbRX_TX_BLOCK_TIME); + prvCheckExpectedState(xReturned == sbSTREAM_BUFFER_LENGTH_BYTES); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdTRUE); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdFALSE); + prvCheckExpectedState(xStreamBufferBytesAvailable(xStreamBuffer) == + sbSTREAM_BUFFER_LENGTH_BYTES); + prvCheckExpectedState(xStreamBufferSpacesAvailable(xStreamBuffer) == 0); + + /* Read from the buffer one byte at a time. */ + for (xItem = 0; xItem < sbSTREAM_BUFFER_LENGTH_BYTES; xItem++) { + /* Block time is only for test coverage, the task should never actually + block here. */ + xStreamBufferReceive(xStreamBuffer, (void *)pucFullBuffer, + sizeof(char), sbRX_TX_BLOCK_TIME); + prvCheckExpectedState(pc55ByteString[xItem] == + pucFullBuffer[0]); + } + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdTRUE); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdFALSE); + + /* Try writing more bytes than there is space. */ + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + xTimeBeforeCall = xTaskGetTickCount(); + xReturned = + xStreamBufferSend(xStreamBuffer, (const void *)pc54ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES * (size_t)2, + xMinimalBlockTime); + xTimeAfterCall = xTaskGetTickCount(); + vTaskPrioritySet(NULL, uxOriginalPriority); + prvCheckExpectedState((xTimeAfterCall - xTimeBeforeCall) >= + xMinimalBlockTime); + prvCheckExpectedState((xTimeAfterCall - xTimeBeforeCall) < + (xMinimalBlockTime + xAllowableMargin)); + prvCheckExpectedState(xReturned == sbSTREAM_BUFFER_LENGTH_BYTES); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdTRUE); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdFALSE); + + /* No space now though. */ + xReturned = + xStreamBufferSend(xStreamBuffer, (const void *)pc54ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES * (size_t)2, + xMinimalBlockTime); + prvCheckExpectedState(xReturned == 0); + + /* Ensure data was written as expected even when there was an attempt to + write more than was available. This also tries to read more bytes than are + available. */ + xReturned = xStreamBufferReceive(xStreamBuffer, (void *)pucFullBuffer, + xFullBufferSize, xMinimalBlockTime); + prvCheckExpectedState(memcmp((const void *)pucFullBuffer, + (const void *)pc54ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES) == 0); + prvCheckExpectedState(xStreamBufferIsFull(xStreamBuffer) == pdFALSE); + prvCheckExpectedState(xStreamBufferIsEmpty(xStreamBuffer) == pdTRUE); + + /* Clean up with data in the buffer to ensure the tests that follow don't + see the data (the data should be discarded). */ + (void)xStreamBufferSend(xStreamBuffer, (const void *)pc55ByteString, + sbSTREAM_BUFFER_LENGTH_BYTES / (size_t)2, + sbDONT_BLOCK); + vPortFree(pucFullBuffer); + xStreamBufferReset(xStreamBuffer); +} +/*-----------------------------------------------------------*/ + +static void prvNonBlockingSenderTask(void *pvParameters) +{ + StreamBufferHandle_t xStreamBuffer; + size_t xNextChar = 0, xBytesToSend, xBytesActuallySent; + const size_t xStringLength = strlen(pc54ByteString); + + /* In this case the stream buffer has already been created and is passed + into the task using the task's parameter. */ + xStreamBuffer = (StreamBufferHandle_t)pvParameters; + + /* Keep sending the string to the stream buffer as many bytes as possible in + each go. Doesn't block so calls can interleave with the non-blocking + receives performed by prvNonBlockingReceiverTask(). */ + for (;;) { + /* The whole string cannot be sent at once, so xNextChar is an index to + the position within the string that has been sent so far. How many + bytes are there left to send before the end of the string? */ + xBytesToSend = xStringLength - xNextChar; + + /* Attempt to send right up to the end of the string. */ + xBytesActuallySent = xStreamBufferSend( + xStreamBuffer, + (const void *)&(pc54ByteString[xNextChar]), + xBytesToSend, sbDONT_BLOCK); + prvCheckExpectedState(xBytesActuallySent <= xBytesToSend); + + /* Move the index up the string to the next character to be sent, + wrapping if the end of the string has been reached. */ + xNextChar += xBytesActuallySent; + prvCheckExpectedState(xNextChar <= xStringLength); + + if (xNextChar == xStringLength) { + xNextChar = 0; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvNonBlockingReceiverTask(void *pvParameters) +{ + StreamBufferHandle_t xStreamBuffer; + size_t xNextChar = 0, xReceiveLength, xBytesToTest, xStartIndex; + const size_t xStringLength = strlen(pc54ByteString); + char cRxString[12]; /* Holds received characters. */ + BaseType_t xNonBlockingReceiveError = pdFALSE; + + /* In this case the stream buffer has already been created and is passed + into the task using the task's parameter. */ + xStreamBuffer = (StreamBufferHandle_t)pvParameters; + + /* Expects to receive the pc54ByteString over and over again. Sends and + receives are not blocking so will interleave. */ + for (;;) { + /* Attempt to receive as many bytes as possible, up to the limit of the + Rx buffer size. */ + xReceiveLength = + xStreamBufferReceive(xStreamBuffer, (void *)cRxString, + sizeof(cRxString), sbDONT_BLOCK); + + if (xReceiveLength > 0) { + /* xNextChar is the index into pc54ByteString that has been received + already. If xReceiveLength bytes are added to that, will it go off + the end of the string? If so, then first test up to the end of the + string, then go back to the start of pc54ByteString to test the + remains of the received data. */ + xBytesToTest = xReceiveLength; + if ((xNextChar + xBytesToTest) > xStringLength) { + /* Cap to test the received data to the end of the string. */ + xBytesToTest = xStringLength - xNextChar; + + if (memcmp((const void *)&( + pc54ByteString[xNextChar]), + (const void *)cRxString, + xBytesToTest) != 0) { + xNonBlockingReceiveError = pdTRUE; + } + + /* Then move back to the start of the string to test the + remaining received bytes. */ + xNextChar = 0; + xStartIndex = xBytesToTest; + xBytesToTest = xReceiveLength - xBytesToTest; + } else { + /* The string didn't wrap in the buffer, so start comparing from + the start of the received data. */ + xStartIndex = 0; + } + + /* Test the received bytes are as expected, then move the index + along the string to the next expected char to receive. */ + if (memcmp((const void *)&(pc54ByteString[xNextChar]), + (const void *)&(cRxString[xStartIndex]), + xBytesToTest) != 0) { + xNonBlockingReceiveError = pdTRUE; + } + + if (xNonBlockingReceiveError == pdFALSE) { + /* No errors detected so increment the counter that lets the + check task know this test is still functioning correctly. */ + ulNonBlockingRxCounter++; + } + + xNextChar += xBytesToTest; + if (xNextChar >= xStringLength) { + xNextChar = 0; + } + } + } +} +/*-----------------------------------------------------------*/ + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + +static void prvSenderTask(void *pvParameters) +{ + StreamBufferHandle_t xStreamBuffer, xTempStreamBuffer; + static uint8_t ucTempBuffer + [10]; /* Just used to exercise stream buffer creating and deletion. */ + const TickType_t xTicksToWait = sbRX_TX_BLOCK_TIME, + xShortDelay = pdMS_TO_TICKS(50); + StaticStreamBuffer_t xStaticStreamBuffer; + size_t xNextChar = 0, xBytesToSend, xBytesActuallySent; + const size_t xStringLength = strlen(pc55ByteString); + + /* The task's priority is used as an index into the loop counters used to + indicate this task is still running. */ + UBaseType_t uxIndex = uxTaskPriorityGet(NULL); + + /* Make sure a change in priority does not inadvertently result in an + invalid array index. */ + prvCheckExpectedState(uxIndex < sbNUMBER_OF_ECHO_CLIENTS); + + /* Avoid compiler warnings about unused parameters. */ + (void)pvParameters; + + xStreamBuffer = xStreamBufferCreateStatic( + sizeof(ucBufferStorage) / + sbNUMBER_OF_SENDER_TASKS, /* The number of bytes in each buffer in the array. */ + sbTRIGGER_LEVEL_1, /* The number of bytes to be in the buffer before a task blocked to wait for data is unblocked. */ + &(ucBufferStorage + [uxIndex] + [0]), /* The address of the buffer to use within the array. */ + &(xStaticStreamBuffers + [uxIndex])); /* The static stream buffer structure to use within the array. */ + + /* Now the stream buffer has been created the receiver task can be + created. If this sender task has the higher priority then the receiver + task is created at the lower priority - if this sender task has the + lower priority then the receiver task is created at the higher + priority. */ + if (uxTaskPriorityGet(NULL) == sbLOWER_PRIORITY) { + /* Here prvSingleTaskTests() performs various tests on a stream buffer + that was created statically. */ + prvSingleTaskTests(xStreamBuffer); + xTaskCreate(prvReceiverTask, "StrReceiver", + sbSMALLER_STACK_SIZE, (void *)xStreamBuffer, + sbHIGHER_PRIORITY, NULL); + } else { + xTaskCreate(prvReceiverTask, "StrReceiver", + sbSMALLER_STACK_SIZE, (void *)xStreamBuffer, + sbLOWER_PRIORITY, NULL); + } + + for (;;) { + /* The whole string cannot be sent at once, so xNextChar is an index + to the position within the string that has been sent so far. How + many bytes are there left to send before the end of the string? */ + xBytesToSend = xStringLength - xNextChar; + + /* Attempt to send right up to the end of the string. */ + xBytesActuallySent = xStreamBufferSend( + xStreamBuffer, + (const void *)&(pc55ByteString[xNextChar]), + xBytesToSend, xTicksToWait); + prvCheckExpectedState(xBytesActuallySent <= xBytesToSend); + + /* Move the index up the string to the next character to be sent, + wrapping if the end of the string has been reached. */ + xNextChar += xBytesActuallySent; + prvCheckExpectedState(xNextChar <= xStringLength); + + if (xNextChar == xStringLength) { + xNextChar = 0; + } + + /* Increment a loop counter so a check task can tell this task is + still running as expected. */ + ulSenderLoopCounters[uxIndex]++; + + if (uxTaskPriorityGet(NULL) == sbHIGHER_PRIORITY) { + /* Allow other tasks to run. */ + vTaskDelay(xShortDelay); + } + + /* This stream buffer is just created and deleted to ensure no + issues when attempting to delete a stream buffer that was + created using statically allocated memory. To save stack space + the buffer is set to point to the pc55ByteString, which is a const + string, but no data is written into the buffer so any valid address + will do. */ + xTempStreamBuffer = xStreamBufferCreateStatic( + sizeof(ucTempBuffer), sbTRIGGER_LEVEL_1, ucTempBuffer, + &xStaticStreamBuffer); + xStreamBufferReset(xTempStreamBuffer); + vStreamBufferDelete(xTempStreamBuffer); + } +} + +#endif /* configSUPPORT_STATIC_ALLOCATION */ +/*-----------------------------------------------------------*/ + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + +static void prvReceiverTask(void *pvParameters) +{ + StreamBufferHandle_t const pxStreamBuffer = + (StreamBufferHandle_t)pvParameters; + char cRxString[12]; /* Large enough to hold a 32-bit number in ASCII. */ + const TickType_t xTicksToWait = pdMS_TO_TICKS(5UL); + const size_t xStringLength = strlen(pc55ByteString); + size_t xNextChar = 0, xReceivedLength, xBytesToReceive; + + for (;;) { + /* Attempt to receive the number of bytes to the end of the string, + or the number of byte that can be placed into the rx buffer, + whichever is smallest. */ + xBytesToReceive = configMIN((xStringLength - xNextChar), + sizeof(cRxString)); + + do { + xReceivedLength = xStreamBufferReceive( + pxStreamBuffer, (void *)cRxString, + xBytesToReceive, xTicksToWait); + + } while (xReceivedLength == 0); + + /* Ensure the received string matches the expected string. */ + prvCheckExpectedState( + memcmp((void *)cRxString, + (const void *)&(pc55ByteString[xNextChar]), + xReceivedLength) == 0); + + /* Move the index into the string up to the end of the bytes + received so far - wrapping if the end of the string has been + reached. */ + xNextChar += xReceivedLength; + if (xNextChar >= xStringLength) { + xNextChar = 0; + } + } +} + +#endif /* configSUPPORT_STATIC_ALLOCATION */ +/*-----------------------------------------------------------*/ + +static void prvEchoClient(void *pvParameters) +{ + size_t xSendLength = 0, ux; + char *pcStringToSend, *pcStringReceived, cNextChar = sbASCII_SPACE; + const TickType_t xTicksToWait = pdMS_TO_TICKS(50); + StreamBufferHandle_t xTempStreamBuffer; + + /* The task's priority is used as an index into the loop counters used to +indicate this task is still running. */ + UBaseType_t uxIndex = uxTaskPriorityGet(NULL); + + /* Pointers to the client and server stream buffers are passed into this task +using the task's parameter. */ + EchoStreamBuffers_t *pxStreamBuffers = + (EchoStreamBuffers_t *)pvParameters; + + /* Prevent compiler warnings. */ + (void)pvParameters; + + /* Create the buffer into which strings to send to the server will be + created, and the buffer into which strings echoed back from the server will + be copied. */ + pcStringToSend = (char *)pvPortMalloc(sbSTREAM_BUFFER_LENGTH_BYTES); + pcStringReceived = (char *)pvPortMalloc(sbSTREAM_BUFFER_LENGTH_BYTES); + + configASSERT(pcStringToSend); + configASSERT(pcStringReceived); + + for (;;) { + /* Generate the length of the next string to send. */ + xSendLength++; + + /* The stream buffer is being used to hold variable length data, so + each data item requires sizeof( size_t ) bytes to hold the data's + length, hence the sizeof() in the if() condition below. */ + if (xSendLength > + (sbSTREAM_BUFFER_LENGTH_BYTES - sizeof(size_t))) { + /* Back to a string length of 1. */ + xSendLength = sizeof(char); + } + + memset(pcStringToSend, 0x00, sbSTREAM_BUFFER_LENGTH_BYTES); + + for (ux = 0; ux < xSendLength; ux++) { + pcStringToSend[ux] = cNextChar; + + cNextChar++; + + if (cNextChar > sbASCII_TILDA) { + cNextChar = sbASCII_SPACE; + } + } + + /* Send the generated string to the buffer. */ + do { + ux = xStreamBufferSend( + pxStreamBuffers->xEchoClientBuffer, + (void *)pcStringToSend, xSendLength, + xTicksToWait); + + } while (ux == 0); + + /* Wait for the string to be echoed back. */ + memset(pcStringReceived, 0x00, sbSTREAM_BUFFER_LENGTH_BYTES); + xStreamBufferReceive(pxStreamBuffers->xEchoServerBuffer, + (void *)pcStringReceived, xSendLength, + portMAX_DELAY); + + prvCheckExpectedState( + strcmp(pcStringToSend, pcStringReceived) == 0); + + /* Maintain a count of the number of times this code executes so a + check task can determine if this task is still functioning as + expected or not. As there are two client tasks, and the priorities + used are 0 and 1, the task's priority is used as an index into the + loop count array. */ + ulEchoLoopCounters[uxIndex]++; + + /* This stream buffer is just created and deleted to ensure no memory + leaks. */ + xTempStreamBuffer = xStreamBufferCreate( + sbSTREAM_BUFFER_LENGTH_BYTES, sbTRIGGER_LEVEL_1); + vStreamBufferDelete(xTempStreamBuffer); + + /* The following are tests for a stream buffer of size one. */ + /* Create a buffer of size one. */ + xTempStreamBuffer = xStreamBufferCreate( + sbSTREAM_BUFFER_LENGTH_ONE, sbTRIGGER_LEVEL_1); + /* Ensure that the buffer was created successfully. */ + configASSERT(xTempStreamBuffer); + + /* Send one byte to the buffer. */ + ux = xStreamBufferSend(xTempStreamBuffer, + (void *)pcStringToSend, (size_t)1, + sbDONT_BLOCK); + /* Ensure that the byte was sent successfully. */ + configASSERT(ux == 1); + /* Try sending another byte to the buffer. */ + ux = xStreamBufferSend(xTempStreamBuffer, + (void *)pcStringToSend, (size_t)1, + sbDONT_BLOCK); + /* Make sure that send failed as the buffer is full. */ + configASSERT(ux == 0); + + /* Receive one byte from the buffer. */ + memset(pcStringReceived, 0x00, sbSTREAM_BUFFER_LENGTH_BYTES); + ux = xStreamBufferReceive(xTempStreamBuffer, + (void *)pcStringReceived, (size_t)1, + sbDONT_BLOCK); + /* Ensure that the receive was successful. */ + configASSERT(ux == 1); + /* Ensure that the correct data was received. */ + configASSERT(pcStringToSend[0] == pcStringReceived[0]); + /* Try receiving another byte from the buffer. */ + ux = xStreamBufferReceive(xTempStreamBuffer, + (void *)pcStringReceived, (size_t)1, + sbDONT_BLOCK); + /* Ensure that the receive failed as the buffer is empty. */ + configASSERT(ux == 0); + + /* Try sending two bytes to the buffer. Since the size of the + * buffer is one, we must not be able to send more than one. */ + ux = xStreamBufferSend(xTempStreamBuffer, + (void *)pcStringToSend, (size_t)2, + sbDONT_BLOCK); + /* Ensure that only one byte was sent. */ + configASSERT(ux == 1); + + /* Try receiving two bytes from the buffer. Since the size of the + * buffer is one, we must not be able to get more than one. */ + memset(pcStringReceived, 0x00, sbSTREAM_BUFFER_LENGTH_BYTES); + ux = xStreamBufferReceive(xTempStreamBuffer, + (void *)pcStringReceived, (size_t)2, + sbDONT_BLOCK); + /* Ensure that only one byte was received. */ + configASSERT(ux == 1); + /* Ensure that the correct data was received. */ + configASSERT(pcStringToSend[0] == pcStringReceived[0]); + + /* Delete the buffer. */ + vStreamBufferDelete(xTempStreamBuffer); + } +} +/*-----------------------------------------------------------*/ + +static void prvEchoServer(void *pvParameters) +{ + size_t xReceivedLength; + char *pcReceivedString; + EchoStreamBuffers_t xStreamBuffers; + TickType_t xTimeOnEntering; + const TickType_t xTicksToBlock = pdMS_TO_TICKS(350UL); + + /* Prevent compiler warnings about unused parameters. */ + (void)pvParameters; + + /* Create the stream buffer used to send data from the client to the server, + and the stream buffer used to echo the data from the server back to the + client. */ + xStreamBuffers.xEchoClientBuffer = xStreamBufferCreate( + sbSTREAM_BUFFER_LENGTH_BYTES, sbTRIGGER_LEVEL_1); + xStreamBuffers.xEchoServerBuffer = xStreamBufferCreate( + sbSTREAM_BUFFER_LENGTH_BYTES, sbTRIGGER_LEVEL_1); + configASSERT(xStreamBuffers.xEchoClientBuffer); + configASSERT(xStreamBuffers.xEchoServerBuffer); + + /* Create the buffer into which received strings will be copied. */ + pcReceivedString = (char *)pvPortMalloc(sbSTREAM_BUFFER_LENGTH_BYTES); + configASSERT(pcReceivedString); + + /* Don't expect to receive anything yet! */ + xTimeOnEntering = xTaskGetTickCount(); + xReceivedLength = xStreamBufferReceive(xStreamBuffers.xEchoClientBuffer, + (void *)pcReceivedString, + sbSTREAM_BUFFER_LENGTH_BYTES, + xTicksToBlock); + prvCheckExpectedState(((TickType_t)(xTaskGetTickCount() - + xTimeOnEntering)) >= xTicksToBlock); + prvCheckExpectedState(xReceivedLength == 0); + + /* Now the stream buffers have been created the echo client task can be + created. If this server task has the higher priority then the client task + is created at the lower priority - if this server task has the lower + priority then the client task is created at the higher priority. */ + if (uxTaskPriorityGet(NULL) == sbLOWER_PRIORITY) { + xTaskCreate(prvEchoClient, "EchoClient", sbSMALLER_STACK_SIZE, + (void *)&xStreamBuffers, sbHIGHER_PRIORITY, NULL); + } else { + /* Here prvSingleTaskTests() performs various tests on a stream buffer + that was created dynamically. */ + prvSingleTaskTests(xStreamBuffers.xEchoClientBuffer); + xTaskCreate(prvEchoClient, "EchoClient", sbSMALLER_STACK_SIZE, + (void *)&xStreamBuffers, sbLOWER_PRIORITY, NULL); + } + + for (;;) { + memset(pcReceivedString, 0x00, sbSTREAM_BUFFER_LENGTH_BYTES); + + /* Has any data been sent by the client? */ + xReceivedLength = + xStreamBufferReceive(xStreamBuffers.xEchoClientBuffer, + (void *)pcReceivedString, + sbSTREAM_BUFFER_LENGTH_BYTES, + portMAX_DELAY); + + /* Should always receive data as max delay was used. */ + prvCheckExpectedState(xReceivedLength > 0); + + /* Echo the received data back to the client. */ + xStreamBufferSend(xStreamBuffers.xEchoServerBuffer, + (void *)pcReceivedString, xReceivedLength, + portMAX_DELAY); + } +} +/*-----------------------------------------------------------*/ + +void vPeriodicStreamBufferProcessing(void) +{ + static size_t xNextChar = 0; + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + + /* Called from the tick interrupt hook. If the global stream buffer + variable is not NULL then the prvInterruptTriggerTest() task expects a byte + to be sent to the stream buffer on each tick interrupt. */ + if (xInterruptStreamBuffer != NULL) { + /* One character from the pcDataSentFromInterrupt string is sent on each + interrupt. The task blocked on the stream buffer should not be + unblocked until the defined trigger level is hit. */ + xStreamBufferSendFromISR( + xInterruptStreamBuffer, + (const void *)&(pcDataSentFromInterrupt[xNextChar]), + sizeof(char), &xHigherPriorityTaskWoken); + + if (xNextChar < strlen(pcDataSentFromInterrupt)) { + xNextChar++; + } + } else { + /* Start at the beginning of the string being sent again. */ + xNextChar = 0; + } +} +/*-----------------------------------------------------------*/ + +static void prvInterruptTriggerLevelTest(void *pvParameters) +{ + StreamBufferHandle_t xStreamBuffer; + size_t xTriggerLevel = 1, xBytesReceived; + const size_t xStreamBufferSizeBytes = (size_t)9, + xMaxTriggerLevel = (size_t)7, xMinTriggerLevel = (size_t)2; + const TickType_t xReadBlockTime = 5, + xCycleBlockTime = pdMS_TO_TICKS(100); + uint8_t ucRxData[9]; + BaseType_t xErrorDetected = pdFALSE; +#ifndef configSTREAM_BUFFER_TRIGGER_LEVEL_TEST_MARGIN + const size_t xAllowableMargin = (size_t)0; +#else + const size_t xAllowableMargin = + (size_t)configSTREAM_BUFFER_TRIGGER_LEVEL_TEST_MARGIN; +#endif + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + for (;;) { + for (xTriggerLevel = xMinTriggerLevel; + xTriggerLevel < xMaxTriggerLevel; xTriggerLevel++) { + /* This test is very time sensitive so delay at the beginning to ensure + the rest of the system is up and running before starting. Delay between + each loop to ensure the interrupt that sends to the stream buffer + detects it needs to start sending from the start of the strin again.. */ + vTaskDelay(xCycleBlockTime); + + /* Create the stream buffer that will be used from inside the tick + interrupt. */ + memset(ucRxData, 0x00, sizeof(ucRxData)); + xStreamBuffer = xStreamBufferCreate( + xStreamBufferSizeBytes, xTriggerLevel); + configASSERT(xStreamBuffer); + + /* Now the stream buffer has been created it can be assigned to the + file scope variable, which will allow the tick interrupt to start + using it. */ + taskENTER_CRITICAL(); + { + xInterruptStreamBuffer = xStreamBuffer; + } + taskEXIT_CRITICAL(); + + xBytesReceived = xStreamBufferReceive(xStreamBuffer, + (void *)ucRxData, + sizeof(ucRxData), + xReadBlockTime); + + /* Set the file scope variable back to NULL so the interrupt doesn't + try to use it again. */ + taskENTER_CRITICAL(); + { + xInterruptStreamBuffer = NULL; + } + taskEXIT_CRITICAL(); + + /* Now check the number of bytes received equals the trigger level, + except in the case that the read timed out before the trigger level + was reached. */ + if (xTriggerLevel > xReadBlockTime) { + /* Trigger level was greater than the block time so expect to + time out having received xReadBlockTime bytes. */ + if (xBytesReceived > xReadBlockTime) { + /* Received more bytes than expected. That could happen if + this task unblocked at the right time, but an interrupt + added another byte to the stream buffer before this task was + able to run. */ + if ((xBytesReceived - xReadBlockTime) > + xAllowableMargin) { + xErrorDetected = pdTRUE; + } + } else if (xReadBlockTime != xBytesReceived) { + /* It is possible the interrupt placed an item in the stream + buffer before this task called xStreamBufferReceive(), but + if that is the case then xBytesReceived will only every be + 0 as the interrupt will only have executed once. */ + if (xBytesReceived != 1) { + xErrorDetected = pdTRUE; + } + } + } else if (xTriggerLevel < xReadBlockTime) { + /* Trigger level was less than the block time so we expect to + have received the trigger level number of bytes - could be more + though depending on other activity between the task being + unblocked and the task reading the number of bytes received. It + could also be less if the interrupt already put something in the + stream buffer before this task attempted to read it - in which + case the task would have returned the available bytes immediately + without ever blocking - in that case the bytes received will + only ever be 1 as the interrupt would not have executed more + than one in that time unless this task has too low a priority. */ + if (xBytesReceived < xTriggerLevel) { + if (xBytesReceived != 1) { + xErrorDetected = pdTRUE; + } + } else if ((xBytesReceived - xTriggerLevel) > + xAllowableMargin) { + xErrorDetected = pdTRUE; + } + } else { + /* The trigger level equalled the block time, so expect to + receive no greater than the block time. It could also be less + if the interrupt already put something in the stream buffer + before this task attempted to read it - in which case the task + would have returned the available bytes immediately without ever + blocking - in that case the bytes received would only ever be 1 + because the interrupt is not going to execute twice in that time + unless this task is running a too low a priority. */ + if (xBytesReceived < xReadBlockTime) { + if (xBytesReceived != 1) { + xErrorDetected = pdTRUE; + } + } else if ((xBytesReceived - xReadBlockTime) > + xAllowableMargin) { + xErrorDetected = pdTRUE; + } + } + + if (xBytesReceived > sizeof(ucRxData)) { + xErrorDetected = pdTRUE; + } else if (memcmp((void *)ucRxData, + (const void *)pcDataSentFromInterrupt, + xBytesReceived) != 0) { + /* Received data didn't match that expected. */ + xErrorDetected = pdTRUE; + } + + if (xErrorDetected == pdFALSE) { + /* Increment the cycle counter so the 'check' task knows this test + is still running without error. */ + ulInterruptTriggerCounter++; + } + + /* Tidy up ready for the next loop. */ + vStreamBufferDelete(xStreamBuffer); + } + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreStreamBufferTasksStillRunning(void) +{ + static uint32_t ulLastEchoLoopCounters[sbNUMBER_OF_ECHO_CLIENTS] = { 0 }; + static uint32_t ulLastNonBlockingRxCounter = 0; + static uint32_t ulLastInterruptTriggerCounter = 0; + BaseType_t x; + + for (x = 0; x < sbNUMBER_OF_ECHO_CLIENTS; x++) { + if (ulLastEchoLoopCounters[x] == ulEchoLoopCounters[x]) { + xErrorStatus = pdFAIL; + } else { + ulLastEchoLoopCounters[x] = ulEchoLoopCounters[x]; + } + } + + if (ulNonBlockingRxCounter == ulLastNonBlockingRxCounter) { + xErrorStatus = pdFAIL; + } else { + ulLastNonBlockingRxCounter = ulNonBlockingRxCounter; + } + + if (ulLastInterruptTriggerCounter == ulInterruptTriggerCounter) { + xErrorStatus = pdFAIL; + } else { + ulLastInterruptTriggerCounter = ulInterruptTriggerCounter; + } + +#if (configSUPPORT_STATIC_ALLOCATION == 1) + { + static uint32_t + ulLastSenderLoopCounters[sbNUMBER_OF_ECHO_CLIENTS] = { + 0 + }; + + for (x = 0; x < sbNUMBER_OF_SENDER_TASKS; x++) { + if (ulLastSenderLoopCounters[x] == + ulSenderLoopCounters[x]) { + xErrorStatus = pdFAIL; + } else { + ulLastSenderLoopCounters[x] = + ulSenderLoopCounters[x]; + } + } + } +#endif /* configSUPPORT_STATIC_ALLOCATION */ + + return xErrorStatus; +} +/*-----------------------------------------------------------*/ diff --git a/freertos/cvitek/task/demo/Common/Minimal/StreamBufferInterrupt.c b/freertos/cvitek/task/demo/Common/Minimal/StreamBufferInterrupt.c new file mode 100644 index 000000000..a38afc5ed --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/StreamBufferInterrupt.c @@ -0,0 +1,216 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * A simple example that shows a stream buffer being used to pass data from an + * interrupt to a task. + * + * There are two strings, pcStringToSend and pcStringToReceive, where + * pcStringToReceive is a substring of pcStringToSend. The interrupt sends + * a few bytes of pcStringToSend to a stream buffer ever few times that it + * executes. A task reads the bytes from the stream buffer, looking for the + * substring, and flagging an error if the received data is invalid. + */ + +/* Standard includes. */ +#include "stdio.h" +#include "string.h" + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "stream_buffer.h" + +/* Demo app includes. */ +#include "StreamBufferInterrupt.h" + +#define sbiSTREAM_BUFFER_LENGTH_BYTES ((size_t)100) +#define sbiSTREAM_BUFFER_TRIGGER_LEVEL_10 ((BaseType_t)10) + +/*-----------------------------------------------------------*/ + +/* Implements the task that receives a stream of bytes from the interrupt. */ +static void prvReceivingTask(void *pvParameters); + +/*-----------------------------------------------------------*/ + +/* The stream buffer that is used to send data from an interrupt to the task. */ +static StreamBufferHandle_t xStreamBuffer = NULL; + +/* The string that is sent from the interrupt to the task four bytes at a +time. Must be multiple of 4 bytes long as the ISR sends 4 bytes at a time*/ +static const char *pcStringToSend = "_____Hello FreeRTOS_____"; + +/* The string to task is looking for, which must be a substring of +pcStringToSend. */ +static const char *pcStringToReceive = "Hello FreeRTOS"; + +/* Set to pdFAIL if anything unexpected happens. */ +static BaseType_t xDemoStatus = pdPASS; + +/* Incremented each time pcStringToReceive is correctly received, provided no +errors have occurred. Used so the check task can check this task is still +running as expected. */ +static uint32_t ulCycleCount = 0; + +/*-----------------------------------------------------------*/ + +void vStartStreamBufferInterruptDemo(void) +{ + /* Create the stream buffer that sends data from the interrupt to the + task, and create the task. */ + xStreamBuffer = + xStreamBufferCreate(/* The buffer length in bytes. */ + sbiSTREAM_BUFFER_LENGTH_BYTES, + /* The stream buffer's trigger level. */ + sbiSTREAM_BUFFER_TRIGGER_LEVEL_10); + + xTaskCreate( + prvReceivingTask, /* The function that implements the task. */ + "StrIntRx", /* Human readable name for the task. */ + configMINIMAL_STACK_SIZE, /* Stack size (in words!). */ + NULL, /* Task parameter is not used. */ + tskIDLE_PRIORITY + + 2, /* The priority at which the task is created. */ + NULL); /* No use for the task handle. */ +} +/*-----------------------------------------------------------*/ + +static void prvReceivingTask(void *pvParameters) +{ + char cRxBuffer[20]; + BaseType_t xNextByte = 0; + + /* Remove warning about unused parameters. */ + (void)pvParameters; + + /* Make sure the string will fit in the Rx buffer, including the NULL + terminator. */ + configASSERT(sizeof(cRxBuffer) > strlen(pcStringToReceive)); + + /* Make sure the stream buffer has been created. */ + configASSERT(xStreamBuffer != NULL); + + /* Start with the Rx buffer in a known state. */ + memset(cRxBuffer, 0x00, sizeof(cRxBuffer)); + + for (;;) { + /* Keep receiving characters until the end of the string is received. + Note: An infinite block time is used to simplify the example. Infinite + block times are not recommended in production code as they do not allow + for error recovery. */ + xStreamBufferReceive(/* The stream buffer data is being received from. */ + xStreamBuffer, + /* Where to place received data. */ + (void *)&(cRxBuffer[xNextByte]), + /* The number of bytes to receive. */ + sizeof(char), + /* The time to wait for the next data if the buffer + is empty. */ + portMAX_DELAY); + + /* If xNextByte is 0 then this task is looking for the start of the + string, which is 'H'. */ + if (xNextByte == 0) { + if (cRxBuffer[xNextByte] == 'H') { + /* The start of the string has been found. Now receive + characters until the end of the string is found. */ + xNextByte++; + } + } else { + /* Receiving characters while looking for the end of the string, + which is an 'S'. */ + if (cRxBuffer[xNextByte] == 'S') { + /* The string has now been received. Check its validity. */ + if (strcmp(cRxBuffer, pcStringToReceive) != 0) { + xDemoStatus = pdFAIL; + } + + /* Return to start looking for the beginning of the string + again. */ + memset(cRxBuffer, 0x00, sizeof(cRxBuffer)); + xNextByte = 0; + + /* Increment the cycle count as an indication to the check task + that this demo is still running. */ + if (xDemoStatus == pdPASS) { + ulCycleCount++; + } + } else { + /* Receive the next character the next time around, while + continuing to look for the end of the string. */ + xNextByte++; + + configASSERT((size_t)xNextByte < + sizeof(cRxBuffer)); + } + } + } +} +/*-----------------------------------------------------------*/ + +void vBasicStreamBufferSendFromISR(void) +{ + static size_t xNextByteToSend = 0; + const BaseType_t xCallsBetweenSends = 100, xBytesToSend = 4; + static BaseType_t xCallCount = 0; + + /* Is it time to write to the stream buffer again? */ + xCallCount++; + if (xCallCount > xCallsBetweenSends) { + xCallCount = 0; + + /* Send the next four bytes to the stream buffer. */ + xStreamBufferSendFromISR( + xStreamBuffer, + (const void *)(pcStringToSend + xNextByteToSend), + xBytesToSend, NULL); + + /* Send the next four bytes the next time around, wrapping to the start + of the string if necessary. */ + xNextByteToSend += xBytesToSend; + + if (xNextByteToSend >= strlen(pcStringToSend)) { + xNextByteToSend = 0; + } + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xIsInterruptStreamBufferDemoStillRunning(void) +{ + uint32_t ulLastCycleCount = 0; + + /* Check the demo is still running. */ + if (ulLastCycleCount == ulCycleCount) { + xDemoStatus = pdFAIL; + } else { + ulLastCycleCount = ulCycleCount; + } + + return xDemoStatus; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/TaskNotify.c b/freertos/cvitek/task/demo/Common/Minimal/TaskNotify.c new file mode 100644 index 000000000..8006c1e5b --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/TaskNotify.c @@ -0,0 +1,712 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the behaviour of direct task notifications. + */ + +/* Standard includes. */ +#include <limits.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" + +/* Demo program include files. */ +#include "TaskNotify.h" + +/* Allow parameters to be overridden on a demo by demo basis. */ +#ifndef notifyNOTIFIED_TASK_STACK_SIZE +#define notifyNOTIFIED_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +#define notifyTASK_PRIORITY (tskIDLE_PRIORITY) + +/* Constants used in tests when setting/clearing bits. */ +#define notifyUINT32_MAX ((uint32_t)0xffffffff) +#define notifyUINT32_HIGH_BYTE ((uint32_t)0xff000000) +#define notifyUINT32_LOW_BYTE ((uint32_t)0x000000ff) + +#define notifySUSPENDED_TEST_TIMER_PERIOD pdMS_TO_TICKS(50) + +/*-----------------------------------------------------------*/ + +/* + * Implementation of the task that gets notified. + */ +static void prvNotifiedTask(void *pvParameters); + +/* + * Performs a few initial tests that can be done prior to creating the second + * task. + */ +static void prvSingleTaskTests(void); + +/* + * Software timer callback function from which xTaskNotify() is called. + */ +static void prvNotifyingTimer(TimerHandle_t xTimer); + +/* + * Utility function to create pseudo random numbers. + */ +static UBaseType_t prvRand(void); + +/* + * Callback for a timer that is used during preliminary testing. The timer + * tests the behaviour when 1: a task waiting for a notification is suspended + * and then resumed without ever receiving a notification, and 2: when a task + * waiting for a notification receives a notification while it is suspended. + */ +static void prvSuspendedTaskTimerTestCallback(TimerHandle_t xExpiredTimer); + +/*-----------------------------------------------------------*/ + +/* Used to latch errors during the test's execution. */ +static BaseType_t xErrorStatus = pdPASS; + +/* Used to ensure the task has not stalled. */ +static volatile uint32_t ulNotifyCycleCount = 0; + +/* The handle of the task that receives the notifications. */ +static TaskHandle_t xTaskToNotify = NULL; + +/* Used to count the notifications sent to the task from a software timer and +the number of notifications received by the task from the software timer. The +two should stay synchronised. */ +static uint32_t ulTimerNotificationsReceived = 0UL, + ulTimerNotificationsSent = 0UL; + +/* The timer used to notify the task. */ +static TimerHandle_t xTimer = NULL; + +/* Used by the pseudo random number generating function. */ +static size_t uxNextRand = 0; + +/*-----------------------------------------------------------*/ + +void vStartTaskNotifyTask(void) +{ + /* Create the task that performs some tests by itself, then loops around + being notified by both a software timer and an interrupt. */ + xTaskCreate( + prvNotifiedTask, /* Function that implements the task. */ + "Notified", /* Text name for the task - for debugging only - not used by the kernel. */ + notifyNOTIFIED_TASK_STACK_SIZE, /* Task's stack size in words, not bytes!. */ + NULL, /* Task parameter, not used in this case. */ + notifyTASK_PRIORITY, /* Task priority, 0 is the lowest. */ + &xTaskToNotify); /* Used to pass a handle to the task out is needed, otherwise set to NULL. */ + + /* Pseudo seed the random number generator. */ + uxNextRand = (size_t)prvRand; +} +/*-----------------------------------------------------------*/ + +static void prvSingleTaskTests(void) +{ + const TickType_t xTicksToWait = pdMS_TO_TICKS(100UL); + BaseType_t xReturned; + uint32_t ulNotifiedValue, ulLoop, ulNotifyingValue, ulPreviousValue, + ulExpectedValue; + TickType_t xTimeOnEntering; + const uint32_t ulFirstNotifiedConst = 100001UL, + ulSecondNotifiedValueConst = 5555UL, ulMaxLoops = 5UL; + const uint32_t ulBit0 = 0x01UL, ulBit1 = 0x02UL; + TimerHandle_t xSingleTaskTimer; + + /* ------------------------------------------------------------------------ + Check blocking when there are no notifications. */ + xTimeOnEntering = xTaskGetTickCount(); + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, + xTicksToWait); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Should have blocked for the entire block time. */ + if ((xTaskGetTickCount() - xTimeOnEntering) < xTicksToWait) { + xErrorStatus = pdFAIL; + } + configASSERT(xReturned == pdFAIL); + configASSERT(ulNotifiedValue == 0UL); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)ulNotifiedValue; + + /* ------------------------------------------------------------------------ + Check no blocking when notifications are pending. First notify itself - + this would not be a normal thing to do and is done here for test purposes + only. */ + xReturned = xTaskNotifyAndQuery(xTaskToNotify, ulFirstNotifiedConst, + eSetValueWithoutOverwrite, + &ulPreviousValue); + + /* Even through the 'without overwrite' action was used the update should + have been successful. */ + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* No bits should have been pending previously. */ + configASSERT(ulPreviousValue == 0); + (void)ulPreviousValue; + + /* The task should now have a notification pending, and so not time out. */ + xTimeOnEntering = xTaskGetTickCount(); + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, + xTicksToWait); + + if ((xTaskGetTickCount() - xTimeOnEntering) >= xTicksToWait) { + xErrorStatus = pdFAIL; + } + + /* The task should have been notified, and the notified value should + be equal to ulFirstNotifiedConst. */ + configASSERT(xReturned == pdPASS); + configASSERT(ulNotifiedValue == ulFirstNotifiedConst); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)ulNotifiedValue; + + /* Incremented to show the task is still running. */ + ulNotifyCycleCount++; + + /*------------------------------------------------------------------------- + Check the non-overwriting functionality. The notification is done twice + using two different notification values. The action says don't overwrite so + only the first notification should pass and the value read back should also + be that used with the first notification. */ + xReturned = xTaskNotify(xTaskToNotify, ulFirstNotifiedConst, + eSetValueWithoutOverwrite); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + + xReturned = xTaskNotify(xTaskToNotify, ulSecondNotifiedValueConst, + eSetValueWithoutOverwrite); + configASSERT(xReturned == pdFAIL); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Waiting for the notification should now return immediately so a block + time of zero is used. */ + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + + configASSERT(xReturned == pdPASS); + configASSERT(ulNotifiedValue == ulFirstNotifiedConst); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)ulNotifiedValue; + + /*------------------------------------------------------------------------- + Do the same again, only this time use the overwriting version. This time + both notifications should pass, and the value written the second time should + overwrite the value written the first time, and so be the value that is read + back. */ + xReturned = xTaskNotify(xTaskToNotify, ulFirstNotifiedConst, + eSetValueWithOverwrite); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + xReturned = xTaskNotify(xTaskToNotify, ulSecondNotifiedValueConst, + eSetValueWithOverwrite); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + configASSERT(ulNotifiedValue == ulSecondNotifiedValueConst); + (void)ulNotifiedValue; + + /*------------------------------------------------------------------------- + Check notifications with no action pass without updating the value. Even + though ulFirstNotifiedConst is used as the value the value read back should + remain at ulSecondNotifiedConst. */ + xReturned = xTaskNotify(xTaskToNotify, ulFirstNotifiedConst, eNoAction); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + configASSERT(ulNotifiedValue == ulSecondNotifiedValueConst); + (void)ulNotifiedValue; /* In case configASSERT() is not defined. */ + + /*------------------------------------------------------------------------- + Check incrementing values. Send ulMaxLoop increment notifications, then + ensure the received value is as expected - which should be + ulSecondNotificationValueConst plus how ever many times to loop iterated. */ + for (ulLoop = 0; ulLoop < ulMaxLoops; ulLoop++) { + xReturned = xTaskNotify(xTaskToNotify, 0, eIncrement); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + } + + xReturned = xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + configASSERT(xReturned == pdPASS); + configASSERT(ulNotifiedValue == + (ulSecondNotifiedValueConst + ulMaxLoops)); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)ulNotifiedValue; + + /* Should not be any notifications pending now. */ + xReturned = xTaskNotifyWait(0, 0, &ulNotifiedValue, 0); + configASSERT(xReturned == pdFAIL); + (void)xReturned; /* In case configASSERT() is not defined. */ + (void)ulNotifiedValue; + + /*------------------------------------------------------------------------- + Check all bits can be set by notifying the task with one additional bit set + on each notification, and exiting the loop when all the bits are found to be + set. As there are 32-bits the loop should execute 32 times before all the + bits are found to be set. */ + ulNotifyingValue = 0x01; + ulLoop = 0; + + /* Start with all bits clear. */ + xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + + do { + /* Set the next bit in the task's notified value. */ + xTaskNotify(xTaskToNotify, ulNotifyingValue, eSetBits); + + /* Wait for the notified value - which of course will already be + available. Don't clear the bits on entry or exit as this loop is exited + when all the bits are set. */ + xReturned = xTaskNotifyWait(0, 0, &ulNotifiedValue, 0); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + + ulLoop++; + + /* Use the next bit on the next iteration around this loop. */ + ulNotifyingValue <<= 1UL; + + } while (ulNotifiedValue != notifyUINT32_MAX); + + /* As a 32-bit value was used the loop should have executed 32 times before + all the bits were set. */ + configASSERT(ulLoop == 32); + + /*------------------------------------------------------------------------- + Check bits are cleared on entry but not on exit when a notification fails + to arrive before timing out - both with and without a timeout value. Wait + for the notification again - but this time it is not given by anything and + should return pdFAIL. The parameters are set to clear bit zero on entry and + bit one on exit. As no notification was received only the bit cleared on + entry should actually get cleared. */ + xReturned = + xTaskNotifyWait(ulBit0, ulBit1, &ulNotifiedValue, xTicksToWait); + configASSERT(xReturned == pdFAIL); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Notify the task with no action so as not to update the bits even though + notifyUINT32_MAX is used as the notification value. */ + xTaskNotify(xTaskToNotify, notifyUINT32_MAX, eNoAction); + + /* Reading back the value should should find bit 0 is clear, as this was + cleared on entry, but bit 1 is not clear as it will not have been cleared on + exit as no notification was received. */ + xReturned = xTaskNotifyWait(0x00UL, 0x00UL, &ulNotifiedValue, 0); + configASSERT(xReturned == pdPASS); + configASSERT(ulNotifiedValue == (notifyUINT32_MAX & ~ulBit0)); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /*------------------------------------------------------------------------- + Now try clearing the bit on exit. For that to happen a notification must be + received, so the task is notified first. */ + xTaskNotify(xTaskToNotify, 0, eNoAction); + xTaskNotifyWait(0x00, ulBit1, &ulNotifiedValue, 0); + + /* However as the bit is cleared on exit, after the returned notification + value is set, the returned notification value should not have the bit + cleared... */ + configASSERT(ulNotifiedValue == (notifyUINT32_MAX & ~ulBit0)); + + /* ...but reading the value back again should find that the bit was indeed + cleared internally. The returned value should be pdFAIL however as nothing + has notified the task in the mean time. */ + xReturned = xTaskNotifyWait(0x00, 0x00, &ulNotifiedValue, 0); + configASSERT(xReturned == pdFAIL); + configASSERT(ulNotifiedValue == + (notifyUINT32_MAX & ~(ulBit0 | ulBit1))); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /*------------------------------------------------------------------------- + Now try querying the previous value while notifying a task. */ + xTaskNotifyAndQuery(xTaskToNotify, 0x00, eSetBits, &ulPreviousValue); + configASSERT(ulNotifiedValue == + (notifyUINT32_MAX & ~(ulBit0 | ulBit1))); + + /* Clear all bits. */ + xTaskNotifyWait(0x00, notifyUINT32_MAX, &ulNotifiedValue, 0); + xTaskNotifyAndQuery(xTaskToNotify, 0x00, eSetBits, &ulPreviousValue); + configASSERT(ulPreviousValue == 0); + + ulExpectedValue = 0; + for (ulLoop = 0x01; ulLoop < 0x80UL; ulLoop <<= 1UL) { + /* Set the next bit up, and expect to receive the last bits set (so + the previous value will not yet have the bit being set this time + around). */ + xTaskNotifyAndQuery(xTaskToNotify, ulLoop, eSetBits, + &ulPreviousValue); + configASSERT(ulExpectedValue == ulPreviousValue); + ulExpectedValue |= ulLoop; + } + + /* ------------------------------------------------------------------------ + Clear the previous notifications. */ + xTaskNotifyWait(notifyUINT32_MAX, 0, &ulNotifiedValue, 0); + + /* The task should not have any notifications pending, so an attempt to clear + the notification state should fail. */ + configASSERT(xTaskNotifyStateClear(NULL) == pdFALSE); + + /* Get the task to notify itself. This is not a normal thing to do, and is + only done here for test purposes. */ + xTaskNotifyAndQuery(xTaskToNotify, ulFirstNotifiedConst, + eSetValueWithoutOverwrite, &ulPreviousValue); + + /* Now the notification state should be eNotified, so it should now be + possible to clear the notification state. */ + configASSERT(xTaskNotifyStateClear(NULL) == pdTRUE); + configASSERT(xTaskNotifyStateClear(NULL) == pdFALSE); + + /* ------------------------------------------------------------------------ + Clear bits in the notification value. */ + + /* Get the task to set all bits its own notification value. This is not a + normal thing to do, and is only done here for test purposes. */ + xTaskNotify(xTaskToNotify, notifyUINT32_MAX, eSetBits); + + /* Now clear the top bytes - the returned value from the first call should + indicate that previously all bits were set. */ + configASSERT( + ulTaskNotifyValueClear(xTaskToNotify, notifyUINT32_HIGH_BYTE) == + notifyUINT32_MAX); + + /* Next clear the bottom bytes - the returned value this time should indicate + that the top byte was clear (before the bottom byte was cleared. */ + configASSERT( + ulTaskNotifyValueClear(xTaskToNotify, notifyUINT32_LOW_BYTE) == + (notifyUINT32_MAX & ~notifyUINT32_HIGH_BYTE)); + + /* Next clear all bytes - the returned value should indicate that previously the + high and low bytes were clear. */ + configASSERT(ulTaskNotifyValueClear(xTaskToNotify, notifyUINT32_MAX) == + (notifyUINT32_MAX & ~notifyUINT32_HIGH_BYTE & + ~notifyUINT32_LOW_BYTE)); + + /* Now all bits should be clear. */ + configASSERT(ulTaskNotifyValueClear(xTaskToNotify, notifyUINT32_MAX) == + 0); + configASSERT(ulTaskNotifyValueClear(xTaskToNotify, 0UL) == 0); + configASSERT(ulTaskNotifyValueClear(xTaskToNotify, notifyUINT32_MAX) == + 0); + + /* Now the notification state should be eNotified, so it should now be + possible to clear the notification state. */ + configASSERT(xTaskNotifyStateClear(NULL) == pdTRUE); + configASSERT(xTaskNotifyStateClear(NULL) == pdFALSE); + + /* ------------------------------------------------------------------------ + Create a timer that will try notifying this task while it is suspended. */ + xSingleTaskTimer = + xTimerCreate("SingleNotify", notifySUSPENDED_TEST_TIMER_PERIOD, + pdFALSE, NULL, prvSuspendedTaskTimerTestCallback); + configASSERT(xSingleTaskTimer); + + /* Incremented to show the task is still running. */ + ulNotifyCycleCount++; + + /* Ensure no notifications are pending. */ + xTaskNotifyWait(notifyUINT32_MAX, 0, NULL, 0); + + /* Raise the task's priority so it can suspend itself before the timer + expires. */ + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); + + /* Start the timer that will try notifying this task while it is + suspended, then wait for a notification. The first time the callback + executes the timer will suspend the task, then resume the task, without + ever sending a notification to the task. */ + ulNotifiedValue = 0; + xTimerStart(xSingleTaskTimer, portMAX_DELAY); + + /* Check a notification is not received. */ + xReturned = xTaskNotifyWait(0, 0, &ulNotifiedValue, portMAX_DELAY); + configASSERT(xReturned == pdFALSE); + configASSERT(ulNotifiedValue == 0); + (void)xReturned; /* In case configASSERT() is not defined. */ + + /* Incremented to show the task is still running. */ + ulNotifyCycleCount++; + + /* Start the timer that will try notifying this task while it is + suspended, then wait for a notification. The second time the callback + executes the timer will suspend the task, notify the task, then resume the + task (previously it was suspended and resumed without being notified). */ + xTimerStart(xSingleTaskTimer, portMAX_DELAY); + + /* Check a notification is received. */ + xReturned = xTaskNotifyWait(0, 0, &ulNotifiedValue, portMAX_DELAY); + configASSERT(xReturned == pdPASS); + (void)xReturned; /* In case configASSERT() is not defined. */ + configASSERT(ulNotifiedValue != 0); + + /* Return the task to its proper priority and delete the timer as it is + not used again. */ + vTaskPrioritySet(NULL, notifyTASK_PRIORITY); + xTimerDelete(xSingleTaskTimer, portMAX_DELAY); + + /* Incremented to show the task is still running. */ + ulNotifyCycleCount++; + + /* Leave all bits cleared. */ + xTaskNotifyWait(notifyUINT32_MAX, 0, NULL, 0); +} +/*-----------------------------------------------------------*/ + +static void prvSuspendedTaskTimerTestCallback(TimerHandle_t xExpiredTimer) +{ + static uint32_t ulCallCount = 0; + + /* Remove compiler warnings about unused parameters. */ + (void)xExpiredTimer; + + /* Callback for a timer that is used during preliminary testing. The timer + tests the behaviour when 1: a task waiting for a notification is suspended + and then resumed without ever receiving a notification, and 2: when a task + waiting for a notification receives a notification while it is suspended. */ + + if (ulCallCount == 0) { + vTaskSuspend(xTaskToNotify); + configASSERT(eTaskGetState(xTaskToNotify) == eSuspended); + vTaskResume(xTaskToNotify); + } else { + vTaskSuspend(xTaskToNotify); + + /* Sending a notification while the task is suspended should pass, but + not cause the task to resume. ulCallCount is just used as a convenient + non-zero value. */ + xTaskNotify(xTaskToNotify, ulCallCount, eSetValueWithOverwrite); + + /* Make sure giving the notification didn't resume the task. */ + configASSERT(eTaskGetState(xTaskToNotify) == eSuspended); + + vTaskResume(xTaskToNotify); + } + + ulCallCount++; +} +/*-----------------------------------------------------------*/ + +static void prvNotifyingTimer(TimerHandle_t xNotUsed) +{ + (void)xNotUsed; + + xTaskNotifyGive(xTaskToNotify); + + /* This value is also incremented from an interrupt. */ + taskENTER_CRITICAL(); + { + ulTimerNotificationsSent++; + } + taskEXIT_CRITICAL(); +} +/*-----------------------------------------------------------*/ + +static void prvNotifiedTask(void *pvParameters) +{ + const TickType_t xMaxPeriod = pdMS_TO_TICKS(90), + xMinPeriod = pdMS_TO_TICKS(10), xDontBlock = 0; + TickType_t xPeriod; + const uint32_t ulCyclesToRaisePriority = 50UL; + + /* Remove compiler warnings about unused parameters. */ + (void)pvParameters; + + /* Run a few tests that can be done from a single task before entering the + main loop. */ + prvSingleTaskTests(); + + /* Create the software timer that is used to send notifications to this + task. Notifications are also received from an interrupt. */ + xTimer = xTimerCreate("Notifier", xMaxPeriod, pdFALSE, NULL, + prvNotifyingTimer); + + for (;;) { + /* Start the timer again with a different period. Sometimes the period + will be higher than the task's block time, sometimes it will be lower + than the task's block time. */ + xPeriod = prvRand() % xMaxPeriod; + if (xPeriod < xMinPeriod) { + xPeriod = xMinPeriod; + } + + /* Change the timer period and start the timer. */ + xTimerChangePeriod(xTimer, xPeriod, portMAX_DELAY); + + /* Block waiting for the notification again with a different period. + Sometimes the period will be higher than the task's block time, + sometimes it will be lower than the task's block time. */ + xPeriod = prvRand() % xMaxPeriod; + if (xPeriod < xMinPeriod) { + xPeriod = xMinPeriod; + } + + /* Block to wait for a notification but without clearing the + notification count, so only add one to the count of received + notifications as any other notifications will remain pending. */ + if (ulTaskNotifyTake(pdFALSE, xPeriod) != 0) { + ulTimerNotificationsReceived++; + } + + /* Take a notification without clearing again, but this time without a + block time specified. */ + if (ulTaskNotifyTake(pdFALSE, xDontBlock) != 0) { + ulTimerNotificationsReceived++; + } + + /* Wait for the next notification from the timer, clearing all + notifications if one is received, so this time adding the total number + of notifications that were pending as none will be left pending after + the function call. */ + ulTimerNotificationsReceived += + ulTaskNotifyTake(pdTRUE, xPeriod); + + /* Occasionally raise the priority of the task being notified to test + the path where the task is notified from an ISR and becomes the highest + priority ready state task, but the pxHigherPriorityTaskWoken parameter + is NULL (which it is in the tick hook that sends notifications to this + task). */ + if ((ulNotifyCycleCount % ulCyclesToRaisePriority) == 0) { + vTaskPrioritySet(xTaskToNotify, + configMAX_PRIORITIES - 1); + + /* Wait for the next notification again, clearing all notifications + if one is received, but this time blocking indefinitely. */ + ulTimerNotificationsReceived += + ulTaskNotifyTake(pdTRUE, portMAX_DELAY); + + /* Reset the priority. */ + vTaskPrioritySet(xTaskToNotify, notifyTASK_PRIORITY); + } else { + /* Wait for the next notification again, clearing all notifications + if one is received, but this time blocking indefinitely. */ + ulTimerNotificationsReceived += + ulTaskNotifyTake(pdTRUE, portMAX_DELAY); + } + + /* Incremented to show the task is still running. */ + ulNotifyCycleCount++; + } +} +/*-----------------------------------------------------------*/ + +void xNotifyTaskFromISR(void) +{ + static BaseType_t xCallCount = 0, xAPIToUse = 0; + const BaseType_t xCallInterval = pdMS_TO_TICKS(50); + uint32_t ulPreviousValue; + const uint32_t ulUnexpectedValue = 0xff; + + /* Check the task notification demo tasks were actually created. */ + configASSERT(xTaskToNotify); + + /* The task performs some tests before starting the timer that gives the + notification from this interrupt. If the timer has not been created yet + then the initial tests have not yet completed and the notification should + not be sent. */ + if (xTimer != NULL) { + xCallCount++; + + if (xCallCount >= xCallInterval) { + /* It is time to 'give' the notification again. */ + xCallCount = 0; + + /* Test using both vTaskNotifyGiveFromISR(), xTaskNotifyFromISR() + and xTaskNotifyAndQueryFromISR(). */ + switch (xAPIToUse) { + case 0: + vTaskNotifyGiveFromISR(xTaskToNotify, NULL); + xAPIToUse++; + break; + + case 1: + xTaskNotifyFromISR(xTaskToNotify, 0, eIncrement, + NULL); + xAPIToUse++; + break; + + case 2: + ulPreviousValue = ulUnexpectedValue; + xTaskNotifyAndQueryFromISR(xTaskToNotify, 0, + eIncrement, + &ulPreviousValue, + NULL); + configASSERT(ulPreviousValue != + ulUnexpectedValue); + xAPIToUse = 0; + break; + + default: /* Should never get here!. */ + break; + } + + ulTimerNotificationsSent++; + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check the created tasks are still running and have not +detected any errors. */ +BaseType_t xAreTaskNotificationTasksStillRunning(void) +{ + static uint32_t ulLastNotifyCycleCount = 0; + const uint32_t ulMaxSendReceiveDeviation = 5UL; + + /* Check the cycle count is still incrementing to ensure the task is still + actually running. */ + if (ulLastNotifyCycleCount == ulNotifyCycleCount) { + xErrorStatus = pdFAIL; + } else { + ulLastNotifyCycleCount = ulNotifyCycleCount; + } + + /* Check the count of 'takes' from the software timer is keeping track with + the amount of 'gives'. */ + if (ulTimerNotificationsSent > ulTimerNotificationsReceived) { + if ((ulTimerNotificationsSent - ulTimerNotificationsReceived) > + ulMaxSendReceiveDeviation) { + xErrorStatus = pdFAIL; + } + } + + return xErrorStatus; +} +/*-----------------------------------------------------------*/ + +static UBaseType_t prvRand(void) +{ + const size_t uxMultiplier = (size_t)0x015a4e35, uxIncrement = (size_t)1; + + /* Utility function to generate a pseudo random number. */ + uxNextRand = (uxMultiplier * uxNextRand) + uxIncrement; + return ((uxNextRand >> 16) & ((size_t)0x7fff)); +} +/*-----------------------------------------------------------*/ diff --git a/freertos/cvitek/task/demo/Common/Minimal/TimerDemo.c b/freertos/cvitek/task/demo/Common/Minimal/TimerDemo.c new file mode 100644 index 000000000..3e92f8ae5 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/TimerDemo.c @@ -0,0 +1,1012 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Tests the behaviour of timers. Some timers are created before the scheduler + * is started, and some after. + */ + +/* Standard includes. */ +#include <string.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" + +/* Demo program include files. */ +#include "TimerDemo.h" + +#if (configTIMER_TASK_PRIORITY < 1) +#error configTIMER_TASK_PRIORITY must be set to at least 1 for this test/demo to function correctly. +#endif + +#define tmrdemoDONT_BLOCK ((TickType_t)0) +#define tmrdemoONE_SHOT_TIMER_PERIOD (xBasePeriod * (TickType_t)3) +#define tmrdemoNUM_TIMER_RESETS ((uint8_t)10) + +#ifndef tmrTIMER_TEST_TASK_STACK_SIZE +#define tmrTIMER_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +/*-----------------------------------------------------------*/ + +/* The callback functions used by the timers. These each increment a counter +to indicate which timer has expired. The auto-reload timers that are used by +the test task (as opposed to being used from an ISR) all share the same +prvAutoReloadTimerCallback() callback function, and use the ID of the +pxExpiredTimer parameter passed into that function to know which counter to +increment. The other timers all have their own unique callback function and +simply increment their counters without using the callback function parameter. */ +static void prvAutoReloadTimerCallback(TimerHandle_t pxExpiredTimer); +static void prvOneShotTimerCallback(TimerHandle_t pxExpiredTimer); +static void prvTimerTestTask(void *pvParameters); +static void prvISRAutoReloadTimerCallback(TimerHandle_t pxExpiredTimer); +static void prvISROneShotTimerCallback(TimerHandle_t pxExpiredTimer); + +/* The test functions used by the timer test task. These manipulate the auto +reload and one-shot timers in various ways, then delay, then inspect the timers +to ensure they have behaved as expected. */ +static void prvTest1_CreateTimersWithoutSchedulerRunning(void); +static void prvTest2_CheckTaskAndTimersInitialState(void); +static void prvTest3_CheckAutoReloadExpireRates(void); +static void prvTest4_CheckAutoReloadTimersCanBeStopped(void); +static void prvTest5_CheckBasicOneShotTimerBehaviour(void); +static void prvTest6_CheckAutoReloadResetBehaviour(void); +static void prvResetStartConditionsForNextIteration(void); + +/*-----------------------------------------------------------*/ + +/* Flag that will be latched to pdFAIL should any unexpected behaviour be +detected in any of the demo tests. */ +static volatile BaseType_t xTestStatus = pdPASS; + +/* Counter that is incremented on each cycle of a test. This is used to +detect a stalled task - a test that is no longer running. */ +static volatile uint32_t ulLoopCounter = 0; + +/* A set of auto-reload timers - each of which use the same callback function. +The callback function uses the timer ID to index into, and then increment, a +counter in the ucAutoReloadTimerCounters[] array. The auto-reload timers +referenced from xAutoReloadTimers[] are used by the prvTimerTestTask task. */ +static TimerHandle_t xAutoReloadTimers[configTIMER_QUEUE_LENGTH + 1] = { 0 }; +static uint8_t ucAutoReloadTimerCounters[configTIMER_QUEUE_LENGTH + 1] = { 0 }; + +/* The one-shot timer is configured to use a callback function that increments +ucOneShotTimerCounter each time it gets called. */ +static TimerHandle_t xOneShotTimer = NULL; +static uint8_t ucOneShotTimerCounter = (uint8_t)0; + +/* The ISR reload timer is controlled from the tick hook to exercise the timer +API functions that can be used from an ISR. It is configured to increment +ucISRReloadTimerCounter each time its callback function is executed. */ +static TimerHandle_t xISRAutoReloadTimer = NULL; +static uint8_t ucISRAutoReloadTimerCounter = (uint8_t)0; + +/* The ISR one-shot timer is controlled from the tick hook to exercise the timer +API functions that can be used from an ISR. It is configured to increment +ucISRReloadTimerCounter each time its callback function is executed. */ +static TimerHandle_t xISROneShotTimer = NULL; +static uint8_t ucISROneShotTimerCounter = (uint8_t)0; + +/* The period of all the timers are a multiple of the base period. The base +period is configured by the parameter to vStartTimerDemoTask(). */ +static TickType_t xBasePeriod = 0; + +/*-----------------------------------------------------------*/ + +void vStartTimerDemoTask(TickType_t xBasePeriodIn) +{ + /* Start with the timer and counter arrays clear - this is only necessary + where the compiler does not clear them automatically on start up. */ + memset(ucAutoReloadTimerCounters, 0x00, + sizeof(ucAutoReloadTimerCounters)); + memset(xAutoReloadTimers, 0x00, sizeof(xAutoReloadTimers)); + + /* Store the period from which all the timer periods will be generated from + (multiples of). */ + xBasePeriod = xBasePeriodIn; + + /* Create a set of timers for use by this demo/test. */ + prvTest1_CreateTimersWithoutSchedulerRunning(); + + /* Create the task that will control and monitor the timers. This is + created at a lower priority than the timer service task to ensure, as + far as it is concerned, commands on timers are actioned immediately + (sending a command to the timer service task will unblock the timer service + task, which will then preempt this task). */ + if (xTestStatus != pdFAIL) { + xTaskCreate(prvTimerTestTask, "Tmr Tst", + tmrTIMER_TEST_TASK_STACK_SIZE, NULL, + configTIMER_TASK_PRIORITY - 1, NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvTimerTestTask(void *pvParameters) +{ + (void)pvParameters; + + /* Create a one-shot timer for use later on in this test. For test purposes it + is created as an auto-reload timer then converted to a one-shot timer. */ + xOneShotTimer = xTimerCreate( + "Oneshot Timer", /* Text name to facilitate debugging. The kernel does not use this itself. */ + tmrdemoONE_SHOT_TIMER_PERIOD, /* The period for the timer. */ + pdFALSE, /* Autorealod is false, so created as a one-shot timer. */ + (void *)0, /* The timer identifier. Initialise to 0, then increment each time it is called. */ + prvOneShotTimerCallback); /* The callback to be called when the timer expires. */ + + if (xOneShotTimer == NULL) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Purely for test coverage purposes - change and query the reload mode to + auto-reload then back to one-shot. */ + + /* Change timer to auto-reload. */ + vTimerSetReloadMode(xOneShotTimer, pdTRUE); + + /* Timer should now be auto-reload. */ + configASSERT(uxTimerGetReloadMode(xOneShotTimer) == pdTRUE); + + /* Change timer to one-shot, which is what is needed for this test. */ + vTimerSetReloadMode(xOneShotTimer, pdFALSE); + + /* Check change to one-shot was successful. */ + configASSERT(uxTimerGetReloadMode(xOneShotTimer) == pdFALSE); + + /* Ensure all the timers are in their expected initial state. This + depends on the timer service task having a higher priority than this task. */ + prvTest2_CheckTaskAndTimersInitialState(); + + for (;;) { + /* Check the auto-reload timers expire at the expected/correct rates. */ + prvTest3_CheckAutoReloadExpireRates(); + + /* Check the auto-reload timers can be stopped correctly, and correctly + report their state. */ + prvTest4_CheckAutoReloadTimersCanBeStopped(); + + /* Check the one-shot timer only calls its callback once after it has been + started, and that it reports its state correctly. */ + prvTest5_CheckBasicOneShotTimerBehaviour(); + + /* Check timer reset behaviour. */ + prvTest6_CheckAutoReloadResetBehaviour(); + + /* Start the timers again to restart all the tests over again. */ + prvResetStartConditionsForNextIteration(); + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that the created task is still running and has not +detected any errors. */ +BaseType_t xAreTimerDemoTasksStillRunning(TickType_t xCycleFrequency) +{ + static uint32_t ulLastLoopCounter = 0UL; + TickType_t xMaxBlockTimeUsedByTheseTests, xLoopCounterIncrementTimeMax; + static TickType_t xIterationsWithoutCounterIncrement = (TickType_t)0, + xLastCycleFrequency; + + if (xLastCycleFrequency != xCycleFrequency) { + /* The cycle frequency has probably become much faster due to an error + elsewhere. Start counting Iterations again. */ + xIterationsWithoutCounterIncrement = (TickType_t)0; + xLastCycleFrequency = xCycleFrequency; + } + + /* Calculate the maximum number of times that it is permissible for this + function to be called without ulLoopCounter being incremented. This is + necessary because the tests in this file block for extended periods, and the + block period might be longer than the time between calls to this function. */ + xMaxBlockTimeUsedByTheseTests = + ((TickType_t)configTIMER_QUEUE_LENGTH) * xBasePeriod; + xLoopCounterIncrementTimeMax = + (xMaxBlockTimeUsedByTheseTests / xCycleFrequency) + 1; + + /* If the demo task is still running then the loop counter is expected to + have incremented every xLoopCounterIncrementTimeMax calls. */ + if (ulLastLoopCounter == ulLoopCounter) { + xIterationsWithoutCounterIncrement++; + if (xIterationsWithoutCounterIncrement > + xLoopCounterIncrementTimeMax) { + /* The tests appear to be no longer running (stalled). */ + xTestStatus = pdFAIL; + } + } else { + /* ulLoopCounter changed, so the count of times this function was called + without a change can be reset to zero. */ + xIterationsWithoutCounterIncrement = (TickType_t)0; + } + + ulLastLoopCounter = ulLoopCounter; + + /* Errors detected in the task itself will have latched xTestStatus + to pdFAIL. */ + + return xTestStatus; +} +/*-----------------------------------------------------------*/ + +static void prvTest1_CreateTimersWithoutSchedulerRunning(void) +{ + TickType_t xTimer; + + for (xTimer = 0; xTimer < configTIMER_QUEUE_LENGTH; xTimer++) { + /* As the timer queue is not yet full, it should be possible to both + create and start a timer. These timers are being started before the + scheduler has been started, so their block times should get set to zero + within the timer API itself. */ + xAutoReloadTimers[xTimer] = xTimerCreate( + "FR Timer", /* Text name to facilitate debugging. The kernel does not use this itself. */ + ((xTimer + (TickType_t)1) * + xBasePeriod), /* The period for the timer. The plus 1 ensures a period of zero is not specified. */ + pdTRUE, /* Auto-reload is set to true. */ + (void *)xTimer, /* An identifier for the timer as all the auto-reload timers use the same callback. */ + prvAutoReloadTimerCallback); /* The callback to be called when the timer expires. */ + + if (xAutoReloadTimers[xTimer] == NULL) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } else { + configASSERT(strcmp(pcTimerGetName( + xAutoReloadTimers[xTimer]), + "FR Timer") == 0); + + /* The scheduler has not yet started, so the block period of + portMAX_DELAY should just get set to zero in xTimerStart(). Also, + the timer queue is not yet full so xTimerStart() should return + pdPASS. */ + if (xTimerStart(xAutoReloadTimers[xTimer], + portMAX_DELAY) != pdPASS) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + } + + /* The timers queue should now be full, so it should be possible to create + another timer, but not possible to start it (the timer queue will not get + drained until the scheduler has been started. */ + xAutoReloadTimers[configTIMER_QUEUE_LENGTH] = xTimerCreate( + "FR Timer", /* Text name to facilitate debugging. The kernel does not use this itself. */ + (configTIMER_QUEUE_LENGTH * + xBasePeriod), /* The period for the timer. */ + pdTRUE, /* Auto-reload is set to true. */ + (void *)xTimer, /* An identifier for the timer as all the auto-reload timers use the same callback. */ + prvAutoReloadTimerCallback); /* The callback executed when the timer expires. */ + + if (xAutoReloadTimers[configTIMER_QUEUE_LENGTH] == NULL) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } else { + if (xTimerStart(xAutoReloadTimers[xTimer], portMAX_DELAY) == + pdPASS) { + /* This time it would not be expected that the timer could be + started at this point. */ + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + /* Create the timers that are used from the tick interrupt to test the timer + API functions that can be called from an ISR. */ + xISRAutoReloadTimer = xTimerCreate( + "ISR AR", /* The text name given to the timer. */ + 0xffff, /* The timer is not given a period yet - this will be done from the tick hook, but a period of 0 is invalid. */ + pdTRUE, /* This is an auto-reload timer. */ + (void *)NULL, /* The identifier is not required. */ + prvISRAutoReloadTimerCallback); /* The callback that is executed when the timer expires. */ + + xISROneShotTimer = xTimerCreate( + "ISR OS", /* The text name given to the timer. */ + 0xffff, /* The timer is not given a period yet - this will be done from the tick hook, but a period of 0 is invalid. */ + pdFALSE, /* This is a one-shot timer. */ + (void *)NULL, /* The identifier is not required. */ + prvISROneShotTimerCallback); /* The callback that is executed when the timer expires. */ + + if ((xISRAutoReloadTimer == NULL) || (xISROneShotTimer == NULL)) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } +} +/*-----------------------------------------------------------*/ + +static void prvTest2_CheckTaskAndTimersInitialState(void) +{ + uint8_t ucTimer; + + /* Ensure all the timers are in their expected initial state. This depends + on the timer service task having a higher priority than this task. + + auto-reload timers 0 to ( configTIMER_QUEUE_LENGTH - 1 ) should now be active, + and auto-reload timer configTIMER_QUEUE_LENGTH should not yet be active (it + could not be started prior to the scheduler being started when it was + created). */ + for (ucTimer = 0; ucTimer < (uint8_t)configTIMER_QUEUE_LENGTH; + ucTimer++) { + if (xTimerIsTimerActive(xAutoReloadTimers[ucTimer]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + if (xTimerIsTimerActive(xAutoReloadTimers[configTIMER_QUEUE_LENGTH]) != + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } +} +/*-----------------------------------------------------------*/ + +static void prvTest3_CheckAutoReloadExpireRates(void) +{ + uint8_t ucMaxAllowableValue, ucMinAllowableValue, ucTimer; + TickType_t xBlockPeriod, xTimerPeriod, xExpectedNumber; + UBaseType_t uxOriginalPriority; + + /* Check the auto-reload timers expire at the expected rates. Do this at a + high priority for maximum accuracy. This is ok as most of the time is spent + in the Blocked state. */ + uxOriginalPriority = uxTaskPriorityGet(NULL); + vTaskPrioritySet(NULL, (configMAX_PRIORITIES - 1)); + + /* Delaying for configTIMER_QUEUE_LENGTH * xBasePeriod ticks should allow + all the auto-reload timers to expire at least once. */ + xBlockPeriod = ((TickType_t)configTIMER_QUEUE_LENGTH) * xBasePeriod; + vTaskDelay(xBlockPeriod); + + /* Check that all the auto-reload timers have called their callback + function the expected number of times. */ + for (ucTimer = 0; ucTimer < (uint8_t)configTIMER_QUEUE_LENGTH; + ucTimer++) { + /* The expected number of expiries is equal to the block period divided + by the timer period. */ + xTimerPeriod = + (((TickType_t)ucTimer + (TickType_t)1) * xBasePeriod); + xExpectedNumber = xBlockPeriod / xTimerPeriod; + + ucMaxAllowableValue = ((uint8_t)xExpectedNumber); + ucMinAllowableValue = (uint8_t)( + (uint8_t)xExpectedNumber - + (uint8_t)1); /* Weird casting to try and please all compilers. */ + + if ((ucAutoReloadTimerCounters[ucTimer] < + ucMinAllowableValue) || + (ucAutoReloadTimerCounters[ucTimer] > + ucMaxAllowableValue)) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + /* Return to the original priority. */ + vTaskPrioritySet(NULL, uxOriginalPriority); + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so the + check task knows this task is still running. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +static void prvTest4_CheckAutoReloadTimersCanBeStopped(void) +{ + uint8_t ucTimer; + + /* Check the auto-reload timers can be stopped correctly, and correctly + report their state. */ + + /* Stop all the active timers. */ + for (ucTimer = 0; ucTimer < (uint8_t)configTIMER_QUEUE_LENGTH; + ucTimer++) { + /* The timer has not been stopped yet! */ + if (xTimerIsTimerActive(xAutoReloadTimers[ucTimer]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Now stop the timer. This will appear to happen immediately to + this task because this task is running at a priority below the + timer service task. */ + xTimerStop(xAutoReloadTimers[ucTimer], tmrdemoDONT_BLOCK); + + /* The timer should now be inactive. */ + if (xTimerIsTimerActive(xAutoReloadTimers[ucTimer]) != + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + taskENTER_CRITICAL(); + { + /* The timer in array position configTIMER_QUEUE_LENGTH should not + be active. The critical section is used to ensure the timer does + not call its callback between the next line running and the array + being cleared back to zero, as that would mask an error condition. */ + if (ucAutoReloadTimerCounters[configTIMER_QUEUE_LENGTH] != + (uint8_t)0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Clear the timer callback count. */ + memset((void *)ucAutoReloadTimerCounters, 0, + sizeof(ucAutoReloadTimerCounters)); + } + taskEXIT_CRITICAL(); + + /* The timers are now all inactive, so this time, after delaying, none + of the callback counters should have incremented. */ + vTaskDelay(((TickType_t)configTIMER_QUEUE_LENGTH) * xBasePeriod); + for (ucTimer = 0; ucTimer < (uint8_t)configTIMER_QUEUE_LENGTH; + ucTimer++) { + if (ucAutoReloadTimerCounters[ucTimer] != (uint8_t)0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so + the check task knows this task is still running. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +static void prvTest5_CheckBasicOneShotTimerBehaviour(void) +{ + /* Check the one-shot timer only calls its callback once after it has been + started, and that it reports its state correctly. */ + + /* The one-shot timer should not be active yet. */ + if (xTimerIsTimerActive(xOneShotTimer) != pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucOneShotTimerCounter != (uint8_t)0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Start the one-shot timer and check that it reports its state correctly. */ + xTimerStart(xOneShotTimer, tmrdemoDONT_BLOCK); + if (xTimerIsTimerActive(xOneShotTimer) == pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Delay for three times as long as the one-shot timer period, then check + to ensure it has only called its callback once, and is now not in the + active state. */ + vTaskDelay(tmrdemoONE_SHOT_TIMER_PERIOD * (TickType_t)3); + + if (xTimerIsTimerActive(xOneShotTimer) != pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucOneShotTimerCounter != (uint8_t)1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } else { + /* Reset the one-shot timer callback count. */ + ucOneShotTimerCounter = (uint8_t)0; + } + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so the + check task knows this task is still running. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +static void prvTest6_CheckAutoReloadResetBehaviour(void) +{ + uint8_t ucTimer; + + /* Check timer reset behaviour. */ + + /* Restart the one-shot timer and check it reports its status correctly. */ + xTimerStart(xOneShotTimer, tmrdemoDONT_BLOCK); + if (xTimerIsTimerActive(xOneShotTimer) == pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Restart one of the auto-reload timers and check that it reports its + status correctly. */ + xTimerStart(xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1], + tmrdemoDONT_BLOCK); + if (xTimerIsTimerActive( + xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + for (ucTimer = 0; ucTimer < tmrdemoNUM_TIMER_RESETS; ucTimer++) { + /* Delay for half as long as the one-shot timer period, then reset it. + It should never expire while this is done, so its callback count should + never increment. */ + vTaskDelay(tmrdemoONE_SHOT_TIMER_PERIOD / 2); + + /* Check both running timers are still active, but have not called their + callback functions. */ + if (xTimerIsTimerActive(xOneShotTimer) == pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucOneShotTimerCounter != (uint8_t)0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (xTimerIsTimerActive( + xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucAutoReloadTimerCounters[configTIMER_QUEUE_LENGTH - 1] != + (uint8_t)0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Reset both running timers. */ + xTimerReset(xOneShotTimer, tmrdemoDONT_BLOCK); + xTimerReset(xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1], + tmrdemoDONT_BLOCK); + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so + the check task knows this task is still running. */ + ulLoopCounter++; + } + } + + /* Finally delay long enough for both running timers to expire. */ + vTaskDelay(((TickType_t)configTIMER_QUEUE_LENGTH) * xBasePeriod); + + /* The timers were not reset during the above delay period so should now + both have called their callback functions. */ + if (ucOneShotTimerCounter != (uint8_t)1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucAutoReloadTimerCounters[configTIMER_QUEUE_LENGTH - 1] == 0) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* The one-shot timer should no longer be active, while the auto-reload + timer should still be active. */ + if (xTimerIsTimerActive( + xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (xTimerIsTimerActive(xOneShotTimer) == pdTRUE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Stop the auto-reload timer again. */ + xTimerStop(xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1], + tmrdemoDONT_BLOCK); + + if (xTimerIsTimerActive( + xAutoReloadTimers[configTIMER_QUEUE_LENGTH - 1]) != + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Clear the timer callback counts, ready for another iteration of these + tests. */ + ucAutoReloadTimerCounters[configTIMER_QUEUE_LENGTH - 1] = (uint8_t)0; + ucOneShotTimerCounter = (uint8_t)0; + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so the check + task knows this task is still running. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +static void prvResetStartConditionsForNextIteration(void) +{ + uint8_t ucTimer; + + /* Start the timers again to start all the tests over again. */ + + /* Start the timers again. */ + for (ucTimer = 0; ucTimer < (uint8_t)configTIMER_QUEUE_LENGTH; + ucTimer++) { + /* The timer has not been started yet! */ + if (xTimerIsTimerActive(xAutoReloadTimers[ucTimer]) != + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Now start the timer. This will appear to happen immediately to + this task because this task is running at a priority below the timer + service task. */ + xTimerStart(xAutoReloadTimers[ucTimer], tmrdemoDONT_BLOCK); + + /* The timer should now be active. */ + if (xTimerIsTimerActive(xAutoReloadTimers[ucTimer]) == + pdFALSE) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } + + if (xTestStatus == pdPASS) { + /* No errors have been reported so increment the loop counter so the + check task knows this task is still running. */ + ulLoopCounter++; + } +} +/*-----------------------------------------------------------*/ + +void vTimerPeriodicISRTests(void) +{ + static TickType_t uxTick = (TickType_t)-1; + +#if (configTIMER_TASK_PRIORITY != (configMAX_PRIORITIES - 1)) +/* The timer service task is not the highest priority task, so it cannot + be assumed that timings will be exact. Timers should never call their + callback before their expiry time, but a margin is permissible for calling + their callback after their expiry time. If exact timing is required then + configTIMER_TASK_PRIORITY must be set to ensure the timer service task + is the highest priority task in the system. + + This function is called from the tick hook. The tick hook is called + even when the scheduler is suspended. Therefore it is possible that the + uxTick count maintained in this function is temporarily ahead of the tick + count maintained by the kernel. When this is the case a message posted from + this function will assume a time stamp in advance of the real time stamp, + which can result in a timer being processed before this function expects it + to. For example, if the kernel's tick count was 100, and uxTick was 102, + then this function will not expect the timer to have expired until the + kernel's tick count is (102 + xBasePeriod), whereas in reality the timer + will expire when the kernel's tick count is (100 + xBasePeriod). For this + reason xMargin is used as an allowable margin for premature timer expiries + as well as late timer expiries. */ +#ifdef _WINDOWS_ + /* Windows is not real real time. */ + const TickType_t xMargin = 20; +#else + const TickType_t xMargin = 6; +#endif /* _WINDOWS_ */ +#else +#ifdef _WINDOWS_ + /* Windows is not real real time. */ + const TickType_t xMargin = 20; +#else + const TickType_t xMargin = 4; +#endif /* _WINDOWS_ */ +#endif + + uxTick++; + + if (uxTick == 0) { + /* The timers will have been created, but not started. Start them now + by setting their period. */ + ucISRAutoReloadTimerCounter = 0; + ucISROneShotTimerCounter = 0; + + /* It is possible that the timer task has not yet made room in the + timer queue. If the timers cannot be started then reset uxTick so + another attempt is made later. */ + uxTick = (TickType_t)-1; + + /* Try starting first timer. */ + if (xTimerChangePeriodFromISR(xISRAutoReloadTimer, xBasePeriod, + NULL) == pdPASS) { + /* First timer was started, try starting the second timer. */ + if (xTimerChangePeriodFromISR(xISROneShotTimer, + xBasePeriod, + NULL) == pdPASS) { + /* Both timers were started, so set the uxTick back to its + proper value. */ + uxTick = 0; + } else { + /* Second timer could not be started, so stop the first one + again. */ + xTimerStopFromISR(xISRAutoReloadTimer, NULL); + } + } + } else if (uxTick == (xBasePeriod - xMargin)) { + /* Neither timer should have expired yet. */ + if ((ucISRAutoReloadTimerCounter != 0) || + (ucISROneShotTimerCounter != 0)) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == (xBasePeriod + xMargin)) { + /* Both timers should now have expired once. The auto-reload timer will + still be active, but the one-shot timer should now have stopped. */ + if ((ucISRAutoReloadTimerCounter != 1) || + (ucISROneShotTimerCounter != 1)) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == ((2 * xBasePeriod) - xMargin)) { + /* The auto-reload timer will still be active, but the one-shot timer + should now have stopped - however, at this time neither of the timers + should have expired again since the last test. */ + if ((ucISRAutoReloadTimerCounter != 1) || + (ucISROneShotTimerCounter != 1)) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == ((2 * xBasePeriod) + xMargin)) { + /* The auto-reload timer will still be active, but the one-shot timer + should now have stopped. At this time the auto-reload timer should have + expired again, but the one-shot timer count should not have changed. */ + if (ucISRAutoReloadTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == + ((2 * xBasePeriod) + (xBasePeriod >> (TickType_t)2U))) { + /* The auto-reload timer will still be active, but the one-shot timer + should now have stopped. Again though, at this time, neither timer call + back should have been called since the last test. */ + if (ucISRAutoReloadTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == (3 * xBasePeriod)) { + /* Start the one-shot timer again. */ + xTimerStartFromISR(xISROneShotTimer, NULL); + } else if (uxTick == ((3 * xBasePeriod) + xMargin)) { + /* The auto-reload timer and one-shot timer will be active. At + this time the auto-reload timer should have expired again, but the one + shot timer count should not have changed yet. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Now stop the auto-reload timer. The one-shot timer was started + a few ticks ago. */ + xTimerStopFromISR(xISRAutoReloadTimer, NULL); + } else if (uxTick == (4 * (xBasePeriod - xMargin))) { + /* The auto-reload timer is now stopped, and the one-shot timer is + active, but at this time neither timer should have expired since the + last test. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 1) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == ((4 * xBasePeriod) + xMargin)) { + /* The auto-reload timer is now stopped, and the one-shot timer is + active. The one-shot timer should have expired again, but the auto + reload timer should not have executed its callback. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == (8 * xBasePeriod)) { + /* The auto-reload timer is now stopped, and the one-shot timer has + already expired and then stopped itself. Both callback counters should + not have incremented since the last test. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + /* Now reset the one-shot timer. */ + xTimerResetFromISR(xISROneShotTimer, NULL); + } else if (uxTick == ((9 * xBasePeriod) - xMargin)) { + /* Only the one-shot timer should be running, but it should not have + expired since the last test. Check the callback counters have not + incremented, then reset the one-shot timer again. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + xTimerResetFromISR(xISROneShotTimer, NULL); + } else if (uxTick == ((10 * xBasePeriod) - (2 * xMargin))) { + /* Only the one-shot timer should be running, but it should not have + expired since the last test. Check the callback counters have not + incremented, then reset the one-shot timer again. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + xTimerResetFromISR(xISROneShotTimer, NULL); + } else if (uxTick == ((11 * xBasePeriod) - (3 * xMargin))) { + /* Only the one-shot timer should be running, but it should not have + expired since the last test. Check the callback counters have not + incremented, then reset the one-shot timer once again. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 2) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + xTimerResetFromISR(xISROneShotTimer, NULL); + } else if (uxTick == ((12 * xBasePeriod) - (2 * xMargin))) { + /* Only the one-shot timer should have been running and this time it + should have expired. Check its callback count has been incremented. + The auto-reload timer is still not running so should still have the same + count value. This time the one-shot timer is not reset so should not + restart from its expiry period again. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + } else if (uxTick == (15 * xBasePeriod)) { + /* Neither timer should be running now. Check neither callback count + has incremented, then go back to the start to run these tests all + over again. */ + if (ucISRAutoReloadTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + if (ucISROneShotTimerCounter != 3) { + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } + + uxTick = (TickType_t)-1; + } +} +/*-----------------------------------------------------------*/ + +/*** Timer callback functions are defined below here. ***/ + +static void prvAutoReloadTimerCallback(TimerHandle_t pxExpiredTimer) +{ + size_t uxTimerID; + + uxTimerID = (size_t)pvTimerGetTimerID(pxExpiredTimer); + if (uxTimerID <= (configTIMER_QUEUE_LENGTH + 1)) { + (ucAutoReloadTimerCounters[uxTimerID])++; + } else { + /* The timer ID appears to be unexpected (invalid). */ + xTestStatus = pdFAIL; + configASSERT(xTestStatus); + } +} +/*-----------------------------------------------------------*/ + +static void prvOneShotTimerCallback(TimerHandle_t pxExpiredTimer) +{ + /* A count is kept of the number of times this callback function is executed. +The count is stored as the timer's ID. This is only done to test the +vTimerSetTimerID() function. */ + static size_t uxCallCount = 0; + size_t uxLastCallCount; + + /* Obtain the timer's ID, which should be a count of the number of times + this callback function has been executed. */ + uxLastCallCount = (size_t)pvTimerGetTimerID(pxExpiredTimer); + configASSERT(uxLastCallCount == uxCallCount); + + /* Increment the call count, then save it back as the timer's ID. This is + only done to test the vTimerSetTimerID() API function. */ + uxLastCallCount++; + vTimerSetTimerID(pxExpiredTimer, (void *)uxLastCallCount); + uxCallCount++; + + ucOneShotTimerCounter++; +} +/*-----------------------------------------------------------*/ + +static void prvISRAutoReloadTimerCallback(TimerHandle_t pxExpiredTimer) +{ + /* The parameter is not used in this case as only one timer uses this + callback function. */ + (void)pxExpiredTimer; + + ucISRAutoReloadTimerCounter++; +} +/*-----------------------------------------------------------*/ + +static void prvISROneShotTimerCallback(TimerHandle_t pxExpiredTimer) +{ + /* The parameter is not used in this case as only one timer uses this + callback function. */ + (void)pxExpiredTimer; + + ucISROneShotTimerCounter++; +} +/*-----------------------------------------------------------*/ diff --git a/freertos/cvitek/task/demo/Common/Minimal/blocktim.c b/freertos/cvitek/task/demo/Common/Minimal/blocktim.c new file mode 100644 index 000000000..5f966ab0b --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/blocktim.c @@ -0,0 +1,524 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This file contains some test scenarios that ensure tasks do not exit queue + * send or receive functions prematurely. A description of the tests is + * included within the code. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Demo includes. */ +#include "blocktim.h" + +/* Task priorities and stack sizes. Allow these to be overridden. */ +#ifndef bktPRIMARY_PRIORITY +#define bktPRIMARY_PRIORITY (configMAX_PRIORITIES - 3) +#endif + +#ifndef bktSECONDARY_PRIORITY +#define bktSECONDARY_PRIORITY (configMAX_PRIORITIES - 4) +#endif + +#ifndef bktBLOCK_TIME_TASK_STACK_SIZE +#define bktBLOCK_TIME_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +/* Task behaviour. */ +#define bktQUEUE_LENGTH (5) +#define bktSHORT_WAIT pdMS_TO_TICKS((TickType_t)20) +#define bktPRIMARY_BLOCK_TIME (10) +#define bktALLOWABLE_MARGIN (15) +#define bktTIME_TO_BLOCK (175) +#define bktDONT_BLOCK ((TickType_t)0) +#define bktRUN_INDICATOR ((UBaseType_t)0x55) + +/* In case the demo does not have software timers enabled, as this file uses +the configTIMER_TASK_PRIORITY setting. */ +#ifndef configTIMER_TASK_PRIORITY +#define configTIMER_TASK_PRIORITY (configMAX_PRIORITIES - 1) +#endif + +/*-----------------------------------------------------------*/ + +/* + * The two test tasks. Their behaviour is commented within the functions. + */ +static void vPrimaryBlockTimeTestTask(void *pvParameters); +static void vSecondaryBlockTimeTestTask(void *pvParameters); + +/* + * Very basic tests to verify the block times are as expected. + */ +static void prvBasicDelayTests(void); + +/*-----------------------------------------------------------*/ + +/* The queue on which the tasks block. */ +static QueueHandle_t xTestQueue; + +/* Handle to the secondary task is required by the primary task for calls +to vTaskSuspend/Resume(). */ +static TaskHandle_t xSecondary; + +/* Used to ensure that tasks are still executing without error. */ +static volatile BaseType_t xPrimaryCycles = 0, xSecondaryCycles = 0; +static volatile BaseType_t xErrorOccurred = pdFALSE; + +/* Provides a simple mechanism for the primary task to know when the +secondary task has executed. */ +static volatile UBaseType_t xRunIndicator; + +/*-----------------------------------------------------------*/ + +void vCreateBlockTimeTasks(void) +{ + /* Create the queue on which the two tasks block. */ + xTestQueue = xQueueCreate(bktQUEUE_LENGTH, sizeof(BaseType_t)); + + if (xTestQueue != NULL) { + /* vQueueAddToRegistry() adds the queue to the queue registry, if one + is in use. The queue registry is provided as a means for kernel aware + debuggers to locate queues and has no purpose if a kernel aware + debugger is not being used. The call to vQueueAddToRegistry() will be + removed by the pre-processor if configQUEUE_REGISTRY_SIZE is not + defined or is defined to be less than 1. */ + vQueueAddToRegistry(xTestQueue, "Block_Time_Queue"); + + /* Create the two test tasks. */ + xTaskCreate(vPrimaryBlockTimeTestTask, "BTest1", + bktBLOCK_TIME_TASK_STACK_SIZE, NULL, + bktPRIMARY_PRIORITY, NULL); + xTaskCreate(vSecondaryBlockTimeTestTask, "BTest2", + bktBLOCK_TIME_TASK_STACK_SIZE, NULL, + bktSECONDARY_PRIORITY, &xSecondary); + } +} +/*-----------------------------------------------------------*/ + +static void vPrimaryBlockTimeTestTask(void *pvParameters) +{ + BaseType_t xItem, xData; + TickType_t xTimeWhenBlocking; + TickType_t xTimeToBlock, xBlockedTime; + + (void)pvParameters; + + for (;;) { + /********************************************************************* + Test 0 + + Basic vTaskDelay() and vTaskDelayUntil() tests. */ + prvBasicDelayTests(); + + /********************************************************************* + Test 1 + + Simple block time wakeup test on queue receives. */ + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + /* The queue is empty. Attempt to read from the queue using a block + time. When we wake, ensure the delta in time is as expected. */ + xTimeToBlock = + (TickType_t)(bktPRIMARY_BLOCK_TIME << xItem); + + xTimeWhenBlocking = xTaskGetTickCount(); + + /* We should unblock after xTimeToBlock having not received + anything on the queue. */ + if (xQueueReceive(xTestQueue, &xData, xTimeToBlock) != + errQUEUE_EMPTY) { + xErrorOccurred = pdTRUE; + } + + /* How long were we blocked for? */ + xBlockedTime = xTaskGetTickCount() - xTimeWhenBlocking; + + if (xBlockedTime < xTimeToBlock) { + /* Should not have blocked for less than we requested. */ + xErrorOccurred = pdTRUE; + } + + if (xBlockedTime > + (xTimeToBlock + bktALLOWABLE_MARGIN)) { + /* Should not have blocked for longer than we requested, + although we would not necessarily run as soon as we were + unblocked so a margin is allowed. */ + xErrorOccurred = pdTRUE; + } + } + + /********************************************************************* + Test 2 + + Simple block time wakeup test on queue sends. + + First fill the queue. It should be empty so all sends should pass. */ + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + if (xQueueSend(xTestQueue, &xItem, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } + + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + /* The queue is full. Attempt to write to the queue using a block + time. When we wake, ensure the delta in time is as expected. */ + xTimeToBlock = + (TickType_t)(bktPRIMARY_BLOCK_TIME << xItem); + + xTimeWhenBlocking = xTaskGetTickCount(); + + /* We should unblock after xTimeToBlock having not received + anything on the queue. */ + if (xQueueSend(xTestQueue, &xItem, xTimeToBlock) != + errQUEUE_FULL) { + xErrorOccurred = pdTRUE; + } + + /* How long were we blocked for? */ + xBlockedTime = xTaskGetTickCount() - xTimeWhenBlocking; + + if (xBlockedTime < xTimeToBlock) { + /* Should not have blocked for less than we requested. */ + xErrorOccurred = pdTRUE; + } + + if (xBlockedTime > + (xTimeToBlock + bktALLOWABLE_MARGIN)) { + /* Should not have blocked for longer than we requested, + although we would not necessarily run as soon as we were + unblocked so a margin is allowed. */ + xErrorOccurred = pdTRUE; + } + } + + /********************************************************************* + Test 3 + + Wake the other task, it will block attempting to post to the queue. + When we read from the queue the other task will wake, but before it + can run we will post to the queue again. When the other task runs it + will find the queue still full, even though it was woken. It should + recognise that its block time has not expired and return to block for + the remains of its block time. + + Wake the other task so it blocks attempting to post to the already + full queue. */ + xRunIndicator = 0; + vTaskResume(xSecondary); + + /* We need to wait a little to ensure the other task executes. */ + while (xRunIndicator != bktRUN_INDICATOR) { + /* The other task has not yet executed. */ + vTaskDelay(bktSHORT_WAIT); + } + /* Make sure the other task is blocked on the queue. */ + vTaskDelay(bktSHORT_WAIT); + xRunIndicator = 0; + + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + /* Now when we make space on the queue the other task should wake + but not execute as this task has higher priority. */ + if (xQueueReceive(xTestQueue, &xData, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Now fill the queue again before the other task gets a chance to + execute. If the other task had executed we would find the queue + full ourselves, and the other task have set xRunIndicator. */ + if (xQueueSend(xTestQueue, &xItem, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + + if (xRunIndicator == bktRUN_INDICATOR) { + /* The other task should not have executed. */ + xErrorOccurred = pdTRUE; + } + + /* Raise the priority of the other task so it executes and blocks + on the queue again. */ + vTaskPrioritySet(xSecondary, bktPRIMARY_PRIORITY + 2); + + /* The other task should now have re-blocked without exiting the + queue function. */ + if (xRunIndicator == bktRUN_INDICATOR) { + /* The other task should not have executed outside of the + queue function. */ + xErrorOccurred = pdTRUE; + } + + /* Set the priority back down. */ + vTaskPrioritySet(xSecondary, bktSECONDARY_PRIORITY); + } + + /* Let the other task timeout. When it unblockes it will check that it + unblocked at the correct time, then suspend itself. */ + while (xRunIndicator != bktRUN_INDICATOR) { + vTaskDelay(bktSHORT_WAIT); + } + vTaskDelay(bktSHORT_WAIT); + xRunIndicator = 0; + + /********************************************************************* + Test 4 + + As per test 3 - but with the send and receive the other way around. + The other task blocks attempting to read from the queue. + + Empty the queue. We should find that it is full. */ + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + if (xQueueReceive(xTestQueue, &xData, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + } + + /* Wake the other task so it blocks attempting to read from the + already empty queue. */ + vTaskResume(xSecondary); + + /* We need to wait a little to ensure the other task executes. */ + while (xRunIndicator != bktRUN_INDICATOR) { + vTaskDelay(bktSHORT_WAIT); + } + vTaskDelay(bktSHORT_WAIT); + xRunIndicator = 0; + + for (xItem = 0; xItem < bktQUEUE_LENGTH; xItem++) { + /* Now when we place an item on the queue the other task should + wake but not execute as this task has higher priority. */ + if (xQueueSend(xTestQueue, &xItem, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Now empty the queue again before the other task gets a chance to + execute. If the other task had executed we would find the queue + empty ourselves, and the other task would be suspended. */ + if (xQueueReceive(xTestQueue, &xData, bktDONT_BLOCK) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + + if (xRunIndicator == bktRUN_INDICATOR) { + /* The other task should not have executed. */ + xErrorOccurred = pdTRUE; + } + + /* Raise the priority of the other task so it executes and blocks + on the queue again. */ + vTaskPrioritySet(xSecondary, bktPRIMARY_PRIORITY + 2); + + /* The other task should now have re-blocked without exiting the + queue function. */ + if (xRunIndicator == bktRUN_INDICATOR) { + /* The other task should not have executed outside of the + queue function. */ + xErrorOccurred = pdTRUE; + } + vTaskPrioritySet(xSecondary, bktSECONDARY_PRIORITY); + } + + /* Let the other task timeout. When it unblockes it will check that it + unblocked at the correct time, then suspend itself. */ + while (xRunIndicator != bktRUN_INDICATOR) { + vTaskDelay(bktSHORT_WAIT); + } + vTaskDelay(bktSHORT_WAIT); + + xPrimaryCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void vSecondaryBlockTimeTestTask(void *pvParameters) +{ + TickType_t xTimeWhenBlocking, xBlockedTime; + BaseType_t xData; + + (void)pvParameters; + + for (;;) { + /********************************************************************* + Test 0, 1 and 2 + + This task does not participate in these tests. */ + vTaskSuspend(NULL); + + /********************************************************************* + Test 3 + + The first thing we do is attempt to read from the queue. It should be + full so we block. Note the time before we block so we can check the + wake time is as per that expected. */ + xTimeWhenBlocking = xTaskGetTickCount(); + + /* We should unblock after bktTIME_TO_BLOCK having not sent anything to + the queue. */ + xData = 0; + xRunIndicator = bktRUN_INDICATOR; + if (xQueueSend(xTestQueue, &xData, bktTIME_TO_BLOCK) != + errQUEUE_FULL) { + xErrorOccurred = pdTRUE; + } + + /* How long were we inside the send function? */ + xBlockedTime = xTaskGetTickCount() - xTimeWhenBlocking; + + /* We should not have blocked for less time than bktTIME_TO_BLOCK. */ + if (xBlockedTime < bktTIME_TO_BLOCK) { + xErrorOccurred = pdTRUE; + } + + /* We should of not blocked for much longer than bktALLOWABLE_MARGIN + either. A margin is permitted as we would not necessarily run as + soon as we unblocked. */ + if (xBlockedTime > (bktTIME_TO_BLOCK + bktALLOWABLE_MARGIN)) { + xErrorOccurred = pdTRUE; + } + + /* Suspend ready for test 3. */ + xRunIndicator = bktRUN_INDICATOR; + vTaskSuspend(NULL); + + /********************************************************************* + Test 4 + + As per test three, but with the send and receive reversed. */ + xTimeWhenBlocking = xTaskGetTickCount(); + + /* We should unblock after bktTIME_TO_BLOCK having not received + anything on the queue. */ + xRunIndicator = bktRUN_INDICATOR; + if (xQueueReceive(xTestQueue, &xData, bktTIME_TO_BLOCK) != + errQUEUE_EMPTY) { + xErrorOccurred = pdTRUE; + } + + xBlockedTime = xTaskGetTickCount() - xTimeWhenBlocking; + + /* We should not have blocked for less time than bktTIME_TO_BLOCK. */ + if (xBlockedTime < bktTIME_TO_BLOCK) { + xErrorOccurred = pdTRUE; + } + + /* We should of not blocked for much longer than bktALLOWABLE_MARGIN + either. A margin is permitted as we would not necessarily run as soon + as we unblocked. */ + if (xBlockedTime > (bktTIME_TO_BLOCK + bktALLOWABLE_MARGIN)) { + xErrorOccurred = pdTRUE; + } + + xRunIndicator = bktRUN_INDICATOR; + + xSecondaryCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void prvBasicDelayTests(void) +{ + TickType_t xPreTime, xPostTime, x, xLastUnblockTime, + xExpectedUnblockTime; + const TickType_t xPeriod = 75, xCycles = 5, + xAllowableMargin = (bktALLOWABLE_MARGIN >> 1); + + /* Temporarily increase priority so the timing is more accurate, but not so + high as to disrupt the timer tests. */ + vTaskPrioritySet(NULL, configTIMER_TASK_PRIORITY - 1); + + /* Crude check to too see that vTaskDelay() blocks for the expected + period. */ + xPreTime = xTaskGetTickCount(); + vTaskDelay(bktTIME_TO_BLOCK); + xPostTime = xTaskGetTickCount(); + + /* The priority is higher, so the allowable margin is halved when compared + to the other tests in this file. */ + if ((xPostTime - xPreTime) > (bktTIME_TO_BLOCK + xAllowableMargin)) { + xErrorOccurred = pdTRUE; + } + + /* Now crude tests to check the vTaskDelayUntil() functionality. */ + xPostTime = xTaskGetTickCount(); + xLastUnblockTime = xPostTime; + + for (x = 0; x < xCycles; x++) { + /* Calculate the next expected unblock time from the time taken before + this loop was entered. */ + xExpectedUnblockTime = xPostTime + (x * xPeriod); + + vTaskDelayUntil(&xLastUnblockTime, xPeriod); + + if ((xTaskGetTickCount() - xExpectedUnblockTime) > + (bktTIME_TO_BLOCK + xAllowableMargin)) { + xErrorOccurred = pdTRUE; + } + + xPrimaryCycles++; + } + + /* Reset to the original task priority ready for the other tests. */ + vTaskPrioritySet(NULL, bktPRIMARY_PRIORITY); +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreBlockTimeTestTasksStillRunning(void) +{ + static BaseType_t xLastPrimaryCycleCount = 0, + xLastSecondaryCycleCount = 0; + BaseType_t xReturn = pdPASS; + + /* Have both tasks performed at least one cycle since this function was + last called? */ + if (xPrimaryCycles == xLastPrimaryCycleCount) { + xReturn = pdFAIL; + } + + if (xSecondaryCycles == xLastSecondaryCycleCount) { + xReturn = pdFAIL; + } + + if (xErrorOccurred == pdTRUE) { + xReturn = pdFAIL; + } + + xLastSecondaryCycleCount = xSecondaryCycles; + xLastPrimaryCycleCount = xPrimaryCycles; + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/comtest.c b/freertos/cvitek/task/demo/Common/Minimal/comtest.c new file mode 100644 index 000000000..16123f6e5 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/comtest.c @@ -0,0 +1,255 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This version of comtest. c is for use on systems that have limited stack + * space and no display facilities. The complete version can be found in + * the Demo/Common/Full directory. + * + * Creates two tasks that operate on an interrupt driven serial port. A + * loopback connector should be used so that everything that is transmitted is + * also received. The serial port does not use any flow control. On a + * standard 9way 'D' connector pins two and three should be connected together. + * + * The first task posts a sequence of characters to the Tx queue, toggling an + * LED on each successful post. At the end of the sequence it sleeps for a + * pseudo-random period before resending the same sequence. + * + * The UART Tx end interrupt is enabled whenever data is available in the Tx + * queue. The Tx end ISR removes a single character from the Tx queue and + * passes it to the UART for transmission. + * + * The second task blocks on the Rx queue waiting for a character to become + * available. When the UART Rx end interrupt receives a character it places + * it in the Rx queue, waking the second task. The second task checks that the + * characters removed from the Rx queue form the same sequence as those posted + * to the Tx queue, and toggles an LED for each correct character. + * + * The receiving task is spawned with a higher priority than the transmitting + * task. The receiver will therefore wake every time a character is + * transmitted so neither the Tx or Rx queue should ever hold more than a few + * characters. + * + */ + +/* Scheduler include files. */ +#include <stdlib.h> +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "serial.h" +#include "comtest.h" +#include "partest.h" + +#define comSTACK_SIZE configMINIMAL_STACK_SIZE +#define comTX_LED_OFFSET (0) +#define comRX_LED_OFFSET (1) +#define comTOTAL_PERMISSIBLE_ERRORS (2) + +/* The Tx task will transmit the sequence of characters at a pseudo random +interval. This is the maximum and minimum block time between sends. */ +#define comTX_MAX_BLOCK_TIME ((TickType_t)0x96) +#define comTX_MIN_BLOCK_TIME ((TickType_t)0x32) +#define comOFFSET_TIME ((TickType_t)3) + +/* We should find that each character can be queued for Tx immediately and we +don't have to block to send. */ +#define comNO_BLOCK ((TickType_t)0) + +/* The Rx task will block on the Rx queue for a long period. */ +#define comRX_BLOCK_TIME ((TickType_t)0xffff) + +/* The sequence transmitted is from comFIRST_BYTE to and including comLAST_BYTE. */ +#define comFIRST_BYTE ('A') +#define comLAST_BYTE ('X') + +#define comBUFFER_LEN \ + ((UBaseType_t)(comLAST_BYTE - comFIRST_BYTE) + (UBaseType_t)1) +#define comINITIAL_RX_COUNT_VALUE (0) + +/* Handle to the com port used by both tasks. */ +static xComPortHandle xPort = NULL; + +/* The transmit task as described at the top of the file. */ +static portTASK_FUNCTION_PROTO(vComTxTask, pvParameters); + +/* The receive task as described at the top of the file. */ +static portTASK_FUNCTION_PROTO(vComRxTask, pvParameters); + +/* The LED that should be toggled by the Rx and Tx tasks. The Rx task will +toggle LED ( uxBaseLED + comRX_LED_OFFSET). The Tx task will toggle LED +( uxBaseLED + comTX_LED_OFFSET ). */ +static UBaseType_t uxBaseLED = 0; + +/* Check variable used to ensure no error have occurred. The Rx task will +increment this variable after every successfully received sequence. If at any +time the sequence is incorrect the the variable will stop being incremented. */ +static volatile UBaseType_t uxRxLoops = comINITIAL_RX_COUNT_VALUE; + +/*-----------------------------------------------------------*/ + +void vAltStartComTestTasks(UBaseType_t uxPriority, uint32_t ulBaudRate, + UBaseType_t uxLED) +{ + /* Initialise the com port then spawn the Rx and Tx tasks. */ + uxBaseLED = uxLED; + xSerialPortInitMinimal(ulBaudRate, comBUFFER_LEN); + + /* The Tx task is spawned with a lower priority than the Rx task. */ + xTaskCreate(vComTxTask, "COMTx", comSTACK_SIZE, NULL, uxPriority - 1, + (TaskHandle_t *)NULL); + xTaskCreate(vComRxTask, "COMRx", comSTACK_SIZE, NULL, uxPriority, + (TaskHandle_t *)NULL); +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vComTxTask, pvParameters) +{ + char cByteToSend; + TickType_t xTimeToWait; + + /* Just to stop compiler warnings. */ + (void)pvParameters; + + for (;;) { + /* Simply transmit a sequence of characters from comFIRST_BYTE to + comLAST_BYTE. */ + for (cByteToSend = comFIRST_BYTE; cByteToSend <= comLAST_BYTE; + cByteToSend++) { + if (xSerialPutChar(xPort, cByteToSend, comNO_BLOCK) == + pdPASS) { + vParTestToggleLED(uxBaseLED + comTX_LED_OFFSET); + } + } + + /* Turn the LED off while we are not doing anything. */ + vParTestSetLED(uxBaseLED + comTX_LED_OFFSET, pdFALSE); + + /* We have posted all the characters in the string - wait before + re-sending. Wait a pseudo-random time as this will provide a better + test. */ + xTimeToWait = xTaskGetTickCount() + comOFFSET_TIME; + + /* Make sure we don't wait too long... */ + xTimeToWait %= comTX_MAX_BLOCK_TIME; + + /* ...but we do want to wait. */ + if (xTimeToWait < comTX_MIN_BLOCK_TIME) { + xTimeToWait = comTX_MIN_BLOCK_TIME; + } + + vTaskDelay(xTimeToWait); + } +} /*lint !e715 !e818 pvParameters is required for a task function even if it is not referenced. */ +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vComRxTask, pvParameters) +{ + signed char cExpectedByte, cByteRxed; + BaseType_t xResyncRequired = pdFALSE, xErrorOccurred = pdFALSE; + + /* Just to stop compiler warnings. */ + (void)pvParameters; + + for (;;) { + /* We expect to receive the characters from comFIRST_BYTE to + comLAST_BYTE in an incrementing order. Loop to receive each byte. */ + for (cExpectedByte = comFIRST_BYTE; + cExpectedByte <= comLAST_BYTE; cExpectedByte++) { + /* Block on the queue that contains received bytes until a byte is + available. */ + if (xSerialGetChar(xPort, &cByteRxed, + comRX_BLOCK_TIME)) { + /* Was this the byte we were expecting? If so, toggle the LED, + otherwise we are out on sync and should break out of the loop + until the expected character sequence is about to restart. */ + if (cByteRxed == cExpectedByte) { + vParTestToggleLED(uxBaseLED + + comRX_LED_OFFSET); + } else { + xResyncRequired = pdTRUE; + break; /*lint !e960 Non-switch break allowed. */ + } + } + } + + /* Turn the LED off while we are not doing anything. */ + vParTestSetLED(uxBaseLED + comRX_LED_OFFSET, pdFALSE); + + /* Did we break out of the loop because the characters were received in + an unexpected order? If so wait here until the character sequence is + about to restart. */ + if (xResyncRequired == pdTRUE) { + while (cByteRxed != comLAST_BYTE) { + /* Block until the next char is available. */ + xSerialGetChar(xPort, &cByteRxed, + comRX_BLOCK_TIME); + } + + /* Note that an error occurred which caused us to have to resync. + We use this to stop incrementing the loop counter so + sAreComTestTasksStillRunning() will return false - indicating an + error. */ + xErrorOccurred++; + + /* We have now resynced with the Tx task and can continue. */ + xResyncRequired = pdFALSE; + } else { + if (xErrorOccurred < comTOTAL_PERMISSIBLE_ERRORS) { + /* Increment the count of successful loops. As error + occurring (i.e. an unexpected character being received) will + prevent this counter being incremented for the rest of the + execution. Don't worry about mutual exclusion on this + variable - it doesn't really matter as we just want it + to change. */ + uxRxLoops++; + } + } + } +} /*lint !e715 !e818 pvParameters is required for a task function even if it is not referenced. */ +/*-----------------------------------------------------------*/ + +BaseType_t xAreComTestTasksStillRunning(void) +{ + BaseType_t xReturn; + + /* If the count of successful reception loops has not changed than at + some time an error occurred (i.e. a character was received out of sequence) + and we will return false. */ + if (uxRxLoops == comINITIAL_RX_COUNT_VALUE) { + xReturn = pdFALSE; + } else { + xReturn = pdTRUE; + } + + /* Reset the count of successful Rx loops. When this function is called + again we expect this to have been incremented. */ + uxRxLoops = comINITIAL_RX_COUNT_VALUE; + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/comtest_strings.c b/freertos/cvitek/task/demo/Common/Minimal/comtest_strings.c new file mode 100644 index 000000000..270443ef6 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/comtest_strings.c @@ -0,0 +1,301 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates a task and a timer that operate on an interrupt driven serial port. + * This demo assumes that the characters transmitted on a port will also be + * received on the same port. Therefore, the UART must either be connected to + * an echo server, or the uart connector must have a loopback connector fitted. + * See http://www.serialporttool.com/CommEcho.htm for a suitable echo server + * for Windows hosts. + * + * The timer sends a string to the UART, toggles an LED, then resets itself by + * changing its own period. The period is calculated as a pseudo random number + * between comTX_MAX_BLOCK_TIME and comTX_MIN_BLOCK_TIME. + * + * The task blocks on an Rx queue waiting for a character to become available. + * Received characters are checked to ensure they match those transmitted by the + * Tx timer. An error is latched if characters are missing, incorrect, or + * arrive too slowly. + * + * How characters are actually transmitted and received is port specific. Demos + * that include this test/demo file will provide example drivers. The Tx timer + * executes in the context of the timer service (daemon) task, and must + * therefore never attempt to block. + * + */ + +/* Scheduler include files. */ +#include <stdlib.h> +#include <string.h> +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" + +#ifndef configUSE_TIMERS +#error This demo uses timers. configUSE_TIMERS must be set to 1 in FreeRTOSConfig.h. +#endif + +#if configUSE_TIMERS != 1 +#error This demo uses timers. configUSE_TIMERS must be set to 1 in FreeRTOSConfig.h. +#endif + +/* Demo program include files. */ +#include "serial.h" +#include "comtest_strings.h" +#include "partest.h" + +/* The size of the stack given to the Rx task. */ +#define comSTACK_SIZE configMINIMAL_STACK_SIZE + +/* See the comment above the declaraction of the uxBaseLED variable. */ +#define comTX_LED_OFFSET (0) +#define comRX_LED_OFFSET (1) + +/* The Tx timer transmits the sequence of characters at a pseudo random +interval that is capped between comTX_MAX_BLOCK_TIME and +comTX_MIN_BLOCK_TIME. */ +#define comTX_MAX_BLOCK_TIME ((TickType_t)0x96) +#define comTX_MIN_BLOCK_TIME ((TickType_t)0x32) +#define comOFFSET_TIME ((TickType_t)3) + +/* States for the simple state machine implemented in the Rx task. */ +#define comtstWAITING_START_OF_STRING 0 +#define comtstWAITING_END_OF_STRING 1 + +/* A short delay in ticks - this delay is used to allow the Rx queue to fill up +a bit so more than one character can be processed at a time. This is relative +to comTX_MIN_BLOCK_TIME to ensure it is never longer than the shortest gap +between transmissions. It could be worked out more scientifically from the +baud rate being used. */ +#define comSHORT_DELAY (comTX_MIN_BLOCK_TIME >> (TickType_t)2) + +/* The string that is transmitted and received. */ +#define comTRANSACTED_STRING \ + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + +/* A block time of 0 simply means "don't block". */ +#define comtstDONT_BLOCK (TickType_t)0 + +/* Handle to the com port used by both tasks. */ +static xComPortHandle xPort = NULL; + +/* The callback function allocated to the transmit timer, as described in the +comments at the top of this file. */ +static void prvComTxTimerCallback(TimerHandle_t xTimer); + +/* The receive task as described in the comments at the top of this file. */ +static void vComRxTask(void *pvParameters); + +/* The Rx task will toggle LED ( uxBaseLED + comRX_LED_OFFSET). The Tx task +will toggle LED ( uxBaseLED + comTX_LED_OFFSET ). */ +static UBaseType_t uxBaseLED = 0; + +/* The Rx task toggles uxRxLoops on each successful iteration of its defined +function - provided no errors have ever been latched. If this variable stops +incrementing, then an error has occurred. */ +static volatile UBaseType_t uxRxLoops = 0UL; + +/* The timer used to periodically transmit the string. This is the timer that +has prvComTxTimerCallback allocated to it as its callback function. */ +static TimerHandle_t xTxTimer = NULL; + +/* The string length is held at file scope so the Tx timer does not need to +calculate it each time it executes. */ +static size_t xStringLength = 0U; + +/*-----------------------------------------------------------*/ + +void vStartComTestStringsTasks(UBaseType_t uxPriority, uint32_t ulBaudRate, + UBaseType_t uxLED) +{ + /* Store values that are used at run time. */ + uxBaseLED = uxLED; + + /* Calculate the string length here, rather than each time the Tx timer + executes. */ + xStringLength = strlen(comTRANSACTED_STRING); + + /* Include the null terminator in the string length as this is used to + detect the end of the string in the Rx task. */ + xStringLength++; + + /* Initialise the com port, then spawn the Rx task and create the Tx + timer. */ + xSerialPortInitMinimal(ulBaudRate, (xStringLength * 2U)); + + /* Create the Rx task and the Tx timer. The timer is started from the + Rx task. */ + xTaskCreate(vComRxTask, "COMRx", comSTACK_SIZE, NULL, uxPriority, + (TaskHandle_t *)NULL); + xTxTimer = xTimerCreate("TxTimer", comTX_MIN_BLOCK_TIME, pdFALSE, NULL, + prvComTxTimerCallback); + configASSERT(xTxTimer); +} +/*-----------------------------------------------------------*/ + +static void prvComTxTimerCallback(TimerHandle_t xTimer) +{ + TickType_t xTimeToWait; + + /* The parameter is not used in this case. */ + (void)xTimer; + + /* Send the string. How this is actually performed depends on the + sample driver provided with this demo. However - as this is a timer, + it executes in the context of the timer task and therefore must not + block. */ + vSerialPutString(xPort, comTRANSACTED_STRING, xStringLength); + + /* Toggle an LED to give a visible indication that another transmission + has been performed. */ + vParTestToggleLED(uxBaseLED + comTX_LED_OFFSET); + + /* Wait a pseudo random time before sending the string again. */ + xTimeToWait = xTaskGetTickCount() + comOFFSET_TIME; + + /* Ensure the time to wait is not greater than comTX_MAX_BLOCK_TIME. */ + xTimeToWait %= comTX_MAX_BLOCK_TIME; + + /* Ensure the time to wait is not less than comTX_MIN_BLOCK_TIME. */ + if (xTimeToWait < comTX_MIN_BLOCK_TIME) { + xTimeToWait = comTX_MIN_BLOCK_TIME; + } + + /* Reset the timer to run again xTimeToWait ticks from now. This function + is called from the context of the timer task, so the block time must not + be anything other than zero. */ + xTimerChangePeriod(xTxTimer, xTimeToWait, comtstDONT_BLOCK); +} +/*-----------------------------------------------------------*/ + +static void vComRxTask(void *pvParameters) +{ + BaseType_t xState = comtstWAITING_START_OF_STRING, + xErrorOccurred = pdFALSE; + char *pcExpectedByte, cRxedChar; + const xComPortHandle xPort = NULL; + + /* The parameter is not used in this example. */ + (void)pvParameters; + + /* Start the Tx timer. This only needs to be started once, as it will + reset itself thereafter. */ + xTimerStart(xTxTimer, portMAX_DELAY); + + /* The first expected Rx character is the first in the string that is + transmitted. */ + pcExpectedByte = comTRANSACTED_STRING; + + for (;;) { + /* Wait for the next character. */ + if (xSerialGetChar(xPort, &cRxedChar, + (comTX_MAX_BLOCK_TIME * 2)) == pdFALSE) { + /* A character definitely should have been received by now. As a + character was not received an error must have occurred (which might + just be that the loopback connector is not fitted). */ + xErrorOccurred = pdTRUE; + } + + switch (xState) { + case comtstWAITING_START_OF_STRING: + if (cRxedChar == *pcExpectedByte) { + /* The received character was the first character of the + string. Move to the next state to check each character + as it comes in until the entire string has been received. */ + xState = comtstWAITING_END_OF_STRING; + pcExpectedByte++; + + /* Block for a short period. This just allows the Rx queue + to contain more than one character, and therefore prevent + thrashing reads to the queue, and repetitive context + switches as each character is received. */ + vTaskDelay(comSHORT_DELAY); + } + break; + + case comtstWAITING_END_OF_STRING: + if (cRxedChar == *pcExpectedByte) { + /* The received character was the expected character. Was + it the last character in the string - i.e. the null + terminator? */ + if (cRxedChar == 0x00) { + /* The entire string has been received. If no errors + have been latched, then increment the loop counter to + show this task is still healthy. */ + if (xErrorOccurred == pdFALSE) { + uxRxLoops++; + + /* Toggle an LED to give a visible sign that a + complete string has been received. */ + vParTestToggleLED( + uxBaseLED + + comRX_LED_OFFSET); + } + + /* Go back to wait for the start of the next string. */ + pcExpectedByte = comTRANSACTED_STRING; + xState = comtstWAITING_START_OF_STRING; + } else { + /* Wait for the next character in the string. */ + pcExpectedByte++; + } + } else { + /* The character received was not that expected. */ + xErrorOccurred = pdTRUE; + } + break; + + default: + /* Should not get here. Stop the Rx loop counter from + incrementing to latch the error. */ + xErrorOccurred = pdTRUE; + break; + } + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreComTestTasksStillRunning(void) +{ + BaseType_t xReturn; + + /* If the count of successful reception loops has not changed than at + some time an error occurred (i.e. a character was received out of sequence) + and false is returned. */ + if (uxRxLoops == 0UL) { + xReturn = pdFALSE; + } else { + xReturn = pdTRUE; + } + + /* Reset the count of successful Rx loops. When this function is called + again it should have been incremented again. */ + uxRxLoops = 0UL; + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/countsem.c b/freertos/cvitek/task/demo/Common/Minimal/countsem.c new file mode 100644 index 000000000..1f24fc26b --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/countsem.c @@ -0,0 +1,283 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Simple demonstration of the usage of counting semaphore. + */ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo program include files. */ +#include "countsem.h" + +/* The maximum count value that the semaphore used for the demo can hold. */ +#define countMAX_COUNT_VALUE (200) + +/* Constants used to indicate whether or not the semaphore should have been +created with its maximum count value, or its minimum count value. These +numbers are used to ensure that the pointers passed in as the task parameters +are valid. */ +#define countSTART_AT_MAX_COUNT (0xaa) +#define countSTART_AT_ZERO (0x55) + +/* Two tasks are created for the test. One uses a semaphore created with its +count value set to the maximum, and one with the count value set to zero. */ +#define countNUM_TEST_TASKS (2) +#define countDONT_BLOCK (0) + +/*-----------------------------------------------------------*/ + +/* Flag that will be latched to pdTRUE should any unexpected behaviour be +detected in any of the tasks. */ +static volatile BaseType_t xErrorDetected = pdFALSE; + +/*-----------------------------------------------------------*/ + +/* + * The demo task. This simply counts the semaphore up to its maximum value, + * the counts it back down again. The result of each semaphore 'give' and + * 'take' is inspected, with an error being flagged if it is found not to be + * the expected result. + */ +static void prvCountingSemaphoreTask(void *pvParameters); + +/* + * Utility function to increment the semaphore count value up from zero to + * countMAX_COUNT_VALUE. + */ +static void prvIncrementSemaphoreCount(SemaphoreHandle_t xSemaphore, + volatile UBaseType_t *puxLoopCounter); + +/* + * Utility function to decrement the semaphore count value up from + * countMAX_COUNT_VALUE to zero. + */ +static void prvDecrementSemaphoreCount(SemaphoreHandle_t xSemaphore, + volatile UBaseType_t *puxLoopCounter); + +/*-----------------------------------------------------------*/ + +/* The structure that is passed into the task as the task parameter. */ +typedef struct COUNT_SEM_STRUCT { + /* The semaphore to be used for the demo. */ + SemaphoreHandle_t xSemaphore; + + /* Set to countSTART_AT_MAX_COUNT if the semaphore should be created with + its count value set to its max count value, or countSTART_AT_ZERO if it + should have been created with its count value set to 0. */ + UBaseType_t uxExpectedStartCount; + + /* Incremented on each cycle of the demo task. Used to detect a stalled + task. */ + volatile UBaseType_t uxLoopCounter; +} xCountSemStruct; + +/* Two structures are defined, one is passed to each test task. */ +static xCountSemStruct xParameters[countNUM_TEST_TASKS]; + +/*-----------------------------------------------------------*/ + +void vStartCountingSemaphoreTasks(void) +{ + /* Create the semaphores that we are going to use for the test/demo. The + first should be created such that it starts at its maximum count value, + the second should be created such that it starts with a count value of zero. */ + xParameters[0].xSemaphore = xSemaphoreCreateCounting( + countMAX_COUNT_VALUE, countMAX_COUNT_VALUE); + xParameters[0].uxExpectedStartCount = countSTART_AT_MAX_COUNT; + xParameters[0].uxLoopCounter = 0; + + xParameters[1].xSemaphore = + xSemaphoreCreateCounting(countMAX_COUNT_VALUE, 0); + xParameters[1].uxExpectedStartCount = 0; + xParameters[1].uxLoopCounter = 0; + + /* Were the semaphores created? */ + if ((xParameters[0].xSemaphore != NULL) || + (xParameters[1].xSemaphore != NULL)) { + /* vQueueAddToRegistry() adds the semaphore to the registry, if one is + in use. The registry is provided as a means for kernel aware + debuggers to locate semaphores and has no purpose if a kernel aware + debugger is not being used. The call to vQueueAddToRegistry() will be + removed by the pre-processor if configQUEUE_REGISTRY_SIZE is not + defined or is defined to be less than 1. */ + vQueueAddToRegistry((QueueHandle_t)xParameters[0].xSemaphore, + "Counting_Sem_1"); + vQueueAddToRegistry((QueueHandle_t)xParameters[1].xSemaphore, + "Counting_Sem_2"); + + /* Create the demo tasks, passing in the semaphore to use as the parameter. */ + xTaskCreate(prvCountingSemaphoreTask, "CNT1", + configMINIMAL_STACK_SIZE, (void *)&(xParameters[0]), + tskIDLE_PRIORITY, NULL); + xTaskCreate(prvCountingSemaphoreTask, "CNT2", + configMINIMAL_STACK_SIZE, (void *)&(xParameters[1]), + tskIDLE_PRIORITY, NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvDecrementSemaphoreCount(SemaphoreHandle_t xSemaphore, + volatile UBaseType_t *puxLoopCounter) +{ + UBaseType_t ux; + + /* If the semaphore count is at its maximum then we should not be able to + 'give' the semaphore. */ + if (xSemaphoreGive(xSemaphore) == pdPASS) { + xErrorDetected = pdTRUE; + } + + /* We should be able to 'take' the semaphore countMAX_COUNT_VALUE times. */ + for (ux = 0; ux < countMAX_COUNT_VALUE; ux++) { + configASSERT(uxSemaphoreGetCount(xSemaphore) == + (countMAX_COUNT_VALUE - ux)); + + if (xSemaphoreTake(xSemaphore, countDONT_BLOCK) != pdPASS) { + /* We expected to be able to take the semaphore. */ + xErrorDetected = pdTRUE; + } + + (*puxLoopCounter)++; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the semaphore count is zero then we should not be able to 'take' + the semaphore. */ + configASSERT(uxSemaphoreGetCount(xSemaphore) == 0); + if (xSemaphoreTake(xSemaphore, countDONT_BLOCK) == pdPASS) { + xErrorDetected = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +static void prvIncrementSemaphoreCount(SemaphoreHandle_t xSemaphore, + volatile UBaseType_t *puxLoopCounter) +{ + UBaseType_t ux; + + /* If the semaphore count is zero then we should not be able to 'take' + the semaphore. */ + if (xSemaphoreTake(xSemaphore, countDONT_BLOCK) == pdPASS) { + xErrorDetected = pdTRUE; + } + + /* We should be able to 'give' the semaphore countMAX_COUNT_VALUE times. */ + for (ux = 0; ux < countMAX_COUNT_VALUE; ux++) { + configASSERT(uxSemaphoreGetCount(xSemaphore) == ux); + + if (xSemaphoreGive(xSemaphore) != pdPASS) { + /* We expected to be able to take the semaphore. */ + xErrorDetected = pdTRUE; + } + + (*puxLoopCounter)++; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the semaphore count is at its maximum then we should not be able to + 'give' the semaphore. */ + if (xSemaphoreGive(xSemaphore) == pdPASS) { + xErrorDetected = pdTRUE; + } +} +/*-----------------------------------------------------------*/ + +static void prvCountingSemaphoreTask(void *pvParameters) +{ + xCountSemStruct *pxParameter; + +#ifdef USE_STDIO + void vPrintDisplayMessage(const char *const *ppcMessageToSend); + + const char *const pcTaskStartMsg = + "Counting semaphore demo started.\r\n"; + + /* Queue a message for printing to say the task has started. */ + vPrintDisplayMessage(&pcTaskStartMsg); +#endif + + /* The semaphore to be used was passed as the parameter. */ + pxParameter = (xCountSemStruct *)pvParameters; + + /* Did we expect to find the semaphore already at its max count value, or + at zero? */ + if (pxParameter->uxExpectedStartCount == countSTART_AT_MAX_COUNT) { + prvDecrementSemaphoreCount(pxParameter->xSemaphore, + &(pxParameter->uxLoopCounter)); + } + + /* Now we expect the semaphore count to be 0, so this time there is an + error if we can take the semaphore. */ + if (xSemaphoreTake(pxParameter->xSemaphore, 0) == pdPASS) { + xErrorDetected = pdTRUE; + } + + for (;;) { + prvIncrementSemaphoreCount(pxParameter->xSemaphore, + &(pxParameter->uxLoopCounter)); + prvDecrementSemaphoreCount(pxParameter->xSemaphore, + &(pxParameter->uxLoopCounter)); + } +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreCountingSemaphoreTasksStillRunning(void) +{ + static UBaseType_t uxLastCount0 = 0, uxLastCount1 = 0; + BaseType_t xReturn = pdPASS; + + /* Return fail if any 'give' or 'take' did not result in the expected + behaviour. */ + if (xErrorDetected != pdFALSE) { + xReturn = pdFAIL; + } + + /* Return fail if either task is not still incrementing its loop counter. */ + if (uxLastCount0 == xParameters[0].uxLoopCounter) { + xReturn = pdFAIL; + } else { + uxLastCount0 = xParameters[0].uxLoopCounter; + } + + if (uxLastCount1 == xParameters[1].uxLoopCounter) { + xReturn = pdFAIL; + } else { + uxLastCount1 = xParameters[1].uxLoopCounter; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/crflash.c b/freertos/cvitek/task/demo/Common/Minimal/crflash.c new file mode 100644 index 000000000..7814bcb2d --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/crflash.c @@ -0,0 +1,202 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This demo application file demonstrates the use of queues to pass data + * between co-routines. + * + * N represents the number of 'fixed delay' co-routines that are created and + * is set during initialisation. + * + * N 'fixed delay' co-routines are created that just block for a fixed + * period then post the number of an LED onto a queue. Each such co-routine + * uses a different block period. A single 'flash' co-routine is also created + * that blocks on the same queue, waiting for the number of the next LED it + * should flash. Upon receiving a number it simply toggle the instructed LED + * then blocks on the queue once more. In this manner each LED from LED 0 to + * LED N-1 is caused to flash at a different rate. + * + * The 'fixed delay' co-routines are created with co-routine priority 0. The + * flash co-routine is created with co-routine priority 1. This means that + * the queue should never contain more than a single item. This is because + * posting to the queue will unblock the 'flash' co-routine, and as this has + * a priority greater than the tasks posting to the queue it is guaranteed to + * have emptied the queue and blocked once again before the queue can contain + * any more date. An error is indicated if an attempt to post data to the + * queue fails - indicating that the queue is already full. + * + */ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "croutine.h" +#include "queue.h" + +/* Demo application includes. */ +#include "partest.h" +#include "crflash.h" + +/* The queue should only need to be of length 1. See the description at the +top of the file. */ +#define crfQUEUE_LENGTH 1 + +#define crfFIXED_DELAY_PRIORITY 0 +#define crfFLASH_PRIORITY 1 + +/* Only one flash co-routine is created so the index is not significant. */ +#define crfFLASH_INDEX 0 + +/* Don't allow more than crfMAX_FLASH_TASKS 'fixed delay' co-routines to be +created. */ +#define crfMAX_FLASH_TASKS 8 + +/* We don't want to block when posting to the queue. */ +#define crfPOSTING_BLOCK_TIME 0 + +/* + * The 'fixed delay' co-routine as described at the top of the file. + */ +static void prvFixedDelayCoRoutine(CoRoutineHandle_t xHandle, + UBaseType_t uxIndex); + +/* + * The 'flash' co-routine as described at the top of the file. + */ +static void prvFlashCoRoutine(CoRoutineHandle_t xHandle, UBaseType_t uxIndex); + +/* The queue used to pass data between the 'fixed delay' co-routines and the +'flash' co-routine. */ +static QueueHandle_t xFlashQueue; + +/* This will be set to pdFALSE if we detect an error. */ +static BaseType_t xCoRoutineFlashStatus = pdPASS; + +/*-----------------------------------------------------------*/ + +/* + * See the header file for details. + */ +void vStartFlashCoRoutines(UBaseType_t uxNumberToCreate) +{ + UBaseType_t uxIndex; + + if (uxNumberToCreate > crfMAX_FLASH_TASKS) { + uxNumberToCreate = crfMAX_FLASH_TASKS; + } + + /* Create the queue used to pass data between the co-routines. */ + xFlashQueue = xQueueCreate(crfQUEUE_LENGTH, sizeof(UBaseType_t)); + + if (xFlashQueue) { + /* Create uxNumberToCreate 'fixed delay' co-routines. */ + for (uxIndex = 0; uxIndex < uxNumberToCreate; uxIndex++) { + xCoRoutineCreate(prvFixedDelayCoRoutine, + crfFIXED_DELAY_PRIORITY, uxIndex); + } + + /* Create the 'flash' co-routine. */ + xCoRoutineCreate(prvFlashCoRoutine, crfFLASH_PRIORITY, + crfFLASH_INDEX); + } +} +/*-----------------------------------------------------------*/ + +static void prvFixedDelayCoRoutine(CoRoutineHandle_t xHandle, + UBaseType_t uxIndex) +{ + /* Even though this is a co-routine the xResult variable does not need to be +static as we do not need it to maintain its state between blocks. */ + BaseType_t xResult; + /* The uxIndex parameter of the co-routine function is used as an index into +the xFlashRates array to obtain the delay period to use. */ + static const TickType_t xFlashRates[crfMAX_FLASH_TASKS] = { + 150 / portTICK_PERIOD_MS, 200 / portTICK_PERIOD_MS, + 250 / portTICK_PERIOD_MS, 300 / portTICK_PERIOD_MS, + 350 / portTICK_PERIOD_MS, 400 / portTICK_PERIOD_MS, + 450 / portTICK_PERIOD_MS, 500 / portTICK_PERIOD_MS + }; + + /* Co-routines MUST start with a call to crSTART. */ + crSTART(xHandle); + + for (;;) { + /* Post our uxIndex value onto the queue. This is used as the LED to + flash. */ + crQUEUE_SEND(xHandle, xFlashQueue, (void *)&uxIndex, + crfPOSTING_BLOCK_TIME, &xResult); + + if (xResult != pdPASS) { + /* For the reasons stated at the top of the file we should always + find that we can post to the queue. If we could not then an error + has occurred. */ + xCoRoutineFlashStatus = pdFAIL; + } + + crDELAY(xHandle, xFlashRates[uxIndex]); + } + + /* Co-routines MUST end with a call to crEND. */ + crEND(); +} +/*-----------------------------------------------------------*/ + +static void prvFlashCoRoutine(CoRoutineHandle_t xHandle, UBaseType_t uxIndex) +{ + /* Even though this is a co-routine the variable do not need to be +static as we do not need it to maintain their state between blocks. */ + BaseType_t xResult; + UBaseType_t uxLEDToFlash; + + /* Co-routines MUST start with a call to crSTART. */ + crSTART(xHandle); + (void)uxIndex; + + for (;;) { + /* Block to wait for the number of the LED to flash. */ + crQUEUE_RECEIVE(xHandle, xFlashQueue, &uxLEDToFlash, + portMAX_DELAY, &xResult); + + if (xResult != pdPASS) { + /* We would not expect to wake unless we received something. */ + xCoRoutineFlashStatus = pdFAIL; + } else { + /* We received the number of an LED to flash - flash it! */ + vParTestToggleLED(uxLEDToFlash); + } + } + + /* Co-routines MUST end with a call to crEND. */ + crEND(); +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreFlashCoRoutinesStillRunning(void) +{ + /* Return pdPASS or pdFAIL depending on whether an error has been detected + or not. */ + return xCoRoutineFlashStatus; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/crhook.c b/freertos/cvitek/task/demo/Common/Minimal/crhook.c new file mode 100644 index 000000000..b38440f1c --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/crhook.c @@ -0,0 +1,224 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This demo file demonstrates how to send data between an ISR and a + * co-routine. A tick hook function is used to periodically pass data between + * the RTOS tick and a set of 'hook' co-routines. + * + * hookNUM_HOOK_CO_ROUTINES co-routines are created. Each co-routine blocks + * to wait for a character to be received on a queue from the tick ISR, checks + * to ensure the character received was that expected, then sends the number + * back to the tick ISR on a different queue. + * + * The tick ISR checks the numbers received back from the 'hook' co-routines + * matches the number previously sent. + * + * If at any time a queue function returns unexpectedly, or an incorrect value + * is received either by the tick hook or a co-routine then an error is + * latched. + * + * This demo relies on each 'hook' co-routine to execute between each + * hookTICK_CALLS_BEFORE_POST tick interrupts. This and the heavy use of + * queues from within an interrupt may result in an error being detected on + * slower targets simply due to timing. + */ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "croutine.h" +#include "queue.h" + +/* Demo application includes. */ +#include "crhook.h" + +/* The number of 'hook' co-routines that are to be created. */ +#define hookNUM_HOOK_CO_ROUTINES (4) + +/* The number of times the tick hook should be called before a character is +posted to the 'hook' co-routines. */ +#define hookTICK_CALLS_BEFORE_POST (500) + +/* There should never be more than one item in any queue at any time. */ +#define hookHOOK_QUEUE_LENGTH (1) + +/* Don't block when initially posting to the queue. */ +#define hookNO_BLOCK_TIME (0) + +/* The priority relative to other co-routines (rather than tasks) that the +'hook' co-routines should take. */ +#define mainHOOK_CR_PRIORITY (1) +/*-----------------------------------------------------------*/ + +/* + * The co-routine function itself. + */ +static void prvHookCoRoutine(CoRoutineHandle_t xHandle, UBaseType_t uxIndex); + +/* + * The tick hook function. This receives a number from each 'hook' co-routine + * then sends a number to each co-routine. An error is flagged if a send or + * receive fails, or an unexpected number is received. + */ +void vApplicationTickHook(void); + +/*-----------------------------------------------------------*/ + +/* Queues used to send data FROM a co-routine TO the tick hook function. +The hook functions received (Rx's) on these queues. One queue per +'hook' co-routine. */ +static QueueHandle_t xHookRxQueues[hookNUM_HOOK_CO_ROUTINES]; + +/* Queues used to send data FROM the tick hook TO a co-routine function. +The hood function transmits (Tx's) on these queues. One queue per +'hook' co-routine. */ +static QueueHandle_t xHookTxQueues[hookNUM_HOOK_CO_ROUTINES]; + +/* Set to true if an error is detected at any time. */ +static BaseType_t xCoRoutineErrorDetected = pdFALSE; + +/*-----------------------------------------------------------*/ + +void vStartHookCoRoutines(void) +{ + UBaseType_t uxIndex, uxValueToPost = 0; + + for (uxIndex = 0; uxIndex < hookNUM_HOOK_CO_ROUTINES; uxIndex++) { + /* Create a queue to transmit to and receive from each 'hook' + co-routine. */ + xHookRxQueues[uxIndex] = xQueueCreate(hookHOOK_QUEUE_LENGTH, + sizeof(UBaseType_t)); + xHookTxQueues[uxIndex] = xQueueCreate(hookHOOK_QUEUE_LENGTH, + sizeof(UBaseType_t)); + + /* To start things off the tick hook function expects the queue it + uses to receive data to contain a value. */ + xQueueSend(xHookRxQueues[uxIndex], &uxValueToPost, + hookNO_BLOCK_TIME); + + /* Create the 'hook' co-routine itself. */ + xCoRoutineCreate(prvHookCoRoutine, mainHOOK_CR_PRIORITY, + uxIndex); + } +} +/*-----------------------------------------------------------*/ + +static UBaseType_t uxCallCounter = 0, uxNumberToPost = 0; +void vApplicationTickHook(void) +{ + UBaseType_t uxReceivedNumber; + BaseType_t xIndex, xCoRoutineWoken; + + /* Is it time to talk to the 'hook' co-routines again? */ + uxCallCounter++; + if (uxCallCounter >= hookTICK_CALLS_BEFORE_POST) { + uxCallCounter = 0; + + for (xIndex = 0; xIndex < hookNUM_HOOK_CO_ROUTINES; xIndex++) { + xCoRoutineWoken = pdFALSE; + if (crQUEUE_RECEIVE_FROM_ISR( + xHookRxQueues[xIndex], &uxReceivedNumber, + &xCoRoutineWoken) != pdPASS) { + /* There is no reason why we would not expect the queue to + contain a value. */ + xCoRoutineErrorDetected = pdTRUE; + } else { + /* Each queue used to receive data from the 'hook' co-routines + should contain the number we last posted to the same co-routine. */ + if (uxReceivedNumber != uxNumberToPost) { + xCoRoutineErrorDetected = pdTRUE; + } + + /* Nothing should be blocked waiting to post to the queue. */ + if (xCoRoutineWoken != pdFALSE) { + xCoRoutineErrorDetected = pdTRUE; + } + } + } + + /* Start the next cycle by posting the next number onto each Tx queue. */ + uxNumberToPost++; + + for (xIndex = 0; xIndex < hookNUM_HOOK_CO_ROUTINES; xIndex++) { + if (crQUEUE_SEND_FROM_ISR(xHookTxQueues[xIndex], + &uxNumberToPost, + pdFALSE) != pdTRUE) { + /* Posting to the queue should have woken the co-routine that + was blocked on the queue. */ + xCoRoutineErrorDetected = pdTRUE; + } + } + } +} +/*-----------------------------------------------------------*/ + +static void prvHookCoRoutine(CoRoutineHandle_t xHandle, UBaseType_t uxIndex) +{ + static UBaseType_t uxReceivedValue[hookNUM_HOOK_CO_ROUTINES]; + BaseType_t xResult; + + /* Each co-routine MUST start with a call to crSTART(); */ + crSTART(xHandle); + + for (;;) { + /* Wait to receive a value from the tick hook. */ + xResult = pdFAIL; + crQUEUE_RECEIVE(xHandle, xHookTxQueues[uxIndex], + &(uxReceivedValue[uxIndex]), portMAX_DELAY, + &xResult); + + /* There is no reason why we should not have received something on + the queue. */ + if (xResult != pdPASS) { + xCoRoutineErrorDetected = pdTRUE; + } + + /* Send the same number back to the idle hook so it can verify it. */ + xResult = pdFAIL; + crQUEUE_SEND(xHandle, xHookRxQueues[uxIndex], + &(uxReceivedValue[uxIndex]), hookNO_BLOCK_TIME, + &xResult); + if (xResult != pdPASS) { + /* There is no reason why we should not have been able to post to + the queue. */ + xCoRoutineErrorDetected = pdTRUE; + } + } + + /* Each co-routine MUST end with a call to crEND(). */ + crEND(); +} +/*-----------------------------------------------------------*/ + +BaseType_t xAreHookCoRoutinesStillRunning(void) +{ + if (xCoRoutineErrorDetected) { + return pdFALSE; + } else { + return pdTRUE; + } +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/death.c b/freertos/cvitek/task/demo/Common/Minimal/death.c new file mode 100644 index 000000000..e94dce817 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/death.c @@ -0,0 +1,190 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/** + * Create a single persistent task which periodically dynamically creates another + * two tasks. The original task is called the creator task, the two tasks it + * creates are called suicidal tasks. + * + * One of the created suicidal tasks kill one other suicidal task before killing + * itself - leaving just the original task remaining. + * + * The creator task must be spawned after all of the other demo application tasks + * as it keeps a check on the number of tasks under the scheduler control. The + * number of tasks it expects to see running should never be greater than the + * number of tasks that were in existence when the creator task was spawned, plus + * one set of four suicidal tasks. If this number is exceeded an error is flagged. + * + * \page DeathC death.c + * \ingroup DemoFiles + * <HR> + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "death.h" + +#define deathSTACK_SIZE (configMINIMAL_STACK_SIZE + 60) + +/* The task originally created which is responsible for periodically dynamically +creating another four tasks. */ +static portTASK_FUNCTION_PROTO(vCreateTasks, pvParameters); + +/* The task function of the dynamically created tasks. */ +static portTASK_FUNCTION_PROTO(vSuicidalTask, pvParameters); + +/* A variable which is incremented every time the dynamic tasks are created. This +is used to check that the task is still running. */ +static volatile uint16_t usCreationCount = 0; + +/* Used to store the number of tasks that were originally running so the creator +task can tell if any of the suicidal tasks have failed to die. +*/ +static volatile UBaseType_t uxTasksRunningAtStart = 0; + +/* When a task deletes itself, it stack and TCB are cleaned up by the Idle task. +Under heavy load the idle task might not get much processing time, so it would +be legitimate for several tasks to remain undeleted for a short period. There +may also be a few other unexpected tasks if, for example, the tasks that test +static allocation are also being used. */ +static const UBaseType_t uxMaxNumberOfExtraTasksRunning = 3; + +/* Used to store a handle to the task that should be killed by a suicidal task, +before it kills itself. */ +TaskHandle_t xCreatedTask; + +/*-----------------------------------------------------------*/ + +void vCreateSuicidalTasks(UBaseType_t uxPriority) +{ + xTaskCreate(vCreateTasks, "CREATOR", deathSTACK_SIZE, (void *)NULL, + uxPriority, NULL); +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vSuicidalTask, pvParameters) +{ + volatile long l1, l2; + TaskHandle_t xTaskToKill; + const TickType_t xDelay = pdMS_TO_TICKS((TickType_t)200); + + /* Test deletion of a task's secure context, if any. */ + portALLOCATE_SECURE_CONTEXT(configMINIMAL_SECURE_STACK_SIZE); + + if (pvParameters != NULL) { + /* This task is periodically created four times. Two created tasks are + passed a handle to the other task so it can kill it before killing itself. + The other task is passed in null. */ + xTaskToKill = *(TaskHandle_t *)pvParameters; + } else { + xTaskToKill = NULL; + } + + for (;;) { + /* Do something random just to use some stack and registers. */ + l1 = 2; + l2 = 89; + l2 *= l1; + vTaskDelay(xDelay); + + if (xTaskToKill != NULL) { + /* Make sure the other task has a go before we delete it. */ + vTaskDelay((TickType_t)0); + + /* Kill the other task that was created by vCreateTasks(). */ + vTaskDelete(xTaskToKill); + + /* Kill ourselves. */ + vTaskDelete(NULL); + } + } +} /*lint !e818 !e550 Function prototype must be as per standard for task functions. */ +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCreateTasks, pvParameters) +{ + const TickType_t xDelay = pdMS_TO_TICKS((TickType_t)1000); + UBaseType_t uxPriority; + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + + /* Delay at the start to ensure tasks created by other demos have been + created before storing the current number of tasks. */ + vTaskDelay(xDelay); + uxTasksRunningAtStart = (UBaseType_t)uxTaskGetNumberOfTasks(); + + uxPriority = uxTaskPriorityGet(NULL); + + for (;;) { + /* Just loop round, delaying then creating the four suicidal tasks. */ + vTaskDelay(xDelay); + + xCreatedTask = NULL; + + xTaskCreate(vSuicidalTask, "SUICID1", configMINIMAL_STACK_SIZE, + NULL, uxPriority, &xCreatedTask); + xTaskCreate(vSuicidalTask, "SUICID2", configMINIMAL_STACK_SIZE, + &xCreatedTask, uxPriority, NULL); + + ++usCreationCount; + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that the creator task is still running and that there +are not any more than four extra tasks. */ +BaseType_t xIsCreateTaskStillRunning(void) +{ + static uint16_t usLastCreationCount = 0xfff; + BaseType_t xReturn = pdTRUE; + static UBaseType_t uxTasksRunningNow; + + if (usLastCreationCount == usCreationCount) { + xReturn = pdFALSE; + } else { + usLastCreationCount = usCreationCount; + } + + uxTasksRunningNow = (UBaseType_t)uxTaskGetNumberOfTasks(); + + if (uxTasksRunningNow < uxTasksRunningAtStart) { + xReturn = pdFALSE; + } else if ((uxTasksRunningNow - uxTasksRunningAtStart) > + uxMaxNumberOfExtraTasksRunning) { + xReturn = pdFALSE; + } else { + /* Everything is okay. */ + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/dynamic.c b/freertos/cvitek/task/demo/Common/Minimal/dynamic.c new file mode 100644 index 000000000..d52fc5c41 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/dynamic.c @@ -0,0 +1,484 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * The first test creates three tasks - two counter tasks (one continuous count + * and one limited count) and one controller. A "count" variable is shared + * between all three tasks. The two counter tasks should never be in a "ready" + * state at the same time. The controller task runs at the same priority as + * the continuous count task, and at a lower priority than the limited count + * task. + * + * One counter task loops indefinitely, incrementing the shared count variable + * on each iteration. To ensure it has exclusive access to the variable it + * raises its priority above that of the controller task before each + * increment, lowering it again to its original priority before starting the + * next iteration. + * + * The other counter task increments the shared count variable on each + * iteration of its loop until the count has reached a limit of 0xff - at + * which point it suspends itself. It will not start a new loop until the + * controller task has made it "ready" again by calling vTaskResume(). + * This second counter task operates at a higher priority than controller + * task so does not need to worry about mutual exclusion of the counter + * variable. + * + * The controller task is in two sections. The first section controls and + * monitors the continuous count task. When this section is operational the + * limited count task is suspended. Likewise, the second section controls + * and monitors the limited count task. When this section is operational the + * continuous count task is suspended. + * + * In the first section the controller task first takes a copy of the shared + * count variable. To ensure mutual exclusion on the count variable it + * suspends the continuous count task, resuming it again when the copy has been + * taken. The controller task then sleeps for a fixed period - during which + * the continuous count task will execute and increment the shared variable. + * When the controller task wakes it checks that the continuous count task + * has executed by comparing the copy of the shared variable with its current + * value. This time, to ensure mutual exclusion, the scheduler itself is + * suspended with a call to vTaskSuspendAll (). This is for demonstration + * purposes only and is not a recommended technique due to its inefficiency. + * + * After a fixed number of iterations the controller task suspends the + * continuous count task, and moves on to its second section. + * + * At the start of the second section the shared variable is cleared to zero. + * The limited count task is then woken from its suspension by a call to + * vTaskResume (). As this counter task operates at a higher priority than + * the controller task the controller task should not run again until the + * shared variable has been counted up to the limited value causing the counter + * task to suspend itself. The next line after vTaskResume () is therefore + * a check on the shared variable to ensure everything is as expected. + * + * + * The second test consists of a couple of very simple tasks that post onto a + * queue while the scheduler is suspended. This test was added to test parts + * of the scheduler not exercised by the first test. + * + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo app include files. */ +#include "dynamic.h" + +/* Function that implements the "limited count" task as described above. */ +static portTASK_FUNCTION_PROTO(vLimitedIncrementTask, pvParameters); + +/* Function that implements the "continuous count" task as described above. */ +static portTASK_FUNCTION_PROTO(vContinuousIncrementTask, pvParameters); + +/* Function that implements the controller task as described above. */ +static portTASK_FUNCTION_PROTO(vCounterControlTask, pvParameters); + +static portTASK_FUNCTION_PROTO(vQueueReceiveWhenSuspendedTask, pvParameters); +static portTASK_FUNCTION_PROTO(vQueueSendWhenSuspendedTask, pvParameters); + +/* Demo task specific constants. */ +#ifndef priSUSPENDED_RX_TASK_STACK_SIZE +#define priSUSPENDED_RX_TASK_STACK_SIZE (configMINIMAL_STACK_SIZE) +#endif +#define priSTACK_SIZE (configMINIMAL_STACK_SIZE) +#define priSLEEP_TIME pdMS_TO_TICKS(128) +#define priLOOPS (5) +#define priMAX_COUNT ((uint32_t)0xff) +#define priNO_BLOCK ((TickType_t)0) +#define priSUSPENDED_QUEUE_LENGTH (1) + +/*-----------------------------------------------------------*/ + +/* Handles to the two counter tasks. These could be passed in as parameters +to the controller task to prevent them having to be file scope. */ +static TaskHandle_t xContinuousIncrementHandle, xLimitedIncrementHandle; + +/* The shared counter variable. This is passed in as a parameter to the two +counter variables for demonstration purposes. */ +static uint32_t ulCounter; + +/* Variables used to check that the tasks are still operating without error. +Each complete iteration of the controller task increments this variable +provided no errors have been found. The variable maintaining the same value +is therefore indication of an error. */ +static volatile uint16_t usCheckVariable = (uint16_t)0; +static volatile BaseType_t xSuspendedQueueSendError = pdFALSE; +static volatile BaseType_t xSuspendedQueueReceiveError = pdFALSE; + +/* Queue used by the second test. */ +QueueHandle_t xSuspendedTestQueue; + +/* The value the queue receive task expects to receive next. This is file +scope so xAreDynamicPriorityTasksStillRunning() can ensure it is still +incrementing. */ +static uint32_t ulExpectedValue = (uint32_t)0; + +/*-----------------------------------------------------------*/ +/* + * Start the three tasks as described at the top of the file. + * Note that the limited count task is given a higher priority. + */ +void vStartDynamicPriorityTasks(void) +{ + xSuspendedTestQueue = + xQueueCreate(priSUSPENDED_QUEUE_LENGTH, sizeof(uint32_t)); + + if (xSuspendedTestQueue != NULL) { + /* vQueueAddToRegistry() adds the queue to the queue registry, if one is + in use. The queue registry is provided as a means for kernel aware + debuggers to locate queues and has no purpose if a kernel aware debugger + is not being used. The call to vQueueAddToRegistry() will be removed + by the pre-processor if configQUEUE_REGISTRY_SIZE is not defined or is + defined to be less than 1. */ + vQueueAddToRegistry(xSuspendedTestQueue, + "Suspended_Test_Queue"); + + xTaskCreate(vContinuousIncrementTask, "CNT_INC", priSTACK_SIZE, + (void *)&ulCounter, tskIDLE_PRIORITY, + &xContinuousIncrementHandle); + xTaskCreate(vLimitedIncrementTask, "LIM_INC", priSTACK_SIZE, + (void *)&ulCounter, tskIDLE_PRIORITY + 1, + &xLimitedIncrementHandle); + xTaskCreate(vCounterControlTask, "C_CTRL", + priSUSPENDED_RX_TASK_STACK_SIZE, NULL, + tskIDLE_PRIORITY, NULL); + xTaskCreate(vQueueSendWhenSuspendedTask, "SUSP_TX", + priSTACK_SIZE, NULL, tskIDLE_PRIORITY, NULL); + xTaskCreate(vQueueReceiveWhenSuspendedTask, "SUSP_RX", + priSUSPENDED_RX_TASK_STACK_SIZE, NULL, + tskIDLE_PRIORITY, NULL); + } +} +/*-----------------------------------------------------------*/ + +/* + * Just loops around incrementing the shared variable until the limit has been + * reached. Once the limit has been reached it suspends itself. + */ +static portTASK_FUNCTION(vLimitedIncrementTask, pvParameters) +{ + volatile uint32_t *pulCounter; + + /* Take a pointer to the shared variable from the parameters passed into + the task. */ + pulCounter = (volatile uint32_t *)pvParameters; + + /* This will run before the control task, so the first thing it does is + suspend - the control task will resume it when ready. */ + vTaskSuspend(NULL); + + for (;;) { + /* Just count up to a value then suspend. */ + (*pulCounter)++; + + if (*pulCounter >= priMAX_COUNT) { + vTaskSuspend(NULL); + } + } +} +/*-----------------------------------------------------------*/ + +/* + * Just keep counting the shared variable up. The control task will suspend + * this task when it wants. + */ +static portTASK_FUNCTION(vContinuousIncrementTask, pvParameters) +{ + volatile uint32_t *pulCounter; + UBaseType_t uxOurPriority; + + /* Take a pointer to the shared variable from the parameters passed into + the task. */ + pulCounter = (volatile uint32_t *)pvParameters; + + /* Query our priority so we can raise it when exclusive access to the + shared variable is required. */ + uxOurPriority = uxTaskPriorityGet(NULL); + + for (;;) { + /* Raise the priority above the controller task to ensure a context + switch does not occur while the variable is being accessed. */ + vTaskPrioritySet(NULL, uxOurPriority + 1); + { + configASSERT((uxTaskPriorityGet(NULL) == + (uxOurPriority + 1))); + (*pulCounter)++; + } + vTaskPrioritySet(NULL, uxOurPriority); + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + + configASSERT((uxTaskPriorityGet(NULL) == uxOurPriority)); + } +} +/*-----------------------------------------------------------*/ + +/* + * Controller task as described above. + */ +static portTASK_FUNCTION(vCounterControlTask, pvParameters) +{ + uint32_t ulLastCounter; + short sLoops; + short sError = pdFALSE; + + /* Just to stop warning messages. */ + (void)pvParameters; + + for (;;) { + /* Start with the counter at zero. */ + ulCounter = (uint32_t)0; + + /* First section : */ + + /* Check the continuous count task is running. */ + for (sLoops = 0; sLoops < priLOOPS; sLoops++) { + /* Suspend the continuous count task so we can take a mirror of the + shared variable without risk of corruption. This is not really + needed as the other task raises its priority above this task's + priority. */ + vTaskSuspend(xContinuousIncrementHandle); + { +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT( + eTaskGetState( + xContinuousIncrementHandle) == + eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + ulLastCounter = ulCounter; + } + vTaskResume(xContinuousIncrementHandle); + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT( + eTaskGetState( + xContinuousIncrementHandle) == + eReady); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Now delay to ensure the other task has processor time. */ + vTaskDelay(priSLEEP_TIME); + + /* Check the shared variable again. This time to ensure mutual + exclusion the whole scheduler will be locked. This is just for + demo purposes! */ + vTaskSuspendAll(); + { + if (ulLastCounter == ulCounter) { + /* The shared variable has not changed. There is a problem + with the continuous count task so flag an error. */ + sError = pdTRUE; + } + } + xTaskResumeAll(); + } + + /* Second section: */ + + /* Suspend the continuous counter task so it stops accessing the shared + variable. */ + vTaskSuspend(xContinuousIncrementHandle); + + /* Reset the variable. */ + ulCounter = (uint32_t)0; + +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xLimitedIncrementHandle) == + eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Resume the limited count task which has a higher priority than us. + We should therefore not return from this call until the limited count + task has suspended itself with a known value in the counter variable. */ + vTaskResume(xLimitedIncrementHandle); + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + +/* This task should not run again until xLimitedIncrementHandle has + suspended itself. */ +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT(eTaskGetState(xLimitedIncrementHandle) == + eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Does the counter variable have the expected value? */ + if (ulCounter != priMAX_COUNT) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* If no errors have occurred then increment the check variable. */ + portENTER_CRITICAL(); + usCheckVariable++; + portEXIT_CRITICAL(); + } + + /* Resume the continuous count task and do it all again. */ + vTaskResume(xContinuousIncrementHandle); + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vQueueSendWhenSuspendedTask, pvParameters) +{ + static uint32_t ulValueToSend = (uint32_t)0; + + /* Just to stop warning messages. */ + (void)pvParameters; + + for (;;) { + vTaskSuspendAll(); + { + /* We must not block while the scheduler is suspended! */ + if (xQueueSend(xSuspendedTestQueue, + (void *)&ulValueToSend, + priNO_BLOCK) != pdTRUE) { + xSuspendedQueueSendError = pdTRUE; + } + } + xTaskResumeAll(); + + vTaskDelay(priSLEEP_TIME); + + ++ulValueToSend; + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vQueueReceiveWhenSuspendedTask, pvParameters) +{ + uint32_t ulReceivedValue; + BaseType_t xGotValue; + + /* Just to stop warning messages. */ + (void)pvParameters; + + for (;;) { + do { + /* Suspending the scheduler here is fairly pointless and + undesirable for a normal application. It is done here purely + to test the scheduler. The inner xTaskResumeAll() should + never return pdTRUE as the scheduler is still locked by the + outer call. */ + vTaskSuspendAll(); + { + vTaskSuspendAll(); + { + xGotValue = xQueueReceive( + xSuspendedTestQueue, + (void *)&ulReceivedValue, + priNO_BLOCK); + } + if (xTaskResumeAll() != pdFALSE) { + xSuspendedQueueReceiveError = pdTRUE; + } + } + xTaskResumeAll(); + +#if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } +#endif + + } while (xGotValue == pdFALSE); + + if (ulReceivedValue != ulExpectedValue) { + xSuspendedQueueReceiveError = pdTRUE; + } + + if (xSuspendedQueueReceiveError != pdTRUE) { + /* Only increment the variable if an error has not occurred. This + allows xAreDynamicPriorityTasksStillRunning() to check for stalled + tasks as well as explicit errors. */ + ++ulExpectedValue; + } + } +} +/*-----------------------------------------------------------*/ + +/* Called to check that all the created tasks are still running without error. */ +BaseType_t xAreDynamicPriorityTasksStillRunning(void) +{ + /* Keep a history of the check variables so we know if it has been incremented +since the last call. */ + static uint16_t usLastTaskCheck = (uint16_t)0; + static uint32_t ulLastExpectedValue = (uint32_t)0U; + BaseType_t xReturn = pdTRUE; + + /* Check the tasks are still running by ensuring the check variable + is still incrementing. */ + + if (usCheckVariable == usLastTaskCheck) { + /* The check has not incremented so an error exists. */ + xReturn = pdFALSE; + } + + if (ulExpectedValue == ulLastExpectedValue) { + /* The value being received by the queue receive task has not + incremented so an error exists. */ + xReturn = pdFALSE; + } + + if (xSuspendedQueueSendError == pdTRUE) { + xReturn = pdFALSE; + } + + if (xSuspendedQueueReceiveError == pdTRUE) { + xReturn = pdFALSE; + } + + usLastTaskCheck = usCheckVariable; + ulLastExpectedValue = ulExpectedValue; + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/flash.c b/freertos/cvitek/task/demo/Common/Minimal/flash.c new file mode 100644 index 000000000..36856df92 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/flash.c @@ -0,0 +1,117 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/** + * This version of flash .c is for use on systems that have limited stack space + * and no display facilities. The complete version can be found in the + * Demo/Common/Full directory. + * + * Three tasks are created, each of which flash an LED at a different rate. The first + * LED flashes every 200ms, the second every 400ms, the third every 600ms. + * + * The LED flash tasks provide instant visual feedback. They show that the scheduler + * is still operational. + * + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "partest.h" +#include "flash.h" + +#define ledSTACK_SIZE configMINIMAL_STACK_SIZE +#define ledNUMBER_OF_LEDS (3) +#define ledFLASH_RATE_BASE ((TickType_t)333) + +/* Variable used by the created tasks to calculate the LED number to use, and +the rate at which they should flash the LED. */ +static volatile UBaseType_t uxFlashTaskNumber = 0; + +/* The task that is created three times. */ +static portTASK_FUNCTION_PROTO(vLEDFlashTask, pvParameters); + +/*-----------------------------------------------------------*/ + +void vStartLEDFlashTasks(UBaseType_t uxPriority) +{ + BaseType_t xLEDTask; + + /* Create the three tasks. */ + for (xLEDTask = 0; xLEDTask < ledNUMBER_OF_LEDS; ++xLEDTask) { + /* Spawn the task. */ + xTaskCreate(vLEDFlashTask, "LEDx", ledSTACK_SIZE, NULL, + uxPriority, (TaskHandle_t *)NULL); + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vLEDFlashTask, pvParameters) +{ + TickType_t xFlashRate, xLastFlashTime; + UBaseType_t uxLED; + + /* The parameters are not used. */ + (void)pvParameters; + + /* Calculate the LED and flash rate. */ + portENTER_CRITICAL(); + { + /* See which of the eight LED's we should use. */ + uxLED = uxFlashTaskNumber; + + /* Update so the next task uses the next LED. */ + uxFlashTaskNumber++; + } + portEXIT_CRITICAL(); + + xFlashRate = + ledFLASH_RATE_BASE + (ledFLASH_RATE_BASE * (TickType_t)uxLED); + xFlashRate /= portTICK_PERIOD_MS; + + /* We will turn the LED on and off again in the delay period, so each + delay is only half the total period. */ + xFlashRate /= (TickType_t)2; + + /* We need to initialise xLastFlashTime prior to the first call to + vTaskDelayUntil(). */ + xLastFlashTime = xTaskGetTickCount(); + + for (;;) { + /* Delay for half the flash period then turn the LED on. */ + vTaskDelayUntil(&xLastFlashTime, xFlashRate); + vParTestToggleLED(uxLED); + + /* Delay for half the flash period then turn the LED off. */ + vTaskDelayUntil(&xLastFlashTime, xFlashRate); + vParTestToggleLED(uxLED); + } +} /*lint !e715 !e818 !e830 Function definition must be standard for task creation. */ diff --git a/freertos/cvitek/task/demo/Common/Minimal/flash_timer.c b/freertos/cvitek/task/demo/Common/Minimal/flash_timer.c new file mode 100644 index 000000000..e9731d70b --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/flash_timer.c @@ -0,0 +1,97 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/** + * Repeatedly toggles one or more LEDs using software timers - one timer per + * LED. + */ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "timers.h" + +/* Demo program include files. */ +#include "partest.h" +#include "flash_timer.h" + +/* The toggle rates are all a multple of ledFLASH_RATE_BASE. */ +#define ledFLASH_RATE_BASE (((TickType_t)333) / portTICK_PERIOD_MS) + +/* A block time of zero simple means "don't block". */ +#define ledDONT_BLOCK ((TickType_t)0) + +/*-----------------------------------------------------------*/ + +/* + * The callback function used by each LED flashing timer. All the timers use + * this function, and the timer ID is used within the function to determine + * which timer has actually expired. + */ +static void prvLEDTimerCallback(TimerHandle_t xTimer); + +/*-----------------------------------------------------------*/ + +void vStartLEDFlashTimers(UBaseType_t uxNumberOfLEDs) +{ + UBaseType_t uxLEDTimer; + TimerHandle_t xTimer; + + /* Create and start the requested number of timers. */ + for (uxLEDTimer = 0; uxLEDTimer < uxNumberOfLEDs; ++uxLEDTimer) { + /* Create the timer. */ + xTimer = xTimerCreate( + "Flasher", /* A text name, purely to help debugging. */ + ledFLASH_RATE_BASE * + (uxLEDTimer + + 1), /* The timer period, which is a multiple of ledFLASH_RATE_BASE. */ + pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */ + (void *)uxLEDTimer, /* The ID is used to identify the timer within the timer callback function, as each timer uses the same callback. */ + prvLEDTimerCallback /* Each timer uses the same callback. */ + ); + + /* If the timer was created successfully, attempt to start it. If the + scheduler has not yet been started then the timer command queue must + be long enough to hold each command sent to it until such time that the + scheduler is started. The timer command queue length is set by + configTIMER_QUEUE_LENGTH in FreeRTOSConfig.h. */ + if (xTimer != NULL) { + xTimerStart(xTimer, ledDONT_BLOCK); + } + } +} +/*-----------------------------------------------------------*/ + +static void prvLEDTimerCallback(TimerHandle_t xTimer) +{ + BaseType_t xTimerID; + + /* The timer ID is used to identify the timer that has actually expired as + each timer uses the same callback. The ID is then also used as the number + of the LED that is to be toggled. */ + xTimerID = (BaseType_t)pvTimerGetTimerID(xTimer); + vParTestToggleLED(xTimerID); +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/flop.c b/freertos/cvitek/task/demo/Common/Minimal/flop.c new file mode 100644 index 000000000..75295c5a5 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/flop.c @@ -0,0 +1,328 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates eight tasks, each of which loops continuously performing a floating + * point calculation. + * + * All the tasks run at the idle priority and never block or yield. This causes + * all eight tasks to time slice with the idle task. Running at the idle + * priority means that these tasks will get pre-empted any time another task is + * ready to run or a time slice occurs. More often than not the pre-emption + * will occur mid calculation, creating a good test of the schedulers context + * switch mechanism - a calculation producing an unexpected result could be a + * symptom of a corruption in the context of a task. + */ + +/* Standard includes. */ +#include <stdlib.h> +#include <math.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "flop.h" + +#ifndef mathSTACK_SIZE +#define mathSTACK_SIZE configMINIMAL_STACK_SIZE +#endif + +#define mathNUMBER_OF_TASKS (4) + +/* Four tasks, each of which performs a different floating point calculation. +Each of the four is created twice. */ +static portTASK_FUNCTION_PROTO(vCompetingMathTask1, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask2, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask3, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask4, pvParameters); + +/* These variables are used to check that all the tasks are still running. If a +task gets a calculation wrong it will stop setting its check variable. */ +static uint16_t usTaskCheck[mathNUMBER_OF_TASKS] = { (uint16_t)0 }; + +/*-----------------------------------------------------------*/ + +void vStartMathTasks(UBaseType_t uxPriority) +{ + xTaskCreate(vCompetingMathTask1, "Math1", mathSTACK_SIZE, + (void *)&(usTaskCheck[0]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask2, "Math2", mathSTACK_SIZE, + (void *)&(usTaskCheck[1]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask3, "Math3", mathSTACK_SIZE, + (void *)&(usTaskCheck[2]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask4, "Math4", mathSTACK_SIZE, + (void *)&(usTaskCheck[3]), uxPriority, NULL); +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask1, pvParameters) +{ + volatile portDOUBLE d1, d2, d3, d4; + volatile uint16_t *pusTaskCheckVariable; + volatile portDOUBLE dAnswer; + short sError = pdFALSE; + + /* Some ports require that tasks that use a hardware floating point unit + tell the kernel that they require a floating point context before any + floating point instructions are executed. */ + portTASK_USES_FLOATING_POINT(); + + d1 = 123.4567; + d2 = 2345.6789; + d3 = -918.222; + + dAnswer = (d1 + d2) * d3; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (volatile uint16_t *)pvParameters; + + /* Keep performing a calculation and checking the result against a constant. */ + for (;;) { + d1 = 123.4567; + d2 = 2345.6789; + d3 = -918.222; + + d4 = (d1 + d2) * d3; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the calculation does not match the expected constant, stop the + increment of the check variable. */ + if (fabs(d4 - dAnswer) > 0.001) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* If the calculation has always been correct then set set the check + variable. The check variable will get set to pdFALSE each time + xAreMathsTaskStillRunning() is executed. */ + (*pusTaskCheckVariable) = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask2, pvParameters) +{ + volatile portDOUBLE d1, d2, d3, d4; + volatile uint16_t *pusTaskCheckVariable; + volatile portDOUBLE dAnswer; + short sError = pdFALSE; + + /* Some ports require that tasks that use a hardware floating point unit + tell the kernel that they require a floating point context before any + floating point instructions are executed. */ + portTASK_USES_FLOATING_POINT(); + + d1 = -389.38; + d2 = 32498.2; + d3 = -2.0001; + + dAnswer = (d1 / d2) * d3; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (volatile uint16_t *)pvParameters; + + /* Keep performing a calculation and checking the result against a constant. */ + for (;;) { + d1 = -389.38; + d2 = 32498.2; + d3 = -2.0001; + + d4 = (d1 / d2) * d3; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the calculation does not match the expected constant, stop the + increment of the check variable. */ + if (fabs(d4 - dAnswer) > 0.001) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* If the calculation has always been correct then set set the check + variable. The check variable will get set to pdFALSE each time + xAreMathsTaskStillRunning() is executed. */ + (*pusTaskCheckVariable) = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask3, pvParameters) +{ + volatile portDOUBLE *pdArray, dTotal1, dTotal2, dDifference; + volatile uint16_t *pusTaskCheckVariable; + const size_t xArraySize = 10; + size_t xPosition; + short sError = pdFALSE; + + /* Some ports require that tasks that use a hardware floating point unit + tell the kernel that they require a floating point context before any + floating point instructions are executed. */ + portTASK_USES_FLOATING_POINT(); + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (volatile uint16_t *)pvParameters; + + pdArray = (portDOUBLE *)pvPortMalloc(xArraySize * sizeof(portDOUBLE)); + + /* Keep filling an array, keeping a running total of the values placed in the + array. Then run through the array adding up all the values. If the two totals + do not match, stop the check variable from incrementing. */ + for (;;) { + dTotal1 = 0.0; + dTotal2 = 0.0; + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + pdArray[xPosition] = (portDOUBLE)xPosition + 5.5; + dTotal1 += (portDOUBLE)xPosition + 5.5; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + dTotal2 += pdArray[xPosition]; + } + + dDifference = dTotal1 - dTotal2; + if (fabs(dDifference) > 0.001) { + sError = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + if (sError == pdFALSE) { + /* If the calculation has always been correct then set set the check + variable. The check variable will get set to pdFALSE each time + xAreMathsTaskStillRunning() is executed. */ + (*pusTaskCheckVariable) = pdTRUE; + } + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask4, pvParameters) +{ + volatile portDOUBLE *pdArray, dTotal1, dTotal2, dDifference; + volatile uint16_t *pusTaskCheckVariable; + const size_t xArraySize = 10; + size_t xPosition; + short sError = pdFALSE; + + /* Some ports require that tasks that use a hardware floating point unit + tell the kernel that they require a floating point context before any + floating point instructions are executed. */ + portTASK_USES_FLOATING_POINT(); + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (volatile uint16_t *)pvParameters; + + pdArray = (portDOUBLE *)pvPortMalloc(xArraySize * sizeof(portDOUBLE)); + + /* Keep filling an array, keeping a running total of the values placed in the + array. Then run through the array adding up all the values. If the two totals + do not match, stop the check variable from incrementing. */ + for (;;) { + dTotal1 = 0.0; + dTotal2 = 0.0; + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + pdArray[xPosition] = (portDOUBLE)xPosition * 12.123; + dTotal1 += (portDOUBLE)xPosition * 12.123; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + dTotal2 += pdArray[xPosition]; + } + + dDifference = dTotal1 - dTotal2; + if (fabs(dDifference) > 0.001) { + sError = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + if (sError == pdFALSE) { + /* If the calculation has always been correct then set set the check + variable. The check variable will get set to pdFALSE each time + xAreMathsTaskStillRunning() is executed. */ + (*pusTaskCheckVariable) = pdTRUE; + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreMathsTaskStillRunning(void) +{ + BaseType_t xReturn = pdPASS, xTask; + + /* Check the maths tasks are still running by ensuring their check variables + have been set to pdPASS. */ + for (xTask = 0; xTask < mathNUMBER_OF_TASKS; xTask++) { + if (usTaskCheck[xTask] != pdTRUE) { + /* The check has not been set so the associated task has either + stalled or detected an error. */ + xReturn = pdFAIL; + } else { + /* Reset the variable so it can be checked again the next time this + function is executed. */ + usTaskCheck[xTask] = pdFALSE; + } + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/integer.c b/freertos/cvitek/task/demo/Common/Minimal/integer.c new file mode 100644 index 000000000..aaa1ec25e --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/integer.c @@ -0,0 +1,161 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates one or more tasks that repeatedly perform a set of integer + * calculations. The result of each run-time calculation is compared to the + * known expected result - with a mismatch being indicative of an error in the + * context switch mechanism. + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "integer.h" + +/* The constants used in the calculation. */ +#define intgCONST1 ((long)123) +#define intgCONST2 ((long)234567) +#define intgCONST3 ((long)-3) +#define intgCONST4 ((long)7) +#define intgEXPECTED_ANSWER \ + (((intgCONST1 + intgCONST2) * intgCONST3) / intgCONST4) + +#define intgSTACK_SIZE configMINIMAL_STACK_SIZE + +/* As this is the minimal version, we will only create one task. */ +#define intgNUMBER_OF_TASKS (1) + +/* The task function. Repeatedly performs a 32 bit calculation, checking the +result against the expected result. If the result is incorrect then the +context switch must have caused some corruption. */ +static portTASK_FUNCTION_PROTO(vCompeteingIntMathTask, pvParameters); + +/* Variables that are set to true within the calculation task to indicate +that the task is still executing. The check task sets the variable back to +false, flagging an error if the variable is still false the next time it +is called. */ +static BaseType_t xTaskCheck[intgNUMBER_OF_TASKS] = { (BaseType_t)pdFALSE }; + +/*-----------------------------------------------------------*/ + +void vStartIntegerMathTasks(UBaseType_t uxPriority) +{ + short sTask; + + for (sTask = 0; sTask < intgNUMBER_OF_TASKS; sTask++) { + xTaskCreate(vCompeteingIntMathTask, "IntMath", intgSTACK_SIZE, + (void *)&(xTaskCheck[sTask]), uxPriority, + (TaskHandle_t *)NULL); + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompeteingIntMathTask, pvParameters) +{ + /* These variables are all effectively set to constants so they are volatile to +ensure the compiler does not just get rid of them. */ + volatile long lValue; + short sError = pdFALSE; + volatile BaseType_t *pxTaskHasExecuted; + + /* Set a pointer to the variable we are going to set to true each + iteration. This is also a good test of the parameter passing mechanism + within each port. */ + pxTaskHasExecuted = (volatile BaseType_t *)pvParameters; + + /* Keep performing a calculation and checking the result against a constant. */ + for (;;) { + /* Perform the calculation. This will store partial value in + registers, resulting in a good test of the context switch mechanism. */ + lValue = intgCONST1; + lValue += intgCONST2; + +/* Yield in case cooperative scheduling is being used. */ +#if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } +#endif + + /* Finish off the calculation. */ + lValue *= intgCONST3; + lValue /= intgCONST4; + + /* If the calculation is found to be incorrect we stop setting the + TaskHasExecuted variable so the check task can see an error has + occurred. */ + if (lValue != + intgEXPECTED_ANSWER) /*lint !e774 volatile used to prevent this being optimised out. */ + { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* We have not encountered any errors, so set the flag that show + we are still executing. This will be periodically cleared by + the check task. */ + portENTER_CRITICAL(); + *pxTaskHasExecuted = pdTRUE; + portEXIT_CRITICAL(); + } + +/* Yield in case cooperative scheduling is being used. */ +#if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } +#endif + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreIntegerMathsTaskStillRunning(void) +{ + BaseType_t xReturn = pdTRUE; + short sTask; + + /* Check the maths tasks are still running by ensuring their check variables + are still being set to true. */ + for (sTask = 0; sTask < intgNUMBER_OF_TASKS; sTask++) { + if (xTaskCheck[sTask] == pdFALSE) { + /* The check has not incremented so an error exists. */ + xReturn = pdFALSE; + } + + /* Reset the check variable so we can tell if it has been set by + the next time around. */ + xTaskCheck[sTask] = pdFALSE; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/readme.txt b/freertos/cvitek/task/demo/Common/Minimal/readme.txt new file mode 100644 index 000000000..48668dcba --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/readme.txt @@ -0,0 +1,2 @@ +This directory contains the implementation of the "common demo tasks". These +are test tasks and demo tasks that are used by nearly all the demo applications. \ No newline at end of file diff --git a/freertos/cvitek/task/demo/Common/Minimal/recmutex.c b/freertos/cvitek/task/demo/Common/Minimal/recmutex.c new file mode 100644 index 000000000..b618efd41 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/recmutex.c @@ -0,0 +1,406 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + The tasks defined on this page demonstrate the use of recursive mutexes. + + For recursive mutex functionality the created mutex should be created using + xSemaphoreCreateRecursiveMutex(), then be manipulated + using the xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() API + functions. + + This demo creates three tasks all of which access the same recursive mutex: + + prvRecursiveMutexControllingTask() has the highest priority so executes + first and grabs the mutex. It then performs some recursive accesses - + between each of which it sleeps for a short period to let the lower + priority tasks execute. When it has completed its demo functionality + it gives the mutex back before suspending itself. + + prvRecursiveMutexBlockingTask() attempts to access the mutex by performing + a blocking 'take'. The blocking task has a lower priority than the + controlling task so by the time it executes the mutex has already been + taken by the controlling task, causing the blocking task to block. It + does not unblock until the controlling task has given the mutex back, + and it does not actually run until the controlling task has suspended + itself (due to the relative priorities). When it eventually does obtain + the mutex all it does is give the mutex back prior to also suspending + itself. At this point both the controlling task and the blocking task are + suspended. + + prvRecursiveMutexPollingTask() runs at the idle priority. It spins round + a tight loop attempting to obtain the mutex with a non-blocking call. As + the lowest priority task it will not successfully obtain the mutex until + both the controlling and blocking tasks are suspended. Once it eventually + does obtain the mutex it first unsuspends both the controlling task and + blocking task prior to giving the mutex back - resulting in the polling + task temporarily inheriting the controlling tasks priority. +*/ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo app include files. */ +#include "recmutex.h" + +/* Priorities assigned to the three tasks. recmuCONTROLLING_TASK_PRIORITY can +be overridden by a definition in FreeRTOSConfig.h. */ +#ifndef recmuCONTROLLING_TASK_PRIORITY +#define recmuCONTROLLING_TASK_PRIORITY (tskIDLE_PRIORITY + 2) +#endif +#define recmuBLOCKING_TASK_PRIORITY (tskIDLE_PRIORITY + 1) +#define recmuPOLLING_TASK_PRIORITY (tskIDLE_PRIORITY + 0) + +/* The recursive call depth. */ +#define recmuMAX_COUNT (10) + +/* Misc. */ +#define recmuSHORT_DELAY (pdMS_TO_TICKS(20)) +#define recmuNO_DELAY ((TickType_t)0) +#define recmu15ms_DELAY (pdMS_TO_TICKS(15)) + +#ifndef recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE +#define recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE configMINIMAL_STACK_SIZE +#endif + +/* The three tasks as described at the top of this file. */ +static void prvRecursiveMutexControllingTask(void *pvParameters); +static void prvRecursiveMutexBlockingTask(void *pvParameters); +static void prvRecursiveMutexPollingTask(void *pvParameters); + +/* The mutex used by the demo. */ +static SemaphoreHandle_t xMutex; + +/* Variables used to detect and latch errors. */ +static volatile BaseType_t xErrorOccurred = pdFALSE, + xControllingIsSuspended = pdFALSE, + xBlockingIsSuspended = pdFALSE; +static volatile UBaseType_t uxControllingCycles = 0, uxBlockingCycles = 0, + uxPollingCycles = 0; + +/* Handles of the two higher priority tasks, required so they can be resumed +(unsuspended). */ +static TaskHandle_t xControllingTaskHandle, xBlockingTaskHandle; + +/*-----------------------------------------------------------*/ + +void vStartRecursiveMutexTasks(void) +{ + /* Just creates the mutex and the three tasks. */ + + xMutex = xSemaphoreCreateRecursiveMutex(); + + if (xMutex != NULL) { + /* vQueueAddToRegistry() adds the mutex to the registry, if one is + in use. The registry is provided as a means for kernel aware + debuggers to locate mutex and has no purpose if a kernel aware debugger + is not being used. The call to vQueueAddToRegistry() will be removed + by the pre-processor if configQUEUE_REGISTRY_SIZE is not defined or is + defined to be less than 1. */ + vQueueAddToRegistry((QueueHandle_t)xMutex, "Recursive_Mutex"); + + xTaskCreate(prvRecursiveMutexControllingTask, "Rec1", + recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE, NULL, + recmuCONTROLLING_TASK_PRIORITY, + &xControllingTaskHandle); + xTaskCreate(prvRecursiveMutexBlockingTask, "Rec2", + recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE, NULL, + recmuBLOCKING_TASK_PRIORITY, &xBlockingTaskHandle); + xTaskCreate(prvRecursiveMutexPollingTask, "Rec3", + recmuRECURSIVE_MUTEX_TEST_TASK_STACK_SIZE, NULL, + recmuPOLLING_TASK_PRIORITY, NULL); + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexControllingTask(void *pvParameters) +{ + UBaseType_t ux; + + /* Just to remove compiler warning. */ + (void)pvParameters; + + for (;;) { + /* Should not be able to 'give' the mutex, as we have not yet 'taken' + it. The first time through, the mutex will not have been used yet, + subsequent times through, at this point the mutex will be held by the + polling task. */ + if (xSemaphoreGiveRecursive(xMutex) == pdPASS) { + xErrorOccurred = pdTRUE; + } + + for (ux = 0; ux < recmuMAX_COUNT; ux++) { + /* We should now be able to take the mutex as many times as + we like. + + The first time through the mutex will be immediately available, on + subsequent times through the mutex will be held by the polling task + at this point and this Take will cause the polling task to inherit + the priority of this task. In this case the block time must be + long enough to ensure the polling task will execute again before the + block time expires. If the block time does expire then the error + flag will be set here. */ + if (xSemaphoreTakeRecursive(xMutex, recmu15ms_DELAY) != + pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Ensure the other task attempting to access the mutex (and the + other demo tasks) are able to execute to ensure they either block + (where a block time is specified) or return an error (where no + block time is specified) as the mutex is held by this task. */ + vTaskDelay(recmuSHORT_DELAY); + } + + /* For each time we took the mutex, give it back. */ + for (ux = 0; ux < recmuMAX_COUNT; ux++) { + /* Ensure the other task attempting to access the mutex (and the + other demo tasks) are able to execute. */ + vTaskDelay(recmuSHORT_DELAY); + + /* We should now be able to give the mutex as many times as we + took it. When the mutex is available again the Blocking task + should be unblocked but not run because it has a lower priority + than this task. The polling task should also not run at this point + as it too has a lower priority than this task. */ + if (xSemaphoreGiveRecursive(xMutex) != pdPASS) { + xErrorOccurred = pdTRUE; + } + +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + } + + /* Having given it back the same number of times as it was taken, we + should no longer be the mutex owner, so the next give should fail. */ + if (xSemaphoreGiveRecursive(xMutex) == pdPASS) { + xErrorOccurred = pdTRUE; + } + + /* Keep count of the number of cycles this task has performed so a + stall can be detected. */ + uxControllingCycles++; + + /* Suspend ourselves so the blocking task can execute. */ + xControllingIsSuspended = pdTRUE; + vTaskSuspend(NULL); + xControllingIsSuspended = pdFALSE; + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexBlockingTask(void *pvParameters) +{ + /* Just to remove compiler warning. */ + (void)pvParameters; + + for (;;) { + /* This task will run while the controlling task is blocked, and the + controlling task will block only once it has the mutex - therefore + this call should block until the controlling task has given up the + mutex, and not actually execute past this call until the controlling + task is suspended. portMAX_DELAY - 1 is used instead of portMAX_DELAY + to ensure the task's state is reported as Blocked and not Suspended in + a later call to configASSERT() (within the polling task). */ + if (xSemaphoreTakeRecursive(xMutex, (portMAX_DELAY - 1)) == + pdPASS) { + if (xControllingIsSuspended != pdTRUE) { + /* Did not expect to execute until the controlling task was + suspended. */ + xErrorOccurred = pdTRUE; + } else { + /* Give the mutex back before suspending ourselves to allow + the polling task to obtain the mutex. */ + if (xSemaphoreGiveRecursive(xMutex) != pdPASS) { + xErrorOccurred = pdTRUE; + } + + xBlockingIsSuspended = pdTRUE; + vTaskSuspend(NULL); + xBlockingIsSuspended = pdFALSE; + } + } else { + /* We should not leave the xSemaphoreTakeRecursive() function + until the mutex was obtained. */ + xErrorOccurred = pdTRUE; + } + + /* The controlling and blocking tasks should be in lock step. */ + if (uxControllingCycles != + (UBaseType_t)(uxBlockingCycles + 1)) { + xErrorOccurred = pdTRUE; + } + + /* Keep count of the number of cycles this task has performed so a + stall can be detected. */ + uxBlockingCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexPollingTask(void *pvParameters) +{ + /* Just to remove compiler warning. */ + (void)pvParameters; + + for (;;) { + /* Keep attempting to obtain the mutex. It should only be obtained when + the blocking task has suspended itself, which in turn should only + happen when the controlling task is also suspended. */ + if (xSemaphoreTakeRecursive(xMutex, recmuNO_DELAY) == pdPASS) { +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT( + eTaskGetState(xControllingTaskHandle) == + eSuspended); + configASSERT( + eTaskGetState(xBlockingTaskHandle) == + eSuspended); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Is the blocking task suspended? */ + if ((xBlockingIsSuspended != pdTRUE) || + (xControllingIsSuspended != pdTRUE)) { + xErrorOccurred = pdTRUE; + } else { + /* Keep count of the number of cycles this task has performed + so a stall can be detected. */ + uxPollingCycles++; + + /* We can resume the other tasks here even though they have a + higher priority than the polling task. When they execute they + will attempt to obtain the mutex but fail because the polling + task is still the mutex holder. The polling task (this task) + will then inherit the higher priority. The Blocking task will + block indefinitely when it attempts to obtain the mutex, the + Controlling task will only block for a fixed period and an + error will be latched if the polling task has not returned the + mutex by the time this fixed period has expired. */ + vTaskResume(xBlockingTaskHandle); +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + + vTaskResume(xControllingTaskHandle); +#if (configUSE_PREEMPTION == 0) + taskYIELD(); +#endif + + /* The other two tasks should now have executed and no longer + be suspended. */ + if ((xBlockingIsSuspended == pdTRUE) || + (xControllingIsSuspended == pdTRUE)) { + xErrorOccurred = pdTRUE; + } + +#if (INCLUDE_uxTaskPriorityGet == 1) + { + /* Check priority inherited. */ + configASSERT( + uxTaskPriorityGet(NULL) == + recmuCONTROLLING_TASK_PRIORITY); + } +#endif /* INCLUDE_uxTaskPriorityGet */ + +#if (INCLUDE_eTaskGetState == 1) + { + configASSERT( + eTaskGetState( + xControllingTaskHandle) == + eBlocked); + configASSERT( + eTaskGetState( + xBlockingTaskHandle) == + eBlocked); + } +#endif /* INCLUDE_eTaskGetState */ + + /* Release the mutex, disinheriting the higher priority again. */ + if (xSemaphoreGiveRecursive(xMutex) != pdPASS) { + xErrorOccurred = pdTRUE; + } + +#if (INCLUDE_uxTaskPriorityGet == 1) + { + /* Check priority disinherited. */ + configASSERT( + uxTaskPriorityGet(NULL) == + recmuPOLLING_TASK_PRIORITY); + } +#endif /* INCLUDE_uxTaskPriorityGet */ + } + } + +#if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } +#endif + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreRecursiveMutexTasksStillRunning(void) +{ + BaseType_t xReturn; + static UBaseType_t uxLastControllingCycles = 0, + uxLastBlockingCycles = 0, uxLastPollingCycles = 0; + + /* Is the controlling task still cycling? */ + if (uxLastControllingCycles == uxControllingCycles) { + xErrorOccurred = pdTRUE; + } else { + uxLastControllingCycles = uxControllingCycles; + } + + /* Is the blocking task still cycling? */ + if (uxLastBlockingCycles == uxBlockingCycles) { + xErrorOccurred = pdTRUE; + } else { + uxLastBlockingCycles = uxBlockingCycles; + } + + /* Is the polling task still cycling? */ + if (uxLastPollingCycles == uxPollingCycles) { + xErrorOccurred = pdTRUE; + } else { + uxLastPollingCycles = uxPollingCycles; + } + + if (xErrorOccurred == pdTRUE) { + xReturn = pdFAIL; + } else { + xReturn = pdPASS; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/semtest.c b/freertos/cvitek/task/demo/Common/Minimal/semtest.c new file mode 100644 index 000000000..87aa8e20a --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/semtest.c @@ -0,0 +1,277 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates two sets of two tasks. The tasks within a set share a variable, access + * to which is guarded by a semaphore. + * + * Each task starts by attempting to obtain the semaphore. On obtaining a + * semaphore a task checks to ensure that the guarded variable has an expected + * value. It then clears the variable to zero before counting it back up to the + * expected value in increments of 1. After each increment the variable is checked + * to ensure it contains the value to which it was just set. When the starting + * value is again reached the task releases the semaphore giving the other task in + * the set a chance to do exactly the same thing. The starting value is high + * enough to ensure that a tick is likely to occur during the incrementing loop. + * + * An error is flagged if at any time during the process a shared variable is + * found to have a value other than that expected. Such an occurrence would + * suggest an error in the mutual exclusion mechanism by which access to the + * variable is restricted. + * + * The first set of two tasks poll their semaphore. The second set use blocking + * calls. + * + */ + +#include <stdlib.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo app include files. */ +#include "semtest.h" + +/* The value to which the shared variables are counted. */ +#define semtstBLOCKING_EXPECTED_VALUE ((uint32_t)0xfff) +#define semtstNON_BLOCKING_EXPECTED_VALUE ((uint32_t)0xff) + +#define semtstSTACK_SIZE configMINIMAL_STACK_SIZE + +#define semtstNUM_TASKS (4) + +#define semtstDELAY_FACTOR ((TickType_t)10) + +/* The task function as described at the top of the file. */ +static portTASK_FUNCTION_PROTO(prvSemaphoreTest, pvParameters); + +/* Structure used to pass parameters to each task. */ +typedef struct SEMAPHORE_PARAMETERS { + SemaphoreHandle_t xSemaphore; + volatile uint32_t *pulSharedVariable; + TickType_t xBlockTime; +} xSemaphoreParameters; + +/* Variables used to check that all the tasks are still running without errors. */ +static volatile short sCheckVariables[semtstNUM_TASKS] = { 0 }; +static volatile short sNextCheckVariable = 0; + +/*-----------------------------------------------------------*/ + +void vStartSemaphoreTasks(UBaseType_t uxPriority) +{ + xSemaphoreParameters *pxFirstSemaphoreParameters, + *pxSecondSemaphoreParameters; + const TickType_t xBlockTime = (TickType_t)100; + + /* Create the structure used to pass parameters to the first two tasks. */ + pxFirstSemaphoreParameters = (xSemaphoreParameters *)pvPortMalloc( + sizeof(xSemaphoreParameters)); + + if (pxFirstSemaphoreParameters != NULL) { + /* Create the semaphore used by the first two tasks. */ + pxFirstSemaphoreParameters->xSemaphore = + xSemaphoreCreateBinary(); + + if (pxFirstSemaphoreParameters->xSemaphore != NULL) { + xSemaphoreGive(pxFirstSemaphoreParameters->xSemaphore); + + /* Create the variable which is to be shared by the first two tasks. */ + pxFirstSemaphoreParameters->pulSharedVariable = + (uint32_t *)pvPortMalloc(sizeof(uint32_t)); + + /* Initialise the share variable to the value the tasks expect. */ + *(pxFirstSemaphoreParameters->pulSharedVariable) = + semtstNON_BLOCKING_EXPECTED_VALUE; + + /* The first two tasks do not block on semaphore calls. */ + pxFirstSemaphoreParameters->xBlockTime = (TickType_t)0; + + /* Spawn the first two tasks. As they poll they operate at the idle priority. */ + xTaskCreate(prvSemaphoreTest, "PolSEM1", + semtstSTACK_SIZE, + (void *)pxFirstSemaphoreParameters, + tskIDLE_PRIORITY, (TaskHandle_t *)NULL); + xTaskCreate(prvSemaphoreTest, "PolSEM2", + semtstSTACK_SIZE, + (void *)pxFirstSemaphoreParameters, + tskIDLE_PRIORITY, (TaskHandle_t *)NULL); + + /* vQueueAddToRegistry() adds the semaphore to the registry, if one + is in use. The registry is provided as a means for kernel aware + debuggers to locate semaphores and has no purpose if a kernel aware + debugger is not being used. The call to vQueueAddToRegistry() will + be removed by the pre-processor if configQUEUE_REGISTRY_SIZE is not + defined or is defined to be less than 1. */ + vQueueAddToRegistry( + (QueueHandle_t) + pxFirstSemaphoreParameters->xSemaphore, + "Counting_Sem_1"); + } + } + + /* Do exactly the same to create the second set of tasks, only this time + provide a block time for the semaphore calls. */ + pxSecondSemaphoreParameters = (xSemaphoreParameters *)pvPortMalloc( + sizeof(xSemaphoreParameters)); + if (pxSecondSemaphoreParameters != NULL) { + pxSecondSemaphoreParameters->xSemaphore = + xSemaphoreCreateBinary(); + + if (pxSecondSemaphoreParameters->xSemaphore != NULL) { + xSemaphoreGive(pxSecondSemaphoreParameters->xSemaphore); + + pxSecondSemaphoreParameters->pulSharedVariable = + (uint32_t *)pvPortMalloc(sizeof(uint32_t)); + *(pxSecondSemaphoreParameters->pulSharedVariable) = + semtstBLOCKING_EXPECTED_VALUE; + pxSecondSemaphoreParameters->xBlockTime = + xBlockTime / portTICK_PERIOD_MS; + + xTaskCreate(prvSemaphoreTest, "BlkSEM1", + semtstSTACK_SIZE, + (void *)pxSecondSemaphoreParameters, + uxPriority, (TaskHandle_t *)NULL); + xTaskCreate(prvSemaphoreTest, "BlkSEM2", + semtstSTACK_SIZE, + (void *)pxSecondSemaphoreParameters, + uxPriority, (TaskHandle_t *)NULL); + + /* vQueueAddToRegistry() adds the semaphore to the registry, if one + is in use. The registry is provided as a means for kernel aware + debuggers to locate semaphores and has no purpose if a kernel aware + debugger is not being used. The call to vQueueAddToRegistry() will + be removed by the pre-processor if configQUEUE_REGISTRY_SIZE is not + defined or is defined to be less than 1. */ + vQueueAddToRegistry( + (QueueHandle_t) + pxSecondSemaphoreParameters->xSemaphore, + "Counting_Sem_2"); + } + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(prvSemaphoreTest, pvParameters) +{ + xSemaphoreParameters *pxParameters; + volatile uint32_t *pulSharedVariable, ulExpectedValue; + uint32_t ulCounter; + short sError = pdFALSE, sCheckVariableToUse; + + /* See which check variable to use. sNextCheckVariable is not semaphore + protected! */ + portENTER_CRITICAL(); + sCheckVariableToUse = sNextCheckVariable; + sNextCheckVariable++; + portEXIT_CRITICAL(); + + /* A structure is passed in as the parameter. This contains the shared + variable being guarded. */ + pxParameters = (xSemaphoreParameters *)pvParameters; + pulSharedVariable = pxParameters->pulSharedVariable; + + /* If we are blocking we use a much higher count to ensure loads of context + switches occur during the count. */ + if (pxParameters->xBlockTime > (TickType_t)0) { + ulExpectedValue = semtstBLOCKING_EXPECTED_VALUE; + } else { + ulExpectedValue = semtstNON_BLOCKING_EXPECTED_VALUE; + } + + for (;;) { + /* Try to obtain the semaphore. */ + if (xSemaphoreTake(pxParameters->xSemaphore, + pxParameters->xBlockTime) == pdPASS) { + /* We have the semaphore and so expect any other tasks using the + shared variable to have left it in the state we expect to find + it. */ + if (*pulSharedVariable != ulExpectedValue) { + sError = pdTRUE; + } + + /* Clear the variable, then count it back up to the expected value + before releasing the semaphore. Would expect a context switch or + two during this time. */ + for (ulCounter = (uint32_t)0; + ulCounter <= ulExpectedValue; ulCounter++) { + *pulSharedVariable = ulCounter; + if (*pulSharedVariable != ulCounter) { + sError = pdTRUE; + } + } + + /* Release the semaphore, and if no errors have occurred increment the check + variable. */ + if (xSemaphoreGive(pxParameters->xSemaphore) == + pdFALSE) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + if (sCheckVariableToUse < semtstNUM_TASKS) { + (sCheckVariables[sCheckVariableToUse])++; + } + } + + /* If we have a block time then we are running at a priority higher + than the idle priority. This task takes a long time to complete + a cycle (deliberately so to test the guarding) so will be starving + out lower priority tasks. Block for some time to allow give lower + priority tasks some processor time. */ + vTaskDelay(pxParameters->xBlockTime * + semtstDELAY_FACTOR); + } else { + if (pxParameters->xBlockTime == (TickType_t)0) { + /* We have not got the semaphore yet, so no point using the + processor. We are not blocking when attempting to obtain the + semaphore. */ + taskYIELD(); + } + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreSemaphoreTasksStillRunning(void) +{ + static short sLastCheckVariables[semtstNUM_TASKS] = { 0 }; + BaseType_t xTask, xReturn = pdTRUE; + + for (xTask = 0; xTask < semtstNUM_TASKS; xTask++) { + if (sLastCheckVariables[xTask] == sCheckVariables[xTask]) { + xReturn = pdFALSE; + } + + sLastCheckVariables[xTask] = sCheckVariables[xTask]; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/Minimal/sp_flop.c b/freertos/cvitek/task/demo/Common/Minimal/sp_flop.c new file mode 100644 index 000000000..0c4ce5bb0 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/Minimal/sp_flop.c @@ -0,0 +1,312 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * Creates eight tasks, each of which loops continuously performing a floating + * point calculation - using single precision variables. + * + * All the tasks run at the idle priority and never block or yield. This causes + * all eight tasks to time slice with the idle task. Running at the idle priority + * means that these tasks will get pre-empted any time another task is ready to run + * or a time slice occurs. More often than not the pre-emption will occur mid + * calculation, creating a good test of the schedulers context switch mechanism - a + * calculation producing an unexpected result could be a symptom of a corruption in + * the context of a task. + */ + +#include <stdlib.h> +#include <math.h> + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo program include files. */ +#include "flop.h" + +#define mathSTACK_SIZE configMINIMAL_STACK_SIZE +#define mathNUMBER_OF_TASKS (8) + +/* Four tasks, each of which performs a different floating point calculation. +Each of the four is created twice. */ +static portTASK_FUNCTION_PROTO(vCompetingMathTask1, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask2, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask3, pvParameters); +static portTASK_FUNCTION_PROTO(vCompetingMathTask4, pvParameters); + +/* These variables are used to check that all the tasks are still running. If a +task gets a calculation wrong it will +stop incrementing its check variable. */ +static volatile uint16_t usTaskCheck[mathNUMBER_OF_TASKS] = { (uint16_t)0 }; + +/*-----------------------------------------------------------*/ + +void vStartMathTasks(UBaseType_t uxPriority) +{ + xTaskCreate(vCompetingMathTask1, "Math1", mathSTACK_SIZE, + (void *)&(usTaskCheck[0]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask2, "Math2", mathSTACK_SIZE, + (void *)&(usTaskCheck[1]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask3, "Math3", mathSTACK_SIZE, + (void *)&(usTaskCheck[2]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask4, "Math4", mathSTACK_SIZE, + (void *)&(usTaskCheck[3]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask1, "Math5", mathSTACK_SIZE, + (void *)&(usTaskCheck[4]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask2, "Math6", mathSTACK_SIZE, + (void *)&(usTaskCheck[5]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask3, "Math7", mathSTACK_SIZE, + (void *)&(usTaskCheck[6]), uxPriority, NULL); + xTaskCreate(vCompetingMathTask4, "Math8", mathSTACK_SIZE, + (void *)&(usTaskCheck[7]), uxPriority, NULL); +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask1, pvParameters) +{ + volatile float f1, f2, f3, f4; + volatile uint16_t *pusTaskCheckVariable; + volatile float fAnswer; + short sError = pdFALSE; + + f1 = 123.4567F; + f2 = 2345.6789F; + f3 = -918.222F; + + fAnswer = (f1 + f2) * f3; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (uint16_t *)pvParameters; + + /* Keep performing a calculation and checking the result against a constant. */ + for (;;) { + f1 = 123.4567F; + f2 = 2345.6789F; + f3 = -918.222F; + + f4 = (f1 + f2) * f3; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the calculation does not match the expected constant, stop the + increment of the check variable. */ + if (fabs(f4 - fAnswer) > 0.001F) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* If the calculation has always been correct, increment the check + variable so we know this task is still running okay. */ + (*pusTaskCheckVariable)++; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask2, pvParameters) +{ + volatile float f1, f2, f3, f4; + volatile uint16_t *pusTaskCheckVariable; + volatile float fAnswer; + short sError = pdFALSE; + + f1 = -389.38F; + f2 = 32498.2F; + f3 = -2.0001F; + + fAnswer = (f1 / f2) * f3; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (uint16_t *)pvParameters; + + /* Keep performing a calculation and checking the result against a constant. */ + for (;;) { + f1 = -389.38F; + f2 = 32498.2F; + f3 = -2.0001F; + + f4 = (f1 / f2) * f3; + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + /* If the calculation does not match the expected constant, stop the + increment of the check variable. */ + if (fabs(f4 - fAnswer) > 0.001F) { + sError = pdTRUE; + } + + if (sError == pdFALSE) { + /* If the calculation has always been correct, increment the check + variable so we know + this task is still running okay. */ + (*pusTaskCheckVariable)++; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask3, pvParameters) +{ + volatile float *pfArray, fTotal1, fTotal2, fDifference, fPosition; + volatile uint16_t *pusTaskCheckVariable; + const size_t xArraySize = 10; + size_t xPosition; + short sError = pdFALSE; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (uint16_t *)pvParameters; + + pfArray = (float *)pvPortMalloc(xArraySize * sizeof(float)); + + /* Keep filling an array, keeping a running total of the values placed in the + array. Then run through the array adding up all the values. If the two totals + do not match, stop the check variable from incrementing. */ + for (;;) { + fTotal1 = 0.0F; + fTotal2 = 0.0F; + fPosition = 0.0F; + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + pfArray[xPosition] = fPosition + 5.5F; + fTotal1 += fPosition + 5.5F; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + fTotal2 += pfArray[xPosition]; + } + + fDifference = fTotal1 - fTotal2; + if (fabs(fDifference) > 0.001F) { + sError = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + if (sError == pdFALSE) { + /* If the calculation has always been correct, increment the check + variable so we know this task is still running okay. */ + (*pusTaskCheckVariable)++; + } + } +} +/*-----------------------------------------------------------*/ + +static portTASK_FUNCTION(vCompetingMathTask4, pvParameters) +{ + volatile float *pfArray, fTotal1, fTotal2, fDifference, fPosition; + volatile uint16_t *pusTaskCheckVariable; + const size_t xArraySize = 10; + size_t xPosition; + short sError = pdFALSE; + + /* The variable this task increments to show it is still running is passed in + as the parameter. */ + pusTaskCheckVariable = (uint16_t *)pvParameters; + + pfArray = (float *)pvPortMalloc(xArraySize * sizeof(float)); + + /* Keep filling an array, keeping a running total of the values placed in the + array. Then run through the array adding up all the values. If the two totals + do not match, stop the check variable from incrementing. */ + for (;;) { + fTotal1 = 0.0F; + fTotal2 = 0.0F; + fPosition = 0.0F; + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + pfArray[xPosition] = fPosition * 12.123F; + fTotal1 += fPosition * 12.123F; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + for (xPosition = 0; xPosition < xArraySize; xPosition++) { + fTotal2 += pfArray[xPosition]; + } + + fDifference = fTotal1 - fTotal2; + if (fabs(fDifference) > 0.001F) { + sError = pdTRUE; + } + +#if configUSE_PREEMPTION == 0 + taskYIELD(); +#endif + + if (sError == pdFALSE) { + /* If the calculation has always been correct, increment the check + variable so we know this task is still running okay. */ + (*pusTaskCheckVariable)++; + } + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +BaseType_t xAreMathsTaskStillRunning(void) +{ + /* Keep a history of the check variables so we know if they have been incremented +since the last call. */ + static uint16_t usLastTaskCheck[mathNUMBER_OF_TASKS] = { (uint16_t)0 }; + BaseType_t xReturn = pdTRUE, xTask; + + /* Check the maths tasks are still running by ensuring their check variables + are still incrementing. */ + for (xTask = 0; xTask < mathNUMBER_OF_TASKS; xTask++) { + if (usTaskCheck[xTask] == usLastTaskCheck[xTask]) { + /* The check has not incremented so an error exists. */ + xReturn = pdFALSE; + } + + usLastTaskCheck[xTask] = usTaskCheck[xTask]; + } + + return xReturn; +} diff --git a/freertos/cvitek/task/demo/Common/include/AbortDelay.h b/freertos/cvitek/task/demo/Common/include/AbortDelay.h new file mode 100644 index 000000000..33ccaa85d --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/AbortDelay.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef ABORT_DELAY_H +#define ABORT_DELAY_H + +void vCreateAbortDelayTasks(void); +BaseType_t xAreAbortDelayTestTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/BlockQ.h b/freertos/cvitek/task/demo/Common/include/BlockQ.h new file mode 100644 index 000000000..0a419cbfa --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/BlockQ.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef BLOCK_Q_H +#define BLOCK_Q_H + +void vStartBlockingQueueTasks(UBaseType_t uxPriority); +BaseType_t xAreBlockingQueuesStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/EventGroupsDemo.h b/freertos/cvitek/task/demo/Common/include/EventGroupsDemo.h new file mode 100644 index 000000000..0609103b6 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/EventGroupsDemo.h @@ -0,0 +1,41 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + * This file contains fairly comprehensive checks on the behaviour of event + * groups. It is not intended to be a user friendly demonstration of the event + * groups API. + */ + +#ifndef EVENT_GROUPS_DEMO_H +#define EVENT_GROUPS_DEMO_H + +void vStartEventGroupTasks(void); +BaseType_t xAreEventGroupTasksStillRunning(void); +void vPeriodicEventGroupsProcessing(void); + +#endif /* EVENT_GROUPS_DEMO_H */ diff --git a/freertos/cvitek/task/demo/Common/include/GenQTest.h b/freertos/cvitek/task/demo/Common/include/GenQTest.h new file mode 100644 index 000000000..6ffcd9b5c --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/GenQTest.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef GEN_Q_TEST_H +#define GEN_Q_TEST_H + +void vStartGenericQueueTasks(UBaseType_t uxPriority); +BaseType_t xAreGenericQueueTasksStillRunning(void); +void vMutexISRInteractionTest(void); + +#endif /* GEN_Q_TEST_H */ diff --git a/freertos/cvitek/task/demo/Common/include/IntSemTest.h b/freertos/cvitek/task/demo/Common/include/IntSemTest.h new file mode 100644 index 000000000..b8f988fc8 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/IntSemTest.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef INT_SEM_TEST_H +#define INT_SEM_TEST_H + +void vStartInterruptSemaphoreTasks(void); +BaseType_t xAreInterruptSemaphoreTasksStillRunning(void); +void vInterruptSemaphorePeriodicTest(void); + +#endif /* INT_SEM_TEST_H */ diff --git a/freertos/cvitek/task/demo/Common/include/MessageBufferAMP.h b/freertos/cvitek/task/demo/Common/include/MessageBufferAMP.h new file mode 100644 index 000000000..1cd391468 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/MessageBufferAMP.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef MESSAGE_BUFFER_AMP_H +#define MESSAGE_BUFFER_AMP_H + +void vStartMessageBufferAMPTasks(configSTACK_DEPTH_TYPE xStackSize); +BaseType_t xAreMessageBufferAMPTasksStillRunning(void); +void vGenerateCoreBInterrupt(void *xUpdatedMessageBuffer); + +#endif /* MESSAGE_BUFFER_AMP_H */ diff --git a/freertos/cvitek/task/demo/Common/include/MessageBufferDemo.h b/freertos/cvitek/task/demo/Common/include/MessageBufferDemo.h new file mode 100644 index 000000000..c452d5a95 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/MessageBufferDemo.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef MESSAGE_BUFFER_TEST_H +#define MESSAGE_BUFFER_TEST_H + +void vStartMessageBufferTasks(configSTACK_DEPTH_TYPE xStackSize); +BaseType_t xAreMessageBufferTasksStillRunning(void); + +#endif /* MESSAGE_BUFFER_TEST_H */ diff --git a/freertos/cvitek/task/demo/Common/include/PollQ.h b/freertos/cvitek/task/demo/Common/include/PollQ.h new file mode 100644 index 000000000..81db49ca8 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/PollQ.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef POLLED_Q_H +#define POLLED_Q_H + +void vStartPolledQueueTasks(UBaseType_t uxPriority); +BaseType_t xArePollingQueuesStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/QPeek.h b/freertos/cvitek/task/demo/Common/include/QPeek.h new file mode 100644 index 000000000..93c83f5af --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/QPeek.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef Q_PEEK_TEST_H +#define Q_PEEK_TEST_H + +void vStartQueuePeekTasks(void); +BaseType_t xAreQueuePeekTasksStillRunning(void); + +#endif /* Q_PEEK_TEST_H */ diff --git a/freertos/cvitek/task/demo/Common/include/QueueOverwrite.h b/freertos/cvitek/task/demo/Common/include/QueueOverwrite.h new file mode 100644 index 000000000..1ea2ceb62 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/QueueOverwrite.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef QUEUE_OVERWRITE_H +#define QUEUE_OVERWRITE_H + +void vStartQueueOverwriteTask(UBaseType_t uxPriority); +BaseType_t xIsQueueOverwriteTaskStillRunning(void); +void vQueueOverwritePeriodicISRDemo(void); + +#endif /* QUEUE_OVERWRITE_H */ diff --git a/freertos/cvitek/task/demo/Common/include/QueueSet.h b/freertos/cvitek/task/demo/Common/include/QueueSet.h new file mode 100644 index 000000000..6648038b6 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/QueueSet.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef QUEUE_WAIT_MULTIPLE_H +#define QUEUE_WAIT_MULTIPLE_H + +void vStartQueueSetTasks(void); +BaseType_t xAreQueueSetTasksStillRunning(void); +void vQueueSetAccessQueueSetFromISR(void); + +#endif /* QUEUE_WAIT_MULTIPLE_H */ diff --git a/freertos/cvitek/task/demo/Common/include/QueueSetPolling.h b/freertos/cvitek/task/demo/Common/include/QueueSetPolling.h new file mode 100644 index 000000000..125492857 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/QueueSetPolling.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef QUEUE_SET_POLLING_H +#define QUEUE_SET_POLLING_H + +void vStartQueueSetPollingTask(void); +BaseType_t xAreQueueSetPollTasksStillRunning(void); +void vQueueSetPollingInterruptAccess(void); + +#endif /* QUEUE_SET_POLLING_H */ diff --git a/freertos/cvitek/task/demo/Common/include/StaticAllocation.h b/freertos/cvitek/task/demo/Common/include/StaticAllocation.h new file mode 100644 index 000000000..369254c53 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/StaticAllocation.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef STATIC_ALLOCATION_H +#define STATIC_ALLOCATION_H + +void vStartStaticallyAllocatedTasks(void); +BaseType_t xAreStaticAllocationTasksStillRunning(void); + +#endif /* STATIC_ALLOCATION_H */ diff --git a/freertos/cvitek/task/demo/Common/include/StreamBufferDemo.h b/freertos/cvitek/task/demo/Common/include/StreamBufferDemo.h new file mode 100644 index 000000000..14d655645 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/StreamBufferDemo.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef STREAM_BUFFER_TEST_H +#define STREAM_BUFFER_TEST_H + +void vStartStreamBufferTasks(void); +BaseType_t xAreStreamBufferTasksStillRunning(void); +void vPeriodicStreamBufferProcessing(void); + +#endif /* STREAM_BUFFER_TEST_H */ diff --git a/freertos/cvitek/task/demo/Common/include/StreamBufferInterrupt.h b/freertos/cvitek/task/demo/Common/include/StreamBufferInterrupt.h new file mode 100644 index 000000000..d8c3e8aae --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/StreamBufferInterrupt.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef STREAM_BUFFER_INTERRUPT_H +#define STREAM_BUFFER_INTERRUPT_H + +void vStartStreamBufferInterruptDemo(void); +void vBasicStreamBufferSendFromISR(void); +BaseType_t xIsInterruptStreamBufferDemoStillRunning(void); + +#endif /* STREAM_BUFFER_INTERRUPT_H */ diff --git a/freertos/cvitek/task/demo/Common/include/TaskNotify.h b/freertos/cvitek/task/demo/Common/include/TaskNotify.h new file mode 100644 index 000000000..3e1c1007a --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/TaskNotify.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef TASK_NOTIFY_H +#define TASK_NOTIFY_H + +void vStartTaskNotifyTask(void); +BaseType_t xAreTaskNotificationTasksStillRunning(void); +void xNotifyTaskFromISR(void); + +#endif /* TASK_NOTIFY_H */ diff --git a/freertos/cvitek/task/demo/Common/include/TaskNotifyArray.h b/freertos/cvitek/task/demo/Common/include/TaskNotifyArray.h new file mode 100644 index 000000000..231fcf61c --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/TaskNotifyArray.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef TASK_NOTIFY_ARRAY_H +#define TASK_NOTIFY_ARRAY_H + +void vStartTaskNotifyArrayTask(void); +BaseType_t xAreTaskNotificationArrayTasksStillRunning(void); +void xNotifyArrayTaskFromISR(void); + +#endif /* TASK_NOTIFY_ARRAY_H */ diff --git a/freertos/cvitek/task/demo/Common/include/TimerDemo.h b/freertos/cvitek/task/demo/Common/include/TimerDemo.h new file mode 100644 index 000000000..91c2278bd --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/TimerDemo.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef TIMER_DEMO_H +#define TIMER_DEMO_H + +void vStartTimerDemoTask(TickType_t xBaseFrequencyIn); +BaseType_t xAreTimerDemoTasksStillRunning(TickType_t xCycleFrequency); +void vTimerPeriodicISRTests(void); + +#endif /* TIMER_DEMO_H */ diff --git a/freertos/cvitek/task/demo/Common/include/blocktim.h b/freertos/cvitek/task/demo/Common/include/blocktim.h new file mode 100644 index 000000000..b695fe026 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/blocktim.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef BLOCK_TIME_TEST_H +#define BLOCK_TIME_TEST_H + +void vCreateBlockTimeTasks(void); +BaseType_t xAreBlockTimeTestTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/comtest.h b/freertos/cvitek/task/demo/Common/include/comtest.h new file mode 100644 index 000000000..b0bbe879a --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/comtest.h @@ -0,0 +1,38 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef COMTEST_H +#define COMTEST_H + +void vAltStartComTestTasks(UBaseType_t uxPriority, uint32_t ulBaudRate, + UBaseType_t uxLED); +void vStartComTestTasks(UBaseType_t uxPriority, eCOMPort ePort, + eBaud eBaudRate); +BaseType_t xAreComTestTasksStillRunning(void); +void vComTestUnsuspendTask(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/comtest2.h b/freertos/cvitek/task/demo/Common/include/comtest2.h new file mode 100644 index 000000000..31014b2c5 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/comtest2.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef COMTEST_H +#define COMTEST_H + +void vAltStartComTestTasks(UBaseType_t uxPriority, uint32_t ulBaudRate, + UBaseType_t uxLED); +BaseType_t xAreComTestTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/comtest_strings.h b/freertos/cvitek/task/demo/Common/include/comtest_strings.h new file mode 100644 index 000000000..679031aa1 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/comtest_strings.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef COMTEST_STRINGS_H +#define COMTEST_STRINGS_H + +void vStartComTestStringsTasks(UBaseType_t uxPriority, uint32_t ulBaudRate, + UBaseType_t uxLED); +BaseType_t xAreComTestTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/countsem.h b/freertos/cvitek/task/demo/Common/include/countsem.h new file mode 100644 index 000000000..ba1aed127 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/countsem.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef COUNT_SEMAPHORE_TEST_H +#define COUNT_SEMAPHORE_TEST_H + +void vStartCountingSemaphoreTasks(void); +BaseType_t xAreCountingSemaphoreTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/crflash.h b/freertos/cvitek/task/demo/Common/include/crflash.h new file mode 100644 index 000000000..3e5750e34 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/crflash.h @@ -0,0 +1,46 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef CRFLASH_LED_H +#define CRFLASH_LED_H + +/* + * Create the co-routines used to flash the LED's at different rates. + * + * @param uxPriority The number of 'fixed delay' co-routines to create. This + * also effects the number of LED's that will be utilised. For example, + * passing in 3 will cause LED's 0 to 2 to be utilised. + */ +void vStartFlashCoRoutines(UBaseType_t uxPriority); + +/* + * Return pdPASS or pdFAIL depending on whether an error has been detected + * or not. + */ +BaseType_t xAreFlashCoRoutinesStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/crhook.h b/freertos/cvitek/task/demo/Common/include/crhook.h new file mode 100644 index 000000000..ba5fc14cd --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/crhook.h @@ -0,0 +1,42 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef CRHOOK_H +#define CRHOOK_H + +/* + * Create the co-routines used to communicate wit the tick hook. + */ +void vStartHookCoRoutines(void); + +/* + * Return pdPASS or pdFAIL depending on whether an error has been detected + * or not. + */ +BaseType_t xAreHookCoRoutinesStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/death.h b/freertos/cvitek/task/demo/Common/include/death.h new file mode 100644 index 000000000..44d401daf --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/death.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef SUICIDE_TASK_H +#define SUICIDE_TASK_H + +void vCreateSuicidalTasks(UBaseType_t uxPriority); +BaseType_t xIsCreateTaskStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/dynamic.h b/freertos/cvitek/task/demo/Common/include/dynamic.h new file mode 100644 index 000000000..4f23a6e29 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/dynamic.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef DYNAMIC_MANIPULATION_H +#define DYNAMIC_MANIPULATION_H + +void vStartDynamicPriorityTasks(void); +BaseType_t xAreDynamicPriorityTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/fileIO.h b/freertos/cvitek/task/demo/Common/include/fileIO.h new file mode 100644 index 000000000..79d464cf4 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/fileIO.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef FILE_IO_H +#define FILE_IO_H + +void vDisplayMessage(const char *const pcMessageToPrint); +void vWriteMessageToDisk(const char *const pcMessage); +void vWriteBufferToDisk(const char *const pcBuffer, uint32_t ulBufferLength); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/flash.h b/freertos/cvitek/task/demo/Common/include/flash.h new file mode 100644 index 000000000..a0d81378e --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/flash.h @@ -0,0 +1,33 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef FLASH_LED_H +#define FLASH_LED_H + +void vStartLEDFlashTasks(UBaseType_t uxPriority); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/flash_timer.h b/freertos/cvitek/task/demo/Common/include/flash_timer.h new file mode 100644 index 000000000..fadd36179 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/flash_timer.h @@ -0,0 +1,41 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef FLASH_TIMER_H +#define FLASH_TIMER_H + +/* + * Creates the LED flashing timers. xNumberOfLEDs specifies how many timers to + * create, with each timer toggling a different LED. The first LED to be + * toggled is LED 0, with subsequent LEDs following on in numerical order. Each + * timer uses the exact same callback function, with the timer ID being used + * within the callback function to determine which timer has actually expired + * (and therefore which LED to toggle). + */ +void vStartLEDFlashTimers(UBaseType_t uxNumberOfLEDs); + +#endif /* FLASH_TIMER_H */ diff --git a/freertos/cvitek/task/demo/Common/include/flop.h b/freertos/cvitek/task/demo/Common/include/flop.h new file mode 100644 index 000000000..2856a15f7 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/flop.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef FLOP_TASKS_H +#define FLOP_TASKS_H + +void vStartMathTasks(UBaseType_t uxPriority); +BaseType_t xAreMathsTaskStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/integer.h b/freertos/cvitek/task/demo/Common/include/integer.h new file mode 100644 index 000000000..e01c38d9d --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/integer.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef INTEGER_TASKS_H +#define INTEGER_TASKS_H + +void vStartIntegerMathTasks(UBaseType_t uxPriority); +BaseType_t xAreIntegerMathsTaskStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/mevents.h b/freertos/cvitek/task/demo/Common/include/mevents.h new file mode 100644 index 000000000..fdf27c1fd --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/mevents.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef EVENTS_TEST_H +#define EVENTS_TEST_H + +void vStartMultiEventTasks(void); +BaseType_t xAreMultiEventTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/partest.h b/freertos/cvitek/task/demo/Common/include/partest.h new file mode 100644 index 000000000..2ffdccff7 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/partest.h @@ -0,0 +1,37 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef PARTEST_H +#define PARTEST_H + +#define partstDEFAULT_PORT_ADDRESS ((uint16_t)0x378) + +void vParTestInitialise(void); +void vParTestSetLED(UBaseType_t uxLED, BaseType_t xValue); +void vParTestToggleLED(UBaseType_t uxLED); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/print.h b/freertos/cvitek/task/demo/Common/include/print.h new file mode 100644 index 000000000..0c9f3e8ee --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/print.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef PRINT_H +#define PRINT_H + +void vPrintInitialise(void); +void vPrintDisplayMessage(const char *const *pcMessageToSend); +const char *pcPrintGetNextMessage(TickType_t xPrintRate); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/recmutex.h b/freertos/cvitek/task/demo/Common/include/recmutex.h new file mode 100644 index 000000000..eb76cbacb --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/recmutex.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef RECURSIVE_MUTEX_TEST_H +#define RECURSIVE_MUTEX_TEST_H + +void vStartRecursiveMutexTasks(void); +BaseType_t xAreRecursiveMutexTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/semtest.h b/freertos/cvitek/task/demo/Common/include/semtest.h new file mode 100644 index 000000000..2a703a8ff --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/semtest.h @@ -0,0 +1,34 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef SEMAPHORE_TEST_H +#define SEMAPHORE_TEST_H + +void vStartSemaphoreTasks(UBaseType_t uxPriority); +BaseType_t xAreSemaphoreTasksStillRunning(void); + +#endif diff --git a/freertos/cvitek/task/demo/Common/include/serial.h b/freertos/cvitek/task/demo/Common/include/serial.h new file mode 100644 index 000000000..c3cd2c931 --- /dev/null +++ b/freertos/cvitek/task/demo/Common/include/serial.h @@ -0,0 +1,92 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef SERIAL_COMMS_H +#define SERIAL_COMMS_H + +typedef void *xComPortHandle; + +typedef enum { + serCOM1, + serCOM2, + serCOM3, + serCOM4, + serCOM5, + serCOM6, + serCOM7, + serCOM8 +} eCOMPort; + +typedef enum { + serNO_PARITY, + serODD_PARITY, + serEVEN_PARITY, + serMARK_PARITY, + serSPACE_PARITY +} eParity; + +typedef enum { serSTOP_1, serSTOP_2 } eStopBits; + +typedef enum { serBITS_5, serBITS_6, serBITS_7, serBITS_8 } eDataBits; + +typedef enum { + ser50, + ser75, + ser110, + ser134, + ser150, + ser200, + ser300, + ser600, + ser1200, + ser1800, + ser2400, + ser4800, + ser9600, + ser19200, + ser38400, + ser57600, + ser115200 +} eBaud; + +xComPortHandle xSerialPortInitMinimal(unsigned long ulWantedBaud, + portBASE_TYPE uxQueueLength); +xComPortHandle xSerialPortInit(eCOMPort ePort, eBaud eWantedBaud, + eParity eWantedParity, eDataBits eWantedDataBits, + eStopBits eWantedStopBits, + portBASE_TYPE uxBufferLength); +void vSerialPutString(xComPortHandle pxPort, const signed char *const pcString, + unsigned short usStringLength); +portBASE_TYPE xSerialGetChar(xComPortHandle pxPort, + signed char *pcRxedChar, + TickType_t xBlockTime); +portBASE_TYPE xSerialPutChar(xComPortHandle pxPort, signed char cOutChar, + TickType_t xBlockTime); +portBASE_TYPE xSerialWaitForSemaphore(xComPortHandle xPort); +void vSerialClose(xComPortHandle xPort); + +#endif diff --git a/freertos/cvitek/task/demo/Full_Demo/CMakeLists.txt b/freertos/cvitek/task/demo/Full_Demo/CMakeLists.txt new file mode 100644 index 000000000..32b0ce6e4 --- /dev/null +++ b/freertos/cvitek/task/demo/Full_Demo/CMakeLists.txt @@ -0,0 +1,19 @@ +if (CHIP STREQUAL "cv1835") +file(GLOB _SOURCES "*.c" "*regTest.S" "../Common/Minimal/*.c") +else() +file(GLOB _SOURCES "*.c" "RegTest_riscv.S" "../Common/Minimal/*.c") +endif() + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__BUILD_RTOS_KERNEL__") + +include_directories(".") +include_directories("../Common/include") +include_directories(src) +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) + +add_library(demo STATIC ${_SOURCES}) +install(TARGETS demo DESTINATION lib) + diff --git a/freertos/cvitek/task/demo/Full_Demo/RegTest_riscv.S b/freertos/cvitek/task/demo/Full_Demo/RegTest_riscv.S new file mode 100644 index 000000000..283452161 --- /dev/null +++ b/freertos/cvitek/task/demo/Full_Demo/RegTest_riscv.S @@ -0,0 +1,276 @@ +/* + * FreeRTOS V202111.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + + .extern ullRegTest1LoopCounter + .extern ullRegTest2LoopCounter + + .global vRegTest1Implementation + .global vRegTest2Implementation + +/*-----------------------------------------------------------*/ + +/* + * The register check tasks are described in the comments at the top of + * main_full.c. + */ + +.align( 4 ) +vRegTest1Implementation: + + /* Fill the core registers with known values. */ + li x5, 0x5 + li x6, 0x6 + li x7, 0x7 + li x8, 0x8 + li x9, 0x9 + li x10, 0xa + li x11, 0xb + li x12, 0xc + li x13, 0xd + li x14, 0xe + li x15, 0xf + li x16, 0x10 + li x17, 0x11 + li x18, 0x12 + li x19, 0x13 + li x20, 0x14 + li x21, 0x15 + li x22, 0x16 + li x23, 0x17 + li x24, 0x18 + li x25, 0x19 + li x26, 0x1a + li x27, 0x1b + li x28, 0x1c + li x29, 0x1d + li x30, 0x1e + +reg1_loop: + + /* Check each register still contains the expected known value. + vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation + uses x5 as the temporary. */ + li x31, 0x5 + bne x31, x5, reg1_error_loop + li x31, 0x6 + bne x31, x6, reg1_error_loop + li x31, 0x7 + bne x31, x7, reg1_error_loop + li x31, 0x8 + bne x31, x8, reg1_error_loop + li x31, 0x9 + bne x31, x9, reg1_error_loop + li x31, 0xa + bne x31, x10, reg1_error_loop + li x31, 0xb + bne x31, x11, reg1_error_loop + li x31, 0xc + bne x31, x12, reg1_error_loop + li x31, 0xd + bne x31, x13, reg1_error_loop + li x31, 0xe + bne x31, x14, reg1_error_loop + li x31, 0xf + bne x31, x15, reg1_error_loop + li x31, 0x10 + bne x31, x16, reg1_error_loop + li x31, 0x11 + bne x31, x17, reg1_error_loop + li x31, 0x12 + bne x31, x18, reg1_error_loop + li x31, 0x13 + bne x31, x19, reg1_error_loop + li x31, 0x14 + bne x31, x20, reg1_error_loop + li x31, 0x15 + bne x31, x21, reg1_error_loop + li x31, 0x16 + bne x31, x22, reg1_error_loop + li x31, 0x17 + bne x31, x23, reg1_error_loop + li x31, 0x18 + bne x31, x24, reg1_error_loop + li x31, 0x19 + bne x31, x25, reg1_error_loop + li x31, 0x1a + bne x31, x26, reg1_error_loop + li x31, 0x1b + bne x31, x27, reg1_error_loop + li x31, 0x1c + bne x31, x28, reg1_error_loop + li x31, 0x1d + bne x31, x29, reg1_error_loop + li x31, 0x1e + bne x31, x30, reg1_error_loop + + /* Everything passed, increment the loop counter. */ +#if 1 + ld x31, ullRegTest1LoopCounterConst + ld x30, 0(x31) + addi x30, x30, 1 + sd x30, 0(x31) +#else + lw x31, ullRegTest1LoopCounterConst + lw x30, 0(x31) + addi x30, x30, 1 + sw x30, 0(x31) +#endif + /* Restore clobbered register reading for next loop. */ + li x30, 0x1e + + /* Yield to increase code coverage. */ + ecall + + /* Start again. */ + jal reg1_loop + +reg1_error_loop: + /* Jump here if a register contains an uxpected value. This stops the loop + counter being incremented so the check task knows an error was found. */ + jal reg1_error_loop + +.align( 8 ) +ullRegTest1LoopCounterConst: .dword ullRegTest1LoopCounter + +/*-----------------------------------------------------------*/ + +.align( 8 ) +vRegTest2Implementation: + + /* Fill the core registers with known values. */ + li x6, 0x61 + li x7, 0x71 + li x8, 0x81 + li x9, 0x91 + li x10, 0xa1 + li x11, 0xb1 + li x12, 0xc1 + li x13, 0xd1 + li x14, 0xe1 + li x15, 0xf1 + li x16, 0x20 + li x17, 0x21 + li x18, 0x22 + li x19, 0x23 + li x20, 0x24 + li x21, 0x25 + li x22, 0x26 + li x23, 0x27 + li x24, 0x28 + li x25, 0x29 + li x26, 0x2a + li x27, 0x2b + li x28, 0x2c + li x29, 0x2d + li x30, 0x2e + li x31, 0x2f + +Reg2_loop: + + /* Check each register still contains the expected known value. + vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation + uses x31 as the temporary. */ + li x5, 0x61 + bne x5, x6, reg2_error_loop + li x5, 0x71 + bne x5, x7, reg2_error_loop + li x5, 0x81 + bne x5, x8, reg2_error_loop + li x5, 0x91 + bne x5, x9, reg2_error_loop + li x5, 0xa1 + bne x5, x10, reg2_error_loop + li x5, 0xb1 + bne x5, x11, reg2_error_loop + li x5, 0xc1 + bne x5, x12, reg2_error_loop + li x5, 0xd1 + bne x5, x13, reg2_error_loop + li x5, 0xe1 + bne x5, x14, reg2_error_loop + li x5, 0xf1 + bne x5, x15, reg2_error_loop + li x5, 0x20 + bne x5, x16, reg2_error_loop + li x5, 0x21 + bne x5, x17, reg2_error_loop + li x5, 0x22 + bne x5, x18, reg2_error_loop + li x5, 0x23 + bne x5, x19, reg2_error_loop + li x5, 0x24 + bne x5, x20, reg2_error_loop + li x5, 0x25 + bne x5, x21, reg2_error_loop + li x5, 0x26 + bne x5, x22, reg2_error_loop + li x5, 0x27 + bne x5, x23, reg2_error_loop + li x5, 0x28 + bne x5, x24, reg2_error_loop + li x5, 0x29 + bne x5, x25, reg2_error_loop + li x5, 0x2a + bne x5, x26, reg2_error_loop + li x5, 0x2b + bne x5, x27, reg2_error_loop + li x5, 0x2c + bne x5, x28, reg2_error_loop + li x5, 0x2d + bne x5, x29, reg2_error_loop + li x5, 0x2e + bne x5, x30, reg2_error_loop + li x5, 0x2f + bne x5, x31, reg2_error_loop + + /* Everything passed, increment the loop counter. */ +#if 1 + ld x5, ullRegTest2LoopCounterConst + ld x6, 0(x5) + addi x6, x6, 1 + sd x6, 0(x5) +#else + lw x5, ullRegTest2LoopCounterConst + lw x6, 0(x5) + addi x6, x6, 1 + sw x6, 0(x5) +#endif + /* Restore clobbered register reading for next loop. */ + li x6, 0x61 + + /* Start again. */ + jal Reg2_loop + +reg2_error_loop: + /* Jump here if a register contains an uxpected value. This stops the loop + counter being incremented so the check task knows an error was found. */ + jal reg2_error_loop + +.align( 8 ) +ullRegTest2LoopCounterConst: .dword ullRegTest2LoopCounter + + diff --git a/freertos/cvitek/task/demo/Full_Demo/main_full.c b/freertos/cvitek/task/demo/Full_Demo/main_full.c new file mode 100644 index 000000000..e8c1067b2 --- /dev/null +++ b/freertos/cvitek/task/demo/Full_Demo/main_full.c @@ -0,0 +1,447 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * NOTE 1: This project provides two demo applications. A simple blinky + * style project, and a more comprehensive test and demo application. The + * RUN_TYPE in build.sh setting in main.c is used to select between the two. + * See the notes on using RUN_TYPE in build.sh where it is defined below. + * + * NOTE 2: This file only contains the source code that is not specific to + * either the simply blinky or full demos - this includes initialisation code + * and callback functions. + * + * NOTE 3: This project builds the FreeRTOS source code, so is expecting the + * BSP project to be configured as a 'standalone' bsp project rather than a + * 'FreeRTOS' bsp project. However the BSP project MUST still be build with + * the FREERTOS_BSP symbol defined (-DFREERTOS_BSP must be added to the + * command line in the BSP configuration). + ****************************************************************************** + * + * main_full() creates all the demo application tasks and software timers, then + * starts the scheduler. The web documentation provides more details of the + * standard demo application tasks, which provide no particular functionality, + * but do provide a good example of how to use the FreeRTOS API. + * + * In addition to the standard demo tasks, the following tasks and tests are + * defined and/or created within this file: + * + * "Reg test" tasks - These fill both the core and floating point registers with + * known values, then check that each register maintains its expected value for + * the lifetime of the task. Each task uses a different set of values. The reg + * test tasks execute with a very low priority, so get preempted very + * frequently. A register containing an unexpected value is indicative of an + * error in the context switching mechanism. + * + * "Check" task - The check task period is set to five seconds. Each time it + * executes it checks all the standard demo tasks, and the register check tasks, + * are not only still executing, but are executing without reporting any errors, + * then outputs the system status to the UART. + */ + +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "semphr.h" + +/* Standard demo application includes. */ +#include "flop.h" +#include "semtest.h" +#include "dynamic.h" +#include "blocktim.h" +#include "countsem.h" +#include "GenQTest.h" +#include "recmutex.h" +#include "EventGroupsDemo.h" +#include "TaskNotify.h" +#include "IntSemTest.h" +#include "StaticAllocation.h" +#include "AbortDelay.h" +#include "QueueOverwrite.h" +#include "TimerDemo.h" + +/* Xilinx includes. */ +#include "printf.h" + +/* Priorities for the demo application tasks. */ +#define mainSEM_TEST_PRIORITY (tskIDLE_PRIORITY + (UBaseType_t)1) +#define mainBLOCK_Q_PRIORITY (tskIDLE_PRIORITY + (UBaseType_t)2) +#define mainCREATOR_TASK_PRIORITY (tskIDLE_PRIORITY + (UBaseType_t)3) +#define mainFLOP_TASK_PRIORITY (tskIDLE_PRIORITY) +#define mainUART_COMMAND_CONSOLE_STACK_SIZE \ + (configMINIMAL_STACK_SIZE * (UBaseType_t)3) +#define mainCOM_TEST_TASK_PRIORITY (tskIDLE_PRIORITY + (UBaseType_t)2) +#define mainCHECK_TASK_PRIORITY (configMAX_PRIORITIES - (UBaseType_t)1) +#define mainQUEUE_OVERWRITE_PRIORITY (tskIDLE_PRIORITY) + +/* A block time of zero simply means "don't block". */ +#define mainDONT_BLOCK ((TickType_t)0) + +/* The period of the check task, in ms. */ +#define mainNO_ERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS((TickType_t)20000) + +/* Parameters that are passed into the register check tasks solely for the +purpose of ensuring parameters are passed into tasks correctly. */ +#define mainREG_TEST_TASK_1_PARAMETER ((void *)0x12345678) +#define mainREG_TEST_TASK_2_PARAMETER ((void *)0x87654321) + +/* The base period used by the timer test tasks. */ +#define mainTIMER_TEST_PERIOD (50) + +/*-----------------------------------------------------------*/ + +/* + * The check task, as described at the top of this file. + */ +static void prvCheckTask(void *pvParameters); + +/* + * Register check tasks, and the tasks used to write over and check the contents + * of the FPU registers, as described at the top of this file. The nature of + * these files necessitates that they are written in an assembly file, but the + * entry points are kept in the C file for the convenience of checking the task + * parameter. + */ +static void prvRegTestTaskEntry1(void *pvParameters); +extern void vRegTest1Implementation(void); +static void prvRegTestTaskEntry2(void *pvParameters); +extern void vRegTest2Implementation(void); + +/* + * Register commands that can be used with FreeRTOS+CLI. The commands are + * defined in CLI-Commands.c and File-Related-CLI-Command.c respectively. + */ +extern void vRegisterSampleCLICommands(void); + +/* + * The task that manages the FreeRTOS+CLI input and output. + */ +extern void vUARTCommandConsoleStart(uint16_t usStackSize, + UBaseType_t uxPriority); + +/* + * A high priority task that does nothing other than execute at a pseudo random + * time to ensure the other test tasks don't just execute in a repeating + * pattern. + */ +static void prvPseudoRandomiser(void *pvParameters); + +/* + * The full demo uses the tick hook function to include test code in the tick + * interrupt. vFullDemoTickHook() is called by vApplicationTickHook(), which + * is defined in main.c. + */ +void vFullDemoTickHook(void); + +/*-----------------------------------------------------------*/ + +/* The following two variables are used to communicate the status of the +register check tasks to the check task. If the variables keep incrementing, +then the register check tasks have not discovered any errors. If a variable +stops incrementing, then an error has been found. */ +volatile uint64_t ullRegTest1LoopCounter = 0ULL, ullRegTest2LoopCounter = 0ULL; + +/*-----------------------------------------------------------*/ + +void main_full(void) +{ +/* Start all the other standard demo/test tasks. They have no particular + functionality, but do demonstrate how to use the FreeRTOS API and test the + kernel port. */ + vStartDynamicPriorityTasks(); + vCreateBlockTimeTasks(); + vStartCountingSemaphoreTasks(); + vStartGenericQueueTasks(tskIDLE_PRIORITY); + vStartRecursiveMutexTasks(); + vStartSemaphoreTasks(mainSEM_TEST_PRIORITY); + vStartMathTasks(mainFLOP_TASK_PRIORITY); + vStartEventGroupTasks(); + vStartTaskNotifyTask(); + vStartInterruptSemaphoreTasks(); + vStartStaticallyAllocatedTasks(); + vCreateAbortDelayTasks(); + vStartQueueOverwriteTask(mainQUEUE_OVERWRITE_PRIORITY); + vStartTimerDemoTask(mainTIMER_TEST_PERIOD); + + /* Create the register check tasks, as described at the top of this file */ + xTaskCreate(prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, + mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL); + xTaskCreate(prvRegTestTaskEntry2, "Reg2", configMINIMAL_STACK_SIZE, + mainREG_TEST_TASK_2_PARAMETER, tskIDLE_PRIORITY, NULL); + + /* Create the task that just adds a little random behaviour. */ + xTaskCreate(prvPseudoRandomiser, "Rnd", configMINIMAL_STACK_SIZE, NULL, + configMAX_PRIORITIES - 1, NULL); + + /* Create the task that performs the 'check' functionality, as described at + the top of this file. */ + xTaskCreate(prvCheckTask, "Check", configMINIMAL_STACK_SIZE, NULL, + mainCHECK_TASK_PRIORITY, NULL); + + /* Start the scheduler. */ + vTaskStartScheduler(); + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was either insufficient FreeRTOS heap memory available for the idle + and/or timer tasks to be created, or vTaskStartScheduler() was called from + User mode. See the memory management section on the FreeRTOS web site for + more details on the FreeRTOS heap http://www.freertos.org/a00111.html. The + mode from which main() is called is set in the C start up code and must be + a privileged mode (not user mode). */ + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +static void prvCheckTask(void *pvParameters) +{ + TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD; + TickType_t xLastExecutionTime; + static uint64_t ullLastRegTest1Value = 0, ullLastRegTest2Value = 0; + uint64_t ullErrorFound = pdFALSE; + const char *pcStatusString = "Pass"; + + /* Just to stop compiler warnings. */ + (void)pvParameters; + + /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil() + works correctly. */ + xLastExecutionTime = xTaskGetTickCount(); + + /* Cycle for ever, delaying then checking all the other tasks are still + operating without error. The system status is written to the UART on each + iteration. */ + for (;;) { + /* Delay until it is time to execute again. */ + vTaskDelayUntil(&xLastExecutionTime, xDelayPeriod); + +/* Check all the demo tasks (other than the flash tasks) to ensure + that they are all still running, and that none have detected an error. */ +#if 0 //There are not 3 timers to trigger interrupt + if( xAreIntQueueTasksStillRunning() != pdTRUE ) + { + ullErrorFound |= 1ULL << 0ULL; + pcStatusString = "Error: IntQ"; + } +#endif + + if (xAreMathsTaskStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 1ULL; + pcStatusString = "Error: Math"; + } + + if (xAreDynamicPriorityTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 2ULL; + pcStatusString = "Error: Dynamic"; + } + + if (xAreBlockTimeTestTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 4ULL; + pcStatusString = "Error: Block Time"; + } + + if (xAreGenericQueueTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 5ULL; + pcStatusString = "Error: Generic Queue"; + } + + if (xAreRecursiveMutexTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 6ULL; + pcStatusString = "Error: Recursive Mutex"; + } + + if (xAreSemaphoreTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 8ULL; + pcStatusString = "Error: Semaphore"; + } + + if (xAreCountingSemaphoreTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 10ULL; + pcStatusString = "Error: Counting Semaphore"; + } + + if (xAreEventGroupTasksStillRunning() != pdPASS) { + ullErrorFound |= 1ULL << 12ULL; + pcStatusString = "Error: Event Group"; + } + + if (xAreTaskNotificationTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 13ULL; + pcStatusString = "Error: Task Notifications"; + } + + if (xAreInterruptSemaphoreTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 14ULL; + pcStatusString = "Error: Interrupt Semaphore"; + } + + if (xAreStaticAllocationTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 15ULL; + pcStatusString = "Error: Static Allocation"; + } + + if (xAreAbortDelayTestTasksStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 16ULL; + pcStatusString = "Error: Abort Delay"; + } + + if (xIsQueueOverwriteTaskStillRunning() != pdTRUE) { + ullErrorFound |= 1ULL << 17ULL; + pcStatusString = "Error: Queue Overwrite"; + } + + if (xAreTimerDemoTasksStillRunning(xDelayPeriod) != pdTRUE) { + ullErrorFound |= 1ULL << 18ULL; + pcStatusString = "Error: Timer Demo"; + } + + /* Check that the register test 1 task is still running. */ + if (ullLastRegTest1Value == ullRegTest1LoopCounter) { + ullErrorFound |= 1ULL << 17ULL; + pcStatusString = "Error: Reg Test 1"; + } + ullLastRegTest1Value = ullRegTest1LoopCounter; + + /* Check that the register test 2 task is still running. */ + if (ullLastRegTest2Value == ullRegTest2LoopCounter) { + ullErrorFound |= 1ULL << 18ULL; + pcStatusString = "Error: Reg Test 2"; + } + ullLastRegTest2Value = ullRegTest2LoopCounter; + + /* Output the system status string. */ + printf("%s, status code = %lx, tick count = %ld\r\n", + pcStatusString, ullErrorFound, xTaskGetTickCount()); + + configASSERT(ullErrorFound == pdFALSE); + } +} +/*-----------------------------------------------------------*/ + +static void prvRegTestTaskEntry1(void *pvParameters) +{ + /* Although the regtest task is written in assembler, its entry point is + written in C for convenience of checking the task parameter is being passed + in correctly. */ + if (pvParameters == mainREG_TEST_TASK_1_PARAMETER) { + /* The reg test task also tests the floating point registers. Tasks + that use the floating point unit must call vPortTaskUsesFPU() before + any floating point instructions are executed. */ + /* riscv64 enable fpu in start.S*/ + #if defined(__aarch64__) + vPortTaskUsesFPU(); + #endif + + /* Start the part of the test that is written in assembler. */ + vRegTest1Implementation(); + } + + /* The following line will only execute if the task parameter is found to + be incorrect. The check task will detect that the regtest loop counter is + not being incremented and flag an error. */ + vTaskDelete(NULL); +} +/*-----------------------------------------------------------*/ + +static void prvRegTestTaskEntry2(void *pvParameters) +{ + /* Although the regtest task is written in assembler, its entry point is + written in C for convenience of checking the task parameter is being passed + in correctly. */ + if (pvParameters == mainREG_TEST_TASK_2_PARAMETER) { + /* The reg test task also tests the floating point registers. Tasks + that use the floating point unit must call vPortTaskUsesFPU() before + any floating point instructions are executed. */ + /* riscv64 enable fpu in start.S*/ + #if defined(__aarch64__) + vPortTaskUsesFPU(); + #endif + + /* Start the part of the test that is written in assembler. */ + vRegTest2Implementation(); + } + + /* The following line will only execute if the task parameter is found to + be incorrect. The check task will detect that the regtest loop counter is + not being incremented and flag an error. */ + vTaskDelete(NULL); +} +/*-----------------------------------------------------------*/ + +static void prvPseudoRandomiser(void *pvParameters) +{ + const uint64_t ullMultiplier = 0x015a4e35ULL, ullIncrement = 1ULL, + ullMinDelay = pdMS_TO_TICKS(95); + volatile uint64_t ullNextRand = (uint64_t)&pvParameters, ullValue; + + /* This task does nothing other than ensure there is a little bit of + disruption in the scheduling pattern of the other tasks. Normally this is + done by generating interrupts at pseudo random times. */ + for (;;) { + ullNextRand = (ullMultiplier * ullNextRand) + ullIncrement; + ullValue = (ullNextRand >> 16ULL) & 0xffULL; + + if (ullValue < ullMinDelay) { + ullValue = ullMinDelay; + } + + vTaskDelay(ullValue); + + while (ullValue > 0) { + __asm volatile("NOP"); + __asm volatile("NOP"); + __asm volatile("NOP"); + __asm volatile("NOP"); + ullValue--; + } + } +} +/*-----------------------------------------------------------*/ + +void vFullDemoTickHook(void) +{ + /* The full demo includes a software timer demo/test that requires + prodding periodically from the tick interrupt. */ + vTimerPeriodicISRTests(); + + /* Call the periodic queue overwrite from ISR demo. */ + vQueueOverwritePeriodicISRDemo(); + + /* Call the periodic event group from ISR demo. */ + vPeriodicEventGroupsProcessing(); + + /* Call the ISR component of the interrupt semaphore test. */ + vInterruptSemaphorePeriodicTest(); + + /* Call the code that 'gives' a task notification from an ISR. */ + xNotifyTaskFromISR(); +} diff --git a/freertos/cvitek/task/demo/Full_Demo/reg_test.S b/freertos/cvitek/task/demo/Full_Demo/reg_test.S new file mode 100644 index 000000000..36b64be50 --- /dev/null +++ b/freertos/cvitek/task/demo/Full_Demo/reg_test.S @@ -0,0 +1,565 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + + .global vRegTest1Implementation + .global vRegTest2Implementation + .extern ullRegTest1LoopCounter + .extern ullRegTest2LoopCounter + + .text + + /* This function is explained in the comments at the top of main-full.c. */ +.type vRegTest1Implementation, %function +vRegTest1Implementation: + + /* Fill each general purpose register with a known value. */ + mov x0, #0xff + mov x1, #0x01 + mov x2, #0x02 + mov x3, #0x03 + mov x4, #0x04 + mov x5, #0x05 + mov x6, #0x06 + mov x7, #0x07 + mov x8, #0x08 + mov x9, #0x09 + mov x10, #0x10 + mov x11, #0x11 + mov x12, #0x12 + mov x13, #0x13 + mov x14, #0x14 + mov x15, #0x15 + mov x16, #0x16 + mov x17, #0x17 + mov x18, #0x18 + mov x19, #0x19 + mov x20, #0x20 + mov x21, #0x21 + mov x22, #0x22 + mov x23, #0x23 + mov x24, #0x24 + mov x25, #0x25 + mov x26, #0x26 + mov x27, #0x27 + mov x28, #0x28 + mov x29, #0x29 + mov x30, #0x30 + + /* Fill each FPU register with a known value. */ + fmov v0.d[1], x0 + fmov d1, x1 + fmov d2, x2 + fmov d3, x3 + fmov d4, x4 + fmov d5, x5 + fmov d6, x6 + fmov d7, x7 + fmov d8, x8 + fmov d9, x9 + fmov d10, x10 + fmov d11, x11 + fmov d12, x12 + fmov d13, x13 + fmov d14, x14 + fmov d15, x15 + fmov d16, x16 + fmov d17, x17 + fmov d18, x18 + fmov d19, x19 + fmov d20, x20 + fmov d21, x21 + fmov d22, x22 + fmov d23, x23 + fmov d24, x24 + fmov d25, x25 + fmov d26, x26 + fmov d27, x27 + fmov d28, x28 + fmov d29, x29 + fmov v30.d[1], x30 + fmov d31, xzr + + /* Loop, checking each itteration that each register still contains the + expected value. */ +reg1_loop: + /* Yield to increase test coverage */ +#if 0 /* Do not change to EL3. It's no need to jump to EL3 vector. */ + SMC 0 +#endif + + /* Test each general purpose register to check that it still contains the + expected known value, jumping to reg1_error_loop if any register contains + an unexpected value. */ + cmp x0, #0xFF + bne reg1_error_loop + cmp x1, #0x01 + bne reg1_error_loop + cmp x2, #0x02 + bne reg1_error_loop + cmp x3, #0x03 + bne reg1_error_loop + cmp x4, #0x04 + bne reg1_error_loop + cmp x5, #0x05 + bne reg1_error_loop + cmp x6, #0x06 + bne reg1_error_loop + cmp x7, #0x07 + bne reg1_error_loop + cmp x8, #0x08 + bne reg1_error_loop + cmp x9, #0x09 + bne reg1_error_loop + cmp x10, #0x10 + bne reg1_error_loop + cmp x11, #0x11 + bne reg1_error_loop + cmp x12, #0x12 + bne reg1_error_loop + cmp x13, #0x13 + bne reg1_error_loop + cmp x14, #0x14 + bne reg1_error_loop + cmp x15, #0x15 + bne reg1_error_loop + cmp x16, #0x16 + bne reg1_error_loop + cmp x17, #0x17 + bne reg1_error_loop + cmp x18, #0x18 + bne reg1_error_loop + cmp x19, #0x19 + bne reg1_error_loop + cmp x20, #0x20 + bne reg1_error_loop + cmp x21, #0x21 + bne reg1_error_loop + cmp x22, #0x22 + bne reg1_error_loop + cmp x23, #0x23 + bne reg1_error_loop + cmp x24, #0x24 + bne reg1_error_loop + cmp x25, #0x25 + bne reg1_error_loop + cmp x26, #0x26 + bne reg1_error_loop + cmp x27, #0x27 + bne reg1_error_loop + cmp x28, #0x28 + bne reg1_error_loop + cmp x29, #0x29 + bne reg1_error_loop + cmp x30, #0x30 + bne reg1_error_loop + + /* Check every floating point register to ensure it contains the expected + value. First save the registers clobbered by the test. */ + stp x0, x1, [sp,#-0x10]! + + fmov x0, v0.d[1] + cmp x0, 0xff + bne reg1_error_loop + fmov x0, d1 + cmp x0, 0x01 + bne reg1_error_loop + fmov x0, d2 + cmp x0, 0x02 + bne reg1_error_loop + fmov x0, d3 + cmp x0, 0x03 + bne reg1_error_loop + fmov x0, d4 + cmp x0, 0x04 + bne reg1_error_loop + fmov x0, d5 + cmp x0, 0x05 + bne reg1_error_loop + fmov x0, d6 + cmp x0, 0x06 + bne reg1_error_loop + fmov x0, d7 + cmp x0, 0x07 + bne reg1_error_loop + fmov x0, d8 + cmp x0, 0x08 + bne reg1_error_loop + fmov x0, d9 + cmp x0, 0x09 + bne reg1_error_loop + fmov x0, d10 + cmp x0, 0x10 + bne reg1_error_loop + fmov x0, d11 + cmp x0, 0x11 + bne reg1_error_loop + fmov x0, d12 + cmp x0, 0x12 + bne reg1_error_loop + fmov x0, d13 + cmp x0, 0x13 + bne reg1_error_loop + fmov x0, d14 + cmp x0, 0x14 + bne reg1_error_loop + fmov x0, d15 + cmp x0, 0x15 + bne reg1_error_loop + fmov x0, d16 + cmp x0, 0x16 + bne reg1_error_loop + fmov x0, d17 + cmp x0, 0x17 + bne reg1_error_loop + fmov x0, d18 + cmp x0, 0x18 + bne reg1_error_loop + fmov x0, d19 + cmp x0, 0x19 + bne reg1_error_loop + fmov x0, d20 + cmp x0, 0x20 + bne reg1_error_loop + fmov x0, d21 + cmp x0, 0x21 + bne reg1_error_loop + fmov x0, d22 + cmp x0, 0x22 + bne reg1_error_loop + fmov x0, d23 + cmp x0, 0x23 + bne reg1_error_loop + fmov x0, d24 + cmp x0, 0x24 + bne reg1_error_loop + fmov x0, d25 + cmp x0, 0x25 + bne reg1_error_loop + fmov x0, d26 + cmp x0, 0x26 + bne reg1_error_loop + fmov x0, d27 + cmp x0, 0x27 + bne reg1_error_loop + fmov x0, d28 + cmp x0, 0x28 + bne reg1_error_loop + fmov x0, d29 + cmp x0, 0x29 + bne reg1_error_loop + fmov x0, v30.d[1] + cmp x0, 0x30 + bne reg1_error_loop + fmov x0, d31 + cmp x0, 0x00 + bne reg1_error_loop + + /* Restore the registers clobbered by the test. */ + ldp x0, x1, [sp], #0x10 + + /* Everything passed, increment the loop counter. */ + stp x0, x1, [sp,#-0x10]! + ldr x0, =ullRegTest1LoopCounter + ldr x1, [x0] + adds x1, x1, #1 + str x1, [x0] + ldp x0, x1, [sp], #0x10 + + /* Start again. */ + b reg1_loop + +reg1_error_loop: + /* If this line is hit then there was an error in a core register value. + The loop ensures the loop counter stops incrementing. */ + b reg1_error_loop + nop + +/*-----------------------------------------------------------*/ + +.type vRegTest2Implementation, %function +vRegTest2Implementation: + + /* Fill each general purpose register with a known value. */ + mov x0, #0xff0 + mov x1, #0x010 + mov x2, #0x020 + mov x3, #0x030 + mov x4, #0x040 + mov x5, #0x050 + mov x6, #0x060 + mov x7, #0x070 + mov x8, #0x080 + mov x9, #0x090 + mov x10, #0x100 + mov x11, #0x110 + mov x12, #0x120 + mov x13, #0x130 + mov x14, #0x140 + mov x15, #0x150 + mov x16, #0x160 + mov x17, #0x170 + mov x18, #0x180 + mov x19, #0x190 + mov x20, #0x200 + mov x21, #0x210 + mov x22, #0x220 + mov x23, #0x230 + mov x24, #0x240 + mov x25, #0x250 + mov x26, #0x260 + mov x27, #0x270 + mov x28, #0x280 + mov x29, #0x290 + mov x30, #0x300 + + /* Fill each FPU register with a known value. */ + fmov d0, x0 + fmov d1, x1 + fmov d2, x2 + fmov d3, x3 + fmov d4, x4 + fmov d5, x5 + fmov d6, x6 + fmov d7, x7 + fmov d8, x8 + fmov d9, x9 + fmov v10.d[1], x10 + fmov d11, x11 + fmov d12, x12 + fmov d13, x13 + fmov d14, x14 + fmov d15, x15 + fmov d16, x16 + fmov d17, x17 + fmov d18, x18 + fmov d19, x19 + fmov d20, x20 + fmov d21, x21 + fmov d22, x22 + fmov d23, x23 + fmov d24, x24 + fmov d25, x25 + fmov d26, x26 + fmov v27.d[1], x27 + fmov d28, x28 + fmov d29, x29 + fmov d30, x30 + fmov d31, x0 + + /* Loop, checking each itteration that each register still contains the + expected value. */ +reg2_loop: + + /* Test each general purpose register to check that it still contains the + expected known value, jumping to reg2_error_loop if any register contains + an unexpected value. */ + cmp x0, #0xFF0 + bne reg2_error_loop + cmp x1, #0x010 + bne reg2_error_loop + cmp x2, #0x020 + bne reg2_error_loop + cmp x3, #0x030 + bne reg2_error_loop + cmp x4, #0x040 + bne reg2_error_loop + cmp x5, #0x050 + bne reg2_error_loop + cmp x6, #0x060 + bne reg2_error_loop + cmp x7, #0x070 + bne reg2_error_loop + cmp x8, #0x080 + bne reg2_error_loop + cmp x9, #0x090 + bne reg2_error_loop + cmp x10, #0x100 + bne reg2_error_loop + cmp x11, #0x110 + bne reg2_error_loop + cmp x12, #0x120 + bne reg2_error_loop + cmp x13, #0x130 + bne reg2_error_loop + cmp x14, #0x140 + bne reg2_error_loop + cmp x15, #0x150 + bne reg2_error_loop + cmp x16, #0x160 + bne reg2_error_loop + cmp x17, #0x170 + bne reg2_error_loop + cmp x18, #0x180 + bne reg2_error_loop + cmp x19, #0x190 + bne reg2_error_loop + cmp x20, #0x200 + bne reg2_error_loop + cmp x21, #0x210 + bne reg2_error_loop + cmp x22, #0x220 + bne reg2_error_loop + cmp x23, #0x230 + bne reg2_error_loop + cmp x24, #0x240 + bne reg2_error_loop + cmp x25, #0x250 + bne reg2_error_loop + cmp x26, #0x260 + bne reg2_error_loop + cmp x27, #0x270 + bne reg2_error_loop + cmp x28, #0x280 + bne reg2_error_loop + cmp x29, #0x290 + bne reg2_error_loop + cmp x30, #0x300 + bne reg2_error_loop + + /* Check every floating point register to ensure it contains the expected + value. First save the registers clobbered by the test. */ + stp x0, x1, [sp,#-0x10]! + + fmov x0, d0 + cmp x0, 0xff0 + bne reg1_error_loop + fmov x0, d1 + cmp x0, 0x010 + bne reg1_error_loop + fmov x0, d2 + cmp x0, 0x020 + bne reg1_error_loop + fmov x0, d3 + cmp x0, 0x030 + bne reg1_error_loop + fmov x0, d4 + cmp x0, 0x040 + bne reg1_error_loop + fmov x0, d5 + cmp x0, 0x050 + bne reg1_error_loop + fmov x0, d6 + cmp x0, 0x060 + bne reg1_error_loop + fmov x0, d7 + cmp x0, 0x070 + bne reg1_error_loop + fmov x0, d8 + cmp x0, 0x080 + bne reg1_error_loop + fmov x0, d9 + cmp x0, 0x090 + bne reg1_error_loop + fmov x0, v10.d[1] + cmp x0, 0x100 + bne reg1_error_loop + fmov x0, d11 + cmp x0, 0x110 + bne reg1_error_loop + fmov x0, d12 + cmp x0, 0x120 + bne reg1_error_loop + fmov x0, d13 + cmp x0, 0x130 + bne reg1_error_loop + fmov x0, d14 + cmp x0, 0x140 + bne reg1_error_loop + fmov x0, d15 + cmp x0, 0x150 + bne reg1_error_loop + fmov x0, d16 + cmp x0, 0x160 + bne reg1_error_loop + fmov x0, d17 + cmp x0, 0x170 + bne reg1_error_loop + fmov x0, d18 + cmp x0, 0x180 + bne reg1_error_loop + fmov x0, d19 + cmp x0, 0x190 + bne reg1_error_loop + fmov x0, d20 + cmp x0, 0x200 + bne reg1_error_loop + fmov x0, d21 + cmp x0, 0x210 + bne reg1_error_loop + fmov x0, d22 + cmp x0, 0x220 + bne reg1_error_loop + fmov x0, d23 + cmp x0, 0x230 + bne reg1_error_loop + fmov x0, d24 + cmp x0, 0x240 + bne reg1_error_loop + fmov x0, d25 + cmp x0, 0x250 + bne reg1_error_loop + fmov x0, d26 + cmp x0, 0x260 + bne reg1_error_loop + fmov x0, v27.d[1] + cmp x0, 0x270 + bne reg1_error_loop + fmov x0, d28 + cmp x0, 0x280 + bne reg1_error_loop + fmov x0, d29 + cmp x0, 0x290 + bne reg1_error_loop + fmov x0, d30 + cmp x0, 0x300 + bne reg1_error_loop + fmov x0, d31 + cmp x0, 0xff0 + bne reg1_error_loop + + /* Restore the registers clobbered by the test. */ + ldp x0, x1, [sp], #0x10 + + /* Everything passed, increment the loop counter. */ + stp x0, x1, [sp,#-0x10]! + ldr x0, =ullRegTest2LoopCounter + ldr x1, [x0] + adds x1, x1, #1 + str x1, [x0] + ldp x0, x1, [sp], #0x10 + + /* Start again. */ + b reg2_loop + +reg2_error_loop: + /* If this line is hit then there was an error in a core register value. + The loop ensures the loop counter stops incrementing. */ + b reg2_error_loop + nop + + .end + diff --git a/freertos/cvitek/task/demo/POSIX_Demo/CMakeLists.txt b/freertos/cvitek/task/demo/POSIX_Demo/CMakeLists.txt new file mode 100644 index 000000000..4030dcb2b --- /dev/null +++ b/freertos/cvitek/task/demo/POSIX_Demo/CMakeLists.txt @@ -0,0 +1,15 @@ +set(KERNEL_SOURCE ${TOP_DIR}/../Source) + +file(GLOB _SOURCES "*.c") + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__BUILD_RTOS_KERNEL__") + +include_directories(".") +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel/FreeRTOS_POSIX) + +add_library(demo STATIC ${_SOURCES}) +install(TARGETS demo DESTINATION lib) + diff --git a/freertos/cvitek/task/demo/POSIX_Demo/main_posix.c b/freertos/cvitek/task/demo/POSIX_Demo/main_posix.c new file mode 100644 index 000000000..5b7ce17d6 --- /dev/null +++ b/freertos/cvitek/task/demo/POSIX_Demo/main_posix.c @@ -0,0 +1,121 @@ +/* + * FreeRTOS POSIX Demo V1.0.0 + * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* + ****************************************************************************** + * -NOTE- The Win32 port is a simulation (or is that emulation?) only! Do not + * expect to get real time behaviour from the Win32 port or this demo + * application. It is provided as a convenient development and demonstration + * test bed only. This was tested using Windows 10 with Intel Core i7-6700 CPU. + * + * Windows will not be running the FreeRTOS simulator threads continuously, so + * the timing information has no meaningful units. See the documentation page for + * the Windows simulator for an explanation of the slow timing: + * http://www.freertos.org/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html + * - READ THE WEB DOCUMENTATION FOR THIS PORT FOR MORE INFORMATION ON USING IT - + * + * Documentation for this demo can be found on: + * http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/demo/posix_demo.html + */ + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* FreeRTOS+POSIX. */ +#include "FreeRTOS_POSIX/unistd.h" + +/* System headers */ +#include <stdio.h> + +/* demo include */ +#include "posix_demo.h" + +/* Demo task priority */ +#define mainPOSIX_DEMO_PRIORITY (tskIDLE_PRIORITY + 4) + +/*-----------------------------------------------------------*/ + +int main_posix(void) +{ + TickType_t xLastExecutionTime; + + configASSERT((mainPOSIX_DEMO_PRIORITY < configMAX_PRIORITIES)); + + const uint32_t ulLongTime_ms = pdMS_TO_TICKS(1000UL); + + printf("FreeRTOS POSIX demo\n"); + + /* Start the task to run POSIX demo */ + xTaskCreate(vStartPOSIXDemo, "posix", configMINIMAL_STACK_SIZE, NULL, + mainPOSIX_DEMO_PRIORITY, NULL); + + vTaskStartScheduler(); + + /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil() + works correctly. */ + xLastExecutionTime = xTaskGetTickCount(); + + /* If all is well, the scheduler will now be running, and the following + * line will never be reached. If the following line does execute, then + * there was insufficient FreeRTOS heap memory available for the idle and/or + * timer tasks to be created. See the memory management section on the + * FreeRTOS web site for more details (this is standard text that is not + * really applicable to the Win32 simulator port). */ + for (;;) { + /* Delay until it is time to execute again. */ + vTaskDelayUntil(&xLastExecutionTime, ulLongTime_ms); + } + + return 0; +} + +/*-----------------------------------------------------------*/ + +void vAssertCalled(const char *pcFile, uint32_t ulLine) +{ + const uint32_t ulLongSleep = 1000UL; + volatile uint32_t ulBlockVariable = 0UL; + volatile char *pcFileName = (volatile char *)pcFile; + volatile uint32_t ulLineNumber = ulLine; + + (void)pcFileName; + (void)ulLineNumber; + + printf("vAssertCalled %s, %ld\n", pcFile, (long)ulLine); + fflush(stdout); + + /* Setting ulBlockVariable to a non-zero value in the debugger will allow + * this function to be exited. */ + taskDISABLE_INTERRUPTS(); + { + while (ulBlockVariable == 0UL) { + sleep(ulLongSleep); + } + } + taskENABLE_INTERRUPTS(); +} diff --git a/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.c b/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.c new file mode 100644 index 000000000..cbde3f291 --- /dev/null +++ b/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.c @@ -0,0 +1,374 @@ +/* + * Amazon FreeRTOS POSIX Demo V1.4.2 + * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://aws.amazon.com/freertos + * http://www.FreeRTOS.org + */ + +/** + * @brief Demo intro: job distribution with actor model. + * + * This demo simulates job distribution with actor model. + * https://en.wikipedia.org/wiki/Actor_model + * + * In this demo, vStartPOSIXDemo() first creates all mailboxes + * which will be used by actors to send and receive messages. + * Then it spins up two types of actors -- Dispatcher and Workers. + * + * Dispatcher -- Distributing sub-tasks to workers. + * Distribution is done by putting messages into each worker's inbox, + * which is essentially an mqueue. Dispatcher keeps distributing tasks + * until all intended tasks are distributed. + * + * Workers -- Take sub-tasks and perform predefined routine for each type of tasks. + * + * Upon finishing distributing all tasks, Dispatcher will send a "terminate" message to + * each worker. vStartPOSIXDemo() will then join all actor threads and clean up mailboxes. + * + * @note A few assumptions are made in this demo, which a user might have to alter + * if to adopt this model in a new application: + * + * - The upper limit for MQUEUE_NUMBER_OF_WORKERS is set to 10. + * This is not due to physical constraint (e.g. memory), rather to make queue + * names end with a single digit number. + * + * - Message enum is cast to char/uint8_t directly, with the assumption that + * the system is not going to have more than 254 messages, which is often true + * in practice. Could extend bits used in a message to either have more messages + * or include additional arguments for a message. Proper typecasting is needed + * in that case. + * + * - The philosophy is "failure is expected". It is shown in both the way dispatcher + * delivers messages (i.e. messages can be dropped by worker(s)), and also the + * way workers process messages (i.e. workers do not inform dispatcher success or + * failure). + * + * - Following the philosophy, dispatcher shall never use blocking calls to distribute + * tasks. The only exception made here is that dispatcher needs to make sure the + * successful delivery of "terminate" messages. So that, main thread could join + * all actor threads and finish the demo. + */ + +/* FreeRTOS includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* FreeRTOS+POSIX. */ +#include "FreeRTOS_POSIX/pthread.h" +#include "FreeRTOS_POSIX/mqueue.h" +#include "FreeRTOS_POSIX/time.h" +#include "FreeRTOS_POSIX/fcntl.h" +#include "FreeRTOS_POSIX/errno.h" +#include "FreeRTOS_POSIX/unistd.h" + +/* System headers */ +#include <stdbool.h> +#include <string.h> +#include <stdio.h> + +/* Demo includes. */ +#include "posix_demo.h" + +/* Constants */ +#define LINE_BREAK "\r\n" + +/** + * @brief Control messages. + * + * uint8_t is sufficient for this enum, that we are going to cast to char directly. + * If ever needed, implement a function to properly typecast. + */ +/**@{ */ +typedef enum ControlMessage { + eMSG_LOWER_INAVLID = + 0x00, /**< Guard, let's not use 0x00 for messages. */ + eWORKER_CTRL_MSG_CONTINUE = + 0x01, /**< Dispatcher to worker, distributing another job. */ + eWORKER_CTRL_MSG_EXIT = + 0x02, /**< Dispatcher to worker, all jobs are finished and the worker receiving such can exit. */ + + /* define additional messages here */ + + eMSG_UPPER_INVALID = + 0xFF /**< Guard, additional tasks shall be defined above. */ +} eControlMessage; +/**@} */ + +/** + * @defgroup Configuration constants for the dispatcher-worker demo. + */ +/**@{ */ +#define MQUEUE_NUMBER_OF_WORKERS \ + (4) /**< The number of worker threads, each thread has one queue which is used as income box. */ + +#if (MQUEUE_NUMBER_OF_WORKERS > 10) +#error "Please keep MQUEUE_NUMBER_OF_WORKERS < 10." +#endif + +#define MQUEUE_WORKER_QNAME_BASE "/qNode0" /**< Queue name base. */ +#define MQUEUE_WORKER_QNAME_BASE_LEN (6) /** Queue name base length. */ + +#define MQUEUE_TIMEOUT_SECONDS \ + (1) /**< Relative timeout for mqueue functions. */ +#define MQUEUE_MAX_NUMBER_OF_MESSAGES_WORKER \ + (1) /**< Maximum number of messages in a queue. */ + +#define MQUEUE_MSG_WORKER_CTRL_MSG_SIZE \ + sizeof(uint8_t) /**< Control message size. */ +#define DEMO_ERROR (-1) /**< Any non-zero value would work. */ +/**@} */ + +/** + * @brief Structure used by Worker thread. + */ +/**@{ */ +typedef struct WorkerThreadResources { + pthread_t pxID; /**< thread ID. */ + mqd_t xInboxID; /**< mqueue inbox ID. */ +} WorkerThreadResources_t; +/**@} */ + +/** + * @brief Structure used by Dispatcher thread. + */ +/**@{ */ +typedef struct DispatcherThreadResources { + pthread_t pxID; /**< thread ID. */ + mqd_t *pOutboxID; /**< a list of mqueue outbox ID. */ +} DispatcherThreadResources_t; +/**@} */ + +/*-----------------------------------------------------------*/ + +static void *prvWorkerThread(void *pvArgs) +{ + WorkerThreadResources_t pArgList = *(WorkerThreadResources_t *)pvArgs; + + printf("Worker thread #[%d] - start %s", (int)pArgList.pxID, + LINE_BREAK); + + struct timespec xReceiveTimeout = { 0 }; + + ssize_t xMessageSize = 0; + char pcReceiveBuffer[MQUEUE_MSG_WORKER_CTRL_MSG_SIZE] = { 0 }; + + /* This is a worker thread that reacts based on what is sent to its inbox (mqueue). */ + while (true) { + clock_gettime(CLOCK_REALTIME, &xReceiveTimeout); + xReceiveTimeout.tv_sec += MQUEUE_TIMEOUT_SECONDS; + + xMessageSize = mq_receive(pArgList.xInboxID, pcReceiveBuffer, + MQUEUE_MSG_WORKER_CTRL_MSG_SIZE, 0); + + /* Parse messages */ + if (xMessageSize == MQUEUE_MSG_WORKER_CTRL_MSG_SIZE) { + switch ((int)pcReceiveBuffer[0]) { + case eWORKER_CTRL_MSG_CONTINUE: + /* Task branch, currently only prints message to screen. */ + /* Could perform tasks here. Could also notify dispatcher upon completion, if desired. */ + printf("Worker thread #[%d] -- Received eWORKER_CTRL_MSG_CONTINUE %s", + (int)pArgList.pxID, LINE_BREAK); + break; + + case eWORKER_CTRL_MSG_EXIT: + printf("Worker thread #[%d] -- Finished. Exit now. %s", + (int)pArgList.pxID, LINE_BREAK); + + return NULL; + + default: + /* Received a message that we don't care or not defined. */ + break; + } + } else { + /* Invalid message. Error handling can be done here, if desired. */ + } + } + + /* You should never hit here. */ + /* return NULL; */ +} + +/*-----------------------------------------------------------*/ + +static void *prvDispatcherThread(void *pvArgs) +{ + DispatcherThreadResources_t pArgList = + *(DispatcherThreadResources_t *)pvArgs; + + printf("Dispatcher thread - start %s", LINE_BREAK); + + struct timespec xSendTimeout = { 0 }; + + ssize_t xMessageSize = 0; + char pcSendBuffer[MQUEUE_MSG_WORKER_CTRL_MSG_SIZE] = { 0 }; + + /* Just for fun, let threads do a total of 100 independent tasks. */ + int i = 0; + const int totalNumOfJobsPerThread = 100; + + /* Distribute 1000 independent tasks to workers, in round-robin fashion. */ + pcSendBuffer[0] = (char)eWORKER_CTRL_MSG_CONTINUE; + + for (i = 0; i < totalNumOfJobsPerThread; i++) { + clock_gettime(CLOCK_REALTIME, &xSendTimeout); + xSendTimeout.tv_sec += MQUEUE_TIMEOUT_SECONDS; + + printf("Dispatcher iteration #[%d] -- Sending msg to worker thread #[%d]. %s", + i, (int)pArgList.pOutboxID[i % MQUEUE_NUMBER_OF_WORKERS], + LINE_BREAK); + + xMessageSize = mq_timedsend( + pArgList.pOutboxID[i % MQUEUE_NUMBER_OF_WORKERS], + pcSendBuffer, MQUEUE_MSG_WORKER_CTRL_MSG_SIZE, 0, + &xSendTimeout); + + if (xMessageSize != 0) { + /* This error is acceptable in our setup. + * Since inbox for each thread fits only one message. + * In reality, balance inbox size, message arrival rate, and message drop rate. */ + printf("An acceptable failure -- dispatcher failed to send eWORKER_CTRL_MSG_CONTINUE to outbox ID: %x. errno %d %s", + (int)pArgList + .pOutboxID[i % MQUEUE_NUMBER_OF_WORKERS], + errno, LINE_BREAK); + } + } + + /* Control thread is now done with distributing jobs. Tell workers they are done. */ + pcSendBuffer[0] = (char)eWORKER_CTRL_MSG_EXIT; + + for (i = 0; i < MQUEUE_NUMBER_OF_WORKERS; i++) { + printf("Dispatcher [%d] -- Sending eWORKER_CTRL_MSG_EXIT to worker thread #[%d]. %s", + i, (int)pArgList.pOutboxID[i % MQUEUE_NUMBER_OF_WORKERS], + LINE_BREAK); + + /* This is a blocking call, to guarantee worker thread exits. */ + xMessageSize = mq_send( + pArgList.pOutboxID[i % MQUEUE_NUMBER_OF_WORKERS], + pcSendBuffer, MQUEUE_MSG_WORKER_CTRL_MSG_SIZE, 0); + } + + return NULL; +} + +/*-----------------------------------------------------------*/ + +/** + * @brief Job distribution with actor model. + * + * See the top of this file for detailed description. + */ +void vStartPOSIXDemo(void *pvParameters) +{ + int i = 0; + int iStatus = 0; + + printf("Run Task:vStartPOSIXDemo\n"); + /* Remove warnings about unused parameters. */ + (void)pvParameters; + + /* Handles of the threads and related resources. */ + DispatcherThreadResources_t pxDispatcher = { 0 }; + WorkerThreadResources_t pxWorkers[MQUEUE_NUMBER_OF_WORKERS] = { { 0 } }; + mqd_t workerMqueues[MQUEUE_NUMBER_OF_WORKERS] = { 0 }; + + struct mq_attr xQueueAttributesWorker = { + .mq_flags = 0, + .mq_maxmsg = MQUEUE_MAX_NUMBER_OF_MESSAGES_WORKER, + .mq_msgsize = MQUEUE_MSG_WORKER_CTRL_MSG_SIZE, + .mq_curmsgs = 0 + }; + + pxDispatcher.pOutboxID = workerMqueues; + + /* Create message queues for each worker thread. */ + for (i = 0; i < MQUEUE_NUMBER_OF_WORKERS; i++) { + /* Prepare a unique queue name for each worker. */ + char qName[] = MQUEUE_WORKER_QNAME_BASE; + qName[MQUEUE_WORKER_QNAME_BASE_LEN - 1] = + qName[MQUEUE_WORKER_QNAME_BASE_LEN - 1] + i; + + /* Open a queue with -- + * O_CREAT -- create a message queue. + * O_RDWR -- both receiving and sending messages. + */ + pxWorkers[i].xInboxID = + mq_open(qName, O_CREAT | O_RDWR, (mode_t)0, + &xQueueAttributesWorker); + + if (pxWorkers[i].xInboxID == (mqd_t)-1) { + printf("Invalid inbox (mqueue) for worker. %s", + LINE_BREAK); + iStatus = DEMO_ERROR; + break; + } + + /* Outboxes of dispatcher thread is the inboxes of all worker threads. */ + pxDispatcher.pOutboxID[i] = pxWorkers[i].xInboxID; + } + + /* Create and start Worker threads. */ + if (iStatus == 0) { + for (i = 0; i < MQUEUE_NUMBER_OF_WORKERS; i++) { + (void)pthread_create(&(pxWorkers[i].pxID), NULL, + prvWorkerThread, &pxWorkers[i]); + } + + /* Create and start dispatcher thread. */ + (void)pthread_create(&(pxDispatcher.pxID), NULL, + prvDispatcherThread, &pxDispatcher); + + /* Actors will do predefined tasks in threads. Current implementation is that + * dispatcher actor notifies worker actors to terminate upon finishing distributing tasks. */ + + /* Wait for worker threads to join. */ + for (i = 0; i < MQUEUE_NUMBER_OF_WORKERS; i++) { + (void)pthread_join(pxWorkers[i].pxID, NULL); + } + + /* Wait for dispatcher thread to join. */ + (void)pthread_join(pxDispatcher.pxID, NULL); + } + + /* Close and unlink worker message queues. */ + for (i = 0; i < MQUEUE_NUMBER_OF_WORKERS; i++) { + char qName[] = MQUEUE_WORKER_QNAME_BASE; + qName[MQUEUE_WORKER_QNAME_BASE_LEN - 1] = + qName[MQUEUE_WORKER_QNAME_BASE_LEN - 1] + i; + + if (pxWorkers[i].xInboxID != 0) { + (void)mq_close(pxWorkers[i].xInboxID); + (void)mq_unlink(qName); + } + } + + /* Have something on console. */ + if (iStatus == 0) { + printf("All threads finished. %s", LINE_BREAK); + } else { + printf("Queues did not get initialized properly. Did not run demo. %s", + LINE_BREAK); + } + + /* This task was created with the native xTaskCreate() API function, so + must not run off the end of its implementing thread. */ + vTaskDelete(NULL); +} diff --git a/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.h b/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.h new file mode 100644 index 000000000..e2afe18ff --- /dev/null +++ b/freertos/cvitek/task/demo/POSIX_Demo/posix_demo.h @@ -0,0 +1,32 @@ +/* + * FreeRTOS Kernel V10.0.1 + * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef _POSIX_DEMO_H_ +#define _POSIX_DEMO_H_ +void vStartPOSIXDemo(void *pvParameters); + +#endif /* _POSIX_DEMO_H_ */ \ No newline at end of file diff --git a/freertos/cvitek/task/isp/CMakeLists.txt b/freertos/cvitek/task/isp/CMakeLists.txt new file mode 100644 index 000000000..8ca059af0 --- /dev/null +++ b/freertos/cvitek/task/isp/CMakeLists.txt @@ -0,0 +1,123 @@ +#file(GLOB _SOURCES "src/${CHIP}/*.c") +file(GLOB _SOURCES "isp/algo/ae/*.c" + "isp/algo/awb/*.c" + #"isp/${CHIP}/isp/src/*.c" + "isp/${CHIP}/isp/src/isp_lut.c" + "isp/${CHIP}/isp/src/isp_sts_ctrl.c" + "isp/${CHIP}/isp/src/isp_mw_compat.c" + "isp/${CHIP}/isp/src/isp_presharpen_ctrl.c" + "isp/${CHIP}/isp/src/isp_drc_ctrl.c" + "isp/${CHIP}/isp/src/isp_ccm_ctrl.c" + #"isp/${CHIP}/isp/src/isp_mailbox.c" + "isp/${CHIP}/isp/src/isp_mlsc_ctrl.c" + "isp/${CHIP}/isp/src/isp_dehaze_ctrl.c" + "isp/${CHIP}/isp/src/isp_blc_ctrl.c" + "isp/${CHIP}/isp/src/isp_rgbcac_ctrl.c" + "isp/${CHIP}/isp/src/isp_interpolate.c" + "isp/${CHIP}/isp/src/isp_feature_ctrl.c" + "isp/${CHIP}/isp/src/isp_3a.c" + "isp/${CHIP}/isp/src/isp_crosstalk_ctrl.c" + "isp/${CHIP}/isp/src/isp_tun_buf_ctrl.c" + #"isp/${CHIP}/isp/src/isp_rlsc_ctrl.c" + #"isp/${CHIP}/isp/src/isp_peri_ctrl.c" + "isp/${CHIP}/isp/src/isp_bnr_ctrl.c" + "isp/${CHIP}/isp/src/cvi_isp.c" + #"isp/${CHIP}/isp/src/isp_param_default.c" + "isp/${CHIP}/isp/src/isp_demosaic_ctrl.c" + "isp/${CHIP}/isp/src/isp_dpc_ctrl.c" + #"isp/${CHIP}/isp/src/isp_proc.c" + "isp/${CHIP}/isp/src/isp_csc_ctrl.c" + "isp/${CHIP}/isp/src/isp_cnr_ctrl.c" + "isp/${CHIP}/isp/src/isp_ca2_ctrl.c" + #"isp/${CHIP}/isp/src/isp_debug.c" + "isp/${CHIP}/isp/src/isp_sensor.c" + "isp/${CHIP}/isp/src/isp_ycontrast_ctrl.c" + "isp/${CHIP}/isp/src/isp_dci_ctrl.c" + "isp/${CHIP}/isp/src/isp_ldci_ctrl.c" + "isp/${CHIP}/isp/src/isp_cac_ctrl.c" + "isp/${CHIP}/isp/src/isp_lcac_ctrl.c" + #"isp/${CHIP}/isp/src/isp_motion_ctrl.c" + "isp/${CHIP}/isp/src/isp_wb_ctrl.c" + "isp/${CHIP}/isp/src/isp_ynr_ctrl.c" + "isp/${CHIP}/isp/src/isp_tnr_ctrl.c" + "isp/${CHIP}/isp/src/isp_ca_ctrl.c" + "isp/${CHIP}/isp/src/isp_mono_ctrl.c" + #"isp/${CHIP}/isp/src/isp_clut_ctrl.c" + "isp/${CHIP}/isp/src/isp_gamma_ctrl.c" + #"isp/${CHIP}/isp/src/isp_dis_ctrl.c" + "isp/${CHIP}/isp/src/isp_flow_ctrl.c" + "isp/${CHIP}/isp/src/isp_fswdr_ctrl.c" + "isp/${CHIP}/isp/src/isp_sharpen_ctrl.c" + + "isp/${CHIP}/isp_algo/src/isp_algo_gamma.c" + "isp/${CHIP}/isp_algo/src/isp_algo_fswdr.c" + "isp/${CHIP}/isp_algo/src/isp_algo_csc.c" + #"isp/${CHIP}/isp_algo/src/isp_algo_clut.c" + "isp/${CHIP}/isp_algo/src/isp_algo_bnr.c" + "isp/${CHIP}/isp_algo/src/isp_algo_blc.c" + "isp/${CHIP}/isp_algo/src/isp_algo_drc.c" + "isp/${CHIP}/isp_algo/src/isp_algo_dci.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ldci.c" + "isp/${CHIP}/isp_algo/src/isp_algo_sharpen.c" + "isp/${CHIP}/isp_algo/src/isp_algo_cnr.c" + "isp/${CHIP}/isp_algo/src/isp_algo_rgbcac.c" + #"isp/${CHIP}/isp_algo/src/isp_algo_dpc.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ycontrast.c" + "isp/${CHIP}/isp_algo/src/isp_algo_demosaic.c" + "isp/${CHIP}/isp_algo/src/isp_algo_wb.c" + "isp/${CHIP}/isp_algo/src/isp_algo_presharpen.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ca.c" + #"isp/${CHIP}/isp_algo/src/pchip.c" + "isp/${CHIP}/isp_algo/src/isp_algo_crosstalk.c" + "isp/${CHIP}/isp_algo/src/isp_algo_dehaze.c" + "isp/${CHIP}/isp_algo/src/isp_algo_mono.c" + "isp/${CHIP}/isp_algo/src/isp_algo_tnr.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ccm.c" + "isp/${CHIP}/isp_algo/src/isp_algo_cac.c" + "isp/${CHIP}/isp_algo/src/isp_algo_lcac.c" + #"isp/${CHIP}/isp_algo/src/isp_algo_motion.c" + "isp/${CHIP}/isp_algo/src/isp_algo_utility.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ynr.c" + "isp/${CHIP}/isp_algo/src/isp_algo_mlsc.c" + #"isp/${CHIP}/isp_algo/src/dpcm_api.c" + "isp/${CHIP}/isp_algo/src/isp_algo_debug.c" + #"isp/${CHIP}/isp_algo/src/isp_algo_dis.c" + "isp/${CHIP}/isp_algo/src/isp_algo_ca2.c" + "isp/${CHIP}/isp_algo/src/pchip.c" + "isp/${CHIP}/isp_algo/src/isp_iir_api.c" + + "src/${RUN_ARCH}/*.c" + "isp/${CHIP}/isp/src/isp_mgr_buf.c" + + "isp/${CHIP}/rtos_isp/rtos_isp_mgr.c" +) + + + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/vi) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) +include_directories(../comm/include) + +include_directories(isp/include/${CHIP}/) +include_directories(isp/${CHIP}/isp/inc/) +include_directories(isp/${CHIP}/isp/src/) +include_directories(isp/${CHIP}/isp_algo/inc/) +include_directories(isp/${CHIP}/rtos_isp/) + +# include_directories(tmp_inc/) + +if (CONFIG_CHIP_ARCH_cv181x STREQUAL "y" OR CONFIG_CHIP_ARCH_cv180x STREQUAL "y") +add_compile_definitions(ARCH_RTOS_CV181X) +endif() + +add_library(isp STATIC ${_SOURCES}) +install(TARGETS isp DESTINATION lib) diff --git a/freertos/cvitek/task/isp/src/cv1835/cvi_isp.c b/freertos/cvitek/task/isp/src/cv1835/cvi_isp.c new file mode 100644 index 000000000..7f6eff7f5 --- /dev/null +++ b/freertos/cvitek/task/isp/src/cv1835/cvi_isp.c @@ -0,0 +1,4284 @@ +#include "linux/types.h" +//#include <stdio.h> +//#include <stdlib.h> +#include <string.h> +//#include <stdint.h> +#include <stdbool.h> +#include "FreeRTOS_POSIX.h" +#include <FreeRTOS_POSIX/errno.h> +#include "FreeRTOS_POSIX/pthread.h" +//#include <unistd.h> // for usleep +#include "linux/ioctl.h" +#include "linux/fs.h" +//#include <linux/fcntl.h> +//#include <sys/stat.h> + +//#include "cvi_base.h" +//#include "cvi_isp.h" +//#include "isp_main.h" +//#include "isp_debug.h" +//#include "isp_defines.h" +//#include "isp_dpc.h" +//#include "isp_defaults.h" +//#include "isp_buf_ctrl.h" +//#include "isp_mock.h" +//#include "cvi_base.h" +//#include "cvi_sys.h" +//#include "isp_3a.h" +//#include "isp_version.h" +//#include "linux/cvi_vip.h" +//#include "linux/cvi_vip_isp.h" +//#include "linux/cvi_vip_tun_cfg.h" +//#include "ioctl_isp.h" +#include "cvi_sns_ctrl.h" +#include "linux/errno.h" + +//#include "isp_ipc.h" +//#include "cvi_pqbin.h" + +//#define TUNING_FOR_DUAL_SENSOR_READY 0 // TODO@Kidd fix this + +#define PRINT_ATTR_AUTO 0 +#define PRINT_ATTR(attr, reg, min, max) ISP_DEBUG(LOG_DEBUG, "%s(%s) [%d-%d] = %d\n", #attr, #reg, min, max, attr) +#if 0 +ISP_CTX_S g_astIspCtx[VI_MAX_PIPE_NUM] = { { 0 } }; + +ISP_PARAMETER_BUFFER g_param[VI_MAX_PIPE_NUM]; +CVI_BOOL g_isp_debug_print_mpi = 1; +CVI_BOOL g_isp_debug_diff_only = 1; +CVI_BOOL g_isp_thread_run = CVI_FALSE; + +// AE/AWB Debug callback function +ISP_AE_DEBUG_FUNC_S aeAlgoInternalLibReg[VI_MAX_PIPE_NUM] = { + [0 ... VI_MAX_PIPE_NUM - 1].pfn_ae_dumplog = NULL, + [0 ... VI_MAX_PIPE_NUM - 1].pfn_ae_setdumplogpath = NULL +}; + +ISP_AWB_DEBUG_FUNC_S awbAlgoInternalLibReg[VI_MAX_PIPE_NUM] = { + [0 ... VI_MAX_PIPE_NUM - 1].pfn_awb_dumplog = NULL, + [0 ... VI_MAX_PIPE_NUM - 1].pfn_awb_setdumplogpath = NULL +}; + +static CVI_S32 __subscribe_event(CVI_S32 fd, CVI_U32 event) +{ + struct v4l2_event_subscription sub; + CVI_S32 ret = 0; + + memset(&sub, 0, sizeof(sub)); + sub.type = event; + + ret = ioctl(fd, VIDIOC_SUBSCRIBE_EVENT, &sub); + if (ret != 0) { + ISP_DEBUG(LOG_ERR, "IOCTL subscribe event fail, %d %s\n", errno, strerror(errno)); + return ret; + } + + return ret; +} + +static CVI_S32 __unsubscribe_event(CVI_S32 fd, CVI_U32 event) +{ + struct v4l2_event_subscription sub; + CVI_S32 ret; + + memset(&sub, 0, sizeof(sub)); + sub.type = event; + + ret = ioctl(fd, VIDIOC_UNSUBSCRIBE_EVENT, &sub); + if (ret != 0) { + ISP_DEBUG(LOG_ERR, "IOCTL unsubscribe event fail, %d %s\n", errno, strerror(errno)); + return ret; + } + + return ret; +} + +static CVI_S32 check_enable_debug_message_to_stdout(void) +{ +#define ENV_DEBUG_MESSAGE_TO_STDOUT "ISP_ENABLE_STDOUT_DEBUG" + char *pszEnv = getenv(ENV_DEBUG_MESSAGE_TO_STDOUT); + char *pszEnd = NULL; + + if (pszEnv == NULL) + return CVI_FAILURE; + + CVI_U32 u32Level = (CVI_U32)strtol(pszEnv, &pszEnd, 10); + + if (pszEnv == pszEnd) { + ISP_DEBUG(LOG_INFO, "ISP_ENABLE_STDOUT_DEBUG invalid\n"); + return CVI_FAILURE; + } + + gExportToStdout = (u32Level > 0) ? CVI_TRUE : CVI_FALSE; + return CVI_SUCCESS; +} + +static CVI_S32 apply_debug_level_from_environment(void) +{ +#define ENV_DEBUG_LEVEL "ISP_DEBUG_LEVEL" + char *pszEnv = getenv(ENV_DEBUG_LEVEL); + char *pszEnd = NULL; + + if (pszEnv == NULL) + return CVI_FAILURE; + + CVI_UL ulLevel = strtol(pszEnv, &pszEnd, 10); + + if ((ulLevel > LOG_DEBUG) || (pszEnv == pszEnd)) { + ISP_DEBUG(LOG_INFO, "ISP_DEBUG_LEVEL invalid\n"); + return CVI_FAILURE; + } + + CVI_DEBUG_SetDebugLevel((int)ulLevel); + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_Init(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_DEV(ViPipe); + + apply_debug_level_from_environment(); + check_enable_debug_message_to_stdout(); +#ifndef ISP_VERSION +#define ISP_VERSION "-" +#endif + ISP_DEBUG(LOG_INFO, "ISP VERSION(%s)\n", ISP_VERSION); + isp_global_init(ViPipe); + isp_3aInfo_init(ViPipe); + isp_param_global_init(ViPipe); + + for (CVI_U32 i = 0; i < AAA_TYPE_MAX; i++) + isp_3aLib_init(ViPipe, i); + + /*Move here for check wdr mode.*/ + // BIN file will overwrite AE/AWB settings + isp_iqParam_addr_initDefault(ViPipe); + isp_sns_info_init(ViPipe); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_MemInit(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_DEV(ViPipe); + + ISP_CTX_S *pstIspCtx = NULL; + struct vdev *d; + + d = get_dev_info(VDEV_TYPE_ISP, ViPipe); + + ISP_GET_CTX(ViPipe, pstIspCtx); + pstIspCtx->ispDevFd = d->fd; + + if (!IS_VDEV_OPEN(d->state)) { + ISP_DEBUG(LOG_ERR, "Pipe(%d) state(%d) incorrect\n", ViPipe, d->state); + return -EBADF; + } + + CVI_S32 fd = d->fd; + + if (fd == -1) + return -EBADF; + + // TODO: get sns info to init + + // TODO: get mem + //v4l2_qbuf(fd, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, &buf); + isp_iqParam_addr_init(ViPipe); + isp_buf_ctrl_tbl_init(ViPipe); + isp_buf_ctrl_algo_buf_init(ViPipe); + isp_tuningBuf_init(ViPipe); + isp_drcHist_buf_init(ViPipe); + + return CVI_SUCCESS; +} + +#ifdef ISP_RECEIVE_IPC_CMD +static CVI_S32 parse_isp_fifo_path_from_environment(char *fifo_path, CVI_U32 path_length) +{ + char *env = getenv(ENV_ISP_FIFO_IPC_NAME); + + if (env == NULL) { + snprintf(fifo_path, path_length, DEFAULT_ISP_FIFO_IPC_FILENAME); + return CVI_FAILURE; + } + + snprintf(fifo_path, path_length, env); + return CVI_SUCCESS; +} + +static CVI_S32 initial_ipc_fifo(int *fifoFd, const char *fifo_path) +{ + if (access(fifo_path, F_OK) != 0) + if (mkfifo(fifo_path, 0777) != 0) { + ISP_DEBUG(LOG_ERR, "Create ISP FIFO file fail\n"); + return CVI_FAILURE; + } + + *fifoFd = open(fifo_path, O_RDWR); + if (*fifoFd == -1) { + ISP_DEBUG(LOG_ERR, "Open ISP FIFO file fail\n"); + return CVI_FAILURE; + } + + return CVI_SUCCESS; +} + +static CVI_S32 release_ipc_fifo(const char *fifo_path) +{ + if (access(fifo_path, F_OK) == 0) + if (unlink(fifo_path) != 0) { + ISP_DEBUG(LOG_ERR, "Remove ISP FIFO file fail\n"); + return CVI_FAILURE; + } + + return CVI_SUCCESS; +} + +static CVI_S32 handle_fifo_command(const char *command) +{ + size_t ae_log_location_len = strlen(SET_AE_LOG_LOCATION_CMD); + size_t awb_log_location_len = strlen(SET_AWB_LOG_LOCATION_CMD); + + if (strcmp(TRIGGER_AE_LOG_CMD, command) == 0) { + for (int pipeId = 0; pipeId < VI_MAX_PIPE_NUM; ++pipeId) { + if (aeAlgoInternalLibReg[pipeId].pfn_ae_dumplog != NULL) { + aeAlgoInternalLibReg[pipeId].pfn_ae_dumplog(); + } + } + } else if (strcmp(TRIGGER_AWB_LOG_CMD, command) == 0) { + for (int pipeId = 0; pipeId < VI_MAX_PIPE_NUM; ++pipeId) { + if (awbAlgoInternalLibReg[pipeId].pfn_awb_dumplog != NULL) { + awbAlgoInternalLibReg[pipeId].pfn_awb_dumplog(); + } + } + } else if (strncmp(SET_AE_LOG_LOCATION_CMD, command, ae_log_location_len) == 0) { + for (int pipeId = 0; pipeId < VI_MAX_PIPE_NUM; ++pipeId) { + if (aeAlgoInternalLibReg[pipeId].pfn_ae_dumplog != NULL) { + aeAlgoInternalLibReg[pipeId].pfn_ae_setdumplogpath(command + ae_log_location_len); + } + } + } else if (strncmp(SET_AWB_LOG_LOCATION_CMD, command, awb_log_location_len) == 0) { + for (int pipeId = 0; pipeId < VI_MAX_PIPE_NUM; ++pipeId) { + if (awbAlgoInternalLibReg[pipeId].pfn_awb_dumplog != NULL) { + awbAlgoInternalLibReg[pipeId].pfn_awb_setdumplogpath(command + awb_log_location_len); + } + } + } +} +#endif // ISP_RECEIVE_IPC_CMD + +CVI_S32 CVI_ISP_AELibRegInternalCallBack(VI_PIPE ViPipe, ISP_AE_DEBUG_FUNC_S *pstRegister) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstRegister); + + aeAlgoInternalLibReg[ViPipe].pfn_ae_dumplog = pstRegister->pfn_ae_dumplog; + aeAlgoInternalLibReg[ViPipe].pfn_ae_setdumplogpath = pstRegister->pfn_ae_setdumplogpath; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AELibUnRegInternalCallBack(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + + aeAlgoInternalLibReg[ViPipe].pfn_ae_dumplog = NULL; + aeAlgoInternalLibReg[ViPipe].pfn_ae_setdumplogpath = NULL; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AWBLibRegInternalCallBack(VI_PIPE ViPipe, ISP_AWB_DEBUG_FUNC_S *pstRegister) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstRegister); + + awbAlgoInternalLibReg[ViPipe].pfn_awb_dumplog = pstRegister->pfn_awb_dumplog; + awbAlgoInternalLibReg[ViPipe].pfn_awb_setdumplogpath = pstRegister->pfn_awb_setdumplogpath; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AWBLibUnRegInternalCallBack(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + + awbAlgoInternalLibReg[ViPipe].pfn_awb_dumplog = NULL; + awbAlgoInternalLibReg[ViPipe].pfn_awb_setdumplogpath = NULL; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_Run(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_DEV(ViPipe); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + CVI_S32 fd = pstIspCtx->ispDevFd; + + if (fd == -1) { + ISP_DEBUG(LOG_EMERG, "ISP%d fd state incorrect\n", fd); + return -EBADF; + } + + pstIspCtx->bIspRun = CVI_TRUE; + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE0_SOF); + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE1_SOF); + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE0_EOF); + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_POST_EOF); + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE1_EOF); + __subscribe_event(fd, V4L2_EVENT_CVI_VIP_POST1_EOF); + //isp_snsSync_cfg_set(ViPipe, 0); + fd_set efds, readfds; + struct timeval tv; + CVI_S32 r, s32Ret = 0; + CVI_S32 initStatus[2] = { 0 }; + int vi_pipe = 0; + +#ifdef ISP_RECEIVE_IPC_CMD + int ipc_fifo_fd = 0; + char fifo_path[128] = {'\0'}; + FILE *fFifo = NULL; + + parse_isp_fifo_path_from_environment(fifo_path, 128); + + if (initial_ipc_fifo(&ipc_fifo_fd, fifo_path) != CVI_SUCCESS) + ISP_DEBUG(LOG_EMERG, "Enable ISP ipc fail\n"); + + if (ipc_fifo_fd) + fFifo = fdopen(ipc_fifo_fd, "r"); +#endif // ISP_RECEIVE_IPC_CMD + + g_isp_thread_run = CVI_TRUE; + /* Timeout. */ + while (g_isp_thread_run) { + int max_fd = fd; + FD_ZERO(&efds); + FD_ZERO(&readfds); + FD_SET(fd, &efds); + +#ifdef ISP_RECEIVE_IPC_CMD + if (ipc_fifo_fd > 0) { + FD_SET(ipc_fifo_fd, &readfds); + max_fd = MAX(max_fd, ipc_fifo_fd); + } +#endif // ISP_RECEIVE_IPC_CMD + + tv.tv_sec = 0; + tv.tv_usec = 500 * 1000; + r = select(max_fd + 1, &readfds, NULL, &efds, &tv); + if (r == -1) { + if (errno == EINTR) + continue; + //errno_exit("select"); + continue; + } + if (r == 0) { + //fprintf(stderr, "%s: select timeout\n", __func__); + continue; + } + + if (FD_ISSET(fd, &efds)) { + struct v4l2_event ev; + + r = ioctl(fd, VIDIOC_DQEVENT, &ev); + switch (ev.type) { + case V4L2_EVENT_CVI_VIP_PRE0_SOF: + case V4L2_EVENT_CVI_VIP_PRE1_SOF: + ISP_DEBUG(LOG_DEBUG, "SOF\n"); + break; + + case V4L2_EVENT_CVI_VIP_PRE0_EOF: + case V4L2_EVENT_CVI_VIP_PRE1_EOF: + if (ev.type == V4L2_EVENT_CVI_VIP_PRE0_EOF) + vi_pipe = 0; + else if (ev.type == V4L2_EVENT_CVI_VIP_PRE1_EOF) + vi_pipe = 1; + if (initStatus[vi_pipe] == 0) { + isp_stsBuf_init(vi_pipe); + isp_mlsc0Buf_init(vi_pipe); + initStatus[vi_pipe] = 1; + } + s32Ret = isp_stsBuf_get(vi_pipe, ISP_EVENT_PRE_EOF); + if (s32Ret != CVI_SUCCESS) + ISP_DEBUG(LOG_ERR, "Get pre stsBuf error\n"); + break; + case V4L2_EVENT_CVI_VIP_POST_EOF: + case V4L2_EVENT_CVI_VIP_POST1_EOF: + if (ev.type == V4L2_EVENT_CVI_VIP_POST_EOF) + vi_pipe = 0; + else if (ev.type == V4L2_EVENT_CVI_VIP_POST1_EOF) + vi_pipe = 1; + isp_run(vi_pipe); + break; + } + } + +#ifdef ISP_RECEIVE_IPC_CMD + if (ipc_fifo_fd > 0) + if (FD_ISSET(ipc_fifo_fd, &readfds)) { + char szCmdCommand[128] = {'\0'}; + + fscanf(fFifo, "%s", szCmdCommand); + // printf("fifo ipc command : %s\n", szCmdCommand); + + handle_fifo_command(szCmdCommand); + } +#endif // ISP_RECEIVE_IPC_CMD + } + + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE0_SOF); + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE1_SOF); + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE0_EOF); + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_POST_EOF); + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_PRE1_EOF); + __unsubscribe_event(fd, V4L2_EVENT_CVI_VIP_POST1_EOF); + ISP_DEBUG(LOG_INFO, "End\n"); + +#ifdef ISP_RECEIVE_IPC_CMD + if (fFifo) + fclose(fFifo); + + release_ipc_fifo(fifo_path); +#endif // ISP_RECEIVE_IPC_CMD + + pstIspCtx->bIspRun = CVI_FALSE; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_RunOnce(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_DEV(ViPipe); + + // TODO: implementation + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_Exit(VI_PIPE ViPipe) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_DEV(ViPipe); + + struct vdev *d; + ISP_CTX_S *pstIspCtx = NULL; + + d = get_dev_info(VDEV_TYPE_ISP, ViPipe); + ISP_GET_CTX(ViPipe, pstIspCtx); + g_isp_thread_run = CVI_FALSE; + int count = 40; + + while (pstIspCtx->bIspRun && (--count > 0)) + usleep(50 * 1000); + + if (pstIspCtx->bIspRun) + ISP_DEBUG(LOG_INFO, "ISP%d state(%d) incorrect\n", ViPipe, d->state); + /* TODO . open after check complete.*/ + isp_stsBuf_exit(ViPipe); + isp_buf_ctrl_tbl_exit(ViPipe); + isp_buf_ctrl_algo_buf_exit(ViPipe); + isp_iqParam_addr_exit(ViPipe); + isp_tuningBuf_exit(ViPipe); + isp_drcHist_buf_exit(ViPipe); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetSnsSize(VI_PIPE ViPipe, SIZE_S *size) +{ + ISP_CTX_S *pstIspCtx = NULL; + struct v4l2_format fmt; + CVI_S32 fd; + + ISP_GET_CTX(ViPipe, pstIspCtx); + fd = pstIspCtx->ispDevFd; + + ISP_CHECK_DEV(ViPipe); + + if (fd == -1) + return -EBADF; + + if (v4l2_getfmt(fd, &fmt) != 0) + return -1; + + size->u32Width = fmt.fmt.pix_mp.width; + size->u32Height = fmt.fmt.pix_mp.height; + + return 0; +} + +CVI_S32 CVI_ISP_SetPubAttr(VI_PIPE ViPipe, const ISP_PUB_ATTR_S *pstPubAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstPubAttr); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + + pstIspCtx->enBayer = pstPubAttr->enBayer; + pstIspCtx->u8SnsWDRMode = pstPubAttr->enWDRMode; + pstIspCtx->stSysRect.s32X = pstPubAttr->stWndRect.s32X; + pstIspCtx->stSysRect.s32Y = pstPubAttr->stWndRect.s32Y; + pstIspCtx->stSysRect.u32Width = pstPubAttr->stWndRect.u32Width; + pstIspCtx->stSysRect.u32Height = pstPubAttr->stWndRect.u32Height; + pstIspCtx->stSnsImageMode.f32Fps = pstPubAttr->f32FrameRate; + pstIspCtx->stSnsImageMode.u16Width = pstPubAttr->stSnsSize.u32Width; + pstIspCtx->stSnsImageMode.u16Height = pstPubAttr->stSnsSize.u32Height; + pstIspCtx->stSnsImageMode.u8SnsMode = pstPubAttr->u8SnsMode; + + if (ViPipe == 0) + CVI_PQBIN_SetSnsWDRMode(pstPubAttr->enWDRMode); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetPubAttr(VI_PIPE ViPipe, ISP_PUB_ATTR_S *pstPubAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstPubAttr); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + + pstPubAttr->enBayer = pstIspCtx->enBayer; + pstPubAttr->enWDRMode = pstIspCtx->u8SnsWDRMode; + pstPubAttr->stSnsSize.u32Width = pstIspCtx->stSnsImageMode.u16Width; + pstPubAttr->stSnsSize.u32Height = pstIspCtx->stSnsImageMode.u16Height; + pstPubAttr->stWndRect.s32X = pstIspCtx->stSysRect.s32X; + pstPubAttr->stWndRect.s32Y = pstIspCtx->stSysRect.s32Y; + pstPubAttr->stWndRect.u32Width = pstIspCtx->stSysRect.u32Width; + pstPubAttr->stWndRect.u32Height = pstIspCtx->stSysRect.u32Height; + pstPubAttr->f32FrameRate = pstIspCtx->stSnsImageMode.f32Fps; + pstPubAttr->u8SnsMode = pstIspCtx->stSnsImageMode.u8SnsMode; + + return CVI_SUCCESS; +} + +/*TODO. Ctrl Param still need to be implement*/ +CVI_S32 CVI_ISP_SetCtrlParam(VI_PIPE ViPipe, const ISP_CTRL_PARAM_S *pstIspCtrlParam) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstIspCtrlParam); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCtrlParam(VI_PIPE ViPipe, ISP_CTRL_PARAM_S *pstIspCtrlParam) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstIspCtrlParam); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetFMWState(VI_PIPE ViPipe, const ISP_FMW_STATE_E enState) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + if (enState >= ISP_FMW_STATE_BUTT) + return CVI_FAILURE; + + pstIspCtx->bFreezeFw = enState; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetFMWState(VI_PIPE ViPipe, ISP_FMW_STATE_E *penState) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(penState); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + + *penState = pstIspCtx->bFreezeFw; + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetModuleControl(VI_PIPE ViPipe, const ISP_MODULE_CTRL_U *punModCtrl) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(punModCtrl); + + // CVI_U64 bypassSetting = punModCtrl->u64Key; + + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_BNR, punModCtrl->bitBypassNR); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_DEMOSAIC, punModCtrl->bitBypassDemosaic); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_CCM, punModCtrl->bitBypassColorMatrix); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_DRC, punModCtrl->bitBypassDRC); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_FUSION, punModCtrl->bitBypassFSWDR); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_GAMMA, punModCtrl->bitBypassGamma); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_DEHAZE, punModCtrl->bitBypassDehaze); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_3DNR, punModCtrl->bitBypass3DNR); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_YNR, punModCtrl->bitBypassYnr); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_CNR, punModCtrl->bitBypassCnr); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_YEE, punModCtrl->bitBypassSharpen); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_HSV, punModCtrl->bitBypassHSV); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_3DLUT, punModCtrl->bitBypassCLUT); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_DCI, punModCtrl->bitBypassLdci); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_WBGAIN, punModCtrl->bitBypassWBGain); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_LSC_M, punModCtrl->bitBypassMeshShading); + isp_iq_bypass_set(ViPipe, ISP_IQ_BLOCK_LSC_R, punModCtrl->bitBypassRadialShading); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetModuleControl(VI_PIPE ViPipe, ISP_MODULE_CTRL_U *punModCtrl) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(punModCtrl); + + // CVI_U64 bypassSetting = punModCtrl->u64Key; + + punModCtrl->bitBypassNR = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_BNR); + punModCtrl->bitBypassDemosaic = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_DEMOSAIC); + punModCtrl->bitBypassColorMatrix = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_CCM); + punModCtrl->bitBypassDRC = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_DRC); + punModCtrl->bitBypassFSWDR = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_FUSION); + punModCtrl->bitBypassGamma = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_GAMMA); + punModCtrl->bitBypassDehaze = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_DEHAZE); + punModCtrl->bitBypass3DNR = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_3DNR); + punModCtrl->bitBypassYnr = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_YNR); + punModCtrl->bitBypassCnr = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_CNR); + punModCtrl->bitBypassSharpen = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_YEE); + punModCtrl->bitBypassHSV = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_HSV); + punModCtrl->bitBypassCLUT = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_3DLUT); + punModCtrl->bitBypassLdci = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_DCI); + punModCtrl->bitBypassWBGain = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_WBGAIN); + punModCtrl->bitBypassMeshShading = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_LSC_M); + punModCtrl->bitBypassRadialShading = isp_iq_bypass_get(ViPipe, ISP_IQ_BLOCK_LSC_R); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetBindAttr(VI_PIPE ViPipe, const ISP_BIND_ATTR_S *pstBindAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstBindAttr); + + CVI_S32 *ret; + CVI_S32 i; + ISP_CTX_S *pstIspCtx = NULL; + ALG_LIB_S bindInfo[AAA_TYPE_MAX] = { pstBindAttr->stAeLib, + pstBindAttr->stAwbLib, pstBindAttr->stAfLib}; + + ISP_GET_CTX(ViPipe, pstIspCtx); + for (i = 0; i < AAA_TYPE_MAX; i++) { + ret = &(pstIspCtx->activeLibIdx[i]); + + if (bindInfo[i].s32Id != -1 && bindInfo[i].acLibName != (CVI_U8 *)("\n")) { + *ret = isp_3aLib_find(ViPipe, &(bindInfo[i]), i); + // When can't find 3a register lib. Only show message for remind. + if (*ret == ISP_3ALIB_FIND_FAIL) { + ISP_DEBUG(LOG_INFO, "Find type %d Lib fail. Bind Lib NG %d\n", i, *ret); + } + } + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetBindAttr(VI_PIPE ViPipe, ISP_BIND_ATTR_S *pstBindAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstBindAttr); + + isp_3aLib_get(ViPipe, &(pstBindAttr->stAeLib), AAA_TYPE_AE); + isp_3aLib_get(ViPipe, &(pstBindAttr->stAwbLib), AAA_TYPE_AWB); + isp_3aLib_get(ViPipe, &(pstBindAttr->stAfLib), AAA_TYPE_AF); + + ISP_DEBUG(LOG_DEBUG, "pstBindAttr->stAeLib %s %d\n" + , pstBindAttr->stAeLib.acLibName, pstBindAttr->stAeLib.s32Id); + ISP_DEBUG(LOG_DEBUG, "pstBindAttr->stAwbLib %s %d\n" + , pstBindAttr->stAwbLib.acLibName, pstBindAttr->stAwbLib.s32Id); + ISP_DEBUG(LOG_DEBUG, "pstBindAttr->stAfLib %s %d\n" + , pstBindAttr->stAfLib.acLibName, pstBindAttr->stAfLib.s32Id); + return CVI_SUCCESS; +} +#endif + +static ISP_SENSOR_REGISTER_S tmpSnsRegRunc; + +CVI_S32 CVI_ISP_SensorRegCallBack(VI_PIPE ViPipe, ISP_SNS_ATTR_INFO_S *pstSnsAttrInfo, + ISP_SENSOR_REGISTER_S *pstRegister) +{ +#if 1 + memcpy(&tmpSnsRegRunc, pstRegister, sizeof(ISP_SENSOR_REGISTER_S)); +#else + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstSnsAttrInfo); + + CVI_S32 s32Ret; + ISP_CTX_S *pstIspCtx = CVI_NULL; + +// ISP_CHECK_POINTER(pstRegister); +#if 0 + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_sensor_init); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_sensor_exit); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_sensor_global_init); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_set_image_mode); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_set_wdr_mode); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_get_isp_default); + //ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_get_isp_black_level); + ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_get_sns_reg_info); + //ISP_CHECK_POINTER(pstRegister->stSnsExp.pfn_cmos_set_pixel_detect); +#endif + ISP_GET_CTX(ViPipe, pstIspCtx); + ISP_CHECK_POINTER(pstIspCtx); + + if (pstIspCtx->bSnsReg == CVI_TRUE) + return CVI_FAILURE; + + if (pstRegister == CVI_NULL) + s32Ret = sns_sensor_cb_reg(ViPipe, pstSnsAttrInfo); + else + s32Ret = isp_sensor_register(ViPipe, pstSnsAttrInfo, pstRegister); + if (s32Ret != CVI_SUCCESS) + return s32Ret; + + pstIspCtx->stBindAttr.sensorId = pstSnsAttrInfo->eSensorId; + pstIspCtx->bSnsReg = CVI_TRUE; +#endif + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SensorUnRegCallBack(VI_PIPE ViPipe, SENSOR_ID SensorId) +{ +#if 1 + (void)ViPipe; + (void)SensorId; + + memset(&tmpSnsRegRunc, 0, sizeof(ISP_SENSOR_REGISTER_S)); + return CVI_SUCCESS; +#else + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + + SENSOR_ID sensorId = 0; + CVI_S32 s32Ret; + ISP_CTX_S *pstIspCtx = CVI_NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + + isp_sensor_getId(ViPipe, &sensorId); + + if (pstIspCtx->stBindAttr.sensorId != sensorId) { + ISP_DEBUG(LOG_ERR, "ViPipe %d current sensor is %d, unregister sensor is %d.\n", + ViPipe, pstIspCtx->stBindAttr.sensorId, sensorId); + return -EINVAL; + } + + s32Ret = isp_sensor_unRegister(ViPipe); + pstIspCtx->bSnsReg = CVI_FALSE; + return s32Ret; +#endif +} + +#if 0 +CVI_S32 CVI_ISP_AELibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib, ISP_AE_REGISTER_S *pstRegister) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstRegister); + ISP_CHECK_POINTER(pstAeLib); + + CVI_S32 ret = CVI_SUCCESS; + + ret = isp_3aLib_find(ViPipe, pstAeLib, AAA_TYPE_AE); + if (ret != ISP_3ALIB_FIND_FAIL) { + ISP_DEBUG(LOG_ERR, "This AE Lib already be registered\n"); + return -EINVAL; + } + + ret = isp_3aLib_reg(ViPipe, pstAeLib, &(pstRegister->stAeExpFunc), AAA_TYPE_AE); + if (ret != CVI_SUCCESS) { + ISP_DEBUG(LOG_ERR, "This AE Lib register fail\n"); + } + + return ret; +} + +CVI_S32 CVI_ISP_AWBLibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib, ISP_AWB_REGISTER_S *pstRegister) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstRegister); + ISP_CHECK_POINTER(pstAwbLib); + + CVI_S32 ret = CVI_SUCCESS; + + ret = isp_3aLib_find(ViPipe, pstAwbLib, AAA_TYPE_AWB); + if (ret != ISP_3ALIB_FIND_FAIL) { + ISP_DEBUG(LOG_ERR, "This AWB Lib already be registered\n"); + return -EINVAL; + } + + ret = isp_3aLib_reg(ViPipe, pstAwbLib, &(pstRegister->stAwbExpFunc), AAA_TYPE_AWB); + if (ret != CVI_SUCCESS) { + ISP_DEBUG(LOG_ERR, "This AWB Lib register fail\n"); + isp_reg_lib_dump(); + } + + return ret; +} + +CVI_S32 CVI_ISP_AELibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAeLib); + + if (isp_3aLib_unreg(ViPipe, pstAeLib, AAA_TYPE_AE) != CVI_SUCCESS) { + ISP_DEBUG(LOG_ERR, "This 3aLib unregister fail\n"); + isp_reg_lib_dump(); + return -EINVAL; + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AWBLibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAwbLib); + + if (isp_3aLib_unreg(ViPipe, pstAwbLib, AAA_TYPE_AWB) != CVI_SUCCESS) { + ISP_DEBUG(LOG_ERR, "This 3aLib unregister fail\n"); + isp_reg_lib_dump(); + return -EINVAL; + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AFLibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAfLib, ISP_AF_REGISTER_S *pstRegister) +{ + CVI_S32 s32Ret = 0; + + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstRegister); + ISP_CHECK_POINTER(pstAfLib); + s32Ret = isp_3aLib_find(ViPipe, pstAfLib, AAA_TYPE_AF); + if (s32Ret != ISP_3ALIB_FIND_FAIL) { + ISP_DEBUG(LOG_ERR, "This AF Lib already be registered\n"); + return -EINVAL; + } + + s32Ret = isp_3aLib_reg(ViPipe, pstAfLib, &(pstRegister->stAfExpFunc), AAA_TYPE_AF); + if (s32Ret != 0) { + ISP_DEBUG(LOG_ERR, "AF Lib register fail.\n"); + return CVI_FAILURE; + } + // isp_reg_lib_dump(); + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_AFLibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAfLib) +{ + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAfLib); + + if (isp_3aLib_unreg(ViPipe, pstAfLib, AAA_TYPE_AF) == -1) { + ISP_DEBUG(LOG_ERR, "AF Lib unRegister fail.\n"); + return -EINVAL; + } + return 0; +} + +CVI_S32 CVI_ISP_GetAEStatistics(VI_PIPE ViPipe, ISP_AE_STATISTICS_S *pstAeStat) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAeStat); + + ISP_AA_STAT_INFO_S *stsInfo; + CVI_U32 i, j, m; + CVI_U32 col, row; + ISP_CTX_S *pstIspCtx = CVI_NULL; + ISP_STATISTICS_CTRL_U unStatKey; + + ISP_GET_CTX(ViPipe, pstIspCtx); + /*TODO@CF. Need lock when get statistic data value.*/ + isp_3aInfo_get(ViPipe, &stsInfo); + ISP_CHECK_POINTER(stsInfo); + + unStatKey = pstIspCtx->stsCfgInfo.unKey; + /*TODO@CF. Need add sts enable check here.*/ + for (i = 0; i < ISP_CHANNEL_MAX_NUM; i++) { + for (j = 0; j < AE_MAX_NUM; j++) { + for (m = 0; m < MAX_HIST_BINS; m++) + pstAeStat->au32FEHist1024Value[i][j][m] = + stsInfo->aeStat1[j].au32HistogramMemArray[i][m]; + // Give global data only when Stat enable. + if (unStatKey.bit1FEAeGloStat) { + pstAeStat->au16FEGlobalAvg[i][j][0] = stsInfo->aeStat2[j].u16GlobalAvgB[i]; + pstAeStat->au16FEGlobalAvg[i][j][1] = stsInfo->aeStat2[j].u16GlobalAvgGr[i]; + pstAeStat->au16FEGlobalAvg[i][j][2] = stsInfo->aeStat2[j].u16GlobalAvgGb[i]; + pstAeStat->au16FEGlobalAvg[i][j][3] = stsInfo->aeStat2[j].u16GlobalAvgR[i]; + } + // Give local data only when Stat enable. + if (unStatKey.bit1FEAeLocStat) { + for (col = 0; col < AE_ZONE_COLUMN; col++) { + for (row = 0; row < AE_ZONE_ROW; row++) { + pstAeStat->au16FEZoneAvg[i][j][row][col][0] = + stsInfo->aeStat3[j].au16ZoneAvg[i][row][col][0]; + pstAeStat->au16FEZoneAvg[i][j][row][col][1] = + stsInfo->aeStat3[j].au16ZoneAvg[i][row][col][1]; + pstAeStat->au16FEZoneAvg[i][j][row][col][2] = + stsInfo->aeStat3[j].au16ZoneAvg[i][row][col][2]; + pstAeStat->au16FEZoneAvg[i][j][row][col][3] = + stsInfo->aeStat3[j].au16ZoneAvg[i][row][col][3]; + } + } + } + } + } +#if 0 + for (i = 0; i < ISP_CHANNEL_MAX_NUM; i++) { + for (j = 0; j < MAX_HIST_BINS; j++) { + printf("pstAeStat->au32FEHist1024Value[%d][%d] %d\n", i, j, + pstAeStat->au32FEHist1024Value[i][j]); + } + for (j = 0; j < AE_MAX_NUM; j++) { + printf("pstAeStat->au16FEGlobalAvg[%d][%d][0] %d %d %d %d\n", i, j, + pstAeStat->au16FEGlobalAvg[i][j][0], pstAeStat->au16FEGlobalAvg[i][j][1], + pstAeStat->au16FEGlobalAvg[i][j][2], pstAeStat->au16FEGlobalAvg[i][j][3]); + for (l = 0; l < AE_ZONE_COL; l++) { + for (k = 0; k < AE_ZONE_ROW; k++) { + printf("pstAeStat->au16FEZoneAvg[%d][%d][%d][0] %d %d %d %d\n", i, k, l, + pstAeStat->au16FEZoneAvg[i][j][k][l][0], + pstAeStat->au16FEZoneAvg[i][j][k][l][1], + pstAeStat->au16FEZoneAvg[i][j][k][l][2], + pstAeStat->au16FEZoneAvg[i][j][k][l][3]); + } + } + } + } +#endif + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetWBStatistics(VI_PIPE ViPipe, ISP_WB_STATISTICS_S *pstAwbStat) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAwbStat); + + ISP_AA_STAT_INFO_S *stsInfo; + CVI_U32 i; + ISP_CTX_S *pstIspCtx = CVI_NULL; + ISP_STATISTICS_CTRL_U unStatKey; + + ISP_GET_CTX(ViPipe, pstIspCtx); + /*TODO@CF. Need lock when get statistic data value.*/ + isp_3aInfo_get(ViPipe, &stsInfo); + ISP_CHECK_POINTER(stsInfo); + + unStatKey = pstIspCtx->stsCfgInfo.unKey; + // HISI only has long exposure data. So only return LE now. + // Global AWB info enable. + if (unStatKey.bit1AwbStat1) { + pstAwbStat->u16GlobalB = stsInfo->awbStat1[0].u16MeteringAwbAvgB; + pstAwbStat->u16GlobalG = stsInfo->awbStat1[0].u16MeteringAwbAvgG; + pstAwbStat->u16GlobalR = stsInfo->awbStat1[0].u16MeteringAwbAvgR; + pstAwbStat->u16CountAll = stsInfo->awbStat1[0].u16MeteringAwbCountAll; + } + + // Local AWB info enable. + if (unStatKey.bit1AwbStat2) { + for (i = 0; i < AWB_ZONE_NUM; i++) { + pstAwbStat->au16ZoneAvgB[i] = stsInfo->awbZoneAvgB[0][i]; + pstAwbStat->au16ZoneAvgG[i] = stsInfo->awbZoneAvgG[0][i]; + pstAwbStat->au16ZoneAvgR[i] = stsInfo->awbZoneAvgR[0][i]; + pstAwbStat->au16ZoneCountAll[i] = stsInfo->awbZoneCount[0][i]; + } + } + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetFocusStatistics(VI_PIPE ViPipe, ISP_AF_STATISTICS_S *pstAfStat) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstAfStat); + + ISP_AA_STAT_INFO_S *stsInfo; + CVI_U32 row, col; + CVI_U32 afWinXNum = AF_ZONE_COLUMN, afWinYNum = AF_ZONE_ROW; + ISP_CTX_S *pstIspCtx = CVI_NULL; + ISP_STATISTICS_CTRL_U unStatKey; + + /*TODO@CF. Need lock when get statistic data value.*/ + ISP_GET_CTX(ViPipe, pstIspCtx); + isp_3aInfo_get(ViPipe, &stsInfo); + ISP_CHECK_POINTER(stsInfo); + + unStatKey = pstIspCtx->stsCfgInfo.unKey; + + if (unStatKey.bit1FEAfStat) { + for (row = 0; row < afWinYNum; row++) { + for (col = 0; col < afWinXNum; col++) { + pstAfStat->stFEAFStat.stZoneMetrics[row][col].u16HlCnt = + stsInfo->afData.stZoneMetrics[row][col].u16HlCnt; + pstAfStat->stFEAFStat.stZoneMetrics[row][col].u32v0 = + stsInfo->afData.stZoneMetrics[row][col].u32v0; + pstAfStat->stFEAFStat.stZoneMetrics[row][col].u64h0 = + stsInfo->afData.stZoneMetrics[row][col].u64h0; + pstAfStat->stFEAFStat.stZoneMetrics[row][col].u64h1 = + stsInfo->afData.stZoneMetrics[row][col].u64h1; + } + } + } +#if 0 + for (j = 2; j < 4; j++) { + for (i = 2; i < 4; i++) { + ISP_DEBUG(LOG_DEBUG, "pstAfStat->stFEAFStat.stZoneMetrics[%d][%d].u16HlCnt %d %d %ld %ld\n", + i, j, pstAfStat->stFEAFStat.stZoneMetrics[i][j].u16HlCnt, + pstAfStat->stFEAFStat.stZoneMetrics[i][j].u32v0, + pstAfStat->stFEAFStat.stZoneMetrics[i][j].u64h0, + pstAfStat->stFEAFStat.stZoneMetrics[i][j].u64h1); + } + } +#endif + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetMGStatistics(VI_PIPE ViPipe, ISP_MG_STATISTICS_S *pstMgStat) +{ + /*TODO@CF. Need check what is MGstatistics*/ + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetStatisticsConfig(VI_PIPE ViPipe, const ISP_STATISTICS_CFG_S *pstStatCfg) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstStatCfg); + + ISP_CTX_S *pstIspCtx = NULL; + + ISP_GET_CTX(ViPipe, pstIspCtx); + ISP_CHECK_VAL_RANGE(pstStatCfg->stWBCfg.u16ZoneRow, 0, AWB_ZONE_ORIG_ROW); + ISP_CHECK_VAL_RANGE(pstStatCfg->stWBCfg.u16ZoneCol, 0, AWB_ZONE_ORIG_COLUMN); + + memcpy(&pstIspCtx->stsCfgInfo, pstStatCfg, sizeof(ISP_STATISTICS_CFG_S)); + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_3AWIN); + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetStatisticsConfig(VI_PIPE ViPipe, ISP_STATISTICS_CFG_S *pstStatCfg) +{ + ISP_CTX_S *pstIspCtx = NULL; + + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstStatCfg); + ISP_GET_CTX(ViPipe, pstIspCtx); + + memcpy(pstStatCfg, &pstIspCtx->stsCfgInfo, sizeof(ISP_STATISTICS_CFG_S)); + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetModParam(const ISP_MOD_PARAM_S *pstModParam) +{ + ISP_DEBUG(LOG_INFO, "Only support bottom-half.!\n"); + ISP_CHECK_POINTER(pstModParam); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetModParam(ISP_MOD_PARAM_S *pstModParam) +{ + ISP_DEBUG(LOG_DEBUG, "always return bottom-half!\n"); + ISP_CHECK_POINTER(pstModParam); + + // BotHalf = 1 means botoom half. + pstModParam->u32IntBotHalf = 1; + + return CVI_SUCCESS; +} + +// For Tool get some parameter use at calculate IQ. +CVI_S32 CVI_ISP_QueryInnerStateInfo(VI_PIPE ViPipe, ISP_INNER_STATE_INFO_S *pstInnerStateInfo) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstInnerStateInfo); + + isp_internal_param_get(ViPipe, pstInnerStateInfo); + + for (CVI_U32 i = 0; i < pstInnerStateInfo->wdrHistBinNum; i++) { + pstInnerStateInfo->wdrHistogramBefore[i] = pstInnerStateInfo->pWdrHistogram[i]; + pstInnerStateInfo->wdrHistogramAfter[i] = pstInnerStateInfo->pWdrHistogramResult[i]; + } + + return CVI_SUCCESS; +} + +// TODO@Kidd should add ISP API to calculate settings of radio shadding +// and remove CVI_ISP_SetRadioShadingAttr() / CVI_ISP_GetRadioShadingAttr() +CVI_S32 CVI_ISP_SetMeshShadingAttr(VI_PIPE ViPipe, const ISP_MeshShading_ATTR_S *pstMeshShadingAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstMeshShadingAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_MESHSHADING_LSC_ENABLE, pstMeshShadingAttr->Enable); + isp_param_set(ViPipe, ISP_MESHSHADING_ENOPTYPE, pstMeshShadingAttr->enOpType); + + // manual attributes + isp_param_set(ViPipe, ISP_MESHSHADING_MANUAL_LSC_STRENGTH, pstMeshShadingAttr->stManual.MeshStr); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + isp_param_set(ViPipe, ISP_MESHSHADING_AUTO_LSC_STRENGTH + i, pstMeshShadingAttr->stAuto.MeshStr[i]); + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_LSC_M); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetMeshShadingAttr(VI_PIPE ViPipe, ISP_MeshShading_ATTR_S *pstMeshShadingAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstMeshShadingAttr); + + CLEAR(*pstMeshShadingAttr); + // non-auto parameters + isp_param_get(ViPipe, ISP_MESHSHADING_LSC_ENABLE, (void *)(uintptr_t)&(pstMeshShadingAttr->Enable)); + isp_param_get(ViPipe, ISP_MESHSHADING_ENOPTYPE, (void *)(uintptr_t)&(pstMeshShadingAttr->enOpType)); + + // manual parameters + isp_param_get(ViPipe, ISP_MESHSHADING_MANUAL_LSC_STRENGTH, + (void *)(uintptr_t)&(pstMeshShadingAttr->stManual.MeshStr)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_MESHSHADING_AUTO_LSC_STRENGTH + i, + (void *)(uintptr_t)&(pstMeshShadingAttr->stAuto.MeshStr[i])); + } + // TODO should add fixed parameters? + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetMeshShadingGainLutAttr(VI_PIPE ViPipe + , const ISP_MeshShadingGainLut_ATTR_S *pstMeshShadingGainLutAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstMeshShadingGainLutAttr); + + memcpy(&g_param[ViPipe].mlscLUT, pstMeshShadingGainLutAttr, sizeof(*pstMeshShadingGainLutAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_LSC_M); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetMeshShadingGainLutAttr(VI_PIPE ViPipe, ISP_MeshShadingGainLut_ATTR_S *pstMeshShadingGainLutAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstMeshShadingGainLutAttr); + + memcpy(pstMeshShadingGainLutAttr, &g_param[ViPipe].mlscLUT, sizeof(*pstMeshShadingGainLutAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetRadialShadingAttr(VI_PIPE ViPipe, const ISP_RadialShading_ATTR_S *pstRadialShadingAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstRadialShadingAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_MESHSHADING_LSCR_ENABLE, pstRadialShadingAttr->Enable); + isp_param_set(ViPipe, ISP_MESHSHADING_LSCR_CENTERX, pstRadialShadingAttr->CenterX); + isp_param_set(ViPipe, ISP_MESHSHADING_LSCR_CENTERY, pstRadialShadingAttr->CenterY); + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_LSC_R); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetRadialShadingAttr(VI_PIPE ViPipe, ISP_RadialShading_ATTR_S *pstRadialShadingAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstRadialShadingAttr); + + // non-auto parameters + isp_param_get(ViPipe, ISP_MESHSHADING_LSCR_ENABLE, (void *)(uintptr_t)&(pstRadialShadingAttr->Enable)); + isp_param_get(ViPipe, ISP_MESHSHADING_LSCR_CENTERX, (void *)(uintptr_t)&(pstRadialShadingAttr->CenterX)); + isp_param_get(ViPipe, ISP_MESHSHADING_LSCR_CENTERY, (void *)(uintptr_t)&(pstRadialShadingAttr->CenterY)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetRadialShadingGainLutAttr(VI_PIPE ViPipe, + const ISP_RadialShadingGainLut_ATTR_S *pstRadialShadingGainLutAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstRadialShadingGainLutAttr); + + // non-auto attributes + // TODO@Kidd interplace by color temperature + for (CVI_U32 i = 0; i < ISP_RLSC_WINDOW_SIZE; i++) { + isp_param_set(ViPipe, ISP_MESHSHADING_LOW_CT_LSCR_GAIN_LUT_0 + i, + pstRadialShadingGainLutAttr->RLscGainLut[ISP_RLSC_COLOR_TEMPERATURE_LOW][i]); + isp_param_set(ViPipe, ISP_MESHSHADING_HIGH_CT_LSCR_GAIN_LUT_0 + i, + pstRadialShadingGainLutAttr->RLscGainLut[ISP_RLSC_COLOR_TEMPERATURE_HIGH][i]); + } + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_LSC_R); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetRadialShadingGainLutAttr(VI_PIPE ViPipe, + ISP_RadialShadingGainLut_ATTR_S *pstRadialShadingGainLutAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstRadialShadingGainLutAttr); + + // non-auto parameters + // TODO interplace by color temperature + for (CVI_S32 i = 0; i < ISP_RLSC_WINDOW_SIZE; i++) { + isp_param_get(ViPipe, ISP_MESHSHADING_LOW_CT_LSCR_GAIN_LUT_0 + i, + (void *)(uintptr_t)&(pstRadialShadingGainLutAttr->RLscGainLut[ISP_RLSC_COLOR_TEMPERATURE_LOW][i])); + isp_param_get(ViPipe, ISP_MESHSHADING_HIGH_CT_LSCR_GAIN_LUT_0 + i, + (void *)(uintptr_t)&(pstRadialShadingGainLutAttr->RLscGainLut[ISP_RLSC_COLOR_TEMPERATURE_HIGH][i])); + } + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintDemosaicAttr(const ISP_Demosaic_ATTR_S *pstDemosaicAttr) +{ + // non-auto attributes + PRINT_ATTR(pstDemosaicAttr->Enable, reg_cfa_enable, 0, 1); + PRINT_ATTR(pstDemosaicAttr->TuningMode, reg_cfa_out_sel, 0, 1); + + // manual attributes + PRINT_ATTR(pstDemosaicAttr->stManual.CoarseEdgeThr, reg_cfa_edgee_thd, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stManual.CoarseStr, reg_cfa_edge_tol, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stManual.FineEdgeThr, reg_cfa_sige_thd, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stManual.FineStr, (reg_cfa_gsig_tol, reg_cfa_rbsig_tol), 0, 4095); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_S32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstDemosaicAttr->stAuto.CoarseEdgeThr[i], reg_cfa_edgee_thd, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stAuto.CoarseStr[i], reg_cfa_edge_tol, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stAuto.FineEdgeThr[i], reg_cfa_sige_thd, 0, 4095); + PRINT_ATTR(pstDemosaicAttr->stAuto.FineStr[i], (reg_cfa_gsig_tol, reg_cfa_rbsig_tol), 0, 4095); + } + #endif +} + +CVI_S32 CVI_ISP_SetDemosaicAttr(VI_PIPE ViPipe, const ISP_Demosaic_ATTR_S *pstDemosaicAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDemosaicAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_DEMOSAIC_ENABLE, pstDemosaicAttr->Enable); + isp_param_set(ViPipe, ISP_DEMOSAIC_ENOPTYPE, pstDemosaicAttr->enOpType); + isp_param_set(ViPipe, ISP_DEMOSAIC_OUTSEL, pstDemosaicAttr->TuningMode); + + // manual attributes + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_COARSEEDGETHR, pstDemosaicAttr->stManual.CoarseEdgeThr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_COARSESTR, pstDemosaicAttr->stManual.CoarseStr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_FINEEDGETHR, pstDemosaicAttr->stManual.FineEdgeThr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_FINESTR, pstDemosaicAttr->stManual.FineStr); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_COARSEEDGETHR + i, pstDemosaicAttr->stAuto.CoarseEdgeThr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_COARSESTR + i, pstDemosaicAttr->stAuto.CoarseStr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_FINEEDGETHR + i, pstDemosaicAttr->stAuto.FineEdgeThr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_FINESTR + i, pstDemosaicAttr->stAuto.FineStr[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicAttr(pstDemosaicAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DEMOSAIC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDemosaicAttr(VI_PIPE ViPipe, ISP_Demosaic_ATTR_S *pstDemosaicAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDemosaicAttr); + + CLEAR(*pstDemosaicAttr); + // non-auto parameters + isp_param_get(ViPipe, ISP_DEMOSAIC_ENABLE, (void *)(uintptr_t)&(pstDemosaicAttr->Enable)); + isp_param_get(ViPipe, ISP_DEMOSAIC_ENOPTYPE, (void *)(uintptr_t)&(pstDemosaicAttr->enOpType)); + isp_param_get(ViPipe, ISP_DEMOSAIC_OUTSEL, (void *)(uintptr_t)&(pstDemosaicAttr->TuningMode)); + + // manual parameters + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_COARSEEDGETHR, + (void *)(uintptr_t)&(pstDemosaicAttr->stManual.CoarseEdgeThr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_COARSESTR, (void *)(uintptr_t)&(pstDemosaicAttr->stManual.CoarseStr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_FINEEDGETHR, + (void *)(uintptr_t)&(pstDemosaicAttr->stManual.FineEdgeThr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_FINESTR, (void *)(uintptr_t)&(pstDemosaicAttr->stManual.FineStr)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_COARSEEDGETHR + i + , (void *)(uintptr_t)&(pstDemosaicAttr->stAuto.CoarseEdgeThr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_COARSESTR + i + , (void *)(uintptr_t)&(pstDemosaicAttr->stAuto.CoarseStr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_FINEEDGETHR + i + , (void *)(uintptr_t)&(pstDemosaicAttr->stAuto.FineEdgeThr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_FINESTR + i + , (void *)(uintptr_t)&(pstDemosaicAttr->stAuto.FineStr[i])); + } + + // TODO should add fixed parameters? + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicAttr(pstDemosaicAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintDemosaicDemoireAttr(const ISP_DemosaicDemoire_ATTR_S *pstDemosaicDemoireAttr) +{ + // non-auto attributes + + // manual attributes + PRINT_ATTR(pstDemosaicDemoireAttr->stManual.DetailSmoothEnable, reg_cfa_moire_enable, 0, 1); + PRINT_ATTR(pstDemosaicDemoireAttr->stManual.DetailSmoothStr, reg_cfa_moire_strth, 0, 255); + PRINT_ATTR(pstDemosaicDemoireAttr->stManual.EdgeWgtStr, reg_cfa_moire_wght_gain, 0, 255); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_U8 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstDemosaicDemoireAttr->stAuto.DetailSmoothEnable[i], reg_cfa_moire_enable, 0, 1); + PRINT_ATTR(pstDemosaicDemoireAttr->stAuto.DetailSmoothStr[i], reg_cfa_moire_strth, 0, 255); + PRINT_ATTR(pstDemosaicDemoireAttr->stAuto.EdgeWgtStr[i], reg_cfa_moire_wght_gain, 0, 255); + } + #endif +} + +CVI_S32 CVI_ISP_SetDemosaicDemoireAttr(VI_PIPE ViPipe, const ISP_DemosaicDemoire_ATTR_S *pstDemosaicDemoireAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDemosaicDemoireAttr); + + // non-auto attributes + + // manual attributes + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DEMOIREENABLE, pstDemosaicDemoireAttr->stManual.DetailSmoothEnable); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DEMOIRESTR, pstDemosaicDemoireAttr->stManual.DetailSmoothStr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_EDGEWGTSTR, pstDemosaicDemoireAttr->stManual.EdgeWgtStr); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DEMOIREENABLE + i + , pstDemosaicDemoireAttr->stAuto.DetailSmoothEnable[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DEMOIRESTR + i + , pstDemosaicDemoireAttr->stAuto.DetailSmoothStr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_EDGEWGTSTR + i + , pstDemosaicDemoireAttr->stAuto.EdgeWgtStr[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicDemoireAttr(pstDemosaicDemoireAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DEMOSAIC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDemosaicDemoireAttr(VI_PIPE ViPipe, ISP_DemosaicDemoire_ATTR_S *pstDemosaicDemoireAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDemosaicDemoireAttr); + + // non-auto parameters + + // manual parameters + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DEMOIREENABLE + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stManual.DetailSmoothEnable)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DEMOIRESTR + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stManual.DetailSmoothStr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_EDGEWGTSTR + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stManual.EdgeWgtStr)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DEMOIREENABLE + i + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stAuto.DetailSmoothEnable[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DEMOIRESTR + i + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stAuto.DetailSmoothStr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_EDGEWGTSTR + i + , (void *)(uintptr_t)&(pstDemosaicDemoireAttr->stAuto.EdgeWgtStr[i])); + } + + // TODO should add fixed parameters? + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicDemoireAttr(pstDemosaicDemoireAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintDemosaicFilterAttr(const ISP_DemosaicFilter_ATTR_S *pstDemosaicFilterAttr) +{ + // non-auto attributes + + // manual attributes + PRINT_ATTR(pstDemosaicFilterAttr->stManual.DetailWgtThr + , (reg_cfa_moire_diffthd_min, reg_cfa_moire_sadthd_min), 0, 4095); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.DetailWgtSlope + , (reg_cfa_moire_diffthd_slope, reg_cfa_moire_sadthd_slope), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.DetailWgtMin + , (reg_cfa_moire_diffw_low, reg_cfa_moire_sadw_low), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.DetailWgtMax + , (reg_cfa_moire_diffw_high, reg_cfa_moire_sadw_high), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.LumaWgtThr, reg_cfa_moire_lumathd_min, 0, 4095); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.LumaWgtSlope, reg_cfa_moire_lumathd_slope, 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.LumaWgtMin, reg_cfa_moire_lumaw_low, 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stManual.LumaWgtMax, reg_cfa_moire_lumaw_high, 0, 255); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.DetailWgtThr[i] + , (reg_cfa_moire_diffthd_min, reg_cfa_moire_sadthd_min), 0, 4095); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.DetailWgtSlope[i] + , (reg_cfa_moire_diffthd_slope, reg_cfa_moire_sadthd_slope), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.DetailWgtMin[i] + , (reg_cfa_moire_diffw_low, reg_cfa_moire_sadw_low), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.DetailWgtMax[i] + , (reg_cfa_moire_diffw_high, reg_cfa_moire_sadw_high), 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.LumaWgtThr[i], reg_cfa_moire_lumathd_min, 0, 4095); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.LumaWgtSlope[i], reg_cfa_moire_lumathd_slope, 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.LumaWgtMin[i], reg_cfa_moire_lumaw_low, 0, 255); + PRINT_ATTR(pstDemosaicFilterAttr->stAuto.LumaWgtMax[i], reg_cfa_moire_lumaw_high, 0, 255); + } + #endif +} + +CVI_S32 CVI_ISP_SetDemosaicFilterAttr(VI_PIPE ViPipe, const ISP_DemosaicFilter_ATTR_S *pstDemosaicFilterAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDemosaicFilterAttr); + + // non-auto attributes + + // manual attributes + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFTHR, pstDemosaicFilterAttr->stManual.DetailWgtThr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFSLOPE, pstDemosaicFilterAttr->stManual.DetailWgtSlope); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFLOWOFFSET, pstDemosaicFilterAttr->stManual.DetailWgtMin); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFHIGHOFFSET, pstDemosaicFilterAttr->stManual.DetailWgtMax); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_LUMATHRMIN, pstDemosaicFilterAttr->stManual.LumaWgtThr); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_LUMATHRSLOPE, pstDemosaicFilterAttr->stManual.LumaWgtSlope); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_LUMAWLOW, pstDemosaicFilterAttr->stManual.LumaWgtMin); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_LUMAWHIGH, pstDemosaicFilterAttr->stManual.LumaWgtMax); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DIFFTHR + i, pstDemosaicFilterAttr->stAuto.DetailWgtThr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DIFFSLOPE + i, pstDemosaicFilterAttr->stAuto.DetailWgtSlope[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DIFFLOWOFFSET + i + , pstDemosaicFilterAttr->stAuto.DetailWgtMin[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_DIFFHIGHOFFSET + i + , pstDemosaicFilterAttr->stAuto.DetailWgtMax[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_LUMATHRMIN + i + , pstDemosaicFilterAttr->stAuto.LumaWgtThr[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_LUMATHRSLOPE + i + , pstDemosaicFilterAttr->stAuto.LumaWgtSlope[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_LUMAWLOW + i, pstDemosaicFilterAttr->stAuto.LumaWgtMin[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_LUMAWHIGH + i, pstDemosaicFilterAttr->stAuto.LumaWgtMax[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicFilterAttr(pstDemosaicFilterAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DEMOSAIC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDemosaicFilterAttr(VI_PIPE ViPipe, ISP_DemosaicFilter_ATTR_S *pstDemosaicFilterAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDemosaicFilterAttr); + + // non-auto parameters + + // manual parameters + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFTHR, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.DetailWgtThr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFSLOPE, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.DetailWgtSlope)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFLOWOFFSET, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.DetailWgtMin)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_DIFFHIGHOFFSET, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.DetailWgtMax)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_LUMATHRMIN, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.LumaWgtThr)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_LUMATHRSLOPE, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.LumaWgtSlope)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_LUMAWLOW, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.LumaWgtMin)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_LUMAWHIGH, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stManual.LumaWgtMax)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DIFFTHR + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.DetailWgtThr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DIFFSLOPE + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.DetailWgtSlope[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DIFFLOWOFFSET + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.DetailWgtMin[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_DIFFHIGHOFFSET + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.DetailWgtMax[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_LUMATHRMIN + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.LumaWgtThr[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_LUMATHRSLOPE + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.LumaWgtSlope[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_LUMAWLOW + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.LumaWgtMin[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_LUMAWHIGH + i, + (void *)(uintptr_t)&(pstDemosaicFilterAttr->stAuto.LumaWgtMax[i])); + } + + // TODO should add fixed parameters? + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicFilterAttr(pstDemosaicFilterAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintDemosaicEEAttr(const ISP_DemosaicEE_ATTR_S *pstDemosaicEEAttr) +{ + CVI_S32 j = 0; + + // non-auto attributes + + // manual attributes + PRINT_ATTR(pstDemosaicEEAttr->stManual.EdgeEnhanceEnable, reg_rgbee_enable, 0, 1); + PRINT_ATTR(pstDemosaicEEAttr->stManual.OverShtGain, reg_rgbee_osgain, 0, 1023); + PRINT_ATTR(pstDemosaicEEAttr->stManual.UnderShtGain, reg_rgbee_usgain, 0, 1023); + PRINT_ATTR(pstDemosaicEEAttr->stManual.NoiseSuppressStr + , (reg_rgbee_np_lut00 - reg_rgbee_np_lut32), 0, 255); + for (j = 0; j < 33; j++) + PRINT_ATTR(pstDemosaicEEAttr->stManual.HFGainTable[j] + , (reg_rgbee_ac_lut00 - reg_rgbee_ac_lut32), 0, 255); + for (j = 0; j < 33; j++) + PRINT_ATTR(pstDemosaicEEAttr->stManual.GainTable[j] + , (reg_rgbee_edge_lut00 - reg_rgbee_edge_lut32), 0, 255); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstDemosaicEEAttr->stAuto.EdgeEnhanceEnable[i], reg_rgbee_enable, 0, 1); + PRINT_ATTR(pstDemosaicEEAttr->stAuto.OverShtGain[i], reg_rgbee_osgain, 0, 1023); + PRINT_ATTR(pstDemosaicEEAttr->stAuto.UnderShtGain[i], reg_rgbee_usgain, 0, 1023); + PRINT_ATTR(pstDemosaicEEAttr->stAuto.NoiseSuppressStr[i] + , (reg_rgbee_np_lut00 - reg_rgbee_np_lut32), 0, 255); + for (j = 0; j < 33; j++) + PRINT_ATTR(pstDemosaicEEAttr->stAuto.HFGainTable[j][i] + , (reg_rgbee_ac_lut00 - reg_rgbee_ac_lut32), 0, 255); + for (j = 0; j < 33; j++) + PRINT_ATTR(pstDemosaicEEAttr->stAuto.GainTable[j][i] + , (reg_rgbee_edge_lut00 - reg_rgbee_edge_lut32), 0, 255); + } + #endif +} + +CVI_S32 CVI_ISP_SetDemosaicEEAttr(VI_PIPE ViPipe, const ISP_DemosaicEE_ATTR_S *pstDemosaicEEAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDemosaicEEAttr); + + CVI_S32 i = 0; + CVI_S32 j = 0; + CVI_S32 offset = 0; + + // non-auto attributes + + // manual attributes + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_EDGEENHANCEENABLE, pstDemosaicEEAttr->stManual.EdgeEnhanceEnable); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_OVERSHTGAIN, pstDemosaicEEAttr->stManual.OverShtGain); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_UNDERSHTGAIN, pstDemosaicEEAttr->stManual.UnderShtGain); + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_NOISESUPPRESSSTR + , pstDemosaicEEAttr->stManual.NoiseSuppressStr); + for (j = 0; j < 33; j++) + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_HFGAINTABLE_0 + j, + pstDemosaicEEAttr->stManual.HFGainTable[j]); + for (j = 0; j < 33; j++) + isp_param_set(ViPipe, ISP_DEMOSAIC_MANUAL_GAINTABLE_0 + j, pstDemosaicEEAttr->stManual.GainTable[j]); + + // auto attributes + for (i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_EDGEENHANCEENABLE + i, + pstDemosaicEEAttr->stAuto.EdgeEnhanceEnable[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_OVERSHTGAIN + i, pstDemosaicEEAttr->stAuto.OverShtGain[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_UNDERSHTGAIN + i, pstDemosaicEEAttr->stAuto.UnderShtGain[i]); + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_NOISESUPPRESSSTR + i, + pstDemosaicEEAttr->stAuto.NoiseSuppressStr[i]); + for (j = 0; j < 33; j++) { + offset = ISP_DEMOSAIC_AUTO_HFGAINTABLE_1 - ISP_DEMOSAIC_AUTO_HFGAINTABLE_0; + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_HFGAINTABLE_0 + offset * j + i, + pstDemosaicEEAttr->stAuto.HFGainTable[j][i]); + } + for (j = 0; j < 33; j++) { + offset = ISP_DEMOSAIC_AUTO_GAINTABLE_1 - ISP_DEMOSAIC_AUTO_GAINTABLE_0; + isp_param_set(ViPipe, ISP_DEMOSAIC_AUTO_GAINTABLE_0 + offset * j + i, + pstDemosaicEEAttr->stAuto.GainTable[j][i]); + } + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicEEAttr(pstDemosaicEEAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DEMOSAIC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDemosaicEEAttr(VI_PIPE ViPipe, ISP_DemosaicEE_ATTR_S *pstDemosaicEEAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDemosaicEEAttr); + + CVI_S32 i = 0; + CVI_S32 j = 0; + CVI_S32 offset = 0; + + // non-auto parameters + + // manual parameters + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_EDGEENHANCEENABLE, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.EdgeEnhanceEnable)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_OVERSHTGAIN, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.OverShtGain)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_UNDERSHTGAIN, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.UnderShtGain)); + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_NOISESUPPRESSSTR, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.NoiseSuppressStr)); + for (j = 0; j < 33; j++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_HFGAINTABLE_0 + j, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.HFGainTable[j])); + } + for (j = 0; j < 33; j++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_MANUAL_GAINTABLE_0 + j, + (void *)(uintptr_t)&(pstDemosaicEEAttr->stManual.GainTable[j])); + } + + // auto parameters + for (i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_EDGEENHANCEENABLE + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.EdgeEnhanceEnable[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_OVERSHTGAIN + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.OverShtGain[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_UNDERSHTGAIN + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.UnderShtGain[i])); + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_NOISESUPPRESSSTR + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.NoiseSuppressStr[i])); + for (j = 0; j < 33; j++) { + offset = ISP_DEMOSAIC_AUTO_HFGAINTABLE_1 - ISP_DEMOSAIC_AUTO_HFGAINTABLE_0; + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_HFGAINTABLE_0 + offset * j + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.HFGainTable[j][i])); + } + for (j = 0; j < 33; j++) { + offset = ISP_DEMOSAIC_AUTO_GAINTABLE_1 - ISP_DEMOSAIC_AUTO_GAINTABLE_0; + isp_param_get(ViPipe, ISP_DEMOSAIC_AUTO_GAINTABLE_0 + offset * j + i + , (void *)(uintptr_t)&(pstDemosaicEEAttr->stAuto.GainTable[j][i])); + } + } + + // TODO should add fixed parameters? + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDemosaicEEAttr(pstDemosaicEEAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintNRAttr(const ISP_NR_ATTR_S *pstNRAttr) +{ + // non-auto attributes + PRINT_ATTR(pstNRAttr->Enable, reg_bnr_enable, 0, 1); + PRINT_ATTR(pstNRAttr->enOpType, reg_na, 0, 1); + + // manual attributes + PRINT_ATTR(pstNRAttr->stManual.WindowType + , (reg_bnr_weight_intra_0, reg_bnr_weight_intra_1, reg_bnr_weight_intra_2 + , reg_bnr_weight_norm_intra1, reg_bnr_weight_norm_intra2), 0, 11); + PRINT_ATTR(pstNRAttr->stManual.DetailSmoothMode, reg_bnr_flag_neighbor_max_weight, 0, 1); + PRINT_ATTR(pstNRAttr->stManual.NoiseSuppressStr, reg_bnr_ns_gain, 0, 255); + PRINT_ATTR(pstNRAttr->stManual.FilterType, reg_bnr_weight_lut_h, 0, 255); + PRINT_ATTR(pstNRAttr->stManual.NoiseSuppressStrMode, reg_bnr_strength_mode, 0, 255); + + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstNRAttr->stAuto.WindowType[i] + , (reg_bnr_weight_intra_0, reg_bnr_weight_intra_1, reg_bnr_weight_intra_2 + , reg_bnr_weight_norm_intra1, reg_bnr_weight_norm_intra2), 0, 11); + PRINT_ATTR(pstNRAttr->stAuto.DetailSmoothMode[i], reg_bnr_flag_neighbor_max_weight, 0, 1); + PRINT_ATTR(pstNRAttr->stAuto.NoiseSuppressStr[i], reg_bnr_ns_gain, 0, 255); + PRINT_ATTR(pstNRAttr->stAuto.FilterType[i], reg_bnr_weight_lut_h, 0, 255); + PRINT_ATTR(pstNRAttr->stAuto.NoiseSuppressStrMode[i], reg_bnr_strength_mode, 0, 255); + } + #endif +} + +CVI_S32 CVI_ISP_SetNRAttr(VI_PIPE ViPipe, const ISP_NR_ATTR_S *pstNRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstNRAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_NR_ENABLE, pstNRAttr->Enable); + isp_param_set(ViPipe, ISP_NR_ENOPTYPE, pstNRAttr->enOpType); + + // manual attributes + isp_param_set(ViPipe, ISP_NR_MANUAL_WINDOWTYPE, pstNRAttr->stManual.WindowType); + isp_param_set(ViPipe, ISP_NR_MANUAL_DETAILSMOOTHMODE, pstNRAttr->stManual.DetailSmoothMode); + isp_param_set(ViPipe, ISP_NR_MANUAL_NOISESUPPRESSSTR, pstNRAttr->stManual.NoiseSuppressStr); + isp_param_set(ViPipe, ISP_NR_MANUAL_FILTERTYPE, pstNRAttr->stManual.FilterType); + isp_param_set(ViPipe, ISP_NR_MANUAL_NOISESUPPRESSSTRMODE, pstNRAttr->stManual.NoiseSuppressStrMode); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_NR_AUTO_WINDOWTYPE + i, pstNRAttr->stAuto.WindowType[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_DETAILSMOOTHMODE + i, pstNRAttr->stAuto.DetailSmoothMode[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_NOISESUPPRESSSTR + i, pstNRAttr->stAuto.NoiseSuppressStr[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_FILTERTYPE + i, pstNRAttr->stAuto.FilterType[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_NOISESUPPRESSSTRMODE + i, pstNRAttr->stAuto.NoiseSuppressStrMode[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintNRAttr(pstNRAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_BNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetNRAttr(VI_PIPE ViPipe, ISP_NR_ATTR_S *pstNRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstNRAttr); + + CLEAR(*pstNRAttr); + // non-auto attributes + isp_param_get(ViPipe, ISP_NR_ENABLE, (void *)(uintptr_t)&(pstNRAttr->Enable)); + isp_param_get(ViPipe, ISP_NR_ENOPTYPE, (void *)(uintptr_t)&(pstNRAttr->enOpType)); + + // manual attributes + isp_param_get(ViPipe, ISP_NR_MANUAL_WINDOWTYPE, (void *)(uintptr_t)&(pstNRAttr->stManual.WindowType)); + isp_param_get(ViPipe, ISP_NR_MANUAL_DETAILSMOOTHMODE, + (void *)(uintptr_t)&(pstNRAttr->stManual.DetailSmoothMode)); + isp_param_get(ViPipe, ISP_NR_MANUAL_NOISESUPPRESSSTR, + (void *)(uintptr_t)&(pstNRAttr->stManual.NoiseSuppressStr)); + isp_param_get(ViPipe, ISP_NR_MANUAL_FILTERTYPE, (void *)(uintptr_t)&(pstNRAttr->stManual.FilterType)); + isp_param_get(ViPipe, ISP_NR_MANUAL_NOISESUPPRESSSTRMODE, + (void *)(uintptr_t)&(pstNRAttr->stManual.NoiseSuppressStrMode)); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_NR_AUTO_WINDOWTYPE + i, + (void *)(uintptr_t)&(pstNRAttr->stAuto.WindowType[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_DETAILSMOOTHMODE + i, + (void *)(uintptr_t)&(pstNRAttr->stAuto.DetailSmoothMode[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_NOISESUPPRESSSTR + i, + (void *)(uintptr_t)&(pstNRAttr->stAuto.NoiseSuppressStr[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_FILTERTYPE + i, + (void *)(uintptr_t)&(pstNRAttr->stAuto.FilterType[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_NOISESUPPRESSSTRMODE + i, + (void *)(uintptr_t)&(pstNRAttr->stAuto.NoiseSuppressStrMode[i])); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintNRAttr(pstNRAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintNRFilterAttr(const ISP_NRFilter_ATTR_S *pstNRFilterAttr) +{ + // non-auto attributes + PRINT_ATTR(pstNRFilterAttr->TuningMode, reg_bnr_out_sel, 0, 15); + + // manual attributes + PRINT_ATTR(pstNRFilterAttr->stManual.NrLscRatio, reg_bnr_lsc_ratio, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[0], reg_bnr_intensity_sel_0, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[1], reg_bnr_intensity_sel_1, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[2], reg_bnr_intensity_sel_2, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[3], reg_bnr_intensity_sel_3, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[4], reg_bnr_intensity_sel_4, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[5], reg_bnr_intensity_sel_5, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[6], reg_bnr_intensity_sel_6, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.LumaStr[7], reg_bnr_intensity_sel_7, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.VarThr, reg_bnr_var_th, 0, 1023); + PRINT_ATTR(pstNRFilterAttr->stManual.CoringWgtLF, reg_bnr_res_ratio_k_smooth, 0, 256); + PRINT_ATTR(pstNRFilterAttr->stManual.CoringWgtHF, reg_bnr_res_ratio_k_texture, 0, 256); + PRINT_ATTR(pstNRFilterAttr->stManual.NonDirFiltStr, reg_bnr_weight_smooth, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.VhDirFiltStr, (reg_bnr_weight_v, reg_bnr_weight_h), 0, 31); + PRINT_ATTR(pstNRFilterAttr->stManual.AaDirFiltStr + , (reg_bnr_weight_d35, reg_bnr_weight_d135), 0, 31); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_S32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstNRFilterAttr->stAuto.NrLscRatio[i], reg_bnr_lsc_ratio, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[0][i], reg_bnr_intensity_sel_0, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[1][i], reg_bnr_intensity_sel_1, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[2][i], reg_bnr_intensity_sel_2, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[3][i], reg_bnr_intensity_sel_3, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[4][i], reg_bnr_intensity_sel_4, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[5][i], reg_bnr_intensity_sel_5, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[6][i], reg_bnr_intensity_sel_6, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.LumaStr[7][i], reg_bnr_intensity_sel_7, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.VarThr[i], reg_bnr_var_th, 0, 1023); + PRINT_ATTR(pstNRFilterAttr->stAuto.CoringWgtLF[i], reg_bnr_res_ratio_k_smooth, 0, 256); + PRINT_ATTR(pstNRFilterAttr->stAuto.CoringWgtHF[i], reg_bnr_res_ratio_k_texture, 0, 256); + PRINT_ATTR(pstNRFilterAttr->stAuto.NonDirFiltStr[i], reg_bnr_weight_smooth, 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.VhDirFiltStr[i], (reg_bnr_weight_v, reg_bnr_weight_h), 0, 31); + PRINT_ATTR(pstNRFilterAttr->stAuto.AaDirFiltStr[i] + , (reg_bnr_weight_d35, reg_bnr_weight_d135), 0, 31); + } + #endif +} + +CVI_S32 CVI_ISP_SetNRFilterAttr(VI_PIPE ViPipe, const ISP_NRFilter_ATTR_S *pstNRFilterAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstNRFilterAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_NR_TUNINGMODE, pstNRFilterAttr->TuningMode); + + // manual attributes + isp_param_set(ViPipe, ISP_NR_MANUAL_NRLSCRATIO, pstNRFilterAttr->stManual.NrLscRatio); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR0, pstNRFilterAttr->stManual.LumaStr[0]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR1, pstNRFilterAttr->stManual.LumaStr[1]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR2, pstNRFilterAttr->stManual.LumaStr[2]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR3, pstNRFilterAttr->stManual.LumaStr[3]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR4, pstNRFilterAttr->stManual.LumaStr[4]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR5, pstNRFilterAttr->stManual.LumaStr[5]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR6, pstNRFilterAttr->stManual.LumaStr[6]); + isp_param_set(ViPipe, ISP_NR_MANUAL_LUMASTR7, pstNRFilterAttr->stManual.LumaStr[7]); + isp_param_set(ViPipe, ISP_NR_MANUAL_VARTHR, pstNRFilterAttr->stManual.VarThr); + isp_param_set(ViPipe, ISP_NR_MANUAL_CORINGWGTLF, pstNRFilterAttr->stManual.CoringWgtLF); + isp_param_set(ViPipe, ISP_NR_MANUAL_CORINGWGTHF, pstNRFilterAttr->stManual.CoringWgtHF); + isp_param_set(ViPipe, ISP_NR_MANUAL_NONDIRFILTSTR, pstNRFilterAttr->stManual.NonDirFiltStr); + isp_param_set(ViPipe, ISP_NR_MANUAL_VHDIRFILTSTR, pstNRFilterAttr->stManual.VhDirFiltStr); + isp_param_set(ViPipe, ISP_NR_MANUAL_AADIRFILTSTR, pstNRFilterAttr->stManual.AaDirFiltStr); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_NR_AUTO_NRLSCRATIO + i, pstNRFilterAttr->stAuto.NrLscRatio[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR0 + i, pstNRFilterAttr->stAuto.LumaStr[0][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR1 + i, pstNRFilterAttr->stAuto.LumaStr[1][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR2 + i, pstNRFilterAttr->stAuto.LumaStr[2][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR3 + i, pstNRFilterAttr->stAuto.LumaStr[3][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR4 + i, pstNRFilterAttr->stAuto.LumaStr[4][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR5 + i, pstNRFilterAttr->stAuto.LumaStr[5][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR6 + i, pstNRFilterAttr->stAuto.LumaStr[6][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_LUMASTR7 + i, pstNRFilterAttr->stAuto.LumaStr[7][i]); + isp_param_set(ViPipe, ISP_NR_AUTO_VARTHR + i, pstNRFilterAttr->stAuto.VarThr[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_CORINGWGTLF + i, pstNRFilterAttr->stAuto.CoringWgtLF[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_CORINGWGTHF + i, pstNRFilterAttr->stAuto.CoringWgtHF[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_NONDIRFILTSTR + i, pstNRFilterAttr->stAuto.NonDirFiltStr[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_VHDIRFILTSTR + i, pstNRFilterAttr->stAuto.VhDirFiltStr[i]); + isp_param_set(ViPipe, ISP_NR_AUTO_AADIRFILTSTR + i, pstNRFilterAttr->stAuto.AaDirFiltStr[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintNRFilterAttr(pstNRFilterAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_BNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetNRFilterAttr(VI_PIPE ViPipe, ISP_NRFilter_ATTR_S *pstNRFilterAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstNRFilterAttr); + + // non-auto attributes + isp_param_get(ViPipe, ISP_NR_TUNINGMODE, (void *)(uintptr_t)&(pstNRFilterAttr->TuningMode)); + + // manual attributes + isp_param_get(ViPipe, ISP_NR_MANUAL_NRLSCRATIO, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.NrLscRatio)); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR0, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[0])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR1, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[1])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR2, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[2])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR3, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[3])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR4, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[4])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR5, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[5])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR6, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[6])); + isp_param_get(ViPipe, ISP_NR_MANUAL_LUMASTR7, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.LumaStr[7])); + isp_param_get(ViPipe, ISP_NR_MANUAL_VARTHR, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.VarThr)); + isp_param_get(ViPipe, ISP_NR_MANUAL_CORINGWGTLF, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.CoringWgtLF)); + isp_param_get(ViPipe, ISP_NR_MANUAL_CORINGWGTHF, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.CoringWgtHF)); + isp_param_get(ViPipe, ISP_NR_MANUAL_NONDIRFILTSTR, + (void *)(uintptr_t)&(pstNRFilterAttr->stManual.NonDirFiltStr)); + isp_param_get(ViPipe, ISP_NR_MANUAL_VHDIRFILTSTR, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.VhDirFiltStr)); + isp_param_get(ViPipe, ISP_NR_MANUAL_AADIRFILTSTR, (void *)(uintptr_t)&(pstNRFilterAttr->stManual.AaDirFiltStr)); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_NR_AUTO_NRLSCRATIO + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.NrLscRatio[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR0 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[0][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR1 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[1][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR2 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[2][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR3 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[3][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR4 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[4][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR5 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[5][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR6 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[6][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_LUMASTR7 + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.LumaStr[7][i])); + isp_param_get(ViPipe, ISP_NR_AUTO_VARTHR + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.VarThr[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_CORINGWGTLF + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.CoringWgtLF[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_CORINGWGTHF + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.CoringWgtHF[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_NONDIRFILTSTR + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.NonDirFiltStr[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_VHDIRFILTSTR + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.VhDirFiltStr[i])); + isp_param_get(ViPipe, ISP_NR_AUTO_AADIRFILTSTR + i, + (void *)(uintptr_t)&(pstNRFilterAttr->stAuto.AaDirFiltStr[i])); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintNRFilterAttr(pstNRFilterAttr); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintRLSCAttr(const ISP_RLSC_ATTR_S *pstRLSCAttr) +{ + // non-auto attributes + PRINT_ATTR(pstRLSCAttr->RlscEnable, reg_cbns_enable, 0, 1); + PRINT_ATTR(pstRLSCAttr->RlscCenterX, reg_cbns_centerx, 0, 4095); + PRINT_ATTR(pstRLSCAttr->RlscCenterY, reg_cbns_centery, 0, 2047); + + // manual attributes + PRINT_ATTR(pstRLSCAttr->stManual.RadialStr, reg_cbns_strnth, 0, 4095); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_S32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + PRINT_ATTR(pstRLSCAttr->stAuto.RadialStr[i], reg_cbns_strnth, 0, 4095); + #endif +} + +CVI_S32 CVI_ISP_SetRLSCAttr(VI_PIPE ViPipe, const ISP_RLSC_ATTR_S *pstRLSCAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstRLSCAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_NR_RLSCENABLE, pstRLSCAttr->RlscEnable); + isp_param_set(ViPipe, ISP_NR_RLSCCENTERX, pstRLSCAttr->RlscCenterX); + isp_param_set(ViPipe, ISP_NR_RLSCCENTERY, pstRLSCAttr->RlscCenterY); + + // manual attributes + isp_param_set(ViPipe, ISP_NR_MANUAL_RADIALSTR, pstRLSCAttr->stManual.RadialStr); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + isp_param_set(ViPipe, ISP_NR_AUTO_RADIALSTR + i, pstRLSCAttr->stAuto.RadialStr[i]); + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintRLSCAttr(pstRLSCAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_BNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetRLSCAttr(VI_PIPE ViPipe, ISP_RLSC_ATTR_S *pstRLSCAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstRLSCAttr); + + // non-auto attributes + isp_param_get(ViPipe, ISP_NR_RLSCENABLE, (void *)(uintptr_t)&(pstRLSCAttr->RlscEnable)); + isp_param_get(ViPipe, ISP_NR_RLSCCENTERX, (void *)(uintptr_t)&(pstRLSCAttr->RlscCenterX)); + isp_param_get(ViPipe, ISP_NR_RLSCCENTERY, (void *)(uintptr_t)&(pstRLSCAttr->RlscCenterY)); + + // manual attributes + isp_param_get(ViPipe, ISP_NR_MANUAL_RADIALSTR, (void *)(uintptr_t)&(pstRLSCAttr->stManual.RadialStr)); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + isp_param_get(ViPipe, ISP_NR_AUTO_RADIALSTR + i, + (void *)(uintptr_t)&(pstRLSCAttr->stAuto.RadialStr[i])); + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintRLSCAttr(pstRLSCAttr); + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// Dehaze +//----------------------------------------------------------------------------- +static void CVI_ISP_PrintDehazeAttr(const ISP_DEHAZE_ATTR_S *pstDehazeAttr) +{ + // non-auto attributes + PRINT_ATTR(pstDehazeAttr->Enable, reg_dehaze_enable, 0, 2); + PRINT_ATTR(pstDehazeAttr->enOpType, reg_na, 0, 2); + PRINT_ATTR(pstDehazeAttr->CumulativeThr, reg_dehaze_cum_th, 0, 16383); + PRINT_ATTR(pstDehazeAttr->MinTransMapValue, reg_dehaze_tmap_min, 0, 8192); + + // manual attributes + PRINT_ATTR(pstDehazeAttr->stManual.Strength, reg_dehaze_w, 0, 100); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_S32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + PRINT_ATTR(pstDehazeAttr->stAuto.Strength[i], reg_dehaze_w, 0, 100); + #endif +} + +CVI_S32 CVI_ISP_SetDehazeAttr(VI_PIPE ViPipe, const ISP_DEHAZE_ATTR_S *pstDehazeAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDehazeAttr); + + isp_param_set(ViPipe, ISP_DEHAZE_ENABLE, pstDehazeAttr->Enable); + isp_param_set(ViPipe, ISP_DEHAZE_ENOPTYPE, pstDehazeAttr->enOpType); + isp_param_set(ViPipe, ISP_DEHAZE_MANUAL_CUMULATIVETHR, pstDehazeAttr->CumulativeThr); + isp_param_set(ViPipe, ISP_DEHAZE_MANUAL_MINTRANSMAPVALUE, pstDehazeAttr->MinTransMapValue); + + isp_param_set(ViPipe, ISP_DEHAZE_MANUAL_STRENGTH, pstDehazeAttr->stManual.Strength); + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + isp_param_set(ViPipe, ISP_DEHAZE_AUTO_STRENGTH + i, pstDehazeAttr->stAuto.Strength[i]); + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDehazeAttr(pstDehazeAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DEHAZE); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDehazeAttr(VI_PIPE ViPipe, ISP_DEHAZE_ATTR_S *pstDehazeAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDehazeAttr); + + CLEAR(*pstDehazeAttr); + isp_param_get(ViPipe, ISP_DEHAZE_ENABLE, (void *)(uintptr_t)&(pstDehazeAttr->Enable)); + isp_param_get(ViPipe, ISP_DEHAZE_ENOPTYPE, (void *)(uintptr_t)&(pstDehazeAttr->enOpType)); + isp_param_get(ViPipe, ISP_DEHAZE_MANUAL_CUMULATIVETHR, (void *)(uintptr_t)&(pstDehazeAttr->CumulativeThr)); + isp_param_get(ViPipe, ISP_DEHAZE_MANUAL_MINTRANSMAPVALUE, + (void *)(uintptr_t)&(pstDehazeAttr->MinTransMapValue)); + + isp_param_get(ViPipe, ISP_DEHAZE_MANUAL_STRENGTH, (void *)(uintptr_t)&(pstDehazeAttr->stManual.Strength)); + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) + isp_param_get(ViPipe, ISP_DEHAZE_AUTO_STRENGTH + i, + (void *)(uintptr_t)&(pstDehazeAttr->stAuto.Strength[i])); + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintDehazeAttr(pstDehazeAttr); + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// YNR +//----------------------------------------------------------------------------- +static CVI_BOOL is_value_in_array(CVI_S32 value, CVI_S32 *array, CVI_U32 length) +{ + CVI_U32 i; + + for (i = 0; i < length; i++) + if (array[i] == value) + break; + + return i != length; +} + +CVI_S32 CVI_ISP_SetYNRAttr(VI_PIPE ViPipe, const ISP_YNR_ATTR_S *pstYNRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstYNRAttr); + + CVI_S32 TuningModeList[] = {8, 11, 12, 13, 14, 15}; +#if 0 + CVI_S32 i = 0; + + // non-auto attributes + isp_param_set(ViPipe, ISP_YNR_ENABLE, pstYNRAttr->Enable); + isp_param_set(ViPipe, ISP_YNR_ENOPTYPE, pstYNRAttr->enOpType); + if (is_value_in_array(pstYNRAttr->TuningMode, TuningModeList, ARRAY_SIZE(TuningModeList))) + isp_param_set(ViPipe, ISP_YNR_MANUAL_TUNINGMODE, pstYNRAttr->TuningMode); + else + ISP_DEBUG(LOG_WARNING, "tuning moode only accept values in 8, 11, 12, 13, 14, 15\n"); + + // manual attributes + isp_param_set(ViPipe, ISP_YNR_MANUAL_WINDOWTYPE, pstYNRAttr->stManual.WindowType); + isp_param_set(ViPipe, ISP_YNR_MANUAL_DETAILSMOOTHMODE, pstYNRAttr->stManual.DetailSmoothMode); + isp_param_set(ViPipe, ISP_YNR_MANUAL_NOISESUPPRESSSTR, pstYNRAttr->stManual.NoiseSuppressStr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_FILTERTYPE, pstYNRAttr->stManual.FilterType); + isp_param_set(ViPipe, ISP_YNR_MANUAL_NOISESUPPRESSSTRMODE, pstYNRAttr->stManual.NoiseSuppressStrMode); + + // auto attributes + for (i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_YNR_AUTO_WINDOWTYPE + i, pstYNRAttr->stAuto.WindowType[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_DETAILSMOOTHMODE + i, pstYNRAttr->stAuto.DetailSmoothMode[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_FILTERTYPE + i, pstYNRAttr->stAuto.NoiseSuppressStr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_NOISESUPPRESSSTR + i, pstYNRAttr->stAuto.FilterType[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_NOISESUPPRESSSTRMODE + i, + pstYNRAttr->stAuto.NoiseSuppressStrMode[i]); + } + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_YNR); + + return CVI_SUCCESS; +#endif + if (!is_value_in_array(pstYNRAttr->TuningMode, TuningModeList, ARRAY_SIZE(TuningModeList))) + ISP_DEBUG(LOG_WARNING, "tuning moode only accept values in 8, 11, 12, 13, 14, 15\n"); + memcpy(&g_param[ViPipe].YNR, pstYNRAttr, sizeof(*pstYNRAttr)); + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DCI); + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetYNRAttr(VI_PIPE ViPipe, ISP_YNR_ATTR_S *pstYNRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstYNRAttr); + +#if 0 + CVI_S32 i = 0; + + CLEAR(*pstYNRAttr); + // non-auto attributes + isp_param_get(ViPipe, ISP_YNR_ENABLE, (void *)(uintptr_t)&(pstYNRAttr->Enable)); + isp_param_get(ViPipe, ISP_YNR_ENOPTYPE, (void *)(uintptr_t)&(pstYNRAttr->enOpType)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_TUNINGMODE, (void *)(uintptr_t)&(pstYNRAttr->TuningMode)); + + // manual attributes + isp_param_get(ViPipe, ISP_YNR_MANUAL_WINDOWTYPE, (void *)(uintptr_t)&(pstYNRAttr->stManual.WindowType)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_DETAILSMOOTHMODE, + (void *)(uintptr_t)&(pstYNRAttr->stManual.DetailSmoothMode)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_NOISESUPPRESSSTR, + (void *)(uintptr_t)&(pstYNRAttr->stManual.NoiseSuppressStr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_FILTERTYPE, (void *)(uintptr_t)&(pstYNRAttr->stManual.FilterType)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_NOISESUPPRESSSTRMODE, + (void *)(uintptr_t)&(pstYNRAttr->stManual.NoiseSuppressStrMode)); + + // auto attributes + for (i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_YNR_AUTO_WINDOWTYPE + i, + (void *)(uintptr_t)&(pstYNRAttr->stAuto.WindowType[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_DETAILSMOOTHMODE + i, + (void *)(uintptr_t)&(pstYNRAttr->stAuto.DetailSmoothMode[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_FILTERTYPE + i, + (void *)(uintptr_t)&(pstYNRAttr->stAuto.NoiseSuppressStr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_NOISESUPPRESSSTR + i, + (void *)(uintptr_t)&(pstYNRAttr->stAuto.FilterType[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_NOISESUPPRESSSTRMODE + i, + (void *)(uintptr_t)&(pstYNRAttr->stAuto.NoiseSuppressStrMode[i])); + } + + return CVI_SUCCESS; +#endif + memcpy(pstYNRAttr, &g_param[ViPipe].YNR, sizeof(*pstYNRAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetYNRMotionNRAttr(VI_PIPE ViPipe, const ISP_YNRMotionNR_ATTR_S *pstYNRMotionNRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstYNRMotionNRAttr); + + // non-auto attributes + + // manual attributes + isp_param_set(ViPipe, ISP_YNR_MANUAL_MOTIONTHR, pstYNRMotionNRAttr->stManual.MotionThr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_MOTIONNRPOSGAIN, pstYNRMotionNRAttr->stManual.MotionNrPosGain); + isp_param_set(ViPipe, ISP_YNR_MANUAL_MOTIONNRNEGGAIN, pstYNRMotionNRAttr->stManual.MotionNrNegGain); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_YNR_AUTO_MOTIONTHR + i, pstYNRMotionNRAttr->stAuto.MotionThr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_MOTIONNRPOSGAIN + i, pstYNRMotionNRAttr->stAuto.MotionNrPosGain[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_MOTIONNRNEGGAIN + i, pstYNRMotionNRAttr->stAuto.MotionNrNegGain[i]); + } + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_YNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetYNRMotionNRAttr(VI_PIPE ViPipe, ISP_YNRMotionNR_ATTR_S *pstYNRMotionNRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstYNRMotionNRAttr); + + // non-auto attributes + + // manual attributes + isp_param_get(ViPipe, ISP_YNR_MANUAL_MOTIONTHR, (void *)(uintptr_t)&(pstYNRMotionNRAttr->stManual.MotionThr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_MOTIONNRPOSGAIN, + (void *)(uintptr_t)&(pstYNRMotionNRAttr->stManual.MotionNrPosGain)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_MOTIONNRNEGGAIN, + (void *)(uintptr_t)&(pstYNRMotionNRAttr->stManual.MotionNrNegGain)); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_YNR_AUTO_MOTIONTHR + i, + (void *)(uintptr_t)&(pstYNRMotionNRAttr->stAuto.MotionThr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_MOTIONNRPOSGAIN + i, + (void *)(uintptr_t)&(pstYNRMotionNRAttr->stAuto.MotionNrPosGain[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_MOTIONNRNEGGAIN + i, + (void *)(uintptr_t)&(pstYNRMotionNRAttr->stAuto.MotionNrNegGain[i])); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetYNRFilterAttr(VI_PIPE ViPipe, const ISP_YNRFilter_ATTR_S *pstYNRFilterAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstYNRFilterAttr); + + // non-auto attributes + + // manual attributes + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR0, pstYNRFilterAttr->stManual.LumaStr[0]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR1, pstYNRFilterAttr->stManual.LumaStr[1]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR2, pstYNRFilterAttr->stManual.LumaStr[2]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR3, pstYNRFilterAttr->stManual.LumaStr[3]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR4, pstYNRFilterAttr->stManual.LumaStr[4]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR5, pstYNRFilterAttr->stManual.LumaStr[5]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR6, pstYNRFilterAttr->stManual.LumaStr[6]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_LUMASTR7, pstYNRFilterAttr->stManual.LumaStr[7]); + isp_param_set(ViPipe, ISP_YNR_MANUAL_VARTHR, pstYNRFilterAttr->stManual.VarThr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_CORINGWGTLF, pstYNRFilterAttr->stManual.CoringWgtLF); + isp_param_set(ViPipe, ISP_YNR_MANUAL_CORINGWGTHF, pstYNRFilterAttr->stManual.CoringWgtHF); + isp_param_set(ViPipe, ISP_YNR_MANUAL_NONDIRFILTSTR, pstYNRFilterAttr->stManual.NonDirFiltStr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_VHDIRFILTSTR, pstYNRFilterAttr->stManual.VhDirFiltStr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_AADIRFILTSTR, pstYNRFilterAttr->stManual.AaDirFiltStr); + isp_param_set(ViPipe, ISP_YNR_MANUAL_FILTERMODE, pstYNRFilterAttr->stManual.FilterMode); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR0 + i, pstYNRFilterAttr->stAuto.LumaStr[0][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR1 + i, pstYNRFilterAttr->stAuto.LumaStr[1][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR2 + i, pstYNRFilterAttr->stAuto.LumaStr[2][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR3 + i, pstYNRFilterAttr->stAuto.LumaStr[3][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR4 + i, pstYNRFilterAttr->stAuto.LumaStr[4][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR5 + i, pstYNRFilterAttr->stAuto.LumaStr[5][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR6 + i, pstYNRFilterAttr->stAuto.LumaStr[6][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_LUMASTR7 + i, pstYNRFilterAttr->stAuto.LumaStr[7][i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_VARTHR + i, pstYNRFilterAttr->stAuto.VarThr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_CORINGWGTLF + i, pstYNRFilterAttr->stAuto.CoringWgtLF[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_CORINGWGTHF + i, pstYNRFilterAttr->stAuto.CoringWgtHF[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_NONDIRFILTSTR + i, pstYNRFilterAttr->stAuto.NonDirFiltStr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_VHDIRFILTSTR + i, pstYNRFilterAttr->stAuto.VhDirFiltStr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_AADIRFILTSTR + i, pstYNRFilterAttr->stAuto.AaDirFiltStr[i]); + isp_param_set(ViPipe, ISP_YNR_AUTO_FILTERMODE + i, pstYNRFilterAttr->stAuto.FilterMode[i]); + } + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_YNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetYNRFilterAttr(VI_PIPE ViPipe, ISP_YNRFilter_ATTR_S *pstYNRFilterAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstYNRFilterAttr); + + // non-auto attributes + + // manual attributes + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR0, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[0])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR1, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[1])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR2, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[2])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR3, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[3])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR4, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[4])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR5, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[5])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR6, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[6])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_LUMASTR7, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.LumaStr[7])); + isp_param_get(ViPipe, ISP_YNR_MANUAL_VARTHR, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.VarThr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_CORINGWGTLF, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.CoringWgtLF)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_CORINGWGTHF, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.CoringWgtHF)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_NONDIRFILTSTR, + (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.NonDirFiltStr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_VHDIRFILTSTR, + (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.VhDirFiltStr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_AADIRFILTSTR, + (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.AaDirFiltStr)); + isp_param_get(ViPipe, ISP_YNR_MANUAL_FILTERMODE, (void *)(uintptr_t)&(pstYNRFilterAttr->stManual.FilterMode)); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR0 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[0][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR1 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[1][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR2 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[2][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR3 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[3][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR4 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[4][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR5 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[5][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR6 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[6][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_LUMASTR7 + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.LumaStr[7][i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_VARTHR + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.VarThr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_CORINGWGTLF + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.CoringWgtLF[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_CORINGWGTHF + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.CoringWgtHF[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_NONDIRFILTSTR + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.NonDirFiltStr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_VHDIRFILTSTR + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.VhDirFiltStr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_AADIRFILTSTR + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.AaDirFiltStr[i])); + isp_param_get(ViPipe, ISP_YNR_AUTO_FILTERMODE + i, + (void *)(uintptr_t)&(pstYNRFilterAttr->stAuto.FilterMode[i])); + } + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// CNR +//----------------------------------------------------------------------------- +static void CVI_ISP_PrintCNRAttr(const ISP_CNR_ATTR_S *pstCNRAttr) +{ + // non-auto attributes + PRINT_ATTR(pstCNRAttr->Enable, reg_cnr_enable, 0, 1); + + // manual attributes + PRINT_ATTR(pstCNRAttr->stManual.CnrStr, reg_cnr_strength_mode, 0, 255); + PRINT_ATTR(pstCNRAttr->stManual.NoiseSuppressStr, reg_cnr_diff_shift_val, 0, 255); + PRINT_ATTR(pstCNRAttr->stManual.NoiseSuppressGain, reg_cnr_diff_gain, 0, 7); + PRINT_ATTR(pstCNRAttr->stManual.FilterType, reg_cnr_weight_lut_inter_block, 0, 16); + PRINT_ATTR(pstCNRAttr->stManual.MotionNrStr, reg_cnr_ratio, 0, 255); + PRINT_ATTR(pstCNRAttr->stManual.LumaWgt, reg_cnr_fusion_intensity_weight, 0, 8); + PRINT_ATTR(pstCNRAttr->stManual.DetailSmoothMode, reg_cnr_flag_neighbor_max_weight, 0, 1); + + // auto attributes + #if PRINT_ATTR_AUTO + for (CVI_S32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstCNRAttr->stAuto.CnrStr[i], reg_cnr_strength_mode, 0, 255); + PRINT_ATTR(pstCNRAttr->stAuto.NoiseSuppressStr[i], reg_cnr_diff_shift_val, 0, 255); + PRINT_ATTR(pstCNRAttr->stAuto.NoiseSuppressGain[i], reg_cnr_diff_gain, 0, 7); + PRINT_ATTR(pstCNRAttr->stAuto.FilterType[i], reg_cnr_weight_lut_inter_block, 0, 16); + PRINT_ATTR(pstCNRAttr->stAuto.MotionNrStr[i], reg_cnr_ratio, 0, 255); + PRINT_ATTR(pstCNRAttr->stAuto.LumaWgt[i], reg_cnr_fusion_intensity_weight, 0, 8); + PRINT_ATTR(pstCNRAttr->stAuto.DetailSmoothMode[i], reg_cnr_flag_neighbor_max_weight, 0, 1); + } + #endif +} + +CVI_S32 CVI_ISP_SetCNRAttr(VI_PIPE ViPipe, const ISP_CNR_ATTR_S *pstCNRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstCNRAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_CNR_ENABLE, pstCNRAttr->Enable); + isp_param_set(ViPipe, ISP_CNR_ENOPTYPE, pstCNRAttr->enOpType); + + // manual attributes + isp_param_set(ViPipe, ISP_CNR_MANUAL_CNRSTR, pstCNRAttr->stManual.CnrStr); + isp_param_set(ViPipe, ISP_CNR_MANUAL_NOISESUPPRESSSTR, pstCNRAttr->stManual.NoiseSuppressStr); + isp_param_set(ViPipe, ISP_CNR_MANUAL_NOISESUPPRESSGAIN, pstCNRAttr->stManual.NoiseSuppressGain); + isp_param_set(ViPipe, ISP_CNR_MANUAL_FILTERTYPE, pstCNRAttr->stManual.FilterType); + isp_param_set(ViPipe, ISP_CNR_MANUAL_MOTIONNRSTR, pstCNRAttr->stManual.MotionNrStr); + isp_param_set(ViPipe, ISP_CNR_MANUAL_LUMAWGT, pstCNRAttr->stManual.LumaWgt); + isp_param_set(ViPipe, ISP_CNR_MANUAL_DETAILSMOOTHMODE, pstCNRAttr->stManual.DetailSmoothMode); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_CNR_AUTO_CNRSTR + i, pstCNRAttr->stAuto.CnrStr[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_NOISESUPPRESSSTR + i, pstCNRAttr->stAuto.NoiseSuppressStr[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_NOISESUPPRESSGAIN + i, pstCNRAttr->stAuto.NoiseSuppressGain[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_FILTERTYPE + i, pstCNRAttr->stAuto.FilterType[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_MOTIONNRSTR + i, pstCNRAttr->stAuto.MotionNrStr[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_LUMAWGT + i, pstCNRAttr->stAuto.LumaWgt[i]); + isp_param_set(ViPipe, ISP_CNR_AUTO_DETAILSMOOTHMODE + i, pstCNRAttr->stAuto.DetailSmoothMode[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintCNRAttr(pstCNRAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_CNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCNRAttr(VI_PIPE ViPipe, ISP_CNR_ATTR_S *pstCNRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstCNRAttr); + + CLEAR(*pstCNRAttr); + // non-auto parameters + isp_param_get(ViPipe, ISP_CNR_ENABLE, (void *)(uintptr_t)&(pstCNRAttr->Enable)); + isp_param_get(ViPipe, ISP_CNR_ENOPTYPE, (void *)(uintptr_t)&(pstCNRAttr->enOpType)); + + // manual parameters + isp_param_get(ViPipe, ISP_CNR_MANUAL_CNRSTR, (void *)(uintptr_t)&(pstCNRAttr->stManual.CnrStr)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_NOISESUPPRESSSTR, + (void *)(uintptr_t)&(pstCNRAttr->stManual.NoiseSuppressStr)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_NOISESUPPRESSGAIN, + (void *)(uintptr_t)&(pstCNRAttr->stManual.NoiseSuppressGain)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_FILTERTYPE, (void *)(uintptr_t)&(pstCNRAttr->stManual.FilterType)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_MOTIONNRSTR, (void *)(uintptr_t)&(pstCNRAttr->stManual.MotionNrStr)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_LUMAWGT, (void *)(uintptr_t)&(pstCNRAttr->stManual.LumaWgt)); + isp_param_get(ViPipe, ISP_CNR_MANUAL_DETAILSMOOTHMODE, + (void *)(uintptr_t)&(pstCNRAttr->stManual.DetailSmoothMode)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_CNR_AUTO_CNRSTR + i, (void *)(uintptr_t)&(pstCNRAttr->stAuto.CnrStr[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_NOISESUPPRESSSTR + i, + (void *)(uintptr_t)&(pstCNRAttr->stAuto.NoiseSuppressStr[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_NOISESUPPRESSGAIN + i, + (void *)(uintptr_t)&(pstCNRAttr->stAuto.NoiseSuppressGain[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_FILTERTYPE + i, + (void *)(uintptr_t)&(pstCNRAttr->stAuto.FilterType[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_MOTIONNRSTR + i, + (void *)(uintptr_t)&(pstCNRAttr->stAuto.MotionNrStr[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_LUMAWGT + i, (void *)(uintptr_t)&(pstCNRAttr->stAuto.LumaWgt[i])); + isp_param_get(ViPipe, ISP_CNR_AUTO_DETAILSMOOTHMODE + i, + (void *)(uintptr_t)&(pstCNRAttr->stAuto.DetailSmoothMode[i])); + } + + // TODO should add fixed parameters? + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintCNRAttr(pstCNRAttr); + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// LocalCac +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_SetCACAttr(VI_PIPE ViPipe, const ISP_CAC_ATTR_S *pstCACAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstCACAttr); + + isp_param_set(ViPipe, ISP_CAC_ENABLE, pstCACAttr->Enable); + isp_param_set(ViPipe, ISP_CAC_ENOPTYPE, pstCACAttr->enOpType); + isp_param_set(ViPipe, ISP_CAC_TUNINGMODE, pstCACAttr->TuningMode); + isp_param_set(ViPipe, ISP_CAC_MANUAL_VARTHR, pstCACAttr->VarThr); + isp_param_set(ViPipe, ISP_CAC_MANUAL_PURPLEDETRANGE, pstCACAttr->PurpleDetRange); + isp_param_set(ViPipe, ISP_CAC_MANUAL_DEPURPLESTR, pstCACAttr->stManual.DePurpleStr); + isp_param_set(ViPipe, ISP_CAC_MANUAL_PURPLECB, pstCACAttr->PurpleCb); + isp_param_set(ViPipe, ISP_CAC_MANUAL_PURPLECR, pstCACAttr->PurpleCr); + isp_param_set(ViPipe, ISP_CAC_MANUAL_GREENCB, pstCACAttr->GreenCb); + isp_param_set(ViPipe, ISP_CAC_MANUAL_GREENCR, pstCACAttr->GreenCr); + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_CAC_AUTO_DEPURPLESTR + i, pstCACAttr->stAuto.DePurpleStr[i]); + } + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_CAC); + isp_iq_auto_set(ViPipe, ISP_IQ_BLOCK_CAC, pstCACAttr->enOpType); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCACAttr(VI_PIPE ViPipe, ISP_CAC_ATTR_S *pstCACAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstCACAttr); + + CLEAR(*pstCACAttr); + isp_param_get(ViPipe, ISP_CAC_ENABLE, (void *)(uintptr_t)&(pstCACAttr->Enable)); + isp_param_get(ViPipe, ISP_CAC_ENOPTYPE, (void *)(uintptr_t)&(pstCACAttr->enOpType)); + isp_param_get(ViPipe, ISP_CAC_TUNINGMODE, (void *)(uintptr_t)&(pstCACAttr->TuningMode)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_VARTHR, (void *)(uintptr_t)&(pstCACAttr->VarThr)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_PURPLEDETRANGE, (void *)(uintptr_t)&(pstCACAttr->PurpleDetRange)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_DEPURPLESTR, (void *)(uintptr_t)&(pstCACAttr->stManual.DePurpleStr)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_PURPLECB, (void *)(uintptr_t)&(pstCACAttr->PurpleCb)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_PURPLECR, (void *)(uintptr_t)&(pstCACAttr->PurpleCr)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_GREENCB, (void *)(uintptr_t)&(pstCACAttr->GreenCb)); + isp_param_get(ViPipe, ISP_CAC_MANUAL_GREENCR, (void *)(uintptr_t)&(pstCACAttr->GreenCr)); + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_CAC_AUTO_DEPURPLESTR + i, + (void *)(uintptr_t)&(pstCACAttr->stAuto.DePurpleStr[i])); + } + + return CVI_SUCCESS; +} + +const CVI_U16 defaultGamma[GAMMA_NODE_NUM] = { + 0, 21, 55, 101, 154, 212, 271, 334, 406, 483, 560, 634, 702, 765, 830, 895, + 959, 1023, 1084, 1143, 1198, 1248, 1294, 1334, 1369, 1403, 1437, 1469, 1500, 1529, 1558, 1586, + 1613, 1640, 1665, 1690, 1714, 1738, 1761, 1784, 1806, 1828, 1850, 1871, 1892, 1913, 1935, 1955, + 1975, 1995, 2013, 2031, 2049, 2066, 2083, 2100, 2116, 2131, 2147, 2162, 2176, 2191, 2206, 2220, + 2234, 2249, 2263, 2277, 2291, 2306, 2321, 2335, 2349, 2364, 2378, 2392, 2406, 2419, 2433, 2446, + 2459, 2472, 2486, 2498, 2511, 2524, 2537, 2549, 2562, 2574, 2587, 2599, 2611, 2624, 2636, 2648, + 2660, 2672, 2683, 2695, 2707, 2718, 2730, 2741, 2752, 2764, 2775, 2786, 2797, 2808, 2819, 2829, + 2840, 2851, 2861, 2872, 2883, 2893, 2903, 2914, 2924, 2934, 2944, 2954, 2964, 2974, 2983, 2993, + 3003, 3012, 3022, 3032, 3041, 3051, 3060, 3070, 3079, 3088, 3098, 3107, 3117, 3126, 3135, 3144, + 3154, 3163, 3172, 3181, 3190, 3199, 3208, 3217, 3225, 3234, 3243, 3252, 3261, 3270, 3279, 3288, + 3297, 3305, 3314, 3324, 3333, 3342, 3351, 3360, 3369, 3378, 3387, 3397, 3406, 3415, 3424, 3433, + 3442, 3452, 3461, 3470, 3479, 3488, 3497, 3506, 3515, 3524, 3533, 3541, 3550, 3559, 3567, 3576, + 3585, 3593, 3602, 3611, 3619, 3628, 3636, 3645, 3653, 3661, 3670, 3678, 3687, 3695, 3703, 3712, + 3720, 3728, 3737, 3745, 3753, 3761, 3769, 3777, 3786, 3794, 3802, 3810, 3818, 3826, 3834, 3842, + 3850, 3858, 3866, 3874, 3881, 3889, 3897, 3905, 3913, 3921, 3928, 3936, 3945, 3953, 3961, 3970, + 3978, 3987, 3995, 4004, 4012, 4020, 4028, 4036, 4044, 4051, 4058, 4065, 4072, 4078, 4084, 4089 +}; + +const CVI_U16 sRGBGamma[GAMMA_NODE_NUM] = { + 0, 203, 347, 452, 538, 613, 679, 739, 794, 845, 894, 939, 982, 1023, 1062, 1099, + 1136, 1170, 1204, 1237, 1268, 1299, 1329, 1358, 1386, 1414, 1441, 1467, 1493, 1518, 1543, 1567, + 1591, 1615, 1638, 1660, 1683, 1704, 1726, 1747, 1768, 1789, 1809, 1829, 1849, 1868, 1888, 1907, + 1926, 1944, 1962, 1981, 1998, 2016, 2034, 2051, 2068, 2085, 2102, 2119, 2135, 2151, 2168, 2184, + 2199, 2215, 2231, 2246, 2261, 2277, 2292, 2307, 2321, 2336, 2351, 2365, 2379, 2394, 2408, 2422, + 2436, 2449, 2463, 2477, 2490, 2504, 2517, 2530, 2543, 2557, 2570, 2582, 2595, 2608, 2621, 2633, + 2646, 2658, 2670, 2683, 2695, 2707, 2719, 2731, 2743, 2755, 2767, 2778, 2790, 2802, 2813, 2825, + 2836, 2847, 2859, 2870, 2881, 2892, 2903, 2914, 2925, 2936, 2947, 2958, 2969, 2979, 2990, 3001, + 3011, 3022, 3032, 3043, 3053, 3063, 3074, 3084, 3094, 3104, 3114, 3124, 3134, 3144, 3154, 3164, + 3174, 3184, 3194, 3203, 3213, 3223, 3232, 3242, 3252, 3261, 3271, 3280, 3289, 3299, 3308, 3317, + 3327, 3336, 3345, 3354, 3363, 3372, 3382, 3391, 3400, 3409, 3418, 3426, 3435, 3444, 3453, 3462, + 3471, 3479, 3488, 3497, 3505, 3514, 3523, 3531, 3540, 3548, 3557, 3565, 3574, 3582, 3590, 3599, + 3607, 3615, 3624, 3632, 3640, 3648, 3656, 3665, 3673, 3681, 3689, 3697, 3705, 3713, 3721, 3729, + 3737, 3745, 3753, 3761, 3769, 3776, 3784, 3792, 3800, 3807, 3815, 3823, 3831, 3838, 3846, 3854, + 3861, 3869, 3876, 3884, 3891, 3899, 3906, 3914, 3921, 3929, 3936, 3944, 3951, 3958, 3966, 3973, + 3980, 3988, 3995, 4002, 4009, 4017, 4024, 4031, 4038, 4045, 4053, 4060, 4067, 4074, 4081, 4088 +}; + +CVI_S32 CVI_ISP_SetGammaAttr(VI_PIPE ViPipe, const ISP_GAMMA_ATTR_S *pstGammaAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstGammaAttr); + + memcpy(&g_param[ViPipe].gamma, pstGammaAttr, sizeof(*pstGammaAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_GAMMA); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetGammaCurveType(VI_PIPE ViPipe, const ISP_GAMMA_CURVE_TYPE_E curveType) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + + g_param[ViPipe].gamma.enCurveType = curveType; + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_GAMMA); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetGammaAttr(VI_PIPE ViPipe, ISP_GAMMA_ATTR_S *pstGammaAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstGammaAttr); + + const CVI_U16 *gammaCurve; + + pstGammaAttr->Enable = g_param[ViPipe].gamma.Enable; + pstGammaAttr->enCurveType = g_param[ViPipe].gamma.enCurveType; + + switch (pstGammaAttr->enCurveType) { + case ISP_GAMMA_CURVE_DEFAULT: + gammaCurve = defaultGamma; + break; + case ISP_GAMMA_CURVE_SRGB: + gammaCurve = sRGBGamma; + break; + case ISP_GAMMA_CURVE_USER_DEFINE: + gammaCurve = g_param[ViPipe].gamma.Table; + break; + default: + gammaCurve = g_param[ViPipe].gamma.Table; + break; + } + memcpy(pstGammaAttr->Table, gammaCurve, sizeof(CVI_U16) * GAMMA_NODE_NUM); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetAutoGammaAttr(VI_PIPE ViPipe, const ISP_AUTO_GAMMA_ATTR_S *pstGammaAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstGammaAttr); + + memcpy(&g_param[ViPipe].autoGamma, pstGammaAttr, sizeof(*pstGammaAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_GAMMA); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetAutoGammaAttr(VI_PIPE ViPipe, ISP_AUTO_GAMMA_ATTR_S *pstGammaAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstGammaAttr); + + memcpy(pstGammaAttr, &g_param[ViPipe].autoGamma, sizeof(*pstGammaAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetDCIAttr(VI_PIPE ViPipe, const ISP_DCI_ATTR_S *pstDCIAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDCIAttr); + + memcpy(&g_param[ViPipe].dci, pstDCIAttr, sizeof(*pstDCIAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DCI); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDCIAttr(VI_PIPE ViPipe, ISP_DCI_ATTR_S *pstDCIAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDCIAttr); + + memcpy(pstDCIAttr, &g_param[ViPipe].dci, sizeof(*pstDCIAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetDPCAttr(VI_PIPE ViPipe, const ISP_DPC_ATTR_S *pstDPCAttr) +{ + isp_param_set(ViPipe, ISP_DPC_ENOPTYPE, pstDPCAttr->enOpType); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_ENABLE, pstDPCAttr->stManual.dpc_enable); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_STATICDPC_ENABLE, pstDPCAttr->stManual.dpc_staticdpc_enable); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_CLUSTER_SIZE, pstDPCAttr->stManual.dpc_cluster_size); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_R_BRIGHT_PIXEL_RATIO, pstDPCAttr->stManual.dpc_r_bright_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_G_BRIGHT_PIXEL_RATIO, pstDPCAttr->stManual.dpc_g_bright_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_B_BRIGHT_PIXEL_RATIO, pstDPCAttr->stManual.dpc_b_bright_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_R_DARK_PIXEL_RATIO, pstDPCAttr->stManual.dpc_r_dark_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_G_DARK_PIXEL_RATIO, pstDPCAttr->stManual.dpc_g_dark_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_B_DARK_PIXEL_RATIO, pstDPCAttr->stManual.dpc_b_dark_pixel_ratio); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_R_DARK_PIXEL_MINDIFF, pstDPCAttr->stManual.dpc_r_dark_pixel_mindiff); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_G_DARK_PIXEL_MINDIFF, pstDPCAttr->stManual.dpc_g_dark_pixel_mindiff); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_B_DARK_PIXEL_MINDIFF, pstDPCAttr->stManual.dpc_b_dark_pixel_mindiff); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_R, pstDPCAttr->stManual.dpc_flat_thre_r); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_G, pstDPCAttr->stManual.dpc_flat_thre_g); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_B, pstDPCAttr->stManual.dpc_flat_thre_b); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_MIN_G, pstDPCAttr->stManual.dpc_flat_thre_min_g); + isp_param_set(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_MIN_RB, pstDPCAttr->stManual.dpc_flat_thre_min_rb); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_ENABLE + i, pstDPCAttr->stAuto.dpc_enable[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_STATICDPC_ENABLE + i, + pstDPCAttr->stAuto.dpc_staticdpc_enable[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_CLUSTER_SIZE + i, pstDPCAttr->stAuto.dpc_cluster_size[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_R_BRIGHT_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_r_bright_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_G_BRIGHT_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_g_bright_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_B_BRIGHT_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_b_bright_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_R_DARK_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_r_dark_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_G_DARK_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_g_dark_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_B_DARK_PIXEL_RATIO + i, + pstDPCAttr->stAuto.dpc_b_dark_pixel_ratio[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_R_DARK_PIXEL_MINDIFF + i, + pstDPCAttr->stAuto.dpc_r_dark_pixel_mindiff[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_G_DARK_PIXEL_MINDIFF + i, + pstDPCAttr->stAuto.dpc_g_dark_pixel_mindiff[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_B_DARK_PIXEL_MINDIFF + i, + pstDPCAttr->stAuto.dpc_b_dark_pixel_mindiff[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_R + i, pstDPCAttr->stAuto.dpc_flat_thre_r[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_G + i, pstDPCAttr->stAuto.dpc_flat_thre_g[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_B + i, pstDPCAttr->stAuto.dpc_flat_thre_b[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_MIN_G + i, pstDPCAttr->stAuto.dpc_flat_thre_min_g[i]); + isp_param_set(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_MIN_RB + i, + pstDPCAttr->stAuto.dpc_flat_thre_min_rb[i]); + } + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDPCAttr(VI_PIPE ViPipe, ISP_DPC_ATTR_S *pstDPCAttr) +{ + CLEAR(*pstDPCAttr); + isp_param_get(ViPipe, ISP_DPC_ENOPTYPE, (void *)(uintptr_t)&(pstDPCAttr->enOpType)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_ENABLE, (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_enable)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_STATICDPC_ENABLE, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_staticdpc_enable)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_CLUSTER_SIZE, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_cluster_size)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_R_BRIGHT_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_r_bright_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_G_BRIGHT_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_g_bright_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_B_BRIGHT_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_b_bright_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_R_DARK_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_r_dark_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_G_DARK_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_g_dark_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_B_DARK_PIXEL_RATIO, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_b_dark_pixel_ratio)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_R_DARK_PIXEL_MINDIFF, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_r_dark_pixel_mindiff)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_G_DARK_PIXEL_MINDIFF, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_g_dark_pixel_mindiff)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_B_DARK_PIXEL_MINDIFF, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_b_dark_pixel_mindiff)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_R, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_flat_thre_r)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_G, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_flat_thre_g)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_B, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_flat_thre_b)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_MIN_G, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_flat_thre_min_g)); + isp_param_get(ViPipe, ISP_DPC_MANUAL_DPC_FLAT_THRE_MIN_RB, + (void *)(uintptr_t)&(pstDPCAttr->stManual.dpc_flat_thre_min_rb)); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_ENABLE + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_enable[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_STATICDPC_ENABLE + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_staticdpc_enable[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_CLUSTER_SIZE + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_cluster_size[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_R_BRIGHT_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_r_bright_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_G_BRIGHT_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_g_bright_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_B_BRIGHT_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_b_bright_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_R_DARK_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_r_dark_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_G_DARK_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_g_dark_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_B_DARK_PIXEL_RATIO + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_b_dark_pixel_ratio[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_R_DARK_PIXEL_MINDIFF + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_r_dark_pixel_mindiff[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_G_DARK_PIXEL_MINDIFF + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_g_dark_pixel_mindiff[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_B_DARK_PIXEL_MINDIFF + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_b_dark_pixel_mindiff[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_R + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_flat_thre_r[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_G + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_flat_thre_g[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_B + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_flat_thre_b[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_MIN_G + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_flat_thre_min_g[i])); + isp_param_get(ViPipe, ISP_DPC_AUTO_DPC_FLAT_THRE_MIN_RB + i, + (void *)(uintptr_t)&(pstDPCAttr->stAuto.dpc_flat_thre_min_rb[i])); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetSharpenAttr(VI_PIPE ViPipe, const ISP_SHARPEN_ATTR_S *pstSharpenAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstSharpenAttr); + + memcpy(&g_param[ViPipe].Sharpen, pstSharpenAttr, sizeof(*pstSharpenAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_YEE); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetSharpenAttr(VI_PIPE ViPipe, ISP_SHARPEN_ATTR_S *pstSharpenAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstSharpenAttr); + + memcpy(pstSharpenAttr, &g_param[ViPipe].Sharpen, sizeof(*pstSharpenAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetTNRAttr(VI_PIPE ViPipe, const ISP_TNR_ATTR_S *pstTNRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstTNRAttr); + + memcpy(&g_param[ViPipe].TNR, pstTNRAttr, sizeof(*pstTNRAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_3DNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstTNRAttr); + + memcpy(pstTNRAttr, &g_param[ViPipe].TNR, sizeof(*pstTNRAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetTNRNoiseModelAttr(VI_PIPE ViPipe, const ISP_TNRNoiseModel_ATTR_S *pstTNRNoiseModelAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstTNRNoiseModelAttr); + + memcpy(&g_param[ViPipe].TnrNoiseModel, pstTNRNoiseModelAttr, sizeof(*pstTNRNoiseModelAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_3DNR); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetTNRNoiseModelAttr(VI_PIPE ViPipe, ISP_TNRNoiseModel_ATTR_S *pstTNRNoiseModelAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstTNRNoiseModelAttr); + + memcpy(pstTNRNoiseModelAttr, &g_param[ViPipe].TnrNoiseModel, sizeof(*pstTNRNoiseModelAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetTNRLumaMotionAttr(VI_PIPE ViPipe, const ISP_TNRLumaMotion_ATTR_S *pstTNRLumaMotionAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstTNRLumaMotionAttr); + + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN0, pstTNRLumaMotionAttr->stManual.L2mIn0[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN1, pstTNRLumaMotionAttr->stManual.L2mIn0[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN2, pstTNRLumaMotionAttr->stManual.L2mIn0[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN3, pstTNRLumaMotionAttr->stManual.L2mIn0[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT0, pstTNRLumaMotionAttr->stManual.L2mOut0[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT1, pstTNRLumaMotionAttr->stManual.L2mOut0[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT2, pstTNRLumaMotionAttr->stManual.L2mOut0[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT3, pstTNRLumaMotionAttr->stManual.L2mOut0[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN0, pstTNRLumaMotionAttr->stManual.L2mIn1[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN1, pstTNRLumaMotionAttr->stManual.L2mIn1[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN2, pstTNRLumaMotionAttr->stManual.L2mIn1[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN3, pstTNRLumaMotionAttr->stManual.L2mIn1[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT0, pstTNRLumaMotionAttr->stManual.L2mOut1[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT1, pstTNRLumaMotionAttr->stManual.L2mOut1[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT2, pstTNRLumaMotionAttr->stManual.L2mOut1[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT3, pstTNRLumaMotionAttr->stManual.L2mOut1[3]); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN0 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn0[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN1 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn0[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN2 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn0[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN3 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn0[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT0 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut0[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT1 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut0[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT2 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut0[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT3 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut0[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN0 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn1[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN1 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn1[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN2 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn1[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN3 + i, + pstTNRLumaMotionAttr->stAuto.L2mIn1[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT0 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut1[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT1 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut1[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT2 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut1[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT3 + i, + pstTNRLumaMotionAttr->stAuto.L2mOut1[3][i]); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetTNRLumaMotionAttr(VI_PIPE ViPipe, ISP_TNRLumaMotion_ATTR_S *pstTNRLumaMotionAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstTNRLumaMotionAttr); + + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN0, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn0[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN1, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn0[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN2, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn0[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_IN3, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn0[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT0, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut0[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT1, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut0[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT2, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut0[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_L2M_OUT3, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut0[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN0, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn1[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN1, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn1[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN2, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn1[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_IN3, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mIn1[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT0, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut1[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT1, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut1[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT2, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut1[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_L2M_OUT3, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stManual.L2mOut1[3])); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN0 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn0[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN1 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn0[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN2 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn0[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_IN3 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn0[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT0 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut0[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT1 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut0[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT2 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut0[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_L2M_OUT3 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut0[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN0 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn1[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN1 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn1[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN2 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn1[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_IN3 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mIn1[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT0 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut1[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT1 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut1[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT2 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut1[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_L2M_OUT3 + i, + (void *)(uintptr_t)&(pstTNRLumaMotionAttr->stAuto.L2mOut1[3][i])); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetTNRGhostAttr(VI_PIPE ViPipe, const ISP_TNRGhost_ATTR_S *pstTNRGhostAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstTNRGhostAttr); + + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN0, pstTNRGhostAttr->stManual.PrtctIn0[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN1, pstTNRGhostAttr->stManual.PrtctIn0[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN2, pstTNRGhostAttr->stManual.PrtctIn0[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN3, pstTNRGhostAttr->stManual.PrtctIn0[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT0, pstTNRGhostAttr->stManual.PrtctOut0[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT1, pstTNRGhostAttr->stManual.PrtctOut0[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT2, pstTNRGhostAttr->stManual.PrtctOut0[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT3, pstTNRGhostAttr->stManual.PrtctOut0[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN0, pstTNRGhostAttr->stManual.PrtctIn1[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN1, pstTNRGhostAttr->stManual.PrtctIn1[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN2, pstTNRGhostAttr->stManual.PrtctIn1[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN3, pstTNRGhostAttr->stManual.PrtctIn1[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT0, pstTNRGhostAttr->stManual.PrtctOut1[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT1, pstTNRGhostAttr->stManual.PrtctOut1[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_CPSE, pstTNRGhostAttr->stManual.PrtctOut1[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT3, pstTNRGhostAttr->stManual.PrtctOut1[3]); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN0 + i, + pstTNRGhostAttr->stAuto.PrtctIn0[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN1 + i, + pstTNRGhostAttr->stAuto.PrtctIn0[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN2 + i, + pstTNRGhostAttr->stAuto.PrtctIn0[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN3 + i, + pstTNRGhostAttr->stAuto.PrtctIn0[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT0 + i, + pstTNRGhostAttr->stAuto.PrtctOut0[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT1 + i, + pstTNRGhostAttr->stAuto.PrtctOut0[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT2 + i, + pstTNRGhostAttr->stAuto.PrtctOut0[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT3 + i, + pstTNRGhostAttr->stAuto.PrtctOut0[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN0 + i, + pstTNRGhostAttr->stAuto.PrtctIn1[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN1 + i, + pstTNRGhostAttr->stAuto.PrtctIn1[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN2 + i, + pstTNRGhostAttr->stAuto.PrtctIn1[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN3 + i, + pstTNRGhostAttr->stAuto.PrtctIn1[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT0 + i, + pstTNRGhostAttr->stAuto.PrtctOut1[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT1 + i, + pstTNRGhostAttr->stAuto.PrtctOut1[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_CPSE + i, pstTNRGhostAttr->stAuto.PrtctOut1[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT3 + i, + pstTNRGhostAttr->stAuto.PrtctOut1[3][i]); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetTNRGhostAttr(VI_PIPE ViPipe, ISP_TNRGhost_ATTR_S *pstTNRGhostAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstTNRGhostAttr); + + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN0, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn0[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN1, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn0[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN2, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn0[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_IN3, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn0[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT0, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut0[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT1, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut0[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT2, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut0[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH0_PRTCT_OUT3, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut0[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN0, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn1[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN1, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn1[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN2, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn1[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_IN3, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctIn1[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT0, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut1[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT1, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut1[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_CPSE, (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut1[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_TNR_PATH1_PRTCT_OUT3, + (void *)(uintptr_t)&(pstTNRGhostAttr->stManual.PrtctOut1[3])); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN0 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn0[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN1 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn0[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN2 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn0[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_IN3 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn0[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT0 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut0[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT1 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut0[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT2 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut0[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH0_PRTCT_OUT3 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut0[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN0 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn1[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN1 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn1[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN2 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn1[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_IN3 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctIn1[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT0 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut1[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT1 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut1[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_CPSE + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut1[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_TNR_PATH1_PRTCT_OUT3 + i, + (void *)(uintptr_t)&(pstTNRGhostAttr->stAuto.PrtctOut1[3][i])); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetTNRMtPrtAttr(VI_PIPE ViPipe, const ISP_TNRMtPrt_ATTR_S *pstTNRMtPrtAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstTNRMtPrtAttr); + + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_EN, pstTNRMtPrtAttr->LowMtPrtEn); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_LEVEL, pstTNRMtPrtAttr->stManual.LowMtPrtLevel); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN0, pstTNRMtPrtAttr->stManual.LowMtPrtIn[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN1, pstTNRMtPrtAttr->stManual.LowMtPrtIn[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN2, pstTNRMtPrtAttr->stManual.LowMtPrtIn[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN3, pstTNRMtPrtAttr->stManual.LowMtPrtIn[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT0, pstTNRMtPrtAttr->stManual.LowMtPrtOut[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT1, pstTNRMtPrtAttr->stManual.LowMtPrtOut[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT2, pstTNRMtPrtAttr->stManual.LowMtPrtOut[2]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT3, pstTNRMtPrtAttr->stManual.LowMtPrtOut[3]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE0, pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[0]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE1, pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[1]); + isp_param_set(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE2, pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[2]); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_LEVEL + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtLevel[i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN0 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtIn[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN1 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtIn[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN2 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtIn[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN3 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtIn[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT0 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtOut[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT1 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtOut[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT2 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtOut[2][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT3 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtOut[3][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE0 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[0][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE1 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[1][i]); + isp_param_set(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE2 + i, + pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[2][i]); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetTNRMtPrtAttr(VI_PIPE ViPipe, ISP_TNRMtPrt_ATTR_S *pstTNRMtPrtAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstTNRMtPrtAttr); + + isp_param_get(ViPipe, ISP_CLUT_HSV3DLUT_ENABLE, (void *)(uintptr_t)&(pstTNRMtPrtAttr->LowMtPrtEn)); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_EN, (void *)(uintptr_t)&(pstTNRMtPrtAttr->LowMtPrtEn)); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_LEVEL, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtLevel)); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN0, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtIn[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN1, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtIn[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN2, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtIn[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_IN3, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtIn[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT0, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtOut[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT1, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtOut[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT2, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtOut[2])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_OUT3, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtOut[3])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE0, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[0])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE1, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[1])); + isp_param_get(ViPipe, ISP_TNR_MANUAL_LOW_MTPRT_SLOPE2, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stManual.LowMtPrtSlope0[2])); + + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_LEVEL + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtLevel[i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN0 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtIn[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN1 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtIn[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN2 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtIn[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_IN3 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtIn[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT0 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtOut[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT1 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtOut[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT2 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtOut[2][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_OUT3 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtOut[3][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE0 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[0][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE1 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[1][i])); + isp_param_get(ViPipe, ISP_TNR_AUTO_LOW_MTPRT_SLOPE2 + i, + (void *)(uintptr_t)&(pstTNRMtPrtAttr->stAuto.LowMtPrtSlope0[2][i])); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetCLutAttr(VI_PIPE ViPipe, const ISP_CLUT_ATTR_S *pstCLutAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstCLutAttr); + + isp_param_set(ViPipe, ISP_CLUT_HSV3DLUT_ENABLE, pstCLutAttr->hsv3dlut_enable); + isp_param_set(ViPipe, ISP_CLUT_HSV3DLUT_H_CLAMP_WRAP_OPT, pstCLutAttr->hsv3dlut_h_clamp_wrap_opt); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCLutAttr(VI_PIPE ViPipe, ISP_CLUT_ATTR_S *pstCLutAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstCLutAttr); + + isp_param_get(ViPipe, ISP_CLUT_HSV3DLUT_ENABLE, (void *)(uintptr_t)&(pstCLutAttr->hsv3dlut_enable)); + isp_param_get(ViPipe, ISP_CLUT_HSV3DLUT_H_CLAMP_WRAP_OPT, + (void *)(uintptr_t)&(pstCLutAttr->hsv3dlut_h_clamp_wrap_opt)); + + return CVI_SUCCESS; +} + +static CVI_S32 CVI_ISP_PrintBlackLevelAttr(const ISP_BLACKLEVEL_ATTR_S *pstBlackLevelAttr) +{ + ISP_CHECK_POINTER(pstBlackLevelAttr); + + // non-auto attributes + PRINT_ATTR(pstBlackLevelAttr->Enable, reg_blc_enable, 0, 1); + PRINT_ATTR(pstBlackLevelAttr->enOpType, nan, 0, 1); + + // manual attributes + PRINT_ATTR(pstBlackLevelAttr->stManual.OffsetR, reg_blc_offset_r, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stManual.OffsetGr, reg_blc_offset_gr, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stManual.OffsetGb, reg_blc_offset_gb, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stManual.OffsetB, reg_blc_offset_b, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stManual.GainR, reg_blc_gain_r, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stManual.GainGr, reg_blc_gain_gr, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stManual.GainGb, reg_blc_gain_gb, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stManual.GainB, reg_blc_gain_b, 0, 65535); + + // auto attributes + for (CVI_U8 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstBlackLevelAttr->stAuto.OffsetR[i], reg_blc_offset_r, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stAuto.OffsetGr[i], reg_blc_offset_gr, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stAuto.OffsetGb[i], reg_blc_offset_gb, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stAuto.OffsetB[i], reg_blc_offset_b, 0, 1023); + PRINT_ATTR(pstBlackLevelAttr->stAuto.GainR[i], reg_blc_gain_r, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stAuto.GainGr[i], reg_blc_gain_gr, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stAuto.GainGb[i], reg_blc_gain_gb, 0, 65535); + PRINT_ATTR(pstBlackLevelAttr->stAuto.GainB[i], reg_blc_gain_b, 0, 65535); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetBlackLevelAttr(VI_PIPE ViPipe, const ISP_BLACKLEVEL_ATTR_S *pstBlackLevelAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstBlackLevelAttr); + + // non-auto attributes + isp_param_set(ViPipe, ISP_BLACKLEVEL_BLC_ENABLE, pstBlackLevelAttr->Enable); + isp_param_set(ViPipe, ISP_BLACKLEVEL_BLC_OPTYPE, pstBlackLevelAttr->enOpType); + + // manual attributes + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_R, pstBlackLevelAttr->stManual.OffsetR); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_GR, pstBlackLevelAttr->stManual.OffsetGr); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_GB, pstBlackLevelAttr->stManual.OffsetGb); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_B, pstBlackLevelAttr->stManual.OffsetB); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_R, pstBlackLevelAttr->stManual.GainR); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_GR, pstBlackLevelAttr->stManual.GainGr); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_GB, pstBlackLevelAttr->stManual.GainGb); + isp_param_set(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_B, pstBlackLevelAttr->stManual.GainB); + + // auto attributes + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_R + i, pstBlackLevelAttr->stAuto.OffsetR[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_GR + i, pstBlackLevelAttr->stAuto.OffsetGr[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_GB + i, pstBlackLevelAttr->stAuto.OffsetGb[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_B + i, pstBlackLevelAttr->stAuto.OffsetB[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_R + i, pstBlackLevelAttr->stAuto.GainR[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_GR + i, pstBlackLevelAttr->stAuto.GainGr[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_GB + i, pstBlackLevelAttr->stAuto.GainGb[i]); + isp_param_set(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_B + i, pstBlackLevelAttr->stAuto.GainB[i]); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintBlackLevelAttr(pstBlackLevelAttr); + + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_BLC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetBlackLevelAttr(VI_PIPE ViPipe, ISP_BLACKLEVEL_ATTR_S *pstBlackLevelAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstBlackLevelAttr); + + // non-auto parameters + CLEAR(*pstBlackLevelAttr); + isp_param_get(ViPipe, ISP_BLACKLEVEL_BLC_ENABLE, (void *)&(pstBlackLevelAttr->Enable)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_BLC_OPTYPE, (void *)&(pstBlackLevelAttr->enOpType)); + + // manual parameters + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_R, (void *)&(pstBlackLevelAttr->stManual.OffsetR)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_GR, (void *)&(pstBlackLevelAttr->stManual.OffsetGr)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_GB, (void *)&(pstBlackLevelAttr->stManual.OffsetGb)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_OFFSET_B, (void *)&(pstBlackLevelAttr->stManual.OffsetB)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_R, (void *)&(pstBlackLevelAttr->stManual.GainR)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_GR, (void *)&(pstBlackLevelAttr->stManual.GainGr)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_GB, (void *)&(pstBlackLevelAttr->stManual.GainGb)); + isp_param_get(ViPipe, ISP_BLACKLEVEL_MANUAL_BLC_GAIN_B, (void *)&(pstBlackLevelAttr->stManual.GainB)); + + // auto parameters + for (CVI_U32 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_R + i + , (void *)&(pstBlackLevelAttr->stAuto.OffsetR[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_GR + i + , (void *)&(pstBlackLevelAttr->stAuto.OffsetGr[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_GB + i + , (void *)&(pstBlackLevelAttr->stAuto.OffsetGb[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_OFFSET_B + i + , (void *)&(pstBlackLevelAttr->stAuto.OffsetB[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_R + i + , (void *)&(pstBlackLevelAttr->stAuto.GainR[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_GR + i + , (void *)&(pstBlackLevelAttr->stAuto.GainGr[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_GB + i + , (void *)&(pstBlackLevelAttr->stAuto.GainGb[i])); + isp_param_get(ViPipe, ISP_BLACKLEVEL_AUTO_BLC_GAIN_B + i + , (void *)&(pstBlackLevelAttr->stAuto.GainB[i])); + } + + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintBlackLevelAttr(pstBlackLevelAttr); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetColorToneAttr(VI_PIPE ViPipe, const ISP_COLORTONE_ATTR_S *pstColorToneAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstColorToneAttr); + + isp_param_set(ViPipe, ISP_COLORTONE_WBG_ENABLE, pstColorToneAttr->wbg_enable); + isp_param_set(ViPipe, ISP_COLORTONE_U16REDCASTGAIN, pstColorToneAttr->u16RedCastGain); + isp_param_set(ViPipe, ISP_COLORTONE_U16GREENCASTGAIN, pstColorToneAttr->u16GreenCastGain); + isp_param_set(ViPipe, ISP_COLORTONE_U16BLUECASTGAIN, pstColorToneAttr->u16BlueCastGain); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_WBGAIN); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetColorToneAttr(VI_PIPE ViPipe, ISP_COLORTONE_ATTR_S *pstColorToneAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstColorToneAttr); + + isp_param_get(ViPipe, ISP_COLORTONE_WBG_ENABLE, (void *)(uintptr_t)&(pstColorToneAttr->wbg_enable)); + isp_param_get(ViPipe, ISP_COLORTONE_U16REDCASTGAIN, (void *)(uintptr_t)&(pstColorToneAttr->u16RedCastGain)); + isp_param_get(ViPipe, ISP_COLORTONE_U16GREENCASTGAIN, (void *)(uintptr_t)&(pstColorToneAttr->u16GreenCastGain)); + isp_param_get(ViPipe, ISP_COLORTONE_U16BLUECASTGAIN, (void *)(uintptr_t)&(pstColorToneAttr->u16BlueCastGain)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetSaturationAttr(VI_PIPE ViPipe, const ISP_Saturation_ATTR_S *pstSaturationAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstSaturationAttr); + + memcpy(&g_param[ViPipe].Saturation, pstSaturationAttr, sizeof(*pstSaturationAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_CCM); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetSaturationAttr(VI_PIPE ViPipe, ISP_Saturation_ATTR_S *pstSaturationAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstSaturationAttr); + + memcpy(pstSaturationAttr, &g_param[ViPipe].Saturation, sizeof(*pstSaturationAttr)); + + return CVI_SUCCESS; +} + +static void CVI_ISP_PrintCCMAttr(const ISP_CCM_ATTR_S *pstCCMAttr) +{ + CVI_U8 table = 0; + + // non-auto attributes + PRINT_ATTR(pstCCMAttr->Enable, reg_ccm_enable, 0, 1); + PRINT_ATTR(pstCCMAttr->enOpType, reg_ccm_enable, 0, 1); + + PRINT_ATTR(pstCCMAttr->stManual.SatEnable, reg_na, 0, 1); + + PRINT_ATTR(pstCCMAttr->stAuto.ISOActEnable, reg_na, 0, 1); + PRINT_ATTR(pstCCMAttr->stAuto.TempActEnable, reg_na, 0, 1); + //high to low, (D50, TL84, A) or (10K, D65, D50, TL84, A) + // INIT_ATTR(pstCCMAttr->stAuto.CCMTabNum, 0, 7); + PRINT_ATTR(pstCCMAttr->stAuto.CCMTabNum, reg_na, 3, 3); + PRINT_ATTR(pstCCMAttr->stAuto.CCMTab[0].ColorTemp, reg_na, 5000, 5000); //D50 + PRINT_ATTR(pstCCMAttr->stAuto.CCMTab[1].ColorTemp, reg_na, 4100, 4100); //TL84 + PRINT_ATTR(pstCCMAttr->stAuto.CCMTab[2].ColorTemp, reg_na, 2800, 2800);; //A + for (table = 0; table < pstCCMAttr->stAuto.CCMTabNum; table++) { + for (CVI_U8 cell = 0; cell < 9; cell++) + PRINT_ATTR(pstCCMAttr->stAuto.CCMTab[table].CCM[cell], reg_na, 0, (rand() % 1025) / 3); + } + + PRINT_ATTR(pstCCMAttr->stManual.SatEnable, reg_na, 0, 1); + for (CVI_U8 cell = 0; cell < 9; cell++) + PRINT_ATTR(pstCCMAttr->stManual.CCM[cell], reg_ccm_xx, 0, 256); + + // manual attributes + + // auto attributes +} + +CVI_S32 CVI_ISP_SetCCMAttr(VI_PIPE ViPipe, const ISP_CCM_ATTR_S *pstCCMAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstCCMAttr); + + memcpy(&g_param[ViPipe].CMM, pstCCMAttr, sizeof(*pstCCMAttr)); + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintCCMAttr(pstCCMAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_CCM); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCCMAttr(VI_PIPE ViPipe, ISP_CCM_ATTR_S *pstCCMAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstCCMAttr); + + memcpy(pstCCMAttr, &g_param[ViPipe].CMM, sizeof(*pstCCMAttr)); + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintCCMAttr(pstCCMAttr); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetHSVAttr(VI_PIPE ViPipe, const ISP_HSV_ATTR_S *pstHSVAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstHSVAttr); + + memcpy(&g_param[ViPipe].HSV, pstHSVAttr, sizeof(*pstHSVAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_HSV); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetHSVAttr(VI_PIPE ViPipe, ISP_HSV_ATTR_S *pstHSVAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstHSVAttr); + + memcpy(pstHSVAttr, &g_param[ViPipe].HSV, sizeof(*pstHSVAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetDPDynamicAttr(VI_PIPE ViPipe, const ISP_DPDynamic_ATTR_S *pstDPCDynamicAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDPCDynamicAttr); + + memcpy(&g_param[ViPipe].DPDynamic, pstDPCDynamicAttr, sizeof(*pstDPCDynamicAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DPC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDPDynamicAttr(VI_PIPE ViPipe, ISP_DPDynamic_ATTR_S *pstDPCDynamicAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDPCDynamicAttr); + + memcpy(pstDPCDynamicAttr, &g_param[ViPipe].DPDynamic, sizeof(*pstDPCDynamicAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetDPStaticAttr(VI_PIPE ViPipe, const ISP_DPStatic_ATTR_S *pstDPStaticAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDPStaticAttr); + + memcpy(&g_param[ViPipe].DPStatic, pstDPStaticAttr, sizeof(*pstDPStaticAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDPStaticAttr(VI_PIPE ViPipe, ISP_DPStatic_ATTR_S *pstDPStaticAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDPStaticAttr); + + memcpy(pstDPStaticAttr, &g_param[ViPipe].DPStatic, sizeof(*pstDPStaticAttr)); + + return CVI_SUCCESS; +} + +static CVI_VOID crop_image(VI_PIPE ViPipe, CVI_U8 *src, CVI_U8 *dst) +{ + ISP_SNS_SYNC_INFO_S snsCropInfo; + + if ((src == NULL) || (dst == NULL)) { + ISP_DEBUG(LOG_ERR, "input error src(%p), dst(%p)\n", src, dst); + } + + isp_sensor_get_crop_info(ViPipe, &snsCropInfo); + + // Two pixel packed with three bytes in raw12 format + + // ofs_x = pixel + CVI_U32 ofs_x = ((snsCropInfo.ispCfg.img_size[0].stWndRect.s32X * 3) >> 1); + // ofs_y = line. + CVI_U32 ofs_y = snsCropInfo.ispCfg.img_size[0].stWndRect.s32Y; + CVI_U32 img_w = ((snsCropInfo.ispCfg.img_size[0].stWndRect.u32Width * 3) >> 1); + CVI_U32 img_h = snsCropInfo.ispCfg.img_size[0].stWndRect.u32Height; + CVI_U32 sns_w = ((snsCropInfo.ispCfg.img_size[0].stSnsSize.u32Width * 3) >> 1); + CVI_U32 sns_h = snsCropInfo.ispCfg.img_size[0].stSnsSize.u32Height; + + ISP_DEBUG(LOG_DEBUG, "ofs_x/y(%d, %d), img_w/h(%d, %d), sns_w/h(%d, %d)\n", + ofs_x, ofs_y, img_w, img_h, sns_w, sns_h); + + CVI_U8 *addr_src = src + ofs_y * sns_w + ofs_x; + CVI_U8 *addr_dst = dst; + + for (CVI_U32 i = 0 ; i < img_h ; i++) { + memcpy(addr_dst, addr_src, img_w); + addr_src += sns_w; + addr_dst += img_w; + } +} + +CVI_S32 ISP_GetRawBuffer(VI_PIPE ViPipe, CVI_U8 *bayerBuffer + , BAYER_FORMAT_E *bayerFormat, CVI_BOOL saveFileEn) +{ + VIDEO_FRAME_INFO_S stVideoFrame; + VI_DUMP_ATTR_S attr; + + memset(&stVideoFrame, 0, sizeof(stVideoFrame)); + + stVideoFrame.stVFrame.enPixelFormat = PIXEL_FORMAT_RGB_BAYER_12BPP; + + // Set Attr + attr.bEnable = 1; + attr.u32Depth = 0; + attr.enDumpType = VI_DUMP_TYPE_RAW; + CVI_VI_SetPipeDumpAttr(ViPipe, &attr); + + // Check Attr effective + attr.bEnable = 0; + attr.enDumpType = VI_DUMP_TYPE_IR; + CVI_VI_GetPipeDumpAttr(ViPipe, &attr); + + if ((attr.bEnable != 1) || (attr.enDumpType != VI_DUMP_TYPE_RAW)) { + ISP_DEBUG(LOG_ERR, "Enable(%d), DumpType(%d)\n", attr.bEnable, attr.enDumpType); + } + + CVI_VI_GetPipeFrame(ViPipe, &stVideoFrame, 100); + + size_t image_size = stVideoFrame.stVFrame.u32Length[0]; + + if (attr.enDumpType == VI_DUMP_TYPE_RAW) { + stVideoFrame.stVFrame.pu8VirAddr[0] + = CVI_SYS_Mmap(stVideoFrame.stVFrame.u64PhyAddr[0], image_size); + ISP_DEBUG(LOG_DEBUG, "paddr(0x%llx) vaddr(0x%llx)\n", + stVideoFrame.stVFrame.u64PhyAddr[0], stVideoFrame.stVFrame.pu8VirAddr[0]); + + unsigned char *ptr = malloc(image_size); + + memcpy(ptr, (const void *)stVideoFrame.stVFrame.pu8VirAddr[0], image_size); + crop_image(ViPipe, ptr, bayerBuffer); + + CVI_SYS_Munmap((void *)stVideoFrame.stVFrame.pu8VirAddr[0], image_size); + + if (saveFileEn) { + char img_name[128] = {0,}, order_id[8] = {0,}; + FILE *output; + struct timeval tv1; + + switch (stVideoFrame.stVFrame.enBayerFormat) { + case BAYER_FORMAT_BG: + snprintf(order_id, sizeof(order_id), "BG"); + break; + case BAYER_FORMAT_GB: + snprintf(order_id, sizeof(order_id), "GB"); + break; + case BAYER_FORMAT_GR: + snprintf(order_id, sizeof(order_id), "GR"); + break; + case BAYER_FORMAT_RG: + snprintf(order_id, sizeof(order_id), "RG"); + break; + } + + gettimeofday(&tv1, NULL); + + snprintf(img_name, sizeof(img_name), "./vi_%d_byrid_%s_w_%d_h_%d_tv_%d_%d.raw", + ViPipe, order_id, + stVideoFrame.stVFrame.u32Width, stVideoFrame.stVFrame.u32Height, + tv1.tv_sec, tv1.tv_usec); + + ISP_DEBUG(LOG_DEBUG, "dump image %s\n", img_name); + + output = fopen(img_name, "wb"); + + fwrite(ptr, image_size, 1, output); + fclose(output); + } + free(ptr); + } + + CVI_VI_ReleasePipeFrame(ViPipe, &stVideoFrame); + + return 0; +} + +CVI_S32 ISP_SetDPCalibrate(VI_PIPE ViPipe, const ISP_DPCalib_ATTR_S *pstDPCalibAttr) +{ + ISP_CTX_S *pstIspCtx = NULL; + + ISP_CHECK_PIPE(ViPipe); + ISP_GET_CTX(ViPipe, pstIspCtx); + + ISP_DPCalib_ATTR_S attr = *pstDPCalibAttr; + CVI_U16 width = pstIspCtx->stSnsImageMode.u16Width; + CVI_U16 height = pstIspCtx->stSnsImageMode.u16Height; + CVI_U8 *bayerBuffer = calloc(1, width * height * 3 / 2); //12bit + CVI_U16 *detected = calloc(1, sizeof(CVI_U16) * width * height); + + if ((!bayerBuffer) || (!detected)) { + ISP_DEBUG(LOG_ERR, "Calloc failed, bayerBuffer(%p), detected(%d)\n", + bayerBuffer, detected); + } + + BAYER_FORMAT_E bayerFormat; + CVI_U32 bad_type = NORMAL_PIXEL; + + CVI_U32 reg_image_cnt = 0; + + ISP_DEBUG(LOG_DEBUG, "width(%u), height(%d)\n", width, height); + + if (attr.EnableDetect) { + + // Calibrate by `StaticDPType` + // until `TimeLimit` + time_t endTime = time(0) + attr.TimeLimit; + time_t currTime = time(0); + + // TODO@Kidd get noise level from mpi + // TODO@Kidd move to isp_test.c + if (attr.StaticDPType == ISP_STATIC_DP_BRIGHT) { + attr.StartThresh = (WHITE_LVL - SD_NUM * NOISE_LVL); + bad_type = WHITE_BAD_PIXEL; + } else { + attr.StartThresh = (BLACK_LVL + SD_NUM * NOISE_LVL); + bad_type = BLACK_BAD_PIXEL; + } + + // Detect + do { + // get frame + ISP_GetRawBuffer(ViPipe, bayerBuffer, &bayerFormat, attr.saveFileEn); + + // detect bad pixel + Bad_Pixel_Detection(bayerBuffer, width, height, detected, attr.StartThresh, attr.StaticDPType); + + // update threshold + attr.FinishThresh = attr.StartThresh; + + // next loop + reg_image_cnt++; + currTime = time(0); + } while (currTime < endTime); + + // screening the detection result + // TODO@Kidd sorting by Confidence, select first #STATIC_DP_COUNT_MAX and write to `Table` + attr.Count = 0; + for (CVI_U32 i = 0; i < height; i++) { + for (CVI_U32 j = 0; j < width; j++) { + // 90% are detected as bad, than this pixel is bad + CVI_U16 idx = i * width + j; + + if (detected[idx] > (reg_image_cnt * BAD_RATIO)) { + + detected[idx] = bad_type; + if (attr.Count > attr.CountMax) { + ISP_DEBUG(LOG_ERR, "Bad pixel count overflow\n"); + attr.Status = ISP_STATUS_TIMEOUT; + goto ERROR; + } + attr.Table[attr.Count] = ((i << 16) + j); + attr.Count++; + } else { + detected[idx] = NORMAL_PIXEL; + } + } + } + } // end of detect + +ERROR: + memcpy(&g_param[ViPipe].DPCalib, &attr, sizeof(attr)); + free(detected); + free(bayerBuffer); + + return 0; +} + +#define PARAL_DPC +#ifdef PARAL_DPC +pthread_mutex_t mutex_dpc[VI_MAX_PIPE_NUM]; +pthread_t dpcThread[VI_MAX_PIPE_NUM]; +#endif + +typedef struct { + VI_PIPE ViPipe; + const ISP_DPCalib_ATTR_S pstDPCalibAttr; +} ISP_Calibrate; +ISP_Calibrate calibrate[VI_MAX_PIPE_NUM]; +void *ISP_DPCalibrateThread(void *param) +{ + ISP_Calibrate *calibrate = (ISP_Calibrate *)param; + VI_PIPE ViPipe = calibrate->ViPipe; + const ISP_DPCalib_ATTR_S *pstDPCalibAttr = &(calibrate->pstDPCalibAttr); + +#ifdef PARAL_DPC + pthread_detach(pthread_self()); + pthread_mutex_lock(&mutex_dpc[ViPipe]); +#endif + + ISP_SetDPCalibrate(ViPipe, pstDPCalibAttr); + +#ifdef PARAL_DPC + pthread_mutex_unlock(&mutex_dpc[ViPipe]); + pthread_exit(NULL); +#endif + return 0; +} + +CVI_S32 CVI_ISP_SetDPCalibrate(VI_PIPE ViPipe, const ISP_DPCalib_ATTR_S *pstDPCalibAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDPCalibAttr); + + calibrate[ViPipe].ViPipe = ViPipe; + memcpy(&(calibrate[ViPipe].pstDPCalibAttr), pstDPCalibAttr, sizeof(ISP_DPCalib_ATTR_S)); + +#ifdef PARAL_DPC + struct sched_param param; + pthread_attr_t attr; + + param.sched_priority = 80; + pthread_attr_init(&attr); + pthread_attr_setschedpolicy(&attr, SCHED_RR); + pthread_attr_setschedparam(&attr, ¶m); + pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED); + pthread_create(&dpcThread[ViPipe], &attr, ISP_DPCalibrateThread, (void *)&calibrate[ViPipe]); +#else + ISP_DPCalibrateThread(&calibrate[ViPipe]); +#endif + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDPCalibrate(VI_PIPE ViPipe, ISP_DPCalib_ATTR_S *pstDPCalibAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstDPCalibAttr); + +#ifdef PARAL_DPC + pthread_mutex_lock(&mutex_dpc[ViPipe]); +#endif + + memcpy(pstDPCalibAttr, &g_param[ViPipe].DPCalib, sizeof(*pstDPCalibAttr)); + +#ifdef PARAL_DPC + pthread_mutex_unlock(&mutex_dpc[ViPipe]); +#endif + + return CVI_SUCCESS; +} + +#define ISP_DIFF_VALUE(ATTR) do {\ + diff = attr1->ATTR != attr2->ATTR;\ + if (!diffOnly || diff) {\ + if (diff)\ + printf("\033[0;32;31m");\ + printf("%s %d, %d\n", #ATTR, attr1->ATTR, attr2->ATTR);\ + if (diff)\ + printf("\033[m");\ + } \ +} while (0) + +#define ISP_DIFF_ARRAY(ATTR, fmt, size) do {\ + for (CVI_U32 i; i < (size); i++) {\ + diff = attr1->ATTR[i] != attr2->ATTR[i];\ + if (!diffOnly || diff) {\ + if (diff)\ + ISP_DEBUG(LOG_DEBUG, "\033[0;32;31m");\ + ISP_DEBUG(LOG_DEBUG, "%s[%u] " fmt ", " fmt "\n", #ATTR, i, attr1->ATTR[i], attr2->ATTR[i]);\ + if (diff)\ + ISP_DEBUG(LOG_DEBUG, "\033[m");\ + } \ + } \ +} while (0) + +#define ISP_DEBUG_PRINT_DIFF(ATTR) do {\ + if (g_isp_debug_print_mpi) {\ + typeof(pst##ATTR) old;\ + CVI_ISP_Print##ATTR(ViPipe, &old, pst##ATTR, g_isp_debug_diff_only);\ + } \ +} while (0) + +CVI_S32 CVI_ISP_PrintCrosstalkAttr(VI_PIPE ViPipe, const ISP_Crosstalk_ATTR_S *attr1, + const ISP_Crosstalk_ATTR_S *attr2, CVI_BOOL diffOnly) +{ + CVI_BOOL diff; + + // non-auto + ISP_DIFF_VALUE(Enable); + ISP_DIFF_ARRAY(GrGbDiffThreSec, "%u", 4); + ISP_DIFF_ARRAY(FlatThre, "%u", 4); + ISP_DIFF_VALUE(enOpType); + + // manual + ISP_DIFF_VALUE(stManual.Strength); + + // auto + ISP_DIFF_ARRAY(stAuto.Strength, "%u", ISP_AUTO_ISO_STRENGTH_NUM); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetCrosstalkAttr(VI_PIPE ViPipe, const ISP_Crosstalk_ATTR_S *pstCrosstalkAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstCrosstalkAttr); + + // ISP_DEBUG_PRINT_DIFF(CrosstalkAttr); + + memcpy(&g_param[ViPipe].Crosstalk, pstCrosstalkAttr, sizeof(*pstCrosstalkAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_CROSSTALK); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetCrosstalkAttr(VI_PIPE ViPipe, ISP_Crosstalk_ATTR_S *pstCrosstalkAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(pstCrosstalkAttr); + + memcpy(pstCrosstalkAttr, &g_param[ViPipe].Crosstalk, sizeof(*pstCrosstalkAttr)); + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// FSWDR +//----------------------------------------------------------------------------- +static CVI_S32 CVI_ISP_PrintFSWDRAttr(const ISP_FSWDR_ATTR_S *pstFSWDRAttr) +{ + ISP_CHECK_POINTER(pstFSWDRAttr); + + // non-auto attributes + PRINT_ATTR(pstFSWDRAttr->Enable, reg_fs_enable, 0, 1); + PRINT_ATTR(pstFSWDRAttr->MotionCompEnable, reg_fs_mc_enable, 0, 1); + PRINT_ATTR(pstFSWDRAttr->TuningMode, reg_fs_out_sel, 0, 3); + + // manual attributes + PRINT_ATTR(pstFSWDRAttr->stManual.MergeMode, reg_mmap_mrg_mode, 0, 1); + PRINT_ATTR(pstFSWDRAttr->stManual.MergeModeAlpha, reg_mmap_mrg_alph, 0, 1); + PRINT_ATTR(pstFSWDRAttr->stManual.WDRCombineShortThr, reg_fs_luma_thd_l, 0, 4095); + PRINT_ATTR(pstFSWDRAttr->stManual.WDRCombineLongThr, reg_fs_luma_thd_h, 0, 4095); + PRINT_ATTR(pstFSWDRAttr->stManual.WDRCombineMinWeight, reg_fs_wgt_min, 0, 255); + PRINT_ATTR(pstFSWDRAttr->stManual.WDRCombineMaxWeight, reg_fs_wgt_max, 0, 255); + + // auto attributes + for (CVI_U8 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstFSWDRAttr->stAuto.MergeMode[i], reg_mmap_mrg_mode, 0, 1); + PRINT_ATTR(pstFSWDRAttr->stAuto.MergeModeAlpha[i], reg_mmap_mrg_alph, 0, 1); + PRINT_ATTR(pstFSWDRAttr->stAuto.WDRCombineShortThr[i], reg_fs_luma_thd_l, 0, 4095); + PRINT_ATTR(pstFSWDRAttr->stAuto.WDRCombineLongThr[i], reg_fs_luma_thd_h, 0, 4095); + PRINT_ATTR(pstFSWDRAttr->stAuto.WDRCombineMinWeight[i], reg_fs_wgt_min, 0, 255); + PRINT_ATTR(pstFSWDRAttr->stAuto.WDRCombineMaxWeight[i], reg_fs_wgt_max, 0, 255); + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetFSWDRAttr(VI_PIPE ViPipe, const ISP_FSWDR_ATTR_S *pstFSWDRAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstFSWDRAttr); + + memcpy(&g_param[ViPipe].FSWDR, pstFSWDRAttr, sizeof(*pstFSWDRAttr)); + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintFSWDRAttr(pstFSWDRAttr); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_FUSION); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetFSWDRAttr(VI_PIPE ViPipe, ISP_FSWDR_ATTR_S *pstFSWDRAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstFSWDRAttr); + + memcpy(pstFSWDRAttr, &g_param[ViPipe].FSWDR, sizeof(*pstFSWDRAttr)); + ISP_DEBUG(LOG_DEBUG, "\n"); + CVI_ISP_PrintFSWDRAttr(pstFSWDRAttr); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_PrintWDRExposureAttr(const ISP_WDR_EXPOSURE_ATTR_S *pstWDRExposureAttr) +{ + ISP_CHECK_POINTER(pstWDRExposureAttr); + + // non-auto attributes + PRINT_ATTR(pstWDRExposureAttr->au32ExpRatio[0], reg_fs_ls_gain, 64, 16383); + + // manual attributes + + // auto attributes + //for (CVI_U8 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + //} + + return 0; +} + + +//----------------------------------------------------------------------------- +// DRC +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_PrintDRCAttr(const ISP_DRC_ATTR_S *pstDRCAttr) +{ + ISP_CHECK_POINTER(pstDRCAttr); + + // non-auto attributes + PRINT_ATTR(pstDRCAttr->Enable, reg_ltm_enable, 0, 1); + PRINT_ATTR(pstDRCAttr->NLDetailEnhanceEn, reg_ltm_dark_lce_en, 0, 1); + PRINT_ATTR(pstDRCAttr->TuningMode, reg_ltm_dbg_enable, 0, 4); + PRINT_ATTR(pstDRCAttr->ToneCurveSelect, reg_ltm_deflt_lut[769], 0, 1); + for (CVI_U32 i = 0; i < 769; i++) + PRINT_ATTR(pstDRCAttr->CurveUserDefine[i], reg_na, 0, 4096); + + PRINT_ATTR(pstDRCAttr->DRangeFltScale, (reg_ltm_de_rng, reg_ltm_be_rng), 0, 15); + PRINT_ATTR(pstDRCAttr->DRangeFltCoef, (reg_ltm_de_dist_wgt[11], reg_ltm_be_dist_wgt[11]), 0, 31); + PRINT_ATTR(pstDRCAttr->SpatialFltScale, (reg_ltm_lmap0_lp_rng, reg_ltm_lmap1_lp_rng), 0, 15); + PRINT_ATTR(pstDRCAttr->SpatialFltCoef, (reg_ltm_lmap0_lp_diff_wgt[30], reg_ltm_lmap1_lp_diff_wgt[30]), 0, 31); + + // manual attributes + PRINT_ATTR(pstDRCAttr->stManual.NLDetailDarkGain[4], reg_ltm_dar_lce_gain_0, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.NLDetailDarkAmplitude[4], reg_ltm_dar_lce_diff_thd_0, 0, 104875); + PRINT_ATTR(pstDRCAttr->stManual.NLDetailBrightGain[4], reg_ltm_bri_lce_up_gain_0, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.NLDetailBrightAmplitude[4], reg_ltm_bri_lce_up_thd_0, 0, 104875); + PRINT_ATTR(pstDRCAttr->stManual.ContrastDarkMinThrd, reg_ltm_dar_in_thd_l, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.ContrastDarkMaxThrd, reg_ltm_dar_in_thd_h, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.ContrastDarkMinWeight, reg_ltm_dar_out_thd_l, 0, 255); + PRINT_ATTR(pstDRCAttr->stManual.ContrastDarkMaxWeight, reg_ltm_dar_out_thd_h, 0, 255); + PRINT_ATTR(pstDRCAttr->stManual.ContrastBrightMinThrd, reg_ltm_bri_in_thd_l, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.ContrastBrightMaxThrd, reg_ltm_bri_in_thd_h, 0, 4095); + PRINT_ATTR(pstDRCAttr->stManual.ContrastBrightMinWeight, reg_ltm_bri_out_thd_l, 0, 255); + PRINT_ATTR(pstDRCAttr->stManual.ContrastBrightMaxWeight, reg_ltm_bri_out_thd_h, 0, 255); + + // auto attributes + for (CVI_U8 i = 0; i < ISP_AUTO_ISO_STRENGTH_NUM; i++) { + PRINT_ATTR(pstDRCAttr->stAuto.NLDetailDarkGain[4][i], reg_ltm_dar_lce_gain_0, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.NLDetailDarkAmplitude[4][i], reg_ltm_dar_lce_diff_thd_0, 0, 104875); + PRINT_ATTR(pstDRCAttr->stAuto.NLDetailBrightGain[4][i], reg_ltm_bri_lce_up_gain_0, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.NLDetailBrightAmplitude[4][i], reg_ltm_bri_lce_up_thd_0, 0, 104875); + } + + for (CVI_U8 i = 0; i < ISP_AUTO_LV_NUM; i++) { + PRINT_ATTR(pstDRCAttr->stAuto.ContrastDarkMinThrd, reg_ltm_dar_in_thd_l, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastDarkMaxThrd, reg_ltm_dar_in_thd_h, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastDarkMinWeight, reg_ltm_dar_out_thd_l, 0, 255); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastDarkMaxWeight, reg_ltm_dar_out_thd_h, 0, 255); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastBrightMinThrd, reg_ltm_bri_in_thd_l, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastBrightMaxThrd, reg_ltm_bri_in_thd_h, 0, 4095); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastBrightMinWeight, reg_ltm_bri_out_thd_l, 0, 255); + PRINT_ATTR(pstDRCAttr->stAuto.ContrastBrightMaxWeight, reg_ltm_bri_out_thd_h, 0, 255); + } + + return 0; +} + +CVI_S32 CVI_ISP_SetDRCAttr(VI_PIPE ViPipe, const ISP_DRC_ATTR_S *pstDRCAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstDRCAttr); + + memcpy(&g_param[ViPipe].DRC, pstDRCAttr, sizeof(*pstDRCAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_DRC); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetDRCAttr(VI_PIPE ViPipe, ISP_DRC_ATTR_S *pstDRCAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstDRCAttr); + + memcpy(pstDRCAttr, &g_param[ViPipe].DRC, sizeof(*pstDRCAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_SetMonoAttr(VI_PIPE ViPipe, const ISP_MONO_ATTR_S *pstMonoAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstMonoAttr); + + memcpy(&g_param[ViPipe].mono, pstMonoAttr, sizeof(*pstMonoAttr)); + isp_iq_invalid_set(ViPipe, ISP_IQ_BLOCK_MONO); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetMonoAttr(VI_PIPE ViPipe, ISP_MONO_ATTR_S *pstMonoAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstMonoAttr); + + memcpy(pstMonoAttr, &g_param[ViPipe].mono, sizeof(*pstMonoAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_PrintNoiseProfileAttr(const ISP_CMOS_NOISE_CALIBRATION_S *pstNoiseProfileAttr) +{ + ISP_CHECK_POINTER(pstNoiseProfileAttr); + + for (CVI_U32 i = 0; i < NOISE_PROFILE_ISO_NUM; i++) { + for (CVI_U32 j = 0; j < NOISE_PROFILE_CHANNEL_NUM; j++) { + for (CVI_U32 k = 0; k < NOISE_PROFILE_LEVEL_NUM; k++) { + PRINT_ATTR(pstNoiseProfileAttr->CalibrationCoef[i][j][k], reg_na, 0, 4096); + } + } + } + + return 0; +} + +CVI_S32 CVI_ISP_SetNoiseProfileAttr(VI_PIPE ViPipe, const ISP_CMOS_NOISE_CALIBRATION_S *pstNoiseProfileAttr) +{ + ISP_DEBUG(LOG_INFO, "+\n"); + ISP_CHECK_POINTER(pstNoiseProfileAttr); + + memcpy(&g_param[ViPipe].np, pstNoiseProfileAttr, sizeof(*pstNoiseProfileAttr)); + + return CVI_SUCCESS; +} + +CVI_S32 CVI_ISP_GetNoiseProfileAttr(VI_PIPE ViPipe, ISP_CMOS_NOISE_CALIBRATION_S *pstNoiseProfileAttr) +{ + ISP_DEBUG(LOG_DEBUG, "+\n"); + ISP_CHECK_POINTER(pstNoiseProfileAttr); + + memcpy(pstNoiseProfileAttr, &g_param[ViPipe].np, sizeof(*pstNoiseProfileAttr)); + + return CVI_SUCCESS; +} + +//----------------------------------------------------------------------------- +// tuning +//----------------------------------------------------------------------------- +CVI_S32 CVI_ISP_GetTuningAttrSize(VI_PIPE ViPipe, CVI_U32 *Size) +{ + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(Size); + + return sizeof(g_param[ViPipe]); +} + +CVI_S32 CVI_ISP_SetTuningAttr(VI_PIPE ViPipe, const CVI_U8 *TuningParamBuffer) +{ + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(TuningParamBuffer); + + memcpy(&g_param[ViPipe], TuningParamBuffer, sizeof(g_param[ViPipe])); + isp_iq_invalid_set_all(ViPipe); + + return 0; +} + +CVI_S32 CVI_ISP_GetTuningAttr(VI_PIPE ViPipe, CVI_U8 *TuningParamBuffer) +{ + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(TuningParamBuffer); + + memcpy(TuningParamBuffer, &g_param[ViPipe], sizeof(g_param[ViPipe])); + return 0; +} +#endif + +#define MIPI_DEV_NODE "cvi-mipi-rx" +#define MIPI_CHECK_OPEN(s32Ret) do {\ + if (fd_mipi < 0) {\ + s32Ret = mipi_open_dev(); \ + if (s32Ret != CVI_SUCCESS) \ + return s32Ret; \ + } \ +} while (0) + +#define VI_MAX_DEV_NUM 2 +#define ISP_CHECK_PIPE(pipe) + +CVI_S32 fd_mipi = -1; + +CVI_S32 mipi_open_dev(CVI_VOID) +{ + fd_mipi = open(MIPI_DEV_NODE, 0); + if (fd_mipi < 0) { + return CVI_FAILURE; + } + + return CVI_SUCCESS; +} + +CVI_S32 CVI_MIPI_SetMipiReset(CVI_S32 devno, CVI_U32 reset) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + CVI_S32 s32Devno = devno; + + MIPI_CHECK_OPEN(s32Ret); +// printf("Func %s %d %d fd_mipi %d\n", __func__, devno, reset, fd_mipi); + if (reset == 0) { + if (ioctl(fd_mipi, CVI_MIPI_UNRESET_MIPI, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_UNRESET_MIPI - %d NG\n", s32Devno); + return errno; + } + } else { + if (ioctl(fd_mipi, CVI_MIPI_RESET_MIPI, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_RESET_MIPI - %d NG\n", s32Devno); + return errno; + } + } + return s32Ret; +} + +CVI_S32 CVI_MIPI_SetSensorClock(CVI_S32 devno, CVI_U32 enable) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + CVI_S32 s32Devno = devno; + + MIPI_CHECK_OPEN(s32Ret); + if (enable == 0) { + if (ioctl(fd_mipi, CVI_MIPI_DISABLE_SENSOR_CLOCK, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_DISABLE_SENSOR_CLOCK - %d NG\n", s32Devno); + return errno; + } + } else { + if (ioctl(fd_mipi, CVI_MIPI_ENABLE_SENSOR_CLOCK, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_ENABLE_SENSOR_CLOCK - %d NG\n", s32Devno); + return errno; + } + } + return s32Ret; +} + +CVI_S32 CVI_MIPI_SetSensorReset(CVI_S32 devno, CVI_U32 reset) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + CVI_S32 s32Devno = devno; + + MIPI_CHECK_OPEN(s32Ret); +// printf("Func %s %d %d fd_mipi %d\n", __func__, devno, reset, fd_mipi); + if (reset == 0) { + if (ioctl(fd_mipi, CVI_MIPI_UNRESET_SENSOR, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_DISABLE_SENSOR_CLOCK - %d NG\n", s32Devno); + return errno; + } + } else { + if (ioctl(fd_mipi, CVI_MIPI_RESET_SENSOR, (uintptr_t)&s32Devno) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_RESET_SENSOR - %d NG\n", s32Devno); + return errno; + } + } + return s32Ret; +} + +CVI_S32 CVI_MIPI_SetMipiAttr(CVI_S32 ViPipe, const CVI_VOID *devAttr) +{ + CVI_S32 s32Ret = 0; + SNS_COMBO_DEV_ATTR_S *comboAttr; + + ISP_CHECK_PIPE(ViPipe); + ISP_CHECK_POINTER(devAttr); + MIPI_CHECK_OPEN(s32Ret); + comboAttr = (SNS_COMBO_DEV_ATTR_S *)devAttr; + if (ioctl(fd_mipi, CVI_MIPI_SET_DEV_ATTR, (uintptr_t)comboAttr) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_SET_DEV_ATTR NG\n"); + return errno; + } + return s32Ret; +} + +CVI_S32 CVI_MIPI_SetClkEdge(CVI_S32 devno, CVI_U32 is_up) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + CVI_S32 s32Devno = devno; + struct clk_edge_s clk; + + MIPI_CHECK_OPEN(s32Ret); + clk.devno = devno; + clk.edge = is_up ? CLK_UP_EDGE : CLK_DOWN_EDGE; +// ISP_DEBUG(LOG_DEBUG, "%d %d fd_mipi %d\n", devno, reset, fd_mipi); + if (ioctl(fd_mipi, CVI_MIPI_SET_OUTPUT_CLK_EDGE, (uintptr_t)&clk) < 0) { + //ISP_DEBUG(LOG_ERR, "CVI_MIPI_SET_OUTPUT_CLK_EDGE, - %d NG\n", s32Devno); + return errno; + } + return s32Ret; +} diff --git a/freertos/cvitek/task/isp/src/cv1835/isp_main.c b/freertos/cvitek/task/isp/src/cv1835/isp_main.c new file mode 100644 index 000000000..351bfaeeb --- /dev/null +++ b/freertos/cvitek/task/isp/src/cv1835/isp_main.c @@ -0,0 +1,38 @@ +/* Kernel includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "FreeRTOS_POSIX/time.h" +#include "task.h" +#include "semphr.h" + +#include "timers.h" +/* Xilinx includes. */ +#include "printf.h" +#include "rtos_queue.h" +//#include "cmdqueue.h" +#include "cvi_vip_cif_uapi.h" + +extern QueueHandle_t xQueueIsp; +extern QueueHandle_t xQueueCmdqu; +extern int sample_snsr_test(void); +extern int cvi_cif_probe(void); +void prvISPRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + printf("prvISPRunTask run\n"); + cvi_cif_init(); + cvi_vip_init(); + + sample_snsr_test(); + for (;;) { + xQueueReceive(xQueueIsp, &rtos_cmdq, portMAX_DELAY); + printf("prvISPRunTask id=%d cmd=%d para=%lx\n", rtos_cmdq.ip_id, + rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id == 0) { + xQueueSend(xQueueCmdqu, &rtos_cmdq, 0U); + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/isp/src/cv1835/sample_comm.h b/freertos/cvitek/task/isp/src/cv1835/sample_comm.h new file mode 100644 index 000000000..830f311ce --- /dev/null +++ b/freertos/cvitek/task/isp/src/cv1835/sample_comm.h @@ -0,0 +1,778 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: sample_common.h + * Description: + */ + +#ifndef __SAMPLE_COMM_H__ +#define __SAMPLE_COMM_H__ +//#include <pthread.h> +#include "cvi_common.h" +//#include "cvi_buffer.h" +//#include "cvi_comm_sys.h" +//#include "cvi_comm_vb.h" +#include "cvi_comm_isp.h" +//#include "cvi_comm_3a.h" +#include "cvi_comm_sns.h" +//#include "cvi_comm_vi.h" +//#include "cvi_comm_vpss.h" +//#include "cvi_comm_vo.h" +//#include "cvi_comm_venc.h" +//#include "cvi_comm_vdec.h" +//#include "cvi_comm_region.h" +//#include "cvi_comm_adec.h" +//#include "cvi_comm_aenc.h" +//#include "cvi_comm_ai.h" +//#include "cvi_comm_ao.h" +//#include "cvi_comm_aio.h" +//#include "cvi_audio.h" +#include "cvi_defines.h" +#include "cvi_mipi.h" +//#include "cvi_sys.h" +//#include "cvi_vb.h" +//#include "cvi_vi.h" +//#include "cvi_vpss.h" +//#include "cvi_vo.h" +//#include "cvi_isp.h" +//#include "cvi_venc.h" +//#include "cvi_vdec.h" +//#include "cvi_gdc.h" +//#include "cvi_region.h" +//#include "md5sum.h" +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif /* End of #ifdef __cplusplus */ + +#define FILE_NAME_LEN 128 +#define MAX_NUM_INSTANCE 4 + +#define CHECK_CHN_RET(express, Chn, name) \ + do { \ + CVI_S32 Ret; \ + Ret = express; \ + if (Ret != CVI_SUCCESS) { \ + printf("\033[0;31m%s chn %d failed at %s: LINE: %d with %#x!\033[0;39m\n", name, Chn, \ + __func__, __LINE__, Ret); \ + fflush(stdout); \ + return Ret; \ + } \ + } while (0) + +#define CHECK_RET(express, name) \ + do { \ + CVI_S32 Ret; \ + Ret = express; \ + if (Ret != CVI_SUCCESS) { \ + printf("\033[0;31m%s failed at %s: LINE: %d with %#x!\033[0;39m\n", name, __func__, \ + __LINE__, Ret); \ + return Ret; \ + } \ + } while (0) +#define SAMPLE_PIXEL_FORMAT PIXEL_FORMAT_YUV_PLANAR_420 + +#define COLOR_RGB_RED RGB_8BIT(0xFF, 0, 0) +#define COLOR_RGB_GREEN RGB_8BIT(0, 0xFF, 0) +#define COLOR_RGB_BLUE RGB_8BIT(0, 0, 0xFF) +#define COLOR_RGB_BLACK RGB_8BIT(0, 0, 0) +#define COLOR_RGB_YELLOW RGB_8BIT(0xFF, 0xFF, 0) +#define COLOR_RGB_CYN RGB_8BIT(0, 0xFF, 0xFF) +#define COLOR_RGB_WHITE RGB_8BIT(0xFF, 0xFF, 0xFF) + +#define COLOR_10_RGB_RED RGB(0x3FF, 0, 0) +#define COLOR_10_RGB_GREEN RGB(0, 0x3FF, 0) +#define COLOR_10_RGB_BLUE RGB(0, 0, 0x3FF) +#define COLOR_10_RGB_BLACK RGB(0, 0, 0) +#define COLOR_10_RGB_YELLOW RGB(0x3FF, 0x3FF, 0) +#define COLOR_10_RGB_CYN RGB(0, 0x3FF, 0x3FF) +#define COLOR_10_RGB_WHITE RGB(0x3FF, 0x3FF, 0x3FF) + +#define SAMPLE_VO_DEV_DHD0 0 /* VO's device HD0 */ +#define SAMPLE_VO_DEV_DHD1 1 /* VO's device HD1 */ +#define SAMPLE_VO_DEV_UHD SAMPLE_VO_DEV_DHD0 /* VO's ultra HD device:HD0 */ +#define SAMPLE_VO_DEV_HD SAMPLE_VO_DEV_DHD1 /* VO's HD device:HD1 */ +#define SAMPLE_VO_LAYER_VHD0 0 +#define SAMPLE_VO_LAYER_VHD1 1 +#define SAMPLE_VO_LAYER_VHD2 2 +#define SAMPLE_VO_LAYER_PIP SAMPLE_VO_LAYER_VHD2 + +#define SAMPLE_AUDIO_EXTERN_AI_DEV 0 +#define SAMPLE_AUDIO_EXTERN_AO_DEV 0 +#define SAMPLE_AUDIO_INNER_AI_DEV 0 +#define SAMPLE_AUDIO_INNER_AO_DEV 0 +#define SAMPLE_AUDIO_INNER_HDMI_AO_DEV 1 +#define SAMPLE_AUDIO_PTNUMPERFRM 480 + +#define WDR_MAX_PIPE_NUM 4 //need checking by jammy +#define MAX_SENSOR_NUM 2 +#define ISP_MAX_DEV_NUM 2 + +#define __FILENAM__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) + +#define CVI_TRACE_LOG(level, fmt, ...) \ + CVI_TRACE(level, CVI_ID_LOG, "%s:%d:%s(): " fmt, __FILENAM__, __LINE__, __func__, ##__VA_ARGS__) +#define MAX_STRING_LEN 255 + +#define PAUSE() \ + do { \ + printf("---------------press Enter key to exit!---------------\n"); \ + getchar(); \ + } while (0) + +#define SAMPLE_PRT(fmt...) \ + do { \ + printf("[%s]-%d: ", __func__, __LINE__); \ + printf(fmt); \ + } while (0) + +#define CHECK_NULL_PTR(ptr) \ + do { \ + if (ptr == NULL) { \ + printf("func:%s,line:%d, NULL pointer\n", __func__, __LINE__); \ + return CVI_FAILURE; \ + } \ + } while (0) + +/******************************************************* + * enum define + *******************************************************/ +typedef enum _PIC_SIZE_E { + PIC_CIF, + PIC_D1_PAL, /* 720 * 576 */ + PIC_D1_NTSC, /* 720 * 480 */ + PIC_720P, /* 1280 * 720 */ + PIC_1080P, /* 1920 * 1080 */ + PIC_1088, /* 1920 * 1088 */ + PIC_1440P, /* 2560 * 1440 */ + PIC_2304x1296, + PIC_2592x1520, + PIC_2592x1536, + PIC_2592x1944, + PIC_2716x1524, + PIC_3840x2160, + PIC_4096x2160, + PIC_3000x3000, + PIC_4000x3000, + PIC_3840x8640, + PIC_640x480, + PIC_479P, /* 632 * 479 */ + PIC_288P, /* 384 * 288 */ + PIC_CUSTOMIZE, + PIC_BUTT +} PIC_SIZE_E; + +typedef enum _SAMPLE_SNS_TYPE_E { + /* ------ LINEAR BEGIN ------*/ + SONY_IMX290_MIPI_1M_30FPS_12BIT, + SONY_IMX290_MIPI_2M_60FPS_12BIT, + SONY_IMX327_MIPI_2M_30FPS_12BIT, + SONY_IMX307_MIPI_2M_30FPS_12BIT, + SONY_IMX327_2L_MIPI_2M_30FPS_12BIT, + SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT, + SONY_IMX307_2L_MIPI_2M_30FPS_12BIT, + SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT, + OV_OS08A20_MIPI_8M_30FPS_10BIT, + OV_OS08A20_MIPI_5M_30FPS_10BIT, + SOI_F35_MIPI_2M_30FPS_10BIT, + SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT, + SOI_H65_MIPI_1M_30FPS_10BIT, + PICO640_THERMAL_479P, + PICO384_THERMAL_384X288, + SONY_IMX327_SUBLVDS_2M_30FPS_12BIT, + SONY_IMX307_SUBLVDS_2M_30FPS_12BIT, + VIVO_MCS369Q_4M_30FPS_12BIT, + VIVO_MM308M2_2M_25FPS_8BIT, + NEXTCHIP_N5_2M_25FPS_8BIT, + SMS_SC3335_MIPI_3M_30FPS_10BIT, + SONY_IMX335_MIPI_5M_30FPS_12BIT, + SONY_IMX335_MIPI_4M_30FPS_12BIT, + PIXELPLUS_PR2020_2M_25FPS_8BIT, + SONY_IMX334_MIPI_8M_30FPS_12BIT, + SMS_SC8238_MIPI_8M_30FPS_10BIT, + VIVO_MCS369_2M_30FPS_12BIT, + SMS_SC4210_MIPI_4M_30FPS_12BIT, + /* ------ LINEAR END ------*/ + SAMPLE_SNS_TYPE_LINEAR_BUTT, + + /* ------ WDR 2TO1 BEGIN ------*/ + SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1 = SAMPLE_SNS_TYPE_LINEAR_BUTT, + SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1, + OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1, + OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1, + SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1, + SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1, + SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1, + SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1, + SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1, + SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1, + SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1, + SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1, + /* ------ WDR 2TO1 END ------*/ + SAMPLE_SNS_TYPE_BUTT, +} SAMPLE_SNS_TYPE_E; + +typedef struct _SAMPLE_SENSOR_INFO_S { + SAMPLE_SNS_TYPE_E enSnsType; + CVI_S32 s32SnsId; + CVI_S32 s32BusId; + combo_dev_t MipiDev; + CVI_S16 as16LaneId[5]; + CVI_S8 as8PNSwap[5]; + CVI_U8 u8HwSync; +} SAMPLE_SENSOR_INFO_S; + +#if 0 +typedef enum _SAMPLE_VO_MODE_E { + VO_MODE_1MUX, + VO_MODE_2MUX, + VO_MODE_4MUX, + VO_MODE_8MUX, + VO_MODE_9MUX, + VO_MODE_16MUX, + VO_MODE_25MUX, + VO_MODE_36MUX, + VO_MODE_49MUX, + VO_MODE_64MUX, + VO_MODE_2X4, + VO_MODE_BUTT +} SAMPLE_VO_MODE_E; + +typedef enum _SAMPLE_RC_E { + SAMPLE_RC_CBR = 0, + SAMPLE_RC_VBR, + SAMPLE_RC_AVBR, + SAMPLE_RC_QVBR, + SAMPLE_RC_FIXQP, + SAMPLE_RC_QPMAP, + SAMPLE_RC_MAX +} SAMPLE_RC_E; + +#endif +/******************************************************* + * structure define + *******************************************************/ +#if 0 +typedef struct _SAMPLE_SNAP_INFO_S { + bool bSnap; + bool bDoublePipe; + VI_PIPE VideoPipe; + VI_PIPE SnapPipe; + //VI_VPSS_MODE_E enVideoPipeMode; + //VI_VPSS_MODE_E enSnapPipeMode; +} SAMPLE_SNAP_INFO_S; +#endif +typedef struct _SAMPLE_DEV_INFO_S { + VI_DEV ViDev; + WDR_MODE_E enWDRMode; +} SAMPLE_DEV_INFO_S; + +typedef struct _SAMPLE_PIPE_INFO_S { + VI_PIPE aPipe[WDR_MAX_PIPE_NUM]; + //VI_VPSS_MODE_E enMastPipeMode; + bool bMultiPipe; + bool bVcNumCfged; + bool bIspBypass; + PIXEL_FORMAT_E enPixFmt; + CVI_U32 u32VCNum[WDR_MAX_PIPE_NUM]; +} SAMPLE_PIPE_INFO_S; +#if 0 +typedef struct _SAMPLE_CHN_INFO_S { + VI_CHN ViChn; + PIXEL_FORMAT_E enPixFormat; + DYNAMIC_RANGE_E enDynamicRange; + VIDEO_FORMAT_E enVideoFormat; + COMPRESS_MODE_E enCompressMode; +} SAMPLE_CHN_INFO_S; +#endif +typedef struct _SAMPLE_VI_INFO_S { + SAMPLE_SENSOR_INFO_S stSnsInfo; + SAMPLE_DEV_INFO_S stDevInfo; + SAMPLE_PIPE_INFO_S stPipeInfo; + //SAMPLE_CHN_INFO_S stChnInfo; + //SAMPLE_SNAP_INFO_S stSnapInfo; +} SAMPLE_VI_INFO_S; + +typedef struct _SAMPLE_VI_CONFIG_S { + SAMPLE_VI_INFO_S astViInfo[VI_MAX_DEV_NUM]; + CVI_S32 as32WorkingViId[VI_MAX_DEV_NUM]; + CVI_S32 s32WorkingViNum; + CVI_BOOL bViRotation; +} SAMPLE_VI_CONFIG_S; + +#if 0 +typedef struct _SAMPLE_VI_FRAME_CONFIG_S { + CVI_U32 u32Width; + CVI_U32 u32Height; + CVI_U32 u32ByteAlign; + PIXEL_FORMAT_E enPixelFormat; + VIDEO_FORMAT_E enVideoFormat; + COMPRESS_MODE_E enCompressMode; + DYNAMIC_RANGE_E enDynamicRange; +} SAMPLE_VI_FRAME_CONFIG_S; + +typedef struct _SAMPLE_VI_FRAME_INFO_S { + VB_BLK VbBlk; + CVI_U32 u32Size; + VIDEO_FRAME_INFO_S stVideoFrameInfo; +} SAMPLE_VI_FRAME_INFO_S; + +typedef struct _SAMPLE_VI_FPN_CALIBRATE_INFO_S { + CVI_U32 u32Threshold; + CVI_U32 u32FrameNum; + //ISP_FPN_TYPE_E enFpnType; + PIXEL_FORMAT_E enPixelFormat; + COMPRESS_MODE_E enCompressMode; +} SAMPLE_VI_FPN_CALIBRATE_INFO_S; + +typedef struct _SAMPLE_VI_FPN_CORRECTION_INFO_S { + ISP_OP_TYPE_E enOpType; + //ISP_FPN_TYPE_E enFpnType; + CVI_U32 u32Strength; + PIXEL_FORMAT_E enPixelFormat; + COMPRESS_MODE_E enCompressMode; + SAMPLE_VI_FRAME_INFO_S stViFrameInfo; +} SAMPLE_VI_FPN_CORRECTION_INFO_S; + +typedef struct _SAMPLE_COMM_VO_LAYER_CONFIG_S { + /* for layer */ + VO_LAYER VoLayer; + VO_INTF_SYNC_E enIntfSync; + RECT_S stDispRect; + SIZE_S stImageSize; + PIXEL_FORMAT_E enPixFormat; + + CVI_U32 u32DisBufLen; + + /* for chn */ + SAMPLE_VO_MODE_E enVoMode; +} SAMPLE_COMM_VO_LAYER_CONFIG_S; + +typedef struct _SAMPLE_VO_CONFIG_S { + /* for device */ + VO_DEV VoDev; + VO_INTF_TYPE_E enVoIntfType; + VO_INTF_SYNC_E enIntfSync; + VO_SYNC_INFO_S stSyncInfo; + PIC_SIZE_E enPicSize; + CVI_U32 u32BgColor; + + /* for layer */ + PIXEL_FORMAT_E enPixFormat; + RECT_S stDispRect; + SIZE_S stImageSize; + + CVI_U32 u32DisBufLen; + + /* for channel */ + SAMPLE_VO_MODE_E enVoMode; +} SAMPLE_VO_CONFIG_S; + +typedef enum _THREAD_CONTRL_E { + THREAD_CTRL_START, + THREAD_CTRL_PAUSE, + THREAD_CTRL_STOP, +} THREAD_CONTRL_E; + +typedef struct _VDEC_THREAD_PARAM_S { + CVI_S32 s32ChnId; + PAYLOAD_TYPE_E enType; + CVI_CHAR cFilePath[128]; + CVI_CHAR cFileName[128]; + CVI_S32 s32StreamMode; + CVI_S32 s32MilliSec; + CVI_S32 s32MinBufSize; + CVI_S32 s32IntervalTime; + THREAD_CONTRL_E eThreadCtrl; + CVI_U64 u64PtsInit; + CVI_U64 u64PtsIncrease; + CVI_BOOL bCircleSend; + CVI_BOOL bFileEnd; + CVI_BOOL bDumpYUV; + MD5_CTX tMD5Ctx; +} VDEC_THREAD_PARAM_S; + +typedef struct _SAMPLE_VDEC_BUF { + CVI_U32 u32PicBufSize; + CVI_U32 u32TmvBufSize; + CVI_BOOL bPicBufAlloc; + CVI_BOOL bTmvBufAlloc; +} SAMPLE_VDEC_BUF; + + +typedef struct _SAMPLE_VDEC_VIDEO_ATTR { + VIDEO_DEC_MODE_E enDecMode; + CVI_U32 u32RefFrameNum; + DATA_BITWIDTH_E enBitWidth; +} SAMPLE_VDEC_VIDEO_ATTR; + +typedef struct _SAMPLE_VDEC_PICTURE_ATTR { + PIXEL_FORMAT_E enPixelFormat; + CVI_U32 u32Alpha; +} SAMPLE_VDEC_PICTURE_ATTR; + + +typedef struct _SAMPLE_VDEC_ATTR { + PAYLOAD_TYPE_E enType; + VIDEO_MODE_E enMode; + CVI_U32 u32Width; + CVI_U32 u32Height; + CVI_U32 u32FrameBufCnt; + CVI_U32 u32DisplayFrameNum; + union { + SAMPLE_VDEC_VIDEO_ATTR stSapmleVdecVideo; /* structure with video ( h265/h264) */ + SAMPLE_VDEC_PICTURE_ATTR stSapmleVdecPicture; /* structure with picture (jpeg/mjpeg )*/ + }; +} SAMPLE_VDEC_ATTR; + +typedef struct _vdecChnCtx_ { + VDEC_THREAD_PARAM_S stVdecThreadParamSend; + VDEC_THREAD_PARAM_S stVdecThreadParamGet; + SAMPLE_VDEC_ATTR stSampleVdecAttr; + pthread_t vdecThreadSend; + pthread_t vdecThreadGet; + VDEC_CHN VdecChn; +} vdecChnCtx; +#endif + +extern SAMPLE_SNS_TYPE_E g_enSnsType[MAX_SENSOR_NUM]; + +#if 0 +typedef struct SAMPLE_VENC_GETSTREAM_PARA_S { + CVI_BOOL bThreadStart; + VENC_CHN VeChn[VENC_MAX_CHN_NUM]; + CVI_S32 s32Cnt; +} SAMPLE_VENC_GETSTREAM_PARA_S; + +typedef struct _chnInputCfg_ { + char codec[64]; + unsigned int width; + unsigned int height; + char input_path[MAX_STRING_LEN]; + char output_path[MAX_STRING_LEN]; + char outputFileName[MAX_STRING_LEN]; + CVI_S32 num_frames; + CVI_S32 bsMode; + CVI_S32 rcMode; + CVI_S32 iqp; + CVI_S32 pqp; + CVI_S32 gop; + CVI_S32 bitrate; + CVI_S32 firstFrmstartQp; + CVI_S32 minIqp; + CVI_S32 maxIqp; + CVI_S32 minQp; + CVI_S32 maxQp; + CVI_S32 framerate; + CVI_S32 quality; + CVI_S32 maxbitrate; + CVI_S32 statTime; + CVI_S32 bind_mode; + CVI_S32 pixel_format; + CVI_S32 posX; + CVI_S32 posY; + CVI_S32 inWidth; + CVI_S32 inHeight; + CVI_S32 srcFramerate; + CVI_U32 bitstreamBufSize; + CVI_S32 single_LumaBuf; + CVI_S32 single_core; + CVI_S32 vpssGrp; + CVI_S32 vpssChn; + CVI_S32 forceIdr; + CVI_S32 chgNum; + CVI_S32 chgBitrate; + CVI_S32 chgFramerate; + CVI_S32 tempLayer; + CVI_S32 testRoi; + CVI_S32 bgInterval; + CVI_S32 reserved[11]; +} chnInputCfg; + +typedef enum _CHN_STATE_ { + CHN_STAT_NONE = 0, + CHN_STAT_START, + CHN_STAT_STOP, +} CHN_STATE; + +typedef enum _BS_MODE_ { + BS_MODE_QUERY_STAT = 0, + BS_MODE_PROC, +} BS_MODE; + +typedef struct _vencChnCtx_ { + VENC_CHN VencChn; + PIC_SIZE_E enSize; + SIZE_S stSize; + VIDEO_FRAME_INFO_S *pstFrameInfo; + VIDEO_FRAME_S *pstVFrame; + CVI_U32 u32LumaSize; + CVI_U32 u32ChrmSize; + CVI_U32 u32FrameSize; + CVI_U32 num_frames; + CVI_S32 s32ChnNum; + CVI_U32 s32FbCnt; + CVI_U32 u32Profile; + PAYLOAD_TYPE_E enPayLoad; + VENC_GOP_MODE_E enGopMode; + VENC_GOP_ATTR_S stGopAttr; + SAMPLE_RC_E enRcMode; + FILE *fpSrc; + long file_size; + FILE *pFile; + chnInputCfg chnIc; + PIXEL_FORMAT_E pixel_format; + CHN_STATE chnStat; + CHN_STATE nextChnStat; +} vencChnCtx; + +typedef struct _SAMPLE_INI_CFG_S { + VI_PIPE_FRAME_SOURCE_E enSource; + CVI_U8 devNum; + SAMPLE_SNS_TYPE_E enSnsType; + WDR_MODE_E enWDRMode; + CVI_S32 s32BusId; + combo_dev_t MipiDev; + CVI_S16 as16LaneId[5]; + CVI_S8 as8PNSwap[5]; + CVI_U8 u8HwSync; + SAMPLE_SNS_TYPE_E enSns2Type; + WDR_MODE_E enSns2WDRMode; + CVI_S32 s32Sns2BusId; + combo_dev_t Sns2MipiDev; + CVI_S16 as16Sns2LaneId[5]; + CVI_S8 as8Sns2PNSwap[5]; + CVI_U8 u8Sns2HwSync; + CVI_U8 u8UseDualSns; +} SAMPLE_INI_CFG_S; + +CVI_S32 ae0_register_callback(int ViPipe); +CVI_S32 ae0_unregister_callback(int ViPipe); +CVI_S32 ae1_register_callback(int ViPipe); +CVI_S32 ae1_unregister_callback(int ViPipe); +CVI_S32 ae2_register_callback(int ViPipe); +CVI_S32 ae2_unregister_callback(int ViPipe); + +/******************************************************** + * function announce + ********************************************************/ + +CVI_VOID *SAMPLE_SYS_IOMmap(CVI_U64 u64PhyAddr, CVI_U32 u32Size); +CVI_S32 SAMPLE_SYS_Munmap(CVI_VOID *pVirAddr, CVI_U32 u32Size); +CVI_S32 SAMPLE_SYS_SetReg(CVI_U64 u64Addr, CVI_U32 u32Value); +CVI_S32 SAMPLE_SYS_GetReg(CVI_U64 u64Addr, CVI_U32 *pu32Value); + +CVI_S32 SAMPLE_COMM_SYS_GetPicSize(PIC_SIZE_E enPicSize, SIZE_S *pstSize); +CVI_S32 SAMPLE_COMM_SYS_MemConfig(void); +CVI_VOID SAMPLE_COMM_SYS_Exit(void); +CVI_S32 SAMPLE_COMM_SYS_Init(VB_CONFIG_S *pstVbConfig); +CVI_S32 SAMPLE_COMM_SYS_InitWithVbSupplement(VB_CONFIG_S *pstVbConf, CVI_U32 u32SupplementConfig); + +#endif + +//CVI_S32 SAMPLE_COMM_VI_CreateIsp(SAMPLE_VI_CONFIG_S *pstViConfig); +//CVI_S32 SAMPLE_COMM_VI_Bind_VO(VI_PIPE ViPipe, VI_CHN ViChn, VO_LAYER VoLayer, VO_CHN VoChn); +//CVI_S32 SAMPLE_COMM_VI_UnBind_VO(VI_PIPE ViPipe, VI_CHN ViChn, VO_LAYER VoLayer, VO_CHN VoChn); +//CVI_S32 SAMPLE_COMM_VI_Bind_VPSS(VI_PIPE ViPipe, VI_CHN ViChn, VPSS_GRP VpssGrp); +//CVI_S32 SAMPLE_COMM_VI_UnBind_VPSS(VI_PIPE ViPipe, VI_CHN ViChn, VPSS_GRP VpssGrp); +//CVI_S32 SAMPLE_COMM_VI_Bind_VENC(VI_PIPE ViPipe, VI_CHN ViChn, VENC_CHN VencChn); +//CVI_S32 SAMPLE_COMM_VI_UnBind_VENC(VI_PIPE ViPipe, VI_CHN ViChn, VENC_CHN VencChn); +//CVI_S32 SAMPLE_COMM_VPSS_Bind_VO(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VO_LAYER VoLayer, VO_CHN VoChn); +//CVI_S32 SAMPLE_COMM_VPSS_UnBind_VO(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VO_LAYER VoLayer, VO_CHN VoChn); +//CVI_S32 SAMPLE_COMM_VPSS_Bind_VENC(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VENC_CHN VencChn); +//CVI_S32 SAMPLE_COMM_VPSS_UnBind_VENC(VPSS_GRP VpssGrp, VPSS_CHN VpssChn, VENC_CHN VencChn); +//CVI_S32 SAMPLE_COMM_VDEC_Bind_VPSS(VDEC_CHN VdecChn, VPSS_GRP VpssGrp); +//CVI_S32 SAMPLE_COMM_VDEC_UnBind_VPSS(VDEC_CHN VdecChn, VPSS_GRP VpssGrp); +//CVI_S32 SAMPLE_COMM_VPSS_Bind_VPSS(VPSS_GRP VpssGrpSrc, VPSS_CHN VpssChnSrc, VPSS_GRP VpssGrpDst); +//CVI_S32 SAMPLE_COMM_VPSS_UnBind_VPSS(VPSS_GRP VpssGrpSrc, VPSS_CHN VpssChnSrc, VPSS_GRP VpssGrpDst); +//CVI_S32 SAMPLE_COMM_ISP_Run(CVI_U8 IspDev); +//CVI_S32 SAMPLE_COMM_ISP_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATTR_S *pstPubAttr); +//CVI_VOID SAMPLE_COMM_ISP_Stop(CVI_U8 IspDev); +//CVI_VOID SAMPLE_COMM_All_ISP_Stop(void); +//CVI_S32 SAMPLE_COMM_ISP_Aelib_Callback(ISP_DEV IspDev); +//CVI_S32 SAMPLE_COMM_ISP_Aelib_UnCallback(ISP_DEV IspDev); +//CVI_S32 SAMPLE_COMM_ISP_Awblib_Callback(ISP_DEV IspDev); +CVI_S32 SAMPLE_COMM_ISP_Sensor_Regiter_callback(ISP_DEV IspDev, CVI_U32 u32SnsId, CVI_S32 s32BusId); +//CVI_S32 SAMPLE_COMM_ISP_Awblib_UnCallback(ISP_DEV IspDev); +//CVI_S32 SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(ISP_DEV IspDev); +//CVI_S32 SAMPLE_COMM_ISP_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATTR_S *pstPubAttr); +CVI_S32 SAMPLE_COMM_ISP_SetSensorMode(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_ISP_SetSnsObj(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType); +CVI_S32 SAMPLE_COMM_ISP_SetSnsInit(CVI_U32 u32SnsId, CVI_U8 u8HwSync); +CVI_S32 SAMPLE_COMM_ISP_PatchSnsObj(CVI_U32 u32SnsId, SAMPLE_SENSOR_INFO_S *pstSnsInfo); +CVI_VOID *SAMPLE_COMM_ISP_GetSnsObj(CVI_U32 u32SnsId); + +#if 0 +CVI_S32 SAMPLE_AUDIO_DEBUG(void); +CVI_S32 SAMPLE_AUDIO_DEBUG_LEVEL(ST_AudioUnitTestCfg *testCfg); + +CVI_S32 SAMPLE_COMM_VI_GetDevAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *pstViDevAttr); +void SAMPLE_COMM_VI_GetSensorInfo(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_GetSizeBySensor(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize); +CVI_S32 SAMPLE_COMM_VI_GetChnAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, VI_CHN_ATTR_S *pstChnAttr); +CVI_S32 SAMPLE_COMM_VI_StartIsp(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_StartDev(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_StopDev(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_StartViChn(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_StopViChn(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_StopViPipe(SAMPLE_VI_INFO_S *pstViInfo); +CVI_S32 SAMPLE_COMM_VI_DestroyVi(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_OPEN(void); +CVI_S32 SAMPLE_COMM_VI_CLOSE(void); +CVI_S32 SAMPLE_COMM_VI_StartSensor(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_StartMIPI(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_COMM_VI_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg); + +CVI_S32 SAMPLE_COMM_VPSS_Start(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable, VPSS_GRP_ATTR_S *pstVpssGrpAttr, + VPSS_CHN_ATTR_S *pastVpssChnAttr); +CVI_S32 SAMPLE_COMM_VPSS_Init(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable, VPSS_GRP_ATTR_S *pstVpssGrpAttr, + VPSS_CHN_ATTR_S *pastVpssChnAttr); + +CVI_S32 SAMPLE_COMM_VPSS_Stop(VPSS_GRP VpssGrp, CVI_BOOL *pabChnEnable); +CVI_S32 SAMPLE_COMM_VPSS_SendFrame(VPSS_GRP VpssGrp, SIZE_S *stSize, PIXEL_FORMAT_E enPixelFormat, CVI_CHAR *filename); +CVI_S32 SAMPLE_COMM_VENC_SaveStream(PAYLOAD_TYPE_E enType, + FILE *pFd, VENC_STREAM_S *pstStream); +CVI_S32 SAMPLE_COMM_VENC_Stop(VENC_CHN VencChn); +CVI_S32 SAMPLE_COMM_VENC_GetGopAttr(VENC_GOP_MODE_E enGopMode, VENC_GOP_ATTR_S *pstGopAttr); +CVI_S32 SAMPLE_COMM_VENC_GetFilePostfix(PAYLOAD_TYPE_E enPayload, char *szFilePostfix); +CVI_S32 SAMPLE_COMM_VENC_CloseReEncode(VENC_CHN VencChn); +CVI_S32 SAMPLE_COMM_VENC_SetJpegParam(chnInputCfg *pIc, VENC_CHN VencChn); +CVI_S32 SAMPLE_COMM_VENC_SetRoiAttr(VENC_CHN VencChn, PAYLOAD_TYPE_E enType); +CVI_S32 SAMPLE_COMM_VENC_SetChnParam(chnInputCfg *pIc, VENC_CHN VencChn); +CVI_S32 SAMPLE_COMM_VENC_Start( + chnInputCfg * pIc, + VENC_CHN VencChn, + PAYLOAD_TYPE_E enType, + PIC_SIZE_E enSize, + SAMPLE_RC_E enRcMode, + CVI_U32 u32Profile, + CVI_BOOL bRcnRefShareBuf, + VENC_GOP_ATTR_S *pstGopAttr); +CVI_S32 SAMPLE_COMM_VDEC_InitVBPool(VDEC_CHN VdecChn, SAMPLE_VDEC_ATTR *pastSampleVdec); +CVI_VOID SAMPLE_COMM_VDEC_StartSendStream(VDEC_THREAD_PARAM_S *pstVdecSend, + pthread_t *pVdecThread); +CVI_S32 SAMPLE_COMM_VDEC_Start(vdecChnCtx *pvdchnCtx); +CVI_VOID SAMPLE_COMM_VDEC_CmdCtrl(VDEC_THREAD_PARAM_S *pstVdecSend, pthread_t *pVdecThread); +CVI_VOID SAMPLE_COMM_VDEC_StopSendStream(VDEC_THREAD_PARAM_S *pstVdecSend, pthread_t *pVdecThread); +CVI_S32 SAMPLE_COMM_VDEC_Stop(CVI_S32 s32ChnNum); +CVI_VOID SAMPLE_COMM_VDEC_ExitVBPool(void); +CVI_VOID SAMPLE_COMM_VDEC_StartGetPic(VDEC_THREAD_PARAM_S *pstVdecGet, + pthread_t *pVdecThread); +CVI_VOID SAMPLE_COMM_VDEC_StopGetPic(VDEC_THREAD_PARAM_S *pstVdecGet, pthread_t *pVdecThread); + +CVI_S32 SAMPLE_COMM_VO_GetWH(VO_INTF_SYNC_E enIntfSync, CVI_U32 *pu32W, CVI_U32 *pu32H, CVI_U32 *pu32Frm); +CVI_S32 SAMPLE_COMM_VO_StartDev(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr); +CVI_S32 SAMPLE_COMM_VO_StopDev(VO_DEV VoDev); +CVI_S32 SAMPLE_COMM_VO_StartLayer(VO_LAYER VoLayer, const VO_VIDEO_LAYER_ATTR_S *pstLayerAttr); +CVI_S32 SAMPLE_COMM_VO_StopLayer(VO_LAYER VoLayer); +CVI_S32 SAMPLE_COMM_VO_StartChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode); +CVI_S32 SAMPLE_COMM_VO_StopChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode); +CVI_S32 SAMPLE_COMM_VO_BindVpss(VO_LAYER VoLayer, VO_CHN VoChn, VPSS_GRP VpssGrp, VPSS_CHN VpssChn); +CVI_S32 SAMPLE_COMM_VO_UnBindVpss(VO_LAYER VoLayer, VO_CHN VoChn, VPSS_GRP VpssGrp, VPSS_CHN VpssChn); +CVI_S32 SAMPLE_COMM_VO_BindVi(VO_LAYER VoLayer, VO_CHN VoChn, VI_CHN ViChn); +CVI_S32 SAMPLE_COMM_VO_UnBindVi(VO_LAYER VoLayer, VO_CHN VoChn); +CVI_S32 SAMPLE_COMM_VO_GetDefConfig(SAMPLE_VO_CONFIG_S *pstVoConfig); +CVI_S32 SAMPLE_COMM_VO_StopVO(SAMPLE_VO_CONFIG_S *pstVoConfig); +CVI_S32 SAMPLE_COMM_VO_StartVO(SAMPLE_VO_CONFIG_S *pstVoConfig); +CVI_S32 SAMPLE_COMM_VO_StopPIP(SAMPLE_VO_CONFIG_S *pstVoConfig); +CVI_S32 SAMPLE_COMM_VO_StartPIP(SAMPLE_VO_CONFIG_S *pstVoConfig); +CVI_S32 SAMPLE_COMM_VO_GetDefLayerConfig(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +CVI_S32 SAMPLE_COMM_VO_StartLayerChn(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +CVI_S32 SAMPLE_COMM_VO_StopLayerChn(SAMPLE_COMM_VO_LAYER_CONFIG_S *pstVoLayerConfig); +CVI_VOID SAMPLE_COMM_VO_Exit(void); + +CVI_S32 SAMPLE_COMM_REGION_Create(CVI_S32 HandleNum, RGN_TYPE_E enType); +CVI_S32 SAMPLE_COMM_REGION_Destroy(CVI_S32 HandleNum, RGN_TYPE_E enType); +CVI_S32 SAMPLE_COMM_REGION_AttachToChn(CVI_S32 HandleNum, RGN_TYPE_E enType, MMF_CHN_S *pstChn); +CVI_S32 SAMPLE_COMM_REGION_DetachFrmChn(CVI_S32 HandleNum, RGN_TYPE_E enType, MMF_CHN_S *pstChn); +CVI_S32 SAMPLE_COMM_REGION_SetBitMap(RGN_HANDLE Handle, const char *filename); +CVI_S32 SAMPLE_COMM_REGION_GetUpCanvas(RGN_HANDLE Handle, const char *filename); +CVI_S32 SAMPLE_COMM_REGION_GetMinHandle(RGN_TYPE_E enType); + +CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAo(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAenc(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAencAdec(AENC_CHN AeChn, ADEC_CHN AdChn, FILE *pAecFd); +CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdFileAdec(ADEC_CHN AdChn, FILE *pAdcFd); +CVI_S32 SAMPLE_COMM_AUDIO_CreatTrdAoVolCtrl(AUDIO_DEV AoDev); +CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAi(AUDIO_DEV AiDev, AI_CHN AiChn); +CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAencAdec(AENC_CHN AeChn); +CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdFileAdec(ADEC_CHN AdChn); +CVI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAoVolCtrl(AUDIO_DEV AoDev); +CVI_S32 SAMPLE_COMM_AUDIO_DestoryAllTrd(void); +CVI_S32 SAMPLE_COMM_AUDIO_AoBindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn); +CVI_S32 SAMPLE_COMM_AUDIO_AoUnbindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn); +CVI_S32 SAMPLE_COMM_AUDIO_AoBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +CVI_S32 SAMPLE_COMM_AUDIO_AoUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn); +CVI_S32 SAMPLE_COMM_AUDIO_AencBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +CVI_S32 SAMPLE_COMM_AUDIO_AencUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn); +CVI_S32 SAMPLE_COMM_AUDIO_CfgAcodec(AIO_ATTR_S *pstAioAttr); +CVI_S32 SAMPLE_COMM_AUDIO_StartAi(AUDIO_DEV AiDevId, CVI_S32 s32AiChnCnt, AIO_ATTR_S *pstAioAttr, + AUDIO_SAMPLE_RATE_E enOutSampleRate, CVI_BOOL bResampleEn, CVI_VOID *pstAiVqeAttr, + CVI_U32 u32AiVqeType); +CVI_S32 SAMPLE_COMM_AUDIO_StopAi(AUDIO_DEV AiDevId, CVI_S32 s32AiChnCnt, CVI_BOOL bResampleEn, CVI_BOOL bVqeEn); +CVI_S32 SAMPLE_COMM_AUDIO_StartAo(AUDIO_DEV AoDevId, CVI_S32 s32AoChnCnt, AIO_ATTR_S *pstAioAttr, + AUDIO_SAMPLE_RATE_E enInSampleRate, CVI_BOOL bResampleEn); +CVI_S32 SAMPLE_COMM_AUDIO_StopAo(AUDIO_DEV AoDevId, CVI_S32 s32AoChnCnt, CVI_BOOL bResampleEn); +CVI_S32 SAMPLE_COMM_AUDIO_StartAenc(CVI_S32 s32AencChnCnt, AIO_ATTR_S *pstAioAttr, PAYLOAD_TYPE_E enType); +CVI_S32 SAMPLE_COMM_AUDIO_StopAenc(CVI_S32 s32AencChnCnt); +CVI_S32 SAMPLE_COMM_AUDIO_StartAdec(ADEC_CHN AdChn, PAYLOAD_TYPE_E enType); +CVI_S32 SAMPLE_COMM_AUDIO_StopAdec(ADEC_CHN AdChn); + +CVI_S32 SAMPLE_PLAT_SYS_INIT(SIZE_S stSize); +CVI_S32 SAMPLE_PLAT_VI_INIT(SAMPLE_VI_CONFIG_S *pstViConfig); +CVI_S32 SAMPLE_PLAT_VPSS_INIT(VPSS_GRP VpssGrp, SIZE_S stSizeIn, SIZE_S stSizeOut); +CVI_S32 SAMPLE_PLAT_VO_INIT(void); + +/* SAMPLE_COMM_FRAME_SaveToFile: + * Save videoframe to the file + * + * [in]filename: char string of the file to save data. + * [IN]pstVideoFrame: the videoframe whose data will be saved to file. + * return: CVI_SUCCESS if no problem. + */ +CVI_S32 SAMPLE_COMM_FRAME_SaveToFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame); + +/* SAMPLE_COMM_PrepareFrame: + * Prepare videoframe per size & format. + * + * [in]stSize: the size of videoframe + * [in]enPixelFormat: pixel format of videoframe + * [Out]pstVideoFrame: the videoframe generated. + * return: CVI_SUCCESS if no problem. + */ +CVI_S32 SAMPLE_COMM_PrepareFrame(SIZE_S stSize, PIXEL_FORMAT_E enPixelFormat, VIDEO_FRAME_INFO_S *pstVideoFrame); + +/* SAMPLE_COMM_FRAME_CompareWithFile: + * Compare data with frame. + * + * [in]filename: file to read. + * [in]pstVideoFrame: the video-frame to store data from file. + * return: True if match; False if mismatch. + */ +CVI_BOOL SAMPLE_COMM_FRAME_CompareWithFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame); + +/* SAMPLE_COMM_FRAME_LoadFromFile: + * Load data to frame, whose data loaded from given filename. + * + * [in]filename: file to read. + * [in]pstVideoFrame: the video-frame to store data from file. + * [in]stSize: size of image. + * [in]enPixelFormat: format of image + * return: CVI_SUCCESS if no problem. + */ +CVI_S32 SAMPLE_COMM_FRAME_LoadFromFile(const CVI_CHAR *filename, VIDEO_FRAME_INFO_S *pstVideoFrame, + SIZE_S *stSize, PIXEL_FORMAT_E enPixelFormat); +#endif +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif /* End of #ifdef __cplusplus */ + +#endif diff --git a/freertos/cvitek/task/isp/src/cv1835/sample_common_isp.c b/freertos/cvitek/task/isp/src/cv1835/sample_common_isp.c new file mode 100644 index 000000000..4dc214e7b --- /dev/null +++ b/freertos/cvitek/task/isp/src/cv1835/sample_common_isp.c @@ -0,0 +1,676 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: sample/common/sample_common_isp.c + * Description: + * Common ctrl code for isp. + */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +//#include <stdint.h> +#include <string.h> +//#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +//#include <unistd.h> +//#include <sys/prctl.h> +//#include <sys/time.h> + +#include "sample_comm.h" +#include "cvi_awb_comm.h" +#include "cvi_sns_ctrl.h" +#include "cvi_ae.h" +#include "cvi_isp.h" + +#ifdef SUPPORT_ISP_PQTOOL +#include <dlfcn.h> +static CVI_BOOL g_ISPDaemon = CVI_FALSE; +static void *g_ISPDHandle; +#define ISPD_LIBNAME "libcvi_ispd.so" +#define ISPD_CONNECT_PORT 5566 +#endif // + +//static pthread_t g_IspPid[VI_MAX_DEV_NUM]; +static CVI_U32 g_au32IspSnsId[ISP_MAX_DEV_NUM] = { 0, 1 }; + +SAMPLE_SNS_TYPE_E g_enSnsType[MAX_SENSOR_NUM] = { + SONY_IMX327_MIPI_2M_30FPS_12BIT, + SONY_IMX290_MIPI_1M_30FPS_12BIT, +}; + +static ISP_INIT_ATTR_S gstInitAttr[ISP_MAX_DEV_NUM]; +ISP_PUB_ATTR_S ISP_PUB_ATTR_IMX327_2M_30FPS = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_IMX335_5M_30FPS = { { 0, 0, 2592, 1944 }, { 2592, 1944 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_IMX335_4M_30FPS = { { 0, 0, 2560, 1440 }, { 2560, 1440 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_IMX334_8M_30FPS = { { 0, 0, 3840, 2160 }, { 3840, 2160 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_IMX307_2M_30FPS = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_F35_2M_30FPS = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_H65_1M_30FPS = { { 0, 0, 1280, 720 }, { 1280, 720 }, 30, BAYER_BGGR, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_OS08A20_8M_30FPS = { { 0, 0, 3840, 2160 }, { 3840, 2160 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_OS08A20_5M_30FPS = { { 0, 0, 2592, 1944 }, { 2592, 1944 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_PICO_640 = { { 0, 0, 632, 479 }, { 632, 479 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; + + +ISP_PUB_ATTR_S ISP_PUB_ATTR_PICO_384 = { { 0, 0, 384, 288 }, { 384, 288 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_VIVO_MCS369Q = { { 0, 0, 2560, 1440 }, { 2560, 1440 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_VIVO_MCS369 = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_VIVO_MM308M2 = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, + 25, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_NEXTCHIP_N5 = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, + 25, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_SC3335_3M_30FPS = { { 0, 0, 2304, 1296 }, { 2304, 1296 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_PIXELPLUS_PR2020 = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, + 25, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_SC8238_8M_30FPS = { { 0, 0, 3840, 2160 }, { 3840, 2160 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; +ISP_PUB_ATTR_S ISP_PUB_ATTR_SC4210_4M_30FPS = { { 0, 0, 2560, 1440 }, { 2560, 1440 }, + 30, BAYER_BGGR, WDR_MODE_NONE, 0}; + +#if 0 +static CVI_VOID *SAMPLE_COMM_ISP_Thread(void *arg) +{ + CVI_S32 s32Ret = 0; + CVI_U8 IspDev = *(CVI_U8 *)arg; + char szThreadName[20]; + + free(arg); + snprintf(szThreadName, sizeof(szThreadName), "ISP%d_RUN", IspDev); + prctl(PR_SET_NAME, szThreadName, 0, 0, 0); + + SAMPLE_PRT("ISP Dev %d running!\n", IspDev); + s32Ret = CVI_ISP_Run(IspDev); + if (s32Ret != 0) + SAMPLE_PRT("CVI_ISP_Run failed with %#x!\n", s32Ret); + + return NULL; +} + +CVI_S32 SAMPLE_COMM_ISP_Run(CVI_U8 IspDev) +{ + CVI_S32 s32Ret = 0; + CVI_U8 *arg = malloc(sizeof(*arg)); + struct sched_param param; + pthread_attr_t attr; + + if (arg == NULL) { + CVI_TRACE_LOG(CVI_DBG_ERR, "malloc failed\n"); + goto out; + } + + *arg = IspDev; + param.sched_priority = 80; + + pthread_attr_init(&attr); + pthread_attr_setschedpolicy(&attr, SCHED_RR); + pthread_attr_setschedparam(&attr, ¶m); + pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED); + s32Ret = pthread_create(&g_IspPid[IspDev], &attr, SAMPLE_COMM_ISP_Thread, arg); + if (s32Ret != 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "create isp running thread failed!, error: %d, %s\r\n", + s32Ret, strerror(s32Ret)); + goto out; + } + +#ifdef SUPPORT_ISP_PQTOOL + if (!g_ISPDaemon) { + g_ISPDHandle = dlopen(ISPD_LIBNAME, RTLD_NOW); + + if (g_ISPDHandle) { + char *error = NULL; + void (*daemon_init)(unsigned int port); + + printf("Load dynamic library %s success\n", ISPD_LIBNAME); + + dlerror(); + daemon_init = dlsym(g_ISPDHandle, "isp_daemon_init"); + error = dlerror(); + if (error == NULL) { + (*daemon_init)(ISPD_CONNECT_PORT); + g_ISPDaemon = CVI_TRUE; + } else { + printf("Run daemon initial fail\n"); + dlclose(g_ISPDHandle); + } + } else { + printf("Load dynamic library %s fail\n", ISPD_LIBNAME); + } + } +#endif // + +out: + + return s32Ret; +} +#endif +CVI_S32 SAMPLE_COMM_ISP_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATTR_S *pstPubAttr) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + + switch (enSnsType) { + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX327_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX327_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX307_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX307_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX334_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX334_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX335_5M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX335_5M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX335_4M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_IMX335_4M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_F35_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_F35_2M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + + case SOI_H65_MIPI_1M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_H65_1M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_OS08A20_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_OS08A20_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_OS08A20_5M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_OS08A20_5M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + case PICO640_THERMAL_479P: + memcpy(pstPubAttr, &ISP_PUB_ATTR_PICO_640, sizeof(ISP_PUB_ATTR_S)); + break; + case PICO384_THERMAL_384X288: + memcpy(pstPubAttr, &ISP_PUB_ATTR_PICO_384, sizeof(ISP_PUB_ATTR_S)); + break; + case VIVO_MCS369Q_4M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_VIVO_MCS369Q, sizeof(ISP_PUB_ATTR_S)); + break; + case VIVO_MCS369_2M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_VIVO_MCS369, sizeof(ISP_PUB_ATTR_S)); + break; + case VIVO_MM308M2_2M_25FPS_8BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_VIVO_MM308M2, sizeof(ISP_PUB_ATTR_S)); + break; + case NEXTCHIP_N5_2M_25FPS_8BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_NEXTCHIP_N5, sizeof(ISP_PUB_ATTR_S)); + break; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_SC3335_3M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_PIXELPLUS_PR2020, sizeof(ISP_PUB_ATTR_S)); + break; + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_SC8238_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_SC8238_8M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + pstPubAttr->f32FrameRate = 15; + break; + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + memcpy(pstPubAttr, &ISP_PUB_ATTR_SC4210_4M_30FPS, sizeof(ISP_PUB_ATTR_S)); + break; + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + memcpy(pstPubAttr, &ISP_PUB_ATTR_SC4210_4M_30FPS, sizeof(ISP_PUB_ATTR_S)); + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + break; + default: + s32Ret = CVI_FAILURE; + break; + } + return s32Ret; +} +#if 0 +/****************************************************************************** + * funciton : stop ISP, and stop isp thread + ******************************************************************************/ +CVI_VOID SAMPLE_COMM_ISP_Stop(CVI_U8 IspDev) +{ +#ifdef SUPPORT_ISP_PQTOOL + if (g_ISPDaemon) { + char *error = NULL; + void (*daemon_uninit)(void); + + daemon_uninit = dlsym(g_ISPDHandle, "isp_daemon_uninit"); + error = dlerror(); + if (error == NULL) + (*daemon_uninit)(); + + dlclose(g_ISPDHandle); + g_ISPDHandle = NULL; + g_ISPDaemon = CVI_FALSE; + } +#endif // + + if (g_IspPid[IspDev]) { + CVI_ISP_Exit(IspDev); + pthread_join(g_IspPid[IspDev], NULL); + g_IspPid[IspDev] = 0; + } + + SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(IspDev); + SAMPLE_COMM_ISP_Aelib_UnCallback(IspDev); + SAMPLE_COMM_ISP_Awblib_UnCallback(IspDev); +} + +CVI_VOID SAMPLE_COMM_All_ISP_Stop(CVI_VOID) +{ + for (ISP_DEV IspDev = 0; IspDev < VI_MAX_DEV_NUM; IspDev++) + SAMPLE_COMM_ISP_Stop(IspDev); +} + +CVI_S32 SAMPLE_COMM_ISP_Awblib_Callback(ISP_DEV IspDev) +{ + ALG_LIB_S stAwbLib; + + stAwbLib.s32Id = IspDev; + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + CVI_AWB_Register(IspDev, &stAwbLib); + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Awblib_UnCallback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAwbLib; + + stAwbLib.s32Id = IspDev; + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + s32Ret = CVI_AWB_UnRegister(IspDev, &stAwbLib); + if (s32Ret) { + CVI_TRACE_LOG(CVI_DBG_ERR, "AWB Algo unRegister failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Aelib_Callback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAeLib; + + stAeLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + s32Ret = CVI_AE_Register(IspDev, &stAeLib); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "AE Algo register failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Aelib_UnCallback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAeLib; + + stAeLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + s32Ret = CVI_AE_UnRegister(IspDev, &stAeLib); + if (s32Ret) { + CVI_TRACE_LOG(CVI_DBG_ERR, "AE Algo unRegister failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} +#endif + +CVI_S32 SAMPLE_COMM_ISP_SetSnsObj(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType) +{ + if (u32SnsId >= ARRAY_SIZE(g_enSnsType)) + return CVI_FAILURE; + + g_enSnsType[u32SnsId] = enSnsType; + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_SetSnsInit(CVI_U32 u32SnsId, CVI_U8 u8HwSync) +{ + if (u32SnsId >= ARRAY_SIZE(g_enSnsType)) + return CVI_FAILURE; + + gstInitAttr[u32SnsId].u16UseHwSync = u8HwSync; + + return CVI_SUCCESS; +} + +CVI_VOID *SAMPLE_COMM_ISP_GetSnsObj(CVI_U32 u32SnsId) +{ + SAMPLE_SNS_TYPE_E enSnsType; + + enSnsType = g_enSnsType[u32SnsId]; + switch (enSnsType) { + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx327_Obj; +#if 0 + case SONY_IMX290_MIPI_1M_30FPS_12BIT: + case SONY_IMX290_MIPI_2M_60FPS_12BIT: + return &stSnsImx290_2l_Obj; + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx327_2l_Obj; + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx327_Slave_Obj; + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx307_Obj; + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx307_2l_Obj; + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx307_Slave_Obj; + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + return &stSnsF35_Obj; + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + return &stSnsF35_Slave_Obj; + case SOI_H65_MIPI_1M_30FPS_10BIT: + return &stSnsH65_Obj; + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + return &stSnsOs08a20_Obj; + case PICO640_THERMAL_479P: + return &stSnsPICO640_Obj; + case PICO384_THERMAL_384X288: + return &stSnsPICO384_Obj; + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx327_Sublvds_Obj; + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + return &stSnsImx307_Sublvds_Obj; + case VIVO_MCS369Q_4M_30FPS_12BIT: + return &stSnsMCS369Q_Obj; + case VIVO_MCS369_2M_30FPS_12BIT: + return &stSnsMCS369_Obj; + case VIVO_MM308M2_2M_25FPS_8BIT: + return &stSnsMM308M2_Obj; + case NEXTCHIP_N5_2M_25FPS_8BIT: + return &stSnsN5_Obj; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + return &stSnsSC3335_Obj; + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + return &stSnsImx334_Obj; + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + return &stSnsImx335_Obj; + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + return &stSnsPR2020_Obj; + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + return &stSnsSC8238_Obj; + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + return &stSnsSC4210_Obj; +#endif + default: + return CVI_NULL; + } +} + +CVI_S32 SAMPLE_COMM_ISP_PatchSnsObj(CVI_U32 u32SnsId, SAMPLE_SENSOR_INFO_S *pstSnsInfo) +{ + ISP_SNS_OBJ_S *pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + RX_INIT_ATTR_S stRxInitAttr; + CVI_U32 i; + + if (pstSnsObj == CVI_NULL) { + return CVI_FAILURE; + } + + stRxInitAttr.MipiDev = pstSnsInfo->MipiDev; + for (i = 0; i < sizeof(stRxInitAttr.as16LaneId)/sizeof(CVI_S16); i++) { + stRxInitAttr.as16LaneId[i] = pstSnsInfo->as16LaneId[i]; + } + for (i = 0; i < sizeof(stRxInitAttr.as8PNSwap)/sizeof(CVI_S8); i++) { + stRxInitAttr.as8PNSwap[i] = pstSnsInfo->as8PNSwap[i]; + } + + return (pstSnsObj->pfnPatchRxAttr) ? pstSnsObj->pfnPatchRxAttr(&stRxInitAttr) : CVI_SUCCESS; +} + +#if 0 +CVI_S32 SAMPLE_COMM_ISP_GetRxAttr(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret, i; + ISP_SENSOR_EXP_FUNC_S stSnsrSensorFunc; + SNS_COMBO_DEV_ATTR_S stDevAttr; + const ISP_SNS_OBJ_S *pstSnsObj; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[i]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + pstSnsObj.pfnGetRxAttr(ViPipe, &stDevAttr); + } +} +#endif + +CVI_S32 SAMPLE_COMM_ISP_SetSensorMode(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = CVI_SUCCESS, i; + CVI_U32 u32SnsId; + VI_PIPE ViPipe; + WDR_MODE_E wdrMode; + ISP_PUB_ATTR_S stPubAttr; + ISP_SENSOR_EXP_FUNC_S stSnsrSensorFunc; + ISP_CMOS_SENSOR_IMAGE_MODE_S stSnsrMode; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + const ISP_SNS_OBJ_S *pstSnsObj; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + wdrMode = pstViInfo->stDevInfo.enWDRMode; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + if (SAMPLE_COMM_ISP_GetIspAttrBySns(pstViInfo->stSnsInfo.enSnsType, &stPubAttr) != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "Can't get sns attr!\n"); + return s32Ret; + } + stSnsrMode.u16Width = stPubAttr.stSnsSize.u32Width; + stSnsrMode.u16Height = stPubAttr.stSnsSize.u32Height; + stSnsrMode.f32Fps = stPubAttr.f32FrameRate; + printf("stSnsrMode.u16Width %d stSnsrMode.u16Height %d %f wdrMode %d pstSnsObj %p\n", + stSnsrMode.u16Width, stSnsrMode.u16Height, stSnsrMode.f32Fps, wdrMode, pstSnsObj); + pstSnsObj->pfnExpSensorCb(&stSnsrSensorFunc); + s32Ret = stSnsrSensorFunc.pfn_cmos_set_image_mode(ViPipe, &stSnsrMode); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor set image mode failed!\n"); + return s32Ret; + } + + s32Ret = stSnsrSensorFunc.pfn_cmos_set_wdr_mode(ViPipe, wdrMode); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor set wdr mode failed!\n"); + return s32Ret; + } + } + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_ISP_Sensor_Regiter_callback(ISP_DEV IspDev, CVI_U32 u32SnsId, CVI_S32 s32BusId) +{ + CVI_S32 s32Ret = -1; + SAMPLE_SNS_TYPE_E enSnsType = g_enSnsType[u32SnsId]; + ALG_LIB_S stAeLib; + ALG_LIB_S stAwbLib; + const ISP_SNS_OBJ_S *pstSnsObj; + ISP_INIT_ATTR_S *pstInitAttr = &gstInitAttr[u32SnsId]; + ISP_SNS_COMMBUS_U unSnsrBusInfo = { + .s8I2cDev = 3, + }; + + #define SNSBUS_VLD(x) (x >= 0) + + if (u32SnsId > MAX_SENSOR_NUM) { + CVI_TRACE_LOG(CVI_DBG_ERR, "invalid sensor id: %d\n", u32SnsId); + return CVI_FAILURE; + } + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + if (pstSnsObj == CVI_NULL) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d not exist!\n", u32SnsId); + return CVI_FAILURE; + } + + pstInitAttr->enGainMode = SNS_GAIN_MODE_SHARE; + if ((enSnsType == SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1) || + (enSnsType == SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1)) { + pstInitAttr->enL2SMode = SNS_L2S_MODE_FIX; + } + s32Ret = pstSnsObj->pfnSetInit(u32SnsId, pstInitAttr); + if (s32Ret < 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "pfnSetInit error id: %d s32Ret %d\n", IspDev, s32Ret); + return CVI_FAILURE; + } + /* set i2c bus info */ + if (SNSBUS_VLD(s32BusId)) + unSnsrBusInfo.s8I2cDev = (CVI_S8)s32BusId; + s32Ret = pstSnsObj->pfnSetBusInfo(u32SnsId, unSnsrBusInfo); + if (s32Ret < 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "pfnSetBusInfo error id: %d s32Ret %d\n", IspDev, s32Ret); + return CVI_FAILURE; + } + + stAeLib.s32Id = IspDev; + stAwbLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + // strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + + if (pstSnsObj->pfnRegisterCallback != CVI_NULL) { + s32Ret = pstSnsObj->pfnRegisterCallback(IspDev, &stAeLib, &stAwbLib); + + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor_register_callback failed with %#x!\n", s32Ret); + return s32Ret; + } + } else { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor_register_callback failed with CVI_NULL!\n"); + return CVI_FAILURE; + } + + g_au32IspSnsId[IspDev] = u32SnsId; + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(ISP_DEV IspDev) +{ + ALG_LIB_S stAeLib; + ALG_LIB_S stAwbLib; + CVI_U32 u32SnsId; + const ISP_SNS_OBJ_S *pstSnsObj; + CVI_S32 s32Ret = -1; + + u32SnsId = g_au32IspSnsId[IspDev]; + + if (u32SnsId > MAX_SENSOR_NUM) { + SAMPLE_PRT("%s: invalid sensor id: %d\n", __func__, u32SnsId); + return CVI_FAILURE; + } + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + + if (pstSnsObj == CVI_NULL) { + return CVI_FAILURE; + } + + stAeLib.s32Id = IspDev; + stAwbLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + // strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + + if (pstSnsObj->pfnUnRegisterCallback != CVI_NULL) { + s32Ret = pstSnsObj->pfnUnRegisterCallback(IspDev, &stAeLib, &stAwbLib); + + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("sensor_unregister_callback failed with %#x!\n", s32Ret); + return s32Ret; + } + } else { + SAMPLE_PRT("sensor_unregister_callback failed with CVI_NULL!\n"); + } + + return CVI_SUCCESS; +} diff --git a/freertos/cvitek/task/isp/src/cv1835/sample_common_vi.c b/freertos/cvitek/task/isp/src/cv1835/sample_common_vi.c new file mode 100644 index 000000000..8e90f02aa --- /dev/null +++ b/freertos/cvitek/task/isp/src/cv1835/sample_common_vi.c @@ -0,0 +1,1942 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: sample/common/sample_common_vi.c + * Description: + * Common sample code for video input. + */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +//#include <stdio.h> +#include <stdlib.h> +#include <string.h> +//#include <unistd.h> +#include "cvi_mipi.h" +#include "cvi_sns_ctrl.h" +#include "cvi_common.h" +//#include "cvi_awb_comm.h" +//#include "cvi_comm_isp.h" +#include "sample_comm.h" +#include "cvi_isp.h" +#include "mmio.h" + +#if 0 +VI_DEV_ATTR_S DEV_ATTR_NEXTCHIP_N5_2M_BASE = { + VI_MODE_BT656, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE,//VI_SCAN_INTERLACED, + {-1, -1, -1, -1}, + VI_DATA_SEQ_UYVY, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_YUV, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_PIXELPLUS_PR2020_2M_BASE = { + VI_MODE_BT656, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE,//VI_SCAN_INTERLACED, + {-1, -1, -1, -1}, + VI_DATA_SEQ_UYVY, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_YUV, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_OS08A20_8M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 3840, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 2160, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {3840, 2160}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_OS08A20_5M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2592, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1944, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {2592, 1944}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX327_2M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX307_2M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX334_8M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 3840, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 2160, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {3840, 2160}, + { + WDR_MODE_NONE, + 2160 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX335_5M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2592, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1944, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {2592, 1944}, + { + WDR_MODE_NONE, + 1944 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; +VI_DEV_ATTR_S DEV_ATTR_IMX335_4M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2560, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1440, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {2560, 1440}, + { + WDR_MODE_NONE, + 1440 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_F35_2M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_H65_1M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1280, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 720, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1280, 720}, + { + WDR_MODE_NONE, + 720 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + + +VI_DEV_ATTR_S DEV_ATTR_IMX297_1M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1280, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 720, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1280, 720}, + { + WDR_MODE_2To1_LINE, + 720 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX297_2M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1280, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 720, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_VIVO_MCS369Q_4M_BASE = { + VI_MODE_BT1120_STANDARD, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2560, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1440, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_YUV, + {2560, 1440}, + { + WDR_MODE_NONE, + 1440 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_VIVO_MCS369_2M_BASE = { + VI_MODE_BT1120_STANDARD, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_YUV, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_VIVO_MM308M2_2M_BASE = { + VI_MODE_BT1120_STANDARD, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_YUV, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_PICO_640_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 632, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 479, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {632, 479}, + { + WDR_MODE_2To1_LINE, + 479 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_PICO_384_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 384, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 288, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {384, 288}, + { + WDR_MODE_2To1_LINE, + 288 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX327_SUBLVDS_2M_BASE = { + VI_MODE_LVDS, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_IMX307_SUBLVDS_2M_BASE = { + VI_MODE_LVDS, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_RG, +}; + +VI_DEV_ATTR_S DEV_ATTR_SC3335_3M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2304, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1296, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {2304, 1296}, + { + WDR_MODE_NONE, + 1296 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_SC8238_8M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 3840, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 2160, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {3840, 2160}, + { + WDR_MODE_NONE, + 2160 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_DEV_ATTR_S DEV_ATTR_SC4210_4M_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 2560, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1440, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {2560, 1440}, + { + WDR_MODE_NONE, + 1440 + }, + .enBayerFormat = BAYER_FORMAT_BG, +}; + +VI_PIPE_ATTR_S PIPE_ATTR_1280x720_RAW12_420_3DNR_RFR = { + VI_PIPE_BYPASS_NONE, CVI_FALSE, CVI_FALSE, + 1280, 720, + PIXEL_FORMAT_RGB_BAYER_12BPP, + COMPRESS_MODE_NONE, + DATA_BITWIDTH_12, + CVI_FALSE, + CVI_FALSE, + { -1, -1} +}; + +VI_PIPE_ATTR_S PIPE_ATTR_1920x1080_RAW12_420_3DNR_RFR = { + VI_PIPE_BYPASS_NONE, CVI_FALSE, CVI_FALSE, + 1920, 1080, + PIXEL_FORMAT_RGB_BAYER_12BPP, + COMPRESS_MODE_NONE, + DATA_BITWIDTH_12, + CVI_FALSE, + CVI_FALSE, + { -1, -1} +}; + +VI_PIPE_ATTR_S PIPE_ATTR_3840x2160_RAW10_420_3DNR_RFR = { + VI_PIPE_BYPASS_NONE, CVI_FALSE, CVI_FALSE, + 3840, 2160, + PIXEL_FORMAT_RGB_BAYER_12BPP, + COMPRESS_MODE_NONE, + DATA_BITWIDTH_10, + CVI_FALSE, + CVI_FALSE, + { -1, -1} +}; + +VI_PIPE_ATTR_S PIPE_ATTR_2592x1944_RAW10_420_3DNR_RFR = { + VI_PIPE_BYPASS_NONE, CVI_FALSE, CVI_FALSE, + 2592, 1944, + PIXEL_FORMAT_RGB_BAYER_12BPP, + COMPRESS_MODE_NONE, + DATA_BITWIDTH_10, + CVI_FALSE, + CVI_FALSE, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_384x288_422_SDR8_LINEAR = { + {384, 288}, + PIXEL_FORMAT_YUV_PLANAR_422, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_632x479_422_SDR8_LINEAR = { + {632, 479}, + PIXEL_FORMAT_YUV_PLANAR_422, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_1280x720_420_SDR8_LINEAR = { + {1280, 720}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 0, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_1920x1080_420_SDR8_LINEAR = { + {1920, 1080}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_1920x1080_422_SDR8_LINEAR = { + {1920, 1080}, + PIXEL_FORMAT_YUV_PLANAR_422, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_2560x1440_422_SDR8_LINEAR = { + {2560, 1440}, + PIXEL_FORMAT_YUV_PLANAR_422, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_2560x1440_420_SDR8_LINEAR = { + {2560, 1440}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_2592x1944_420_SDR8_LINEAR = { + {2592, 1944}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_3840x2160_420_SDR8_LINEAR = { + {3840, 2160}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +VI_CHN_ATTR_S CHN_ATTR_2304x1296_420_SDR8_LINEAR = { + {2304, 1296}, + PIXEL_FORMAT_YUV_PLANAR_420, + DYNAMIC_RANGE_SDR8, + VIDEO_FORMAT_LINEAR, + COMPRESS_MODE_NONE, + 0, 0, + 1, + { -1, -1} +}; + +/* + * Brief: get picture size(w*h), according enPicSize + */ +CVI_S32 SAMPLE_COMM_SYS_GetPicSize(PIC_SIZE_E enPicSize, SIZE_S *pstSize) +{ + switch (enPicSize) { + case PIC_CIF: /* 352 * 288 */ + pstSize->u32Width = 352; + pstSize->u32Height = 288; + break; + + case PIC_D1_PAL: /* 720 * 576 */ + pstSize->u32Width = 720; + pstSize->u32Height = 576; + break; + + case PIC_D1_NTSC: /* 720 * 480 */ + pstSize->u32Width = 720; + pstSize->u32Height = 480; + break; + + case PIC_720P: /* 1280 * 720 */ + pstSize->u32Width = 1280; + pstSize->u32Height = 720; + break; + + case PIC_1080P: /* 1920 * 1080 */ + pstSize->u32Width = 1920; + pstSize->u32Height = 1080; + break; + + case PIC_1088: /* 1920 * 1088*/ + pstSize->u32Width = 1920; + pstSize->u32Height = 1088; + break; + + case PIC_1440P: /* 2560 * 1440 */ + pstSize->u32Width = 2560; + pstSize->u32Height = 1440; + break; + + case PIC_2304x1296: + pstSize->u32Width = 2304; + pstSize->u32Height = 1296; + break; + + case PIC_2592x1520: + pstSize->u32Width = 2592; + pstSize->u32Height = 1520; + break; + + case PIC_2592x1944: + pstSize->u32Width = 2592; + pstSize->u32Height = 1944; + break; + + case PIC_2592x1536: + pstSize->u32Width = 2592; + pstSize->u32Height = 1536; + break; + + case PIC_2716x1524: + pstSize->u32Width = 2716; + pstSize->u32Height = 1524; + break; + + case PIC_3840x2160: + pstSize->u32Width = 3840; + pstSize->u32Height = 2160; + break; + + case PIC_3000x3000: + pstSize->u32Width = 3000; + pstSize->u32Height = 3000; + break; + + case PIC_4000x3000: + pstSize->u32Width = 4000; + pstSize->u32Height = 3000; + break; + + case PIC_4096x2160: + pstSize->u32Width = 4096; + pstSize->u32Height = 2160; + break; + + case PIC_3840x8640: + pstSize->u32Width = 3840; + pstSize->u32Height = 8640; + break; + + case PIC_640x480: + pstSize->u32Width = 640; + pstSize->u32Height = 480; + break; + case PIC_479P: /* 632 * 479 */ + pstSize->u32Width = 632; + pstSize->u32Height = 479; + break; + case PIC_288P: /* 384 * 288 */ + pstSize->u32Width = 384; + pstSize->u32Height = 288; + break; + default: + return CVI_FAILURE; + } + + return CVI_SUCCESS; +} +#endif + +void SAMPLE_COMM_VI_GetSensorInfo(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + + for (i = 0; i < VI_MAX_DEV_NUM; i++) { + pstViConfig->astViInfo[i].stSnsInfo.s32SnsId = i; + pstViConfig->astViInfo[i].stSnsInfo.s32BusId = i; + pstViConfig->astViInfo[i].stSnsInfo.MipiDev = i; + //memset(&pstViConfig->astViInfo[i].stSnapInfo, 0, sizeof(SAMPLE_SNAP_INFO_S)); + pstViConfig->astViInfo[i].stPipeInfo.bMultiPipe = CVI_FALSE; + pstViConfig->astViInfo[i].stPipeInfo.bVcNumCfged = CVI_FALSE; + } + + pstViConfig->astViInfo[0].stSnsInfo.enSnsType = SONY_IMX290_MIPI_2M_60FPS_12BIT; + pstViConfig->astViInfo[1].stSnsInfo.enSnsType = SONY_IMX290_MIPI_2M_60FPS_12BIT; +} + +#if 0 +CVI_S32 SAMPLE_COMM_VI_GetDevAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *pstViDevAttr) +{ + switch (enSnsType) { + default: + case SONY_IMX290_MIPI_1M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX297_1M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX327_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX327_2M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX307_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX307_2M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX334_8M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX334_8M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX335_5M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX335_5M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_IMX335_4M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX335_4M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_OS08A20_8M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_OS08A20_8M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_OS08A20_5M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_OS08A20_5M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_F35_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_F35_2M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SOI_H65_MIPI_1M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_H65_1M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case PICO640_THERMAL_479P: + memcpy(pstViDevAttr, &DEV_ATTR_PICO_640_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case PICO384_THERMAL_384X288: + memcpy(pstViDevAttr, &DEV_ATTR_PICO_384_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX327_SUBLVDS_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_IMX307_SUBLVDS_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case VIVO_MCS369Q_4M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_VIVO_MCS369Q_4M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case VIVO_MCS369_2M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_VIVO_MCS369_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case VIVO_MM308M2_2M_25FPS_8BIT: + memcpy(pstViDevAttr, &DEV_ATTR_VIVO_MM308M2_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case NEXTCHIP_N5_2M_25FPS_8BIT: + memcpy(pstViDevAttr, &DEV_ATTR_NEXTCHIP_N5_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_SC3335_3M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + memcpy(pstViDevAttr, &DEV_ATTR_PIXELPLUS_PR2020_2M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + memcpy(pstViDevAttr, &DEV_ATTR_SC8238_8M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_SC8238_8M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + memcpy(pstViDevAttr, &DEV_ATTR_SC4210_4M_BASE, sizeof(VI_DEV_ATTR_S)); + break; + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + memcpy(pstViDevAttr, &DEV_ATTR_SC4210_4M_BASE, sizeof(VI_DEV_ATTR_S)); + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + break; + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_GetChnAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, VI_CHN_ATTR_S *pstChnAttr) +{ + switch (enSnsType) { + default: + case SONY_IMX290_MIPI_1M_30FPS_12BIT: + memcpy(pstChnAttr, &CHN_ATTR_1280x720_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_1920x1080_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_1920x1080_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_3840x2160_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_2592x1944_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + memcpy(pstChnAttr, &CHN_ATTR_2560x1440_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_3840x2160_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_2592x1944_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_1920x1080_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SOI_H65_MIPI_1M_30FPS_10BIT: + memcpy(pstChnAttr, &CHN_ATTR_1280x720_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case PICO640_THERMAL_479P: + memcpy(pstChnAttr, &CHN_ATTR_632x479_422_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case PICO384_THERMAL_384X288: + memcpy(pstChnAttr, &CHN_ATTR_384x288_422_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case VIVO_MM308M2_2M_25FPS_8BIT: + case NEXTCHIP_N5_2M_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + case VIVO_MCS369_2M_30FPS_12BIT: + memcpy(pstChnAttr, &CHN_ATTR_1920x1080_422_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case VIVO_MCS369Q_4M_30FPS_12BIT: + memcpy(pstChnAttr, &CHN_ATTR_2560x1440_422_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + memcpy(pstChnAttr, &CHN_ATTR_2304x1296_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_3840x2160_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + memcpy(pstChnAttr, &CHN_ATTR_2560x1440_420_SDR8_LINEAR, sizeof(VI_CHN_ATTR_S)); + break; + } + return CVI_SUCCESS; +} +#endif + +CVI_S32 SAMPLE_COMM_VI_ResetSensor(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + CVI_U32 devno = 0; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + devno = pstViInfo->stSnsInfo.MipiDev; + s32Ret = CVI_MIPI_SetSensorReset(devno, 1); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d reset failed!\n", i); + return s32Ret; + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_ResetMipi(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + CVI_U32 devno = 0; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + devno = pstViInfo->stSnsInfo.MipiDev; + s32Ret = CVI_MIPI_SetMipiReset(devno, 1); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "mipi %d reset failed!\n", i); + return s32Ret; + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_UnresetSensor(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + CVI_U32 devno = 0; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + devno = pstViInfo->stSnsInfo.MipiDev; + s32Ret = CVI_MIPI_SetSensorReset(devno, 0); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d unreset failed!\n", i); + return s32Ret; + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_UnresetMipi(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + CVI_U32 devno = 0; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + devno = pstViInfo->stSnsInfo.MipiDev; + s32Ret = CVI_MIPI_SetMipiReset(devno, 0); + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("mipi %d unreset failed!\n", i); + return s32Ret; + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_SetMipiAttr(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + VI_PIPE ViPipe; + CVI_U32 u32SnsId; + SNS_COMBO_DEV_ATTR_S stDevAttr; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + SAMPLE_SNS_TYPE_E enSnsType; + + const ISP_SNS_OBJ_S *pstSnsObj; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + enSnsType = g_enSnsType[u32SnsId]; + /* need to invert the clk for timnig issue. */ + if (enSnsType == VIVO_MCS369Q_4M_30FPS_12BIT || + enSnsType == VIVO_MCS369_2M_30FPS_12BIT) + CVI_MIPI_SetClkEdge(ViPipe, 0); + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + pstSnsObj->pfnGetRxAttr(ViPipe, &stDevAttr); + CVI_MIPI_SetMipiAttr(ViPipe, (CVI_VOID *)&stDevAttr); + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_EnableSensorClock(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = 0, i; + CVI_U32 devno = 0; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + devno = pstViInfo->stSnsInfo.MipiDev; + s32Ret = CVI_MIPI_SetSensorClock(devno, 1); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d clock enable failed!\n", i); + return s32Ret; + } + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_StartSensor(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_U32 s32Ret; + CVI_S32 i; + CVI_U32 u32SnsId; + VI_PIPE ViPipe; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + s32Ret = SAMPLE_COMM_ISP_SetSnsObj(u32SnsId, pstViInfo->stSnsInfo.enSnsType); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "update sensor obj(%d) failed!\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_SetSnsInit(u32SnsId, pstViInfo->stSnsInfo.u8HwSync); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "update sensor(%d) hwsync failed !\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_PatchSnsObj(u32SnsId, &pstViInfo->stSnsInfo); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "patch rx attr(%d) failed!\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_Sensor_Regiter_callback(ViPipe, u32SnsId, pstViInfo->stSnsInfo.s32BusId); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d register callback failed!\n", i); + return s32Ret; + } + } + s32Ret = SAMPLE_COMM_ISP_SetSensorMode(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d register callback failed!\n", i); + return s32Ret; + } + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_StartMIPI(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = CVI_SUCCESS, i; + VI_PIPE ViPipe; + CVI_U32 u32SnsId; + SNS_COMBO_DEV_ATTR_S stDevAttr; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + const ISP_SNS_OBJ_S *pstSnsObj; + + /*TODO@CF. Need add sample function.*/ + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + pstSnsObj->pfnGetRxAttr(ViPipe, &stDevAttr); + SAMPLE_PRT("sensor %d stDevAttr.devno %d\n", i, stDevAttr.devno); + pstViInfo->stSnsInfo.MipiDev = stDevAttr.devno; + } + //asm volatile ("b ."); + s32Ret = SAMPLE_COMM_VI_ResetSensor(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ResetSensor failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_ResetMipi(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ResetMipi failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_SetMipiAttr(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_VI_SetMipiAttr failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_EnableSensorClock(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "EnableSensorClock failed! with %#x!\n", s32Ret); + return s32Ret; + } + + usleep(20); + s32Ret = SAMPLE_COMM_VI_UnresetSensor(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "UnresetSensor failed! with %#x!\n", s32Ret); + return s32Ret; + } + return s32Ret; +} +#if 0 +CVI_S32 SAMPLE_COMM_VI_StartDev(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 s32Ret; + VI_DEV ViDev; + SAMPLE_SNS_TYPE_E enSnsType; + VI_DEV_ATTR_S stViDevAttr; + + ViDev = pstViInfo->stDevInfo.ViDev; + enSnsType = pstViInfo->stSnsInfo.enSnsType; + + SAMPLE_COMM_VI_GetDevAttrBySns(enSnsType, &stViDevAttr); + stViDevAttr.stWDRAttr.enWDRMode = pstViInfo->stDevInfo.enWDRMode; + + s32Ret = CVI_VI_SetDevAttr(ViDev, &stViDevAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_SetDevAttr failed with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = CVI_VI_EnableDev(ViDev); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_EnableDev failed with %#x!\n", s32Ret); + return s32Ret; + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_StopDev(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 s32Ret; + VI_DEV ViDev; + + ViDev = pstViInfo->stDevInfo.ViDev; + s32Ret = CVI_VI_DisableDev(ViDev); + + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_DisableDev failed with %#x!\n", s32Ret); + return s32Ret; + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_BindPipeDev(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 i; + CVI_S32 s32PipeCnt = 0; + CVI_S32 s32Ret; + VI_DEV_BIND_PIPE_S stDevBindPipe = {0}; + + for (i = 0; i < 4; i++) { + if (pstViInfo->stPipeInfo.aPipe[i] >= 0 && pstViInfo->stPipeInfo.aPipe[i] < VI_MAX_PIPE_NUM) { + stDevBindPipe.PipeId[s32PipeCnt] = pstViInfo->stPipeInfo.aPipe[i]; + s32PipeCnt++; + stDevBindPipe.u32Num = s32PipeCnt; + } + } + + s32Ret = CVI_VI_SetDevBindPipe(pstViInfo->stDevInfo.ViDev, &stDevBindPipe); + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("CVI_VI_SetDevBindPipe failed with %#x!\n", s32Ret); + return CVI_FAILURE; + } + + return s32Ret; +} + +/****************************************************************************** + * funciton : Get enSize by diffrent sensor + ******************************************************************************/ +CVI_S32 SAMPLE_COMM_VI_GetSizeBySensor(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + + if (!penSize) + return CVI_FAILURE; + + switch (enMode) { + case SONY_IMX290_MIPI_1M_30FPS_12BIT: + case SOI_H65_MIPI_1M_30FPS_10BIT: + *penSize = PIC_720P; + break; + case SONY_IMX290_MIPI_2M_60FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case VIVO_MM308M2_2M_25FPS_8BIT: + case NEXTCHIP_N5_2M_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + case VIVO_MCS369_2M_30FPS_12BIT: + *penSize = PIC_1080P; + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + *penSize = PIC_3840x2160; + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_2592x1944; + break; + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_1440P; + break; + case PICO640_THERMAL_479P: + *penSize = PIC_479P; + break; + case PICO384_THERMAL_384X288: + *penSize = PIC_288P; + break; + case VIVO_MCS369Q_4M_30FPS_12BIT: + *penSize = PIC_1440P; + break; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + *penSize = PIC_2304x1296; + break; + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + *penSize = PIC_3840x2160; + break; + default: + s32Ret = CVI_FAILURE; + break; + } + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_StartViChn(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + CVI_S32 s32Ret = CVI_SUCCESS; + VI_PIPE ViPipe = 0; + VI_CHN ViChn = 0; + VI_CHN_ATTR_S stChnAttr; + VI_VPSS_MODE_E enMastPipeMode; + VI_DEV_ATTR_S stViDevAttr; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + if (i < VI_MAX_CHN_NUM) { + ViPipe = pstViConfig->astViInfo[i].stPipeInfo.aPipe[0]; + ViChn = pstViConfig->astViInfo[i].stChnInfo.ViChn; + + SAMPLE_COMM_VI_GetDevAttrBySns(pstViConfig->astViInfo[i].stSnsInfo.enSnsType, &stViDevAttr); + SAMPLE_COMM_VI_GetChnAttrBySns(pstViConfig->astViInfo[i].stSnsInfo.enSnsType, &stChnAttr); + stChnAttr.enDynamicRange = pstViConfig->astViInfo[i].stChnInfo.enDynamicRange; + stChnAttr.enVideoFormat = pstViConfig->astViInfo[i].stChnInfo.enVideoFormat; + stChnAttr.enCompressMode = pstViConfig->astViInfo[i].stChnInfo.enCompressMode; + stChnAttr.bLVDSflow = (stViDevAttr.enIntfMode == VI_MODE_LVDS) ? 1 : 0; + stChnAttr.u8TotalChnNum = pstViConfig->s32WorkingViNum; + + s32Ret = CVI_VI_SetChnAttr(ViPipe, ViChn, &stChnAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_SetChnAttr failed with %#x!\n", s32Ret); + return CVI_FAILURE; + } + + enMastPipeMode = pstViConfig->astViInfo[i].stPipeInfo.enMastPipeMode; + + if (enMastPipeMode == VI_OFFLINE_VPSS_OFFLINE + || enMastPipeMode == VI_ONLINE_VPSS_OFFLINE) { + s32Ret = CVI_VI_EnableChn(ViPipe, ViChn); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_EnableChn failed with %#x!\n", + s32Ret); + return CVI_FAILURE; + } + } + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_StopViChn(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + VI_PIPE ViPipe = 0; + VI_CHN ViChn; + VI_VPSS_MODE_E enMastPipeMode; + + ViChn = pstViInfo->stChnInfo.ViChn; + + if (ViChn < VI_MAX_CHN_NUM) { + enMastPipeMode = pstViInfo->stPipeInfo.enMastPipeMode; + + if (enMastPipeMode == VI_OFFLINE_VPSS_OFFLINE + || enMastPipeMode == VI_ONLINE_VPSS_OFFLINE) { + s32Ret = CVI_VI_DisableChn(ViPipe, ViChn); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_DisableChn failed with %#x!\n", + s32Ret); + return s32Ret; + } + } + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_CreateIsp(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + CVI_S32 s32ViNum; + CVI_S32 s32Ret = CVI_SUCCESS; + + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + if (!pstViConfig) { + SAMPLE_PRT("%s: null ptr\n", __func__); + return CVI_FAILURE; + } + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + s32ViNum = pstViConfig->as32WorkingViId[i]; + pstViInfo = &pstViConfig->astViInfo[s32ViNum]; + + s32Ret = SAMPLE_COMM_VI_StartIsp(pstViInfo); + + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("SAMPLE_COMM_VI_StartIsp failed !\n"); + return CVI_FAILURE; + } + } + + s32Ret = SAMPLE_COMM_ISP_Run(0); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ISP_Run failed with %#x!\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_StartIsp(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 s32Ret = 0, i; + VI_PIPE ViPipe = 0; + ISP_PUB_ATTR_S stPubAttr; + ISP_STATISTICS_CFG_S stsCfg; + ISP_BIND_ATTR_S stBindAttr; + + for (i = 0; i < WDR_MAX_PIPE_NUM; i++) { + if (pstViInfo->stPipeInfo.aPipe[i] >= 0 && + pstViInfo->stPipeInfo.aPipe[i] < VI_MAX_PIPE_NUM) { + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; +#if USE_USER_SEN_DRIVER + SAMPLE_COMM_ISP_Aelib_Callback(ViPipe); +#else + ae0_register_callback(ViPipe); +#endif + SAMPLE_COMM_ISP_Awblib_Callback(ViPipe); + + snprintf(stBindAttr.stAeLib.acLibName, sizeof(CVI_AE_LIB_NAME), "%s", CVI_AE_LIB_NAME); + stBindAttr.stAeLib.s32Id = ViPipe; + stBindAttr.sensorId = 0; + snprintf(stBindAttr.stAwbLib.acLibName, sizeof(CVI_AWB_LIB_NAME), "%s", CVI_AWB_LIB_NAME); + stBindAttr.stAwbLib.s32Id = ViPipe; + s32Ret = CVI_ISP_SetBindAttr(ViPipe, &stBindAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "Bind Algo failed with %#x!\n", s32Ret); + } + s32Ret = CVI_ISP_MemInit(ViPipe); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "Init Ext memory failed with %#x!\n", s32Ret); + return s32Ret; + } + SAMPLE_COMM_ISP_GetIspAttrBySns(pstViInfo->stSnsInfo.enSnsType, &stPubAttr); + s32Ret = CVI_ISP_SetPubAttr(ViPipe, &stPubAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SetPubAttr failed with %#x!\n", s32Ret); + return s32Ret; + } + stsCfg.stAECfg.stCrop[0].bEnable = stsCfg.stAECfg.stCrop[1].bEnable = 1; + stsCfg.stAECfg.stCrop[0].u16X = stsCfg.stAECfg.stCrop[0].u16Y = 0; + stsCfg.stAECfg.stCrop[0].u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stAECfg.stCrop[0].u16H = stPubAttr.stWndRect.u32Height; + stsCfg.stAECfg.stCrop[1].u16X = stsCfg.stAECfg.stCrop[1].u16Y = 0; + stsCfg.stAECfg.stCrop[1].u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stAECfg.stCrop[1].u16H = stPubAttr.stWndRect.u32Height; + stsCfg.stWBCfg.u16ZoneRow = AWB_ZONE_ORIG_ROW; + stsCfg.stWBCfg.u16ZoneCol = AWB_ZONE_ORIG_COLUMN; + stsCfg.stWBCfg.stCrop.u16X = stsCfg.stWBCfg.stCrop.u16Y = 0; + stsCfg.stWBCfg.stCrop.u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stWBCfg.stCrop.u16H = stPubAttr.stWndRect.u32Height; + stsCfg.stWBCfg.u16BlackLevel = 0; + stsCfg.stWBCfg.u16WhiteLevel = 4095; + stsCfg.stFocusCfg.stConfig.bEnable = 1; + stsCfg.stFocusCfg.stConfig.u8HFltShift = 1; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[0] = 1; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[1] = 2; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[2] = 3; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[3] = 5; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[4] = 10; + stsCfg.stFocusCfg.stConfig.stRawCfg.PreGammaEn = 0; + stsCfg.stFocusCfg.stConfig.stPreFltCfg.PreFltEn = 1; + stsCfg.stFocusCfg.stConfig.u16Hwnd = 17; + stsCfg.stFocusCfg.stConfig.u16Vwnd = 15; + stsCfg.stFocusCfg.stConfig.stCrop.bEnable = 1; + // AF offset and size has some limitation. + stsCfg.stFocusCfg.stConfig.stCrop.u16X = AF_XOFFSET_MIN; + stsCfg.stFocusCfg.stConfig.stCrop.u16Y = AF_YOFFSET_MIN; + stsCfg.stFocusCfg.stConfig.stCrop.u16W = stPubAttr.stWndRect.u32Width - AF_XOFFSET_MIN * 2; + stsCfg.stFocusCfg.stConfig.stCrop.u16H = stPubAttr.stWndRect.u32Height - AF_YOFFSET_MIN * 2; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[0] = 1; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[1] = 4; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[2] = 8; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[3] = 16; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[4] = 0; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[0] = 1; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[1] = 2; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[2] = 4; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[3] = 8; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[4] = 0; + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[0] = 1; + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[1] = 16; + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[2] = 0; + stsCfg.unKey.bit1FEAeGloStat = stsCfg.unKey.bit1FEAeLocStat = + stsCfg.unKey.bit1AwbStat1 = stsCfg.unKey.bit1AwbStat2 = stsCfg.unKey.bit1FEAfStat = 1; + s32Ret = CVI_ISP_SetStatisticsConfig(ViPipe, &stsCfg); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ISP Set Statistic failed with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = CVI_ISP_Init(ViPipe); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ISP Init failed with %#x!\n", s32Ret); + return s32Ret; + } + } + } + return CVI_SUCCESS; +} + +static CVI_S32 SAMPLE_COMM_VI_StopSingleViPipe(VI_PIPE ViPipe) +{ + CVI_S32 s32Ret; + + s32Ret = CVI_VI_StopPipe(ViPipe); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_StopPipe failed with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = CVI_VI_DestroyPipe(ViPipe); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_DestroyPipe failed with %#x!\n", s32Ret); + return s32Ret; + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_VI_StopViPipe(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 i, ret = CVI_SUCCESS; + VI_PIPE ViPipe; + + for (i = 0; i < WDR_MAX_PIPE_NUM; i++) { + if (pstViInfo->stPipeInfo.aPipe[i] >= 0 && pstViInfo->stPipeInfo.aPipe[i] < VI_MAX_PIPE_NUM) { + ViPipe = pstViInfo->stPipeInfo.aPipe[i]; + ret = SAMPLE_COMM_VI_StopSingleViPipe(ViPipe); + if (ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_VI_StopViPipe is fail\n"); + return ret; + } + } + } + + return CVI_SUCCESS; +} + +static CVI_S32 SAMPLE_COMM_VI_DestroySingleVi(SAMPLE_VI_INFO_S *pstViInfo) +{ + SAMPLE_COMM_VI_StopViChn(pstViInfo); + + SAMPLE_COMM_VI_StopViPipe(pstViInfo); + + SAMPLE_COMM_VI_StopDev(pstViInfo); + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_DestroyVi(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + CVI_S32 s32ViNum; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + if (!pstViConfig) { + CVI_TRACE_LOG(CVI_DBG_ERR, "null ptr\n"); + return CVI_FAILURE; + } + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + s32ViNum = pstViConfig->as32WorkingViId[i]; + pstViInfo = &pstViConfig->astViInfo[s32ViNum]; + + SAMPLE_COMM_VI_DestroySingleVi(pstViInfo); + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_OPEN(CVI_VOID) +{ + CVI_S32 s32ret = CVI_SUCCESS; + + s32ret = CVI_SYS_VI_Open(); + if (s32ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "VI reopen err\n"); + } + + return s32ret; +} + +CVI_S32 SAMPLE_COMM_VI_CLOSE(CVI_VOID) +{ + CVI_S32 s32ret = CVI_SUCCESS; + + s32ret = CVI_SYS_VI_Close(); + if (s32ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "VI close err\n"); + } + + return s32ret; +} +#endif + +int sample_snsr_test(void) +{ + SAMPLE_SNS_TYPE_E enSnsType = SONY_IMX327_MIPI_2M_30FPS_12BIT; + WDR_MODE_E enWDRMode = WDR_MODE_NONE; + SAMPLE_VI_CONFIG_S stViConfig; + CVI_S32 s32WorkSnsId = 0; + VI_DEV ViDev = 0; + VI_PIPE ViPipe = 0; + CVI_S32 s32Ret = CVI_SUCCESS; + const ISP_SNS_OBJ_S *pstSnsObj; + ISP_SENSOR_EXP_FUNC_S stSensorExpFunc; + uint64_t bayer_w_addr[3] = {0x121000000, 0x122000000, 0x123000000}; + CVI_U16 snsr_w = 1948, snsr_h = 1097; + + /************************************************ + * step1: Config VI + ************************************************/ + SAMPLE_COMM_VI_GetSensorInfo(&stViConfig); + + stViConfig.astViInfo[s32WorkSnsId].stSnsInfo.enSnsType = enSnsType; + stViConfig.s32WorkingViNum = 1; + stViConfig.as32WorkingViId[0] = 0; + stViConfig.astViInfo[s32WorkSnsId].stSnsInfo.MipiDev = 0xFF; + stViConfig.astViInfo[s32WorkSnsId].stSnsInfo.s32BusId = 3; + stViConfig.astViInfo[s32WorkSnsId].stDevInfo.ViDev = ViDev; + stViConfig.astViInfo[s32WorkSnsId].stDevInfo.enWDRMode = enWDRMode; + //stViConfig.astViInfo[s32WorkSnsId].stPipeInfo.enMastPipeMode = enMastPipeMode; + stViConfig.astViInfo[s32WorkSnsId].stPipeInfo.aPipe[0] = ViPipe; + stViConfig.astViInfo[s32WorkSnsId].stPipeInfo.aPipe[1] = -1; + stViConfig.astViInfo[s32WorkSnsId].stPipeInfo.aPipe[2] = -1; + stViConfig.astViInfo[s32WorkSnsId].stPipeInfo.aPipe[3] = -1; + //stViConfig.astViInfo[s32WorkSnsId].stChnInfo.ViChn = ViChn; + //stViConfig.astViInfo[s32WorkSnsId].stChnInfo.enPixFormat = enPixFormat; + //stViConfig.astViInfo[s32WorkSnsId].stChnInfo.enDynamicRange = enDynamicRange; + //stViConfig.astViInfo[s32WorkSnsId].stChnInfo.enVideoFormat = enVideoFormat; + //stViConfig.astViInfo[s32WorkSnsId].stChnInfo.enCompressMode = enCompressMode; + + /* Skip other flow.....*/ + + /* clock enable */ + vip_clk_en(); + /* VIP reset */ + vip_isp_clk_reset(); + + /************************************************ + * step4: Init VI ISP + ************************************************/ + s32Ret = SAMPLE_COMM_VI_StartSensor(&stViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "system start sensor failed with %#x\n", s32Ret); + printf("start snsr fail\n"); + return s32Ret; + } + //s32Ret = SAMPLE_COMM_VI_StartDev(&stViConfig.astViInfo[ViDev]); + //if (s32Ret != CVI_SUCCESS) { + // CVI_TRACE_LOG(CVI_DBG_ERR, "VI_StartDev failed with %#x!\n", s32Ret); + // return s32Ret; + //} + s32Ret = SAMPLE_COMM_VI_StartMIPI(&stViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "system start MIPI failed with %#x\n", s32Ret); + printf("start mipi fail\n"); + return s32Ret; + } + /************************************************ + * start sensor + ************************************************/ + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(0); + if (!pstSnsObj) { + printf("no sensor obj\n"); + return CVI_FAILURE; + } + pstSnsObj->pfnExpSensorCb(&stSensorExpFunc); + stSensorExpFunc.pfn_cmos_sensor_init(0); + /************************************************ + * [Hack] configure isp, check result by CVD.... + ************************************************/ + + /* configure preraw out mode */ + mmio_clrsetbits_32(0x0a000000, 0x03, 1); + /* configure isptop */ + mmio_write_32(0x0a070000, 0xffffffff); + mmio_setbits_32(0x0a070004, 0x1049); + mmio_setbits_32(0x0a07000C, 0x9); + mmio_clrbits_32(0x0a070010, 0x0c); + mmio_write_32(0x0a070014, (snsr_w - 1) | ((snsr_h - 1) << 16)); + /* configure csibdg */ + mmio_setbits_32(0x0a001000, (1 << 13)); + mmio_clrbits_32(0x0a001000, 0x4); + mmio_clrbits_32(0x0a001000, 0x30); + mmio_setbits_32(0x0a001000, 0x40); + mmio_setbits_32(0x0a001000, 0x40); + mmio_write_32(0x0a001004, (snsr_w - 1) | ((snsr_h - 1) << 16)); + mmio_clrsetbits_32(0x0a001000, 0x3, 1); + /* configure wdma */ + mmio_write_32(0x0a001124, (snsr_w - 1) | ((snsr_h - 1) << 16)); + mmio_write_32(0x0a001108, snsr_w * 3 / 2); + mmio_clrsetbits_32(0x0a001128, 0xFFFF, (snsr_w * 3 / 2 + 0x1F) & ~0x1F); + mmio_clrsetbits_32(0x0a001128, 0x70000, 3 << 16); + mmio_write_32(0x0a001100, bayer_w_addr[0] & 0xFFFFFFFF); + mmio_write_32(0x0a001104, bayer_w_addr[0] >> 32); + /* configure isp enable */ + mmio_setbits_32(0x0a001008, (1 << 0)); + mmio_setbits_32(0x0a070008, 0x28); + mmio_setbits_32(0x0a001000, (1 << 24)); + + return CVI_SUCCESS; +} + diff --git a/freertos/cvitek/task/isp/src/riscv64/isp_main.c b/freertos/cvitek/task/isp/src/riscv64/isp_main.c new file mode 100644 index 000000000..bc74a0e16 --- /dev/null +++ b/freertos/cvitek/task/isp/src/riscv64/isp_main.c @@ -0,0 +1,222 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "timers.h" +#include "arch_helpers.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "fast_image.h" +#include "comm.h" + +#include "rtos_isp_cmd.h" +#include "vi_uapi.h" +#include "vi_tun_cfg.h" +#include "isp_mgr_buf.h" +#include "rtos_isp_mgr.h" + +static QueueHandle_t gISPQueHandle; +static QueueHandle_t gQueueISPCmdqu; +extern struct transfer_config_t transfer_config; + +extern void AE_RtosBufInit(CVI_U8 sID); +extern void AWB_RtosBufInit(CVI_U8 sID); + +#include "sample_comm.h" +//static CVI_VOID isp_init(); + +CVI_VOID *g_pIspShardBuffer; + +static void runIspInitCmd(cmdqu_t *rtos_cmdq) +{ + g_pIspShardBuffer = ISP_PTR_CAST_VOID(rtos_cmdq->param_ptr); + struct rtos_isp_cmd_event *ev = (struct rtos_isp_cmd_event *) + ISP_PTR_CAST_VOID(rtos_cmdq->param_ptr); + + inv_dcache_range(rtos_cmdq->param_ptr, sizeof(struct rtos_isp_cmd_event)); + + isp_mgr_buf_init(ev->ViPipe); + + isp_mgr_buf_invalid_cache(ev->ViPipe); + + isp_tun_buf_ctrl_init(ev->ViPipe); + + isp_feature_ctrl_init(ev->ViPipe); + + AE_RtosBufInit(ev->ViPipe); + AWB_RtosBufInit(ev->ViPipe); + + isp_mgr_buf_flush_cache(ev->ViPipe); +} + +static void runIspEventCmd(cmdqu_t *rtos_cmdq) +{ + struct rtos_isp_cmd_event *ev = (struct rtos_isp_cmd_event *) + ISP_PTR_CAST_VOID(rtos_cmdq->param_ptr); + + isp_mgr_buf_invalid_cache(ev->ViPipe); + + switch (rtos_cmdq->cmd_id) { + case RTOS_ISP_CMD_PRE_SOF: + rtos_isp_mgr_pre_sof(ev->ViPipe, ev->frame_idx); + break; + case RTOS_ISP_CMD_PRE_EOF: + rtos_isp_mgr_pre_eof(ev->ViPipe, ev->frame_idx); + break; + case RTOS_ISP_CMD_POST_EOF: + rtos_isp_mgr_post_eof(ev->ViPipe, ev->frame_idx); + break; + default: + break; + } + + ev->is_slave_done = CVI_TRUE; + + isp_mgr_buf_flush_cache(ev->ViPipe); +} + +static void runIspDeinitCmd(cmdqu_t *rtos_cmdq) +{ + struct rtos_isp_cmd_event *ev = (struct rtos_isp_cmd_event *) + ISP_PTR_CAST_VOID(rtos_cmdq->param_ptr); + + inv_dcache_range(rtos_cmdq->param_ptr, sizeof(struct rtos_isp_cmd_event)); + + isp_feature_ctrl_uninit(ev->ViPipe); + + isp_tun_buf_ctrl_uninit(ev->ViPipe); + + isp_mgr_buf_uninit(ev->ViPipe); +} + +void prvISPRunTask(void *pvParameters) +{ + cmdqu_t rtos_cmdq; + //struct transfer_config_t *p_transfer_config; + + printf("prvISPRunTask run\n"); + gISPQueHandle = main_GetMODHandle(E_QUEUE_ISP); + gQueueISPCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + + /* get isp buffer information */ + printf("isp buffer addr = %x\n", transfer_config.isp_buffer_addr); + printf("isp buffer size = %x\n", transfer_config.isp_buffer_size); + + // isp_init(); + + for (;;) { + xQueueReceive(gISPQueHandle, &rtos_cmdq, portMAX_DELAY); + //TODO: wait cv181x command queue and add action for command + //printf("prvIspRunTask ip=%d cmd=%d para=%lx\n", + // rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + + CVI_BOOL need_ack = CVI_TRUE; + + switch (rtos_cmdq.cmd_id) { +#ifdef FAST_IMAGE_ENABLE + // cmd from isp drv + case ISP_CMDQ_RECV_EV: + { + struct vi_event ev; + + ev = *((struct vi_event *)rtos_cmdq.param_ptr); + printf("dev(%d) fidx(%d) sidx(%d)\n", ev.dev_id, ev.frame_sequence, ev.stt_idx); + + switch(ev.type) { + case VI_EVENT_PRE0_SOF: + rtos_isp_mgr_pre_sof(0, ev.frame_sequence); + rtos_isp_mgr_pre_fe_sof(0, ev.frame_sequence); + rtos_isp_mgr_pre_be_sof(0, ev.frame_sequence); + break; + case VI_EVENT_PRE1_SOF: + rtos_isp_mgr_pre_sof(1, ev.frame_sequence); + rtos_isp_mgr_pre_fe_sof(1, ev.frame_sequence); + rtos_isp_mgr_pre_be_sof(1, ev.frame_sequence); + break; + case VI_EVENT_PRE0_EOF: + rtos_isp_mgr_pre_eof(0, ev.frame_sequence); + rtos_isp_mgr_pre_fe_eof(0, ev.frame_sequence); + rtos_isp_mgr_pre_be_eof(0, ev.frame_sequence); + break; + case VI_EVENT_PRE1_EOF: + rtos_isp_mgr_pre_eof(1, ev.frame_sequence); + rtos_isp_mgr_pre_fe_eof(1, ev.frame_sequence); + rtos_isp_mgr_pre_be_eof(1, ev.frame_sequence); + break; + case VI_EVENT_POST_EOF: + isp_sts_ctrl_set_post_idx(0, ev.stt_idx); + rtos_isp_mgr_post_eof(0, ev.frame_sequence); + break; + case VI_EVENT_POST1_EOF: + isp_sts_ctrl_set_post_idx(1, ev.stt_idx); + rtos_isp_mgr_post_eof(1, ev.frame_sequence); + break; + } + need_ack = CVI_FALSE; + } + break; + case ISP_CMDQ_GET_STS_MEM: + { + //struct cvi_isp_sts_mem *sts_mem; + + //sts_mem = ((struct cvi_isp_sts_mem *)rtos_cmdq.param_ptr); + //isp_sts_ctrl_set_mem(sts_mem->raw_num, sts_mem); + need_ack = CVI_FALSE; + } + break; + case ISP_CMDQ_GET_TUNING_NODE_MEM: + //isp_tun_buf_ctrl_set_buf(0, (struct isp_tuning_cfg *)rtos_cmdq.param_ptr); + //isp_tun_buf_ctrl_set_buf(1, (struct isp_tuning_cfg *)rtos_cmdq.param_ptr); + need_ack = CVI_FALSE; + break; +#endif +/*---------------------------------------------------------------------------------------------------*/ + case RTOS_ISP_CMD_INIT: + runIspInitCmd(&rtos_cmdq); + break; + case RTOS_ISP_CMD_PRE_SOF: + case RTOS_ISP_CMD_PRE_EOF: + case RTOS_ISP_CMD_POST_EOF: + runIspEventCmd(&rtos_cmdq); + break; + case RTOS_ISP_CMD_POST_DONE_SYNC: + break; + case RTOS_ISP_CMD_DEINIT: + runIspDeinitCmd(&rtos_cmdq); + break; + default: + printf("[ERROR] isp unknown cmd %d\n", rtos_cmdq.cmd_id); + break; + } + + if (need_ack == CVI_TRUE) { + xQueueSend(gQueueISPCmdqu, &rtos_cmdq, 0U); + } + + rtos_cmdq.ip_id = -1; + } + + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; +} + +// Test code +//static CVI_VOID isp_init() +//{ +// SAMPLE_VI_CONFIG_S pstViConfig; +// +// pstViConfig.s32WorkingViNum = 1; +// pstViConfig.as32WorkingViId[0] = 0; +// pstViConfig.astViInfo[0].stPipeInfo.aPipe[0] = 0; +// pstViConfig.astViInfo[0].stPipeInfo.aPipe[1] = -1; +// pstViConfig.astViInfo[0].stPipeInfo.aPipe[2] = -1; +// pstViConfig.astViInfo[0].stPipeInfo.aPipe[3] = -1; +// pstViConfig.astViInfo[0].stSnsInfo.enSnsType = SONY_IMX307_MIPI_2M_30FPS_12BIT; +// +// SAMPLE_COMM_VI_CreateIsp(&pstViConfig); +//} diff --git a/freertos/cvitek/task/isp/src/riscv64/sample_common_isp.c b/freertos/cvitek/task/isp/src/riscv64/sample_common_isp.c new file mode 100644 index 000000000..955e7f31a --- /dev/null +++ b/freertos/cvitek/task/isp/src/riscv64/sample_common_isp.c @@ -0,0 +1,693 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: sample/common/sample_common_isp.c + * Description: + * Common ctrl code for isp. + */ + +// #include <stdint.h> +// #include <string.h> +// #include <stdio.h> +// #include <stdlib.h> +// #include <errno.h> +// #include <unistd.h> +// #include <sys/prctl.h> +// #include <sys/time.h> +#include <cvi_type.h> +#include <cvi_defines.h> +#include <cvi_comm_video.h> +#include "sample_comm.h" + +// #include <linux/cvi_defines.h> +#include "sample_comm.h" +#include "cvi_awb.h" +#include "cvi_af.h" + +#include "cvi_sns_ctrl.h" +#include "cvi_ae.h" +// #include "cvi_isp.h" +// #include "cvi_misc.h" + +#include "cvi_defines.h" + +// #ifdef SUPPORT_ISP_PQTOOL +// #include <dlfcn.h> +// static CVI_BOOL g_ISPDaemon = CVI_FALSE; +// static void *g_ISPDHandle; +// #define ISPD_LIBNAME "libcvi_ispd.so" +// #define ISPD_CONNECT_PORT 5566 +// #endif // + +// static pthread_t g_IspPid[VI_MAX_DEV_NUM]; +static CVI_U32 g_au32IspSnsId[ISP_MAX_DEV_NUM] = { 0, 1 }; + +SAMPLE_SNS_TYPE_E g_enSnsType[VI_MAX_DEV_NUM] = { + SONY_IMX327_MIPI_1M_30FPS_10BIT, + SONY_IMX327_MIPI_2M_30FPS_12BIT, + SONY_IMX290_MIPI_1M_30FPS_12BIT, +}; + +static ISP_INIT_ATTR_S gstInitAttr[ISP_MAX_DEV_NUM]; + +ISP_PUB_ATTR_S ISP_PUB_ATTR_SAMPLE = { { 0, 0, 1920, 1080 }, { 1920, 1080 }, 30, BAYER_RGGB, WDR_MODE_NONE, 0}; + +#if 0 +void callback_FPS(int fps) +{ + static CVI_FLOAT uMaxFPS[VI_MAX_DEV_NUM] = {0}; + int i; + + for (i = 0; i < VI_MAX_DEV_NUM && g_IspPid[i]; i++) { + ISP_PUB_ATTR_S pubAttr = {0}; + + CVI_ISP_GetPubAttr(i, &pubAttr); + if (uMaxFPS[i] == 0) { + uMaxFPS[i] = pubAttr.f32FrameRate; + } + if (fps == 0) { + pubAttr.f32FrameRate = uMaxFPS[i]; + } else { + pubAttr.f32FrameRate = (CVI_FLOAT) fps; + } + CVI_ISP_SetPubAttr(i, &pubAttr); + } +} + +static CVI_VOID *SAMPLE_COMM_ISP_Thread(void *arg) +{ + CVI_S32 s32Ret = 0; + CVI_U8 IspDev = *(CVI_U8 *)arg; + // char szThreadName[20]; + + vPortFree(arg); + // snprintf(szThreadName, sizeof(szThreadName), "ISP%d_RUN", IspDev); + // prctl(PR_SET_NAME, szThreadName, 0, 0, 0); + + if (IspDev > 0) { + printf("ISP Dev %d return\n", IspDev); + return CVI_NULL; + } + + // CVI_MISC_RegisterThermalCallback(callback_FPS); + + printf("ISP Dev %d running!\n", IspDev); + s32Ret = CVI_ISP_Run(IspDev); + if (s32Ret != 0) + printf("CVI_ISP_Run failed with %#x!\n", s32Ret); + + return CVI_NULL; +} + +CVI_S32 SAMPLE_COMM_ISP_Run(CVI_U8 IspDev) +{ + #if 0 + printf("%s\n", __func__); + CVI_S32 s32Ret = 0; + CVI_U8 *arg = malloc(sizeof(*arg)); + struct sched_param param; + pthread_attr_t attr; + + if (arg == NULL) { + CVI_TRACE_LOG(CVI_DBG_ERR, "malloc failed\n"); + goto out; + } + + *arg = IspDev; + param.sched_priority = 80; + + pthread_attr_init(&attr); + pthread_attr_setschedpolicy(&attr, SCHED_RR); + pthread_attr_setschedparam(&attr, ¶m); + pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED); + s32Ret = pthread_create(&g_IspPid[IspDev], &attr, SAMPLE_COMM_ISP_Thread, arg); + if (s32Ret != 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "create isp running thread failed!, error: %d, %s\r\n", + s32Ret, strerror(s32Ret)); + goto out; + } + +#ifdef SUPPORT_ISP_PQTOOL + if (!g_ISPDaemon) { + g_ISPDHandle = dlopen(ISPD_LIBNAME, RTLD_NOW); + + if (g_ISPDHandle) { + char *error = NULL; + void (*daemon_init)(unsigned int port); + + printf("Load dynamic library %s success\n", ISPD_LIBNAME); + + dlerror(); + daemon_init = dlsym(g_ISPDHandle, "isp_daemon_init"); + error = dlerror(); + if (error == NULL) { + (*daemon_init)(ISPD_CONNECT_PORT); + g_ISPDaemon = CVI_TRUE; + } else { + printf("Run daemon initial fail\n"); + dlclose(g_ISPDHandle); + } + } else { + printf("Load dynamic library %s fail\n", ISPD_LIBNAME); + } + } +#endif // + +out: + + return s32Ret; + #else + printf("%s\n", __func__); + CVI_S32 s32Ret = 0; + CVI_U8 *arg = pvPortMalloc(sizeof(*arg)); + + if (arg == CVI_NULL) { + printf("malloc failed\n"); + goto out; + } + *arg = IspDev; + SAMPLE_COMM_ISP_Thread(arg); + +out: + return s32Ret; + + #endif +} +#endif + +CVI_S32 SAMPLE_COMM_ISP_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATTR_S *pstPubAttr) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + PIC_SIZE_E enPicSize; + SIZE_S stSize; + + memcpy(pstPubAttr, &ISP_PUB_ATTR_SAMPLE, sizeof(ISP_PUB_ATTR_S)); + + SAMPLE_COMM_VI_GetSizeBySensor(enSnsType, &enPicSize); + SAMPLE_COMM_SYS_GetPicSize(enPicSize, &stSize); + + pstPubAttr->stSnsSize.u32Width = stSize.u32Width; + pstPubAttr->stSnsSize.u32Height = stSize.u32Height; + pstPubAttr->stWndRect.u32Width = stSize.u32Width; + pstPubAttr->stWndRect.u32Height = stSize.u32Height; + + // WDR mode + if (enSnsType >= SAMPLE_SNS_TYPE_LINEAR_BUTT) + pstPubAttr->enWDRMode = WDR_MODE_2To1_LINE; + + // FPS + switch (enSnsType) { + case SMS_SC035HGS_MIPI_480P_120FPS_12BIT: + case SMS_SC035GS_MIPI_480P_120FPS_12BIT: + pstPubAttr->f32FrameRate = 120; + break; + case SONY_IMX327_MIPI_2M_60FPS_12BIT: + case SONY_IMX307_MIPI_2M_60FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_60FPS_12BIT: + case SONY_IMX335_MIPI_5M_60FPS_10BIT: + case SONY_IMX335_MIPI_4M_60FPS_10BIT: + case SONY_IMX335_MIPI_2M_60FPS_10BIT: + case SONY_IMX347_MIPI_4M_60FPS_12BIT: + pstPubAttr->f32FrameRate = 60; + break; + case SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1: + case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT: + case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT: + pstPubAttr->f32FrameRate = 30; + break; + default: + pstPubAttr->f32FrameRate = 25; + break; + } + + switch (enSnsType) { + // Sony + case SONY_IMX327_MIPI_1M_30FPS_10BIT: + case SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1: + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_60FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_60FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_60FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_60FPS_10BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_60FPS_10BIT: + case SONY_IMX335_2L_MIPI_4M_30FPS_10BIT: + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_2M_60FPS_10BIT: + case SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX385_MIPI_2M_30FPS_12BIT: + case SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX347_MIPI_4M_60FPS_12BIT: + case SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1: + // GalaxyCore + case GCORE_GC2053_MIPI_2M_30FPS_10BIT: + case GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC1054_MIPI_1M_30FPS_10BIT: + pstPubAttr->enBayer = BAYER_RGGB; + break; + case GCORE_GC4653_MIPI_4M_30FPS_10BIT: + case GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT: + case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT: + case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT: + pstPubAttr->enBayer = BAYER_GRBG; + break; +#ifdef ARCH_CV182X + case SOI_F23_MIPI_2M_30FPS_10BIT: + pstPubAttr->enBayer = BAYER_BGRGI; + break; +#endif + default: + pstPubAttr->enBayer = BAYER_BGGR; + break; + }; + + return s32Ret; +} + +/****************************************************************************** + * funciton : stop ISP, and stop isp thread + ******************************************************************************/ +// CVI_VOID SAMPLE_COMM_ISP_Stop(CVI_U8 IspDev) +// { +// CVI_S32 s32Ret = CVI_FAILURE; +// #ifdef SUPPORT_ISP_PQTOOL +// if (g_ISPDaemon) { +// char *error = NULL; +// void (*daemon_uninit)(void); + +// daemon_uninit = dlsym(g_ISPDHandle, "isp_daemon_uninit"); +// error = dlerror(); +// if (error == NULL) +// (*daemon_uninit)(); + +// dlclose(g_ISPDHandle); +// g_ISPDHandle = NULL; +// g_ISPDaemon = CVI_FALSE; +// } +// #endif // + +// if (g_IspPid[IspDev]) { +// s32Ret = CVI_ISP_Exit(IspDev); +// if (s32Ret != CVI_SUCCESS) { +// SAMPLE_PRT("CVI_ISP_Exit fail with %#x!\n", s32Ret); +// return; +// } +// pthread_join(g_IspPid[IspDev], NULL); +// g_IspPid[IspDev] = 0; +// SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(IspDev); +// SAMPLE_COMM_ISP_Aelib_UnCallback(IspDev); +// SAMPLE_COMM_ISP_Awblib_UnCallback(IspDev); +// #if ENABLE_AF_LIB +// SAMPLE_COMM_ISP_Aflib_UnCallback(IspDev); +// #endif +// } +// } + +// CVI_VOID SAMPLE_COMM_All_ISP_Stop(CVI_VOID) +// { +// for (ISP_DEV IspDev = 0; IspDev < VI_MAX_DEV_NUM; IspDev++) +// SAMPLE_COMM_ISP_Stop(IspDev); +// } + +CVI_S32 SAMPLE_COMM_ISP_Awblib_Callback(ISP_DEV IspDev) +{ + ALG_LIB_S stAwbLib; + CVI_S32 s32Ret = 0; + + stAwbLib.s32Id = IspDev; + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + s32Ret = CVI_AWB_Register(IspDev, &stAwbLib); + if (s32Ret != CVI_SUCCESS) { + printf("AWB Algo register failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Awblib_UnCallback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAwbLib; + + stAwbLib.s32Id = IspDev; + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + s32Ret = CVI_AWB_UnRegister(IspDev, &stAwbLib); + if (s32Ret) { + printf("AWB Algo unRegister failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Aelib_Callback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAeLib; + + stAeLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + s32Ret = CVI_AE_Register(IspDev, &stAeLib); + if (s32Ret != CVI_SUCCESS) { + printf("AE Algo register failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Aelib_UnCallback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAeLib; + + stAeLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + s32Ret = CVI_AE_UnRegister(IspDev, &stAeLib); + if (s32Ret) { + printf("AE Algo unRegister failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} +#if 0 +CVI_S32 SAMPLE_COMM_ISP_Aflib_Callback(ISP_DEV IspDev) +{ + ALG_LIB_S stAfLib; + CVI_S32 s32Ret = 0; + + stAfLib.s32Id = IspDev; + strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + s32Ret = CVI_AF_Register(IspDev, &stAfLib); + + if (s32Ret != CVI_SUCCESS) { + printf("AF Algo register failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Aflib_UnCallback(ISP_DEV IspDev) +{ + CVI_S32 s32Ret = 0; + ALG_LIB_S stAfLib; + + stAfLib.s32Id = IspDev; + strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + s32Ret = CVI_AF_UnRegister(IspDev, &stAfLib); + if (s32Ret) { + printf("AF Algo unRegister failed!, error: %d\n", s32Ret); + return s32Ret; + } + return CVI_SUCCESS; +} +#endif + +CVI_S32 SAMPLE_COMM_ISP_SetSnsObj(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType) +{ + if (u32SnsId >= ARRAY_SIZE(g_enSnsType)) + return CVI_FAILURE; + + g_enSnsType[u32SnsId] = enSnsType; + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_SetSnsInit(CVI_U32 u32SnsId, CVI_U8 u8HwSync) +{ + if (u32SnsId >= ARRAY_SIZE(g_enSnsType)) + return CVI_FAILURE; + + gstInitAttr[u32SnsId].u16UseHwSync = u8HwSync; + + return CVI_SUCCESS; +} + +CVI_VOID *CVI_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType); + +CVI_VOID *SAMPLE_COMM_ISP_GetSnsObj(uint32_t u32SnsId) +{ + SAMPLE_SNS_TYPE_E enSnsType; + + enSnsType = g_enSnsType[u32SnsId]; + return CVI_GetSnsObj(enSnsType); +} + +CVI_S32 SAMPLE_COMM_ISP_PatchSnsObj(CVI_U32 u32SnsId, SAMPLE_SENSOR_INFO_S *pstSnsInfo) +{ + ISP_SNS_OBJ_S *pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + RX_INIT_ATTR_S stRxInitAttr; + unsigned int i; + + if (pstSnsObj == CVI_NULL) { + return CVI_FAILURE; + } + + memset(&stRxInitAttr, 0, sizeof(RX_INIT_ATTR_S)); + + stRxInitAttr.MipiDev = pstSnsInfo->MipiDev; + if (pstSnsInfo->stMclkAttr.bMclkEn) { + stRxInitAttr.stMclkAttr.bMclkEn = CVI_TRUE; + stRxInitAttr.stMclkAttr.u8Mclk = pstSnsInfo->stMclkAttr.u8Mclk; + } + + for (i = 0; i < sizeof(stRxInitAttr.as16LaneId)/sizeof(CVI_S16); i++) { + stRxInitAttr.as16LaneId[i] = pstSnsInfo->as16LaneId[i]; + } + for (i = 0; i < sizeof(stRxInitAttr.as8PNSwap)/sizeof(CVI_S8); i++) { + stRxInitAttr.as8PNSwap[i] = pstSnsInfo->as8PNSwap[i]; + } + + return (pstSnsObj->pfnPatchRxAttr) ? pstSnsObj->pfnPatchRxAttr(&stRxInitAttr) : CVI_SUCCESS; +} + +// #if 0 +// CVI_S32 SAMPLE_COMM_ISP_GetRxAttr(SAMPLE_VI_CONFIG_S *pstViConfig) +// { +// CVI_S32 s32Ret, i; +// ISP_SENSOR_EXP_FUNC_S stSnsrSensorFunc; +// SNS_COMBO_DEV_ATTR_S stDevAttr; +// const ISP_SNS_OBJ_S *pstSnsObj; + +// for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { +// pstViInfo = &pstViConfig->astViInfo[i]; +// ViPipe = pstViInfo->stPipeInfo.aPipe[i]; +// u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + +// pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); +// pstSnsObj.pfnGetRxAttr(ViPipe, &stDevAttr); +// } +// } +// #endif + +CVI_S32 SAMPLE_COMM_ISP_SetSensorMode(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = CVI_SUCCESS, i; + CVI_U32 u32SnsId; + VI_PIPE ViPipe; + WDR_MODE_E wdrMode; + ISP_PUB_ATTR_S stPubAttr; + ISP_SENSOR_EXP_FUNC_S stSnsrSensorFunc; + ISP_CMOS_SENSOR_IMAGE_MODE_S stSnsrMode; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + const ISP_SNS_OBJ_S *pstSnsObj; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + wdrMode = pstViInfo->stDevInfo.enWDRMode; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + if (SAMPLE_COMM_ISP_GetIspAttrBySns(pstViInfo->stSnsInfo.enSnsType, &stPubAttr) != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "Can't get sns attr!\n"); + return s32Ret; + } + stSnsrMode.u16Width = stPubAttr.stSnsSize.u32Width; + stSnsrMode.u16Height = stPubAttr.stSnsSize.u32Height; + stSnsrMode.f32Fps = stPubAttr.f32FrameRate; + + pstSnsObj->pfnExpSensorCb(&stSnsrSensorFunc); + s32Ret = stSnsrSensorFunc.pfn_cmos_set_image_mode(ViPipe, &stSnsrMode); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor set image mode failed! \ + stSnsrMode.u16Width %d stSnsrMode.u16Height %d %f wdrMode %d pstSnsObj %p\n", + stSnsrMode.u16Width, stSnsrMode.u16Height, stSnsrMode.f32Fps, wdrMode, pstSnsObj); + return s32Ret; + } + + s32Ret = stSnsrSensorFunc.pfn_cmos_set_wdr_mode(ViPipe, wdrMode); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor set wdr mode failed!\n"); + return s32Ret; + } + } + return s32Ret; +} + +static SNS_BDG_MUX_MODE_E SAMPLE_COMM_ISP_GetSnsBdgMode(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType) +{ + VI_DEV_ATTR_S stViDevAttr; + SNS_BDG_MUX_MODE_E MuxMode; + + SAMPLE_COMM_VI_GetDevAttrBySns(u32SnsId, enSnsType, &stViDevAttr); + switch (stViDevAttr.enWorkMode) { + case VI_WORK_MODE_1Multiplex: + MuxMode = SNS_BDG_MUX_NONE; + break; + case VI_WORK_MODE_2Multiplex: + MuxMode = SNS_BDG_MUX_2; + break; + case VI_WORK_MODE_3Multiplex: + MuxMode = SNS_BDG_MUX_3; + break; + case VI_WORK_MODE_4Multiplex: + MuxMode = SNS_BDG_MUX_4; + break; + default: + MuxMode = SNS_BDG_MUX_NONE; + break; + } + + return MuxMode; +} + +CVI_S32 SAMPLE_COMM_ISP_Sensor_Regiter_callback(ISP_DEV IspDev, CVI_U32 u32SnsId, CVI_S32 s32BusId, + CVI_S32 s32I2cAddr) +{ + CVI_S32 s32Ret = -1; + SAMPLE_SNS_TYPE_E enSnsType = g_enSnsType[u32SnsId]; + ALG_LIB_S stAeLib; + ALG_LIB_S stAwbLib; + const ISP_SNS_OBJ_S *pstSnsObj; + ISP_INIT_ATTR_S *pstInitAttr = &gstInitAttr[u32SnsId]; + ISP_SNS_COMMBUS_U unSnsrBusInfo = { + .s8I2cDev = 3, + }; + + #define SNSBUS_VLD(x) (x >= 0) + + if (u32SnsId > VI_MAX_DEV_NUM) { + CVI_TRACE_LOG(CVI_DBG_ERR, "invalid sensor id: %d\n", u32SnsId); + return CVI_FAILURE; + } + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + if (pstSnsObj == CVI_NULL) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d not exist!\n", u32SnsId); + return CVI_FAILURE; + } + + pstInitAttr->enGainMode = SNS_GAIN_MODE_SHARE;//SNS_GAIN_MODE_WDR_2F + if ((enSnsType == SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1) || + (enSnsType == SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1) || + (enSnsType == OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1)) { + pstInitAttr->enL2SMode = SNS_L2S_MODE_FIX; + } + pstInitAttr->enSnsBdgMuxMode = SAMPLE_COMM_ISP_GetSnsBdgMode(u32SnsId, enSnsType); + s32Ret = pstSnsObj->pfnSetInit(u32SnsId, pstInitAttr); + if (s32Ret < 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "pfnSetInit error id: %d s32Ret %d\n", IspDev, s32Ret); + return CVI_FAILURE; + } + /* set i2c bus info */ + if (SNSBUS_VLD(s32BusId)) + unSnsrBusInfo.s8I2cDev = (CVI_S8)s32BusId; + s32Ret = pstSnsObj->pfnSetBusInfo(u32SnsId, unSnsrBusInfo); + if (s32Ret < 0) { + CVI_TRACE_LOG(CVI_DBG_ERR, "pfnSetBusInfo error id: %d s32Ret %d\n", IspDev, s32Ret); + return CVI_FAILURE; + } + if (pstSnsObj->pfnPatchI2cAddr) + pstSnsObj->pfnPatchI2cAddr(s32I2cAddr); + + stAeLib.s32Id = IspDev; + stAwbLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + // strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + + if (pstSnsObj->pfnRegisterCallback != CVI_NULL) { + s32Ret = pstSnsObj->pfnRegisterCallback(IspDev, &stAeLib, &stAwbLib); + + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor_register_callback failed with %#x!\n", s32Ret); + return s32Ret; + } + } else { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor_register_callback failed with CVI_NULL!\n"); + return CVI_FAILURE; + } + + g_au32IspSnsId[IspDev] = u32SnsId; + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_ISP_Sensor_UnRegiter_callback(ISP_DEV IspDev) +{ + ALG_LIB_S stAeLib; + ALG_LIB_S stAwbLib; + CVI_U32 u32SnsId; + const ISP_SNS_OBJ_S *pstSnsObj; + CVI_S32 s32Ret = -1; + + u32SnsId = g_au32IspSnsId[IspDev]; + + if (u32SnsId > VI_MAX_DEV_NUM) { + SAMPLE_PRT("%s: invalid sensor id: %d\n", __func__, u32SnsId); + return CVI_FAILURE; + } + + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + + if (pstSnsObj == CVI_NULL) { + return CVI_FAILURE; + } + + stAeLib.s32Id = IspDev; + stAwbLib.s32Id = IspDev; + strncpy(stAeLib.acLibName, CVI_AE_LIB_NAME, sizeof(CVI_AE_LIB_NAME)); + strncpy(stAwbLib.acLibName, CVI_AWB_LIB_NAME, sizeof(CVI_AWB_LIB_NAME)); + // strncpy(stAfLib.acLibName, CVI_AF_LIB_NAME, sizeof(CVI_AF_LIB_NAME)); + + if (pstSnsObj->pfnUnRegisterCallback != CVI_NULL) { + s32Ret = pstSnsObj->pfnUnRegisterCallback(IspDev, &stAeLib, &stAwbLib); + + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("sensor_unregister_callback failed with %#x!\n", s32Ret); + return s32Ret; + } + } else { + SAMPLE_PRT("sensor_unregister_callback failed with CVI_NULL!\n"); + } + + return CVI_SUCCESS; +} diff --git a/freertos/cvitek/task/isp/src/riscv64/sample_common_vi.c b/freertos/cvitek/task/isp/src/riscv64/sample_common_vi.c new file mode 100644 index 000000000..c02964ae9 --- /dev/null +++ b/freertos/cvitek/task/isp/src/riscv64/sample_common_vi.c @@ -0,0 +1,1070 @@ +#include <stdio.h> + +#include <cvi_type.h> +#include <cvi_defines.h> +#include "cvi_comm_video.h" + +#include "cvi_awb_comm.h" +#include "cvi_af_comm.h" +#include "cvi_comm_isp.h" +#include "cvi_comm_vi.h" +#include "sample_comm.h" +#include "cvi_sns_ctrl.h" + +#include "cvi_common.h" +#include "cvi_ae_comm.h" + +#include "cvi_mipi.h" + +const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = { + /* ------ LINEAR BEGIN ------*/ + "SONY_IMX290_MIPI_1M_30FPS_12BIT", + "SONY_IMX290_MIPI_2M_60FPS_12BIT", + "SONY_IMX327_MIPI_1M_30FPS_10BIT", + "SONY_IMX327_MIPI_2M_30FPS_12BIT", + "SONY_IMX307_MIPI_2M_30FPS_12BIT", + "SONY_IMX327_2L_MIPI_2M_30FPS_12BIT", + "SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT", + "SONY_IMX307_2L_MIPI_2M_30FPS_12BIT", + "SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT", + "OV_OS08A20_MIPI_8M_30FPS_10BIT", + "OV_OS08A20_MIPI_5M_30FPS_10BIT", + "OV_OS08A20_MIPI_4M_30FPS_10BIT", + "OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT", + "OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT", + "OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT", + "OV_OS04C10_MIPI_4M_30FPS_12BIT", + "OV_OS04C10_SLAVE_MIPI_4M_30FPS_12BIT", + "SOI_F23_MIPI_2M_30FPS_10BIT", + "SOI_F35_MIPI_2M_30FPS_10BIT", + "SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT", + "SOI_H65_MIPI_2M_30FPS_10BIT", + "PICO640_THERMAL_479P", + "PICO384_THERMAL_384X288", + "SONY_IMX327_SUBLVDS_2M_30FPS_12BIT", + "SONY_IMX307_SUBLVDS_2M_30FPS_12BIT", + "VIVO_MCS369Q_4M_30FPS_12BIT", + "VIVO_MM308M2_2M_25FPS_8BIT", + "NEXTCHIP_N5_2M_25FPS_8BIT", + "SMS_SC3335_MIPI_3M_30FPS_10BIT", + "SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT", + "SONY_IMX335_MIPI_5M_30FPS_12BIT", + "SONY_IMX335_MIPI_4M_30FPS_12BIT", + "SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT", + "SONY_IMX335_2L_MIPI_4M_30FPS_10BIT", + "PIXELPLUS_PR2020_1M_25FPS_8BIT", + "SONY_IMX385_MIPI_2M_30FPS_12BIT", + "PIXELPLUS_PR2020_1M_30FPS_8BIT", + "PIXELPLUS_PR2020_2M_25FPS_8BIT", + "PIXELPLUS_PR2020_2M_30FPS_8BIT", + "PIXELPLUS_PR2100_2M_25FPS_8BIT", + "PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT", + "PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT", + "SONY_IMX334_MIPI_8M_30FPS_12BIT", + "SMS_SC8238_MIPI_8M_30FPS_10BIT", + "VIVO_MCS369_2M_30FPS_12BIT", + "SMS_SC4210_MIPI_4M_30FPS_12BIT", + "SMS_SC200AI_MIPI_2M_30FPS_10BIT", + "SMS_SC850SL_MIPI_8M_30FPS_12BIT", + "NEXTCHIP_N6_2M_4CH_25FPS_8BIT", + "NEXTCHIP_N5_1M_2CH_25FPS_8BIT", + "GCORE_GC2053_MIPI_2M_30FPS_10BIT", + "GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT", + "GCORE_GC2093_MIPI_2M_30FPS_10BIT", + "GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT", + "GCORE_GC4653_MIPI_4M_30FPS_10BIT", + "GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT", + "SONY_IMX335_MIPI_5M_60FPS_10BIT", + "SONY_IMX335_MIPI_4M_60FPS_10BIT", + "GCORE_GC1054_MIPI_1M_30FPS_10BIT", + "SONY_IMX327_MIPI_2M_60FPS_12BIT", + "SONY_IMX347_MIPI_4M_60FPS_12BIT", + "SONY_IMX307_SUBLVDS_2M_60FPS_12BIT", + "SONY_IMX307_MIPI_2M_60FPS_12BIT", + "GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT", + "SONY_IMX335_MIPI_2M_60FPS_10BIT", + "SMS_SC035HGS_MIPI_480P_120FPS_12BIT", + "SMS_SC500AI_MIPI_5M_30FPS_10BIT", + "SMS_SC500AI_MIPI_4M_30FPS_10BIT", + "SMS_SC501AI_2L_MIPI_5M_30FPS_10BIT", + "SMS_SC401AI_MIPI_4M_30FPS_10BIT", + "SMS_SC401AI_MIPI_3M_30FPS_10BIT", + "SMS_SC035GS_MIPI_480P_120FPS_12BIT", + "TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT", + "TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT", + /* ------ LINEAR END ------*/ + + /* ------ WDR 2TO1 BEGIN ------*/ + "SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1", + "SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1", + "OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1", + "OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1", + "OV_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1", + "OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT_WDR2TO1", + "OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT_WDR2TO1", + "OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1", + "OV_OS04C10_MIPI_4M_30FPS_10BIT_WDR2TO1", + "OV_OS04C10_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1", + "SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1", + "SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1", + "SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1", + "SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1", + "SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1", + "SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1", + "SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1", + "SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1", + "SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1", + "SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1", + "SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1", + "SMS_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1", + "SMS_SC850SL_MIPI_8M_30FPS_10BIT_WDR2TO1", + "GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1", + "GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1", + "SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1", + /* ------ WDR 2TO1 END ------*/ +}; + +// default is MIPI-CSI Bayer format sensor +VI_DEV_ATTR_S DEV_ATTR_SENSOR_BASE = { + VI_MODE_MIPI, + VI_WORK_MODE_1Multiplex, + VI_SCAN_PROGRESSIVE, + {-1, -1, -1, -1}, + VI_DATA_SEQ_YUYV, + + { + /*port_vsync port_vsync_neg port_hsync port_hsync_neg */ + VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, + VI_VSYNC_VALID_SIGNAL, VI_VSYNC_VALID_NEG_HIGH, + + /*hsync_hfb hsync_act hsync_hhb*/ + {0, 1920, 0, + /*vsync0_vhb vsync0_act vsync0_hhb*/ + 0, 1080, 0, + /*vsync1_vhb vsync1_act vsync1_hhb*/ + 0, 0, 0} + }, + VI_DATA_TYPE_RGB, + {1920, 1080, 0, 0, 1920, 1080}, + { + WDR_MODE_NONE, + 1080 + }, + .enBayerFormat = BAYER_FORMAT_BG, + 1, 30, +}; + +CVI_S32 SAMPLE_COMM_VI_StartIsp(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 s32Ret = 0, i; + VI_PIPE ViPipe = 0; + ISP_PUB_ATTR_S stPubAttr; + ISP_STATISTICS_CFG_S stsCfg = {0}; + ISP_BIND_ATTR_S stBindAttr; + + for (i = 0; i < WDR_MAX_PIPE_NUM; i++) { + if (pstViInfo->stPipeInfo.aPipe[i] >= 0 && + pstViInfo->stPipeInfo.aPipe[i] < VI_MAX_PIPE_NUM) { + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + + SAMPLE_COMM_ISP_Aelib_Callback(ViPipe); + SAMPLE_COMM_ISP_Awblib_Callback(ViPipe); + // #if ENABLE_AF_LIB + // SAMPLE_COMM_ISP_Aflib_Callback(ViPipe); + // #endif + + snprintf(stBindAttr.stAeLib.acLibName, sizeof(CVI_AE_LIB_NAME), "%s", CVI_AE_LIB_NAME); + stBindAttr.stAeLib.s32Id = ViPipe; + stBindAttr.sensorId = 0; + snprintf(stBindAttr.stAwbLib.acLibName, sizeof(CVI_AWB_LIB_NAME), "%s", CVI_AWB_LIB_NAME); + stBindAttr.stAwbLib.s32Id = ViPipe; + #if ENABLE_AF_LIB + snprintf(stBindAttr.stAfLib.acLibName, sizeof(CVI_AF_LIB_NAME), "%s", CVI_AF_LIB_NAME); + stBindAttr.stAfLib.s32Id = ViPipe; + #endif + s32Ret = CVI_ISP_SetBindAttr(ViPipe, &stBindAttr); + if (s32Ret != CVI_SUCCESS) { + printf("Bind Algo failed with %#x!\n", s32Ret); + } + s32Ret = CVI_ISP_MemInit(ViPipe); + if (s32Ret != CVI_SUCCESS) { + printf("Init Ext memory failed with %#x!\n", s32Ret); + return s32Ret; + } + SAMPLE_COMM_ISP_GetIspAttrBySns(pstViInfo->stSnsInfo.enSnsType, &stPubAttr); + s32Ret = CVI_ISP_SetPubAttr(ViPipe, &stPubAttr); + if (s32Ret != CVI_SUCCESS) { + printf("SetPubAttr failed with %#x!\n", s32Ret); + return s32Ret; + } + CVI_ISP_GetStatisticsConfig(0, &stsCfg); + stsCfg.stAECfg.stCrop[0].bEnable = 0; + stsCfg.stAECfg.stCrop[0].u16X = stsCfg.stAECfg.stCrop[0].u16Y = 0; + stsCfg.stAECfg.stCrop[0].u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stAECfg.stCrop[0].u16H = stPubAttr.stWndRect.u32Height; + + #ifdef ARCH_CV183X + stsCfg.stAECfg.stCrop[1].bEnable = 0; + stsCfg.stAECfg.stCrop[1].u16X = stsCfg.stAECfg.stCrop[1].u16Y = 0; + stsCfg.stAECfg.stCrop[1].u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stAECfg.stCrop[1].u16H = stPubAttr.stWndRect.u32Height; + #endif + + stsCfg.stWBCfg.u16ZoneRow = AWB_ZONE_ORIG_ROW; + stsCfg.stWBCfg.u16ZoneCol = AWB_ZONE_ORIG_COLUMN; + stsCfg.stWBCfg.stCrop.bEnable = 0; + stsCfg.stWBCfg.stCrop.u16X = stsCfg.stWBCfg.stCrop.u16Y = 0; + stsCfg.stWBCfg.stCrop.u16W = stPubAttr.stWndRect.u32Width; + stsCfg.stWBCfg.stCrop.u16H = stPubAttr.stWndRect.u32Height; + stsCfg.stWBCfg.u16BlackLevel = 0; + stsCfg.stWBCfg.u16WhiteLevel = 4095; + stsCfg.stFocusCfg.stConfig.bEnable = 1; + stsCfg.stFocusCfg.stConfig.u8HFltShift = 1; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[0] = 1; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[1] = 2; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[2] = 3; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[3] = 5; + stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[4] = 10; + stsCfg.stFocusCfg.stConfig.stRawCfg.PreGammaEn = 0; + stsCfg.stFocusCfg.stConfig.stPreFltCfg.PreFltEn = 1; + stsCfg.stFocusCfg.stConfig.u16Hwnd = 17; + stsCfg.stFocusCfg.stConfig.u16Vwnd = 15; + stsCfg.stFocusCfg.stConfig.stCrop.bEnable = 0; + // AF offset and size has some limitation. + stsCfg.stFocusCfg.stConfig.stCrop.u16X = AF_XOFFSET_MIN; + stsCfg.stFocusCfg.stConfig.stCrop.u16Y = AF_YOFFSET_MIN; + stsCfg.stFocusCfg.stConfig.stCrop.u16W = stPubAttr.stWndRect.u32Width - AF_XOFFSET_MIN * 2; + stsCfg.stFocusCfg.stConfig.stCrop.u16H = stPubAttr.stWndRect.u32Height - AF_YOFFSET_MIN * 2; + //Horizontal HP0 + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[0] = 0; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[1] = 0; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[2] = 13; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[3] = 24; + stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[4] = 0; + //Horizontal HP1 + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[0] = 1; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[1] = 2; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[2] = 4; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[3] = 8; + stsCfg.stFocusCfg.stHParam_FIR1.s8HFltHpCoeff[4] = 0; + //Vertical HP + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[0] = 13; + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[1] = 24; + stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[2] = 0; + stsCfg.unKey.bit1FEAeGloStat = stsCfg.unKey.bit1FEAeLocStat = + stsCfg.unKey.bit1AwbStat1 = stsCfg.unKey.bit1AwbStat2 = stsCfg.unKey.bit1FEAfStat = 1; + //LDG + stsCfg.stFocusCfg.stConfig.u8ThLow = 0; + stsCfg.stFocusCfg.stConfig.u8ThHigh = 255; + stsCfg.stFocusCfg.stConfig.u8GainLow = 30; + stsCfg.stFocusCfg.stConfig.u8GainHigh = 20; + stsCfg.stFocusCfg.stConfig.u8SlopLow = 8; + stsCfg.stFocusCfg.stConfig.u8SlopHigh = 15; + s32Ret = CVI_ISP_SetStatisticsConfig(ViPipe, &stsCfg); + if (s32Ret != CVI_SUCCESS) { + printf("ISP Set Statistic failed with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = CVI_ISP_Init(ViPipe); + if (s32Ret != CVI_SUCCESS) { + printf("ISP Init failed with %#x!\n", s32Ret); + return s32Ret; + } + } + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_CreateIsp(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + CVI_S32 s32ViNum; + CVI_S32 s32Ret = CVI_SUCCESS; + + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + if (!pstViConfig) { + printf("%s: null ptr\n", __func__); + return CVI_FAILURE; + } + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + s32ViNum = pstViConfig->as32WorkingViId[i]; + pstViInfo = &pstViConfig->astViInfo[s32ViNum]; + + s32Ret = SAMPLE_COMM_VI_StartIsp(pstViInfo); + if (s32Ret != CVI_SUCCESS) { + printf("SAMPLE_COMM_VI_StartIsp failed !\n"); + return CVI_FAILURE; + } + + // s32Ret = SAMPLE_COMM_ISP_Run(s32ViNum); + // if (s32Ret != CVI_SUCCESS) { + // printf("ISP_Run failed with %#x!\n", s32Ret); + // return s32Ret; + // } + } + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_DestroyIsp(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + CVI_S32 s32ViNum; + CVI_S32 s32Ret = CVI_SUCCESS; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + if (!pstViConfig) { + SAMPLE_PRT("%s: null ptr\n", __func__); + return CVI_FAILURE; + } + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + s32ViNum = pstViConfig->as32WorkingViId[i]; + pstViInfo = &pstViConfig->astViInfo[s32ViNum]; + + s32Ret = SAMPLE_COMM_VI_StopIsp(pstViInfo); + + if (s32Ret != CVI_SUCCESS) { + SAMPLE_PRT("SAMPLE_COMM_VI_StopIsp failed !\n"); + return CVI_FAILURE; + } + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_StopIsp(SAMPLE_VI_INFO_S *pstViInfo) +{ + CVI_S32 ret = CVI_SUCCESS; + VI_PIPE ViPipe; + + for (CVI_U32 i = 0; i < WDR_MAX_PIPE_NUM; i++) { + if (pstViInfo->stPipeInfo.aPipe[i] >= 0 && pstViInfo->stPipeInfo.aPipe[i] < VI_MAX_PIPE_NUM) { + ViPipe = pstViInfo->stPipeInfo.aPipe[i]; + SAMPLE_COMM_ISP_Stop(ViPipe); + } + } + + return ret; +} + +CVI_S32 SAMPLE_COMM_VI_GetDevAttrBySns(CVI_U32 u32SnsId, SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *pstViDevAttr) +{ + PIC_SIZE_E enPicSize; + SIZE_S stSize; + SNS_COMBO_DEV_ATTR_S stDevAttr; + ISP_SNS_OBJ_S *pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + + memcpy(pstViDevAttr, &DEV_ATTR_SENSOR_BASE, sizeof(VI_DEV_ATTR_S)); + + SAMPLE_COMM_VI_GetSizeBySensor(enSnsType, &enPicSize); + SAMPLE_COMM_SYS_GetPicSize(enPicSize, &stSize); + if (pstSnsObj) + pstSnsObj->pfnGetRxAttr(u32SnsId, &stDevAttr); + + pstViDevAttr->stSnrSize.u32Width = stDevAttr.img_size.width; + pstViDevAttr->stSnrSize.u32Height = stDevAttr.img_size.height; + pstViDevAttr->stSnrSize.u32StartX = stDevAttr.img_size.x; + pstViDevAttr->stSnrSize.u32StartY = stDevAttr.img_size.y; + pstViDevAttr->stSnrSize.u32ActiveW = stSize.u32Width; + pstViDevAttr->stSnrSize.u32ActiveH = stSize.u32Height; + pstViDevAttr->stWDRAttr.u32CacheLine = stSize.u32Height; + + // WDR mode + if (enSnsType >= SAMPLE_SNS_TYPE_LINEAR_BUTT) + pstViDevAttr->stWDRAttr.enWDRMode = WDR_MODE_2To1_LINE; + + // YUV Sensor + switch (enSnsType) { + case PIXELPLUS_PR2020_1M_25FPS_8BIT: + case PIXELPLUS_PR2020_1M_30FPS_8BIT: + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_30FPS_8BIT: + case PIXELPLUS_PR2100_2M_25FPS_8BIT: + case NEXTCHIP_N5_1M_2CH_25FPS_8BIT: + case NEXTCHIP_N5_2M_25FPS_8BIT: + case NEXTCHIP_N6_2M_4CH_25FPS_8BIT: + case PICO640_THERMAL_479P: + case PICO384_THERMAL_384X288: + case VIVO_MM308M2_2M_25FPS_8BIT: + case VIVO_MCS369_2M_30FPS_12BIT: + case VIVO_MCS369Q_4M_30FPS_12BIT: + case PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT: + case PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT: + pstViDevAttr->enDataSeq = VI_DATA_SEQ_UYVY; + pstViDevAttr->enInputDataType = VI_DATA_TYPE_YUV; + pstViDevAttr->enIntfMode = VI_MODE_MIPI_YUV422; + break; + default: + break; + }; + + // BT656 + switch (enSnsType) { + case PIXELPLUS_PR2020_1M_25FPS_8BIT: + case PIXELPLUS_PR2020_1M_30FPS_8BIT: + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_30FPS_8BIT: + case NEXTCHIP_N5_1M_2CH_25FPS_8BIT: + case NEXTCHIP_N5_2M_25FPS_8BIT: + pstViDevAttr->enIntfMode = VI_MODE_BT656; + break; + default: + break; + }; + + // BT1120 + switch (enSnsType) { + case VIVO_MCS369_2M_30FPS_12BIT: + case VIVO_MCS369Q_4M_30FPS_12BIT: + case VIVO_MM308M2_2M_25FPS_8BIT: + pstViDevAttr->enIntfMode = VI_MODE_BT1120_STANDARD; + break; + default: + break; + }; + + // subLVDS + switch (enSnsType) { + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_60FPS_12BIT: + pstViDevAttr->enIntfMode = VI_MODE_LVDS; + break; + default: + break; + }; + + switch (enSnsType) { + // Sony + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_60FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_60FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_60FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_60FPS_10BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_60FPS_10BIT: + case SONY_IMX335_2L_MIPI_4M_30FPS_10BIT: + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_2M_60FPS_10BIT: + case SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX385_MIPI_2M_30FPS_12BIT: + case SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX347_MIPI_4M_60FPS_12BIT: + case SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1: + // GalaxyCore + case GCORE_GC2053_MIPI_2M_30FPS_10BIT: + case GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC1054_MIPI_1M_30FPS_10BIT: + pstViDevAttr->enBayerFormat = BAYER_FORMAT_RG; + break; + case GCORE_GC4653_MIPI_4M_30FPS_10BIT: + case GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT: + case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT: + case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT: + pstViDevAttr->enBayerFormat = BAYER_FORMAT_GR; + break; + default: + pstViDevAttr->enBayerFormat = BAYER_FORMAT_BG; + break; + }; + + // virtual channel for multi-ch +#ifndef ARCH_CV183X + switch (enSnsType) { + case PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT: + pstViDevAttr->enWorkMode = VI_WORK_MODE_2Multiplex; + break; + case PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT: + pstViDevAttr->enWorkMode = VI_WORK_MODE_4Multiplex; + break; + default: + pstViDevAttr->enWorkMode = VI_WORK_MODE_1Multiplex; + break; + } +#endif + + return CVI_SUCCESS; +} + +void SAMPLE_COMM_VI_GetSensorInfo(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 i; + + memset(pstViConfig, 0, sizeof(*pstViConfig)); + + for (i = 0; i < VI_MAX_DEV_NUM; i++) { + pstViConfig->astViInfo[i].stSnsInfo.s32SnsId = i; + pstViConfig->astViInfo[i].stSnsInfo.s32BusId = i; + pstViConfig->astViInfo[i].stSnsInfo.MipiDev = i; + // memset(&pstViConfig->astViInfo[i].stSnapInfo, 0, sizeof(SAMPLE_SNAP_INFO_S)); + pstViConfig->astViInfo[i].stPipeInfo.bMultiPipe = CVI_FALSE; + pstViConfig->astViInfo[i].stPipeInfo.bVcNumCfged = CVI_FALSE; + } + + pstViConfig->astViInfo[0].stSnsInfo.enSnsType = SONY_IMX290_MIPI_2M_60FPS_12BIT; + pstViConfig->astViInfo[1].stSnsInfo.enSnsType = SONY_IMX290_MIPI_2M_60FPS_12BIT; +} + +/****************************************************************************** + * funciton : Get enSize by diffrent sensor + ******************************************************************************/ +CVI_S32 SAMPLE_COMM_VI_GetSizeBySensor(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize) +{ + CVI_S32 s32Ret = CVI_SUCCESS; + + if (!penSize) + return CVI_FAILURE; + + switch (enMode) { + case SONY_IMX290_MIPI_1M_30FPS_12BIT: + case SOI_H65_MIPI_1M_30FPS_10BIT: + case PIXELPLUS_PR2020_1M_25FPS_8BIT: + case PIXELPLUS_PR2020_1M_30FPS_8BIT: + case NEXTCHIP_N5_1M_2CH_25FPS_8BIT: + case GCORE_GC1054_MIPI_1M_30FPS_10BIT: + case SONY_IMX327_MIPI_1M_30FPS_10BIT: + case SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_720P; + break; + case SONY_IMX290_MIPI_2M_60FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT: + case SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1: + case SOI_F23_MIPI_2M_30FPS_10BIT: + case SOI_F35_MIPI_2M_30FPS_10BIT: + case SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT: + case SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1: + case SONY_IMX385_MIPI_2M_30FPS_12BIT: + case SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1: + case VIVO_MM308M2_2M_25FPS_8BIT: + case NEXTCHIP_N5_2M_25FPS_8BIT: + case NEXTCHIP_N6_2M_4CH_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_25FPS_8BIT: + case PIXELPLUS_PR2020_2M_30FPS_8BIT: + case PIXELPLUS_PR2100_2M_25FPS_8BIT: + case VIVO_MCS369_2M_30FPS_12BIT: + case SMS_SC200AI_MIPI_2M_30FPS_10BIT: + case SMS_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC2053_MIPI_2M_30FPS_10BIT: + case GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT: + case GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1: + case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1: + case SONY_IMX327_MIPI_2M_60FPS_12BIT: + case SONY_IMX307_SUBLVDS_2M_60FPS_12BIT: + case SONY_IMX307_MIPI_2M_60FPS_12BIT: + case GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT: + case SONY_IMX335_MIPI_2M_60FPS_10BIT: + case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT: + case SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_1080P; + break; + case OV_OS08A20_MIPI_8M_30FPS_10BIT: + case OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1: + case OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT: + case OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT_WDR2TO1: + case SONY_IMX334_MIPI_8M_30FPS_12BIT: + case SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1: + case SMS_SC8238_MIPI_8M_30FPS_10BIT: + case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1: + case SMS_SC850SL_MIPI_8M_30FPS_12BIT: + case SMS_SC850SL_MIPI_8M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_3840x2160; + break; + case OV_OS08A20_MIPI_5M_30FPS_10BIT: + case OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1: + case OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT: + case OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_5M_30FPS_12BIT: + case SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_5M_60FPS_10BIT: + *penSize = PIC_2592x1944; + break; + case SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT: + case SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1: + *penSize = PIC_2560x1600; + break; + case SONY_IMX335_MIPI_4M_30FPS_12BIT: + case SONY_IMX335_2L_MIPI_4M_30FPS_10BIT: + case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1: + case SONY_IMX335_MIPI_4M_60FPS_10BIT: + case SMS_SC4210_MIPI_4M_30FPS_12BIT: + case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1: + case OV_OS08A20_MIPI_4M_30FPS_10BIT: + case OV_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1: + case OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT: + case OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1: + case GCORE_GC4653_MIPI_4M_30FPS_10BIT: + case GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT: + case SMS_SC500AI_MIPI_4M_30FPS_10BIT: + case SMS_SC401AI_MIPI_4M_30FPS_10BIT: + case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT: + case VIVO_MCS369Q_4M_30FPS_12BIT: + *penSize = PIC_1440P; + break; + case PICO640_THERMAL_479P: + *penSize = PIC_479P; + break; + case PICO384_THERMAL_384X288: + *penSize = PIC_288P; + break; + case SMS_SC3335_MIPI_3M_30FPS_10BIT: + case SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT: + case SMS_SC401AI_MIPI_3M_30FPS_10BIT: + *penSize = PIC_2304x1296; + break; + case PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT: + case PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT: + *penSize = PIC_1080P; + break; + case SONY_IMX347_MIPI_4M_60FPS_12BIT: + case SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1: + /* fallthrough */ + case OV_OS04C10_MIPI_4M_30FPS_12BIT: + /* fallthrough */ + case OV_OS04C10_MIPI_4M_30FPS_10BIT_WDR2TO1: + /* fallthrough */ + case OV_OS04C10_SLAVE_MIPI_4M_30FPS_12BIT: + /* fallthrough */ + case OV_OS04C10_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1: + *penSize = PIC_2688x1520; + break; + case SMS_SC035HGS_MIPI_480P_120FPS_12BIT: + case SMS_SC035GS_MIPI_480P_120FPS_12BIT: + *penSize = PIC_640x480; + break; + case SMS_SC500AI_MIPI_5M_30FPS_10BIT: + case SMS_SC501AI_2L_MIPI_5M_30FPS_10BIT: + *penSize = PIC_2880x1620; + break; + default: + s32Ret = CVI_FAILURE; + break; + } + + return s32Ret; +} + +CVI_S32 SAMPLE_COMM_SYS_GetPicSize(PIC_SIZE_E enPicSize, SIZE_S *pstSize) +{ + switch (enPicSize) { + case PIC_CIF: /* 352 * 288 */ + pstSize->u32Width = 352; + pstSize->u32Height = 288; + break; + + case PIC_D1_PAL: /* 720 * 576 */ + pstSize->u32Width = 720; + pstSize->u32Height = 576; + break; + + case PIC_D1_NTSC: /* 720 * 480 */ + pstSize->u32Width = 720; + pstSize->u32Height = 480; + break; + + case PIC_720P: /* 1280 * 720 */ + pstSize->u32Width = 1280; + pstSize->u32Height = 720; + break; + + case PIC_1080P: /* 1920 * 1080 */ + pstSize->u32Width = 1920; + pstSize->u32Height = 1080; + break; + + case PIC_1088: /* 1920 * 1088*/ + pstSize->u32Width = 1920; + pstSize->u32Height = 1088; + break; + + case PIC_1440P: /* 2560 * 1440 */ + pstSize->u32Width = 2560; + pstSize->u32Height = 1440; + break; + + case PIC_2304x1296: + pstSize->u32Width = 2304; + pstSize->u32Height = 1296; + break; + + case PIC_2592x1520: + pstSize->u32Width = 2592; + pstSize->u32Height = 1520; + break; + + case PIC_2560x1600: + pstSize->u32Width = 2560; + pstSize->u32Height = 1600; + break; + + case PIC_2592x1944: + pstSize->u32Width = 2592; + pstSize->u32Height = 1944; + break; + + case PIC_2592x1536: + pstSize->u32Width = 2592; + pstSize->u32Height = 1536; + break; + + case PIC_2688x1520: + pstSize->u32Width = 2688; + pstSize->u32Height = 1520; + break; + + case PIC_2716x1524: + pstSize->u32Width = 2716; + pstSize->u32Height = 1524; + break; + + case PIC_2880x1620: + pstSize->u32Width = 2880; + pstSize->u32Height = 1620; + break; + + case PIC_3844x1124: + pstSize->u32Width = 3844; + pstSize->u32Height = 1124; + break; + + case PIC_3840x2160: + pstSize->u32Width = 3840; + pstSize->u32Height = 2160; + break; + + case PIC_3000x3000: + pstSize->u32Width = 3000; + pstSize->u32Height = 3000; + break; + + case PIC_4000x3000: + pstSize->u32Width = 4000; + pstSize->u32Height = 3000; + break; + + case PIC_4096x2160: + pstSize->u32Width = 4096; + pstSize->u32Height = 2160; + break; + + case PIC_3840x8640: + pstSize->u32Width = 3840; + pstSize->u32Height = 8640; + break; + + case PIC_7688x1124: + pstSize->u32Width = 7688; + pstSize->u32Height = 1124; + break; + + case PIC_640x480: + pstSize->u32Width = 640; + pstSize->u32Height = 480; + break; + case PIC_479P: /* 632 * 479 */ + pstSize->u32Width = 632; + pstSize->u32Height = 479; + break; + case PIC_288P: /* 384 * 288 */ + pstSize->u32Width = 384; + pstSize->u32Height = 288; + break; + default: + return CVI_FAILURE; + } + + return CVI_SUCCESS; +} + +CVI_S32 SAMPLE_COMM_VI_StartSensor(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret, i; + CVI_U32 u32SnsId; + VI_PIPE ViPipe; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + + if (pstViConfig->s32WorkingViNum <= 0) { + printf("Error WorkingViNum = %d\n", pstViConfig->s32WorkingViNum); + return CVI_FAILURE; + } + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + s32Ret = SAMPLE_COMM_ISP_SetSnsObj(u32SnsId, pstViInfo->stSnsInfo.enSnsType); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "update sensor obj(%d) failed!\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_SetSnsInit(u32SnsId, pstViInfo->stSnsInfo.u8HwSync); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "update sensor(%d) hwsync failed !\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_PatchSnsObj(u32SnsId, &pstViInfo->stSnsInfo); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "patch rx attr(%d) failed!\n", u32SnsId); + return s32Ret; + } + s32Ret = SAMPLE_COMM_ISP_Sensor_Regiter_callback(ViPipe, u32SnsId, pstViInfo->stSnsInfo.s32BusId, + pstViInfo->stSnsInfo.s32SnsI2cAddr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d register callback failed!\n", i); + return s32Ret; + } + } + s32Ret = SAMPLE_COMM_ISP_SetSensorMode(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "sensor %d register callback failed!\n", i); + return s32Ret; + } + return s32Ret; +} + +#if 0 +CVI_S32 SAMPLE_COMM_VI_StartMIPI(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + CVI_S32 s32Ret = CVI_SUCCESS, i; + VI_PIPE ViPipe; + CVI_U32 u32SnsId; + SNS_COMBO_DEV_ATTR_S stDevAttr; + SAMPLE_VI_INFO_S *pstViInfo = CVI_NULL; + const ISP_SNS_OBJ_S *pstSnsObj; + + /*TODO@CF. Need add sample function.*/ + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + pstViInfo = &pstViConfig->astViInfo[i]; + ViPipe = pstViInfo->stPipeInfo.aPipe[0]; + u32SnsId = pstViInfo->stSnsInfo.s32SnsId; + pstSnsObj = (ISP_SNS_OBJ_S *)SAMPLE_COMM_ISP_GetSnsObj(u32SnsId); + pstSnsObj->pfnGetRxAttr(ViPipe, &stDevAttr); + SAMPLE_PRT("sensor %d stDevAttr.devno %d\n", i, stDevAttr.devno); + pstViInfo->stSnsInfo.MipiDev = stDevAttr.devno; + } + s32Ret = SAMPLE_COMM_VI_ResetSensor(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ResetSensor failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_ResetMipi(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "ResetMipi failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_SetMipiAttr(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_VI_SetMipiAttr failed! with %#x!\n", s32Ret); + return s32Ret; + } + + s32Ret = SAMPLE_COMM_VI_EnableSensorClock(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "EnableSensorClock failed! with %#x!\n", s32Ret); + return s32Ret; + } + + usleep(20); + s32Ret = SAMPLE_COMM_VI_UnresetSensor(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "UnresetSensor failed! with %#x!\n", s32Ret); + return s32Ret; + } + return s32Ret; +} + +CVI_S32 SAMPLE_PLAT_VI_INIT(SAMPLE_VI_CONFIG_S *pstViConfig) +{ + PIC_SIZE_E enPicSize; + SIZE_S stSize; + + VI_DEV ViDev = 0; + VI_PIPE ViPipe = 0; + VI_PIPE_ATTR_S stPipeAttr; + + CVI_S32 s32Ret = CVI_SUCCESS; + CVI_S32 i = 0, j = 0; + CVI_S32 s32DevNum; + + memcpy((void *)&stViConfigSys, (void *)pstViConfig, sizeof(SAMPLE_VI_CONFIG_S)); + + /************************************************ + * step1: Get input size + ************************************************/ + s32Ret = SAMPLE_COMM_VI_GetSizeBySensor(pstViConfig->astViInfo[ViDev].stSnsInfo.enSnsType, &enPicSize); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_VI_GetSizeBySensor failed with %#x\n", s32Ret); + goto error; + } + + s32Ret = SAMPLE_COMM_SYS_GetPicSize(enPicSize, &stSize); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_SYS_GetPicSize failed with %#x\n", s32Ret); + goto error; + } + + + /************************************************ + * step2: Init VI ISP + ************************************************/ + s32Ret = SAMPLE_COMM_VI_StartSensor(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "system start sensor failed with %#x\n", s32Ret); + goto error; + } + + // for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + // ViDev = i; + + // s32Ret = SAMPLE_COMM_VI_StartDev(&pstViConfig->astViInfo[ViDev]); + // if (s32Ret != CVI_SUCCESS) { + // CVI_TRACE_LOG(CVI_DBG_ERR, "VI_StartDev failed with %#x!\n", s32Ret); + // goto error; + // } + // } + + s32Ret = SAMPLE_COMM_VI_StartMIPI(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "system start MIPI failed with %#x\n", s32Ret); + goto error; + } + + s32Ret = SAMPLE_COMM_VI_SensorProbe(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "system sensor probe failed with %#x\n", s32Ret); + goto error; + } + + stPipeAttr.bYuvSkip = CVI_FALSE; + stPipeAttr.u32MaxW = stSize.u32Width; + stPipeAttr.u32MaxH = stSize.u32Height; + stPipeAttr.enPixFmt = PIXEL_FORMAT_RGB_BAYER_12BPP; + stPipeAttr.enBitWidth = DATA_BITWIDTH_12; + stPipeAttr.stFrameRate.s32SrcFrameRate = -1; + stPipeAttr.stFrameRate.s32DstFrameRate = -1; + stPipeAttr.bNrEn = CVI_TRUE; + stPipeAttr.bYuvBypassPath = CVI_FALSE; + stPipeAttr.enCompressMode = pstViConfig->astViInfo[0].stChnInfo.enCompressMode; + + for (i = 0; i < pstViConfig->s32WorkingViNum; i++) { + SAMPLE_VI_INFO_S *pstViInfo = NULL; + + s32DevNum = pstViConfig->as32WorkingViId[i]; + pstViInfo = &pstViConfig->astViInfo[s32DevNum]; + + if ((pstViInfo->stSnsInfo.enSnsType == PICO640_THERMAL_479P) || + (pstViInfo->stSnsInfo.enSnsType == TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == VIVO_MCS369Q_4M_30FPS_12BIT) || + (pstViInfo->stSnsInfo.enSnsType == VIVO_MCS369_2M_30FPS_12BIT) || + (pstViInfo->stSnsInfo.enSnsType == VIVO_MM308M2_2M_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == NEXTCHIP_N5_2M_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2020_1M_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2020_1M_30FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2020_2M_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2020_2M_30FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2100_2M_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT) || + (pstViInfo->stSnsInfo.enSnsType == PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT)) { + stPipeAttr.bYuvBypassPath = CVI_TRUE; + } else { + stPipeAttr.bYuvBypassPath = CVI_FALSE; + } + + for (j = 0; j < WDR_MAX_PIPE_NUM; j++) { + if (pstViInfo->stPipeInfo.aPipe[j] >= 0 && pstViInfo->stPipeInfo.aPipe[j] < VI_MAX_PIPE_NUM) { + ViPipe = pstViInfo->stPipeInfo.aPipe[j]; + s32Ret = CVI_VI_CreatePipe(ViPipe, &stPipeAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_CreatePipe failed with %#x!\n", s32Ret); + goto error; + } + + s32Ret = CVI_VI_StartPipe(ViPipe); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_StartPipe failed with %#x!\n", s32Ret); + goto error; + } + + s32Ret = CVI_VI_GetPipeAttr(ViPipe, &stPipeAttr); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_GetPipeAttr failed with %#x!\n", s32Ret); + goto error; + } + } + } + } + + s32Ret = SAMPLE_COMM_VI_CreateIsp(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "VI_CreateIsp failed with %#x!\n", s32Ret); + goto error; + } + + s32Ret = SAMPLE_COMM_VI_StartViChn(pstViConfig); + if (s32Ret != CVI_SUCCESS) { + CVI_TRACE_LOG(CVI_DBG_ERR, "VI_StartViChn failed with %#x!\n", s32Ret); + goto error; + } + + return s32Ret; +error: + // _SAMPLE_PLAT_ERR_Exit(); + return s32Ret; +} +#endif diff --git a/freertos/cvitek/task/main/CMakeLists.txt b/freertos/cvitek/task/main/CMakeLists.txt new file mode 100644 index 000000000..2d7113f8f --- /dev/null +++ b/freertos/cvitek/task/main/CMakeLists.txt @@ -0,0 +1,51 @@ +file(GLOB _SOURCES "src/*.c" "*.S") + +# try to find out the include folder recursively under CMAKE_INSTALL_PREFIX folder +MACRO(HEADER_DIRECTORIES return_list) + FILE(GLOB_RECURSE new_list ${CMAKE_INSTALL_PREFIX}/*.h) + SET(dir_list "") + FOREACH(file_path ${new_list}) + GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) + SET(dir_list ${dir_list} ${dir_path}) + ENDFOREACH() + LIST(REMOVE_DUPLICATES dir_list) + SET(${return_list} ${dir_list}) +ENDMACRO() + +HEADER_DIRECTORIES(header_dir_list) +list(LENGTH header_dir_list header_dir_list_count) + +include_directories(include) +include_directories(${header_dir_list}) + +if (RUN_TYPE STREQUAL "CVIRTOS") +if (CHIP STREQUAL "cv1835") + set(CVI_TASK_LIBS common isp vip display vcodec) + set(EXTRA_LIBS ${EXTRA_LIBS} "${TOP_DIR}/driver/venc/vc/vcodec/codebase/vpuapi/coda9/980_roi_rc_lib/libroirc_aarch64.a") +elseif (CHIP STREQUAL "cv181x" OR CHIP STREQUAL "cv180x") +if (CONFIG_FAST_IMAGE_TYPE STRGREATER "0") + set(CVI_TASK_LIBS comm isp vi vcodec rgn audio camera) +else() + set(CVI_TASK_LIBS comm rgn audio) +endif() +endif() +else() + set(CVI_TASK_LIBS demo) +endif() + +# search library from install/lib folder +file(GLOB_RECURSE CVI_LIBS ${CMAKE_INSTALL_PREFIX}/*.a) + +set(LINKER_SCRIPT "${TOP_DIR}/scripts/${CHIP}_lscript.ld") +set(EXTRA_LIBS ${EXTRA_LIBS} "-L${BUILD_ENV_PATH}/output/$ENV{PROJECT_FULLNAME}") +set(EXTRA_LIBS ${EXTRA_LIBS} m c gcc sim) +set(CMAKE_EXE_LINKER_FLAGS -T${LINKER_SCRIPT} ) + +link_directories("${TOP_DIR}/install/lib") + +add_executable(cvirtos.elf ${_SOURCES}) + +target_link_libraries(cvirtos.elf PRIVATE -Wl,--start-group ${CVI_TASK_LIBS} ${CVI_LIBS} ${EXTRA_LIBS} -Wl,--end-group -Wl,-Map=cvirtos.map) + +install(TARGETS cvirtos.elf DESTINATION bin) +install(FILES ${CMAKE_BINARY_DIR}/cvirtos.map DESTINATION bin) diff --git a/freertos/cvitek/task/main/src/FreeRTOS_asm_vectors.S b/freertos/cvitek/task/main/src/FreeRTOS_asm_vectors.S new file mode 100644 index 000000000..597614937 --- /dev/null +++ b/freertos/cvitek/task/main/src/FreeRTOS_asm_vectors.S @@ -0,0 +1,308 @@ +/****************************************************************************** +* +* Copyright (C) 2014 Xilinx, Inc. All rights reserved. +* +* Permission is hereby granted, free of charge, to any person obtaining a copy +* of this software and associated documentation files (the "Software"), to deal +* in the Software without restriction, including without limitation the rights +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is +* furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in +* all copies or substantial portions of the Software. +* +* Use of the Software is limited solely to applications: +* (a) running on a Xilinx device, or +* (b) that interact with a Xilinx device through a bus or interconnect. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +* SOFTWARE. +* +* Except as contained in this notice, the name of the Xilinx shall not be used +* in advertising or otherwise to promote the sale, use or other dealings in +* this Software without prior written authorization from Xilinx. +* +******************************************************************************/ +/*****************************************************************************/ +/** +* @file asm_vectors.s +* +* This file contains the initial vector table for the Cortex A53 processor +* Currently NEON registers are not saved on stack if interrupt is taken. +* It will be implemented. +* +* <pre> +* MODIFICATION HISTORY: +* +* Ver Who Date Changes +* ----- ------- -------- --------------------------------------------------- +* 5.00 pkp 5/21/14 Initial version +* </pre> +* +* @note +* +* None. +* +******************************************************************************/ + + + +.org 0 +.text + +.globl _boot +.globl _vector_table +.globl _freertos_vector_table + +.globl FIQInterrupt +.globl IRQInterrupt +.globl SErrorInterrupt +.globl SynchronousInterrupt + + +.org 0 + +.section .vectors, "a" + +_vector_table: + +.set VBAR, _vector_table + +.org VBAR + b _boot + +.org (VBAR + 0x80) + b . + +.org (VBAR + 0x100) + b . + +.org (VBAR + 0x180) + b . + + +.org (VBAR + 0x200) + b . + +.org (VBAR + 0x280) + b . + +.org (VBAR + 0x300) + b . + +.org (VBAR + 0x380) + b . + + + +.org (VBAR + 0x400) + b . + +.org (VBAR + 0x480) + b . + +.org (VBAR + 0x500) + b . + +.org (VBAR + 0x580) + b . + +.org (VBAR + 0x600) + b . + +.org (VBAR + 0x680) + b . + +.org (VBAR + 0x700) + b . + +.org (VBAR + 0x780) + b . + + + +/****************************************************************************** + * Vector table to use when FreeRTOS is running. + *****************************************************************************/ +.set FREERTOS_VBAR, (VBAR+0x1000) + +.org(FREERTOS_VBAR) +_freertos_vector_table: + b FreeRTOS_SWI_Handler + +.org (FREERTOS_VBAR + 0x80) + b FreeRTOS_IRQ_Handler + +.org (FREERTOS_VBAR + 0x100) + b . + +.org (FREERTOS_VBAR + 0x180) + b . + +.org (FREERTOS_VBAR + 0x200) + b FreeRTOS_SWI_Handler + +.org (FREERTOS_VBAR + 0x280) + b FreeRTOS_IRQ_Handler + +.org (FREERTOS_VBAR + 0x300) + b . + +.org (FREERTOS_VBAR + 0x380) + b . + +.org (FREERTOS_VBAR + 0x400) + b . + +.org (FREERTOS_VBAR + 0x480) + b . + +.org (FREERTOS_VBAR + 0x500) + b . + +.org (FREERTOS_VBAR + 0x580) + b . + +.org (FREERTOS_VBAR + 0x600) + b . + +.org (FREERTOS_VBAR + 0x680) + b . + +.org (FREERTOS_VBAR + 0x700) + b . + +.org (FREERTOS_VBAR + 0x780) + b . + +.org (FREERTOS_VBAR + 0x800) + + + +#if 0 +SynchronousInterruptHandler: + stp X0,X1, [sp,#-0x10]! + stp X2,X3, [sp,#-0x10]! + stp X4,X5, [sp,#-0x10]! + stp X6,X7, [sp,#-0x10]! + stp X8,X9, [sp,#-0x10]! + stp X10,X11, [sp,#-0x10]! + stp X12,X13, [sp,#-0x10]! + stp X14,X15, [sp,#-0x10]! + stp X16,X17, [sp,#-0x10]! + stp X18,X19, [sp,#-0x10]! + stp X29,X30, [sp,#-0x10]! + + bl SynchronousInterrupt + + ldp X29,X30, [sp], #0x10 + ldp X18,X19, [sp], #0x10 + ldp X16,X17, [sp], #0x10 + ldp X14,X15, [sp], #0x10 + ldp X12,X13, [sp], #0x10 + ldp X10,X11, [sp], #0x10 + ldp X8,X9, [sp], #0x10 + ldp X6,X7, [sp], #0x10 + ldp X4,X5, [sp], #0x10 + ldp X2,X3, [sp], #0x10 + ldp X0,X1, [sp], #0x10 + + eret + +IRQInterruptHandler: + stp X0,X1, [sp,#-0x10]! + stp X2,X3, [sp,#-0x10]! + stp X4,X5, [sp,#-0x10]! + stp X6,X7, [sp,#-0x10]! + stp X8,X9, [sp,#-0x10]! + stp X10,X11, [sp,#-0x10]! + stp X12,X13, [sp,#-0x10]! + stp X14,X15, [sp,#-0x10]! + stp X16,X17, [sp,#-0x10]! + stp X18,X19, [sp,#-0x10]! + stp X29,X30, [sp,#-0x10]! + + bl IRQInterrupt + + ldp X29,X30, [sp], #0x10 + ldp X18,X19, [sp], #0x10 + ldp X16,X17, [sp], #0x10 + ldp X14,X15, [sp], #0x10 + ldp X12,X13, [sp], #0x10 + ldp X10,X11, [sp], #0x10 + ldp X8,X9, [sp], #0x10 + ldp X6,X7, [sp], #0x10 + ldp X4,X5, [sp], #0x10 + ldp X2,X3, [sp], #0x10 + ldp X0,X1, [sp], #0x10 + + eret + +FIQInterruptHandler: + + stp X0,X1, [sp,#-0x10]! + stp X2,X3, [sp,#-0x10]! + stp X4,X5, [sp,#-0x10]! + stp X6,X7, [sp,#-0x10]! + stp X8,X9, [sp,#-0x10]! + stp X10,X11, [sp,#-0x10]! + stp X12,X13, [sp,#-0x10]! + stp X14,X15, [sp,#-0x10]! + stp X16,X17, [sp,#-0x10]! + stp X18,X19, [sp,#-0x10]! + stp X29,X30, [sp,#-0x10]! + + bl FIQInterrupt + + ldp X29,X30, [sp], #0x10 + ldp X18,X19, [sp], #0x10 + ldp X16,X17, [sp], #0x10 + ldp X14,X15, [sp], #0x10 + ldp X12,X13, [sp], #0x10 + ldp X10,X11, [sp], #0x10 + ldp X8,X9, [sp], #0x10 + ldp X6,X7, [sp], #0x10 + ldp X4,X5, [sp], #0x10 + ldp X2,X3, [sp], #0x10 + ldp X0,X1, [sp], #0x10 + + eret + +SErrorInterruptHandler: + + stp X0,X1, [sp,#-0x10]! + stp X2,X3, [sp,#-0x10]! + stp X4,X5, [sp,#-0x10]! + stp X6,X7, [sp,#-0x10]! + stp X8,X9, [sp,#-0x10]! + stp X10,X11, [sp,#-0x10]! + stp X12,X13, [sp,#-0x10]! + stp X14,X15, [sp,#-0x10]! + stp X16,X17, [sp,#-0x10]! + stp X18,X19, [sp,#-0x10]! + stp X29,X30, [sp,#-0x10]! + + bl SErrorInterrupt + + ldp X29,X30, [sp], #0x10 + ldp X18,X19, [sp], #0x10 + ldp X16,X17, [sp], #0x10 + ldp X14,X15, [sp], #0x10 + ldp X12,X13, [sp], #0x10 + ldp X10,X11, [sp], #0x10 + ldp X8,X9, [sp], #0x10 + ldp X6,X7, [sp], #0x10 + ldp X4,X5, [sp], #0x10 + ldp X2,X3, [sp], #0x10 + ldp X0,X1, [sp], #0x10 + + eret +#endif + +.end diff --git a/freertos/cvitek/task/main/src/FreeRTOS_tick_config.c b/freertos/cvitek/task/main/src/FreeRTOS_tick_config.c new file mode 100644 index 000000000..3e2d26566 --- /dev/null +++ b/freertos/cvitek/task/main/src/FreeRTOS_tick_config.c @@ -0,0 +1,143 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifdef __riscv + +#else +/* FreeRTOS includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "task.h" + +/* Xilinx includes. */ +//#include "xttcps.h" +#include "xscugic.h" + +/* Timer used to generate the tick interrupt. */ +//static XTtcPs xRTOSTickTimerInstance; + +/*-----------------------------------------------------------*/ + +void vConfigureTickInterrupt(void) +{ + //poshiun ttcp??? + BaseType_t xStatus; + //XTtcPs_Config *pxTimerConfiguration; + //XInterval usInterval; + uint8_t ucPrescale; + const uint8_t ucLevelSensitive = 1; + extern XScuGic xInterruptController; + + // pxTimerConfiguration = XTtcPs_LookupConfig( XPAR_XTTCPS_0_DEVICE_ID ); + // configASSERT( pxTimerConfiguration ); + +#if 0 + /* Initialise the device. */ + xStatus = XTtcPs_CfgInitialize( &xRTOSTickTimerInstance, pxTimerConfiguration, pxTimerConfiguration->BaseAddress ); + + if( xStatus != XST_SUCCESS ) + { + /* Not sure how to do this before XTtcPs_CfgInitialize is called as + *xRTOSTickTimerInstance is set within XTtcPs_CfgInitialize(). */ + XTtcPs_Stop( &xRTOSTickTimerInstance ); + xStatus = XTtcPs_CfgInitialize( &xRTOSTickTimerInstance, pxTimerConfiguration, pxTimerConfiguration->BaseAddress ); + configASSERT( xStatus == XST_SUCCESS ); + } + + /* Set the options. */ + XTtcPs_SetOptions( &xRTOSTickTimerInstance, ( XTTCPS_OPTION_INTERVAL_MODE | XTTCPS_OPTION_WAVE_DISABLE ) ); + + /* Derive values from the tick rate. */ + XTtcPs_CalcIntervalFromFreq( &xRTOSTickTimerInstance, configTICK_RATE_HZ, &( usInterval ), &( ucPrescale ) ); + + /* Set the interval and prescale. */ + XTtcPs_SetInterval( &xRTOSTickTimerInstance, usInterval ); + XTtcPs_SetPrescaler( &xRTOSTickTimerInstance, ucPrescale ); +#endif + /* The priority must be the lowest possible. */ + XScuGic_SetPriorityTriggerType( + &xInterruptController, CNTP_TIMER_0_INT_ID, + portLOWEST_USABLE_INTERRUPT_PRIORITY << portPRIORITY_SHIFT, + ucLevelSensitive); + + /* Connect to the interrupt controller. */ + xStatus = XScuGic_Connect(&xInterruptController, CNTP_TIMER_0_INT_ID, + (Xil_ExceptionHandler)FreeRTOS_Tick_Handler, + (void *)NULL); + //xStatus = XScuGic_Connect( &xInterruptController, CNTP_TIMER_0_INT_ID, (Xil_ExceptionHandler) FreeRTOS_Tick_Handler, ( void * ) &xRTOSTickTimerInstance ); + configASSERT(xStatus == XST_SUCCESS); + + /* Enable the interrupt in the GIC. */ + XScuGic_Enable(&xInterruptController, CNTP_TIMER_0_INT_ID); + + /* Enable the interrupts in the timer and sart the timer. */ + XTime_StartTimer(); +} +/*-----------------------------------------------------------*/ + +void vClearTickInterrupt(void) +{ + volatile uint32_t ulInterruptStatus; + + /* Read the interrupt status, then write it back to clear the interrupt. */ + //ulInterruptStatus = XTtcPs_GetInterruptStatus( &xRTOSTickTimerInstance ); + //XTtcPs_ClearInterruptStatus( &xRTOSTickTimerInstance, ulInterruptStatus ); + /* hardcore now, need to implement later*/ + int *gicd_icpend_addr = 0x1F01280; + int *gicc_eoir_addr = 0x1F02010; + *gicc_eoir_addr = 30; + *gicd_icpend_addr = 0x40000000; + + __asm volatile("DSB SY"); + __asm volatile("ISB SY"); + // reset tick + XTime_ResetTimer(); +} +/*-----------------------------------------------------------*/ + +void vApplicationIRQHandler(uint32_t ulICCIAR) +{ + extern const XScuGic_Config XScuGic_ConfigTable[]; + static const XScuGic_VectorTableEntry *pxVectorTable = + XScuGic_ConfigTable[XPAR_SCUGIC_SINGLE_DEVICE_ID].HandlerTable; + uint32_t ulInterruptID; + const XScuGic_VectorTableEntry *pxVectorEntry; + + /* Interrupts cannot be re-enabled until the source of the interrupt is + cleared. The ID of the interrupt is obtained by bitwise ANDing the ICCIAR + value with 0x3FF. */ + ulInterruptID = ulICCIAR & 0x3FFUL; + if (ulInterruptID < XSCUGIC_MAX_NUM_INTR_INPUTS) { + /* Call the function installed in the array of installed handler + functions. */ + pxVectorEntry = &(pxVectorTable[ulInterruptID]); + configASSERT(pxVectorEntry); + pxVectorEntry->Handler(pxVectorEntry->irqn, pxVectorEntry->CallBackRef); + + } +} +#endif diff --git a/freertos/cvitek/task/main/src/main.c b/freertos/cvitek/task/main/src/main.c new file mode 100644 index 000000000..7cbb418aa --- /dev/null +++ b/freertos/cvitek/task/main/src/main.c @@ -0,0 +1,317 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * + * See http://www.FreeRTOS.org/RTOS-Xilinx-UltraScale_MPSoC_64-bit.html for + * additional information on this demo. + * + * NOTE 1: This project provides two demo applications. A simple blinky + * style project, and a more comprehensive test and demo application. The + * RUN_TYPE in build.sh setting in main.c is used to select between the two. + * See the notes on using RUN_TYPE in build.sh where it is defined below. + * + * NOTE 2: This file only contains the source code that is not specific to + * either the simply blinky or full demos - this includes initialisation code + * and callback functions. + * + * NOTE 3: This project builds the FreeRTOS source code, so is expecting the + * BSP project to be configured as a 'standalone' bsp project rather than a + * 'FreeRTOS' bsp project. However the BSP project MUST still be build with + * the FREERTOS_BSP symbol defined (-DFREERTOS_BSP must be added to the + * command line in the BSP configuration). + */ +#ifdef __riscv +/* Standard includes. */ +#include <stdio.h> +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" + +#else +#include "linux/types.h" +/* Scheduler include files. */ +#include "FreeRTOS_POSIX.h" +#include "task.h" + +/* Xilinx includes. */ +#include "xscugic.h" +#if ( configUSE_TRACE_FACILITY == 1 ) +#include "trcRecorder.h" +#endif + +/* The interrupt controller is initialised in this file, and made available to +other modules. */ +XScuGic xInterruptController; + +#endif +// #include "sleep.h" + +/* RUN_TYPE in build.sh is used to select between two demo applications, + * as described at the top of this file. + * + * When RUN_TYPE is set to BLINKY_DEMO the simple blinky example will + * be run. + * + * When RUN_TYPE is set to FULL_DEMO the comprehensive test and demo + * application will be run. + */ + +/*-----------------------------------------------------------*/ + +/* + * Configure the hardware as necessary to run this demo. + */ +static void prvSetupHardware(void); + +/* + * See the comments at the top of this file and above the + * RUN_TYPE in build.sh definition. + */ +#ifdef CVIRTOS +extern void main_cvirtos(void); +#elif defined BLINKY_DEMO +extern void main_blinky(void); +#elif defined FULL_DEMO +extern void main_full(void); +#elif defined POSIX_DEMO +extern void main_posix(void); +#else +#error Invalid RUN_TYPE setting in build.sh. See the comments at the top of this file and above the RUN_TYPE definition. +#endif + +/* Prototypes for the standard FreeRTOS callback/hook functions implemented +within this file. */ +void vApplicationMallocFailedHook(void); +void vApplicationIdleHook(void); +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName); +void vApplicationTickHook(void); + +/* configAPPLICATION_ALLOCATED_HEAP is set to 1 in FreeRTOSConfig.h so the +application can define the array used as the FreeRTOS heap. This is done so the +heap can be forced into fast internal RAM - useful because the stacks used by +the tasks come from this space. */ +#ifdef configAPPLICATION_ALLOCATED_HEAP +uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__ ( ( section( ".heap" ) ) ); +#endif +/*-----------------------------------------------------------*/ + +int main(void) +{ + pre_system_init(); + printf("CVIRTOS Build Date:%s (Time :%s) \n", __DATE__, __TIME__); +#ifndef __riscv + mmu_enable(); + printf("enable I/D cache & MMU done\n"); +#endif + /* Configure the hardware ready to run the demo. */ + prvSetupHardware(); +#if ( configUSE_TRACE_FACILITY == 1 ) + vTraceEnable(TRC_START); +#endif + post_system_init(); + +#ifdef CVIRTOS + { + main_cvirtos(); + } +#elif defined BLINKY_DEMO + { + main_blinky(); + } +#elif defined FULL_DEMO + { + main_full(); + } +#elif defined POSIX_DEMO + { + main_posix(); + } +#else +#error "Not correct running definition" +#endif + + /* Don't expect to reach here. */ + return 0; +} +/*-----------------------------------------------------------*/ + +static void prvSetupHardware(void) +{ +#ifdef __riscv +#else + BaseType_t xStatus; + XScuGic_Config *pxGICConfig; + + /* Ensure no interrupts execute while the scheduler is in an inconsistent + state. Interrupts are automatically enabled when the scheduler is + started. */ + portDISABLE_INTERRUPTS(); + + /* Obtain the configuration of the GIC. */ + pxGICConfig = XScuGic_LookupConfig(XPAR_SCUGIC_SINGLE_DEVICE_ID); + + /* Sanity check the FreeRTOSConfig.h settings are correct for the + hardware. */ + configASSERT(pxGICConfig); + configASSERT(pxGICConfig->CpuBaseAddress == + (configINTERRUPT_CONTROLLER_BASE_ADDRESS + + configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET)); + configASSERT(pxGICConfig->DistBaseAddress == + configINTERRUPT_CONTROLLER_BASE_ADDRESS); + + /* Install a default handler for each GIC interrupt. */ + xStatus = XScuGic_CfgInitialize(&xInterruptController, pxGICConfig, + pxGICConfig->CpuBaseAddress); + configASSERT(xStatus == XST_SUCCESS); + (void)xStatus; /* Remove compiler warning if configASSERT() is not defined. */ +#endif +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook(void) +{ + /* Called if a call to pvPortMalloc() fails because there is insufficient + free memory available in the FreeRTOS heap. pvPortMalloc() is called + internally by FreeRTOS API functions that create tasks, queues, software + timers, and semaphores. The size of the FreeRTOS heap is set by the + configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */ + taskDISABLE_INTERRUPTS(); + dump_uart_disable(); + printf("vApplicationMallocFailedHook\n"); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName) +{ + (void)pcTaskName; + (void)pxTask; + dump_uart_disable(); + printf("%s %s\n", __func__, pcTaskName); + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook(void) +{ + volatile size_t xFreeHeapSpace; + + /* This is just a trivial example of an idle hook. It is called on each + cycle of the idle task. It must *NOT* attempt to block. In this case the + idle task just queries the amount of FreeRTOS heap that remains. See the + memory management section on the http://www.FreeRTOS.org web site for memory + management options. If there is a lot of heap memory free then the + configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up + RAM. */ + xFreeHeapSpace = xPortGetFreeHeapSize(); + + /* Remove compiler warning about xFreeHeapSpace being set but never used. */ + (void)xFreeHeapSpace; +} +/*-----------------------------------------------------------*/ + +void vApplicationTickHook(void) +{ +#ifdef FULL_DEMO + { + /* Only the comprehensive demo actually uses the tick hook. */ + extern void vFullDemoTickHook(void); + vFullDemoTickHook(); + } +#endif +} +/*-----------------------------------------------------------*/ + +/* configUSE_STATIC_ALLOCATION is set to 1, so the application must provide an +implementation of vApplicationGetIdleTaskMemory() to provide the memory that is +used by the Idle task. */ +void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, + StackType_t **ppxIdleTaskStackBuffer, + uint32_t *pulIdleTaskStackSize) +{ + /* If the buffers to be provided to the Idle task are declared inside this +function then they must be declared static - otherwise they will be allocated on +the stack and so not exists after this function exits. */ + static StaticTask_t xIdleTaskTCB; + static StackType_t uxIdleTaskStack[configMINIMAL_STACK_SIZE]; + + /* Pass out a pointer to the StaticTask_t structure in which the Idle task's + state will be stored. */ + *ppxIdleTaskTCBBuffer = &xIdleTaskTCB; + + /* Pass out the array that will be used as the Idle task's stack. */ + *ppxIdleTaskStackBuffer = uxIdleTaskStack; + + /* Pass out the size of the array pointed to by *ppxIdleTaskStackBuffer. + Note that, as the array is necessarily of type StackType_t, + configMINIMAL_STACK_SIZE is specified in words, not bytes. */ + *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE; +} +/*-----------------------------------------------------------*/ + +/* configUSE_STATIC_ALLOCATION and configUSE_TIMERS are both set to 1, so the +application must provide an implementation of vApplicationGetTimerTaskMemory() +to provide the memory that is used by the Timer service task. */ +void vApplicationGetTimerTaskMemory(StaticTask_t **ppxTimerTaskTCBBuffer, + StackType_t **ppxTimerTaskStackBuffer, + uint32_t *pulTimerTaskStackSize) +{ + /* If the buffers to be provided to the Timer task are declared inside this +function then they must be declared static - otherwise they will be allocated on +the stack and so not exists after this function exits. */ + static StaticTask_t xTimerTaskTCB; + static StackType_t uxTimerTaskStack[configTIMER_TASK_STACK_DEPTH]; + + /* Pass out a pointer to the StaticTask_t structure in which the Timer + task's state will be stored. */ + *ppxTimerTaskTCBBuffer = &xTimerTaskTCB; + + /* Pass out the array that will be used as the Timer task's stack. */ + *ppxTimerTaskStackBuffer = uxTimerTaskStack; + + /* Pass out the size of the array pointed to by *ppxTimerTaskStackBuffer. + Note that, as the array is necessarily of type StackType_t, + configMINIMAL_STACK_SIZE is specified in words, not bytes. */ + *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH; +} +/*-----------------------------------------------------------*/ + +void vMainAssertCalled(const char *pcFileName, uint32_t ulLineNumber) +{ + dump_uart_disable(); + printf("ASSERT! Line %d of file %s\r\n", ulLineNumber, pcFileName); + taskENTER_CRITICAL(); + for (;;) + ; +} diff --git a/freertos/cvitek/task/rgn/CMakeLists.txt b/freertos/cvitek/task/rgn/CMakeLists.txt new file mode 100644 index 000000000..28e67ec79 --- /dev/null +++ b/freertos/cvitek/task/rgn/CMakeLists.txt @@ -0,0 +1,14 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c") + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rgn) +include_directories(../comm/include) + +add_library(rgn STATIC ${_SOURCES}) +install(TARGETS rgn DESTINATION lib) + diff --git a/freertos/cvitek/task/rgn/include/rgn_main.h b/freertos/cvitek/task/rgn/include/rgn_main.h new file mode 100644 index 000000000..7aa9c62ce --- /dev/null +++ b/freertos/cvitek/task/rgn/include/rgn_main.h @@ -0,0 +1,83 @@ +#ifndef __RGN_MAIN_H__ +#define __RGN_MAIN_H__ + +#include <cvi_comm_video.h> +#include "cvi_comm_osdc.h" + +#ifdef __cplusplus +#if __cplusplus + extern "C" { +#endif +#endif + +#define RGN_CMPR_MAX_OBJ_NUM 10 +#define RGN_CMPR_MIN_SIZE 128000 + +typedef enum _CMDQU_CB_CMD_E { + CMDQU_CB_RGN_COMPRESS, + CMDQU_CB_RGN_GET_COMPRESS_SIZE, + CMDQU_CB_RGN_COMPRESS_DONE, + CMDQU_CB_MAX +} CMDQU_CB_CMD_E; + +typedef enum _RGN_CMPR_FORMAT_E { + CMPR_ARGB8888 = 0, + CMPR_ARGB4444 = 4, + CMPR_ARGB1555 = 5, + CMPR_LUT8 = 8, + CMPR_LUT4 = 10, + NUM_OF_CMPR_FORMAT +} RGN_CMPR_FORMAT_E; + +typedef enum _RGN_CMPR_TYPE_E { + RGN_CMPR_RECT = 0, + RGN_CMPR_BIT_MAP, + RGN_CMPR_LINE, + RGN_CMPR_BUTT +} RGN_CMPR_TYPE_E; + +typedef struct _RGN_LINE_ATTR_S { + POINT_S stPointStart; + POINT_S stPointEnd; + CVI_U32 u32Thick; + CVI_U32 u32Color; +} RGN_LINE_ATTR_S; + +typedef struct _RGN_RECT_ATTR_S { + RECT_S stRect; + CVI_U32 u32Thick; + CVI_U32 u32Color; + CVI_U32 u32IsFill; +} RGN_RECT_ATTR_S; + +typedef struct _RGN_BITMAP_ATTR_S { + RECT_S stRect; + CVI_U32 u32BitmapPAddr; +} RGN_BITMAP_ATTR_S; + +typedef struct _RGN_CMPR_OBJ_ATTR_S { + RGN_CMPR_TYPE_E enObjType; + union { + RGN_LINE_ATTR_S stLine; + RGN_RECT_ATTR_S stRgnRect; + RGN_BITMAP_ATTR_S stBitmap; + }; +} RGN_CMPR_OBJ_ATTR_S; + +typedef struct _RGN_CANVAS_CMPR_ATTR_S { + CVI_U32 u32Width; + CVI_U32 u32Height; + CVI_U32 u32BgColor; + PIXEL_FORMAT_E enPixelFormat; + CVI_U32 u32BsSize; + CVI_U32 u32ObjNum; +} RGN_CANVAS_CMPR_ATTR_S; + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif + +#endif /* __RGN_MAIN_H__ */ diff --git a/freertos/cvitek/task/rgn/src/cv1835/display_main.c b/freertos/cvitek/task/rgn/src/cv1835/display_main.c new file mode 100644 index 000000000..acbfcc61f --- /dev/null +++ b/freertos/cvitek/task/rgn/src/cv1835/display_main.c @@ -0,0 +1,30 @@ +/* Kernel includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "task.h" +#include "semphr.h" + +/* Xilinx includes. */ +#include "printf.h" +#include "rtos_queue.h" + +#include "display_main.h" + +void prvDisplayRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + + printf("prvDisplayRunTask run\n"); + + for (;;) { + xQueueReceive(xQueueDisplay, &rtos_cmdq, portMAX_DELAY); + printf("prvDisplayRunTask id=%d cmd=%d para=%lx\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id == 4) { + xQueueSend(xQueueCmdqu, &rtos_cmdq, 0U); + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/rgn/src/riscv64/rgn_main.c b/freertos/cvitek/task/rgn/src/riscv64/rgn_main.c new file mode 100644 index 000000000..bbbb3cd12 --- /dev/null +++ b/freertos/cvitek/task/rgn/src/riscv64/rgn_main.c @@ -0,0 +1,265 @@ +/* Standard includes. */ +#include <stdio.h> +#include <stdlib.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" + +#include "rgn_main.h" +#include "cvi_osdc.h" +#include "comm.h" + +QueueHandle_t xQueueRGN; +QueueHandle_t xQueueRGNCmdqu; + +// #define __RGN_DEBUG__ + +#ifdef __RGN_DEBUG__ +#define rgn_printf printf +#else +#define rgn_printf(...) +#endif + +void prvRGNRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + + int i, j, delta_x, delta_y; + void *pvAddr = NULL; + unsigned char obj_num = 0, line_num = 0; + int bs_size, status; + RGN_CANVAS_CMPR_ATTR_S *canvas_cmpr_attr = NULL; + RGN_CMPR_OBJ_ATTR_S *obj_attr = NULL; + OSDC_Canvas_Attr_S canvas; + OSDC_DRAW_OBJ_S *obj_vec = NULL; + RGN_LINE_ATTR_S *line_attr = NULL; + + rgn_printf("%s run\n", __func__); + xQueueRGN = main_GetMODHandle(E_QUEUE_RGN); + xQueueRGNCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + + for (;;) { + xQueueReceive(xQueueRGN, &rtos_cmdq, portMAX_DELAY); + + rgn_printf("%s ip=%d cmd=%d para=%#x\n", + __func__, rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + /* send cmd back to Cmdqu task and send mailbox to linux */ + if (rtos_cmdq.ip_id != IP_RGN) { + //send back the err msg + rgn_printf("RGNRunTask got invalid ip_id[%d]\n", rtos_cmdq.ip_id); + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + goto WRONG_CMD_IP_ID; + } + + rgn_printf("xPortGetFreeHeapSize(%d)\n", xPortGetFreeHeapSize()); + + canvas_cmpr_attr = (RGN_CANVAS_CMPR_ATTR_S *)rtos_cmdq.param_ptr; + rgn_printf("phyAddr(%x) u32Width(%d) u32Height(%d) u32BgColor(%x) enPixelFormat(%d) u32ObjNum(%d)\n", + rtos_cmdq.param_ptr, + canvas_cmpr_attr->u32Width, + canvas_cmpr_attr->u32Height, + canvas_cmpr_attr->u32BgColor, + canvas_cmpr_attr->enPixelFormat, + canvas_cmpr_attr->u32ObjNum); + rgn_printf("u32BsSize(%d)\n", canvas_cmpr_attr->u32BsSize); + + canvas.width = canvas_cmpr_attr->u32Width; + canvas.height = canvas_cmpr_attr->u32Height; + obj_num = canvas_cmpr_attr->u32ObjNum; + line_num = 0; + + obj_vec = (OSDC_DRAW_OBJ_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(OSDC_DRAW_OBJ_S)); + if (obj_vec == NULL) { + rgn_printf("(%s) malloc failed!\n", __func__); + goto WRONG_CMD_IP_ID; + } + + line_attr = (RGN_LINE_ATTR_S *)pvPortMalloc((obj_num ? obj_num : 1) * sizeof(RGN_LINE_ATTR_S)); + if (line_attr == NULL) { + rgn_printf("(%s) malloc failed!\n", __func__); + vPortFree(obj_vec); + goto WRONG_CMD_IP_ID; + } + + obj_attr = (RGN_CMPR_OBJ_ATTR_S *)((CVI_U8 *)rtos_cmdq.param_ptr + sizeof(RGN_CANVAS_CMPR_ATTR_S)); + if (obj_num) { + for (i = 0; i < obj_num; ++i) { + if (obj_attr[i].enObjType == RGN_CMPR_LINE) { + rgn_printf("start(%d %d) end(%d %d) Thick(%d) Color(0x%x)\n", + obj_attr[i].stLine.stPointStart.s32X, + obj_attr[i].stLine.stPointStart.s32Y, + obj_attr[i].stLine.stPointEnd.s32X, + obj_attr[i].stLine.stPointEnd.s32Y, + obj_attr[i].stLine.u32Thick, + obj_attr[i].stLine.u32Color); + line_attr[line_num] = obj_attr[i].stLine; + line_num++; + } else if (obj_attr[i].enObjType == RGN_CMPR_RECT) { + rgn_printf("xywh(%d %d %d %d) Thick(%d) Color(0x%x) is_fill(%d)\n", + obj_attr[i].stRgnRect.stRect.s32X, + obj_attr[i].stRgnRect.stRect.s32Y, + obj_attr[i].stRgnRect.stRect.u32Width, + obj_attr[i].stRgnRect.stRect.u32Height, + obj_attr[i].stRgnRect.u32Thick, + obj_attr[i].stRgnRect.u32Color, + obj_attr[i].stRgnRect.u32IsFill); + } else if (obj_attr[i].enObjType == RGN_CMPR_BIT_MAP) { + rgn_printf("xywh(%d %d %d %d) u32BitmapPAddr(%x)\n", + obj_attr[i].stBitmap.stRect.s32X, + obj_attr[i].stBitmap.stRect.s32Y, + obj_attr[i].stBitmap.stRect.u32Width, + obj_attr[i].stBitmap.stRect.u32Height, + obj_attr[i].stBitmap.u32BitmapPAddr); + } + } + } + + // workaroud to fix draw line issue for now + j = 0; + while (j++ < 5) { + for (i = 0; i < line_num; ++i) { + delta_x = abs(line_attr[i].stPointStart.s32X - line_attr[i].stPointEnd.s32X); + delta_y = abs(line_attr[i].stPointStart.s32Y - line_attr[i].stPointEnd.s32Y); + if (delta_y < line_attr[i].u32Thick) { + if (i < line_num - 1) { + line_attr[i + 1].stPointStart.s32Y = line_attr[i].stPointEnd.s32Y + = line_attr[i].stPointStart.s32Y; + } else { + line_attr[0].stPointStart.s32Y = line_attr[i].stPointEnd.s32Y + = line_attr[i].stPointStart.s32Y; + } + } + if (delta_x < line_attr[i].u32Thick) { + if (i < line_num - 1) { + line_attr[i + 1].stPointStart.s32X = line_attr[i].stPointEnd.s32X + = line_attr[i].stPointStart.s32X; + } else { + line_attr[0].stPointStart.s32X = line_attr[i].stPointEnd.s32X + = line_attr[i].stPointStart.s32X; + } + } + } + delta_x = abs(line_attr[0].stPointStart.s32X - line_attr[0].stPointEnd.s32X); + delta_y = abs(line_attr[0].stPointStart.s32Y - line_attr[0].stPointEnd.s32Y); + if ((delta_x > line_attr[0].u32Thick || delta_x == 0) && + (delta_y > line_attr[0].u32Thick || delta_y == 0)) + break; + } + + if (obj_num) { + for (i = 0, j = 0; i < obj_num; ++i) { + if (obj_attr[i].enObjType == RGN_CMPR_LINE) { + CVI_OSDC_SetLineObjAttr( + &canvas, + &obj_vec[i], + line_attr[j].u32Color, + line_attr[j].stPointStart.s32X, + line_attr[j].stPointStart.s32Y, + line_attr[j].stPointEnd.s32X, + line_attr[j].stPointEnd.s32Y, + line_attr[j].u32Thick); + j++; + } else if (obj_attr[i].enObjType == RGN_CMPR_RECT) { + CVI_OSDC_SetRectObjAttr( + &canvas, + &obj_vec[i], + obj_attr[i].stRgnRect.u32Color, + obj_attr[i].stRgnRect.stRect.s32X, + obj_attr[i].stRgnRect.stRect.s32Y, + obj_attr[i].stRgnRect.stRect.u32Width, + obj_attr[i].stRgnRect.stRect.u32Height, + obj_attr[i].stRgnRect.u32IsFill, + obj_attr[i].stRgnRect.u32Thick); + } else if (obj_attr[i].enObjType == RGN_CMPR_BIT_MAP) { + CVI_OSDC_SetBitmapObjAttr( + &canvas, + &obj_vec[i], + (void *)obj_attr[i].stBitmap.u32BitmapPAddr, + obj_attr[i].stBitmap.stRect.s32X, + obj_attr[i].stBitmap.stRect.s32Y, + obj_attr[i].stBitmap.stRect.u32Width, + obj_attr[i].stBitmap.stRect.u32Height, + false); + } + } + } + + switch (canvas_cmpr_attr->enPixelFormat) { + case PIXEL_FORMAT_ARGB_8888: + canvas.format = OSD_ARGB8888; + break; + + case PIXEL_FORMAT_8BIT_MODE: + canvas.format = OSD_LUT8; + break; + + case PIXEL_FORMAT_ARGB_4444: + canvas.format = OSD_ARGB4444; + break; + + default: + case PIXEL_FORMAT_ARGB_1555: + canvas.format = OSD_ARGB1555; + break; + } + + switch (rtos_cmdq.cmd_id) { + case CMDQU_CB_RGN_GET_COMPRESS_SIZE: + { + pvAddr = (void *)rtos_cmdq.param_ptr; + bs_size = CVI_OSDC_EstCmprCanvasSize(&canvas, &obj_vec[0], obj_num); + canvas_cmpr_attr->u32BsSize = bs_size; + rgn_printf("CVI_OSDC_EstCmprCanvasSize bs_size(%d)!\n", bs_size); + flush_dcache_range((uintptr_t)pvAddr, ALIGN(sizeof(RGN_CANVAS_CMPR_ATTR_S), 64)); + rtos_cmdq.ip_id = IP_RGN; + rtos_cmdq.param_ptr = 0; + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + } + break; + + case CMDQU_CB_RGN_COMPRESS: + { + pvAddr = (void *)rtos_cmdq.param_ptr; + status = CVI_OSDC_DrawCmprCanvas(&canvas, &obj_vec[0], obj_num ? obj_num : 0, pvAddr, + canvas_cmpr_attr->u32BsSize, &bs_size); + + if (status != 1) { + rgn_printf("CVI_OSDC_DrawCmprCanvas failed!\n"); + // return status(0xFFFFFFFF) and bs_size to C906B + *(unsigned int *)pvAddr = 0xffffffff; + *((unsigned int *)pvAddr + 1) = bs_size; + } else { + // save bitstream size in bit[32:63], after C906B gets it, + // it should be restored to image width and height + *((unsigned int *)pvAddr + 1) = bs_size; + rgn_printf("%s bs_size(%d)!\n", __func__, *((unsigned int *)pvAddr + 1)); + } + + flush_dcache_range((uintptr_t)pvAddr, ALIGN(bs_size, 64)); + rtos_cmdq.ip_id = IP_RGN; + rtos_cmdq.param_ptr = 0; + xQueueSend(xQueueRGNCmdqu, &rtos_cmdq, 0U); + } + break; + + default: + rgn_printf("%s rtos_cmdq.cmd_id(%d)!\n", __func__, rtos_cmdq.cmd_id); + break; + } + vPortFree(line_attr); + vPortFree(obj_vec); + +WRONG_CMD_IP_ID: + rtos_cmdq.ip_id = -1; + rtos_cmdq.cmd_id = -1; + rtos_cmdq.param_ptr = 0; + } +} diff --git a/freertos/cvitek/task/vcodec/CMakeLists.txt b/freertos/cvitek/task/vcodec/CMakeLists.txt new file mode 100644 index 000000000..e820cec85 --- /dev/null +++ b/freertos/cvitek/task/vcodec/CMakeLists.txt @@ -0,0 +1,17 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c") + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/jenc) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) +include_directories(../comm/include) + +add_library(vcodec STATIC ${_SOURCES}) +install(TARGETS vcodec DESTINATION lib) + diff --git a/freertos/cvitek/task/vcodec/include/h26x_enc.h b/freertos/cvitek/task/vcodec/include/h26x_enc.h new file mode 100644 index 000000000..6e32e5bf8 --- /dev/null +++ b/freertos/cvitek/task/vcodec/include/h26x_enc.h @@ -0,0 +1,8 @@ +#ifndef _H26X_ENC_H_ +#define _H26X_ENC_H_ + +enum VCORE_CMD_ID { + VCORE_CMD_ENCODE, +}; +#endif + diff --git a/freertos/cvitek/task/vcodec/src/cv1835/vcodec_main.c b/freertos/cvitek/task/vcodec/src/cv1835/vcodec_main.c new file mode 100644 index 000000000..7c34c1e90 --- /dev/null +++ b/freertos/cvitek/task/vcodec/src/cv1835/vcodec_main.c @@ -0,0 +1,73 @@ +/* Kernel includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "task.h" +#include "semphr.h" + +/* Xilinx includes. */ +#include "printf.h" +#include "rtos_queue.h" +#include "venc/main_enc_cvitest.h" +#include "cvi_venc.h" + +extern QueueHandle_t xQueueVcodec; +extern QueueHandle_t xQueueCmdqu; + +// just to build & compiler venc sdk, do not need run this +__attribute__((optimize("-O0"))) void cvi_venc_test(void) +{ + int venc_test = 0; + + if (venc_test != 0) { + cvitest_venc_main(0, 0); + // venc_main(0, 0); + CVI_VENC_CreateChn(0, 0); + CVI_VENC_SendFrame(0, 0, 0); + CVI_VENC_StartRecvFrame(0, 0); + CVI_VENC_StopRecvFrame(0); + CVI_VENC_QueryStatus(0, 0); + CVI_VENC_GetStream(0, 0, 0); + CVI_VENC_ReleaseStream(0, 0); + CVI_VENC_DestroyChn(0); + CVI_VENC_ResetChn(0); + CVI_VENC_GetFd(0); + CVI_VENC_SetJpegParam(0, 0); + CVI_VENC_GetJpegParam(0, 0); + CVI_VENC_RequestIDR(0, 0); + CVI_VENC_SetChnAttr(0, 0); + CVI_VENC_GetChnAttr(0, 0); + CVI_VENC_GetRcParam(0, 0); + CVI_VENC_SetRcParam(0, 0); + CVI_VENC_GetRefParam(0, 0); + CVI_VENC_SetRefParam(0, 0); + CVI_VENC_GetRoiAttr(0, 0, 0); + CVI_VENC_SetFrameLostStrategy(0, 0); + CVI_VENC_SetRoiAttr(0, 0); + CVI_VENC_GetFrameLostStrategy(0, 0); + CVI_VENC_SetChnParam(0, 0); + CVI_VENC_GetChnParam(0, 0); + } +} + +void prvVcodecRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + + printf("prvVcodecRunTask run\n"); + // init + vpu_init(); + printf("init done\n"); + cvi_venc_test(); + + for (;;) { + xQueueReceive(xQueueVcodec, &rtos_cmdq, portMAX_DELAY); + printf("prvVcodecRunTask id=%d cmd=%d para=%lx\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id == 1) { + xQueueSend(xQueueCmdqu, &rtos_cmdq, 0U); + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/vcodec/src/riscv64/vcodec_main.c b/freertos/cvitek/task/vcodec/src/riscv64/vcodec_main.c new file mode 100644 index 000000000..388a95cee --- /dev/null +++ b/freertos/cvitek/task/vcodec/src/riscv64/vcodec_main.c @@ -0,0 +1,143 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "fast_image.h" +#include "comm.h" +#include "h26x_enc.h" +#include "intr_conf.h" +#include "cvi_comm_video.h" +#include "vi_uapi.h" +#include "jenc.h" + +QueueHandle_t xQueueVcodec; +QueueHandle_t xQueueVCCmdqu; +QueueHandle_t xQueueVICmdqu; +extern struct transfer_config_t transfer_config; + +#define JPEG_ADDR_ALIGN 16 + + +JPEG_PIC encoded_pics[MAX_JPEG_NUM]; +CVI_S32 num_encoded = 0; +CVI_U32 cur_bit_addr = 0x0; + +static void encode_one_jpeg(CVI_U32 width, CVI_U32 height, CVI_U32 phySrcAddr, CVI_U64 pts) +{ + int pic_size = 0; + + if (num_encoded >= MAX_JPEG_NUM) { + printf("[vcodec][error] max number of encoded jpeg pictures reached\n"); + return; + } + + pic_size = jpu_enc(width, height, phySrcAddr, cur_bit_addr, pts); + if (pic_size < 0) { + printf("[vcodec][error] jpeg encode fail\n"); + return; + } + + encoded_pics[num_encoded].width = width; + encoded_pics[num_encoded].height = height; + encoded_pics[num_encoded].addr = cur_bit_addr; + encoded_pics[num_encoded].size = pic_size; + encoded_pics[num_encoded].pts = pts; + + printf("[vcodec] jpeg %d: %dx%d, %d bytes @ 0x%x, pts %lld\n", + num_encoded, + encoded_pics[num_encoded].width, + encoded_pics[num_encoded].height, + encoded_pics[num_encoded].size, + encoded_pics[num_encoded].addr, + encoded_pics[num_encoded].pts); + + cur_bit_addr += encoded_pics[num_encoded].size; + cur_bit_addr = (cur_bit_addr + (JPEG_ADDR_ALIGN - 1)) & ~(JPEG_ADDR_ALIGN - 1); + num_encoded++; +} + +void prvVcodecRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + u8 encode_type; + cmdqu_t rtos_cmdq; + printf("prvVcodecRunTask run\n"); + + xQueueVcodec = main_GetMODHandle(E_QUEUE_VCODEC); + xQueueVCCmdqu = main_GetMODHandle(E_QUEUE_CMDQU); + xQueueVICmdqu = main_GetMODHandle(E_QUEUE_VI); + + /* get enc buffer information */ + printf("trans enc buff addr = %x\n", transfer_config.encode_buf_addr); + printf("trans enc buff size = %x\n", transfer_config.encode_buf_size); + printf("trans enc img addr = %x\n", transfer_config.encode_img_addr); + printf("trans enc img size = %x\n", transfer_config.encode_img_size); + printf("trans enc type = %x\n", transfer_config.image_type); + encode_type = transfer_config.image_type; + cur_bit_addr = transfer_config.encode_img_addr; + + memset(&encoded_pics, 0, sizeof(encoded_pics)); + +#if 0 + encode_one_jpeg(352, 288, transfer_config.encode_buf_addr, 22446688); +#endif + + for (;;) { + xQueueReceive(xQueueVcodec, &rtos_cmdq, portMAX_DELAY); + //TODO: wait cv181x command queue and add action for command + printf("prvVcodecRunTask ip=%d cmd=%d para=%lx\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + + if (rtos_cmdq.ip_id == IP_VCODEC) { + switch (rtos_cmdq.cmd_id) { + case SYS_CMD_INFO_STOP_ISR: + /* do something to stop isr */ + + disable_irq(JPEG_INTERRUPT); + disable_irq(H264_INTERRUPT); + disable_irq(H265_INTERRUPT); + /* info linux, rtos isr is disabled */ + rtos_cmdq.cmd_id = SYS_CMD_INFO_STOP_ISR_DONE; + xQueueSend(xQueueVCCmdqu, &rtos_cmdq, 0U); + break; + case VCORE_CMD_ENCODE: + switch (encode_type) { + case E_FAST_JEPG: + break; + case E_FAST_H264: + break; + case E_FAST_H265: + break; + } + break; + case CODEC_CMDQ_RECV_BUF: + { + VIDEO_FRAME_S buf; + + buf = *((struct _VIDEO_FRAME_S *)rtos_cmdq.param_ptr); + + printf("VC_RECV_BUF w_h=%d_%d, addr=0x%x, PTS=%d\n", + buf.u32Width, buf.u32Height, buf.u64PhyAddr[0], buf.u64PTS); + + encode_one_jpeg(buf.u32Width, buf.u32Height, buf.u64PhyAddr[0], buf.u64PTS); + + rtos_cmdq.ip_id = IP_VI; + rtos_cmdq.cmd_id = VI_CMDQ_INFO_RECV_BUF_ACK; + xQueueSend(xQueueVICmdqu, &rtos_cmdq, 0U); + break; + } + default: + break; + } + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/vi/CMakeLists.txt b/freertos/cvitek/task/vi/CMakeLists.txt new file mode 100644 index 000000000..f66ecd578 --- /dev/null +++ b/freertos/cvitek/task/vi/CMakeLists.txt @@ -0,0 +1,18 @@ +file(GLOB _SOURCES "src/${RUN_ARCH}/*.c") + +include_directories(include) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/vi) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) +include_directories(../comm/include) + +add_library(vi STATIC ${_SOURCES}) +install(TARGETS vi DESTINATION lib) + diff --git a/freertos/cvitek/task/vi/include/vi_task_main.h b/freertos/cvitek/task/vi/include/vi_task_main.h new file mode 100644 index 000000000..e69de29bb diff --git a/freertos/cvitek/task/vi/src/riscv64/vi_task_main.c b/freertos/cvitek/task/vi/src/riscv64/vi_task_main.c new file mode 100644 index 000000000..1c611e50c --- /dev/null +++ b/freertos/cvitek/task/vi/src/riscv64/vi_task_main.c @@ -0,0 +1,82 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" +#include "timers.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" +#include "fast_image.h" +#include "intr_conf.h" +#include "comm.h" +#include "cvi_vi.h" +#include "vi_uapi.h" + +static QueueHandle_t gVIQueHandle; +static QueueHandle_t gCMDQUQueHandle; +extern struct transfer_config_t transfer_config; + +void prvVIRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + struct transfer_config_t *p_transfer_config; + cmdqu_t rtos_cmdq; + + printf("%s:%d run\n", __FUNCTION__, __LINE__); + gVIQueHandle = main_GetMODHandle(E_QUEUE_VI); + gCMDQUQueHandle = main_GetMODHandle(E_QUEUE_CMDQU); + /* get isp buffer information */ + printf("isp buffer addr = %x\n", transfer_config.isp_buffer_addr); + printf("isp buffer size = %x\n", transfer_config.isp_buffer_size); + + CVI_VI_Start(transfer_config.isp_buffer_addr, transfer_config.isp_buffer_size); + + for (;;) { + xQueueReceive(gVIQueHandle, &rtos_cmdq, portMAX_DELAY); + printf("prvVIRunTask ip=%d, cmd=%d, para=0x%x\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + + if (rtos_cmdq.ip_id == IP_VI) { + switch (rtos_cmdq.cmd_id) { + case SYS_CMD_INFO_TRANS: + /* send from linux side */ + p_transfer_config = (struct transfer_config_t *) rtos_cmdq.param_ptr; + printf("trans isp buff addr = %x\n", p_transfer_config->isp_buffer_addr); + printf("trans isp buff size = %x\n", p_transfer_config->isp_buffer_size); + /* update rtos local buffer parameters */ + transfer_config.isp_buffer_addr = p_transfer_config->isp_buffer_addr; + transfer_config.isp_buffer_size = p_transfer_config->isp_buffer_size; + break; + case SYS_CMD_INFO_STOP_ISR: + /* do something to stop isr */ + CVI_VI_Stop(); + + /* info linux that rtos isr is disabled */ + disable_irq(ISP_INT); + rtos_cmdq.cmd_id = SYS_CMD_INFO_STOP_ISR_DONE; + xQueueSend(gCMDQUQueHandle, &rtos_cmdq, 0U); + break; + case VI_CMDQ_INFO_RECV_BUF_ACK: + CVI_VI_QBUF(); + break; + default: + break; + } + } else { + //send back the err msg + printf("VIRunTask got invalid ip_id[%d]\n", rtos_cmdq.ip_id); + xQueueSend(gCMDQUQueHandle, &rtos_cmdq, 0U); + goto WRONG_CMD_IP_ID; + } + +WRONG_CMD_IP_ID: + rtos_cmdq.ip_id = -1; + rtos_cmdq.cmd_id = -1; + rtos_cmdq.param_ptr = NULL; + } +} diff --git a/freertos/cvitek/task/vip/CMakeLists.txt b/freertos/cvitek/task/vip/CMakeLists.txt new file mode 100644 index 000000000..69df3ce42 --- /dev/null +++ b/freertos/cvitek/task/vip/CMakeLists.txt @@ -0,0 +1,27 @@ +file(GLOB _SOURCES "src/${CHIP}/*.c") + +include_directories(${DRIVER_GPIO_DIR}/include) +include_directories(${DRIVER_CIF_DIR}/include) +include_directories(${DRIVER_VI_DIR}/include) +include_directories(${DRIVER_SENSOR_DIR}/include) + +include_directories(include) + +include_directories(${CMAKE_INSTALL_INC_PREFIX}/arch) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/common) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/kernel) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/snsr_i2c) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/config) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/hal/cif) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/rtos_cmdqu) +include_directories(${CMAKE_INSTALL_INC_PREFIX}/driver/fast_image) + +include_directories(../isp/isp/include/${CHIP}/) +include_directories(../isp/isp/${CHIP}/isp/inc/) +include_directories(../isp/isp/${CHIP}/isp/src/) +include_directories(../isp/isp/${CHIP}/isp_algo/inc/) + +include_directories(../isp/tmp_inc/) + +add_library(vip STATIC ${_SOURCES}) +install(TARGETS vip DESTINATION lib) diff --git a/freertos/cvitek/task/vip/include/vip_main.h b/freertos/cvitek/task/vip/include/vip_main.h new file mode 100644 index 000000000..e69de29bb diff --git a/freertos/cvitek/task/vip/src/cv181x/vip_main.c b/freertos/cvitek/task/vip/src/cv181x/vip_main.c new file mode 100644 index 000000000..ab9cb9c3a --- /dev/null +++ b/freertos/cvitek/task/vip/src/cv181x/vip_main.c @@ -0,0 +1,37 @@ +/* Standard includes. */ +#include <stdio.h> + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* cvitek includes. */ +#include "printf.h" +#include "rtos_cmdqu.h" + +#include "vip_main.h" + +static QueueHandle_t xQueueVip; +static QueueHandle_t xQueueCmdqu; + +void prvVipRunTask(void *pvParameters) +{ + // Remove compiler warning about unused parameter. + (void)pvParameters; + cmdqu_t rtos_cmdq; + + printf("prvVipRunTask run\n"); + + for (;;) { + xQueueReceive(xQueueVip, &rtos_cmdq, portMAX_DELAY); + // wait cv181x command queue and add action for command + printf("prvVipRunTask id=%d cmd=%d para=%lx\n", + rtos_cmdq.ip_id, rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + // send cmd back to Cmdqu task and send mailbox to linux + if (rtos_cmdq.ip_id == IP_VIP) { + xQueueSend(xQueueCmdqu, &rtos_cmdq, 0U); + } + rtos_cmdq.ip_id = -1; + } +} diff --git a/freertos/cvitek/task/vip/src/cv1835/vip_main.c b/freertos/cvitek/task/vip/src/cv1835/vip_main.c new file mode 100644 index 000000000..76841dd09 --- /dev/null +++ b/freertos/cvitek/task/vip/src/cv1835/vip_main.c @@ -0,0 +1,30 @@ +/* Kernel includes. */ +#include "linux/types.h" +#include "FreeRTOS_POSIX.h" +#include "task.h" +#include "semphr.h" + +/* Xilinx includes. */ +#include "printf.h" +#include "rtos_queue.h" + +#include "vip_main.h" + +void prvVipRunTask(void *pvParameters) +{ + /* Remove compiler warning about unused parameter. */ + (void)pvParameters; + cmdqu_t rtos_cmdq; + + printf("prvVipRunTask run\n"); + + for (;;) { + xQueueReceive(xQueueVip, &rtos_cmdq, portMAX_DELAY); + printf("prvVipRunTask id=%d cmd=%d para=%lx\n", rtos_cmdq.ip_id, + rtos_cmdq.cmd_id, rtos_cmdq.param_ptr); + if (rtos_cmdq.ip_id == 3) { + xQueueSend(xQueueCmdqu, &rtos_cmdq, 0U); + } + rtos_cmdq.ip_id = -1; + } +}

g^z)=XAyiE@|)qy;V0nixd#6Q`G4Rm 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 z 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

AT3c>y}ETXMVV7lZO%?J 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¥?LCvJWe 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

MJc9oH#H@cZH04XC3@8 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%0ApH|`7gRLM^M6Vo;b4Vn3g2+ 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≀cib>z7XLgheC(;Y|7zDL$Zp+8hzl_;YmWnrV_nr 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≤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 z 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

L5W_JLU1jRD8CMYvFblT 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

q;C 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 B;-sO;=5d`v*Y#`>jm->x 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/lib/libcomm.a b/freertos/cvitek/install/lib/libcomm.a new file mode 100644 index 0000000000000000000000000000000000000000..17409d3823643fc22e56cac450cc7b703a9606c3 GIT binary patch literal 78676 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%0AD%#n4`Z}%g_AzH0_$Py} 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 F{{z~wI4b}E literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/lib/libcommon.a b/freertos/cvitek/install/lib/libcommon.a new file mode 100644 index 0000000000000000000000000000000000000000..58c2d8b4235a7ec30977038d7df7599a5d13a8d3 GIT binary patch literal 141162 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 literal 0 HcmV?d00001 diff --git a/freertos/cvitek/install/lib/libdriver.a b/freertos/cvitek/install/lib/libdriver.a new file mode 100644 index 0000000000000000000000000000000000000000..07859efa090f22a9337bfae941b4bda5862821d5 GIT binary patch literal 8329108 zcmeFa2b>$#x&D77ZL`;2H^4T=AlxZl@7n7|3F~#k#ux_|2u8>!Q&by9!^U(W!O3hNtDdjR}3! zn1j3C_dhh_P7_*s>WBUh&pN{t{eNk>3DbXM@Phy6{`;TXYV?0#>7}Qdz5V~l-;Xr=;(z|*i_E|3f7z6bDfWNL^uL&Y z<^LIVZ<@gW>u)w^{15*(-Sn#2m;WoixYqE0+s4aH+tuUV^S`~bk2$}5+T3JjW@mf* zypHBh)79CXiFL2(&LrDosg6{}BvRdtO>N0oDt)#|c4QYR>DG6plX?1d^6Z`@d9Xgw zX=j;qV@G#$G98O|b~LA2OjoL-y=S${-qV;SEf-{$x_UD4>{7Q|YDp@~bkkCzr@bqd z%a%*J=wQ8s4y3)iCF>q*>S=B^UFlRura9Ku8DE)Q6OZ{;CcY{a>!!F_=fce+iKMMU zR?*bhoiwfI*euRFMyYfo5N?_7##Kp^x28u*NS~diM(j){O*+{UJ13pWB%M!7SBe_7 zJGQE^EtN1fl}M$N@l2|-Bi7lIp$0Uu_GEikXJ=cCS}xX@NThS5tFy~c_O2LhHV&sb z8B4S`#=4W4p8OR}1uICN>Fo05>6WGdx~6B9N2&dwpj;}}eNL>sGeONjjQbKr#9>=; z>f9WsfC{*TRLEUW1zf@^;0mZm#JaPE(w@Lg6wjpFw1ILldekOuAK-d)$CDjNo6&HJ zn}WQOjqRz97GrBky&>5_I|`+w7}|DRJW<;evW|j;%zIPsm&BibW$NJ zI-9y<=X9o5CTT0Xowt>OE?mbOv>-!wXLG&-hnwt3(4Lw|Qi1IW7ma1yZ7i{M;{6sX zr5Tf}Bp0ibY1-#oS8^lpc+uL}k!YhhDalo(>Qe(yB2G<1{X5msooVcdTa=*QpYB|f zV{MuCSWB#pdN(gMWtS3mX-&K*9ZNK38qJ!P#&+t^b{Q7q@pj(N;>|6lW!~aNvscYX zr%lVUlv|(}Y&)J!Xx^;!s*m<0kGHXMbZwnf?kdBLpIFmD+mMF`lj-T8jTxgM#&Auk zKD@`-W!d|9xrsA%QA4_c4+!mX)O?MZR9tn9%_`$Agu^H$6X{j4&MqofmboIbcs7-- z%Wi{oW@VD5aZbePWLuKQCaOBsb7p3>T}rOvL4kKY>Lr~WZK)3Gm;@+gyA+_twl-9_ z9v5#*E2MI`YCHhCp@&vXAwKsN=6CKWIwcQ5PB`63x76Rg4$g%N0KM}Q51z&47n2c3m;cZze zM~)q$iKl7j4?vQS`(<;AcDUAaXgF_bi$h8r7;@pA&CN8^D3wm^NCdBFX-svXI6nr? zE+L%L)KXX|!~Ci-$$3zYG&Op2x}CNugk}2!4YRzb#d^AEH%w{}b`@aiDe=a(cuyPe z``vA+IQ2drf0LOE50mYU9W;1QZ%xz2UKOLmwCg%-2XedF`G}^Q**WFMo^u!8P1SF5 zqXBgm8rFDRh|#f(J5Ic{h5HwQ)>sprn9%Xp&UK4+rxMf_e1JM9%|k(sHzi2RE9_R! zkAXTjueNLQ8%EdUjS&i4J7QFtR|Yq5)0(cv?rv`*X$|tMGSrZ|qBUzJ1ox6AZt=XV z@n)(^9%<{&b{wg9W3n|xT_LX<2+Pmf((Z?A_fu|ed(ag>2lEQ0SmS*B%Y$u&i1(&^ zQFBi>pBS|!sAjZ{r3j(;0mwIzV^Sc@?NZ!<-4QEa z=vclk(R!{IC^bo(UUtVM6&KdI~6mEz9Hm@)q zsNF8Xr%{3V=qQuV`K&8#cca2Qa?0mraOZpZP)_#pA+-vhjpd*maAx;lZt4Yr`vo^i((ib@ALP0Q?~u(+H0;=e5G^J0k3!k? zG=OC~vu|W5UYjd-Y~yzn(zLwB9m*)qf};4m+rC52sr?Y+1tG2}AO-c}hRb(uD@1XB zs3*|I?>qBz+EeWSBm-2uE4Ip>lG8$uF0642jWM@in}r-KhiUG%0R)|FbFY@_$k z@inv+W1USa+^Iu%7A3e35;wfAE8V$*-b&NCEY+OOf$hq8dsmwFf4&sLTAQR(wp4d3 z09Q^<5O3^Q)!6M^y4pJF6f@bSvzdY-$Xi(?6s$fq z7BwBUL2I%xVfbV%m&$t0?#|4lO*7NB^kUw}va4p%hRUtW@x{r^$<%-+HLb|@Hd`Iy z4YuKf)-0f=E8y(zvKSt$smb|@482KAbs6p}@^;0zD>v;uZJ88lx+U%2%b51gRdnWS zFAT)GXybJ?rs-XitmJl#ceZuX+tln5y(OcoYmIyy>Hr_7Vj}Ev?kl{KcDH!4yW4bj)4<1j89VVcisp1;TMa z?jUqUA?v_WpRumFv#qW3oFt9lJsmkUuc4ugI-1*m!KSH)-W72eBxt7%1K~Jqn>(9< zwiX@Gvq|1$uA1HF=2N;_!-uH$#?>)@m5ZCPJ)F=x8#*qgI_Qd?Tp{CwjH7Zj2!(WI z29rEg@kNkWW=$8pnTM>Yu9Q6=c30hUEBGAQXKkwz-Mrb{21Xn1@pPdm)!2d5>Q~te zez|s4b1G375M5b8555XOo6%kq%te=IYow0BS4{G1L)VE`Ch4lG8~Ibsu~cU~L;E2u z*~=xopeI)G#`ahjUA~}gW#3`afts%9Qg>}`r2W%X(-ylp+0osZ=F8zrI_cm-M=J8C z%UxtZ`+`ZeubwnEvqKDhute`px!5MUgtDTmhxZ`9+}*y$ zmC>9W5nPZ*jeuW~Q3E%cEV7%nXh0XQCDB*Y-2@ zAxrMpWpmK6pBc9QXw&CjCDE>}w6>>%-;+f7(rHIedogRUu7;DxKUbp?KnW3><(xy4zyz=X2>7|^i4_!rmw{99tp$($k zgCoYY7<#c&a4EyesFYvc6uz5E8FtDtvvYIV+R2|AHh8QF4-RcVXy(q%<;IpX_nSK& zHrpS5``x!LU1!TWs7P6Kl!~wHrkXT2rrM(8Mz20HI(qeCy-iPdGAesv)Sg*JWf$d7 z_y>%5dCUt_OSXk}lo+#pV~H75W=gh~meh~gRQBo)ivKrjsZPY!%^pNl$rJStKD7RT zb(h_E<&9fHvmy_dn@#1@uWi_G#*DXa?XZa65=C7{jq>3o$`|aZ4Q33`n95#I?_JAhgw(;G&lphlLieKj z8v3uJz`F)*DGzfW7d7JAd=e-Gfb6Y4i5Yb3@8`K55ItW@OZAu6X*LL1kt2 z>t<`oT5f2zF1^uGQo~WKU%M!s3<#T}P^~}TwOoC3wU~bP{MQBz9c@PZ>ApLe@{Q1<9)Ul?T< zx2-qkI$G+YdDN1MXn*KJb(u%SQD60G>Qj}GE z+3IZ8itp2MuQTa|_-=Z&UL`{Y)nu1P?KeNWT(e&yyL|Hgn{>Ifr(a*Hep$sJdhN|_ zV`;(K_WB&9Ol8lciKgtJ;ar8vo+)*vZ1`}F);3qT{K$$H(o<6!Q$D^w2P}zdn+TaI zM&a_>eixIjA1BHu4md8mJZS*8nv1=B%8;vRg>|kdpH}gQtn+l|+}~zD$~l*ZLN0x@ zONUIzg>g(j4k_#s$M)yIOUwY9wS*HDrNt?==RGKHU(h~bx zYG2FjYq@=`u&=%Hj5^A`phm9DK33G%zE;`Se)hG$eH~z52bw_~V|{(a#)=iRd2N*{ zHdVgD)Fn3CM2Smmv55+o*lH7fT;c+o=Rx}KEH32GHN8q`e{oTUc3RmuXK-z={b@~&*`IrL znJuP*wXSo^j`JotRj{s?ZPc=g-n48(8yEUq#R^I|v+MfXQyrK1d_UWdTw<3^xONU* zU%@+##CbzG=O1DY;C=U8S{%$fPCs+NFj~G))8~_drqIm?vLx3&LoK~!$Xbf(Qq=1lcABJGFvHHK1kQ={9Uph&WX^(P?)1I2lES0b7?3$#4Q?g9M$P? za*T#f3$Lfw)5EKcIaJsFkp>=KL(Gg|80s4;)iPCN`L%;-%p55ay8(Dv!C`vZsG#14 zlvPxP_O~4Yz@c_9B9IOB1Pb*<7iypNX0;hHY1A4sV&o7CI`T&7%xLJ0P<>AQDGEJI zF}d(b6PlW<*KO1UTCY)5h6%lHhkRbtDRk{5vKXB*p*M;*b2DXg&0H2LwRIXZ)b_k~N*6lE~GFbj@Er!!LeIWO8BYb2!8?HSeClB9StRzK2KrXp=zh{iqvNDbp=-Hk9r1fR zo+xzl&=bAJz9W1>?}Dgk+^Wn$*Y5Y{fOv(jUDHe3=l&5IK`pNhJ!pq=UUcb)vgwI_ zJfR=?mOq8A-H@%#?fh+QJ55#*cMRk5-WHJe zyV<>T|i>)%@)?R$-Z_G#dCEU1QgngW@ z@krLm^3iN!j^h`edOcE_UG9BIuiWyXxn=5ISsuC+mM777u_Jy*hk$2T#Ptgw*_M9&lTxDh7%088x zZ9oZS`$#2+l`|hWj?53DwS!!-TSHLtesxgtaYMsHjM;yG!*LsPKq%zGAABfPXaYG5 zK{acKBA_$J>dsciN;wen+?r&MyVV@pk~t-v@~SL)UsR!tkgHNEFd=efFus!tU- z0&#*44S@ zyrN+!xB6ta0VFjA8*JX7W9;UfN>wn^Dk(blnO+&<*-_Yh#vGlCmwQyyHs3K=O&Sg= zX&Cqj3Z3k@YIEGsV}^EAX{*`YKmR3UPRj>$Wcfho1LP_(Z-h?!oG3Oo_F6}J#lnFp33a1k)fcK|9IBs3s|WY(Rom)x=!aI6Vt_F^Z!Ph z5~_Q&pwfO|0sDh5DdQ^;(XPF*;%=~4JBc4dKXWc^`#qtFqbj2GH>Mz%{#??6<427s zs`vmk{QwebjFJ!17#~#k0g4Qe>~*{DwO3Hb4Vi$Upa2Es^f&JybDo(zdgR(|b`$q` zm!<;?HnE>6p!mIz>}Amb2bO}t`Ganyz04TYupv`0tOtxrK{@@V8)QDdH=CrOc;7c5 z9AC1RMHg(658D2FnK7spL*`V!HUTIor=P92`xJt4!JZJ%h7oiA`5#30UbcP+L1Fea z=jQ@DsG!84EdL;1y4Fq;UuF2e>Hk{b-@65#<2U!Fu7u96Lw~R8ORx3=0(u(~nvm}7 z%uJ|Wk?dGWcfw8Jd-}S&8so_c@m00cYF5Wq)m7J2*XXyI=o>$&w#0nQ4=sc%`S7l44Z@#tiS9ABOTK~18>6;mQ zSFFF0{MKx3Y@-&nU;N&yYWe=s3AkU_n=yN|_4ZBpV&B|I-tgg9WAr}Qw6~`^t6TXH+B@gG#m-hicm>7 za{2kZP)b*edHz9OOG2fgvdHhPp54hV&;Kdw9~S=$t^a%bI>)z*I{qThabtla<&Ty{ z{$cY|)$E+A=7eR1WxMkJS+u<8@>=NKPriT4ILGz2QG?p#{+wfJNm(Sqj-{26PuO|5 z%x#T`Z8KgkH7SdfvVf|x^8;-qiegk*RRIu&MZdWbDX`U&lX=W$Mw*lto9%1@Vx?l_mX zbiT|_koie6KU3yS-ukd~({icpK$(x$W{^FtbU-A{aYWq4h|u@AXq)%9q4jeKSJmm9 z5LF+$Y^zgR>qIX5K)b?a2)h+Fp*u~fmQH0rYsj)Ad-Ym+a9L!P4SJ+&ID9P~Esa5? zy1i7l{h`t-5fL1u@zGvwyQ$c?stzxc`iDe5T*d%DO}Sk;w3S`fa5m?Arw2rqa4qP+ zV0Sy3`^peoN3w0T3t5n#)>8fAgKTfh?ZrW>Z-4LAujf|hsw@MeYb0q3X|XD4aB3l| z5-i=$whfJOw(CS*wnKNWM}5#G8o)+c?GD%0Rk@7LSvIoU!li*_zp(dZTffL>^6T>a z-usQV;qQF!y2!ysdRwV~G0MotI1|fy`or^{= z7o+s`pdu~_a~auv!!}Cka0QVMm)0XMN9(#=sdgvb0kZpZ#MNJUJ?!T$ngg>$y2XK! zk5dgOT+K5qt5A~5qn+G(X>~*v)DEAgcAzr_`Z}>I!5(8JUqqU*x0W|Vfou~UJ4>^p zX$f@^Y6Mr4LtVnPB}HG!gM?d;f`8H<<1=FeU<*FCq% zdf5jA#8QdXrmeH1C2C)KI=WLW9mxcJRX(#%-v;E~JWt5J2e7vk&suuoqS&I7=Pg_k zTYOq<-mFt&btjlYxM1Fi^Oo3Z^1VBmR=S_OwX-b|pqxVab6+{nW}zx~(i5N7&<#L| zvwNsfa+T(~O10yyjcKL-@e}Eb(z4NLd9rNENfSw8@2D?qpGgx> zAXTQlE1*Scr<`EuMoM}vP!~NBB$n*7PY$97quA$j;TGpGu!qR~$A!h!PMl_2xx>(% zr}Wq{zE_OymZB&5&|TTo7wwIFw1v`{XkJ4)wR_H%y}#de2B*(Ge=N6svzv`w=_*B+ zecMPEZ0N2p`er%Z)6KX3@pI7Z?Y#OlB;dA}@q0(7uuZ^yNS*D|)M6(tovB-R_P*)( z?pl(2Ur)EU(OY_VmmWU*O}6pElNQc)+s5s~Hl(==mqusS)<$bzY!Rpk=zREs<>{zoe)P89#(edFA;O z#=~NBb5Do8(_?(MdwN=TbbK@4F^TDp&hgwfbh{v}qy)b&k7vfyv)3BC`5`sDrKyhw zbmW>7_|bB!TvO$b1N`U#>`R4RmO8Ar1Db5tw7WfDkC3OrQO|Onm-lWrj=FI+d%3~D zkU*R7q{Xq5mo8j5Z{b{Aaq<%4OKP*LX2<58IAiYY*piPenk{40N*Z~zXS>~^y*rbl zy@-bfx5LMKboX+*qwO7b>`8R?@ST!2dKaY~OdvEjS_OpWVxGkv59E&8!A*}Hw#F_p zx(|}?I8L?8vt{TGUcUR2z7E*j#y2=8+&$CuV8WIpx@t36Uof$IrnRPV&F+_t{2)Mj z#vz2{GEdC5A-5LYxJOSUpgo%QDtguzKKhV`TIv`)$kUMx9#UurB+e@%1eM4sJDN7P zHMVr~9oJkt`y>&*@jW00tU&IW81z)E{NvEP(`LtHe`bGMBQtmA%%h^?meH{2@FsgVgvU7fujWSvl*y=}DmrUx$pvMn zt_z2E^?qc|y>lL2SY?i{v|mmQ$kR~OfBw4g{CgYhojo5u?)UI*pb%Qs_`P+f-8)~( zKPDhXSFiep%PQtG@E* zP|nLL)`hp0tm>`Vs!RiYF^s1foY7vVH=)C6v7~>g9or{%)x_HQrIBBn`6aUX zS}*$QP2Ti=T-ysXMff7OHyuRjFmNr$`4{T{ySTrFwOsBOIPGh$^~W+I{0V?J9Y*Oe zaC>JQF&9sv{=bU{w;SDZ?ZvP01h;3IyFn82sJ=fiUfkDQ+YyV2@Fynyb$7YHY`J#orl7K>5KH0V>UlMTB0-3vZ%W+-5uepE3P=9|< z+FKsn{=JH9mw!L*kLTJB{{Etz$90^PM-kGp@=-x1{l zK1KG&e?K0)KlYLP_g&lI_6pt~`YL|37jw!+q-$&d(>DO}o_Z`ZE_oF`a%$)q` z{q+9(BGud5yTEE+^Lp^+MfKPH3Rg!8&VJn5h+~>D$+hz7U9dN(_SO0y-gUj_>N6Y=6BXoklS8EiuAV+&-;7*ME(6Ozqj0PY4r(y zpEab&dF;QQ2VXxK;vOFaZKUxZ35*xtkJl8@*ZrIEX+`3x|2O0Q`EwV=7jlmXbCF61 z*6ngek@%bU5noZnrxKr8Sc5O|G%CGZZ3)*TYs-MW{b^V_%7O&+si$@56Za6F84D2_3&+$7k+-~eEJkzC%?k#`Lyg!}K0zAgMtPk*2AWgdUnrU!Ub+ktLG^wzlehZO8b zKd`zX1?Txc7Jj7X^OQ~dM@=oa*!leMg8lvH)@OK;&tIYi{c4ZZA7Wqe#nmfX;Qyi( zMU8*l`K|B-n$Yqeh5N_BH--B({;P2Ryz3py3&-aw`xVa`^P2b7&B4O`ejXLR($gPi zxxZEDfq<45j@xs^=PWz7!P%FE!tLW@bJ#2uzS#T9;u*p_JsuZ+NEw*W;tJtk^E%?$ z!vA6Cxjd_dpW^Ay7k-(i-z?mflk?$6;?gr2%^EMxD}*odd_E(*%8UOC!VmQLmxTL| zA-qd?r>Fn6@F(m%7w3b*|LDc}L*evr$GquD;WNwgu=%C%r@eAt6#k&sp1&7G^jE|Ckr&D&d!Uaeh+xOi#aA z_*XoBiSU~}pDTrTdF}jJ;jel=Hwyo_SFbM%Kit!QUHE4`|L+KYy(GUu9}@m_J~lrR zUhT#Il<;wOp3C$r;e9;*lJEn(`2QgMJWu~;;jiYb?b18K@AG`ecru;rx4hKB7C%+=i2je;iq}=KO_7yufBVP(+`*BO)m@I<(2Es zKWfY~p8hYQ-|6Yy1>7An;llmv45KWsF(bVC9x3_} zUPP0G`{!dv32*ZBGsNF(W;5S%zn2*EQQ>PnpHnR#XXbf)x$yNKZx#NS$Ge0N^V)y4 z@FgB!YkA>y&Mm_I`d%Wu%`5i`%WKRn;rtb!v3y8Aq|^<<{rA7OSw7BO=f!!4=$k#K zZwO!E@q2~u=kZ5``=2{JX8AaCf*1eO!aF_wtoZn6&@T!1`{(b)$KUVX67G(BxnTcU z#HYmWZ$nIdPHLAbEgxro>cu%o_&+^9Onm&$%SH(I+xaldYm6%=S9q=Ee($Fzj0^9R zliDTzAtFA0z3Rm?w}{U|;k`YdrIwE~Bkg#TTX}}?IUbK&USr(xDyLs*xpxqx)oI}a zb5gtH-VfB6a<9tkq}&d#+^tfsJ1@wYZ7Wjl4)M9k^ZBgs?|J+S;y=r4&o5bSUvh=g z(w)Nn?efhc`ul|Y?f@q1ne)6N_*b5S?py37-1q5k`8adE=fgj#!Ts4CKY7_r?tN_GeL7>TzVJHa zc=3P8^RE;Ca&P+{BYOVHE}UkG{v)1#f#^@L?UBo|#PY)XYfcyaEuKCu{8t`dDL(!c z$F%Tixgzb-8u9UetZbd|QFflobb6yL4PxgFnw0xZL z-%ov6_!sOvm+9-mf93J-*mU9j5f6&~7%$Er3P0Q9Pl}J1!_vgPB{Z+&9JNKs(Q^{HN&sk*36M*TV0;R0{XcKL-l;%N=TYjj8aC`y+(^Bo~TZIzo7( zSKm6}p4=QO{F`3?pCf#XSKpI_Kj&@7Q!S6u9-KeLg!|{i&BEvB%T2rRg&xlcPk8)1 z;jJEDZ+YSSuM33x=M~$8Pw{+q2>0Xvtnk&I{tLoadHjo(7k+Q^4&i=({)TYBpWG|_ zV9);%;YWJ>G2!(de@b|R$A2l@ukQ<%d!2#u{#Lkue)ziO-e5)gw}t!qe+uvK#lufV zqo3?5_*|Hu`9=@*<(IsvpK#xQf6Kj-CCWKWxWE4%D%^$zC5*M)z5u1;k?>i0lzx#( zxZe`T2tUTt&lEn+PxSPs3im&^jS2VLr&;(Y&!=6uf4s<8?zfsT{4`d6 z%FTSwXT5O09WD@lxToJH+%I>B@On@GS>b-Yz98H`4t`O%e;##*<%Q=t->}@@OO3hL z^1}0kM}*Ju;(ScFKfXOB{A5r6OX15r{(|rY9{-)?qdjWOUo9_u?u7e*v~d3_w+&fV z@IAmP%M0Hx>@Pg(m3)wJzdw((yzo5vaN)jBt?# zm2z*kJlD^4{JYcg+*kpcYdYg)-%L|+Tq+H`~~ZiJC3gv|JN*! zO3Gxv|ME8R0q)l{?YeqZWFJSF_XM))1vSz9$0Y_oI511$k%jz_MR<^(m1G|TmiLgz z>IE|v&OH94lWR=%f|>j>jTdU^rIuf2PUM$K{8Gm+llf%|z0}$lX0^;}tz;@KO=LFF z>ez~&V@Elr^AacP>=M7!v3(tvm`FDDw8R>ln$pQtoSw0GPHin`vkPo&7ueTH?c?3L zb6M$;j!DTVGtK1kiWeJ@6Ng4Kj-O^6GR-(PnsHz>tIdWXX^lpG#mZKl^hB;ZNn zH%a{LHesFk+3i7TyK#7~O(#Be;!`K()rnu7_|-{#b~97{$r9gWiEFa>O%}h&+K}3U zlf`(l7*7`C$znWN0-YkpQ^a_R7*7#ndU~mCVR~|@n~UER@tdMsNH^IOF`g>MQ^k0y z7*7@BsbV};jHin6R56|^##6;_n)po@&zuIkVdu=YvjvNn*zM5JV1sIy zt+7qxvX?EeMK4=m9cd2i1t*frx zX%YYLY`E zBcalI92sjlUUJ|7$$@7L4R#-Dm~Cg|BMl&%ce<4}*!`Pwxcb^{K{=$pu8Hi1At*6R zcbRU3ZLk9d<(GDozBOH<)8T5m7}}AW>Yzyp$&S$t4R)Vwm~CeiFa4yet-l?LmMzec zXgbG1RpsEQU}+A!n{pnp`>0sg z?smwb6c<4GTzl9tkhTdoC(T@Y*lkZKC$Zx~=6;w!jr`BP50OaM4L2mPqT` zWf!I^#+50xvOQ_p0(+7`UDoNO1Ire$8=oXnsI#?wouDhwb_d$Z&f0bgGINpJF^<+r z2rgRbZgy;=9^kC)p^ucV1iMdD%9S94s~t=Tvb8&dNp&=LvNa7=cGh5f6{XmPX522c z19J(Kax>e|v{Tu2v)!!0j*2vNIv0C1q*N_Gq_`u~9P|iqc|2{Rr@bqdd)#%v<8uoh zj*X9vhUWnDLu~D{ZT$xz<3n-rnepkje;ml6TeZ9WVVmzhQu@#A+cl>7Q-(R2KthxnEI`W2%0+gZ7o<#@<8j~pbwIhVzex1#eefF z4fx*zdgZ?UPSJCF(r+PUC*{8WaZzx6aeqz@!k*Y{S4N4c;6ndmtl`n8hmq}zX<#+;O;xz4!j_IJk7rh`mk`WFMh_T+>fVB^jzQD!AH5T?<0D@ zKP&h3?8_7D@w<@9eZ3WnzF8A6e=mJK=ycK7FOU`7K8HemmHYZdqUU(O3VP+feu?P0 zzBnE#_w~AcSwB(o@=Up}*KwHp$=4vB2Fc6(4&Wui*`I!IFgq#t{dGICo_@V9J1O_| z`-y_}<)ByY>otCE|2rX0<-UG|_;dTadlei|?(6lsFUN!D1Im3p>v;0}gK}SgfRo!R zkY9)RmHYZ>qPKp~KFWRlX`t6SGE(mA6QHk`Wu7Vb_0^&|lIC|q{CfW2w}W!uN6#O4 zyW9gl%6+}IC;R^g=#~3=ZBO?92I!Uh`U6SF6Z`4d#cAcfUiV+tV?R;u>$Uw^zdswx zq})=z-Dd#)V#74WCP=eNM02L5N@&j1h0GS7YrydL<^fS(Bb=fF<`{tMu(!0}$L z9^k(M{W{>!0>1?K9^m?3k`Zz}r)Bp~ z{{!gtd!UT8j+{fkFU%b8IhzkYuY=Db;C}+X4EP(s&j9`=@HlXHuOLTbOb_rsgI@2i zV)Qofb)f$X@GZdq3jAW=e*?Z9_}_tF4g4R#KL`Auz}2Nq?)x0iW5D+V{V#y;5Bwl`W5D%20Qh0R2Lqo1dY+&KLYp|;Pt|} ziN^w80D8Q)b%}6}|1i)i=lD_Y?vruj0JfXnug~Qk4n7%(2m9e#;75R7zaPy$*groF zdOh}$#9Rp+`{6F&W>5e$)I=ld$>5K0C)F$P+udTsR5k*QLpzsaQxVB z-F+R-U(Yc}V!9#z>EN%N{ZYRK;y()X?*0we-;M@;jp!L21AG^hdu#yba#8Q@({TQJ zE<_UZU5Mv6@Oc!w6iFXAkhDpnnCpo_n+YHQ=X!{%zrmP6ht1aBhc>1#oT$)K^sypozCT zwnJ1nTbu?yeSmQ9lj*^}Pd0%naaXg3s~5&jP+!IHMTw(}i<9%LDj0Pu~GP zji6rzK1~6feNewy^xST7&|eDv3E=L21Gm2<133Gm{s!=G2EDuAz-_M<;O>3{x1Y8G z|EBnG`=kOmmy7!ELAlr;o&>%Ee0~OeCGZ!4w*hze6}b4@fxiX%4&d(yXVeM2%zp3L z`SAXw*8vXz-Ua$YfTMmK@UuZbNjRf4@S}xudv*u#ai0Dp@XvtWeUIP8-vj(CD0da` zPT=_Y{<+|P4(Qi`el>9Sy?oaX*935mAN5y(KlX>~fu9RLHv`B1;J$zF>U$pO?*Tpb zhx>tl9P~dB&gc`sp8!2?-{rKPC-;4NSMDc4|NA2PKLbA>^dY%G&uA_1Uc$LQtP9}W zo~R!#dLB2{gMJL~4Zx3tayJ4$7C3&7;&|}c1p1RezZv)`!a4pe0i5GUeKYvu`-roF zZv~%KQ0@i5`TOfUaXVZH{8OO+6!7iBInIj$ILC?lUEq&#ehK)+;PW*o_Y&Z{L4PUm zhe5v$_+!F3&QAw$juZ920{_cE|6Aa_fxiWOJMdC@WFxod<-mIbzXJF{z^?>e4V?F* zZRE#OJ@6f%UkV)KY!c4Wt3ba6_|?E~1AYzg-N3Ko%E|ON@SUK45%@09{}K4Lp#KN( z&j9Z$ALKAv4?YJAXY^Unj|TncfR7i>{o%R*&iw)P$AHi0LH|+U_;Q{8r%41J}&>6>;@U6hV3h`f5guAWc&Tqd4`U+XW=nmk6fZqvR z?_6SZ7w|El|2lB}9G}tMz~_Pf9^fAZ{vW{4D8duK4+H&r;OKuL@Nau21|?*+YnmdfZp;QARQqx*q}WZCDvfIk5GgNyJnz-Q62_U99TV>{@z8eWa{ z>MWwy_fWoG&&`-)ef3<0`Gev~i$=!~U$5KF*Z)-V`ux|xu|59@9Lp`0&zpEP>h*bA z%pa1x9On_Be;BwvXUo?wETY%vW3m1b@L2`=M}h0-cZ`r<0QyCs*XL$2LjSLT{(GR; z=V|%+pMW0A{aq3M2Jr8Lf8P=cgeFGF_Xm#g=<~E#{{!%u2KpZY*XL~c`qPW(^*LCq z{}K3X0R3aY^?6r}9tZB8)931idVPKsOMeXdAA$c*fd8}z|26Ow==FJ5jQ$gNIed=u z1n_}H_<_JNp3z14c;Fb1K2OV!N1uDm{7Hx>20qAJfIkI#_Z&Lc&QAkB7xd2n*U#4& zA-@>(7{5N>i}gCT(4zS&=rK-x?icHS2Ib=CWvJKZd$APbch6aK_4+yZ=ySh({gLqb z2TRjOWd72$6H$NCz%KFk)#D}ZA=3<8er;GR$9;>UIv1A45NJ_nA=y&B@53wmsy#YOn( zz_A@#fn&L8;26Jt?!cj7{4y-r>$<;(IQx^1Cq^;g{JnFYM$!NB06va5>Z6qAiKVB4 zo^?F2&&L8duSdOpUc}OqK(F@;un(SpDrXqO5Mo5AO1;q0>|fU^(kZx=mFCxQMR;p|fv zz}W}&yG75^8$kbvaQ4CLvC7#8^^c35EyjV*Gs4;DumH|JsNW-cmg;+OMlTCzpF_Y$ zIs2eqP1HKzLj-QVJUk>`mf#W#&3~(G*_W;N7 z@MYjQe!d1A$GyJ*KOW+-2M}7v2*VSnH_jtv2h<6aavj#uM=ts9LJ?; zz;PU_2ae;<@xXDsS_B-&nNxw|xU?KNjwh|aas255j^oB^;5g2#1&-sxR^T|EYy*zt zz*WF;+|chW^Y*QfKEN})F2VP(>ExcL@A?CeK{_Sj{cN2=n%@n)0r-#LeN!uN_k39A ze+h8>oP7`Q%jI)ej{lFq?*RTL@Sgy8zYXSAeilBr8ZT|dYeMol2>X8ocrUr}k9i#U zk`m5E-({wMIc2kHZqfW|Mk3Ls}{zBO9%2|&-cY=P1n$ui4>v8}3Ht6-7$f6$LrG0l~; z9(~;Jh`9D22YThKMW3iy0&*`AQ2>Oq5)}zlV&`$<`<*di! z(S>+;D0e}FXgO9pGQDH6a1C4z5)1;K|d>ivmSkZ3i{cg zSI&C$(cf?6`pyBpa@M2I%iup3^vYR}KCgrRc+e|nJ^K6&^z%Tkob~9V_wR80^Fgni z_2^Ss=0vPN0rbjQk3IuHzX0^gS&u&M_ha1nb0X-KvmSkhga1O%D`!3Wj0F8jpjXa% z^qBzqMW9#Cdi0qJdi_odXH(94^wIm6xIIs1p-jqIk3Mt3f3b>buAKGgb28|cfL=N4 z(MLZ&;&_&VUODU0CkFn@K(Czj=(7U!r+{8L>(NK=pW=8<1-)|CqtAKZ|1r=jXFd9C z1pR5CSI&C$xft}PgI+o7(Pum8&j7u0)}znWpg$Az%2|&-p9B3_pjXa%^wH1bxIJT_ zSI&C$xeff6gI+o7(dTZ^H-cU{>z4!9&-FN-rU1@*^mzdM^;rs>O*!k)=ULFFSSXWn z*0(C8`OBbR5x`lGKCgj(CFqs29)11_`ZmxjXFdA73;K4@D`!3WRFpdrw`T|Fm9rjw z27ta3^vYR}KKgqv?B4}?<*Y}a5#WC|=#{e`ea3-44SMCQM<4gQNA7r`&q(2H%2|&- zdOsk?pJAa)%2|&-M?pM2DyF$|)}zlH(60i$a@M2ILeQTBdgZJ~pJkw54SMCQN1wAm zzXtTmS&u#`(4Px><*Y}aF3_I`dgZJ~pH-m$IOvtL9(~q<{u7{A&U*B@5cHn}y>iy0 z&t;%LAN0yuk3QFcel6&gvmSli??t)(xeoNoS-%$e7r}ph0B1e=d=2y)K(Czj=;MBO z%Ehx0^vYR}KHmZVO`uoKdh~e!^qWDiob~AQJiy0&r_h^3VP+NN1tawe*x%~ zvmSk(2mPg?Tn6Q=N1u04pOYKqtiJ?!Nrg-B__Hm5v;I=xy+Qx!0M2^!=@0tLK(Czj z=;MA*%k_utpjXa%^f?s#uK>Mr)}zm1puZCI%2|&-wV=NW^vYR}KKgwRZqKVhublPh zQxE>vfL=N4(MRvAW&fR^SI&C$Sp@#qf?hf6(dSgqe+Kl*S&u%;LH}9MD`!3Ww1WO~ zpjXa%^yvcqb)Z+ydh}Th`p<)2IqR3k|ublPhGo+UjvHw>=ublPhb1>+?272YJN1sukzXSBjS&u%4gZ@s?D`!3W z)PVjj&?{#>`b+`+*FmqG_2}b%*Uh!(-Jn;_dh}@k|9e2Mob~8)Jm~)e^vYR}J_|wr z4bUrRJ^CyG{Wn3cob~8)8tA_TdgZJ~pXH$cHt3bJ9(_`v{|@MtvmSlU2K{$IublPh za}MZtgI+o7(dQGOzZdk%S-%_jCeYs(z*&zzmw^6$&?{#>`dkV62SBf!_2}b%C(rfI z2SKl#_2_dW_&)@C<*Y}auYmqx&?{#>`sjWAJf1uPdgZJ~pYMSGqo7yLdh~e!^xp%$ za@M2I4?+KZ&?{#>`aB8xAAnvt>(R&ko}X*~AAw#u>(S>$@P7>S%2|&-`n&>e&&NTp zob~AQXYl_q=#{e`eclEAPe8An_2}b%N6^*x3D7HNJ^J+P?L-{^lb~15dh{6#`lmpz zob~8)2%y>iy0&sfm^6!gkjk3JJX|8vkQXFd8%0=<4WhO;SWJ^HxcDRk}mYZl6+ zob`JY(tH{CKNrARk3MIC{squ0XFdApa~^nmy$E{ctVbXI{X(8t{~NpHUX-&QefW0` zd1C#`cFDacXFd9S67;WtUODU0XEW%32YThKN1qEp|LIUJgL2lR&lf=dT25}1v;L33 zZvp*f;IEwZ=<@*R-vS@ytbY?Y|1Kj>+@9OPUped1=XucojWf!mob`WINb^@f|MvjS zdi41d=>GwF<*Y}azk&W8&?{#>`h+T-i0k_<=#{e`eab;^pna6H9)0?OJ_LH@tVf?A zpbvvyIqT8qV9-ZEublPha|Gy1K(Czj=yMe4OF^%k_2@GT^ktw|&U*A&2>No+D`!3W zoC^91&?{#>`snjRc>DGOy>iy0PaF962EB6DqtAJuuLQkv)}xO;w}j*A1A67GN1w~V zzc1*OvmSk}0euzdm9rjwZUTKj&?{#>`g|Sq{Xwss_2{F|UE%r;0KIb7qtExie<0|U zvmSk(0R14)D`!3W{0j8@fnGW5(dT8*?+<$AtVf@>L4N?~m9rjw%K8wXiQ8u|=#{e` zefoob2iy0Pdn&GfL=N4(WeLWBSEj6_2_dR z=tqHGIqT799q31cUODU0XA9`ZfL=N4(Ptaz$AVrt>(S?O&|eOE<*Y}aFN3}s^vYR} z-+#Uv^bOilY_2~0+ z@ShBN<*Y{^ecloKPX)bl)}znwz<(O(m9rjw-T?hkpjXa%^m!ZfSAbqQ>(OUmUjj67 z{KtV_IqUIz@54Y}4|?USN1u_Pp8x&?{#>`kVmzxu93hdh}Tg`gx#N&U*CG=Sp#X=Yw83>(M6({wIK5IqT7< z9rO!8ublPhvkLSlf?hf6(dT^7F9f}E)}zlB(4Pc)<*Y}aOF+K}^vYR}K084FQP3-A zJ^EY+`jbJgob~8)3+NYvUODU0=c}M!0(#}FN1y)y{Zh~?XFdAd2l{28SI&C$`9A1R z0ljk8qt6qdKNa-KS&u%y1pUWAublPh^AhM!1HE$AqtC0LKOOYSS&u${0=+(CiX=uk z>(S@$pg$A*m9rjw-Ua=YpjXa%^chw~fF|DGlb~15`Z(}Wpl=S~tVf^2LEi#;<*Y}a ziJ;ee+(=@SvmSkp27L(S>1(60i$a@M2I7eRjx=#{e`eeMGNYS1fZJ^Fkb^lLz`ob~AQ z5a`bZy>iy0&yPTV9_W>`9(|q!{l`JCob~AQOVED;^vYR}KEDS24$v!SJ^JiNX`Wbm z73hap>h9|-mt~$sWqB0M2gx$eqOv@W=BPhXxbI&hJWTTgWSM8vWSRY=vdlB(?2r0c zqVfHY7ta18WtnG-WSRXn2ITCI`ZGlD`!5&H{*z>xXRWf#{>REP&y=%2>NBG8{Z|WT z{~5B(v$e9!{&896*;-jdhL|`Uk~8ykNW-Cm?qzUh;a6Q!z$cMR5<(pIe@c2>W?hqUjzPs0iS8$f0!)u zYUS*YdOa6qDUJ`Pg1^SVKFh)XXz*9g{;1cn%lBUk{>OsPR$1oui3M=>NBy@%!!wM3 zw{UL%Ch&Pgmf8Q40i69&znjuLO{V`HcFDc$mgPE{UoOi$dq9?_(ENw8%roVqX&HUK zFB%w`~N2cnSLa5*8fZ)&6TqreSRkz*1sgnJX6m4=YebAX8msiIP1|z-wShn z$3c54=lcE=eDvIj{ilFlIs0qh=4^T{#QN!=SI&C$xmGl+KOXeTSw9E(jk3(~pB2D4 ze)Rc;XxP68^vc;k0o+t~uW8RTHqktjcJo$U$|P53Om(6$(`c%jy1Pv^gX*rfR6N!g zUl~iK&qkE&O!=rgnTd6!Q=RElW=+t#OlvyX-P+lfFxBZ!F2|YobhI~iTYnC!wt5<^ zPPR2d@i|3)&iBiw>$AD$CNncT+uP@LGS7Wno})OW+K_tLt1KC>O*$9v8gGYT$Q)F ztuvmNZX~OgBy~00G%i~JYD;w_)s?!4sgBb|OmxcjmkW?dM~X>9_Mj7loFgjf{>Q$y|gBAmt{7V{wwHzZ}anc@q5KzMeA|$ z<3Em82IXHUnfhR6TK4mwTqOT#l5gPq2|nH zmi_I2iB;v_Bh1LJ|Bb{-=)a!+aoTpNOWiDx$8r9OmzF<7_`NjeSp4|+$olKZDK+3>#=MS77qC}{=u{m6#vIX z@RFC`kAEQPg5uvJ@keC@~5@-}N z)3P7`JjxstzuwHUTk>=K1Lb}D4+LbzkI$nL4O79f4h|5MeA_#+yAm6;MaplM z_}5Y%oc#9NQ>6Twt6Z)MD1SI1zx=nQe82r({($W_kOJZ&{PufC^6PO#>)^-Vmq1Ye zn|8I!@d(5pCFIA?&s1Xx@0&Pvu_;ZupSV;mzxs@){JbpTs?2Pa{C20y(p-K;#}&!H zTk_YdQ09J`pD8F+%u{Oq%jI(mUFmE2*^)u+r#Gi{@kXbK`yao@(RypUB#V^4L>ly~ zUc>n1^Roth#^sgDj;G((XU3DS?Jg33*F8>uGaoc);`qnWzaRhBBIWNqgmcm473d|+ zh9cz;dBkO}knPCjA5Q;%`TSd2z9;A08Rb{H9_Fp|l4eJd@}oa+`J+(&k%av6zfz?9 z6GpiFFL@`Re)+c+DZl=4mw(YwZqD_urhmVD{>>Zq^vB8CT9;4nFLtS1TWK5*70Lg{ zX)edXno;JOPv=iaeotolPj}=s6^cOPSN&r}>c6eG%ec1ODY^bUMrwZDe|}B*X&32I zzwG>Ix5W8y^1`ugM-~OsG|9hco?A7AX77;DFQ3n8yE3b5Oef7&9Kr4ds z_vaHkn(&#hoc8l~r8?SsR#(TXJDXNah(@EeQ>NBVuB)3mc~Uf5Luq}jt*Mz(R~L=e zO`kH&;^^|;=g(d+CmhN-hUkiDF2$v}>17!MODS1zQ9XTju)kTq_Hs(O9mE~y_zXF4 z3cKHH2#0L@g~M!R!eP5{BPFFNddnLwv8ix{Tjw6Mp{f416wU6|SrjVuk9;O{tqBbX zjjkG08L1jpwRG@+P=7j$4UaOFl^-EQ?JbKGOG&jkZfKJ`b3m8p*I3FmaC zS9W(b#*-7`t7@m!td6a!tFEc8iP1HIWMg+S*3^?~OH61^CzI(+XE%vbndHg|iF9gJ zGCjd{hzZ^4IPDeEIqX&~4Vhlqo<2Czhk9;^dv7Sz*4fb#wJ*FKdOEsOEgi{3loOT~ zl0v*ss^BW-Dw2yM-rATp_9YvmtC+i{v`bRi`d+AIxuMMPuaxo=3d+1`A zNV(nSE?gR&Sz8;et*M?^T@xMO-k6TJ9-Ce@r7qRp*qn$nX-Xa2)-|OrLCf*>&P1~9 z*!E!WmN0xN!2yuSEm}=nh%q9ke!D| z3I3glkO_S}L?@vBdwh|Z8FjQ|FMF8~ANx!Cm)aJb*i{p2=a)u)Y37#%zr^W9^9Id% zY%4LZzZ=$sWma zjF%#LPtnb-i{w517P)tVL#wpDew>c?&t;Y+cZw+odRXgDA*=Gf_r=KREhG0Cc2(YUGnmszOH)*9-re zo#$TonxP)|b5!rQFDck#?zW<0{Zrmxpb;%c@}5?lTNx>Mr|Iq!9titgw%=usf7J_W zqNaKQUcRrP^o+%G=selYC(3+MR_CtQv(Dw?i}jLAGrK&Jm2;9~otsT|vng&i)y?Rm z2bN5Cvs$&`EOQz-k~y>a)s@E|In>B8+#Twq8T5>Y$1{B2tv#9fpj?w>pX1CN$J+fx z!(5jc@!1bg%<=loXiFWZGpg*wXG%P=UeC)pt=B%8t0!}LOJns1GLUJ8%vq0p{UqQA z$uiHD0hhPgmYfM3-@hb)>)TUCD}hI4nP+KP=6DX3WuC2(W#%JfnP;DrW#%JgnP;11 znfv7^S>~C3KZBXJE%I@cKs|2vF)WlxM^xWmw}tPo-1k>M-$&1XnPZ$-FC4u;Ek+|~ zu6Y?L=h#ty1+S!u^;#EBD`!3WXdmWw9>7AGv|b#iwiU06@(WGe4t&O|Q&bkX9Z`gc2q6UyqQM^;r~ukqYyeT}uDj z*R?0U)x0Me8zG;FY!;BeJzitLGj-%*EW{38BH8N$L`0!ikR<7 zD0}}xloK%d+Ouh0Q2BcAqQ=kV^I4u>{sqK*PeR%67hl5(n0)O6Q)+7`x{Gul z{2JZX=Ufmxe$?B=dQ(e1ZtCVwgkDb$Dl6N#eN$;PGju)z%3uKDV&%QTEBMkY-K@fYaa~_81q8et0P{Xzb7)Q)ZDsp_#=nS z>veNZ8+o9_^xeIw-D-lkWHm+a0eyv8QbNY^Z{&#Y!6Fu!+ z{9UY$Ow4`PD0*ykbmGXUCPpXR`@BNk7`nvO5;VL z(V=U1ZjUE$1giH6j!)NE>j(&V7hQo0;^=G_}+mxKq?#-y}SM=g(Y zzy6=uwX)^dZ3mrJjl8a$${JbmmgmjuHqg(Kmd+iy^*34N`nAeOZsmM~*&+HiUEAfQ z$lP+emddr)ZOyH4#hguv_=|rwn`V9U@)wLB$6%`epkBSq;Tt29dzl+^J!_M%>Xs+2+6?yn=6M5tmbH^WkWg4nBJk(+) zb^I#S6d6&v;Ya6~Ny!&Olj8S>!Ux<}`sl@znw!mtAx-5cUOK7u5p&-G!^#GmJ6$+!pS*PE=D}vzljQVdS!mc(n?obZo;KH)ky|-A zl|O9m+cBuTzI5bTs=>Z+D%n>~*F`?4ldT!muvqO(n4LDv?q%W^mLAC4v2^DAO@}R< zeA3a8kux?ej66iG$6N6sYJ-Ql^(Hm{ImGSPRKE05-YPrG%BaQTS3Fp%+hb>JbKds2 ze)HR*k>)occDH^HqMzFu?6#BK8g}e_7PiM`+8&hq`YmqjZkStYzFBg;DYaXd{Wjdk z@$E1hc9SRdv<>%fp)ziwcxmfDe7D&Z-qr7p=LVYlO7HmN`KF=lju)4j=WHFC%71vt zM=xDBCNwtw>PzPOtxtzWZZ4+4$1E6${q?_pEkf;o%e>NF1711yI^EMEv;X?;rcv{L zT-xjT!IL5PVY5~7nY-7`y7+EB=0#}FcZcK;_GyqkriPCgat!6wk9OQALvGFVq5KYC zJ|!w~pAxw>Ck^G3iTqED+?v$T3we$Egvg@EkU@On<(5b7H$S^vvtJ^+e9V6Q=A93o zro4o`OJ}!Af>V9BkpnKz7UthklVi%o@S^M%$mA7O=D&K4q z?zzn6TWrF`SH9IITzush*o2F({6d@9&$)fdCWg4gMK*DeOI%#}X(}h`5|`M-p)PT0 z(^fXdB`&jxvF^%rsL%fQP!)RF9>MWfR`8wO_Pim~x0K)QKz-6)%Bnxzd*(~_j6Wi4eZhzMns&4MV1h$xD4L&V6Qt`t(`e_y5kP&CGn~JHPv$dzLfjoH;WqH?&2m%_A|4&VAyU zI=$3Br}E=xWXA`rmrH?DXO@{i@TYD~_?hi*YHRu*vIK+hfcC+$!no2Q_Vo6lZv_dd zz0*Vd_pS61-*wVh-S9j*-!c~ zUtV@bGzp5!K39^n?x$qNjo!^Qf37}X@b$?}8lF0#2=C4Mmfa+C=@G`Su2pUmum!Y! z>V`#f2=J?;J-a&m_{rIE_t9jkrwFU>FA_XDzlI|uLY5|1jojq>rH0jR@(E~Qdw&!q z)_f1tEY%dOJV7_O_k5`nO8s*hQwJn0&t{p`Z%zmGw#~_X^qD$%xBLy=FXbWGrK~{F z+~IKG7kyD0v%W10GCH>m-w9h^c37Sr!)t;FJj`cwG^Rt6!Y;Keoo$|&=0xZ$Z2OZq{PN7RLToeRC;XOf@Y@v{35cD&EY6zsIJU*vH)Wlq`$u?tO(J;K~@ zt|Vp;GQ037wA3$hK`lG9DPoR7sHMF9kKLAT*vCzjKgIJ)v%@8OmE?via$I)pEKe;; zXNSv5`e%oWkI2nid^ioyD}BFWaQ1>2)TMt(lrHlXm_N8^xEv`t0bqcDJY(P=!r`eLkbhP#C0xy2OyHoSybEgdQW)9R*+@^k4mR?037 zcUyq2l3g0y)`VZ2uWee@x@+qlHaUI(F26^Q{C9@B7&xTe~;%6#J1>;4fX?$3$nebf^ zCF#=i8E(d+bWzN7K?TK*%N1Kvn#RYJQZFs8ce>b(m)Qg{dK?KVP?j!pxVMRAnj{tS zH5+JCWX^8qW=qRD`IS!0O!;M(kb;G&$}NmlB~F|6!L$Rinyx#)9$m|#%};mBQJQwE zR2t2X4@={jPFQz-9cCAAm^Fd*=V~L_cyXz=cYh;8{c4m?$Wue2$pTK;GSd!_L_ofNh+Z=(wEcT&8;;jytkm@- zM~C~IBWl@GuVDq(mQ>j ze|Z>aQTnoIyJ$%|-Nz*rrB8MJg4aWvQ|9omsPZ!H_m2{NmCkO2wk!Q7GUfI3XTcU! zlKz-qhTiE{ZI`{l5!(bx(*Kd2$M4;JbQ_R34~lj9i_+Knqmh3Rlj$$}S+k{tOQSQ& ztCg>qw2~ah-E~QAQS-VD@-wpL)ve8Ix;Lzimd;wVq}u(haer&w-)YeXISZ_>YwU>{ zSD)J0)pV*m?`y>AHSTWI-L$baYHWlwL!9i1;`$9e&F&1-U$IQrN_DrNCiiq|*_1nD zY?Qk|MRS%Oxv+8JqWMQHXxidHslXz6O|Y4yKElm&^&l&j^A`2X)O?t&}iWIbbj*VN0vzx7@;d{d}z+uS=V z`BkZVLnuFs^qbYRS}A7z#)a||$s^sHh`7~Le?;!boLGbI&5CS;@ukoDG}gjZst2hHf9)(=DMfKi|y08){tJBy-3nA5-gT zwMRsY7tTMbal!nfmM(8xwB+c;zJkuTMQD!NyVtwrklTj2DKy^H($bY(*lyXSJKMaI ztH3(>$!=T6x>J2o*vn-pWtXSDpgVGJJKfvAn0i)gHIJONT-QnA@nC~{!;K??+^4Q* zT~{l`>y6xEl4Yj~wyoT3xfSYu1nV0a>lRJ6;ON;$G|rvhuwYK)k7n+G6a~BbuGu>C zelonad4p{Lu3EWv#uXKQi*-9jYiG0k;8xzxuktITtz$#?>c*C4`3$F34x@7GHoroS z%pAQuBH69cIStDi-I{VMR6Y`DmxHM+yW1CXMd~J;18y5GI2OAtzpbNbRksx+dxfu+ z7L0LMury#>d#l`KFuV2Hw$I1s`NuajHstmkw-dbouX1sn%Ln;QZk>2>U8etlIopcQ zDO%F!p*fFd`bU|*%lv@K`^L>AY)=1*c^8$QQ?#vkd)ZkJWggFbJM*;6p7%R7p4EQ) z!wkc7LZIWB{?(a_N*AGO+sm%#Q`FJN3i+X{Wzj+&-}!Qrmh15T6$@;+ijI;p=K2N0 z#aVG3>bbpa3F>)K=@osh?3eDJc2#{k^TW)K=6u^#R%ZOaZxO{nA z(4`B0;bh;3$Y*9j=j*xac$j4QN!(A*RmyyKjam-t_c^5nzcn^LY=`&b*$Z#94D+)W z%zQu|?l+cGPj$!O`|%kG{>*@5H10R=KHvZ4S#~w|->&6Ku>5cjFplFfckjpfcfgp> z{P1{bJbt~Gvi_IMX==xTf%tuVn3bb{doABLh~zfMY^H)sFl$*rkj|1gV5|2L)lt&8^%3YYi7bWoU3Kv`66BGOoCGeFy$y*Zq zwgi6iPV$ZfA3uxW&XzZc_pmI(=I<)LF(Lnq1imGKZ%yErCh#j0__YcAi#y4`n&5wD z7x5<(a-K=xKi@_C`GlO`1RSI3yt_|$!EZnK#c+PNt9kr!eqh3R{=nSD-dZiIPk0`P z$?3ei$M_k%FBgyo-LB^0nS$jf@%Y!Z!MWchP<_*Rce(KseEv|f{&#R+uUxgPo_%u2 z4ZRClAN*`e9zRau<1+e!o4e?K1o zx;8X>uON;~M{+fLOqY(?I(@l?d*lCBUK}i!)w48#$8U!t3R=Q)!j>>zk&r(rf$zPG zcvV795|7_LM?{Aw8D}kSvz_%sv zOB49^1b%G-zafF&zLWfs1pmpM?EI&;4e?${ERJ>Z{;R&`N>RP zXZ|e-{LY=^PbB!SC-8T65&vsK&OZ})X;EG?WZTW|*<(|!eflT(19lOwO30~C;4>2V zK|9HpC-^5O@G}zlmIS^vf!~zC?YSCZ``?-1?=1gfLJod0&Yi9I2NU??3H*r!{?snw zPbcKyKJDCD{hv$VFC_3+68P&0{EYN#IBQ7xP64`Ac?^FH7)`Pv9*Hyz{@9cO~Ta>?Gfq;3x6Z z68y6g_|^n|@h;+*Cgfa}z_$Kr(dkEPMfU=Ht>W$zhmlRfXF z=XXZ!Jh@*2FVA~sE9UY!0~6{~_<5A~3qLpTd_)v(Z=PrGKaj2HY&TR|@V)I}j+aGC zvZf#K-z$_w^8)U_S12pE7vxgSiGM$y{5@3s=W^vy_&tUHQE>mDHrAfyQT+S6@`8Jq z`|mCKXP<9wfxg|!qomKP!}oX1ZpQNLbGj{Owem|1Xn(EpEdlRR9+rEm@`D2Z4CTI` zo9OGG{CRTNa^6q=oHpK1{`_-Nt}1TG=MPP2=b;7b_Z&CZ(1PvC=Zq-0;>LJIY`G)c zGmvS{QS-Q@Vx88&L0tl=V_NI4__CqQXam4xlVa_{^@^=J|YU=58kSN zcs}rH<>C3>UCNgQ%X^RV@b&jT<%0tM8_L7;hld@naDVyF({5yP_W9;E?K$NOg7fni zmH&ocxPi$m5V;J#wlAE0O>}>FI_r85{bPPtQ8>alWpxix_e<|SO zlpi15gJ>V+3xjs6RUW<%_0Pf{ZT==%as2zsHcCH z_T*@GP;Q(0_XfUy{`cg9{b-~5w*>xK%ERON1;ze)K6K|A>8 zg-?$D9JIq->R%G@dzEhs>VLoTX+i#@%AX7Plgd*8e@6MJ-~;aGmH$3iu2+=z3Uc01 zz96XQJIb4b<@%@c3xj%J0Y_H}oOpHLjnV*rxn5 zLHl$ne=caBjmjSk_*u&D4)_Jiw+H!`DsK(=)yn$@?SGT^>V**ciTIf=TYSc1?4`eTz*rV*FB^B#vuQB<>P|odPVt10{;!=PX_!Q$MG?_03DKF#z{9h`ctsHBh|k+n4>~{`E`6=H%a{m^Qhd` zPx(o~c00rI!t;tll^5(63I34@zW@AXOtd8^_eAx>&yoD`WlZFcm$`*lqyAB@pW|K1 z!_Q$hEAI^aEy}~sF)nm`OcZ|3|55eB&nvE09=?CSQF-|O{Z{1_xvION&nO?~`niez z{ng}1ZsnWTebsrB<%f8AIC|Le!t>bZyG zh1XkFD);Auxk^oTd`z@DXoqUemtVf-bu-l85%`B{{u1e^)*;$np2N9uqwqv}bR(|CAPd zj#RFE-ymnG^7?>}ay)GPC>o(3{~L>B}(v(+CG z_=jt`Ul06a)E^u8%azXvc%$-6z}p-z{QShLz_%(t%&q6# z#EX^R6RclBWBKT^JTuIg^+XUhF~Q*Ppm%EQk?eyu!wfBmNN+Mpf&to*Wo|5N$) zfS0&-9}$J0=lGkTkBDy1RnZL%RzEyX+g-Uo|H{oYMtM(A?j+^c1$?UGh1adsD{sq1 zyP<=XPYU=Py8#F56=^hQy%VLE0nhc`Ky$NpIdf1?*8P>(W87o9*v^Y zl!yEK7Ukmt{{qJgk8hVK5BH2Kl!u>(U#EOfkbkrCqXK@r@^CxOo+-~1U;D1uSEZA=Ut~@;dPrElvBchP^N#FyO zhx^Nj1iqK@@VGQVd3ao!qC9+mQKvjSJ{*|9Gs>?F+F`!(@OXmFCSCAr7QZp2qr&fT zyg$VY^mmEm^RrEDyIv?f+=npRO6R+k<5Fh2zfts|1i!=ix&6q_3r=%9cV1`4#)KSs zc#zaHca~uOc?te@=jYxR{6_0}bAtc*1b%-4|CYz)peU0(g9M8SKv-flF zB;?}(7IE!gnZPr`2hmyG7j!#XD10D&pKGTPCpw<{e%AO}$9LD(vhT@c6!!#>+j8iW zZf6}ed*0ED+_P=nP<2GN%BXVBopszjv(^paA+~r}Z4Dkyi^tWvr_*9&HuTxZs>MTX zr@0|KvbGjeYcbO_{Hb%E%fbB9F*F?oOou!j^VZ`5xOEt+!_aihHXXA~&pr0mKPS^w zaq-+4`ZV1c`Z(Pgn8QC?^Zg&ss}JOLt+05mKBZR!H4ky}K;D1-cwP;t(S#by)hO3u zc$Bba)@W#rrq<|Fe`|G_YOO+=SF3ronpbPS=D8M@{94U(%`W59G|#ONjBDOB&6}oq z(=^AeBzT%LP0N|4k0W;LPo~#t{pzg6G;fB^SEspdJ;K-Jt+VNxTc^2h1&im_G5VV8 zwhfGHp4&n&u6ffnZ@T79*SvaN?s~0fJ(h2722XfopV` zUzfSw`f%rFQ0=)5_$x8m4E1OR8P(R<4@)mO+C%MR%vO;L$UvRjpfk9AZf?dkQUm@< zmX)fl1)9mY?KIP1o9lkQ!fvaRiBM&t>t)=goM~{qWeeN}D?MGW`=LKKgEHne;O{bj zP?1%;AL=HC%fWMd>6-D2-EGo#4&6Wl8t>O#C@-JK9 zTf|kV0e?mEYs;_L2GbP->mNNFVGk3%klYsCeMAi+qIwcI^-f*b#Y zw^GWxX_nsfEjLTS&4cVVO*sX3M@zozTg)Ae^5nu>LfK7){9U>D#!WV**={$Ktwin| z2=AZHqR%?)+-O?%OvMivhri_m`1Zap^o@u4Ra#!?8xMUu!$rN?=`(*j!wPeZhdI>= zlz}FDB@9Xi7qJ#JZ$kK(ry`M!ptR;W0v%SwbishU( ziq56=XgsO@@X!AMzMb#l3Z7%AKE}g*IW2Y_&gVPHHy--dKFGh2>SH|gZM`FZ9pxJj z{exU>aLyk^+bG|7=r2+q^*NgIjfcLyPeXmylW#oqZ=n2B$TuGPJJd&h7x~6R|5o+G z`Wp}Z+bO@B@{Nc7o$8}KFQWD|9{OLU`t(q~@zB4Y>a&4-LVb*f{*zRnWt49` z^q*FLr1UqEZ#?wvlPB!gr;=~SJ?z(;h|ke{_?wBJM*KA5S1ZTyR+Z!HiW}WfS@2>*3H*Qbkp^xnb9oq9O$~PYRPL@C6_G~=#t)8g=*_3ZQ z^sS!%PW}12{tr@r9N)%R#kFtsF>dul{m=OT^`E3UsQ(i3ja$BI?)3)4$mib}V*5iE z`u4hs<@*Tj@5V!ahD#}2U&ceD+Wxm17Sp+8UaQ6GPej|av>f06oO`xp;>J8q*s z=TUu(hyL-JkNSL++Q)e4+wlR%f%7TfJ}C_AX*|ra^Ci^NUjyhXVm$QWp+h}+JsJ=F z3dquh`$dJLh1|=+{#IHp(|1`a|?{y|6uvhyDolQU8l5 z-+1VcRzFNM2%&!>)t`Oi zq2HF^8xMW^{6DOZ@zA&L<3itf==Nnx7l{uf{w3n}djX((iH|4$%f$Wf68!dX zAMu&we}(u0;$J0x9PzIaZzKM7;`ZJR=o`ehkbggMJ5~TaKpguTI`keSZtE22A>!7y zKo1kQWd!;raVrbx5#ry{Vf1WR2BYs1f0Xw>*On!p=!Nk8uyn^_X#HSGdKJf#HKSlg7;f{E~9y*)*;LdVzQy@m~?Q z>;HjXBtD1ymx$Z>2GGmIPom}e58|!Lv0Sgja4Z-5b{>NEd6j&-&Ja1T#c<@X@2@NO z$C+P~|8c74Z;0PU%Zp=FwdA3@hxl*FzmIZkABX=G@!ygED)Bdn7ZqbJzy184cpv3J zsLu{a((O+CP4f4moIeoXm-ruv&nEsB@#VzdCcc*V65^*4{}b_T#M$@P7yI?{4*8!_ zAL!4-KTkRD690d1MP_}{49mx%wJxWA6rFV{ba z|5bf#&;KOuuk-cmo!e)myPnbW_sFjy9_g_K^~@0GoW;r!ks{xI{|Hn>e5Ly1gr{RT z+LQgYl+UmG8;KWF&N<3~N{C-X<=ShXD3NiL%l;=QzZd1)PP~lxm#ExD)SmZ~&+GTw z#CucDla$kk_%q7UZhd1o>d*d5l;4m1KT-Z}#7p&!5YQ=9|AEB&lRr{9>Qf%WQ6Kgv zsE=r_&q0*W*Y5i3PyOrEK*~3ceD)Vo&LHxei1*NPbr8369*NZJM*aRZgmTU&e<<;f zC`UUCi{Ypz`!`U|aPsd^jw+5I{w4B968G1E`u5p9hNE2epP-yknnZx>`B~TU+Ir0dl9dY>)p_yee4_(_NS_kb{IoBhZ5)CKpm|dY9;xbh>s(_ zMLFs-K8B+{>|a6UP9XnU%AZL5ZsL=OKSq2q@fV2iO&r$`qC-9RiQ%Xx`+rj(?Y1xZ z#bpAd1F~~LY(D`Qs_Sn)np*ab98F{>1q=wuewoE#)jDK8-l8 zTSNy`M|>Oc>BKKnj^(Y7;gf{3f4%ys`hMhpJb~Xv+&*)YS)t5Zzb@*5kHvx_YyejiVo@_ z~l7t2I4o8&&%~m;++2=ac=*|iO;2c`&kBHEC(iBvHt~6sZ=a_D zas7Mgu?U>ob8rG5MSMQxPau9c@haj+5Z^z6&mzw4c@psjl+#L_+hGfFexGRHF(HEA zCtg85zfZJdHT)x~T>H!r=qTcLP7cKR_SqEp(d64_K0w_5R_BnvP4&e4O*~W1b;P;- z?OYu>3#nW?X8<~exV?q~Eh29F0?=aO)+RvqnUxG?e_ssF=acJoUi6mgFns%*D&*&q zzl{7H#E&I@JMrbj?@8caBYqtD&k{eL_zT2OApY9~{uc2Q$xqSe63pefz^;RO68S?C zxP31PmCxVo`$zB(QBH<(8j1V+ANb=x^QGjkAm8qz0>s?k=fLOid76EW1iy)LE~R`f z_hSkCX5uR;=j+5d=Mmz39`$|V&6M*K;(Q*Zr~eUlvljC4eH%KUy@=cQ?>N7zh~bk0 zze2{*LFMypc<7MB>(@B??AzyO$gzD{2DA4QLk_Q(8JH*?a@d~?V6ebYQgeSP?S zmT}~;zfgVT@cX{yl*8{6jU$Ks73w3W1b?(!t$i#Pe~w`sIqa`j9}#?hyGc26_uSu2qg4{+!J?a@gOYK63c;>f4nghhI;PBZqy} z-FoNuFJ(Fb`K`2E1BkZ~A3=N-@oM7yIq(ePtI3~9yq)+w;wKYdNPG?P<-|LPuOPmb z_-f*v#McvFM|=};dyNCyLi`l+w-N6mzJoY_E`2-kZu0LY-b4I8;v0xRNPHvl$BCax z{3+s_h(AkwGx0Zx^YQRq;(R=G2UMAc2tJOL(fJG?_XZH>uvG}AXq!&@Hyx2x{$aoMPP` z(4O|01LiRfpL6<=KLnz7#^H00zfV#WA>Xb+!Ysz&bIvHr9|lo76nxjKk-gIppVl{VdP-Rt}$Y=8@k>+naIt zoU@YrO05fe#^Gb#Sht4!aR#Mt96slClRut(bn+*WZyY}7oJam-@{PmioR5&d zH~GflbI#S|^IZyz!{?kE$hT|ZP>gZ-oO3JrxVFzav*g=ncbLaGe9rk2`BNck zXB&h)Y{ubp&Qs*qLe$PUe9rkP`O{36zH#`R^CJ0mWz42RD-&6K~A>SG)}=bTCYk(6&7KA$h0Oa4*h8;8$1 zc0B;v=VVWO&pF>A->yl^7)=@#^H00 zzpt3zo=>!J=^Ka7Ilra+lgKv?pL5-g7|RqSH^JoO~fn6Z;s*cIcGBYE#w=A&pEZ^w~}uhKIa@jejEA5;d4%g z{8i)|htD~OlfRmL-#C2EIhp(p@{Pmi zoNn^hl5ZS7=bS-)C;7(VbIy6>uOr_$e9rOrZ}aWBo_yo*Ip-?MKZShb@Hyuu^1H}4 z4xe*AMSeH=#^H00zYmA@VnpZyY}7JVySh(Zb;d9QL6i2SWF96slaBL7_Sjl<`hG31{|zH#`RGnxGJ z$u|z4b85-IfPCZdIp+ZKFC^bMe9rOr;q%+iHu8 zc=A6?zH#`RgZuEI!}ilm=g-FBbIxY+FUO498HazFLFsQLe|rpv&p96^{|fSr!{?kU z$-k0(2J){W-#C2E*+G5_wU2T5obxsEucLh9@IOZU5%RB(;qW=ALM@mqISmN-(pbu=`ufp z`rjJE;d4%J@;^zwarm4wi2P5HZyY}7>`wk|Jarm5b zG5PkJO3Y>)KIeRr{QDtlXB_@F3`*awU&a3WKn#b^IiIKe2gx@MpL6VbSL8oLzH#^u z5`U2LACBShIp=ZmA0gj3e9n1_{BMzO96skfOa5cz8;8$1FOdH@`NrXM&THg(# zPrh;ZoHLI6r^q)BpL6yl{|Dq7htD~6Q zWAcr|=bRO7fp4-#C2Exsm)|l5ZS7=X{F%7sxjbpL6aa z|5xN2hyMccFO&ab42RD-50d{9`NrXM&g102OuljWobwd<|3SWS_?+`o@?Rm}IDF1| zk^EQ5Hx8e3enb9iCa}UnM_9zH#`R^Dy~EV#mBuZo)KIi zIr+xnb51S!c5SUFk#YE(b0GNxDc?AJ&Y4aAAo7jF=bQ!P+i%cBiHyVNoF(KBp?u@; zIp;+3hmvm`KIgQMKa70i@HwZ0{NdyqhtD}ZC`NrXM&W+^nLB4VLobxI2_axsqe9pOx{JqFG4xe-GCBK4v z0rJO?ZyY}7e2e_CP4Xv^ZyY}7yi5LM@{Pmi9D4*3j^}%mZyY}7l=TxJ9sGUBHx8e329m!o`NrXM z&Pej7kZ&A5=Zq!aej6)FWE?){>_h%k$~O+5bEc7BO}=sXoO2NQHRKzI&pC6*uO;6& ze9l=w{xtH9!{?kOHh0 zbIupZKa_mq@HyujAxb8;8$1Pm-S@-#C2E`3d>6$u|z4bACzw9P*9B z=bYEbZy?_|e9n1;{JG>ChtE0hl7ATa#^G~LYBvGW;dncbeB$UjJj z(KC*G_ODbY%)eGS@(QF(uMik86PjhoMWFQ!oLKfcE;hKWl;JHwarnV z+haKDb2IUi)JOh(F&z1yA$|enKN`c4|4riC)!$E;?F*P}9P5O0qN?uAYkQhjO24Pe z_gC9cPwS?hsH&x@rzxsh+1(vgb+vXhRe@HyM}E0SpM_AKdnQjA4NUhiv=F*yqJ_{s z8m+2p9ZIdrK1Zw(MWKc@Rq_zvPxQ4ZdldmAB3t4?NP@%YkO7vLs0Xa z7}U|;*=niM$Wc}Ey0vRtJ7wj&ruJEFT}^An>T2(9-dNSt)6>W(pGGWPGzUnBGWtNQb?7KMiO$9Ye& z{GTcRx!cj>$Ep=pNgp2Siq3N9%5Yry%biu28)thVrqF!tzfL7FYhY z!qF}Bz3ktxd`yokf71p(O9jHEL-{B>EPuVQxbp40Li0s)U0D7ap>gG3yV3jH{`d&r z@~r*O7Zz9kJAU@8ucHO)e~V0rEC2DB^81M!mVcEnlwT|V^Ez#}6?rf>zfN|qMRE0C zp~7#1`NQ_RN2bTs|6Q&BgSum3{guoAu>MaAi!1+dEy&tgG}ndYe@|#!`S+dX{Re%| zZ9h1_3CqWJ5?B7p4_H3FgO4kJ)9Jq82Yt_#KUjvt^7~5Rapj+;<#*}))(e-vRA!DV zf5sVp4!d_L+JC7056j1A#3(=9e%{oAN_cXWPxp1G6dPgsAP zSI5YQD+RwkRm+zzgW8{BW|DPn3-!{z8 z_n_}(|Ays1olyRyoBS-V>GGreO8Fm_|J#J}Ck*%V?+6MEM%^?qNIqZvL4s_&G8`<-+<;t**%HYU=l^nO;}7-}Gq}6@HTcTT@+K zUsqRAQCCw}Q}5-X1c+dvM%Eq!a^fCmR((#D|$O&teUZyLX8UpHaOA(-6l2-@fH7fN3r``Uz;_r9omTvR<~Tlf0n zYRmt}vCX~z6ur1&?D@JZQpz3YjeM|sMRE1H$4-uh%X&@k*Gt;rtJj?SV`+z>4_)rs zVOj6&TAXm6rL{hw_45x@|9~|-SJoTK8QiN^G^9Cf@pI*79nIU{DZ*NUIixv#Y>8Vh zm6yF5o%1c!bnBL_TQF^e%pKMaz|^~Y-NUhM&NVvqLe%06cu6TlRHRCluRowX_rqKii+J>QJI_O=V~8` zGv1;yH^rfn5rgsK;D-+y(k8$+HC-?(!e{vs8|1iC{Rbr-AIwISFZtSgt~Lnp`Pt#wZn&?EN2$tTsIT2LSLf_KZQMF3tY6s%`RiVHU0|OH!Z{23TVr{kGp{Ak|izz*TYfrAnEkYD-_dcXhYtDvUQ<4oEYN?M(ork54&n=2vMr6;(FbDnA zWyR7^SU2vKG}TdJwa>F|!21usd>ys6yzX=BRA;HpF_34$aFfi$OVUfmW0qu!VBaif z=awYCwx<{GZiU1w;i#*FHI?e>bH0R+#yor6<|YpRV&Gs}s=FwgizStoE7~gDx5S&cd5o+mkS#EPvw<;+V#DF zu+)jE>fE&7%CsNYwA_v8V%Eh3#H9`$jEy6Wrz=hLpdKwXX|mf3=ICDFcQd=i2t41V zZousz_r^%-fU#(q)balAgQ@9Kk^C-oLzl=nH*}r5!GI6mJH~Am<~Pl%G^%)u%sa&2 z84b7Q$n7@;8}++l@|-_+b7nW65;-;oJKlJ$QiO-a;6Xt$Jynx!-f6k!-BScKLw1_9 z|4GvR+16S6) z3rl0?a8uK5{Q>;@iFExQ>1vFn_uV61g8_7Mc*+jgW zsw$ncb}Jp68@arwpPXZ)#`hoGH{E|!|E0qRrUnd`3XhBW_B}+9)MHqb?tehv1N-jZ zcfPEPVx1x{KP57yEH|ZeLIj~#aVp*akiLDz_R~@V%O*+4XgTor9xPM)_RUR^iw|<~ zGsNgyN1#ZK3jNBZE=b;OuuM5fcHaK196AzGc~$Drkrp&@!c7l%<;^lWfR&9li^ihR<6Yu%z^x|B|1>qR~7lfP0Ez3fe|_0ibu+XDp^5(^`PPv zeE}zO3(6q{p8!tgmXjj~D_A4@_yV-K_C>Yl53X}7Yf36Le=u^Z#>gf!RT^w6FO}>G zRoOK*ab$%|uc?X-9eL2m&i+<6`SdRjmFzE8L6^$ApO%|k9KDq~p1(aWm6jV@SFnS?Wjgh@$rg$2Z{=NJ^u71!{g^MP8uV7tSo z>GJw7oqxmN2LIom|FIUhP*y`aS|_Kxsnp;4?(r*M=GFgR^6GWnJyUwt zt?THXx~jQ(s{4MvzHUluN86N5GwK`b>#}G==bFxSr*>jew%oN%&8zY4|G%|R|GA>O zH+TPg#fB>>Y)f3du<WQQAouCHAa9#(u!YgcEheBjC-#8frovrKFrjXmvaTdP*% z_|x3o-q^LVzOGT$xF_-fU|Z9Mj-JMz&Ffpcg~=|_*xl12pRdS>yyG!0XZv~atMQfH z`gL7BvL$q_6IV{*PubAA0VT;`ck9~qtGjf#qqTLt3`#^)l8SPVIZf}KDk(~*FrUVM(MV^ynw0p8l%#@jscIR7 z;v$*%4fDo)9aKk)51!0KUrnb)Z$Ze!QrEstY5=N`8$x$WmEzshxM_c8zaZ;6Eaox6{=a@x1DZE=0HR#Jh2);VAH zw4$_c)t%X5WJ}54Hve@UtpuAZZ|QIHwa>M7`mJoXTTiy{zfT$2nOvS<+OF1aIsQiY z@?oW%P(&NLakz|DpW4{fbZYK%^`2;h9FyhH-4k`oS57?@_yoL>EdPB@d)F!5O&eRI z!;V^7F}tRwqNcj4wyL^f%38b<9E@Xs``V_qmS&KZ?FVvva7X~VURJl?r( z3QoCt z{NmQm78kzY=-Ed!&Yj<|U=Hem*Il<>PwkSELbraTz|K|j)sp?$W?k?Q)f#D=5K7&i&EV*S3=9W4J$iZ z^Q-E=sf@DUTxRFr(AnL-sw*RDBD@u$ZAOvo?ag84@+UEa88$Y&FsZ*nk=vbqC3t-7S@0&xg@UcIy&)d=bhBK%cY~Xj;2+ST}|9At%|x~XK8GdORpP` zT)bq~lBJ8~=S;I_A5bxAnH*lKrd3r>+0@?D(KcBRIC3194-4f#p3#|#QfH)gE6RKR zh7UDk5Y_>-!H!(57(dh?(4H$vHm+RS>EuPAoG)W z1!Z8+{3PzanV@;h*GqD;Q;gSVi63}BJ|n?DU?+Jd!B67u+i#l3>bZaz2H%e_N$`_+ zOM<^T;22Hg&1=y4`s_OH^YROECyx0@+W}{Z`JJDC*YWuMsJFjRA-`y8pSaKV(Qe^h zXY28QAMX<^lW)&{1(5Cc~9}o3F*A2b$afX%Uv6j6J_XsE02GjDo=QwDld2iw&n8u z+#caI*;_>HigYxb-!a4Ehb%Ub+ zDIQ)FW9@umLOUe!^?{Gkv|OzjcK#~KLcW)XDe`%bO6RVv%*O5QhO*aOW;u?hDf0P~ zrgXtk-tIdSzAE@Q`Nc{$*9PXffkKYsU5b2upPJ78g56SlKb^ZcH*Z2Z?`hDvN$I?& zI5S7<6?W-pOd%AK&U;$3SNwV}$$L&8rg+{<``*p*!uQ?Y@0WLf?3`bo_nf;NA5`$8 zFrPC%SD+4AJ;QhE#^aAaC3(-QMU=nRtT?LBTbuLa}MtzWGbC#1FK(UP<0_ zNP*gwSGa!ekIzZ^+$QPslYZ{EhPf15U;Xm#>w@V%zhB;Sj=LA}cP{oP;wtbQxweM8XO&-7#59UtaHECCpEn&ZJpTOC@yh7WL5^IYB3)&)BiP0K zy|gN$3j^QZFSxQ`z4-gyRz{11`j654-2*;J`M@B5s&e_+V_xU)BUu?$2i)Heu`k5Au7|UlZ^%l)oC3 zd!F)M0l!4~#-JUpRQ`5QpBt2)>H4|GxK;U4LC&4Z!&h4T1|QqW)FA)s$}>UEBg+5o z`nhtSP#zv}f24f>V0nM8{D7d`mz8e_{MVKL()DxYzO8&~kmKuD8OaY#^SWY}%V$G= zazEwk^KAKjjN_HjnL++&$43RWw50m@O%iwesJ}l$8J^~NVSNrz9=>0mr8)j}BNsMb z{qVeZq4IFKj&-~;x;m(5V?s`w^6-3ht>dHe?qh~p`Sn+L9&(1}gy;X~DxZ^EBsX-i z(XPNq$9CAY^ssC8ux2S)7;IC00Zns^U^P3=Nv-&fG zoGr?43HXJ|p9uJ+%AXJTRgPCip9zZXdH8wemo#Uh>*osphVt^@ zxb!W@!&eu14xI7uCXOxF6@eAeS0{>;@Edl?n@X98b-x+z`1yyx13Ojf=HBh*zZ57&FW^0DM%@F3+E2Yj~j@DsK9 z%EQ--h00G3a^z+o(v1jc6tyPgcPJ0rr(1d0&ZjBABq-q=z6FEUuk?kev&^3m!xZFug?=5&$Z6$I=wC-=fDKMFoCa3;2pvT z(f78ty~quJgy)Vv>$N_g6h4s7-pXu2_!?Td+O}#zb%p$yb=2&6M=z?)UM5^sorN`W zRjpkEY+`QewA{t{RSRa<$Xv5Aak~7k#R&e??1w*cli>w5m{zmD{Hb+A@N1km4Gc=H z8*;2pMyJ86#T@>Qx&8*dfU_3QosMGAuh%{b@}9pVFFZev+wtmL+S7SZ1&Kg`(nI0W zL&?bXJ*3JQY9~F^MS5;g(ANOB7#P=x8q3hxYBWsluH)y|RM##t-*n5>zH1=iwN^o` zp=%#-&9Bv*TFtN5#jDkF>TQ0l$29P{nVS7E|J(-OM;^*uuy~0U@7i5P-C|}kb-Q0Lstbmug<9%jKr)CN;g8}wx+R8o3aHYps7 zCWX6RrVa}tW9W(E#xix7K_Gg|7EE(B$V_vU&iIlWTyL4*$WXE?QA&0-kdo1tJT#y5 zwAEY^Y?Lh+QYPaz)J%ix3G_>5Ev98V*x*VL1+y>no4Qm1;nG8x^k7O6br?laSZFi} zYJw)w6*|pUAeKs|&v5+)-2^UM+%l*ZiQb+e! z>*CrBb6Yx=1LJ6C^mXHND+A-mlm2wAv#sXonrB;z+cu3w z^)+z2<+24Dp{o_G;}0|Koo(x|7_yB(k!{5FGHx+44c7CDTT+22ER%5yEMtB?+jiaR zYLFJ<xGI_Jd{dB^9j_rR*Vn69|zrfI6UB&(qsPJba z^y>)vDM$Vb&R~5B=rp zpgu3?FnY#A-#*6;>tj6h_teaNrT;4(Mz2kWr%3-r9p)bD&)c(23-jIEI+=+2zhsj1 zjfcLS@1g#8(e`6J^eqzg`HqcHKlH6!Y|k%~XFT+6yAAV=hkmVQVtN0A@{Nc740W)) zpQq(D9{QK4AGW{o(7#N5)aMl)M$dTYU#AZ0^98Dp@zB3Tebk4KC&oknQ|hBWuj(** z#zX%Rbx@yss6NI+|4H>xpVxF4J>#MOv^uEIuXPwbN4r9Ojtq!ACufy2yUe{stX6i8f-{~-V_P!bUZxFv&hmrGp;!hBNllU+lMt$$5 zb~YX^mmP1z{la+YXEYz}{0ALI&v@t`uMYD6sKe+P5B(3RgZ#I27(L^m-=a>q9*u{7 zh5Bgcw{;l3IvvJ(`I8Q#*P+8`|95m4y+s$}bt{wNVTz}Si(K8$yE=^C z3LOr8TVCY-=?BzT95KSCa4Vyz9X#;=Re=K)es}(}?44bJkrzydUv9iSskM z?;+lw{I3!(C;lk$0mQ#cd?0ZeYIL&&#dAka|awr>IrBW~*y zXgG1JGtda)_8exQk;Lu$XCQygjSNU<&shcMXG&*uUi3!mF#My4;|{mhouI=-0;~-& zt%ZE68~8@zc+Q7)rxULrej#yxZIGYiO64f`%jDlk{#fGn-UPmF14y#hbf}f&e^rO! zk0buD4v!N)K88;U{2!=;-URafbt-=Unn?UtNHXEOgmebm#|HGDh+ z0UheO59J$2J=wSGs-W&m{%{0KhaNvmc`xP2uOi<#^4YiV<)Hd&wq!uMLnyzRa^_Ng zO$Z2VFis7gy`}WKosJ!0G z^m}Z?`D^lIK)M0Skhu+en0v1 zh(Ai@@-u;rqg?j=brSw~#oOl#RPN!F{|50Ri2Lgye9i*m{<;UxdAk}~EESQ?spRiT zoS#kVuUGKCy~bhwTJ^CWkEWahl#dg>FovTY*gu@gJ%;?Hl)s4hN#tW8swEHITH=ez zx9d7l&n3jqQh%KAr7;}!WdFmIzl{9t%8`F8@sAVdYqh>c{5bNTCVo8emx#Y6Wmxxy za;SEWfocAGdcVGSyV||P&k6rT${(W~^*@QY|9;)SK7J^MqkY()LHUj3A4Yry@uR5R zCgRJKkCXhBF&yQx@4rX)$FXMe{rBa*9qe37W{v#!<=*FO*|t)-ZIoji<+6V{E!QgY zKS6vo@y{wpJAV@u(e7U2?d0FD9PMy&3`c#~$M@OjpmKeFLHTPa=MCcgIp<%9caXn( zsf%~#IctgIduVi6u1?|$h}(Mvc*hZc7(lzt$`P@SaxNymo;aRLgAV8v;`R(Vpf2KH zBEOsX{lt5SKSrF7pWjX3KP1lA&i^EV|B|?!^J95lO5m>(Kb7kFW&-~U@lE9aBY~Id zC4NwO`{|Rw2NB;)`NI-q*uFoA~+UZz28>;^z>*o%mMbcN53?JnjXC&fa^X z+;hqQA^AA}@%DS~J)gi|A$}g^*k^{wXKtTafuB!)FC7kfIdMMExA$UU{q4OB_yv@2 z=f)w&GNJ>&kbFD$0OxwzYc%*a^6gjwei3ooCc$w&Z0&iCI^Y+R|8e3UCVoc({{rz# z$p1zH{}%C&kpII3{xjm2lK)Bqe}g!m_x8hrN{8M@DaZe=!*f1gnn?a-n0z(y&ydgM+V$y}%**?I@@<<#G5K1`|6_u$hk5t<_%ZVFIWIcQ)=C_oFQdcxMq3OI&wnZ)ONSgjAA^T3JbyEe zKKpk5j-0&nNrXs;96tY?;ix=Ar@~-PrYwtnH?NSxb$5pip0_%{)s zDdXtC?bwC!dH5q8_zv>9J#Qv%?FRoA;_DG29XNkJu*p%+KSBN$;6d9i&oa=dw)*pT!%|OpMe9rke`F+VZ4xe*wBflT{#^H0$=g99*zH#`R z^JVh+Dr)2KIp+cL2T;Co_?+`N`S#r$W-|_-bACWRzEiZ$IDF1|j(j^O$2`X2bIz~G z9|BQ3*W}xGh?vDVe9rkJ`Sx8oeBaatsyvhX7Z0E-#C2ExsCkgQOZA&eBB=S!o-#C2EX(PXjeBpf zAm2EA&N+?zXUI1WpL4Dv|8(+=!#|Dq_2i!s!{Kude&34@``4Ln$p0}8pL0G#{#oQ3 zhtE0pl7BY&#^H0$*U3MJeB{X{M*b&aIDF1|i2Pg0Hx8e39wYygkaKIe3k{|)ku!{?mMP>Epk36*@3U`s~k9 z9_G(ej(pU~x`jG`?8yeDZyfpTpQuilzd||k_t9bWR_ieGt92MXfN1ZT#lXB!w z(_!?s=rHm(>M(j+bQt;U+rAm*+cuB<%{ni759%=TZ`5J*9@Jsvv;VsCF#k>E$lsyE z=)J4M$bV3W(KC+x9RS){8%~$;kp`u2yiSI9BMuK8`g^${|HnA|-HFf8VN4$r!{Kwz zRqE7Be}xXCXMDU2?@#!{Ij*|B()(J|B+ZsLvMSQC0WmwLMKMrQg%#`>SoJ zr*%_LRE38lM^!7kyQ8YEbr`A2y9Wv$9*cQvs^s=AU9BBWRhX^NNt~!RQK5PBZ=qtP z@~u>23gpSzn&#af1@~aV<7x5i>X?8;H$JW4ZY%E>SujH`SDz`2n}u~tLs!v_!rXXp zAD60bw;Hlf^Y%@byK#=Jv(}XxRyF#2d}+h$?Yq{=t;*b5QpMljE04t>-1W;+WnD*A z&Fj{#ZIy=^b5>hd(^|3I!)U9TdgPheD>wAC@nGje0 zip748%XCJRkJsn0e0&BGSN>}{UmxvTFDxIQ!NisSrk1}#XGHnE<$qZIEyCi~pS|u_ zJ84XIep`Rv)cM2q8=!){4%+--{c#QzSO0}e{2cy1-2U2(euBdKKO-!z{tC%E?aa>U2g3TlCpfPDGmiECYAp!uUoQWxd}~)+%LgUge|Bg=A-DN8 z*8Nru!(siO*7?`VH15Ls<66?xQ2#;l-^#c8<2rdLVeULVpkN;EY<^?7 zrW`Ch{v5ABi#Oesl^u}*T)P@K{|cQyEH51YqRfvn!ty`p{NL93xlR~ft%3XUNx5*8 z#oZ$U;@bbgB-}6LBoXeza${8 z{*!QElx`*ty3(Qkc&!WT|87G0YjnA{$UNMI<-e6s{%Rc9rF&dwK>2&f|FC@gz9G!S ze81K5?KlR8E_8dz{Bg@)eTw(jYx|>ooG*vv<30jmCg%LxK>U?+U7Nv=7Pz>7dR+NC z^!#K87Fs%#KSusroNYgNt_I4lmjB#cpl=55LpXI-SL@d&%zuc!IoOlt#h}e+{W%HC zzrx;Jn5a2ce~UddVfklX?hV_IvHW;XVe{MaA0zY2CcfVCtiPhd58?d=cR_XB@<>EM zcWs47Gxg0hdY_h=!}9T(9PDCl#%JgI`M($(*u(O%nZ(V%<4Qk&b5OZ({#EPS*HtxF zty_8W)CzPp_50OKudCZ{`m~CQYDfIvn(FHMx;mL&TUReV=~nbPyJ5lHqEs$1C3l3% zjrsENw|Z|sj6=apH#k$?YmSUYEj@qcanlD+Z-};Tx&GMmXI_87s`qv~ta;5(ib@U} zyzx)v*I)Bkbl}k2#%dSZ+rM_SAEOzuY7##@N=%X4YSNrAb3r zWC=U68I~jv6&Xa3MMCH-1VRW&*i@9z>4Xqbpn-rv2T&0i^;HqVA_&T&sHlvB+b9xt z5pjl9Vdg)l>Q;AkCoPWe`~J`Kec#+CslMmbIj2sYsyemYy0>&X>ZoPCk_W?oDo4IA z?m-Zs)6*Co+YzTTQiu_pZJdJyT1+@aa89RgmIB_~hDH8en#*qb?CpCjJJK$@{9BxgKeft^qQ( z_gyk8JV~Yq3#BzEgehr`@lsHO>oTKc+I8qM+phz1?Y<9FRf>>WS#2S*HQxF_OoS93 z1J-LvLPGij3hJ?T3+1A3L}Y94kUk-Ih77fVxjIUB#c@RIxCkjyO^&S|7$-rTK_Rk{ zlj=aC+D+g^gt4jA*)~FYAm+i4F(IQvkjbQw&NhrQ`^UkifB&S0+WZm=?I`)wu!lhY zAay}e(MT5bW1L9-qI*9b1o1^4knVxh)`Y zY_G(=EgcPV1g6kHMgmDf$>U{^cqqOr*|?qxfz%D;F^~iVqHaM1+WayQgeXvC1KB{! zj;*I|U*KfEle_FdQU7PbanMW12zM%)KE0$<$0^wbQ}YUnJI$V6 zG_|-e)0y4LIjeK8q&XS0x^+zIn3Ms_E7_UF*%^~&=H+K~$|=guE-IN`3`BV)*;6}Z z73Iy!F6xB+NvGl>C;1-{3hI<(=I3|HD{$t|%mRgAd1iXSACohb-OR|!&dHpaUy@NWw=laHa8Se<#U)wLg8_iujUo|~cK{%pB}FGoFyfGu zFoTTC0f=C~l59d4{-I|0v&DGXWSu{A3)w~y2Kh1itJ9=vbS*ScuTvnVJCd-}Sg4nj z#s>Lr#;KunjEu{nx^ZgxUP{{BPioitQVonyuajwHgR&IKAP+-U_=gPVPcO)|(*S$_ znFYmpxdqu-b_6mqX2MU`E*T}X3^MYHGoUxl%OZ#_EGYs!W%Oh6$@4>JW@Q!qu^JTE z+E^Q8ZBA2>>Ecb#IXSb4(7>y|H-lK2GP3fDvYjP)(+e`D&nzjNSwe~@PcJI5dj(+T zH9Jr-lsjws%t`s#v<_-t;D#@#gFR+uGwVzO2cZc<{zN{ibDSWfsi+pP&v*E!W-w{_g9- z{-LS#%Pp7*`gIU)b8==DP`h*}X7(wzcgVqoX%Q}%-T{lCB(DG>0f5EhJZDJrcnP#BpkZy!xdU&T?&&jreTnYK@J947&sva5a9=c(*kew^S}I% z8Xz|~W5BM;>$m*aa+k?;t!)wz~FBg~J(Tia>93NP@|Np{c zGZZhLZZLc=kr?hdeK36gAoR)q%lLr-@)4B%b}#q{Xy@+(y?3(T+uU9>$Z4o`q5Qzw z%y?wKx1>cmfh*VCp89$za61R)i{a~gS+=yQkYrzS^o}k0;fTclYC%CbqYfRZaJ8lP zkp$PU#H+K0&liz!&z`^6x5H3M7uc%#`#X_--`_>j36wsv-Z=o-8XlK0#Ea^BZ4__z z`+hUx8*BJ}^cOMgYC+*hzkNv<)0W}`du3RM)bN2Gf_;C(?Dzd1l*7I~73uf=UBstq z>EzCtrDo64AP5{!g?~v5@5A0cDeY+KCa(W}PaItS&DSq!I zV>J72Tm5pJugMAQ@5(8@zCGD@tMv6oUhI2KbdgffhG^fDQHb3S3;TGrbOZa}SAyt+ z&+KpsHLzdXso?|tz&jc~IUrpGWxuad_z2`6qh{Ifs}YPIp8-Y+R^avP7{&X_-P>NZ z$-H*99-c%cZfwEBpWuuvdJGl*;_*`Wiw8_Gy4xRKr=8}d9jk>YfCM}_3VyV+y0oLZ zw3E8DM6~m{=t)?ZrY0xY;dS)1D>!QmWx-)$_@kYTrk#ZbGU#b$-c!&p9RN@V_(6t& z1F3X?P!;&m)TGCsfovoN*&2st9DXR8->G?U@E6d+*6P#QbZj2YH@JXZ?Rf@YY1I0jAop@(e^qy+=Wo&gI24bQ5fig1sNJ#0^374tr` z$LcB8WnO;}FYcLR;{#Z)0KC}Nqcxd`@1x!0Pn>p-cwEk$sKKqYU&Qy*?(wI+c8_?m z4RsapcWL+d!*xLVWJGA!0PPp?{2o#F3V3f@0NgkMKS;aBpGg9Kuz=4K@F@bmK)|O8 z_(uhNnt*o+_#py*k$`7oBZgQi;L`c8@<71pEjAe@(#OFW~uMjBQpg=!Fz>g8|_X+s10)DK9 z$8>p}#AwzZGy9Jh=s6zkFVgdGN20ig1o{O+x)TIE|6U|UX9)OefqtTZ=eMY5CI{fx zsNExel7P1b!N&`DSXT00Jp{ZcpZf%qpXH_YeTO0t&+8cC#dvTfk=v@+*Si zpAzsn0{zoL@aqMJB7wt1H2;M2+Mfv|G7e-IzLf{wsKfEwq zvAx7nZ2k7d@qz8juF<0$(eEK0UM=BYtZy8Tzal--;)Qbj{20YDe7<&%KcfEA1U%Oh zDR=WuhF>4s!&0 z(Qdy8<*RBm_|q8$z=c0y^o|8)4W9s@u>pJ{;6yn#f!-w0b3D?Ea^eMgKBhu8jz@Y? zjzge_NA=!|jnBINT^*LkMyFPO#*#WP7J>skMyFP*9H1!0zJngy(p(vpl>eF zb3D?Ea&`&yc7dMbkzSOuU!ZRx&~rS}+Xeh#fj*%DJkpDDz7*&k0zJngy(s59fgbw| zesMg~i*im0^n4D5JRFboqMVBYJ;w2i;}Ivy;b#b;j;%Q{{Bk_fi*jxW^4kdX9FMf3 z99d>WD8H>h&+$kv$}tJ_?F4#`M|x3Clt6!nK+o|=FUpA(=(`K_9FO#Vax@z3miQPI zQM}EfISh!thB?a$}1L0M&hSwUzx0Y}zgTLDJf5{6|=nJuI#4jw=K8Ujev4nSdhv8=}bw z2v;EO5{PRk{a8C=+Nkkj`dF6&(|-wYfijV$DHb+dC||q+X`hG4hSJ|-XIyrT0nQMAZ;zsHkAJH7AOVu*Bk?;kK^dT^xp#<%H;kWZs~PMBYZ_G zKaS_=^WVQhL__?uwMl_EHbNPkkNALnKPMNIj7 zp~7(e7?5B9Nas2Y@h9;?NB~0sNM_}UZ#oF?I=~AJ4ZZ8ot7p$Hy=cVmf7ju7cMHu6 zHmPKKmki$l*-Tm$_imNdrfqNg%tF{pmTk`~E`%LqIlb*kb6U;mfPtBKsuf+S$Fm}a z>|XJtQVlN9Q=!8Bs+3!!oz`mxDI(#l;X>lc^yAAjJuyAWj_PG9zCs`;8pzh_0gL4A zs$BMXyRxRI2j~;r>E#}!P^|_X&di5#uX|wDiHW+r#Pao79%YHDWX6CgbD=yED-M<0 z45XwQRQ9+P5(B?BMWJ6?Le2-?UI3w2|8XfJMm%I6IUV-p+MSaNG74r+Ytt&LEo8_( zy9l;XY7^=J`l8I)83WqGnB-pA;fM6?r_G$h?~$be`hmZTo@$bzY0|G%R(m_7H3<>0 zCl9p)93;SP=Ni2~&XU$B=0=U9*_BvVPj_6qvKvoTe&9;mALqGt?S|)!s&`l+X7s)| zQyM_Yj%Jr*-Dzv~x<>1*)nIMM{L{pCEsczM7h=O5;g_vTt6uro)w;~$ZVeK`o(sJk zyJmnZ_4zm{O-ivD_n6%ucQq(-jT%F2SFVM*6Fpb2hPA6mSm|nQu+|)FP25#W54u{H zTXsE*F%HXTz+abpgF5VAlF9C3C@iciMor z<+SB-m>!n!`Yf9vIU}$veWh(Pyfz^)me-Lr$(TaQUuDRPD{-*JX4n&y7VYD%dgdVG z>3&RZJvi2tsE@T7E(PUTlf1N+*J}CHL9)i#e+AYpyu9UKlwF)%G%GtRV_NpK=|ywf zVAG(rt6+MGJ-cA~%-qQx?UUw~WX~+l&eCFGi}-YBMseQ5*$e^YJs`qxGT}J34x7P1 z9!#xKuaKzJy)}K@XNdE{23R21#YmnZ2YN4GKQY0r%Nigpn9tjivZ(FIX-7+2+YD>N zgW2j_?c5oO7t+rfE+7sa&KDgS#%@J^Nab?sB#~l=aI`{hujkc%+AW*1NyjMBAz(C zj+dzCOOp<^+IR0-(N^}Td(1J=mD*s#{^p7sy56fD-Nu-Bed-C`WY@c{o{;VoNVnY) z_wJ`{RlkJU9tpWLR!C(+`4P8Ii=F0ikme?@&vzu{g(z#gr?(yIqrn`mt9s@is2A$P zTksSS}vWaqOicMKZdLMU0{YP;KW+H7wN~NW(6!C36-)e_t{O_) zQ)wa*gJZxNHnW-Vo?*vow8Ocd=5<56>@`ihp7O({iRP@+C8={a%r!iGdP?fl4O0#I zL&0ApR4jsier-fBkLD|(I!Qfk)06I-D=Kv{&!P2ZMlEA_6eCOt@t6zePM$|S_qPD{@m`qIw&`X)sN$_0HV zi#o9SSf{ARqw;Nr`t%~LP=}TnzFoH^m|tmC9L&8i2kGUTl$}wOH7zsHL5lISZxc`X z0~};M{$TMz)Eqn$#&yNn1;x{g>{&CX6*f#}_VojqIhqGcJ?S$)$vv3od*kU*<-Gjj%?cUel|RDmcymmI|dJl?VGr3A;?p{<~eb+4Pa z`WNomwxMT(x_2AT)*3xq1=&%aS@+65X|QrPZ>1ja*xZkCf5-hFjQQx{JxsO!KwW`ClwIZBr=z=snS1U-53Z-S8bNNl>r(mr-`>&ucND=&?SHC~K z4ecl@uvPFh=GCHqSQ4}~q7E#drtf&!K-&b*u=aQGfLFK()H=}M_fUtb=UrPXf0J4s zwJ#QRide)f^QQxKrG~SRh6Fvq?@7a~o&;*JdU#Nq`0|Wi4K%tfHPfZ;8U43)Vd}{N zyLer2^)wSX?-0Q;TY|g)YL5xV0yj*ThIwl#8_)ULL7&RD1Nta0dHZCTe^_|0>PWg% zURPE3r1~Msby2y;LGJF=HW*{r9yVVZ;U^d4cscJhvGE0m9leIibx-TxYrENR{00+L zI}E`K;e|zq%keSM_?-mZx`qCczp6hkbJsxd*fZs?QQgvkU0scx!nGr)wbXXh=Jn$2+z?p9tx+Wp==^E?BdT zyB*AuyVw2D?nkd*dJ%nX{!4dOcR_bacUgB`cXLO%vys}^ z8Di3VOW?D^E|g1^Umf<)dYk z#k|#Kbsu4~QMBmd@7&*l?6x4g5%dSZ9TTu3%OyAU5)Z;JJiuG>5PM=R64sBrfYM+nCc7Zrvo&oKGw&mBbT|irQ zyw=UzMg!Lc9B*dDI9~1+!{tD`XyaJh?GCLaoNl-4Z`-*AmK1uFJwp42m7Cb5Rdp5W zwk30*HxgoA*^TR4Fe}17J@L2fJo9z0-<_OST#}KUm7ATxr{aS56#VP7%z`4pv3vPT zvb=bavHOgKbLrn3eoQ=d_~w!8M=yVM>Dvn@&YnJb{&<7FwU^ho_Tu?29cqJdV>S3v zoIg5srcm3{F#Z^8)@=@%BCoG;y%?hT(l38<)q+pEfL`*F0wuO4$LmRLw{C<@fl@;} zw|0D}LVRs<5_rhv%^fe7HRthA8cB||WnIzI>(E2Rb~R6tKY7%n*bP1@2~WFPn=SFj zdJ?57;$Y3OH1uW*)g+`#66oA*saHAC_6pA#uDOA43s>9td>ghR-AU26^{8;JHnef- zaUDuY=f2Dq3S&}jKIt8sYGZ3|s~S}$PU~Qk`%Gynj5qUI{_CUj=O?CTZOSs|ot~Te z@P>yCkDQ*Gn!h36FwFwK%+^$|vprBcVv^J2~ z!*0}cth-0W=SN&UEJiWbuEmam*u6*Po{KF&;cWw$YaC_os(s}ctYShcf!;);sCenv zu3DR+Fg92Xj(!`yHR3p217+>=(a?J;g%Im_t<1zJK7sZ0WW;SN z>k55k3&+~!-5oD4Zz0Cp1&OTQ(Z1_hwK3Ka*AIt?yu}PNS~YxA4U81RJx}}^=D8Vq z$)l__y6?I)(Z4NxzMbWNf?s)w7V&vhI<6744zvY~JhqhtwSi9#mbriK%Ph+FPYM&< z;L8Hn`#^^Ixl-i} zQN!UbCZY<)N#Wn`xbMi0i^=M#{&&~0xOzDP zN^B440W+I09uKRf-Rmx_zKpXdY-goEVao%LTMp}fqxZ!i&N*LglHdlPmkO=O`{azl zOF$l%#r-Fa1a9MjpEks!80 z=7v2n`eC`JsgtWmWfK_l#T^M8H5!%x4t?(g^u0%2JxpHPU_Jouo_jvd>b>xV+AXl!FdS%o9+JoIs91N*4eJfzjf43Hq+D0E z_-mgZvEPPvHKdjll;+eHEIXV-RbZQhg+mBZ}~qr0EWZC?(z8?#;woN8=((+;bU0Sgt#RJo)Wd3(2ueBWUqfp za8upA^bAfCV3hEhK(EVMKM`?z)BzIT1;Ds`siI7=U(JK(oe7r`FBmSTpT*~$_!O-4 zeRvAyx?+Uhz?`IuTiZ5$i}1Y2HurMa5!i*`dxGTaQ*}|&5=h_NRsW_gak;Ct9!BCg zBC7l$@F{0{`C;KXm9AucA%6xcwMy}}q0ICjhmNVm9?ZA4OxKuUZMpIc&*Osmcg{$- zKH{w5X5!`aOT#XVIysilCKmbl&S`7X=gv5-X0t?R5uPaM;g)PJ%aT2FVciaD?yz#Y z_PpHnBI=IM@ZUefOU#$gVdYTDLanWVm1y6}tnUu#{90WrE(>GCb`VSg(*tezOkG{x z&@0uj>H%|lvbSpcPbUfomaH$)%{`GfaLW2Ax~VOoufSG~dEn{z>nygk8ofe%W$3%B z%NhDp-rEC9P85o=ecn8|U!ad|;VmyLhxAKW4#O^tI4hI`teEj<1F)xpJ{x%D2bjAV zO6jw7K11xRwV5?7XZ~xeJ24(>}&7^+~*U+QFEZ~}YX=g?5fPT+#ETx0l z0<9T_&6O|0-X0$3sesx^IeH2lcfO73a2o%T7RUX*m@B^LTXg)X4Lp0Zp(WkFW2gHs za3>ERoi;EkeQ3t|NOb9E1&m@;tc`l-77Ol(am2_IJR6^tyx2Oo9&o;B5-Z+Yd@ zT0_=`iGf_cc2YPvu>NFv+lg=F(Xnz<85?=v?h#&=I5)@L9<)5d42gbq6D9f zU0cfH65NZIy1o08G&{J}#-*v4Lw5?#UxGVE+c8!8Z{w6SH_V(w%|(6OX&CRXBgct6 zsI3HAiTcX5WpN%gT=!(myr-O@*TO})!S1217)7~Kn#XV{%wIn-Uc7I(O#F2ZmM)g} zM8U5hJYRs>K1{K-v5{A@w~o<~mr%!M>;&&dEyqiVwJuSEF}r|9C^6r?n6E2a*cfia zaW;zUxCmNznIdKGhjEVfCfpoto4~Htn9PIj7Y8z-X69t zJ~819i(?XaTV7<(p96zo@C;!*b)H&+_5YowOwV`ij%sn z)fYx5REK`|^0<4xyD+-_yDyK+fA>O$qgk!q^@3`2G_TcP80TnGtA9De(G+oMMrY}M zD@ZgVH>6;;t!zmWR$@9kR?06PFgn_tj$L0ZLv2v1?)*T0aBw{KqOKPdvaZtctg6Tl zl*K##{G#49YF}f=nqzu-v_9UkOjRA87Y&YQ&gdOWju{+F&lq6OYUAbK!S2<@Z@&A* zch}#AeY}kwZLY?iJBO)mF1xH-zua}~q#_^Nr`+7PZJ#4auXA+M>tMXC?cH5{MjpLS zag9Ey#C|ybLuZ&t4`Vy%DN7GRtBSor5Q3e;cHBqI_U+>Af5H3<8S*IA>WHj0pbcy} z<-}pDHGmz$YYlH@IKmHF9TC?Ij601W_x@cTy-_|Dm^G%`eU~OSM;?=3@e-N;+stTeWw=e1(SI^~pP+Vuba4eB``P_Hu%Ux+@2{i^2S^TckRjp%f8)wP5GkAm>_XhJa zbLf{R?58`f*-Y@$??g`kJ>=v-EBJW13~xEZeh}P}oq=EY?T4GP+uOwrAzr!wnwed@ zjJY2-jxZJg2YEp=iI@ReOesx?(Vj3L`uXsWI1_WMRZ01+^*1(LIdbmksjt4DaBI?y zoGVj)F8GnxD_(0{J=q$p4W3zr4|1KZXd}OPuuZl0gv;^Tm&Eb>InrX0vx&j(Iv7Ko zF11PN-7(s(##PdF%_d7oUYzLWvwWW+sHUH0^Ur)GRS>7&$0AEm`dN0ZH#W2FB+E)Q*l z?}jWN6t9Mmnu<`ecagKk5FT&%Ro<*Dmg1kf3A@b=H>E_|<6$?SRHRO}rUu>m75J3S z6B(vklhRe)C3%kMbmx~9Tz}(}-Zy_aQaQ*ICYe?~wSRkv`qyjdktXB@qbNsgpk;^-R#zp8A!2KvcR zDstVbYqy-GgJhN_Pt84OKddUzb9*x?8* z4#U#(JaR3p?%b~@hm~9`e6_?n_hR0#DX&hkPCfrf`lFj3HP1UgEy7#-VU(2idhJCh zolhPOtmoX0dw0PI#u_XZb@+Mng86>_Z8&^J9`-W%w|2oV6l(G8quO?uIp<^-AvNr! zDwzwO;ei?Jzqc({bg%*z6GhfnC*FEe<m5e`x{uKU?C|^0PIe5z_>x(p}F}Km0yQMTpu`CyAu8nx2 zqe#c)R(;~~*nJ7P9(8{I1=(HGuIZMHzcp%eMXhc}wbOVsa$E9eVCP}(=PagJZfk@ay2t)Wkkiv-UF>pKz3^9S)~gfGmu#Aw z?oOYJeMz3LcBYo5UfB|ZzAj0HS>i`q=8ax;X4)2qQkk%#maj&^yFOvUoQWY{K7}PDw^j+h)8Lt{O3(b%p5VAV26`;HyYDTz6BAKCECck* zt1@mq;562fC6Dm;^!l&tav-I)OPZ2{{e_`2utc~G@2w5U5B9qyGjUXrff>R+m}ZI% zyL``ykuG~y2IkkhNmH~7#ut|q(>@%D0{I8sJNQo-X(=N!?zw+Z#_%CyG6p`7+TO11 z#>Cfqu&mHlcDZ92tolbfPuCj2Ys=0>SIjUwmz^uF=ycKO$EBrRl`A^59QMk-df9tL zy8}*-8tDQ%XU>K<7StP0CFmb|!r!8fs8a9F11x#8t4B?e>sDO3`CIbWRrOxsN_2HVx@;<`BOyhV+?yR%feD1FtpY-5~>)sY_MkL1XIH z>i!3Y92}DBxu!_Q4;=Fi(u(g!4#ZRpK~rh__7I|bhnFk2Lc0Tdt4gVUhDE{j+rI@R z&k8DeFYGPwj<<^Q^PG4l3-4y87toUR#t*%JxV_k!U65^uncd{}c6je#dQJ{&3eZ(~ z0iT?V=>@C?b(nGZR<$;g!l$)LTH z2^2|;n&L^Sv(%FY|xf~R5$tt~Rp+%^I<`M_ zbH!*`h7uo81^EyAwz~hJd%vDkF78&nx7MBJD8HQW_lYC2-pGo~yEu2)!>>MUedOZQ zVfnA-Tc@3$C#6I~%Z0q+Zo?Y&g3ktGIg9s!YauHH{m|!%Fxn8-a#yNR5ouA7Gf@ui z*brf)Elpiob?yUP|MTe~-utjptDzssTg&25LR(mm;w59+<*wTQZe?2k14}nUZJ8LX z_1@YJJ7?oyTsetTc#dt**^cGtRxEQ@DOK)8G1_d0Oa5pxt0}Ob|0wkHUcNxO*LV8o zbHHX?Gxuq(yzK_<9(rAz%ZqmK=e}8pW0Wm0BX_`z{DqzAZjXAYxefkdrL;Nd-+Z;V zR=RVcSDW9zVt0A}@^rTk4?JF4&dqa$CAM17Zrv{bQpv2vp3dv1X64~=M%hJ0u+OPv zGR~y!xU}Gn&z@z+V~(if$|;)Wd$T)k#-U3w;HB_=NL&%fxmH3sQ;GdqrHmgkaK1W&|1wKbe(lTicsIFwtcJUJfoC>wwxYh zV0AU{xi%VMhyHu-E0hF$;7$Ls4GnkH?}vTR^s^Uom}^s z^@SqB`oxoLUD(=tn(lg)ozsHi8?EH8__$?erkKv1oGFf)nQZlh5#ZTOKhGe2Lmm^a>Q zuR%j#jSO0@eRf_JH1OP_?939F8JA4XEPw%R2^^)A%eFG28GY?O7=M0tad898zme|b z?7ZB`CAUfV_WVH-rdrq6d*JV^PeAwE^+~hCK>L5sj`jG1WGB!L0^c99V}1T02@~8i zka#owI@>W|TWyfbPqKXjwkwTD$Fdr|f%IOqyV5qsB$uW~e8flA@N9aO+6&h2&9}z7 zTRU1_HhX5bC6yoe;%|+0R;#@{vrLlnDMQPW2j`4;wH|ETeCjmmdb*YjSmZPthR47Y z4E&yovdG!gVE0_pOTe{EZ3%a}r62ob0j`HDO&>zjGD2F{^m@PeI_iD0Rt1;v%!fYSXWoUUQx+wsG}UIf8k7g>60Qj4uxwzivBEZ)?!> zc5Q!9(Q9UW!{-Ij>+9sbyeynTlo&piHZrZPb!#Bx5j?@ zy61|buX{>4#7m^I3fj^kw9D0c>G84LTrJ0#n*%k$q_+U;VM{`)(?RVrZ>x`LR8U#d zfC@_jW%XDSEXC}d-hTA{`%*KU1tn}{MHnX(!gIu&YX!s@#c=j-NGl{uz6jHxrZ; z=i(P(mbx!~!2wo#I~q%Hd7nhj-?ULtQcaca(WESOjXW!)xJ)X z2yYLz1WB+0wP3XE*fB{#j-)NHB2YJ9z35xniia;!!8?RR9{OgS4@+0Ez%q0d3r0eo zIQSkAlp4Ni>78H0H-a3BK0)L%eMEOvz*mdtZcS|mh4Wc8$+NsIft?mF>RaHB7Z|^7 zylm%|alL4UH$`BrCkI!TH&@=k-4`vQ(+=&~y>G`mhU_D&T?b$4=7HyfyAN#0=3Fgy zxmxR+f}}Q=oA|6%S7o>W_HP=at?Lh{0*a28n>b_CA)=;ENl9HmO9X9OS7ta5(wg~k z*)KPP_q_Z1aT%1}oGXpgEjFBXwI1xxl>l53YJWej5YE-2s?MOEgfXl?PfOs5Qtk?TZtTFMqy7;A^f9^y4!r$&AlZWvZ$(soz4rn)~Ie4RA#T;}=&^Z~Ya-e(Q^^Yp#4D>QJXDU+^6b@ZR?qpn;v&9@hpl zJok+u4*N+vJkwrb81CcbHLFHd;CoI_cU%3g=RhOa?d#r&&Yu{a~rpoRUkD%muP-276HI?5#?QIl44u z)A0o-xenFPqS-!|x^ne29b0Y+mfC{Ral3uGg54V_`+RUe7?~=tgBeEo&jypw*1uFE zME+>tH{FI`^5>6Nw)xV}+^Xc@9?#!Of9Y-|$8sB*y+DJzZhuQo+wHz|!45V>u*>(r zFWrX!fvtZ0R%N%hWiM2BV;ki4#@n(xo@@p!yV?-WYcaOSL^rm^=k&jHC1{BIv) z9LCs8^CP=fwx(ZwN_5v$s$|4!xksh%3rW-qeEP$qh1g=~$~JtH)6WBZa{@iUV)f12 zd4Q(7W$0g&oI_A!kFF0^16J&S*3`(Oye71!bFae+{I_FvL-@_mw=tb{wQ|qO@WUX< zJ|mc<*I~sKOZ&i|gHe15^8z}y4N7tDE!d9{xw+yhd^4$jO87-7-`AwRhYvA($5%Mw zoWZwpwYS5zl^Nrb9^wdS^WA6gmX&bM@FU+jwXQ0B{JIZrjV?`fny!+*$s@<_dUolv zJ5OKLxf7cVo;ONLb5(6R>{#(CezWc=#RNN!h`hUkz+NL^=aJ*Jqmtvz1CnD~4spEINOHVpkQZLX{UfmR zUanht=GMsZt{3+kor@0`yCpA(DfQgy;aqSa%Cizi3M-#9tY7(F>he@2G5nhvC7L*^ zwwm`|^u;Yt2kQA7%(iMcrI7An@x^_30PnX}KdJU#9y@VS#qZqJV&c16a14s0PSnXK z6}6c+D*PsDQ&+R~D%#!gno9a@oHyF}^l5{w8v3zntC~;^`*&c^$dX*^~i4)RoG<7x&9&Wr2hmmt$=zd<#<@OdK7R#_-?70bBhe6t`Lzd+MJ9z*aV8Ut`V&Gvv}Yy;Z=cCAT*vhj@jJLU&m2A?WduwFQ&SN51DD1>@Q?Ci;v?@H{s&TK zEF;ne{9!p4EM&ik*20#SqsCLl%SPE0 zX=-8WWa@9a$28V7*)+>kW?E)iYkI}B)AXL{sHx6$$#lzPhA)z}G&|6bDjIBBNkQQ*LnF9_UYXygcwT1({+QK1Qcff&E9Y{yg2|P?^(uH(| z0}Z>wp;o6I3|$;0Fk@+g@{9wU!~-zy~xh>MgFHz_BuO`TMd zMWl*6K^DWoLQjELTuPP^4_QuDkd-jRSw&Wpr%4T2L!Keel0SpbTu0WE=g9Nq1+sy> zNH&s}$R_d^@-lgayh{EHJnHM@4LE?~O*me8E2$;h$ab=W>?CiIU1T?T8~p8F@(y{I z>?8Zh0dkPMN8Trg$Oq&@@)0>qJ_c|6DLF#^NlcVGq`GR~&z9L^kC;m6`E%^?7 z_4niisUs)JDRP>eA!o@sa-RGEhbsR_E|QOske*dQ){HGpZJ^0V{9}E1)0{`z?fb|3af{x)jbQYJO133$w%5msuzJSi>6X=lM zgHCD>bX?n@GkXm>xQ)>1t%Z(o6?BeEpu=1Uo#=e%Sm!`zTL>NSWayM9LPz}|bl$_E zLmvX2d@^+Wy+aX;(o<`v!E6Ux8k# z)J*CnjgY2Ei=>Uxd(t^6MAuPwzizH>o$e5PR@pA!D?ci~EPpFU=u`EN>fh8~)VEQx zmFJW?rKKU)@Ur3WhTf`6J*>tXrx1h;^2^9Ewy$jyqfSQ^L|>0CYZMu?KBimjd$AMZuEs5G z+#&vh`1~eeO*c0k+e~i$YV&dSkQQ&XC`?FneCt@%a%3x8;$IV2wjS5U(e^^yZSBhM z7}dUQhkthXyyL5#79~yYJfuszu3_D-c01nv!yY?&ZtC^Soy&SJ>QmNte!s{2&%eu+ zTsdIrz%_$j8oVv#Q0jMSSB8Y8x4V1DJ$d&&G3<@|z8bC{(fR(&k)8+M8}+Zzy~fNO zyLsH@@x3NIp7Gv9+oVkA8(B)uxZKT?tyA)+ewg2>VEOc$g}Fta6~m_BS?%XMKezcK zYaVU#*qd?$>Af%K0A5zA73b6$N#PCcf-EVuUmZT^)p|b(_QFzal)mge?NGcT>5xj22&nfrfo$&IK(-)JW zy(gIg3(hErz8#5j=>CGqvoo>_KsJ+$@p%P#B{Us){|UcI4~dn`gp=&*$zg1Ohy4*g zF>v-9Y+8Wt)Wgf0*_qQ|uPF+Hi{dkja7%+1 zhj&~-jE7T+Fsa<^k_Cfy+H?Pob zB${P8KNVU(S#P?ySEd2AupIM>X84q)@?h^Z90WI&>Wu}B^%FL$3)PdJXNXHO6-U_F zig0QnJvLA~(hynwFP&sSgp7gij@Z8VBhix%bvgx+EauL*Q5d6B5vA8Fc?Bg}%zbfa z2%VnBFyh=;7ov;;e_q^5iV~>KHbxZXkYjC0-usqO>E8RKC~TgLrk8ED_r7n`BJcf( z=x5+wnc0iz8#hJ$4L?JmVxY|I+=J-jo1*RtysJ<2O`4*%hDb1qGP6fFqHo&NtA)Nr z(}y6ErlxO6MX~!t%EazlQ+lIbdBCo#(h->5qU=%j(7o`h*Ei7+qcw!Cv4(h%BVskg z7>;P9A;xM5DOy8}M3pb%(jL>XxhL3`0!spQ)A z8CXfdsQGqX8rYeoJ53YfHEMx|@EUbGM{uJSas)T(3=QEmY7s|pqZV@nH);t-M0$0f zVpj`6EvEZaQTLg4_~awg{bA5u&vk!96XMnVQ4QhMeI7?}-5=xW#%TF}oFjN<=5qwE zA*CF_GqZprcxGH2!D~nvM?`3;xH*DXnR1Q*Kcbc09LPUpjpcu?nEwj99xa1qH@3U3 z27C!CyK&uFgOHkQi18fJOhY`x5luD31diZsD1#&7HHwKG!5dX3N5p9qlQ@DK)yWau zs97Arjhf97+^9Jm!Ht^B5!|SgIf5HCk0ZEIr*H%}>Qs&h(=^TJ2&;ye#t{|`QNR(r z=}zZ}5RIacBY0b$!4W2nqKG4S<1Xe1Rih~32;SOfas+Sfvp9mc_Sqc4Tl*Z2&}l;F za)hKI9_9$BDq5X-u)Desstc=AW4a6e;F0cntZi7Q=6Bb<3|$7RQ>9!8uTu*+g4ZdR zhS2dURK_WI6>@6`nOBfiiU|aY)!*9G;B-5b~L<$hV5zCfrcGv z*olToH0(^nE;Q^)!)`R}PQxBF>`B93G`y3By=mBohJ9(+kB0qecoz+mX*hs}18F#j zhJ$ICLc>%VrqOT+4TsV&orZVQ@E#i8OT%F_ypM*%Y4|4^j-cWFG#p982WU8ohNEft zAPvXRa4ZeS(QrHsAEMy|8fMUNA`LTXIEjW%8fMWjn}#_w%%$OE8s^b(3Js^yFrS9g zXjnkQ=`<{);S3rU(Xg0?B{ZB#!&x+(O~W}foJ+%pY4`{YAEn_u8a_tD$7wj9hNU!I zKtmS|%V_APVL1&eXtv!PQ1Gjxvt4@^nX=sEFvy9AbR1F)C+_h8GryaSR38FbQKR zFoXf)C@?u1P7x=@@f29dVjiNv#%Oqjffy%H;5`6O z+YCPg=HIn3rS~g)iV2}%C=LIOu7}w>)V$u92&&Osn4hDD)PUzHz)H;g0tJj(F`G9U zCwrM*GIqj3iiVX9V%|gnjp;9piOGJM0-=18s|&{g3!6HI90_y5z0T;H>xQ<9nFT4} zK$(QLi^OPF!$Nx)-{(n(_B5}6d!}z_FKZdI;KW*|r$*8leYOf~FK~BkL0uM55@Yy- z;U_>JYV7baX4+*iU@QgnEXD9~@(v)Q#*7Wm4o{EZJUJpyF5_VWCR4!3fIJF>GGGb? zSThWtN`WXXoqYKsq$3zNe64i`BnwEmXegRk^Y0XY8;?h6{$Q=AyuUr*vQwHCG)$nO zgN7|>*ouaUG;B@7HZ*KYL##c7+(EbJ(#-U^JPJxcG}AZMH34SQNWYWkL4-(p z&iZ8lDNWPA$D|c4{3m&10P{brji3-IL(t;TQobRd0%i-=sV=}n`$rv#r44{$(Q|4; z>^QUl>-)p+ldKQlK8?o65&nQAqZE<-A<4S`w(K+mT8)8y5hyBKk}H5O9)Ts{^Q3S! zn!r;IjCxF>l~jWsXAmqoVBCBu0xPJIL8Vdz+9#Aj3#15IDhzT-@DPHKC&4C@YX(B= zJ_2~Luue(Vl|V*|BWQi1vHwQ%)(Z5RBzFVZLe-BLY}G?&`#+o-Z7LD>%g+TQmSr7q z+r(H?iI^&f1F5KKfwibXW{sg(zBhp3Ve8HY8E9r3@RORLGWoFpL4UShXi$*G@VtC5 zfZ-KuQ|KA%8&zX?UA`W`@TPUxZ!v6_+d{NxjCZV${}#gmd29f~N7mPVi{Xe|6~OSd z_50sq_)dNcqM`8;(lX*7;f1kU_ZM-QIR>cJghX7S02{_cT%`c({vxhXfOUTn*D1id zzla+Yh++bMp+GDHex*PY2Hd28T{Gz|`A1NPdaAw=L<;{A^r0;>LXs?4dK#pYBCu$f zr;3mz3)-D|stCOlfktJXDngNL)M8AEL5e|hFi#bsN>P~MSk|l}jFS8)fI=&dXdzh> z0j^&KSmo0gTTAjUz)00LMzoW{Cjbvi@D9m>Za{mbQpfzq-Nq&)&RT9-lP zJP|QM3hx5$g~_>Jiogc0K_jIIY=K(#M@bRbq_pghmdsN@mX`goQWUlx=6)l_F^k%n z%!lBcrsqYSd>3d&=SWL*ks-!apfatJk)akG$!dUw0uqa{T98V|fH2EO01ONW zw_w&x46uc7gP2e(FA~`(@;v}vlNc0h?gcc3ItIm26U^73#^x`8vP^@T(71&f)RaO` z=m<>*6V@sVg)upA2L-vp6giCcN4cCH^LEw;3*N}K%wPdqVcxY+8E{8RqkO>Zw3u#P#*@3WKdrQJxDAsfwpsjNo%0A zsC2fwz;515B})p{0WDJl7^GE%mu-V3l3}P23RzpnWh!_o#$q|h-#3YW0-U!>);aVcu zN+e^9gBRmWMxYhrERCFHdNzZ!Vw}Sutr+JrNGryN8Kf2CBMj1t@lgh8#rT+H#l*E@ zoG;m$0@MbI3;MxQsZj@j=1UA*AcbO;U8sRB23Bfd83Pw-U^xS;;4v0y)oKZGKWOP z*s%Fxtp;xt+Z@+I*RtV4R9p?)N~ib-PE9F<_7=@WrK&P z=B9jr!ZpZFp;!%SVSE(g>>89{#Gb2-206lSf=cZ)sHG8o&>b4oibCySK!S^gm^QP8 z=EW!$br7%;v19`V|24bmB;5MIM4%cPns#{0ys#!x7^y@@8D58I+Ih235_|sWIKwBu z72VA6Q(!cm0fk53X>8d_E2HS%Azz|$bVwK7hdy3rlb-0l+OuXm#z*&)QJP6c054kj z!{z9^jBOJ+dosM+2T@Gc01B{aQuIIy*jdaV3M4ULa0v1zGa!X3GoJyeA$LK{LI$K! zU@ZfNP_k_d7)pUX(eTZ35}i(g_gKu`A@_lRPZ)3yjk&~t`{FVn2IsYqv*BiJ=tE=% z{fR ziO;mqOaMDR1S_HsYr(d()5n`YsWL+U0w{K$L+>eF9jB9tozfL3fAvd)VP`5R)RzV= z-A1Dm<6Fag(bxh)XzhM;`Iu0{bU=%BlHU8RK2l5r<6Jfa*Tu9qR)Y*$6fqsb`(hFd z=tuzxHYmfTi|HJ;3+TXPusGEv0@G#pT_Z*zj%pjzBldlWpf%eV)63Yb4HtGNlMLAg z_TEggDoG6P!(fT9IZsUAFjR@nd1Cs77XpvAb{^ZcWjl}=YfOSL&>V4QLq4EshHta5 zEjC^FPIMJ#YoKK})>{t;ME@Qmlh!|i_mJRR2x=LcZw#bX@fSc`tnmy?lI#@IIt=aP zqoY+$Y7-p>MhL{VZPXBLy8tXLfLN)$^h8^&0JM8nv;fe)fR?icu=NxT2nYReb&<*$ zB6TqC@XF~Ji}#wGPO<3#BoPb#9D;wXDYASe$;$xc%K?@4ywt_0w&Mc2vO#8a_ADZG zi$uJhz#GL-N8pwUGigTZE+6+3#**l6X$adZ3a2iVrgX^cc3F!s%4L>r-KPdmL znfeL57cXhe1P}o9?0VoM0hj~;ypjl)^jhlnjwx zLoO5(T>-!jCQ<5*^pNm)Dan`QdLU3b&}{hX6%dL5m?%iWt1zO`NDDy8SR)PqS;1}zRSpu5wj_|A`RYnJV1Liz@%KrG{6 zaEhu@cMwWc%uqj?PEWG|f5l5$vl!x7Meb>C!z*%s9Q8_fnj;u04z4JMY3o&b}x-E%b$brPJOk=PMx%y&O^1EL8IUXbL}s#<3_E<5$%#* zHOs@gf~c)p1c(J6`K|_a{zSVO^f$Occ^z|dIWPN_63p@A*j)U7 z)z#J0GhNSqGG;f~zx93gOjlP|S5;S4S9j0MOT{M2UY}%7?Wdnj+R6TX7Zh9=t|FS9 zHimRXaT*Qz?*>|4+ahU=z$n3Mc$o3Vh|I@HPvlS>zJxCTn+5GA8So=gxa)~jVsVjx1Tv0{Ne)|Zz+`*?-MXHu7;;ZWc!C>tlJS?REDlaG;*$^} zkLzh4GCpfe@}~nQ`RpeoXR1Oo<1`R$m2D zuIJIo2rGB8kc{_$lxC}+PvNeoeaLw8nB>zf2TaCigOuyJY8jg~e|!Z*xMlDA@JKS1Mn1xUG`M<-+6AFlx^O~zYOxa%n^<8W?nh;JX0JdPx&>7}-!>3Q~s z!|7{msrfE@({?XzlG|SO+{U|db7&lmNyZVW&)ABl2ju1h_J(ObWJ}GD%FQ3`P2)@Y zBtr8wuC1%R8M%DZhiygEJLTqe_J(Qxn`_v<#oeZ~z5^OgBUR{rib)l200HMeq{rWa zjMclNMl(OdXez6xiEK$;%fv|hn}$QKRyDnpl)RJ_yp)u?>~uSGQ7idtI|INlL5tc? zP>?^1ZXADANc$I_-EzV{1S)x9DTr7YCa}Di@vFxq-@zu_XpL!)ZcL9Mn|TVxq#DBa zL31>!nSvzG;b&Z_;viqDYT$qm^4rmkmWP(ufHFwWMuWu)@jj5 z+ZO&Bf7Pu_k4}DR8)G&kI z6XKd5H_W0pdsyzD`f~rQ!MusCiTcfuwU%Ehu)ip$m5nwj`7f)|6 zn@1^NMuXWaN&z$T7>B1AXPd3nBUzc$WF`FyF*k8Vfg*amF#ycW%J+HZNU0{b@w_Pr1WNcOLJNtVqR<-120|K+Du+A)_ZLurotg!0R2r@pZQe<){Hl zNrAP6uz=Us0mtX{N|Z;(>otzo_l5nnd`^LVUxEE5gay1VJ3q_oVJMG|*BcvPsu!bK zUZn#H?0N&G0g_lEtod_jRdq`)2vVF9nJu>IikIvwTF@%kCZYd6~F zZD6MYyE%jfO98kz_9lK(UrSg2FWz(AdTfw%4{f39W6a~`s7J^H{?F>oMjG8?!v}ze z>&MVDr0J6}Kd(2tGPLn&HaBhsF>mYa_;sNOixk*O1$IRU3)KBV;P~o(0m`FO_b=+< zZC?tzYWa}@dt8Clbp|4u^>!QJK5NIK9I|FssFz@ciXC07S;5PNA-$Gu3hcQG?BxpV zUqaZD`!Au<%>KoHt*`kuaGM^nl}$eotj0geooy1w4K?R?0e8x!3~4IboA#sajZb_b zP~9&5vG?=#`ST(2C53B%=c;7)`uPAZ*_i8-2*$s!uX&XE9T6V4*qi3(*_-w^DD6Jz zGtd+;Fqdf4-(plf2wd9Ucl@dBxh5TG(g34}FnkDbX`$iCbZ7s+HsG01t}fJ@2O={^ z1ci(7sEVn+xKKYIH2g;qscmo2*0Dp?=CsX`0hZIPv3|s+;#<*?`O|1+_v>>{Q7Yef3=>UfkT6Z)ao&i@*JN&ewvS6 z%?hktfo%+7f#cr;oHMCkd)9Cr%At3q3_($T0Z(v#ACB)vaRWy28z4dYylpG_;%!%8 z7YU8mBzAG+ZP|d+NsXyc|kgUU4&0FiuXL4H>qdIRMYZX|p0=p)JE%wED z5$Z=L#yt=tYIz`}+w!midqRPYgM^D{5WSmnwQNyHKTCnVOo4q1 zFrS6DqC7elJ^>bjWWtkuS-A}Kl0K&oMnOd;vyhMV{GwV;K@4(UD`Nk)n zS%0P^9vp3+?V^owjcisC1cR3#igLp8y!t8BjrnVN1Hkz~xmSUGL4iFK!h&w+qbFax zH7JixySMuO^Bm(pHvZ62F@+zfm7e(K5VIX2hNkWnBwxI}{*?6GY}~{ zoJd!JHe7EGV`*AEJzC7LUG>RjsJqv|kUjFBofwOc#}}KgHF2kX=#=Jv?zFGIG3~Uk zzMVR?+-(9PJ=VyGo9Y*&h@0wH5~A(B%)QS8?&*>1-R1?ZcebQ;nk7B2B$l+Ueh&3Q zf3xYocwPN+!xHY#Ai%@ugrA+?P(PV8ncViNYZr{*Wt9u-r@R3ZTyonz*RoPJGFx9X zY`Lg*i;Ze@YEQFsv~CXKoBtP=>I+S0TObhd#P0dF)O?ZLlqw3Sxh$Vgy&PB6kir^(~-#l|YBx|xQdi~fsO)sG|hj!!nF+4U7(H~K01 zV6T~7@7}XO!ibi$>zf~=>m^b=%M>q_)Avdw>2)H03xv3w>A6D`@z0BTO$7LBKQ}5;2o8ucsw!2>mT=YBRtKL7|=dW?mVfU1d1Do zeX1rI^A+=$;EO=PIT8)uu@IRY!v;>usq1e|37_|Grn>GX{8HVq&Byz#e-7u^z^#)p z$HXaFsu=VtkgxLJW2mstmi(x0d`!c{v(S&~PNn&Qr^TPtnQ5^D7WvaUvwG>cl5WlG zJBx@?{4;rQX}KxBt?rP7!aWmvTiprdR@D9-Y5R9@d(P+IS=T_H%HhJ@b>{m!TzHpX zc(-4;$1l9cFTB?;yw5MZ-!I(j7d}vDzKPVq?~B!$_r=ciWP2OT|knA6wm>iMw@*79Zy8BI&9YDmKzip^|%izeJnS z<@o2C@JRFc<%Qjl(gjI+YiR|@Q;_6`KI^ZhD0#h?!PqyOI4P#hiF%M=uQ?2{=_OmS zt6-jOJFKpSUW{a8JdE|vUNar)1{xP;)J=LNc;LnO%sTTq26iE!c*gbv@Rc{B-zu;g zG|S`BTWWdOsS4~|1=gj&wkj}sbuHINV9?X+>GKf${43CnSx>?9uefIoM$q6j$fQ<~ z?Zr{u;?yalx{YMPQnM|6g0$dAq=a?L>a6k9`9hHO)Hxf)9J?*&D6mciMo;qR+6JN; zA*oLzkqY)-bUh4%E;pUq1HU;D}@VFLH|(OM}o4c{IS+dk#vm^C!UZ$NoJikB-eP z#O5Euu1=vbpue$S^^9OT3NtZU9Nkl+IRWs+4lc_YEbd&&O&HwD)naYOhVewPf??dW zOAOxUV zoF28*4us=2Q-L)quq7cZ7`Hot=6a_R|PhCFjU0} z3heX{7KnW-aD1_^KzVdxA5UVxIqa(CLkjH63hc)rEMT)`N0!Yxlt;&A6R~+dn&q6| z1ndb{MG+g_f?BgEZW?cZc8c|XRv ztc~o_)NaQ#l2iJBaj~|r9U?Wo!B#ZA!rsgwwB~o&Qu9acjq9N1^URy!oLm*?jk8|h z6NjhcS6Q}euz`oC(&?;(y&sG&f;l|v%Sgq!t&|p+y9H( zYm+C)@{h7xLQRw9rpDeFUuc_+5{-Q)9oW&|x6#V=X%oQ0&FJ}(!Y%m!QuFSBL$F6Q zY&~pAbR>`-64REd%Ll#;5u74uR-eDqmx+xri?JcZXihOGrx_n|NMW#Ps$-|@tCFfME_U?PD8kq;WV&V z+0MctgLInO2pN0fMHr3MG_dgpi?#7qD2CTLA1s<3ZYi8gHN3_2 z;iC6S;75vP(X)^!gdBi}_O9a6bQOPB zvD<8|nH`e1^Elh}?3qR69ofHl4|&RLL-fqz337}mfL7V#T4^xOvgA-O){AM3Qw+*p>5Y^3uOBw;0vE1s6s>bPP@R;v?It+JXY7R|e=L|p)rv#<0`EFO^uoFo7z z$K&AlUC(6s!U!2XfG?j^tR0Wq-{fj35P5-_rpISI%OfA-S*~g`nKeN}nduz+Gr_|1 z0yO&-I=;~K>!nC1p~YQ6i-7QapnWNWhVS8BmN5ZR-6K9qrj}G!_iRt{Of9MIlw7T% zy50;5o$6MryBCKo0~twqpA7N#rM+K-O#;%SzA-RwavNh-^f|$-`p7hv`Y2|RP_2CZ zVatFClJ9jHJgY(Tjlzo7@wu>xkiLN2js8eJ$c7!OOX!J^vj`SHQKN*;x85X9{zQ#? zB!f5l{#4^O`q+j4T*EtyAlCQ<+WCKRO)>f2b;#su?HXkc)izJfuUJ~a*|pdDn)lM& z)u?<;rOHcC`MFFbXUP~ilApe9<@|0da39X#dX+m-`4?B2Ho6}08PD}u^CHE|PQ@p@~fFjw;)bw85h7h&gZk{Yf<#;Oha$bC!_Kh>|P6fUW@J~57EwPRFO>P zSr)C2am0gxQv~<_;@V>JQox$tpE2{VtSum2n>@2gb#O;rA{Qsqxj89(0_nV2jz zT$c*|pFn90P)LN!@O}U*-NlGM1Nrru3|QstqjydzWTMqe|*V}br*1wHMp z2^inXVx*OeQTceK$_`W>2IFvcP^jN!#yV|JD5qypuF0X$h;8sueB+=I8_rd_B?*m~ z>l>}SQ}hk!7gcib#_Ps!)QpcQsPnq<8#U%5H0O~A#1Gnxg%RHkL`qW_@!dY+doqYG z0wV3nGUAJT#Fu0cHv+NOA#SXhM~fidjktsnJ2veYj^aye#u6Gcb(zhY#@`1PM*ud* zh9}viY^9czz43*Tl&!3pE#FP%rP#`vC9)Lbq-=E!pAv!il8@d>YRLY@oi&9;px5** zTiNsld$aLpbhGid=KsIa|IK4=`*#FAcULduk1<<31B_)MDO4HWypu);Is-`ikt)puAL1&O; zZ5>l%e$9irV8E;z^Me>E;Mf#!_E7iLQG9%=U~Y0^ng(A&?cx9=Ps)BZR!DP!{ z!aiCi-4gP5yaHRKz*dGZ!}A@0`#f(!d2}cC^xbY}C_M-S9|Z|AFZ;;N2t{tppALr} zO#Ft$f!Al?zf#~tb0S8{qxmdL(^CYxm{M{sHmfuZsX8HZZnI#+DLy7ZhHo6}rZtcZJH*>E>X9i&sIN;WQOw3QR5H}2X zA_aucoklfNLtuT)RHsr>-FYw0sBVK*-6_-u{gLW24W5;4aOFN5yffRNj~XDhRPNzx zrU7=OuiOh#0ZQ?P+)#xXWvE6i#{(eT6-2H_VL2R@rRmL#(>uK6qhmv zSR5p6t}PAb`xQ9R{7#l;+di3Sz|eYJpRO@6%i`pjI9-7g6PIOaw(paPmu4HBsWI_Z ziv!OO%oi|wXf&ME#*~AspwJT!v$aaW1l#jW%}%ybF6>Iiz75b0GtFPa=E^nCWK-ox z`>e6K`8fSQC_5={LDw8UyBKd z6kqOHe|(mLaZ(0jg@VzM!8l*R==U)S^~WhFFUz8wrl7nxi_)l|JeWlx@6W64i7X2F zW*%kcD}1HoPjyN6i!&JZRClfnKVe*+!JxyGd@t8!FeqB)G2Y~3;G5Kh;_Wn0H~*GJ zF;sFWk7Q9O%I2wzyWJDGP){*1kJ6Myp$L^nS(imwOeo&AFtNKci=x@vtFkCGljo^? zG>bydoaa$~m_^yGpv14t2)#~0IX;Whsh}*+qI4-JS7uSxD=06?qEHT*m*}1>%7qHb zH?k<36_o$VqHIx6X55j{3+09RkzSldp$s;UQp%#xA|;PU8o4;FGOzHb+DE57d*ax1?2 zbbb$)XTK^WA@KKw$&C-aUqs+*+>jKe?7@D}uWUur6ZQrJ8%1r!d+AB5A79%%1vm89 ze6-x0YHvE%et@ekd$pI8$wOH5NgSI_Bx7EQ+@DMOYaysNWCkbSu^V3^>LF8l zVSa|KWd*1#B9h*>V=h%-I~3TBA*_{1`G4OB&Y1+T^xuJUxbN$SrhJ_Gash`j!E5C& zEF_J)b1^5rzfid24VV>PU@MwlVQ+X=cmqmiR(O{McYgiD%xm}S!`Nv*j%FWcc@8Y8 zbKyrA{Z`t?9>AF#}DAN+p|aoiwk(a(Im0@3_gMB#6? zL!ZKV`=a3M9)w;1Ld(V|tn8JI9Fc3hARLa}t%aHp`0+x~nK!+7`g8E@S*+O=%==!$ z8$%qpfTKepeU`<+IZOtAx&o(uFU->1l(wSUo!Q!+Z0()dTC<((_e*a3aRn#O^Me-0 zmzR3~?`&IIN6;hUPAd>T(lZ`*cOJ&yAAYdhoUE z*$Sc2OuiR^h~__+Yt!zgLX8WH^c?bU zMM3)u3eF3>`Hbf8pI97p<`^aTe=Bf`%16Fk1Tc)6L!_I%w$yK{f`fif5lbNYt}~K; zDBHjsH2ISSHMqs%*{!D^$GM}WpT@bZr=P`cr|DcG z89yAGW3T8qDs^m%;-ANdQV;y(!7t+6KGY*|ZXfE%bdGE#68>NF-Li!IQ#|gwwkDiq z{t{0PfyKfUH-cn2?|f%wKfF~to2V3mI7;xz@InBbeNLaL?D{Sg*bVd z%BpG_=E(bU@ijiGP&gc#ZTf+&X!@$XF>_?|BevA`d)(mV#A}=5PciGA_kNmhJ_Tm- z5e$hdIVeqP2*@iCvpO%Z=)cj>dA(%OmjS(f#%DxB>2=Y&!k+xtpI=End^n45Fo?RhFK0w)0g1K68ji{n7!`#_J{Z?^r34(NI_ zy2=mT-UyvTjQ@uv^xt{Lzp!t{TSvz@&{O{CO>*cZx$RH*aY{UHOO8=b8%53~X^NW% zV`leB;pD0pI=GoRPNCM%_u7&l4qBWWy&LQ~!Wyi9m=D^;Rtke*66r1>c&F zf^Uu8*F*Vm{H}Zyd|Mg?>BRl*`55?)_)wyMp6UMX*gJv0J2ofqO!r+}Ls$ZEr|=B8 zC++zXL+l6iX&(LyW8N3EK=_S#O5@o%4~-v+3lSJ>+Gs19R@xg5C7W%j?JC?*DCxZY zU%Au5dp(8ACVeI(98HFI*=HHOd7tPf68e1>{R$189}u;>?xzC1{VSF|s|a(sS82L8 z|Cnjx1Rlc1LxA9+*-CiA`#e)43I71f`*89jM&~O)$FCK`TJwJc=zBCyK8KX|-Cw4k9(Jk%J6C~qDX^^yj7}f(ecYFglvZ_i?=fd!+({X=!2YDb zCg9*B-}YDqMh7@~yz>;;O3hb{6Z1R1fY_x%tABfWx*eV6qt-y9FFxoWA_wmmP>^%zX zvkL6H3XJxX@_oeEEX>0WRbVG8u(K2xZ9eAdl@-`-1@;mJ_67w;`=R+hzM#M!QeclM zup-U>hRe_DBUr`z(39b_KRkfo)e{&r@KuTb1wQZ3^t;3hZkN?B@!M zwq5dljK@A!9yUvXEl^+`3XHbV^7O7!V9!@zcPg;E6&UTk<@Q4X6#4fL_qp3n`W_(tJsV`*gZ0`ocmDn^&aQr6#J1}9m3}`9LT*d13PQgk zLiA>62BBs2`NjO-Xo&mCD$4YkuRF_D_G~;Cwohwxao}4n0$=8$4!s;)v?HMG(^7Cu%Th@+}{T()b%jAmu@A4Ao z@t%(m3Hd=@_Y=K6^2@x=0?kPrM(lbLQ~gQcJr9FaFZ~X1d~q-RE-)CsLj7UhJsZA^ zPUY8l-S6|dpXKe5pXGIyM!&V&ibiBJ?vsoGZxj%&$basa#as_lZIaLXrXT#3PXL>5 z{o==5%P-qV_}RbqhKsTQDm@BrnkU$b=ELnxnSO6H_-jAknMqnV3mmnrMFoBXwM@Ub z8vK>zyTg8s6I%ZT$jyR#*bfV}t}y-WN$nP?!S7bNim9KB$EAf ou}wNqWqVVA{| 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 z z>y`1=n7xb=_5tv?Dsnz@a~kHIerd?wzH z{M^8A!;dBZK;Vz#$B}aOeM0;IHA%e|6yNaOb~1 z@Qt|huhhD9pXgiQ&c9CJ4RPn+BJg&&^FJW)p1AWLhM&Mb8Ht~WpBwlT{3P;M27Wz$ zGWk0KpO2qH{+YlR;oZ64*WzC9m-t}n{~Y+A_z?1y+LZ1GeGA*JWwo zD{$BAlfb{hPotk-1OEqi{*~LZe^{65WjsIshJiQ3oo844bo%Upd%c5k^Jn1Z$Kz*E z{{nmjJ`+!K$RD$D_s>K4nbdg_ABistd>KB9{Hnm$;t#Pd-v$0l8P8u=`F15gOP>#> zI{9NWd^o-%KAJvv$Irss1>PCA{~m!KUdHo%o*4LW-2N}Z?SCddhW_sf{9)YneKzoy z@yX0{Iqv*d<7d;)2HZaX!mYo_-X)VNyS`iE*54VoPD}h6`tN{SXMcPw{SUycKNz?E zNZk74aO+=`fuabUxQo!3*7qU+Lx}^In1pJJ`UeH@cQ_8 z@=XJ8j=z$dPyY3{ec)a2Cz78^wR}D5APZHk@zI?0|Os|pHF^F;1lu5tBms#vE?OXW{qZ z&f!t~8?N{Hz!&4+=JNU1qZRmf)OjDjoPIvXe<1%oeg*lB_=? zA^%a}pW}1L{~q{%__gG>>QuV!`nLFWY&VLy0{Ko`75qCb* z1HT-%|G9zRhTH!_eD3z8&&gNu8}PRS{{X*{{1<`$fZs&^@4zc|E?xI|B% zKx^FV?TCB52L;|6xBlt4^~d1WpN!|f=S)%VxEQZczw~)~HGVU5xB=fZm(L$}1^ysj znfg!Tw^08j{8s!8+;v=uZ%#iS2mUp_1^xVj-^O|W#&5@K?^jfOq|dLN|Ms}^-!<^P z@H?pA3%CAJ_?_fO;&Lw-)+^YDAg&kuY7ejoW40$+kRVtrQyz80@V z{!iTblCg5@Exdg7M}XgzrUJP z#!IGBR5T5@|J(5US;zbE`S|0w`{a520rKzT58|KT>3d=2`~N=hU-5^iQ`EI|-Sx_N zFY4C}yj~g4&u!D9~t;K{8+AcO5m5`htvPPxcxtZ z+y8Tczk*x;Gu-;$;nv?6c+vi)>;4$?sfRDX8{?1Tdj#GFe}epefgg-NNxpC31MvRL ze;jWAlX3gMH1Ml&>py~9|7qO%i}9zpt~c?g@%Qm(@K5mb*`MDB{wtpUUUO;1s~=Fh z?)F~?xBn)%{p^N6OP_56?}XcbcYOcGMMayJv{!UGZl7at`<#qFM?V+i>Ad;l>cDTn zpQp|fxcw}|?Ppow@8Aom|08bw-|-j7*X&kuCFOHJOyRof;of&U1-=LVBK14qFX8*+ z<2Y|0d=dG6xcAXnxc#4t+s`!IerDnJb3JZ9x8nBm9R4!>zk8G0&43xcy&=+y9M$-+{kFKaU3f z4E`?p#eu(x+yD2t{r`&Ff4PH8*LNl7t%9$@x5k}weS9_frhzxd-y`2X@GkiKHb+mKb3L!PfgtYQx9KDot*;T1Amh1-3MPsov!%DcrSc* zu1@|q3jc)sApAP=L-9|^kH+0U6L9y>G~E3&3x9$0ULW|a_>0VEKK?Rw7T~Xte*yoD z>so@le?G(AKi}c*pN)YR^(fs}pL5=-xcjFj?)}>Ucm6x!&VNt*3(ngf_j-@Sz24*T zFR3#Wx1Td{`?(bViaJ;0U*q#|pC^yv=AXf@X5AO#)>&P~^Y_cAxXcRvil?SBMrKjU%xxd6AHnYjJT#_i`J z{0FZ0N&H9r<-lLZ*OOn3|Aeo@f5yMX?SBJq|J8by?uQN3sg3`FHwt_g{8#d=1Mi6c zM!rYjhvUoGKd0mNKL-DU`|JF`r{llV&ozPHgl{B&Pv8&Z_P-pr|JC>()c*|s6aNnX z3;#Xv|M0(=&t|K_$&fBawS55-;g zGjZ4V+`y;c|51Nd;B)Yzh9xskA8!r(Uc3s|yCCrA@Nx}P<&tAb;BVpO8|KrwziR+@ zfBuTQKg%6j@@v!Qt$%W#R>A*bzio|I;Jo$ma=GixA58;qj+bXX?eU7#?}ED@dgAVf zBXRe`pumUXo6`U2z$f69>3=F-iT*Fc%i-4rehcpUK8L%$ui&oliooB;H=&=;ap(Cx z?mYhpyj<_1;v?;=O{u>*UJls9;9CY>3*VCb z4tOTd_;#FkDc*=WEAR&7 zzsJ4aU-9k9mpeRnak(Sy6TJ%FuwhD+99!dFZ++bPx5MqHGrmK^ta$E+<8bSrgf}8T zBJi#J{u+kYM0{u|=PN7@grZ)JQB@-=biUk`VE+v3fs z(+O{ZcMrS|-je+BfuD@;Nq$t|E@KZ!a;eT#~Z zv>!T-r`d8uBe*kyA z9>+V==SzXVhVMsyCEf*JgLlQh#=WkeaQpuUcfBedT~vIe{m_Q`JK)yY8Q-6LE8ORH z2mAo?eR1m#zP;rHQv@uvfS2|t?r3f%qwKHiu8{6*kD z;NCBP;_m_lI}j{mIYA2jEWz{sKOb{IbB`!3UB5B=B$W6UhG>_&@kW*0<`h zMa4(jCwfhM9Qi$P=hFs1k$(0I{9t?#`M!YuDE<{b46krpQSp)1cQ{@ZpT+*K6?g;uRO;*;cuV{=@|^-d z5TC(*I{~-ZIr_WpQE9qxGeigm|znXczfX^ns1iyy-XZRWP^Bq0{ z-xzq&@kPZ)TK6-_*TYBRjq$nkvq#`<%6Rd~av$~&{1E)w?egiOqQSWRoPpcVxWFfu z@%$NP1wIG2pGWXf4f9osik`-A*{<~U;+4SPDC7A`9|ryze&crebnZO3{cPI5B$L+H zerg0>w~Xh{&@Av4xc&6N?dNdZeg+0Uq>ShL85{T{+ot@DJr@hzcV+_{OkLJ zfj@!Y#{5^})?b5L|Leei!mVFzKuOPO9nYfw+V~i}QQ*7aXOnLoct?CJ`R;-D!OtN- zFz_MxIP#+cACHeGKP~WC_<*{l>w81sx8rxSzAxd<|26zR_Rq?|*WlLw8=t^+RUBAU ze57?hw_(Z8)5mH9OMYI~YvU6emSob$CId@;p7Q!`_=8+;cievZ;E!^>#|M5gZv6}J z^BNZY@0fwx=j_05#3wZ@`rk1>@CEq!4U7JFyfCojr)fUtH!S&i`nY6Z$&M z@DFjX_iuc1!=nEk6$h34G}XVL;s3a(THv+u3(4;o`0n@=^6diej9)~)SKvqCQ^^ks zd?1b;yT0`UZ-TqN%>!?X zyS@hm-V?u^{*MlPAny83#GTtkxO2EX@N04B^EiG5eLjz0iEomddpgSH{<*4Q`dP_Q zJ^L}O%Zs`DC4bb(e$piOqko@Z-kasze8ViC>YT%KEalRX>iG4Cyr&<{w@BgKk?KsN zPP<|)sWZKRr#j|4XZcj;4DttMp86S4z*8Oby|a9(b20g&Gf#E=JU#EJj`@LEKGo?$ zogta0I)1$|@2QUY5m`RfsYac#nWs9{3wWwyeo~fCbzZBV{Y&nLY1vOx9sgW?-cud( zv$A}uGo3nfGEa5<|BUjU>X@IGMde&4pdr#j}V zXZcj;RqE8Cj^BSZ@2QUYhSYh2I?br#_W{m(s$;$db%s%=9d-PE%Xv?A%y*{F!PGg3 zI^7F+s$;%4bvlqgnmYdd7kN*0%nzi_4eXyG)bZ;Tc~5oBkD$)Syk3l@j(O78u(7en#>U3RW=(8d3ruWm#KLBc z6?Iiy3v)3S8(np=u`w6>eQsucFV`PDpO16Se9y)00S;$~InS_jBj2yV?D+Q>)w81? z%Fg-RpJD7=Fqxhm{cv{9!jE8Q;ADDs^ds5X8$XJjeJ0bhqaV%AFn)Z-u;bqYRL_on zEIW6yGmf3VPo`%_Kc1bt@Dtea&#l$7qo4T1)3iKqY{`#9$Asp{^Uqe3>DkeDYWKOg zpZn999e-a}Jv;gqcE08R+m#)^j$8HY=)18q7dzeAnR_xlJNj03*2MQbJ4y1YWmeJ?e8=fJ=?FQZ^5slUi52P z+TUp|dbeMVzqY0Qo#vuX`_=U8TH4=fF8a4$P2ZCJf%Ks*?e8=fgXq_{w7=6_3~s-g zof}%(-)Sy}w_i=)iv1Dv8(Z4nX)Z>#UyZ-1rTv}eVpRLp^qX7S-)SyJw_i=arKSCy z=3-3y)%06i+TUp|#Hnd((%+%?pubD+Nq>*ti~e7F zU-|+(e)`eJ;``Izrw^omKp#q9ko{rw5Ann4AJIq9Kcx$^Gd}{{r7a|B~L7{uR9&{cC!6`Zx5R^fBC@Ui9(!-t=$j zedyoO`_jLs_oM$nA4GqP`!ksSBYr6TC;Bk@|LDW%6X+x8KhsCk-{$^|q5py(OaGNV zj{X~cJpFh21o|KJ4%2j)c;xZ(C%q%R!y;`aZ#&Vapm(NENpGP~Mej7DVd^m*w$==0Hg(&wl5 zqAx)2OCQSp=|^7>-=Dq^eIR{d`XG7>eK36y`f&R7+@BHjF8Go3Md_pHi_u5Z7pIS* zFF_wmUy?qK-jzO{z7%}|eQA29=_WnimZ5j1FH3KsFGuf6U!LAdUxD6(-i_Xqz9PLB zeI8sNF(O0AQr>{;QNbgP`N?(IMjJ_s)IDIYp2>ROek@R)wqv-3> zN7L7%kD<5H$I{oQkE3ruufMp-^VQw_dg<74(&K7Fd?)%w^v?8+>D}m?(7V$&rMJ?1 z(0kA~qxYn5PVYtEg5H;Y3E$s-^eyrI>08kU(zm7$qHjYVOz%k_PQR4jZ?}YC#{iMgq&h(D-Ui41%UFezHe&M;}h_!~GdS-yc7c zegJ(G{XqI?dLQ~2`d{c{=?Brr(GRANryoL}KtGh;X@*IUx5Mb2>4(!>=zZy3=||98 z=||Fg(2t_`q#sT1ML&k#n|>_45B)fLUwS`!Kl<_X{`9}n2hvZV52c?-A4WfkKAe6s zeFXg!`bc_z`Y8GU`e^#8^fC0)=;P_9(K7oD}z0*vS9zR#pJJYYBx6rSpccouP z??xX=?@qs--b%lL-h+N4y*K?PdLR1D^uF|4=>6!o(g)Fp(FfE2MjuMQjXsQiJAF9) z4*CfCo%E6Pztcz2@1l>T_x15ZAC4bSzneaRehCfT2(VwSxr@ugNrN2n;L4S$flm2gdFZyVDZ~DvhKJ-`U{po}G{tl$SiXTLOjXs$E zI(;bp4f-(poAlxIG4v7ix9B73Z_`K7|3e>3zm@OrIQl#I@$`4;6X@^JJIp%i@%CSO zNBUTLC;I#J&h!uH-RK|EyVF0Sx6(hR_n?15?@9lZ-itnt-kbgzy$}6!dSCh%^nUa& z>HX1rAL*m$Khek1|3@E3pFkf^ z|Cv64{tLZRr%8{`19|*+rvHj>q5nqjO8=eSjs6F{JN-|3E4@RPw)>X1J?K-=d(x+* z_o7cl?@gbY-iJO7y)S)QdO!Mf^#1gY^nvv0>4WGq&rO!qmN1vVEVYW$+w_~|K9qDu6JJIK)cc#xp??#`S-km-Vy_MdX z-h)0by(fJ>dN2C?^xpIZ=zZu5()-gFq7S4mOdmvVp%11nLLW-+LLWw7ls=Na7=09d zar$Wb67(_jCFx`7UFqZKOVK;bKI!q(k>8(pq%V!{L|=y9nZ7K&g}xlUD}8x-D}5I3 zPY?PE_@4A`^j`E8>AmSI(fiO>ruU_I{E&^M%arEf%UrEg5{ zLEnVllfEgv7rh6)FMUy-Z~M_V!}q6eP9I3$fm4Oh1U;LO+<^m3|1lmA(!4rw9E| zd{6pe^j`GC>AmTF>3!%&(EHMlr1zsAMIS`pjr%{Cel&h4{TTW%`myxk^yBCw=>6!U z=?8Lu#?X()kEQ>WK8}6@eLVd{`ULt(^bT`Rdc2)X??^v|-a1WdW(a)j}qMyY6VERD(Q2N>QVf1t8Bk32jKZ<@X zel-0&`WX88^s)2{=;P=Y(#O*W(I?O^qIa5S(&Og}?tf?c#rPKbCG@WJOX=O{m(jb^ zFQ@mUUqSChA58B}zmndEK7`(%eieNn{c8Fk`Ze^y^lRxu>DSSR(TCDU(m&|j_H&W9 zqv+S;N7HYhkD=d4A4|W9K8}7fy7FNHAl>sS45E8Jgu!&rpD>i}c@KusJx{`Ly5~0-LHB$JBk7*UU=-c+9*m}YzJf7y z&u=i6?s*Bu(LImBc)I5wm_YY@1s&R-1M@idJOdr+o|mA0&mZsk1UlnA|3C}f^9FRK zd!B)Abk7gao$mPrTIrq#pa?(6#d&^-@8U%Ic~???Cb{{88` zPJbZX*Yyvg`+EGrbYH(el9htYkV{&2dluOC78_4p&{zK(tr-PhfZru%yNF?3&F zKbG$6;>Xc_9sPK^uYaFF_x17}+W$@;yclOJ$q-muYYf$`?~e6bYJJ* zjqdByyVHF=dn?`7q4%Ksy7iv)dQND*>m7R0eSLawy00tmL-%#)ed)e_ydT}yoA;;J zb71bzK)SCh-;&o&w10|Uc!xLn{PwjbmbNz!@p*tl>A%u%qrc7PeLYM6k_M`rcpY-4M*OcX^eU@$m6MOq>g;F|oo78V;|GuYuK!1dO_)3%f z@AN}gp41m>|FKH>hQ2EOgw-bbGwCm^F{yt=KVM;^b~B>xlMuSdUZ`(q$-=`AMtmFRwbz~AX>Z#T(L z)&7`Cxp}8a{Zjh+J5TDj(fztDchM){pP^5)%cPyp=rip;sc+W)SWP)#pGkeD_RlFw zS!(}DeRuj72TbbqIaeviA2q3e)c(08DSMngsn6E_Z(b?$oi(ZNO+WVBNqszhkM_rE zm*!@^TOFz|(R6H#L@a=z9GtpO% zcjpd#`yb6G`s(rS+=FlbquWGZJ>H#qy}xl#H#q{b24tpN8L|db~Ryv(FzBJ5-N%=Ue}yY!1L)39jeE-Ok8MtvoJpYk2}yc zV_({0`0DZQtk3@9`0DZQY>m%tbyQDtXIFgJ!p&v%cy|uKFNLoj>&}t*rSa9{-8mV* z48D52JLlk+!&i@Y=L-A^`0DZQT#xUDuO9Et?f4b()#Kf{58wV~v*9hbO@ zir)xdJ>H#V@EhZ+$GfvKeiMB4cz4#qZ;G!T@6JZ}9{B3%x-5o+SMsvhso)A;s3Doym& z}yY!1u;ik9TK&{NDKL@xAGb;`f+&W`v#`0DZQ?1BFa zzIwbn`{NJ7SC4n+Q2fF8>hbOzgFggcJ>H#@@rUB8$GdYT{xE#?cy}(uAC9jc@6P4; zzWD0#?p%jI0$)Aeo%%bm{Q5l-Up?NPyVySpUp?NP2k=MZtH--j=NZWTIR;-n-koRI zKNep--kq25$Kk8TyYmLVAHI6LJMZ9+$5)Sc=VSa|@zvwq`3ip$zIwbnKjBZtSC4n+ zH~cC1>hbPOIei<-&sYDps}tW=k9VgdegM9De1G~Z_){m-+&g%HH@zvwqSr30MzIwbnJ@Dt_tH-;uHU0v8^>}x7z+Z^3 z9`DYs_(AyU@$U4-Uxcq7@6G}Ei}BUt-8lq*3BG!~J4fO##aEAaryu?@eD!#D2H-Ep zSC4n+Z2T4Y>hbPej311z9`DXz{FV6X@$OuUAA+wQ@6Jv5tMJw1-MJHgHNJYhJ9pzR znQhWHs2=am3;63N@ebAFhtgli-!PdT@6NmU8}ZfS-T4@Q6TW)9J73{%##fJb=Ue=x z{P{!V=Lcy|`X--WLp@6Iy#;rQzD z?yQWz8(%%%owe}y;H$^GvmyRoeD!#Dw#5GfUp?NP9r5?!tH-;uC;onX^>}v<#6N(q z9`DZK_!0Q(@$MXle-K|i-knqM|HN01cc;!*lgINz`0DZQT)_Ur`0DZQT!DWCUp?NP zI!{jS&tv%N@$THh{z!cFcz5dGj(_vzIwbn zb>5!b|I2v3svhso7wkXBe)afg=|A9~pG=Q;=NJ5o`0DZQ)IT2Q{=bB;9`8=a8QW0& zzwy=M-I)zP8ecu$o%!%DhbQZiGLkmJ>H!S z@NeL&$GfvR{!M)Kcz3qLkHJ@ucV}1pTlnhn?(Bnq8(%%%orCcI!B>xW=P3L;`0DZQ z9FKn&Up?NP0r>au)#Kec8~}wK#*f8Uk9TJX{(XG)__6dG@gGj6$GdX}{v&+# zcz5o@e~hml@6JQ`Pw>^_-FXWCDZYBVJ1^kJ;j72H^E&=BeD!#D-ot;6uO9Etr}!`M z)#Kgy0)IIlFRI78Gwn=mqj|plw(aV~x7Fjv)9Z7k;=h|rk9TKw_P@thk9Vgt{s(;Z zcy|`U|A?<1@6KZQpYYY=-B}v{KYaCgce>#x;H$^Gvj+ZWeD!#D*2DjbuO9Etrug6R z)#KgiiT@p6J>H#N@PFW|$GfvP{!e`Mcy|uOcbH<*H>e)(&f)ke@YUnp>4%>ZUp?NP zlkrpGtH--@I(}+=^>}yA$4`T=9`DZO_-XOg+&T#gp z$5)ScX9Ru*eD!#D9>>p!uO9EtbNHF?)#KfH4L>u!db~UD;%C8Ek9X%|{H*xu@$P($ z?}V=&@6HeS+3?ll-T56qJHC3nJJZhGgyzWOVGextcz0&S&xx-d@6J5xWXL)>QeD!#DR>#kauO9EtdieS9)#KgS6hA+{db~T^;1|GGk9TKh z{DS!E@$U4-FNCii@6KQF3*)QDyK@A-1z$bhoxkE2!B>xW=QMm5eD!#D&ciQ?uO9Et zrTE40)#Kf{2ERDIdb~Tg;FrKxk9TJ{eo1`wcy}Jecg0tacjs~ZQuyle?mUNI8ecu$ zojPx1o`06XSC4n+E%ukiSC4n+1N?IM>hbP;fnOe9J>H$~@hjk~$Gh_jz8k)JygO6P z(uC&7kI#zu>hbQ(h+hd`J>H$!@GIl1$GbBheieN6cy|`XuZpi8@6NLL)$rBh-B}60 zI=*_mJ8R*)FqSC4n+ zdi=)t>hbQ}ir)lZJ>H$W@tfkS$Gh_oz6ZW~ygN_fH^WztcjpEC=J@LI?!1QI0$)Ae zopH$EXKg}r}v`{1j`yK@14Uwrj=cP_*4hp!&*&b9dc@zvwqxdnd! zzIwbnci|7jSC4n+0el~P^>}w4!T$wcJ>H$C@dx3n$Gh_q{$PCdcz52wAA+wQ@6LPp zL-Ez)-T4H67`}SEJ73`s$5)Sc=SO^BeD!#D{=grBuO9Etw4IvJ9Qk;0B))pQJG0`C z!dH)Xr!)R&eD!#D7Qr8buO9EtlK5ls)#Ke+4u2fJdb~R;hbP8k3SDzJ>H#{@#o{K$Gh_u{sMgU zcz52%Ux=?B@6PA=LHO$N?tG8G2wy$kouBa+hbO@haZBk9`DYo_^a^MJ{( zygTdTufbQ3cV|=lwfO4s?rep>4qrXqo$c{M@zvwq*#&<+zIwbnd*N@uSC4n+K>UsP z>hbOzj=u?CJ>H$;@HgYD$GdY9{uX@ocy~_2--@pu@6OryVfgCt?p%of8@_tHJM}q= zd49MJUp?NPtJuFCUp?NP8}N7FtH--@JN{05^>}yg#{V5(J>H!M@OR;>$Gh_gemK5* zygN_g@5Wb;cjsCBJ^1SJ?!1b>7hgTzop}v{#6N8hbREh5r}6db~UP<457E$GdYd{#ktWcz2G#KZma#?@mAb z^Z4rV?)1mMfUh3!&OrQ&`0DZQT!eoKUp?NPA^3metH--@E&hu3=az%-ygOgx-@{jrcjqVkfAQ7h-T4DQ7GFKyo$2OiLUZKf%lr81@$PiOe}JzZ?@nj@ zhxqF8?ktA?2wy$koo@J#@zvwqSp)wGzIwbn>)}7eSC4mRWBfRL^>}x-#(##d9`DXh z_|Ngx&RO_x@YUnpxd=ZVUp?NP zEAZdqtH--@4gNcP^>}w~!GDjh9`DX@{15o*@$S^uGs>^uAMw@W-Knp06#o;xdb~UJ z^^fBJhp!&*&S>uc1bp>)cizJPjISQ=&inXZ@YUnp`3(OnzIwbn-{XJ7SC4n+XZ-K@ z>hbRUiT?v%J>H#Z=4?W9@6HDJY4O$L-Pr;^9lme|5>hbP8j-MM}J>H%AdS_jl zJ`cWnygM(m-x*&$-krDb^Wv+=yYoJNK793fcRt6@kFOr@&iD8Q@YUnp`4zt)zIwbn zQ_t0e=IGM=w-CO1ygM`D7sgkQcV~8d3%+{1JDu^1;H$^Gvk<-uzIwbni{Tf=SC4mR zY5ZdN>hbP$!!M4n9`DW?_$Bbw z&i?pi@YUnpIRw8fzIwbnN8*>mSC4n+MEvsj>hbQJiSLH59`DY1_!aTh}wi;n&1hk9X%K{95?x@$S5aUmIUN-krDc>)@-$yYmr#U3~R;cfQ82hp!&*&JXxj zeD!#De!;JguO9DCo!q}m(>K6Zk9TL{?kt4g6kk2woyG7y@YUnpSsK3?zIwbn-SC^^tH-;u8h#6W^>}yI#czqP9`DX3 z_^t5OH%E_?__8hbQ}hu;%lJ>H#1@O$B_$Gh`1zBj&lygM)A_r_O` zcjqhbO@jXw-u zJ>H#_@Q358$GcNs&$mm{`{Jv|yR$C)N8qc+yR#AgNPP8pcQ(f#g|8m(PEY*N`0DZQ z?1VoCUp?NP-SNlbtH-;uAO1Le^>}v}wa#h;C@9`DXK_;c{p^>}yc>#BEY`VIK% z@$S^uTaUjHUp?NPm$^ST;j72H^CtdgeD!#D#^P_mSC4n+GyJXi>hbQ>*JAF{^kMkw z@$US>{@?J`t*>GAGtioXwEJ>H$I@b}}Z$GfvV{sDaTcz1TkkHA-tcV|ER zKk?P$-8lsR5Waf6J4fRm##fJb=Op|i`0DZQoQZ!FUp?NP3-FKOtH--D1V0jAJ>H#L z@Q>rG$GdYE{t0~bcy~tNpTt*>cV{I2DSY*KcV5IljjtZ>&fEBB@YUnp`2_zjeD!#D zzQ>QkSC4n6zW8pJraz0X9`DZd^EIJ4;-AA;k9TKw{PXzg@$Srre*s@T-knA9FXF4m zyR#JjC4BXGcUHpx8(%%%owe|z@zvwq*%1FSzIwbnTjF2ASC4mRNBpb!>hbREg?|lS zJ>H%D@vq~n$GdYd{tbNfcz2G#zlpCN@6HMMG5G57?wp2y3tv6no%8T-}wi;Qx!S9`DZM__6rv@$UQ!|31EYygQ@u zAKhbPOF@F=9qf7JO zIDGYZcV@tUhOZv)&K&s9@zvwqSpfe9zIwbni{rnhbQZhW{F0J>H#l z@!#O9$GfvBemuThbQJi=Tk69`DXY_@D9BH%7 z@l)Ze$Gh_>erkO6cz4F*r@>c`cjssPwD{`r?)-_L4qrXqooNJcV}_@O!(^Y?kta=8DBl#oz?NP;H$^G(~6%JUp?NP z9{5i9>hbPui=Pc&J>H#N@w4Nr$GfvHehz%~cy|uL&xx-d@6OTqx$xEF-5G$N8(%%% zoeS{u;H$^Ga}~ZbzIwbn!|?OstH--@7k)l`^>}yg!_SYe9`DX$_yzFQxW=V$yP`0DZQOuJwcnj_C|UGUZ8-RXp16kk2w zo%!&K;j72H(*?gczIwbn%ix#5SC4mRCH#{3>hbQZh3|^59`DYE_@(gGC7uSC4n6KYm4g z^>}v%;#a~~k9X$+{L1+1@$OuTUj<)1-kl-%Rq@s1-5H8s4PQOpom=p$VSC4mRBz{eN^>}wi;n%`fk9X%~{Mz{H@$S5hUk6`3-klHe>*A}&yYo4I zJ$&_ecgEve@zvwq`31i|zIwbnQ!mtn=E(E^hWP67?#zJS2wy$kolf|T@zvwqnH#?e zzIwbn3*a}!SC4n63%&=wdb~Sb@tfhR$GfvUesg^Fcz0I8Z-K8K@6MX|E%DXk-D$;d zg|8m(&L;S+@zvwq*%H4EzIwbn+u?iStH-<33%@PCdb~S(;hbPe zir)=iJ>H!m_}%f<}yQ#qW==9`DX4_yh3OtH-}xFz+Z^39`DXC_(AyU@$PhJ zX+m@4hbPO+tP&Qh`$(LJ>H#}TAI)t@t5GM$GbCoOB0$S{!)DPcz5P+X+m?v zUxu$9@6MtvO=ynz%kkCY-C3rk3C$6I1-^Q`J1e&|p*i9QhbRE(9(qFh`$H#NTbj@u@z>z1$Gg+Jr3uXu ze=WXxygLW9G@&`-uftc5cju6nCNxLAJEc-=7@LaoR-u!e-plXygQe)M7Q~y@zvwq8PXEn=5N7Qk9TKiOLUvR z6<}ygZi#O5f5TUgcjtkY=r(^FzIwbnBU_@|{O$Pa@$Nj^65ZzS zz*moV=jE2@Hh(9+db~Stw?w!3zvHXNyYpd7beq2mUp?NPuUewp{BV5rcz3>UiEi_E zH!^TcX?iz4+?!?o6}DL_YD?%RlhdYjygT#Y@5fh< zcc%sa0KR&>J4@k5;H$^Gvl9M6eD!#D*2Mo4Up?NP4e<}*tH-;u8UA5>^>}x-!#{$r z9`DX>_($>8}w~!2b(hJ>H$$@T2h6;;YBIGZz06zIwbnpW*+FuO9EtH~7)`>hbPOz`u;I9`DY? zC+4Q*_cO2HtH--DePDCs;#GY0cz5Q)zlN_K@6N*b*YVZk-B}9%2EKZ{J1gVg#8;1Z zXC3?)eD!#DHpRb%uO9Et_V~B))#KgS8Gj|Or>h?C&XM@B>{pNfFTEfB{mJxrcTUEC zfUh3!&gu9M@zvwqIS2m{zIwbnm*79fSC4n+D*UJT>hbQ}h#!Zq9`DZW_|Ndw}wy$Nz+{9`8;o z{(t!D@$PJbpMb9(@6I;(pYhe>-RXt@1z$bho!P|tuO9Et ziTFS8)#Kec75^u`db~RW@g1gaZfrlQ$GdX@ehPf`cy}(vPl>M{@6I*&sqod~-MJY* zHNJYhJAcPdgRdU%&I9;q@zvwq8Ht|`Up?NPXYn2J)#KfH89zO~db~St<7dEEk9X%o z{EYbO@$P(yp9x<*-kl%uGvlkryYoAK7JT)1ccxve3C)q`=UMU9}yo zz<0)1k9X%F{Ji+;@$MXlpATO>-ksC&^W&?>yK^3X0etm%cP_>+h_4>+&eiyZ@YUnp zxdp#4zIwbncjH^|)#KfH6u$_*db~T&;k)3g$Gh_eeo=h&cy~U;FNUuk@6K2F#qrhS z-T5DW34HZVTb>WZ%(@6N3FrSR3`-RX>98ecu$ofiBu`0DZQ zEP-DZUp?NPW%0}5tH-;uGJbh{^>}yI#;<^{9`DXZ_-^>>@$PJeUlCtD-klxsE8(lh zyR#d9WqkE`clO4wg0CL$&Vl$<@zvwqITXJdzIwbn$KhAUSC4mR0KPlEdb~SlhbQpiQfocJ>H#n@f+i-$Gh_(eiMB4cy~U-Z;G!T@6I>) z9{B3^g5L>WJvY0v4Sr{Q_1x^vj`&{q>bcpS-SE5MtLJ8S_Qvmuub!LT zIS{`azItwU=TQ9a`0BaYoulx3;H&3mcTU9biLaiU-8lol7ruIKcISM2Z+!LK?9L_l zz46s^vpZMe_rX`s&F)-}-xps!H@kByem{Km-0aSs`2F$KbF(}5;t#-A&&}>Uh(8ct zJvY1aB)$*6dTw^-1^i#|)pN5uuiy{DSI^Dv{0Dz9zItwU=Og?f`0BaYoiFi+;;ZLo zcYeelhOeHR-T4E5IKFyrcBkW#O=ymMyz7gv9`DX9_#^PuxWX9fJR`0DZQbjKfuuO9Ety7+$h>hbPuj6WVH$I@PEZu zk9TKB{0aE#@$T%2KM`L&-kk&SC*iBdyK^}HWPJ5_clzN^!B>xW=VW|;eD!#DPR9?x zSC4n+eEg~S>hbPehCdBoJ>H#b@u%af$GdYY{tSHecz1^5&%{@ccV`6tEPVBNcOJ(N z#8;1Z=Q;e@`0DZQyox^uUp?NPckt)ptH-}x_z@Lw=9`DW%_zUpWhbQ}hQA44J>H$+_?z+7e+#~PygN_eZ^c)ScjtNhFnslRcV5N+4PQOp zowxC~;j72HGZue4zIwbnpW*MoSC4n+C;XlG>hbP$SgHxlk>}^XhbP$#ovRk9`DX7_JKN(&;H$^GvkU$~eD!#D_QC%XUp?NPgYggHtH--@H2z_H^>}wqz(0bo z9`DWo{G<5l@$Q_1e+*we-kpo_Bk|Sa-5HF39A7=&o$K*W;H$^Ga~u9ieD!#DhU1^Y zSC4n+e*Dw;>hbP8jDH4SJ>H!s@c+VBk9TJjeiXiXygRSppT$>?cjs;VbNK4&RqDH z@zvwqSqT3MzIwbni{W3zSC4mRY5Z&W>hbP$!@rKN9`DX-_&4y?PA~irKEJ(sygNtX$Fg5N{=f9&@$XNj$GdY1{sVmV zcz4dge~7Oh@6NgSkMPyw-MI+=F}`}dJ45iF;H$^Ga|3=HzIwbnx8Xm-SC4n+9{lI{ z>hbP8g#Q9xJ>H$C@L%Gq$Gh_a{wsX-cz4F&zs6UOcjqJgH~8xD?tF_MkFOr@&L8-1 z@zvwqnR=NfG)JDFzr$CLcV{O2_xS4Z?#zY%0bf1dorUo~;;YBIvpD`IeD!#DmcjoI zUp?NPRqzw=)#Ke+7ymQ9db~TE;D5nak9TKl{IB@x@$T$|{|#R~-km-1zvHXNyK^A^ z4}A4_cMiw@iLV~-&T;q-(=<1>AJyaC8GxSxUp?NPv+z^mtH--@K7J~E^>}wK!B35^ z9`DZ8_-XLf}wa$IpVV9`DZg_*wDQ}w?!q1Mc9`DYa_&M;^J;3Up?NPp7{Cj)#Kgig`Xc^J>H$Y@eAOq$GdYNenEWocy|uNFNCii@6NIK zh4Izn-8lu{g0CL$&bjzS@YUnpxdPt>Up?NPoA8U`tH--@2YxYp^>}yg!!M4n9`DX0 z_$Bbw&NujF@YUnp`4PV?zIwbn zzvGv~SC4mR>gAfy9C^N79$!7)of+{f;H$^GGY7sKzIwbn^W#^hbO@ zi(eUEJ>H#_@T=gf$Gg)Vzbd|ZygTdSSHoA2cV{E~>iFvM?re$gj;|i?&W`vs@YUnp z*&V+ozIwbn`{UQbSC4n+Q2g5X>hbOzgJ>H$;@$2HN$GbBCzaGANygTRMTk+N7 z-MIw6KE8UqJ6GX1z*moV=O+Ay`0DZQ+=1T+Up?NPd+;0MtH--D0>25qdb~T2;y1-t zk9X%Od=Gr}cz2$|Z-%cP@6Kra=J@LI?!1lP0$)AeosaNa;;YBI^Cf;OeD!#De#CE$ zuO9EtANXzX)#KfnZuurOM?Svv#8;1ZXBPan`0DZQ%!%I)Up?NPh49H!g@dx9p$GdX} z{t$ficz5o@ABwLY@6Mz6!|>JP-FXUsIKFzkJ1^q<;;YBI^9KG1eD!#D-oYPH$K@yFn+$Gh_b{#bnVcz1rmABV3V@6J>!G@&{2@va}fdb~R` z;g82xk9TKI{9p0ahbQJh(8x!J>H#D@#o>I$GbBSe?Go? zygL`*FThuicjr?4h4||6?hL^X!dH)XXDI$6eD!#DZo^-UuO9Etz4%M;)#KfH5PvDY zdb~SN;4i~hk9TJj{&IZvcz0gHUxBY4@6K!Z!T9R&?!1k^5??*uoe%Lt@YUnp`4WE> zzIwbnKjN>(SC4n+H~cmD>hbPO*{uo9k&lnp;;YBIGcEoqK7XcqygQ5FZ)CrE{0;Oa z@i$GT$Gfuv{$_mjcz3$vZ^2iOcV}JvFnslRcQ(QQ4PQOpovrb=;j72Hvm5?)eD!#D z`rz-tSC4n+X#Ab{>hbOj!2cazJ>H%3@ps{?$GbBGKOA2@-kt05cjK$ayK^i49(?t9 zckaaBi?1H<&b|15;H$^G^DzECeD!#Dp29zXuO9Et3-}TE>hbQphJO%WJ>H!$_^Ww- zs2=am_xMNIuO9yh{Wtt$lj-s9Oub?gnj_C|Bk|Sa-I)phIKFzkJG0}T#8;1ZXFmK> z`0DZQEP{U;Up?NPCGpSTtH-;u9R6SU>hbQZj30%s9`DW?_-FCe}xV!M}>H9`DWx_}B2&v-kr1XZ{VxPyK_GNO?>rucP_z?!B>xW z=Suur`0DZQT!()fUp?NPoALj_SC4n+cKkc|>hbQ}jei$kJ>H!M@bBTP$Gh_g{=fL@ z@$Ni{AB(RZ@6NOM_wm)^-T62E1AO&(cV5STh_4>+&VTS9;j72H^FID#eD!#DKF5E8 zuO9Etclb~7)#Kgy6+aGNJ>H!uR%$|X}yY$A5*d9`DW~_^hbREkH2QN=EnA;db~UR@qe&iJ^pw4nfN~^ z)8pMa58q+h_B+#DRF8M(V*C{N>hbOj#!rc_9`DZe_^I&K$rUp?NP|KMlDSC4n+Bm7MG>hbP;j-MG{ zJ>H$~@w4Eo$Gh_zepY<-cz32;xe3jY=l@Rl>hbQ(h@TB#J>H!;@U!Eq$GbB>ehz%~ zcy|`V&yBAh@6K}gdGOWa-B}Ia8DBl#o%QhZ;;YBIvnhUleD!#Dw!treuO9Et&iIA! z)#KgS3*UmT9`DY+_-lE7t{(5s$@shbPe zj$aC2J>H$`@Jr*X$GdYYei?lAcz1^5m&I3)cjrO;a`@`;?mUiP9$!7)ofq*d;H$^G z^A^4vzIwbn@8eg*SC4n+WBheIKC8#O(_xh+G)JBfS7X0={HpY6@vBd!$GbBVzB|5p zygRew*T7egcV~Y5n)vGR?ktL58(%%%on`Rr;H$^Gvod~NeD!#D*2b@guO9Et#`soz z^>}x-!mp379`DXB_zm#YhbQ}iQfWWJ>H%B@LS@m$Gh_gek*+Scz2%0 zZ;h`W@6L<(ZSd9O-FXAw6JI^vophbOzhu;@pJ>H#@@%!Pc$GdYnet&%Rcz4dnAAqkO@6P4;zu>FKyK^1>AbjsSXzIwbnkKqr)SC4mR6#j60^>}w)!uQ2jk9X${{1N!- z@$S5bKN4R(-kneJN8zi-yYn6XXngf}cYebkgRdU%&a|sFp*iyWd@R0tygQxn$Kk8T zyE7lYAHI6LJB#6u$5)ScXGQ#9@zvwqSqFa-zIwbno8eE!SC4mRNBk-H>hbREjqi`I z9`DYf_*3!K}w~ z#h;6>9`DXw`1A4A}w?T)hd+k>{(+@zvwqnGJshzIwbn^Wq2NtH-<3 z1%D;Jdb~T!;)md?$Gfu<{wjR+cz4#qUyZLG@6Lw!Yw*?M-Pr1*%ygO&(Z^2iO zcjt2at@!Hk?%aqUhOZv)&T#zS@YUnpc?5qOzIwbnPvLLJSC4n+Is6^?>hbQpioX+I zJ>H$M_`C4chbOzgntZQJ>H$Z_>uVP@$MXte;i*u-knqNPvEP^yE72~B))pQJA?2~;j72Hb0z+1 zeD!#DZoof-uO9Et?f8G;tH--@FMbrhdb~Ri;h)7hbQJfqx%gJ>H%3@gLx;$GdYG{zH8Acz3SBe}u0d@6IjwkMY&x-MIt*3BG!~ zJNMx~#aEAa=TZDPeD!#Dp1@zv-_KN!cjsOF*X&o1|BC)0{+r44cy~U-kH=S!cjp`Y zxA^Mu?)-@V4qrXqonP_a}x-#{Z759`DX>_&@N~hbQ}gr5#yJ>H!=@E!5hB8S&NQ-FXo| z6TW)9JFntr##fJb=N}yY!_SSc9`DYg_<8WvhbOz zjc>tMk9TJPeo=h&cz4dlFNUuk@6KiT#qrhS-MJ3G1ipH_JAcD3iLV~-&b|1q`0DZQ zJceHiUp?NP=kZJ9tH--D2EPoxdb~Ry;+Mr&k9X%Q{Bro}@$UQ&zdXKrygO5@-Gt`I z^VhbQ(i0_849`DXv_!aTh(Wodw@#+VyK^pneSGzJcP_}xl!uP;ek9TJ@elvXacz52# zZ;r1X@6KoVE%4Rj-T4W>CBAyRJHO+%!dH)XXXVUG*&1Ix-klln+u*CmyVD8Z z6JI^vow@Pb;;YBIvjBcOeD!#D7RPUouO9Eta`+wa)#Ke+4ZkD4db~U9;djDUk9TKN z{Lc95@$PJc?}e`(@6OKnUGUZ8-RX_r6<7MOuO9Et ziTFM7)#Kec9p4*YJ>H%3@O$H{$GdYWejj}Gcy|WlZ{*`q^>}yg#UIFi_4otm599kx zrpLSU6#gK5^>}w)z#ojS9`DX;_(Sm3}wSz#osV9`8;M{9p0aH#@@u%Ud$GdYD z{&alxcy}(upMkF)@6KTSnfU7Q?p%vM3tv6noty9j@zvwqxeb3dzIwbncjM2&SC4n+ zpZIg})#Ke6i9ZitJ>H#X@aN;J$Gh_a{sMgUcz0gGUx=?B@6H(fAbj}xF!(WcC9`DXH>ouV{^6~BpeD!#D zX2uW3SC4mRF8r1F>hbO@h#!Kl9`DX#_^a^MJ{(ygRGnufbQ3cV}JvwfO4s z?rem=4qrXqoz3w>@zvwq>50D{Up?NPo$xo{tH-;uJN`y|^>}yo!{3Cj9`DXU_?z+7 zhbQ}iT^vkdb~UL;qSs%k9X%${BV5rcz2${-;J*x@6L1hd+^oc-FXFn zFTQ%bJ7e(wz*moV=RN#=`0DZQe1yLrUp?NP&+!l7tH--D9zOzKJ>H$4@DJjv$Gh_z z{-5~j@$O97+JxrF$FGO*Q?@ptIpW>v*qYkrAI4XYcW0K?=r;cdzIwbn^Rz~{`A6~9 zZT?Ao^>}wyXpL_3PvNV_yR&L*ben$~Up?NPwOXUw{4@CK z@$RhO8r|mqg|8m(&Ze!=ZGIHKdb~SZwf-NSb^)w;LBD;N7Nkp2LZn1WM5K`=r8@;> z3276 zJMr!D?yNB)ddQ#6|Nqk-@6L83qKEu_?6=3?OW$=w^pL-QG(Fy(y+=e3`3Lds@$MWn zB6`R_gl~^`=ZF!}L;hiWd%Qcxj))%ekKo(m-8pqc^pJlP-yZMI*(0Kd{A2j`cy}%y z5k2G|$G6A3bIpk8A^!xvJ>H$0Mnn(!C-Lp^?%XN`@$RgPe-Gat@6JZ}f8g8W-T5*8eSCYoJ3qmHfNzg?XIK1( z`1W{r_Qn4b-yZMI&+s4N+vD9i68|y2J>H!Y@Sot@gU7+n7RFd@D@ z-knMD6XDzA-I)@94u8IFk9TJt{1oiB$4^e5A3x=2db~S}H!)@C)MG2frr1J>H!~@oVAR)_kt z-B|~}F1|h9ogd=Y!?(w~vju*Ae0#h*+u=9Bx5vA)EB*)g_IP*p!*7Uhk9X%#{6_fp zcz2G*{}A6E@6Jj1AK}~M-8mhMT!r5R-yZMIE%;6G?eXs1i{A|2 z9`DZM_|5U{@$UQ;|6_c6ygP5=x4^f@yYn%AOMH90J7X<72!qS>b1Qs%ygL)&x5l@} zyYnUdHu&~?eXrch2H_+9`DY^_#N@> z@$PJe-wEFy@6Jy6o$>AQ?(B*GDZV}4odfW@;M?QfIUK($zCGTZH#j@O$9f$G6A3Ge7H#@@h9Tj>RygL`*PsX>$yK^P}6nuNUJ2&D_ z#ka@1a~u9Ne0#h*58zM7x5vBl6#fi+d%Qa@H#h@W12lo7&^u`5OK__S@snrO%2#e>6SbojLIr;M?QfnIC^4zCGTZ z#qby5+vD9?7Jo6mJ>H#F@t5G+}9N!-A&d&HN@a^&L z?1jG)-yZMIe)x0w_0}Hm&dK=e*>8`(j(!IIhSBtRch14zh;NT~=R*8V`1W{ruEPHw z-yZMIP53|J+vDB29e*>vJ>H#r@VDaIL!nen}GZ+4De0#h*^W*Qq zx5vA)IR0LId%Qc#;_t(^$Gfu<{(gLWygO^-AHcWAyR#AgL413>JDcMl!nen}vmO3n ze0#h*yW$_gx5vA)H~vw4d%Qab;2*=c$GdYl{&9SJygSF@pTM`ryK^f3Nql>}JHNp{ zg>R2{=K}oG`1W{ruEalsZ;yB9di=Ba_IP)0!#{^_k9X%@{PXzscz2${zkqL#cjs07 zOZfJ9cizLljBk&3=U@0&@a^&LjJv`h3@*>lzv0{C-I)~sD!x75ov+|u!?(w~Gc*2m ze0#h*bK~E@x5vA)ApT8!d%QbK;{T3sk9TJ!{9E|;cz4#pzm0E?cV|=lJNWi^cecg9 zhi{K}X9xUw{CTfE-krnoAFV`^4=SKX0@a^&L+=l-zzCGTZyYXX8F!W?a$Gh_i zeq4NeygTpV$HTYByYngj3;6bUcg9|E5C)g$+xYnQcy}hmPk?WacV{a67xC@!?o5xL z5Z@l}&TROJ@a^&Ld<#D@zCGTZ1@V*O+vD9?0zVnPJ>H$~<0r?r$Gfu{ehPehygTdR zr^2_#yE791C476lJ6q$wjBk&3XJ`C0`1W{r_P~Dy-yZMIf%vcD+vD9i0zWOjJ>H#P z;itp5$GdYTetLX+ygL`*XTZ0|yK@!(YxwqfcW%MYh;NT~=U)8G`1W{rp2W|BZ;yB9 z75uFD_IP*R!_S6qk9X(a_}TI8@$QVd(jW{j&%^Wi`raPz&UE;>*>8`Zi#{X%0`}YE z-B}d>9d_E|=c6x)pMNwx-ktB`zl(2=cV|`n0{HfLch<)*h;NT~XA}Iw`1W{rw!trg zZ;yB9r}#zj?eXsHgI^5a9`DW}_{H(<@$MXjUjpAA@6L(%5%~6ach0~siEod0=REvU z`1W{rF2^s8Z;yB9di*l@_IP)0#V?C*k9X%T{BrpAcy}Jge;?l-@6OZsMyo+B6-yZMIC-{}|?eXr6x$+-yZMIbokZq z?eXr+gkK%s9`DW^_%-nD@$P&Vzb3vt-kl}zYvJ4D-B|^{HoiUHogd)W!MDe|^JDzF z`1W{rcEGQPZ;y9pPyG7$_IP&=!f$|Yk9X%t{15Q$@$Q_8-w@v(@6LJnjqvU9?p%%k zA-+A{om=of!nen}b1!~le0#h*PvS@7+vDB&8-5dfd%QdE;Wx#%$Gh_{{AT#}cz4EK zWe^6J=gH>y_IP(D#s3)J9`DX{_$~15@$Srq-xA**@6NpVt?=#f?ks}e8s8r8&NBFI z@a^&Ltcu?j-yZMI`uOee?eXqxivJ0|J>H$|@Z00tMoR0q~zCGTZ^YFXi+vDB20>3N1J>H$0@VnvLH$A@dx1BH#5@Q35u%`g>R2{=MDVP`1W{rKENM?Z;y9p%+&^AaQXfIOMH90JCop# z#ka@1GY$SYe0#h*GvSZNx5v9P7ybl%d%Qaf;D3d0k9TJT{zQCxygMu5Pr|pyyR$C- zWPE$PJ0tO@;M?Qf*#>_qzCGTZpW;u$x5vA)H~!c7_IP&=!k>`1A1X@$Nj0KOf&7@6Jp33-Imn?!1Y=5Z@l}&inX_@a^&Le1^Xm-yZMI zII9oB;PSk^1m7O-&KL2Q;@jihnGAm!zCGTZFX1o8x5v9P9sUY@d%Qcd;IG8D$GbBZ z{wjQXygT#bug15>yR!)X8hm@aJ0tMd;@jihSq^_4zCGTZmGRf(+vD9?2Y&;;J>H!k z;cvvZ$Gfuy{w92TygS?De~)jEcV`#;AMow*?(BvCBfdS}ol*Fk@$K>M9D=_E-yZMI zQTSW&?eXsX3V$2EJ>H!&@VDdJscjsFCU-0em?)(vd2fjVt zoxkAk#J9)0^8o%Xe0#h*PvGyyx5vBl9R41Bd%Qa@H##@K55~g#ka@1vl0F|e0#h*o8zCyx5vA)9sUJ;d%Qcl;Qxwmk9TKZ{EPVZcy|uLzl3j( zcjqYl%lP(qcTU8=f^Uy^=S=+H@a^&LoQr=I-yZMIW%$?d?eXqhhkp~_9`DXA__y%w z@$TG(e;eN(@6H4Gcku1;?mUKn7vCQ5&NKM;@a^&Lyomn?zCGTZ*YNM-+vDAN2mb-S zJ>H!U@gL&bY>o@DFD2(jGrHeO>&xqv`SP{0KiDzCGTZ zE%4*x+vDBY9zOxTJ>H$&@L$BY$Gfv1ejygQHMr^dI(yYnpmOZfJ9 zcV5DO8Q&i7&g=MT@a^&Lyo3J=zCGTZPw-#Gx5v9P&RT;oxI7Q1#ka@1GYNh=e0#h* zU%^k0Z;y9pX8a8J_IP*Z#eWUo9`DX#_!;r-@$M{-|2n=s-kr7aGvV9g-5H6W8Q&i7 z&UW}&@a^&L?1`Th-yZMILHOD5?eXp$iT?(^J>H#@@U!FFR2{=T`jO`1W{r?!eE3Z;yB9KK!@v?eXqBj-MCb9`DZc_;2Ie z?YsE)cy}hkFNAN8cV}w+!ua-h zcc#ZLf^Uy^XIA{8`1W{r=D{z9Z;y9pLHy$Q_IP)ez<&?l9`DZb_$Bb|@$RgFAAxU= zcV`3qlKA#`cQ(Z@g>R2{XB+&|`1W{rcEm4(Z;y9pH~g~r_IP*p$1jI(k9X%V{P*$g z@$MXhUmo8c@6Jj174Yrx?wpBV5#Ju~&iVM2@a^<#8>A-yZMIb@)~A?eXs1j9(Ss z9`DW__|@?3@$Ni?Umf2b@6MC>HSq26?)(+MCcZu1oj34n;oIZgc^AJnzCGTZf8y7{ zx5vBl8Gc=Sd%QbituqLN%kzIde0#h*6XMs$x5v9PC4K{Zd%Qc-;eUW{k9TJ_{D%1U zcz3>q{~^9T-kpW;Kf<@iyR#&IV|;tOJ1gQx;@jihSqr}jzCGTZjqsb|+vDB&F@AG= zd%Qc_t+kd%QbK<9~*4k9TKf{K5G4cz4#pAA)a>cjrg=L-FnL?re$wIlevKot^N% zz_-V{vpfC>e0#h*qwq)K+vD9i41W~9J>H#P;*Z9+$GdYP{uq3FygR4jFXrzf+T-21 z27dzk?eWLc|A_z9XnMRmf5D%KZ;yB9e*8)J_IP(5$DfREk9X&J{3-bMcz0gGpN4Ob zcjqnqukr2i?tF+p9p4`B&Y0^B!r<~eKLg($@6H7HGx6>5?o5II4Zc0zooVsE#ka@1 zGc*2de0#h*bK=jzx5vBl9sKX`?eXp`h`)s2FYWQ}td75s{r30^=xgIIWxqY%ogMI( zvC|%ZDSZ$8<)i8G?u^1;fp3p@=jZq<@$K>M9E-mS-yZMIN%(8H#{@Gs)q(a-O&C@$P(SgFzTvp0{tX z-yZ)ueLDP`qv`SP%!>azzCGTZx$$q~+vDB&F8&>Sd%Qb~FcQ(d zzV>)`ZpM#^Z;yB9PW)K-_IP(5#E*?{k9X%u{5bgbcz6Da9~a*q@6H?e@$l{O?!1ft z0=_-oolo)OMT#las-yZMI_4u#h+vDB21wSLcJ>H$W@L$Kb$Gh_Y zekOc-ygQHKXU4b3yYmcw7JPfWJ1^pA#ka@1^BR6Oe0#h*Z{xp#Z;yB9WBly+_IP*3 z+HepCm*@XC@$K>MOoX2U-yZMIm+*7q+vDAt5kD8cJ>H!;@N?ta=YyR#&IUVMAJJ1gS9jc<>4XD$4E`1W{rHpG7i-yZMIX88H>?eXqxhyO0VJ>H$2 z@eAPFH#L@!!L@$GdY6ehGYgygQHKN8sDz-FX4OB)&b~oj34H;oIZg`2fE(zCGTZ z|KOLwx5v9P)<%OcxI90v;Q!xfk9TK!{EFiG6}cUHu&fp3p@XHEQC`1W{rHpH)uZ;y9p6Z|^(_IP);#IK8Q zk9TKB{CfEIcz5=|ua9q!cjqAd2Ke@PcaFsW0N)<(&WZR9@$K>MoQ2;A-yZMIMfe}$ z+vDB22LB^`d%Qb0<2S~)$GdYcek8s<-km4$o8a5y-FXqeDZV}4o!9W2;oIZgc^khu zzCGTZ5AZ+6x5vBlDSiuld%Qbi{csQlm*?k}`1W{rCd6-rZ;y9pD*V>?_IP)u$8Upg zk9TKQ{I>Y^cz5Q;Z-;M>cV_|oPw?&W?ks`d9^W4C&hq#j@a^&Ltc~9h-yZMINc>Lt z_IP);!S9T3k9TJm{7>=i@$MXe-v!?u@6J*9UGeSl?wpF>4c{K`&UyIV@$K>MT#erY z-yZMIE%-h0?eXs1hu;g|9`DZ6_`UJ%@$S5e-v{3w@6P-9eevz_?)(?OAHF@_o$-D& z2!qS>XMcQqygL))N8#J!-I)@90KPrmo$2rg;@jihnFW6kzCGTZx$r;3x5vBlUHrlL z_IP&|#UFxik9TJo{Gs^vcz0IDABJy_cV`{^&++Z??)(UUIKDmJoh|Ucz_-V{vm^cp ze0#h*yWx+-x5vA)5B?~8d%Qab;*Z9+$GdYF{uq3FygSF@e~E98cjq+xvH13Qch1Kj zhi{K}=W6`%`1W{rZo!{`Z;yB9F8r_X?eXqBfIku69`DX$_>=JM@$Ni_KN;U1@6N0E zQ}FHa?!1dX72h83&d2!E@a^&LjJfe33@*>-U*p^3-T5N^bbNcfJ5%7#z_-V{^Huzr z`1W{rX2zd|Z;yB9oA}@0+vDAt5C2{v3RJygMu6e}`|6cV|uf zx%l>YcQ(YIhi{K}XLJ1d`1W{rw!>e5Z;y9pSNw(e_IP*p#b1PPk9X$~{Kfe8cz2G* zUxIIscjqMhrTF%Ech16JhHsB|=Un{d`1W{rF2!GgZ;yB9I{cOR_IP)0#$SbRk9X$| z{MGpOcy}JaUxROtcjrm`wfOdUcb>;zhi{K}=N0_*`1W{r-o)R4Z;yB9J^YRM_IP(b z!rz2%k9X(a_}}B(@UKcW2&_(L?@re0#h*3yq8(@_)j&$GfxS$mk*eXMB6S zJKrA}J>>s_Z;y9pm66dy{tkS5ygO@+j2`lL;@jih*-T3x+ zceWZCJ>>7fx5vA)@a^&L>_0Mk$ls4|k9X(bkMoI5gl$UlN_k9X(Nk>j2`k&;M?QfxqoEzkbe^29`DW*Bcq4>Q~36H zcU~A7J>;Lpx5vBl+Q{f3{|vr8-koMd^$3E$Ulc~k9TM6P5zJn-}C=@ ze0#h*6X9RLx5v9PHU6*o_IP(@#=nSfk9TKo{7d-ucy|`Wzl?8>cV|ibEBN+!cUHpx z4c{K`&N}#4@$K>MY>a;m-yZMI*7(=)?eXsX6#oXkJ>H#t@o(bW=YyK@5mZG3yYJ7?hE!MDe|b3XoEe0#h*SK{Bpx5vBld;CA}?eXsX1^+(2J>H%B z@E_pY7e6MxJ>H!q@MGcIM{1-n1zCGTZi8dRA!Ob-I_BDKaygSq2XT-P1yE6;^>-hF~ zcjm>04KZ;y9pE&Qzb_IP)Gh@TDL9`DYU_;29bKRdoX z-knkSZ{pkI-8lq52fjVtoulz{;@jihIRQTxzCGTZQ}J`-+vD9i8$S=eJ>H#5@ZZ9> z$GdYaeqMZgygR?ge;eN(@6PS``S9)W?%ad_4!%9!ok#KW%?Dv{dA==-Z;y9pQv4$L_IP)`f?pKh9`DY~_{H$; z@$SrxUmV{a@6ICl@8R3y-B}L51in4qoz?Io@a^&LY=B=9-yZMIrue1s?eXqxhhG}s z9`DYs_+{|z@$T%4Ul!jU@6N&aWYWVhecOJ&Cj&F~5=NbGO z`1W{rUdOMAZ;yB9ef(PZ_IP*xjb9tz9`DWH#d@tfn@S+Ccz5>3Z-H-*cjqAdmiYE~cYcB23f~^@&T;sy@$K>M zoQB^9-yZMIIrwey?eXqhjNcC59`DZ8_@Ch0+vDAt5Wfe$J>H!u@q6OiV-I*P~557I#oq6#4;@jih znIFF&zCGTZMezIM+vD9Cfggo$k9TJ|`~mp(cz0IDABb;{cV}JvLHPD~cShoWhHsB| zXB+&%`1W{rcEKNlZ;y9pU;Lr?_IP&=#~+Swk9X&I{4enB@$Q_CKLXz#@6LJnBk}F= z?p%RC3f~^@&Q18E@$K>M{26}?zCGTZ2k^hdx5vBlEdE%0d%Qb;#b3>z-`eBd`3!$D z`|a^3(Z||y5C)g$=P9G<@$QU|KNa5|@6IIn)9~%_?tB^lYkYgWJ72?}j&F~5=NtGl z@a^&Ld<%aTzCGTZ1@XVZx5vA)1pc@9_IP)`k3SpV9`DZT_;c{>@$RgP{~f+P-kp*7 zbMfu*?reiU58oc|&hGg0@$K>M9E86B-yZMI(fAAT?eXrMhQA2k9`DZC_>1xF@$OuV zzXabN@6I*&OY!aT?%agG4BsB_&Y$p?H$y z@K@v8Rw?eXqhh<^p&9`DXo_`l)XH$i@#EmzwYJ7ZqygL))C&0JIyE8TZi}?0R2{XFL4V`1W{rcEf)O-yZMIDEyc4?eXp$iJu1F9`DY{ z_^;sGMow@Me#J9)0voL-Re0#h*%i`z6x5vA)27WGld%Qb8 z!q1Iwk9TJa{5<&fcz1Tde+%Cp@6I0hdGYP>?(B#EHoiUHox||+;oIZgITrsNe0#h* zXW-|@x5vA4A^yAg_IP)$#V>$wk9X&G{DS!Qcz5o>FNAN8cjr<3!ua-hcb>y9f^Uy^ z=Vkn&`1W{r-o`J6Z;yB9WBlUy_IP*3{mCEG31*?eXr+ zfnO5e9`DY4_@(ge@$M{&UmD*Y@6OWrW$^9s?yQVo7T+H4&YJk;@a^&LY>59pzCGTZ z&G5_P+vDBY4!;7vJ>H$2@hjrn+q}N+vDB28NUX;J>H!=@oVDSzZSkd-kqoLYvbGF-FX4O4!%9! zoj367;@jih`2fEjzCGTZF}ELt!R7h3KE6HPor&=q;M?Qf`3n9A`1W{rX2WlYZ;y9p z9{fi5_IP&|#QzZA9`DW)_#ffhM z?10}4-yZMI-uTV&?eXp$ivKabJ>H$;@mt{An-v!?u@6OElUGeSl?#zqd4c{K`&SLo8@$K>M zERWv<-yZMII`}>D?eXqxir)+09`DX}_`UJ%@$T%2-v{3w@6Lhveevz_?)(D3AHF@_ zo#XNQ4+zCGTZ$MC1)+vDAN0e=R*J>H!+@Mq%N zH!k;xEFt$Gfu){$hN4 zygR$$FTuCRyK^A^Qha;7J4fR$!?(w~b1MFFe0#h*=i#rwx5vA44gN}ed%Qb0`1W{rKEvODZ;y9pyqyPO zaC!dRh;NT~XEOXv`1W{rzKZ`nzCGTZS@3_rx5v9P5B`t%_IP&|!rzQH#T@OR?dH!c@ektL?NNMt zygQTNAH%oDyE6^`aeRBcJG0`Sz_-V{^DX?7`1W{r7REn?Z;y9pY5ddp_IP(z!9Rm< zk9TK1{ImG>cy~6zKZkFRcV}Dt^Z537cXq&EGx^|y!`B|~&f)l1*l&-2nSLDpZ=>n) z?wpE$72h83&e{0a@a^<!4Qa-yZMIW%xJn?eXqhgMSm>9`DXg_`l=Zli=Iq-MJkzCGTZ=kQbD+vDAN6F()sJ>H!U@l)a3#9`DYy_-XL%@$Srm{|df6-krJdU&Xh_yE8w2T6}xFJB#6`!?(w~vkZQEe0#h* zE8}Otx5vA)4*qNS_IP(T#LtLtk9TJi{MYgA@$PJkp9$X{@6ImxnepxM?(B=71>YX; z&LQ|&@$K>M9EG0^-yZMIiTH2e+vD9i13x>yJ>H#j@!!O^$GdYWehz$lygS$7=fte0#h*PvgIZZ;yB9CH%bj_IP*R#D5##9`DZk`1$bd z@$P(v{|>%A-kouG8-&5-`8+?qJ>H#3@ZZI^$Gh`o`~vv)cz0&RFNklCcjueH$O@XO)b zi1ygTpXSI4)c};wKygOgSuZ3@q zcV|lc+W7W(cc#OygKv*_XIA{W`1W{r=E1LrZ;y9p0sQ*-_IP)`hu;9-9`DZg@jt+~ z$GfvSenWhFygM7&d&Ia@$K>M?1dkRZ;yB9Ap9oy z_IP&=$8U;nk9X%7{AT#}cy~_3Z;o$|cjwpmALHBO-T5tk3w(RLJLluK#J9)0b18l+ ze0#h**WtIux5vA4GkzOMOorbD-yZMISMa;y z+vDAt3BMb@J>H!;@w?;OH#v;*Y_%$Gh_x z{+Iancz4Fya}WlX=l`+z_IP*3#~+7pk9TJh{PFnqcz344pMY&@a^&LEQmiD-yZMI2>dDd_IP(zz@Lh5k9TJ+{Au|1cy~6!{~F&O@6KlU z)A8-`?reuY1K%F+&d&HV@$K>M?14WE-yZMIe)!+u+vDB&8UDBU_IP&=$DfUFk9X%d z{5kmccy~_4{|?_C@6OrybMfu*?p%yN58oc|&NcY+@$K>M{1JZvzCGTZJMkCd+vDAN z2!9d2J>H!s@fYLUjS!R714mH75}cP7AJg>R2{XL9`2`1W{rro~@_Z;y9p7W}pN_IP*Z!e57Pk9TK& z{PpcUHsSgl~^`XMOzd@$K>MY>fW{zCGTZt?+-ux5vA) zJ^p5Vd%Qcl;BUdV$Gfu^{#JZ@ygQ@tx8d94-8lq*JH9>Moul!8!nen}b0YrF`1W{r z&cy!(-yZMI`S?5V?eXqhfxi>q9`DYL_`C4!@$UQye>c88-ktmK_u$*(-FXy$FTOqA zo#*iP;oIZgc^Q8{zCGTZH}DVO+vDAN7ylr>J>H#v;vd4d$Gh_x{$YH3ygTFWJqUx# z*NaE+?eXqRjDHm09`DYV@sHu#H#l@z3Gg-hF~cW%JHfp3p@=QjMC`1W{r?#BNe-yZMIBlx%Q?eXqBi+>y69`DX8_;>K_ z@$S5he;3~#@6Jc~_weoU?)(@34}5#PJ73sm5C)g$`TO|xcy}hle}Hd~cjwFa5Ap5s z?o5yWC%!%2omuc7;oIZgnFIeZzCGTZdGVj%+vD9?0RJhzJ>H!q@c+WM$GfvE{xf`g zygMu5|BY{tcV`X!fAH<`?yQIZFTOqAogd=Im~`;L;cJg~XEXem`1W{rw#AQyZ;y9p zC;Zs>_IP*p!jFS*k9X%l{J8k`cy|uRkB4uMcjs9A7x3-z?wo=jAKxDD&TsJ(;M?Qf zxd{J7e0#h*SK}wdx5vA4BYq-$d%Qch;3vkn$Gh_v{3Q7Hcz5o@Pl|7kcjs~ZWcc=Y zcb>;jj&F~5=QaEk`1W{r-osCcZ;yB96Z};8_IP*3+IJ8Jm#;5VR2{=QaGi`1W{r{)zuKzCGTZG4>mT z!R2{7AHF@_oiF0QgKv*_XDa;s`1W{rX25?J-yZMI?Dz%n?eXr+i(e4m9`DY=_=WK8 z@$M{zUl`vW@6L+&MeyzM?yQMl6yF~2&W8BK@a^&LY>rCFom243;M?QfITODuzCGTZ^YP2! z+vDB29RGcMd%Qc>K zk9TJZ{Mz{Tcz343uY+%ocV`Cty7=~ZcV@w_hi{K}XAb=O`1W{r=EZM-Z;y9p0sIf} z?eXp`hTjn19`DXl_>J)G@$M{-{~^9T-knwPKf<@iyR$ZaV|;tOJ3qjW#J9)0GZMcE zzCGTZE%2M-+vDBY4!;?`J>H$2@tfn@-h@$TG!-yYu{@6K)b z9q{e(?%avr5#Ju~&i(kE@a^&LJc-{K-yZMIOZcDS+vDAN3%?7#J>H#<@VnyMS3%_IP)u9yJJqi{As^9`DXfqXuDc@q6OikUwnJKJFAWwgu%t{hi{K} zXYEmgFu3^r@$K>M{9x1|3@&~YzCGTZk)sA-aPbG=+vDBYV$>iEF8)A#d%Qc_jT(f( z#UF%kk9TL+QG+nJ_@Ck1cjxF)gD|-GL-FnL z?wmAg5C#{27`{E;ozq7R!r5~Fu3@`@n?@3gu%tTbHS+8A^!_}d%QcB zjfx)fN8sDz-MMB|^pHOi-yZMIA4f$G`J?dd@$UR(RP>NP8s8r8&I6;Ohx{@4_IP)m z92Gs}e~E98cjv`X(L?@Ne0#h*uZ@Zx^2g!ZNP9^W4C&IhBShx`fn_IP(b z9Th#~e}!+4cV~=MN@$O84KLy_&@6I&%Q}ONb z?#zHc4c{K`&Mf#}H$g@Mq!MPh^-yZMIF8K5C?eXsHg+CwP z9`DX5`~~>-cy|uLUx;sycjpNFMfmo3caFthjBk&3=M?-U`1W{rev7{p-yZMIh4{sC?eXrsiN7A-9`DY3_#5!;@$P(tzY*Ua@6NyRH{sjk-5LA9K^R>AJobBh zd%Qan;QxSck9TKs{2%e{@$P&Te>1*4-kq87x8U33-I)V_E51G6o$ugp!?(w~vnc*{ ze0#h*OXB~8Z;y9pMf{)f?eXrciT?|}J>H!S@ps_ck9X%R{Db)Rcy}(q zKZI|Ocjrp{!}#`icW%T#f^Uy^=XU&~`1W{r?!`ZbZ;yB9QT*fh_IP)m!#{y@$K>M?1KM0zCGTZ zz3^}0+vD9i2>&*|J>H!o@bBQ;kA(k9TJl{J8k`cz5Q&kB4uMcjw#q zFW}qb-B}PnKE6HPoyGAJ;M?QfSsMREe0#h*E8r)@x5vA)8h#>td%Qbq;jf*1@WJ70 zk9TK#{1oiB$4^e*1wZ9zdb~S(;itm4$GdY7erkMsygR?Ze;MB%@6K`fY4Gjw?wpGM zD!x75o!{Z7#ka@1a~Xa*e0#h*H{hqox5vA4JAMXyd%QdM;lGA&k9X%u{EYbacz0gH ze;wZ*@6KEJnegrL?tFxw8Q&i7&e#VJLfYWlEco_#cP7Knif@m1=d1YH@a^&Ld;|Xt ze0#h*^Wta6x5vA)0REf!_IP&|!_R?lk9TJ|{G9mqcz4#q&xLP~cV}b#-1zo*cecgP zgKv*_XLtO!@a^&L9EhJ6-yZMI5%_Q8+vD9i89yJsJ>H#j@ZZ6=$GdYmetvv=ygR?g ze;3~#@6Mh01@P_h?mUcN5Z@l}&U5&M@a^&LyoO&G-yZMIhxkSC?eXr6b;uwLF3*$2 z@$K>MOp5;=zCGTZY4JM{0P4szCGTZt?=K+x5vA)1AcjYd%Qcl;a9-7$Gfu+enotHygP^B zSHic)yYox@%J}wpcTUBxf^Uy^=Xdy3@$K>MT!dc@-yZMI)%ex%?eXs1ieD4o9`DYb z__gru@$Ni`UmM>Z@6MC>b@1)+?!16s7vCQ5&foCs;oIZgc?Z8fzCGTZkMJAd+vD9C z`IlevKoe}sg@a^&LERWw3-yZMI8u+d7?eXqxfZrP59`DYk_-*j*@$PJm-xl8< z@6OKn?eOjK?(B{K3BEnvodfaPH#P<9Eil z$GdY5{-^l%cy}(w?}BfScjs#SuK4zNcm9Ci4c{K`&h7Z!@$K>M+=br*-yZMI1Nc4h z?eXqBhTjX{9`DXG_`UJ%@$S5c-v{3w@6K!Zeevz_?!1lP58oc|&IkDY@$K>Me2O21 zZ;y9pjKcGo;@jihnFxOnzCGTZDeynTx5v9P4gO$!d%Qbe#~*@k zk9X&r_(SpS@$P&Ze;B?!-knA8KgYMnyR#JjaD02bJ1gRUfp3p@XHEPO`1W{rHpCx^ zZ;y9pbNo^G_IP);!yk=rk9TJm{4x0Ucz5>2{}SIG@6I9kWAW|r?i__b4&NT{&ad#t zcPrMtckw>-yZMIhWHEd?eXqxj=u=s9`DX}_>1xF@$T$`zXabN@6JB> zOY!aT?i`H24BsB_&XM@b@$K>M{0e^szCGTZ)A3j0+vDB&9sVkOd%QcB;;+WH$GdYK z{u+FHygN7Juf?~=yK@KrI(&P)I}hTo$G6A3^A!FDe0#h*FX3;*x5vBlcl=HG_IP(b z#Qz@O9`DY7@PEL!$GbDm;e#-^JfHuFZ;y9pV*Jhc_IP)u#@~W(k9TK!{H^%*cz0&Q z--d6GcV{mA?fCY1cjm|c3Ev*?&SLmKc88-kqKC_u$*(-PsF&FTOqAorCcA;oIZgIRbw_zCGTZH$);2*-b$GdYL{$YH3ygOImAHlcByK^J{QG9#6JGbK>!?(w~b1(jJe0#h* zkKv!dx5vBlJpM_1d%QcZH#F@qfd&$GfvG{&jqNygM7?-@v!WyR#MkO?-R2JKN!}=kH(IH#@@E_pYeekMZd$|Aa z{`$i``-=>}&&$Z+_u2pT@cX=s9DbjD{qe*7fA>!s?%6+M_eeZ0Zg@U>@Ozt89Fk79pjb`E2I zzR~pT>yQ7O{gc?ApPe(=KWH>P`})6s&i=dXAI#3j?7u#mo_+nw!@rjP_w&E{aL>>0 z-`QDzxaa40(Ju_X8@~4J>#zEp{p;9YoSmE5-)uBJ`}&tZXa6o@|ZsSo_+m2pR@k}``5Db1pEIOP0zl5s^MRI|KI0-xaaf#Av-e;_k8}pIl&F@Xwf(>Q;}7?I{>S>_;Je|QY`Ew1|I5+z?CUrGoc*oXKaQOp**|wQJ^T8z zKWG0u_RnYMGWIVTP0zmmrq9{Gnf*)Hxr6;%N7J*f|KM}>KW6_=?DP-c`TV~!nx1|A zbmI@g;QsgLcgEqKpWoNmnSHotf7uE1PYzvs_Vp`&&i?A`FVD{U?0;dRt`Gj3!{I*r zAn7j}?*IGazihbY$3G!E*A4gl_}3pz&%XZU&)I*C{SDc9m;K}aAA4^CUqyNKkI%ii zH#ZxI5D*YBvKt}fZXviJ*??#gAPESFUa~?oBryq_3*tuI_fqSM)>^k(wXU_bic7Vw zb+2u$wXIcat+m!#>+(P6dCr-6=G++*s_)zP_y0H_n3?B0=lP!VoaZ^uHaGWr;K*;v z=Ti(y`$rRw_J7OZDIgr}e{Bey=wKZAP5D+I{`0qCO zhZ#Kg8~lfR;K*;vzvILIp25G`;Q7el|BDBX{HFY5YTMHP(+Nla|JC3rCLI0$Zx0;# zO?gb?k%a#v)SW&to`7VQfnypEl%J;V^oeo2<{S7tx<~mU4;jTW)xb}udz3%R z14nt2=TSrcK0}^yl)u@)1K1GY!1BJX?(~UqEbkKrelW?;2J9lb$H$CMh5L^YpyLul zeik+^fusCy44(H4`Er`uV;06y{vLy;j_%Q(c_Eb42jeLJhQV`T-IGt9v_%KypW z`4P#Z|Cbr^jH5r78u(vG9{qWz2R;Sx?-}?QvJLHj&jUw$b{hCZl1F>~>4Bp?|1j_+ zB#-v++!Agr#;3r2C=(HVv>5zjJ#ge7Y2bZ^{9Yb7%8xhjpBVP6@xalZ{SEwiL;hF~ z9Oc&<_#X^=PV~Uhp5qLBB-J(g=VlKa`FTzYx7Gn9kN&^ckY^nE?=(kN;k_xWU!E(%t-WW3{I454rPQ`jK0tFDlxG~}KQ`nK zHspsI@{FT=(7;z3@*_QPlpkT>s|@+QJ#dsadAKh^`==T5jHCQS1HZ=LpX-66e5rxo zPx2UFZ+YNT0XKPmYw+{j5=1P`M-04>Vh8Oh@xaj@lji`E z$M(6(kY^m*&ujxfnB>u(HV+)_X)*9xga0HC9QjS2bXFyzM=>nX-jew2YfYuK~D2afibJg<^G zwudE#Jmct}0}Ol!)isv)PaZh(w;A|wl1G2OtBAA8^^ zZ}M10eVfVEUsMw3eOU|WcUE8{z z?(WXinzsH_Q)_Flqk^CGboY2M8;@Otps}a7E!EtnC|lPxrTRLKX(JOI_Kvo*LFMalt-)0Uu4 zY_Iq{NcC+@t?O=WlaH}3p@Oh^a9w(di0YOiD6u!A`~=G04kvQ+^bo7OG|FSW*FI}aG#(R*}iZBtikr)PU`3z+#Zwqb1b z99Dn5mX>uG%q{I} z2w2m!4n|--4N>!t&i-|&=2Yi;nw%72x>cmt80pO|>wC@on@vWZ)1=zhceSKaMa5j$ zq7*|>56DZ*OD^V-H|~KYJg}q(R^oxp_P}r=Mt!+mj5+C;hj}rNqQyLl7W2yMQM8yx z(PAD&i+L0+=25hmN6}&)Me{Hv?oqV3N73RQMe`_yMOdHRAY9@`mQ`0$zu4H+cNEJ3+Ph)N`Zilug;4#1^4hY+sq&@s zQ`MErK~|v}LaiN^*SR{OrfeD8ID-eiAs11&Kh~|1H41?7yEr?8cu*Liu39a0vM{0`WI4# z4u@yvA@$?ud%g6Zccx}sO_@Ix+Hn z{A~Y;KKB2d^2Y{fKgaplf8C4P{sP+bMf)eff7Z|TU+ts+lkwW*BW%m{4T!sr%YF1e z`g_t(1x5V@@L%e`*GK+%2S0F!{sHNeCj^N(< z=4u8Q7wH##^nXMj5M67Oe=_8i`akv2e+}uMDD;82>-fk=|LS*ji8hfmmVYYzm--8! zeR-At5z;@<_`fIQ_llpFNk4yX8ud^2&|l%Bzitu;!*MnFPp8uR|G7T;7k;42e;SP= zsJ{^Y%knpoe%b%Lhm{4#e0{OcoS)4)+sFPAe8B<7JQmc+wDA}J?!n7{&-_cOf#D8cNTC+{m=O5e~0wH0?*Au z>VMov|J|Q!{nKe2!}3SrztsP}kN!unvf&sj6pEzv7a#qv4bd+^P5;M%PwF2E^@IMG z?dLUISimt!U+gpI=Vnn%`E_Y+F)M_X4aeIosFP{!XJ5#VO=KQD=gaEh+WzyPe0ZS$ z@Le41=k`ml|K648>#iLro5=X6#h&7N05H$zhT(e;25Vb_L=ju zTTbz@e+K1$#m=d3r2QxO*uQv`w*P*^fBORk>u3L6=3{?WvDP{W#K^f5hbKyVhXZv6B(f=OlXL&Y5>VMWp|1IORexgzBZ=Q$#zma}f z{~u9CIsagL*ngv-f5&?nKg+PQfP+6zsZ;6W$L^3HOt9v$09{`r`%85(l>HU(jP=TT17kG_!lZ}ZXLNcyEdnSRzM|1!#7 zX>oW-+kYM9NBhwi(*CzdzpVcqq`#E%^M&(s{qGJ9->dzY`7`xn7~*3b37FX@-|_mJUIKj&xrm-yHpoTCjsiv@k`uko>eQ?d3x z|NRQuU+-amhmZZ|?WYyCkY2t>`|2+~)D}|1;F_Y}!p{M*Ek- zf7Z|bzuw3G<@Cn^Wrl9N<^1f{U-;O63FYr)LE@42KjCBl!iC!Z+%cp5%MJZ(|DS#A zA4Z0=9H~#Ue;BAi6M@EcOsD*}xX|?eI2ZDJ`F~-Zw%=_3hXEJ+kL{X9`eplnne?Ae z^9MGA^P|mppqsqxKe9?ce@YZg`X4{@>}9{TMBBf7s^&re<5w z#D;1bJ3qr)eC)rZR%b}i=fEg?+IYCx$NuFTwf!GW(K*rnCipMyztG42XK-U4j(zmS zK68Gy|8^hyKc@T%;c$_(e&A#O;>)%DTPgn0{#N+U`q}?K^Rd5pg*KVO-`D_`7~z<=q#sia?)>pjvxPn4hYvq41wASS}pDqf`}u3jQcyN;WE@-L=^N08b- zXOj8xZxX!pFK^a42GakOPyW@dlz)Kwf7K`d+9P%Tlh|;&O8ejS$^RbZAIN?S`gbh9 zaI^JMr&gFhfPVZN2e16Y*6EBx2FO3vCw~FuAE^E8=aavb@(*NxolpM7lz-F!_BZ?F zUrYJ@`hTX~;FEt7k{lDUq|7FTgudjUdzw49#y+P&=fq~6F`A-{U{|W(B zrTjw%uz$2q{)Lo(p!Tz`PyW@Ef6M^-=lbN|I>`J>eDd$0{JRaHztt!IEtG#C|84Zi ze?R5leE|JuKz?jfa{l)`ag^WGf%mUb{xhF-Kau+Pfc#j;^W0+A^6%;O-!sc~4qX3T z1^>DJxL=v>qyMOKoo}?5KTG}l`{X})p_Y85#ci0(U*co`betH&vHW43AML*e{!9B0 z@zH-cey|9RTg1d#>YwkUf9u0q{|;y$c%c4k;lI?M^3gx!2U^n(F#t&YD}D4A{6g!W zhcBJrK>gRjf2qIMNB{R9)0!SQ6LUL<)W6P0|LWafV1eVKe`^P#{u|)G)W3!F)9WV8 zqK>YmI$!w$M)Z~S^A-PQ6YpjITQ1Z2C%CgKS%f%0erFKho1)K9{)M_2_9M2RfeU=f zzdTp>+|SVGc(D98!+*}t@pBF2hrXkS`S?2ed)oda19X+PVp>bO1s7BPO?A3wx(yy* zKQUcDwi4NQA=9Ju4QAR0@=ic2xa>YNj*YUT$64r9RjyJuY%zp7>6RgX1K88Z*wYwu}| zJNoRmGVc1u$Z-o!oVJ@)kQF}TZRZHqe>u+&*ufk{p_Tz z8FxiSJ@C_UM}PM(CqvG6Dn^{TAavps%so5H+WNykh69+I7l^lK2HtrvFct4_d3waQ zNO=5%$Il+I@t?cpL@xZsd~5Ev?h0F5FDrkNxp$tQ`TH?1eTMRPMXVD)-DBL&ab?=B zZF`)0q0;}rNn1|_{T+9WI~ug-Uv$Wcz+aFx;-4d}e_is+b5Q1@$4|aClB03PChd4B z=XsK4?D@wT88K>s^^;3}p>jLug&%(S*NKs(=OX9JkH36KKzZn{%wZN|7d|`^K9M>v z@Wjt9UZkJ?Yg2sV9)S^SzF}c{Uf|-V&s&5Z0N+FcuZ_t1=jZVanSt4nptVA2JMZaX zRaFbhO7>s&MiAxCdv0;nfeVhd)6YDIXw`y?U&8Bw3tm>&5s|G^K6-F;)$y|t{ph9V z7wOXGRb{syKkC!urQZw(E`1>!_}ke({BTs@$#d}OyukBMzf4v(R>e0)0-u(wKWEQT znSmweYFl4^`lPL&z&m3--^o%9Ml@Zg83zMuR8#FfW8cvSz>{D=MRqWVjZ8;G#+)&@ zi5(28ku($vcfel-=sb(YV893Umkb88RGwg#lG6fjj@`mEq0u9-b5nR|a{j^geQ|!P zeP2KFRJaeXFSWvB$D=*r_0bY5yytkdAiN&_5F|WqJnGC0Wu6`iVwfmxnP-IZt_L_& z04G&~Q06y6k$vEKHvFNem3dky7oV$MF!Rh%=ns%UlJi2rDx2hdA_?qelbjQZblD{5 znj{y5LP(D!-wFlKut_dXx8$3l$PaCj?Iy{$Lm{L`k}E>Nr)`oe(=E9y6u}R1>*8E) zlI#eDkRD0C8wwr+-Kh4-wGN2}zDGdDIFh)ICH5rXdX^YXzzr<12LU${5E(|mO)RmS z?X>TNBHsZkw5ivarhY#ZQlCTzQ*R3ezYmQ;TlPaH*^7YN39wDQgC*G1J6VEFy^AH- z)VoGqHAm77FG=U~88>N+d(LFpsesF3ita!cp^ZC~_b$Xf=za@!fKwCYMx^WN6k~A$ThZ_r%g4_heBuos`+Ioc)zXY6(Y%k z2?e?2rBLK8o8)Da5)qLcrVO#$Zis1K_=>mUflKd+aLV6_mEEL2qCDUH}oJb7U ze-etc+9aQvBvv?t^hgp82e;ZJnPJ`k8YCIv2!5(STM`Nz{cj{3LV6_03kM&zNrt48 z(0QCDdFJDwjooA zqyS1vB$L7s9Hez=CYvPF!Xczbm&^zUn?OjHW+q$0r72>7OEZfBE=@55T$(5YPH76m zkuz*V_B9QOg+po{0fx*D2j8|0DP+CuqdFJ{;L;vu-e1 zj|qoRAF`eh4!&x$ZY7c+Yy%L<@!<%5zp^gh7L(+}a0uy}H*oNH1B+gRg z`fvolkxQ5629xCb;Skaz$!+1_ROqp^kA6rbwvTRSTb(9;OE|I!GHBLYP1ZZYA@vPl z!1|+b@F<)0-gMLM4o5DsN$xR8ejE-VJ(_lQcJKq6%p2q<9jOR1J zJ>vxoI5V{~vm@hSLZwS{R<<$cxG+0}CZZu1X9wqi5Va#FaU8upJJM{Ee9I)cBs+xk zNOEO%5H=BrWQRkdS+8P%OLH{?T$=ANz@@o{0d82|B_M+v*0n6bz4-SCu-9VO5fFru zQUG6`9hn7oYL8rD7Uufw5Ec^)b8~iZon4q85J}D`D%~vvKzViPZeuB8B^)*PWk*_pK|AfIrkaPcLudf1c`Q44wXNpoL}GWYk2Anddx8O{ z*ZWy^&_4PLkz{k2yi0%`CVwR$1VaFo=I!jr zGGNd?`m?F#z3dPgfNK7c9lXd^^C6Ms@r?1G%*v(th$Uc|NoxL{9r=l^<^xmBzp_JU z0IK;cJNR!~&F4(QYOEaHbB0(=fPg$l%_rHB$?%CIU7Al#HNl(^8h~mdIl*QS(oV}_ z5>}Hf)#R{*qb8gaIn!2?nPc>}xjC@Kr_~J02|i}4*_}yP&2Xt^1WPz-hUP@xx7F-s zs>#m@p#fN$F*(6vc*(9yGnPqM&7M-tIF@kK?2!{$0Sww{qfIsAb3$kUs+pJ*{Fbd| z5|gl+$x_V}mT=S*Hm(0wQc{S-PzUZQ?Kj^4V#t2rw2Nhvr1~2L|o5<))g$b3$kU zs%g#%9%`#;A(8@kMy+IZPGqZ1(qxjf=7f+QNjh?Zm)RsovL((GYfVn%VVh*FNpe(9 z26IET{qlv_x%l0xW&zJfLu;)wt1Y|<@O~!ZSL=FT>?SXDn@A{k&T7-I! z$q627>phl8?D{;80J}bqX9=f1H|0dGvDIug)ojTLp#iAoe`eqchV_Jrv&2DnqZoB{3^u3*6N z(ZxBDAu#*b#rw9Y_sX0QT4bp~X*|f};hQM^BN(T zxZz!(6HgW5#`R>Kc)Acbp!FZAN1iFfjpP~n$uA1AfW`dJIP3XjP#khxCsuRx_ z<6i6mI`P5`+*6&W6E7Cx-e{#xyi|yLoC|g0I7UF*4Vx4%U5cljFb>dfr zxNo*xCw^UsyIZSt;x~o38MIm_UM)n2w(7)h3vq|1Qzu?4#GRTRo%mfL?zr^p#OsB) zbFxV%eqV?i9>?j#9}02fVyjO4u@JWxPSJ@s3UL$QG@bZUVGAfdODEne#D)A0op`IT z51w3u3mhx*b|J2;m*ZYLr2ecdT}7#P3UR^QN~ymncdwXJYqE3`70-d@#P>3_} z$vX9&Kp{?;r|Z-;fkK?u&d{mv1`2WdS*%mn1`2VOn9!;31qyL8SE^Ij1qyM_b%0J? zA1K7B(L9~HAy9}jm`a_xF;IxJhJ`wHQ=kxs{~De8exMLX>BTyAbD$6h(?*^8L7))F zyyZG|OF-4mDxJDDP>2K7YMr_*P>3UrS~Xelx>eQjTK(+yKp_q!Jvwzqpb)$Fex15A zP>8+oCY`z~P>9{>aXNK(pb-1TtvYp2pb)#SQ*>qbK)tHU&rsh7Wko_gP`6oEX1+9$ ze<=#**;YWEgX)~2&LMRUt8=D0N7Ok>owLO4}NN2&83>O5MV$EfpIb>35*$Eovpb)KNkd#Q7QI`6H{6V-W=I!{*TDe62` zou{eubamcGoeR}@Uv-|L&e+`Gr>WF=mO2-!b5xyU>Ks?+ggPhHxkR03t8=M3&r#?7 z)Omk(K0uuhROh+se2_ZNQ|B^uE?4IYb*@zBDs`T(&I{Cep*mNq^TFzTh&tD(bFDhp zsq-RrUaZbb)VW@r8`QZ`otLV!TGCmEs{7^Yyh5E7o>fEi)J?eb4I`^t`pE~!e^LlmO zpw1iBd6PPCR_9~X`B-&6PMwce=Pl}df;w+i=M&ZWBy~PnoljBcQ`LE!I)6i*PgCd9 z)%gr{K2x2~Qs=WR{(Q+W7(<;8s)TeZOI@IYgN{~3Vs_=w!zO*zk!Xf`cI(iy22|k6 zaLmxh2F#$!8dm2_D6yK?;nLH}%4x~UnG9dvw#mwA&3po(k(;fYHgy{uxzWmLSGS>& zYpt9$>NeBVo_j&&EXb~y^*NyKgD#;r4<W$FarHS3ZsD$SYRTJ1x8|-h$bG$N3->? zoSV?3dO*!h2J&zgP^?WW(a+}T)NGy7!(?u$PU&GXcTOM=P0_<-?tVJ8Sm)bcr}QwH zdw@0>1&Mv(5{IA3#{A%5*BA%YRdDWgzR5Y5cHC+e4!B zbt6R#zLJU7gy^P`Q~7qBHtXMQ+mphTccBY%92|f82$`|NP*T+r&H5)YLQNn z7Z(RcVN1{xk=!MLF<9t}v}C_aRjVlU{3-LXJ9M=M=&skfD{9x30Td* z9t1QoFp7X?21Z_I;m(J3ULdzWkahh&T#f6s09E4#64!;^s8dvpn{a_xM)rSc8zBP`h`+#R>f!M^I^lZ{o9zv6!w!taCv2PtBAes0+;S=Am1(Xp7 z?n_1-q+ZK<8*xx@cM$uMMjYgC#7;J1p8AZUw-NJ#+rPXK^ZboiFoQf%_60_i1@{E8 zFX@RgeCzgJJ z5le$}K!dZcxd(>6DU&g;@jQyt4Lqi`_Ow`mX=-Rx=?*JUn8Q!iSae5}+Sm;BHg38c5Cb!U zXM>2{zV_k4&=>##>L*^-VGz^X~~$Z>!DI~i@@)eb02}ruqyP_CvUo*`oLHWttamwY!89MbnD1F zm?uJ%Udi>VYk#O+`!Ie%w%teJF08lPM+`j`bbd*mOWYafk8&cOBpJtqRQ zaN0JjAeGu+1=nW3jG+Dl!C+H>d~fGwtAH zD>rv8K%iihl`(X`-2HRsDP|BeU zL>0TafH17NRTjgx-AyH!Wq1fk=jP^usSfdo=}>}k@HF4f4?0lgNXT!O9P^K|jiS=; z;nDy$j5Yys2f$-?14pA@#})++8pDpBHfHz0@W{N;-zp!2>h=s9>VmMC83%w}CqbyM z@d+U@0RUS9%dl5&U@82O8uS;YC^X*jf#?X-wmf%5?xCu56T?B)>XNB%(mbI^|Xi(M}W=Y`7sEeScbRA6_Q$3elSzyoPVz&cD~A?xpf!>*L5OlMdp3>#1=VBt#X3y(pF3`$kV zI$=lPf61W1=>oI!|CbCJl&V1q4Wc>*Au=dcgAy8qvVi(>#V>4RgHkmpp+P7cgvg*& zfzaqdw4Wosu;lP?aP|zWYLND<8rYrzMFyn`gvJfRKVMM~G_a~c+Vd6F*TD98bnUWg zz~sC^xNtD_Rqz$@OdgOYXq62p0|lEtpis~{Xh0btnlYeI$jVtB9E8*f4_O0B4I)}$ z_<3hAL@Q-=|oc;)^H1F&5*Bx2>tK4SqtrqqB8Zdv9A?Z+~|m2zB(g9W|@9w_`(F@2m|S zvs%`6^vqH}3tW0{WJUFXVCj* zt!ZgtTW7X)w$I#DT9N{@$^4n?yN>GW-q?kYY|ZPMpoH)P$^TKYzMSg5&3*rwTL0QA za@QBQ_kTcxsw;G$Wx?-QH@BradQvU@y`4qy*2S{ct?TG6T8pC%{JMR6)B4W-RR89l zwm!h1xu*L1Tj5)#AQ6HO>JkpJK-Al|Ce_~2*4c`pu;EHjGyLrJQ3T;n+=G~Y4ox+M z?IyLM0|3pT+Yuz;#R5ET?cJbdt#H7~)&n4fNk(2E9Lxx0L$ri<%cPqeeTDD53S_A7 zEDs0iQAQ9YL&1y}G@h-W59S;~MK_(GG>y&_yx~34kV#&M&OVXsWUIiQ$CW)_YzJ5n z$jrD?bL2qjf*Bjp9QY5thTAPulsi;uvG9~9Qcy%!_Pe!%M$CaoAO_ua~XaTjDCp=U?LtDd& z2{>jtDO1wCXYJVfbfoFV*Na)?B3%49e1p&*ATDOC#BlVHX^|B(%cI$FVo$xg~-H}AoQRlYV%|Bq}~?q~%Y zCOIinuXztP9PVqwwExJ46^>T0VWN{V^_ur!!x6qVs2_UR<@T`B(F!)~?W9b-<~`Vu z^0h&=r(L!|w=WftU_-&6Y*_8s0D1NrRGwBT#UcyVb#yS?6M8(9Ia4}p-w7YyKRFS zne5>TvcM2k-LN=SUUNvQx-wP2puBO>Vykye^SY*1^9%b@Zirn)=tYb*0+6tp2vX{!|OB)2xlH>zYzgP}tdKb)p3wmNKqv zMOA&OamC`QRQUppXmjBqnp<64wxB9?Xmw@dLbzX$I<(SSSiNAOwh+v%Ub(0)RqTO9 z(U88*juu=Zwx?im1_moz7Xo#)Rk^q#RlYb?TUDE?#NsU|tFB8`)s>akR9Sr;Yr5K6 z3tHAT^?o(W54}j$i&6``vsS5}UsKkYYFt=fm8u2Z)%Dt@RAm`>b#e9bs+v@NS!4Ag zw61PxEm*j?rn;`mYVGaDRYZHLy?0%zYyCRYYf#Ax%4%!NtjeXewJR`Z#iIJU>beD~ zMf2x3R5fA^qsto0YQSqo&FhjkSPeCc7Go1owlo}?syEpyYL=>|fKG#F=uIVeXmwpB zWvN_IS5{kHQ4ZcEXMzpsH5LW!i|ZGarxq=3RILfC!|_KsTJDuAZov{hwYIHe&DwtL zE?tEUjj6KA%KDVH+aYo_sm0*wLo2~KTy9jV%A#{CLMN}TkElXp>Ks?+ggPhHxkR03 zt8=M3&oLdgu(H0Uu~y;L^=8FFg;!S3pO3{XuUS-a2(@rXLJBLr&ZGgGQx%Oh(PA$! z>IKHVz=Ri=^a4w~z}a44sR=^st0=3mYM0lg$`{pFR_Vr5UxpnD#4nVNTH$izeubqy zu&@f^y3uOsUJqa5ysl|eYGX$$1WGEk9@g8XseY?r(fr2xhDK9iZP{`&S%cbDucG@9 z@>|TyZ!s^w#bRFBy_^~Ia%RlSnK3VC#=M*vb2*cZpTk{eTW>GyKJ-}-`+XZy#haQE z7H&Dj?B9ioqeemV1jQS>O#GYm;-|j?j>!qeNtJypc*^din7|OdZ*{XxL<*z ztY&cr!3E`}&c=nRF9vCQs584&ztLJ1+Te6`;@AsfNS0TbC4fP(F}2J@u&2b)qsmn= zHX60mh>1f*x{njCJk*jCUX_{fs?3B}#3d3|dz%UX4}D(Mm+*?QM5)F7i9u6dQ{ieA zE0!+9$p`oyrXTamDjLDlYM_95PpTKAPeqA2cHnGdeRJoARyF;BehbAC`jXU_QhmWj zlIm`6?}TmJR1a+a;@80Qkc29s`!uFKsoE&@ka`xx)0pzcXf#%ws;+CSs;{XkTUJ$R zRs@VZ^OrW@ID&z{AXQ$Ey(>*CmM$(|v=nB9JiCxh8;S>Zq@htgWW&_N^Ksl0O}P4t zWh<7h&|Zkf)lO?_V=rvjry!<5qnf&au{_0WShBPXTB|dWaLrC&M0J%)7YAk)3sMU! zajx26rOIJj-E<37Y-M%hLNPL>V9sY$z#ykg{$f#ULsRGaHfuqBSp@`J6->OW%G&DG zl0^;NZlL077ev*h#ZvQ3qcv8{hxr@SntRHiiwC>at=-UWa3ByZ0s6i=m^)UgyfIe@ z!N6Qww%8Sa8gfOShCDJRZ0{(u>Kd(->gU?msF7hUj|_UOj+Ve+Z4_sPo{_SHkpctf z&|-{(&FeR$`r5ksx_hk_oY(fXr8e1jo7Gf8!~*j`dug;P7N+WIvFR9d4pbnThO5CF z1ZD*p7B8r6P@IeEsv+`SWvN(Nzs%KG(r2lzd3E|@J)tc3YP*IBl@--G99-eE0^-MN zX<7%%D7#9a@P>!bZqYE8Rn^0oSf*BN_Q1Vt>9VD&O;T{7)10XFKa* z3Za{1$2yoCsJU8ycYjl7s%34LT9ydI47d9ks8$5?YxNWax&db)#PemtL(p0&lnrJa z|CcscFkR{BYVS4+P*#OQoNHXtP!wI}bngaPt*(Eb7eQ-{w|4d7QWA2wCas29P;n|K zV9td>3SB8qo;U@SUsY2ET_6l)t<8YzmFo(%47BXon+h*3L_dZFggYp;huoIF4mBrJ zZpXTGb}#Np@U)tHQ=GV_V4O(6VgTz|Ptyz?={4_6wdxnB-WN3M83Nq6`~nk= zVl@Hj>FJQbcAJfS=@>QV;&K!gXMl1JARa83jym%LbE8NP0r8l7 z2;doD(yS}(N8H(1p)1v1tH9vW+<878i(2Mh3CE0T%Z78w zproZkLl4VhmZW<(@((N*`Oej@YZ@x7)^3>iwc+g49-6tip!fC4gklgn5!iw2fR&sc z^jHuK#Tf!gai!Qg`6kXcuF%l~w`<%n#zWjO(fzaG0H{oy;gTX)XYrk@bQRF+r(7+| z8T+tkup_|*P|2t}=`2mv)42PodsY#3+J+J?aSJ<3G4-_6{nWMTQn_%Y)zsSB>zZcw zw&5(>Xjm=XUF{ufRJ1}V$a;0rdp$5eRVkOFD;lcHDrgr!wfU<|G0oF=<=c*81yv?stos&Ian6&`g9j>IiQlM9JJ#|+KY-_ll zx;o^F`bCRf)*#^O)Ddty41lCXeJHJF(XC*kxzxT2x6-O5Ra4zqWx-ktx)Ec#TvDtjVHFFjDh_E_T5B~dtb{SNs;m;ndY+ax zZ|-U8qt%>Ud1|h1x`_5ZP1R*uEpAuChSq|*r3DqyXhF2NC{|QlFmqi~Z_C;PdpDFM zI@UF{x3(bC+;L!MPf4N`?pxMDAKZE1y0+G)uFYSCwA8kyU?%)q6x09V<17cR=~@r= z%`|S?+t+us^mlZ3&FpJa*S><8?X6AyO=h~QdnWE{_jh!`LrB0vwxgwgW>aTJQ(s4y z4lOYc*IlYJC+4Xs%#wIl3-*Da!?EY7OJT}u&0kax>!@-y%u)}D>mV4sv2m!e-Sj`S zId_Nx-~<8ov}$u)4L8(x;~bWDl?^5uC89Ca3BpPn#$tTiQH4zeMyGZ3TEQ83& zrZ)6#hL3K!iCpy!#IF7r(ym?#(ymSl(yo3E(yn4np=;xl(C^=qrRd$Q)9VYp{~?n$3}&gW)< zP1LS-wOr9A!EC9avA(Kqfqu`V7l5YKjdmHJcFZM$+IFHnr_B})D!kY>cJCmMR}JWm zQqL!9Tfy^*o*2sAOV<`v-`eipe)ZZ08Us#zTHE@YIy&);>7@7mC%4L|qNHRc*Yp)1Ds@@0z`*Q_vGcnu6pt_VUPs&|xo z+nQQ&Lm3+eEs_sKkBFHgygA=w!D+L}OXH1;nlRUpLKsX8aGM_%5c(RWt5+Dfh7`*0 z^@hUhCEy(5b;*~__pm%M$86`iqtx#W%*vvTO{X7SPOljBY8*WW>oIlFZ@8ngRhvrx zls-b#i6%LcI^6KpFP2sfLbe+4YdKM)L?{|3GQ?slRK0Kj!A2}$a zFpfb+{Z@m=m@F>7(gy1-#QH5@Y13(60(G{M4Hd^_h%z z_((fXjLpe3ynI=vrn0cT_ja zbi)It#hsWj-|1^<>TK&pZQ`w)4lQS64<`UPkL~H`X-l=hiw~m?U{lZ4IY8Rg0YKU{ z|Ae$_{>k$;s4853x|vHXy8|^IG{VM=k(^&%;d=WAY1iA`ii%oSmj-E<#Vdf0J*Z-Y z7shHwesNVjZpu^tY3hajNo9rYCz}O5N_(;Da|F77R4!c8+tHfp(;M_4#xMPN-eope zcuBEL_v7x@C9c7eL$IM{S%YOQsHoVlVEQsxY8SXzFa=hZf&f9(*Vc{+RRg zfE73{FeGTH?=J>S9=nQ{C4fQwl@5GU7u<%1h1CK-)>E8Xho>eywd1K3Pc3kgI?Xix zEmX+*+vg_6_Zj#{Djr7${eh%>l!1S?;&Ei)U$BT{ca{F1$L+slA^ogZYGz#h?ucRQ z|7$q5JM&=s;VZpd$A5~;_R2hd_&AqV`Z8W<4}SOrA9+7~qK`brhIz1^>O0Pi2Ls_U zcvv33-OY7;)i{Q^c`*NeCP?=g_%~eQ(DGj$?j1+)_3S=+z2hr0?T@P2PVcz;e_uYw z$3O5TbgqN_;2o!#Y2ydWd&ga-Pkd!s-f`rQd&gI%<%dsom5Sp%)0+NY!oB-}Ov?{f z-y&$(%6|6l2Qu|n5&jqCz59nutJ1IqZ`uBZK6u?O;`KiAjsM4R`4u?qhh4?xSHmz* zyH9z)#?djE){#E`>H3QBULPJme1nhtrvDOtjE~-}0>@-V+NjBKEl16-9+xu+-Tt%E zW*q;2!M(@pEX#Ym-gR94Hic2g>^DDrtRaiHEbl#k&hi=ezsA{b-t(3$%X{9k>$vy4 zBFksKk)^-2*r;Q+(|di9WqpmKv;6%~V)zno*`ND;MfhAF9zVR?N8Wp$mgO^l`x@tZ z^q$9NS@^YG=E3rQ_+nES?pfY@9-C$P;mdt^yyux&X}tG)ekrM`0bWm#P9c! z-?@wUBR=wv{+IA)ef0X_FZ#&8{6CDp?!)hgzu_bQ=KnGL9Upt%`#*+%;A786|Htr8 zeC!E|SJ*tC{HpLwAAUbP$45TzYaD7Y%kuNXFdzTq?;<|KN4{tm@tBW%;%i*hfJ>>^&{BVV_Rc)gE&<9`WXCiG%=r@oI1Z^V&ddHpgJ%I675oygt^KRk!J%Pk`U1gd^Sm2Pr(?IvIW+%se!2zIDqO6Sb@*Dw%JUi+b1grPqtz z*GR7yy?)NON(9dd#J@A-*1L`Hg~HCW3BPMExBNwfcZsHTDdDY?-SSrxezY+4dcw~f z>6X{?^?dlkS~q?d$v-DtaUbDFj(5xJ`FFmBU({zFPpL${wR2AswJbf~&9}Zg$&J5C z^54`A(tfDto%z;1qP*{t{2zzfqUz>D!fzB!`ZL1k2tVuj1lSK>XKo%tRlVk0`w4s$ z;kmkD+gT-4FPEZ)r}o}U!B@%ej$p4}3=W^`hQ0m3{fv4)GDwp@e_1x0`GUqysxiTIgqy_+c60uZVVg z1mVKXRy*PFfn(RvMR=hYk~R?jpdi{p_!1$%jqvwHKXVS@XNvx9JKedMH;8(V@Wy}e5KnW9{85Prx+m;0@E z32znnhlC$5@XrX}E^zpsZ#eR;9|#=2cU|F!ih3DE_{oY7W%MzD@H*lDsf2$h_=^a? zNAQ#ozHkyV>+4*?Hwb&?v%Kiv>IiQZ_%gze6ZjE?-zVz5o$v->XBXj9L_e^B@QtD# zw-7#|z+J9wgijZG&mnw=7ze*a_*~Hs=>97|Z9aKD$=@j2=WT@V6#dn`gdZX7e2DOD z(H}lZcue@=MZ%90@%vlCeVxndssG2vT|7Ue1@{4`OIhY(&O^fnTHyXa32 zC;SQF|8~MHVNW;V=T9=Nw5(0cBihM{gdZ#Xe+J<-qFfgeK0(y`WrUw0`v30|zHfos zo|_53O4xrF;b#f?`w5>V%JmrG_&W^d@hsuL7VCmv5&lQ``4jW_1K|&gaqusM=ZXI0 zL&Dz|{`{Qqxsy$H*r8JT@~tP-bLZLagnug9!&t&!6YX#k;R{7OpF#LEvHnUDzD&r^ zC48Ik{{q4@gguK1Unly>6@am~jR$=GygdZp7Kiddz68+V= zgzqEDbur-o4-?@tl_O~LaL;W@&e zuMvKiu;(qpPZ09&6aF2+|8K%S5bY|Y^5?3_+` zfmk0!3ID0!*^lrdH4ZqsD+qsIw8I+0uNU}I!k-lUM-cv&z}FCdr5HDR2yYNuRhtRF zOSG$#2tQi1&oc?XU&voXc(dTYobbnl{I!HXEASr>ezf4ZoAA+Mz3>3x<$~wugl`o* z&k_yuCTJBaXiCpv8w?-mjs6y;q)_#Z@nxRUT63p-l~Pbfb*Iywn| zT*$8{`~cC;w-ElSu=5*)?w+F@Rx->#}Iyxh_90gpDcLJB3!SxoVxiY;oHUh?Fz!b zE!yq(2p=NszlHF)(0dQz&x!ioNqCot>&FS-BFgnV;WeV(e?#~-q4y2KhfHzGig$k{ zd~eZzenfau%uDeHVQ@Wlzpy`t@Sll!HU3x(%IkSO-s=N@pa}5^qCdf(YeKwG;P~rm zh~FUQb@&T(h%XoY@MItg+4hmQC&H%eak ze*@vq<74B%U-U!yHw_GL^*S)$`lcxF`6T}@H7|2AT|)S?LhpA7|BmQqZX)~vheF-m z!Th3~-$(dEqW$Rl&bR(3{PPUSuNUi=UlM+{u=91oSE+XA81-kuqoUvYfbiEuoPJ99 z^TI!ws=vs$?i2mSZiN3?@Qfz>W>K!a312Vbw2<%*M7xR;{+Sq04{@u_}*f?xRUVc z0>6&%SpvV6@DhRli0}gi{vgYX{^SXk7x)W=R|@=9!jBjHeDl z&q39{=Ue#Wcjl2xc$?tKC;VoCk0<;h5nodYzf|C}2tP&id!>Z`LtPz<$_T$j@ElC| zT>@_){N_mx2i~nB{Bf~A+(vk%@Mjm{oA-9}Y$W__fo~=JDuJI)_#Fb*^YVP_R56ZU zO7bg3zjqDczY^o-_X$5=tXuCST<@nkW%w!KpQx*YKT7z=g69{6KO^Gn6~bQ^{`@`R zhYEkbLwH=QUvzy#e=hhxBYC~g>ev}k^MHJ7H_^`zBm79=w=sktBk+mLqplABzJ%w9 zawQ0#Ec6~oxaMlPUMTGU7U6#vdUp_>CC1b134cq>D{dqFV}ajGxSp>$_B=%R?ZW;i3IBzN zuNMi|`>IyH_+xa~|P`i1p4$!dD4= z0^vi&dUhJ&H>mhZCt%C4zA}(qOPl$H1l<-C&e+1!GDqbDkYY5j@2k#;LII$kwOt|jP9Ql(7 zZx#LCnS{R}{CN@K>xKN~gugB1uO)npXtzHg{Bt3HH{rh(72!siHlIN`Md-;?mG zM1MG$@cF{dnS@^=+OvLtpKskEcn%`@A!44eknp%z-z_2hc`;tBB>Xzj-dYGBC+44> zgnw7W*LuRsM1QWwvwW*f*!c~TUnuy`BYgg3cLjf&@H`QxR};Qj^lvv3{u^QE?Swxk z`nR7D-Ye{XgzzJU|DPs&Z_z)$O!&T{o&S#TCei=AO?Y0wUEaSF{s+;Yd_s7eursXm zs;5{|4dviGJy?gkP-sQAhqG!ao%4JfO;%Z*_`(Acycg(O-=qT<=>r{No7!rDzXR z2(J)4MT9>j?3_*b`T~a=@8%IcRkWXK!iT8%bMn*^u0Ma_;D-@@h6Aa)R>CI;Kd&SF zJ~19`Ap9<2{|SUYCB~7{2!CDJuRp(=Z-s>3OGrK{_OZW1_^G1byNU2;#6IU8gl`ab z-beT;0{)Jo-E&5T;Ry!T_MTeE&7c(;rEF4d;sB}3cQN&KMA~! z@aM(&awy>^2>I27zb^0&!Y>#0_Y(f9=&z0?{GXzqKZWpr34fkV_;$B@tnGvsi2meC z!ha>&&vk^)Q1$7M-AZ_+XwN?)yw4F;cMlT&sTfb6AUrANAukaAsA#vZ68?aQuRjrf zvDgoMkMP@tKmSGe`ReKz8&vk?TO&pPoJ;s)qP+Qpf8tQ6yYYk{EyjhZgoo7C$ux`b zXT>_Yl<-zj?`4Ef7xRjP37;hVqd)%y?{fvdisWw+`wwk|-zo4e!tWLBXCvXY!f#s% z7tO~yo$yA{uU3fFN`dRoGv!&| z5j;ax1Ie@W-@`eXMkze~d-f&}UgLYr!LkZvRh^o6$3eU4H75o!?c&7UB6cNw;f~SP!uNHde5`LY) z=M&HG1y3E}nIU%u{rS=K?}<8s_-}EGTkXWNui)t-d1=oEAD%75vsmzKBl(>|?>U4& zD)8;Z(Z;dz&E`TbNM5>J)j`Hb+R1fHqZEigY9?QkgJvfmh`@I32$ z!83ty`S*-d6`pT>u0A*CIAa#!cZvmGsltVGAlpHNZ*?ft-F$`TS@Q4SYl;6NQLbeq zKQ+rubU4X}RX^c8YbW_$A-|6B`vkt8cy1H@-WHPApR;!Ow-LTftozO(Tz;>`c7>;Z zpUf4^FZ_Hh;l%>KnRvvujddr7JaY+`^Zfb5vtID%^?aUnvA~xR&q~361mUtC+ll{P!P7;!{(PcCwn5?Wc|x_` za_|!rE`kCcZzFs^M^xRNt?)c6Q*1$8q;Pn@Bjhh9`FbIL4dHS>=SJfBtr+iaS9l1% zVa|R0nDAk4*m{Wg9}s#U_u+ZYhv!$sBmWNlb&{VU^y<$uh0?y~|9#@g7W-ZQB7BCx zEw%rfZ~e8vtstB5kJP@A^K3Zbmy3AWlkiQVolI7^^rmI)OZaIHwYrNDE=Pblgbx++ z^9UE_SPKYO%N`?-{yvNJ-?>;y@>302yj?~3M1i*uUMTP*377jSM-#rEkl#djiNH@F zT<&9RBfL_`pG|m;z%L?vp}_Tfl=SbbznbJ%3i;~^Zx;A1gdZXBy9hs0;P(;UBk+d_ zm;Lh-g!c>i=LnbU;#UYiMach-@N)$ICgF0O`&Ys*5b_@qezm|qCHy*pht!5*mUWB3 za|ypm;KK>uDey6bKPvD7!sR?|8sYh3{!>J_{GQAt;c{Je0O4{Sq~GsmS#lk8Fv-jB zXjLj5{7r!$OZa;NKZ)><1b#ZzuJ>< zIiH+Jxa_a?AzY3N#e^3Ny|W3g6Zl+(r_Yxv2_G)x4<8J6 za52rX))Fq~CtZZcgx-FIi^UGeoTTvdb}O-_giXc>4Rh;Xe3S zAABO=az0k*gU1M0;ce8-em;1)4}P!@UQf7;)0IAWGvTs5AL)bZ&x@!3{?su(@+T2K z*C;FAp5cREK)9R-UgCpa?StRogWpED?B{>vgYP6<_VYjY!JqZPU-7|TCtUW=Z~Nfy z6W$~I`LPckRG)81|2>)$(i@N&Yh7V-!C z;Pr%GC*)W9;QD*_(%+jL=_B7u_)fupj1PVi;g1UWGYFUS+Y5Z~OMLLF377NR8+`EF z2$%ETANk-reej?A;Lj2+=fkh~;I9)d=gH`<3`=abkPkEHTd##nL0--VEbDFH9}d5_ z&c}Xq^NGSU8Me04-S7gGcV-Xv=Sntoq?+4O9X+X*{@%`_7OSYHxByNu_#cP=CGbC5 z45vBpe>VJYZEIe?Ce_s3+}pMR@v?^bCB>zDgHnj7ELya;scTJJAByU9XGd2XWuy!0 zflN_-LCug#=u1*x&Vw68dyfNa55r2&M;#^GPixXd*_~OJDC%!oG#fdLYd~xDS5MP4$66`VJOAudz z_!7jIAif0gC5SIcd`aR<5?_+|lEjxJz9jJ_i7!cfN#ZLZz7paqA-)pgD}ZKHvmGCH;MkF3hY-h1l!GS9Q4@`^%^WvT4xA`Q zPLx9@%CQsW;E8hdL^*t-akiNQD9RBOLql z&m2rqj;1JwQCJZMLDLT98^(`swjt5l;bMOffeP*igIX0Ikuu4Tv3j$ zD2G>+<15Mm7Uc+wa)?Da#-bc#QI4`Ghgp>4EXsivLQ_MLFi89CT5Rx+sTTl;bYSffwb-i*o2iIrgF)d{K_RD2HE^<1fkq8083z zatKB_24ft9F^<6)$6$nmV2sDB7{_3YV=%@s7~>d> zaSX;d24ft9F^<6)$6$nmV2ooh#xWS<7>scY#yAFJ z9D^~A!5GJ2jAJmyF&N_*jByOcI0j=JgE5Z57{_3YV=%@s7~>`p<6w+&Fvd6-V;qbz z4#pSpz#ux`7-JlaF%HHU2V;zbF~-3d<6w+&Fvd6-V;qbz4#pS_*ILBa|V=&G!80Q#_a}35g z2ICxqagM<_$6%aeFwQX;=NOE048}PI;~ax=j=?y`V4Pzx&M_G07))@T#yJ?{9E@=e z#yAIKoP#mW!5HUYjB_x?IT+&{jByUeI0s{#gE7v*80TP&b1=p^7~>p_aSp~f2Vsia#yJM#9D{L=!8pfYoMSM~F&O6< zjB^aeIR@h#gK>_*ILBa|V=&G!80Q#_+x5jU80Q#_a}35g2ICxqagM<_$6%aeFwQX; z=NOE048}PI;~ax=j=?y`V4Pzx&M_G07>sia#<};4b1=p^7~>p_aSp~f2VX!7-TN7))>sCO8HY9D@mt!34)(f@3hjF__>OOmGY)I0h3O zg9(no1jk^4V=%!nnBW*pa116m1``~E368-8$6$hEFu^gH;22DB3??`R6C8sHj==Wa^)K2)Si~#Yuj{!=Zx0|& z_Nks3_|z3~^0#V8h_fEDPX%dtx!xxzuhLh{r|r|*28dI;Q1y)RN+00lKdxsL(C}P! zppZ{pflvDzaNYj&6>)8!Uh1Pf=}{4h&sDucKJ5>EMV#!@?YBxV`T^JVR<76nz{l;F z>r2;Dx!!R>e^4B7Jm@%p@{vAu1zy!Z;Z?T}y&nSnYAiyW{XpeWp^DFmpWCx;$K`sj z1fO$0)CWAOBLn}b(F&haJ*j>TpX>V9`zZLF^N}9Alj9*esYYh#LNFtAA=EyR7G6V? zsNouT(akDN?V4zL%q>xaILL8%nMaos*vU>c0Hd60AJB0TpBjb{M>%NUI-aWZ6>wGW zh%5gAj#tEqN5vD=7sr(veDOK)>3#xwNNV3|kVk#09)b7&WA8oV<0#U-?HS2Iwq!Yi z1I9>Tz$9BU;|KVI(U;Xdu>Z6+sFE? z9sfuBlNZ;F;=5+l)zS~YN89jFEFr!%we~t1!pF>R>3$HnM)S{Zo9M>VeNSi$hjlDi z7tv6^Y@aS|BrohdXtY0jDlhXp=khW?hFwWw+>_YuNz&Ytw3~a9<|;4qt>Q}3Sgs^% z;htnI+*6p{?;u?%%{sQ<&ZFxLiqA(LIGQzgKdl5a!PqTq%V4 zJxqC--;ubdP!~V^Tq(@%4;ro%X7@wOmBQ?P$5CG9_YdwVK)+WgFY`MA_Y~^lcLlB# zGX0_3rGzH%!_dthmhK0gD~0*|5ObxlbiV^D_y6KpUgkH1YsawaenUAJ8s7JT@-pA? z91M-*PdFV6b?}|tmBI{uC^<7M)ek6F3Qg_1y)#2?{b_((Y{>LO&Y5A={Qz)gNC}3n zao8gMZ&=UZgvy6H$kM{Ugx1y9Hptv=toZu5u@s)&7?+lCv^7WV& z{>?$=*Y)!~(UrrqI|tBq4bQHu>ldEgF-*3a^TV?%`{lZ_F5jON%JfkG@XrM9nBn*N zatsgi>$59|`SsbAL;dyHl|%jY*&UO0{_yO|p?>=8$~wPp@9?p)YsN6A!({IVR{-_h*8BUwLC!mWS}u;M?_-f=&ldiR>PN&H&%u)4SQG zO_W{0&w*b9elBnYc$CdAb_@ zGvL>N+x;m7F(+3Cp73ko_XEEUd}HwI!AFDN06q=;M(~}%Zvw9azZu-_HzDX2@H60Z zy~6JWhw*YN{CnYZy`BNT4gOo;Trc~*I#F+jpR40u5Z9|8_#N;!2EP-0H25FEr-9!E zzBBmU;C0}C0^bkZ`jV@1;#lx|;hzV7ANY0P_k%wU&h7FR_yh321ZO+s>LqKUJ_tYj z4s6)I4}pi@bq$=$osJy-Cg?8UT<%`rk0Ad5@JGSV1m|+E2Y(Fy{os#-zXr~nufhKe zzl(mqQP30M#o){t2mT~{yFY@Ur@(9BGv^@ir{Ra+>kRGx7w`+<+dj%IDsdC|v+$n+ z=W^|LUPXNl{&(>I3f@N#{DPRXIr#JN$AiBBz7U)_4d5@rKN$RP;OBue=N9mn;6DQX zGWc8I%=rQQ75Mr3eSSf&f^P!OobAA0gFhSm@8FBTUkA7Q+zEOE{1EtWf}aNd7Wnnx ztmmWPZ^M5X{2lPG!I@K_m%57jF8uYud5`|#;P1oV9{dCFIp80HF9!by_<`W8XZZcQ zFup#5e;Ir`*1J_n+z$Q;{KvpQ1%Da*pWq*Ze+J$~zv?51^&A5JIs6geUx0_-gA42R zC3yJVx4^#w55MCUIG1}k^1p^}_u~`v4fy5ozXiVo{5$Z+!M_K81^fr_@cU??oe&_k zQSkG?&jIfSek(Zhp91d={|)eb@E^gM(?{R9%K8?--w3=1c=$c0uwI4W;dhq;?+I@A z^Nritevd>r?^Sn92g^Mdyf^Z%1@8m?7&zD0em7l~+ZTTLy`fNld(YyOMEG5yz}JBv zekUk!=8x9eKJ=9~{+4F3l34Z-gR-w6CU@S))E zfZKap=|A6qZvwxU-fvpkjr9z_hZ6eLrtrh>o&-J&Jp7JH+kUtl`J2H%2z+z!6T!Ct zzW{to@EgIm0)GIU{WknQNT?^@_q_|B?{mKaACCO4`h{a@w-MkQg0nrh1}}kczXv8c z{LNAOJuu;E`1Q!)Ju#04=W;IuABmisz`5K9!AHS=0o*KE?Y zAL=wV0nUvZoc2HyexaPS?$XMl5kE5Xa)H-gUuKNNfx`03!Y z!EXTPavuYq1OH`kF83qwo#6irJ{P>desN#gjmr)9V-M{=5B>!BT<%Wb^Wj&4F91IX zoXb4}yd3`J;9Tw<;0xjZ8QeaDmHze~IG1bp<(GEY1v!QK4`&&}K+AZzV1ivqMGx%_DE_W*UO87g2uL5rZXU?(U`@;V{_-gPwz?t(5_!{_c zf$sHlYdUx%DC!S4b;3;Z$g zv%y~gKL^}?A6=GvE_k?KU#RDK;6Eeh_u$?1#zK$FVyp5@P+U%0j~zX6nr1>%fJr;za0En@GHR20>2XcQt+$5!+qyM{jUbU7ydQi zPl8_y{xbM=;O~Q95B?SSy5I?aKdVrm8^FVT-U7c7JlxMM@SDKHecJ-R89dydE$~~w zOR?Nr!4Ct!4LsbhEacn{egXVDz^?{BZCb@MFR4nmP$P8N3txGr>E9{~o*x_{HE|!LJ0* z1HT@;8~Cl@-NEky=Wj>d4_*NOQSct%Pk|SL{}sF^_{-qEz~2Dx4gMZ@AMlUC`+|P~ zZr3y>+~Yg&b>RO3zAkufvCI|5dw=k5-~+&Wf)4~=2Ye9tdf@AU7lRK5-xPd(@U6gy zfM>ur03Qcl1in3ZF?cEXhTuDbZv?&*_)zeL;C4-^wC^6^o4~IE-xRzKd>D8G_-5cM z!8ZrrAAAe&gTc21KN5T^@Z-UUgP#gM0{m=n{?^+0;3@c*f~Uc+2G4-s2tE@0cJNW) ze*(8_dS$yj2tEe>!CwX62K+7X@!%hTZwvk@_;%o5fo~7~1Gs$$ zLe}>;@QLs{Zzxm4eqa)KKKNwt-r!Tf`-7K)uMa*Id?RqXrdsN;8TfSgBfw{Xj{@HT zd>il`!6$;3flmXU2|g2i7Wh2y+2Ff?&jGIh-wC`1d@lIj;QXz@eZc3#-xquV_<`W% z;D>@Q1V0+wu4$L;aw7OH@J|Qd75rTA-M}vd-yQsN@IAn<1>Y0=X7CE|JHZ!$-wR#| z{xJAr@F&2lz@G)L27d*-2K+7XTJR6Smwp{Cx1=fnN%~7W``PgTZeEKLq@C@I%4> z1b!I!gW!jQKM8&W__N?gg69vF)(idiDDd^cj|Sfe{21`fz>ftl0Y46W68Q1p)4@*w zp9Ov*xczQ=(yhZu;Jd;<8N3qw6z~S{Q^5}eKMnji@YBK10Y3x$3h*<*ZwEgM{9*93 z!Jh{|2mEdDbHP6cKM(v@@ZW=Yih>UI~6Hcmw!t;0J==4t^~79pGn!-wA#>_#eS< z1-}dYLGZi5p9TLD_#5E&fPV^pFZfU3_knlYG`qd-2k#I50Qkn>4}xdF9|E5U{xJAl z@JGO_z#j!~27e6vaPY^$&j9~3_~qbFfZqZBB>3atPl3Mz{xtZ<;C})C1^gNCf??VA ze-?ZY_;cXH!2b$98vJ?iDc~=F&jo)Gd=dEH!0W+Z0zUx!W$jMy8vJbJf71?^eEL@+|6BMsfqw^nC%CkyKcR9@&nlPp{2uU zX41!Y;L@HGq+;$-u3YMq1AkBDQXl(Hz4*qZKJ*)r-w8SUBfm5Fp~&yj4wroTCn3Kp z{Bx0?2YxZ~yS2k5pZ?9r?+*WN@OV%i`SjOOU#i_3ei8EffDc1{-*&j<(;tice()!P+dUcFtcmI1 ze*dZMxk$OJ@4CoYs(h&9{oCPEANmI%e*pZ$kv|apc;pXihf6;FbCACt{7aEP82nn~ zuip-reENSv{t)<&fNuc)6u94iN&~vbd&;F)1piazLme+}hf96vC%1CIJ!CU&2*0~> z$=?XPk8;T$+76d|`WqmBWB8jRe-rRD@;7aVOFsQc$R7rONAS(S=YsqFr?%%_%B8qD z{6^(N9p9oIF7=^*1oF3pe*at z4wroTn<0N3{E^7t8hkwRw`qqt zflo#L>~^^1(=SK<9QYOBJAv_$Pud06!bcEeF34%U#$G zm*vvG75O{EzX#mz4drG{Jci}&3jY}_cei%9ESLVf$lo3Qr{H^le~0Dn3H}?FThR`e z<CC9OgIU-16mtHCz}Ujy!L zcBnz}Hhg)bXR+;gU~(3*;XI-`#QBKV-Sbf^U!I9tS=R z%RRmwF3Y9A8}d(pUk!dDcs-VT68I`C_vCiCESLT<$Ug=CsoX}8KLLIg_;bo-yPpmIit?e3pVJPP`q2Ll`P{#C&N$IMWV`e8Fr5XDT1+_=W9oSzr2<$iE2wUdX=~ zyb<}Aw8JHz{_l`~Dg0xQe;N2G$iKWDF8TB?LjD!-uLi#o{3h_Lz#jy^8vJ$eYrsDM zr~eiBweVfF{X@3bb>Mm6*Ms-%fa}*8{pW%FcaU-LZ$QpO@EgJR1iuNq7M%XU;5WlR z8vGXUOTg)015W?(4*0X+w<7;D@Y}$@1E=3d29|qB``-?K5cnP7qrmBJ3r>Hx4tN## zoycDc{zvem!0FpPtEK*T!MA%m3%?uu5#-Q+8l1k}6Ee>E3jUvv-%CXIkf(dV2Y}Ph zfZq#$8}R$U%fadI2~L0i4!C`XT_)d;{0rbe0Dc8Hefv(LOnwl)eb-O;L*VvZs@S*h zD8+uhe%=uCzTgidzXbdd@Uh_Z=Yc;8e>d>Qz*m9OKM0)ux!{i@$F5D1_4+foUHc*Y z32^&2?%20~vljj&eETC4tNIqX?^V$m6!wm7x10I>D#%4)aM!a z_8vs|v*30v6#I5=5c@X9g+GTJ>#M^53jU_P7XCc=hv4*cJ3G-m#D4*PKKP5^n}E|F z4o=_hFD?1x^Wgst`76L*0$&YI|5Wgo;hzis3ixf{^zQ+u|0+0-J`7ze^Ws z< z*$?~!)aURH`0?PZ&$%7&i@{l+d%#(rN5E}gE&ch~4!GT~JKioIz-K)_1804@cax=r z{Sxcb2mBvspY=Q78-sJXnGX0i;H*zM_(xdop5PyY*LA@60cU+q1ZV!4;B5bkJK$G? ze}ekl(*b`3{8RX^cEH~O|0n$J-Lu<^_3s1z8T=CP&%wun)1L?a1^nH>zXV?ePX8cq z`saavg`7*kzXrb_{2TDc!RfyX{w@4Zz`q0UnxAb?`aQwvZwdZAaz=vx06rU>{z7p2 zE5Uz6&Vk_UZ)btizW|*6UEu6j4}x>MyaP`EV{rOi3bO6_6Y5_G{xkT%4tO#6FYrfn zz{h}}1Ai_!>$5BPukdR+;LE{TpZz=Fhk~;{e*pgt%e@So`S*jK?8^v!?1+6no+!eagVjHa6#wCZoxbl$Wa%Ze>o~MD^Z}$jd zJ9LF_>nk~V;6*Z%dkF6aZtEqyJ2=z|R8j3w{B3KkzHS*8#r|d|mLz!25$g13m!!CGdgZZ-Ng3 z{}6mVa6eGoG-?0A;CcAGZhi1x;6uO%fNua^1YQI_4BUQ0N~$;kd_(xt!8Zb*13nad zXYh@|7lGSn3$om$;G4o<3qB0|DDcg|PXgZ@{4DS-z%Kyb68sAAt-$XCx6eSN{*Qr= zfd3453HVFkDeyPJ)8HS1XTW{Oam$zfGZH*cfP2W(C~$t>I~tsy_l^NCLe5z5Vc_;# zW3s#n;9J9=4!#Ze9PshrJA-cvz6g9f@TK6}gRcdj0DctsMDUZqCxM>@J{kN1@G0O| zfR}>b2R;@2G4N^N&wx({e+hgB_?zH6fPV;XpV7(oO5pR}GWdDmGr@a-&jKF+J{!CU zd=B_9@SVUXfb+ON9h~P0bHI6g-x-|e1B<|U9A65~HojeK%Zuy>-3l3FG23=LXbA zZ`tmBtPWXBYbMG4$pE>rOU#ZUkZ-zg{#b=IvCsBO8#kHToxcJPm@2HBew|w@# zaq*dB-|-aR{w-c+FfKlG?7NWS>n&_WPZ$@UIriN^@%2`$qPKi!P<-atcj&|)BBDNw zi_e^d?tjGBTQG(>l#9=tZt#nO>HiuRpE*6@7sEF$ei8UO@TE@nFfKlG)`P#1$?n;> z_{=GWKNP-k@tLzJ{Eguo7oRy9_%h8N#)UCwd-$80?4FH_&z#Bd57%=!na#Mk%-IwE zmLlrIxcEHoEP=n3$?n;>_{_0mrL?hL8t>;aE;?0w_nGv`qFCEg5wjEm2l zqv7i%gnkC&;xp$&_%h(8&=aq*dBpQVUD1-^0dnPZ=6h+hidxcJPm z&m6>`3g5W+%(2e|#GeM=xcJPm_u%4Bhi_bb=Gc2=@n^s{EFbL>5% z_&dTkEBmbK#f6H!ePN zE``4kzH#xHb3Oc>;Tsp9Id{U}1-^0dne!n0UEv!SpE*y#-wnQT@tN}~{N3Rj7oRyF zz~2MDaq*e+HT*r{8yBBBKf$knZ(MxlHpO2>46j8yBBBqu?)vZ(Mxl zYzw~*zH#xHQwo1C_{PO&&W`Z+hHqSa=IjK28GPg7GiM?EHpO z!#6HIbMAwGL^3;raq*e+3jDQMJz-q@-+{ja|KN7G_-nyGfqzIlTzuwy3I9;|#>HpO z_wWycZ(Mxl{0jeY_{PO&PM5AhlJRu}eBe7-?;e9*#!B=!Z$8HbGC$k9DL*AGbauIc=*P}XU=%|C%`u@K656)KM}rh z@tLy&{FC4t7oRzE;GYcNxcJN|hkpuuQyM;xp$M_~*bkEt zEcoZaH!ePN{s8~?@QsVloJ-*U0lsnZnR6BV^Whs8pE)e*=8u;xlJM_&35gE!@m{2aq*cm1^#XDjf>Bm9pK*%-?;e9nG638_{PO&&d%`f zgl}AY=IjaokMNC)&zx%bcfmIZ&N;xlIj{6E1rErpE>8ie-OTL@tJc0{DtZTL^aH!ePNK7{`l_{PO&&OhNl1K+s#%=sGrv+#|J z&zzs(KL_8q_{_=a79`pK{}sM*@tKnc|9SYv#b-_-{1@OG7oR!n!haFIaq*cm1peRP z8yBBBL*c&!-?;e9*&P1M@QsVloD%r2z&9>Fb4J5|6~1xtnKK^#Yw(SW&zwo{{|?`{ z_{=GT|2ll*;xlJ1{5Rkm7oR!1!haLKaq*e62>x5}jf?*#crE<5+u`CfXBqr=;2Rg8 zIgRk&g>PJZ=B$SQ9(?2CGiNRQ_u(5CpE*as{{X&m@tJcR{14$97oRz&!2bt)t z9QYr>H!ePNE`t9teBFbFPE`DSYGNGv^lg|AcQ`eCGTS{%7!wi_e_< z;C~L^xcJO@1pXKBjf>BmXW)Mc-?;e9c@h3s@QsVloY&!h4d1x<%y}37H}H*%&zz6o ze+%EZ_{{kn{&(<=i_e^I;eQX`xcJQZ8U7FOjf>BmPThkf$I~C-8yBBB_PtT@e}ZpZ zeCF8qNyYyezH#xHGXVAZ1-^0dnKK0bukekF&zzy~e}ivaeCBKpKatGNU|f9W*!N^* zeUtEwi_aYU{;c>p@QsVlob6DbT=>StXU-J(o!}c6pE+glJHt0FK6B>7?*iYr_{`ZA zepmR$#b?eU_<8V+i_e@|_}$HpOQSb}l8yBBBC&BLt-?;e9IRn0ZN6aY+NzLzcixi|8Si_e^kkZBmyWy`3-?;e9c>sQY_{PO&&SUWHyLe7X z7#E*8&%hsueBBmci|6)Z(Mxld<1`e_{PO&&gbxl zz&9>FbH0VY0es`)Gv{acMevP_&zvs#4!DQ(|6=&Y#b-_d{0-q77oR!(;BN%qxcJN& z1b--e!BmP2g_=-?;e9vHKoK`)mr|xcJOTBYzlttD)?K&H!ePNZh*fHeBHpO_wc8}H!ePN?8}+5|DOimxcJPm z`@o1l9lmk#nNv{UfP08P1HN(bnbQaU4)BeO&zu49cZ6?TeC7;+Uk2Z}_{`Y^{!IAB z#b?fN__N>}7oRyJ;m?L|Tzuwi4Sx=Nt4)|5@jf>Bmd*D~YH!ePN9)e#3-?;e9 z`7``l_{PO&&U5gWz&9>Fb6$eK6uxosne#gQI{3!LXU@Cu_kwR+eCB)te{cB4#b?gf z@Rz|iETo2#4_{{0j!vXgYzX85+@tIQqe+7Kw;xnfY{C(gX z7oRx;;5WiIE_;xcJN&2EQ4;aq*c`0)HiZBm@$mPBZ(Mxl zOoG1}zH#xHGaddK_{PO&&Mf%*!8a~GbIRfG58t@>%&CBX0DR-(Gp7pvk?@U+&zyd) zEDuqSf!=K^Fiu+K>51o_j>L$)U$ z#jYUp=MuWt6QZ&evB^E!)cwtK|Np!5r`){%s{UL1rDXra^_TI{$^AbetN2%sZ4hc| z<7A+t;z?cQVdHa_d)?mh_w!ck@5%^@mp{X?_Ll#>E`O2Cc4YQFc<9_T&chO({5baSF%e72#rbCHcc96gBT=lSKKW@8e#^>;Iu+VwME0 z%`nZU0l~rn^nN!t(5S*zdxtQ3mumuB()zA?D3RI{$>VVa7r3N$!DQ z^|$5An2x%bpWy<%s9>WaUu^jkFTb~&(%$^N{vJ$Qe+!7`UsdN0)QvU6tA;l$-fKir zQEK#<)Togo$BfDp6_pgpBm7O3l#CuZvZ!cOYUF75atWJ|V0 z_ivT=gx7BM6BGQ)35m_z+1JG0!w>KB?wO8!u-5&H@1kVs#N;9FRk_=#_wVZdUAAl2 z#F<^(_p^@Zl1NTH)6IVB;hhsZmG*Zlyu_{b#NHde+23vazMVQHt~zo)&Ycq-mUX$V!rk5ft?qLs<^T8ie=X2n3zV)C z_EB#1`{AK)@!P67N!QzTJm+jNV7z;slk|IxoE#ZEiJTnQ!ChFV&UNnm)^$gRW)G~E zr|?52IpH49VM^UV*@@=l`FR5RaF8JXI(LBoP2cdkq@V0)!|U<=8e3k^UFUH3y7S7h ziB5yom-=+M-8>JFt2k}o_x;OZFQn^b(d$w>$WD*xyHZD>9%j8bFF{bsoT;-=OzASmqhp9J54^F z$q#Gg8@6jFsY;i=UE~NHj-LK+(*MozXCVodio4v~uH@BR|F=`C88++kZo4y3>YCqW z9d}6ZbBB)&QvP+?|IPTnBU{bTx64SIA>99b6es81(dA*A98z^ve3I7EzwYe+hL3W( z`qz2>Z@4*ocmF!y{|z7C^zg3>{okJcZ!iBh+_XJ>WYgD^e&N7X(CwnUA6;GKOe)ds z;yiz4V<=qW3!OsYQeVgmGxh3rMc#PVHNvDT^ZwyyZf;nS=ysJa=uB6KnSyqWFBF6> z)qTBU>3hC=bzi@@rK@${s93sMj@$psQ=Wec)|QxKc=45Pa_DCHJNLTI>XN@pcYpg= zzr_4qeW6oWO8#!SM>x&TGa$dF*San`XtkVYNth>0S?UXUp-|@w1);E)FZ2q9y?vpd zE@xTpAKh}$ar3__oaYwiTfM`rtuz0SyP;EkUW0p~qoAiWM(E)A?osDiz7<=(`sX?@|f z?ar(-H02%@&9GnLx9!g0SErpps6mJ2%AJn5uD(`*;_VEr!Xxy z*+berFO)hZdrPAhgi_~ZUum&kq0}YWUz(#|D0NNtlNBBihE+jcGWT{@#3(K(P8L?W zDzt6B(D`)6O_RB!oaL*XSFm}q*V!%A-XhsUb^}`NEt7t2JL!B|C3EYY*?qnnXt%i+ zx*PF1#}&*?_FC@Vq=c%@OZN6RK@X+*$=)&ob@j`Wy=6%0>Mu-om#+-!>hGHDC!=R@ zm~XexqD7&!N3yr9-0q=Nk?bM++C`yM8CGI-C{-nU%dT;4DAk0uI4qQwgwj#EPD_)y zvMPQZN($c2>9vkKV-My#Ir;UnO9`cSb3$8$(tA1G_jA*99o`SqbfbL`O1jZL45a~K zzJG+0uHQ$YR1~It97;n&>64spa{L*l_55c}?tZRy{f8tc<@CtU`>U&`?~*+VddNXj z3q5=x8KxBW5GyAXdiHq76}p5%uO6~$-9n*nudm#c0{;nlk9GUxx+^tqNQTmY?iH>f zSLB4!K;HywwKS-EUuPbsrNMsMQCeExmyXLxbeHAGg0-{wvMkP*-E`?QvP3IO`%A9* zvThq?%h=x)p4&w(cI&9Kd)_J0{eIUr)fSM{USBvMnRlXtzO4%fCJW>QQA>kDsgtSe zC-eT;q7G@LZqQ2YRJdU>?{6*YMyiIK0fn0+^R{-?4~yKiRn9QY3DY(UrO>$wHxH#S zKnk}ArO?$1w+y9zVG+9*j!5SH*0P9_WM5ftU0^ENS5{a<)5&#Yoirws>?hR@J+^RU z2;DMNW>m63PPa=!X>^!2A(Y01(v(md8%ondXc_!oZ{XDx&2{KOGACMG&PjMKB#b7 zC~0d<4<&8l8KIG%S>6hmyA9oaDOF z6UK&VJ0%CoN}m==b3^HjP@0!qS33V$p)^0)U(RjL3#A3g{&KQ%K`50c2gwP^bM}~#EEp(icql^qOa>%4AN&8rhV`}dXM+shwqdJfn?-pyVRjzm2N_LujQ*Jx?IZW4F5mInLM zYg$^r+Y4^m&srMN{bN@u2*;(K8+6NYJ*StJihOB+mWuQGxM@XN+AvQJF2l66QLiUm zEjQQF&^*}(ZK0)&eQ8T~Ec?5ovh2_nb_5eDbpUnk^phjdOJMSdV(Ia`@F>a2* zM!%NU5B|~){KuTXzWMU23`3H;W|wGlS9LIV7uP3R<}T=H?mau0d%Bx@16g)*QI4$5 z)~;NXt^EMm-4*-kyLONe)@^nNQ}f;GZ|LWrJycp!9vcbdBe^i=TesYy!dg~kXjqlx zlp)F8vaK;BxqGr?NOBL7J+lQDu(2hVgn*pY4s0SYIn7rxxrJN&rXI}j>s+LlBqX;h zXn%vA>Soxiu5q74a=XE1gq7NEQ$O}x*ycWP!aCy0qoo?-Lp5^0O77&)?1=ce=T5BDZks{B82b<h@86levZY`C)R>arbFi)*kDO?#bkgzA`1h*v&Y?k%CTcp6&AU-GZ|7^%&-sKiExm zAE;$3A^|;H>7B>rOIRgbz5fC=>GKN*SFl&R@r6gj1CW!7Lv*h8i_U9eqfF})~z=@x&1&}%}oc+=-WHl zr|X0PXHFU@D>wM)L)_V0^7KgqQ?9hWE4gi_r6I?-X*mNuWi~Ij(7h~ zIBdAvxS^HXte5*qxNP5$C2!7_5wOK@SCv+6v8AlZ_<{9>mg>hv>p#g>H>vj1lCAFJ z>`|x0SIJ$^Z#`$*Qaf4y-5K4Uq4h&%-0i=y#Q)}u=ecx$Kn$Ptv|iT#EB&vxfc(N` zZbE)rE1CSs?WU6M;TG!tPmXA8XlNcWe6O1Nz3b|mM(o?rxOdZv%Bq?XRjX2COIBB` z8acdVcu9r3q^hQ}sitD_%DQFMBWfFKY8smxnw(VET(kFx>c+ZNHH{-y)s3iHTDM|^ zzuIc_$PrDARf&Hqe`!Ng^H$9b4a=HFEUBupysc`M)o!(V?C1&?t&7-dW&Pgu4g1#1 zq!D%XRm)aZ*Nj+R>1yGw4g3FL(M@Zb{=LP6+ZmtC=WWqn0e?GjgZpRc;|%E}dWuHf9Nx>}UnBzIAxPLcWC!m=e<{fbp})in)m zSQfas+}jyf4oj|XT;*PerMgvcJxwYf%Kn-PUy!>WbPM}DH_~#qOLor5O}Y=qlDRqZ zw{x;f?t%VAPHt`ht;=1qo}bM*ZrHXCebnV>YI~Fa;wN_s>0NRU@Go+5y9D4rfRy=L zmkV;k3^`f>t+d=X$XB|jrtG6B|FZ0yHkE$GH9?1K^!mSEqj&!Gs%EK$uf*i3(<*v-~t(xO5 z*j-uQRJWwQrrNKkvuDnpQd%)-!TkA&3RhYswkT=tJKdqf5uF=#ubywCeGT?ExE3#V$I4`6-_nuO%06+H}5=m zz3|GWMB|dh?$V=W4UHAc{TfJPmQ>U$wC4q39_h>h-F zwp)73w9@$%W%DLi%$dH6n_+4~I!S{p&-EC$VpHX^Er(&a zII+02zH+gvnQQ>r9nG6RasGmNZnR6U@f7=>NxsKSm2NuU@3>slLO-%vugnx_Be(O@ zY!@ANqu8Q;PveJz>#k*G6>}%fFHM9|x_sqo-zQv`b~~1(?!2kd@1@+hm!q+3lt#av zZl^VI{`|SFu2Ok!pz4N|vQB;%;>YLck#pR46z03VbE0CBI}1&;T9ZlBY-F@-Y1u6; zC=U(l_YpH@%`cr>HgR(4lte{^442U(-Ee8OcbGSSUd7DPnZ7n*eM2vHm1EcTJ7%}f zTwb}t9b&3vm+4378tGS6&5g_4w=3K^c(v3e8`I8?#P6s5QO)hN7Oz=R+0;}~+qgWj z)E`3J+$}qp)~h>rnnb(alHCLQ{ZV#dr7Z`b<%?HJsN1*69?5r6ca@mi67HPIA5B-d zHwsemCfDMts+%fSRJ#3a)zZqw#J+MINcqERLSD*-SnN9Uz7*;vafSL5L1&r9S;Gk?J>IrPqwBf0dca8lD0?YAr3rkpp+jer@u zmbzh3U9)PU`$CK?q{5xlxOhKqY_e>y5osu z%J!(Ot8H+{Ab+xBXA*wP$q}|BR8?N4WV>YdO6lxg$!$nC5bE5Cf}T^zk;?6?q`QPO zFlV$J<$Tj+H>B*!U2w|=a3>MvexqAk*+k!mq`Q|+oLja_ODExxx2$y9#L0dVN2)*7 zkdB`1MlLfuO#DceZnmVcuDYTrd@D*CUk<$5FfDuY?6Ds^JlFf?%bD2Bn&p$$xN`^T z4SLYB-M-6eIWyI9r`4(Vdz#i2Zne&HU5BfwpH#V~rg3UR<8pWWtnj-;YuXhRE9zFb zgNZvSb`_cI-elL5$=mEO*p|7yksDJowwo)LEU9U%SmjSVwSKas(sJ7a%b-}XvU!U8 z3fg@4ek`#p?A=z?$qAL;ZHyji{nEvS)1;P7=e8UgU-p`E9M!ee4=UW6%&V%b_v20~ z=ti*YQYuP(b*+?2NY4)|*wXYnEpXl4pAdutOmp)xx90T~wJYnZDqLOVErK30{;f|K z;FrBEz?8J3U?rE&hCpASGqR` zZu7`Vx$ge`-q+1Gv8vg9eluOB+VENI4t>~H$jEocw5j&apjF2S?;R@K8^OX+qi1<$hzf~wbfNZ7T0aNY{lr2)$VoG za(A>_w(ato>dN{x{|P%@+LEHJ+<&vv;eYqh!?sK6SGxLbg_pIm*_-Pc>bGig@2=c) zQ_)tn^4&?6>l?O`v)JakdNooQYTl}HSzTq5ysccZbdB40)huaBG%amtZ1(TG zWZ$Q63w7(c1I1)Fgj$_!Oq(m4zSXIgD~Fwm?ocXf7gx!_t?edak7;>(fdid;v(r>j z6VB*lkjQS?f8CPj!0zyuNxS!Mjm^G``B#4UW%tp3&sXK%T{XMCk9=@dUzI(1b)BpA zDuv^zKOw4Ws*~l0aVBqM{Apyh?AQHSgdC6-ySHaLw)a`Qveq4r=B=rp>~=zKeX~`_ zWDgULhZPU+9^3$zbBUJWJ!!#=viYtv>nM@qdUOKe_JeMf{adtI?(MFeNlOLXyK@&E z-Yw4`UE=l~uISJ9JS%MzGuQ2e{Q3K=nkC`2FW5%Q

9L?DK9%e_)Jbv3*ZRHJaR?FkJogGaOv!exHpE|8pQOmNAp~cAt0p{g|&k{^mYTc^{saQO{-esa<~Ip{Ms%9QyPPZQ@r5KwUn|q zH-7c4;u%yn^mKAn)erdb4|?Qc?Fm&?RVV!7iMb~K!h*!tHmov`-3AD%o7TpJ97GKpWQZ%9=zTW{GBxKUQD_fGw5p^Gr#f3 z{%JSecq7?fJAKgjnG63mV(<*IPrvAlg6IDEIPy3BC;O}UQ4bEAb>xqK`N94V_aCH!?F}pJg7YDJE%6IEu#S1gakF*IHwHFZ#{%QnWE~5QV?+_);>YBsJ(aJ3j$HC*Qy*R)7KdZ|pT)i`EE`pus;KZva`u9*tYK2d?%) zuIBXAv1tymj_6M~MfqIgi{{7P?E5+5HXja@evuBr@s@Gem+Zw38VB7(pl$rc{j96px{9o8taTk? zUE{2)I8w@)IKjFOwXSOG>Tg{&)>UdlpKDzMtd-NPYoI+gFDT|xXe5J&&Z3=M+jYeb zi$s4+MP_d1M_%$D%;KC2A~*BTY=a4I&be$eV{xfy#G;$Rtk1e3a7I~$ByEOg{SkTx=?n6@U z)wFE%mC}^Ep@H0kQ|_iFat}|sXD%c6-lRQq13B`CROkz+rAPjlJU)OLMC7%k)5>2f zN}A)2A@Zl>@d4a7ME*3?9k=?|lgHsc)EytdO)TNm}k$ov&!>ErWcQQFPfd61+XAl{aQ|!_?j0$Z`PKk3`-N9r;PR}vv zG7&i3{G~ttPBAH_JLy9sXXSi_z9H`TW5kn=Uy~#0<0W#`7#~Y=F7WuDh%Yt#3&e*; z&d#A>J89x=)m|P=L9Q|W&d#uRchBu5L*mG0>qtv2JJM2H(UCvFHhu-qiIuC$^S)eZMI&X z%)KUCFTc$FX|`T|mCF;ttkUvy?x(2jWaZ_V+_SUw^6T8Iv-R?9?xWdyc`o;@Y`yHx z9ZQc&WtIHj4~BKHk4HHs&4>&m&ajhw~vvahFRKQ#CHdUCpO6wS-NUc@u8 z$dX_*n~4k??E2`GRkr&M4FGluIBblYy1{*1JEU;WbMBJaG_@Lb&KMl#m>iLc359(` zGA08kUPqXiuy_C`plpDPiJ1vqP|SSgiXgHmIhC-Jt;I=qa*#TavySFCC2v;byUP@p z1aD1wt70gPmLtC`MxRL8_}`QH5!Zkp&5UDOm~>ny1+>y3863aaiYGCv zd1Q=K(0FZ*hlMny^wYGipeG@XB^?{3c}_+^UrPqWhr`0DDSfDi;ar1oE)5Ci(quUO zE(pFF44X76zl{EIRmsf6>eA6vFME=-Jkn`NyF3}Bmb9sZ*7Y!)6$s~RAxT3PhNk4$ z(tSM);g|1|k`FGV;|BBd%{|GnDWv=GIW}#;_8x}w9fT8>V_wP7;jkKT{D5-m1A3C4 zKBVLHe7JC?4_M#BaN0joI42A^*u!w1`$*x;7;qLX*6B&Uoj^J*-`=lApH%ut4@0;W zA%t~1sqR2)n=?ztQm5RLl=LN?R--?-<(xX`3i3aOJM5#mE{^5SI<2E_f&H)QZJ*Dp z=x|s~o>ltl2iSiM_CH(=KKbzZG^)K{{KwGo4=8Dhf5D|e<@@!?rwqLJ1H!o);e?g< z2baUAhs5c^#rvh>FR&k04)okOkC&k(Fn4h42Uz|z9oK3QEaS{Mtb|WH?1>Ms|2^2x zpOiTOd-myYnElfa8#nm~NhHqvm|da{vhZQ(PP^K3AYkW}!c5<6d^ zqah=D<6#GU`=+IZ2l8xB0|^PG>98d5@Wb5r_) zyrN{dg(LbV_xtuOs;Y1A3iyAYGqQQB;OM}-Q*dD5-YCe<7{6{}8k%(HJ9^z%GdlfOa&$+r+PpvsUkPmd4>{n8W!ipXSP%H$#NU_xdK#gWJ< zB^=nHBPhZXiS&P;*C3Y2*C3V>z#9|odl3i7_aY7?kfu1SF!H&>IK)9XV&alR-R9sl zKqJ5qdZ!}2$C2NuIP?m7y<*Owt7}L%3}IN0q&wW{*zEAsix`iv{F^m{6DEyihm$RS zujAsvGYiisWc7%=AYoqUIFgUer>Lcl9qD%~S0vy93(;S4|)O^!2l8lW*W+bhTpAc~wdGz2i6Zr{#l&EF;ic?CgrouN& z4b+b`HBP*$vdEdHhXFp^+bbi%V%N~!HuN2rVQ;ex@f-fy%MhUp%xxpV=iRQ`MuK{` z>$YtE^WSkUxBV!>o`vf|a@$C-#O=CmBxrQIZp*P<5)#`Czu`h>#%&|X7qU1)Ptsq# z?V_X$JJFys41OeKPs5gR346h5BsjZgvM=;RRvcUutO@Luipo*LLf)C$Un-7_WE4ti zx@HpD2~mZornV>1%%iUvg~W~Ug(3JO1QZE+6rUc-{u`sctS8yn!)S-dLQpig=;Dl; z@R72^X`*!zbaW+i(cy<;W&aNplYua#Z(`s|a~}8qFNMq> zTNl@!AUV~YDIYWZQ~CcGlF=6Nlx_|PRVI~qi@Q|6R z(D5&<6f(vWX^ZN^#4-EFhu4RUJeR(ESaumP3$bHva`~KWXE6Ub@1ssh%=IPXY$Y45 zG#GOAJmm6sh${Tjxin8F@YRw@cQjbNU9t=}iFRc`2}rbCvJ5wg_GCZ_I8O3Cc2Yx^ zvsd$X@!tPOqMbbv?e2+aS5HJc-#oYwV3bg(DEZS0AqO+69q z?TKh#Pegb3M6@>NgOW$ZvaTnh^*s@7{6JCfw)4#4NV(YB$J|;7xm`gA=;lJmfnGBd zc3ShX8vpQDi$B(=eynNEp;xWRnjV&#FkPm}UL@k8DcrNKLF zBAPLki3NX+(uKQ>Y?KiR%hr&~+~Km?o>=R}nvz*7`UDqogU`uGCk|v@KUaN(-0%%c zby%It2`V!p5DmVPd8_=wuj5HP5K}(qC>sD;F}#LaIWBEh)(hE~7_JdtfOf2bW7@(%pv^8_XU4Va;dU z&6DOoO59tdG3o9@_tUP+{jhQWz^wTwasOD2e_+P+H5qec`WO7;A43uYOL_CD@<=eS z#E|1H8E;5NXymovLwapB*~yvuffG~~ee(Mx2R_MxPjcXs9QY&$KFNVkav=D_aeNv6 zWx7ZkiTtgoAN`H+MP&LPnaCflpV(EmVq!;U`#H6BE$!VC&#!A+(caZEv9qUR>_O6KpyBp7)*j?9k?!>y44K3uOvwq@& z1@mf8Y+c^o+0xy-qPDW4va%vkSsi2dCc}CneF!wsYIs&u`;H6Iw>QT)&R2&%q!XVE6$d- zuI{?l)?{ARx35^y-bUYEwjW#KinO9}1u5F=C(vuMf}pmcv8irlYj;JWragL!&{(hSTDh!gWt%BKoNs+ukG4q9a62_uFFL69#F?pe; zlWu+(oA*5B=Gb6zNf(P=$f4xsqkW47a>{mj{szPlv;Ka*=as;0DqNFoCU;snWXiHp(Gg~kbF3CDhIpnIj&BFRBTZ^*JWX208_*f>M@wr27(5RS+F$yt>fIR!cUv zIJ08W0me&#ND0|$Mle*h2bo>YQ3F4qzWH%1vVOTnnzAOl%d?52Z>u0W*m(79HDzOq z(mMfZ$vY%7y^SW3Ml;mxa(WH?fb?3sHg1KPb{kT5hb8SA*dx0`*iT-F-TIW>!;^Lm z?2%oQ#xT3fQg(+Y?Hbr4yC#iccI#4hk4V}z@B{4nb)Yb6{3d%is!yhovxYyWne0k? z)P77);n&Txjfo!GqH?GHEg2tIzrTQVmc^o@lIdL1gSc6HWmf6BnDMb_Ued}L;a1Se zp!a7p9~^RqpOWb4WH@K_Fr0X_Jn3g~5B(HH$0YsqG(E-9u}MFRdKk_j(N87)e6ELn z`bEbj{VeqTP@eX)_VUW2=R-sNkSW%*u{#ny(jJbQOcckC!ZDLs;ux|&YBEI}I~x8> z;>9r(LDVEt979$|O=83`WNCB(+ZM-6)=`qtq+Ht?jq$fnkdqsAu)=qYW(T|-;q4#l z?GN$xeV%Lh#T=cy0cPJcsXU{Jp=0gmc{UzgH2S%z1{I5q_Q0^%4rKpM;fH7rz=w(X zhX@h*VxwK`hg51EHgRei`e52)OCxWri{~(;s4wDI0(Tz>OE9}S1jqZqP4-M&97bP4 zz4I4MF1zD-#m=A$(Tz8K;I+WU-=@qIvQyf8vpJro8sw*cI6DwXk++Y0vC~$QV=gA1 zZ=*M}-@Fm&@v*@k?P>E4_pF;JpyHUafpM#`iTRYL_tSEiHEK(&zb8to{8ZV{JxBlD zN_#kX_=8$MdK0)Q4{v7k;773bXoj_a%gP${cEvFlrvlWmKFGU%cK(?hHCdVr&&;3m zs9IUl*R{#GBgq<>H4}6828gq_yyR)ED=Wm? z_(Q^6E~n}Ta`_|olD1{q4q>o$*z)UHFH0kZEyXNihRzK2$LkF~a126;*l1e+h$iZ- zG3FgW_NC=g$f#wzOxt6ng<&fu22C4Anys`W80juFwZ$KoOpoW_@iq#Hn&G$+ZS6m7my(e|H*JQJ+*zWA4==hZH=O?*2ciK`MhMW zPQ-8dqKAuE!(n~SgQ-4;uXUL^?Lx68VVTbJ{%nrY#jI;ge2Bd6$hD6A$&u?EdCie; zI`T(Hu6N{BM{aQB4~}ebWUnJPI`UtR+~mkBj@<0X%Z_~8k>5LVizB~tX{oNA7au z8ArA_@)QUc^}hmAwfmL9Vb$ZMRQ0gU0Dry8=2yHljj<16yAcYtof|1C*qG>{rpb8oiwAf_jrlfx9Kn=7}8|>Z&QZ!i8yn1 zWkjAF-MYPqZ2e*kF``V40m2^e2Z*%6OAJeKo24$#GU8%K$+W@O%pOqwX2OsCkTVhM z+nl?)5GqaVGjqy6!Sy3=Pkd|+`X|R$W5)|W)_KN*3(faoQ*N`za+{xNzD6 zhtuNb*vMoXL;pndNH4`BynSEe*SJDYV@uSwO{=lh*ymPnIU->_^sJ<950~tz@a>9O63R#xbt=Zl4=u4(3txVtC`QHrP5Hu@1JLbkL;seR|HkF{BN>U}g@Wfc$*3 zb;~w6%WWZ=&H@oY^R^nq`Ke0*={-!ccTLNIw99pV|5@&(&cAT$ zYy45i&jCNxR%4^0X+C1k*d~_I%S=Vpoq`<6PtA<%`PfvKsZKE(Ew>zbIUYVw!1U>O zxXYk(7aT`}JAW0{KmM9RhQ%^mJaRsvq#FmeYp6g-Bj7#^=hH>@qAVyCrOi+}nX;AM z`gR-v+e0>Y+$kcJs_PHP$ zg@-?$Cc8e8!_RkZhbO({NDX@V(GFvohv)ogvDxQ-nnd;hk44TD_tV0+wM6yMR1h@e z0zCcF2X1Od_U!H`gnTr%L$GyRx(~teguSPb=hAx!9>bw+-%hdI;wZWkC*N#q*my>~rs*hf=cKs7()Ob2JScsxXG8VEmgfoiRA!N=y@q7&2}h##%2FO5akZ4D2(~vK z?ef&M`C+J8uGP8Om21s;$@4?XMcdBkkf~d4+@Try*KMNuMEBeLqAB@b?cS$cfXP!5 zD^1>Ipa(*1O-)YY&CJ(T(6l=lqqu^)Hd^M@R*Wf#mhGkcMBlT9llLCo_342a)skt< z7&%=5r;VU#GgS2ZwqQ~GHaLHDNNXTzD%U-xnx)GJBDVe~GlZ)IQBwIA#kNoMT3gWWE<95CCtJ*EfK>v3P>kJrA2;}}I5T8$0N47sRH>bVr3|A{jX5fX*TVZLTk#ja-8EE5n^X=`($cnnv`X71Z6eGqSid&bcHgGV?)!RQW8-EuHV*bqTUshjA;<7YhV_we1~RV2 zQJhVr`7j5P^^#TSM7-prwPDne)yAxUu?S(?7#@l_Lb6&UuUHkJLv-U&e$-xjB&E$f zYQZQ=*V2$4QkVn4u1BS3i>$|_1?nA5r;Ac8NL??oLjPuy?e@wMIDC{@i*UKgSRDE1 z!a+Sw#v`5@_iUekWHMh}-*3ZD&bi2v?J1lMmj{`OWRLGcPdyq@h8!K3%1PT7R=V&9 zp#>d|Z8f&;DnKPtItV#=INSr^u7=x9XEWnaD9ga5DEWA09;FG1Md)6BrRM_s!EoeK zz!l9u6LtHi5O?GCbZ_71+zUDlMa!0f|JZ>I%S~I8F&`EkW-57c)K+$?m@61WOAJol zi77|!l)`iz>2n-z9PNV#+vAvGl2sEUcQ}TpxJ&Rz_DBqD{ZP8@!7T0r=)#+=Y20a$ z!?qhfpUy#@hsqw{X+iQ@o$-R0a!=uM$cREXkI+uT*W%p1uQ!@lbg9iYPsANuGGy+5 zoNpc?X(}|u_~0HSb)}LVt}n_~VYD)B5%GK2Mu7rJW!5Y|a#k+RIl3(YNiK zgX;HDCcBfJjBQ*8>|ttq_8xCuANxoyvLU&$;!xzI8{fSr1Z_xeVwju+i;Ebx0h-at zWwt3_*!2fGKeK#|8N$%)ti~Gkxjh-P-1lp;%~cJ1&Sgu$)E^fkYsnrMjE0r$8IE$Q z0f;jlx!Fz?{Cl|1TJOn=IdocS8zSYgJw*O~Ze!@?r*zU`=ag}D2&8r0rd9eq*TYFO zc84l0?%uf&%v8a3dKkN{)}N&KC#yd9^V4!02h>CV3=J{ynnNu5eJdF3B16f&!`8Bb z=nXbi$y1uaNN+LH@A}2Or0-H>8rq>tR5Cx3K9UuW^6nl~db?Z+VN`e#ve8IR31%XY z!PvT5PEqfnk}n8RFJ?PtzV4Uo(zq<#z?F8smNwyMFRpv@FDUrjlqxdHa<87d8l>Jh zN?sFnmwA&9?Yh*a#cmu&$mN(nJv9fAPe*yNR=81^8e#Tqj7M4Hwxakk#yv1wt!#Sj zelqq{-j<}r7X76?;>Sdbxj%&XsnGJ#VD7>#S{SZ|Q2Rt#5B^YWkR#lP+7?(%N9w2nQ?Mx>}aEH8zyd%Fuu!R@+^- zthF(iODlEjI%iST7IfEjH`=(>HPUkA?uOd#=FSFMK-y7N88kH3*Ihu#YisPRrS;1V z!OW9tn_61C8#{x!wB&f!Nwu6R>%FVv+}gV3^|dSNR@W}CYiUc-#`9|1mesX21a*z| zwX5nn6SZ9{+S|LElUdTz*3wso79tZWU=Z){oK+}+qvyS%fmp{22{ySAgb#g&lBiH=qC+B>^X zv-P&Fp{}F5wv!9qmSV81vAd27E~u|-t8Z+jpjNsX%SGB<*SWm0ySBCc{Gh3`Zbc)N z)tbg&CKqMU)ZW>+yp!||L04CYsSi|(c)hVL-uhM(As2aD18SGiN@I$C{kg8yaHBb& zzbm?o7N9rQwbd@P-qUMT`}tH66RDcTN4Yw1`>JoQ>tt*7wRNi+JL{IC9(g&pvV#`m zH`aPFHo4BV(pKu))<&<|ij;F6RiMh6)=e3Eo>!dQ!jcu-1{Iv&($+wk*4fxa*~e){ zPBqnaQWd5gt6S00N-L{vVNklyt!?b0Hjr$STqCIYn4qXPAu}$FO4o>NSHlIrvMVqJ z(^cQucs|vJl^r&^4UMgJ7u1@txUXvIZlQV;mSPIYv|Lj?8`@WLSJ6e4%~Y6xT2p(c zDfLQJ!VXg&wkob%5!BYMq)edCxz=_EGwW6@PXu+X9nE!AU?-pcxw4ZIiLyk+gvtpO zW#d=Wb=Ef@-??h?BuZ;jLp_saEyuTZOrF$0`}Hf@DbB~QXl$r!yP!AJGPLDo}Aby03o zMVQHdW(B5I&*mYhtFC(`x9A2wu-F=GUv`e&as3L~aWnN6scM9(+FIAuU3)>0DnV+D zwe2*lDSegKI*dIU9y)A!r^2NAbY4?keK%DbGYryO4ygT^){q*ROuOakQi*J!=4b{4 zzlL%}vxgg&qdTIyZbmla-!^2gH?SF>*2SjmEvK=^Hci`;iQxD!x8xNqZPX*wog1Jj zptqn=a%D#ch8)(_HJr1OGSB2daPmnf9a~nuh^qO7stFb2S5sSS8iR^Y^9TOL>Hk0I z7YQO4M*8IhrG{qy$#^j>BsE2ABQ@VFI{nKz>vAuTU6Vim+Jfui*B9T=|HgrvhHNOE zbLX&oheyxOD|mS3&YH(+o~n7e=9!vb*F0PET+Qy9-_-1_`9sYcHAO*9p%$+B+H+=f zf|{b@nH*-ce`IIP!(;-#``nJ$))eiEw5`j%w&0sZU(Vr(+E{KVy>Z}8gT6In)9^dX z?j8AqQTL7hVfogvKN`1f!u=J|cVY!>J2TqP*Ze<3{jW7|*6go2Q1e#J!J4-z7IO-t zS49gRt_e%5?yIISIFY_Z9+=mh1QC9pX>M_z>5?itDr#5opE~~2#D5z2Pd)t+NlbIn z+coID8h`mm8iXUt@7@UcMfueoA-^cU#Utbw+$kT>P`;GZZ^D zg0nM9A7_w18}9!;E@R~4Ss)VNxNOHC#JM^6Kc_#|hqUkbG=>H!J)W zh2N&|I~2ZI;amQX^Lv%}Z_ScFpy(gUl0Ty8v*nK~cAn@Z{;Xo>d4<2A@RzgXuPFLg zdx^iH*g2r^g9?{ZBi9dWJXcJmoIbyocwDhFP~k%qK1|`GvgD%`{n%dOm5QCo3a?i9 zj4XMLqMzMM{B*_6e1$Jm_>wI7Qbpg;OT0<3)2;B;3SXn}OS0sbDf%mViC?MMxk=%- zD14*BH)YB1QuOl6QLbOgmfx$`->&dS6~05^PiD!VQuNRE5|>{~bNTj)V*gczzozgv zv*ZUA{ky%y-&5?wbJ7P$mk-4X@2~J7S@L0uzO0vcxngIW!Y3$va+bVW(NF6oK2xzX zN8zU`e14XEk)qF*FH!6?Df}FTw<^3lOTJpsYkZBOzf$4yQ+uv`U8Cr4QuxgZ->C3S z3cpL?TNJ)k;oB7cpu!(j_)djCuJET6{*1zRD}0Z_`Gwm4&z09J3V&VU`xO4B!rxW6 zyd>-5Ly!KY{T!!fPttyl)8htdKga1Yv$UV%^ssB%&vAP5UE0s_;R+wE@UaS?pzz5G zpQiBX3ZJd;ISQYv@I?w=rtl_(pYsW)`Vy$pX7t7K2qVM6kgs-e4JvZqL=t|#ZHaF=VZy}D*E|Z@`Z|iiNcrm z67Nv#bSr#SmVC9Mzfj>9DSWNMFID(DgW`UU zsMufoe}rGE#8czz6uri;Q1qL7iEmNt+$T8qQPGf3{M!C1-|xcA{(l!2mmBeXU4F)s zi7r0j&jIEK;m-m7&+#E5M_v5OvgGB8K3gsy-gWWOc(oF4wtTu`N8{noH|7WP6+0R~ zOVMY`mnwEN-mK`upNGs3G#>suWPY$(v42sPe66CtRN+@-$*)oL8ox==XUoH%Z_E!i zD)u!V{(NJ8pz*sD`{B<$<_GsF`fPdlbA$Q8BZ~c3}b1%bxH*Mk%U8oxz}kH$ACdX3+!=r#VJqSyEiMX&Mj zc}qc{@#hu$8h=^QYkZ%g*Z8}NUgP28Y=JWV76jqrozBD81r!9~<70s`P89@lT>vLD zYE}!UC)oC@@pMS8Pq@vJ-p+>#k<-q;#w!*5B!y2_c=-4d52h*l843>{cjCdRiavbY zi3b{=uh`M}S&ClcOB8*R!p~87o5DMKiFYe@E>w8<^@@0KiK73w`8p-sY~B!`Mup$5@H-T~xtDnO^^JJ2MX`Uc!ngJk-=^4kFiRdjPlyNE@|{Y!k1PBsg};y` z-=pZm=Ns{0ucCiV;o@gRJ@6c57JQD)D>uLHz`@bi70my7dpH|}eEj-uE25=F1^vlV@l!rOX@hp#J) z2O3|cgsbuJ^@j0ay<#U@evM)$eEncNxLwh2R`?c$Z_SeLRP@jG5)WTz7Y|-k>}!0F zqW_)3_bU7~g}<)w0}2mcuNM#AQS{;K@90gEIq4m%YwxjM;`xf5c$U0K(TA@Gj0eLM z{cwek%#x2*^cpW$^y9MRO^Uu*;o0GgX)_(S0mV-E`nY)To}v$59~Tek;|pm&*WZS(gQIz7mimE;K3iU{*qPi*oIYNW z_H+3VzHTlaXnclZr$*uQX7IG13-?rohp)ej2MZPbSqeW};SCCJ?j;_+jwv35uVd2r z8YMoLDf|kBU#al*y~M9q>}Y(0q7PqJ6%RHl`r8#AzOIV;e?@<{!tYi1R)ud<_=5`H z-b?%u#ZLHoE4tpI=$}&fvkHGv;jbwC)hzkzivA6SzoYP++_df|dH*7O{Zu?CQ1nF# z4_|LZ*B=!95QT@Yw~7bh>#gF!XvNN0g-=lUWQB*Xhl&T`>!ISoY{ky03O`-p;p?H| z!6HR}R+jv1MZfHSh&L!IR7__`;$zNgr^O5y7jevQI!Qur+jzfIwH zWXZQE`g;|=RpAe0$sbho+q2}4D*BxYe^TMQ6#kULpI7*c3g4sf*A#wG;qPY2<-#*J z-sQ%^&)4#Mi5Dn#in8RTieBSG6#X!Tk5c%!EcpaQKS|-o_7b0_*qMV+ zK3U<%Dtwy4XDEE8!cSHB=?b6UOMIbXXK|K%iK1Vs@aA6P=O}jC6yBlmRSI9D@Cy~b zR^gXs$uCp%>lA*a!q+SO8iik{@S7FBQQ@~K{0@b0Qut{1%1ZrtmuyzFFa0 zvgG$E`fXYAor+%L&nWsA6uu`*zE{y}{53_tPvHj@E?+rfWwc(b!0%O4>&^2OUYsQ_ zRrJ~NA&Q+!g-`A!K25PRUEwnnK2zbd6@IG1PgnRng)i(SzF4udMBz&n-lXtzvgECb zz9UQCspz{EzFOgH6n>GyFH!hq3csS4_?3#C^;z=k6}`qcDEgZeew)JY>LtEKv9m2p z{*a>A_@jz`N0$6?MgOG2cPacSg+HV4-3os};d`>=zf<%tXUShv^sg&?cwzWBI4Vm% zLD5h8nE5ot{tSiBR`{vC#OEq@=4Z(lEBdn(zC__m6~0X24GM2oc&oxY6yDuSe3fEn zjlwU=l3$|e*Ja7qD|(G@Q1lw#r0BEdcPV!6?j`=9Vn^fK75$?Me>_Y6gra{^;m;`i zS%vRb_zS(nf2Y{d_`8a}SiE}6ogZm@kfJYB_^2#-xuPGZ@X9RtWJRy>X^OtL_zcCq z#%C(}ISQYv@cCKtMT-6`g`chPhAerrqVLR-cPsi;3cpa{7b$$L!Y}P5zD}{D@hcSl zl?q>__GRsUg0nH65pfPdHG}JdlmbyDf|tEA5i!^3V%=GIsL-V`{G&hVnshh z;pJKKaf-e|;gb|zt?=mzpD8%!Rx~I|&osEA!66DSR(OAfmneLI!VgpUV1*CO;C8;3 z8`Ov+md675-5JX>-|uaC=6hc)j|Vb8Ek9g@8X$*rgHmzC=2&hpOz?rmog2vakq!Z$ zCiKINyC@LL=CEEn7R(j;BcT^Ksb4A%lpA+ueX!|`1>Iu(_;{l)3dC*dq<#4wfJ)fc z^m2Xr6xbKtK+=Ax$OxNXMS-ljF8&Qdej&o<{UK`n<$AP5&};EoD%P7UfxgUaQ-551{6+Acg8v?Tx8Qq?yC^6Z+~!+6kne|i9r_uHUe?<;p_l!z zvoGK8Vc!#46pT~s%lC5F_k>VC{S|TOtCjdn7WKS8^fMKG zji}G|z3N5597QkttKr7}A!_`!b+z(&UHg9aqKxs*<%4`a#D3?aD6su&DzZ*5pBt$_ zJhgn&p7)T?IZQ@=j!Fe-_FTB~d4_4wFI4pMIfokP7b|-CT!DT6X;EOufs`i~AMJj9 zxpMzSUavbH@hMB0Hha$g8{#_NLg<$&dU+l1ETcapn4##k>wEphe0VABX#K`;p||gK zrS-)k{^uGyneVOb0ADBKxe|Pb;A_C;`&Tapm+yDI6kNWa_HuAr&Z$7I0+;W%ycS%( zUvvYwyzY7nxV--V&*1WXfSbVO`vboZF5kO&FSvZ4<$G85fy?`q_I<4M9&9mD zeiwRqy*DR^>qh4LK_aV@U>#RCHK_<$Dz> z!AoPQI?j95;Bp<}ba1&|awfQ3KXod&yq+)*T&~ku1TNQSeIEQuv0i2=xO`t_Be+~o zbS}7DCv_gUT*r4lxV%69C2-jveg#~vf4Ll7UJv;OcyoSw{(loZW;^`k!Eb@f`|`Jf z%jZkK3of4v{XV!HcYXja$KU(G<^9ATgUkDaKLwZ1x&0hmJ`eCKaCsl_IdJ(r+kb$| z=caxSE}x701Gs!X=g;8sKI49H`5eVN;PQDDx+p}ycp%r2#lYor$Z>G_{;U4ra=ab{ zF7ICt2ba$ki~^U>HH`&7D_NuL&O~te9Og0L^1kYE;PScO6TxjilnP`v_+-(q+V^kL zduGIZU_SH>LcbVXUOzk=T;2z<@866E@;;G$Z)QA@*Lyo)N8Sfn1un18+w=B#P$~N7 zOQ4tQDb^XDdEL*xr*dd8N!Yp7=!XXPnDHl-pPRwwrjXhDf#I3g1Ak(8=Jmi|!Or)D z{oUYy75(jR!A}t5g?$g>&|sh7e}cY9jLUC=|6cIFfq!45E63=D2A7NY^aVdz@M7@s zB0h(K-y!rzfDaM*e>Au)pH!qKf}ddegA|_vF4x_k0A6d-m(rgMF5ff!8StNpc%A`n z`@fW(TJT1Z-sRxe3*HWXo7tx9oDV)%@QcB}E#m(*@PmSX1N<40KR1B?*=$qceg|B> zU-7%(@{0JsfK3bIT&%i$?^7)tGeTALp!2e;ksrdgET&|b@FYqr4 zJ2w48gR=yG3;J=wz720^aF~c^ACsP;!2_wNn7u>5H;Vi@3|zjK;|TDt3H{OFQv{y~ zF0a2$0Y6H_=LGOqMEp+%KTh;Np8;Ph^5G2dVS?9!|4hVlIr#A+pWDGFig=z6ZtF|x z;KksNrjXhD8n_)-QwP5RZu{vJzXAOFBL3e2UnBD8yWpP}{9nPJ5b636xV>JO3irq0 z?+80T1OK$h|6hXJ^Wc=7=fGP;xW5IL@A3FA@K;4Y@MrLaqP*S$e^1!|2e`bB)W`TA z8hlfv>k#l|B3*}pw~F{20bU~XM}u!M+f+VG1m7d#Y1_%rV2rS1$IGEXvncnIVdp8q zKLb8er0WcDc^#t`{3{|p%fan=RVx1N;6sG|eDGh0{JGe0F&QIsmx0UsdjDj&?6rg7 zo8aF{MaArW+wh^mOpy=&0{tl>Kfe$Dkl;TA?-cR>cW^l_{}f!V-~R=;T-W?-aJi1` zKfsR_*Z2Mte5{z?{t5gQk)`{=-xJr({tmuF+ zhSPN0U#29uQ1JVq-zd0!pG!&bsNg?0`k}!iqP;u~JMRkp3x>yo z3zIRiJ1>K;7wyr$CnfXyQ*T1QRp{RZ-zj*mxjsVI(*%!$%kKe|f?p!iH4I#S|6&yQ zWYLc7b)3xmUz4DJO6aG7%W-WcxP0H*TyQxbTL^xgXm?A%<$J&yz~y_uTES(%*9|VO z_g)At=dqW9Z#LzVD*P+K<@;)`11~k(l>TP$mj%BaJTCgfy9^&1+$qZOKEp+4OTjz< zZtrWQ!nN;%C(L+1C~?Ry#MyT&OKX3xGip(OZ;u(Jo@O1*s#LZ%)2zJr2b zw6JgAUr-YKm#}Xi)X3E5o9ly_yck^GrygW@Ne~~D9&nkWFIRX4__66`f@;`L2>UY> z{TzkQ1D`4EFNXa^!v0c4->mQs@Y99;)v*6XVSlZnU#IZ(;ERR*4Y0pa*x#t=H!1vX z@MXgOHrW5Eu)kf=?^O6M@K#}eH|)PE?C(+ZdlkM9e3h_&5cUs|m#R!tF9@XGuG7xs z#n7)6_6HeW5=;{I%M`u6Ut17JI~CAhA?#Pf{+YtQT^C&tNc|ke&OGqzg#E>^f03|n z*BciEQs1oD=>We)*k29%|19jURrKo=z8-v&u)hKJcMAI(75yfK-wl4Ru)huV|0L{h zSM)m-z6<<8VShL5_aBmeV2`5TtMGl`JJQVr2VsATupgN7hk}gn7w0Ry7<`woKgjTs zV2Q9_rs&HRUIG5RuwM=PUl#UfDEc`Hp9lW3u)i4g?-2HvD*9%HcYyB`_E*FH&xQT9 zihiBK*Mq++>~DbmeZu}mMZZbmcZ27P`S3Q_A0Qs_-LB|&Dts4ssj$Br_Ky|z_bB?k z3f~7iwZhIp=;i#4ZmrQTbDoxO_|Raon3vl7XJ%5CRssW!KJ&TdVTP9k-xKi}1)eiJ z%}g*3;m#5B^J5Gbkh~rTexEqMI}!Fr3;T0m-=5E1(0iAoNY( zzY=@}_=qD?Hh8Za{5xgo{EOhf7W@+M!V&5E%fS~4ezoC4gV)mKfn66=5^NLt+l)RI z$nRm@2`=SnE`k9ho;K+0z+hJ!?Iu3S#%Xz6?Cld>95qi7sr6iat?7x8c zEEU||kBkM+3Oj#9xUxUA&#AjmElJMwz|Z79SAyR!__46_im-no_?v>y0k_Y!rP4MJ_WvyGF9shnI;G{krLZHPhg=SBpI=M) zX#N;?FALM4(|Guz)JNPq#-vvAJxym1a zcZ+Zz0AC~cBj9@ke+)e1`AP7Lgnl=;eE##d;5P~VD++%de3Q`c2j43Ay9&=W_Z4En zqe5Q@{*>VT!DV`ffXnYPj{q--rplc6$`xJ#K1k@NfR7e@y259J%j?6Zf!pVsQgK?S z@Fn2#`@;3$%S3$60hjmLJHa>Qro!aCHHMc21xKgzOTZ@xeg*8@BaJl~I4RHCL zwRa3J34SZW%`x}YN`h#4dbt!B9t+0irStya(*6+e$J6D(2ypqG<#NM^27N^TpDw680{-w^t5g6D~HxdnW!$cOKOi_1>I-Qd>>{r%v_2>u9okvMhzIk@~j z&NJZO66O0J;6D`hUje^B9m4jCb`xW5wx!h`Sdz~g_YzDZ!PLtwuz*|$u?9Br&7x}yxe5uec z1()A*X$Bu=u5+Y3b%0-zLS}C@_&UMYg5M?hI&gX2ay|GCq2B;rEYh_Re2(Coz%$Ml zz}tj=8+eD{+ri~|!A@|wj%FA5JHpOxa5?|k1Ad#R|9inV3%(Cru8TPcF6SqKdA=bY z91wQ$!R30EV(_J+{}}`>`|UDtxz42={9a+F0{jWluB*Z2I+PjUFAMz~aQU6wdEl=J z{bF#rZe=OB95nO7nJ|0vz$b`)X)*X4qWvxfpD*k*gUj=~4)Ez>zP%b;t}9#%F4u3a z1DET|)`MRu@@)h7yMk{7xA&1!iP!`#*MZ&*-Yn}sxLi-V9bB%9+zBq%H|+wK>qd8j z%kOgT0iQ3*YcF`dD6f6say{Td@PT5!5t!!}X}z1^`QYgLA zSq^URlcdU}0(^_;XR5*F_bX?B%k_G5z~iDl&I2DM;Q;ZXLLM&((VHWn%ue0bH(+-U!|-=0%&pXNvgT4KBaCu?>8-&~FEq z@1xiW{({K=UEuEuzT4R`&kd#O!ya(?U7@|;Lxg@Gcz?kUg3IrN1Oqv&crZ}t^TFl! zN{YedcR&V#&k*&Y4BX!5Po=Be=|w%P0GIDcs|J_vNt*#Kzmq-(Tzu4 z;PyGt6kiH1zr)oGzEJc(9pLi)|Es|-5&5&$aAAakUk5IatOvL6SxLongW>t~WI_6G zBY0Ul4mN?83w}5FSi!e}R|vixyjt*`;KvHS3w*lZyTRo+y9fL%q2CL>MDTs!O9ej& zF6RS*c|J8iSS|GV;2Q-m2ERk_LEu{iF9Ux_@N)2-f>(g=61*DxDZyue?-qOx_#VOM zf&WhM#o(_9z7+g`;LYIjzIF$=te>k57o9NKya-&@+e^V0ig2$0KSzw$SA)yN@O?u682B54?*cy{_;cVDVjO%CT)yAz zKf&eu&|U*yD(w6fyg~4Hz*h+#G0)M)f{O(23qDQEhYtmxA^2eMd4i7sm+yHS1AeKf zClkSM5_YD5%XT^){5qkZ4Stp2r-RG;S@wBudj3S@!xx~RCgNES{)FJ?fWIL4dEoZF zDXD|2!6%4$*Tvwkrle-?GVp_f{}Z@;F6BD#VPanTEpYojt(39bz^jG+PVm`+-wnP{ z@E?K8=Qkb#x9>?xg=?P|j|K9%izlGpDC|ECE}xfp9^AekC}sa8aQU3WUhvn1{Xc`t z=MxTq_ZQ{$ckpR~=b9TbvB18ECKaDTaQQqyfACgeXE69iQ9nn3ZxMV9_=AEcz#kWU zD)?@}PXw3OQBMJv>)<|XxG+M=J_Ecgl?7(+3*a*ZuQ$9{&>%R^@XYb(0&scc%iwaH zx*U9*2;pk*nS$R4ew*O8g3Es3PVkq7{vPnng5M85M3no(;BtN0W8kts`4#wNVdppC za-Q%Kxa?>C050bVe*u^M%-i7hJ%y>nMa*-?u|Pi0))#!VXm^K#%YJDv_za;R0dC)) zmkM_bxa_YI;PU>_RB+i}oe16}!aW6CK0o$ZaM_QY34W!pQwP3D@D^~{znuqe->;TR z?*-uU`K~X6%YN^2@ZBQZtHI^-S~r5r{_s}t_k^80!DW5E2i(5jD;59y!DavXFt~i4 z>M?NHfBp)5iLC$N^7*Kjz~ysIe*l-y3;hLLzE|XJ@ZBQZhK2e52qef^QZ46vh5$6@Di8Hesg@{6WE6z-9iQr`W$h;a>*d zC+uGi{-)qpgUjc;ZdB~ws_;9(?R&OT_52?2VsTz@Ke&7z>|w?JV+#Kj_*h~8H{cTl ze+gVZKlTU3{$CXSHuxN2KQfHdPVX}pyf3(X-t16t*)9evd<3{W&l&?R=lKb6c|I}~ zJY#)?(~Bw1Dd2M6^;vLvf8k8<9l}l>xSWr*fXnB>&NI9q7%2MN3&7<(|I6TV{Jq?8 zdJk%srkA^2eMRf3NIUnBS! zaQWOq0$g5SoeD0WXE+i3Nn!sK@Lhs`7W_rQ&jjBicpW%(5ox~`@La*q1J4)y0&sc1 z^2^|li0k&3gFhEKXD&2AAKTeGFXQ zXZ#hoeBSIg;PQUrOW^W;;vW?L7jSt$@ojK<-!L+qi!~nDbu(#2Os}jojV2wED;gMM zAzUm9BSl}b-#2nl2YZQK|u@g_`nR_47*A@LY6~0m7-&6Q@g+HzE-zt2+!vCi5fT}`RIR>pA zb&d5C>VpY$E6V6kCH=3W|C8wdG4%hW1plevKYZvUK6VlxJjooL%zIP#Pc{FU%6}3@ zoiH8~?8*LNw>iY31e-{(#{}C+u$?MaRI=wP6ARv}~|7N zCb5A@>}`@s0$ZMBj+z*nKu$8oPO7xAv)snoB)|lJk_q*sN|Ve=lg>($&`P7PG)fci zlPZnhDwARp|C3D0PBJMtsmkP5g8xot15-HE$?Sa!$9FP&p2GI0uw)8bnPPMtPUU3Q zOkqtmYpOXq)hw*$15*uS^;EVxl@Clc2iWsebAUsd$_5e@Y&%iG$15kZv~n_=tDMYM z5+;TTl$9wNQ&0(;`zGoMlVb^66edp+ChZB6GYOL?mB*N{s!Z4%V6}-n$0uPjBw;e7 zaj|Zi1d{_Dyak zY_x4+P1Yt%_9v=MA((VeF@{Z5N=!1*tl+#!m|RZSs9CQjpG>?H#~7h0m&7qFw^r;y zQ%H#llRz6>!bHs0a$Dg|JxrLImay%>)Y*o{Wh_6apHp6R%CWK(q@O# zZ>61eZOa?GSZdv^Ep3hP==@tx?1lVtTxr8uM;p!n+He-qh9gWH&JWsflxbrs0dL{c zG--Cjpou)YVap_p-LRH`Igsj@__lsusIp&r~vYBYvjYk=ryp z-nxXsUKNsB1$(AqvJUo4_rY%1GsQq|QyX~;d!|OR8}=r_o~fP8Vb9c4cEg^jvE)7m z={0qi-H4y5#q5SXQ=i!ld&eOEOtT_xYBz6T&vX#%hCS1y*$sQ91+W|TOwYq^#LrZ1 za+`|ETcp>tA9f?Xri)^?t1Pf*Dn4`AGcA$ariJkq_DpkPH|&}2jNGORn_Xk7+3ZbAz|AQ_XhS4SS}O;@E*t z<;FwDO}ENhmkQ`jPs<$kO)A(w;$^yCPMx#k?4mT2c9CnwKG{oDAbVW^w$olT*LJH$ zfu!1w+z=!-QGvX5u}V~MvKP%w81rPrSm!NAhqoL&ZB4fGmTmKv4e=JoO`{^W>AHE# zv81hOEVMP1j#;Zkht14`Kst}(lS6NN= z&aUCu&7Q@7DH}|KtEs6p9Yf75yCrTKAmxE+P;}gM6m;Bd`M3=uVHz4A=eY85_~ z?4QHoM%F)4=&Shr`E>9XgJ9n}*NFxr)(o)A5jhv*q~N zJWZGe&c_iyv*qKqEEA>-_&DNcwtU>?ZNhX2d>rvJTRzV5;P5#dK92aAEgd)M;^W3& zO{K{%il5o?apa#VbMkNUgO4NsOuE>=u}jAhKeJ{3tfS+mY}r5JXSRIY))_l+^Krz_ zZ236bWBQgQnaciW*Kn$5&*HzNb#=uJZgx^QyT(Xo@m~^gI=IV& zAM}`}DbrEpHb;hBh&vYzxnKYu-NC|A;FD^bQ)tk(p4QkoFWW$zjV~?_6DiX}k}We`VHF~0rajc7*}^rG8&y z+rEfY?x?eAbKG=6i|mOM#mn^wE){0#MTc$dZNE}ur^6JY>t8W;7|)C5+TMdy$N`sD zGfktzHeR-k*VsOfZ6SUbchKdaN3=cDB75pY8_sfyE!qvb5A=Qs)OvIZ=+o@!!yFQBb~di9n{zFqHalGlHZ_QP09XIqNPyAQ4(wFJ z%y3RE*3>1+1ves?DJdUE&sM?aNoVQ_>s(ty%SQ{b=XR`Pe-ysivL3l>rm|!gqpfWp z>?Zjld%{WWJ7EUp*)?or_ALHuAewu^oIH_HclP1t^R|T;DM!ofaJXhCX@!g55KfZW z;j-WzlL)hee#R!p5Kgbzah8)OBPNT@A!j*xK7zST!b}kMuV8K~yPZdn8}lzaUtqWGiz_iNvhxAv@Q3+^9lwcV{$R&Ta-%s`y7EAN zSDGm`9Y=mvB0npUpH)b2mFq^4-YU~iQMsURsd8N-(pzO(Czl)7Xx`fRS7Df_LOQB2 zkE_CbrV8_tDs(kfrmrFYu70_CWX5gcW_;!?>|{8==7@0 z2{YAa#Jdu1J3r*|vhAP>^`r{(@ha4ZD$K8{Fi)yN4_@W$qaIYD9#p}eo!^mt@RcQBB2(JqLK^0~wRc_vZ{;&%D zLlx>t720bR+F=#aTZML3<=Pp}Q|$bm>yvHIRXE42!YEXQ`9PH!(@E#fZ`^qj+ED`e zV#f`tKd7$>l%KuY$Q=DF+H(TsX)iX?aZHF3=+_bmH-YwU=TWS)@lBw;C){X^e%@Y~ zBpt>DdvTK8=(kZE2<-EFDen*61o7? zNHher12jXF5()`*3sn_0&J9$kxCuA2MFmN?ff5xC*^O%A<`$@B_F^Ta7NZmzBZfR% z(=ok3y>i742?hb%*Set!J(rcZejME~dP^&DeYmxP5=28nzk^~z>7YvjUNVUDr9?owxzA9osZPer7j-eX_{&LliO~|%}HXn z+j12looTql-PTScX)0~(%yJhva3O=-oC~byIIw@tBX+wjS6t>!=eAtJ#7#pbeR7L< zm`rBQ<-uE|!(=zPlUsyqGM+iYH4TRBn<8M2a7{-`+*AzW$t}V)g~S};CQlNOPo})+ zc=EIWI(uP*IO1vA5b5leruop>Elsy=`M7QJ!h$WYS@z-?`FB%)JFO?T&9_QB9VZ>q zg%fi-(d2MVKGfKYZ!`@z^@us*XId_~?Uv$W@{vv#?AD%uP(GQ)%sLZ)(%F1)TRVZI z>Aq=-9F8pyJ2B+b50kINjX%=ae886M+491c+@`*eKU;4qQE!r4(_irE1>&3B!oC?$ z__PCdTz;93p19rC*a4W`w%qN&&2Hoy%Fhm{6duYCTXNg>fGxRgIbcg}Q%+P)up8+xeHyzFKhwps8}T!JExVCVC?`7+rTCiOmyg@>t~A{+yG=al zIO1owHFiQ#GYeaC+x*3r+_v1YCATeCY{_lQ5nFQG{KuBuw%mC;cV6v@vrek*sOzkA z`z>uP-9g8ydF`Fur`5H#w$}$M8dr2Rb_ZP@jg9rqwM|XkwMJ9l-W4>i?g$9B*LHQ+ zbvM>_HnI>#n>rgCeNV=1?9S#RRu#-VskW)5wY#y?lLjqqZH=9^9i8nBL0x_Q$`!R8 z?dKDq7}R%nu3Q0Vopr6XD^|8T-z^lq;QYpx<;~rV4YkWV>l#`b+q!Eznp=XV*7kM^ z<-E@BfNp-*)-{~7vWt#%ws!>PHF@+@06*s*OFa$|m}Pau_#S#6k53>s|5)!oV>8)M ztMBXSS;xQr^nYUNF$UwGc@_Whe$%ke`U+3)xYW;uo|i8bc;PxO_4A2+M{pY-&8emXAoFL-)CKOL9)S3SLN-*Krw z=;?j?j!S(Jo@#C%E$EALoV&8G8-{I-~`s29NyZ3I%{C8aHUsLQm zF7>&1-doytT{@!xj6EOTAmaAniLY_3k}* zGX9QBy<4Xs?K>{@?)$mYzT;Bgjr8(-!+%Gd<5IsGdY*6CZ;ILh*>S12-}kojG5;NF zj!XSkFFwWIe8zF9ci(yB_#Eo#9hdrdJp27Uz2j2aajAFfi=}pHpF|1!;`$Igv<5FJ$J=dS1p5Ae(FZJvX^Yo5O{UFc&;hx@csUHcw%zwwFzQWV{ z*=dJ-b_0Far^bhJI7^twHh_`CA6L7*>POzhe6NrImXkE_4s6uAM0`Z z?QRQB_jt9ZU*hqp9&hmYu^zwKCD;2%tQa?@6J1+IJ6}{t9 zKTpv+F7;S)hn5wj!S);V&8G8U#;jJm-aSPyj!XSUMen%O zZ&vhCUr_XpOZ{F&@3_>zspuV-dbeI!)@R41 zKJHy#^7|jhrQTh)l=dB$`fe}&Q@#Gpaj9SD#phU0@3_?8?CFp5^o~otdw(g%f10Ov zTN>eoQe^ArDFyN*l!MbPv7VN0ipXKQtmwGqv<@nF`^o~pY0nh%)p5Ae(f5(ge98d4K z)W7H1KgH8KF7*>~DdP0w_@CpY`;POa0ki{O5am$EALm7ykvG z-f^ja8G7zdW_bOT<5KU+NcM-0OMNrqAoY$*{TfB@xYS?i>HYD@ajAbm(K{~nJ3YNW z9yu=c&nkMyrQUrXhx2EWm;a7SeJkE0&3eE8cUWIhS$$L(by@|N9>OTBw?)l`fZ+l|M>^U zrT#(B{^vdWj!XSc&;Alm@3_=I;o1L!r*~ZHpYiOU?dctt`rV%WT2Jq|)F1ThFZJ|} zOZ~f^{W?$YxYWD%y>R_p=II@m`r)YaTtDkQz2j0}4n5oV??*T;_2WGI4W50+rQUr{ zf$jU{>$udvg7=(r{2M*{j!XR;(6jv}Pw%+YAMori_w>o=XiR@rQUwm-S(g7dV0sD-hC&9?fd<+<5EA+ zd^gzIZ}sduF7?BqXZ!xQ_8gb`k)HiF&%WbQe=6DKA7B4$_w<(PN*?y;|FUNT$^Dd9i@p!k#-S^;FztZCudHPiz-|g}9J)V#AO}68I1I2wugZTxX z-hJPkxtmkbZZOWX^F>d;&f^z)e6z>D$af z=gXe{RgYid@%}j9VLM;(_^}?p)Z_mBk*|7uy{Es-Y_*KhLlU-$Ixz9-vpb70yHp7Qkn)Rf8-{WIDw|IP~XXiT}f6C(<%=6j)Z606f@qhNX`;Hjv zZ}+%+Zyxi1@pyoF7w7*S9-jct`tN$Y#?x=|_&kr_>G5+sJDWXzuc!Z>#~=0dcX|9} zkAL6euX=X2c>GOI|F0g8W3IyK^7%lIyShq}t;SBvAn&Ew-R-(!Bi$16SV&izRe%mnB3{+p+t z3(ooZpvPBv{NFu(nP>kYkGt=$@n=EDhACHp(`f)se;_(V_j?beWci%PRa`~yp=Xv@a9$)71 zpLx6uoa67V$Pfef=I!|AeRC2hQpGg~wz4I97K4 z>5tw@>tc`l{rPB*Kk3<@20o7L`1v*ioXaIGKIG;fPb+`v*+KLT-{o=k&p+1x z%H!tqVBk-A+`Nt-{AuDH==YBz#y__6jHl;#^N;zjJ?`fB%%Ao6i7cic^XEK1$56|6 zd;I^S>n@V^mFMS(l4TaM8A&yF}G{|D@ke|BL<*{crkn^nd7Y)BmN{ z*Ks2+rq+E%F8|-~W6(RdzW$0IlRgD~EP7A+*z|enF5{Hr>EaQpMicK zeMb6|^d9ur=rhqjq1V@dx%_{m&x{|V^>uNsmtORV>9f$Mr_V~CgFYL5F?w(MO7z+3 z_4q)Jrw@HE{2cUpo%!4y%t=4I<$E=KuF>?~9sGIh`!k*E`#Ezw^RROheqMULj(z-m z^r!Ii)9Z1G_yy>n;uoa(G~=Z$)2{ zzCC>@`kwTq>4(#oq1R(Id4K!Thv1i`*JBIu%hBs=+w|q>^|epBKijuHmrnl=zCH&| z_hG#n+!r>G^!Se(pluw|CsB`u+=V8u*>)wb@K|+P&3tKj6>W zJ`tb&dhF?9`r57EXXj@6I`n$HtKQ%GTIfmqy7<@W{>+?}qeATaS;W*Y^y>*Wah7Z;YP#|9!<~r>g#dfT))TQzh?hf`oHw!=;O8? z&&=g~{Aha4S3hmb=X_7V_h|LJzx8KO^V?4KICJ_*_{BNjlSk8YzWOyd-&64Ga=wG< z+tN>^@5=d}HkzLE)gQ+Bo{q1_xAT6TK|h=GJ(FIKZ|8CzGMb+A)!)wfo`t`M{j=#$ z)6b#5)ap6kb4Sy2zWUEN-}CTav41}OANmFK&aDShbG{djrssV1-CI7ltBde6wt6n- z`W&YDZKwI@m*5xUd@mhM&-v3(e#|J{u9pk5&ReIKT7|L{uq7iiJIZ&l-t$gqv<(ceYcj+?dl2q^sS!T z&oKHt^e5?yaK2BCrssV1t8%_iu7zfS*?{sw)liJRf( zl-o(Z{#~o}IK$-hH}TzCJ-45?=yTKGrZ36PJM`u8@6uOo_1wUqCDqF>hPIi8P4({nufTiN&T>HcSD=VAJ%^k?ax(O;yGpua=^oc(K7wOF@w}-FjQ_;Vs&qDu(-iMys)zGm=&URXw{w;oa`gim-=-<=VZS`DV zKhO`M|42WYog7b{hR}b)pGVhUPX8HyO{?d4exW~1|CK(1{u})}_H({{>p)w7!Jq5p zcl~<>CY*fKuldi(*qMy3 zpO!v3zDKL)IH#a5N}rOx8NI%jGDos4`#InGzVm(PQ?qjbU4I0<8~)f<&v8yeznI>g z{uq5)`m^lkd@pWYp6}47!+%KEe@UMn|6Qx+IP0Hf-}FB8aa!L%R+s0z8Ej5d((CUm(!0}hoaJYx&&hu8R?qBQ z^uF}D>08j}p>NNA&bNQ-IQOH^i$932KZ-sd{`gkU?ELgg=?l=Gpf5;&p8cHf;MQ@z zM_&m4FLN%wl9I8*&>bY3@veSpY zEPX@za`Y`a>tI+qLuS(y)!+zh^`5xb|9S@ zo&ExS4f-1$_6N1j_lq|DCwA6kXM)x@?B?=Zi#{KHZTe!Z-mCHJjHdT)x_%BUkKdEN0sTz+hV%>A&;46HujvMQJ(ncsdn;XkAAMu?hqihyw@v7; z(f>>TlfEf^tnNAY|GOXPQIC_*H^Xhcuim@q`h#0O*ZbD^qv_kwPvCsFrC&|HoA|)EJXM5mgVWYva>0@z6YZ@t4=%6cgG)2A3#5y zz6bqQ`kwSV+w=$Md*L5$)1RX6jeo99f0e!u{>?W1L;Ak>Puuiw==;3Uv+w{rk2jHh_(`TU9_ul0Edba6(=m)VscbmR2{b2m!ZTcGYL-6ag z>6_3G#c$rGZ$}@5->FT{Wsy@pt`Ec4Z_^L2|7d>S`Z95(x3{j|k^Kn#tj+(EQ+Dig zkF2fxljd=!e_N-;+Vo{R^wxiNTC+{xkbWe`vsIhE6a6Usz&3pleJ&n1JCE+=c^Um^ z_HS&{@1!4tf2d7=lD-qi^IDt!9{pJMzi88cpnLg@{KUL@TdrSwm)yZOr}X34pS(?< zmVP{b);4`^x|jdTbT9w4=_jziX`8+c{Y3okZTfz6-`}I!^pohmzh}4U^>|M%Pv74M z@V>wG^E={C;`m>{+uxv{jQ_Mv|Ay}E?awy7p1+ghIfeat{!Yi`w- zZ%RKOzde0(_IIaWfIqNJKZ1TC{3@$Yv>o#Z=qj8|6iN_82wWGaC(2<-`DAv z;XiKEzoK7`|CN3P{a^Z(^zmC?ujl%;PfouIKLh=0`mFS8==Hjb*|*p0C8l4CUzr{I z+Vt!2{pr`!>*q&g{|5Trc>6*08}Y}`Z=#<{TBLV^jqomb0u<|x6$v!-%fwH zO|PFHk)1p6ui&@i_Vy0_PW`uFs^@PEgdM<&@)jhF;I_ z>DasBpT*DCrq4rv4!<=0dHRa<;q-d`T8_uQ3H}BAj&1rL^cV4i=r7UhHK207FVpKa zi#qmtO`h~u@K>?_D!pFgCH^&fy@pB0Ua!%S{yM&1qafX{3+lQ5>3$wn&tL1<>pAA> zZ?Hdh>pn33P5K1%x9C&1=`+&b#`kH{=cm7eU%O4;nEoz)V4FUO{vN)**E;X7y}l$TZ2w&ermHsikzSk)I z6Z)8~-*@a?>7U}KqJKu8fj)xXhyFQze)<>mHRxZ`H=ut--;(aveLK>>#@Az*d4K&n zt{z)UKMr4yb)+9pudf-?{rc-#&i5O9eGU`Efl`&%EI>EGk) zx=#OrUYAMwkM!SKzfb>(Ua!ZM?&UBQ&o8sjK=<}AJN;+&eg54q^d<4X(pR9@F*k?S zY0Wl$L;CORY}2OiLjME5AN^1Ip>%H#=hFRr_)_{`?9}Uz<#PU;elPwX`r~x3_vh&U z;@_lu`~Q&c?c^J}*W)jAKd%^*=WW$(Cf7?>y4QQXzFFR1FXwvw+jKAI#n~C7bqv|B z*LsZ~lfDk#z6pISywC6R@~r3gW&i*Cyp$a;&w74e{MhWDj30+Sgzo2om(sobucdqW z-%0oKuh(bG@p$<^h4v?t^`~B>A z`y591_BNdE$9uiLT=wlB+v6Y?w9J+ndk3J!sRnnn?3`5 zQhXn}_gC}NC&MpI_wrwn?)}Uv6iDpFBsug3rg^ZPP!c`*HdM-OKY2x|e6?*7JID`}F;ti2gjs)1B_0 zzdh;RZhfAYm(RlZ$+`WkL!W}a34KcXc68t0-RQo*2he?g52t(lC(}LtA#|_bdOlaj z`_Fsv-hVztudkKzFs}=F}8Z5aSHllm~)1Tg*_jgaa@9zP0?|)9DdpVpz_x5uo-TR*# z>E8bgrF*#zqkI4JCf(cThx9MF+3$w{C*AAoak|&n zb9Aq-cj;bVpVGbjJM+9DFaL??Ud}VL>9f+k{O70FV_dl(Tbw>4m;Z`%FaI^@UjCcY zz5KVMd-?B6_wql4?&W_n-OGOn-OK+mR!BS9hMr)RXh=NuQZMcbmR2-Q({^_xRVMd;FWyJ^pRz9{(VEFOKtAx_{q# z2Ho4q`Se-Xxti|nbbm-+bryq+yutP6@1pP$(#T|P2tLcOB zk9FwfpQY#Zohg}eEfnPdif>k7vneX(93U0zZ`!^ zhhF|@`qlW$I`s0_(XYo3>(I*&r{9eKx@!z)TztR`OcWFJ(DEszF=!@fLY}03>FM(gQP47#u?_tPw zxpterF?}iaw{6pRr7w*?s7*hTz6}1%HvIy6U;K@2`knM;@ejA@Ptljdzd~Q0{tmsq z_am3*=WY7;^#8E)7kx$g*wbfi)b~TKM4zNh??&&3pRG-whrTktZ=2qaz6yThHhoL_ zs`vqI`at?>_~Y92Q|YVYFKyGWrLTd%vrT`1Uf;u$>*J|5{Y85HjKBDI+w@QAzK-0O zGvxmob-jE4)|Kx4+pP4pdB5hSuR~v~O<$H?-^-Wd*n;l<_Vm1-Sp9jlXPbTi-Tkxa z?q5uI|GGB)HoE&S(A|H7?*1oj`q%VzxjcVw)5n-Gm)@xB(c_tkz8*WX)7Pgj)TS>* z-vHl_z9D@r`bP9k+w^Vd8{>DUZ$jUX{$KhLZTboHP4VZp>6g+s!{64X-$&mZ{|tQ# z`pfkG^!MBJ5%ewbzqjdQ^vJDY)a_v_{A4{w=8@m`ZtqUt8b1fUzE>~{3(&X4FHPT$ zz9M~l`Z{g;CiETf+qLPt(Raij(54?w_v7Uv`cCXzMcT%qe7;xT^PDg_eK+=JXwzq5I`lp7rQ{Tx?4B<6@UKeQ&xS zFN50jW9hr|{+>bi{W_oS@!w4!z|K(m`px54_2YkvrRZ}u;wkHO=C57PI+ zKS7VL<9V@7f3riczj`ZTcb|dL7R?^nvVe zLhs7{f%N_HN6^Q|pWLPo>Co$VZlNE*{yp?bxO`rxABcaS9$%Nwmu>ow9eN$lM7>7+ zE|>p7>`z6XlH*y3elUJ1dVC#EzcziX4!w?NXZj)R??s=6{UP*2@fXs&Lq7`t5Pf$1Gj00I9eN$lxAddg|CK%$``u^#zsvs^d{6q^ z__^Bjg*x;)p0()5vcD01fo8u>`_YfXA4-p}+uQMN`e_|{?cYE@p8Y%Mi*h_K(@(&^ zO^>hR`K(R00WBPyD--muO{$RTP zZ2Bqqi|PH@zn?xB|0rGm9{p7OXY}pZAFKEOU7n}m$EWLOrJs(Un|=m;%Qk&S`kDC7 ztt)zr=GP(g*0-CD{Jd+YE-lpj()w$hkw1rG=h5_>jlM_gf6eX3*U4`k&d41;Es>>bd*&ah~eg(f4in9M7KPw*I5}rC;l}+41r4>epx;d&dBwJ_-&xr2k}JH`@4@?eR`=3%;z{?B9>?OaC9eAN>J( zfBHP^??8VLKY%`zK9K$peK37N_Rpq2jK7%v2>ojMqx7Nl#n>N4e+)mI{y6=0`V;i` z>BHzF=ugtWqd!Iejs7&fUOzi;UXtVQHdbyuqwY7J!S|p)OYcp8j_&JUEyKRAfAu_m zEp~>}H=@5l?@xb`z61Rw`XKsp9M7@zm+^z?uh7q?ze>ND{u=#i`s?(e^#5=?!{~3| zhtuDrzfOOP{yzO}`Uv_v^m@JR+#dRIJYB{fd2{HL{w{tJ`g`PCuLe1^r_Bm-MUY zU(tuszorkPe?uQm|Catb{X6=1^bNWEf1`ho?=;T;-A;a>ccK4Cuh+fK?P^o@d*gq? z&rAQA?(0_lLa(1!mVJM&*+%UAitkVVjlKi@clsduAM|7Cf6@oj|DvBw|C@d>{U7?( z^nd9?>GiXibBzq6kI{Orefn^Ey;ei|>-4ek@6*SokD!l3|Bl|7{u_NGc{Q@gwLn;=iN!p#Mg%pCO)|Nm^gS=JwMQ-;F*qy$8J)y*GUpdSCji^nUc&=xfn? z(>J2eP9H$`ag~8|ABP!4_wkcs=|0{vnC{~wXVZOLuadIVRgO_f44)#sdDM3PT|M5Nt?;dz(#Zd*dc3#89q_HE4vh5GhbQ}jh_i$J-!FMzK+ZB_NSzIwbnAK>%0I#o||=X3mQg_~ci$Gh`AzBj<UJHsXUA8McV~>& z*CV;i`rxa_yE7hs4t(`^cP7QpiLV~-&NTSB@YUnpnF&8PzIwbnv*YK%SC4n6UPn5Y z&%F5R@$M|a{(SiA@$M{-pC4a6-ksI(3*f8AyR!~{L45Uick1i?yuS}yo!Y_)i9`DY9_{H$mGtH-hbP;h+h$3J>H!W_?7V0SC4mR4*Z(<>hbO@ zh+hj|J>H$g@oVF&$GfvUejR-Ecz5b`<8%41i?1H<&U);xhp!&*&ZhYF@zvwq*%rS6 zzIwbnyW%&*SC4mRAN)r6>hbOzg5MZlJ>H!o@tfeQ$GdY9{=fL@@$Q_3-xOax-ko~f zGS}~B`0DZQT+ROG`0DZQ+=AZ%Up?NPd+`17)#KfH2)`x1dVGI+y`F#G->pW|x0Up?NP z74QS_)#Ke+4ZjDzdb~U9`{1j`yR$cbUwrj= zcMityhp!&*&N29b`0DZQ494$|uO9Et+4uwS)#Kf{1b-mDdb~T=;19xAk9X%5{K5F@ z@$TGQ;cfQ3RiLV~-PW}9j9RE@H>hbQ3G43c7e>A>&ygTFJkHJ@ucV{yEvH0ro?sUT+ zhp!&*&dm7Z@zvwqnFD_UzIwbn3*t}2SC4mRN&HFp>hbQZgg+TyJ>H%AxhJ{4PQh1? zcc*?HO8j7a^>}x-}wq#1Fw&k9X$`{8{+w@$OuNKO0{?-ktjSGP!)t!B>xW=N9(Q#aEAa=N|ld`0DZQ zJd8gdUp?NPVfYL1)#KfH34bBJdb~S%4U?R5`CK&ecccDQJ>H%AJI(luN70f0t{(5s zSL|PcuO5Ffy`E#3{YyvFuO9EtcwI)J_{;ItLZq&c3$GcPC%NlhbQZ!0}v% zuO9Etn)vJS)#KgS7=Hu4db~SZ;%~%Pk9TKB{7v}k@$T%2zZqXW-kpK?TkzH6-8l?@ zE53TXJ15|8!&i@Y=M4Pq`0DZQoR7Z)Up?NPEAV&XtH--@1O6_2^>}ygz~7Cp9`DWr z_hbRM!as(u9`DYa z_{Z_pNqqHqch<%~g|8m(&L;S$@zvwq>5qQ~Up?NP zo$=4&tH-;uH~u+%^>}v<#y^j*9`8;)H#WED;rQzD?$mQ3<6pp6k9X%Rj^{;u^>}yc zIb7L)312bW5~{@3u;iEy_)#KgS5I+K6J>H!y@So$W$GfvV{tJBd zcz1Tke~GUi@6LYsukh95-8l^ZHNJYhJ15}3!B>xW=XCtH`0DZQoQMAoUp?NP%kbah ztH--@9sUP=^>}yg!2gJ^9`DYB_@D6A1-@uO9EtIOC5(xxe}gUp?NP3Gsj9tH-<34gU|m zdb~R`;Qz%}k9VgRzS9{0_disRcV|xg82IY(?ktEO6JI^voyGBE;j72H(-%KBzIwbn z{qW=9tH-;u7QQpSdb~Ru;K#*Rk9TKNd>4H6cz3qJkB6@w@6ImxuK4Ql?(B&lA74G* zoq_lX@YUnp8HAq@Up?NPWAPK=tH--@GJaxw^>}yAz)ym&9`DZi_(}2A}yQ#&^e8k9X%o{IvM$@$QVkPlvA_@6LDl>G9R$-T4ha1HO8^J7Y}Hgyxh#k7mSI zk9TK0d=Gr}cz5dO&t`uneD!#DW@f)9zIwbn^WbO3SC4mR34AYn^>}wy!q0-Q9`DY& z_*wDQxWXE1&aeD!#DF2K);uO9Et zmH4^v)#Kf{2|qW!db~S#;pf3uk9X%${Ji+;@$S5UpATO>-ko>w^W&?>yYo4I0etm% zcYeVyh_4>+&X^N6p*iK_cOiWBcy}hoFO07q?@l-TBKYd@?#zT=6kk2wow@Og;j72H zvjl!|eD!#D`r((rSC4mRJ^YgR>hbPuiC+p|J>H$2@Jr*X$GbBCzYM;5ygU2j`{Jv| zyK@+RS$y?)caFm^hp!&*&Z+q2@zvwqIS0Q2zIwbnm*D?{uO9EtHTV_r)#Kf{1-}x$ zdb~UJ^RM&q*biSl-kqWBuZ*uA@6MC>Rq)m0-FX4OD!zKWJ8$Aw!&i@Y=R^GJ`0DZQ ze2HHJUp?NPAMtDAtH-}x>Ow@$tlxW z=Lr0N@zvwqIRU>ZzIwbnXX7`+SC4n+3jF5y>hbQ}g5LsPJ>H%F;rrvO$Gh_+eoK7y zcz0gGZ-uWO@6HGKt?||4-T4~74ZeE3JN5J5^YObazIwbn^>g9lx5HPDcW3g6o6wx% zx5rnHcV{~M4*2Tv?#zPU5nnyto%*@+Ii8*H)#Kf%pGP0RGroGfJ4}v+&Q19J@zvwqxf_1~zIwbn z58)5QSC4n+Df~hB>hbQph(8!#J>H!+@rU56$Gh_p{!o1Ncy~U>55iZEcjssPVfgCt z?);5E9A7=&opB~xW zXFmL~`0DZQERH`8Up?NP}yI$DfF=9`DZP_>=I}#aEAa=LGy|`0DZQoQgjkUp?NP3-D*)tH--@CH_o& z^>}w~#1Fw&k9X%z{8{+w@$Ni`KO0{?-ko9ibMV#U-5HKQ7hgTzo!9Z_;j72H^8x;R zeD!#DKF42xuO9Et_xKC()#Kgy1Ah^|db~ShPTGX#l>6I@@zvwq>59JuUp?NP$?=!s ztH--DE&eim^>}w?#$S%F9`DZV_$%<$hbREgufAAJ>H!G_?z(61*%ygLWsZ^2iOcjqYlt@!Hk?wpLj4PQOpowM+_}Fdb~T2;P1s(k9X&3{C)W9@$Nj2AER^g#@4BNygOguhq7Ni{z3Y8 z_=iT*H$k@sHuF$GbBf{&9Tucz1f@ zpTJj-cc(Xg7`}SEJ9Fco#8;1ZXJPzP`0DZQEQ5a}x- z#6O3x9`DX>_~-G}}yQz`u^K9`DWv_&4y?H!u@bBQO$GbBV{#|_acz62X-@{jrcV_|o`}ped?ks`-0AD@c zoqqTa@zvwqSs(uqzIwbnTjD>)SC4mRSNtdV>hbOzfd3RH#T@SowU$GdYnegwXH zygL`+KgU;(cjtQi7x?P&?%ad_5??*uoyYNC;j72H^Ai4ReD!#D-p7A~uO9EtSNL!7 z)#Kgy9seD^db~U1Owokql#loC@zvwqnF#*_zIwbnQ{#WcSC4n67yc)F^>}yY!~cx0 z9`DXl_+RkVhbPejsF*4J>H$$@grY+y?J|1)#KfH2tUS{Bk9P0RgZV) zIsBOT>hbQpg&zxFJ>H!W__6WTW{Rk9TKgd{=z+cz5Q&kB_e&@6Lkw3Gmh9-B}VpA-;ONJ1gKP!dH)X zXLbC<`0DZQtdE}rUp?NP&G3`rtH-;u9ey%=^>}x7!%vQ{9`DZH_$lz!}yg$4`&19`DX$_!;ok}v{!Ow}W9`DXF__^@a2i{Y!syK@$P zaeVc7cP_>+fv+C#&NcWY@zvwqxfQ<@zIwbn_u-euSC4n+QT#Ia>hbP8i|>oC9`DYp z_+|0c}x-!>^669`DZX_;v8r*1@% zyK_8#eSGzJcTUG|fUh3!&iVKa@zvwqxdOitzIwbnH{v(OSC4n+F8n6=>hbOj#s3#y zJ>H!s@tfkS$Gh_)elvXacz52yZ;r1X@6N~gE%4Rj-T4~dA74G*onP=<;;YBI^DllY zeD!#Dx^!zobL!drvo*eYygQTPx4~DBcc(jkTYU9+cV@hbQZi{BYvJ>H$o@w?)y$Gfu?eyq;T8(XL9@$MXq-;@37 z@q5sZ!0$Dh9`DX^_`UJf+&QhbP8h(8!#J>H#R_(Sm3H#j@aN#G$GdY8{#<?JCEQm#8;1Z=UMzk`0DZQyotXUUp?NPPw|)FtH-}yw!C!{29`8=q?oDV;J)3_n$5)ScXDa*^`0DZQ^u%9@uO9EtJou~d)#Ke+41YDg zdb~R;;;+G1k9TJs{I&S%@$PJnzYbqL-kqKB*W;_lyR#qu27L8+caFf{h_4>+&S3ma z`0DZQoR7a5Up?NPEAY4AtH--@BmP!=^>}yg!{3Il9`DX$_}lT-JFDRz#8;1ZXCwSjeD!#Dw!uGyuO9Et9{7jx)#Kec z1pf%Wdb~Tw;~&LWk9TJX{xN*@cy}(vKaQ^+@6Jv5C-Bwd-MJq>3|~FooniPV@zvwq zc^Ur{zIwbn@8h4wSC4n+EBrI~>hbRUhJO}cJ>H#hrfWiT>e>AB9KL$IJCov{$5)Sc zX9oOmeD!#D`ru!{SC4mRKKzUL>hbO@j(-VXJ>H$=@h{`6$Gfu{{uO-ncz4#vzlyIO z@6P7<*YMTj-PsxcI=*_mI|K1=;H$^Gb0q#veD!#D2IJqtSC4n+0{q+f>hbPegMSBK zJ>H!=@$cfR$Gh_&{ylv4cz1^3-^W*vcjpEC2l(po?!1Zr5MMpsoe%II;j72H^BMkQ zeD!#DzQ%uouO9EtFZfUK)#Kgy2mcwqdb~TGr*A@Y>e>7=0$)Aeor&| zeD!#DX2gGquO9EtEcmbR)#Kfn1OGL?db~UH;lIIGk9TJg{I~e(@$M{x{|;Y0-kpB< z@A1{+-B}C&1HO8^JDcHu#8;1ZXD9qm`0DZQ?2G>yUp?NP!|}i1tH--@GX7V5^>}yA z#s7w{9`DYT_}}r>}v<$4`u}9`DWx_(|~9hbP; zh@S>uJ>H#f@ZIs%hbPOhMyi^J>H!e@H616$GbBJ zenx!tcy|`T_rO<=cV`9sO!(^Y?yQdQiLV~-&ieS7@zvwq*&N>sUp?NPo$<5atH--D z5I-xvdb~S_;b+5Fk9X&Id~ba9cz1^2XUA8Mcjr=kAAI$AcW%PZfv+C#&i(i~@zvwq zc@jStzIwbnuj1#%SC4n+J^VcQ>hbQ3z|V`X9`DZ2`1$bFhbQ(+M@~0DSjb*^>}yY@6m+j6u&UOdb~SJ_h>?M zieCg@J>H#FdNiRq#V?Al9`DYEJ(|#*;uphLk9TM59!+RY@r&cD$GbD2M-!S;{1W); z@$T%`qY2F^eo1`wcy|u&(S+s{zZAZDygNtqXhL&}Um9OM-ksxmG@&`gFN3ch@6IVb zn$Vo$`{Jv|yK`2LCN!t`W%1SH-MP3&6Pi=}a`@`;?p)oY3C$^fd3^PFckbxXgys~# z0={~@I}i70LUW4$559W5JJ0oKLUW2=5nnytoi}?lp*h8`gs&d&&Zj+^(46A?;j72H z^Fxm&G^hBL@zvwq`KLz{np6BL`0DZQbe$=BlwTEJJ>H$E@T=jg$Gg)LzdF8pygPH_ z*T7egcV`Lwn)vGR?yQ7g3tv6no%Qf*}v% z;@8Jlk9TJfegk~OS?wo_)7+*c!olEeW;H$^Gb1nYA`0DZQ z+=bs1Up?NPNAa8CtH--D9KSifdb~SthbRM!|#Bv z9`DZj_#N@phbPei{BGpJ>H$$@O$B_$GdYses6sBcy}Jf?}M)%@6I#$ zeeu=f-FX?mAHI6LJ8$C$;;YBI^D%yZeD!#DzQP}XuO9EtPxu4z)#Kgy3x5#4db~Sh z&)kIOl>hBueD!#DCcqzpuO9Et6!=5&)#Kgijvs`t9`8;M{9*X&@$SruKOA2@-krJe zN8qc+yR$I@zvwqSp$CzzIwbn8{m({SC4mRbNq4m>hbPu zhd&-)J>H#N@F(D_$Gfu+{zQEBcy|uLpMpA-5G&D2VXtjouBaM;;YBI)2UYznp5td&%;-bcV`0p`S|Mb?sUUnfUh3! z&P@0V@zvwq>4U!rUp?NPh4B~TtH-;u9R3n~^>}yIz+Z~59`DX3_{;FsuK- zygNJMufSK2cV|!hmH6uM?i_%>3ST|mok94k@zvwqISzjfzIwbnr{b^0SC4n+T>N$T z>hbPeg})wOJ>H$$@i*YB$GbBWe}wSz~6_j9`DXp`1|qI)#KfH4*wXwdb~St z;vdIXk9X%&{1f=<@$US9ABL|U@6JE?C-K$e-5EcjIpzN0DSY+3*`2BJPvfiS&F=KV zKZCEHH@h=0{#ktWyxE<_@Xz6^=gsacgMS`hJ#ThrCH!!F^}N}gweThbPOivJj2 zJ>H$E@t@$U$GbBl{!@JQcz0&Qe}=Cf@6NpV5%}uy?ktM`9A7=&oxb=l@YUnp>4*Ok zUp?NPweVlztH-;u5&mm@^>}yshbPei~kj0J>H$$@W0`!$GdYs z{&#%!cy}Jf|ADU_@6NOMKk?P$-FX@R7ruJDJ8$Fv##fJb=VSao`0DZQe1-oPUp?NP zpYWZ=Zr<2BRgZV)AN&~j>hbP$?LBHR_vd5ctH--D6@Dyy^>}xB;>X5Uk9TKo{5bgP z@$M{+?~Jb=@6Jm2aq-pT-B}Oc1z$bho&Nao@YUnp*#+MfUp?NP{qf`DtH--@6n+AH z^>}wq!%v8>9`DYD_=)h<~ygN7JC&5>bcjtfjN%7U=-FXT>8NPbFJFns= z$5)Sc=R^Dy`0DZQe1o47Up?NPKk-xHtH-<3W%edCr+mCmjjtZ>&J_4=`0DZQ^uSMp zuO9EtT=?$z>hbO@hMyK+J>H!a@zdd}$Gfu*etLZMcy~6&&w#HU@6J~E8S&NQ-PsA> z17AJfojvh0;j72Ha{#_4zIwbnhvR3)SC4n+cziE>^>}wq!_R`R9`DY%_*wDQxW=VAOD`0DZQJdK|dUp?NPm+^DqtH-}wa#?OPV9`DZA_<8ZwH#3 z@eAUs$GbBFej$AIcz62X7sgkQcV}VzBKYd@?ktaA6kk2woi*``;j72HvnhUYeD!#D zw#F}kuO9Etj`$_<)#KgS9lsR5db~UP;Frc%k9X$~{4)6J@$Q^}?~AV<@6OryW%1SH z-MJjU9KL$IJ2&8$$5)Sc=T7_z`0DZQJb?cXzIwbnkKhbQpitmT7 z9`DY3_?7Y1!_0$GbB=ehqx} zcz342uZ^!B@6HVPb@A2X-I)!)9=>|KJM-Yz$5)ScXJPyX`0DZQEQ8+=Up?NPe)x^> z)#Ke+8^1BWdb~TE<2S)qk9TKh{D1M)}w4!Eb}F9`DZ6_-*mkx5rnHcjt5b4*2Tv?)-w^5nnytow4R@LUYRf+fMlE@$O85-x*&$-ks_2 zyWp$GyE8j}SA6w&cNWI)hOZv)&eHhZ@zvwqSqVP?Up?NPweWl3tH-;uF@8^c^>}x- z!taHz9`DZX_`UJf+&b9dc@zvwq zxf6c?zIwbn591HSSC4n+Is8HR>hbQpg+CZyJ>H#9@Q2{5$Gh`A{!o1Ncz6E655iZE zcW2zWn$Vnbe{vYUdb~Rm;}6GIk9TK!{1N!-@$U4&ABnFX@6N*bqwv+^-B}KQG`@Pg zJ8R&N!B>xWXA}If`0DZQY==J%Up?NPJ@LomtH--@2>t|o^>}xV$DfF=9`DW&{7Lxg z@$OuPKN(*=-kqE9r{Jr{yK_H&Fur=cJHzm&;;YBI^8)@feD!#D-o&4duO9EtNBA@F z)#Kgy5`QMXdb~Tom@$GbDu+)ZdsxqmndUp?NPN$_XmtH--D9sV4A^>}xB@$TG+#j&-I)k~1HO8^JKga& z;;YBIGb{ckeD!#D=EvWRuO9Et()e5O)#Ke+1%E5Pdb~Ru;%~!Ok9TJq{O$Pa@$L-3 z-+`|l@6JK^JMq=y-8l|_7ruJDJ45hyXo-kt66&*7`byR!@ad3^PF zclO2)$5)Sc=V1H``0DZQ9F2bwUp?NPQ}8e0tH--@HvVON^>}wK#J_^C9`DYT_*e1O z}x>;XlS#k9TKA{3rP8@$U4-e~Paj@6LSq&+ygb-B}zz0$)Aeo#pYL}w4 z!2gD?9`DW*_}}r>?jjtZ>&X4$i@YUnp z`3wIqzIwbnW6$4&=9K&APUGZXqfXW1-I)MC2EKZ{J5%Dv#8;1ZX9oOO`0DZQ%!VHu zUp?NPdGX`mtH-;uB)&7gdb~UR@Z;jE$Gfv0z6-v3ygU8zk`kuO9Et>G+B8)#Kec4?i)!db~TA<0rvak9X&K{G|Bm@$TG? zpA26;-kty9C&yQhcjpoO6!_}#?mUB^5??*uotN=b;j72H^EQ5JeD!#DKE`*$SC4n+ zEBrM0>hbRUgzt{89`DW{_-XOghbPOj-LTvJ>H#Z z@H678$Gg)L-veJg-km=9nef%)-I*WX6JI^voyGAp>hbREfS(OtJ>H#t@V)WXl@YUnpc>q5*zIwbnPvPgmSC4n+Rs6j8>hbP;gr5&zJ>H#f@$=)W$Gh_vegS;- zcz3!i*o5Yk`=15z)#Kfn62B0>db~S5@eAXt$GbBRei3~2cz2e>FN&`o?@mAbV)*Lu z?yQGj9A7=&o&NYG@YUnp*%iMezIwbn`{S3wSC4n+X#CRn>hbQJhF=C>J>H#j@O|;s zxW=T-cQ`0DZQe28BO zUp?NPZ}9!_)#Kgy1HUr9db~TG7ivOt%KgJC`0DZQOom?-Up?NP8Sty&tH-<32fsSL zdb~S};Mc%ck9TJU{F?ac@$RgJUkhJ7-kr_xYvZfOyR#F19enk8clN}ui?1H<&Vl&# z@zvwqITF7CzIwbnC*e25SC4n+T>M7(>hbPej^7wxJ>H$`@tfeQ$GdYY{=fL@@$TG* z-xOax-knGAo8ha+yYn=DbA0u9cV5D8fv+C#&fEC@`0DZQe2m``Up?NPukl;qtH-}y2T(}9%Dfd^~;H$^GGckT!eD!#Drp0fEuO9EtZ20Z*)#Ke+0KWsidb~T! z;CIAVk9TKP{7(4l@$PJh-x*&$-kq)SyWp$GyR$ofSA6w&cMinwhOZv)&awF2@zvwq zIRifcUp?NPOYnQ(tH--@1Ab3@^>}yg!0&~x9`DWr_`UJf+&R6*T@zvwq`5AuzzIwbn|KJbASC4mR+(nwuoO1tj5Waf6 zJCouM##fJbXBzw=`0DZQ^u!;EuO9DCAN(ME^>}v{z#oRM9`DW)_`~tl&W`wF@YUnp*%yB-zIwbnN8pdcSC4n+6#Vh{ z>hbQJhd%*dJ>H$G@F(J{$GdYI{v>?$cy}JepNy{_@6I#$Q}ET}-FY297+*c!olo$m z;;YBI^ELi7eD!#De!-uPuO9DCr$w94oO1tj2EKZ{JLBQc#8;1ZXEOW{eD!#Dy5rBn zSC4n6C;n`F^>}yYz@LM!9`DYA_;c~q}v&Mo+B@YUnpxfg#ezIwbnkKnJvSC4n+ zY5ev0>hbQpguek_J>H$S@HgVC$GbBEe-plXygNVRZ^l=TcV~>nn$Vnbe|rnQdb~Rm z;cvxPk9TKU{B8K^@$Srqza3va-kk;Tci^kXyR!`bPJH!vcUHyUg|8m(&W8BA@zvwq z*#>_PzIwbn1Mv6atH--@F#bM#^>}xV#@~;x9`DX6`2XRn$GdYD{sDaTcy}(sKZvg$ z@6Pr3q4?_Y?%aca2wy$koyYJGXo-ksI)&*7`byR!-Yd3^PFceck5$5)ScXD|E<`0DZQ9EyJtUp?NP6YwwL ztH--@7XD>?^>}wK!@q*B9`DXg_*e1O&&{db~T= z;J?9Fk9X%b{I~e(@$TG@{|;Y0-knGB-{Y&tyYmeG2YmH-cV5Q-h_4>+&fEB(@YUnp z`56B*zIwbnBk*H)Zr<2BRgZUPiq_l5Xnq|B->uchYe1@GnqMbt{XW0+X#GAf z->h%F{7k2g`>m%Lb;^DnLnc~Z-gV0U{rR6-r|Q|)pV)eP$Nj;rp8W^dIlI-fKllG* z?@i#Ns?PuaGc%bbD+xiuCWJMJ683-#hyj8NwU#I@RYS-Efo#nJsHmtwRIFbS1+3O0 zRj}4ttF2nKYTc{WT4P0Rt5#I(W~~abF7SVzbIvpKnLGDX(r^5KzrWw>cOi4{d7saD z&U4ng%)NIw(k{Z;KI(6_@m~A4TFxfMgPl7qXZwvlob99jC9C(^f5mb((F}Ipw4Ckl zh5jI%?W4ZN>iII|y-*LrxjziD8eaXtOnoUeA;jF(9^k27n z{@Qpx=!H)veiHEcVE<$&uW+`Hc2sfeISp-rFSGBfHP6|!4>gt+B?Tahw8f%-#RlQxgXi-be@}%hcrmCbcx!t(9MoMIo z`Jno`MsmtTQ>Ccls-}j9nnv;8MAWuaHn8h;tyRm5E8E&y>K3)Pk?o#Y29g^H=0A&=U;e9Y{&(gYLxr^BHuC0Q zLCi1z65F7MnPQO2EZ+RjAncd__)e2>wM}10I?mgh|9Qmx@?R9C2wFybN&d@8U;M2j6%|JSCo9E|362}FaNzZU6-fAz1lY%>E-^W+eecC7H|63D9+FS zt)ooFtB*5@3u%>4e_sFpLCkBDkh<<{{-k}kS;arS+P_eYU;c%5r@z`JC?p+s32*)( ziuc+inM&t@P0I^*9GOt6b{|Ff<-he?ru?~iCS@V53h2+9e_u!buhyD$f49f4CX||g z9;Nro|IUj|{-^afr7I)@Je0io53~7?mkjLs$!%t1uq3eDSWEaZ){*}0+iZH9PFCLZ zN80ofFYDM3&DN!oz(#o7Q6&`bSN_-yW{>uQsRmU@=?|tqNiXB)SV~VyZ#Pp{-EK0p zxAU0*eR|x{VVgxZtBUUU-M(F$c6@&E>W!!Nomn1M9}Ha3cjnsPY%GWb z%OkfG=D)l%aCh_x6)g&@j_qN3N~@#jiT$%y>|EHfeGYxc`&ie`=JNJEYFF-_eHX93 zcy$NqE}Prg)smESQ(Q7-DyP0<~5RR@(X zFIv80ckWHm$GW_NwKiWv2VS~&|Hgt?aN{ex1NpHsbyr8(mf>5YYD09_ccc5O7QC5t zeaFlD^Y`!GKk$_Tl^=RiZ7i6kvd3+_ag>^|F{4-D#LK?UCFA-x`R>&DR_%NvwlP|! zHpZwQOqpjy5udQwgHAKFyj{!T83i?(jpeJpR*s}Iw7%jNOb|669n z?G6mPU5~aAQT5CRqi!8|*`EEKX=@74{yf-!ps8jvOCt4tSMPP@ba)Kx#FUEJhG!dkE;CB(}No`=Fr{whYYVe`KsWg=yiee z@S4Jnn-5bN(dRcWpnB(?GHXxQNxQD!y{|kRF5OJC#qQN~M}PZ4GdnlmytSzCc6Hrj zooTle=4Cx_#k|0-0joZX&m13roZC^9M!)9O+4V8?=#Tf6w|%U36}0Ww3Tn@eqD+;S zXBo; zo-}FF(d5j`UqAQU^qZT{=WV-uaP(T*0r5VFW_LXq@^Px~5=_&wP+GW-PBMcreQX_! z=|c<&8@!nC z;&_-(Ad;3?TSK!7EX$SznG(B7mmw>58G$VQ+hwLa^L@&bM*H8$3Kf_?K3*O&I{#=+ z%S+@m3Vl5ucRGbCBxFiAzfMZWH8HEqr->>jx= zbF5?VYP`6%fMa~}IF61qxPW8g1b!_5^Klq21NgR%r};GaE@tfcr+QkKX$6e@{_>T4P)JUyOOYkPwV z434)^O7BZ&+ks*6-X|5AY0upyYZBeCoH}Hrj_hY1%$vOQ;*UUP5qlfFYD}c5y^Vq; z(v`BcJDIxV)UFLRQH^g5L?cf^@;mtd_5>0=3&u9 z>Eh?T!RB5nkQW%4lb;#N8JKfQL0%x2PB?-iRA%N3LUfpDH)+O58>Nn;v$1e-;OPFL zoFg)i%sf1^sDECdcXVdI&87VV6c-7rP|U;}mmefcQ36(K06lV>tVk!2q{zr5k9yM> z%e?I3fXWL@AiG(;$RW-=J1GM?9?wbk=D7SMe|jZlPx9QP+z8}l22LSAdl##t`ybW6 zF-Lsi+Vv~}#n)YumVl~C3R57Y)~@=V7pAF?0%xR9AA{b60rkyPRP9A<{+mALQ_^}9 z2Gp5e#J0}#v6Uk9CJd;vQqgIt$eyDnA~?shd~!@Nmq=o^f@*w9vY5J5tyF_1j!cQk zkeK0tl(;MtH<{A;#Ky?tI)_ai!|76Nrc)X!m|s+;jq*+BSE>UkdA_<(U7`kErecL7 zVuhn7j_}L*pcIj>58nJD`gPc=kM{DQx+-Pbb!ok6T{^Nk`arb@sw10YyjpMAXEgrD z!`3gq2>qn@o-v1{^bw z&kQR6-ZZCvY(i`)j8dB$` z9zLaJka9Eq>?3B=~prKF5VFtv9txM>g%xgCtV; z?RXQhX3MAI{YPDD!j$IVgsCTl-h_U0c{+^-I#;D5o|Kx-v{4iNB2#Ur9%@8suIw7$ zm3j#5lQ^XcGx(_Hd_Ghemf~5qHSCDKg6z{JEn4(-Prdd3J`TJF3hDY?NcH1Oje*Z{ zvguQQf5+i*d>_`h*2;!)%`Ht!D=O=n+QzM@Y;0(1tsB=;-&)aHy=+`-Q}dGMy0O*m zO}JULyso05p;jySKChOxrq*!;+iI4LYpZNsHms=}>07f(CXcPDuN}K`T1iF8#IDorIxP}1%IpL%DWWQv7K#{a;cOGoF}!JU0c>kY z=mMQvQra|=*2EZ<$udcG2;>m%19pe%?F+Tt9N;EzX_n<^|o3g~jbcU^hn5|c;VBIWXsqrkS@n|HZy|?kib+#sGqQayx zsUx@K)FfQaJKx$2ghnOlgF?qV; z&9<&mYjY$t2=YO|u{m@b+iD7@7!}X^S;w+NAzgmqRQ1*!*^n~XK|(`D*IdLVgt|Ci zTgtEzQglyxzY3n>t>9kX%%!3;Y^B6|h~yIYJ86LEaUiyI2bN+(Wf#FVR`B2+so-9= zI;0wUd3!{L_$M)HRAB5t_|psymRWD{0{CJ|rCqds@=Kr+#28$6KPnf}BvA z?ilHISmwkB%ek6IjZSjNk@|>_<6K*11Wez|;Fgh5uA5I{^oX)5Y*!oyrXQH`se6l^ zeN0;9W}-A{4NuBBY5E-wy+}t`FOXvo>}$$kX82r4tX;C@Asmd@>f<({fT;nt6tvs@ zU|WkU@2$D1<8-~Pr{=KHn6epe8qV;<&WJM8h1N+;@wqC3p_RJXxF?7U+!Nxy1wt9N zUA2(5Q+5R}LVwhjZC8m%`Qqa{S4e>^m2{IdnNycH86|= zHocCp+gwW_+e>hUFx*s)Z8k6@o|_bAax^`_Ou4-vH=Ej+8fSbmEnNgE9btV!eh_G| zr`uhD+0$V}(#VxvLB82_hqG;s=G*Z~HHrIN8tA6)Nclu3!&Kr2*!13(5uKMO<~wJ< z*_G07Oz$xjnsPW62$|lWVcR!g+t3@9g8(}dh2xzrKI2H8*zs@j(~T*$pj*(|=aCe$ zdFsQmh>dWK^Kd`AmxyQBPwYzfmECHukm*UJG+xB_2fb~5>p>a`t@!t&v>?>ij8g1u zx=TvV*l$f=H5uBz8rI2mi6n*YViA}hWH2T5H=90Fr?*|y^mUV?>0Rbf)eHz6m&OyL zxA~a_&OKAWOrVq<%|k0{>J~3)tEsM7+)`OxM~{P4G%u-Bwe?MvZEE(cirTvRwwe}2 zCrQ<+x~6fWqK9PKIM}Qf)iqW$H?62?sc3DkscLJX`w!|G8!4#8?TxKItk#PcQ{x>Bl}+85Q=sO5Z2>FujbC0bwuIl1=Kl%%t3%bd@UlB?@ zdv5{|zQ|$UdpnWnmpb%~J;YlacDl=#JM66Va1Mr2p7@l0m~!)>e(sBI$V;(e>Zj+p zy{|EzkJ$HKY8UQ5?jm}=j~k&4(Z}yqw2{IGqZstv<=%UZ#QtFp`{TRGk8tQ++<&}B z)NF?x7ccYZIT-T!0>qTp+geipUp@ElKe3daD}H8p$|cU&Pdj4nMtjdP=_DJi_JO1-|OwsXc(jw*Z&fCIQC8-nR>jDqwU`RhTog888czeIt`Rcj9*KkruQFr8Op`|$76=_pNBJ)|G3L=jJpiSxXVz-CpV+ruVtwDJ;eQw zyE0PlRhRnoACDPop~D~lb7l|mdWRhs_un67ImShnTJ5m!KQ8zIiR4A<;fiEz z$5EEL%E7(kNbG#ap?C3Z4*hKoeusnK<>2@C5P!sB$HgCa=%04*XB_-x2YLMqu+!+^Ee`H~ ze3e7ba3n9{zyI-44n47!yomntWNhdE9Cf9G`_KP5YLi3XUGBfX$Wb>s>~D4On;m?6 z5Aj=J@CP0IAqRid!Jl++|NT^sdd{JL(Ze|yvb_tVOg}WA z|0i?*`8hY`N`REt`~B9JasT7_T*vnpx%%Cqe)TyTA#F>(Wez^y!527qZ8v#~L%+J4 ze2qiD&cXfXy234M%-$(n%H@qP=L5Y{?g$XQ z_k6_ESZ~L5<}_8}$zX&Ir==XzT7GpXkvatHW9Pw-PYwYnFSj1`kq11WrLu<$D(Z4MJ)RV8d z6=_Jyd2v+xF+`Pk^f{K(Eul%vL6+a-@!z~teTbr`B9fNjR)1O&RcegozxU)j!SdA} z{WQyGd-O9czeBGRiTGWjiuMcFdiY6}KjGo0>9Fag2`lvb=9YW+o7I}rD~>!%z2$8l z-e!5Hhp*Cni1NPMbdA*y(d$H_D=gpO;n!Hc-cvs}Xg(xmKX|j%f9BEOZuKUgM7}?@ z`mcN1_d(5bQ?B!vS9Yf!mp*OneBWc|1#8E9yuDNN)cyM#n&%`Ov|I03{-P)5ubLOA zH$3^8S34J|L(`HId}j6Md3Z?ISAlxU!!tD>LT^${Uh=IzU%!+t5jW8C3J)J{`6C{F zsO6I*2^+jM$?{u0{7B7*sDYmH&eA+9*$9QqJe7Jp^L1 zFX?h863wytEgttU1HX+qp9irFsVj}WN%hNpkTFbr1b>>yz^cadqZ}tbN$78oyJ8vek)LTEX z{B{q&&+6UxX6K7jq=Fy*Ed83D$-``379^`bZ*DFY~&~op{SZulXc)QVZ z?|5mqd^_0YP4hC{oRsTqmstHX9{uH-dnRGhY_R+_kA92gZ+rOnEPvC(w_D!N!+&JC zcmDjT<=%FA!17@pJC9m^ricH^@_G+{!E*1o*lGFw9{uZ<|HZ@KvHX1x|C{BT9{T{tvd?yT2P@`6`c{LoM&^ z;S(*N=;4Q3KHI}*T0Y;y=W3pMoO7b(Cwug#SiZ!=&$Qgz?p2oe@#vRYewc@U%kmZv zUun5_M!eASVvl~Eb?DB zjO8bK?2otHJC4k6QKi-cCl966rZE~)Lp|1o4^QDoQNDN;c%@a8X|A2pq|EYfXr36? z7g%1cd1BtX+VXQWPxQhMEWbkY#Hf4G@@<+Y_NHT@euWsH1CKDJ*fB#xcL7U=ax^udyeQ<-sa zlHOwREH*HU#j`ls6lRlIGMOVLbHrrMeKH%E!uIe-@Hl)-d6_oMYfi{(7UQqpCDQRv z-q}=k#pU8OX2rQui1VctyF@E?idO72t!yTo2ZiWo1I*gmnP3e~;6!Dm`g0C{&MQB8 z5^H$P8eZGnbS-k2v*k7C%WIplu4)cj4<<-FyHZ-pq0%|R*slfirg4zn<0NHTQYMm# zHv5U3J(-$a|54h!cj*c~Z4hs#RYO4%H1OKj-A!D(5`YpHGymzA;y zWpk__QcNkHu0l$q%RqkVv}L92ec2pa23`HEu~n<9pTo9lwU1?`99uTWYHUr}(s2b* z0#lXjeW@-3=V$Y7otW-Nb#}Hw`3|ULDx-%@8H`TTmTUs#h zaE_!EOKHVU(TeR*liCoMfigzLc0yi47TLiE*jKBrh>GON>h;#&n4>R$_9WYT~AvbW;t~1AoE1 zDb_O+H^pS6=Ys|FCfksSn{3mW{PY|_$xVJ!Ony_0WQy@j&o3k~UhBcQVBRE?e6n## z&p8B*6M8&Sw#KF&wG?M^*JF}G#hIsUEncG;k9ygn&0a_`C% z>{^br__+U@a4kf*S1)^9wtpt*g?sg~Z)N*ufnK;*FUOl~-+bpm8?*@b>W?td`Z)*w z9SvE8d-a7@!1*r(y&MlRuLLgTI*j-t;Bx%M`YPaZs5uoh85rgT4;9oCkBhOM%OIF!N==<-C@;`3}h#e%q{cz73%No8@C^-3T20X#&0p z>@)*^0qlGWxEuj{`?GLw`^xz%uUo*5aIb!W&6n-Bf?l{+e}>hwJ@Z|f0m8ldtF4~f z`9!!zE8MHU$LiUicJN2IS1;|w{wxQ*aIgLqu)hNI!oB)GSUuZc33}mPy_M^Jat`R1 z+6eAf=K{YR_<6v$Th8Nd74W-2e?IV+fL{RoL*N$zr^9}|Fj@^<#yg{nfZLz!)L&oI z@7BZ@bAJq7haqwaaQhRrny(=~-liC7*DPHNdM+m~jMf1^LQ}&#fFA?=QsBn|zYO@- zfnN?>`Z=TZz~$Fj7~yxY)nMn_pf~r67(cHBz5?|B1zgVW7+nQ?E$H#P2 zF5uS#58G{C;dd_?z`qN6bDxB1mm7f(0R8uXj|9FIxVcZl)F<9^G0|$cKDU8hIM*lY z%fSBkL4ShX<|*=K;IdC-bPI6V2eE!TaG5jNpB+A&{XxC-VV2$sdZ}|pKL9S~^XhKk zeJtntH1}T61}(z5K2d)d*#8;WIRf}Sz#D-}9kTsZ!0!XS{Rv||PyQVEWmeCt`+;w; zoc({mhqM2v{{iGHZATLIIPhP9ofm;W1pH0l4+DP}_#?poZaJ@h34D*`?Ej-aoc%|= z`QF-$_s2j#T7N%h_~XFM_sWJp0em*-p9Fq9aOuP3f;z==cGuin!<3HsEoc9K1$Kn9 z|EO;V`_F*>65!7Q-w6CU;BsFNqhABR)#};L=Yij8Is5q=AI^TF{^yXdxo3z3v^);{ zw_xX4;4cDy(Q@{u6ZmVEvp+BSaP|lFAAx7B;0rrmb}KMMFOz>fj` zD)5tl^Kp(W=KD)y|25z>p#MGaX5fDSem?L&0>8+?C4a8Z*Fhh%5zOBJp6}pt2PEs? z1pO$`BQFO2C(s}1;In|g1^RC|`02o}1$`TEEU$bo=Phps=&>ID3%KlS7=6dVw*g20 z?{x6{fTRDNz|sHT14lpKb@2Crqd%WJc$%$4t{?Pg2ypbL2srv9$2s15J_7V_+iiAb zj)Q*<_&cCK&A}G}$MQBhxSSh$%PYs&%(1+3jOs0y9D{ke9K$ew7yN%1{6Q}J4%Y7m zz03(-E`5?Y*5|*#KJowyY2np-VBg#anaa(5kcR&m^y9z|w#!uDe*yjR4n80FUqNr~ zM>P3jJDU3u4afdz?jtlD`=Pmy(D1*3{qI4($aet$JLu&&hog}{2m1Fx{~2)XKOwu{ z;b`>J+&`DuGJ=MW0fTKTh-?Y~sbDxv(e-HR`CD=i}2{`(5vxDCb z9Q~2|wY~oQ2K0NupVu7xE#Tfulc1Irwbg z=#Sio?)7Ie=sy8}S{(db;Ifb4@^m=(e*s7Tzw6+)07w7jetGu)Q}FX?(0>N}B?tcl z@Xta2p@V-4{0q>V`%6;CZ$Enhl>J2i<-UHe|9n3OFU-;ZV;%e?;OKv?gEs<4|JMM= zcH#Rxc=7r#&mS<~2la3#==TGE)WM$tt~1fODfP00zYZMR{X^h#Ov0u<1s-H)?Gmxi zD=hYxlcnIA(U!*k)@ zaPZy0;h(GEh5bRE4IKNAJom%;gP>d!K;IYmQ4T&Ecme3=JNOyE z`+>g3!5e@-0P~?dpTs86|EodYAMAhE!EXUR0Q7e``2E1KyiYs$3&7>vja*j0cko@n zvApu!6}vbH{7kpE95Ol>_(2YSFz~^kpXA_20v`hUZve-7I2}0pFVBau3H1Mb(4+sC zIrs+P=>HA}|1og%{|Vse|F40g|ML79`(Ft4@K4YW1^&5%r`hMySUL>!y&Zf2@Zq2z z>EL65KMLbTo|9t}=>L4sj{y5;Id~25k)UsJ@N&*V|Kl9|8^F>3 z#SY#C9Q|Jl9R2?`aP(iEgJk~?g?ji2=;b>&lBfqA{Bhu8!Om|T{8iw^pnuoF-v^H0 z`^fW}UjOs#bD7N1|3MBu0=QhGxu*~Db9vl#SKfVVjKxxin7`Cp!|_1fPGdbIyT2frIQ+Lz~a**?A- z<5ke3{dXMv@4%-*d6j)mml5(9@M)lz=YSa<4txse<-2~8sAC-bIN(Qu9eHk;(NVx# zKtCP$1rELrIQsJ)2j2#K2H3Z!>57~DXyAMw8!wDHp+E3_a=eV7KWs0e@Cn&UWy+y>PaJ zdMnrUGn0+kC1%%*jscGSq!f5R(9Z&n?TGzk8tAcK%><79;aK3Uk!G!y)Ffg?Ryn)Y?m#-u^o$STXVkl5{_1GvUSd@Lv31K z;rB(|EGiA zp4w`?aMq)pS)jKrXuWXOqn&x6w};+ZFP!yg=VZ{^LqDw-&U&Ql}od(d`sa@-ZvmWiVgFaU)&4+N-qn!&tFZTv>3gN6rJL^Hu_kznJob_mD z3+Uw@6;30Z^=M}s=;hvc)(dAn+PMStat|}>g|i;*$k^xp*_VZO5zczF^Ayapk!v!nmuD+zQwe81+L3ci*5g~NgtH#)$gw5s3+Yc5 z;jBkHvd?1uP!ZEwIO_|6e=TSNtmi*jgtH#)oB{gbBBr%))}x)ppyz$LEW%ljc3MF{ zQpB_t&U&=78uT0|i*ROW=TguYiI~>HS&w$E0R8+xB7tz$qMhxaKP(|v!dZ{|wc9~I z7WBedk9K|r`eM)vXFb~a1?b0tUO4N~&J&;?4|?IOM?24hegf!)vmWid4El+n7tVUL z^9JZAfnGT4(aw9IpA358tVcWVgC5_pC!Fpcl@1v@;&;p9Xs2tVcW3Kz};ug|i;* z%mn=zpcl@1v~wKjzX^KbtVcWM{bi=SXM$ch>(R~`VE-)83uisrSp@pCK`)&3XlE(t zD?l%t^=Ri?pkD}j;jBkH=YqZx^uk%c5ctKQU*yACk9N%a)J%O=fnGT4(azOizZ&$y zS&w$U1Ns`!3uisr*#`Pr&;jBkHyFuR!df}``J96J9`~NM_ z3uisrk^4DW-vWB!tVcWMJ#nVIt)LgqdbE=hHX^p)272MFM>}%ADC^rnFP!ygrwHsX z2fc9Cqn$~hUjcgItVcUXgMKCGg|i;*oB;ZBKrfv2Xy;VWp9^~7tVcWMy>h1h&jY=1 z)}x(fu)hlQ!dZ`YR)PL}&(R~z&|e68;jBkH*MWXD=!LT$?c4b{+%$TF?t;J=%E|^y@$` zob_nOycf@uw*&OTS&w#p5B4twy>Ql}owq=L8R&(x9_{=U^p}HPIP1~QN1$I1df}`` zJD-963eXE@J=zIHjELu-Z-ZVq>(NdW^rr+8352sA?F<9`)d{&0&iW0&M}vN&4`)5v zG4JU!?RyRAg|i;*91ixc1-)?AqaA+l9xq%!oAj3X5YBqEQx5vgpcl@1w6hTOTR< zJ=(b*^f!WDIP1~Q_d)+X&(S2LpuY+9!dbr+_yeHd=EGT!b{+-& z_dze5^=Ri=(BBMt;jBkHFM<9R&(S0Tpx*&{;jBkHa-To<&s#w+ zob_mDKiK~P=!LT$?PNxci0$77df}``I|ZQsA?Ss(9_Ql} zog+bi2k3>f9_`Ep{f|K}ob_m@9Q1dBUO4N~P6gc76l;`#~?9^=Ric&_4ir;jBkHyFvdT=!LT$?R*6KUw~dX>(S1B&_4uv z;jBkH^85&o_lH3*ob_m@AZA3Yf5dF+PvNXbJHtW$OVA5v{UgA~f&Nh+&U&Ql}ow=ZY9Q49jk9JN5{S%-U&U&Ql}ou#0E3iQHRk9L-W{%Oz)XFb}v z1oXcGy>Ql}o%Nu92K2&Nk9IbK{#noqXFb~44EhCuL;~TgM>}_c{)L2G31|IpfZqrD z-}-RYqn(F9|03vxvmWg{1^Q0V3uisrc>(k#^uk$>b^_@}#Pi8(pcl@1w380{--BK_>(Nec z(EkDS!dZ`Y27vyLpcl@1v@;y^uY+DV>(S15(7yqC;jBkH(?S0x=!LT$?HmXCKY?C2 z>)!-^3h3YR;jBkHm7w1Rdf}``JM#P&x9{7a7tVULa}L;l2lT>Ok9O99{$0=uXFb~4 z2>RWi7tVUL^F7eN2YTVGM>{_R{hvWEob_nuUeNyq^uk$>b{+@)UqLUN^=Rj}p#K}_ zg|i;*{1Nnj2fc9Cqn$s4{(aC3XFb~41Nwh}UO4N~jyyNV{pSPF3uisr$<8n$*8daq z!dZ`Y27vxU&lH3uisrITQ5%0=;n7qn$;d{}lAXS&w#>f&Mel3uisrX$Ae~ zpcl@1v~wQlzW}{()}x(EK)(<4!dZ`Y)`NaO=!LT$?Q8_Sg5xFOtVcW7gFXOy;jBkH z-v@mV^uk$>c76!@5a@-o9_`!>`ZUlBXFb|^0Q6zd3uisrc?|Rs&_hWwm`fSh(XFb~43;G<;3uisrk>^->KIsK|;jBkH z@_Z}nb3reh^=KzMlK?HO&jY=1)}x(+K;Ikm!dZ`Y4hH=}pcl@1v?I^evOj%6FP!yg zN1nH3eLv6(XFb}P0{-*|y>Ql}o#~(-2zueHM>}&sKM3@~S&w#31pUFF7tVULb1LWu zgI+l6(M|>Ehk#x<>(Nd<=nFwFob_nu9MBI1y>Ql}owcAJ272MFM>`upKOFSJS&w#Z z1pNrm3uisrxefFqK`)&3Xy;zgj{?1L)}x(=L0<%V;jBkHPlJ9m=!LT$?fe$>hk#x< z>(S1upqF71dbCpodU-~PBuY5z(M~hyr-6OptVcWNgZ^;P z3uisrxg7LIfL=K3(at8&9|?NltVcWF2mMi?7tVULb0_HKnJkhh;jBkHzX1IVurHkT zXy;d;KN|GHS&w#p2l|~H9eJSXLvmWhy3i?@~7tVUL6Uin( z3y=5Npcl@1w383|IiMHLdbBeT^ktwI&U&;n1oWqYUO4N~P9F;M!qU@0-%nHXylup8 z^QzEpkD&EvyUnXYyUh&shgt5mKi={nt;g7HUQM&xY=5TR=9O@^kNVkG(`vl-7h2Bt>+CkKme_5!f2G~#m2kF?`ZlZa+Fxlo+rP?g z^J=x-X8X_CZCWdw#r4c zZfh~?C9>64v$9PUS68-Gs^Ueht*W@CroOV6X>sDGw*bPgZ~^uCK`w~({cWz4_}1o{ zs{{evu49^rK_Cc!?h# zqoUU=YF}JYxoA;K&GMw^`lhO+aAiwnf6K4GlGoRLPKa zZA)bXsaonD5CAv%M3WlI?Uslb?hrI{me?0(b_M6 z8NVEli#PvcDAF(g7wS!_@isB%&u!$*pXYDC{N5q|m0P1u+}=k3k^ zTw;FtuVP5c)n*m{^yc4AF@E`vZ!k$Pf4Z{PNGS8GT^P#6P|HUrRB5`7gBj z-)d8G{b$jiH-Bztzx?;vjPScpHs#I#Zeo7<#~N9kc-D&Z&!InW{`_5_U;Z!H0fpCI zNSc!WOT_&0Kgs5Qnsu1-&!s#L&)1T?HaX=6 zn+~sKG52cu+}F!kcbmPg`Kw+WN-SP2Un}tQe>D$GT22~d*6e=){dxW8a}TdgPSHAm zKa-EOIPBH(xtd@8FKl8p^%>|t{VD9tpP#|>+T?U0-Z9Z~r&+~6z1kBU`Mof{^&X>zS zl>Q{WjGrx(o{DHkn^>iDud!yEkBf03dD6mR@0`klg*N??sYcGnxpPVA&7X&jl6dp!q6-u&|%>5qNcq`%FRz!Ovr4XriBRmDwZh^$)7))pEH!F)R_$Evyk2@(eSP9Up(`# z7ytSCJICJ=d3V@b&+mEp@2~y&tv}U%vGiY!dxrgJ)DKR)>BR?MzVEf4zJBK=MeEY< zT7Sgb12+|@fpoL}_16@sBR(0}k)~#ReAkmlyjPxnOJVV4C6`y7{z2@vwKF;bWfzr& zwuIG`??s|xHV@B@2156(4{Yq$S6vn^+Y+MNl)hWq5mlEQ6jqnqlNrhHTckR>!Y|ylDID$W+MPR) zUgDh|F50?RU9x?B`t_Uos$D0%{Q0AcuYa}A%(Z3DU%r_tVB^}b%HMK`3e4U0+TIzV zd)6CE2NkI?n{M0GQ52yZB5KmQa9~52ZHA-QlhvX-_Us#87*V^PF8Lz#vrJV$y&|7{ z6pItrO#Itss@L7C>FJK5G*$j-+6x6VEb`ORRFuMe0njXLbcQleLZOB8u-3&W}b_xQu=1*ioj2M$1>s&EwSJQ8z`34%@x2sJLt2u478} zFIxP?E4m}B@*?+d>Yz5zeL(3R#W9rH@I3Bs{fdhB?%P$cU4z@BitiN7kHyr`TdR6SW(+S3E7RvTg!95xkGz^jeKfSO zZxPjPSlzXWdq(;8om)Fc?cDmOPuYvkO;2sT?yb(~lZD}EQQ;oN{gu=1dg;~AxxBhv zZliYDaq3M~(dY%`ly`ycY0~pHQ(xV>Yrk9h|{*QJ>)dwBh*T*(Q%DY~R zJ+`82Nzolt=I_4!`DQv8-grfp`o`Ri;nl$q)&CKC^c0QRt0eT~zC7}1uiBM&@4nDa zGt+)M$6G^1g*Pil%rFzf)>BfAkT?}ii5n$xkEDC!&R$zI`eyw!43E>Z*Gf;1?szuB zC0%=bc~RHa{!c}BoDl6C)3tTuGXr$(@u=OLP38S|wwm#`8S5H5bUj6MO$Br>*z&i1 z-rQvT)01K!Y_>Dcu(i_PbnD*|rB?6k+R=~NE0V|aO^j!ns`bwW^-M%R`oX=ibML8v z&aS6&J8!*b>#pl!pLcfc^rYBz-E*I(j@Qn%Yx{NV$c&Y*`*>?rAaZucj%TCgR8HN# zeY>_&f2%FJ{|K)pgJNNF*jTT)LCT*yEMOSWT`^(g~!hxdEzf3C{^V_td!~T@k zx#u04L+1oGhQlXCDZji3m0#_;{)v6MZpadabIUjF**f7-slPy(j-yedbEEaf*vymq zZ{>WrrY2rXxv26LPvz!CHiRGR+S$w_Vpm?@{o%6Vbl+`s$NDI@bor>Rt;fAzbwx(3 zfR3~CGcr_pI*kfyR4XLD|O zS4VD9;pb{YMqYM#I9ys(`1h0YvZQXx+Yg$VmswQ&qkUCt&y04^OT9ZrWzr1E?YT3z zb9B*7yKac-QGCk79YrykH}|OYpGZ%-XbzW-S}hi(p1|`!dDo}0ym0ZRj!`@}aXC#H zX^egMpf85go8iI_OI?W-@kK_go_lP6e0QBL5%t5stvnm&rEQ>ktGaYekoP9#BX@3X z*u(Q+bUV$7X`Nm7=5oC5i#-4FTyVph&Qdvh&cd&W@ls5n02q#k)4rTUb5&JREG zV`emIb?ltB5&&09}@LX#DHa;dij%e%UCyPa|EuxqJ>3g1y1vh%X@vZ^ktrgqAvz4miI z?ils#k7=v~%G*v2L=VkW9fxMA@^G}Y{FcpI%iCVcEkAE@-t;fT2Tmn^=v3r~@n=sz z_6L2L{;%@(cZlxEz4qZp7oUG>)uX#JWWLz8W>~x@Ui7t&Tj&Vlmf0#VyK`;0lzZ6P zu{Whjo}3@|u3dlp`4?PY7tKz;wWx3njopu_M-EM^dh)uo=q(va_xUwv3@tCZcI(;^ z=j>-Y94~e{c09Acyp8H`ZM0Na=L)iY*cv+G_;}y0*RT7uz_ZVY7V-XcuIkvHMaL-{ zvdULbkEUK7KT5gk-F+9Y`1Tyx$MCViTZ_d?xXd2^ys<|gaq-bkcvMj#9kC4SQa440 zMt99A*?;khMJwVnrtPznuGmd>B8xkUvef;X*$N+#iPw*=sQTsy!F%RPKG(17+P`sg zB)IYA-GTcz36=fa-2VD_>biILZCeqTyYbp0MX70zn;D=Z0h)s|)DfHR*ZW)^aoZM8 zirlYw#NEAax5~?~#|6~uBD~KF-a%R(Eq6!W)qBz1xvbcA-8-N1et2zJ`R0O0N(+wJ zSe3Uk$Vax@7H33fZ0;y}YJbsfpT+dCiB()yR+Y9h=dOjltKV-s@tix($vOA^r6(@C zV_8o9UsfG|{%z+k9r4VFF^61!NbM0%9x>|3bw_@q^5WH-c`Q*K(~O^9bo*Z;2mh4! zJTe}oqGME))1-4B;XcIPG7Hb0#TK{j)<^WaPTTo@{`$Fe?9OHF zpjoSPMf8Oz&8T^qJmSJdG(+|4-1}*aXQ)|S@2)H={_8$I7x#WVpcFlrKYphv~V4LMIbQO zNYZp%FrZIYg8_Y-8w}Erq2xgwmlhLj>;%nE%o)i^f&4>AY6ANM`IQui#DYVE+0W5d zw53J`hXr%LP1`D3*T8{397wY%h6kfNC>V>ekyvaAeWq^>{UrSaI^)(CvO;%dE+=RM zcW3cs%b1DzsSf0tz|XSYpqPFpaF32DG=Y0{V6+L`rvu|n;O9Cp%>?e(fte=ofDRmM z0uSoINha_M9XQPd9@2q@Ch%}3mtlzsJfZ{jCh$ugXf}aIb)d}z9@Bx9Ch)iptjesR zugOAB=)h_d^P~=}$*iP^r}XxvnGNkK^t9f-!iavQ16P^AGdggM2|Sz5y=zNmS*r>? zrz37KuWAkbI`j_3WNXK%#&f1pXlB5?H#IOgdMdH>_(hJ~Wvz88FvLT3;#(x~MM0am zFnUc=Vtq9-Fw~b0^P1$Y^NE;@`!hUqcaq7x6X&bIG&=N3UII5fOWn5jN{TDsKEX>q ze*~r#azS~q;iI`X@zT4sjiSHK33;*6XaClQd!IwG-x6^js)Zw>T&2A9SxTXdcxV}g zvg4upnno2kGOj&{69kUTl6V{LE#baZDsWUfJDJAAzwft}wWz>!19&bl`f?4}lnI~g z37_H#FNlZxEU&Cqfm5^XB}P@SsDg4lEqy1IGqmB63;MJ*G^@Z_alNsBR*qDg4fpYc z2TEA3&8gjF@Clk<`Uk$5=s*1fX9icQ_!nU6BNBb6MQ5aKxaxvPig+!E`LW9pG|Ti4 zoPicS<}n5BgVb?8DT0@H%q}&ev<;WC4`+rljtL~3WGh$tSP9Hd*6?ddyuNugJAE|4 z*yvJ+1i_1Fm^*i#McJ+%@QOEc0hTD6aR(}=ch%N8LsOgVTmhXJ;YEe zCDkCuZ`1ML3`|KRPF8ZVe*?@c{o8TRgA~11l&HF9<&h%8yS| z5u`Iwff8>K=22k>0qyH}7Z;21P}EZ>M-JloH<)-Wa9U56@&_1_{{=1&_;TVWv$P2U#{F4fsC(z;XGU zGH0kdE`J=2uwIkF#L@kO)P}i)ID4JOpuFP1(ftJ$_0J3Rj?V12xwJo<>P;usae0tR zo=+g|6@xx#kikKiDTBVK7(_ek0tD<-zsoKTP%Tf;-uJ)!;(!YF+fYgo11N&-@1H=P z3=|D@AYDGHk%NoX(fyC=-*kv&W$_WFnwQ(>;xU1wyYAxV z&-5|BIG)I{5lDLTq80^IwO7pEpXFoz{|BMhl|a&~A9ZX%zQ+$bPJUrkRv1;N-pNJka4krkc z(9vd# zMobu#lJA#xl`j?e)kH7K4*P{qwqLox&o94P_M0I5b*Xc429@(%HE6cqAhdDE`o)DQ zozJ-CR`Q)Sd(m4Ozob6@yMi#i=+nm~!UsAh_M%reeu=67?7yQ+N$X=@t~SM^$hQFUt^GWCDR|@l{3#ghNLtaBv zFH?P3icj6prPQg9{gk>Q`~3V%(sH0IDG>!C>c%wlMNV=|miqV*x(d4b=sn{ONj<1Y z)*37Pm5`T{S1Gk~7>Vd26D@QJrU#bcg?!87Rdi2aAn;iZUH+kk%yM`fKMOOiwX$Ix zJsq>OqOz{3ZQP2=#)hWWx^XS_tre}+%f_`fH7{wd8(ZDpgqu~%>na)=YPF)arKYB( zt*Lb!!M2)Z}mN zB^SD_VMW_H%{8sXOE^T2;j~w^neFDvs%5pcHc+|9Dw>;C)U;S}dxPDmZ)&cosIF1jSz1eQ4Y+FKG+`{32N;fS{fzY%-I27Xdeg%9!`#L!4 z!&;N(RfYqR&;o|x?9dp!4%l$ihGU_i=F!jvdL4?O2jN&G#J^d{=}mmph9#Zo!@X<- zN7!tX_vzFfFbcWCF%!i~}}Vf7nh+aS)~mX_fIrM_BKXXK0NnRg$FwwA5Rx zj2}9}`eCdZjvAB0`MN}ghxGPvW7I_S0;4{D8>_t{p@^vULrT1 zU6}C3G+-FH(d!Nq9%(W#3D9FL5}!=!xW~GGg{c`0>1Wr{dfsqSiH2c`CP9gGgtdfx z6le7kedRT_A@-m3vEdJKiIfrOko}9EUZe}X{a3%)T4DC5*#Vk`q&yD zY2w3uOqrw|?7ENt2rS8Fp4J z?Gg+bU(&@FNk?~HS}$as=?RC$MwTdshhlnUWrbGiwJ1yhT%X~BNa#GR?_-_qZP%1u zPffN0q_Gc@{Ak$fbo3)`CO^B5npQB4r6)^CkrdO<$V}R#n4~s6%*agj<#9l=gY*W4 z%+QZY%?ys`D`Zd#$+yEFh7aY4-TM#qFFX-tl1w1#HfJ*O5 z?EZ1E=FkIe-w3<+(`Jf_kNW}EkN8oE)Y$)!B4md}Kik`>(#(;%ZX(;G;{8J=P3az7 zn*m#*biHjl1z9o2k<#O65S^>r+}637`v!7#N_(1mHr-A~*q(;RlXe$k`=)LT(|vSe zYbj#7m-SsdptA+*o9$SK+LDKC+s?5GXx=q5iKL8sNKIr+$QU*qf%Y+`s}8f#^KFe3 z*fAqq#`2-I|A%ayPnR}`Sm4cB_7&Ojy0V^Fmovp>nF8XTQeo^Elop{G$5vUy&Vq$P z23vE3Yz0ukO?l&rL5Z{`Ccej&V}rp~0ZP-8%yEyDOm;KzW0`Evu}rpgF5T9Z9OIDt zw)Lf8*2lP||3F~}fwkoIQKn=skGDojjt+aeznXf>boG24VI4WZ-fn6(?v1pjRPk_Y z&F+Uy;~$Rs7sEipxl)UynzhDMz0sJ0XdkV{?uU)YwIAjaH9I$mr}2IkpJ#ZUm3bv* z=lMveUe6%CLI=fX6573*T}cropnw^WJe3D+H{o+G+2*;2M8c|gWWLhCYu7yJH z**QQ5(sk`69hD_r`6$yWlVUt<9|hZb7PmEQG^SD~J2b{-s;1k$N7_4n)IohGj|*fg zM#d-|9hs^N#phO6(v}ot$doyL9A$TQ)=+OrkYRPhY+ch&LhBk0*|Vx) za&T$G(`@*7t2@}P$pdp5=Jg;F(oJMaWHS*>j!fFQp-i1?%pU87Y@f>wV^AWaA676Ja@d#TF_IeFn<1{?S z^0>w1cA`DCX(uU7T<6nXrlF<1=-QvToDd%g($n>5mw8hUS!qc;W;0{icxkSTnJLI< zOv|GNcM$rhJicd#Nkk`>++ubl**;(7DVTw0Qf)37yT^QrNB&Z!g2k!I)ULLs&6K1Q8{Z)&%rCmww_IdtDeKukxk$9&nf9R&{#L^!Sk}5 zC*yITOJly-Flq6+xUplLM2%?=QyGREO;SBf!`3t@Ob&c`LA=u|!x{$+d8NZOj4JFrN23Sv~ z+Vu!qtloAlVHp6kEDzhGo&r0WkGA|syUwxe_#~Mt706v9%^t9u%SGnc!d@;i6AtfH z#6_LJrjCTB=!%m1=o7aZ34L2vfGLNRN}`LcJ5%ji!g6+1Y^yWAuatR8uG&%~nm#K% zB>Q#+)-f))^nA3Wv1!O`W7CW$W79)sQSu=Mb(w6v8?Q5Ra@Uw*;cVq zwJvFDX)EL>S1Z{-BfWuhQDtLwBGlU6P_d+rp5W`|jR0^z!hicFgmLz^fW?&!4VBB3 zdG)5Qi1xute_`+zM3jr)LvI#t?%Ygbel-yMAdpuqs}f~IoeI?3FNHqCRDzPruH^d zkyN;IsVkXkGzF?@oB#!lo8dAh1$3vQhmhl)PH)i-7Tot1RnUDEik@n%XrQ8V+f-L9 zsjRQH8g<$-deTk@ktoj-P7V?z)Q*g*!vk+!IeJoHbzrz3r=b zV)6LGu?>|iRZFI~EH9Z{*HBqoUBzTk-SqnAlF8MyUDeQ3T~j~3p{BaB@tmGedvjY{ zIF|l@eWLkmZL6NXxUrr58w;DYQYm9w%^feTg=1^^-XRP(HjU*T(^l6=krbd?YwD`n z##YwXRnk*vi*-v;|Dcx))8LUB)GZpX*LX*7YiVj8uFct$yQR-{eZSN1`T@5N{z2j0BYrySXQS^KbMIlH<(V13EPcB4SEVnOc9yT&`(T7Rt|H*f6rKx}J_lphjO-()v9hmu0zA-F*({NIJ z$iA@vp}8H6ZhG@9|Bssr`Jb)_zHty2@yErzolNxHU2ze96hhh-KGVTVdx)1g>>TUh z$2<7E9^xlE>@4gi_dc;F^;zq%V_(r5j}^U(>o;)3)rt0635++zj`s$0;j10`HQnTw zI`mgK_>~U6$-()dY+S_u8xhjB@NGTBw>#|I)=hq&L+|1bI`oe__|p#ljDtVt;4e7% z%MSip5AoL>cHZqKf6t-+n}fga;Ga8q(6bAc{^sHlhd#%_a~&Li2aa8ne3O3f0XY6{ z8R`oi_VIVTP|xqA#zpeQ--SZGi{tMwp}xBue-8=m9PjY+LgWuuccRKh_yUFi! z=)21wbl7q6haCDx9QMZL;tyh zr+H4Pq<#i>laF`kUHmAAezt=j>)n6Y5p?C3n9QvN(k2vi26o1BHzo+<14*Op< zf6b9^clqlMJ8yl({9T9rzkJ2~eTV%IzhX|`NG2_^Kc#Ovla?>zbnAE0B6_-2Hfa$~ zUl=DX!s(mUq(%5)-Q@C{C}K?POm^5Qad5hYDQOWqM>+UR2cO+T{8)#bh27-mI`kJf z_&Nu_s)zVB4m(?Vh;Mh;=_!7P!~R_kexHLs=-`h!_>B=v{n_Lw}fqk9Y9N4nD1i_-u!rG6z4t zoBTwF{$vL~t(*KzhklWRS3CHU9^&;5J1*Yr&|mD}>$=G=cj#|$@U7kCH#_wAIrxL! zfI5k0-5HE9vv&%x;@ zl#&+F^NXi(`A_)~4m&PB!=W#A@G=KKzK8gU4m)Relh-=*{3dQ(q@Gtf_~j0Mm4nmI z$|Wsgzq|Yfhn=3{TOIaqcJNyr{B{Sw)4}g^@CP0IQ3rpfhxqdjJ1+jFL*HHgw!_W` z-Q;PJr0y2~9?ivL4!w(KIrKRW-nW~4fI~m5o1A_ECuxy!H^#vyI(UhLmwm;2k;8ti zgD-XPMh9<>0vv zKGDHvc9YL`=#O>qdEMkEIrJwx_-WnbXE^kW9K6=SmpFKR5AkM)ou1-t4*M$|e3gT* zcJNCb{7MJk>fqZPe0w)J{pfDeBID=|2fxd~`NwE*5j*!e`27z4kb^(s;Ey}_(+>Vz z5Ahcqc3k{rhyML;^1TlIrw*QG8Y12_(k?j;-n)nRAcviv;)M?Tqa1vUgBLsacn6>C z;L{xZCfp~f`120_qJzKe;IBFO z>kj_bSIpma*mv>2IP@Pl_{R?ZNjLfD4n03Aii?q@DSjRu7vcQiGA_b196aYM=KUP@ zdx{To*e`VO5e`1u!4Grr@eV$@n|zu>f0TpI>?WV>(7SkdAS{jU3dNJ)TvX| z-PKj6GxFzdAfKP%tA7CwR&R%A@MAWRugLH(+CY9~hJSSizbS*?lEH7w;P++l$NnPz zWJb=58^~YH@U!^q8UBXy_cL;`_{SOk=NbI#4E}8f|2~8NxPg34hF?&NdrQ@QF|{&y zy$s%P19^)Kztslvwi$jF?~vhdD9>l)Wby4X{DB#Kmks1YGW=l~e0T;Qxq*CihQFbF zTt-e7pOE3t%HW4&@WV3rk$(|CE+Z$4r@wq&wNKjXSNbF9>+(}G^3T{neoltJp?pO~ zP8Po;!@ntm-7ibMf}H%oGiX3!;h@v1HUP4`xgI2yiP_=y$oKmfqc^pzchol z$>41>c>4_AHG_A{;Jq^V))_pX!3SjU9X62fl;ID~;6pR`UKxBu2H!t}kIvxZGWevw zh)>JN$>Osz{5cuCGJ_wof&B0ce@O;EDTAN0fqZ#}zaoP_xqXMIfJkH zU*-jMs$K*2%#NQ$8N7G{dBY4pi*K6Yx5?lgGkC8IzI6uAXYc_Te1{CaQwHB9gAd8z z!!r2r3_fxL`IHQQS_Yr>7xBX~ayFDN&dB+z_(>W0r)KbTGWd!Neo+R$EQ4S97x7y% za_-we{!oVhSO#B}!Jp0GFaAaR)r_3iGx*yX{QbX(f1Hu?bp~IP!3*lH|F~Ui19`&? zzeNUbmBBk^@U9uW$6v(z1UageLial+HA;LBDgrL(WgHGiRhHDp%PWF&o+B-it# z7tRnSJoxb9Sj)s)mkSq0!Ha(4iU*BhEniP1Bsm*-UuO8#GwzeEm%&Q|-qWvd*dnYvVZRVtdp~Ru=7;@7#NH2X<5>GXb4XAg z%lSEjyKaDgGnhX#gHOodGXlPYFXwN<-H7FH=>4JZ2lD#-j=8N6QxpPRv# zX7I~0_yZaI%?zG(|4YY=>)|)_K9Q{ZJ}NWvv+f6ZI`DV)+dVvDS^W>dGKzPoGnok#j@fkMMq*4F8V6xAGJPFKx!_XYl43yj8$Q`SP^SC{KsLx8-JC zw|Q2EpLPA!>luF5by?wcR^xs7J7$zW>-wv~>58nK%hqeJ3_c~`Q~h$&*O|33YmYNo z*Yjjux3eV3xAL5k!B=GPl^HziI-ip=zW+KWgLe+z>R35@W$;NEyfTAlo%g;v!+$M< zf1Saz&I`R8yj8RH`ZR;D&fs%{HypElJIU%F^_ak)=lwoaO)7b2+^^IAE{me@d{h(fhxf~D;(2&~MB1-qQ54=+vW54<`%t#> zJbWGO>Unsbd{58A*T-!~CaO&%^7|hk72quh`r3@H*j(^4x!|Rm( z=6QI1%Nd@B*X^9^c|LgES?+oGJ@3Vyhu?Rv^gR5&@}HiE->atmOBO}p_e8gPKl~mu z?dP#53cr83-}~Wt*GD}M?_+(+^M=9e$n&0u=j~tdJUm~W_S;w#h2M|7>G_F4IhS}oCGb!6e8*tBoa6bz;PY(yI_cMT-7hlz zW=Q*4D~a~~4UM87y}vkEuYzR$k|;fHRn6pnD#;Bc(c~(WJWJollthC9p7xto5^Wyv zw0=vXWx;xN@cH5Uu5O;E^;#8{_Fq;Kh5e^(=lxm1dhO!*KZE5C^SpOZpCdg_U;nF? zJI?dLLC!SKyH}~nv$>v!{d*tmx%)Am(W)Eg6CKk8eBl4of@UnNmtP|gRuA0C$;_dMJmpY_WPUPhu< zz5j5K|CZ+qf_nJS^M3{W3(v#zKWTqk^`r3o$uHg?6@0!cN~*Xd8Xx4>NqGI}$iQ#x z{q2H!+tm9{1%4avFAefLdcS#4L1}+jB~ki4M%6;n^NIDN@cYUgeEv37YVvHb&%Y!1 z>LKlyswCNU@wPadoMcRUaKar)TvuwSOHJP-R{`rh-f|DRty5BpuIo_tO# zin;~oGwXUD_T$mm^YDJ>O*{|J2e$S+yq|6>&%^U?-8~QQQ`^S#A;I~s?L80g3)t23 z@H+54J#P`b|KHE^@OsPfmJ{qp(-U42?Hshj3eP)LZQA77LeKXK{G&YY8MOZsJWuzJ zs<6{M-!Jgb_5AXn{a@($;K0AabN2)BzZtIge6t|ucF*?@%71^tlg9O%oJTzm&m*PZ z2NbPyJb%gi;rWv{JP$v2f8cp|KH&?`!_P`qlH1zbSnbRZI4VqUf^V_+Qua z@Vs9m&#w#oO*|hP_!M60gVS3_yZBUu#jRW4- z^YHxJww{Og#qaESc;EUSo`=_)?dy4XKBV09XM^{dQ$0`5tF0}5l%B_Q=aGW_@j&l~ zzmsy9=VAZ$M|&RjOTX0f$AbOkG|$8PP|o!{JfC)<=i&VzS9l&?zjVFl;d$@0zl@@& zBzQ@>*ZX|}p7wvS?)mDcynj;AuF}_`qA2X2@Za7K&y&CF`8`3-C!UA>@_p@j*w5Gx zo`?N_rC(&a^XJL_RJGk}B<-~*3j4WA+kH_Ko>$-4`(b}mY5OjU!v3aOdp|ti-of+N zgYuMl9`>7*_6JcEh3C&>?+;1VyK21#dLH(ZGsN@oy!~*`!}IE+JrDa!ndEuc|H&-R z!}HtoJ+BwMFFnlj@Vxplo`>hpPx3rGzny-sToi@($)^28xYy-ixtI8y@V?8dJrB=& z-{kp_;QjDjo{tXrL!O7{x1aPpyp--m&%^tJUiUmafBwGb;rZ~-JrD2u_}26A{*E=C zhv%!SC-voCzk=guy8Vix@Ve_J-rugO2`10deg|Amz*~9$p5S=9rRQOP8fBiR>s=Mr z*YoiEk!?K>`vK4|*z1>LM<$O|IeT~>-k-j&=Zgcs-1G2zlc}CJ4BEp1o`>Jp9OU_? z!SOb|kG&}B5%6QZANKQ^UiVNGh2Nu{?)~)jr)quA_q8U-z!(ZwLGn&%=KC()+ZFqVT$) zAG{y-Q;|#R%eCjA-fDUt{?1f=&v!`js_LP{^GAZuL8YFD*O|BXJiI=(5cPKG}}gCCZ`7iaKg8T=m^{L&15MFzhi%pyWc!_VA6B;ZS+}*%y1HlEYjpeW z`qM*ydg_nl?USj!^sKl3^wFQb`csxnDNCfXWcIRT{<0*XObMc5nzO9CcrsHmEzy!W z$`n_o;4+Ebl-n(tRoUGVmdx8d$y8a&y6bQEMA8D1>>ir2hvw;#>gi&W;BLt>y36R9 z{E^mEvzB$&q@J3iXCfsrWl2s?&D%{&?WyJU)U#e%XjzZ+uL62$F}*aYEM0Do^ttBf zr9ZusD$r7UYp&i}bT2Kcx8i$i_TKXPXhI)(eN>u0N$Gl|E0L_Ja?=$T?5??!!uLqZ zty#n;OdL0F@|f~*x+WVy<9=@Sc15nob&y8}%jWp_02%1-J*BU(0o) zig6Drm3#22pQcrG&`RV-ZA&E0#Z9&?lI#!~_a*J=OJ!TAr!RnQsbsg2@0XoyF^&5g zN%kd;`R#ZPqyUn!AZ>Ubhmd8TDW`AGKUXNDsTAUUaBDXkWNeXKsTle zaSy5p_n^YK2UW!IbRTmMD#7q{pK=fB?0r=Xx7e=!F)6+qPl~Tc&y$AX#*+=}9+M5I z$8GkNVIVr!!eS=NbK;yo_CdZZGgVR+{w%zc- zebbdK>zb~6S=V$0%lvAW_4d<~qll}GbWMFtrK?}&D@>(zfoYJh?Q|qvzcktEC=E)r zq+O^Y5}537ZiA(BC3~A2OVg8m&5flg$sRR4JyyGibcSSia%1TX$zFNCg^;@~jZ|3wx)^Wd^m-X<=OO8mY z8o#{ch@o-69KW5*{Dv;`$A>b1fGG1vh%&$F%aWH|H-GZ_>$XJFaDBC>&7#Z>M*hH4 z=9_hyZ^C7MBbNC_T;`i^nQx=%OTShnEu!DJ{ut3aT}WSF{H|#wm-#ka<{N66Z=z*> zGne^eVOjFh=CZ8?B`-;??fXTg8>f$7hTk-P4=nRLh(-8avCJPX%lr|tEGc37j$rDn zNwd2~Lxx3_Gv|z%I%!hnnA!6xlM#DfF=yh$@l(dQ(P-A(F_R{YnNmJuQdI8Vb5um* z$IO|1;KaG^v0~oLsA9(KITOcBm{>V+eC5>Hv!V%eF*0to9l}k~?-xxF=`gR|o%Fo{pG9LPQf8Is; zJEQ!@Lw`H(E1%^z9{TC^yJ`8;Yna@OZZIDDLwvsO^lXIsF&_G(QJ!57&Sa=-c&8s?Xg}9^;{Z9LlflWuLH(n{Pb5t~agEA;>pweo{#H z=M?0t{PxMuxcSDHp?-EpzH##{|3l<&4c~a^e~NtG6KOp3zeGOk-+1V+M*bcskMYp| z+52j58>77$4}H6zRqcW6YdrL8`R{qu9)_Vj#zWukiw*ZL56-#zVio_f?*zD39^bx9g8op1rZY#zVgc$}=3k@zA&X zgO$GzeB+@%0Qn=}8xQ><-dFy<@QsK5FyxPfZ#?wvzT|Lw84rDTvM(9bK7VtKjOU?W zqh~zy)9ZKB*OzkS8xQ?syc6ad5B>By z;52_6@{Nc7`^e}1Vm$Oe_P*M~c;p)o{U4Ff`Zpf>Ymjekz%42=9{P6Qyy~Yn%40nA ztNRyvm4709kmNrdOfZ0Cm1*1_=;S;#jY`qr;T zSbpQ7KMeV^k#9WohkIZ3+1x*OPb1@@Z`XaRJUspz5B+f{kG##!KcO9c?Y{G{evF5HvH!|l+t=QcyQh)y(6{@#l+WY8@z8IK{6#3g@zA&ab(GKJ zq4Cgff&9afZ#?v^pC0A&^~HGTw?+OD$TuGPcKwd>?K6vey7s!B(C>`=qmXYr^sRp& z<@0!GJoI}Ze=+inhyF-e*YKX$47#zWt(*H(GBKN=7H^H83nQ6A%=Z}*W{zP-;k zZoctXk#C;?Res~eG1Wf9`!NkFA$+^Npw1 zAE%#Zk3)Hkn{Vs&Bl5Zb8V~(7Sl{E3Z#?v^UnrH|K2vMi#zVi@pZL}B=LF;%4}I%j zO8G3m@z5WN{H4e@9{Sc#mE~JK8#mwh2;`rLeBqk&&kL)9{Pu&Jg2}n9{NXmU->+~84vwqkpDO2 z8xMW!4@~*`d~JjA&`+=PPWP`<;TsSA^!o4g^E=z8@z6g9PPvu-Hn@X z{1W6ZL%wnItsYhe`F0(oar2E|jr`M*Z`^##zYh6&y|8i`H{bY8$Ug)5#?80<`@A2% zei;w_f&P-u&^I3X>GjR&_HB&)*Ldik>hpDcI}_zM9{SclT-ZL1hyDe~KMVQBL;p6c zZwr*)c<2}SOE^_Oo5MFA`c2@M!Z#lJb{)Fbm-T5p^t<_d)#uq*U*n-~{pVS}wOixn z8{ZoF=OEv>`EK#aVEyo|%@4TwzF9`okbf@njhpXdBJ0mj`N{t7Cm1*1pC*bHApbn% z8#mwbtzSUp^ZlFg&|iuC^O0{n^sn~5mEV?YJoK+a{sqW49{Q`iulCsz?ag@TTfc_3 zzE*F>%{Trg%JX-W$GG{nUSDH1?={xTl=Un2iPp#-+?RCVs`NqFT{zb?) zZoVsSGR*b&oml-?j&bvi&-cFS|6=4DH{Zuc)^DZqFM)47^p_z2QuxM0-}<>!{$=ou zhyDe~zZ|~t(6@dumA?|c@zB2u`B%U<9{S&UU-^80WjyqMME;e?Hy---y8$|$@cJL) zp>O?qsyuwZYCQCt_*-Pu9Z0||2FU){Bz~p4sPd2#qR*O&tmFlg>QA`l*oPxL;mB)vHPdRSAk#V&&O)Lo&bNubCv%| zaJzq6IZuJFLC(|Q_7fcP$+!0BVU+(2e7mn&{iEhtB~^| z`19~z0#!zc&_?<72Nt=kk6cZkpD0EpCjir@W%f0j&lADZudcI zxwenEr_sUQ7k>l3-FK_?dJ}vJ^4|it-#6BB-v)o)`^tF-{Oyb!yDwbjc^7^M|GrWA z%(45w#ovRk`wumUzYl%^_y^!Gf`15Z_k}CxBk;!leU$je;C7$4_$S~C;C~8!9{6YA zuY0a~`y9MZ9S7W?`uPI9)N?KOOYm{-SVSIq>1|?OG;1_{U z2d@S`7u>FW5=#4pPxEWQKN5a1`0?O1!A}CWYo&zF1+NYN3Gh1LUx3#IxBfC!Z+2~! zRO>%dd?WZx1l*v9`rxg>8-RBOXP++p!5hKf1-vo%KHwXJPXKQMegJq=@Wa5_m&^&^ zÐ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ßuQ286%hSsH0`mDYtD2)+edXUkK7OWMx%!%~-@oJb>psBql)HXdj>+79 z`&}Hi>75_puCL$M4_4|pO zug3(M^pv~)7|34_`O01YQ*rowX#@C&OF#4Z$u+?9gtNa9xPIQl&8Y&v3H&D)Yd{EBoCSQ;ggR!0pd& zcDC{HUN_2J|7agyx$6(`@s+#&FdtvJ>yPpAmAn3AA78oa&+ze;yZ#&>U%Bg-`1s0Q zzsko~?)r;;eC4jc!pB$c`d9n-%3VJ!KJUsm!2a9`_>I8z8%T`woPkyShA#7)z}Gu8 zFuIu@^mAax@j^5(zXg1LUh%+a3vg{WBm8c~XqIVUz7_nbhFWgFGit$Uz_)=v8~E+O z&jEf1aNQpm-3k0W@bw&t(L&(A0)G+kyMZ?X|26O{f!_oCI^g#L*Pm-=bRY01!M`84 z{@uao0pRxg+_pa-1pW!+JOq3n@P~ox-w})+0e+ZF^XNCg`vBK-NRHO;+41b(f$`@X{HGp4gh}+{CIhNWb_B%M+1Kz_;BEV1fC201>ipcj^9b21NoPG}542<3eZokiJ^WOok-z#VIF7V-yqkltj@Oa?wfqxqC_ko`S z`~%?jd!@ELe*wM({N2DCfqw}68sHxRzXkZm!0!cazjM!PMf(i!Pr!c{_+NqR_vIPs zbBc357oRuJ-@*Svct7HLZp^-NKF>lwC7$Qn{`m}Yjug)M{{Y@sIOqQ}2IqYAM?wDQ z;M?z6(%+Hf{|oqZsQ2H%XG6XJiNU#E^v{EO^>1fVyc)>g2RZipk+wbifv<&n_1MKZ z%DGjnr@1Yo+ z>qS37zGq=nIacucb`s7g0Q_j+dJTd7{=)mwbP#;yTrc`3LcRLh!8y5*AA+2j!1Y=L z`}TW;_IKA3z*o-oqF)X5CW2oF`FKx>HNf?n2G?u97ijD42sz5RUi9tv|LpU$6ZqR8 zpMIV$GT86=+5K6sjquE;#OHoK41DEWFZ#R0=k1#e{yR`_3h;jb*T2DOQExxg+ZBA} zTrc|e`+0VKyMdo9e=soW4%~hZ&#vzgzz2!X>)Rs+=X%k%-?y{%_5^<-)Y}XAY~V)% z{~6TVI|k=^(YN29v-RRVh!#WsQINA1xSk_Xq<6J&-d_CojvjMw0e%eRY=a#A+lX@> z2YxL0uR=~=;O~N;2K*!8-2eSzaP9~6_d-6N2Oa``9OQH{-@mc_)*tv$z|(=-?~_>{ zzx!jqH)i=j@TW-*qqEIHjwWcB2YfE@dZ>30P+@?TCI{qFobSrD5QA1g_`sY$gk5H5>c^ zz()X|27DxN`@JH2TpbmI51@SX%O!`~nFId$z)t{fzdvOAZ8Y#Jp*<%8zYq8r;EzH+ zZ^vA!p9lN>8@nH#1pdoDzWx4<^~Zw$F4Q{?_&(sdz>hSa_qXdc9(Z5j+&|pT8q-SJ zroi*Sx8G~A?Lj{m{0ZRO@3q)^CjvhQ+A|6G3gCLpmYbyCW7T#xOFOTFdZ$3njlj8` z>Td%+75ra8y(a_zJ@8Y2{|)%5!2b>TT<=b4r~O`q?YC**C&&d{T`%?R_bRNff7^0Y zckwx5I^+xiej4zZz-IuT1t@Fn110emU& zt9p<0_AZdgp`B*OzSip+hSjE=BKh;Cx+3 z{o5R_{;z@a^&Iv8=y3I0fb(@2_4Ph%+;qG?a{&AR^iNk>mIwBk>(CoGU-!`bQ4Uvs z9Pkd{|J32?7X#<(44U8IaP{@G9Nfed@b$ejs(YYw67S?{W3@ znxt~|_1YbC{ySQIy|$oSef=ApIqtXmx1`JUZz$%tKkMHJF4uEr=D0r>GN6G+D`c9> z`dY(iC2&2Kx?GP%%<=E;O|mSHF#jgt{CA@E&#!#=gTPnGG(~z(`tUyhUk(17KKujV z*#2*UWBWsJJsjJg;=_9ZUjyyY_bC`59|AtM|0Ewi2{^W2@7u=t*!~LevHkTv{376u z(EiJOxV_J%-LJ6y_I{Ra`R$N{?f*USOQGHufnNsvP2g*Re*pY);GY7&0{C9wKL@TK zcw>Y-F`fVo%&!E$EAU?c?+yGa;ORbmDDZXQj|P4<@I2t_fuHWf&j!8$e0x7gyI#oc z{U9yB2K<$fvk~~^z?*+r~*aeUJldeHkca`df`Z|@Ih+cOdJ_5O{lZUw(9TnC;6 zzP*2&%|UMO-xlTCp7D@#8|0r1{A9@2`#Q3^4g5vm^K~}u&lNs=t;4lFdS6G5z8&)I z{mg9pr$fHp?~&Czz<(R^PXiyXpCi}nfF7WMr zxorDq0oVIFGSYK7uG`*E%lc=7ulIXobT{xuXb<{&|3+4S4gMYA<8>#!uOqAXfd7(@ zulH$W^1?*~5zd_DIj#nbyVvibn{a~)r|*L)vt z@1JD*AM^D(Hb?6@HrH$Kdu06uG*k2SK8@@@1nqeo>a7B<_c>(rFz^q+e+0N*mu7@K z39f(s27Eaznd>=^0#Bypd0>Rsh4^#oJoKY~cpXXk0OIJUQke(NNrQa$c;Fm-eN@h4 z^fOtefg|wqFgb?W9Q?aXIp?4+y2&{n+LI_V82uJF_QPYqb$uEA4tOf$JPusfi_sIn zbHN`2d@Atmz-Iv0zug#}1^g-SYk-djz8Lrp;0?f^27W2<-ve(3J{kBn;LiZR2l%tV z9|8Ux@SVU<1^xzb{acmM`@o+E{}bSU1a5YGn#Ty=Pf3L9BrkxU4E#mlJ%PUjT;Jbd zbO!Jo@LvX=3w$T=slZ#>*MRH$1B?oQUkm=9fHwnw9r!lj zyMS*8UIP3%;BNrm3H(jqZvcM__~*cn2L1)`w}G1-LH37tfG5f{kKP5I3LKAn1Ayak zG7~r+-*SNC@h}%S9>=Bv$K#%^3(uBQ9-5-}p5X7PQHI!uHFBMq{VeGdp7VFf?@QB( z3}jH=pURm3FYx81$t|@Sc z@Q+|o2IcHyP6_z@-8LPRvyV9o!0)Ltjg_;HIkn*HcUX8a9I`G3QqBk6}>;J? znDYj-=Qx#Vtekz!c^`b9r-O24nDbZg(^aOia`rLj-{21bUpc#&^A-35!B@^c<^<*S zi2G*{_{!PGoKD~$5598tF{c~&gTYtMKIZfRe+c->*~grI;Ol#%yqI$KF-L!QjMsN4 zi!vx@A9F@Rex}MaR?a@=={0#EX0AD%#m@^-I{Vp>vrks7u(eKf4d(LE02IcHy zj{Q9@yFZ+zGL4n9k2wv{p0mMM&OYYo_jI^DbHG>5KIU8v`9B3;Is2HS@4IpST=12% zk2(5%ANJ1yUpf1jb2qf-XW%PmA9EfCzW{vY>|@Ro;1`0goPErB7W^Xcm9t+6-2R@J z-M;f;aP~3hb;vIUUpf1j^B3?-z*o*b=KKx(Qt*|tk2(JVzYKik>|@SB@aKcCoPEqm z3R{WyhjQ?hvyVC5!LI;cIs2G%6!_h@Z zA9HfSuL55=`9iTyh8m9vjIE5WY^Upf1ja|QSpfUlf=%+c?uaeEelubh3%xdHMQ zgRh)@%(1`oX8V5$_{!PGoL@u!Qt*|tk2#Nme~eC6yn0RIO36)`ybm=m91 zC2s#p@RhTVIi0~@1-^3jF{dZ^tHD>!KIZfTe+~G`*~grr;5UM=oPEq01^%VrD`y{b z#({qs_{!PGoT=ci1z$P)m@^&x%fVO9KIY5;{|fMxvyVCY{Yu`xKL=kq`%=rWO*MhH{eav|c{7v91XCHIy z?*!V{i|fEw&OYXR1o@l6SI$1>d|>68KbQSx@RhTVIlUnNCh(QB-weDT_&3Mk>|@Rl@NWTMIs2G10{kuDD`y{b zP6Gc{@RhTVIrjGt?f$bBeC6z8j(&fc`|~#Nm9vjIXFz+lfv=o>%qax_cJP(6k2&^t z6m9$O0AD%#m{SM&cY?2+eax}HuW0k{0$(}%n6n!4e+9mB_A%$@;NK0ta`rK2Bly1t zUpf1jb3OR?fUlf=%()f(d%;)EKIYs5{(aypXCHHZ1OENsD`y{bo(BH`@RhTVIWL0$ zAo$AJ$DBWb{}A}f*~grB!G9Qhg1-ZN+yMD6fUlf=%((;n7r|G~KIS|O{!8F1XCHH(2LEO7m9vjIJHg)x zzH;_4=N<500be=$nDbZgUj<(|`%$WiH+u$o_ zA9M768r+}nfUlf=%$X1Q?}D$Keaxu?|IgqnXCHGKz<&>XJPZCu;45bzb9RFNG5E^a$DDV; z-vhpK_A%#g;C}+Xa`rK2KlpzIUpf1j6W7s7ynp@;eC6z8&SBvH9em~NV~*Yzh4ViJ zUpf1jGXU~G17A7&n4|Ym;rxGqubh3%84vmY1YbG(m@^&x&%syDKIZ%s{C|P3oPErh z5B|TwSI$1>)PesW@RhTVISt_N1z$P)n6n1_ec&r+A9Jn%e?R!j*~gqs;2!{AIs2Hi z75p#2SI$1>+z=zWCPPXu2% z`a`rK&0rES8ubh3%xeWX+ z;45bzbJl^c_kJhEQ_eo-Yyv+S@|ClXIX8o!0={zgF-Pyq#Qk$P_{!PGockeP?+HVS zr<{Gv`7QX}AYVEAn6m@??%*qDA9MZy{t@6SXCHH32EPaR%Gt-9KY`y9eC6z8&fDPk z0$(}%nDYVnM}n`MeazVdzTSI>6i+$(nDZIs`vyVAj z!5;y>a`rLjZtzEfubh3%c@TWPXBR1+a`rK2JNP+}ubh3%`6KuzfUlf=%y}LB(cmj* zA9Fqc|3vVWvyVBSf z%mIHg_{!PGoKo|@Rv@J|6>Is2Hi4*XNWSI$1> zTo3*<@RhTVIk$oT6Y!O@k2&{&KOKDK>|@UFz&{Oq$~>?-AN-z%+VAg&WtvB+GTo2H*)q+eRGA(?WAq0L zck?ra$I*DCO!Fv5ra3^D`l*K{)5niorP_{WHWLMdNhvm2-dQ zio>IIGR2_Ax1(_LHP|C{4l&F%@ zdG+%PDyqt=sWE1{Xx_Yqr5CiCU0Ge+s!WZmnqR7Iwu{9;l@(RgJUg3K+si1fUa+9F zO4q{9C|g*xfUJcTwZ#`?6xG!&te96{N7+Bd(3?VdbKpM9xw-rhW8nP>hhwS0%LftC zbgom@B5rzS>GUs={{6ShXVJ3X)qecjh*ZyQKR-X?>0d7W!{Ms+Qj(52nu_dkTY1pq z!$g{nRsURB(aFw=x%H2uriEE+H2Fm+;Tt7F(t^Z77vFg|R^j$~uad7LONi$>B zpL&a3s#zA``nhhm{!(IG|Kaoxhun}YO+`r4y1b5gFOIeRrLw&Cv&L{+dC>84n&#!* z^=g*oJstBxG-$oHWIwAJb9s5+=c%b%EMm*;wM(B*W@*P?V9y+T?3 zT7)#M?N`j#?qaQfj$HI?kZ^7Xzt-vU`uyQ*8FYxQ(L5c0A@z??AY-?!Ty}O5V`fgU z3%oJOj``{I0f}z?e0Xl2X+4l2e;%Ro855>7= zGMDb*(Z>s<^lxri^ec;9|2OjaPJ?-puBYW}_lllwP^KcyC?l073o6w1>j^6R_j(j6f`Z%NHmusn`<$7#rrnPBW)f`!yTg}=eN7iQFs-9+TwwSe<>efu_ zlzjff`Slx&m0+!0w0OO{=l1QFUw;jyau1nqHxHkWd-23e%5G@hPp2LY;JD*x zzqE&`M6>xiMdj90arSP?aq-5Ev-ix6OQepcoiILBLFcUsldTeO=EVifQ6w&4_Wrmy z-VwaGIGJamO)*Oa#w56hBVHhI{TbA}P<^Hs7}Gg&0*2$pB+X|*uZgJx^@h9>D}dw9w~w39<&wvc^x~BB}99GOj3K|GXmp! z1-p#ycw)yBI;QtJxob+`@Pyo+O?kZn^dcMzdBH?G@8qs=6cWyMK*D7!0`xXl7RiY; zN%dxRZ0{Hoy^5J?<#p6kIp1EAX>6hVUN2j^G27q z$BnV<@iCZg(a0=Q_wh07{=se}OeTERJ62!(Aoc_E+w^OD`Y)F2!`ietM*DtH-&1~@ zKK5a4>Wt;ZXh)mn?7lXz&At|6*&nnHcK`W7d2QN4>+pkEjJExtZB6-Yyck*k^)^WK z=uozAz`)*ZdNbD6;ZtEc?$VHG9{;Bw_#Rb3^X_sW@HM?b8lZvdqn^XZ zts7ETU0qo_bbfL1P;(V(WcHBK%CaGgb4C`7%#NV?s`IL<7gh1Bp%qodmGvd1^kw@6 zwWS3M>lW45Ra9ma^U5zMsw>YZH(MeUpjT7f48e|pP%s$iK;6^ou_u#IARH_;6A8iI zQ6&_l8!uX{6Jfh>C?R->nL&oh429K53I~H`R%a!la4_BwswK(B1uxL0`KuYGej7t> ztyN%YJ1deG2zHW`I=irxY1x|ZU-mFr_Iz2^lxdoFpw=BWCU%F}m7`TzY67SO5_m$o z;b?7kAjn?=2uS}O8B8?xVNwpsxNY|Zg8XHYKqx`C$l;PG6?Bk}r}?&9bbhEqbX(au zv?c7;>!O<^MM+24B!`>&ItQ!Fm|B!#CTI<947ul71(vq6j#F}^)YMhRon=hRF8iU& z27*0|+BH~V8zAM*t;;lzHdSSH)%;ZRz~{y7eA2;l|9|@lKh${&)>qY5%&#gfN#%Bx z70s*tA8OpZ`ijaDb4>DT&tF*QnZ9UMd9;gK;YgvlylA0k9wPl%TVB1e&a}Lwx_(|| zsb@iC5nd-*z376XmQ_|4)p=8+yHg!lDzl319s(J`_d0j;n&7=aopHNX;H>9YtqNui_YQDFyuAqEL zO?6#KWU7qb8=Wv=bn1ZF)Ds!QGct!Pt|+Q38z_CF2WI|zknb}e@B+&Mo#R^F?@S#Y z=XFWVyFGF0^0;l`bCaH&{@1)u^166=9p@xHIXN=@-h*C|^czz?!ye@eGKAnkA4w=n4tR}Ny0Y4P+Lm5Am@Ix^@ zw5>Ht_(eM2``4i;iB1J$Ug6-^`N->7RHmsQ{TFKp%3s_#FWD5#pTLOa{<{C?arZib zw%?EIH8)*3_4_E0@%Qn5KE8XZsX2pvd_SJylWW`ae;#-L`qFl`m&ZQNgk`;>ou~PB+?IEXA~U6a?Bi9~i+%hFx4I882Wid# zpZsAyJoa%T-0Hrqm@jYfMAEcgKRzvD+6nb%`0!cn^VeofKPd*~oK8O6`9OhK!B)T85M4Cb>em*K)8+ISL$KAa8(6_U z@8VnChl%It^U>`G%jvqlGw}Q0eC;jvaX!A)=i1mjk{{aGT5r7PcfR4iULRv};@iB* zYmejct?p0E>OkXnXmf_H>+2pLGQ>9{cu?Q(`RMNd!_Bg7kMlXg-RIp&!rkLZo^bc| zWs2c#_p37v@9tg8fB3*qV5Ymb`uz|_^M&7O#?gmrGs*8rw;nDr#kTv~&kgVH6*~29 z5Pr48Hw(wlt1`03sqU@57sdQ`eu%L@-y?jDlmD=A`RJ7?@x$Z7mpcCMh2!Vh8QJ4V zcW<`iw}_9QGiCI)aQxgcqus*s`zVb5E_`#GnTS06$4rGIWu36!R}Htij{?uLf8e$~ zo`g-iJGZ*8B>SC(f58P9?DxMqduKW8Yrn_T+55ubeNDOTd6fMgO1Rbi$hjK(dDL*L z`y4a3-)jiBx<46n`}zEEtNXGrx1Tfb?yYnB&F)X}th5^J=Y-oH_s*7nXmE1ue%#r^ z-*e+YyS+Pmot#SnRg!a-!|R1_ariRB<6He+4d>H)qBO*}IWN6b_&lBs!!Lwi3XCT= z8s5Ft_bHj*AbcwqVAyJS+x_iV!rddy1H#?o(r<;k=c`W%p9XdE{kZs6_p#+&2I21c%yq)&IQ~t-&vp1V;qG>^zsKr#o_U0mVvE66zd{vNf~|f%%JSb)y@$iu zl3urXmUwb>(a044?qMwciphx{Pa@})&KnpR(=t=NjA;|-p)}&w%$}Cbi_=J&Vftut9xIb4@gprQBdLd*K#-TFk&Uz&HZaQ; zBHbpdnZ*@Q8|>U+)-{`eAUBg*Br!H~7%xckY}<$1(r{~Lb0etHvI@MiWLjvpD23V5 za62#CW@bx@ZOd>Qoo)Lg+eS;lBwE{Y)Ah6MUP2=aZ5_4>({nV(hT0nJwAqR@N7k8Z zu=@*tV3UQ3C6tIfO^!ViZ%3Xh?EXse8 z;cK08*B>oDU;nyLrg@~?_4T;L`S=>5-1TQlCg)!y(>zk{`g;81_5BEZ<*u)P|GDi^ z?)r-*liP!@rOI8uL43D8%3WVy-*{~Q7P0}uB!_u}O!G*$qnoeX&Ciu(*~k4yx$EnB zgzGDJ{VK`l{#-88JW}rZ3&r97Tp`muQttYCe!=-G!B_73YsKOGRp2XkeSJOR^~L>1 zx$EC0nQnWOyZ$}mb9+|HG>??K{$t{}?NRRfnd0+)qJ6@s1bCxN^GMGN*vE7Ht>O%! z@ntg2qp(c#>8kc2qfWptmuVj9U-;}_0o-2Sq0c@Lvwz#$ner7D!>v4(s)xgKgH1qYq<>Tlke*^H@;9mp$9N@aoFw*|#{3daDbe>Ez zzgDJsr29W}yvDFZ9Ol=_G>;l&nz_C9VS#RI=GTkEBi$Cve+gXMMyFS;{#L$GoPIRc zX+}EDe@Ef9;YWBT4V>T16EZw2W9Bz0r177C-wb>=@LPcY3-}h``(>Kje=G1HS4abM z-M6`{_a9+?8v_~iJ_5|~Z#BK{!rWdnvJ2?-8?NRKi_BvY)Qi`^Dui=?-UYsL?oagX z-|eGu6z;6WpYvA_pZJVRV9G-3euD1MM@V842ukU@p-vNF<@cqCa03PH3 z8hG@enX(Tl!g;ZWfOq%d_U~2O&WFK27JTHY@NC^DnI*~$=D(3?9(9vxm+R{(^GC(u z5pO3RT&~Aq=D#(DeaMw*mrn(*$96{gI?F!tx!~(_kkK;WxW21^^Yel~qr-z9GdUl* z9*dac`s#Dd<+=|u$Mw}VyZmYLcwqiJGi4uk%CyVh0FLYX1#o-qRRHXVPYB{sC*a$G z+v}3HJx>Bp1^+4F1Ay-Uo(){rk!S07t9ZSz{dygg`R`ejp%8L#|E%=kb-WNV=fM91@Yj4e9)F$(U#}m# z{b_bI@|fd(-iZMXF7E~$_y1Jj*q;M{|ItR8$86xZzGHyD0RB`TJ_GoR;Lin)`(X+2 zm%wiT{xa}Of%9?R9vu!Hve%nz{~*5}e0}b7oLORD0PxprgH@6?xH!j{v%>N8N{{8YE@MM{0AJ4mb3hzf_+>Xlm^&kCI@i_<2hxI&xbMW}D zoX6-(j5#i0exl6ad~6T4A9J*w>|?!pe-`EmlF6g97|_6@Y%^sa^uAzysiIm-Lf zH0J1ive@syq72H}#~i(H6#Gdk(^xtCm~*ncF0kJbeC6z8j^1B}{Z8O3XCHIsKzu0eazAGeD-zQ@nXu^$DD=Go)i{kP|iN)ECv5?m1(S;eaz9nFStEj z!B@^c=3EZ>-N0AQKIZ6o1?P7MUpf1j^GnD-0(|A{V~%})(cZhQ2l&d_$DCh7zCK5I zG3D%I&LiOWVo?U=>|>6e=kWUWR++}i*~gqeKz<+am9vjIuY!LR_{!PGoVUSG1z$P) znDZg{$AYh%{Z!zefzRu#gL3vUNB>S_H%(<4D`y{b4njU3Lv>KjKIVkutic&PPY319 zFsBRn=_=D$Is2H?1N?#DD`yvT^t_SVGYEX;>|@SA$Uh!@7bl_%*g|PsLC`}&OYXx0)8g=%Gt-9>EJH{Upf1jQx5(J@RhTVuU}Q*j|5*i z` zIs2INHTb83ubh3%i4R(d+dmC_|@Sc@XrKaIs2GX3jSH(D`y{bs=)s#_{!PGoJHWz1z$P)n4^D3^Zs@Y_{!PGoXa5p zXW%PmA9L1$UjV*x_AzG@_=VsrXCHHJ0>21+$x2JN5|moV~(DCuzwu* z%Go~#xW1OLpAmzz&+DMWg)+hZWQ8K!P&>04dQS= zX`eGv&V4Y4fe!!Oy?XW2P9<`KTyq0og=MX7$4j5Pf?M^{r@G9&e4`(y(p%;JKXe0L z>f7G*kDoL6T;eXz<%bvpKaX%YmI}PQ91bG0awAi%C)mXyoeGKc@4sE1j}70|{*71} zO}p(MOe~)M<x7}AhzN0CQeUdJUgC)V=YWqI{9fZNK0ju+9isD|r z{f`oJGkKBEMZ{|)%w6|EVzKJaJdy3_IU(1dLjTGcX*iuRwDd7p~4{O3QhMvBv5r|4Bx))bZ2 zW)x>s&pUT$D&2ARd+tG-HEL8&wz&!I55EWP7r(MS6rv{Onr7wFwdKBE@T}i^T@z~J zo@y+vO9-r|sg?r?JI&o!w+i_r5P1l6naC-ATZ{-;ud3Tfju(zH_EPKL% zJ>_OeNob_;jswq@r>B1Gr8n>QRx})S{`2n-x~yxcq05?2Z~kQKhtt2A`NizLeedeO zjqg0$vg-BJQ?^WR&hPL{YRhF0rZ!P~_cYLRC*06w`J_RswA|7oetUjsRcdH*pQkUI zk~Uy(((|j+2W59o&*;}VJ#|BuwA6lqw7&FjOuW}&k}kEm+X-IcC;eAzx&Io*Y3g8`!#Ua=xR^oaj0(pVWWN9g*!kpk#BeUf#q{Us}DH z?oy}yP<&QyXmhxix4tPHxBm4#fpy{KQ+m+;+L)f;<&=+YN>4rDk@dp``TUKe01iT9_t$$zn%Nx`XdH<%cm5dlNvaSa(Mn(l*8k73A>y2ADkZ9 zcQ$Y6=1tw3mKmSq>`#|zEBn*_)UR`-MEg^8y?W-Bd`R_7eBT?mt)!&uH9fpLHl$re z-*3!aozT0HS~Yps!L&i~Nwohar45enl-4)C%g2R%S5Ge4S`x1K%aXjMH!q#n@2P%$ z2d)@+9Npu1d`kGkzV8oOm3Y3^msl5>S{#{Lrc(n7BU2@jsq)BFWn`)*G8M@i5J{OD zO^MVoHIgzlk}@^2Y+__?d1Tr0NDKO|jw`vjaD1Q#9a87hakXn8uskhu`Ne5t)-6lR z&blZqJLTfEoMSIa%N&1E+L+TXOv@>{FfIH13(2{VoF(bm%NM6-u3Ox50WG;}(5m3T zDc;?y9=fb}ZfbCI=*vUvn?iBx|FkEtd`e35x`diV*|j;dp&u`xYN$GWgLwyEX7 zo@Cy8dRFefYTv=kMT4u$FVP<8Q+djot*f^!(sE*@d#r3spVX~SZp(pP$@x7FG^Y*z zFsV5I^KhuFYeKj=F|lhn-2CkYgEp>T9WETybl=8DuNnDaU`kC%*X}*My23#lgFVCE z9UJ?Wwk%5A`I{TpCh!qAcrCG}Py(~wA=(Q=>CFcUS2l&cwB-F>pWNN!_kELCS$sxn zX!ZP_iQitZzA>Ts(I&I5Yr=((Z`3vJ+Bn&J^qRorl;)I#W%Z4;uJ<+Z(LIHZ; z?|uH;XZOVAuTFSX=dPZ=xv}xH6FYnv*Jol&@6c1dujuHVc=DHV`JoOGC!hG{q>f(k zQ)@$AdkyyPzoK8j^eo-od*-Ib^bTIat)0Bk;FbeT^xLE<9rEk<^~5`V^ZmZ_>$Z5i z-(LIei5)K-A3DBeQOBJvO^wZ)cI2-*keXk&w`XJe#Lg?zS9Q!Mnm%AvC)zfhUissa z9epZ8Q_?a%OrpLBnmVaZTAKDWzqlhI{prp z4NA|feE*hAgdH%rQ@sqrjgXmV)>7k_FeR_M>%pbJsw;kt>?;Yyl z(Z2JS{0_IK21myS|GYNivisH)zjWKomFW|cR`!eU*t2qVdRpq1q_n|=8a`402Ep81V?nmfGA+taLHf7&|o>?%GwVd>^hUmxn))G2QL z>^*@19Zd@Z_tO6TXj58qf;YEt_vVieaznz5V#CD0x2P3?Cic$v%A_el5n**A7$0v&S(*M$=D7d3j1U(-8G z&uxA#_G~%On8?rk!F7*c(|B9R%kRFwx!02|3C~cw_IU%!2iJ|grZGK4%QS8cc`f_) z^vpl7$7|`nv)L|vAbH1u+qP}`pe5{mp1){s;^3OcugPEZFwy-rCb#Bpv(_z?yGe2n zc)KTTJ&;o~W-%RDyo6>t8m1>uI}^Mf+;7Lxc36~<9GbG@z{8Yrz$-qdDYQBCcI0?^ zQ)r!i{iWAQULt{($gas*JbcZ5dQIlzY9npA{QW(W6VjhKv@U^;xYP$b_CHiOVbN{n z)ZQ9C=I(CV_f7Hh@o`-@#>WM&p0ja%;~x$sg*oT(jrQowukYNFbqS^=yiCgegS@X4 z&%QI*yK(QKF^l7R1lG@KVzz$G6fY^^rKXW)d#|IdOxv~hfrBg4<2&Z>OW2ve@3x-0 zZC9p0ooLpTYS^)K-!?wCrQ=27;KBjR^6O`HXgP3ZN{HAd$ z-7lrQe-ro0R)UO*7TlRj~vt@5nvbua^?Xzsh-YvOXo7Tm*)NSaQ-rVHvzTx_RC)0D| z{?N$Cb0f3TDHpab7oS~t%<_rc3yst-*ei|DJFjfBYuR%duQ&A&wT;&Ac-rc8^y{@F zf8YERS$Eohc-?tFC6AtKbhJy(Uok`Z}u*d#`-5(E4SvP6jl;RolL*43$YrA6Q4cNdeinW&oFcLw0pys-}J2Ovuu60!KU96sAtx%dHRr9lAg7F>Uu7FsOiy7 zrpIpkgXPqd$u*toqUVaVUZ*z%d)8!^jE!B(`n?B>K{sNB5ztH`lveZpj~TTN2q z$T^-5d5DZ0XT!duYm2J)T@&{EI!^I!r0PdQZ5KK1OQx zQQDsp(kFJ|=aH5-ulefGghjg+r>B1470=xncNX<~4?0>l9v7xz2 zBRVdq`%y~|I-6=r2yEV!Fh1>=FKJz8eH)n4CpWofRwbWR-e>kxejR#<&MSHU-JFo% z?cToV5S_JT(OF9towa1rSxY9JwG5@RmZ5akl0j!J8Fbb%gw9%q&{@mi;7NhObmnqA zow*#JaKiFIjVA;KC5&D^uyJ%?V8V&Z2Q;1-7(izp!&WqGZv5)d+Jv4V^IH2xdf&ZW zKKq^77bg`qE_uYPsjfR62_B>if=Rp5#$30l7r*sHZwWQfxPjjq%JmK&n(Q^4IO(4^ z9~w$!;?L!Mb@3fz2b@jKDK|2_KdzZB*6}qhx>{r|*K~@^b0#7`24igJS77Xq zy0rT@VQkbVM^2);LW%mbF*c0$Hfq_SK-Y2_CzzjCNl2_V)1&Ay@vJ~-ScjYGZzpr{ zGBmscQz>MdLVVIsywC_U$+tYGDn^wbIkM`Ni#}mU4Lrodp~K$5-Q9!g%52N z=NRo1TlkqNd~OQ`9WSHa{Gua0c%ecw#|ucQD|d9FmX737vXqKUdQU0MGo?OKDmE#p zQYtm`21u#Qlm<&_zA0r&soa#ZrBq=`IZ`^;l*R-)(Jz~ZDor6b&}rtRnO9ehk$3hP0sHI>)dU}*V&?&&+74lQ+SnebOS+Gs6zWYO(ayQRtcdK~i%dcG z=Ot!;PED#Tt@1)kO`)IEabfUodOmgjBy@3yuj%@!O}eBLJh2)~fi6zb5L#{uQsIge zUPLNfbp-zqlvKFJ_GwaCofm2}(*u%fs4Fft)0sBwGE>O0g|()TYYUf~!c<$h!W3rM z!p}|NEL*tJ6bfzO7p72d3s;#!jV-J*g~hgTwJ9{%!g{kdm)gPxQ@FwwHX7|JTWB(c zYi(hZ(VA`HI#bwU3!BZpxy=@?H*@Z>g&WK^f4~-QH2wdGEi{|LW43Thr@N?+x7)%N zQ+Uo6ZZiQpZDE@!yk-lxn}9cL;Z8H>9b34|6yCRmUzx&(bWr6zDIt*$qUJ~(x;uC{ zO>~|a+S`FnTs^Dr?{)!iZd*8D3URjZg(=A1@TDn)?VPVnA<-7THiaZx_{J3E5d6Q` zdlT@gs;mG1+}tF@5CRg0KoA2Wf-)pw)H={Gh!z!TB_DkYn587wDq+(mRf7ET1&09)Tvah{`cB@t$V+B-LsUm^!>lT=jnYQ=kCw` zp0(HBXHVyxea`)-4-|)(k9?q42z=}Vz5P=cc~QcL`h-v-g!+Y0P6&mcVb4n@O26iO z9T?(rL)@Sc$`7HzA=E8|%0s9i>^C%ox`()7AygDX!$YV?2#pA#;t<+DgnEY1s1WLv z=tG4Ve!x9%&k&j%;(CWrc&&Y2pOE^j5Z5nt zoCVN74f>HRQ5t{*dXaZQIv_3W)6p3v1|~`+Ye7(!76{l=GS}Z5ACxHkj4O@g72D4A z_v#LIl`u#TPxKIJ07s@lSeNizO52o<>T{GUl+)7TuoLzG|JmB;wu`~p8 zR*$3`sQ&Y<0q&_5mq3~OnY!e=lSZZ=3%S?D>?N{?U4SHcPV#qmchzTNvAc!u{Wve3 zOz`7;4K7H7KAlV3qQr#&T<{_YE{+mkP6r2x3%_tK#0Mx3>E&0SbLC9Gby=1;DQAWI zJ3r?l*zs3Ro67tvF0cWlC+D08QYwIy^sg@PoR`keITJ)5IG*wgIGQBPFy`w}Ni2(e3Z{kAzbNxVQT@-z8F(I63D6I;t+UW$D9nfQvrYN1sFy zDOJV+o#aF*gH+6S(jKl>=bsn-eUhuzsbfHOEghn?Q!Rl~BJ*dG6J$OdrMH}^VbpIP zmf*v5QB3#vth0pS!xtrMWaBb}27k%{{iOyIhugL05OVJoo!u-DP#|>s{UDirl^2>W?mE|H|Ci zUESrX-1ED-%hkE}cXgL*bN|%UU9QU=n6B<}L+*L@F8k>wmbf|h2PhvQ z&5xRw>!OoyCr*O)e~hE47I-qXK;L~OCJd5BEc??ov38s59?SjL38SSW1NE-J^|J>C7zsyqororgVH7 zVEdOaAe;hCE0ms$jHOaPe|dy zR2~Y?i^dHrD0lyc$L8g8eb4{YlomRLRa)tks4(M7Yt~+W_|z00{kKv$s{HUipH^DK zo#J25!_fn7|I`##{aYy-|CgVd!rlK? z3dfaJx|60)E~Q>h@vrCM_`RPe^0BY((WzTWwC{C*8|qS{NBqFi-ASzM zoR><@cU0NqM#tcb-R|kS6`w@QCnUi+a_*)I`5gD{-mpueDxCPbAO3Z7dU9ueqB5=g zic|i=D^JcjABLst9H%@v#BOt_YHdv@n_BZl`JO<^yyYWmuf2MYt8|E6Lfs4+B(}^VBd=gj`K04{V0&Q z*~N|zVBbk@JHac5^d#;qJ?1P;q-gqd8`v%Vy{y}$h81lQ{V!P3GsO$q(%-xF&rk7g zd%^cX@VzwseUG9ZDSbgr+Rh%`)4Z@xT3>KVTGKs0t=Xe6{k>biw7z>@ams$tkUdi0 zyY&VAfV6&(J&L>VbM*Zp`H}b|-0+y!)BR?>d)$U;-hthTb|Xq(3Q7{)^TN;5CtPrk z9-eFOmC>iU> zo?{Y+4G__O1NKbx?lz_Ly6OSsQE#{CsMuNayXUxmp~M05C#08N2jD;9iS@ z!5r6iO1mdM-=7j2kYUQj47~WfguBjH>HRIc#Jx-=r}Tptca@R7*>4wfLOz&;tkxiQQap)2%#_j0~a!OiP_V)qle zQ)Y(eMU_6G{V47@m&J74h~V=z)dMI8BQxDT!W&8*f&I~~LGExJK*i-I;p5r|a)L8oB`jw3QIbJy?;g5^U&VB>Ry^mE`D6U69#StYzGal`@jse|qox+&tumJ}T zXek!c?ll#R3Z&+SUL)ggBJ*KCic4fXZ|&8&kvq-0DPzZYVYcMtY_u>N?TU(=I620N zEOXkt@q_nO|EexOdOP{<{v)$oap`2))M+F#9ya%}l&|?&#&%h#Q^<)bvW#_euQ;#T zcb`O7M4pex!lpiv@$9=#Ixf9L#v|`6tBgtJoU>!y>K2`|!iu0haea z*DpFJoV`^I8&tLLMbXg8L0Pi?nX>VwFp=>jxzARq+jqr|D1XpJQD!<>sSJ!!a#C5^ zn1o8))7zh#M&C@4Wj^kZ<+)v}_RaFdVOQXBI8GgJ_?$SYJH+u-(nZiA&aSInFrMda zWO}nFDi$P%6e~oEzF(`Yl#k+vACH1?2 zw8Z`7nZL8Exf^xHYNo?ZGeI*QjvFPl=07}Jpe%; zdZPZuTw3X-`7RdJt`z1NZCi(3T6FUEiJx65aHo;W%BHPd)a-8>;E4XwitSPUnbFYq zaz}D`4}Ev!$iZ11jy4qMKpczNZ&wOCt00~2EEZ$?Q#1S@uFZ*z_YippV>%*hR(qn( zkq-aM6U3M~9652yE*$6VUfLYS-4NWRVLyJHI#uU7PL}5e$Cwey;kciARWqw^*j1)&B{JT-q+@+JKYDlnioeI6iF|79|Ag@*b(2jJby>(_ z5+~c(a?KhZMJ?NyK{k=`ekU)CL1I9*yVjUvR8;q~&uzu5Y;&Ts%H_LkV~k0ZY;&R& zpIUHE<1Z)5K5<*8nH@n!L|bDc5IWH|499+VqV2H} z2%TsrhGV}w(MtWIfh?gD?Z|=}IMM1|v9xAaM4NU+Brk5!o}|Mu7iMCr;I7r@e|bmO z6=ZcSaovM;ktCg+@XhUeKnxqFnYVX9c2}o$&fcgPmUUsq+Z(k@_D09p%bJyWd!u*7 zUiKhrjFskD>@Hg{N9Qh`WXFtq$>^NyGcR3CyD)(5l4M@C;gdAd;iP-r#iveaVj7gT zlNX&ARSw$)OIaT6Qr321mX~#DG=9dY9WRZ}D!MwScj3n$4=mWPUmx0z9+8Opm1O0` zDT_r}|B1?e?yYsf;wS5xoijP!p#tsJf5ZPRf&Z4ke@o!MCGg)8_>YyqC2oeAjCQ&q zD3SQU-FHv8k4wz`PmHav?W`T!QM+_(TYKwiHMLExonz0aZCTpd(KNQbxud3|e#zL5 z*0#pBrqT7wTJdY$@}`=lOBZ>?qV|S{_RiLhu?}`NEE(Hb+p%P9?XvnNw?}*3*yE3% zUGv%I#jWj4osCOtsw%3gDk|L%Vs|m^#@3F`(VeZW%^hPG*VT<}Z|bO9K5_i$hUP`1 zS4^H*GjV(hEo)iQ(t1VLjgoV;U(`Q{S+tc3E?0P3M_y?yYu>H2vvZ zdWM9YqNB5YSzRZqJ38x|S}2edqct7N7A{)W65^NEb~d_i?vi&~ZQYVZi+DGBV_uyS zvI}nIgG->PWpUUo%1cChgc+Et_sL<2yxe4B4_E#9Z_{cOCpVdb7~q&N6qWo7 zF@4N^2ADB>U`#Frl4nuY^1K5{dP?3crzDR9?%^dNOJ2@d$xrU#OC)%|rwrIG`(en) zDvylZ+Mf4C|9Xc&80&3M!VuY43VE-P3pYB3EI6NVa)G|m8v@*rl>APZZuAoqQa$2_ z={%n0G-1RH&lXZvH}JocVt*Q!0@YSln2v+@uKE__Ov zVQ-Y@M*C3Ey*Ldix4hn|Vv*)k1|&>qTqgV%=YQ4|>LNF%;wc}^mb`1JnUPE7c28WV z_iJAat^~g&x8^4lSI+&c%yh6eZjA=$urvzufX8f~5aGMgyk6dskX%39Bcu@``XuSCEr~o= zilLwCCZ(8>;z-=dkE{vd(2SI5kWx$r-UUyOd%8n~E=;&tU0PLg@_m-$Mqyh!e!p3Hsm& z9?OjK=ZQ?P)ZbeTd+ZyM4#&<gP|ify zLvrGNo6rkVN04oE*RYRN_d?FWKB@eLGTw_jZYiO?^LZBG2I(-1$YoG2zKRPeUlM$| z!R5TcJCnLH;v~U{3`#$Q`38&Go}7;Rl|ye#!ZIc9Awx{6lw7(iywus~ z5gbT%_-$7DMVwtXl@HccD&mby2c4Cy3CZO-sR>EQ%)j+FH34e(9_J@}`fWEZr(W!E zVVEG_-E) z-JW~^da;*#GM7DLN+?Y9-7ySDY?^e-$z|jbR}+1-q}Iz(lkj2C{<_0=>Q2N~USSA? z9QXlUDr3f2>3bbHBMIjA)Z zi>9+2SAOYHLn5eCbrIevIWo>Me^^7QrfLD@(#^HFA%{T7%;03`Sh^)!LwS1*m-lFK zyi5QeSLudI-m@VyGY`{O9NB`#Hn<|>jOjz=w3Jr{kt zZ=mQJO*v)1{A7ubpCH~1WJ~+=c9;swnba_;SR9}7N)EB4kU0aVjHRwe_*oe5e;`Hh z_c8DtHTwZa%^|>>;QL(oj{Bk>HPBdTPiZ^8sY^CP1UKkZ>ygs)^A$Nh{=`6HFdulv zFdBSB4f=~3IA6#Mn$YsW_dLFe5n6svNB}RP95dwDr{K{O5S@?p(K0b?S3ciZUM)Pe-!S{lc%W#;JHd2Hcxu*GY-@ zg%^^|_#5(?>UT%6XM;IC2@mCTtC-8|uY|*?-pLhq@X(Q9+f7_jBpgDSGvv+W)TFof zEt%DayW-E~@gneWYldoGs=UU9K(If}?-9OJjgkJwi`Xji0}Kt#zhz&viF&GeqG69h zZs{UXsz;!)PpLu)ObV(HmQwpc6Uc#+_PM=-*gqwDu6vGMdOxVGT*gk4Ft>BqYOX_bC*Va^BPmRQm1pPSC zPLuk^TWPN{svn?uC5L4{iI?-wR0^py#gfbqtgy`d`my)>v#X`9EOI#2TKI19BS1rS zNcOFU?{o!3IMt6FPIHR?9=d7dGy~0n8lJk^MI*iogti>^2;b>|q~>Wf8%?R`s*I%V zBY1D*)K)}8RWm1fs;_5(5B1-vj*G_UC!a-BuO-6oEdEJ-$f()b{q1hca<{swQLH=sFXYLZ09 zJT(=uF8;VHu3;>f6DsGMZ`)iPsdQY*p?6IYsyeBZsg|cw_HM9$K7zkfS0JY@fd`Yj z=BXPA{}A%*d<xT#QagZ;oLu?P;bQSb zO7Z})uouTj?kO`Utj&9A~$ov_j7pcsMrHr%7q~ zlKZqdWO^1GUz>d8kaECOL#+v^A`dMraOx>iP4Cl=S9*r0N;6NITFjg??;!C_M!JJ| zZwU|Jqh86iy%)zjqrpiT=p+@l)Fm8~jE2pH8DjiN7*9h(V-E9xP*;Q5a1}PxVP9{# z+M-o|u!7tdn;fiQKSYd#BZ@7L=2fn2G2!4GSF#ZBgNs}SrNfjO*NQp&G7~6rkp-M{ zI&P`OSY$#X$byUDgro#h^KL0QnO$-kZYLSwCM`Ey_!;-`{W@#u1>9WJV!B_I>Q)_r$B0Y*M^^<|ry(zhl z<{DqR9^@oH;9Dflx*RaKpSuv+(bmvV*I470@zJ8e8oz4LEe>p}q(4=j(R$KoQB!kg zLwiko)8fX?sHvrGS!cw%HqpKfidreDgQ%6HhU2DUl zMgO4{kqehKHP`!Pu2Ji<&V|bsMax<`nijV-)R()3jFI!Nrn7cobAwxjSYOlG*j^va za*I!E+owBMkMFGQY={=twk+YidAHq<|JJ0$N6&H#W~U!t)6~+`88tW5E~yH6>u6h2 zQ@gmXW@+t;n#HwEEm7Eu?0F*;-*9?Oi!)yD;_7Oa*S1&IbS!Oc?QBey4jHZKXlib# z>1{!5x+k_dgsIx16-Svu07$&{FUIrYl5EIPlG_weDD--X4x<)ZE&# zxZMBADCAU*Gn`LRw|dm2*0QK+G1nwt;?4drRCO$L?z=+j2qn0zt<8H@nHj8#_&`Jp zT@Gt1qqgOd`OJ={jv#P{C6t=`4dn<5N9<+)95%wi(1RugjKm&pdJbfI5c6#Y?&+=BQvS5+3*v{N*-z?y~**IX!+@_{s1*VZ>J>u_1BbGbgFrnTAi1XMYt zGok{II_laR&SN>7l6R?U;QBpZd3;Av-@45AzRTSB z;_F+mLG7$6s;OD#DuH{CWKCx@t#W25 zk6v2aUe|a?yL;lm)q+L!bwn069n#!3aeTe|UbnQ>W%iJz4fVAxXYLNQPHl1dX!q}! zs_@@+wTCQjS?2s34PO_z2Iack)|Sy74Sw5EK6(*7;DOTXV)H}E?ZmD!2G*m9GUAojAV5%-*Eb-$x)#YjQXL{s&;TbeX=&0>n zMoqLns%vO!rr3GWnKjg}(GcwF%@S8p!+7LJ-BfLXPNUIHFr-JQauwV62tJQzM(K*u z+1eTA6~32%dT9(yIsx~1ONVqQck%leEK3cXu5o-Mmpb}QZ22D zsE_2aT!z@FwYk2={c22`dp5?8K_Q8%Xm;qwylLv~{Gbo5%}tG{iY#yN1BL6?+uYH1 zKf>jYN*J0#)2d(0W0r4#u1D~b9Pd>y&c~hxflzf)uKOzE=L>%5bv;MAuMLftim}R< zJ$0ni%|_gE*>Ts%Wo%v)ofPsE9X@sHLFFUnx@I|M+?a~dD_lpiXe2jOH^X$V9(Dge zcArF)I6KiJCvxw(j{VGvrBPH}yrBBZg1P7BtjfJO|Ej{Pi>@hN-~0AHv+n74Z)vh$ z^2gIQSO2W~>FQ^ypRInbdVBSss^6-9n|`inm}#%qG%}X+=;rDlJK=moH?4R_&$EhG z_6^CNn{#CWC4FtL>w2&0^R<5K2i`s?c~(xL6HRk2O#9iir>8wL?b&J1O?!UYucmFC z_Umcer~PSKaa7&C)3m=XKWFx;+$#&n;yr`U&5`U~+v{unt}mq&?k&G>==X-*Km7Y6 zk}q^Cj8EqUpVC{?-k$c(w0EbyH|_5})hPNby{OkemlY-Gr3ksb@_dI`)mBlnl>XGx zpGEYip8nLiKZdIwyT^pwLqC7}I8KwK$Bbe=Nq*8=Mv@MB{cF+rc7!6@*5m1|GM&#+BrL-_DC^4~s<$Jd|y^ozUMp4d6quune$ zi67C=Ktm-2489L^9+8e!B-pnN`qf-@U;eCXYlm~zsulv8~lEQZ#4LW27lDx`VCof ze4jA%PaFINgTH9-Z3fqG#}a?uF!XO4{5^y3H28-G&s9?q@hALhbb2S@g@(Sj!TT7z z)Zpa?A7=331|MVa3WJX~_`wFBV(@B%A8GJe26sOYobi$JpJ(v-20zu{iwxdq@MeQ| z8hnMp&oa3C>4A)oiYZtyV%uQ2%d|8iFW@}vKj1GR(ymV@*I|E&-Itq)WJ|6BE8qR|geHu%B+ zkMn7U|6S$t3_A;SdKW*6QDu2J3H(^c-C7tHvG zo!!O981}2W$R`?li@Wu>86U})#Sb?0a}_6}?#0|0wkZ(o|L1wWN?Fpixb{f&y$w4S zA7tn)KHSh-T;Eg{KP`TcVc+8M_azG=iyv*+w|M;hqk^p8p_F_rH0)cv+0a{D-}jVs zExyvQZ}CeEy~VFK^cKI-(62Z6JzeAv8hVRAX6P-x+0g&o;7=O-dBrK1TR zFEV(e!P^YpZt(d2q%bDVh|0#@qZ`gUYi~My%AAkS1FnZI_zh&@u4E~?&ZAGR>+Dz7r^TRi?gLSZ!7uoHhDp)jg8^fS81k2Lg08~iwf&o%f-20yinJpO)x z>n9C67Oyw-r|l-*V%Rymi#+~5LSfWZex8x;1qP45A5j?XE*^jXqA-fTe^D64-*+gC zt~LC>-r%=&k>6qH?=tw^UF7!}`uO_}h0$Av-s0~W`mXZ#4LkAIy$d6Y>qjbN9Erc~ zT^JRq>z|^Jzm8oP4Knl=A8zO^KElwC`VaH*hW*I~KeUV7y(uZ{lk`tTW#Ul&MVZir z{>wv={BM=R9CZXFU5m$GA1=yzu1xGKFzm-)=P8Qfuk#c|@z;5}&f~8$7e(>ci;AL7 z!~YcqkH5}S6n)9ipZ6c;7a8^~eu<%vzaCW-#b0+Simo*5Tx;;_|Bvzb>t;pKEry@B z8T`I3^7!jxMN$0qv7+c9!~UZNf7akH8hpFKdzur|8#b57o@4tyX zpDl`d89e^FQ;~6sicT}^T)Lb1m4=;b4ZgLo;PKbZilWyI{aXfquZ#RcLm$PSHx(Jz z*@~k0>ug0){B<_h9~$;8KG@I?HF*5>v?Aj=o6X~|zZFFmA7%Ixe_gI9I>^w+Uk59S zjx_YM3_jc7b9NJ7Vc4p6=e_b$ndkJ#@jkH0=v6j?m} zdY9{;4S(X-Jr+e4k6-s#6vbbsDvGL&bY~d+NP{13@CCbxUuM|(zs6S^eqL$tH3q-l z;5Qol7K7hr@H@K5?>6)nf56aN{2@dCh{2yQ_>%^I+TdHe$X_t@FByEB!Cy1@c7wlR z@Erz!$KX2+{-MG3E10C8w0N)FjBYh`y}C~qc|Sux(BOj%UfxAM!qAU0c!j~o8~k8{ zPceA4!DkqJrooRi_|XPGZa49{hMh$QUvBV=b`!tVuyeP;@A?0U-)E$Izri0c_$Grt z)%uQ%*i ze50X%sEhm&LvQiN4E@gy{)EAw{y)Z_H~e|Q;4c~c_XgkIMZUw(ca^_q*vZL{A5V*R z6Ypi%>0|JLUF3rd{V;j~t3_i`^GYme{;Ij>WoWbWB z{G=}O`G)>fgD)`nLW7@X@MeRz8N72h@fC(0i=Soa&o=lUUIy>8n|P^V$Krzw{qQdGQHFkZ@yUk$gAG2#;4=+A%iyyOK4&-alMFlc zUF401zS-a{25&cbr@>e3CVsYIXQja}F!-w7#4k1MSp0fJf1kl0GWa9AiElRSSo{e? z|D?gU82ovIzhv;=8~jy+?=bj>2G_5wN!_n0i0{uWeZHZ$c!8lWG~a=A`>8$p_;9hl z-OBe>bECmZA4;Y;>xm+8c*NZFsI^!uv_h5m@iQJLzzFMcs29&iXYBgzt1g{SAN!d zo?}_B*9Fb>yf`ZL+w`B1ufk|u8u@Q0`@hA}AjL($UhxI2FIQaj@2mB+4Xht#=v!1d zh#l*BL!DpI>*x4R^Xa+gZB@Fh%uiLkllgqb&t$IOFYzVjuPXid%-dBttYWU$?SGZ| z9HqaKxqc4)I_9~m+}1Lmq4>?r^>e1TG1u$I?qsf?yWGHBKll1Q=6c;`cz!1Px#Ndf zzf$@6D0988>}SmNaevbD;;6!J(|s@->LL3 zcu8?|a9Wy??%7JejrCLfHvLEJU!e4_v3`77>c5G8j4IDJSU=g&AFA}>Iih0YeOB(d zKcx@P5fw)>4f}0M{}KD6`+xCYuUE|V`7e%U8}>W(xXJoChW<-RAD%}lHr})6)=?|H z_<3n=W&*;mR=gkkGb&S_TEDbb>BI9&*}oSk_VqfG@LW@Iw7{@mq2}|U|0*`#_f-_> z^ZhaGf1_c4zOp}__05L<7Nrl*K^2?Nf!?9?Q@s7`d83q%b)I-*L8e2ZzfJKO-oAUj zPu;Ki9CLlY=~(73W}4^cwTdD=e?FP@p`E373eRP^=OBE1nm4e1M;iHW;km5r=i^#g zU#0AXek%LZbIj@-*!uLJ)9bG_c|Vdi?h=ueqnruvOvFxU4Bo?@=o1N@4) zUI+DC=7UxJe1*BbpY5(r{tbvRsMweR#Eh!;*;5qKJO0W zXi=oEYfWRlz7BaLbA7&l40C;b>GRBUReyCdbA27Gmbt#JvY5GkKDU|q{(hS-|I>X~ zpEX6%xt^Crx2f{Eg!v!UxONrumb7XAZLR0o=i_&Io_#+40NWYjw`pTPWBp;=hFXcUiQr;{Ra%P0G)3 z{!6c->-oyB{sm=c6Z0FCoz2Yk^BP;2 zU+lMOKesZ!N|om}=I^QeZfE{V+JyhMgZaryzmxf7#lr=vvgi=S3%nm?(e0{U^YNWIiH|{I^xiH>>e_HS-@SzJ|G8 z-?EPRMpZx8Ge2FG+Xm*}Q2LF`yQ||E@>3S+bwrz4f0VMbh5257o6huB=KCpswlSZh z>}+TLSylc!n2%O=b~4|p>Qz{8T^3DK_6xkOEP7d$b1&vYy}h*mrObbsM*dqlbN!so z2 zMenF`?#cXrR5_P2Z&3Lf!u+IklK$KN%zviJXB_j(mH**9q%1mB`7@pM6P5mG=4Y#X zoxuEX<>vzC`ucDabN$>(JM)lEI&)zjP!{c}@^u00*DF86{G%)i^M$mXunw#&nyK=8 z6WbZ4>T_7vRTkZ)^7~!Zhk1S4epuI4lm`6m$6oK=m!j;1byQ{1Eam@GUY~s*@Yl?1 zR0=P%Ki8}Bf1UNOD*aomU!wB+0qfh8KS^INOCtTglT?E};-dR`L!QQ7a$T+h??WCp4c>?qM(#U_SVSc3Q2NpBe{dp^Mec$a2<_lE$ zpTk@~-}+_d%hhqYoVk9!^*ZMIxr3XS>vgu@Vy@Q_T0VCS(RHI^Kd;ro#`daA5r=a=C3Ip`nBx$z@N|h%hIO(x34h2QSqxh zFN^egxwW4AgPF0%EzI?Gy!D=!L_bsIuz~g3QaFz-$XaKziS3L~x2`s`9esuMmj?e8 z^FbNjN73)tevPsp`rm@AbscXScHUz?T-pDK?Vqpg=lgbB5NUl6gZE{w@7M3;c}esw zWj~y66lC4sA7$7X&-@_e|G{kk7s`GZZwex<|D0jxc;?fT{gc`L4rRa2(4S`TcIHPb z`)9HJzP&Od&NK8E8~h69dOg+G*#1Gv{>_Gdy}>syUzq7;w2|%CDEpfX{o@AzC3Ag$ z`B!ZJ0%iYqhW<5!zsY>L^8Y=yf4j2(k)hA?<4{4?`oJE{S1S8`Juiu#RQC5W^ur83 ziuonV{&=?kwz7Y)p`U8-&oRGR**~7`m+qMv5ytO=Nb46Gc1~li`}20Te~7YwmZ3kF z`8}ELL>DuEQ1L6+{z7H{YleQE!Phf?OxfSS_P?y`Z#47|8~ky$bCv`tu zl|R2_uFL0D&H)VTZ?&(%q*vl-@F+3Q{Z;q@iaPUUA(5dAAm+CyUhR2y`5eLetxA6^ z^M5LSBHNjm=}uI`e1_r;%+FK2nfaxPcQC(R@v{tmE^}RfRx!U{*}2@{*D`-p>2F~E zg5tL_e?sv)nQvG89_H^U{sV*mn0Z)VmfmSI^WLid|I*;UVqUKFFEJ16r_%QSVDP^% zKUmp$hq*ql{J`Kze?H*WEh{^P%oi!Xr@;p>*XtY0nV+ZZ>}T+?%)>gMbU939uHVmm zh{2~b*Y8!H#ry%~&+!I7nYq4iwUGJq%1)EPPiOwB(yw6tp5o^i{L9SsI^N5e_g3d+ z*BJZ;=3)Iyx}0xiuGfX$$^2<$|6b;=EB-^zOQLdhqWcr(hb#UIw)3L0^R!|A*9L!? z?SE0({}bzXD*HQ_=d1JOzcW8OT{QmNN6f=IopfZLKi|ub!upXkFY>%B3in~syszi# zB8-bJW4=5s_1}iDov{8W9l5{fCDA&S-%8fMr1Ewm5EpJn~tY195&IR7t;{O}BM z$Fu%UbscOz^Q+X**1-H#Rn9HU_fvkJ!Mt7ZaDAaHtDG-p{U&vSeI@h$%Ac<@{|w}b zzTV1wnbLooxspfsGf%2?A7(yR@y*Pu6@QBPo+`gDFc0_N(y70~{D(^a2J>chT;65= z7k^%!w(}A5gyP-&d1+bnw!e;>*7x$<4<>2ozLhd>%b-zI&b&(HH(b{!iuAg;3f8Yz zb|y2|>ujem*VnOUieC9YoB4x^&travN_PQsy*%UMIPpxn57Zf%!U>?ndTwRDIjTT(7g;%=~Jl-@^P3 z#kVro>v*>@*Xwe(GuQ8<-oae=dpnuyb-$56zs-Kna{=>0)nD~uUaWX2bGx2t|*0rMS-H!^=q@iyjq z-R}zKS?k7`>-D{>n2%8X@M`9Iea;%@dOhvh7Lm_M!T zY-av~;#-*Ob;w(p>-EFinCtb%+nMY4VC-PtNA+(znd|k;kw4!qismSN0du_$xfk*p-yG1uq03z#ob z?Y)tCqvCDM^?TA*h(6sE{kN6Ok5u_u#r!;_U(NhzrC-Bb&nwn3*UvAkXRhDhzJa-3 zH@lJfJeA)~%txu?wVAnoPsJAI`u!4Hnd|eQZOn_*c(I+izJIiXxxP=dllk4s|8V1_ zD0*7)0)L&zJ=ddnFXnn3Y$@|TYD!3^tUoURq;ESpQZS{%vUP@L*|bt{uAb}D*g-Rg=&8F4D%6+|AzS- z#b05r*9rWYxt{O6&AeIJ`GEPGiYNVb&+Oj^@6Nnfm2(O6m5P@!*Ymo4nCtam2Qb&` z9L6!%zZ3Bp=1(a9r!v>ir+kiimGbj==K4A4lbIi>^mWYj^`9lo^>vI6<`b2jFED>r z@$)@boxH0{moV2Y>TSM_ZTb8YD+&(-9_?fXsU+Wwu)XQ}@19_Gg>{sZQ-72m}C zXvH6AzCe}3lguww{5j^U6@QWWjf%g*e7)kYGvBEA-0AK1JC-g!!S${#54r zdf<`FKT`IO^;`{t&gKcs_5F)em{+NE>zKDG-sHKT+-+d;NNAwR@vXke4XMCGuQW79y9DeY4GQnZ&dbw%ltvb zUuC{o@jo-)qWD|P^?jUwFxTai@YgHzBhB|-Bx2 z3g+6M$p)XoTwnj0$^1i=?ri4zzS2Cy{sMzHGVi0t$2R8r`qB#K`aaZ3!~QCRuV${- z%dHW;@@E}$ecx)m=v9BR!QdO2&r5u0KilB* zm_MlUwSf61#T%LHd0Lxce}%zUGT*A~uVVh9;;Wf&S9}fgHxysTT%Z50XRiC14F=!H ze5bO%iTQ_$Z)V zFh5Q4M&|lFx{bO1-NO~k_4(IIgRf#fLd_djGuQ9eTH|?9q|Z;+F+WY!&-KhNReS?; z-H&Z#uKT4;%x_b6HZ#9V@h!~5dmz#WXDf4koqrqinQDr=ow>gLzk|8H{=bvCzWx?o z%vKb&tLrTVrQ};tr0)y#Vy^EClrq=%1EHvl-safvg$&VNw*<)+{V`y+VY;h=qStveXXG|+wwJv!fef# z6NTBHuT3uO%Z#>c$5&knvunOIDa_9KT18=Y&(|y$_N7Z(Do)x;M%iEAR*18IP(dvpwIcDa`hKb8unb_-V`b4&?Il zT>){n=eq$4v%Lek{CuZCJXN2iT~x5e$_h4F>AMK04gH4yBDLE0A)ZLRu3$$iE5vfD zsifLSs*$8y54#&WA~Kk2FsT-kYBJJhDy7kco`&|4W>YEcrcxSCrLVy=s=YTerl*|p z4Qkf$b9{xRtz^WvFanYx-_!_D#@yCdVcJrG(U!`Kwsc5oD|zy5lYo?(Z=?kHpoG4V z{Fmk$x^kt zmmzI~uF^Lz7xvA_ZGE+-E&JuGwX^4sw%htbaobc0`+jRiHMuooIy>hJ$~h(FB*i18 zB7I+_@9dn=S0UO;flBXJIbM#n&j3lJh*R~78+xU$V5CUxLWhQ-& zU6ZQjTlU;A2cc+o&2MS%P+Gp9rD%4|Zz(zya>%cXX4m|dqDk(IQ;}9zSNTa(_4Kf% zXv&d`_G!B4;9A&HbSO37htuA{wXmh=P->yHTy$_PY+bY;vYqizYE`}?rL?)!eAnQj zy~ov6z5{d7eoK3YQuE`1OWRi>iY83ap)!TSbkXD*;ZRz>@SN@7po}e*{s_&eCWmHB zr@w9wvFAe6VM!;*_N2QATHb{-K*pVc;CQvKc@*T{lWRSfzmry1OJgSm)%yUsRq)0a zakVcLC*c<43$~gwCCw(3TdLKBtooYjs)?T$yZ$01=V~GU$cl(wy19jn~+!- zc^u_PPECR#HGhPi1wK}MM16>8*p-izKQfN`j%02)t#KPp&5uDY$h&ZA+*|s7Ywj%H zTR97%jZY6-Dsd`0+J`($XUUwc(vN^Ms%g&| z)9J6T8C+9jULnJx^qn#@3SE-lgB-|7ZVbODXzAPN~ML}CSy0qnX=qs5E`<~Nn{XCSmoQ|Jox_ojCs`AaA!of}z z4>(mkvQ+U9Qk80vtdmy99d(s7Fz$M*xR0&k&a{f#SQR(9DnI7CbbUjjZ7AO=K7Li) zcBg4Ws<>WNNxhQ&#XkENTAAD5 zk8QN&`r$__3d?a0Jw&A+hg`n68>!;SOjQN{2*^ah$7cxH>{%&N^4sa2Db? zSHUoucVVt-VH!?hwlAX;&vU{V3hmELkgIe!1ET%7iE-7J(SuteH$ZN0+$_Vv2>Ig{ z%?;RhZmvHMdEi>Wm6_`@S7ojlTrs#_b9ckFgewWxJ?>JtCWm^))t+l9cQT9 z3)O}@72mZ`uEWKfrj|vm6kk1^r>kM+IGrbuVWK#lH-6IK#xZZ#%_@1zGrBOjn$B~q zP^+ED_tw?Zd2Z#)vU+;hRQqb=LX;tA*Jqt}p>fP%Dr$#$rpQ|t4$-`IyHVC?H{OP+ zqtnqrcRXyJjC*L;)$Jd)F3jnLt=o_7$ktb9x1XiRVZ&44*3e>9L0OPZXzD?&D-iQ?zwoLn1=C>!ag4^KKRL7 z7Y_dL)`dfT;H?XX_IL+U6Q(uod=*7B;oiw6&hm&|c%r)OEHmTN>3hG&M&Zr?+=X9?(^~ zu3Xz*)v?ffTia6Gd}c>ehYy@yx2%16$i?DXXLeC@YiqlYX*{#7p?z^f>(UyEh#FS3 zp~;SgRl%zG)#P$axAgk)eLcF3d35@AUy6_8c-ai(FYY!}bPVW)YyDu>ll|GC7q0a~ z!TzzJ7q0cwz&_ra6|VI&!T#}JU%1xK0{e47FI?+qgZ+3=!I*2J=i}H^uo1X?u^ns%#%Prne7li8Mv&+q-E^*u1ewBzN}*<{hjd4 zig2y>mD*`ZAKu~UzPOKYt-l~ddp-IiT(_xE?F-lXyFrikg=_tTphx?{ zwfZ?_-X7q0cPUXt`^U%1u}=XE98 zzHqG{4|=pOT6;aV^28MS@kT7Ru! zU%1xGx2y{tpj_JwP`JoiI-tUtoFUe*t4`@*%p zkk_MW`@*$e)(L9+!nI!3XKDMwwO-Z_lK$J!{|ndpdF(&UH*h{6Ts`Exh;BV6mBh4RGyLAch-^B=l=gloO5mn1#f7q0d4oQJkAT!^I7(VYkifW7q0aO8+zedFVDMZ|AlM)Y{R~Atv|`o3)lL3LoZzG zTMWH$tzTj2g=_tJhF-YVUux)uYyGu`Ubxn;13mt>m2j=U1N8Sm{THtF_kkYUi*T)f z$j}Sd`X>#&aIL=x^x+-r0SMQ6DL1Om--G-L*ZOsApT>oH=r@FG{jIF0aRGm8Lb%qi zXFb`+cX$ie`n$mXV(>?}*2{Wo$}g6WaIIep^AIc_;aV@xd6514p*)3a{Yzl~`=A%D z_3yKu%BKh1?&sg`kA44 z{MzSM(93v1<9-|Pvq674@JE2R10Txuhvo?#z()Y@1b!TIN*8|{um$w^4t|+$ll?Qm zjyxYjdL{Xmi@((- zTP9U>ljo%_?zLvwO;xMD*vy7ec@VP#qE*oUj};NT7M|($^PY_7q0cyV1G5} zg=>8y*uMhw!nM8`>|Y6b;acAY_VKqUg=>8$*vH>y7q0d4o(5_!_)bCLTE9Q{S5%(Y zfd9g^ehiF**MeTS*30{u$e-{VLhg(E2-o^f@aH8Q+tl?zxYmyc{ln1T3fFqM zHbV9{fnK=Q%iKxpg=@Wx=~^#b>!pvP`i%8QxYkRbK>g1RQ2xTTUfLkp$ND2&>!nVT z{Tso)aIKd*K=y9}y>P8x#~QLP-`&^LcdeJ_ILZFaU|+b_uLt|LfL^%P59Q}U>3HFJ zig2wz$j}Sd`gNek`Y&AT-v>R;AB1cDJ^566VLtX_sL#T+zJfJWp5K7-5w7*)Sx?7H z%AC>@uJu#E{x`wCaIK#P_HP5daIK#Y_P+&s;aa}{>`NUW|AlM)Enxq4urFNeZv*>x zfL^%P%Qayt|2si1Tu+H_`STs{N4VDC2KI4&C|v9B0Q(!jzHqHSkDPZOI*JDCXqP4}ec(PWgHO z_+>Q9pflC{w=U1SA5cFGt%ln2&|7+m#zG31o0Dm9+ z`3>+s+)tAJMc_k${}%WN;4cB6WAIhLe+T+Yfo}sY=T=m1F9UxR^uGuGEOV+?uK<71 z;PT1`$}id<&iyU%SHaGe%*h|j?;6nm0rYD@kNx4@z+VGBAC`!^r#}KOa$))q-wxcr z-j?~Ffcw`;F@GJndu@XMkexp}F27H)FYq@&PvuA-(*Fgxj5oyJ1pZkPyAScd0-xz= z;5&dH1N?8m=K_BV_$k2O23`;R9pFoVzYDw__2p2LaCkJ`#8mxQxpboeO*_ z=<|Tfx+99t2Yw3Zy8-_SaD4ahH-PT}dbxi@(S^YO4EpZCcLFa0p2y=XMfU*S8+bAB zy@B@xJ_@*uea>WbAn-jwzZQ6J;I{)W0e(O5KEQthyf5&lfcFFbJK+6+{{?s{@DG3w z0KNy$E2!KC0`CvJ4EVml2LT@kd@tai1wI(~F~Ii*ehTn%;Bvi){2T)OYS7C$H65>S z0N)4n8-Wi4{!`%l0)HC#aNxfKz8~;6fR6y)joUc+KN9#L;Mkvx1dhLPJrOvz_o=`S z0Q<9nj{<%Q@X^5K9u4_92Dn^XCO#JUTCkH*|AFH>(PeBUJC$HZ=F-HgfXiHw_&DG) zw;?_rxQwC1Cjgf*g7`$>(gzZs1YFuU@yWoY4ii5RxRg2ZgMiDv#6JUkI)5jAF!1Am z9|F7v_@Th%cZA5!VZhG>{S@FA0sk!UtAJMnm+MGme=6{AgMJ$D2Y^c+-LBE&z-NH| zS>T5Qe;N2p;BNvy0(b#W$jHwlf$s(UbHMipJ`4CH;70+U2K;E?#{xeF_^H5W178CC zSm5$rfAU}I0F~Q?pg$h;R|1~{{3hU^2mWo~bAkU5_zA#&27DgyUjaW6_#c3u1pIB_ zCj(FLJfHGAA9zpTrvTpz_^H4T04{BW%I!el3qXH3@LJ%X2fh$^9q>BfrvtACeh%;k z;9mv42>925F9t66f~kBOfj+0J{EWf@I!%j0zV4)GT`%pF9+TX{0!h{ z1789BT;S68x~xQB1%4Lj<@}WL`vu@~-IDm(z`p@@z6d<^K0v4c67U~^{v6;x1HKaY zuYsQn{3YP$0e>C%`N01Q`~u(~0KX7;#J_7t`IWKBeU0`6PUpXJE;#1JVCS#Eu^c`Cehug&UXV@47xP;L{94fO1^hbTqkyjg z{u$t313ra0mCyCSj{^R6;3olJ3%n8d4Ztq~ek1U!fZqiCyTD~mMdkkx@S8#ZJn&n9 zzXJRlz;^(@75G1ae-n5a|6nMU&uzd*0RI;7SYxrg-AMH_X95m{(ayBfNumIet$ib z+Yf+`1ij4p$^S9He+c>mfjp90V6L8TGu|6?(n>ObnsSWosJ2mLVSR6d)5j{^HYi{WG+ z^;5w9&p{u4hdY$pFMyu_={^Cx2GaeX7*6S;z5~*I67=DBwL`kU1bzvmy9M}_knU44 zoYF=8ZIJHMpbx*39nyUU_>UmnXMz6|(tR$5Q@W@Rzk40p%k!Xr3GDw0c=&zm;Lldz zJ0aa)$8bs)_2GA{L%J`3e$QejbRViezX84v@E3s}z?}N+-^OrC7xjm+p6cyOpq~cz ze+PUn@NK|Pg>+wz;gl}w+acZGgFgH&b;$24z{BrP2mUJXDe0d+krm{>HaB(Q@W_%3hBNM`rm^6KLh_O@Hc?}9n$?v45xHa-`)Q%Z>U#q zg1#4X%I{x+4+Xvh`2NhPUi~eGQ@W@>6w-YQ^i#q9+rU2${2kz@K)Ub7a7q{Tr$f5$ zfqpsI|2y#TJJ6wC?F7CW()~var*u(&E2R5A=x>K~KLGwi;2#4238eea7*6S;{#TIh zN1%TZ?0*dWP2le5Zc?B3Al*a^r*u(YNH=WVhx&~i(D!6c^(qN`2=H9sBbigZ%8TKY zF6s|~bn`)94feYMp95U3F*=jcd`Nc>&n`ye@d z`VZ@FYuFq4+p+b*>Cfyxo64@ zeh%2#5A0kA9DgJILEs}n|ERLRfzy4?;4gz6xtBq^`~&y_V1IZ?Fi7PiYoCaWVJ_tv z79O~JNd^zU&l<+N(O^IP-fG}ufUkmd#{yri?8`cXn+^VLup?`<$p4=LuLS$ycSD0e zRlwg;_E%HJ-6zQ}0+4bL-jg|%+c>bZAMo+OX91r8e2%ieh0|>?_~~G0BG|bYxZJBE z|L+DaYt@L~uk81tjJVI^27deFKfq2k*x9q6 zKRo_?Z7T4Iz~x>fDGy~X2fj|(pUvwYzH9Iwft{IP z=Q-d<0MDTX-R?uhcqH&b=91raoNk%H_XRtj13QNRp9Op&@S}jArtELybiZKm3&GCO zVCM$l#{mC1@Y%qhW=`{4xz|kPBAn(?sDF+1R6fUnoxcJ<9{4+u?i}Dnv_Rf{sQf<< zyaM=K;FFolaVh7y#SsQS4)_UR=LE1n4|pr^6M{3PJ_0Y4e|6Ts&Kf0;S?e+uyJ zpqG34R4zN1({ZT*y>L1%sQ(!3F93ZHUg$~b;=HsJcrEDn0*>?21AycF^FZJW!On5O z>wupMydL-p;0?ep2EGXRdf}pW^IPNvz*|6HWbi(~TR~rH@N(d7pdV)NQNT|JeTBg% z18)cY!3LiOyaV(z4L%#VtjVWxoMZ6$z?Xsj1qN>fz8v(;2JZxZ2IyB9d?j#M3q<~3 zVDL+Up9%I?8+;A$vp~Pr;FLCfsQ>>0=nFgz{A}Pnt@e84WuX5e=!YA84Dc_3Ufy#> z{ve+Q`er!qt^tnzF9v=N*l#!ZS-@9<{z8L)75KTJUt{ofz|RByod&-bIF`eY4gNFW zSU#@;$MSgtINk65m_IuWF6WDMT(EqKXh3rx&HDhS`_W>*+~D&57P50bl#je`Q}ctt z4wla>gUE5POb6%>6b@FPM0 zRp4`hUk3bC;Fkk$0=^pf>AeRWUu*CifnNps?->01z^?}VW`oOlDn(xd z`rm>c`5%B^3wn8P6-6VL_dOE74)mk>{E7G);1hs<4fqs;&jfxw=ub0vJMgcA{#xL; z4(CSTYe9dz!M_Xq2GBog@aKWw2>N${XRPM|eiP{T;PWjiPvm<7Uk7?QKO;Tz5um>r z^pk+!0{k%G*pD3z{2QR33;b5#3k`l6@Na_tOoN{b{5H^EX>fUm36;aQKz}Fb*8`Vl zu1SA8aCz2Pb9siB_#L2s9_%BRXBA0*C+OvwKH_%)muKaOe;as$=R%tA0sL;z4>b5t z;NJoLIN-Q`>@&bOfL_j3$sgp$fd0FnKh@xifZqf9Wx($R{zc&T0l(PbvX+wk{2u7P z1$yMNHjMQ5gI?AS5&u4LSz|+dBXC*sK>P>5Wo-cQ2Y}1HY|Z7KFYzCOzJR|Ie-L;t z;5h#rWbk3Ye*|_81pW|kxkgIqJ`8*==#ifad=u#99FXk%7`V*Mh(7{c<~GEC0$j#= z;y7QDHc0$Y&`TX7{!`$Rcg;mZ{4vl!&EJVX4*Uh+*slKo9R2?baP+@`*Wr`>&0xP5 z@Sg!M1CI0LeSo9=LxKMs?92fE3*g5BNBbuNNBf5BT#M@F#)43H+D93;9Hv(%k}Fo{u0-^AI^d8UuPfz7v7t zdG}`xegtqlAD?4zc|L;t!E!zg^vK(RWBJQ-5M<{m$nQ0v$Nue`z@_cDU88RUe+KM4 z103!D1~}UPGjO#3HgL4xlh?PC|Ib3Y{eeFRd>ruSfqw@0uYjKbd@Jx8;J*g`1>iDf zQTfR80_3OkEyQmE{cpg|w}8J0{3izg1@Pa3{*S=d@>ogf%JTx`&r6{14(rl?2fPG0 z*^&A`4LHtkX93>^cIE*``wM{MeD!SLFN2*6fd3x&I^eGWUk@DT$@c-re*Qt=uY#Se zz-26;^4tdeHPC+u{ExtMd3`vQ|90R#4c;I4pFls<;QIrA9rTk8J_UH(a{=Th`d{vPlrfd3u%Zw&ql@SUK43-~{Pp=ez*jWPnW8h~1k9ZD7?d}}l z*uK6F9P9r#fXg$>WalB^KZfz{G2l6n?(+u6=K_+Te;@St{7Vk3>&D~Q+u#F%qy6E) zb0OU^!1I6~2|OS8alpF)KLt1*#|Ge7{wslFeO?7z&T**xuQK@8f$stS+y)%|xf?k8 z^E2RuVCN~|-GRSo@K=EsfgacABbW90)Q*Z>eU|x84y?OIUI-kYGa3QB2c%m89Q{Ao z;M0K9wF~j5MsYeO^jQp?p6e0)`HBa16nzCaJ&z;$Zz(SN?*OOgXhi=D#YO)NaC-hl z^g9$6{Z8QY+=}S?!a8Sso@FoK^t_4a4^mw0<2v&{g1!dy#O1RXI6dDX_AgLe^p^ss z=Q2cpyW*n%E^vCDLiA56F8b$z({m7_e_L_Ue*m1GUl4sMtoz018p?swa|fb7L~*e{ z9e5Jj%R=CCjf?g<4R|-u%Q|Xmcf{p$Iq18C{w~Eue;;sc*AE-~ap2glpEmdlz_GpK zI_hF*@3M}X@+I%qAYZ$~I$`7`z)PSUDuJW@1Az~L@|kY%qkzk`De~t;gVzE_f6fJt z{#*>lyqd!A{qdy~o zqdyZ2ehBaq@aG7FAB!C7&*{KV27V@Rd8Z}ShYJn$C@fol@ZP&K%MY13nn^qk!)Xe3HQr z16~gL`M`$&uLmygCMAE)0WQ~^iGLY5>Tf{~_2&-Y!yw)78T?1UvAt{sj_qX|@S%|I zKY{NH>E^+@Zq%0p9}fBvz%jpv8~hmHpLhPq_;`}R7b;F=OrI|T-w*t`5cr9Z-*v#{ zU9x0nJ@AoW=U#*V5O@vP|21&5|1$9X!G03fjU(?4T;2^uevUTy1mNh8xJJudMnSqf zo$>2iP8E^U@bX^&z6-P?e1y}WzTAcBL*sI9utPff40HdnehQ~8>MKa>K4b^qCotL5 zU9qdKb!SrX9?Ju$DHioeF5QQ2lXuX`5Fx6 zQ@{~qf3$I2#sDt`{aE1Tz~#3I2$3K3A^Vk}pF+@mi0=db%=9$yD$rv&i~}zDB|GDR zw}GAEV1EVh37}sId?N5wz$XD;4SX{2HNfSaX@oWa9|`_!1bz_M*#!JEz&8Uw82A?8 z{~vpA0$)XS|6$L~%|;SJfCvF1USe2f7ZGtGMm7-@iBd#L2uXlQNMaT?H$Xs8Yrzdf ztEg1bQcA50wYIhHQngmxYOSTX;aaLFxWDIj=KPW;lRGN?+yDQ4KW|6Lo%75y-*e{7 z%(-*-W5Hhn*Vh~c?F1hIe>ZpmINz7p7wu2Q`__(!p9NkBo&$aYINz_Rza=3};rkUw z!5@emea%$-Vc=unPXHf)_D=>M3x7KJiQu!r$AR9=RVk3f4~0-uPSo!~{_yTMNf-vh4S4Jh^Q2cHB#OHODr z$;~jdM}HSv_z&R6;7ATfxh~w}F>~KLdU|+Vc|lO!zy&XMyhq zpAEhTyaIeb_}Sq4xjk7t679*s`~Bv?kAYW$_X3{_J`lVLd>D8&xPG2b+A{|2nGC-M z{&etjz-NQkg4cl8fiD2p_k@@xc#FXs;I9Oq2fhJ(9NNDLd_MfG;0wUFfiDDq0DKYn zSAwquUk$zrd>!~D;2Xd%1>XdI z8TeN4AAxTJza0Dl@E?Oe4!#=v8SpjWFM(eHz6bnD@crOdfqU*+UG~@2;Hlu(fM%jH1jndBR!6(4~3HW628^CM8ZvW*_VHDPHeB(p`heGQK`I3;Ys1Z=k>ZB)E3&Kd&Ty zANb0}XHF+~42XXieC6UZCl7vK_{zm+PA~ZV;42rOIRoMMhp$|G<{Slo0DR@*Gv|2t z1K}$dpE)PO9|T{y_{=#C{$TjZ#b?eB;2#cOx%kW}hCc+pa`Bln8~zdSm5a}ubKnn! zuUvfQEP{U|eC6UZ=OXyS;42rOIhVmd3chmjnR7M#;qaA<&zu|J9}Qo*_{_NtzJ8`& zR#PrMbGE`iRzx=`7oR!$`#y3$9;dRoRW3er^mB9KkASaSeCFuq>BKL9uUvfQ=x{BU;unCwi0v(m!^LOLKj5DLU%B|qc^m#n_{zm+&cEP~g0EbB=6ni&G<@aaGbfVd zOVU4M;42rOIqC4n!dEUna}I)kB7EiIGv{FV{BU;xp$6 z_$R|xEf_{?bqzZ|}D@tM;W{!IAF#b-_@__N?E7oR!Z;LnDyTzux}Ysa#^74Vgd z&zwQXKO4Ss@tJcJ{5kNIi_e_n;a9>}EzeCEuBe-3=*;xnfKel2|E;xp$$_;v7=i_e@@@ay3#7oRz6;5Wcm zEex zXU;xp%8$X^U!x%kZa6#f$U z%Eey{9!c>F(w?PpxcJOz1^*)W%Ef0+TlmZ1D;J+RUEnW=uUvfQ=z9^R{VU)r7oR!$ z9xCxKhObE6Z7yd^0%Ef0+KK!4;S1vwt`oO;xzH;%IGZ6l5@Rf_toMG@c z!B;Lma|+;4*1H&XU=%|KZCDaeCFu)oXGL88NPDynWNu-BL2_eD;J+R zGtizb@Rf_toZ0Yy0bjZJ%&CFD6~1!unX>@?FX1Z}pE(!6zZ1T4@tLy>{;%LG7oRzo z!M_W>a`BmS75uy5D;J+R>*3!6U%B|q*#Q4u_{zm+&L;TV;42rOIa}fX8oqMznR5^P z``{}VpE>u#{|$WQ;xp%A`1iwCEE6Zv6U~$`11&S<>E6Z z4gRC>m5a}uEclPXS1vwta^OD>U%B|qiNSvYzH;%Iqrc-U+q)gUa`Bnd7x{mLuUvfQ z41xb7eC6UZ=NR};!B;Lma|+=<4PUwV%oz*+Pw;xlIw{14zO7oRz$@c#*4x%kYf zfxid7a`BmSKKy^dS1vwtE`k3ceC6UZXD$4X;42rOIk&*y3tzeT%=rcUkKrp9pE>uz z{{+5r@tN}|{C)71i_e@L@b|-4EE6(zu!;Jug~Bs7oRzABmZ;w%Ef2S zhw#6EuUvfQd-x~SK z#b?fK@H62n7oRy>;kSXWTzuwigP#Rox%kX^0DfEe%Ef2S6Y$%?S1vwt{sg~0eC6UZ z=Oy_1TQElPl#9=t*We$7eC6UZ=RNox;42rOIUmFC2w%DQ%=rp_4t(X}Ge^INQ^uc8 z@Rf_t9Q}Sy@jJs;EoREE8v=kO1MuUvfQ+zr1keC6UZ=Xdb?!B;Lma~^}=AHH(&nez<%0q~WJ&z!%&9|&K$ z_{`Y_e-M1-;xp%6_=Djq7oR!*gs-0|Fp8&KeCDLJmZko9H4OR6#pmby+QUBzzH;%I z(+U33@Rf_tobK@Tx5JF$DHoqP{ox;reC6UZ=ScX+!B;Lma|+;(fUjJ9=9~z>0KRhZ znKKdo@$i+4&z!U17s6LAK6A?8p8#LE_{^CLeE7^6#jJh%Ef0+HT)9z%Ef2SBKW27m5a}u3*e7SGz;CNTzuwS z3x789m5VLf;VT!PIX{Cx2flLgnR6HXO8CmfXU_fb=fYPmK64(1 zUj<*e_{`Z3zXrZ?@tN~1{Bz(d7oRzQgE8vUHJ9zm5a}uz3?00 zD;J+RU%;OSU%B|qY1PI6Gs*qkeE7=6XHEzB3*ajkpE-H(7s6LAK6CoRUj$#d_{E8v z1Nc9JuUvfQd;kiQnba`Bln1^znt z%Ef2SO!(KrS1vwtYT>VkuUvfQTmb(%_{zm+&L!}#hp$|G=3E2+C-9Yv&zzg#-vD2^ z_{{kQ{2Spb7oR!z!`}d3x%kX^9R5x4m5a}u=iuKAU%B|q*$Mv^_{zm+&U^4T!dEUn zb3TRtQ~1ioXHIfk1I#4H|E=(qi_e^P@Na{!Tzuvn0)G>H<>E8vF!;B_S1vwthQYrB zzH;%IGZOyK;42rOIpg7PhOb5}K6B>4{{?*I;xlIf{H^en zi_e^8@P7$kx%kXk4gXH~%Ef2S_3(cMU%B|q*#!SC_{zm+j{e??9M5;dS1vwt9zgy* z@Rf_toTuR53tzeT%=ruaZSa+g&zv{m{~Eq>@tN~J{QKZ57oRyF!T$|><>E8vQ~3A8 zS1vwtzJ~u>_{zm+PHH;?%q08kckq>q&zvmyzlX0}eCFi9e*nI6@tG5Y{|ETW#b-`0 z_z%KYES1vwtPK5s`eC6UZXCnN^;42rOIaA<2 z4qv(W%$WiI3HZvzXU-h>+uE7E3;bu`D;J+R_rd=&eC6UZ=TZ32!dEUnbDo921HN+cne!_A z=inWse;&Sa@tLz9{tNJxi_e_I_6C?q_V0`Em5a}uw(wtquUvfQ91Q<2@Rf_t zoIdbhhObK647;{|&x!@tHFY{;Tkni_e^i@c#~9x%kYP z0)Hob<>E7^6#hTpD;J+RmGF1LS1vwt>fyfzU%B|qIS>Bp@Rf_toTc#JfUjJ9=3D~* zP58>iXU>)I--54PeCAvWe>Z&P;xp%F_;15kE{hHeC6UZ=L7g{ z;VT!PIiJ992Vc4P%=rp_d-%%5XHN1#2AC<&{L6-~Tzuwa!aoSUa`Bnd5q<~w%Ef1n z{tlzGrz3pj;xnf=@^j!T7oRzU;dg?sTzuvXhu;~#a`BmS0{kxUm5a}uli=sVS1vwt zir^m%U%B|qnF_xveC6UZrwslf@Rf_toJ#mH_{zm+P96Mi@Rf_tob%x4!B;Lma~8ut z3GZ)FEO@tN~0_=mw)EE8v_wf6{S1vwt9)aHb) zK6CyAeD;J+R@4=r0U%B|q*$e*%@Rf_t zoX_D;hObK67I5*T7dUK6CoQzXHB;@tHFW{*~~Ri_e^q@UMce zTzuwCfPXc7<>E7ED*S8UD;J+Rv*E9WuUvfQ)Wcr~U%B|qSpxrB_{zm+&gJme!&fdo zbJoMZ4!&~nnR6@r>)|UGpE-BJ{|S8M;xp%W@Na;xTzuwihkqk{<>E8vMfe-wD;J+R zufx9yzH;%I^A7x*;VT!PIiJA41-^3enG@}7fSK~lzm4#fi_e@k@P7(lx%kYE8vQ24jOS1vwt`oiA?U%B|q83O-y_{zm+&N1-sfUjJ9=8S~@Gx*BIXU=%|o8c=L zpE;+)|2cf+;xlI|{4Ma6i_e@g_`iU!Tzuxtg})WPa`Bnd0RNZpm5a}u3*g@gU%B|q zxfK4d;42rOIqTrx1z)-N%-IP4ZurW@XUE7EC;a>1D;J+R@4^2KeC6UZXFvS=;VT!PIf-2iFjJoS_gnbN#b-_y{NKS> zEaR^E@Rf_toSE=nfv;SA z=G4Of8+_&BGv`A1ufkU@K65UG|9AMx#b?es_&eb%7oRyd!v6<+<>E7E6Z~E9m5a}u zt?*xiuUvfQY=i$geC6UZ=MV7TfUjJ9=4^-mCVb`MGv`_OZ^2hCK674%zZ<@C@tLy= z{@d`Ci_e^Q;J*W3x%kZa5dORHm5a}u&*8rZU%B|qi5zTznexoP_u(rSpE<4Ie*j;( z_{?bs|DW)ci_e@c@b|!1EE7^C;SiLD;J+R{osEDU%B|qIUN38_{zm+ z&Qb6`hObzGwm5a}ui{O6+U%B|qxeWf-@Rf_toU7q`QM1rZ%Ef2S z4e%rIm5a}u+u$d_S1vwtw!)9XS1vwtw!u$?uUvfQJODolzH;%I^CbLa_{zm+&P(u9 z;42rOIj_S{g|A$E=KKqOEBMOAXUE7^Km1Ji%Ef2SaQJQDD;J+Rqv2=4S1vwtCcE8vW%#-9m5a}ux8NTPU%B|q*$clbeC6UZ$2-ITGs*dT z2z=$@GbaOn48C&lnUe#*8+_&BGbbN@9(?8EGiMu!9|&K$_{{k|{6X-Qi_e_L z;SYwdTzuv{1OIUN%Ef2SOYn!lS1vwt-hh7ueC6UZ=U?!L!dEUnb3TWEBz)!KGbbfx zfSF{x8U|mv_{_w%nX@2ffSJTEgs)tD<}8UBU?%ZTfWIVWfSJT+&LuISzCRMaa`BmS zMNDkp9|d2z_{>=!6WjMk!&fdob8e1_?fYZkD;J+Rcf`c@{juWV*CC$_{zm+&VwE7EBm5cgm5a}ut?*0XD;J+R_rouPuUvfQJORHPzH;%I z^8);t@Rf_toL%r|!B;LmbN&f`HhkscGv^EV74Vgd&zw}bBQ=xUoDE;O_{_0i_e@1@N3{J7oRylgntfv<>E7^ z0)8!g<>E7E9{f7^%Ef2Sh4Aa)D;J+R%i%Y`S1vwtE`>i2zH;%Ivj+Zr_{zm+&RX~j z;42rOIX{8F5WaHpnR5&LMevo2&z#Nh&xNmCeCFH*|2+80#b?g_@Xv>@Tzuv{4F3Z7 z%Ef2SlkhKuuUvfQJO_Ur^R;xi}dPy@^)tF3^qTzuwa!oL{4a`Bnd8U9N6%Ef0+KKxbim5a}ue(*1W zuUvfQ426FweC6UZX9WDq;42rOIb-1e2)=UhnR6=q%i${*pE*B(|6};d#b?fR_^aV7 z7oRyZ;je+OTzuwK!oLE(a`Bl{3;#;^%Ef2S0{Bc{6E7^5ByuE8v6ZrSSS1vwt61p2;CK(^L!B;Lmb28!o8oqMznbR5meejiw z&zzp{e*<5+_{E7EGW_4eS1vwt%HTf$U%B|q zse%6o_{zm+&Ux@3gs)tD=B$MO5Paq0Gv{jf55re3K67q@{|J2L;xlIp{72y{7oRzI z!+#9Ea`Bn-JNS>oS1vwt9)E8PzMy27j6cu7S1vwtQU#bv{6E82E{mCy1^-$2 z%4IQga^UZPuUr;0CkFpH_{wE5b9%vl9=>u}%$z~+Ux2S%7BlBa_%Fg&E{mBn0{%##TE0@L0Spol5 z_{wE5bFP5@clgR>F>`K!zZ1T4Sj3e*|B-_{_Nw{$BXX#b?e+_#eYpEE7E z2>ev|%Ef0+0sL0*m5a}u@$l2&D;J+RXTnd1uUvfQl)}$|uUvfQ)WB~IU%B|qIS+m& zeC6UZXC?eL@Rf_toU7nx!B;Lmb8dp)7QS-vne%h_?cggHpE>uzZx3I&_{@0>el~pN z;xp$t_y@sPEmRK zE1E8U%B|q zxe|U)_{zm+&W-SU!B;Lmb2h{84PUwV%=tC^KJb-`&zwi$9|m8!_{@10eqZ>?#b?f| z@cY46ErxtV-(>pq%qiE_F7q~F&rHP_(gmiYr6mwfjTG)sm#F8M=bB{wOTeER3P z<-z>Lj!XVf!TeOmC89fW zvK*KE;}TuCxlu0p^nd7-BhBsMZe2mj<#=!pi3EGs+P|g`%4`e&ymHfgG=Y-NL!`B{R%zeXV~xTj%P_7u0+G%S!4?y#6!l>b(B7 z<&`D&DqEqO&%g;}*FpIKX8PF`1ER$NPB{l%tdy#A%tbLW;<>E`(hX4aO>l?|(?E1lQBq`tnkVn#!~$^IWtT}*=P zQl9e?S|ESoOx(4yxSRPW>*J{e!J+HB!^b-EM~>Z8^Y7nXe~?-Co7z9mEawz#zl?8k z7#C17^Rp-UEv<1Y#0(Qp+A5QduP2)Mc=g|7t>&L)5EQI`q+#*ue`&H`|72HT%y_bo zg7ude7O#GNjQoOG&M8>`RI@N%{R2z<`X6vRCT2XTJ6Qih!{XJyOG3>wGO%NV_17CG zUj2LA;GW|S%$V`g%)em$*BBPB{vJ-;sw)^zreOVR42xHP>KuRjH@V+?ju|h*{L?ty z{~HYx(`jbTpI*xHZ)N*9xo)v_3cu6*i?{xSw*FdLpI>UKU-=_$eO<1%lim9Iy^YHK zt`Zs(7&Bgb^Do%`y@mxd4e~aOlE3D?`u6>GV1+=@8!+hbAu&vYh8}t3AoJhQL9y7Nfdh}g z-=RZ|IcVVF!ww%TD@;$jaMbwG36ZA6i1$(B{za3$b(i=~l7R(wL4nuTJIp)coSQeV zHGPt@F~uvYU!FB-o0KlTBgMOJ?Lpqe`*+Mgy=~EFDbFOopZ9jrqEVfSmZucgg|D*!%LHTQ_ar`1FP;cTL+mWAn^S&+b2a<64vd)?)LXiuud3Z1&Gmyd8-@ z&AV=WzImSS)31v@p4GM}DXCCBTjOs`{S6K6t$%-t*FI@+g5{eHUwBp99Sakmd1&vl zB3-9_^5TRgqwZLx=4 ze&}7zmp5Cst!Y`&!cGN!E}dj*&~*>Jzap|@;ZdDRC#}wijI&$u^AvC4QLQ&^UlF~x zm3L*wK3-DVaci?5GNs6IYkS7t@}l>y@{U`ZWyq??eQSGe*yojAJhD|$ecCfc^&{IB zHJF}9FG+7oF9v&0dabDbs>{K-W%hcQNeP{Z(vOCJsDn>85 zby4!UGxHzK@6mfj?-|1%9G-Xd(xYeeeXws{zf+dKxv+J~(#6NOO@2LZXP;%MCE6pY zWsP&Q8|Nx@E^m24+0E0Bk90IA&Mb5GG{WsKE6G*sNsyZZ4;Av%f2pZ z7}Z|;xv1fwf|DASn}0tY%i}~DqWSIRMgPwnWBd7=7=lrw4>wI8=iVm(!!F8 z8h)B3%cM5eB5AK(m;d>j(?^%xT9#ZfW5|O;@{U@1)Qmn4_Q^YJ>0#Z?QL>|B!%a&b zD{45R)so*AHTbRmrg}<#zjSe=ZQjPB`k#6|HkhM7mi%5(Qexv7EnBgpW6}d%E>7`E z$EBn`HM;c0HxqU&Glq<5ce}p4SH_mBJMWsFm%lVWsidgk;{;iA>Eh)*iyAhjt~J*e zSFT7l$HzTuWuMx0?RdB`b;taVv(i$AuC?r^CgrOY==$ z=R8}7f!!jAfb3flkWt;m%rBfaCUwYlavNik2lw@qA=XxeP| zn67tm&xgM*vLi{)NV9D)eIg@AQT@i8o?DiE^;%Z`m%C~T>u;`4SU4m9!Th}5-OLu4 z{jodwy&kWR+ZpXW%F8`Iap842oxDEFj$XdMpmfrn#I&R(VDDR`~m%`Zw%&x*Fc zrkA&5Ois;^vg6kN&SaTwy3L$#DLc#=DCTSJKlv)FKBH!Ay>44h{qiy5?bx?3tLKKj zUg;}6qg|5U{`$&}$qDUWcrkM2ijm%+(?aTXGV`Pc5ie`DVqOQ)ngc>}3@#@3|)VwLd=g)zqTW;ysBy%=n*MdgV3U zz0^7Pm{Dfv)fe}WqiDMum6E)+$;*>uwCS=k$sd(wrB+|uSwe*zF>+_Uc!c>g;>TYcKm3EYZy4P1-aijBtiUkyub^PtQ#X%Te{HAZ zc0E4lIKyJg-;LO1hacXjAgABR(?9R_>4>Gf9$WXDYaWmsGwm5sF>&IE53X7|;`V{- zN93n(9r5MK505DA_2P&XPwXD?v$H-O(Pc?u!L9G77aZiZFDQAaQ$bcitl+EjdlVdV zQQv|UXACar`stAco$8J)c=wUQf;;z)DHxh?a=~fl!I4}Cnky`Ou_2EY<4y_wy9W~d z7vZCcNfqX)o`h7nHZeEm43QhZ_v~Tv#Gu`)D|-Q z!jZO+la4Y!oak0 zFM52&4QBOWX$!n)p`9&Ao9snTu(M-*d!#K)NL%PdN7>oQJ|Arh)6>rMqGRmr?6gr{ zbgZ4NNt-bCL@#=xEi6d;ffpTTXBYdcj<n$>>c6kE8;FPv%%>-@q5Te#jY zOtb+T{6di}Z1M}I+rrkgi8HLYV{`bigN;KW*N3yJ=cCAQ!yT-sJvaTPA>@Tn=d3Rn1jnl`iEi(YK!d!^Nwu2^a3 z2l`p7Y+;yRxWpC;{KBQSFxD?zW(yPi!jEiWvR}B|7N+}!AKSugzp&aCYW%_)TUg*1 zuCRs0e&I^HH7otXRkm=MU%19|*zp&mGHu{C@?6JAYFI;bzZ1oE_ z*nNJNU%1is|2Ds{!4~fK3%6u!G<)^|zp&939`_5k*??#K!X{gI&M(|<177kAKeJ0- z@e7-6VW(gCxh=eI230wdQc`6QwIgtJOH|(aWapD69(2BGK&BjDk!|it7%BKuMQ5uHR`A zWoO)`@6s{v(UGN*H6bh9Z0?lX%$s9`o|>3dQB~$et_*C#RgIhAZ_-um8+}vX)s0K- zOS6${I^Jo5Tbbj_pBgti!)(wJvq&~O>Em9#&Bn@;Oa5e*32*&zZ|MxVV9GPgy{^}q z#gcc(C^M7oB}=3Ioj5PfPW(+Pvq|&4$h`dKyJ+5F+(io-w=X7@XVuTG@gj>_bED2} zDpgd?^CIV^Ye3^J$qDYC#toGv=bM(u2IVaE_8qye_s4^Kcl~&1?=Bx7(cA3gkB1EG z+I-(Oc7&`e>*bm?ny;FRb+r#>$LRw(kGjcrMP~Px;W;uTZ*F;|DIG0+5;?1loOiRw zXa~s|dv?4IsYDl)4e}y$8@nK@qHM4!XK9z17oBZ=r?-x-F_q{01zUM{sqA!Hb9dW{ z(??6iJxryOY^6PWRG1^~ESK%?*>Q2U>i6b8zM~Bu*ITwqrnaZbi5-|C;}btLjc7O3 zEoRyjGbyNN%bRZdBqe4wkGns{mWD!qc+5;-lgu|axdda@0jBU7RuMW&dI z@lWsc*4iKJiOBU5==WIqp}MDBS>I>p`2$$`ae?JywCtbnt+TX-tg@M2B(w2^_ZPPb zmYaqLvzxOTk1cc9n8T81jIq%q5T*|SoH-NqA8Myba25AWSYMxnzh0tZ^8 zQ_f10(|3{KF^TTC!pt?c;~0}MOX`VCNl5M0ls#6m4ZFzvJu5P>b7ZP4j+dXC`%bg` z{*oV=*{p^qTn)?pC+Vdbp4PCUsRpw+UJVByJl>pbO4d`$ipb&8y~eyP zBH^&^s{{_TOL96$A#$ZzYRAZgobGa>^{{5QHp0ziO1in=85H+o=z6)3@vnTQG+hbF zwNYg1H(m)1mg;3nPH%m9`GOix{-w-m)5ue5Fkjr}@Y3o!PyVI+poym@w{G$$fhT1) z@>bninKL}nJ+pm!G_yvtn@zV@Q)f55d1aFERX6`C7ni&SPHj(K~ zk(vD?BRc6SJv+6Hv`Z<-SzFjis%w*k^aQghSwjM#?ZJ^j?PZ1U?@AYE2!m*fp< zFLHZ3V}`TrA&wlBZtOG6q7JK;M!dGBU5B| ztSL0PU79!jMB9+Y#^*N6G5W!pV=k;BkrQp)A>B-W4>0`}OOHsyx;1N!St+ks7Z`A8 z^GeNnrd9b|%^dw)$sFSBHS_+Nbn|pmFX_06rcS@(%sY1d)?HoLNqVJ^G)IyTYwii^ zEB$H)UFlVGs@l#q4I9uuqW#vhli#d?L?^cQ;h_Ge=4QKjaDQ(^r(-%*W$OCoeQOS- z>e1z&LCyX~Jh>ZgHbuP2&B~^b=$X6g8-p}hj(BGUk*s*ux2~Ar4Q$~=yy9S3JT1w) z&>P&n#o7j+7Y8SJgIcI5-Ua6!-u=)>yan}f7X;fC@n!^3u$=5IFb&OZQAf~=cxMJt zu>2ir`wl7b`tmz=d7RxGY@_Uz^X+@Ln=MH&I5;JH7kJ5WT*Fi2@sNzTZmM_gg@f}= zPF}FqU^&5CZLi(Plg$S-%>&!-u+RRZr%;@o`Q6T{h$n9{Yc|P>Q@?eC;vE~U%mHl1 zfZRAIRk~X=B;LYi)tf@H_i>+r`&xFY*#V6Y5rXSz`G2yL;;kF6&aj>SpK^8E^ft~p z81bg*Qoa2?EzQ*1ke+IBdc^ZILvR0G=Reik2a>DXpto`EDdXQQ#t}6`Z{rN1@z3cv zqGsrAyt6gVeZ+S|@xrtsy-hWzaBuT}*A@dwyxsj>nWpP)y!A4qX7k*dy!iOtYX9an zI(p5YpE{uEHi4B}^u{;W-NkG9^jK*9+9`S)Z#Tuewu$exyx97#>uUXa`@P=9#0k@S z^tPL~$X+a5m6#gKPmT2$oPVyD_eo;!MOkvGU}jn#6$hJZjswsSGWvH&{WluY-8;`D zoA&1gn`3!aa{Tt2)yy?a+|`7Kt!7T20orR}x5=(IgUjPzV);EEbWDaFgQ4wCWl<<*-ngerDqx_&4{xkm>p-_j`L6`juroIAQ+!udOJA92@5I- z-U9PP!#7XHG0*3G^JEN_`mrGG|t!~t^M|E<%m}r?9(_~ z9#qWPIV8xk{D&Ln@$#U2dA+4ei#wFy8YZRjX{+EeEgR=>oe#T>cP|m~%7S_v)KV#K ziGJ7;wXlLp)H}cB1M;Ah?k)3QnHmyj+&3F8&r3I(zHx$PCP z_2OLW#lI#Dt{8v!wdmsbT8o_%OqYl97kt-;^5#Awj%x?)I6UNjCN*A0s&{_KFuvKe zIKj61TgS=Zw*9yK-yZmH5B#?WzOe_+HXk30dQX}mCKCBPv$gqaKl);x{*MfhPcILs zE15f>rndU*;*yH$`T_Gxs^(VLRSc-DtShc7n=_!Ux@LAwMZdC!YR;Cjq9Ma$NH=)T% ziX=zpOEKx7Xqvr^MCUatca2`?cylj1z*C~Fte2SV*Pe7xa@32Pm>W&D{IKY`_Vyq@ zDKR0bLo{7TqO_*LE<0Gmf{xi#yBTJk3#=I^n~e6+g?34%pJDU;np?WAKI0@tTidl< zuF1*v+iBNNVqLbKbwZlj9&DF&&TDk!-K(;jzNPI^dE1srjYjQlBq_u7hxV>inC$kL zOEWcfjM|!#+D7F~rly``zakTqD!?zf?r=NWFKHJ=?FI%s+l?l}Ha@Uy5gQs&YOn2W>sC}ZDO;Bq;vXo6 z_##xt*@cS!`5pjwcbHA0gF>asx z+&?hFIBQ0{Yn|T>-LZgmg|*H1{r1rBTBoyt+l%Aec$nWpH2?^wszj{WuN=)>I3dO zem)(p>-%hjpX2X!J81ix;_i#tOG&Qx{d-S;x1`7(NOJp&3;Zeq`^#Pl#5*HD`S$%4 zaidOt<7nfLfN5@2YU}Qz{C+fpmkv^X=eJFEy`AAsd1JU;8?_tZO0C@JWX6wLyKUL- z(CZp)W6S3A#r8Hh@@lNR&D5i`aXf9j?$L464ES?xREyC^*U>CDQZ#OZt`P7VM{L9G zMO$#2x;hZH4RWvGZ(U=u-+PU1PjpSzUOC7g^OL@PndSR(2R)dubk$Ch}#mSrjPtlM9(t=+-V`ht#;}0e!*Yj51{@4Z5OzmJjf2v zzB3K;Vf+j@r(nJp=Er0HAk51psA-+wh;O*tvRm5s+wI`lpW16D?d@!A8!xKJ+3!AgCzszBexajZ;GXig$}Z3?v$eJ4 z&F%ti71}<(ZvRB{>-G;DcWLM^2;C3n0?@zrjDK`B>xls&Jwbjb9QKOO{f=PIeW#YQru3h7nyM5ly?eh-q{Lsth#-rq$&menc(wJ%6?;pJWQSG<+2y7RRc5dU**75y* z@Y(sUvTr^+^vv(w*ebVWW^XO`S8d!~y0Lm+nbdfn-&Ie-M)#1W7t+0v5QQRa&;i|R}2%e@&TRdZb9OUg@&=atkBDz2MbU0pxhJS}I6W!`AJ zfrZBNs%8|6U+2v%lkd@#rLwK&sluA#lG6H$d8U%e>XLe|?ws0sue71IR{H21ud=#o zR?Pls-ZYzRTOi+gSyDT=ZicC&q^hjW^PhpNsVOe4E}uE5d2z5;GjBq5ZT-n^f0!pL zOR7pL7uHqOc{9rEON!@~EHFE$(tJOs*){TkrqYtCQd2IiZZJJkR^8ybV{UnIUB#ku zZ=`ItH?z97d{(Vd%1m{(E6moG&Z#%uHpi>0DL0#1YrMfEEi}U4Ujy2Wu&4Dn; zE1g|ZYa4uy=>gLvX4TT-l6mE|C9}$<3rosMYRrCV+W5K|gZ=II%!k-*ug)r|s4@qW z>`dDcrn3!@Z5xQrl-=97(;8~bbN=PteDf*O>iM2|>c7Th&MK}ISXo{&r?|YXzQR2J zYIc!-#8#G@ZSi;K+=?pKH|BV)D{o94tcQZXzw1jH%mHl(H_Jb4W}7FbYiE^L&n>pS zI_8u!VkZn5WWG17|KR=uWBulq)RxXZwszjoA*Od`mX!*bQE_Z#&CnrbX1;W8by<1k zv2)AIN~#uqA9k>|S+RcR|5FG1|IBH1?5wH=)4qO~ooSwkH>X#1RlmA&ds`RlH&b5X zVY#Zhp9}@{6;)=TDafpF95X8S#A#|Zf{*+IpX zCFYd3d#~KHy<1-9xuL_J@Ab25%ek+VTT@f=ngi=hdp#{^$WeGeJF=Mj*FH9h3qLIUsBmxL$AzC1 z?kn71_-Wy1BX<;<&&1iuej?D#^QJH}Yoydx^?2bQM9$_y%!lz7??iIzjLw`s$=`-e zX}4$Gnfa@%yV~8IeNTsbb4D*oNO&PlTOVw9rdOC=o9X@G@h6_${q~0+?fv+ZeKv6< z+QQkw%vj;3u}bzZ|us%B?+=Oqf;Aqn(h|wcv;cD;_F4^ZTyK@Np>I} zTr;qEuKX#HKQrY|nfxg=f0!SfH?K{a*B1Zvb&yLrDz99|nWFAJI>ALzdGRvN6!pK( zquCPwt98w*nt|#6uRPcj+7Dqo_#RR9+lBOJ81Ee7cMajO5T1X4JotV-ZGYd8oZvyM zei#p)U+SM8k{`y+nB8pBoSJ6Te3OGMC$<=`m9Go&uMgpyLipwozBPnz3*o;D;SYrH z$3yt`5dL%se>Q}_9Kv4>;X6b4>mmHT5dJ|3|1gAq7Q(*@;R%5uRF4P!%?n*kc}9qz z8N%Cz@XjH;YY2~p@LnOjPYCZH!ufk5vdy}^{2h(&!rfOYYqvG#j18%GdV`DTl@x$`u5BGu+iVfd%%@h^}~4l#}Uc?S0y1!a|VMkKmOy6WN%oAUl8C@j5hwl zMbkpR-e7O)cKzS+V9najw5F!pxo_i*PjI;P)DPoXA^Gu-tJIL=%6uPxNKP1!h4=@` z;~$5qUKkI4WrOxl{Kw0wUjLAG#y`$ey@C*bWC$M{!pDd33EvZ+7?Lw7gii_K!LL)% z{+t%#PY>bs-xFUHl5<{wOEGGH#jE)Ozx~0pPRED;J07fA+xdO*_~SsD{eoKdkk)&k ze*Ezyt;O@gn&0^Sp00A`o!J;OuRQ+!TACLN@$*7>{Ba}A>lNb1A2-rM#*MU)`@u9X z{{3B={q0Ovt=k*_elRU${7LiTk3VT%{P8E8#~+u{y!hkNf%Ev|Pg={bUo)K&wZDSL z-qGVBqd7Dszu*4vcw(SM+MeVP9{+gG2sxfJT6`E;^Wz`S86o>CqeVY!&Ww{!aqPY~$p&C-`Vq+xh<;9{+kEv&AzOy1l_I`!=4{*kk^T`e8i&^+u)_3&{!N zy+Zsj-Z#V#LzHlD@@nE}<=PM4JpAypkFg`KFk3W943mHG#c{4+D;*VqP zys8ktHiX9?$J&|iJ8eGc{)#`2wev1%uDk22cHZUR6Tc!P=c*7MeB38mw8gV>It~Pn z&i_507PtM`EuO*k`#(G6{0is6kxz4iBZ~44A?=BOo@RUTudlv8o*&YlFy1G`?;FAg zhwvdGd}s(Cet^6n#4iltV?+4(5I*4mdHiuHJLGw@?2zlO1Lw0t+8M^ zpBKUxgz!ZnJpMSD9rAoywzo1Q=d$mKuMWw%;Q;xD5dY>79{;*D+q)yg-|{{2M?-SL z_~Rk|_7MJL2!AGoKNrGZ2;nb>@K;0luJ4Jz8IrR*gufHQ-#b9QH^l$s0QqMjei;8E z#Q*95d1B!C9KGKR#@n}|m@-=vM=y@@-Mg;!pNQ*Z8^dP9T$NofQGbV*-i>pjuiN<{tEq=@w z0)L||9#v{i@M==8{}a97`|JGup6nF_vVAV!kl%drdCS*%eV!3=TxEv5p3?Gp13#yo z7ks?q^K37;-+kVrc_U4!mn9uqd=ks|6I<|p&QA>_sULiN;a_KWXz|Ln`qKkBN7}Oa zfw#b<{;~i+#+EyVJkOly1+R;aw|<8f&lqX`^@04+&JSSsI5*Lo6ga<5vSOkad_U)@ zjtAdYT;%wSK+a^xgXjBH%Uixbt;F#(d)xG9rsKiu*g1~Jnp8ViWB;ak!N&y+jtBGo z+zu@sVf+1=5%NBhj27=3xzOf!@M8A1>5t|NYeII;{MM(LI)?1WjF9s*qs99}F10xw zFk)HI_&U)9zu5TKKb|_Y7@4%4{(fuJy{qkPh8MhlS?~C!Ce_Z}=y>q;JO4b-@PgM% zw>y7EAjiMX&M-fq*nGjSoL|`-d)pj;IlzBw%N;}dC$q)-c^-0pERf^(Po{TV2oJVj z{rHdXGQAZcIS&T-6Skb`-5=mjJMN!PO$&F}*$)0MpEhB4JY<3Rvwl0XT8wXhaXJ3@ z+O(SQ2S-W0-)ZOh<4u$QcRSn8yP^r%xz`;(CBWad`ExPM$XE!^*T zu>Zew{LLoS&L!C6EZciDz*8Jg3>=3Ujt7tDwvGqKJ^#AaJl_?_>0-+*uOAMxJl}gf z@X=%cdNkjgncTdg$2$Ln=Gfg&#{$%I<9=QX?zcPN>ltY09GAa6z-t}fk=Q(Hq2o)< zmpXG=?D(n#QqQ~C@g;%nz1;DiHP^kX9haZ+<#fH{TLSgo;`ko|?YzVBj)9yz9ls^e zp8Fi{6KMZ~jt8&*{r<}L{%n^wwe(r%j|tT4e~u;J`)$DA<@|pJ+W(H@{Q}$jq2q@K z+W(p3TLSI(KTneH4G(btb0hiQMFH-AJ|y3}&E_?2S7+XvV+a|uq@!JA?spD4#@-K1Rzkh4Wxx(=y1O9r)I|ca7j&}|4I~@OG;JCWeaq|U` z&8GVtAJ~j~-h+;x891J|JH9L6KkNAW_O@x^%Z{%N@Li5i47C3p$KMa^#}6GJ-V|-; zK68A0V7tuMT$?H1do19aZ%4EI?110S@fQPrXUF~RZd#bwrOFZ>kALsa(K)+3NJou5TDUKHfa%MPQY;T+D_4_5?do_?>>-@R4znlC; zj;99vrH;Q5;FmaFZ*QA&u5dgv;IDW5xPX7NeM#&l_Bhe_hkms9PO>K9Ik~@!;oG?{R!mp#OhodA1jPz2;HN^S!#jetFvRmX9Nz zcYI@06YZRT9OQc+2F9h=t)J_q1diMHEYJ523*_u|{s{s93&(#P;EA@~x!zv`Jj3y9 zyIxZz*_P*f#{}A$>wN#XX!7$dZ~4BCzK+jqQtjLj$1ezQe;mp81_buYNb9$J+;@`W zT?0A({cEnbIj~(*te@}Q9q5Nr%QFKho_Dt6{^Qi9#phU_>+KHYFLZphy>0TB*mA!2 zRDfUN{C0tUzQXwrHbvOE>zqF=;NRl-(g6RN%h?xb=UtX(ws`*Je#dVO)cdf@xz^q` zE%di1qY1dV=d9QA`PIK#p6m5VX}-#9j?WA5cO8E)z&~>Q@W2zGpF4hSfJbe=CG!Bb$nT17tgUg-zy4iSH0u!*!|Fy zb-v~HPZKnA7dc+gjC$TG%X7W-*3B2JaeiR;dg~kyj>I>*oU;Qtw}tpyLipW|2k$xW zclkF3@*fWI{}{rbb-YLO&Gr6bd9L?JApajB{_YU|Psf9gcRq3XZwK9oO8bCdw$n- zuCv_dzR!K1(>*(c_BB6WzZ*n8sIX-$r*)wRMV=k3!sK+kXn#GZ#&TZB_M@?p4=8*q ztIs$uH#`3CYW{hdKh^kC89%^suFtmf8Rl26-MUN~nrD1m#v6?<&-gOS?-Kj1S;v`w zPv)Ou{>|C`c&_AwenYtf1K6lb>pjB)j0IF@%(d%4~;*X`Ja~HUm4Fo zw=atast)bWZ!1gi9>%}S%I#}BeO}u-af1?kpz-yycG$vre&4W~5`47r{Pk-``DrB2y;UMFgUYKP(-1EFmw=nYfrww0f{Ma_MU=R8pP&hN& z-d09`K;fZ`pKg4U>;-031!}|32|WuALGyb{p^D_QT6j z$3X1ZG2(oe`I_~#y>NDTgJaOepkjj#P_S+ z3ioBatMUAM7rl)S%<8$G@xd9dGM*oYH#a^Y^Q$9|m2Fd_k;d~W+Z*4dja?}0Y&<_g z>}EWFz24h+zTX{aye7+^ZhTC}=Ng}!@kPd`WxUz=)QlfvJU=d-XnftwKO^$&&0ug= z8PD78LgOQ{oXd=N&iFNvcgSd=aD(wY=V!*JX6yG(-p;@B{LFvS__kU8 zbDop=uNWVe@z;&d%yQl~-k9-^jGveB&y45am;2gy{yBVycqk0*nboJO@%%bPZ{v?= z<*sM^m5f&z&+pT?dF1)pEflJaSG8R&g^|Yd?Pq)A`I*Ab#`|YEyBW{-)4h!k&in(7 zZ=Lb!#;Y?v*Lc1kEi#_JUN;-hUpJ32J|oLN(Rg#l&xm}zj1~$PM&6;_=bx7uzd4)Z z8sm><{6^#XespUIewXpbvz%WVe>UTf8efy~r;Wdv@fVE0pYcB!&+GYS3I3k(53`(4 zjDM2xe;EH)#tZRtxA5?^Z2PY?p1Hug>@$#`Dh^_A{OzCl5BBzh9VXJa3q$Xa2a%|7ql%3so7v-FWWbYdk-`J#0Kb zA9%v}lq~;Q354U5B#qKcqcqPbO&z85QBhImNR>EBe`e2_xoqC_ z`k6DA&RMRR$L~9_c9`ak1DZb$C?ly$>l^3IX_A`8^^8WF(dSPyS%^g_AS9_8p{I(3 zo~jahYLd`XbwV#TR_KrPT4-^^ecUT$k+BIh-9l?EHLeM9%N=Ibiz_E^U&^?iG;Vpr ztd7GhZ@tQt8aO6`_Q`jQhDf{jh*M|B^RbQ#< zD>d}v+E8Dqb#<|jx(Tr-sxs798R{!sebsr|lv>|r#%es2Ep6h2*b6N>R!bCY--5<^ z9aNUMrN=Evz4`S1%#Pu8|s)R7n3W`UzFi~|36BQaJTB-4H7bdEb zVPbS9#GYc)V#N)kt}gC*qH?FD7ofPXv4VB6vJ><-Ld_av+Z$?YtQD+L)uz&XCD?{* zHMR{Wt+^25p}y@{TUZgE>_x@xTJ^NDe6Gl+O^FBY&`YZ`wtiimjioJF#RZfWUS)+9 z98ugD!)lHwR=ut+?j73764ZhPnC7w)eeFa;i>M{{*N57c^_~t1bt-D&1Y5SaPlaWP zuR7|tG+av?wKR^(jBToU2La5_~9+*W^DDH`{+Y3184RBL-nJn{uC9=g=G;^Gb) z#^V;JzEvl#S$Q^IV~bg1@p0#n@7xxr#uhhjYGJ!etsM8ma0E(qj7RG*mZ}h6&BErI zg5&E$n5Io6^b(9OfI&%R#h0@XZAvOQzLo|hl@MPM!&s_(d_4;@*q9ZYY8GGfrcJS} z$yRne(gc{4c*L5PPAx+(%^qL-!&s_de5DU#Y2oAfLl{eSu?^9-KikY~tJFpw_Up7I zrRDMMH!|O-Q<=8u`xb9&B305}$$aZg6^Z+4$WIlq7rA&44=^dVS=&}?8?|lIwn^KT zY#Xv|$F>>URvcf&LxZJy+9n*g;B?B|&^ULombGp|+-$>Y8D$L6co(~saF>lGbq}S!ZfvD7>m8SxUqyWt&Z@jl$JL2>f)9VUcj^->L$dU zA-p!llnJR<7hj{pw6rL3^ABUGW^peFW2v#?&Je~@vGGMcjHP1ZzEn3M_3Glz5XNG$ zb#b2vV`DvYI+c%B%>M)1+u z_UP;Ikn+aDlK5osJ?a-OTs%up1lJ?x)3e|8JniZ6Dch|N562X}m58j+nJ<>GJSw^R~|wpL0}th2v4$=TRN(9k}lBFb>ynoDXk#hn@!flL%cG84uri?)xVK%CCd(Joo*2pz?Qy?>zVS zOVx_c4Vvne4$OJ(&oE#0;k7&Gxj)-{)n@|g<2?6|HDAle`Z&-1lg(FsCL-T??w@YH z>cih=InVu7$oJ2c1O&=ed7{`O4oNzVqC_*?hI<-W_Zt z^qlAZ1E$DNzlln~dG0?8pZU&n|4sPJcb@y7z-PYm-1qNo^$znf-+Au)=eY8j?>zUb z>~pp}-+Au)^_e{1dG3!Zk?%bB{d$YGpDEZLoag>Qmapw+5BSb=|0>jn`=j&RzpI4r zJon#*zc02==eh6Kqk4w=?}_@)u$-ZR?*;DHk#hev^S91&%57fx{7uRF#+AP}^8FKJ zt>67of9HAq`vy;4?mN$Y|9m+2o#+0L6yGl2dG3!X;XBWLUv#z4K0XqLz5e3+g0FA+ z;`@Ow2j3su2j%lOh5Nuiz@@-^xwQQsScK>G*ZNkc?f+Zwo#%c{v~_2mw)>a!+#g}S z@()73^W67#R{p{8o#+1c$Ug+W^V}b2zVZ)+?>zT+F<zVGkiQtd^W2|_{Gsrj=f1B;)qe?m=efTW`8;oNp8NiKq5LC|?>zTU zMLy4~o#+0U<}07~cyONkmzl5af%~cR+<(w~Z4X>t=ehrg`KnJ7me+ai`|F_gmuC3Y zmLt9l+;DtdTV90c`FdkT0b@KeG4eTV$hz&lyKW;-3+w|{Zo^UQxHCw?aUb&zuwxPQ}B{@H=|wBNyP z2LBxRTZ5kq?(0c8-vJ*Fe-*f&*UA4b_+IeO1D^(dKKP;F7l8Zrp#1NF9}fTf;7h@I zkEj*ktKlC9ei68D=PLJN@N~aR-2=E#xCH!e{xSHC;9rCP1iXt4YclV3*AM)s@CSk43|&e+>L~@E5`F0DlYoPVm2h{{p3A%YzTf2{H?(61s@B3ANVBj z`@#1Ie*pYA@Lz(T4gMhbCEyQ%-wggR_`Tr20#EntO8ea-;4i}eHTaw0kAi;#?(0Gus%`}26RiJg0hKaQMgaPIHhfjeY& z*9CtW+<$j2{}u2W_^*QR0RDUM-N63m26uK@RBd#FO;bns8%r~Ce- zpPT(1{37$UT%Q%;S}yuOLH_6PZwLPZ{1NbffIkhc^H@JdyafIw{688O`U?DS@c#+^ zCH$|!%j11U(t7+?5w7K>-^+Y$Ki|L~03N-N(yTf;` z^+Nwuhj!TaE2`F8KP$IT3sV@H>$|0Q`RV zey*tY`n7Sb-;Llq9}+nIbpMpJTpPnr_en{-3jAx-XA|)9c%O*m>o_yRmbo|hK=@VQ zn}XMX4+0-)T(P{TP96AQ_}Nz}5a$*8ZDtM}8gnq2Rpd>l~E33w-A)m;MTrI|2T2$e#$F?!S;;H~l?th%Br|j`oY2 zwc~{DYVgU(xgPnufEI8+p8=lk z7m&8+dhoZ+*Zw{eyjyp*YVv1+4+WnMKGL|h2Q8O(>38p`p5#-JGY2{I!RLaX13nM@ zds(^Ttl(=)@LP~GA32YMH-LWxz5x95EPs`i+qp*?@OE(C*SMPIaO7+az7TwG@I~N$ zUr*0pW92T$%5}aRIgQ9U7kn}Jt>8<*@6Ph8RDsYvS%SZSoFkC)A^1}8wZrdV)v0}& zz_$T!2A^tN)mR3;0DL+4G2lmnUxxgnz^^r~*R>TzxQ@5LL77XCZn-vc^Rf2B@z7qZxC3r3P3Ghdj;5&ey z2!DJDzAN}i@b@Ue)fVcsy`2odbEJu%0^X+t_a{Fo=T!KE;geT`^Yf@F;H=Mn;HM#f zdI>%cocX7KbGgm|XZ}Sc_?6(Nqdqr+p8f(7r=0JCPl10PxIafiKG&B&e?y$> z%bzci`xhereB|E(egU|D?^ikB1NY}kh|~WAa+vSWoyh&T!-Wj-?<2pPKC+|RMaud&Q9SnzYgocp2g9ual~tw}GeU%A|Udr{~Hf&i1(-`Q-P3`#u|rDm+$#{}%jq)aUo$Y@av5 z?|}bN3H~`a+sB{7qjtCxIqTzk9NS?qIF~m)-zBxrFOah>eAd4Xob~tT{HQ+6@#m(B z--UdC{*U`TG*ikp8$Rza`r934+h@|zCRyH^<;h0 zb3sx)S)VhIL;hWG*5~pP{72xdk3W|wug~M~S?&uZ_-o+zV|m{Je*pZi;J*a_C-{Tl z9qbLQ>dEC@y9DnC&gJ#zO)2LgQWr$B^@r68z`jkHdcg{0Z>qz@G&7>!hj=d3w%7+Ma&{->;L(C+~>shHSUN z;M^Xn!Jk6@wk0^PhdvGeVEE*-z@LG?q69wyoa@VjZh8(u;?INcjU4iC zfo~1ppP#0BGXHq^%sHzBKOg*e$iE5v1@PO!Uj$G0*-y(w{toQ^| z_~bi*zXE?j3BDAZ%X?)B&g+Bz9xXI^;U)OwYrubx`uOwfw7%G$>3-$y+pRCI`>;I+ zfV16(l;AbsY@cx@_+)Ul&p{>lOz=Noc~1uC@}3R;8vIL2aKFB$cKajzpTZ}<1DwnI z>k>TOk2|$Lm-lt}!!g}*K8fzPNYS!`~6UKUYw`xOcyS zUkBfx6DVKYyT8Jp2;ZLvC|}&Wb#VQQ?OauY4*_TU4==&f{gG3Qj%L zCe%OOzc}TPH^ZNT9Djabo_{g?x8Pq}g5Lzre18sMp3m!ytmo^3CGb+_Cf2+n+e{-OLoqa7y0{|orOCHTSM%=hOgD*tWd90&g$@H0#B^T3(!&s|jh zyU2MM{(Ip5+{Ju(--iD_e19He?sv26cj6zw?_Yvffqw{pEAWrNhl76%?$3eD%bf=Q zukhY{O>4t6gczu0cZOh1kU`q;GZGC5uEw{yhPRWbNJ`M{{s96CHOVq zE8zQc7xVll;Qs^uizWCU!M}w6F8EjApMbOe|0=;d=?BW8Q$7EQ9DhEf_}AcD!2cKc zm=b&(_&4yUl;Hb;UCVQ934StoIs8>6_-gP9_}7)-H-mS8Zy)c) z?{9Pjx7{nY|L$lX{VrYIpzx2!ZRbM*r(YGu)oFc=K#n|h%HjEgbM@)hNDiHHjzZ3u zNK+2CbLYyTKhAvRY=xZ3##NuKi*V)8pK88xHiUnmapi1Oge!;s4D*%K6aIYT%IQ^v zD~J9P^Oe&L{!zx2)4d2+4*iwpD~G>xIo-H&csMzYR_JE%b>QC#zApF! z;QhcK1@8~O27D3f|2Ft~@IMA$AN&jO4Z!1pFicZB_%&szo$>vX4dGXTFF}2VfNuo9 z27F_1e@=_atpXnhe-m*3-M##Q;8Wpm3VtB?AaMU)uyQs7KMMX}@Ri`3gP#sQ1bh|v z7T~MFw*7Vc7v2Wn2L8w3HQ-->*Mi3lC*-L; zhkSPGgYN{s3Va;+YVh&kSAf@nUkC2r@lgG52Hyq#o!}F|p8=l;{u1~k@HOC* z!QTeo75roH-N3&9_wS;p{(cUi$vp4sZ~Klo&(o^Fd44qnoabXT;5?5S1J3iVao{{( znhehKtEu2TFFFvM=TS4jec9Cx^TBz(v;>^zIle4vAD$PjgwOMt)4_TEvkIK&EvvzK zp5wpqSGjg6Rn;#XhU=<+Zy9m^F7z=~(px-$Reg4kqYw&;I^TWOE*rmzm;B%5Q z!G8sQ9(YH*U%MUrJuOh^28Mr~<52qJd~g`$^7?Ps<=djf8Jx>!j{lZizFmrmzH|A^ z@pUKPE@edDxqRkS*!q%hAB{)fxqRlV1>c%B`p)GuXKncQ(O~qQ%V*9y@NHE@-?@C| z_&%cg_l#!x<6J&-1|#3z8pau%%V$nCeE*KRW^gW_IiukFy{hCpm(QFX;jb&vI_L74 zHb@|okuJ^35McP^hfems=F34G`Bnd8Sv`TFObbNS5i zX7HWMXU=WN*EH{(i!sN)JEZ*0T@HQc@|ok` zX^}q!zH_3{z#WY-?@C|__??IQShD1XO5q{${!8ixqRmAW9Pc^ z$G~?kpE-xX9}C~PeCEuB@AuBtY|iB~rxE^k60LJCpE=9nZ|`#GJD1O#mGF0f?_54} z&V;`seCP6+a~}Mi;5(PkoQvU)gYR5EbFP9v9=>z=?%V*AL`2Jf?&E{M_b9REizeMYt z%V*9c_|setedqF-vj_YG;5(PkoPFUR2;aGU<{S+FTkxIBXU;762f=qPpE(Wi4~Fkt zK64hsKLoyW`OG;I{-N-l%V*B<@DGFUTt0J7fj=F-bNS5i`}=8oo&n#veCC{w{CfD# z<<9`W1pdq-Tt0KIhCd6wbNS4<5&mrW&gC=bHu!VkJD1O#d*RQ8?_54}9)mv*zH|A^ zc@F-3_|D}sXAS%Y_|D}s=Y9AK;5(PkoG;)X4&S+a=5*|oByB$n;X9Yl9RD4V{6+Ac z%V&pE=9mFN5z~K68$NzZ|}E`OG;1{*myV%V*AM@Q;G;Tt0JF!CwL2xqRlV zhJQ4C=kl3zCH!OHJD1NK|J|0h&tu^`m(QGAk^gP@&gC=b9{9(>cP^hf55qqmzH|A^ z`3?M)@SV$Nj{lBK%X?}M){Y( zcP^hf7oq-_!gns8Iak8}0et83nR7k-%iueg&zzsZzZ|}E`ONtR{43x)m(QGE!oL!} zbNN?*KL-D*B3wRmo`?TK_|D}s$A9ms^>qz==kl5J2J%Ojx6a^PK6Ac?|KnD@;9UOo z;1!+Ii0X4g5iXxOUE$vd-?@C|^o9Qu_|D}sX8`=0;5(PkoGsx06uxu$%ozp$X86wK zGiPV`KZEaFK6Cv3y=u=};5(PkoI{X*D}3kjnd85QRsL=8oy%v=a^(LUzH|A^IUfG) z@SV$N>)fbU#BbG`@vPWaB{Gv{*nzku&tK67q_e;0h`@|p7s_;z= z%ozm#5AdDKXHG5r*Wf#s&z$Yx{}H}(`OKLBe+_)+@|m*_{MX?-m%j%55cqEt;qsX? zAO4@zKY;ICK6BoO{~>(m@|p7m z{Ey%}m(QFIU6Z8t{20D-`ONYAHpu@geCP6+GXVLYz;`a6Ia|R08+_;TnKKIhr|_N2 zXHFgbzr%MfpE-NM{|vr!`OG;O{^#(W%V*Af_+P+xE}uC|;Qs@@bNS3^hCjBvbq441 zne!d^|7z6>&gFj%{yq5L6yfrj^8@&Wvep@#%V*BD@XO#km(QG=;QKver8t+*oZI1d zK)!SN%()MKNBGX=Gv^Wb{;bKM6r9Uv&QtI^Bj34v<~$F7E%?smGv^QR{oc7jDL9wU zoVVb2MZRd6;?_54}_J_Y7eCP6+a~S;f;X9YloO$s5p3*@nIG4|y zCGZCz-?@C|90h+v_|D}s=LGm0!FMj7IcLD%7`}7)%sCH!6@2INndA5E(f+ateCP6+ zb0zWz!gns8IoHGYdv^z=;9Nd)Zh=1t`Of7t=Pvl0!FMj7IsW_(E$?9X&gC=bG30L! z-?@C|JPUsaeCP6+^D6u;;5(PkoY&!R3E#PV=DZ7kEBMakGv^cdTf=uQpE+N`9}3^O zeCCvQ4@|p7}{K@d0%V*9r@OOppTt0JNhQAwp=kl5J2K?ROJD1O#_ux-~?_54} z{P{{+U)z?4Kh`;y&zvqjk|2K{F}M)XU<~yGvGUy&zz&+*TZ)%pE)PMp9$Z&eCC`9 ze-?b_@|kl!{MqoG%V&azmAbNS2}jr^nGJD1O#o!}n>-?@C|OoD$b zeCP6+vlskt!*?#9IS0T$9=>z=%$W{@cmg-K`A(w&m4bVp|+p1knddnnczP{{@F#ieCGTV{yFfS%V*9V z@Xv+sTt0K|hQEDzm}s4I`OJ9%{`tsvF8@66-^0J42$#cP^hfC&2#^eCP6+a}NCL;5(PkoQvRJ58t_b z=3E2+$MBuYXU@;y-vHmaeCFH>|3>)ETP#z{)=UhH>*6o!9ZJ&1_-?{wT!3V& z0={$k%oz&*ZurjSGso{Itoq*r-?@C|?1cP#;X9YloJsKSgYR5EbM}INKYZu%nR5XA z2jDxG&z$M-e+l2YeCEuD{~&zl@|olJPgZ+A1mC%Q<}644!|dwT}HbNS5a1OK=1oy%v= z#_*qo?_54}wub*4eCP6+GZy~y@SV$N&II_sgYR5EbM}V+0(|H4nR6KY7vVdX&zuGD zUxM#kK68$Q|1x~%@|m*|{wwgE%V*9R@Lz@RTt0KY5C8Y@oy%v=58?j-zH|A^`6>L@ z;5(PkoV(%w5x#Tz%=tC^HSnFwXU=o*Ux)8pK6CyE{|)%g8&gC=bY54zu?_54}UWNZ9eCP6+^B4GE!FMj7IiJG+Cw%Af znN#Q+KHE}uCY!Y`DEiPkxn&z#NRm%(=~pE=vW zFNg13K6A#vuYm7dK6A#w?*QMqeCF&5zaxC-@|m*_{7&$l%V*BP@GIdvm(QHp@H@kI zE}uCI;jabXxqRjM2_|D}s=Q{X3;X9YloS(t(1>d=R=G+CpH+<*vne!n0KJcB(XU^mB`@(lFpE=LM zUkAQ(`OJ9*{<`p;%V*9T@cY4cE}uE?!tW2?xqRk)0)IXD&gC=bOZe-{Egu|m(QFn;a9EbJb#sO zaDh6N!_F{oBmR^Y1jS{OfF3y$5Vq`On(0dJovJ^65WmJkNi|xbmO3 zVf9|JVdZ~m!|FL#KK(b%$@AYfuKa)6uzDZcu=4lROx8J9KK&`?{zig4xAztJ4^n18cz<$o7BciOP>Z!N-=Pv74g zN@f1XHm~x3jvRk4p!_W~(K_eKr@xI&9~t_6ZCE|$Bf_wK#2BXzi+|HSlGn3g^_#noD>T|Wj(08u<)!<*)u>1*=gn7rZb6Q7)#nm$KNr>d9fIx6xz_Jp@C(&VD;71^&kX(MrKvyPhnnXc)m*5a zUEf?^sGix>RH$A$XJLJ{X!YENh0Sx8&a7`deEO`VbLyMtl$bbo>6}uN7B)1_sb4y* zDHL5aw`u0Eq;PuuoTlls7B?=Keq=-A?8Qgsljg5jGH2<$Ig1xfpI6_|m`^=o*0QC` z+f+w!GN;d7xOnl>+^=t}U$~;FAuM>)(#2|q>RCh$t zn>W3oaqi;KfN{8f=FFvYmbaO_aPh1*iXv9r42KeHHYl~-EM;rpv|XK7Bns!_fc$u5p5FwYW@lr ztUoRr_fc-DVw;D5ox{KX>io4~-v3$sCubGTMhjbq`8$Mv#Y15lU2Tc>YtZ?ePG4P zztqZ~sEO$E<-a;iD^~tXR{nfV44ul?Pq*^&9}cWo`ES^KPlf61^78Kw6N{BU?u9hh zGd6?D*H>Bd^4|!oSot@1O!IG)dM$tR@^vqfV&(U=o1{EobE^EF;a^_9&JT)}|CE(~ zwaxFny!^j~3B}5P#>!u5>rdtP4*&ApM$0hb$R*A zO3Z(cmHTYAV)FU5eH5$z3~ktNMZYsn_y1FMnl;^8H8I zSJ;YG`)Oa!%fF~Z`8(PhjGMC;*1UYZe=D~9S8R~XXRJV#Usa@hy+2E4n27E}d&APW z4qzC}-5&)|to$W|k~#mdG{4Fp82;tUulIX0{dFSQ;XT0QG}PPnL+2^AwH^{nwF1vJu{6WoskhJCsqcUD@_U5| z#pb{6^kn+`@KW%ucDPk3C@`czhiu>r52xU%iordM<< zY9rjTr%c+k|KAJU-a2vR`4_HR_|_3WzVNC~ul@M(_n&(E**9NUbI?Bz z`(oy&b3b12e&gFazB%ilXL{bzy|D6^vwnP5_1U+aeZr)#`}FzE*Wa9US=U0vtKG^@ z3P0?xxZ~`?8C@^AtVh|bE?s-}S%3G!wii!3sqfAwtyfXlwCcsOiuE=vR1BF^*zchL z3*9DF^qo~WWYX}@jw{^y$?`(QIwuuwJ^rY|cBej8KKz?ygRN-6&H3X%zC)8!zC~F7=QO^e*7J9i-BDRs z*(a2~Y0viy1Lv*P?N1lH_wnH7Q=8{DJkl_D!Kn*o9`oQa1CKrN*qMtSTr{Wt#FcmV zcqY^~<=kEQ@wol(zvSG?!isPj_T_}n2dwqt=K}^D^xX$$PaMC_iCd0eXZsVkfAA-V z9WdakCk`0!&9Yq|*kE#@Dr^AZU)3*{>@*~75ZZUcUJ*AUogWtM%FE)}NO@V@d& zK3!fO4^0&vIyQv&dgUGBSb66(t#g~P^uTVP-KKSjMVF_Cl*i$UZ_4`UIM}hXJ}v0f zzkJAAI{i#hTXb8kx}}jVyJ$k^&W%SD%D3vfV;Jrk=9&=t+Mf&MTUT5bdY$$u|8%Y8 z;pmWN`Yehz@_8Idi%|YW9I++%M;uA_FE9Txj#!PqiX&Z8+CSq+w>0u~97*>uFaK8@ z>6xZ{6GwW-yL^=w%HmkxG**_z)=gvOX{>)5t0?P#R#<}d(^!WzZ9p39l*TqnW0h&F zDvfnc^9@X6UDLF5ufFnbX>4$s);*04Nn<_I*p_K*?KHM^8tYlsSB+Sm#(Jf(F=?!K z8mmiVeN*XE(%3pFWzRIWZkjf=&{eDJ)DYP1pfJ!OZGq+e$|}}`(fDiUvN3k@8-R6X zm+IluJ(h$IQOd@wAGd@sB_5m0#thEJxAzBC+w{rWFx2(bpR#Sc*Q+18UJZq^?J9k0 zuLWVOOUu}jrsgo-LmQg9UPpzZx9ig~`KZR)Fy7C{dmq&}EQ}A(c&`<4+9oa2R>Wz8 zHJ+-leHX8?jrY#R*K0ez!&=%S)Wxq?lRKBd3PL|O&c4>J9d6P#HV$%RgrbHGOQ!L$taXP?bFeNdbbJcy@RHd9lXxOrb1coUB4aXDPOhax|+4DZ{IYnSM#DJg|c;8 zib+%Z_gpW`=})b-XQq}7$Y?l-Xv^%UrHz|sS^TRqdzEe0qfgh09vk%7zhAGip8Z0} zg9=@{?if%w1F*qxeC)7pp`ypOUAOBvw(G8;VLPrJBn@=xQ`WU>;9bXdEeoTS-IEqZ zckMGK+$5`W0G-qH1lF>kXoL?BY=)St8M>C0?b=6C-8L!g+Gm?Ux>uL&v|cPc%(MA= zy~=u5j_ZG6-FlLGbVPi4sC{^#n5(3G5#(gSRO% zfOR=Tc>w*i2wHhrSJvi{Q*mO4@U5+bF3-Gnqh)QLJ=HSf!T$?09+HQZwRuiZOV%On zvWkf9vkuLX7Ul!R#F7*8n6fqx{)$s8 z3deP57Z_l3J6L4qA}BAid*QU>E-3F@GpKXT;BkYBgf7bGC~xz0nlv@ACAn8*Mg0eb zwNGfb4TgfkQMzpxSaVy_eyqrDmP=)Ao)Q+PRuq<(w`-CBi>;C6M;9}XEe4Nk2g}+# zaW9r#q&n?utn-mJU0It)k;O?xP@7r8NRielYx9gU3!0zLn2(pYd2&>mTGr<2ZuuN> zyvWfr_d13hdR+URIjsBe>esdlY-wB4eyn47BvbLYb|(oTZh8BFwxnZtf>e>XwvyiV zw?8(P7i!yW4&{YmMcD8nY(zVjm)Wmy%zz8Zd+WedyKZ0gh7Kt!tlOvEjQ`8xlu$%! zbpL1~FZ2KI__FZ6r6NAUqO9zz9^J#uSK}uP;SFNhHoE4xO;i1%ZI&!uykL5L!{X*` zj;wE7w798Zo23hzrZ>$#e4D1lOXe?W7&?2|Vh+w)-Y|X9qPfw~CD^6Si<`CyuzAkm z+ceiV9llNdve^w`j-|7<*>~Tm)5kBIw|Hqo^ZZ5Aht&)lR#Q7{Orc;Ol;{JFaFKD@ ztmf+Z8g5>6WOKO4+LXq0Yu46pZ&vg!>sV1y7Tyw;+24vd+#&w$1RkA^m7OY%7wp(6 z=^a}J`gf|(JIk_;WfgH|O*t+COwl786cn1QZ8f%PtwwY@cC)mOR!(1!@98!8ziU+3 zQuXqBRCo)lEKT|Blmhhw{UEKeD>E>csh>kZqfqA50Lc}4fw?^3aC>~B)B zr;QJb{ZO?@aiD9b6xXqr_1CI6){U0+nbukdUz~ovIF(jxNK5tT*9y`+p4K6Jv=OY1 ziq>GNed|!i&Phlyo5l%g)94z9)1q${htswbXRu45QmDfRKZwCr?h^e8h4?N1LE+Un7d&dj`hffqKmoMI;r-D zE1`9+(Bf+D7604yO|?vEdJIQd$97BqA1?F%Rz_S=wh7r%9rHh_M^b!CwYsJ?U`c5t zEm1mR{r6gNMWr1eR>}{KX&t8t-5^M@cyxB`o-b2D^_UO+hePW4WqDD zMc3F56Vhfs*mv@db`)>f>%05B;qAZA6B;>e2wi+iNJ({A&q;T4%PS^CwR6RGvA(M8@hy*#jW-JL`x0$Xl05vUJvLt+|XwKZZ zg~aB~n!db#_ViidW7hDYl)l^)dDD`^r`LyR&Gq3cM$OabH_V$~XqvxxX>*l6ke#&W z{#85I)`p7+)x)Z5s)jDAUpj044ojDh8qu(*e(vm9A~PFySh!@=h}mIy)}qC;=PcY| z(VW@!jVt~gc3#@Ns-fZky@sWKP0h1+nAf;0)Nd#T=gwW$IIFo~apTaYIkDeVHFT~{ zIym0Ac<9V!;p<)vjbUOK31PjGBaYV9`9p58ov>FjhuGhH>aiLI-0VfZH55$P*!!Pm)7Qc{h> z3DgmuH!FOntD$+ixeMnsnz(d&Drz`o3+LZgf*fsxXo>tSNK2EM*mBvf7|%kUtE#1=h-%2Sh%=xUfkLv&v%9h zXDw_9-$nCfXz^w(YaTUyPGfzFn7w#e__kbOStA=Ml@-2XxMF%Z=Uoz}FVS9Eh+k!! z-qdjPoNy)@_QvVq1IOCd!C@&fR;?vadt}V>owlX?mWYvsC5xB&ie8%5Yg5C*5Z@5K zIoBpBZ3kNOg(GK%H61P?#x>nqL|BjU8;9w5&}Qbi0kpKkqWYtf841>Q91m9|3yp0` zXsPb-)+HX%TCP?>OJs>AkfVK2t*-`6?dLxdSBmdf#1)#@W643Mm!Hw$yiVtLzM#wZx_!ULg*{jIzNqiT>t52oqJLSJ zN9!J|d$#Vmy65YDSNB5Qi*+y6yN>d$QbnHB!1+)`b5+ZL|+{Pmk+(<}6*u1FWo0g6z)RV{Y)UA)~VTYBve z-T!|)UhhHcc{}9a?fQ>+co*KLbAQ`5)ULsXb}q#ymhdNMT%#53zS-;f?LJzv_51%G z&$qbLZk^g~iT_oee{keE|1O??FTnHvUA*}A*(qJe#5UpO{%8Go1+Yj?DITs&wduUv z_1n-iQjxw-&}K^VW0i%L3)zob)w4F6a8K_znXOQ)Xy z@8XA*D0gNFKDPv4P=ewI#)&dmTfC&@v|QW zweavo$*fE3t3zROQQoPreoL*Nay{PZJsA3b(Z-XW!v+7)A@SZ+M{BB(s_2jLR#+DDe1hnU*XE~R;HnJ{@Sn2b2`M+d20JF z#NMWfh4$N9I&bS&n33f_7X5yOld_LS)A>rj!h|@z_0Nmu@86-7X(*i^^eb$X@wdz$ zk>#h?>3)T0GyiYqKODYC%`Uyp^(!2i<)oi9^(**qmwle}E0unQ$1}fY+z$GMuNS(R z`u&Zcm6cm%d|~E?Z*qmMUtwbAr`L~uh0WT=+j9#0wYeXflyR1`Pgc*##*fe1XR7h< zX8wW3!)4<(-3;T^S^ei5zbLE!665-<9lN89lWBOR@ye{8ryGAZ%U@-DQRc5UzC%|3 zD~z|f4`e9!I^%C!^ zpKlwVlC{sr#($FWFN`0Xm76Yg^egO=mD@Rb{n|W#P>YxDuh*|oo8_nbzV&N!KN%7FpPlhBk+=VxGu^kV{p;5*(Qp6yySwF=XUn^<`D0aSbO)J#URIx( z=BML&>kJL%U!N`S5$4;i5?W?B%KZDY{FUbC=g+4Ze?6|xmYBl1#(DotP5qwniLu}6 zUuygp8Nb^2{#pHRG=4?KZ;QNN;fEQ&$NYyf{;>HcWXt=c`OC8P^1S({X8!NZzc2IO zH2?1zf8YGdEay}6zsdZ68ec2(JH+MbSJ3Z&*o7}qhOS>>!;JTheC@)H86RN&ZL!~) zG|2q=%-`Dl`!heiF0NhhdsukV_U2!kEmykNNWa3*GCsx1{U$4SKg;<%EB6rNTV*-3 zBk$zZXz4F7o}Yg%v7F7ba*r~8M7Eu;jC}3F;H-$#%umO^mSPLvi9D-hnEXBC`FZjs zmUD1i|E)P``|elxP8M}T^w%z2oYm(R%UPZIcNrg*@dqPse|&q?cz)jdwDJ7?;0wm{ z_kDjbo_`+urtybc7c~yOXFUHL>=Wbp=TZMK{z{gUF340C^3P||>wRS*oyWD#)FZY_ zWg-7OWF6!AdGY|``R4$e8t^Y=4;Q^pTAo_~Hj(|G>6&|o~B@3)36F@8lWibF>lpP2FVBb~~^of$vH{J9xF zJMwJf56*eUV-NGB{h?FKy%BuUW#)HtVEwC&_ssZ@BhS;r^N@^>$^6@m=lfAQ-|Eor zy4Zu!&uf!HD_ZVo)wYm|c-NM;Ok))VyTJ-3JrnYK<7%ZJhhB}mwLSfK`RB-6j}I;H z*ZtdS)l+J!3e{7_@455jz4obT`%S9q+LkG`ZNJ5(o3>5aS$~Fwf5XGST8-3dtTv90 z)X-@C3HN)OQae_EM(Izu8Qc`!-c9q3-*@6@&85DktFHjw&rMz$*Uj8)F6+g5?mJPX zhgmJjf|L`W%2sUZsZL=`wFx5&648n?8#h#I%NVOFhSUN5WI zFss=x%Nb_*!>n?{EHC_)B-U$~`}wRYDvWx9N(`eOq=Lh!<&9MNVN|i9XS3QY zrp9#=CdPH5z7;f5b=J6*G*VpSR@6vwjeA+*8nD=tW}G;|XSY=~+KRO`Hri$xtx~5= zku+^eY@%sX;#v+pg9@ECC2ne=r`m*`DiC^UTHLI{49X0>6ggZK2xDo6xFt=S5;vI8 zOJ-a(q1dFvh7DtBzPQPU5-ddv9;T%##U=`4si0x07u!2TM=>R)N~(>fO-VJ?(uW!2 zU#n&qPDcaXFftss;ulQyok|;w-#l&eUCMYA_16P^0{S$LtImgmY0%%F>+{@aFwJ@H z`}=L>-w)q;?$?;3e7?tXp8Nhfr2Gew?>zT+MEFA;wUzMqGQzYOl5tBSt@?$=AiUj_H`wxNOj9(=x?&xz|k zect&isV1k-7}FGQAMroB9QwM)k~;A<8nDhk5fy*kVd(oO0w`_w7Oa&*0;2So|;G{<*OD+u+k|So|Gu|DCq@yWq2JSo}Tk!@=JN_s>D( ze*nG$KCg+c1pf&BY2Y7&pAG(3@aw=o0slGp-@tv_Ry{uj_hlFVJNV}|EbiO9kY67a zcSpRJKq@{hlU&4L%+Izrg+8(3;FIM;{G8 zE`-f{KYiYqa(aT# zhws~%%1ECFCciiQ3*h$wzr?tDeZhZdd{E%)6yZZM|6b(tz4wFQ{gCq;aDOcbk%ec$ z*Mt8D@b$sp0JqyNDyHxO_yG8yfNu!?HMsAa%IO+E$4KqDG5m1*x7Z0)fo}o63HTWB zf#8$DHw90ho27CGfiHu<8F=~}Ecv_!c?$f^;jaQ80-inxOF3JB`{%quTY_JM96xrc zVf@~iQn!ZxbNEBSe+ka-Qv3#d8~87S*MO(buTuSM!QX-J=Mt*tr{KDutas`2tCTYW zJl#1i@sZ$bh4|c~Zw5XVe)`-gta-d?)Y|z{i1~Zd|+Bc<@!m2L)bNgsYzPFGoJ>`4jM+ zk@Fb%F5qu~`)g<@s_+-^iSR!)uKGV9(YmkUPlDgYKEIa#kjv`_kq6(d|&X@;QN8!0KPx?t>DwZ?*sQ` z4~y9HTyQP#f$(34|1I!$z`1_?`m1vIow;rTp;PZ*%k92eHu$}|GtYR9|r#<_}s3}0{3l6_4z(Hm-jMoF0Wso)?~KlFX6L2 zUn;@ZfX_hv-z&lY2F~{RrUVZ+d5N7SbGz+Rf^PuM?RhXb+ou|w?Xy2P*ZZO1^;q8d zC3w0Ho3>9b@3HX7PX=fG{k&1_z~k6;C4B#WfPDXKM-BM|e6HVgeY5?3^csA&L%NQc zeDc4+pN01EOERhtdAfCQ%Hj6!=X>(WH^lh^+aXSwdH(Qia30@yUPtcdb*c|v-!DN9U$1`%&ieTGIh4cW?IZA6?r%%*m%&+| zH^Et-_rX~o|GtRo!|gEK(lmDBv$6ebP=ap?&h_Qr3sDZ&uYWI4oW6fAB(F~c@_Bqa zssvvN&i(rA68r*i*2lkhqWWS_g7RO?q8MmL2%xl z{yh@$IarU?@aKYWTY}et&x5~b2|f*cKKz*__yX_-_{&T1 z{^7`f2z(*<6X1)$4afJzjo|tmU!BV3`#W7PQ8y_3P^m{+Y1+UJ|Wyu6*YBXR7jhyBzw?>f@hLXg25a znX?sqzs4%xxqRk~fbZAZ#v%U+mqXvVeCGIj4dwf1FPhD{ zeC|gxkUv18b-lca5A8~D!UGp7rDKR3{9&gC#%V*BU@SlY5Tt0Kg!XFLaxqQC9`}3Oz2JYuJn$5X<=1f4of95RTxqRlN z-&v%6bX$qmIhW6zy^+72%c1XFK64I$zdd~C@|iOo{tob+%V*9U_&dUPE}uDv!`}(M zbNS3^fK7&gC=5ukS10uZ3wg=kl4eDeAMoMC+W(XU(#{&gC=bT=<8mTt0KQg}(^CbNS3k zze`HnTO)ku@|iOg`HSH@m(Lu(zM%GB0^hlO=J@wa7KOMev`OH}c{|xxfEm(QGk!M^~$bNS5a+9^p|U*Ci8Tt0L9!~Z^f z=kl2|2>yleoy%uVE&SE+oy%v=cJMEP?_54}Cd0oNzH|A^*$@6D@SV$N&J6gM!gns8 zIg8-`0KRki%sCSNW$>NLXU<9RFNg13K6AbU{|fldPftKnZ&gv)2n zjqra6-?@C|{2cz(@SV$N&VBH&f$v;Ca~^?zEqv$lne#OKAHjDnpE)nVzYe~0`OH}Z z|9be&{*^!pXzLjt3}wK;iyjdA6#XT$1^v0>#8 zw_)|1E1&)@=H&U4jVpho4XZcRhLwMh4Xfu|`Sh2WGdlEtZo}$1S9{ih7pj|9ENZTw z8T!pjQ-8h>HP1P!xlpZVT@|WlHZ>Khmxc!qRf|^R=hp=BN7(H&duB~_)6&HXtDe== z9De>C2irWzN4KAdw9NyAbnA&&aO=;%gEnX8vU$_%XU<$YXL*~+3m4C7Gah~*-Z*cL z*FDWv1nCwNo*EXvP(5q$qDA2uO>MH`LzV(*XqvUWy1qF)<7?)!=8*mG=r#x;+9tRy zDtDaz6zQ~`u-hbzX#NVqFgz|B_ffg*HV-46!@vLP{Iy};|5^Qg`}Q*P`fI=I5dMvG z!TPHvrh%ze;Q?V(p6aU3_xrjqT&(=lqt*617(#jZ2bP%sDx06*fh#uuz5y1i|C&iD z;3dmZ{dLI8>wkD)s(K-uhk-1{rSM9rVCzn-?B-cFw3<@>naa}}FE-G8sO zo!!sp*Ex#j&%1F}{?_)s$*1S8&gqJ^-<^}w94ot|zS^%__~+&Oa_KcO&(s_X?e&G< z6&26j$BHm{k6A(g%y!It{)dBGto~!PVTA5uRXTL4|JvbSUjLT^%QFKi{7Q1@{CJK%to%ExG*@c>bwWQcznhg`6Rp-iPuWSsn4A~Coax~((V&Q6Vxop5n1~5$4o$Lg z&0<8r@v#n$v7dvN=r9=x$;{l2tT^{=Z+<_jP|={Tc?MoBi)@!Mv*a)vtc_RlR!k zj()F7kDs_6k^FM})KPvKJ97e}g?y#8_IvJcOEvT2;)Yg`%N!8FYelrq@nRDjOok{=Z z%%pH_?Wt-zXU^b!BgBTDmCY=M;VKj|Ke`R{ZdCYYVzky$RNP33^-3 zA3FKjPh8*96#dQk7xohV{C4_{Zqc<(CtWYG@jE}ZQ^LPoH-2Yh>z%EUmg}}R3?2VW z^jXadwcfd|!Kam@=~paThi+=b+e=4I?EaW{&#tFp@$Y?R=gKXIj$659RDEjKH$tfk zyzpmk@SAtt74vS5My5P<==sW9V^i*V`8DJ`&=h-Jls za-&mf4!u^{aNz6Tcuko1?E1{k)OFtoRX3!P&v>F9nL@hzUp5xq8a>dQQ#K7jn}cWL zH#NJPxypO|!SVA>WMRA>Z`AP{?Ko znGA*(e&M(#Dkc&aiWM_yB`Zc;O=(7!obKBLV zF}U6HYs$0Z7@t4r?g58~EnXfb<}&*GX3)`Vi?1G)SA6v(Db5yOT`TcQOQbHt0-EyU*}4oHD|H#( zi~1|)k0`-QNF(0Hc(#!5>q16Kj%O?y+DgDEfPPs_w1s2feI3NKEm<~3c7tt`ifW|6 z4Zn#4HcD!PDlQ;s#2t)RBVn}64t$)@enZJK>5m%0Uz~dp`4tP1aaI0WzqZQ1lv34; z$~ZzOi%k#VTCp_#QQG3J!wa1}!iPCyX`NAuOft1Hr=3vsNJRY4Q>q!qL)DW|qZ18t z+z{ZT^nThV=+C&w;6VuvdXYi7a5S0=M=EpSXk>7f9~)Pi4M&CyqJhz$G`OlfJb29D z)uV>`mDKK`iC%g6e1d4W=O7(yB_qA?;M2>`C_k-y30+-8h7gGk)ha(cxV+rrKH;%J zUN|nadBlhlkj)366geSLR^y*NTGFPB9_kN^)mQIr91R)ztxi&wRE5Z>3Ieja00xzl z>BC|m51#F$4Y`rtl^*K9w{i4LO0F#TSC0a3DDkqUKw}v3NQHS-Z>LRTJBV+=pu zpINnn@?BJZaruSi$UP$B%`~Qrw7DQXD!&R#s`4sPje@C*&E|~9Nk+(xsiBs$4K-zS z!jv#p*OA^K*Ni1qmUDt`80sdv>eNMQyt7B2Il61GNJ}?SzMuE9k4Y%;=xEoE#1%ak z^z+{OF}R=iB289n?Ethc%?aC3fIRHF^oUv^ueN~W=e-f+7G>fCZifLA-C_c2G~fms zFtM=EV{h32ga4LYkaTTx3=Cim^vJr%t>NFGMd$5&_eL6#uZ$a##Yfy*0ZoNIN>>Ktc>kO5|83r^7QiK3 z*t?gS-1q-Hm`?lTs4V*PXW)783|i`bMo(||70H(N?#zrWEnS`6eeE-PJNlA+t(#`_ zb@y!SX`kNO->rkG&F#s~&Njnn>rJP7Gu?eN2+X86&B(O$ZJN>2-`Y+&dQ&r2u3VmM z=-ANR+n(9jnXId=tE-(!Q>Gqe*&Dn2GSf5N-5q^1Hl$KB%v0hyv!|y!+NN)vHzzq~ zb{6XI+SJv(r3*+4zN0NrHTL0JxV@_{)6&tAtsWky zcXu6aVSiJT(!&h7r$<-nOm~t&-Km<5h$UOoZ7uyBnPg^LPr8pV>U_z*Oe@__QiLvR z=~+OkyEkpw*_?D4O}`GbcWodXH;)nDE43p9MZ#r%q$KQ@Qn$6+l2CX!VkLgWkA|-> z!BAvmc%*v@j=Xs+1f?JG0l zl+kT|n2nB9+Xz1V^&>GvY!xH3P1xdw#Il+*)NoA8MP^wc(>{?(mDywv8)z@s3dO?x z%3`~##Nt81rWsz0U4Lhb<1m8$3ijZ%+#Zy!5s69jN5dt?_?Xltu>D8aX0!FQZEl;; zwzI{Ly`8PqeLWrRnG_9+X|J`nEtBl%?%vej*#LDczx|xrM-^st_}J5n$KUISTJ)YJ@u=p ztEo*)?`-K!Z9J=Y^PJi3oh@yxDIn|H&+6!zGrN_-sm|`!bjMkp>DHF6ZEpnIEp0<$ zI{jZ(Xa8u7I%`8$KiM~31>4&CyHc6`P}qPVL z@V_DMK4}#@-Mb{g(NDBH67KF-;hSfnN=WeRQ&CP6e7xc!cqF{02)`Kab{f$?-O)ib zT<}JR*yFb58;`psSUaNy76~4_AESBmfuK&puS7&S!Lv`&IZg23{Tt1`!y!__PY9s= zaKJse<-694oo^g⪚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%0Dxx2_Y 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 oODbRPxgpPVT7sdz9syy`z+Ef|YzLMyB9 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